Line data Source code
1 : /* A Bison parser, made by GNU Bison 3.0.2. */
2 :
3 : /* Bison implementation for Yacc-like parsers in C
4 :
5 : Copyright (C) 1984, 1989-1990, 2000-2013 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.2"
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-2017, 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 "catalog/index.h"
123 : #include "catalog/namespace.h"
124 : #include "catalog/pg_am.h"
125 : #include "catalog/pg_trigger.h"
126 : #include "commands/defrem.h"
127 : #include "commands/trigger.h"
128 : #include "nodes/makefuncs.h"
129 : #include "nodes/nodeFuncs.h"
130 : #include "parser/gramparse.h"
131 : #include "parser/parser.h"
132 : #include "parser/parse_expr.h"
133 : #include "storage/lmgr.h"
134 : #include "utils/date.h"
135 : #include "utils/datetime.h"
136 : #include "utils/numeric.h"
137 : #include "utils/xml.h"
138 :
139 :
140 : /*
141 : * Location tracking support --- simpler than bison's default, since we only
142 : * want to track the start position not the end position of each nonterminal.
143 : */
144 : #define YYLLOC_DEFAULT(Current, Rhs, N) \
145 : do { \
146 : if ((N) > 0) \
147 : (Current) = (Rhs)[1]; \
148 : else \
149 : (Current) = (-1); \
150 : } while (0)
151 :
152 : /*
153 : * The above macro assigns -1 (unknown) as the parse location of any
154 : * nonterminal that was reduced from an empty rule, or whose leftmost
155 : * component was reduced from an empty rule. This is problematic
156 : * for nonterminals defined like
157 : * OptFooList: / * EMPTY * / { ... } | OptFooList Foo { ... } ;
158 : * because we'll set -1 as the location during the first reduction and then
159 : * copy it during each subsequent reduction, leaving us with -1 for the
160 : * location even when the list is not empty. To fix that, do this in the
161 : * action for the nonempty rule(s):
162 : * if (@$ < 0) @$ = @2;
163 : * (Although we have many nonterminals that follow this pattern, we only
164 : * bother with fixing @$ like this when the nonterminal's parse location
165 : * is actually referenced in some rule.)
166 : *
167 : * A cleaner answer would be to make YYLLOC_DEFAULT scan all the Rhs
168 : * locations until it's found one that's not -1. Then we'd get a correct
169 : * location for any nonterminal that isn't entirely empty. But this way
170 : * would add overhead to every rule reduction, and so far there's not been
171 : * a compelling reason to pay that overhead.
172 : */
173 :
174 : /*
175 : * Bison doesn't allocate anything that needs to live across parser calls,
176 : * so we can easily have it use palloc instead of malloc. This prevents
177 : * memory leaks if we error out during parsing. Note this only works with
178 : * bison >= 2.0. However, in bison 1.875 the default is to use alloca()
179 : * if possible, so there's not really much problem anyhow, at least if
180 : * you're building with gcc.
181 : */
182 : #define YYMALLOC palloc
183 : #define YYFREE pfree
184 :
185 : /* Private struct for the result of privilege_target production */
186 : typedef struct PrivTarget
187 : {
188 : GrantTargetType targtype;
189 : GrantObjectType objtype;
190 : List *objs;
191 : } PrivTarget;
192 :
193 : /* Private struct for the result of import_qualification production */
194 : typedef struct ImportQual
195 : {
196 : ImportForeignSchemaType type;
197 : List *table_names;
198 : } ImportQual;
199 :
200 : /* ConstraintAttributeSpec yields an integer bitmask of these flags: */
201 : #define CAS_NOT_DEFERRABLE 0x01
202 : #define CAS_DEFERRABLE 0x02
203 : #define CAS_INITIALLY_IMMEDIATE 0x04
204 : #define CAS_INITIALLY_DEFERRED 0x08
205 : #define CAS_NOT_VALID 0x10
206 : #define CAS_NO_INHERIT 0x20
207 :
208 :
209 : #define parser_yyerror(msg) scanner_yyerror(msg, yyscanner)
210 : #define parser_errposition(pos) scanner_errposition(pos, yyscanner)
211 :
212 : static void base_yyerror(YYLTYPE *yylloc, core_yyscan_t yyscanner,
213 : const char *msg);
214 : static RawStmt *makeRawStmt(Node *stmt, int stmt_location);
215 : static void updateRawStmtEnd(RawStmt *rs, int end_location);
216 : static Node *makeColumnRef(char *colname, List *indirection,
217 : int location, core_yyscan_t yyscanner);
218 : static Node *makeTypeCast(Node *arg, TypeName *typename, int location);
219 : static Node *makeStringConst(char *str, int location);
220 : static Node *makeStringConstCast(char *str, int location, TypeName *typename);
221 : static Node *makeIntConst(int val, int location);
222 : static Node *makeFloatConst(char *str, int location);
223 : static Node *makeBitStringConst(char *str, int location);
224 : static Node *makeNullAConst(int location);
225 : static Node *makeAConst(Value *v, int location);
226 : static Node *makeBoolAConst(bool state, int location);
227 : static RoleSpec *makeRoleSpec(RoleSpecType type, int location);
228 : static void check_qualified_name(List *names, core_yyscan_t yyscanner);
229 : static List *check_func_name(List *names, core_yyscan_t yyscanner);
230 : static List *check_indirection(List *indirection, core_yyscan_t yyscanner);
231 : static List *extractArgTypes(List *parameters);
232 : static List *extractAggrArgTypes(List *aggrargs);
233 : static List *makeOrderedSetArgs(List *directargs, List *orderedargs,
234 : core_yyscan_t yyscanner);
235 : static void insertSelectOptions(SelectStmt *stmt,
236 : List *sortClause, List *lockingClause,
237 : Node *limitOffset, Node *limitCount,
238 : WithClause *withClause,
239 : core_yyscan_t yyscanner);
240 : static Node *makeSetOp(SetOperation op, bool all, Node *larg, Node *rarg);
241 : static Node *doNegate(Node *n, int location);
242 : static void doNegateFloat(Value *v);
243 : static Node *makeAndExpr(Node *lexpr, Node *rexpr, int location);
244 : static Node *makeOrExpr(Node *lexpr, Node *rexpr, int location);
245 : static Node *makeNotExpr(Node *expr, int location);
246 : static Node *makeAArrayExpr(List *elements, int location);
247 : static Node *makeSQLValueFunction(SQLValueFunctionOp op, int32 typmod,
248 : int location);
249 : static Node *makeXmlExpr(XmlExprOp op, char *name, List *named_args,
250 : List *args, int location);
251 : static List *mergeTableFuncParameters(List *func_args, List *columns);
252 : static TypeName *TableFuncTypeName(List *columns);
253 : static RangeVar *makeRangeVarFromAnyName(List *names, int position, core_yyscan_t yyscanner);
254 : static void SplitColQualList(List *qualList,
255 : List **constraintList, CollateClause **collClause,
256 : core_yyscan_t yyscanner);
257 : static void processCASbits(int cas_bits, int location, const char *constrType,
258 : bool *deferrable, bool *initdeferred, bool *not_valid,
259 : bool *no_inherit, core_yyscan_t yyscanner);
260 : static Node *makeRecursiveViewSelect(char *relname, List *aliases, Node *query);
261 :
262 :
263 : #line 264 "gram.c" /* yacc.c:339 */
264 :
265 : # ifndef YY_NULLPTR
266 : # if defined __cplusplus && 201103L <= __cplusplus
267 : # define YY_NULLPTR nullptr
268 : # else
269 : # define YY_NULLPTR 0
270 : # endif
271 : # endif
272 :
273 : /* Enabling verbose error messages. */
274 : #ifdef YYERROR_VERBOSE
275 : # undef YYERROR_VERBOSE
276 : # define YYERROR_VERBOSE 1
277 : #else
278 : # define YYERROR_VERBOSE 0
279 : #endif
280 :
281 : /* In a future release of Bison, this section will be replaced
282 : by #include "gram.h". */
283 : #ifndef YY_BASE_YY_GRAM_H_INCLUDED
284 : # define YY_BASE_YY_GRAM_H_INCLUDED
285 : /* Debug traces. */
286 : #ifndef YYDEBUG
287 : # define YYDEBUG 0
288 : #endif
289 : #if YYDEBUG
290 : extern int base_yydebug;
291 : #endif
292 :
293 : /* Token type. */
294 : #ifndef YYTOKENTYPE
295 : # define YYTOKENTYPE
296 : enum yytokentype
297 : {
298 : IDENT = 258,
299 : FCONST = 259,
300 : SCONST = 260,
301 : BCONST = 261,
302 : XCONST = 262,
303 : Op = 263,
304 : ICONST = 264,
305 : PARAM = 265,
306 : TYPECAST = 266,
307 : DOT_DOT = 267,
308 : COLON_EQUALS = 268,
309 : EQUALS_GREATER = 269,
310 : LESS_EQUALS = 270,
311 : GREATER_EQUALS = 271,
312 : NOT_EQUALS = 272,
313 : ABORT_P = 273,
314 : ABSOLUTE_P = 274,
315 : ACCESS = 275,
316 : ACTION = 276,
317 : ADD_P = 277,
318 : ADMIN = 278,
319 : AFTER = 279,
320 : AGGREGATE = 280,
321 : ALL = 281,
322 : ALSO = 282,
323 : ALTER = 283,
324 : ALWAYS = 284,
325 : ANALYSE = 285,
326 : ANALYZE = 286,
327 : AND = 287,
328 : ANY = 288,
329 : ARRAY = 289,
330 : AS = 290,
331 : ASC = 291,
332 : ASSERTION = 292,
333 : ASSIGNMENT = 293,
334 : ASYMMETRIC = 294,
335 : AT = 295,
336 : ATTACH = 296,
337 : ATTRIBUTE = 297,
338 : AUTHORIZATION = 298,
339 : BACKWARD = 299,
340 : BEFORE = 300,
341 : BEGIN_P = 301,
342 : BETWEEN = 302,
343 : BIGINT = 303,
344 : BINARY = 304,
345 : BIT = 305,
346 : BOOLEAN_P = 306,
347 : BOTH = 307,
348 : BY = 308,
349 : CACHE = 309,
350 : CALLED = 310,
351 : CASCADE = 311,
352 : CASCADED = 312,
353 : CASE = 313,
354 : CAST = 314,
355 : CATALOG_P = 315,
356 : CHAIN = 316,
357 : CHAR_P = 317,
358 : CHARACTER = 318,
359 : CHARACTERISTICS = 319,
360 : CHECK = 320,
361 : CHECKPOINT = 321,
362 : CLASS = 322,
363 : CLOSE = 323,
364 : CLUSTER = 324,
365 : COALESCE = 325,
366 : COLLATE = 326,
367 : COLLATION = 327,
368 : COLUMN = 328,
369 : COLUMNS = 329,
370 : COMMENT = 330,
371 : COMMENTS = 331,
372 : COMMIT = 332,
373 : COMMITTED = 333,
374 : CONCURRENTLY = 334,
375 : CONFIGURATION = 335,
376 : CONFLICT = 336,
377 : CONNECTION = 337,
378 : CONSTRAINT = 338,
379 : CONSTRAINTS = 339,
380 : CONTENT_P = 340,
381 : CONTINUE_P = 341,
382 : CONVERSION_P = 342,
383 : COPY = 343,
384 : COST = 344,
385 : CREATE = 345,
386 : CROSS = 346,
387 : CSV = 347,
388 : CUBE = 348,
389 : CURRENT_P = 349,
390 : CURRENT_CATALOG = 350,
391 : CURRENT_DATE = 351,
392 : CURRENT_ROLE = 352,
393 : CURRENT_SCHEMA = 353,
394 : CURRENT_TIME = 354,
395 : CURRENT_TIMESTAMP = 355,
396 : CURRENT_USER = 356,
397 : CURSOR = 357,
398 : CYCLE = 358,
399 : DATA_P = 359,
400 : DATABASE = 360,
401 : DAY_P = 361,
402 : DEALLOCATE = 362,
403 : DEC = 363,
404 : DECIMAL_P = 364,
405 : DECLARE = 365,
406 : DEFAULT = 366,
407 : DEFAULTS = 367,
408 : DEFERRABLE = 368,
409 : DEFERRED = 369,
410 : DEFINER = 370,
411 : DELETE_P = 371,
412 : DELIMITER = 372,
413 : DELIMITERS = 373,
414 : DEPENDS = 374,
415 : DESC = 375,
416 : DETACH = 376,
417 : DICTIONARY = 377,
418 : DISABLE_P = 378,
419 : DISCARD = 379,
420 : DISTINCT = 380,
421 : DO = 381,
422 : DOCUMENT_P = 382,
423 : DOMAIN_P = 383,
424 : DOUBLE_P = 384,
425 : DROP = 385,
426 : EACH = 386,
427 : ELSE = 387,
428 : ENABLE_P = 388,
429 : ENCODING = 389,
430 : ENCRYPTED = 390,
431 : END_P = 391,
432 : ENUM_P = 392,
433 : ESCAPE = 393,
434 : EVENT = 394,
435 : EXCEPT = 395,
436 : EXCLUDE = 396,
437 : EXCLUDING = 397,
438 : EXCLUSIVE = 398,
439 : EXECUTE = 399,
440 : EXISTS = 400,
441 : EXPLAIN = 401,
442 : EXTENSION = 402,
443 : EXTERNAL = 403,
444 : EXTRACT = 404,
445 : FALSE_P = 405,
446 : FAMILY = 406,
447 : FETCH = 407,
448 : FILTER = 408,
449 : FIRST_P = 409,
450 : FLOAT_P = 410,
451 : FOLLOWING = 411,
452 : FOR = 412,
453 : FORCE = 413,
454 : FOREIGN = 414,
455 : FORWARD = 415,
456 : FREEZE = 416,
457 : FROM = 417,
458 : FULL = 418,
459 : FUNCTION = 419,
460 : FUNCTIONS = 420,
461 : GENERATED = 421,
462 : GLOBAL = 422,
463 : GRANT = 423,
464 : GRANTED = 424,
465 : GREATEST = 425,
466 : GROUP_P = 426,
467 : GROUPING = 427,
468 : HANDLER = 428,
469 : HAVING = 429,
470 : HEADER_P = 430,
471 : HOLD = 431,
472 : HOUR_P = 432,
473 : IDENTITY_P = 433,
474 : IF_P = 434,
475 : ILIKE = 435,
476 : IMMEDIATE = 436,
477 : IMMUTABLE = 437,
478 : IMPLICIT_P = 438,
479 : IMPORT_P = 439,
480 : IN_P = 440,
481 : INCLUDING = 441,
482 : INCREMENT = 442,
483 : INDEX = 443,
484 : INDEXES = 444,
485 : INHERIT = 445,
486 : INHERITS = 446,
487 : INITIALLY = 447,
488 : INLINE_P = 448,
489 : INNER_P = 449,
490 : INOUT = 450,
491 : INPUT_P = 451,
492 : INSENSITIVE = 452,
493 : INSERT = 453,
494 : INSTEAD = 454,
495 : INT_P = 455,
496 : INTEGER = 456,
497 : INTERSECT = 457,
498 : INTERVAL = 458,
499 : INTO = 459,
500 : INVOKER = 460,
501 : IS = 461,
502 : ISNULL = 462,
503 : ISOLATION = 463,
504 : JOIN = 464,
505 : KEY = 465,
506 : LABEL = 466,
507 : LANGUAGE = 467,
508 : LARGE_P = 468,
509 : LAST_P = 469,
510 : LATERAL_P = 470,
511 : LEADING = 471,
512 : LEAKPROOF = 472,
513 : LEAST = 473,
514 : LEFT = 474,
515 : LEVEL = 475,
516 : LIKE = 476,
517 : LIMIT = 477,
518 : LISTEN = 478,
519 : LOAD = 479,
520 : LOCAL = 480,
521 : LOCALTIME = 481,
522 : LOCALTIMESTAMP = 482,
523 : LOCATION = 483,
524 : LOCK_P = 484,
525 : LOCKED = 485,
526 : LOGGED = 486,
527 : MAPPING = 487,
528 : MATCH = 488,
529 : MATERIALIZED = 489,
530 : MAXVALUE = 490,
531 : METHOD = 491,
532 : MINUTE_P = 492,
533 : MINVALUE = 493,
534 : MODE = 494,
535 : MONTH_P = 495,
536 : MOVE = 496,
537 : NAME_P = 497,
538 : NAMES = 498,
539 : NATIONAL = 499,
540 : NATURAL = 500,
541 : NCHAR = 501,
542 : NEW = 502,
543 : NEXT = 503,
544 : NO = 504,
545 : NONE = 505,
546 : NOT = 506,
547 : NOTHING = 507,
548 : NOTIFY = 508,
549 : NOTNULL = 509,
550 : NOWAIT = 510,
551 : NULL_P = 511,
552 : NULLIF = 512,
553 : NULLS_P = 513,
554 : NUMERIC = 514,
555 : OBJECT_P = 515,
556 : OF = 516,
557 : OFF = 517,
558 : OFFSET = 518,
559 : OIDS = 519,
560 : OLD = 520,
561 : ON = 521,
562 : ONLY = 522,
563 : OPERATOR = 523,
564 : OPTION = 524,
565 : OPTIONS = 525,
566 : OR = 526,
567 : ORDER = 527,
568 : ORDINALITY = 528,
569 : OUT_P = 529,
570 : OUTER_P = 530,
571 : OVER = 531,
572 : OVERLAPS = 532,
573 : OVERLAY = 533,
574 : OVERRIDING = 534,
575 : OWNED = 535,
576 : OWNER = 536,
577 : PARALLEL = 537,
578 : PARSER = 538,
579 : PARTIAL = 539,
580 : PARTITION = 540,
581 : PASSING = 541,
582 : PASSWORD = 542,
583 : PLACING = 543,
584 : PLANS = 544,
585 : POLICY = 545,
586 : POSITION = 546,
587 : PRECEDING = 547,
588 : PRECISION = 548,
589 : PRESERVE = 549,
590 : PREPARE = 550,
591 : PREPARED = 551,
592 : PRIMARY = 552,
593 : PRIOR = 553,
594 : PRIVILEGES = 554,
595 : PROCEDURAL = 555,
596 : PROCEDURE = 556,
597 : PROGRAM = 557,
598 : PUBLICATION = 558,
599 : QUOTE = 559,
600 : RANGE = 560,
601 : READ = 561,
602 : REAL = 562,
603 : REASSIGN = 563,
604 : RECHECK = 564,
605 : RECURSIVE = 565,
606 : REF = 566,
607 : REFERENCES = 567,
608 : REFERENCING = 568,
609 : REFRESH = 569,
610 : REINDEX = 570,
611 : RELATIVE_P = 571,
612 : RELEASE = 572,
613 : RENAME = 573,
614 : REPEATABLE = 574,
615 : REPLACE = 575,
616 : REPLICA = 576,
617 : RESET = 577,
618 : RESTART = 578,
619 : RESTRICT = 579,
620 : RETURNING = 580,
621 : RETURNS = 581,
622 : REVOKE = 582,
623 : RIGHT = 583,
624 : ROLE = 584,
625 : ROLLBACK = 585,
626 : ROLLUP = 586,
627 : ROW = 587,
628 : ROWS = 588,
629 : RULE = 589,
630 : SAVEPOINT = 590,
631 : SCHEMA = 591,
632 : SCHEMAS = 592,
633 : SCROLL = 593,
634 : SEARCH = 594,
635 : SECOND_P = 595,
636 : SECURITY = 596,
637 : SELECT = 597,
638 : SEQUENCE = 598,
639 : SEQUENCES = 599,
640 : SERIALIZABLE = 600,
641 : SERVER = 601,
642 : SESSION = 602,
643 : SESSION_USER = 603,
644 : SET = 604,
645 : SETS = 605,
646 : SETOF = 606,
647 : SHARE = 607,
648 : SHOW = 608,
649 : SIMILAR = 609,
650 : SIMPLE = 610,
651 : SKIP = 611,
652 : SMALLINT = 612,
653 : SNAPSHOT = 613,
654 : SOME = 614,
655 : SQL_P = 615,
656 : STABLE = 616,
657 : STANDALONE_P = 617,
658 : START = 618,
659 : STATEMENT = 619,
660 : STATISTICS = 620,
661 : STDIN = 621,
662 : STDOUT = 622,
663 : STORAGE = 623,
664 : STRICT_P = 624,
665 : STRIP_P = 625,
666 : SUBSCRIPTION = 626,
667 : SUBSTRING = 627,
668 : SYMMETRIC = 628,
669 : SYSID = 629,
670 : SYSTEM_P = 630,
671 : TABLE = 631,
672 : TABLES = 632,
673 : TABLESAMPLE = 633,
674 : TABLESPACE = 634,
675 : TEMP = 635,
676 : TEMPLATE = 636,
677 : TEMPORARY = 637,
678 : TEXT_P = 638,
679 : THEN = 639,
680 : TIME = 640,
681 : TIMESTAMP = 641,
682 : TO = 642,
683 : TRAILING = 643,
684 : TRANSACTION = 644,
685 : TRANSFORM = 645,
686 : TREAT = 646,
687 : TRIGGER = 647,
688 : TRIM = 648,
689 : TRUE_P = 649,
690 : TRUNCATE = 650,
691 : TRUSTED = 651,
692 : TYPE_P = 652,
693 : TYPES_P = 653,
694 : UNBOUNDED = 654,
695 : UNCOMMITTED = 655,
696 : UNENCRYPTED = 656,
697 : UNION = 657,
698 : UNIQUE = 658,
699 : UNKNOWN = 659,
700 : UNLISTEN = 660,
701 : UNLOGGED = 661,
702 : UNTIL = 662,
703 : UPDATE = 663,
704 : USER = 664,
705 : USING = 665,
706 : VACUUM = 666,
707 : VALID = 667,
708 : VALIDATE = 668,
709 : VALIDATOR = 669,
710 : VALUE_P = 670,
711 : VALUES = 671,
712 : VARCHAR = 672,
713 : VARIADIC = 673,
714 : VARYING = 674,
715 : VERBOSE = 675,
716 : VERSION_P = 676,
717 : VIEW = 677,
718 : VIEWS = 678,
719 : VOLATILE = 679,
720 : WHEN = 680,
721 : WHERE = 681,
722 : WHITESPACE_P = 682,
723 : WINDOW = 683,
724 : WITH = 684,
725 : WITHIN = 685,
726 : WITHOUT = 686,
727 : WORK = 687,
728 : WRAPPER = 688,
729 : WRITE = 689,
730 : XML_P = 690,
731 : XMLATTRIBUTES = 691,
732 : XMLCONCAT = 692,
733 : XMLELEMENT = 693,
734 : XMLEXISTS = 694,
735 : XMLFOREST = 695,
736 : XMLNAMESPACES = 696,
737 : XMLPARSE = 697,
738 : XMLPI = 698,
739 : XMLROOT = 699,
740 : XMLSERIALIZE = 700,
741 : XMLTABLE = 701,
742 : YEAR_P = 702,
743 : YES_P = 703,
744 : ZONE = 704,
745 : NOT_LA = 705,
746 : NULLS_LA = 706,
747 : WITH_LA = 707,
748 : POSTFIXOP = 708,
749 : UMINUS = 709
750 : };
751 : #endif
752 :
753 : /* Value type. */
754 : #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
755 : typedef union YYSTYPE YYSTYPE;
756 : union YYSTYPE
757 : {
758 : #line 202 "gram.y" /* yacc.c:355 */
759 :
760 : core_YYSTYPE core_yystype;
761 : /* these fields must match core_YYSTYPE: */
762 : int ival;
763 : char *str;
764 : const char *keyword;
765 :
766 : char chr;
767 : bool boolean;
768 : JoinType jtype;
769 : DropBehavior dbehavior;
770 : OnCommitAction oncommit;
771 : List *list;
772 : Node *node;
773 : Value *value;
774 : ObjectType objtype;
775 : TypeName *typnam;
776 : FunctionParameter *fun_param;
777 : FunctionParameterMode fun_param_mode;
778 : ObjectWithArgs *objwithargs;
779 : DefElem *defelt;
780 : SortBy *sortby;
781 : WindowDef *windef;
782 : JoinExpr *jexpr;
783 : IndexElem *ielem;
784 : Alias *alias;
785 : RangeVar *range;
786 : IntoClause *into;
787 : WithClause *with;
788 : InferClause *infer;
789 : OnConflictClause *onconflict;
790 : A_Indices *aind;
791 : ResTarget *target;
792 : struct PrivTarget *privtarget;
793 : AccessPriv *accesspriv;
794 : struct ImportQual *importqual;
795 : InsertStmt *istmt;
796 : VariableSetStmt *vsetstmt;
797 : PartitionElem *partelem;
798 : PartitionSpec *partspec;
799 : PartitionBoundSpec *partboundspec;
800 : RoleSpec *rolespec;
801 :
802 : #line 803 "gram.c" /* yacc.c:355 */
803 : };
804 : # define YYSTYPE_IS_TRIVIAL 1
805 : # define YYSTYPE_IS_DECLARED 1
806 : #endif
807 :
808 : /* Location type. */
809 : #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
810 : typedef struct YYLTYPE YYLTYPE;
811 : struct YYLTYPE
812 : {
813 : int first_line;
814 : int first_column;
815 : int last_line;
816 : int last_column;
817 : };
818 : # define YYLTYPE_IS_DECLARED 1
819 : # define YYLTYPE_IS_TRIVIAL 1
820 : #endif
821 :
822 :
823 :
824 : int base_yyparse (core_yyscan_t yyscanner);
825 :
826 : #endif /* !YY_BASE_YY_GRAM_H_INCLUDED */
827 :
828 : /* Copy the second part of user declarations. */
829 :
830 : #line 831 "gram.c" /* yacc.c:358 */
831 :
832 : #ifdef short
833 : # undef short
834 : #endif
835 :
836 : #ifdef YYTYPE_UINT8
837 : typedef YYTYPE_UINT8 yytype_uint8;
838 : #else
839 : typedef unsigned char yytype_uint8;
840 : #endif
841 :
842 : #ifdef YYTYPE_INT8
843 : typedef YYTYPE_INT8 yytype_int8;
844 : #else
845 : typedef signed char yytype_int8;
846 : #endif
847 :
848 : #ifdef YYTYPE_UINT16
849 : typedef YYTYPE_UINT16 yytype_uint16;
850 : #else
851 : typedef unsigned short int yytype_uint16;
852 : #endif
853 :
854 : #ifdef YYTYPE_INT16
855 : typedef YYTYPE_INT16 yytype_int16;
856 : #else
857 : typedef short int yytype_int16;
858 : #endif
859 :
860 : #ifndef YYSIZE_T
861 : # ifdef __SIZE_TYPE__
862 : # define YYSIZE_T __SIZE_TYPE__
863 : # elif defined size_t
864 : # define YYSIZE_T size_t
865 : # elif ! defined YYSIZE_T
866 : # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
867 : # define YYSIZE_T size_t
868 : # else
869 : # define YYSIZE_T unsigned int
870 : # endif
871 : #endif
872 :
873 : #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
874 :
875 : #ifndef YY_
876 : # if defined YYENABLE_NLS && YYENABLE_NLS
877 : # if ENABLE_NLS
878 : # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
879 : # define YY_(Msgid) dgettext ("bison-runtime", Msgid)
880 : # endif
881 : # endif
882 : # ifndef YY_
883 : # define YY_(Msgid) Msgid
884 : # endif
885 : #endif
886 :
887 : #ifndef YY_ATTRIBUTE
888 : # if (defined __GNUC__ \
889 : && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
890 : || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
891 : # define YY_ATTRIBUTE(Spec) __attribute__(Spec)
892 : # else
893 : # define YY_ATTRIBUTE(Spec) /* empty */
894 : # endif
895 : #endif
896 :
897 : #ifndef YY_ATTRIBUTE_PURE
898 : # define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
899 : #endif
900 :
901 : #ifndef YY_ATTRIBUTE_UNUSED
902 : # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
903 : #endif
904 :
905 : #if !defined _Noreturn \
906 : && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
907 : # if defined _MSC_VER && 1200 <= _MSC_VER
908 : # define _Noreturn __declspec (noreturn)
909 : # else
910 : # define _Noreturn YY_ATTRIBUTE ((__noreturn__))
911 : # endif
912 : #endif
913 :
914 : /* Suppress unused-variable warnings by "using" E. */
915 : #if ! defined lint || defined __GNUC__
916 : # define YYUSE(E) ((void) (E))
917 : #else
918 : # define YYUSE(E) /* empty */
919 : #endif
920 :
921 : #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
922 : /* Suppress an incorrect diagnostic about yylval being uninitialized. */
923 : # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
924 : _Pragma ("GCC diagnostic push") \
925 : _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
926 : _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
927 : # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
928 : _Pragma ("GCC diagnostic pop")
929 : #else
930 : # define YY_INITIAL_VALUE(Value) Value
931 : #endif
932 : #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
933 : # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
934 : # define YY_IGNORE_MAYBE_UNINITIALIZED_END
935 : #endif
936 : #ifndef YY_INITIAL_VALUE
937 : # define YY_INITIAL_VALUE(Value) /* Nothing. */
938 : #endif
939 :
940 :
941 : #if ! defined yyoverflow || YYERROR_VERBOSE
942 :
943 : /* The parser invokes alloca or malloc; define the necessary symbols. */
944 :
945 : # ifdef YYSTACK_USE_ALLOCA
946 : # if YYSTACK_USE_ALLOCA
947 : # ifdef __GNUC__
948 : # define YYSTACK_ALLOC __builtin_alloca
949 : # elif defined __BUILTIN_VA_ARG_INCR
950 : # include <alloca.h> /* INFRINGES ON USER NAME SPACE */
951 : # elif defined _AIX
952 : # define YYSTACK_ALLOC __alloca
953 : # elif defined _MSC_VER
954 : # include <malloc.h> /* INFRINGES ON USER NAME SPACE */
955 : # define alloca _alloca
956 : # else
957 : # define YYSTACK_ALLOC alloca
958 : # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
959 : # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
960 : /* Use EXIT_SUCCESS as a witness for stdlib.h. */
961 : # ifndef EXIT_SUCCESS
962 : # define EXIT_SUCCESS 0
963 : # endif
964 : # endif
965 : # endif
966 : # endif
967 : # endif
968 :
969 : # ifdef YYSTACK_ALLOC
970 : /* Pacify GCC's 'empty if-body' warning. */
971 : # define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
972 : # ifndef YYSTACK_ALLOC_MAXIMUM
973 : /* The OS might guarantee only one guard page at the bottom of the stack,
974 : and a page size can be as small as 4096 bytes. So we cannot safely
975 : invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
976 : to allow for a few compiler-allocated temporary stack slots. */
977 : # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
978 : # endif
979 : # else
980 : # define YYSTACK_ALLOC YYMALLOC
981 : # define YYSTACK_FREE YYFREE
982 : # ifndef YYSTACK_ALLOC_MAXIMUM
983 : # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
984 : # endif
985 : # if (defined __cplusplus && ! defined EXIT_SUCCESS \
986 : && ! ((defined YYMALLOC || defined malloc) \
987 : && (defined YYFREE || defined free)))
988 : # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
989 : # ifndef EXIT_SUCCESS
990 : # define EXIT_SUCCESS 0
991 : # endif
992 : # endif
993 : # ifndef YYMALLOC
994 : # define YYMALLOC malloc
995 : # if ! defined malloc && ! defined EXIT_SUCCESS
996 : void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
997 : # endif
998 : # endif
999 : # ifndef YYFREE
1000 : # define YYFREE free
1001 : # if ! defined free && ! defined EXIT_SUCCESS
1002 : void free (void *); /* INFRINGES ON USER NAME SPACE */
1003 : # endif
1004 : # endif
1005 : # endif
1006 : #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
1007 :
1008 :
1009 : #if (! defined yyoverflow \
1010 : && (! defined __cplusplus \
1011 : || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \
1012 : && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
1013 :
1014 : /* A type that is properly aligned for any stack member. */
1015 : union yyalloc
1016 : {
1017 : yytype_int16 yyss_alloc;
1018 : YYSTYPE yyvs_alloc;
1019 : YYLTYPE yyls_alloc;
1020 : };
1021 :
1022 : /* The size of the maximum gap between one aligned stack and the next. */
1023 : # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
1024 :
1025 : /* The size of an array large to enough to hold all stacks, each with
1026 : N elements. */
1027 : # define YYSTACK_BYTES(N) \
1028 : ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \
1029 : + 2 * YYSTACK_GAP_MAXIMUM)
1030 :
1031 : # define YYCOPY_NEEDED 1
1032 :
1033 : /* Relocate STACK from its old location to the new one. The
1034 : local variables YYSIZE and YYSTACKSIZE give the old and new number of
1035 : elements in the stack, and YYPTR gives the new location of the
1036 : stack. Advance YYPTR to a properly aligned location for the next
1037 : stack. */
1038 : # define YYSTACK_RELOCATE(Stack_alloc, Stack) \
1039 : do \
1040 : { \
1041 : YYSIZE_T yynewbytes; \
1042 : YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
1043 : Stack = &yyptr->Stack_alloc; \
1044 : yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
1045 : yyptr += yynewbytes / sizeof (*yyptr); \
1046 : } \
1047 : while (0)
1048 :
1049 : #endif
1050 :
1051 : #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
1052 : /* Copy COUNT objects from SRC to DST. The source and destination do
1053 : not overlap. */
1054 : # ifndef YYCOPY
1055 : # if defined __GNUC__ && 1 < __GNUC__
1056 : # define YYCOPY(Dst, Src, Count) \
1057 : __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
1058 : # else
1059 : # define YYCOPY(Dst, Src, Count) \
1060 : do \
1061 : { \
1062 : YYSIZE_T yyi; \
1063 : for (yyi = 0; yyi < (Count); yyi++) \
1064 : (Dst)[yyi] = (Src)[yyi]; \
1065 : } \
1066 : while (0)
1067 : # endif
1068 : # endif
1069 : #endif /* !YYCOPY_NEEDED */
1070 :
1071 : /* YYFINAL -- State number of the termination state. */
1072 : #define YYFINAL 784
1073 : /* YYLAST -- Last index in YYTABLE. */
1074 : #define YYLAST 96273
1075 :
1076 : /* YYNTOKENS -- Number of terminals. */
1077 : #define YYNTOKENS 472
1078 : /* YYNNTS -- Number of nonterminals. */
1079 : #define YYNNTS 653
1080 : /* YYNRULES -- Number of rules. */
1081 : #define YYNRULES 2657
1082 : /* YYNSTATES -- Number of states. */
1083 : #define YYNSTATES 5305
1084 :
1085 : /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
1086 : by yylex, with out-of-bounds checking. */
1087 : #define YYUNDEFTOK 2
1088 : #define YYMAXUTOK 709
1089 :
1090 : #define YYTRANSLATE(YYX) \
1091 : ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
1092 :
1093 : /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
1094 : as returned by yylex, without out-of-bounds checking. */
1095 : static const yytype_uint16 yytranslate[] =
1096 : {
1097 : 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1098 : 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1099 : 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1100 : 2, 2, 2, 2, 2, 2, 2, 461, 2, 2,
1101 : 466, 467, 459, 457, 470, 458, 468, 460, 2, 2,
1102 : 2, 2, 2, 2, 2, 2, 2, 2, 471, 469,
1103 : 453, 455, 454, 2, 2, 2, 2, 2, 2, 2,
1104 : 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1105 : 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1106 : 2, 464, 2, 465, 462, 2, 2, 2, 2, 2,
1107 : 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1108 : 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1109 : 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1110 : 2, 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, 2, 2, 2,
1114 : 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1115 : 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1116 : 2, 2, 2, 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, 2, 2, 2, 2, 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, 1, 2, 3, 4,
1123 : 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
1124 : 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
1125 : 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
1126 : 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
1127 : 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1128 : 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1129 : 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
1130 : 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
1131 : 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
1132 : 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
1133 : 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1134 : 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
1135 : 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
1136 : 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
1137 : 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
1138 : 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
1139 : 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
1140 : 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
1141 : 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
1142 : 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
1143 : 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
1144 : 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
1145 : 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
1146 : 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
1147 : 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
1148 : 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
1149 : 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
1150 : 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1151 : 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
1152 : 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
1153 : 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
1154 : 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
1155 : 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
1156 : 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
1157 : 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
1158 : 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
1159 : 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
1160 : 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
1161 : 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
1162 : 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
1163 : 405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
1164 : 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
1165 : 425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
1166 : 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
1167 : 445, 446, 447, 448, 449, 450, 451, 452, 456, 463
1168 : };
1169 :
1170 : #if YYDEBUG
1171 : /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
1172 : static const yytype_uint16 yyrline[] =
1173 : {
1174 : 0, 775, 775, 791, 803, 813, 814, 815, 816, 817,
1175 : 818, 819, 820, 821, 822, 823, 824, 825, 826, 827,
1176 : 828, 829, 830, 831, 832, 833, 834, 835, 836, 837,
1177 : 838, 839, 840, 841, 842, 843, 844, 845, 846, 847,
1178 : 848, 849, 850, 851, 852, 853, 854, 855, 856, 857,
1179 : 858, 859, 860, 861, 862, 863, 864, 865, 866, 867,
1180 : 868, 869, 870, 871, 872, 873, 874, 875, 876, 877,
1181 : 878, 879, 880, 881, 882, 883, 884, 885, 886, 887,
1182 : 888, 889, 890, 891, 892, 893, 894, 895, 896, 897,
1183 : 898, 899, 900, 901, 902, 903, 904, 905, 906, 907,
1184 : 908, 909, 910, 911, 912, 913, 914, 915, 916, 917,
1185 : 918, 919, 920, 921, 922, 923, 924, 925, 926, 927,
1186 : 928, 929, 930, 931, 932, 933, 934, 935, 937, 947,
1187 : 958, 959, 960, 969, 970, 974, 975, 979, 984, 988,
1188 : 998, 1006, 1010, 1014, 1019, 1023, 1071, 1073, 1077, 1081,
1189 : 1085, 1089, 1103, 1121, 1129, 1140, 1141, 1145, 1153, 1161,
1190 : 1169, 1190, 1197, 1204, 1211, 1218, 1225, 1242, 1260, 1271,
1191 : 1272, 1283, 1293, 1303, 1318, 1336, 1337, 1341, 1348, 1356,
1192 : 1357, 1358, 1359, 1360, 1361, 1375, 1381, 1387, 1396, 1404,
1193 : 1412, 1416, 1424, 1432, 1439, 1448, 1449, 1457, 1468, 1476,
1194 : 1484, 1495, 1503, 1511, 1518, 1527, 1537, 1538, 1542, 1543,
1195 : 1546, 1548, 1552, 1553, 1554, 1555, 1559, 1560, 1561, 1567,
1196 : 1579, 1583, 1587, 1602, 1609, 1610, 1611, 1615, 1616, 1617,
1197 : 1621, 1622, 1626, 1630, 1631, 1638, 1645, 1655, 1662, 1672,
1198 : 1673, 1678, 1679, 1684, 1690, 1696, 1702, 1708, 1718, 1728,
1199 : 1729, 1733, 1734, 1742, 1757, 1763, 1769, 1775, 1781, 1800,
1200 : 1809, 1818, 1827, 1836, 1847, 1858, 1867, 1876, 1887, 1898,
1201 : 1907, 1916, 1925, 1934, 1943, 1952, 1963, 1977, 1978, 1983,
1202 : 1996, 2012, 2021, 2030, 2039, 2048, 2057, 2065, 2073, 2082,
1203 : 2091, 2100, 2109, 2126, 2135, 2144, 2153, 2163, 2176, 2191,
1204 : 2200, 2208, 2223, 2231, 2241, 2251, 2258, 2265, 2273, 2281,
1205 : 2288, 2295, 2303, 2311, 2319, 2326, 2333, 2341, 2348, 2355,
1206 : 2363, 2371, 2379, 2387, 2395, 2403, 2413, 2420, 2428, 2436,
1207 : 2444, 2452, 2460, 2467, 2474, 2481, 2487, 2497, 2498, 2502,
1208 : 2503, 2504, 2508, 2516, 2520, 2521, 2525, 2532, 2539, 2546,
1209 : 2556, 2559, 2560, 2564, 2565, 2570, 2574, 2578, 2583, 2590,
1210 : 2592, 2597, 2601, 2605, 2616, 2624, 2636, 2650, 2651, 2652,
1211 : 2656, 2657, 2662, 2663, 2668, 2678, 2688, 2708, 2721, 2722,
1212 : 2727, 2736, 2746, 2756, 2782, 2788, 2821, 2850, 2872, 2873,
1213 : 2877, 2878, 2887, 2888, 2889, 2892, 2893, 2898, 2899, 2903,
1214 : 2907, 2911, 2915, 2919, 2923, 2927, 2931, 2935, 2939, 2943,
1215 : 2947, 2951, 2955, 2964, 2968, 2972, 2976, 2980, 2984, 2988,
1216 : 2989, 2994, 2998, 3005, 3012, 3013, 3014, 3015, 3016, 3020,
1217 : 3024, 3032, 3043, 3060, 3078, 3097, 3116, 3135, 3167, 3168,
1218 : 3169, 3170, 3171, 3178, 3185, 3186, 3190, 3191, 3195, 3196,
1219 : 3200, 3204, 3211, 3215, 3222, 3223, 3224, 3228, 3229, 3232,
1220 : 3254, 3273, 3295, 3296, 3300, 3307, 3308, 3309, 3340, 3347,
1221 : 3354, 3365, 3376, 3388, 3397, 3406, 3424, 3425, 3444, 3451,
1222 : 3458, 3465, 3476, 3486, 3487, 3488, 3492, 3493, 3494, 3495,
1223 : 3496, 3497, 3498, 3507, 3514, 3518, 3531, 3546, 3560, 3575,
1224 : 3589, 3607, 3628, 3629, 3633, 3634, 3638, 3639, 3642, 3648,
1225 : 3652, 3660, 3665, 3671, 3672, 3676, 3681, 3688, 3689, 3699,
1226 : 3701, 3703, 3705, 3708, 3711, 3714, 3718, 3719, 3720, 3721,
1227 : 3722, 3725, 3726, 3730, 3731, 3734, 3746, 3747, 3750, 3751,
1228 : 3754, 3765, 3776, 3790, 3791, 3792, 3793, 3796, 3797, 3798,
1229 : 3799, 3802, 3803, 3806, 3807, 3810, 3828, 3839, 3863, 3876,
1230 : 3892, 3906, 3907, 3908, 3920, 3933, 3949, 3962, 3963, 3975,
1231 : 3995, 4005, 4018, 4026, 4037, 4038, 4041, 4042, 4045, 4046,
1232 : 4049, 4053, 4057, 4061, 4065, 4069, 4073, 4077, 4081, 4085,
1233 : 4089, 4094, 4098, 4102, 4108, 4109, 4113, 4114, 4115, 4120,
1234 : 4123, 4124, 4136, 4148, 4163, 4164, 4172, 4173, 4177, 4178,
1235 : 4182, 4183, 4187, 4188, 4192, 4202, 4215, 4216, 4226, 4237,
1236 : 4238, 4251, 4258, 4275, 4283, 4294, 4297, 4301, 4305, 4309,
1237 : 4313, 4325, 4335, 4338, 4342, 4355, 4364, 4373, 4382, 4391,
1238 : 4400, 4409, 4418, 4427, 4436, 4445, 4454, 4463, 4472, 4481,
1239 : 4490, 4499, 4508, 4517, 4526, 4535, 4544, 4553, 4562, 4571,
1240 : 4580, 4598, 4609, 4610, 4611, 4612, 4616, 4617, 4621, 4622,
1241 : 4632, 4640, 4652, 4653, 4657, 4661, 4669, 4673, 4677, 4684,
1242 : 4688, 4693, 4698, 4705, 4712, 4717, 4727, 4739, 4754, 4755,
1243 : 4760, 4761, 4765, 4766, 4776, 4785, 4793, 4810, 4830, 4850,
1244 : 4871, 4902, 4911, 4932, 4947, 4948, 4952, 4960, 4975, 4984,
1245 : 4996, 4997, 5009, 5017, 5034, 5058, 5075, 5089, 5090, 5094,
1246 : 5095, 5099, 5100, 5104, 5105, 5109, 5123, 5127, 5128, 5132,
1247 : 5133, 5134, 5135, 5136, 5146, 5164, 5185, 5211, 5212, 5213,
1248 : 5217, 5219, 5241, 5243, 5245, 5247, 5249, 5254, 5255, 5259,
1249 : 5260, 5264, 5275, 5276, 5280, 5289, 5293, 5297, 5302, 5312,
1250 : 5313, 5317, 5318, 5322, 5323, 5327, 5328, 5329, 5333, 5337,
1251 : 5338, 5339, 5343, 5344, 5349, 5350, 5377, 5378, 5379, 5380,
1252 : 5381, 5382, 5395, 5405, 5419, 5421, 5426, 5431, 5433, 5438,
1253 : 5448, 5449, 5450, 5451, 5463, 5483, 5505, 5515, 5526, 5536,
1254 : 5546, 5557, 5566, 5573, 5580, 5589, 5598, 5607, 5616, 5625,
1255 : 5635, 5644, 5656, 5659, 5660, 5663, 5667, 5674, 5675, 5676,
1256 : 5677, 5678, 5679, 5682, 5685, 5686, 5694, 5701, 5702, 5705,
1257 : 5707, 5718, 5729, 5740, 5751, 5764, 5765, 5781, 5796, 5797,
1258 : 5801, 5813, 5823, 5831, 5840, 5849, 5850, 5853, 5854, 5857,
1259 : 5858, 5859, 5862, 5876, 5881, 5891, 5900, 5912, 5913, 5917,
1260 : 5925, 5937, 5947, 5960, 5970, 5992, 6002, 6020, 6030, 6040,
1261 : 6050, 6060, 6070, 6080, 6090, 6100, 6110, 6120, 6130, 6144,
1262 : 6145, 6146, 6147, 6148, 6149, 6150, 6151, 6152, 6153, 6154,
1263 : 6155, 6156, 6161, 6162, 6163, 6164, 6165, 6166, 6167, 6172,
1264 : 6173, 6174, 6178, 6179, 6182, 6183, 6186, 6188, 6193, 6194,
1265 : 6204, 6215, 6216, 6217, 6251, 6259, 6267, 6275, 6283, 6291,
1266 : 6299, 6307, 6315, 6328, 6336, 6344, 6352, 6360, 6368, 6376,
1267 : 6384, 6396, 6397, 6398, 6399, 6400, 6401, 6402, 6403, 6404,
1268 : 6405, 6406, 6407, 6408, 6409, 6414, 6415, 6416, 6417, 6418,
1269 : 6419, 6420, 6421, 6422, 6423, 6424, 6425, 6429, 6430, 6444,
1270 : 6454, 6464, 6474, 6484, 6494, 6504, 6516, 6517, 6522, 6523,
1271 : 6524, 6525, 6526, 6527, 6532, 6533, 6534, 6535, 6536, 6537,
1272 : 6538, 6539, 6542, 6543, 6553, 6559, 6567, 6575, 6583, 6591,
1273 : 6599, 6607, 6615, 6623, 6631, 6639, 6647, 6655, 6663, 6671,
1274 : 6679, 6687, 6697, 6698, 6701, 6702, 6712, 6728, 6742, 6768,
1275 : 6770, 6772, 6774, 6781, 6790, 6791, 6794, 6801, 6808, 6815,
1276 : 6829, 6837, 6845, 6853, 6861, 6869, 6877, 6885, 6893, 6901,
1277 : 6909, 6917, 6925, 6933, 6941, 6949, 6961, 6962, 6966, 6967,
1278 : 6972, 6973, 6983, 6996, 7006, 7018, 7019, 7022, 7023, 7033,
1279 : 7043, 7044, 7048, 7052, 7056, 7067, 7080, 7094, 7111, 7112,
1280 : 7113, 7114, 7115, 7127, 7153, 7182, 7183, 7187, 7188, 7192,
1281 : 7193, 7197, 7198, 7201, 7202, 7210, 7221, 7232, 7245, 7246,
1282 : 7249, 7250, 7253, 7254, 7255, 7258, 7259, 7260, 7276, 7288,
1283 : 7301, 7316, 7317, 7320, 7321, 7325, 7326, 7330, 7331, 7336,
1284 : 7348, 7355, 7362, 7377, 7378, 7382, 7383, 7398, 7407, 7416,
1285 : 7425, 7434, 7446, 7447, 7448, 7449, 7450, 7456, 7460, 7475,
1286 : 7476, 7482, 7492, 7496, 7501, 7509, 7550, 7554, 7558, 7562,
1287 : 7570, 7571, 7575, 7585, 7586, 7592, 7593, 7600, 7604, 7608,
1288 : 7612, 7616, 7620, 7624, 7628, 7632, 7636, 7640, 7644, 7648,
1289 : 7652, 7656, 7661, 7668, 7672, 7676, 7680, 7684, 7690, 7691,
1290 : 7698, 7699, 7703, 7704, 7707, 7719, 7723, 7738, 7749, 7750,
1291 : 7755, 7756, 7771, 7781, 7794, 7804, 7817, 7827, 7840, 7848,
1292 : 7850, 7852, 7857, 7859, 7864, 7865, 7870, 7888, 7897, 7898,
1293 : 7902, 7906, 7918, 7929, 7940, 7953, 7954, 7955, 7959, 7971,
1294 : 7972, 7982, 7994, 7998, 8002, 8006, 8013, 8033, 8042, 8051,
1295 : 8060, 8071, 8072, 8075, 8076, 8077, 8080, 8081, 8084, 8094,
1296 : 8103, 8120, 8129, 8138, 8147, 8156, 8165, 8174, 8183, 8192,
1297 : 8201, 8210, 8219, 8228, 8238, 8248, 8257, 8266, 8275, 8284,
1298 : 8294, 8304, 8314, 8324, 8334, 8344, 8354, 8364, 8374, 8384,
1299 : 8394, 8404, 8415, 8426, 8437, 8448, 8458, 8468, 8479, 8490,
1300 : 8500, 8510, 8518, 8527, 8536, 8545, 8554, 8563, 8572, 8581,
1301 : 8590, 8599, 8613, 8614, 8617, 8618, 8628, 8636, 8645, 8653,
1302 : 8670, 8679, 8688, 8697, 8706, 8715, 8724, 8733, 8742, 8751,
1303 : 8760, 8769, 8778, 8787, 8796, 8805, 8814, 8823, 8832, 8841,
1304 : 8850, 8859, 8868, 8877, 8886, 8904, 8913, 8914, 8917, 8919,
1305 : 8925, 8926, 8927, 8928, 8929, 8938, 8946, 8954, 8962, 8970,
1306 : 8978, 8986, 8994, 9002, 9010, 9018, 9026, 9034, 9042, 9050,
1307 : 9058, 9066, 9074, 9082, 9090, 9098, 9106, 9124, 9143, 9144,
1308 : 9148, 9152, 9172, 9179, 9187, 9195, 9212, 9225, 9229, 9236,
1309 : 9245, 9254, 9263, 9272, 9282, 9292, 9310, 9318, 9334, 9351,
1310 : 9352, 9353, 9358, 9364, 9373, 9374, 9375, 9376, 9377, 9381,
1311 : 9382, 9385, 9386, 9387, 9388, 9392, 9393, 9394, 9406, 9416,
1312 : 9417, 9420, 9429, 9435, 9454, 9461, 9468, 9475, 9482, 9489,
1313 : 9496, 9504, 9512, 9520, 9528, 9536, 9543, 9550, 9559, 9560,
1314 : 9561, 9565, 9568, 9571, 9574, 9577, 9584, 9586, 9588, 9593,
1315 : 9595, 9607, 9620, 9633, 9651, 9672, 9673, 9674, 9675, 9685,
1316 : 9701, 9711, 9712, 9716, 9717, 9721, 9725, 9729, 9747, 9748,
1317 : 9749, 9750, 9751, 9752, 9753, 9760, 9761, 9772, 9779, 9786,
1318 : 9797, 9814, 9821, 9837, 9854, 9860, 9876, 9889, 9898, 9906,
1319 : 9914, 9923, 9934, 9945, 9955, 9956, 9967, 9977, 9988, 9999,
1320 : 10010, 10021, 10030, 10042, 10043, 10057, 10080, 10088, 10097, 10108,
1321 : 10109, 10121, 10135, 10149, 10161, 10169, 10182, 10183, 10187, 10188,
1322 : 10189, 10190, 10191, 10204, 10214, 10227, 10228, 10232, 10233, 10236,
1323 : 10237, 10240, 10241, 10245, 10246, 10259, 10266, 10276, 10283, 10293,
1324 : 10294, 10295, 10296, 10297, 10298, 10299, 10300, 10301, 10305, 10309,
1325 : 10316, 10323, 10324, 10328, 10329, 10330, 10340, 10350, 10351, 10355,
1326 : 10356, 10357, 10358, 10368, 10375, 10393, 10394, 10404, 10410, 10416,
1327 : 10422, 10438, 10456, 10460, 10468, 10474, 10481, 10487, 10494, 10503,
1328 : 10504, 10508, 10510, 10515, 10526, 10536, 10546, 10552, 10561, 10570,
1329 : 10576, 10577, 10588, 10602, 10603, 10614, 10625, 10626, 10629, 10630,
1330 : 10631, 10632, 10633, 10634, 10635, 10636, 10639, 10640, 10644, 10645,
1331 : 10646, 10657, 10675, 10676, 10680, 10685, 10709, 10720, 10721, 10731,
1332 : 10742, 10745, 10746, 10747, 10748, 10749, 10752, 10753, 10754, 10802,
1333 : 10803, 10807, 10808, 10823, 10824, 10831, 10839, 10847, 10855, 10863,
1334 : 10871, 10882, 10883, 10910, 10924, 10939, 10940, 10959, 10963, 10967,
1335 : 10984, 10991, 10998, 11008, 11009, 11012, 11024, 11025, 11029, 11041,
1336 : 11049, 11054, 11059, 11064, 11069, 11077, 11085, 11090, 11095, 11102,
1337 : 11103, 11107, 11108, 11109, 11116, 11117, 11121, 11122, 11126, 11127,
1338 : 11131, 11135, 11136, 11139, 11148, 11161, 11162, 11163, 11164, 11168,
1339 : 11169, 11173, 11175, 11185, 11190, 11193, 11198, 11199, 11207, 11217,
1340 : 11218, 11219, 11227, 11231, 11232, 11235, 11236, 11261, 11262, 11266,
1341 : 11267, 11271, 11272, 11273, 11274, 11275, 11279, 11292, 11299, 11306,
1342 : 11313, 11314, 11318, 11319, 11323, 11324, 11328, 11329, 11333, 11344,
1343 : 11345, 11346, 11347, 11351, 11352, 11362, 11368, 11386, 11387, 11391,
1344 : 11392, 11398, 11403, 11411, 11418, 11426, 11432, 11439, 11474, 11499,
1345 : 11503, 11529, 11533, 11545, 11558, 11572, 11583, 11598, 11604, 11609,
1346 : 11615, 11622, 11623, 11631, 11635, 11639, 11645, 11652, 11657, 11658,
1347 : 11659, 11660, 11664, 11665, 11677, 11678, 11683, 11690, 11697, 11704,
1348 : 11715, 11716, 11729, 11733, 11740, 11753, 11766, 11767, 11782, 11792,
1349 : 11804, 11809, 11810, 11813, 11814, 11817, 11818, 11823, 11824, 11829,
1350 : 11830, 11838, 11843, 11844, 11848, 11852, 11858, 11883, 11893, 11906,
1351 : 11907, 11911, 11925, 11982, 11996, 11998, 12003, 12005, 12007, 12009,
1352 : 12014, 12016, 12021, 12029, 12049, 12054, 12061, 12066, 12072, 12077,
1353 : 12086, 12088, 12091, 12095, 12096, 12097, 12098, 12099, 12100, 12105,
1354 : 12125, 12126, 12127, 12128, 12139, 12145, 12153, 12154, 12160, 12165,
1355 : 12170, 12175, 12180, 12185, 12190, 12195, 12201, 12207, 12213, 12220,
1356 : 12242, 12251, 12255, 12263, 12267, 12275, 12287, 12308, 12312, 12318,
1357 : 12322, 12335, 12343, 12353, 12355, 12357, 12359, 12361, 12363, 12368,
1358 : 12369, 12376, 12385, 12393, 12402, 12413, 12421, 12422, 12423, 12427,
1359 : 12429, 12431, 12433, 12435, 12437, 12439, 12444, 12449, 12455, 12463,
1360 : 12468, 12475, 12482, 12486, 12490, 12526, 12527, 12529, 12537, 12552,
1361 : 12554, 12556, 12558, 12560, 12562, 12564, 12566, 12568, 12570, 12572,
1362 : 12574, 12576, 12578, 12581, 12583, 12585, 12588, 12590, 12592, 12594,
1363 : 12597, 12602, 12610, 12615, 12623, 12628, 12636, 12641, 12650, 12658,
1364 : 12666, 12674, 12692, 12700, 12708, 12716, 12724, 12740, 12748, 12756,
1365 : 12764, 12772, 12780, 12788, 12792, 12796, 12800, 12804, 12812, 12820,
1366 : 12828, 12836, 12856, 12878, 12889, 12896, 12912, 12917, 12923, 12948,
1367 : 12950, 12952, 12954, 12956, 12958, 12960, 12962, 12964, 12966, 12968,
1368 : 12970, 12972, 12974, 12976, 12978, 12980, 12982, 12984, 12986, 12990,
1369 : 12994, 12998, 13002, 13007, 13023, 13024, 13025, 13040, 13074, 13076,
1370 : 13078, 13089, 13113, 13124, 13135, 13142, 13152, 13162, 13171, 13175,
1371 : 13181, 13188, 13195, 13205, 13212, 13240, 13275, 13286, 13287, 13294,
1372 : 13300, 13304, 13308, 13312, 13316, 13320, 13324, 13328, 13332, 13336,
1373 : 13340, 13344, 13348, 13352, 13356, 13360, 13362, 13366, 13375, 13380,
1374 : 13387, 13402, 13409, 13413, 13417, 13421, 13425, 13432, 13440, 13448,
1375 : 13452, 13456, 13460, 13464, 13468, 13474, 13478, 13487, 13491, 13495,
1376 : 13500, 13514, 13516, 13520, 13522, 13524, 13527, 13530, 13533, 13534,
1377 : 13537, 13545, 13555, 13556, 13559, 13560, 13561, 13566, 13570, 13574,
1378 : 13578, 13589, 13590, 13594, 13595, 13603, 13604, 13608, 13609, 13614,
1379 : 13622, 13624, 13638, 13641, 13668, 13669, 13672, 13673, 13684, 13702,
1380 : 13709, 13718, 13735, 13780, 13788, 13796, 13804, 13812, 13833, 13834,
1381 : 13835, 13838, 13839, 13842, 13845, 13846, 13847, 13850, 13851, 13854,
1382 : 13855, 13856, 13857, 13858, 13859, 13860, 13861, 13862, 13863, 13864,
1383 : 13865, 13868, 13870, 13875, 13877, 13882, 13884, 13886, 13888, 13890,
1384 : 13892, 13904, 13908, 13915, 13919, 13925, 13929, 13938, 13949, 13950,
1385 : 13953, 13957, 13961, 13967, 13968, 13973, 13977, 13984, 13985, 13986,
1386 : 13987, 13988, 13989, 13990, 13991, 14001, 14005, 14012, 14019, 14020,
1387 : 14036, 14040, 14045, 14049, 14064, 14069, 14073, 14076, 14079, 14080,
1388 : 14081, 14084, 14091, 14101, 14115, 14116, 14120, 14131, 14132, 14135,
1389 : 14136, 14139, 14143, 14150, 14154, 14158, 14166, 14177, 14178, 14182,
1390 : 14183, 14187, 14188, 14191, 14192, 14202, 14203, 14207, 14208, 14211,
1391 : 14227, 14235, 14243, 14265, 14266, 14277, 14281, 14308, 14310, 14315,
1392 : 14318, 14321, 14323, 14325, 14327, 14337, 14339, 14350, 14354, 14358,
1393 : 14362, 14366, 14375, 14382, 14414, 14418, 14424, 14431, 14435, 14439,
1394 : 14445, 14446, 14448, 14449, 14450, 14454, 14484, 14511, 14515, 14521,
1395 : 14523, 14540, 14541, 14542, 14547, 14548, 14549, 14554, 14555, 14556,
1396 : 14557, 14563, 14564, 14565, 14566, 14567, 14587, 14588, 14589, 14590,
1397 : 14591, 14592, 14593, 14594, 14595, 14596, 14597, 14598, 14599, 14600,
1398 : 14601, 14602, 14603, 14604, 14605, 14606, 14607, 14608, 14609, 14610,
1399 : 14611, 14612, 14613, 14614, 14615, 14616, 14617, 14618, 14619, 14620,
1400 : 14621, 14622, 14623, 14624, 14625, 14626, 14627, 14628, 14629, 14630,
1401 : 14631, 14632, 14633, 14634, 14635, 14636, 14637, 14638, 14639, 14640,
1402 : 14641, 14642, 14643, 14644, 14645, 14646, 14647, 14648, 14649, 14650,
1403 : 14651, 14652, 14653, 14654, 14655, 14656, 14657, 14658, 14659, 14660,
1404 : 14661, 14662, 14663, 14664, 14665, 14666, 14667, 14668, 14669, 14670,
1405 : 14671, 14672, 14673, 14674, 14675, 14676, 14677, 14678, 14679, 14680,
1406 : 14681, 14682, 14683, 14684, 14685, 14686, 14687, 14688, 14689, 14690,
1407 : 14691, 14692, 14693, 14694, 14695, 14696, 14697, 14698, 14699, 14700,
1408 : 14701, 14702, 14703, 14704, 14705, 14706, 14707, 14708, 14709, 14710,
1409 : 14711, 14712, 14713, 14714, 14715, 14716, 14717, 14718, 14719, 14720,
1410 : 14721, 14722, 14723, 14724, 14725, 14726, 14727, 14728, 14729, 14730,
1411 : 14731, 14732, 14733, 14734, 14735, 14736, 14737, 14738, 14739, 14740,
1412 : 14741, 14742, 14743, 14744, 14745, 14746, 14747, 14748, 14749, 14750,
1413 : 14751, 14752, 14753, 14754, 14755, 14756, 14757, 14758, 14759, 14760,
1414 : 14761, 14762, 14763, 14764, 14765, 14766, 14767, 14768, 14769, 14770,
1415 : 14771, 14772, 14773, 14774, 14775, 14776, 14777, 14778, 14779, 14780,
1416 : 14781, 14782, 14783, 14784, 14785, 14786, 14787, 14788, 14789, 14790,
1417 : 14791, 14792, 14793, 14794, 14795, 14796, 14797, 14798, 14799, 14800,
1418 : 14801, 14802, 14803, 14804, 14805, 14806, 14807, 14808, 14809, 14810,
1419 : 14811, 14812, 14813, 14814, 14815, 14816, 14817, 14818, 14819, 14820,
1420 : 14821, 14822, 14823, 14824, 14825, 14826, 14827, 14828, 14829, 14830,
1421 : 14831, 14832, 14833, 14834, 14835, 14836, 14837, 14838, 14839, 14840,
1422 : 14841, 14842, 14843, 14844, 14845, 14846, 14847, 14848, 14849, 14850,
1423 : 14851, 14852, 14853, 14854, 14855, 14856, 14857, 14858, 14859, 14860,
1424 : 14861, 14862, 14863, 14864, 14865, 14866, 14867, 14868, 14882, 14883,
1425 : 14884, 14885, 14886, 14887, 14888, 14889, 14890, 14891, 14892, 14893,
1426 : 14894, 14895, 14896, 14897, 14898, 14899, 14900, 14901, 14902, 14903,
1427 : 14904, 14905, 14906, 14907, 14908, 14909, 14910, 14911, 14912, 14913,
1428 : 14914, 14915, 14916, 14917, 14918, 14919, 14920, 14921, 14922, 14923,
1429 : 14924, 14925, 14926, 14927, 14928, 14929, 14930, 14931, 14945, 14946,
1430 : 14947, 14948, 14949, 14950, 14951, 14952, 14953, 14954, 14955, 14956,
1431 : 14957, 14958, 14959, 14960, 14961, 14962, 14963, 14964, 14965, 14966,
1432 : 14967, 14977, 14978, 14979, 14980, 14981, 14982, 14983, 14984, 14985,
1433 : 14986, 14987, 14988, 14989, 14990, 14991, 14992, 14993, 14994, 14995,
1434 : 14996, 14997, 14998, 14999, 15000, 15001, 15002, 15003, 15004, 15005,
1435 : 15006, 15007, 15008, 15009, 15010, 15011, 15012, 15013, 15014, 15015,
1436 : 15016, 15017, 15018, 15019, 15020, 15021, 15022, 15023, 15024, 15025,
1437 : 15026, 15027, 15028, 15029, 15030, 15031, 15032, 15033, 15034, 15035,
1438 : 15036, 15037, 15038, 15039, 15040, 15041, 15042, 15043, 15044, 15045,
1439 : 15046, 15047, 15048, 15049, 15050, 15051, 15052, 15053
1440 : };
1441 : #endif
1442 :
1443 : #if YYDEBUG || YYERROR_VERBOSE || 0
1444 : /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
1445 : First, the terminals, then, starting at YYNTOKENS, nonterminals. */
1446 : static const char *const yytname[] =
1447 : {
1448 : "$end", "error", "$undefined", "IDENT", "FCONST", "SCONST", "BCONST",
1449 : "XCONST", "Op", "ICONST", "PARAM", "TYPECAST", "DOT_DOT", "COLON_EQUALS",
1450 : "EQUALS_GREATER", "LESS_EQUALS", "GREATER_EQUALS", "NOT_EQUALS",
1451 : "ABORT_P", "ABSOLUTE_P", "ACCESS", "ACTION", "ADD_P", "ADMIN", "AFTER",
1452 : "AGGREGATE", "ALL", "ALSO", "ALTER", "ALWAYS", "ANALYSE", "ANALYZE",
1453 : "AND", "ANY", "ARRAY", "AS", "ASC", "ASSERTION", "ASSIGNMENT",
1454 : "ASYMMETRIC", "AT", "ATTACH", "ATTRIBUTE", "AUTHORIZATION", "BACKWARD",
1455 : "BEFORE", "BEGIN_P", "BETWEEN", "BIGINT", "BINARY", "BIT", "BOOLEAN_P",
1456 : "BOTH", "BY", "CACHE", "CALLED", "CASCADE", "CASCADED", "CASE", "CAST",
1457 : "CATALOG_P", "CHAIN", "CHAR_P", "CHARACTER", "CHARACTERISTICS", "CHECK",
1458 : "CHECKPOINT", "CLASS", "CLOSE", "CLUSTER", "COALESCE", "COLLATE",
1459 : "COLLATION", "COLUMN", "COLUMNS", "COMMENT", "COMMENTS", "COMMIT",
1460 : "COMMITTED", "CONCURRENTLY", "CONFIGURATION", "CONFLICT", "CONNECTION",
1461 : "CONSTRAINT", "CONSTRAINTS", "CONTENT_P", "CONTINUE_P", "CONVERSION_P",
1462 : "COPY", "COST", "CREATE", "CROSS", "CSV", "CUBE", "CURRENT_P",
1463 : "CURRENT_CATALOG", "CURRENT_DATE", "CURRENT_ROLE", "CURRENT_SCHEMA",
1464 : "CURRENT_TIME", "CURRENT_TIMESTAMP", "CURRENT_USER", "CURSOR", "CYCLE",
1465 : "DATA_P", "DATABASE", "DAY_P", "DEALLOCATE", "DEC", "DECIMAL_P",
1466 : "DECLARE", "DEFAULT", "DEFAULTS", "DEFERRABLE", "DEFERRED", "DEFINER",
1467 : "DELETE_P", "DELIMITER", "DELIMITERS", "DEPENDS", "DESC", "DETACH",
1468 : "DICTIONARY", "DISABLE_P", "DISCARD", "DISTINCT", "DO", "DOCUMENT_P",
1469 : "DOMAIN_P", "DOUBLE_P", "DROP", "EACH", "ELSE", "ENABLE_P", "ENCODING",
1470 : "ENCRYPTED", "END_P", "ENUM_P", "ESCAPE", "EVENT", "EXCEPT", "EXCLUDE",
1471 : "EXCLUDING", "EXCLUSIVE", "EXECUTE", "EXISTS", "EXPLAIN", "EXTENSION",
1472 : "EXTERNAL", "EXTRACT", "FALSE_P", "FAMILY", "FETCH", "FILTER", "FIRST_P",
1473 : "FLOAT_P", "FOLLOWING", "FOR", "FORCE", "FOREIGN", "FORWARD", "FREEZE",
1474 : "FROM", "FULL", "FUNCTION", "FUNCTIONS", "GENERATED", "GLOBAL", "GRANT",
1475 : "GRANTED", "GREATEST", "GROUP_P", "GROUPING", "HANDLER", "HAVING",
1476 : "HEADER_P", "HOLD", "HOUR_P", "IDENTITY_P", "IF_P", "ILIKE", "IMMEDIATE",
1477 : "IMMUTABLE", "IMPLICIT_P", "IMPORT_P", "IN_P", "INCLUDING", "INCREMENT",
1478 : "INDEX", "INDEXES", "INHERIT", "INHERITS", "INITIALLY", "INLINE_P",
1479 : "INNER_P", "INOUT", "INPUT_P", "INSENSITIVE", "INSERT", "INSTEAD",
1480 : "INT_P", "INTEGER", "INTERSECT", "INTERVAL", "INTO", "INVOKER", "IS",
1481 : "ISNULL", "ISOLATION", "JOIN", "KEY", "LABEL", "LANGUAGE", "LARGE_P",
1482 : "LAST_P", "LATERAL_P", "LEADING", "LEAKPROOF", "LEAST", "LEFT", "LEVEL",
1483 : "LIKE", "LIMIT", "LISTEN", "LOAD", "LOCAL", "LOCALTIME",
1484 : "LOCALTIMESTAMP", "LOCATION", "LOCK_P", "LOCKED", "LOGGED", "MAPPING",
1485 : "MATCH", "MATERIALIZED", "MAXVALUE", "METHOD", "MINUTE_P", "MINVALUE",
1486 : "MODE", "MONTH_P", "MOVE", "NAME_P", "NAMES", "NATIONAL", "NATURAL",
1487 : "NCHAR", "NEW", "NEXT", "NO", "NONE", "NOT", "NOTHING", "NOTIFY",
1488 : "NOTNULL", "NOWAIT", "NULL_P", "NULLIF", "NULLS_P", "NUMERIC",
1489 : "OBJECT_P", "OF", "OFF", "OFFSET", "OIDS", "OLD", "ON", "ONLY",
1490 : "OPERATOR", "OPTION", "OPTIONS", "OR", "ORDER", "ORDINALITY", "OUT_P",
1491 : "OUTER_P", "OVER", "OVERLAPS", "OVERLAY", "OVERRIDING", "OWNED", "OWNER",
1492 : "PARALLEL", "PARSER", "PARTIAL", "PARTITION", "PASSING", "PASSWORD",
1493 : "PLACING", "PLANS", "POLICY", "POSITION", "PRECEDING", "PRECISION",
1494 : "PRESERVE", "PREPARE", "PREPARED", "PRIMARY", "PRIOR", "PRIVILEGES",
1495 : "PROCEDURAL", "PROCEDURE", "PROGRAM", "PUBLICATION", "QUOTE", "RANGE",
1496 : "READ", "REAL", "REASSIGN", "RECHECK", "RECURSIVE", "REF", "REFERENCES",
1497 : "REFERENCING", "REFRESH", "REINDEX", "RELATIVE_P", "RELEASE", "RENAME",
1498 : "REPEATABLE", "REPLACE", "REPLICA", "RESET", "RESTART", "RESTRICT",
1499 : "RETURNING", "RETURNS", "REVOKE", "RIGHT", "ROLE", "ROLLBACK", "ROLLUP",
1500 : "ROW", "ROWS", "RULE", "SAVEPOINT", "SCHEMA", "SCHEMAS", "SCROLL",
1501 : "SEARCH", "SECOND_P", "SECURITY", "SELECT", "SEQUENCE", "SEQUENCES",
1502 : "SERIALIZABLE", "SERVER", "SESSION", "SESSION_USER", "SET", "SETS",
1503 : "SETOF", "SHARE", "SHOW", "SIMILAR", "SIMPLE", "SKIP", "SMALLINT",
1504 : "SNAPSHOT", "SOME", "SQL_P", "STABLE", "STANDALONE_P", "START",
1505 : "STATEMENT", "STATISTICS", "STDIN", "STDOUT", "STORAGE", "STRICT_P",
1506 : "STRIP_P", "SUBSCRIPTION", "SUBSTRING", "SYMMETRIC", "SYSID", "SYSTEM_P",
1507 : "TABLE", "TABLES", "TABLESAMPLE", "TABLESPACE", "TEMP", "TEMPLATE",
1508 : "TEMPORARY", "TEXT_P", "THEN", "TIME", "TIMESTAMP", "TO", "TRAILING",
1509 : "TRANSACTION", "TRANSFORM", "TREAT", "TRIGGER", "TRIM", "TRUE_P",
1510 : "TRUNCATE", "TRUSTED", "TYPE_P", "TYPES_P", "UNBOUNDED", "UNCOMMITTED",
1511 : "UNENCRYPTED", "UNION", "UNIQUE", "UNKNOWN", "UNLISTEN", "UNLOGGED",
1512 : "UNTIL", "UPDATE", "USER", "USING", "VACUUM", "VALID", "VALIDATE",
1513 : "VALIDATOR", "VALUE_P", "VALUES", "VARCHAR", "VARIADIC", "VARYING",
1514 : "VERBOSE", "VERSION_P", "VIEW", "VIEWS", "VOLATILE", "WHEN", "WHERE",
1515 : "WHITESPACE_P", "WINDOW", "WITH", "WITHIN", "WITHOUT", "WORK", "WRAPPER",
1516 : "WRITE", "XML_P", "XMLATTRIBUTES", "XMLCONCAT", "XMLELEMENT",
1517 : "XMLEXISTS", "XMLFOREST", "XMLNAMESPACES", "XMLPARSE", "XMLPI",
1518 : "XMLROOT", "XMLSERIALIZE", "XMLTABLE", "YEAR_P", "YES_P", "ZONE",
1519 : "NOT_LA", "NULLS_LA", "WITH_LA", "'<'", "'>'", "'='", "POSTFIXOP", "'+'",
1520 : "'-'", "'*'", "'/'", "'%'", "'^'", "UMINUS", "'['", "']'", "'('", "')'",
1521 : "'.'", "';'", "','", "':'", "$accept", "stmtblock", "stmtmulti", "stmt",
1522 : "CreateRoleStmt", "opt_with", "OptRoleList", "AlterOptRoleList",
1523 : "AlterOptRoleElem", "CreateOptRoleElem", "CreateUserStmt",
1524 : "AlterRoleStmt", "opt_in_database", "AlterRoleSetStmt", "DropRoleStmt",
1525 : "CreateGroupStmt", "AlterGroupStmt", "add_drop", "CreateSchemaStmt",
1526 : "OptSchemaName", "OptSchemaEltList", "schema_stmt", "VariableSetStmt",
1527 : "set_rest", "generic_set", "set_rest_more", "var_name", "var_list",
1528 : "var_value", "iso_level", "opt_boolean_or_string", "zone_value",
1529 : "opt_encoding", "NonReservedWord_or_Sconst", "VariableResetStmt",
1530 : "reset_rest", "generic_reset", "SetResetClause",
1531 : "FunctionSetResetClause", "VariableShowStmt", "ConstraintsSetStmt",
1532 : "constraints_set_list", "constraints_set_mode", "CheckPointStmt",
1533 : "DiscardStmt", "AlterTableStmt", "alter_table_cmds", "partition_cmd",
1534 : "alter_table_cmd", "alter_column_default", "opt_drop_behavior",
1535 : "opt_collate_clause", "alter_using", "replica_identity", "reloptions",
1536 : "opt_reloptions", "reloption_list", "reloption_elem",
1537 : "alter_identity_column_option_list", "alter_identity_column_option",
1538 : "ForValues", "partbound_datum", "partbound_datum_list",
1539 : "range_datum_list", "PartitionRangeDatum", "AlterCompositeTypeStmt",
1540 : "alter_type_cmds", "alter_type_cmd", "ClosePortalStmt", "CopyStmt",
1541 : "copy_from", "opt_program", "copy_file_name", "copy_options",
1542 : "copy_opt_list", "copy_opt_item", "opt_binary", "opt_oids",
1543 : "copy_delimiter", "opt_using", "copy_generic_opt_list",
1544 : "copy_generic_opt_elem", "copy_generic_opt_arg",
1545 : "copy_generic_opt_arg_list", "copy_generic_opt_arg_list_item",
1546 : "CreateStmt", "OptTemp", "OptTableElementList",
1547 : "OptTypedTableElementList", "TableElementList", "TypedTableElementList",
1548 : "TableElement", "TypedTableElement", "columnDef", "columnOptions",
1549 : "ColQualList", "ColConstraint", "ColConstraintElem", "generated_when",
1550 : "ConstraintAttr", "TableLikeClause", "TableLikeOptionList",
1551 : "TableLikeOption", "TableConstraint", "ConstraintElem", "opt_no_inherit",
1552 : "opt_column_list", "columnList", "columnElem", "key_match",
1553 : "ExclusionConstraintList", "ExclusionConstraintElem",
1554 : "ExclusionWhereClause", "key_actions", "key_update", "key_delete",
1555 : "key_action", "OptInherit", "OptPartitionSpec", "PartitionSpec",
1556 : "part_strategy", "part_params", "part_elem", "OptWith", "OnCommitOption",
1557 : "OptTableSpace", "OptConsTableSpace", "ExistingIndex", "CreateStatsStmt",
1558 : "CreateAsStmt", "create_as_target", "opt_with_data", "CreateMatViewStmt",
1559 : "create_mv_target", "OptNoLog", "RefreshMatViewStmt", "CreateSeqStmt",
1560 : "AlterSeqStmt", "OptSeqOptList", "OptParenthesizedSeqOptList",
1561 : "SeqOptList", "SeqOptElem", "opt_by", "NumericOnly", "NumericOnly_list",
1562 : "CreatePLangStmt", "opt_trusted", "handler_name", "opt_inline_handler",
1563 : "validator_clause", "opt_validator", "DropPLangStmt", "opt_procedural",
1564 : "CreateTableSpaceStmt", "OptTableSpaceOwner", "DropTableSpaceStmt",
1565 : "CreateExtensionStmt", "create_extension_opt_list",
1566 : "create_extension_opt_item", "AlterExtensionStmt",
1567 : "alter_extension_opt_list", "alter_extension_opt_item",
1568 : "AlterExtensionContentsStmt", "CreateFdwStmt", "fdw_option",
1569 : "fdw_options", "opt_fdw_options", "AlterFdwStmt",
1570 : "create_generic_options", "generic_option_list", "alter_generic_options",
1571 : "alter_generic_option_list", "alter_generic_option_elem",
1572 : "generic_option_elem", "generic_option_name", "generic_option_arg",
1573 : "CreateForeignServerStmt", "opt_type", "foreign_server_version",
1574 : "opt_foreign_server_version", "AlterForeignServerStmt",
1575 : "CreateForeignTableStmt", "AlterForeignTableStmt",
1576 : "ImportForeignSchemaStmt", "import_qualification_type",
1577 : "import_qualification", "CreateUserMappingStmt", "auth_ident",
1578 : "DropUserMappingStmt", "AlterUserMappingStmt", "CreatePolicyStmt",
1579 : "AlterPolicyStmt", "RowSecurityOptionalExpr",
1580 : "RowSecurityOptionalWithCheck", "RowSecurityDefaultToRole",
1581 : "RowSecurityOptionalToRole", "RowSecurityDefaultPermissive",
1582 : "RowSecurityDefaultForCmd", "row_security_cmd", "CreateAmStmt",
1583 : "CreateTrigStmt", "TriggerActionTime", "TriggerEvents",
1584 : "TriggerOneEvent", "TriggerReferencing", "TriggerTransitions",
1585 : "TriggerTransition", "TransitionOldOrNew", "TransitionRowOrTable",
1586 : "TransitionRelName", "TriggerForSpec", "TriggerForOptEach",
1587 : "TriggerForType", "TriggerWhen", "TriggerFuncArgs", "TriggerFuncArg",
1588 : "OptConstrFromTable", "ConstraintAttributeSpec",
1589 : "ConstraintAttributeElem", "CreateEventTrigStmt",
1590 : "event_trigger_when_list", "event_trigger_when_item",
1591 : "event_trigger_value_list", "AlterEventTrigStmt", "enable_trigger",
1592 : "CreateAssertStmt", "DropAssertStmt", "DefineStmt", "definition",
1593 : "def_list", "def_elem", "def_arg", "old_aggr_definition",
1594 : "old_aggr_list", "old_aggr_elem", "opt_enum_val_list", "enum_val_list",
1595 : "AlterEnumStmt", "opt_if_not_exists", "CreateOpClassStmt",
1596 : "opclass_item_list", "opclass_item", "opt_default", "opt_opfamily",
1597 : "opclass_purpose", "opt_recheck", "CreateOpFamilyStmt",
1598 : "AlterOpFamilyStmt", "opclass_drop_list", "opclass_drop",
1599 : "DropOpClassStmt", "DropOpFamilyStmt", "DropOwnedStmt",
1600 : "ReassignOwnedStmt", "DropStmt", "drop_type_any_name", "drop_type_name",
1601 : "drop_type_name_on_any_name", "any_name_list", "any_name", "attrs",
1602 : "type_name_list", "TruncateStmt", "opt_restart_seqs", "CommentStmt",
1603 : "comment_type_any_name", "comment_type_name", "comment_text",
1604 : "SecLabelStmt", "opt_provider", "security_label_type_any_name",
1605 : "security_label_type_name", "security_label", "FetchStmt", "fetch_args",
1606 : "from_in", "opt_from_in", "GrantStmt", "RevokeStmt", "privileges",
1607 : "privilege_list", "privilege", "privilege_target", "grantee_list",
1608 : "grantee", "opt_grant_grant_option", "GrantRoleStmt", "RevokeRoleStmt",
1609 : "opt_grant_admin_option", "opt_granted_by", "AlterDefaultPrivilegesStmt",
1610 : "DefACLOptionList", "DefACLOption", "DefACLAction",
1611 : "defacl_privilege_target", "IndexStmt", "opt_unique", "opt_concurrently",
1612 : "opt_index_name", "access_method_clause", "index_params", "index_elem",
1613 : "opt_collate", "opt_class", "opt_asc_desc", "opt_nulls_order",
1614 : "CreateFunctionStmt", "opt_or_replace", "func_args", "func_args_list",
1615 : "function_with_argtypes_list", "function_with_argtypes",
1616 : "func_args_with_defaults", "func_args_with_defaults_list", "func_arg",
1617 : "arg_class", "param_name", "func_return", "func_type",
1618 : "func_arg_with_default", "aggr_arg", "aggr_args", "aggr_args_list",
1619 : "aggregate_with_argtypes", "aggregate_with_argtypes_list",
1620 : "createfunc_opt_list", "common_func_opt_item", "createfunc_opt_item",
1621 : "func_as", "transform_type_list", "opt_definition", "table_func_column",
1622 : "table_func_column_list", "AlterFunctionStmt", "alterfunc_opt_list",
1623 : "opt_restrict", "RemoveFuncStmt", "RemoveAggrStmt", "RemoveOperStmt",
1624 : "oper_argtypes", "any_operator", "operator_with_argtypes_list",
1625 : "operator_with_argtypes", "DoStmt", "dostmt_opt_list", "dostmt_opt_item",
1626 : "CreateCastStmt", "cast_context", "DropCastStmt", "opt_if_exists",
1627 : "CreateTransformStmt", "transform_element_list", "DropTransformStmt",
1628 : "ReindexStmt", "reindex_target_type", "reindex_target_multitable",
1629 : "reindex_option_list", "reindex_option_elem", "AlterTblSpcStmt",
1630 : "RenameStmt", "opt_column", "opt_set_data", "AlterObjectDependsStmt",
1631 : "AlterObjectSchemaStmt", "AlterOperatorStmt", "operator_def_list",
1632 : "operator_def_elem", "operator_def_arg", "AlterOwnerStmt",
1633 : "CreatePublicationStmt", "opt_publication_for_tables",
1634 : "publication_for_tables", "AlterPublicationStmt",
1635 : "CreateSubscriptionStmt", "publication_name_list",
1636 : "publication_name_item", "AlterSubscriptionStmt", "DropSubscriptionStmt",
1637 : "RuleStmt", "RuleActionList", "RuleActionMulti", "RuleActionStmt",
1638 : "RuleActionStmtOrEmpty", "event", "opt_instead", "NotifyStmt",
1639 : "notify_payload", "ListenStmt", "UnlistenStmt", "TransactionStmt",
1640 : "opt_transaction", "transaction_mode_item", "transaction_mode_list",
1641 : "transaction_mode_list_or_empty", "ViewStmt", "opt_check_option",
1642 : "LoadStmt", "CreatedbStmt", "createdb_opt_list", "createdb_opt_items",
1643 : "createdb_opt_item", "createdb_opt_name", "opt_equal",
1644 : "AlterDatabaseStmt", "AlterDatabaseSetStmt", "DropdbStmt",
1645 : "AlterCollationStmt", "AlterSystemStmt", "CreateDomainStmt",
1646 : "AlterDomainStmt", "opt_as", "AlterTSDictionaryStmt",
1647 : "AlterTSConfigurationStmt", "any_with", "CreateConversionStmt",
1648 : "ClusterStmt", "cluster_index_specification", "VacuumStmt",
1649 : "vacuum_option_list", "vacuum_option_elem", "AnalyzeStmt",
1650 : "analyze_keyword", "opt_verbose", "opt_full", "opt_freeze",
1651 : "opt_name_list", "ExplainStmt", "ExplainableStmt", "explain_option_list",
1652 : "explain_option_elem", "explain_option_name", "explain_option_arg",
1653 : "PrepareStmt", "prep_type_clause", "PreparableStmt", "ExecuteStmt",
1654 : "execute_param_clause", "DeallocateStmt", "InsertStmt", "insert_target",
1655 : "insert_rest", "override_kind", "insert_column_list",
1656 : "insert_column_item", "opt_on_conflict", "opt_conf_expr",
1657 : "returning_clause", "DeleteStmt", "using_clause", "LockStmt", "opt_lock",
1658 : "lock_type", "opt_nowait", "opt_nowait_or_skip", "UpdateStmt",
1659 : "set_clause_list", "set_clause", "set_target", "set_target_list",
1660 : "DeclareCursorStmt", "cursor_name", "cursor_options", "opt_hold",
1661 : "SelectStmt", "select_with_parens", "select_no_parens", "select_clause",
1662 : "simple_select", "with_clause", "cte_list", "common_table_expr",
1663 : "opt_with_clause", "into_clause", "OptTempTableName", "opt_table",
1664 : "all_or_distinct", "distinct_clause", "opt_all_clause",
1665 : "opt_sort_clause", "sort_clause", "sortby_list", "sortby",
1666 : "select_limit", "opt_select_limit", "limit_clause", "offset_clause",
1667 : "select_limit_value", "select_offset_value",
1668 : "opt_select_fetch_first_value", "select_offset_value2", "row_or_rows",
1669 : "first_or_next", "group_clause", "group_by_list", "group_by_item",
1670 : "empty_grouping_set", "rollup_clause", "cube_clause",
1671 : "grouping_sets_clause", "having_clause", "for_locking_clause",
1672 : "opt_for_locking_clause", "for_locking_items", "for_locking_item",
1673 : "for_locking_strength", "locked_rels_list", "values_clause",
1674 : "from_clause", "from_list", "table_ref", "joined_table", "alias_clause",
1675 : "opt_alias_clause", "func_alias_clause", "join_type", "join_outer",
1676 : "join_qual", "relation_expr", "relation_expr_list",
1677 : "relation_expr_opt_alias", "tablesample_clause", "opt_repeatable_clause",
1678 : "func_table", "rowsfrom_item", "rowsfrom_list", "opt_col_def_list",
1679 : "opt_ordinality", "where_clause", "where_or_current_clause",
1680 : "OptTableFuncElementList", "TableFuncElementList", "TableFuncElement",
1681 : "xmltable", "xmltable_column_list", "xmltable_column_el",
1682 : "xmltable_column_option_list", "xmltable_column_option_el",
1683 : "xml_namespace_list", "xml_namespace_el", "Typename", "opt_array_bounds",
1684 : "SimpleTypename", "ConstTypename", "GenericType", "opt_type_modifiers",
1685 : "Numeric", "opt_float", "Bit", "ConstBit", "BitWithLength",
1686 : "BitWithoutLength", "Character", "ConstCharacter", "CharacterWithLength",
1687 : "CharacterWithoutLength", "character", "opt_varying", "ConstDatetime",
1688 : "ConstInterval", "opt_timezone", "opt_interval", "interval_second",
1689 : "a_expr", "b_expr", "c_expr", "func_application", "func_expr",
1690 : "func_expr_windowless", "func_expr_common_subexpr", "xml_root_version",
1691 : "opt_xml_root_standalone", "xml_attributes", "xml_attribute_list",
1692 : "xml_attribute_el", "document_or_content", "xml_whitespace_option",
1693 : "xmlexists_argument", "within_group_clause", "filter_clause",
1694 : "window_clause", "window_definition_list", "window_definition",
1695 : "over_clause", "window_specification", "opt_existing_window_name",
1696 : "opt_partition_clause", "opt_frame_clause", "frame_extent",
1697 : "frame_bound", "row", "explicit_row", "implicit_row", "sub_type",
1698 : "all_Op", "MathOp", "qual_Op", "qual_all_Op", "subquery_Op", "expr_list",
1699 : "func_arg_list", "func_arg_expr", "type_list", "array_expr",
1700 : "array_expr_list", "extract_list", "extract_arg", "overlay_list",
1701 : "overlay_placing", "position_list", "substr_list", "substr_from",
1702 : "substr_for", "trim_list", "in_expr", "case_expr", "when_clause_list",
1703 : "when_clause", "case_default", "case_arg", "columnref", "indirection_el",
1704 : "opt_slice_bound", "indirection", "opt_indirection", "opt_asymmetric",
1705 : "opt_target_list", "target_list", "target_el", "qualified_name_list",
1706 : "qualified_name", "name_list", "name", "database_name", "access_method",
1707 : "attr_name", "index_name", "file_name", "func_name", "AexprConst",
1708 : "Iconst", "Sconst", "SignedIconst", "RoleId", "RoleSpec", "role_list",
1709 : "ColId", "type_function_name", "NonReservedWord", "ColLabel",
1710 : "unreserved_keyword", "col_name_keyword", "type_func_name_keyword",
1711 : "reserved_keyword", YY_NULLPTR
1712 : };
1713 : #endif
1714 :
1715 : # ifdef YYPRINT
1716 : /* YYTOKNUM[NUM] -- (External) token number corresponding to the
1717 : (internal) symbol number NUM (which must be that of a token). */
1718 : static const yytype_uint16 yytoknum[] =
1719 : {
1720 : 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
1721 : 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
1722 : 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1723 : 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
1724 : 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
1725 : 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
1726 : 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
1727 : 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
1728 : 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
1729 : 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
1730 : 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
1731 : 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
1732 : 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
1733 : 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
1734 : 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
1735 : 405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
1736 : 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
1737 : 425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
1738 : 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
1739 : 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
1740 : 455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
1741 : 465, 466, 467, 468, 469, 470, 471, 472, 473, 474,
1742 : 475, 476, 477, 478, 479, 480, 481, 482, 483, 484,
1743 : 485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
1744 : 495, 496, 497, 498, 499, 500, 501, 502, 503, 504,
1745 : 505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
1746 : 515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
1747 : 525, 526, 527, 528, 529, 530, 531, 532, 533, 534,
1748 : 535, 536, 537, 538, 539, 540, 541, 542, 543, 544,
1749 : 545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
1750 : 555, 556, 557, 558, 559, 560, 561, 562, 563, 564,
1751 : 565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
1752 : 575, 576, 577, 578, 579, 580, 581, 582, 583, 584,
1753 : 585, 586, 587, 588, 589, 590, 591, 592, 593, 594,
1754 : 595, 596, 597, 598, 599, 600, 601, 602, 603, 604,
1755 : 605, 606, 607, 608, 609, 610, 611, 612, 613, 614,
1756 : 615, 616, 617, 618, 619, 620, 621, 622, 623, 624,
1757 : 625, 626, 627, 628, 629, 630, 631, 632, 633, 634,
1758 : 635, 636, 637, 638, 639, 640, 641, 642, 643, 644,
1759 : 645, 646, 647, 648, 649, 650, 651, 652, 653, 654,
1760 : 655, 656, 657, 658, 659, 660, 661, 662, 663, 664,
1761 : 665, 666, 667, 668, 669, 670, 671, 672, 673, 674,
1762 : 675, 676, 677, 678, 679, 680, 681, 682, 683, 684,
1763 : 685, 686, 687, 688, 689, 690, 691, 692, 693, 694,
1764 : 695, 696, 697, 698, 699, 700, 701, 702, 703, 704,
1765 : 705, 706, 707, 60, 62, 61, 708, 43, 45, 42,
1766 : 47, 37, 94, 709, 91, 93, 40, 41, 46, 59,
1767 : 44, 58
1768 : };
1769 : # endif
1770 :
1771 : #define YYPACT_NINF -4744
1772 :
1773 : #define yypact_value_is_default(Yystate) \
1774 : (!!((Yystate) == (-4744)))
1775 :
1776 : #define YYTABLE_NINF -2564
1777 :
1778 : #define yytable_value_is_error(Yytable_value) \
1779 : (!!((Yytable_value) == (-2564)))
1780 :
1781 : /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1782 : STATE-NUM. */
1783 : static const int yypact[] =
1784 : {
1785 : 6375, 24, 10611, -4744, -4744, 24, -4744, 65135, 11, 830,
1786 : 63, 164, 17402, 65582, 72287, 688, 302, 16275, 24, 72287,
1787 : 2587, 49937, 62006, 765, 72287, 467, 705, 49937, 72287, 72734,
1788 : 849, 957, 146, 73181, 66029, 60665, 574, 72287, 1027, 362,
1789 : 73628, 66476, 966, 66923, 705, 46389, 141, 961, 74075, 72287,
1790 : 1481, 1554, 1093, -4744, -4744, -4744, -4744, -4744, -4744, -4744,
1791 : -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744,
1792 : -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744,
1793 : -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744,
1794 : -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744,
1795 : -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744,
1796 : -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744,
1797 : -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744,
1798 : -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744,
1799 : -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744,
1800 : -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744,
1801 : -4744, -4744, -4744, -4744, -4744, -4744, -4744, 11, -4744, -4744,
1802 : -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, 2027, -4744,
1803 : 145, 2278, 1383, 680, 1161, -4744, -4744, -4744, 58430, 72287,
1804 : 72287, 72287, 1349, 72287, 1269, 72287, 219, 58430, 54407, 67370,
1805 : 1456, 1374, 42807, 74522, -4744, 72287, 52619, 72287, 72287, 74969,
1806 : 72287, 72287, 72287, 1409, 63347, 72287, 1496, 72287, 72287, 53066,
1807 : 75416, 1553, 1528, -4744, -4744, -4744, -4744, -4744, -4744, -4744,
1808 : -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744,
1809 : -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744,
1810 : -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744,
1811 : -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744,
1812 : -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744,
1813 : -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744,
1814 : -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744,
1815 : -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744,
1816 : -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744,
1817 : -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744,
1818 : -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744,
1819 : -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744,
1820 : -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744,
1821 : -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744,
1822 : -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744,
1823 : -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744,
1824 : -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744,
1825 : -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744,
1826 : -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744,
1827 : -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744,
1828 : -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744,
1829 : -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744,
1830 : -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744,
1831 : -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744,
1832 : -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744,
1833 : -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744,
1834 : -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744,
1835 : -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744,
1836 : -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744,
1837 : -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744,
1838 : -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744,
1839 : -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744,
1840 : -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744,
1841 : -4744, -4744, -4744, 72287, 11527, 467, -4744, -4744, 1481, 72287,
1842 : 1643, 58430, 72287, 1507, 75863, 1524, 72287, -4744, 72287, 1596,
1843 : 76310, 436, 920, 54407, 1735, 43255, 1708, 72287, 72287, 54407,
1844 : 76757, 77204, 77651, 72287, 72287, -4744, -4744, 1703, 72287, 72287,
1845 : -4744, 1814, 54854, 1332, 1856, 1968, 1920, 947, -4744, 67817,
1846 : -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, 57536, 302,
1847 : -4744, -4744, 1883, 58877, 72287, 1945, -4744, -4744, 78098, 93226,
1848 : 1759, -4744, 450, 59324, 55301, 2080, 1738, 43703, 2119, -4744,
1849 : -4744, 55748, -4744, -4744, -4744, -4744, -4744, 78545, -4744, 78992,
1850 : 1827, 1945, -4744, 93659, 56195, -4744, 1973, 79439, 79886, 80333,
1851 : -4744, 1730, 1440, 894, 38751, -4744, -4744, -4744, 11, -4744,
1852 : -4744, -4744, -4744, -4744, -4744, -4744, -4744, 189, 1697, 209,
1853 : 200, 233, -4744, -4744, 201, 215, 216, 189, 2191, 2191,
1854 : -4744, 72287, -4744, -4744, 1697, 53, 1746, 1746, 1746, 1947,
1855 : -6, -4744, 1746, 1884, -4744, -4744, -4744, -4744, 66923, -4744,
1856 : 1749, 467, 1766, 2183, 1822, -4744, -4744, -4744, -4744, -4744,
1857 : 1834, 72287, 72287, 72287, -4744, -4744, 2205, 1826, 2058, 1808,
1858 : -4744, -4744, -4744, 2018, 2019, 2025, 122, 467, 1913, -4744,
1859 : 2147, -4744, 2051, 27306, 27306, 467, 68264, 80780, 188, 57536,
1860 : 467, 68711, 1886, 1096, 2067, -4744, -4744, -4744, 706, -4744,
1861 : 2298, 1896, 2153, 1808, 1528, 40100, -4744, 1895, 1556, 66923,
1862 : -4744, -4744, -4744, 338, 2214, 29162, 72287, 1910, -4744, 1918,
1863 : 1910, 1923, 1937, 1383, -4744, 6375, 72287, 1227, 1227, 2332,
1864 : 1227, 227, 1499, -4744, 2324, -4744, 2249, 2193, 66923, 1962,
1865 : 226, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744,
1866 : -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744,
1867 : -4744, -4744, -4744, -4744, 1369, 1974, 1556, -4744, 232, -4744,
1868 : 1678, 1994, 1673, 2507, -4744, -4744, 677, 72287, 225, 2050,
1869 : 69158, 4903, 2021, 1556, 2022, -4744, -4744, -4744, 2179, 376,
1870 : -4744, -4744, -4744, -4744, 2318, 2384, 9123, 306, 69605, -4744,
1871 : -4744, -4744, -4744, 72287, 72287, -4744, -4744, -4744, -4744, -4744,
1872 : -4744, -4744, -4744, -4744, 2068, 623, -4744, -4744, 2076, 2390,
1873 : 2291, 900, 2389, 2268, 1218, 2319, 1334, 2447, 7211, 1364,
1874 : 1691, 1426, 70052, 72287, 2408, 2454, 6809, 1590, 206, 2371,
1875 : 892, 2389, 2458, 2302, 1218, 2504, 2837, 72287, -4744, 2430,
1876 : 2541, 77, -4744, 240, -4744, 2245, 2396, 732, 2420, 58430,
1877 : 2201, -4744, -4744, 72287, -4744, -4744, 94092, 2282, -4744, 487,
1878 : 58430, -4744, 2415, 2261, 44151, 72287, -4744, -4744, 72287, -4744,
1879 : -4744, -4744, -4744, -4744, -4744, -4744, 2351, 2527, 72287, 94092,
1880 : -4744, 2483, 72287, 72287, -4744, 2229, -4744, -4744, -4744, -4744,
1881 : 1746, 72287, 2243, 2636, 94092, 2469, 120, 72287, 1469, 2687,
1882 : 72287, 2478, 1469, 2312, 81227, -4744, -4744, 1469, -4744, -4744,
1883 : -4744, 72287, 72287, 2280, 1087, 2486, 2597, 1469, 2512, 2715,
1884 : 2729, 2534, 2381, 2535, 1918, 2709, 2513, 951, 841, 175,
1885 : 1478, 1469, 2377, 81674, 82121, 72287, 2404, 72287, 2749, 58430,
1886 : 72287, 2675, -4744, 2542, -4744, -4744, 1236, -4744, -4744, -4744,
1887 : -4744, -4744, 2696, -4744, 147, 489, 2699, 2379, 2701, -4744,
1888 : -4744, -4744, 2429, -4744, 2429, 2429, 2385, 2385, 2557, 2387,
1889 : 2713, -4744, -4744, -4744, 1398, 2429, 2385, -4744, 94958, -4744,
1890 : 1519, 1545, -4744, 152, -4744, 2826, -4744, -4744, -4744, -4744,
1891 : -4744, -4744, -4744, -4744, 2398, -4744, 197, 1462, -4744, -4744,
1892 : 2433, -4744, 2730, 180, -4744, 2732, -4744, 2410, 82568, -4744,
1893 : 83015, 83462, 2738, 211, -4744, 54407, 2739, 2410, 2742, 489,
1894 : 2744, -4744, 984, 2733, 2746, 152, 2747, 1805, 2410, 57983,
1895 : 2748, 224, -4744, 2750, 273, -4744, 2751, 2641, 29162, -4744,
1896 : 2526, -4744, 961, -4744, 1635, -4744, 49043, -4744, 894, 1697,
1897 : -4744, 72287, 1697, 72287, 1697, 72287, 1697, 72287, 1697, 72287,
1898 : 72287, 72287, 1697, -4744, -4744, -4744, 72287, 2442, 72287, 72287,
1899 : -4744, -4744, -4744, 62453, 54407, 62900, -4744, 72287, -4744, 332,
1900 : 467, -4744, -4744, 94092, 2875, 54407, 2749, -4744, 1676, -4744,
1901 : -4744, -4744, -4744, -4744, -4744, 2691, 72287, 2756, 2757, 62453,
1902 : 54407, -4744, 83909, 57536, 2658, 2460, -4744, -4744, -4744, -4744,
1903 : -4744, 1764, 2922, 202, 2923, 29162, 2464, 202, 202, 2472,
1904 : 2776, -4744, -4744, -4744, 259, 2474, 2477, -4744, 217, 217,
1905 : -4744, 2479, 2480, -4744, 220, 2481, 2484, 2930, 2944, 239,
1906 : 2485, 2488, 2489, 1398, 202, 29162, -4744, 2491, 217, 2492,
1907 : 2493, 2495, 2960, 2500, -4744, 2963, 2503, 207, 295, 2506,
1908 : 2508, -4744, 2479, -4744, 243, 2519, 2520, 2525, 2528, 2530,
1909 : 2531, 2532, 2533, 29162, 29162, 29162, -4744, 25914, 1556, 467,
1910 : -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, 245, 6710,
1911 : -4744, 2543, -4744, -4744, 2711, -4744, -4744, 29162, -4744, -4744,
1912 : 339, -4744, 250, -4744, -4744, -4744, 1556, 2797, 2536, -4744,
1913 : -4744, 1296, 2538, -4744, 1821, -4744, -4744, -4744, -4744, -4744,
1914 : -4744, 56642, 2967, -4744, 309, 467, 240, 1343, 2910, 48149,
1915 : 48596, -4744, -4744, 2789, -4744, 72287, -4744, -4744, 29162, 45942,
1916 : -4744, 1556, 131, -4744, -4744, -4744, -4744, 1680, -4744, -4744,
1917 : -4744, 11, 15782, 1734, 1910, 72287, 72287, 2975, -4744, -4744,
1918 : -4744, 1918, -4744, -4744, 1383, 1383, 29162, 1383, 237, 1213,
1919 : 27770, 29162, 2854, 2752, 777, 244, 2855, -4744, 2758, 227,
1920 : 1499, 66923, 72287, 84356, 2664, 29162, 2633, 2639, 2694, 47283,
1921 : -4744, 1556, 2646, 2613, 2648, 2700, 50831, 2569, 2654, 2656,
1922 : 2708, -4744, 2823, -4744, -4744, 2659, 2660, 84803, -4744, -4744,
1923 : 775, -4744, -4744, -4744, 775, -4744, 2593, 1159, 223, 262,
1924 : 2672, 382, 1055, 2968, -4744, 1197, -4744, -4744, 2725, -4744,
1925 : 5398, 72287, 2918, 7889, 2798, 306, 2799, 2731, -4744, -4744,
1926 : 2849, 2683, 72287, 2686, 2824, 306, 274, 85250, -4744, -4744,
1927 : -4744, -4744, -4744, -4744, 4546, 25047, -4744, 1401, 2695, 2678,
1928 : 2702, 72287, 59771, 1650, 2818, 2825, 1361, 1795, 535, 2761,
1929 : 72287, 257, 2828, 72287, 2624, 2707, 2710, 2921, 2634, 1137,
1930 : 3019, 2638, -4744, -4744, -4744, 2012, 2047, 2831, -4744, 2919,
1931 : 2969, 9761, 2703, 2706, 91927, -4744, 2734, 31, 44599, 72287,
1932 : 72287, 2743, 2753, 2735, 2736, 522, 3015, 1441, 2737, -4744,
1933 : -4744, -4744, 1441, 72287, 2741, 2745, 72287, 94958, 306, -4744,
1934 : 3072, 306, 306, 1668, 3073, 2754, 347, 2888, 1095, 1469,
1935 : 2638, 1860, -4744, 2755, 2759, 288, -4744, 2863, 2762, 2763,
1936 : 2801, 467, -4744, -4744, 2765, 2832, 2766, 923, -4744, -4744,
1937 : 1045, 2760, 66923, 2853, 2858, 247, 1520, 2638, -4744, 2769,
1938 : 2770, 2634, 2634, 72287, 72287, 72287, 72287, 72287, 181, 3092,
1939 : 3098, 2773, 212, 2808, 2692, -4744, 1441, 53513, 2774, -4744,
1940 : 1441, 72287, 2780, 1588, 2638, 1363, 105, -4744, -4744, -4744,
1941 : 1528, -4744, 72287, -4744, 72287, -4744, 2942, 94092, 2903, 2964,
1942 : -4744, 2740, -4744, 2965, 306, -4744, 72287, 72287, 2971, 2908,
1943 : 2909, 1066, 94092, 2914, 2976, -4744, 2978, 2982, 2794, 2768,
1944 : 2793, 47716, -4744, 2280, 2726, 3156, 3053, 72287, 50831, -4744,
1945 : 3175, 775, -4744, 94092, 2935, 3057, -4744, 72287, 2953, 542,
1946 : -4744, 3094, 2796, -4744, -4744, 567, 72287, 235, 2778, -4744,
1947 : -4744, 3063, 54407, 313, 3068, 467, 2800, 3069, 2949, 467,
1948 : 54407, 2990, 72287, 72287, 72287, 72287, -4744, -4744, 2961, 933,
1949 : 123, -4744, 53513, 2973, -4744, 72287, 2977, 1860, 2979, 3191,
1950 : 58, 1746, 85697, 3075, -4744, 86144, 2767, 3199, 94092, 3024,
1951 : -4744, 1851, -4744, 2900, -4744, 58430, -4744, -4744, 58430, -4744,
1952 : -4744, -4744, 94092, 72287, -4744, 2777, -4744, -4744, 29162, -4744,
1953 : -4744, -4744, 2191, -4744, 94092, 2429, 2429, -4744, -4744, 3205,
1954 : 2860, 2861, 2191, -4744, 2191, -4744, 94092, -4744, 2783, 2784,
1955 : 2191, 2865, 2866, 2867, -4744, 2790, 2868, 2191, -4744, -4744,
1956 : 1853, -4744, -4744, 58430, 58430, -4744, 54407, 54407, 3095, 224,
1957 : 3113, 2850, 3114, 2851, 44599, 44599, -4744, 286, 54407, 72287,
1958 : -4744, 72287, -4744, -4744, -4744, -4744, 94092, 94092, -4744, 54407,
1959 : 53513, 3117, 3118, 489, 72287, 72287, -4744, 72287, 72287, -4744,
1960 : 72287, 72287, 1739, 86591, 894, 57089, -4744, -4744, -4744, -4744,
1961 : -4744, -4744, -4744, -4744, 72287, -4744, 72287, -4744, 72287, -4744,
1962 : 72287, -4744, 72287, -4744, -4744, -4744, 72287, -4744, 72287, 1740,
1963 : -4744, -4744, 1773, 658, 72287, 72287, 406, 58430, 72287, 3004,
1964 : 72287, 72287, 72287, 72287, 72287, 2878, 2538, 0, -4744, 754,
1965 : 438, 66923, 3011, -4744, -4744, 1785, 1481, 22, 72287, 856,
1966 : 1834, -4744, -4744, 62900, 62006, 3109, 93, 72287, -4744, -4744,
1967 : 5659, 29162, 1556, 26842, -4744, -4744, 15782, 2848, 29162, 29162,
1968 : 2809, 2191, 2191, -4744, 842, 29162, 29162, 29162, 2191, 2191,
1969 : 10152, 29162, 44599, 29162, 33338, 23217, 29162, 29162, 26378, -4744,
1970 : 29162, 3034, 34260, 29162, 1343, 3037, 29162, 1343, 10152, 3269,
1971 : 3269, 1685, 6866, 2811, 1556, -4744, 2191, 815, -4744, 328,
1972 : 94092, 29162, 29162, 29162, 29162, 50831, 2897, 242, 72287, 29162,
1973 : 2817, 1286, -4744, 29162, -4744, 2819, 29162, 2899, 825, 29162,
1974 : 29162, 29162, 29162, 29162, 29162, 29162, 29162, 29162, -4744, 35607,
1975 : 400, 3119, 3136, 34, 372, 70499, 27306, 3130, 22287, -4744,
1976 : 251, 3130, -4744, -4744, -4744, 72287, 2967, -4744, -4744, 2911,
1977 : -4744, -4744, -4744, -4744, -4744, 261, -4744, -4744, -4744, -4744,
1978 : -4744, -4744, -4744, 2829, -4744, -4744, -4744, -4744, 2829, -4744,
1979 : 2834, 11011, 2827, -4744, -4744, -4744, -4744, -4744, -4744, -4744,
1980 : -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744,
1981 : -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744,
1982 : -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744,
1983 : -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744,
1984 : -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744,
1985 : -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744,
1986 : -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744,
1987 : -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, 3125,
1988 : 3126, 489, 72287, 338, 63794, -4744, 29162, -4744, 1789, 2840,
1989 : -4744, 3105, -4744, 2838, -4744, 10073, 3105, -4744, -4744, 280,
1990 : 2962, 3103, 3049, -4744, -4744, -4744, 2847, 15782, -4744, 1397,
1991 : 15782, 1803, -4744, -4744, -4744, -4744, -4744, -4744, 1256, -4744,
1992 : 72287, 138, 2854, 244, 2912, 932, 3283, 72287, -4744, 40549,
1993 : 1798, 54407, 72287, 72287, 3045, -4744, 3267, -4744, 94958, -4744,
1994 : 2857, -4744, 94525, 90614, -4744, -4744, 978, -4744, 926, 54407,
1995 : -4744, 72287, 72287, -4744, 50831, 54407, 72287, 72287, -4744, 54407,
1996 : 72287, 72287, -4744, -4744, -4744, -4744, -4744, 49490, 581, 62006,
1997 : 2985, 61112, -4744, -4744, 2859, 72287, 2917, 3120, 3121, -3,
1998 : -4744, -4744, 87038, -4744, 3076, 54407, 72287, 72287, 29162, 3077,
1999 : 72287, 72287, -4744, 311, 2941, 2948, -4744, 72287, 2951, 3093,
2000 : 58430, 2873, 72287, 72287, 94092, 2952, 696, 58430, 2924, 45047,
2001 : 72287, 72287, 72287, 72287, 3001, 3186, 94092, 72287, 3133, 1239,
2002 : 66923, 195, 1608, 2638, 3091, -4744, 3202, 1216, -4744, 54407,
2003 : -4744, 72287, 3084, -4744, -4744, -4744, 70946, 3309, 2997, -4744,
2004 : -4744, 87485, -4744, -4744, -4744, 1831, -4744, 54407, 54407, 72287,
2005 : 11003, 87932, 9, 3106, -4744, -4744, 94092, -4744, 72287, 72287,
2006 : 72287, 3209, 3138, 72287, 64241, 88379, 88826, 930, 1235, 3139,
2007 : 72287, 64688, 3140, -4744, 3030, 72287, -4744, -4744, 51278, 54407,
2008 : 72287, 760, 50831, -4744, -4744, 72287, -4744, 3099, 816, -4744,
2009 : 72287, 6159, -4744, -4744, 2980, 2991, 72287, 3107, 386, 1710,
2010 : 2638, 72287, 72287, 2894, 1835, 54407, 72287, 50831, -4744, 3108,
2011 : 993, 66923, 66923, 54407, 72287, 66923, -4744, 72287, 80780, -4744,
2012 : 54407, 912, -4744, 3054, 54407, 72287, 12911, -4744, -4744, -4744,
2013 : 306, -4744, -4744, -4744, -4744, -4744, 72287, 72287, 306, 72287,
2014 : 72287, 306, 1450, -4744, 54407, 72287, -4744, -4744, -4744, 54407,
2015 : 72287, 72287, -4744, 54407, 2778, 72287, 50831, -4744, 72287, 8706,
2016 : 72287, 72287, 72287, 72287, 72287, 72287, 54407, 72287, -4744, -4744,
2017 : 909, 948, 991, 1017, 198, 72287, 3198, 72287, 89273, 54407,
2018 : 72287, 72287, 467, 72287, 1476, -4744, -4744, 3032, -4744, 54407,
2019 : 912, -4744, 11411, 72287, 72287, 2992, 2994, 160, 3074, -4744,
2020 : -4744, -4744, -4744, -4744, -4744, 839, 3347, 89720, 839, -4744,
2021 : 839, 3178, 2983, 2984, 839, 72287, 72287, -4744, -4744, -4744,
2022 : -4744, 3174, 72287, 839, 839, 839, 3085, 3124, 136, 3201,
2023 : 2940, 1839, -4744, -4744, 29162, 94092, 72287, -4744, 1844, -4744,
2024 : 2945, 933, -4744, -4744, 50831, 72287, 324, 1024, 3245, 3135,
2025 : 60218, 1113, 3240, 72287, 2989, 72287, 3364, 3025, 66923, 2280,
2026 : -4744, 1113, 72287, -4744, 2125, 62006, -4744, -4744, -4744, -4744,
2027 : -4744, -4744, -4744, 72287, -4744, -4744, 3242, 72287, 29162, 3101,
2028 : -4744, 467, 2280, 2280, 2280, 2280, -4744, -4744, -4744, -4744,
2029 : 3144, 1791, -4744, 2947, 2280, 72287, 3070, 3273, 1113, 2954,
2030 : 3274, -4744, 1860, 3276, 649, 72287, 3153, 60218, 1881, 2995,
2031 : 3171, 3390, 1746, 467, 3177, 3164, -4744, 25480, 6076, 3166,
2032 : 3221, 57536, 3259, 3263, 3285, -4744, 147, -4744, 3405, -4744,
2033 : 29162, 1858, 2981, 152, -4744, -4744, 2986, 2784, 2996, 2998,
2034 : 2988, 3002, -4744, 2191, 196, 3003, 1274, 656, 3104, 2191,
2035 : 3203, 3005, -4744, 180, -4744, 2410, -4744, 72287, -4744, 72287,
2036 : 72287, 72287, 72287, 211, -4744, -4744, 2410, 489, -4744, 3234,
2037 : 152, 2410, 3110, 3292, 57536, -4744, 224, -4744, 273, -4744,
2038 : 3192, 489, -4744, 3206, 1746, -4744, -4744, -4744, -4744, -4744,
2039 : -4744, -4744, -4744, 1859, -4744, 72287, -4744, 3277, 3288, 3290,
2040 : 3007, 3008, 3043, 72287, 3010, 3007, 306, 3007, 2538, 2538,
2041 : 3007, 3008, 53960, 3429, 3315, -4744, 3100, 3020, 3326, 184,
2042 : -4744, 190, 1220, 3253, -4744, -4744, -4744, -4744, 94092, -4744,
2043 : 54407, 3065, 72287, 72287, -4744, 128, 3229, 3026, 53960, 3444,
2044 : 489, -4744, 58430, -4744, -4744, 94092, 3111, 3122, 58430, 3239,
2045 : 3082, -4744, -4744, -4744, -4744, -4744, -4744, -4744, 94092, -4744,
2046 : 3295, 72287, 72287, 1876, -4744, -4744, 1616, -4744, 1662, 29162,
2047 : 133, -4744, 12295, 1893, 29162, 3041, 3046, -4744, -4744, -4744,
2048 : -4744, -4744, -4744, -4744, 3047, 3354, -4744, 1898, 1902, 1904,
2049 : 3050, 3051, 3294, 3052, 13630, 3055, 3058, 33338, 33338, 25914,
2050 : 2307, -4744, 33338, 3056, 3243, 1906, 11105, 3060, 3067, 12663,
2051 : 28234, 29162, 28234, 28234, 13687, 3060, 3079, 1919, 50831, 3235,
2052 : 14463, 1925, -4744, 29162, 50831, 5714, 29162, -4744, 29162, 3080,
2053 : -4744, -4744, 4045, 4045, 4045, 10152, -4744, 3078, -4744, 33338,
2054 : 33338, -4744, 2617, 25914, -4744, -4744, 3363, -4744, -4744, 1290,
2055 : -4744, 3066, -4744, -4744, 3783, 44599, 9664, 29162, 269, 29162,
2056 : 2817, 29162, 3154, 4045, 4045, 4045, 359, 359, 203, 203,
2057 : 203, 1935, 372, -4744, -4744, -4744, 3086, 3087, 3088, 3264,
2058 : 3089, 29162, -4744, 2064, 2081, 72287, 4454, 5428, 6211, -4744,
2059 : -4744, -4744, 36506, 3131, 29162, 29162, 29162, 3096, -4744, 2117,
2060 : 15782, 563, -4744, 264, 3131, -4744, 1528, 2191, 815, 49043,
2061 : -4744, -4744, 29162, -4744, -4744, -4744, 1918, -4744, -4744, -4744,
2062 : 15782, -4744, 1481, 29162, -4744, -4744, 917, 3116, 29162, 1397,
2063 : -4744, -4744, 3148, -4744, 29162, -4744, -4744, -4744, 2538, -4744,
2064 : 3313, -4744, -4744, -4744, 36506, 3132, 3128, 964, 39650, 3298,
2065 : -4744, 72287, -4744, 72287, 135, -4744, 3115, -4744, -4744, -4744,
2066 : -4744, -4744, -4744, 90614, 1462, -4744, 94525, -4744, 94525, -4744,
2067 : 1462, 3507, -4744, 90614, 1707, -4744, -4744, -4744, -4744, -4744,
2068 : -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, 54407, 54407,
2069 : 3302, 72287, 3303, 3307, 29162, 827, 72287, 3112, 3123, 498,
2070 : 3373, 72287, -4744, 3430, 489, -4744, -4744, 3187, -4744, 15782,
2071 : -4744, -4744, -4744, -4744, -4744, 54407, 72287, -4744, 57536, -4744,
2072 : 72287, -4744, 94092, -4744, -4744, -4744, 72287, 3143, 72287, -4744,
2073 : 72287, 72287, 72287, -4744, -4744, -4744, -4744, -4744, 1100, 94092,
2074 : -4744, -4744, 72287, 72287, 673, 3190, 3194, 72287, -4744, 772,
2075 : 2863, 11455, 72287, 72287, 72287, 3383, 72287, -4744, -4744, -4744,
2076 : -4744, 3327, -4744, -4744, 90614, -4744, 2410, 1145, 3195, 2638,
2077 : 3333, -4744, 3440, 3318, -4744, 1150, -4744, 72287, 3249, -4744,
2078 : -4744, -4744, -4744, 3446, 489, 3447, 489, 72287, 72287, 72287,
2079 : 72287, 3252, -4744, -4744, -4744, -4744, 3254, 3374, -4744, 50831,
2080 : 50831, 50831, 1931, -4744, -4744, 467, -4744, -4744, -4744, -4744,
2081 : -4744, -4744, 3408, -4744, 1938, -4744, -32, -4744, -4744, -4744,
2082 : -4744, -4744, -4744, 54407, 72287, 11806, 3450, 72287, 72287, 72287,
2083 : 1700, -4744, 1077, 94092, -4744, 92360, -4744, -4744, 1939, -4744,
2084 : 3145, 72287, 3211, 54407, 3189, 3137, 3137, -4744, -4744, 3137,
2085 : -4744, -4744, -4744, 3379, 3316, -4744, 871, 3319, 54407, 3210,
2086 : -4744, 3215, -4744, -4744, 3218, 1854, 2638, 1860, -4744, -4744,
2087 : -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744,
2088 : -4744, -4744, -4744, 1373, -4744, -4744, 1237, 319, 1866, 2638,
2089 : -4744, 3452, -4744, 3223, -4744, 3225, -4744, -4744, -4744, 3381,
2090 : 3387, 3388, 3238, 3244, 3291, 3246, 3247, 3293, -4744, 3248,
2091 : 3296, 3251, 3300, 3360, 3255, 489, 94092, 3389, 467, 3281,
2092 : 3496, 489, -4744, 3256, -4744, 3260, -4744, 3597, -4744, 72287,
2093 : -4744, 3262, 2020, 2638, -4744, -4744, 54407, 72287, -4744, -4744,
2094 : -4744, -4744, -4744, -4744, 94092, 72287, 3445, -4744, -4744, 839,
2095 : 72287, 72287, -4744, 3449, 3451, 72287, 3453, -4744, -4744, -4744,
2096 : -4744, 270, -4744, -4744, -4744, 3085, 3473, 41899, -4744, 3649,
2097 : 6933, 3193, 305, -4744, 50831, 41899, 1828, 1930, 132, 1469,
2098 : -4744, 57536, 72287, 57536, -4744, 1024, 3318, 72287, 72287, 72287,
2099 : 3196, 3183, -4744, -4744, -4744, -4744, 54407, 1053, 54407, 2191,
2100 : -4744, -4744, 3261, -4744, 72287, 1746, 3659, 3508, -4744, 3137,
2101 : -4744, 3623, 2729, 313, 3350, 1501, 2381, 3563, 1918, 139,
2102 : 50831, 2995, -4744, -4744, -4744, -4744, 72287, 72287, 933, 467,
2103 : -4744, 3216, 3207, -4744, 72287, 3515, 72287, 72287, 72287, 72287,
2104 : 3065, 3219, 72287, 3217, 94092, 52, 3418, 3424, 2634, 3656,
2105 : 3547, 1481, 2995, 3306, 3549, 72287, -4744, 1943, 110, -4744,
2106 : 467, 57536, 91494, 3538, -4744, 5764, -4744, -4744, 1014, 72287,
2107 : 3523, -4744, -4744, 1481, -4744, 94092, 1949, -4744, -4744, -4744,
2108 : 2191, -4744, -4744, 1584, 1584, 3232, -4744, 3233, -4744, -4744,
2109 : -4744, -4744, -4744, -4744, -4744, 3236, -4744, -4744, -4744, 224,
2110 : 3297, 489, 3299, 489, -4744, -4744, 72287, -4744, 72287, 53513,
2111 : 489, -4744, -4744, 72287, -4744, 3556, -4744, -4744, 3370, 3372,
2112 : 3375, 72287, 3007, -4744, 3250, 54407, 1416, -4744, -4744, 3441,
2113 : -4744, -4744, 66923, 3367, -4744, -4744, -4744, -4744, 3571, 3574,
2114 : -4744, -4744, -4744, 858, -4744, -4744, -4744, 54407, 62453, 290,
2115 : 54407, -4744, 3512, 3516, -4744, -4744, 3517, 306, -4744, 3518,
2116 : -4744, 3519, 3520, -4744, -4744, -4744, 3257, 15184, 29162, -4744,
2117 : 3591, 94092, -4744, 6976, -4744, -4744, -4744, 29162, -4744, -4744,
2118 : -4744, -4744, -4744, 29162, -4744, 29162, 3567, -4744, 23682, 3719,
2119 : 3719, 3266, 94092, 33338, 33338, 33338, 33338, 1168, 2492, 33338,
2120 : 33338, 33338, 33338, 33338, 33338, 33338, 33338, 33338, 33802, 393,
2121 : -4744, 3455, 29162, 29162, 3577, 3567, -4744, 94092, 3271, 3060,
2122 : 3272, 3278, 29162, -4744, -4744, 1967, 34709, 3279, 50831, -4744,
2123 : 29162, 11679, 2000, 3320, 15547, 1556, 7548, 467, 29162, 2522,
2124 : 3006, 29162, 2008, 29162, 3581, -4744, -4744, -4744, 3301, -4744,
2125 : -4744, 94092, 29162, 3310, 4070, 33338, 33338, 4180, -4744, 4613,
2126 : 29162, 25914, -4744, 3486, 3334, 40998, -4744, 24147, 3289, 705,
2127 : 705, 705, 705, -4744, 72287, 72287, 72287, 36955, 3601, 3308,
2128 : 36056, 71393, 3311, 1547, -4744, 71393, 71840, 71393, -4744, 3314,
2129 : -4744, 3312, 1556, 29162, 3594, 624, 624, 3486, -4744, 29162,
2130 : 29162, 28698, 3317, -4744, 3594, 240, 3323, -4744, -4744, 15782,
2131 : 3304, -4744, 3325, -4744, 3321, -4744, 3116, 1532, -4744, 7582,
2132 : 3509, -4744, -4744, -4744, 3311, 29626, 3454, -4744, -4744, -4744,
2133 : 3365, 2023, -4744, -4744, 3701, 3454, -4744, -4744, 2028, 40549,
2134 : 3132, 29162, 1556, 2032, 1813, -4744, -4744, 90614, -4744, 3386,
2135 : 2410, 2410, 1503, 3007, 3628, 1503, 7660, -4744, -4744, 37404,
2136 : 72287, 72287, -4744, 72287, 2034, 1428, 72287, -4744, 72287, -4744,
2137 : -4744, -4744, -4744, 3751, -4744, 72287, -4744, -4744, 3385, 3391,
2138 : 72287, 72287, 72287, 72287, 3584, -4744, -4744, 1994, -4744, -4744,
2139 : 54407, 72287, -4744, -4744, -4744, 404, 2558, 2638, -4744, 3406,
2140 : -4744, -4744, -4744, 3602, -4744, 3744, 3421, 72287, 3658, 72287,
2141 : 3339, -4744, 1428, 3640, 1240, 2634, 347, 4900, -4744, 1294,
2142 : -4744, -4744, 3412, -4744, -4744, 72287, -4744, 72287, -4744, -4744,
2143 : -4744, -4744, -4744, -4744, -4744, 3470, -4744, -4744, -4744, -4744,
2144 : 51278, -4744, -4744, 72287, -4744, 50831, 41899, 50831, -4744, 1270,
2145 : 411, 2626, 2638, 72287, -4744, 3425, -4744, 3427, 3428, 3480,
2146 : 650, 739, 3431, 3435, 3490, 3368, 3369, 3371, -4744, 50831,
2147 : 42359, 3514, 72287, 2410, 3380, 3420, 189, 467, -4744, -4744,
2148 : 467, 2410, 467, 72287, 72287, 72287, 50831, -4744, 3781, 3458,
2149 : 72287, 72287, 72287, 72287, 3434, -4744, 72287, 72287, 3690, 1088,
2150 : 1855, 54407, 72287, 72287, 54407, 72287, 72287, 72287, 72287, 72287,
2151 : 72287, 3705, 72287, -4744, 3782, 3710, 1944, 3752, 3460, 72287,
2152 : -4744, 72287, 467, 2863, 72287, 72287, -4744, -4744, 3392, 3652,
2153 : 839, -4744, 3654, 3655, 839, 839, 3657, 839, -4744, -4744,
2154 : 1469, -4744, 270, 72287, -4744, 3321, 2012, 2047, -4744, -4744,
2155 : -4744, -4744, -4744, -4744, 2940, -4744, -4744, 1983, 72287, -4744,
2156 : -4744, -4744, 72287, 3396, 72287, 72287, 33338, -4744, 1752, 1424,
2157 : 1183, -4744, 3661, 72287, 2778, -4744, -4744, -4744, 3564, 72287,
2158 : -4744, -4744, -4744, -4744, -4744, 712, 3219, -4744, 3675, 60218,
2159 : 2410, 54407, 54407, 2410, -4744, 94092, 3402, 2995, -4744, 208,
2160 : 3482, 54407, 313, 1076, 90167, 2800, 3442, 3607, 36506, 1373,
2161 : -4744, 3404, 3565, -4744, 3409, 3410, -4744, -4744, 72287, 3318,
2162 : 53513, 2044, 1860, 3848, 64, 1730, -4744, 61559, 3599, 3219,
2163 : 3675, -4744, -4744, -4744, 3809, 3521, -4744, 1481, 72287, 3065,
2164 : 3521, 467, 72287, 2917, -4744, 90614, 29162, 29162, -4744, 3423,
2165 : -4744, 3422, 6433, -4744, 3497, 3432, -4744, -4744, -4744, -4744,
2166 : -4744, -4744, 3510, 3433, 72287, -4744, 3436, -4744, 3448, -4744,
2167 : -4744, -4744, -4744, -4744, -4744, 72287, -4744, 72287, -4744, 489,
2168 : -4744, 3552, -4744, 489, 72287, 72287, 72287, 72287, 3007, 306,
2169 : -4744, 3727, 53960, -4744, -4744, 2048, 72287, -4744, -4744, -4744,
2170 : 3797, 93, 3743, -4744, -4744, 921, 921, 921, 3704, 921,
2171 : 921, 921, -4744, 29162, 15782, -4744, 3456, -4744, 15782, 8054,
2172 : 15782, 3577, -4744, 2049, 29162, -4744, 1244, 1244, 1244, 3474,
2173 : 3749, -4744, 1330, 3464, 1244, 1244, 1244, 379, 379, 213,
2174 : 213, 213, 3719, 393, 15782, 15782, -4744, -4744, 3459, -4744,
2175 : -4744, -4744, 3060, -4744, 30090, 3603, 3859, -4744, -4744, -4744,
2176 : 3488, 3489, 3471, -4744, 29162, 30554, 3467, 94958, 3641, -4744,
2177 : 1629, 29162, 29162, 2256, -4744, 14393, 29162, 94092, 2073, 2256,
2178 : 409, 29162, 3494, 3534, 29162, 29162, 4985, 8180, 3472, 29162,
2179 : 91047, -4744, -4744, -4744, 2075, 29162, 72287, 72287, 72287, 72287,
2180 : -4744, -4744, -4744, 71393, 71840, 71393, 3475, 35158, 24597, 1547,
2181 : 3477, 72287, -4744, -4744, 3476, 36506, 3708, 3644, -4744, 36506,
2182 : 3644, 1654, 3644, 3711, 3562, 41447, -4744, -4744, 3479, -4744,
2183 : 3673, -4744, 22287, 1401, 15782, 3897, 3784, 29162, 3492, 3493,
2184 : 3495, 15782, 15782, 29162, -4744, 467, 3784, 467, -4744, -4744,
2185 : 44599, -4744, -4744, -4744, -4744, -4744, 3696, 15782, 27306, -4744,
2186 : 1481, 2602, 72287, 1556, 596, -4744, 3506, 72287, -4744, 3454,
2187 : 15782, -4744, 3568, 2086, -4744, -4744, -4744, -4744, -4744, -4744,
2188 : 3583, 62006, 3802, -4744, 29162, 2088, -4744, 3543, 3902, 156,
2189 : 2112, 2113, 1428, -4744, 2778, -4744, 1557, 3785, 370, -4744,
2190 : 489, -4744, 94092, -4744, 72287, 72287, -4744, -4744, -4744, -4744,
2191 : 72287, 2569, -4744, -4744, 72287, 72287, 72287, 72287, -4744, 54407,
2192 : 72287, -4744, 72287, -4744, 50831, 1930, 1752, 3795, 3720, -4744,
2193 : 306, -4744, 1752, 3721, 189, 72287, -4744, -4744, 2204, -4744,
2194 : 94092, 489, 489, -4744, -4744, -4744, -4744, -4744, 3525, 3925,
2195 : 3604, 72287, 72287, 72287, -4744, 72287, 54407, 72287, 72287, 2191,
2196 : 2191, 94092, 3527, -4744, 2191, 2191, 3528, -4744, 54407, 72287,
2197 : 72287, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744,
2198 : -4744, -4744, 3595, -4744, 29162, 3919, -4744, -4744, -4744, -4744,
2199 : -4744, -4744, -4744, -4744, -4744, 54407, 72287, 3598, -4744, 3613,
2200 : -4744, 1817, -4744, -4744, 72287, 72287, 72287, 72287, 3841, -4744,
2201 : -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, 72287,
2202 : -4744, 72287, -4744, -4744, 467, 467, 94092, 489, 489, -4744,
2203 : -4744, -4744, -4744, 3796, 839, -4744, 839, 839, -4744, -4744,
2204 : 839, -4744, 3524, 230, -4744, 1428, 1280, 3837, -4744, 3843,
2205 : 29162, -4744, 1021, 3474, -4744, 3892, 3971, -4744, -4744, -4744,
2206 : -4744, 2778, 1746, 3605, 58430, 865, -4744, 3822, 324, 3747,
2207 : 60218, 3452, 1071, 3545, 3663, -4744, 2410, 2410, 3606, 72287,
2208 : 3983, -4744, -4744, -4744, -4744, -4744, -4744, 54407, 3189, -4744,
2209 : 3769, 773, 3863, 72287, 29162, 3311, -4744, 1550, 3867, -4744,
2210 : 467, -4744, -4744, 3679, 2995, -4744, 1481, 72287, 3765, 60218,
2211 : 3065, 2114, -4744, -4744, -4744, 3608, 3974, 1881, -4744, 3452,
2212 : 3599, 1035, 72287, -4744, 3609, 3993, -4744, -4744, 3870, 3767,
2213 : 3573, -4744, 15782, 15782, 467, 95391, 5764, 94092, 3877, 72287,
2214 : 725, 3847, 489, -4744, 489, 489, -4744, 72287, -4744, 3007,
2215 : 3007, 3007, -4744, 3773, -4744, -4744, 3839, -4744, 489, 53960,
2216 : -4744, -4744, -4744, -4744, -4744, 921, -4744, -4744, -4744, 15782,
2217 : -4744, -4744, -4744, -4744, 8215, 33338, 3882, -4744, 3579, 94092,
2218 : -4744, 3580, 2127, 2128, 34260, 3737, -4744, -4744, -4744, 8342,
2219 : 3634, 15782, 3692, 3585, 3590, 2256, 2256, 14393, 2138, -4744,
2220 : 2256, 29162, 29162, 2256, 2256, 29162, -4744, -4744, 8544, 3774,
2221 : -4744, -4744, 8909, -4744, -4744, -4744, -4744, -4744, -4744, -4744,
2222 : 51725, 3592, 3235, 71393, 3600, 72287, 1547, 36506, -4744, -4744,
2223 : 1548, -4744, 36506, 3854, -4744, 36506, 58430, -4744, 72287, 3610,
2224 : 72287, -4744, 563, 31018, 29162, 3636, -4744, -4744, -4744, 3486,
2225 : -4744, 3636, -4744, 3615, 72287, 2536, -4744, 964, -4744, -4744,
2226 : 3984, 37404, 3942, 29162, -4744, -4744, -4744, -4744, 53960, 3803,
2227 : 53960, 1428, 9006, 2778, 37404, 45495, 72287, 72287, 72287, 3758,
2228 : 2778, 3605, -4744, -4744, -4744, -4744, -4744, -4744, 3616, -4744,
2229 : -4744, -4744, -4744, 3684, -4744, -4744, 23, 3011, -4744, 2142,
2230 : -4744, 4037, 3928, -4744, -4744, -4744, -4744, -4744, -4744, 3782,
2231 : -4744, -4744, 41899, 54407, 72287, -4744, 3687, -4744, -4744, -4744,
2232 : -4744, -4744, 39201, 44599, -4744, 650, 3611, 3618, 739, -4744,
2233 : -4744, -4744, 72287, 9052, 3620, 541, 3011, 72287, 72287, 3622,
2234 : 3624, 1400, 1513, 1551, 3007, 3918, -4744, -4744, -4744, -4744,
2235 : 3782, -4744, -4744, 839, -4744, -4744, -4744, -4744, 50831, -4744,
2236 : 2993, -4744, 1469, 3973, 58430, 4059, 4059, 72287, -4744, 9272,
2237 : 3840, -4744, -4744, 3917, 3605, 3865, 3911, -4744, 3637, 72287,
2238 : 3800, 3638, 72287, 3645, 3756, 835, 835, 72287, 72287, 72287,
2239 : 2144, 1481, 2410, 3420, 313, 3960, 60218, 4003, 3318, 283,
2240 : -4744, -4744, 1550, -4744, 1114, 3977, 3686, -4744, 72287, 4078,
2241 : 3065, 3219, 72287, 3647, -4744, -4744, 61559, 3845, 1930, 95824,
2242 : 3424, 3599, 1881, 3786, -4744, 3789, -4744, 1285, -4744, 1481,
2243 : 72287, 72287, 37404, -4744, 94525, -4744, 2146, -4744, -4744, -4744,
2244 : 3728, 3131, 3764, 3771, 3651, 72287, 88, -4744, -4744, -4744,
2245 : -4744, -4744, 72287, -4744, 290, -4744, -4744, 5033, 33338, 94092,
2246 : 2152, 29162, -4744, 29162, -4744, 4076, -4744, -4744, -4744, 593,
2247 : -4744, -4744, -4744, 2256, 2256, 2256, -4744, 4079, 3486, -4744,
2248 : -4744, 2157, 4098, 32410, 4060, -4744, 72287, 2159, -4744, 29162,
2249 : 3669, -4744, -4744, 36506, 1548, 3672, 2163, 72287, 2164, 94092,
2250 : 3676, 3674, 37, 3678, 22752, 3680, -4744, -4744, -4744, -4744,
2251 : -4744, 15782, 15782, 72287, -4744, 3681, -4744, -4744, -4744, 3724,
2252 : 72287, 2168, -4744, 949, 15782, 1416, 1503, 290, 3902, 3605,
2253 : -4744, 3683, -4744, -4744, -4744, 378, 378, 72287, 3605, -4744,
2254 : -4744, 72287, 3766, -4744, -4744, 50831, 3968, -4744, 3742, -4744,
2255 : 546, 3011, 72287, 94092, -4744, 95, 3997, -4744, 94092, 94092,
2256 : -4744, -4744, -4744, 29162, 3776, -4744, -4744, -4744, 317, 327,
2257 : -4744, -4744, 72287, 72287, 72287, 72287, 72287, 489, -4744, 2169,
2258 : -4744, 38302, -4744, -4744, 2687, 467, 2687, 1494, -4744, -4744,
2259 : 2687, -4744, 2687, -4744, 3524, 467, 4059, 1233, -4744, -4744,
2260 : -4744, 1418, 3907, 3691, -4744, 767, 3894, 3787, 3694, -4744,
2261 : 58430, 4157, 3219, 3675, 72287, -4744, -4744, -4744, -4744, -4744,
2262 : -4744, -4744, -4744, -4744, 2176, 3318, 4016, 2995, 3609, -4744,
2263 : 72287, 3736, -4744, 36506, -4744, -4744, -4744, 2687, -4744, 1314,
2264 : 3706, 4029, 3318, 1481, -4744, 3599, 3219, 3675, -4744, -4744,
2265 : -4744, 3709, -4744, 3521, 1881, 3424, -4744, -4744, 4111, 3908,
2266 : 4113, 3065, -4744, 2917, 2177, -4744, 6433, 95391, 94092, 4053,
2267 : 3753, 3754, -4744, -4744, 3772, 72287, -4744, -4744, 3318, -4744,
2268 : 5033, 2196, -4744, 2209, 2222, 3876, 3770, -4744, 29162, 1404,
2269 : 3314, 51725, 3715, -4744, 33338, 2233, -4744, 3874, 72287, 2235,
2270 : -4744, 15782, 72287, -4744, -4744, 29162, -4744, 2240, -4744, -4744,
2271 : 29162, 3723, 29162, -4744, 31018, 3722, -4744, 4155, -4744, 1481,
2272 : -4744, 3131, 37404, -4744, 3844, -4744, 4032, -4744, 72287, 3775,
2273 : 44599, 3116, 3116, 1746, -4744, 1428, -4744, 72287, -4744, 3691,
2274 : 29162, -4744, 3816, -4744, -4744, 2241, 1260, 3887, 3887, 2260,
2275 : 2266, 9539, 72287, -4744, -4744, -4744, -4744, 2267, -4744, -4744,
2276 : -4744, -4744, 2271, 3008, 1551, 3008, -4744, 3007, -4744, -4744,
2277 : 50831, -4744, 52172, -4744, -4744, -4744, 467, -4744, 467, 3941,
2278 : 72287, 46836, 467, 467, -4744, -4744, -4744, -4744, -4744, 4067,
2279 : 4009, -4744, 1860, -4744, -4744, -4744, -4744, 364, -4744, 3934,
2280 : 3938, 72287, -4744, 3739, -4744, 2277, 3452, 3860, 3318, -4744,
2281 : -4744, 72287, 4174, 4176, -4744, 1124, 72287, 3311, 72287, -4744,
2282 : -4744, -4744, 29162, 3914, -4744, 3609, 1881, 3452, 3599, 1930,
2283 : 37853, -4744, 3424, 3521, 3947, -4744, 3948, -4744, 3755, 2995,
2284 : 5764, -4744, -4744, 330, 4055, 4058, -4744, -4744, -4744, -4744,
2285 : -4744, -4744, -4744, -4744, 3060, 31482, 31482, 3757, -4744, -4744,
2286 : 72287, 3474, 3759, 32410, 50831, 2289, -4744, 92793, -4744, 2313,
2287 : 2317, -4744, 2325, 31018, 2326, -4744, 72287, 3762, -4744, -4744,
2288 : -4744, 40549, 53960, 378, 3780, -4744, 3768, -4744, -4744, 3865,
2289 : 1428, 3011, -4744, 15782, 72287, 58430, 4170, -4744, -4744, -4744,
2290 : -4744, -4744, -4744, -4744, 3011, 3849, 317, -4744, 327, 72287,
2291 : -4744, -4744, 2331, -4744, -4744, -4744, 72287, 3404, -4744, 3404,
2292 : -4744, -4744, 3900, -4744, 2102, 927, 927, 4121, -4744, 3830,
2293 : -4744, -4744, 3790, -4744, 4234, 3901, 72287, -4744, -4744, 650,
2294 : 1481, 60218, 3318, -4744, -4744, 9607, 58430, -4744, 3424, 3599,
2295 : 1881, 29162, 2333, -4744, 3902, 156, 3521, -4744, -4744, -4744,
2296 : 37404, 3521, -4744, -4744, -4744, 1384, 58430, 58430, 32874, 3916,
2297 : 204, 11945, -4744, -4744, -4744, -4744, 2338, 34260, -4744, -4744,
2298 : -4744, 72287, 3976, 1012, -4744, 3933, -4744, 2339, -4744, -4744,
2299 : -4744, -1, 290, 3116, 29162, 1428, -4744, 3894, -4744, 3011,
2300 : -4744, 72287, -4744, 3788, -4744, -4744, -4744, -4744, 52172, 3404,
2301 : 3686, -4744, -4744, 4232, -4744, 1223, -4744, -4744, -4744, -4744,
2302 : 72287, 3318, 3527, 3609, -4744, -4744, 3793, 3521, 1881, 3424,
2303 : 10171, -4744, 37853, 72287, 72287, -4744, 2340, 3131, -4744, 1486,
2304 : -4744, -4744, -4744, -4744, -4744, -4744, -4744, 3791, 3792, 4228,
2305 : -4744, -4744, -4744, -4744, -4744, -4744, 3235, -4744, -4744, 33338,
2306 : 33338, 4007, -4744, 1012, -4744, 3799, -4744, -4744, -4744, -4744,
2307 : -4744, 10631, -4744, -4744, -4744, 317, -4744, 4123, -4744, -4744,
2308 : -4744, 3318, -4744, -4744, 50384, -4744, 3424, 3521, 3902, -4744,
2309 : -4744, -4744, 2995, -4744, 2004, -4744, -4744, 2054, 1937, 3883,
2310 : 4107, 31946, 4197, 3474, 3474, -4744, -4744, 29162, -4744, 1428,
2311 : 2345, 3972, -4744, -4744, 2349, -4744, -4744, -4744, -4744, 3521,
2312 : -4744, 72287, 3521, -4744, 1486, 3912, 3915, -4744, 72287, 10650,
2313 : -4744, 58430, -4744, 50384, -4744, -4744, 3131, -4744, 3850, 3851,
2314 : 2354, -4744, 3808, -4744, -4744, 4112, 4114, -4744, 50384, 58430,
2315 : 58430, 2363, -4744, -4744, -4744
2316 : };
2317 :
2318 : /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
2319 : Performed when YYTABLE does not specify something else to do. Zero
2320 : means the default is an error. */
2321 : static const yytype_uint16 yydefact[] =
2322 : {
2323 : 1617, 1400, 617, 1486, 1485, 1400, 253, 0, 1488, 0,
2324 : 1400, 414, 1092, 0, 0, 0, 0, 617, 1400, 0,
2325 : 1617, 0, 0, 0, 0, 0, 1630, 0, 0, 0,
2326 : 0, 0, 0, 0, 0, 0, 1400, 0, 0, 1637,
2327 : 0, 0, 0, 0, 1630, 0, 1490, 0, 0, 0,
2328 : 0, 0, 2, 4, 71, 72, 31, 30, 91, 54,
2329 : 18, 62, 125, 124, 126, 41, 37, 79, 26, 28,
2330 : 38, 42, 64, 66, 44, 55, 103, 63, 24, 61,
2331 : 86, 67, 89, 49, 12, 13, 50, 14, 51, 15,
2332 : 52, 16, 99, 73, 92, 35, 60, 23, 43, 69,
2333 : 70, 5, 45, 81, 77, 11, 56, 57, 59, 83,
2334 : 84, 85, 108, 87, 120, 40, 117, 96, 97, 114,
2335 : 98, 115, 9, 100, 53, 17, 111, 110, 112, 80,
2336 : 46, 82, 68, 90, 109, 27, 113, 19, 20, 22,
2337 : 21, 58, 29, 65, 32, 88, 116, 106, 102, 121,
2338 : 119, 127, 104, 74, 7, 8, 93, 6, 25, 48,
2339 : 10, 34, 33, 47, 39, 123, 36, 1488, 95, 107,
2340 : 94, 75, 101, 78, 105, 122, 76, 118, 1590, 1589,
2341 : 1639, 1593, 1616, 0, 1605, 1399, 1398, 1384, 0, 0,
2342 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2343 : 0, 0, 0, 0, 616, 0, 0, 0, 0, 0,
2344 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2345 : 0, 0, 1410, 2211, 2226, 2227, 2228, 2229, 2230, 2231,
2346 : 2232, 2233, 385, 2234, 2235, 2236, 2237, 2238, 2239, 2240,
2347 : 2241, 2242, 2243, 2244, 2508, 2509, 2510, 2511, 2245, 2246,
2348 : 2247, 2248, 2249, 2250, 2251, 2512, 2513, 2252, 2253, 2254,
2349 : 2255, 2256, 2514, 2257, 2258, 2259, 2260, 2261, 2262, 2263,
2350 : 2264, 2265, 2266, 2267, 2268, 2269, 2270, 2271, 2272, 2273,
2351 : 2274, 2275, 2276, 2277, 2278, 2279, 2515, 2516, 2280, 2281,
2352 : 2282, 2283, 2284, 2285, 2286, 2287, 2288, 2289, 2290, 2291,
2353 : 2292, 2293, 2294, 2295, 2296, 2297, 2298, 2299, 2300, 2301,
2354 : 2302, 2303, 2304, 2305, 2306, 2517, 2307, 2308, 2309, 2518,
2355 : 2310, 2311, 2312, 2519, 2313, 2314, 2315, 2316, 2317, 2318,
2356 : 2319, 2320, 2520, 2521, 2321, 2322, 2323, 2324, 2325, 2326,
2357 : 2327, 2328, 2329, 2330, 2331, 2332, 2333, 2334, 2335, 2336,
2358 : 2337, 2522, 2338, 2339, 2340, 2341, 2523, 2524, 2525, 2342,
2359 : 2343, 2344, 2345, 2346, 2347, 2348, 2349, 2526, 2350, 2351,
2360 : 2352, 2353, 2354, 2355, 2356, 2357, 2358, 2359, 2360, 2361,
2361 : 2362, 2363, 2364, 2365, 2366, 2367, 2368, 2369, 2527, 2528,
2362 : 2370, 2371, 2372, 2529, 2373, 2374, 2375, 2530, 2376, 2531,
2363 : 2377, 2378, 2379, 2380, 2381, 2382, 2383, 2384, 2385, 2532,
2364 : 2386, 2533, 2387, 2388, 2389, 2390, 2391, 2392, 2393, 2394,
2365 : 2395, 2396, 2397, 2534, 2398, 2535, 2401, 2399, 2400, 2402,
2366 : 2403, 2404, 2405, 2406, 2407, 2408, 2409, 2410, 2536, 2411,
2367 : 2412, 2413, 2414, 2415, 2416, 2417, 2418, 2419, 2420, 2421,
2368 : 2422, 2423, 2424, 2425, 2426, 2427, 2428, 2429, 2430, 2431,
2369 : 2537, 2432, 2433, 2434, 2435, 2436, 2437, 2438, 2439, 2440,
2370 : 2441, 2442, 2443, 2444, 2445, 2446, 2447, 2538, 2448, 2449,
2371 : 2450, 2451, 2539, 2452, 2453, 2454, 2455, 2456, 2457, 2458,
2372 : 2459, 2460, 2461, 2462, 2463, 2464, 2540, 2465, 2466, 2467,
2373 : 2468, 2469, 2470, 2471, 2472, 2541, 2542, 2473, 2474, 2543,
2374 : 2475, 2544, 2476, 2477, 2478, 2479, 2480, 2481, 2482, 2483,
2375 : 2484, 2485, 2486, 2487, 2488, 2489, 2490, 2491, 2492, 2545,
2376 : 2546, 2493, 2494, 2495, 2496, 2497, 2498, 2499, 2500, 2501,
2377 : 2502, 2503, 2504, 2547, 2548, 2549, 2550, 2551, 2552, 2553,
2378 : 2554, 2555, 2556, 2557, 2505, 2506, 2507, 384, 1580, 2179,
2379 : 2212, 2213, 1487, 1467, 617, 0, 1387, 413, 1617, 0,
2380 : 0, 0, 0, 0, 0, 0, 0, 845, 0, 0,
2381 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2382 : 176, 0, 0, 0, 0, 439, 438, 0, 0, 0,
2383 : 1065, 444, 0, 0, 0, 0, 0, 605, 1529, 2399,
2384 : 1527, 1581, 254, 257, 258, 255, 256, 2201, 0, 1187,
2385 : 1188, 1190, 0, 0, 0, 1200, 885, 886, 0, 0,
2386 : 0, 894, 0, 0, 0, 883, 0, 0, 0, 899,
2387 : 896, 0, 900, 897, 880, 898, 887, 0, 879, 0,
2388 : 0, 1200, 901, 0, 0, 881, 0, 0, 0, 0,
2389 : 1388, 1526, 445, 1617, 0, 1504, 1505, 1506, 1488, 1495,
2390 : 1507, 1500, 1502, 1501, 1503, 1499, 2200, 2227, 1005, 1005,
2391 : 1005, 1005, 1002, 1003, 1005, 1005, 1005, 2418, 0, 0,
2392 : 984, 0, 986, 2202, 1005, 1010, 505, 505, 505, 0,
2393 : 1009, 1014, 505, 0, 1381, 1419, 2184, 1629, 0, 985,
2394 : 1380, 2473, 1518, 0, 0, 1215, 1211, 1213, 1214, 1212,
2395 : 0, 0, 0, 2434, 1392, 238, 2445, 2541, 2473, 237,
2396 : 232, 233, 206, 2231, 0, 0, 1009, 0, 1389, 1390,
2397 : 967, 1636, 1634, 0, 2166, 2250, 2265, 2353, 229, 2429,
2398 : 2435, 2445, 2541, 2473, 2504, 185, 195, 190, 0, 247,
2399 : 2445, 2541, 2473, 243, 1410, 0, 1606, 1736, 2175, 0,
2400 : 1383, 1382, 1489, 0, 1492, 0, 2413, 1610, 1613, 1494,
2401 : 1611, 1602, 0, 0, 1, 1617, 1483, 1633, 1633, 0,
2402 : 1633, 0, 1594, 1602, 1597, 1601, 0, 0, 0, 0,
2403 : 2211, 2558, 2559, 2560, 2561, 2562, 2563, 2564, 2565, 2566,
2404 : 2567, 2568, 2569, 2570, 2571, 2572, 2573, 2574, 2575, 2576,
2405 : 2577, 2578, 2579, 2580, 0, 0, 0, 2185, 2212, 2216,
2406 : 0, 904, 0, 1422, 2180, 1051, 0, 0, 0, 0,
2407 : 0, 0, 0, 1101, 1100, 2217, 2207, 2208, 0, 2205,
2408 : 2206, 2218, 2219, 2220, 0, 2326, 0, 0, 0, 2077,
2409 : 2088, 2089, 2090, 2254, 2310, 2085, 2086, 2087, 2079, 2080,
2410 : 2081, 2082, 2083, 2084, 0, 0, 1182, 2078, 0, 2326,
2411 : 0, 0, 155, 0, 132, 0, 0, 2326, 0, 0,
2412 : 0, 0, 0, 0, 0, 2326, 0, 0, 0, 0,
2413 : 0, 155, 2358, 0, 132, 2326, 0, 0, 1404, 0,
2414 : 0, 0, 1406, 1409, 1385, 1470, 0, 2175, 0, 0,
2415 : 0, 938, 931, 0, 939, 946, 0, 0, 948, 0,
2416 : 0, 932, 0, 0, 0, 0, 951, 952, 0, 953,
2417 : 933, 954, 934, 955, 935, 956, 0, 0, 0, 0,
2418 : 936, 0, 0, 0, 1396, 0, 1520, 1522, 1521, 1519,
2419 : 505, 0, 0, 0, 0, 2326, 0, 0, 132, 1455,
2420 : 0, 2326, 132, 0, 0, 443, 442, 132, 2205, 441,
2421 : 440, 2254, 2310, 0, 1091, 0, 1339, 132, 2326, 0,
2422 : 178, 2326, 689, 2326, 1494, 0, 620, 0, 0, 800,
2423 : 2358, 132, 0, 0, 0, 0, 0, 0, 1068, 0,
2424 : 0, 0, 604, 617, 1530, 1528, 0, 1191, 231, 230,
2425 : 1189, 892, 2326, 1133, 341, 341, 0, 0, 2326, 1441,
2426 : 2214, 1811, 1840, 1818, 1840, 1840, 1807, 1807, 2294, 1820,
2427 : 2326, 1808, 1809, 1845, 0, 1840, 1807, 1812, 0, 1810,
2428 : 1848, 1848, 1835, 341, 908, 1792, 1793, 1794, 1795, 1821,
2429 : 1822, 1796, 1827, 1828, 1832, 1797, 1862, 1807, 2215, 893,
2430 : 0, 884, 2326, 341, 1097, 2326, 2209, 165, 0, 882,
2431 : 2254, 2310, 2326, 341, 1184, 0, 2326, 161, 2326, 341,
2432 : 2326, 621, 0, 0, 2326, 341, 2326, 2358, 163, 0,
2433 : 2326, 341, 902, 2326, 341, 2177, 2326, 0, 0, 1523,
2434 : 0, 1497, 2545, 1512, 0, 1508, 1515, 1511, 1617, 1005,
2435 : 1004, 0, 1005, 0, 1005, 0, 1005, 0, 1005, 0,
2436 : 0, 0, 1005, 2203, 2204, 987, 0, 1011, 0, 0,
2437 : 1018, 1017, 1016, 0, 0, 0, 1019, 0, 1740, 1557,
2438 : 0, 1378, 1395, 0, 0, 0, 1068, 1218, 0, 1216,
2439 : 1207, 1208, 1391, 236, 234, 0, 0, 0, 0, 0,
2440 : 0, 1397, 0, 0, 0, 0, 2188, 2190, 2191, 2091,
2441 : 2161, 0, 2509, 2510, 2511, 2150, 0, 2512, 2513, 2514,
2442 : 2560, 1993, 1980, 1989, 1994, 1981, 1983, 1990, 2515, 2516,
2443 : 1928, 2517, 2518, 2198, 2519, 2520, 2521, 2523, 2524, 2525,
2444 : 2526, 1985, 1987, 2527, 2528, 0, 2199, 2530, 2531, 2382,
2445 : 2533, 2534, 2536, 2537, 1991, 2539, 2540, 2541, 2542, 2543,
2446 : 2544, 2197, 0, 1992, 2546, 2548, 2549, 2550, 2551, 2553,
2447 : 2554, 2555, 2556, 0, 0, 0, 2172, 0, 1960, 0,
2448 : 1800, 1801, 1823, 1824, 1802, 1829, 1830, 1803, 0, 2171,
2449 : 1865, 2042, 1959, 1976, 0, 1965, 1966, 0, 1958, 1954,
2450 : 1619, 2167, 0, 1955, 2187, 2189, 2151, 1619, 2165, 198,
2451 : 249, 0, 250, 2173, 2445, 186, 228, 200, 227, 201,
2452 : 199, 0, 2252, 187, 0, 0, 188, 0, 0, 0,
2453 : 0, 246, 244, 0, 1386, 0, 1738, 1737, 2158, 0,
2454 : 2159, 2176, 913, 1482, 1480, 1481, 1479, 0, 1476, 1478,
2455 : 1491, 1488, 2101, 0, 1612, 0, 0, 0, 1592, 1591,
2456 : 3, 1494, 1631, 1632, 0, 0, 0, 0, 0, 0,
2457 : 0, 0, 1685, 1647, 1648, 1650, 1682, 1686, 1694, 0,
2458 : 1598, 0, 0, 1742, 0, 0, 0, 0, 0, 0,
2459 : 1132, 2186, 0, 0, 0, 0, 0, 905, 0, 0,
2460 : 0, 1428, 0, 1430, 1431, 1432, 0, 0, 1433, 1434,
2461 : 1422, 240, 1440, 1438, 1421, 1423, 1436, 0, 0, 0,
2462 : 0, 0, 0, 0, 1447, 0, 169, 170, 0, 633,
2463 : 617, 0, 2326, 0, 0, 0, 0, 0, 1140, 1147,
2464 : 0, 0, 0, 0, 0, 0, 0, 0, 1141, 1139,
2465 : 1142, 242, 1151, 1168, 1171, 0, 1099, 1102, 0, 0,
2466 : 0, 0, 0, 1273, 0, 0, 0, 1273, 0, 0,
2467 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2468 : 0, 265, 277, 336, 596, 0, 0, 0, 599, 0,
2469 : 2326, 0, 0, 0, 0, 1186, 0, 0, 0, 0,
2470 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 130,
2471 : 131, 136, 0, 0, 0, 0, 0, 0, 0, 582,
2472 : 595, 0, 0, 0, 0, 0, 592, 0, 0, 132,
2473 : 269, 572, 578, 0, 0, 0, 696, 695, 0, 0,
2474 : 0, 0, 1355, 1354, 0, 0, 0, 0, 1445, 1444,
2475 : 0, 0, 0, 0, 0, 1273, 0, 259, 261, 0,
2476 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2477 : 0, 0, 0, 0, 377, 378, 0, 0, 0, 136,
2478 : 0, 0, 0, 0, 271, 0, 0, 1405, 1402, 1403,
2479 : 0, 1408, 0, 1466, 0, 945, 0, 0, 0, 0,
2480 : 947, 0, 940, 0, 0, 937, 2254, 2310, 0, 0,
2481 : 0, 0, 0, 0, 0, 950, 0, 0, 0, 416,
2482 : 0, 0, 797, 0, 0, 0, 0, 0, 0, 808,
2483 : 0, 1422, 1454, 0, 0, 0, 626, 0, 2326, 0,
2484 : 134, 846, 0, 798, 444, 0, 0, 0, 1163, 1338,
2485 : 134, 0, 0, 172, 0, 0, 693, 0, 0, 0,
2486 : 0, 0, 0, 0, 0, 0, 738, 737, 0, 0,
2487 : 0, 799, 0, 0, 134, 0, 2326, 575, 2326, 0,
2488 : 505, 505, 0, 0, 1067, 1070, 0, 0, 0, 0,
2489 : 1584, 1586, 1585, 0, 1583, 0, 339, 340, 0, 1174,
2490 : 795, 1199, 0, 0, 1839, 1826, 1834, 1833, 0, 1816,
2491 : 1815, 1814, 0, 1813, 0, 1840, 1840, 1838, 1817, 1792,
2492 : 0, 0, 0, 1844, 0, 1842, 0, 875, 1788, 1784,
2493 : 0, 1851, 1852, 1853, 1850, 1863, 1849, 0, 1798, 1854,
2494 : 1807, 1804, 895, 0, 0, 1172, 0, 0, 2326, 341,
2495 : 2326, 0, 2326, 0, 0, 0, 1176, 341, 0, 0,
2496 : 1356, 0, 891, 889, 888, 890, 0, 0, 873, 0,
2497 : 0, 0, 2326, 341, 0, 0, 868, 0, 0, 870,
2498 : 0, 0, 0, 0, 1617, 0, 217, 218, 216, 1513,
2499 : 219, 1514, 1510, 1496, 0, 995, 0, 999, 0, 990,
2500 : 0, 996, 0, 991, 988, 989, 0, 994, 0, 0,
2501 : 506, 508, 0, 0, 2277, 2293, 0, 2316, 2346, 2347,
2502 : 2435, 2441, 0, 2468, 2478, 0, 1020, 1046, 1015, 707,
2503 : 0, 0, 1567, 1379, 2108, 0, 1617, 0, 0, 0,
2504 : 0, 235, 207, 0, 0, 0, 1048, 2434, 1394, 966,
2505 : 617, 0, 1956, 0, 1963, 1964, 2149, 0, 0, 0,
2506 : 0, 0, 0, 1962, 2116, 0, 0, 0, 0, 0,
2507 : 1888, 0, 0, 0, 2129, 0, 2135, 0, 0, 1925,
2508 : 0, 0, 0, 0, 0, 0, 0, 0, 1889, 1869,
2509 : 1870, 1960, 2101, 0, 1961, 2194, 0, 1862, 2170, 2091,
2510 : 0, 2088, 2089, 2090, 0, 0, 0, 2164, 0, 2099,
2511 : 0, 0, 1903, 2097, 1905, 0, 0, 0, 0, 2085,
2512 : 2086, 2087, 2079, 2080, 2081, 2082, 2083, 2084, 2095, 1885,
2513 : 0, 0, 2044, 0, 1884, 0, 0, 1698, 0, 2192,
2514 : 2152, 1698, 251, 252, 248, 0, 0, 203, 202, 0,
2515 : 221, 225, 226, 197, 224, 0, 220, 205, 2033, 2032,
2516 : 204, 196, 193, 191, 208, 210, 211, 194, 192, 245,
2517 : 0, 2157, 0, 2221, 2581, 2582, 2583, 2584, 2585, 2586,
2518 : 2587, 2588, 2589, 2590, 2591, 2592, 2593, 2594, 2595, 2596,
2519 : 2597, 2598, 2599, 2600, 2601, 2602, 2603, 2604, 2605, 2606,
2520 : 2607, 2608, 2609, 2610, 2611, 2612, 2613, 2614, 2615, 2616,
2521 : 2617, 2618, 2619, 2620, 2621, 2622, 2623, 2624, 2625, 2626,
2522 : 2627, 2628, 2629, 2630, 2631, 2632, 2633, 2634, 2635, 2636,
2523 : 2637, 2638, 2639, 2640, 2641, 2642, 2643, 2644, 2645, 2646,
2524 : 2647, 2648, 2649, 2650, 2651, 2652, 2653, 2654, 2655, 2656,
2525 : 2657, 2154, 2153, 2182, 2222, 2223, 2224, 2225, 2160, 0,
2526 : 0, 341, 1474, 0, 1471, 1695, 0, 1614, 0, 0,
2527 : 1484, 1609, 1608, 1640, 1641, 1084, 1607, 1665, 1666, 1661,
2528 : 0, 0, 0, 1691, 1689, 1657, 1651, 1656, 1654, 0,
2529 : 1658, 1865, 1684, 1596, 1645, 1646, 1649, 1595, 0, 1687,
2530 : 0, 1570, 1685, 1650, 1554, 0, 1532, 0, 1743, 0,
2531 : 0, 0, 0, 0, 1112, 1114, 0, 1113, 0, 1116,
2532 : 0, 1125, 0, 0, 1111, 1130, 0, 1119, 1117, 0,
2533 : 1443, 0, 0, 906, 0, 0, 0, 0, 1429, 0,
2534 : 0, 2468, 239, 1432, 1437, 1424, 1435, 0, 0, 0,
2535 : 0, 0, 1050, 1049, 0, 0, 1072, 0, 0, 0,
2536 : 1450, 494, 0, 338, 0, 0, 0, 0, 0, 0,
2537 : 0, 0, 793, 790, 0, 0, 789, 0, 631, 0,
2538 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2539 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 669,
2540 : 0, 1273, 0, 701, 0, 1149, 0, 0, 1148, 0,
2541 : 1152, 0, 0, 1150, 1145, 1146, 2435, 2445, 2473, 241,
2542 : 1170, 0, 1169, 1167, 1094, 0, 1095, 0, 0, 0,
2543 : 0, 0, 2303, 2326, 281, 300, 0, 1272, 0, 0,
2544 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2545 : 0, 0, 0, 323, 0, 0, 326, 325, 0, 0,
2546 : 0, 0, 0, 330, 309, 0, 310, 0, 0, 329,
2547 : 0, 0, 597, 598, 0, 0, 0, 0, 1273, 0,
2548 : 273, 0, 0, 0, 0, 0, 0, 0, 1183, 0,
2549 : 724, 0, 0, 0, 0, 0, 1342, 0, 0, 158,
2550 : 0, 153, 157, 0, 0, 0, 0, 580, 581, 594,
2551 : 0, 585, 586, 583, 587, 588, 0, 0, 0, 0,
2552 : 0, 0, 0, 579, 0, 0, 691, 690, 694, 0,
2553 : 0, 0, 1351, 0, 1163, 0, 0, 1350, 0, 0,
2554 : 0, 0, 0, 0, 0, 0, 0, 0, 1220, 1219,
2555 : 0, 0, 0, 0, 0, 0, 836, 0, 0, 0,
2556 : 0, 0, 0, 0, 0, 160, 711, 0, 710, 0,
2557 : 154, 159, 0, 0, 0, 0, 0, 0, 0, 215,
2558 : 1401, 1407, 1469, 2183, 1468, 0, 0, 0, 0, 949,
2559 : 0, 0, 0, 0, 0, 0, 0, 941, 942, 943,
2560 : 944, 0, 0, 0, 0, 0, 391, 0, 0, 0,
2561 : 2214, 0, 824, 796, 0, 0, 0, 810, 0, 813,
2562 : 816, 0, 1420, 463, 0, 0, 623, 669, 0, 0,
2563 : 447, 167, 0, 0, 0, 0, 726, 0, 0, 0,
2564 : 1337, 129, 176, 178, 445, 0, 177, 179, 181, 182,
2565 : 183, 180, 184, 0, 688, 692, 0, 0, 0, 0,
2566 : 619, 0, 0, 0, 0, 0, 739, 743, 742, 746,
2567 : 744, 0, 740, 0, 0, 1763, 0, 0, 152, 0,
2568 : 0, 570, 574, 0, 0, 0, 0, 447, 546, 352,
2569 : 2326, 0, 505, 0, 2326, 0, 1069, 0, 0, 0,
2570 : 0, 0, 0, 0, 0, 1582, 341, 1134, 0, 1442,
2571 : 0, 0, 0, 341, 1837, 1836, 1789, 1785, 0, 0,
2572 : 0, 0, 909, 0, 0, 0, 0, 0, 0, 0,
2573 : 0, 0, 1805, 341, 1098, 166, 2210, 0, 877, 0,
2574 : 0, 0, 0, 341, 1185, 865, 162, 341, 622, 0,
2575 : 341, 164, 0, 0, 0, 614, 341, 903, 341, 2178,
2576 : 0, 341, 1525, 2326, 505, 1498, 1509, 992, 1001, 1000,
2577 : 998, 997, 993, 0, 1012, 0, 504, 0, 0, 0,
2578 : 1026, 1027, 0, 0, 1025, 1028, 0, 1030, 1022, 1021,
2579 : 1031, 1032, 0, 0, 1048, 705, 0, 0, 0, 0,
2580 : 1564, 0, 1562, 0, 1741, 1566, 1555, 1517, 0, 1516,
2581 : 0, 563, 0, 0, 1217, 0, 0, 1009, 0, 0,
2582 : 341, 1393, 0, 968, 974, 0, 0, 0, 0, 0,
2583 : 0, 977, 978, 979, 970, 980, 971, 981, 0, 972,
2584 : 0, 0, 0, 0, 2162, 2112, 0, 2113, 0, 0,
2585 : 2148, 2144, 0, 0, 0, 0, 0, 2117, 2120, 2121,
2586 : 2122, 2119, 2123, 2118, 0, 0, 2124, 0, 0, 0,
2587 : 0, 0, 0, 0, 0, 0, 2537, 0, 0, 0,
2588 : 0, 1929, 0, 0, 2072, 0, 2101, 2134, 0, 0,
2589 : 0, 0, 0, 0, 2101, 2140, 0, 0, 0, 0,
2590 : 2031, 0, 2028, 0, 0, 0, 0, 2161, 0, 0,
2591 : 2195, 1866, 1880, 1881, 1882, 1886, 2169, 0, 2163, 0,
2592 : 0, 1867, 1894, 0, 2141, 1921, 0, 1926, 1909, 0,
2593 : 1902, 0, 1907, 1911, 1890, 0, 1887, 0, 2164, 2100,
2594 : 0, 2098, 0, 1877, 1878, 1879, 1871, 1872, 1873, 1874,
2595 : 1875, 1876, 1883, 2076, 2074, 2075, 0, 0, 0, 2052,
2596 : 0, 0, 1906, 2319, 2353, 0, 1630, 1630, 1630, 1618,
2597 : 1628, 2168, 0, 1758, 0, 0, 0, 0, 1968, 0,
2598 : 2105, 1639, 2103, 1117, 1758, 2174, 0, 0, 1862, 0,
2599 : 1739, 2155, 2158, 911, 912, 910, 1494, 1477, 1473, 1472,
2600 : 2102, 1493, 1617, 0, 1082, 1083, 0, 1087, 0, 0,
2601 : 1659, 1692, 0, 1683, 0, 1663, 1664, 1655, 1693, 1568,
2602 : 0, 1688, 1600, 1599, 0, 1761, 0, 0, 0, 1546,
2603 : 1534, 0, 1744, 0, 1698, 1572, 0, 2161, 1696, 1315,
2604 : 1221, 1280, 1115, 0, 1807, 1126, 0, 1110, 0, 1109,
2605 : 1807, 0, 1127, 0, 1807, 1316, 1222, 1281, 907, 1317,
2606 : 1223, 1282, 1318, 1224, 1439, 1427, 1426, 1425, 0, 0,
2607 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2608 : 0, 0, 774, 2326, 341, 1448, 1319, 0, 1225, 337,
2609 : 1449, 1283, 1453, 792, 791, 0, 0, 1284, 0, 632,
2610 : 0, 636, 0, 638, 639, 640, 0, 0, 0, 641,
2611 : 0, 2254, 2310, 643, 646, 653, 658, 648, 0, 0,
2612 : 660, 654, 0, 0, 0, 0, 0, 0, 666, 671,
2613 : 0, 0, 0, 0, 0, 0, 0, 1143, 1144, 1320,
2614 : 1228, 0, 1285, 1093, 0, 1229, 168, 0, 0, 266,
2615 : 2326, 283, 0, 673, 774, 1275, 307, 0, 0, 322,
2616 : 317, 318, 316, 2326, 341, 2326, 341, 0, 0, 0,
2617 : 0, 0, 319, 314, 315, 311, 0, 0, 324, 2230,
2618 : 2295, 2446, 0, 677, 679, 0, 684, 327, 1247, 348,
2619 : 347, 346, 0, 331, 0, 353, 356, 328, 305, 308,
2620 : 306, 302, 278, 0, 0, 0, 0, 0, 0, 0,
2621 : 0, 2181, 0, 0, 1178, 0, 1323, 1286, 0, 1306,
2622 : 0, 0, 0, 0, 718, 1343, 1345, 1335, 1235, 1344,
2623 : 156, 1262, 145, 0, 0, 141, 0, 0, 0, 0,
2624 : 135, 0, 1326, 1236, 0, 0, 270, 573, 584, 589,
2625 : 1241, 593, 590, 1296, 591, 1333, 1237, 1329, 1265, 1291,
2626 : 1336, 1352, 1238, 1163, 1347, 1349, 0, 1273, 0, 260,
2627 : 262, 0, 280, 0, 1239, 0, 1289, 1328, 1264, 0,
2628 : 0, 0, 0, 0, 0, 0, 0, 0, 1456, 0,
2629 : 0, 0, 0, 0, 0, 341, 0, 0, 0, 1275,
2630 : 2326, 341, 1327, 0, 1270, 0, 1304, 0, 379, 0,
2631 : 1263, 0, 0, 272, 1243, 1298, 0, 0, 213, 212,
2632 : 214, 958, 918, 957, 0, 2293, 0, 917, 919, 0,
2633 : 0, 0, 920, 0, 0, 0, 0, 916, 914, 915,
2634 : 390, 0, 415, 388, 389, 391, 0, 0, 823, 0,
2635 : 0, 0, 0, 812, 0, 0, 0, 1446, 0, 132,
2636 : 630, 0, 0, 0, 625, 668, 673, 0, 0, 0,
2637 : 0, 446, 450, 454, 455, 456, 0, 0, 0, 0,
2638 : 146, 133, 0, 854, 0, 505, 0, 728, 1341, 1340,
2639 : 1162, 0, 178, 171, 0, 0, 689, 0, 1494, 0,
2640 : 0, 352, 807, 805, 804, 806, 0, 0, 0, 828,
2641 : 803, 0, 1762, 1764, 0, 0, 0, 0, 0, 0,
2642 : 563, 449, 0, 0, 508, 0, 0, 550, 0, 0,
2643 : 0, 0, 352, 0, 0, 0, 1104, 0, 1122, 1105,
2644 : 0, 0, 0, 0, 1156, 1163, 1157, 1135, 0, 0,
2645 : 602, 1587, 1588, 0, 1175, 0, 0, 1806, 1819, 876,
2646 : 0, 1847, 1846, 1848, 1848, 0, 1790, 0, 1831, 1856,
2647 : 1857, 1858, 1859, 1860, 1861, 0, 1855, 1799, 1173, 341,
2648 : 0, 341, 0, 341, 1177, 1357, 0, 874, 0, 0,
2649 : 341, 867, 869, 0, 871, 0, 1013, 507, 0, 0,
2650 : 0, 0, 1024, 600, 1029, 0, 1041, 1036, 1038, 0,
2651 : 1042, 704, 0, 0, 1565, 1558, 1560, 1559, 0, 0,
2652 : 1556, 2109, 866, 0, 569, 1209, 1210, 0, 0, 341,
2653 : 0, 1043, 0, 0, 975, 969, 0, 0, 973, 0,
2654 : 976, 0, 0, 1635, 2110, 2111, 0, 0, 0, 2145,
2655 : 0, 0, 2006, 0, 1982, 1984, 1996, 0, 2007, 1967,
2656 : 2008, 1986, 1988, 0, 2092, 0, 0, 1997, 0, 1931,
2657 : 1932, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2658 : 0, 0, 0, 0, 0, 0, 0, 0, 1947, 1946,
2659 : 1998, 2071, 0, 0, 2132, 2133, 1999, 0, 0, 2139,
2660 : 0, 0, 0, 2004, 2009, 0, 0, 0, 0, 2015,
2661 : 0, 2036, 0, 0, 0, 1957, 2102, 0, 0, 0,
2662 : 0, 0, 0, 0, 0, 1927, 1910, 1904, 0, 1908,
2663 : 1912, 0, 0, 0, 1898, 0, 0, 1896, 1922, 1892,
2664 : 0, 0, 1923, 0, 0, 0, 1975, 0, 0, 1630,
2665 : 1630, 1630, 1630, 1627, 0, 0, 0, 0, 2432, 2557,
2666 : 0, 1722, 1697, 1699, 1709, 1722, 1727, 1722, 1977, 1756,
2667 : 1978, 0, 2175, 0, 1668, 1639, 1639, 1639, 1974, 0,
2668 : 0, 0, 0, 1638, 1668, 189, 0, 222, 209, 2157,
2669 : 0, 1475, 0, 1642, 0, 2093, 1087, 0, 1644, 0,
2670 : 0, 1690, 1652, 1569, 1553, 0, 1551, 1538, 1540, 1539,
2671 : 0, 0, 1541, 2161, 0, 1551, 1533, 1577, 0, 0,
2672 : 1761, 0, 1576, 0, 1807, 1107, 1108, 0, 1131, 0,
2673 : 1053, 1054, 0, 1052, 0, 0, 0, 493, 1071, 0,
2674 : 0, 0, 774, 0, 0, 497, 0, 1451, 0, 1334,
2675 : 1261, 634, 635, 0, 647, 0, 656, 655, 0, 0,
2676 : 0, 0, 0, 0, 0, 642, 662, 606, 663, 665,
2677 : 0, 0, 664, 667, 670, 1273, 0, 702, 1249, 0,
2678 : 1302, 1137, 1276, 0, 1096, 0, 0, 0, 0, 0,
2679 : 0, 463, 301, 0, 0, 0, 361, 0, 285, 293,
2680 : 359, 299, 0, 1279, 333, 0, 304, 0, 297, 320,
2681 : 312, 321, 313, 332, 334, 0, 681, 682, 680, 676,
2682 : 0, 683, 685, 0, 350, 0, 0, 0, 1322, 0,
2683 : 1273, 0, 274, 0, 1245, 0, 1300, 0, 0, 0,
2684 : 0, 0, 0, 0, 0, 0, 0, 0, 1305, 0,
2685 : 0, 0, 0, 723, 0, 720, 0, 0, 138, 137,
2686 : 0, 144, 0, 0, 0, 0, 0, 1353, 0, 0,
2687 : 0, 0, 0, 0, 0, 279, 0, 0, 0, 0,
2688 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2689 : 0, 0, 0, 380, 343, 0, 831, 0, 0, 0,
2690 : 382, 0, 0, 0, 0, 0, 1321, 1230, 0, 0,
2691 : 0, 929, 0, 0, 0, 0, 0, 0, 393, 394,
2692 : 132, 392, 0, 0, 822, 2382, 2079, 2080, 820, 826,
2693 : 817, 819, 821, 818, 0, 825, 774, 0, 0, 809,
2694 : 814, 815, 0, 0, 0, 0, 0, 478, 0, 0,
2695 : 0, 469, 0, 0, 1163, 462, 465, 466, 0, 0,
2696 : 626, 629, 627, 628, 661, 0, 449, 485, 532, 0,
2697 : 148, 0, 0, 149, 147, 0, 0, 352, 725, 0,
2698 : 722, 0, 174, 445, 0, 693, 0, 0, 0, 1163,
2699 : 618, 745, 748, 741, 0, 827, 829, 801, 0, 673,
2700 : 0, 0, 575, 0, 505, 1526, 558, 0, 534, 449,
2701 : 532, 544, 543, 545, 0, 552, 351, 0, 0, 563,
2702 : 552, 0, 0, 1072, 1103, 0, 0, 0, 1153, 1158,
2703 : 1154, 0, 0, 1118, 0, 1155, 1136, 1090, 1373, 1374,
2704 : 1371, 1372, 0, 0, 0, 1579, 0, 1825, 0, 1843,
2705 : 1841, 1786, 1791, 1864, 878, 0, 861, 0, 863, 341,
2706 : 712, 0, 615, 341, 0, 0, 0, 0, 1023, 0,
2707 : 1039, 0, 0, 1006, 1045, 0, 0, 1563, 1561, 561,
2708 : 0, 1048, 0, 1007, 1047, 0, 0, 0, 0, 0,
2709 : 0, 0, 2114, 0, 2147, 2143, 0, 1979, 2115, 0,
2710 : 2127, 2126, 2072, 0, 0, 1930, 1942, 1943, 1944, 2128,
2711 : 0, 1952, 0, 0, 1939, 1940, 1941, 1933, 1934, 1935,
2712 : 1936, 1937, 1938, 1945, 2137, 2136, 2130, 2131, 0, 2001,
2713 : 2002, 2003, 2138, 2010, 0, 2245, 2037, 2014, 2030, 2029,
2714 : 0, 0, 0, 2017, 0, 0, 2026, 0, 2073, 2196,
2715 : 1868, 0, 0, 1895, 2142, 1913, 0, 0, 0, 1891,
2716 : 2092, 0, 0, 0, 0, 0, 1900, 0, 0, 0,
2717 : 2055, 2050, 2051, 2069, 0, 0, 0, 0, 0, 0,
2718 : 1621, 1620, 1626, 1722, 1727, 1722, 0, 0, 1602, 0,
2719 : 1709, 0, 1721, 1707, 1720, 0, 0, 1733, 1731, 0,
2720 : 1733, 0, 1733, 0, 1701, 0, 1723, 1703, 1720, 1705,
2721 : 0, 1748, 0, 2176, 1757, 0, 1681, 0, 0, 0,
2722 : 0, 2106, 2107, 0, 2104, 1969, 1681, 0, 2156, 1615,
2723 : 0, 1643, 1085, 1086, 1660, 1653, 2273, 1759, 0, 1552,
2724 : 0, 0, 0, 1543, 1549, 1531, 0, 0, 1573, 1551,
2725 : 1574, 1128, 0, 0, 1120, 1059, 1062, 1060, 1058, 1061,
2726 : 0, 0, 0, 774, 0, 0, 513, 0, 1079, 1079,
2727 : 0, 0, 499, 555, 1163, 777, 0, 0, 0, 775,
2728 : 341, 1226, 0, 657, 0, 0, 652, 650, 649, 651,
2729 : 0, 607, 1332, 1227, 0, 0, 0, 0, 1138, 0,
2730 : 0, 1248, 0, 282, 0, 459, 0, 294, 0, 290,
2731 : 0, 1274, 0, 0, 0, 0, 289, 363, 0, 360,
2732 : 0, 341, 341, 335, 678, 349, 354, 355, 358, 0,
2733 : 0, 0, 0, 0, 1278, 0, 0, 0, 0, 0,
2734 : 0, 0, 855, 838, 0, 0, 856, 857, 0, 0,
2735 : 0, 1180, 1181, 1179, 1307, 1308, 1313, 1310, 1309, 1312,
2736 : 1314, 1311, 0, 1233, 0, 0, 716, 142, 139, 140,
2737 : 143, 1259, 1242, 1297, 1348, 0, 0, 0, 1240, 0,
2738 : 1290, 0, 1255, 1251, 0, 0, 0, 0, 0, 1331,
2739 : 1269, 1295, 1330, 1267, 1293, 1266, 1292, 1268, 1294, 0,
2740 : 1260, 0, 1766, 835, 0, 0, 0, 341, 341, 834,
2741 : 714, 1244, 1299, 0, 0, 921, 0, 0, 923, 924,
2742 : 0, 926, 398, 418, 734, 794, 0, 0, 811, 773,
2743 : 0, 467, 0, 473, 476, 0, 0, 480, 481, 479,
2744 : 468, 1163, 505, 554, 0, 0, 784, 0, 624, 0,
2745 : 447, 0, 482, 0, 0, 451, 151, 150, 0, 0,
2746 : 0, 729, 733, 731, 730, 732, 727, 0, 718, 178,
2747 : 2326, 0, 0, 0, 0, 556, 1346, 0, 758, 802,
2748 : 0, 1765, 708, 0, 352, 571, 0, 0, 0, 447,
2749 : 563, 0, 452, 457, 458, 463, 0, 546, 533, 0,
2750 : 534, 0, 0, 560, 1418, 0, 564, 566, 0, 0,
2751 : 0, 1106, 1123, 1124, 0, 0, 1163, 0, 0, 0,
2752 : 0, 609, 341, 1787, 341, 341, 1206, 0, 872, 1035,
2753 : 1034, 1033, 601, 0, 1037, 706, 0, 562, 341, 0,
2754 : 983, 963, 982, 962, 964, 0, 961, 959, 960, 2146,
2755 : 1995, 2005, 2125, 2071, 2102, 0, 0, 1953, 0, 0,
2756 : 2000, 2547, 0, 0, 0, 0, 2034, 2035, 2016, 0,
2757 : 2372, 2021, 0, 0, 0, 1919, 1917, 1914, 0, 1915,
2758 : 1899, 0, 0, 1897, 1893, 0, 1924, 2041, 0, 2057,
2759 : 2054, 2068, 2102, 1625, 1624, 1623, 1622, 1708, 1704, 1706,
2760 : 0, 2552, 0, 1711, 1718, 0, 1700, 0, 1732, 1728,
2761 : 0, 1729, 0, 0, 1730, 0, 0, 1702, 0, 1718,
2762 : 0, 1755, 1639, 0, 0, 2046, 1972, 1973, 1970, 1639,
2763 : 2193, 2046, 223, 0, 0, 1550, 1535, 0, 1536, 1542,
2764 : 0, 0, 0, 0, 1578, 1571, 1121, 1129, 0, 0,
2765 : 0, 495, 0, 1163, 0, 0, 0, 1081, 1081, 0,
2766 : 1163, 554, 779, 778, 781, 776, 780, 1452, 0, 644,
2767 : 645, 659, 1250, 0, 1303, 1257, 0, 1567, 284, 0,
2768 : 674, 0, 0, 286, 362, 364, 287, 288, 291, 343,
2769 : 303, 296, 0, 0, 0, 1246, 0, 1301, 1253, 1324,
2770 : 1231, 1287, 0, 0, 844, 0, 0, 0, 0, 1325,
2771 : 1232, 1288, 0, 0, 0, 0, 1567, 0, 0, 0,
2772 : 0, 0, 0, 0, 1461, 0, 1277, 342, 833, 832,
2773 : 343, 381, 1271, 0, 922, 927, 928, 925, 0, 387,
2774 : 395, 419, 132, 0, 0, 1197, 1197, 0, 774, 0,
2775 : 0, 464, 477, 0, 554, 512, 0, 470, 0, 0,
2776 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2777 : 0, 0, 721, 720, 173, 0, 447, 0, 673, 0,
2778 : 752, 753, 747, 749, 0, 760, 764, 830, 0, 0,
2779 : 563, 449, 0, 0, 1524, 448, 0, 0, 460, 0,
2780 : 550, 534, 546, 0, 547, 0, 551, 0, 1411, 0,
2781 : 0, 0, 0, 1159, 0, 1165, 0, 1117, 1088, 1160,
2782 : 0, 1758, 0, 0, 0, 0, 613, 1198, 862, 864,
2783 : 713, 1040, 0, 1044, 341, 965, 2073, 1948, 0, 0,
2784 : 0, 0, 2011, 0, 2012, 2039, 2038, 2018, 2022, 0,
2785 : 2019, 2020, 1916, 1920, 1918, 1901, 2043, 0, 1639, 2070,
2786 : 1751, 0, 1754, 0, 0, 1710, 0, 0, 1712, 0,
2787 : 0, 1714, 1716, 0, 0, 0, 0, 0, 0, 2179,
2788 : 0, 2272, 2521, 2431, 0, 1667, 1669, 1672, 1674, 1673,
2789 : 1675, 1671, 1680, 0, 1604, 0, 1603, 2094, 1760, 0,
2790 : 0, 0, 1073, 0, 1575, 1041, 0, 341, 1079, 554,
2791 : 514, 2382, 515, 1078, 1080, 1084, 1084, 0, 554, 774,
2792 : 637, 0, 0, 267, 672, 0, 0, 295, 345, 357,
2793 : 0, 1567, 0, 0, 842, 851, 851, 839, 0, 0,
2794 : 858, 1234, 717, 0, 0, 263, 1256, 1252, 0, 0,
2795 : 1463, 1464, 0, 0, 0, 0, 0, 341, 930, 0,
2796 : 421, 428, 399, 404, 1455, 0, 1455, 0, 401, 405,
2797 : 1455, 400, 1455, 397, 398, 0, 1197, 0, 1194, 1193,
2798 : 772, 0, 503, 577, 471, 0, 523, 0, 0, 785,
2799 : 0, 0, 449, 532, 0, 492, 491, 487, 486, 488,
2800 : 489, 490, 484, 483, 0, 673, 848, 352, 1418, 715,
2801 : 0, 0, 686, 0, 750, 755, 754, 1455, 759, 0,
2802 : 0, 0, 673, 0, 559, 534, 449, 532, 453, 463,
2803 : 536, 0, 537, 552, 546, 550, 548, 549, 0, 0,
2804 : 0, 563, 1465, 1072, 0, 1164, 0, 0, 0, 0,
2805 : 0, 0, 1201, 608, 0, 0, 612, 603, 673, 1008,
2806 : 1949, 0, 1950, 0, 0, 0, 2024, 2023, 0, 2060,
2807 : 1756, 0, 0, 1750, 0, 0, 1780, 0, 0, 0,
2808 : 1719, 1735, 0, 1715, 1713, 0, 1724, 0, 1726, 1969,
2809 : 0, 0, 0, 1676, 0, 2045, 2047, 0, 1971, 0,
2810 : 1548, 1758, 0, 1545, 0, 1055, 0, 1056, 1081, 518,
2811 : 0, 1087, 1087, 505, 774, 496, 1258, 0, 675, 577,
2812 : 0, 298, 0, 275, 1254, 0, 0, 853, 853, 0,
2813 : 0, 0, 0, 375, 374, 369, 376, 0, 372, 368,
2814 : 367, 370, 0, 1457, 0, 1458, 1459, 1462, 383, 396,
2815 : 0, 426, 0, 424, 423, 425, 0, 412, 0, 0,
2816 : 0, 0, 0, 0, 386, 417, 1192, 1196, 1195, 0,
2817 : 0, 472, 0, 474, 509, 510, 511, 0, 475, 519,
2818 : 520, 0, 782, 0, 787, 0, 0, 0, 673, 531,
2819 : 697, 0, 0, 0, 1412, 0, 0, 557, 0, 761,
2820 : 762, 757, 0, 0, 709, 1418, 546, 0, 534, 461,
2821 : 0, 434, 550, 552, 0, 1415, 0, 565, 0, 352,
2822 : 1163, 1166, 1161, 1377, 0, 0, 611, 610, 703, 1951,
2823 : 2027, 2013, 2040, 2025, 2056, 0, 0, 0, 1749, 1752,
2824 : 0, 1783, 0, 0, 0, 0, 1769, 0, 1717, 0,
2825 : 0, 1725, 0, 0, 0, 1670, 0, 0, 1537, 1547,
2826 : 1074, 0, 0, 1084, 0, 774, 0, 1076, 1075, 512,
2827 : 498, 1567, 292, 344, 0, 0, 0, 849, 852, 840,
2828 : 841, 860, 859, 719, 1567, 0, 0, 365, 0, 0,
2829 : 422, 431, 0, 429, 402, 407, 0, 411, 409, 408,
2830 : 403, 406, 0, 502, 0, 0, 0, 0, 521, 0,
2831 : 522, 553, 0, 786, 0, 0, 0, 699, 847, 0,
2832 : 0, 447, 673, 751, 756, 0, 0, 1413, 550, 534,
2833 : 546, 0, 0, 538, 1079, 1079, 552, 432, 1416, 1417,
2834 : 0, 552, 1089, 1376, 1375, 1617, 0, 0, 2508, 2273,
2835 : 2480, 0, 2058, 2061, 2059, 2053, 0, 0, 1781, 1782,
2836 : 1767, 0, 0, 1771, 1734, 1747, 1678, 0, 1677, 2048,
2837 : 2049, 1758, 341, 1087, 0, 500, 516, 523, 268, 1567,
2838 : 843, 0, 264, 0, 373, 371, 1460, 427, 0, 410,
2839 : 764, 576, 528, 0, 527, 0, 525, 524, 783, 788,
2840 : 0, 673, 837, 1418, 687, 763, 0, 552, 546, 550,
2841 : 0, 535, 0, 1081, 1081, 436, 0, 1758, 1359, 1617,
2842 : 1358, 1360, 1368, 1365, 1367, 1366, 1364, 1204, 1205, 0,
2843 : 2065, 2064, 2063, 2067, 2066, 1753, 0, 1770, 1773, 0,
2844 : 0, 0, 1779, 1772, 1774, 0, 1745, 1679, 1544, 1057,
2845 : 1077, 0, 774, 276, 850, 0, 430, 0, 526, 530,
2846 : 529, 673, 698, 1414, 767, 435, 550, 552, 1079, 539,
2847 : 541, 540, 352, 1063, 0, 1369, 1363, 1602, 1589, 0,
2848 : 0, 0, 0, 1776, 1777, 1778, 1775, 0, 517, 501,
2849 : 0, 0, 700, 769, 0, 765, 768, 770, 771, 552,
2850 : 433, 1081, 552, 1361, 1617, 0, 0, 2062, 0, 0,
2851 : 366, 0, 735, 0, 437, 542, 1758, 1362, 0, 0,
2852 : 0, 1746, 0, 766, 1064, 0, 0, 1768, 767, 0,
2853 : 0, 0, 1202, 1203, 736
2854 : };
2855 :
2856 : /* YYPGOTO[NTERM-NUM]. */
2857 : static const yytype_int16 yypgoto[] =
2858 : {
2859 : -4744, -4744, -4744, 3499, -4744, -868, -1198, 2728, -711, -4744,
2860 : -4744, -4744, 1199, -4744, -4744, -4744, -4744, 3437, -4744, 1870,
2861 : -2334, -4744, -4744, 137, 3394, -1256, 108, 3000, 1526, -4744,
2862 : -1103, -4744, -4744, -560, 116, -4744, 3398, -1072, -4744, -4744,
2863 : -4744, -4744, -4744, -4744, -4744, -4744, -813, 1986, 2057, 1367,
2864 : 2946, -4038, -4744, -4744, -1368, -3085, -4744, 707, -4744, 736,
2865 : -4049, -4478, -4744, -924, -750, -4744, -4744, 1975, -4744, -4744,
2866 : -4744, 1192, 618, -432, -4744, -4744, -4744, -4744, -4744, -4744,
2867 : -4744, -606, -4744, -4744, -843, 151, 45, -2359, -3591, -4744,
2868 : -4744, 577, -249, -1385, -4744, -3454, -4744, 117, -2151, -4744,
2869 : -4744, -4744, -216, -1350, 1477, -4744, -673, -1123, 1776, -714,
2870 : -4744, -98, -4744, -817, -613, -610, -736, -3637, -4118, -4744,
2871 : -4744, -4744, -841, -4133, -4378, -3614, -3374, 1493, -4744, 154,
2872 : -3010, -3092, 155, 555, -4744, 158, 159, -4744, 573, -543,
2873 : -877, -1487, -4744, -839, -4744, -4744, -4744, -2827, -4744, -4744,
2874 : -4744, -4744, 71, -4744, -4744, -4744, -4744, 617, -4744, -4744,
2875 : -4744, -4744, -4744, -4744, -2597, 1951, 1953, -4744, -2954, -4744,
2876 : -850, -4744, 761, -2854, 1402, -4744, -4744, 1188, 3466, 601,
2877 : -4744, -4744, -4744, -4744, -4744, -4744, -4744, -1583, -4744, -4744,
2878 : -4744, -4744, 119, -185, -4744, -4744, -4744, -4744, -4744, -4744,
2879 : 165, -4744, 1971, 1185, -4744, -4744, -186, -4744, -4744, -4744,
2880 : -4744, -4744, -4744, -793, -930, -910, -4744, -2858, -4744, -4744,
2881 : -4744, -155, -4744, -4744, -4744, -4744, -4744, -4744, -720, -4744,
2882 : 1261, -3019, -4744, -4744, 1268, -4744, -4744, -4744, -4744, -4744,
2883 : -699, -84, 2781, -4744, -313, -504, -4744, -4744, -4744, -83,
2884 : -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -1043, 6336,
2885 : -789, -531, -4744, -4744, -4744, -4744, -4744, -2250, -4744, -4744,
2886 : -4744, -4744, -3565, -4744, 4369, 2011, -153, 166, -4744, -8,
2887 : 59, 3258, -1105, -2526, 558, -278, -4744, -4744, -4744, -2463,
2888 : -4744, -4744, -4744, -4744, -3390, 167, -4744, 3265, -4744, -3664,
2889 : -4387, -3407, -3921, -4278, -4415, -3379, -4744, -4744, -4744, -4744,
2890 : -254, -191, -4744, -4744, -1375, 2311, -1864, -4744, -2008, 610,
2891 : 1585, 3461, -2633, -140, 2764, -3671, -662, -3139, -4744, -4744,
2892 : -2241, -410, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744,
2893 : -577, 2685, -190, -4744, -4744, 3794, -4744, -4158, -4744, 3760,
2894 : -4744, -4744, -4744, -4744, 2601, 2603, -4744, 2605, -4744, -4744,
2895 : -1365, 1351, -4744, -4744, -4744, -4744, 799, -4744, -4744, -4744,
2896 : -4744, -4744, -4744, -4744, 1252, 789, -4744, -4744, -4744, -4744,
2897 : -4744, -689, -847, -4744, -4744, 168, -4744, -4744, -4744, -4744,
2898 : 2074, -864, -680, 3666, 169, -4567, -4744, -4744, -1045, -4744,
2899 : 3061, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744, -4744,
2900 : -2387, -4744, -4744, -4235, -4744, -4744, -4744, -4744, -4744, 2400,
2901 : 2401, 49, -39, -4744, -4744, -934, -4744, -533, -4744, 2679,
2902 : -4744, -4744, -4744, -4744, -1674, 170, 664, -4744, 3, -4744,
2903 : -4744, 33, -4744, 430, -4744, -4744, -3301, 4, -4744, -4744,
2904 : -4744, -4744, -4260, -4744, 10, -587, 958, -2692, -4744, 171,
2905 : 12, -4744, -4744, 2, 2632, -45, -47, -43, 1, 126,
2906 : 3134, -4744, 3172, -4744, -13, 1761, -4744, -4744, -777, -143,
2907 : -4744, 1682, -601, 2391, 3127, 3129, -4744, 1674, -4744, -4744,
2908 : 1681, -4744, 1011, -557, -397, -4744, -4744, -4744, -4744, 472,
2909 : -600, 2402, -4744, 3142, -4744, -4744, -4744, -1775, -2705, -3257,
2910 : 1040, -3296, -3231, 519, 507, -1404, -165, -15, -717, 3141,
2911 : -4744, -4744, 1054, -361, -4744, -4744, -358, -2708, 994, -4744,
2912 : -4207, -2234, 1056, -792, -646, -4744, -722, -4744, -524, 3635,
2913 : 2804, -1014, -4744, -4744, -969, 13789, -4744, -4744, -4744, 13940,
2914 : 14938, -4744, -4744, 15099, 15947, -4744, -849, 16004, 13576, -996,
2915 : -1730, -74, 12353, -1773, -1285, -2650, -4744, -3388, -2489, -4744,
2916 : -4744, -4744, -121, 1116, 304, -4744, -4226, -4744, -4744, 96,
2917 : -4744, -532, -4744, -519, -4744, -4744, -4744, -497, -4743, 2607,
2918 : -4744, -4744, -4744, -169, -4744, 17047, -2635, -4744, -732, -2618,
2919 : -2634, -3302, -1720, -4744, -4744, -4744, -4744, -4744, -4744, -4744,
2920 : -2423, -3167, -518, 1801, -4744, -4744, 1894, -4744, -4744, -4744,
2921 : -1271, 1751, -723, -2524, 1810, -4744, -724, 2610, -716, 6513,
2922 : -626, 5500, -480, -2201, -1192, -1508, -4744, 1555, -4744, 1537,
2923 : -16, -5, -145, 2467, -576, 1026, 10680, -611, -1147, 8668,
2924 : 12317, 11185, -3012
2925 : };
2926 :
2927 : /* YYDEFGOTO[NTERM-NUM]. */
2928 : static const yytype_int16 yydefgoto[] =
2929 : {
2930 : -1, 51, 52, 53, 54, 1481, 2401, 2271, 3150, 3151,
2931 : 55, 56, 1477, 57, 58, 59, 60, 1400, 61, 989,
2932 : 1623, 2416, 62, 2112, 756, 757, 758, 1933, 1934, 2350,
2933 : 1935, 1923, 1287, 1760, 1421, 730, 731, 1382, 1422, 64,
2934 : 65, 1281, 1914, 66, 67, 68, 1451, 1528, 1452, 1394,
2935 : 1669, 4172, 4891, 2963, 2239, 3199, 2964, 2965, 3569, 3570,
2936 : 3645, 4906, 4912, 4907, 4908, 69, 1544, 1545, 70, 71,
2937 : 3115, 3111, 3690, 4509, 4510, 4743, 569, 2378, 4512, 4513,
2938 : 4729, 4730, 4924, 5062, 5063, 2417, 1615, 3193, 3778, 3141,
2939 : 4261, 3142, 4262, 3143, 4263, 3127, 3725, 3726, 4206, 3727,
2940 : 3144, 4222, 4772, 3145, 2131, 4941, 2458, 1782, 1780, 4756,
2941 : 4035, 4036, 5035, 4948, 4949, 4950, 5166, 4224, 4267, 4268,
2942 : 4801, 5102, 5103, 3197, 3785, 4273, 4527, 2852, 73, 665,
2943 : 1649, 3294, 666, 2461, 604, 667, 2418, 78, 2451, 4943,
2944 : 2452, 1502, 2280, 4909, 3274, 79, 1013, 3536, 4596, 4826,
2945 : 4827, 80, 221, 81, 1631, 82, 83, 2396, 3134, 84,
2946 : 2148, 2869, 85, 86, 2898, 2899, 2900, 87, 3561, 4449,
2947 : 1453, 2952, 2953, 2954, 2955, 3591, 88, 1626, 2425, 2426,
2948 : 89, 90, 91, 92, 2567, 2568, 93, 2337, 94, 95,
2949 : 96, 97, 3625, 4136, 4238, 2994, 3157, 3750, 4236, 98,
2950 : 2419, 1639, 2441, 2442, 4248, 4552, 4553, 4554, 4787, 5093,
2951 : 4556, 4789, 4971, 4791, 5264, 5265, 4518, 3515, 4049, 100,
2952 : 4215, 4216, 4955, 101, 2146, 102, 103, 104, 1599, 2388,
2953 : 2389, 3699, 1592, 2381, 2382, 3764, 3765, 105, 3068, 106,
2954 : 4112, 4113, 605, 4962, 4897, 5049, 107, 108, 4116, 4117,
2955 : 109, 110, 111, 112, 113, 657, 658, 659, 1101, 1102,
2956 : 2824, 1053, 114, 2031, 115, 952, 953, 3092, 116, 1174,
2957 : 2611, 2612, 4311, 117, 690, 1120, 1121, 2420, 119, 699,
2958 : 2587, 701, 1795, 3276, 3277, 3843, 120, 121, 2564, 2590,
2959 : 122, 1387, 2122, 2123, 4030, 2421, 606, 1655, 2465, 2847,
2960 : 4671, 4672, 4427, 4685, 2777, 3468, 124, 607, 1426, 2195,
2961 : 1073, 1074, 2468, 3207, 2091, 2092, 2093, 3802, 2094, 3209,
2962 : 2095, 1360, 2096, 1023, 1024, 3215, 3216, 3217, 3798, 3805,
2963 : 2410, 4585, 4586, 125, 1424, 2193, 126, 127, 128, 1465,
2964 : 874, 1083, 1084, 129, 619, 620, 130, 4748, 131, 1027,
2965 : 132, 4594, 133, 134, 721, 722, 1158, 1159, 135, 136,
2966 : 2209, 3572, 137, 138, 139, 2988, 2989, 4128, 140, 141,
2967 : 1618, 1619, 142, 143, 3033, 3034, 144, 145, 146, 5190,
2968 : 5244, 5245, 5246, 3812, 5115, 5192, 1151, 148, 149, 150,
2969 : 187, 912, 913, 914, 2422, 4578, 152, 153, 1383, 1384,
2970 : 1385, 1386, 2117, 154, 155, 156, 157, 158, 159, 160,
2971 : 1603, 161, 162, 4722, 163, 164, 1563, 165, 1317, 1318,
2972 : 166, 167, 563, 774, 1321, 1327, 168, 669, 1114, 1115,
2973 : 1116, 1762, 169, 1154, 955, 670, 1109, 171, 671, 2075,
2974 : 2799, 3480, 3481, 3482, 3485, 4412, 4009, 672, 2795, 174,
2975 : 1802, 2573, 2576, 2791, 673, 2804, 2805, 2806, 3488, 674,
2976 : 692, 1016, 2474, 675, 1248, 179, 180, 181, 783, 777,
2977 : 778, 183, 1907, 2739, 708, 1334, 743, 744, 791, 3453,
2978 : 2043, 2044, 2066, 2067, 1343, 1344, 2056, 2058, 2779, 2059,
2979 : 2787, 2049, 3986, 4655, 4656, 4657, 4658, 4659, 4660, 4395,
2980 : 2062, 2063, 1346, 1347, 1348, 2071, 184, 2743, 3432, 3433,
2981 : 3434, 3962, 3963, 3977, 3973, 4379, 4641, 3435, 1149, 1354,
2982 : 4387, 5216, 3436, 4630, 4631, 4843, 3981, 3444, 3476, 3181,
2983 : 3182, 3183, 3437, 5015, 5016, 5213, 5214, 4845, 4846, 2097,
2984 : 1699, 1055, 1249, 1056, 1711, 1250, 1683, 1058, 1251, 1252,
2985 : 1253, 1061, 1254, 1255, 1256, 1064, 1675, 1257, 1258, 1693,
2986 : 1708, 1709, 1322, 4847, 1260, 1261, 1262, 3439, 1263, 3916,
2987 : 4343, 4332, 2671, 2672, 1930, 3912, 3377, 1902, 2729, 4664,
2988 : 4865, 4866, 3416, 3941, 4359, 4628, 5007, 5122, 5123, 1264,
2989 : 1265, 1266, 2726, 1898, 877, 1267, 3701, 1900, 2665, 2751,
2990 : 2752, 1805, 1825, 2618, 2634, 2635, 2645, 3336, 2653, 2658,
2991 : 3364, 3365, 2666, 2695, 1268, 2620, 2621, 3320, 1827, 1269,
2992 : 1310, 1942, 1361, 1822, 2690, 1277, 1270, 1271, 1796, 767,
2993 : 4637, 1105, 833, 2980, 2022, 916, 705, 1272, 1273, 1274,
2994 : 1275, 1458, 848, 1076, 1077, 559, 827, 850, 2956, 560,
2995 : 561, 829, 2027
2996 : };
2997 :
2998 : /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
2999 : positive, shift that token. If negative, reduce the rule whose
3000 : number is the opposite. If YYTABLE_NINF, syntax error. */
3001 : static const yytype_int16 yytable[] =
3002 : {
3003 : 621, 182, 177, 172, 173, 782, 841, 1019, 983, 706,
3004 : 175, 1501, 875, 1759, 2293, 1779, 694, 1349, 1457, 557,
3005 : 1278, 182, 694, 1140, 1141, 1142, 611, 735, 766, 1146,
3006 : 1282, 769, 1104, 876, 1689, 1719, 1549, 792, 2130, 1506,
3007 : 2028, 3140, 1367, 1323, 2749, 1311, 3454, 2204, 824, 1561,
3008 : 2196, 2982, 1312, 1117, 2352, 1695, 2061, 603, 1017, 2446,
3009 : 1628, 883, 3299, 3031, 1815, 1087, 3562, 1679, 1680, 668,
3010 : 3542, 2650, 2216, 1296, 903, 1500, 3806, 1688, 1098, 3163,
3011 : 2233, 700, 2205, 1527, 2817, 2819, 3760, 4001, 656, 3474,
3012 : 2028, 3065, 3438, 1554, 736, 3586, 968, 3588, 3776, 3928,
3013 : 1601, 3280, 4037, 2617, 1606, 3703, 3711, 4075, 3097, 1610,
3014 : 3098, 3487, 3447, 3703, 3102, 4032, 63, 3790, 4428, 1620,
3015 : 1427, 4038, 1095, 3107, 3108, 3109, 3445, 3446, 786, 4280,
3016 : 1111, 4286, 2579, 1644, 4570, 794, 2754, 2680, 1019, 795,
3017 : 3976, 3466, 729, 4270, 3438, 4221, 4634, 2466, 1029, 763,
3018 : 4686, 72, 4572, 3385, 74, 75, 2028, 2522, 76, 77,
3019 : 2314, 2189, 2023, 2318, 2319, 99, 118, 123, 147, 151,
3020 : 170, 176, 4534, 3959, 2103, 780, 4277, 755, 3773, 1423,
3021 : 3493, 4646, 3734, 4648, 4015, 1676, 1677, 4693, 4269, 1289,
3022 : 1342, 1345, 4803, 617, 1311, 4814, 1687, 3896, 676, 896,
3023 : -2312, -2348, 3153, 1666, 3974, 676, 3979, -1840, 1666, -2242,
3024 : 1640, 4964, -1848, 567, 1870, -2371, -2402, 2029, 676, 2023,
3025 : 4571, 3796, -1807, 2325, 3342, -1820, 4715, 4426, 2816, 1679,
3026 : 1680, -2214, 1695, -2315, 4231, 1122, 1666, -2215, 3088, -2214,
3027 : -2214, 4911, 676, 1876, -1845, -2215, -2215, 1396, -1835, 1688,
3028 : 617, 715, 4896, 3440, 2330, 617, -2186, 4724, 4725, 1126,
3029 : 2443, 2407, 2589, 1613, -2563, 3318, 617, 1666, 2207, -2185,
3030 : 4881, 4882, -2563, -2563, 1878, 617, 3728, 1761, 1710, 1641,
3031 : 1666, 2688, 1597, 3492, 1170, 787, 1533, 1589, 2124, 676,
3032 : 3297, 4313, 4314, 617, 4316, 4317, 4318, 2742, 3113, 1286,
3033 : -1848, 3758, 3543, 1701, 772, 3440, 2125, 617, 2688, 3251,
3034 : 1454, 3253, 1920, 1454, 617, 676, 3781, 3063, 676, 2455,
3035 : 2207, 1454, 617, 839, 4232, 4257, 676, 3284, 1534, 1666,
3036 : 2312, 1454, 617, 3286, 716, 2114, 676, 4824, 1676, 1677,
3037 : 2863, 1313, 1666, 2456, 1558, 2132, 1666, 788, -420, 4258,
3038 : -2369, -132, 1137, 908, -2077, 1397, -132, 5113, 4749, 565,
3039 : 5201, -2077, 682, 682, 2126, 1687, 2730, 2256, 3, 4,
3040 : 1870, 682, 4692, 2133, 1702, 5199, 1752, 682, 682, 1338,
3041 : 3130, 1144, 2127, 1870, 1339, 683, 683, 4861, 741, 2184,
3042 : 3342, 2047, 2207, 2789, 683, 682, 1338, 2040, 1396, 1876,
3043 : 683, 683, 3640, 2414, 3342, 2269, 4233, 2850, 5097, 2580,
3044 : 2272, 2347, 1876, 185, 2774, 2224, 876, 789, 683, 2846,
3045 : 1921, 4698, 2411, 3596, 2348, 3443, 2723, 4983, 2444, 2563,
3046 : 1878, 562, 1561, 2724, 1703, -2096, 3597, 1704, 977, 4805,
3047 : 4857, 4893, -2096, 1878, 987, 4783, 2448, 2225, 909, 1340,
3048 : 2349, 2390, 185, 4804, 2030, 1924, 186, 1001, 2569, 2207,
3049 : 1936, 1936, 4727, 2851, 1145, 2136, 1340, 3708, 876, 3489,
3050 : 1717, 1667, 617, 2277, 2335, -1072, 1667, 2207, 2341, 2185,
3051 : 5075, 2415, 717, 4435, 2207, 2048, 3131, 742, 1019, 1535,
3052 : 1341, 910, 1717, 1717, 2790, 186, 5202, 2257, 2775, 1314,
3053 : 2731, 1315, 4825, 1836, 1667, 1019, 1397, 1341, 5277, 1727,
3054 : 2552, 1559, 1043, 2134, 618, 1863, 3064, 1800, 2232, 1138,
3055 : 2128, 718, 719, 3114, 2457, 1864, 1123, 1125, 1127, 5114,
3056 : 4259, 1129, 1130, 1131, 1922, 1667, 3285, 1705, 3543, 1743,
3057 : 973, 1136, 3287, 1905, 2296, 1666, 911, 790, 1667, 954,
3058 : 4234, 2614, 4903, 1910, 1070, 4904, 2392, 3729, 2619, 2651,
3059 : 3089, 1464, 1019, 1717, 2217, 3797, 2175, 2669, 1797, 182,
3060 : 959, 956, 957, 4905, 1398, -2369, 2183, 4097, 958, 1807,
3061 : 5155, 2570, 2902, 4905, 3703, 1763, 1598, 1536, 4936, 2445,
3062 : 2173, 1571, 1145, 2028, 1816, 840, 2326, 1667, 1145, 2331,
3063 : 5033, 1801, 1018, 621, 5106, 3489, 5233, 773, 4131, 2036,
3064 : 1667, 2408, 720, 1819, 1667, 2689, 4235, 1668, 5143, 782,
3065 : 1308, 1674, 1696, 2080, 1309, 4348, 2129, 2332, 2288, 1118,
3066 : 568, 2291, 2864, 1399, 2313, 951, 3688, 3689, 1690, 2028,
3067 : 4511, 1598, 3405, -2369, 1706, 3508, 688, 689, 2250, 2278,
3068 : 1714, 1350, 2281, 2282, 4042, 2543, -2369, 2298, 3976, 1691,
3069 : 3132, 3236, 4230, 1707, 182, 1897, 688, 689, -1840, -2312,
3070 : -2348, 4982, 1119, 1692, 1124, 3357, 1128, 4976, -2242, 5059,
3071 : 1019, 1725, 1132, 1678, -2371, -2402, 1682, -2077, 1019, 1019,
3072 : 688, 689, -2214, 1148, 1745, 1152, 2351, 4276, -2215, 1388,
3073 : 2038, 2526, -2315, 1135, 4322, -1845, 3641, 1110, 4376, -1835,
3074 : 1560, 1866, 4380, 1113, 612, 1308, 1908, -2186, 4415, 1309,
3075 : 5177, 1171, 4367, 5186, 4369, -2563, 1690, 2757, 2686, 1279,
3076 : -2185, 1918, 1288, 1018, 1290, 2361, 794, 688, 689, 1573,
3077 : 795, 2502, 2551, 1748, 1578, 3133, 2778, 1691, 2072, 2073,
3078 : 4605, 2561, 2553, 2036, 1148, 2266, 1717, 4878, 1316, 2725,
3079 : 3842, 1694, 2192, 1455, 1456, 876, 1455, 1456, -2096, 2137,
3080 : 2571, 1598, 5076, 2977, 1455, 1456, 1479, 3438, 1371, 1566,
3081 : 3438, 5148, 4436, 1353, 1455, 1456, 182, 177, 172, 173,
3082 : 2572, 4064, 3637, 3189, 5152, 175, 796, 2307, 4101, 1480,
3083 : 2877, 5237, 1801, 5126, -132, -132, 2903, 1389, 3495, 1906,
3084 : 3496, 4568, 974, 1667, 4109, 4252, 2921, 3994, 1894, 1895,
3085 : 1896, 1897, 1319, 2547, 3773, 1403, 1071, 2399, 3752, 1892,
3086 : 1893, 1894, 1895, 1896, 1897, 789, 2484, 2485, 3354, 3355,
3087 : 3356, 3357, 4836, 5098, 617, 2627, 3538, 617, 4195, 3681,
3088 : 3352, 3353, 3354, 3355, 3356, 3357, 2218, 1372, 5269, 3438,
3089 : 5100, 4765, 4410, 1572, 4023, 1636, 4194, 2219, 1298, 2220,
3090 : 737, 2959, 2708, 2383, 3339, 3340, 617, 2404, 797, 3359,
3091 : 2749, 2749, 2749, 2978, 1285, 2969, 1637, 4592, 1293, 5223,
3092 : 4714, 2258, 2124, 3242, 2565, 4892, 789, 4529, 2265, 3682,
3093 : 3683, 63, 1324, 4114, 1466, 5240, 5241, 5085, 2850, 1373,
3094 : 2838, 4766, 2828, 3871, 1538, 3002, 3389, 3390, 4110, 4767,
3095 : 1539, 1701, 1471, 2960, 703, 859, 617, 2221, 5099, 1338,
3096 : 4944, 3049, 860, 861, 862, 2189, 72, 3050, 3440, 74,
3097 : 75, 3440, 3897, 76, 77, 2893, 2481, 4768, 2628, 1381,
3098 : 99, 118, 123, 147, 151, 170, 176, 2023, 1390, 4013,
3099 : -1807, 715, 3849, 185, 3511, 2293, 1764, 5179, 2126, 1766,
3100 : 4795, 1768, 1467, 1770, 3807, 1772, 2566, 613, 2459, 1776,
3101 : 5252, 5178, 4632, 5162, 662, 4129, 2127, 4291, 1598, 2405,
3102 : 2839, 39, 1702, 5285, 3003, 1391, 1705, 4219, -2183, 1340,
3103 : 729, 1520, 2548, 1374, 14, 2709, 186, 4115, 2400, 4530,
3104 : 2710, 1717, 2961, 4769, 2836, 5209, 1717, 4037, 4111, 2629,
3105 : 3440, 2894, 1540, 4038, 4770, 43, 1392, 4610, 3457, 3490,
3106 : 1472, 1632, 614, 3451, 2455, 2549, 4038, -1807, 19, 3051,
3107 : 1638, 4837, -668, 2796, 716, 5236, 2711, 3004, 702, 2437,
3108 : 704, 4945, 1703, 4245, 710, 1704, 2113, 4689, 2456, 724,
3109 : 732, 702, 4411, 739, 1732, 47, 732, 732, 615, 768,
3110 : 616, 771, 2878, 1633, 1689, 2558, 2559, 4635, 48, 2630,
3111 : 2970, 707, 2631, 1018, 1659, 2966, 3713, 3539, 798, 2613,
3112 : 1393, 2616, 3208, 1299, 3987, 3091, 564, 2623, 3462, 3610,
3113 : 1018, 49, 3005, 2637, 2638, 2639, 1733, 3850, 3438, 3700,
3114 : 2990, 1009, 4593, 2655, 2657, 50, 3002, 3700, 2667, 182,
3115 : 4638, 2528, 4946, 5210, 2128, 4642, 4957, 3628, 4644, 713,
3116 : 3808, 2438, 3716, 1765, 1803, 1767, 3146, 1769, 1864, 1771,
3117 : 2505, 1773, 1774, 1775, 1117, 4990, 2367, 3806, 1777, 4988,
3118 : 4754, 4573, 2516, 2483, 1378, 1705, 1379, 1018, 2550, 3035,
3119 : 4978, 1300, 2555, 2521, 2557, 4574, 2138, 2560, 4564, 4559,
3120 : 2962, 4956, 3563, 1541, 1166, 4421, 5163, 4310, 4220, 2712,
3121 : 3530, 1473, 2632, 5183, 5184, 3464, 2897, 3718, 2368, 4981,
3122 : 3052, 714, 717, 2479, 4038, 3003, 1308, 2893, -1807, 3006,
3123 : 1309, 4873, 782, 4771, 3803, 4977, 2520, 3611, 31, 908,
3124 : 1542, 2797, 3809, 4535, 826, 831, 831, 834, 1474, 831,
3125 : 4450, 2535, 3531, 843, 3741, 768, 2306, 3053, 878, 3055,
3126 : 2129, 718, 719, 1865, 1634, 768, 39, 831, 740, 4546,
3127 : 768, 1543, 1867, 582, 831, 4155, 768, 3128, 3004, 1475,
3128 : 2821, 5164, 1179, 1332, 582, 3342, 1909, 4536, 3054, -2564,
3129 : -2564, -2564, 1706, 5211, 2937, 2643, 3056, 1734, 5212, 3440,
3130 : 43, 4937, 4520, 2894, 39, 1018, 5165, 3721, 1926, 1927,
3131 : 3564, 1010, 2034, 1018, 1018, 1660, 4876, 2041, 2042, 2633,
3132 : 2046, 795, 795, 3880, 795, 3881, 4209, 3057, 3147, 876,
3133 : 975, 584, 976, 3005, 909, 4879, 2139, 4831, 43, 3059,
3134 : 47, 2992, 584, 3007, 4884, 3438, 2118, 5271, 3722, 3438,
3135 : 2142, 3008, 2938, 48, 3009, 4414, 2234, 2119, 2439, 4575,
3136 : 2143, 2907, 1635, 3723, 5229, 3061, 1353, 1011, 1661, 3478,
3137 : 3060, 2440, 4808, 1012, 2120, 4979, 49, 910, 47, 2369,
3138 : 4809, 2133, 1333, 3994, 2788, 764, 3810, 4874, 3612, 4399,
3139 : 50, 48, 2651, 2651, 4392, 1735, 3062, 2651, 2234, 5107,
3140 : 865, 866, 867, 3479, 868, 869, 870, 871, 872, 873,
3141 : 2993, -1807, 3742, 3532, 49, 4257, 4853, 2919, 4308, 1598,
3142 : -1807, 2140, 1678, -1807, 1366, 3613, -1807, -445, 2798, 3017,
3143 : 3006, 4895, 911, 1476, 2651, 2651, 4899, 4900, 4156, 4258,
3144 : 1912, 2696, 2893, 2697, 1598, 3394, 4938, 3395, 4077, 3882,
3145 : 1444, 2908, 3811, 2050, 3724, 3555, 3614, 775, 1928, 3883,
3146 : 4185, 2290, 1299, 1662, 4188, 4189, 2698, 4191, 2897, 4210,
3147 : 3396, 3018, 3148, 4699, 4514, 2822, 4785, 2370, 2823, 3021,
3148 : 3703, 3239, 3024, 4632, 1295, 4326, 595, 4327, 596, 2503,
3149 : 1685, 1686, 2051, 3016, 3249, 5030, 2050, 595, 4794, 596,
3150 : 1929, 2168, 3565, 3566, 2235, 4515, 3440, 1913, 2144, 5230,
3151 : 3440, 3533, 1614, 4213, 4038, 1663, 2121, 3149, 2894, 2297,
3152 : 4786, 4078, 5185, 1614, 3556, 2302, 3039, 5187, 3077, 3567,
3153 : 1300, 2236, 5037, 5038, 1539, 2051, 1019, 2309, 1511, -445,
3154 : 4810, 3240, 3348, 1166, 3007, 2145, 2235, 3638, 4246, 2052,
3155 : 2895, 3375, 3008, 2504, 2237, 3009, 2238, 3382, 2477, 3083,
3156 : 2293, 4045, 5046, 2554, 4251, 2514, -2205, 2699, 4207, 3554,
3157 : -155, 4045, 2700, 2236, 2995, 2996, 3397, 2701, 2999, 1512,
3158 : 4099, 3398, 3288, 2283, 784, 876, 876, 2896, 693, 1513,
3159 : 3010, 2232, 785, 5235, 693, 2053, 2237, -155, 2238, 2939,
3160 : 3876, 3877, 3878, 3879, 1664, 4939, 3884, 3885, 3886, 3887,
3161 : 3888, 3889, 3890, 3891, 3892, 3893, 3639, 2749, 3700, 917,
3162 : 5091, 4328, 5104, 1381, 4782, 768, 3862, 826, 1381, 5047,
3163 : 831, 3058, 834, 2232, 831, 4208, 1540, 582, 2053, 2424,
3164 : 4046, 878, 4127, 2429, 1705, 1484, 990, 3566, 831, 4100,
3165 : 4046, 2054, 2916, 5270, 4294, 831, 4295, 2940, 3289, 3010,
3166 : 2833, 799, 3932, 3933, 1444, 1642, 5188, 28, 3966, 3966,
3167 : 1870, 908, 1002, 4088, 2345, 1503, 4969, 1479, 835, 826,
3168 : 1356, -1638, 1485, 2897, 834, 5284, -1638, 1643, 5286, 843,
3169 : 4751, 837, 1381, 878, 2054, 584, 1381, 4047, 4025, 4048,
3170 : 1480, 4432, 3642, 876, -568, 1003, 3831, 4047, 4970, 4048,
3171 : 2702, 2346, 1504, 831, 3399, 2284, 4002, 1357, 2285, 3160,
3172 : 2703, 3159, 4963, 2212, 3400, 2213, 3169, -2564, -2564, -2564,
3173 : 1878, 3352, 3353, 3354, 3355, 3356, 3357, 1514, 1004, 5005,
3174 : 3967, 3967, 3172, 3173, 3174, 3175, 857, 3273, 1358, 4987,
3175 : 3438, -1638, 4038, 2207, 3180, 39, 39, 3438, 3514, 2785,
3176 : 2786, 892, 3438, 2208, 768, 3438, 909, 5006, 4433, 28,
3177 : 1515, 3968, 3968, 825, 1516, 4929, 4003, 768, 3226, 1162,
3178 : 4930, 2234, 842, 2214, 1005, 182, 3969, 3969, 893, 43,
3179 : 43, 3438, -1638, 34, 5220, 907, 3970, 3970, 4823, 1276,
3180 : 1276, 2283, 768, 732, 3438, 1517, 2537, 732, 2538, 910,
3181 : 2539, 4204, 2540, 4604, 2541, 1505, 2574, 3000, 2542, 3202,
3182 : 2268, 768, 3971, 3971, 5104, 768, 858, 4550, 4931, 47,
3183 : 47, 1276, 2409, 4431, 1113, 4205, 2586, 182, 959, 956,
3184 : 957, 1002, 768, 48, 4639, 4551, 958, 3967, 2636, 2234,
3185 : 595, 4960, 596, 39, 768, -1602, 2224, 3782, 39, 4720,
3186 : 3786, 4885, 3461, 4723, 911, 898, 49, -1602, 4974, 2234,
3187 : 4026, 4888, -1602, 3636, 1003, 3841, 601, 4027, 3968, 50,
3188 : 5189, 3806, 4721, 4439, 4440, 2502, 2315, 43, 2225, 682,
3189 : 1019, 4533, 43, 4382, 1291, 1308, 768, -2186, 2207, 1309,
3190 : 1748, 1529, 2585, 3970, 4998, 3972, 3972, 3754, 2215, 961,
3191 : 4028, 3440, 683, 4819, 768, 1916, 3842, -1602, 3440, 831,
3192 : 831, 2610, 4675, 3440, 4677, 1487, 3440, 47, 1479, 2235,
3193 : 4563, 4029, 47, 2284, 5111, 4544, 2285, -1602, 1530, 2758,
3194 : 48, 3220, 1531, 1019, 1488, 48, 967, 3341, 732, 732,
3195 : 1936, 1480, 3440, 1005, 2344, 4451, 2236, 3272, 1678, 3369,
3196 : 1366, 4455, 3438, 49, 4504, 3440, 4505, 4506, 49, 1532,
3197 : 4507, 2234, 4720, 4203, 2904, 826, 1870, 50, -1602, 2237,
3198 : 1690, 2238, 50, -1370, 1368, -1370, 843, -1602, 4640, 1362,
3199 : 878, 3392, 1740, 1489, 3260, 4721, 2879, 2235, 4174, 2883,
3200 : 4524, 1691, 1508, 964, 3452, 1876, 1690, 2390, 831, 4489,
3201 : 4720, 3607, 3972, 1748, 1741, 1692, 2232, 2235, 970, 4175,
3202 : 876, 1369, 1363, 3438, 2236, 3713, 1364, 1691, 4997, 3418,
3203 : 768, 3714, 4490, 4721, 5087, 4043, 1878, 831, 831, 1509,
3204 : 2871, 1694, 4157, 3715, 2236, 1690, 2242, 2237, 3608, 2238,
3205 : 1308, 676, 1370, 3035, 1309, 3494, 5040, 1365, 984, 768,
3206 : 768, 768, 691, 831, 4158, 826, 1691, 2237, 691, 2238,
3207 : 1510, 3716, 997, 3717, 2780, 4588, 2979, 1490, -567, 3609,
3208 : 3544, 2243, 2915, 3761, 2232, 1007, 676, 3177, 2651, 2651,
3209 : 2651, 2651, 3178, 3771, 2651, 2651, 2651, 2651, 2651, 2651,
3210 : 2651, 2651, 2651, 2651, 2232, 3571, 3455, 2800, 4967, 222,
3211 : 4087, 3314, 1319, 1482, 566, 2234, 2036, -1602, 3547, 2235,
3212 : 1006, 3906, 660, 3440, 3712, 1491, 3718, 2234, 1492, 3178,
3213 : 1546, 1018, 1754, 1550, 831, 1755, 831, 831, 1008, 2292,
3214 : 738, 2840, 2837, 2843, 2614, 979, 2236, 980, 2749, 1021,
3215 : 2651, 2651, 3719, 2749, 1026, 3001, 962, 3315, 3403, 2749,
3216 : 3449, 3450, 3316, 3438, 1276, -1662, -1662, 1487, 5174, 2237,
3217 : 1494, 2238, 3368, 1809, 3370, 3371, 1810, 2032, 1019, 1308,
3218 : 2033, 1069, 1328, 1309, 3440, 2901, 1488, 5272, 2673, 1078,
3219 : 1079, 2676, 3602, 5029, 1781, 1781, 1092, -1602, 3499, 768,
3220 : 1290, 702, 1085, 1678, 4073, 2104, 2232, 5145, 825, -1602,
3221 : 4065, 3720, 4679, 1496, -1602, 1099, 3721, 4253, 842, 4688,
3222 : 3635, 3438, 1812, 3852, 3080, 768, 1108, 4079, 1818, 4086,
3223 : 676, 2035, 3643, 1497, 2036, 1489, 2532, 2544, 575, 2036,
3224 : 2545, 1276, 1139, 1143, 693, 3503, 693, 5232, 693, 1150,
3225 : 1147, 2614, 3438, 1499, 693, 1133, 1134, 3722, 1823, -1602,
3226 : 50, 3908, 1153, 2235, 3757, 4102, 1155, 3819, 3820, 1487,
3227 : 2546, 1276, 3723, 2545, 1156, 2235, 1148, 1148, 1163, -1602,
3228 : 1148, 2234, 2577, 4728, 1157, 2578, 2771, 1019, 1488, 1748,
3229 : 2236, 3730, 3500, 3501, 1869, 2808, 1165, 1870, 2036, 1276,
3230 : 1276, 1276, 2236, 1276, 4022, 1164, 1166, 5262, 3698, 1678,
3231 : 2472, 2104, 2473, 2237, 4279, 2238, 3698, 1167, 1168, 1490,
3232 : -1602, 1169, 582, 1276, 3440, 2237, 1876, 2238, 2913, -1602,
3233 : 1172, 2914, 2984, -2564, 1173, 2985, 3118, 1489, 3521, 3119,
3234 : 3195, 3123, 3196, -1066, 3124, 1179, 3075, 1175, 3342, 1678,
3235 : 2232, 2104, 3343, 3344, 3345, 3227, 3266, 1878, 2036, 2545,
3236 : 3438, 768, 2232, 3724, 1276, 1294, 1297, 1491, 4776, 3093,
3237 : 1492, 1301, 3093, 3313, 3093, 1302, 2036, 4926, 3093, 4928,
3238 : 584, 2292, 3440, 4932, 1307, 4933, 3675, 3093, 3093, 3093,
3239 : 3322, 1303, 1276, 2036, 5259, 3328, 1276, 1276, 2036, 3329,
3240 : 4082, 3330, 2036, 3361, 2036, 1320, 2036, 768, 768, 2078,
3241 : 1325, 1276, 1494, 3440, 1326, 1336, 3374, 4040, 4041, 2036,
3242 : 1328, 1490, 3379, 1148, 693, 3380, 3164, 1352, 3589, 2235,
3243 : 4968, 3590, 3709, 732, 1329, 3594, 3618, 3306, 3595, 3619,
3244 : 3794, 1351, 4196, 3795, 4197, 3171, 3817, 3623, -1601, 2036,
3245 : 3208, 4584, 3241, 3243, 3244, 1496, 2236, 4264, 1355, -1602,
3246 : -1601, 2651, 3631, 5218, 3903, -1601, -2564, 3904, 2180, 1491,
3247 : 1359, -2564, 1492, 732, 3419, 1497, 3420, 3203, 2966, 2237,
3248 : 4098, 2238, 3302, 2292, 3700, 1018, 3190, 768, 2206, 3165,
3249 : 3438, 3421, 1366, 3422, 787, 1499, 768, 3913, 3858, 831,
3250 : 3914, 5273, 2990, 5274, 825, 3924, -1639, -2564, 2036, 5243,
3251 : -1601, -1639, 3747, 1401, 1494, 842, 2232, 1425, -2216, 3035,
3252 : 4011, 3440, 3346, 4012, 878, 4016, 768, 1428, 4017, 4021,
3253 : -1601, 4044, 2823, 1430, 2545, 595, 5142, 596, 1018, 768,
3254 : 1371, 4254, 768, 3347, 2545, 4305, 4323, 598, 1801, 2036,
3255 : 1019, 1328, 1019, -1590, 1885, 2502, 788, 1496, 600, 1431,
3256 : 1179, 1614, 3438, 3342, 1464, 1469, 876, 3343, 3344, 3345,
3257 : 4349, -1601, 4361, 2578, 1468, 2036, -1639, 1497, 768, 1335,
3258 : -1601, 1337, 4607, 4417, 3921, 4423, 2823, 1470, 4424, 831,
3259 : 831, 831, 831, 768, 1656, 3845, 4381, 1499, 4384, 5161,
3260 : 3740, 3731, 3743, 3733, 1476, 3348, 4815, 768, 5294, 4429,
3261 : 4430, 4565, 2545, 2545, 4566, 1483, 1478, -1639, 2353, 1372,
3262 : 768, 1561, 1486, 1521, 4612, 4614, 789, 4613, 2036, 1522,
3263 : 1019, 4087, 831, 831, 782, 4622, 3873, 3465, 2578, 4694,
3264 : -2564, 4777, 4695, 4816, 2545, 1547, 4817, 3, 4, 4832,
3265 : 1548, 3440, 2578, 831, 4840, 1869, 4850, 4841, 1870, 1748,
3266 : 4856, 4858, 178, 3768, 3768, 4871, 4919, 1537, 4872, 4920,
3267 : 3902, 1373, 768, 4959, 4989, 3838, 1915, 4872, 782, 1551,
3268 : 1556, 3800, 178, 693, 1557, 1562, 1565, 1876, 831, 831,
3269 : 831, 831, 1564, 4999, -2564, 849, 2578, 1567, 3988, 3989,
3270 : 3990, 768, 4372, 884, 1570, 1574, 5000, 662, 768, 3380,
3271 : -1601, 2353, 781, 1575, 1582, 3944, 904, 4448, 1878, 5001,
3272 : 1581, 826, 2036, 3440, 826, 1585, 1588, 14, 4080, 834,
3273 : 5012, 1594, 5018, 5013, 1276, 1748, -2564, 5021, 5045, 1591,
3274 : 3768, 2578, 2028, 1892, 1893, 1894, 1895, 1896, 1897, 3983,
3275 : 1596, 3851, 1602, 3424, 3425, 3426, 790, 5051, 3347, 1605,
3276 : 2578, 19, 4563, 5052, 5055, 1374, 2578, 5056, 5057, 843,
3277 : 843, 5058, 2614, 1018, 5083, 1607, 1598, 5084, 4061, 5112,
3278 : 878, 878, 1616, 782, 1617, 3391, 5130, 3698, 1622, 5131,
3279 : 3349, 3350, 3351, 1621, 3352, 3353, 3354, 3355, 3356, 3357,
3280 : 831, 831, -175, 182, 959, 956, 957, 831, 1625, 768,
3281 : 5134, 4126, 958, 1748, 5135, 1624, 1627, 2036, 1375, 2234,
3282 : 3348, 1629, 5136, 5138, 1630, 2036, 2036, -2564, 5157, 1645,
3283 : 5181, 5158, -2564, 5182, 1781, 5205, 5217, 5242, 3768, 4864,
3284 : 4872, 831, 5280, 843, 793, 5056, 5282, 768, 768, 5283,
3285 : 831, 5297, 4192, 4180, 5131, 1376, 1652, 768, 1654, 34,
3286 : 5304, 693, 1658, 5283, 768, 4830, 693, 693, -2564, 702,
3287 : 702, 1665, 204, 2591, 1671, 1672, 1673, 1276, 1674, 1276,
3288 : 1681, 1678, 1018, 1682, 1276, 1276, 1377, 2234, 1684, 1432,
3289 : 1698, 1276, 1276, 1276, 1700, 1433, 1712, 1276, 878, 1276,
3290 : 1276, 1276, 1276, 1276, 1276, 1713, 1276, 1716, 1276, 1276,
3291 : 1717, 4407, 1276, 1724, 1728, 1885, 1378, 1729, 1379, 1731,
3292 : 1736, 1737, 1739, 1744, 4066, 1747, 1750, 1276, 1276, 1276,
3293 : 1276, 31, 1753, 4344, 831, 1276, 1434, 1751, 1778, 1276,
3294 : 1806, 1811, 1276, 1813, 1814, 1276, 1276, 1276, 1276, 1276,
3295 : 1276, 1276, 1276, 1276, 1820, 1276, 1821, -1811, -1818, 39,
3296 : 1828, 768, 1276, 1830, 1276, -1808, 1380, 2235, 1829, 3592,
3297 : 1831, 768, 693, 1832, 39, 50, 1834, 1835, 3465, -1809,
3298 : 1836, 1837, 693, 4584, 1838, 1839, 3465, 1841, 1842, 1843,
3299 : 1436, 1844, 4103, 43, 2236, -1812, 1845, 1437, -1810, 1846,
3300 : 1438, -2564, 1847, 1901, 1848, 3349, 3350, 3351, 43, 3352,
3301 : 3353, 3354, 3355, 3356, 3357, 1850, 1851, 2237, 1903, 2238,
3302 : 3629, 1852, 1133, 1134, 1853, 1439, 1854, 1855, 1856, 1857,
3303 : 4302, 1905, 1919, 47, 1931, 2235, 1906, 663, 1915, 1939,
3304 : 2039, 1339, 2068, 2079, 1179, 1341, 48, 3342, 47, 2070,
3305 : 2081, 3343, 3344, 3345, 2232, 693, 2082, 1440, 693, 693,
3306 : 2083, 48, 2236, 2099, 2100, 2101, 2102, 2104, 3922, 49,
3307 : 2651, 2105, 4732, 2106, 2107, 2108, 2109, 2110, 2116, 4615,
3308 : 978, 2141, 3666, 664, 49, 2237, 978, 2238, 768, 2135,
3309 : 768, 2147, 1276, 2170, 2174, 2176, 2178, -2564, 50, 978,
3310 : 2179, 5011, 2177, 2181, 1892, 1893, 1894, 1895, 1896, 1897,
3311 : 2182, 2199, 2197, 3093, 2210, 4733, 1441, 2198, 1442, 2226,
3312 : 2228, 2211, 2232, 2222, 2229, 3691, 768, 2230, 1443, 2231,
3313 : 2232, 3702, 2240, 2802, 2245, 2807, 4540, 1444, 2241, 3702,
3314 : 4734, 693, 2244, 2251, 2246, 1018, 2252, 1018, 1445, 2261,
3315 : 2267, 2255, 2263, 2264, 2270, 2279, 2286, 4735, 2274, 2262,
3316 : 2289, 4736, 2275, 1444, 2327, 2304, 834, 2301, 2310, 2308,
3317 : 2328, 2287, 2294, 2311, 2333, 702, 2295, 702, 2355, 2299,
3318 : 2300, 4737, 2303, 2305, 4738, 1552, 2316, 2317, 1447, 1448,
3319 : 2329, 2339, 2334, 3766, 1276, 4226, 4227, 2343, 4739, 2357,
3320 : 2358, 2360, 4333, 2359, 2365, 2366, 826, 2364, 831, 831,
3321 : 2372, 2376, 2373, 843, 2374, 878, 1553, 831, 2375, 831,
3322 : 2379, 2385, 2384, 831, 3799, 1018, 768, 2377, 2386, 2391,
3323 : 178, 2394, 2395, 3789, 2398, 577, 2403, 2409, 2412, 4299,
3324 : 4300, 4301, 3347, 2423, 2427, 2428, 4264, 732, 2431, 2482,
3325 : 825, 1505, 2436, 825, 2447, 3815, 2454, 2206, 2450, 2490,
3326 : 2453, 2491, 2463, 2467, 2469, 2925, 2471, 2495, 2475, 2486,
3327 : 2507, 4454, 2936, 2480, 2501, 2488, 2489, 2493, 2494, 4740,
3328 : 1450, 768, 2496, 2497, 2498, 2500, 2499, 4741, 2509, 2511,
3329 : 2510, 2512, 2523, 2524, 2556, 2562, 2575, 1148, 842, 842,
3330 : 3938, 2588, 768, 2619, 3348, 2624, 2668, 2981, 2981, 2674,
3331 : 1870, 2678, 2687, 2693, 4405, 2705, 2707, 768, 768, 2728,
3332 : 2727, 768, 2742, 834, 732, 178, 781, 4742, 2762, 2759,
3333 : 2756, 2760, 1869, 2763, 2764, 1870, 2772, 788, 2773, 1871,
3334 : 1872, 1873, 831, 2782, 2781, 831, 2783, 2784, 2801, 2812,
3335 : 2813, 2841, 2794, 2651, 2815, 2844, 1874, 2846, 2865, 2870,
3336 : 2848, 2849, 2855, 2860, 1876, 2866, 768, 768, 2868, 2872,
3337 : 2888, 1877, 842, 2889, 2876, 2892, 2880, 2905, 2651, 2906,
3338 : 2911, 3066, 1291, 3069, 3071, 1295, 2927, 2922, 2928, 2941,
3339 : 2946, 4731, 2947, 2968, 2983, 1878, 782, 2973, 2625, 2626,
3340 : 2974, 3919, 3011, 2976, 2991, 2640, 2641, 3067, 3079, 3086,
3341 : 3090, 3087, 3094, 831, 3099, 782, 3105, 3110, 3112, 3116,
3342 : 3137, 831, 831, 3100, 3101, 3117, 3138, 3152, 831, 3156,
3343 : 3125, 3167, 3158, 2679, 3170, 3176, 3946, 3947, 3948, 3949,
3344 : 1276, 3154, 831, 3179, 3192, 793, 3184, 178, 3185, 3187,
3345 : 3186, 3188, 3200, 4403, 3198, 3201, 2206, 3465, 3204, 2981,
3346 : 3205, 768, 3218, 3219, 768, 3221, 5253, 5254, 3162, 3222,
3347 : 3225, 702, 3223, 3246, 1705, 3231, 3256, 3232, 3228, 3259,
3348 : 3230, 3465, 3279, 831, 1276, 3233, 3258, 3265, 3263, 3349,
3349 : 3350, 3351, 3268, 3352, 3353, 3354, 3355, 3356, 3357, 3234,
3350 : 3238, 3066, 3247, 3269, 1879, 3270, 3271, 1748, 1745, 1880,
3351 : 1714, 831, 1179, 3194, 2589, 3342, 3282, 3281, 3283, 3343,
3352 : 3344, 3345, 3290, 4446, 3293, 3298, 1145, 3300, 3305, 3307,
3353 : 1881, 1882, 1179, 3304, 3308, 3342, 1276, 3310, 3324, 3343,
3354 : 3344, 3345, 4549, 3325, 3326, 1883, 3327, 3331, 3332, 3334,
3355 : -2069, 3376, 3337, 3360, 3338, 3393, 4351, 3388, 4491, 4492,
3356 : 2036, 4494, 3401, 831, 3366, 831, 2981, 831, 2981, 4525,
3357 : 3415, 3410, 1179, 3473, 3477, 3342, 3373, 3387, 1884, 3343,
3358 : 3344, 3345, 3411, 3413, 3414, 3417, 3471, 3443, 3475, 2651,
3359 : 3497, 3513, 1885, 3448, 3484, 1886, 4352, 3467, 3502, 4485,
3360 : 3491, 1781, 3504, 3505, 3518, 3516, 3525, 3540, 3509, 3551,
3361 : 3702, 3541, 3557, 3553, 3558, 3559, 693, 2293, 3560, 3510,
3362 : 3574, 3575, 3577, 3583, 3585, 3584, 3593, 3603, 3622, 3624,
3363 : 3620, 3626, 3633, 3627, 4130, 3634, 3630, 1801, 768, 3644,
3364 : 3646, 4138, 3647, 3648, 4139, 4650, 4140, 3632, 826, 3649,
3365 : 3650, 4137, 4665, 3698, 843, 3651, 3661, 3653, 4923, 3656,
3366 : 3667, 3652, 3658, 3654, 3655, 3657, 3660, 831, 3659, 2325,
3367 : 3665, 3669, 3662, 3671, 4744, 1276, 3693, 3672, 1887, 3674,
3368 : 1276, 3680, 3704, 3739, 693, 3684, 4179, 3685, 3745, 3687,
3369 : 3707, 4542, 3748, 3738, 3093, 3749, 3751, 3756, 3093, 3093,
3370 : 3753, 3093, 3770, 1276, 1276, 1276, 3691, 3768, 1276, 4913,
3371 : 3347, 4915, 3783, 3767, 3780, 3777, 1276, 1276, 1276, 1276,
3372 : 3784, 3787, 3788, 3791, 3792, 3804, 3814, 3821, 3822, 1276,
3373 : 3347, 3834, 1276, 3823, 1276, 825, 3835, 3825, 3836, 3827,
3374 : 3844, 3837, 842, 3846, 3847, 1276, 1276, 3848, 3855, 1276,
3375 : 3839, 1823, 3856, 3857, 3859, 3860, 3861, 3865, 2651, 3363,
3376 : 3342, 878, -2068, 1276, 3362, 1276, 3874, 1276, 3899, 3900,
3377 : 3347, 3915, 3348, 3926, 1888, 3901, 3907, 1889, 1890, 1891,
3378 : 178, 1892, 1893, 1894, 1895, 1896, 1897, 1276, 789, 3945,
3379 : 3939, 768, 3348, 3956, 3333, 3985, 3980, 3927, 3442, 3998,
3380 : 1276, 1276, 1276, 4731, 3957, 4278, 4005, 3930, 3982, 4008,
3381 : 4010, 3965, 4014, 4024, 3995, 4031, 4052, 4000, 1276, 4274,
3382 : 3997, 1869, 3999, 4067, 1870, 4054, 4060, 4069, 4068, 1276,
3383 : 4070, 4055, 3348, 4072, 1276, 4074, 4076, 5067, 5069, 4090,
3384 : 1276, 4093, 4105, 1824, 4106, 4107, 4108, 693, 4118, 5061,
3385 : 3442, 4774, 4119, 1876, 3483, 693, 4120, 3486, 693, 2807,
3386 : -2564, 876, 4132, 1833, 4145, 4121, 4122, 4146, 4123, 4312,
3387 : 4312, 4312, 5206, 4312, 4312, 4312, 4134, 4154, 4682, 4135,
3388 : 4151, 4839, 4169, 4171, 1878, 4173, 4081, 4176, 4184, 4183,
3389 : 4186, 4187, 4200, 4190, 1849, 4214, 4223, 5129, 4229, 4237,
3390 : 1276, 4211, 2981, 4244, 2545, 4243, 4249, 1781, 4247, 1861,
3391 : 4250, 4834, 1179, 4256, 4266, 3342, 4271, 4700, 4285, 3343,
3392 : 3344, 3345, 4925, 4284, 4287, 4303, 4705, 4289, 4297, 4290,
3393 : 4272, 4307, 4288, 4292, 831, 4309, 831, 831, 831, 5014,
3394 : 4315, 4325, 4335, 4293, 4334, 4336, 4337, 4377, -2070, 4378,
3395 : 4385, 3402, 1863, 4320, 2651, 2651, 4330, 3349, 3350, 3351,
3396 : 4329, 3352, 3353, 3354, 3355, 3356, 3357, 4342, 4338, 4357,
3397 : 4386, 4370, 4375, 5159, 4373, 4390, 4391, 3349, 3350, 3351,
3398 : 4393, 3352, 3353, 3354, 3355, 3356, 3357, 4404, 4394, 4396,
3399 : 4397, 4413, 4398, -2564, 4420, 4416, 793, 793, -2564, 793,
3400 : 4418, 1670, 4425, 4426, 4452, 4434, 4453, 4456, 4463, 4400,
3401 : 4462, 4402, 4482, 4464, 4484, 4487, 4495, 3349, 3350, 3351,
3402 : 4508, 3352, 3353, 3354, 3355, 3356, 3357, 4475, 4478, 1697,
3403 : 4488, 4516, 4503, 4522, -2564, 4517, 4523, 4531, 4532, 4538,
3404 : 4849, 4537, 4406, 4408, 2338, 4526, 4539, 768, 4541, 1715,
3405 : 4545, 4849, 4547, 4419, 4555, 4558, 4562, 4569, 4579, 1726,
3406 : 3235, 3237, 4580, 4581, 4590, 1730, 3245, 4567, 4577, 4582,
3407 : 4595, 1738, 4601, 4602, 4608, 4609, 4611, 1746, 4616, 4618,
3408 : 1749, 1885, 4620, 1869, 4619, 5061, 1870, 4621, 4633, 4627,
3409 : -2564, -2564, -2564, 4643, 4663, 5074, 4636, 4670, 4673, 4676,
3410 : 4687, 4691, 4696, 4697, 4702, 4726, 4647, 4708, 1869, 4457,
3411 : 3347, 1870, 4667, 4690, 4709, 1876, 4713, 5268, 4718, 2413,
3412 : 4719, 4745, 1877, 693, 4747, 4753, 4210, 2430, 4755, 4757,
3413 : 4917, 4760, 4764, 4758, 4761, 4780, 5004, 4781, 4788, 2338,
3414 : 1876, 4790, 4763, 4793, 4797, 4799, 1878, -2564, 4822, 4806,
3415 : 1019, 831, 4807, 5020, 4820, 4818, 2981, 2981, 5022, 4835,
3416 : 5024, 4821, 4838, 4842, 4848, 4852, 5268, -2564, 4855, 4869,
3417 : 4860, 1878, 3348, 4859, 4862, 4887, 4889, 825, 4868, 4880,
3418 : 4864, 5268, 4890, 842, 4896, 4902, 4940, 4942, 4498, 4499,
3419 : 4947, 4952, 4954, 768, 768, 768, 4951, 4961, 3093, 4966,
3420 : 3093, 3093, 4972, 4973, 3093, 4980, 4984, 4985, 4986, 4993,
3421 : 768, 5010, 4994, 4995, 2506, 5003, 4996, 5002, 1869, 5023,
3422 : 5027, 1870, 5026, 5031, 5032, 5044, 5048, 5066, 5072, 5073,
3423 : 5077, 5034, 1781, 768, 5079, 5082, 5086, 2338, 3931, 5089,
3424 : 5039, 5090, 1781, 768, 768, 5096, 5108, 5109, 768, 5116,
3425 : 1876, 5110, 5117, 5151, 5125, 1879, 5019, -2564, 3940, 5127,
3426 : 1880, 768, 5160, -2564, 4557, 5146, 5153, 5075, 5076, 5169,
3427 : 1892, 1893, 1894, 1895, 1896, 1897, 5144, 5170, 5200, 5208,
3428 : -2564, 1878, 5215, 5228, 5225, -2564, 876, 5168, 4560, 5234,
3429 : 5251, 5249, 5250, 5255, 1054, 5257, 1883, 5261, 4583, 5276,
3430 : 5275, 5278, 5288, 5281, 5298, 5289, 5299, 2340, 5300, 5295,
3431 : 5296, 4704, 3161, 4706, 1330, 3458, 1429, 1519, 1054, 831,
3432 : 1518, -2564, 3568, 3465, 3456, 3040, 693, 3441, 2972, 4312,
3433 : 1938, 5260, 4096, 5036, 876, 4089, 5154, 3692, 768, 3078,
3434 : 4193, 1019, 4934, 1885, 5060, 5226, 4225, 4798, 3934, 4521,
3435 : 4773, 3267, 3507, 4746, 768, 5147, 4680, 3349, 3350, 3351,
3436 : 5222, 3352, 3353, 3354, 3355, 3356, 3357, 5080, 1885, 5078,
3437 : 5167, 5239, 3512, 4275, 1276, 4255, 5042, 4218, 3135, 3441,
3438 : 3136, 4094, 3587, 1276, 3755, 1507, 4242, 4543, 4779, 1276,
3439 : -2564, 1276, 3126, 3763, 1276, -2564, 4784, 5227, 5301, 1276,
3440 : 1276, 1276, 1276, 5293, 4759, 1276, 1276, 1276, 1276, 1276,
3441 : 1276, 1276, 1276, 1276, 1276, 3710, 178, 3705, 1276, 1276,
3442 : 5172, 4707, 2402, 4898, 5050, 4710, 709, 4875, 1276, 1887,
3443 : 4304, -2564, 1276, 1798, 2818, 4281, 1276, 4991, 3498, 2513,
3444 : 2582, 1093, 2583, 1020, 1276, 2584, 4668, 1276, 4124, 1276,
3445 : 3668, 1808, 3759, 1593, -2564, 4144, 5191, 5287, 1276, 2476,
3446 : 1304, 1276, 1276, 2767, 2536, 2768, 1276, 1276, 178, 4260,
3447 : 4669, 3942, 4409, 1276, 5141, 2115, 3702, 4018, 1885, 1911,
3448 : 768, 768, 768, 826, -2469, 3463, 3442, 3964, 3472, 2037,
3449 : 3470, 3964, 3978, 3964, 2793, 3996, 5137, 5025, 4401, 1276,
3450 : 3960, 2065, 2064, 4368, 2792, 1276, 1276, 1276, 4383, 4854,
3451 : 5009, 3954, 5008, 3955, 4019, 5207, 5290, 3093, 2069, 5128,
3452 : 4833, 5256, 2074, 2487, 5139, 1888, 3909, 4666, -2564, -2564,
3453 : -2564, 1276, 1892, 1893, 1894, 1895, 1896, 1897, 5140, 5124,
3454 : 2732, 3408, 2694, 3460, 3319, 2807, 2741, 1276, 3406, 0,
3455 : -2564, 0, 0, 0, 0, 0, 0, 1892, 1893, 1894,
3456 : 1895, 1896, 1897, 0, -2564, 4039, 1781, 1781, 0, 2353,
3457 : 0, 0, 0, 4778, -2469, 0, 0, 1019, 2809, 0,
3458 : 0, 0, 0, 0, 0, 0, 831, 831, 831, 831,
3459 : 0, 1569, 0, 0, 0, 0, 2825, 0, 0, 0,
3460 : 0, 0, 2829, 0, 0, 0, 2832, 0, 0, 0,
3461 : 0, 4811, 0, 0, 1584, 2206, 0, 0, 0, 0,
3462 : 0, 0, 0, 0, -2469, 0, 0, 0, 0, 1595,
3463 : 0, 1404, 2856, 4092, 0, 0, -2469, 0, 0, 782,
3464 : 0, -2469, 0, 0, 0, 0, -2469, 0, 0, 0,
3465 : 0, 1869, -2469, 0, 1870, -2469, 0, 0, -2469, 0,
3466 : -2564, 0, 0, 0, 0, 1405, 0, 1892, 1893, 1894,
3467 : 1895, 1896, 1897, 0, 0, 0, 2909, 0, 0, 0,
3468 : 0, 0, 0, 1876, 693, 0, -2469, 0, 0, 0,
3469 : -2564, 0, 693, 0, 978, 2508, 0, 0, 0, 0,
3470 : 0, 0, 0, 2515, 0, 0, -2469, 0, 0, 0,
3471 : 0, 0, 0, 0, 1878, 0, 3744, 0, 0, 2525,
3472 : 0, 0, 0, 0, 1407, 4177, 2957, 0, 0, 0,
3473 : 0, 0, 4910, 4910, 0, 0, 0, 178, 0, 0,
3474 : 0, 876, 0, 0, 0, 1018, 0, -2469, 0, 4927,
3475 : -2469, 0, 2986, 0, 0, 0, -2469, 0, 1408, 4935,
3476 : 2997, 0, 0, 0, 831, 0, 0, 978, 768, 0,
3477 : 831, 3012, 1276, 0, 0, 0, 0, 0, 0, 768,
3478 : 0, 3935, 0, 0, 0, 4217, 0, 0, 0, 0,
3479 : 0, 3025, 0, 1409, 0, 2206, 3027, 3818, 0, 0,
3480 : 3030, 0, 0, 0, 0, 0, 0, 0, 0, -2469,
3481 : 768, 0, 0, 3047, 3442, 0, 0, 0, 1804, 0,
3482 : 0, 0, 0, -2564, 3066, 4975, 3072, 1410, -2564, 0,
3483 : 0, 0, 0, 4265, 0, 0, 978, 0, 0, 0,
3484 : 0, 0, 0, 0, 768, 0, 0, 0, 2353, 0,
3485 : 0, 0, 1276, 1276, 0, 0, 0, 0, 1412, 0,
3486 : 707, 0, 0, 0, -2564, 0, 0, 0, 0, 0,
3487 : 0, 0, 0, 0, 693, 0, 0, 0, 0, 0,
3488 : 0, 2981, 0, 2981, 5150, 0, -2469, 0, 0, 0,
3489 : 768, 0, 0, 0, 0, 0, 0, 0, 34, 0,
3490 : 2190, 5028, 1414, 0, 0, 0, 0, 0, 0, 1415,
3491 : -2469, 1885, -2469, -2469, 0, 0, 0, 1416, 0, 1276,
3492 : 0, 0, 0, 0, 0, 2191, 0, 0, 0, 0,
3493 : 1276, 0, 0, 0, 0, 0, 1018, 1418, 0, 0,
3494 : 5064, 0, 5065, 0, 0, 1419, 5070, 5071, -2469, 0,
3495 : 0, -2469, -2469, -2469, 0, 5197, 5198, 0, 0, 0,
3496 : 1276, 0, 0, 0, 0, 1487, 0, 0, 0, 0,
3497 : 1276, 1276, 0, 0, 0, 0, 0, 1276, 1276, 0,
3498 : 0, 0, 1276, 0, 1488, 0, 0, 1276, 1404, 0,
3499 : 1276, 1276, 0, 0, 0, 1276, 4360, -2564, 0, 0,
3500 : 1420, 1276, 768, 768, 768, 768, 0, 2765, 0, 3964,
3501 : 3978, 3964, 3441, 1276, 3964, 3441, 0, 4374, 0, 0,
3502 : 0, 3442, 1405, 1869, 0, 3442, 1870, 0, 0, 0,
3503 : 0, 4389, 0, 1489, 4081, 0, 0, 0, 1276, 0,
3504 : 0, 2138, 0, 1276, 0, 0, 0, 0, 0, 1276,
3505 : 0, 0, 1406, 0, 0, 1876, 878, 0, 0, 3278,
3506 : 0, 0, -2564, 0, 1276, 0, 0, 0, 3483, 0,
3507 : 4910, 1179, 4910, 2807, 3342, 0, 0, 3292, 3343, 3344,
3508 : 3345, 1407, 0, 0, 0, 3278, 1878, 702, 0, 0,
3509 : 1276, 0, 0, -2564, 3441, 0, 4082, 0, 0, 0,
3510 : 1892, 1893, 1894, 1895, 1896, 1897, 0, 0, 0, 0,
3511 : 2981, 2981, 0, 0, 0, 1408, 178, 1490, 0, 0,
3512 : 0, 0, 5173, 0, 0, 0, 0, 0, 2206, 2254,
3513 : 0, 0, 0, 0, 0, 0, 0, 0, 5302, 5303,
3514 : 0, 4458, 0, 0, 0, 0, 182, 5196, 5193, 5194,
3515 : 1409, 0, 0, 4355, 0, 5195, 0, 0, 0, 0,
3516 : 0, 0, 0, 693, 0, 1491, 0, 0, 1492, 0,
3517 : 0, 0, 1018, 0, 5248, 0, 0, 0, 0, 2292,
3518 : 0, 4083, 0, 0, 1410, 0, 0, 693, 0, 0,
3519 : 1276, 0, 0, 693, 0, -2564, 0, 0, 0, 0,
3520 : -2564, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3521 : 1494, 0, 831, 0, 1411, 1412, 0, 0, 0, 0,
3522 : 182, 5196, 5193, 5194, 0, 0, 0, 831, 0, 5195,
3523 : 0, 0, 2356, 0, 0, 0, -2564, 0, 0, 4910,
3524 : 0, 0, 0, 0, 0, 0, 0, 2371, 5267, 0,
3525 : 0, 1413, 0, 1496, 0, 34, 1276, 0, 0, 1414,
3526 : 0, 0, 0, 1133, 1134, 0, 1415, 0, 2393, -2564,
3527 : 826, 0, 0, 1497, 1416, 0, 2206, 0, 0, 0,
3528 : 0, 0, 1417, 1885, 0, 1781, 0, 0, 0, 0,
3529 : 0, 0, 0, 1499, 1418, 4084, 0, 5267, 4085, 0,
3530 : 1276, 0, 1419, 0, 0, 182, 5196, 5193, 5194, 0,
3531 : 0, 1861, 5267, 831, 5195, 3194, 0, 0, 0, 0,
3532 : 0, 0, 0, 2470, 0, 0, 0, 0, 0, 0,
3533 : 0, 3348, 0, 0, 0, 0, 0, 2478, 0, 0,
3534 : 0, 0, 0, 3441, 0, 768, 0, 0, 0, 1054,
3535 : 0, 0, 0, 0, 0, 1861, 0, 1420, 0, 0,
3536 : 0, 2492, 3519, 0, 0, 0, 0, 0, 0, -2564,
3537 : 0, 0, 2694, 0, 0, 0, 0, 0, 0, 0,
3538 : 0, 1276, 0, 0, 0, 0, 0, 0, 3412, 0,
3539 : 1276, 0, 0, 0, 0, 0, 2232, 0, 0, 0,
3540 : 0, 2519, 1054, 0, 3431, 0, 693, 1276, 1276, 0,
3541 : 0, 1276, 0, 0, 0, 0, 0, 0, 0, 0,
3542 : 0, 0, 0, 0, 0, 0, 826, 0, 0, 3964,
3543 : 0, 0, 0, 3442, 178, 0, 0, 0, 3442, 0,
3544 : 0, 3442, 826, 0, 3066, 0, 4649, 0, 2149, 1276,
3545 : 1276, 0, 3224, 2150, 0, 0, 3431, 0, -2471, 3229,
3546 : 781, 0, 0, 0, 0, -2564, 0, 4039, 0, 1276,
3547 : 3598, 0, 1892, 1893, 1894, 1895, 1896, 1897, 0, 3248,
3548 : 4039, 878, 831, 831, 831, 0, 0, 2151, 0, 3254,
3549 : 0, 0, 0, 3255, 0, 0, 3257, 0, 0, 0,
3550 : 2152, 0, 3261, 0, 3262, 0, 0, 3264, 0, 0,
3551 : 0, 0, 0, 0, 0, 2153, 3349, 3350, 3351, 0,
3552 : 3352, 3353, 3354, 3355, 3356, 3357, 0, 0, 843, 878,
3553 : 0, 0, 0, 0, 0, 2681, 0, 558, 0, 0,
3554 : 0, 0, 0, 610, 558, 0, 0, 0, -2471, 661,
3555 : 3441, 558, 0, 0, 3441, 0, 2154, 558, 0, 712,
3556 : 0, 0, 0, 0, 0, 0, 3301, 2155, 0, 0,
3557 : 843, 0, 0, 768, 0, 0, 0, 0, 779, 779,
3558 : 0, 0, 0, 3676, 0, 4217, 0, 2156, 768, 0,
3559 : 0, 0, 2157, 768, 0, 2981, 0, 0, -2471, 0,
3560 : 0, 0, 2206, 0, 0, 0, 0, 0, 0, 0,
3561 : -2471, 0, 0, 0, 0, -2471, 0, 0, 768, 0,
3562 : -2471, 0, 4265, 0, 0, 0, -2471, 0, 0, -2471,
3563 : 0, 0, -2471, 0, 0, 0, 831, 768, 4039, 0,
3564 : 0, 0, 0, 0, 0, 0, 0, 693, 0, 0,
3565 : 0, 693, 0, 0, 0, 0, 0, 0, 0, 0,
3566 : -2471, 0, 2158, 0, 1276, 0, 0, 1276, 0, 1276,
3567 : 0, 0, 0, 0, 0, 0, 4472, 4473, 0, 0,
3568 : -2471, 4476, 4477, 0, 0, 0, 0, 0, 0, 1276,
3569 : 0, 0, 0, 0, 0, 1276, 2159, 0, 0, 3442,
3570 : 0, 0, 0, 4649, 0, 0, 0, 0, 0, 0,
3571 : 1276, 0, 0, 0, 2592, 0, 0, 0, 0, 4867,
3572 : 0, -2471, 0, 0, -2471, 838, 0, 0, 204, 0,
3573 : -2471, 0, 0, 880, 0, 881, 0, 885, 886, 0,
3574 : 889, 0, 891, 768, 0, 897, 0, 899, 0, 0,
3575 : 0, 0, 1869, 0, 0, 1870, 2338, 0, 0, 1871,
3576 : 1872, 1873, 2593, 0, 2160, 0, 0, 0, 0, 1276,
3577 : 0, 2161, 3840, 0, 2162, 0, 1874, 0, 831, 831,
3578 : 831, 831, 0, -2471, 1876, 0, 0, 0, 0, 0,
3579 : 0, 1877, 0, 0, 2594, 0, 0, 3854, 0, 4528,
3580 : 0, 0, 0, 0, 2163, 0, 0, 0, 0, 0,
3581 : 0, 2164, 0, 0, 0, 1878, 826, 2595, 2165, 2875,
3582 : 0, 0, 0, 0, 0, 2166, 0, 0, 2596, 3210,
3583 : 3517, 2890, 0, 0, 707, 0, 768, 0, 0, 3442,
3584 : 0, 0, 0, 0, 0, 0, 0, 0, 2597, 1404,
3585 : 2167, 0, 0, 2598, 0, 0, 0, 0, 0, 0,
3586 : -2471, 0, 0, 178, 0, 0, 0, 0, 0, 0,
3587 : 0, 2923, 0, 0, 0, 0, 0, 0, 0, 0,
3588 : 0, 0, 0, 1405, -2471, 178, -2471, -2471, 0, 0,
3589 : 0, 0, 0, 0, 1276, 0, 0, 826, 0, 0,
3590 : 1276, 0, 2599, 0, 5017, 0, 0, 0, 0, 0,
3591 : 3576, 1276, 3578, 0, 0, 0, 1276, 0, 1276, 0,
3592 : 1276, 0, -2471, 2600, 1879, -2471, -2471, -2471, 4039, 1880,
3593 : 0, 0, 0, 0, 831, 0, 878, 0, 0, 0,
3594 : 0, 0, 1407, 0, 0, 0, 1276, 0, 0, 0,
3595 : 1881, 1882, 0, 0, 0, 3441, 0, 0, 0, 0,
3596 : 0, 0, 3441, 0, 0, 1883, 0, 3441, 0, 0,
3597 : 3441, 4645, 0, 0, 0, 0, 1408, 0, 0, 0,
3598 : 0, 0, 0, 0, 0, 0, 1781, 1781, 0, 204,
3599 : 0, 0, 2601, 0, 0, 0, 3441, 0, 1884, 0,
3600 : 0, 0, 0, 0, 0, 0, 3211, 0, 0, 3441,
3601 : 0, 1409, 1885, 0, 0, 1886, 0, 831, 2602, 0,
3602 : 0, 0, 0, 0, 5094, 2603, 0, 0, 1276, 693,
3603 : 0, 0, 2604, 0, 0, 0, 5105, 4062, 0, 0,
3604 : 0, 3663, 0, 0, 0, 1410, 0, 3670, 0, 0,
3605 : 3121, 0, 0, 0, 0, 0, 0, 842, 0, 0,
3606 : 2605, 1276, 1276, 0, 0, 2606, 3066, 0, 2607, 1276,
3607 : 0, 0, 0, 1861, 0, 0, 1412, 0, 0, 1276,
3608 : 0, 0, 4867, 0, 0, 0, 2608, 2807, 0, 3953,
3609 : 0, 0, 3958, 0, 0, 0, 0, 0, 1887, 842,
3610 : 0, 843, 963, 0, 0, 0, 0, 0, 0, 0,
3611 : 972, 2609, 0, 0, 0, 831, 34, 985, 986, 0,
3612 : 1414, 992, 1781, 995, 996, 0, 0, 1415, 998, 0,
3613 : 0, 0, 0, 0, 0, 1416, 0, 0, 0, 1015,
3614 : 0, 3210, 0, 2191, 0, 0, 0, 2206, 4159, 0,
3615 : 0, 4162, 826, 0, 1025, 1418, 0, 1276, 0, 0,
3616 : 0, 1404, 0, 1419, 0, 0, 4039, 3441, 0, 0,
3617 : 0, 0, 843, 843, 1276, 0, 0, 1089, 0, 1091,
3618 : 0, 0, 0, 1276, 3213, 0, 0, 5017, 0, 1107,
3619 : 0, 0, 0, 0, 1888, 1405, 0, 1889, 1890, 1891,
3620 : 1276, 1892, 1893, 1894, 1895, 1896, 1897, 831, 0, 0,
3621 : 0, 1432, 0, 0, 3383, 0, 0, 1433, 1420, 0,
3622 : 0, 558, 3214, 2409, 0, 3824, 0, 3826, 3441, 3828,
3623 : 0, 0, 0, 0, 0, 0, 3832, 0, 5105, 831,
3624 : 831, -2485, 0, 3291, 0, 0, 0, 0, 4239, 0,
3625 : 0, 0, 1161, 0, 1407, 0, 0, 0, 1434, 0,
3626 : 3303, 0, 0, 0, 0, 1276, 1276, 2338, 0, 0,
3627 : 0, 0, 0, 3309, 0, 3853, 0, 0, 0, 0,
3628 : 0, 0, 0, 0, 0, 693, 693, 0, 1408, 0,
3629 : 0, 0, 0, 0, 0, 0, 0, 0, 693, 0,
3630 : 0, 0, 0, 0, 0, 0, 779, 1276, 0, 0,
3631 : 0, 0, 1436, 1276, 0, 0, 0, 0, 3211, 1437,
3632 : 0, 0, 1438, 1409, 0, 0, 0, 831, 0, 0,
3633 : 0, -2485, 0, 0, 5017, 0, 0, 826, 0, 3278,
3634 : 0, 0, 0, 0, 0, 4953, 0, 1439, 0, 0,
3635 : 0, 0, 0, 0, 0, 843, 843, 1410, 0, 0,
3636 : 0, 0, 0, 0, 0, 0, 0, 1395, 3441, 0,
3637 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 1440,
3638 : 0, -2485, 0, 0, 0, 0, 0, 0, 1412, 0,
3639 : 0, 0, 0, -2485, 0, 0, 0, 0, -2485, 0,
3640 : 0, 0, 0, -2485, 0, -128, 0, 0, 0, -2485,
3641 : 0, 0, -2485, 0, 0, -2485, 0, 0, 0, 0,
3642 : 3431, 0, 0, 1, 0, 0, 3441, 0, 34, 0,
3643 : 0, 0, 3212, 2, 0, 3, 4, 1555, 1441, 1415,
3644 : 1442, 0, 0, -2485, 0, 0, 0, 1416, 0, 178,
3645 : 1443, 5, 0, 1568, 0, 2191, 0, 3441, 0, 1444,
3646 : 0, 0, 0, -2485, 0, 1579, 0, 1418, 1580, 0,
3647 : 1445, 6, 0, 7, 8, 1419, 0, 0, 1583, 0,
3648 : 9, 0, 10, 1587, 0, 0, 0, 0, 0, 0,
3649 : 0, 1590, 0, 11, 0, 12, 3213, 1600, 3210, 0,
3650 : 1604, 0, 0, 0, -2485, 0, 0, -2485, 0, 0,
3651 : 1447, 1448, 13, -2485, 0, 14, 0, 0, 1404, 0,
3652 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 15,
3653 : 1420, 16, 0, 0, 3214, 17, 0, 3523, 1449, 0,
3654 : 1657, 18, 0, 0, 0, 0, 0, 0, 0, 19,
3655 : 0, 20, 1405, 0, 3534, 830, 832, 21, 0, 836,
3656 : 0, 0, 0, 0, 0, 3441, -2485, 0, 0, 0,
3657 : 0, 0, 0, 22, 0, 0, 0, 890, 0, 0,
3658 : 0, 0, 0, 0, 900, 0, 0, 0, 0, 23,
3659 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3660 : 0, 0, 1450, 4469, 0, 0, 0, 0, 0, 0,
3661 : 0, 1407, 0, 0, 0, 4479, 0, 707, 0, 0,
3662 : 0, 0, 0, 693, 0, 693, 0, 3431, 24, 25,
3663 : 842, 3431, 0, 0, 26, 0, 0, 0, 0, 0,
3664 : 0, 0, 0, -2485, 0, 1408, 27, 0, 3615, 0,
3665 : 3617, 558, 0, 558, 0, 558, 0, 558, 28, 558,
3666 : 558, 558, 0, 0, 0, 0, 558, -2485, 0, -2485,
3667 : -2485, 0, 178, 178, 0, 3211, 0, 1799, 0, 0,
3668 : 1409, 5176, 0, 0, 0, 0, 0, 0, 0, 0,
3669 : 0, 0, 0, 0, 0, 3441, 0, 0, 0, 0,
3670 : 29, 842, 842, 0, 0, -2485, 0, 0, -2485, -2485,
3671 : -2485, 0, 0, 30, 1410, 0, 0, 0, 0, 31,
3672 : 32, 0, 33, 0, 0, 0, 0, 34, 0, 0,
3673 : 0, 3664, 35, 0, 0, 36, 0, 0, 0, 0,
3674 : 37, 0, 856, 1868, 0, 1412, 38, 39, 1869, 0,
3675 : 0, 1870, 888, 0, 40, 1871, 1872, 1873, 41, 3678,
3676 : 0, 0, 0, 906, 0, 0, 0, 3441, 42, 0,
3677 : 0, 0, 1874, 0, 0, 1875, 0, 0, 0, 0,
3678 : 1876, 43, 0, 0, 0, 34, 0, 1877, 0, 1414,
3679 : 0, 0, 693, 0, 0, 0, 1415, 0, 0, 0,
3680 : 44, 5266, 0, 0, 1416, 4296, 3278, 0, 0, 4298,
3681 : 45, 1878, 2191, 0, 0, 0, 46, 0, 0, 0,
3682 : 0, 47, 0, 0, 1418, 0, 0, 0, 0, 0,
3683 : 0, 0, 1419, 0, 48, 0, 0, 0, 0, 0,
3684 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3685 : 5266, 0, 0, 3213, 0, 779, 0, 49, 0, 2923,
3686 : 0, 1432, 0, 0, 0, 5266, 5292, 1433, 0, 0,
3687 : 0, 50, 0, 0, -128, 0, 0, 0, 0, 0,
3688 : 1523, 0, 0, 0, 842, 842, 0, 1420, 0, 0,
3689 : 3816, 3214, 0, 0, 0, 0, 0, 0, 0, 0,
3690 : 0, 0, 0, 0, 1869, 0, 0, 1870, 1434, 0,
3691 : 0, 1871, 1872, 1873, 0, 3278, 0, 3278, 178, 0,
3692 : 1879, 0, 0, 0, 0, 1880, 0, 0, 1874, 0,
3693 : 0, 2169, 0, 0, 0, 0, 1876, 0, 0, 0,
3694 : 966, 0, 0, 1877, 969, 0, 1881, 1882, 0, 0,
3695 : 0, 0, 0, 0, 0, 0, 0, 0, 994, 0,
3696 : 1524, 1883, 1436, 0, 0, 999, 0, 1878, 0, 1437,
3697 : 0, 1869, 1438, 0, 1870, 0, 0, 0, 1871, 1872,
3698 : 1873, 0, 0, 0, 0, 0, 3866, 0, 0, 0,
3699 : 0, 0, 0, 0, 1884, 1874, 0, 1439, 0, 2259,
3700 : 0, 0, 0, 1876, 0, 0, 0, 3875, 1885, 0,
3701 : 1877, 1886, 0, 0, 1869, 0, 0, 1870, 0, 0,
3702 : 0, 1871, 1872, 1873, 0, 0, 4437, 0, 0, 1440,
3703 : 0, 0, 3898, 0, 1878, 0, 0, 0, 1874, 3431,
3704 : 0, 0, 0, 0, 3431, 0, 1876, 3431, 0, 0,
3705 : 0, 0, 0, 1877, 0, 0, 0, 0, 0, 0,
3706 : 0, 0, 0, 0, 0, 0, 1804, 4460, 4461, 0,
3707 : 0, 0, 0, 0, 0, 0, 1879, 1878, 0, 0,
3708 : 0, 1880, 0, 0, 0, 0, 0, 0, 1441, 0,
3709 : 1442, 0, 0, 0, 1887, 0, 0, 0, 0, 0,
3710 : 1443, 0, 1881, 1882, 0, 0, 915, 0, 0, 1444,
3711 : 0, 0, 960, 0, 0, 0, 0, 1883, 0, 0,
3712 : 1445, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3713 : 0, 0, 0, 0, 0, 0, 0, 2397, 0, 0,
3714 : 0, 0, 0, 1879, 0, 0, 0, 0, 1880, 0,
3715 : 1884, 0, 0, 4501, 4502, 0, 0, 1525, 0, 0,
3716 : 1447, 1448, 0, 0, 1885, 0, 0, 1886, 0, 1881,
3717 : 1882, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3718 : 0, 0, 0, 0, 1883, 0, 1879, 0, 1526, 0,
3719 : 1888, 1880, 0, 1889, 1890, 1891, 0, 1892, 1893, 1894,
3720 : 1895, 1896, 1897, 178, 0, 0, 0, 0, 0, 0,
3721 : 0, 0, 1881, 1882, 0, 0, 0, 1884, 0, 0,
3722 : 0, 0, 0, 0, 0, 0, 0, 1883, 0, 1462,
3723 : 1463, 1885, 0, 0, 1886, 0, 0, 0, 0, 0,
3724 : 0, 178, 0, 0, 0, 0, 0, 0, 0, 0,
3725 : 1887, 0, 1450, 0, 0, 0, 0, 0, 0, 2517,
3726 : 1884, 2518, 0, 1432, 1160, 0, 0, 0, 4597, 1433,
3727 : 4598, 4599, 0, 0, 1885, 0, 1487, 1886, 2529, 0,
3728 : 2530, 0, 0, 0, 4603, 0, 0, 0, 0, 1283,
3729 : 0, 0, 0, 0, 558, 1488, 558, 0, 558, 0,
3730 : 558, 0, 558, 0, 0, 3431, 558, 0, 1306, 0,
3731 : 1434, 0, 0, 0, 0, 0, 1861, 1887, 1586, 0,
3732 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 1331,
3733 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3734 : 0, 0, 0, 0, 1489, 0, 1888, 1611, 1612, 1889,
3735 : 1890, 1891, 0, 1892, 1893, 1894, 1895, 1896, 1897, 0,
3736 : 1887, 0, 0, 2677, 1436, 0, 0, 0, 0, 0,
3737 : 0, 1437, 0, 1653, 1438, 0, 0, 0, 0, 0,
3738 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3739 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 1439,
3740 : 0, 1461, 0, 0, 0, 0, 0, 0, 0, 0,
3741 : 4228, 0, 0, 1888, 0, 0, 1889, 1890, 1891, 0,
3742 : 1892, 1893, 1894, 1895, 1896, 1897, 0, 0, 1490, 0,
3743 : 3706, 1440, 0, 0, 0, 0, 0, 0, 0, 0,
3744 : 0, 0, 0, 0, 0, 3431, 1721, 1723, 0, 0,
3745 : 0, 0, 0, 0, 0, 178, 1888, 0, 0, 1889,
3746 : 1890, 1891, 0, 1892, 1893, 1894, 1895, 1896, 1897, 0,
3747 : 0, 0, 0, 3867, 0, 0, 1491, 0, 0, 1492,
3748 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3749 : 1493, 0, 1442, 0, 0, 0, 0, 0, 0, 0,
3750 : 0, 0, 1443, 0, 0, 0, 0, 0, 0, 0,
3751 : 0, 1444, 0, 0, 0, 0, 0, 1609, 0, 0,
3752 : 0, 1494, 1445, 0, 0, 0, 0, 0, 0, 3278,
3753 : 0, 178, 0, 0, 0, 0, 0, 0, 0, 0,
3754 : 0, 0, 0, 0, 0, 0, 1647, 1650, 1651, 0,
3755 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 1495,
3756 : 0, 0, 1447, 1448, 1496, 0, 0, 0, 0, 0,
3757 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3758 : 4829, 0, 0, 0, 1497, 0, 1869, 0, 0, 1870,
3759 : 1498, 0, 1804, 1871, 1872, 1873, 0, 0, 0, 0,
3760 : 0, 0, 0, 0, 1499, 0, 0, 0, 0, 0,
3761 : 1874, 0, 2810, 2811, 0, 0, 0, 0, 1876, 0,
3762 : 1869, 0, 0, 1870, 0, 1877, 0, 1871, 1872, 1873,
3763 : 0, 2826, 2827, 0, 0, 0, 2830, 2831, 0, 0,
3764 : 0, 2834, 0, 0, 1874, 0, 0, 0, 0, 1878,
3765 : 0, 0, 1876, 4877, 1450, 2845, 0, 0, 0, 1877,
3766 : 0, 0, 2854, 0, 0, 0, 2857, 2858, 0, 0,
3767 : 2861, 2862, 0, 0, 0, 0, 0, 2867, 0, 0,
3768 : 0, 0, 0, 1878, 0, 0, 1283, 0, 0, 0,
3769 : 2884, 0, 2886, 0, 0, 0, 0, 0, 1869, 0,
3770 : 0, 1870, 0, 4918, 0, 1871, 1872, 1873, 0, 0,
3771 : 0, 2910, 1283, 0, 0, 0, 2912, 4438, 0, 0,
3772 : 0, 0, 1874, 0, 0, 0, 0, 0, 0, 2917,
3773 : 1876, 0, 0, 0, 0, 0, 0, 1877, 2924, 0,
3774 : 2926, 0, 0, 2929, 2932, 2934, 0, 0, 0, 0,
3775 : 2942, 2945, 178, 0, 0, 4459, 0, 0, 1879, 0,
3776 : 2958, 1878, 0, 1880, 0, 2967, 0, 0, 0, 0,
3777 : 2971, 0, 0, 0, 0, 0, 4474, 178, 0, 0,
3778 : 0, 0, 0, 0, 1881, 1882, 2987, 0, 0, 0,
3779 : 0, 0, 1879, 0, 2998, 0, 0, 1880, 0, 1883,
3780 : 0, 0, 0, 0, 0, 3013, 0, 0, 0, 2227,
3781 : 0, 0, 0, 0, 0, 0, 0, 3020, 1881, 1882,
3782 : 3023, 0, 0, 0, 0, 3026, 0, 0, 0, 0,
3783 : 3028, 3029, 1884, 1883, 0, 3032, 0, 0, 3036, 0,
3784 : 0, 4500, 3043, 3044, 3045, 3046, 1885, 3048, 1940, 1886,
3785 : 0, 5247, 0, 0, 0, 0, 0, 0, 0, 0,
3786 : 3073, 3074, 0, 3076, 0, 0, 1884, 0, 0, 0,
3787 : 1879, 0, 0, 3084, 3085, 1880, 0, 0, 0, 0,
3788 : 1885, 0, 0, 1886, 0, 0, 0, 0, 0, 0,
3789 : 0, 0, 0, 0, 0, 2076, 1881, 1882, 0, 2320,
3790 : 2321, 2322, 2323, 0, 0, 0, 0, 0, 0, 0,
3791 : 0, 1883, 0, 0, 0, 0, 0, 0, 0, 0,
3792 : 0, 0, 0, 0, 0, 3129, 0, 0, 0, 0,
3793 : 0, 0, 1887, 0, 0, 0, 178, 0, 0, 0,
3794 : 0, 1432, 2362, 2363, 1884, 0, 0, 1433, 0, 0,
3795 : 0, 0, 4589, 3166, 0, 0, 0, 0, 1885, 0,
3796 : 0, 1886, 0, 2387, 0, 0, 1887, 0, 0, 0,
3797 : 0, 0, 0, 0, 2200, 0, 0, 0, 0, 0,
3798 : 0, 0, 0, 2223, 0, 0, 0, 0, 1434, 0,
3799 : 0, 0, 0, 0, 1804, 0, 0, 0, 2432, 2433,
3800 : 2434, 2435, 0, 0, 0, 0, 0, 0, 0, 0,
3801 : 0, 0, 0, 2260, 0, 0, 0, 0, 0, 0,
3802 : 0, 0, 0, 0, 0, 0, 2273, 0, 1888, 2276,
3803 : 0, 1889, 1890, 1891, 0, 1892, 1893, 1894, 1895, 1896,
3804 : 1897, 0, 1436, 0, 1887, 3918, 0, 0, 0, 1437,
3805 : 0, 0, 1438, 0, 0, 0, 0, 0, 0, 0,
3806 : 0, 0, 1888, 0, 0, 1889, 1890, 1891, 0, 1892,
3807 : 1893, 1894, 1895, 1896, 1897, 0, 0, 1439, 0, 4004,
3808 : 2324, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3809 : 0, 0, 1869, 0, 2342, 1870, 0, 0, 0, 1871,
3810 : 1872, 1873, 0, 0, 0, 0, 0, 2354, 0, 1440,
3811 : 0, 2527, 0, 3296, 0, 0, 1874, 2531, 5219, 0,
3812 : 0, 0, 0, 0, 1876, 0, 0, 0, 0, 0,
3813 : 0, 1877, 0, 0, 0, 0, 0, 0, 0, 0,
3814 : 1888, 0, 3312, 1889, 1890, 1891, 0, 1892, 1893, 1894,
3815 : 1895, 1896, 1897, 0, 0, 1878, 0, 4033, 0, 2406,
3816 : 0, 0, 0, 0, 0, 0, 0, 0, 1441, 0,
3817 : 1442, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3818 : 1443, 0, 0, 0, 0, 0, 0, 0, 2449, 1444,
3819 : 0, 0, 0, 0, 0, 2462, 0, 0, 0, 0,
3820 : 1445, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3821 : 0, 0, 0, 0, 0, 0, 0, 0, 1869, 0,
3822 : 0, 1870, 0, 0, 0, 1871, 1872, 1873, 0, 0,
3823 : 0, 0, 0, 0, 0, 0, 0, 2171, 0, 0,
3824 : 1447, 1448, 1874, 0, 2691, 0, 0, 0, 0, 0,
3825 : 1876, 0, 0, 1869, 0, 0, 1870, 1877, 0, 0,
3826 : 1871, 1872, 1873, 0, 1879, 0, 0, 0, 2172, 1880,
3827 : 0, 0, 0, 0, 1804, 0, 0, 1874, 0, 0,
3828 : 0, 1878, 0, 0, 0, 1876, 0, 0, 0, 0,
3829 : 1881, 1882, 1877, 0, 0, 0, 2534, 0, 0, 0,
3830 : 0, 0, 0, 0, 0, 1883, 0, 0, 0, 0,
3831 : 0, 0, 0, 0, 3664, 0, 1878, 0, 0, 0,
3832 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3833 : 0, 0, 1450, 0, 1283, 1283, 0, 0, 1884, 0,
3834 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3835 : 0, 2581, 1885, 0, 0, 1886, 0, 0, 0, 0,
3836 : 0, 0, 0, 0, 0, 0, 0, 0, 1804, 0,
3837 : 0, 0, 0, 1804, 1804, 0, 0, 0, 0, 0,
3838 : 1869, 0, 0, 1870, 0, 0, 0, 1871, 1872, 1873,
3839 : 1879, 0, 0, 0, 0, 1880, 3520, 0, 0, 0,
3840 : 3522, 0, 0, 0, 1874, 0, 3524, 0, 0, 0,
3841 : 0, 0, 1876, 0, 0, 0, 1881, 1882, 0, 1877,
3842 : 0, 0, 3535, 3537, 0, 1879, 0, 3537, 0, 0,
3843 : 1880, 1883, 3548, 3549, 3550, 0, 3552, 0, 1887, 0,
3844 : 0, 0, 0, 1878, 0, 0, 0, 0, 2740, 0,
3845 : 0, 1881, 1882, 0, 0, 0, 0, 3573, 2755, 0,
3846 : 0, 0, 0, 0, 1884, 0, 1883, 3579, 3580, 3581,
3847 : 3582, 0, 0, 0, 0, 0, 0, 0, 1885, 0,
3848 : 0, 1886, 0, 4992, 0, 0, 0, 0, 0, 0,
3849 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 1884,
3850 : 0, 0, 0, 0, 3599, 0, 0, 3604, 3605, 3606,
3851 : 0, 0, 0, 1885, 0, 0, 1886, 0, 2873, 2874,
3852 : 0, 0, 0, 0, 0, 0, 0, 2885, 0, 2887,
3853 : 0, 0, 0, 2891, 1888, 0, 0, 1889, 1890, 1891,
3854 : 0, 1892, 1893, 1894, 1895, 1896, 1897, 0, 0, 0,
3855 : 0, 4321, 1879, 0, 0, 0, 0, 1880, 0, 0,
3856 : 0, 0, 0, 0, 1887, 0, 0, 0, 0, 0,
3857 : 0, 0, 0, 0, 0, 2766, 0, 2769, 1881, 1882,
3858 : 0, 0, 1869, 0, 0, 1870, 0, 0, 0, 1871,
3859 : 1872, 1873, 0, 1883, 0, 0, 0, 0, 0, 1887,
3860 : 0, 0, 0, 0, 0, 0, 1874, 0, 0, 3673,
3861 : 0, 0, 0, 1283, 1876, 0, 0, 3677, 0, 0,
3862 : 0, 1877, 0, 0, 0, 0, 1884, 0, 0, 0,
3863 : 0, 0, 0, 0, 0, 3686, 0, 0, 0, 0,
3864 : 1885, 0, 0, 1886, 0, 1878, 0, 0, 0, 0,
3865 : 0, 0, 3019, 0, 0, 3022, 0, 0, 0, 0,
3866 : 1888, 0, 3732, 1889, 1890, 1891, 0, 1892, 1893, 1894,
3867 : 1895, 1896, 1897, 0, 0, 0, 0, 4356, 0, 0,
3868 : 0, 0, 5133, 0, 0, 0, 0, 0, 0, 0,
3869 : 0, 0, 0, 0, 0, 1888, 0, 0, 1889, 1890,
3870 : 1891, 0, 1892, 1893, 1894, 1895, 1896, 1897, 0, 0,
3871 : 0, 0, 4606, 0, 3769, 0, 0, 0, 0, 3775,
3872 : 0, 0, 0, 3096, 0, 0, 1887, 0, 0, 0,
3873 : 0, 3103, 3104, 0, 0, 0, 0, 0, 3106, 0,
3874 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 3813,
3875 : 0, 0, 3122, 0, 1879, 0, 0, 0, 1432, 1880,
3876 : 0, 0, 0, 0, 1433, 0, 0, 0, 2948, 0,
3877 : 0, 0, 0, 0, 0, 0, 0, 1523, 0, 0,
3878 : 1881, 1882, 0, 0, 0, 0, 3829, 0, 3830, 2975,
3879 : 0, 0, 0, 3168, 0, 1883, 0, 0, 0, 0,
3880 : 0, 0, 0, 0, 0, 1434, 0, 0, 0, 0,
3881 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3882 : 0, 3191, 1888, 0, 0, 1889, 1890, 1891, 1884, 1892,
3883 : 1893, 1894, 1895, 1896, 1897, 0, 0, 0, 0, 4617,
3884 : 0, 0, 1885, 0, 0, 1886, 0, 0, 0, 0,
3885 : 0, 0, 0, 3041, 3042, 0, 0, 1524, 0, 1436,
3886 : 0, 0, 0, 0, 0, 0, 1437, 0, 0, 1438,
3887 : 0, 0, 0, 0, 0, 3250, 0, 3252, 0, 0,
3888 : 0, 0, 0, 0, 0, 0, 828, 0, 0, 0,
3889 : 0, 0, 0, 0, 1439, 828, 851, 0, 0, 0,
3890 : 0, 0, 0, 0, 851, 0, 0, 0, 0, 0,
3891 : 0, 0, 0, 0, 0, 0, 0, 851, 0, 0,
3892 : 0, 0, 0, 0, 0, 0, 1440, 0, 1887, 0,
3893 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3894 : 0, 0, 0, 0, 0, 0, 0, 1869, 3155, 0,
3895 : 1870, 0, 0, 0, 1871, 1872, 1873, 0, 0, 0,
3896 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3897 : 0, 1874, 0, 0, 0, 0, 0, 3311, 0, 1876,
3898 : 0, 0, 0, 0, 0, 1441, 1877, 1442, 0, 0,
3899 : 0, 0, 0, 0, 0, 0, 0, 1443, 0, 0,
3900 : 0, 0, 0, 0, 0, 0, 1444, 0, 0, 0,
3901 : 1878, 0, 0, 0, 0, 0, 0, 1445, 0, 0,
3902 : 0, 0, 0, 0, 1888, 0, 0, 1889, 1890, 1891,
3903 : 0, 1892, 1893, 1894, 1895, 1896, 1897, 0, 0, 0,
3904 : 0, 4626, 0, 0, 1869, 0, 4050, 1870, 4051, 0,
3905 : 0, 1871, 1872, 1873, 3037, 4053, 0, 1447, 1448, 0,
3906 : 0, 0, 0, 0, 0, 0, 0, 0, 1874, 0,
3907 : 0, 4063, 0, 0, 0, 0, 1876, 0, 0, 0,
3908 : 0, 0, 0, 1877, 0, 3038, 0, 4071, 0, 0,
3909 : 1869, 0, 0, 1870, 0, 0, 0, 1871, 1872, 1873,
3910 : 0, 0, 0, 0, 0, 4091, 0, 1878, 0, 0,
3911 : 0, 0, 0, 0, 1874, 0, 0, 0, 0, 1879,
3912 : 0, 0, 1876, 4095, 1880, 3295, 0, 0, 0, 1877,
3913 : 0, 0, 0, 4104, 0, 0, 0, 0, 0, 0,
3914 : 0, 0, 0, 0, 0, 1881, 1882, 0, 0, 1450,
3915 : 0, 0, 4133, 1878, 0, 0, 0, 0, 0, 0,
3916 : 1883, 0, 0, 4141, 4142, 4143, 0, 0, 0, 0,
3917 : 4147, 4148, 4149, 4150, 0, 1432, 4152, 4153, 0, 0,
3918 : 0, 1433, 4160, 4161, 0, 4163, 4164, 4165, 4166, 4167,
3919 : 4168, 0, 4170, 1884, 0, 0, 0, 0, 0, 0,
3920 : 0, 4178, 0, 0, 4181, 4182, 0, 1885, 0, 0,
3921 : 1886, 0, 0, 0, 0, 0, 1879, 0, 0, 0,
3922 : 0, 1880, 1434, 3537, 0, 0, 0, 0, 0, 0,
3923 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3924 : 0, 0, 1881, 1882, 3526, 4202, 3527, 3528, 3529, 0,
3925 : 0, 0, 0, 0, 0, 0, 0, 1883, 0, 0,
3926 : 0, 0, 1879, 0, 0, 0, 0, 1880, 0, 828,
3927 : 0, 0, 1435, 0, 0, 0, 1436, 0, 3423, 0,
3928 : 0, 851, 0, 1437, 0, 0, 1438, 851, 1881, 1882,
3929 : 1884, 0, 0, 1887, 0, 0, 0, 0, 0, 0,
3930 : 851, 0, 0, 1883, 1885, 0, 0, 1886, 0, 0,
3931 : 1869, 1439, 0, 1870, 0, 0, 851, 1871, 1872, 1873,
3932 : 0, 828, 0, 0, 0, 0, 0, 1068, 0, 0,
3933 : 0, 828, 851, 0, 1874, 0, 1884, 0, 0, 851,
3934 : 0, 0, 1876, 1440, 3537, 0, 0, 0, 0, 1877,
3935 : 1885, 1068, 851, 1886, 0, 0, 0, 0, 0, 0,
3936 : 0, 0, 851, 0, 0, 0, 0, 0, 0, 0,
3937 : 0, 0, 0, 1878, 0, 0, 4306, 0, 0, 0,
3938 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 1888,
3939 : 1887, 0, 1889, 1890, 1891, 0, 1892, 1893, 1894, 1895,
3940 : 1896, 1897, 1441, 0, 1442, 0, 4629, 0, 0, 0,
3941 : 0, 0, 0, 0, 1443, 0, 0, 0, 0, 0,
3942 : 0, 0, 0, 1444, 0, 0, 0, 0, 0, 0,
3943 : 0, 0, 0, 0, 1445, 0, 1887, 0, 0, 0,
3944 : 0, 828, 828, 0, 0, 0, 0, 851, 0, 0,
3945 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3946 : 0, 3679, 0, 0, 0, 0, 0, 0, 0, 0,
3947 : 0, 1446, 0, 828, 1447, 1448, 0, 0, 0, 0,
3948 : 0, 0, 1879, 0, 0, 0, 1888, 1880, 0, 1889,
3949 : 1890, 1891, 0, 1892, 1893, 1894, 1895, 1896, 1897, 0,
3950 : 0, 0, 1449, 4678, 0, 0, 0, 0, 1881, 1882,
3951 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3952 : 0, 0, 0, 1883, 0, 0, 0, 0, 0, 0,
3953 : 0, 0, 1888, 0, 3621, 1889, 1890, 1891, 0, 1892,
3954 : 1893, 1894, 1895, 1896, 1897, 0, 0, 0, 0, 4712,
3955 : 0, 0, 0, 0, 0, 0, 1884, 0, 0, 0,
3956 : 0, 0, 0, 0, 0, 0, 1450, 0, 0, 0,
3957 : 1885, 0, 0, 1886, 0, 0, 0, 1869, 0, 0,
3958 : 1870, 0, 0, 0, 1871, 1872, 1873, 0, 0, 0,
3959 : 4441, 0, 0, 0, 4442, 4443, 4444, 4445, 0, 0,
3960 : 4447, 1874, 0, 0, 0, 0, 0, 0, 0, 1876,
3961 : 0, 0, 0, 0, 0, 0, 1877, 828, 0, 0,
3962 : 0, 0, 0, 0, 1068, 0, 0, 0, 828, 3833,
3963 : 0, 4465, 4466, 4467, 0, 4468, 0, 4470, 4471, 0,
3964 : 1878, 0, 0, 0, 0, 1869, 0, 1068, 1870, 4480,
3965 : 4481, 0, 1871, 1872, 1873, 0, 1887, 0, 0, 0,
3966 : 0, 0, 1068, 0, 0, 0, 0, 0, 0, 1874,
3967 : 0, 0, 0, 0, 0, 0, 4486, 1876, 0, 0,
3968 : 3735, 3736, 3737, 0, 1877, 0, 0, 0, 0, 0,
3969 : 0, 0, 0, 0, 0, 0, 0, 3746, 0, 4496,
3970 : 0, 0, 1869, 0, 0, 1870, 0, 828, 1878, 1871,
3971 : 1872, 1873, 0, 0, 0, 0, 0, 0, 0, 0,
3972 : 3762, 0, 0, 0, 0, 0, 1874, 0, 0, 0,
3973 : 3772, 3774, 0, 0, 1876, 3779, 0, 0, 0, 0,
3974 : 0, 1877, 0, 0, 0, 0, 1068, 0, 3793, 1879,
3975 : 0, 0, 1888, 0, 1880, 1889, 1890, 1891, 0, 1892,
3976 : 1893, 1894, 1895, 1896, 1897, 1878, 0, 0, 0, 4752,
3977 : 0, 0, 0, 4548, 0, 1881, 1882, 0, 0, 0,
3978 : 0, 0, 0, 851, 0, 0, 0, 0, 0, 0,
3979 : 1883, 0, 0, 0, 0, 0, 0, 851, 0, 0,
3980 : 0, 0, 4576, 0, 0, 0, 828, 0, 0, 0,
3981 : 0, 0, 0, 1432, 851, 0, 0, 1879, 0, 1433,
3982 : 0, 0, 1880, 1884, 0, 0, 0, 4600, 0, 0,
3983 : 0, 0, 0, 0, 0, 0, 0, 1885, 0, 0,
3984 : 1886, 1283, 851, 1881, 1882, 0, 0, 0, 0, 0,
3985 : 0, 1068, 0, 851, 0, 0, 0, 0, 1883, 0,
3986 : 1434, 0, 0, 0, 0, 0, 0, 0, 851, 0,
3987 : 0, 851, 0, 0, 1879, 0, 0, 0, 0, 1880,
3988 : 0, 0, 0, 828, 0, 0, 0, 0, 0, 0,
3989 : 0, 1884, 0, 0, 0, 0, 4056, 4057, 4058, 4059,
3990 : 1881, 1882, 0, 0, 0, 1885, 0, 0, 1886, 0,
3991 : 2247, 0, 0, 828, 1436, 1883, 0, 0, 0, 0,
3992 : 0, 1437, 0, 1887, 1438, 0, 0, 0, 0, 0,
3993 : 0, 0, 0, 0, 558, 0, 0, 0, 0, 0,
3994 : 0, 828, 828, 828, 0, 828, 0, 0, 1884, 1439,
3995 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3996 : 0, 0, 1885, 0, 0, 828, 0, 3950, 3951, 3952,
3997 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3998 : 0, 1440, 0, 0, 0, 0, 0, 0, 0, 851,
3999 : 0, 1887, 0, 0, 4701, 0, 0, 851, 851, 0,
4000 : 0, 0, 0, 0, 0, 0, 828, 2024, 0, 0,
4001 : 0, 0, 4711, 0, 0, 0, 0, 4716, 4717, 1888,
4002 : 0, 0, 1889, 1890, 1891, 0, 1892, 1893, 1894, 1895,
4003 : 1896, 1897, 0, 0, 828, 0, 5053, 0, 828, 828,
4004 : 1441, 0, 1442, 0, 0, 0, 0, 0, 1887, 0,
4005 : 0, 0, 1443, 828, 0, 0, 0, 1068, 0, 0,
4006 : 0, 1444, 0, 0, 2024, 0, 0, 0, 4775, 0,
4007 : 0, 0, 1445, 0, 4198, 0, 0, 0, 0, 0,
4008 : 4201, 0, 0, 0, 0, 0, 0, 1888, 4792, 0,
4009 : 1889, 1890, 1891, 0, 1892, 1893, 1894, 1895, 1896, 1897,
4010 : 0, 0, 0, 0, 5175, 0, 0, 0, 0, 2248,
4011 : 0, 1869, 1447, 1448, 1870, 0, 0, 0, 1871, 1872,
4012 : 1873, 0, 0, 1068, 0, 3537, 0, 0, 0, 0,
4013 : 0, 0, 4828, 0, 0, 1874, 0, 0, 0, 2774,
4014 : 2249, 0, 0, 1876, 1888, 0, 0, 1889, 1890, 1891,
4015 : 1877, 1892, 1893, 1894, 1895, 1896, 1897, 0, 0, 0,
4016 : 0, 0, 1068, 0, 0, 0, 0, 0, 0, 0,
4017 : 0, 0, 0, 0, 1878, 0, 0, 0, 0, 0,
4018 : 0, 0, 0, 0, 0, 1068, 0, 0, 0, 0,
4019 : 1869, 0, 0, 1870, 0, 0, 0, 1871, 1872, 1873,
4020 : 4870, 0, 0, 0, 1450, 0, 0, 0, 0, 1869,
4021 : 0, 0, 1870, 0, 0, 0, 1871, 1872, 1873, 0,
4022 : 0, 4886, 1876, 2775, 0, 0, 0, 0, 0, 1877,
4023 : 0, 0, 4894, 1874, 0, 0, 0, 0, 0, 0,
4024 : 0, 1876, 0, 0, 0, 851, 0, 0, 1877, 0,
4025 : 0, 0, 0, 1878, 0, 4199, 0, 0, 0, 0,
4026 : 0, 0, 0, 0, 0, 1068, 4212, 0, 0, 0,
4027 : 0, 0, 1878, 0, 0, 0, 0, 0, 0, 0,
4028 : 1068, 0, 0, 1879, 0, 0, 0, 0, 1880, 1068,
4029 : 0, 0, 0, 0, 4958, 0, 2024, 4241, 0, 0,
4030 : 0, 1068, 0, 0, 0, 0, 0, 0, 0, 1881,
4031 : 1882, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4032 : 851, 0, 0, 0, 1883, 0, 0, 0, 851, 0,
4033 : 0, 2462, 0, 0, 0, 0, 0, 0, 0, 0,
4034 : 851, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4035 : 0, 0, 0, 0, 0, 3537, 1068, 1884, 0, 0,
4036 : 0, 0, 1879, 828, 0, 0, 828, 1880, 0, 0,
4037 : 1068, 1885, 0, 0, 1886, 0, 828, 2534, 0, 0,
4038 : 0, 1879, 1068, 0, 0, 0, 1880, 0, 1881, 1882,
4039 : 0, 0, 0, 0, 1068, 0, 0, 0, 0, 0,
4040 : 0, 0, 0, 1883, 0, 0, 0, 1881, 1882, 0,
4041 : 0, 828, 828, 0, 851, 851, 0, 5041, 0, 0,
4042 : 0, 0, 1883, 0, 0, 0, 851, 0, 0, 0,
4043 : 0, 0, 5054, 0, 1068, 1068, 1884, 851, 851, 0,
4044 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4045 : 1885, 0, 0, 851, 0, 1884, 0, 1887, 0, 0,
4046 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 1885,
4047 : 0, 0, 1886, 0, 0, 0, 0, 0, 0, 0,
4048 : 0, 5081, 0, 0, 0, 828, 0, 0, 0, 4363,
4049 : 4364, 4365, 4366, 0, 0, 0, 5092, 0, 0, 0,
4050 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4051 : 0, 0, 0, 2776, 0, 0, 0, 0, 0, 828,
4052 : 0, 828, 4493, 0, 0, 0, 828, 828, 0, 0,
4053 : 0, 0, 0, 828, 828, 828, 1887, 4497, 0, 828,
4054 : 0, 828, 828, 828, 828, 828, 828, 0, 828, 0,
4055 : 828, 828, 0, 1888, 828, 1887, 1889, 1890, 1891, 0,
4056 : 1892, 1893, 1894, 1895, 1896, 1897, 0, 0, 1068, 828,
4057 : 828, 828, 828, 2024, 5149, 0, 0, 828, 0, 0,
4058 : 0, 828, 0, 0, 828, 0, 0, 828, 828, 828,
4059 : 828, 828, 828, 828, 828, 828, 0, 828, 0, 0,
4060 : 0, 0, 0, 0, 828, 0, 828, 0, 0, 0,
4061 : 0, 0, 0, 0, 0, 0, 5171, 0, 0, 0,
4062 : 0, 0, 0, 4561, 0, 0, 0, 0, 0, 0,
4063 : 0, 0, 1888, 0, 0, 1889, 1890, 1891, 0, 1892,
4064 : 1893, 1894, 1895, 1896, 1897, 0, 0, 0, 0, 0,
4065 : 0, 1888, 0, 0, 1889, 1890, 1891, 0, 1892, 1893,
4066 : 1894, 1895, 1896, 1897, 0, 0, 188, 0, 5238, 1869,
4067 : 0, 0, 1870, 0, 0, 0, 1871, 1872, 1873, 0,
4068 : 0, 0, 0, 0, 0, 0, 0, 0, 1869, 0,
4069 : 0, 1870, 0, 1874, 0, 1871, 1872, 1873, 0, 0,
4070 : 5231, 1876, 0, 0, 0, 0, 0, 0, 1877, 0,
4071 : 0, 0, 1874, 189, 0, 0, 0, 0, 0, 0,
4072 : 1876, 0, 0, 0, 0, 0, 0, 1877, 190, 0,
4073 : 0, 0, 1878, 0, 828, 0, 0, 0, 0, 0,
4074 : 0, 0, 0, 0, 0, 0, 191, 0, 0, 0,
4075 : 0, 1878, 192, 0, 0, 0, 0, 0, 0, 0,
4076 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 193,
4077 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 851,
4078 : 194, 0, 0, 0, 0, 0, 1068, 0, 195, 0,
4079 : 1068, 1068, 4683, 4684, 4684, 0, 0, 851, 0, 0,
4080 : 196, 0, 2024, 851, 0, 197, 0, 851, 0, 0,
4081 : 0, 0, 198, 0, 0, 851, 0, 0, 0, 0,
4082 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 199,
4083 : 0, 0, 4591, 851, 0, 0, 828, 0, 0, 0,
4084 : 0, 1879, 0, 0, 0, 0, 1880, 0, 828, 0,
4085 : 0, 0, 1068, 0, 200, 828, 0, 0, 0, 0,
4086 : 1879, 0, 0, 0, 1068, 1880, 0, 1881, 1882, 0,
4087 : 0, 0, 0, 0, 0, 201, 0, 851, 0, 0,
4088 : 0, 0, 1883, 0, 0, 0, 1881, 1882, 0, 0,
4089 : 0, 0, 0, 0, 0, 851, 851, 0, 0, 0,
4090 : 0, 1883, 0, 0, 1068, 0, 0, 0, 0, 202,
4091 : 0, 0, 0, 0, 0, 1884, 0, 0, 0, 0,
4092 : 0, 0, 0, 0, 0, 0, 2024, 851, 0, 1885,
4093 : 2024, 203, 1886, 0, 1884, 0, 0, 0, 0, 0,
4094 : 0, 204, 0, 0, 205, 0, 4812, 0, 1885, 0,
4095 : 0, 1886, 0, 851, 0, 2024, 0, 0, 0, 0,
4096 : 0, 851, 0, 0, 0, 0, 0, 0, 851, 0,
4097 : 206, 0, 851, 0, 0, 207, 0, 208, 0, 0,
4098 : 0, 0, 0, 0, 209, 0, 0, 210, 0, 0,
4099 : 0, 0, 851, 0, 0, 0, 0, 851, 0, 0,
4100 : 0, 851, 0, 0, 2024, 0, 211, 0, 0, 0,
4101 : 0, 0, 212, 0, 851, 1887, 213, 214, 0, 0,
4102 : 215, 0, 0, 0, 216, 0, 0, 851, 0, 0,
4103 : 0, 0, 0, 217, 1887, 0, 0, 851, 218, 0,
4104 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 1869,
4105 : 219, 0, 1870, 0, 0, 1432, 1871, 1872, 1873, 0,
4106 : 4750, 1433, 0, 220, 0, 0, 0, 0, 0, 0,
4107 : 0, 0, 0, 1874, 0, 4762, 0, 0, 0, 0,
4108 : 1283, 1876, 828, 1068, 0, 0, 0, 0, 1877, 4914,
4109 : 0, 4916, 2024, 0, 0, 0, 0, 0, 0, 0,
4110 : 0, 0, 1434, 0, 0, 4796, 0, 0, 0, 0,
4111 : 0, 1888, 1878, 0, 1889, 1890, 1891, 0, 1892, 1893,
4112 : 1894, 1895, 1896, 1897, 4813, 0, 828, 0, 5258, 0,
4113 : 1888, 0, 0, 1889, 1890, 1891, 0, 1892, 1893, 1894,
4114 : 1895, 1896, 1897, 1869, 0, 0, 1870, 5291, 0, 0,
4115 : 1871, 1872, 1873, 0, 0, 0, 1436, 0, 0, 0,
4116 : 0, 0, 0, 1437, 0, 1068, 1438, 1874, 0, 851,
4117 : 0, 0, 0, 0, 0, 1876, 0, 0, 828, 0,
4118 : 0, 0, 1877, 0, 0, 0, 0, 0, 0, 0,
4119 : 0, 1439, 0, 0, 0, 0, 0, 0, 0, 0,
4120 : 0, 0, 0, 0, 0, 0, 1878, 0, 0, 0,
4121 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4122 : 0, 1879, 851, 1440, 0, 0, 1880, 0, 0, 0,
4123 : 4883, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4124 : 0, 0, 0, 0, 4684, 0, 0, 1881, 1882, 0,
4125 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4126 : 851, 0, 1883, 0, 0, 0, 0, 0, 0, 0,
4127 : 0, 0, 0, 0, 0, 0, 1068, 0, 851, 0,
4128 : 0, 0, 1441, 0, 1442, 0, 851, 0, 0, 0,
4129 : 828, 0, 3362, 1068, 1443, 1884, 828, 3363, 0, 0,
4130 : 0, 0, 0, 1444, 0, 0, 1068, 0, 0, 1885,
4131 : 0, 0, 1886, 0, 1445, 1879, 0, 828, 0, 0,
4132 : 1880, 0, 828, 4965, 0, 0, 0, 5088, 0, 0,
4133 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 1067,
4134 : 0, 1881, 1882, 0, 0, 828, 828, 828, 0, 0,
4135 : 828, 2918, 0, 0, 1447, 1448, 1883, 0, 828, 828,
4136 : 828, 828, 0, 1067, 0, 0, 2024, 0, 0, 0,
4137 : 0, 828, 2024, 0, 828, 0, 828, 0, 0, 0,
4138 : 0, 0, 1449, 0, 0, 0, 0, 828, 828, 1884,
4139 : 0, 828, 0, 0, 0, 1887, 0, 0, 0, 0,
4140 : 0, 0, 0, 1885, 0, 828, 1886, 828, 0, 828,
4141 : 0, 0, 844, 853, 0, 0, 0, 0, 0, 0,
4142 : 0, 853, 0, 0, 0, 5156, 0, 0, 0, 828,
4143 : 0, 0, 0, 0, 853, 0, 0, 0, 0, 0,
4144 : 828, 0, 828, 828, 828, 0, 1450, 0, 0, 0,
4145 : 0, 0, 0, 0, 0, 0, 0, 851, 0, 0,
4146 : 828, 0, 0, 1432, 0, 0, 0, 0, 0, 1433,
4147 : 0, 828, 0, 0, 0, 0, 828, 0, 0, 0,
4148 : 0, 0, 828, 0, 0, 0, 0, 0, 0, 1887,
4149 : 0, 1888, 828, 0, 1889, 1890, 1891, 0, 1892, 1893,
4150 : 1894, 1895, 1896, 1897, 0, 0, 2761, 1432, 0, 0,
4151 : 1434, 1068, 0, 1433, 1068, 0, 1068, 5224, 0, 0,
4152 : 0, 1068, 0, 0, 0, 0, 0, 0, 0, 0,
4153 : 0, 0, 0, 0, 0, 0, 851, 851, 0, 0,
4154 : 0, 0, 828, 0, 0, 0, 0, 0, 0, 4684,
4155 : 4684, 0, 0, 0, 1434, 0, 0, 0, 0, 0,
4156 : 0, 0, 0, 851, 1436, 0, 851, 0, 0, 0,
4157 : 1068, 1437, 0, 0, 1438, 0, 0, 918, 0, 0,
4158 : 0, 0, 919, 0, 0, 1888, 0, 1068, 1889, 1890,
4159 : 1891, 0, 1892, 1893, 1894, 1895, 1896, 1897, 0, 1439,
4160 : 0, 0, 0, 0, 0, 0, 0, 0, 1436, 0,
4161 : 0, 0, 1068, 0, 0, 1437, 920, 0, 1438, 0,
4162 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 921,
4163 : 922, 1440, 0, 0, 0, 0, 1067, 4684, 0, 0,
4164 : 923, 0, 0, 1439, 924, 0, 0, 2024, 2024, 2024,
4165 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 1067,
4166 : 0, 0, 925, 0, 0, 0, 0, 0, 0, 0,
4167 : 0, 851, 0, 0, 1067, 1440, 0, 0, 0, 0,
4168 : 0, 1068, 0, 1068, 0, 926, 0, 0, 0, 0,
4169 : 1441, 851, 1442, 0, 0, 0, 927, 0, 0, 0,
4170 : 0, 0, 1443, 0, 928, 0, 851, 0, 0, 0,
4171 : 0, 1444, 0, 0, 0, 0, 929, 1869, 0, 0,
4172 : 1870, 930, 1445, 0, 1871, 1872, 1873, 0, 0, 0,
4173 : 0, 0, 0, 0, 1441, 0, 1442, 0, 0, 0,
4174 : 0, 1874, 0, 0, 0, 931, 1443, 0, 0, 1876,
4175 : 0, 0, 0, 0, 0, 1444, 1877, 0, 1067, 3081,
4176 : 0, 0, 1447, 1448, 1068, 0, 1445, 0, 0, 0,
4177 : 932, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4178 : 1878, 0, 0, 0, 851, 0, 0, 0, 0, 0,
4179 : 3082, 933, 1068, 0, 0, 0, 0, 0, 853, 0,
4180 : 0, 0, 0, 3545, 853, 0, 1447, 1448, 0, 0,
4181 : 0, 0, 0, 0, 0, 1068, 0, 853, 0, 0,
4182 : 0, 0, 2024, 1068, 0, 934, 0, 0, 0, 851,
4183 : 0, 851, 0, 853, 3546, 0, 0, 0, 0, 0,
4184 : 0, 0, 0, 0, 851, 0, 851, 935, 844, 853,
4185 : 0, 0, 0, 0, 1450, 0, 853, 204, 1432, 0,
4186 : 936, 0, 0, 1067, 1433, 0, 0, 0, 2024, 853,
4187 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 853,
4188 : 0, 0, 0, 0, 0, 0, 937, 0, 0, 1879,
4189 : 0, 938, 1068, 939, 1880, 0, 0, 0, 1450, 0,
4190 : 940, 0, 0, 941, 0, 1434, 0, 0, 0, 851,
4191 : 1068, 0, 0, 0, 0, 1881, 1882, 0, 0, 0,
4192 : 0, 0, 942, 1068, 0, 0, 0, 0, 943, 0,
4193 : 1883, 0, 0, 944, 0, 0, 945, 0, 0, 0,
4194 : 946, 0, 0, 0, 0, 0, 0, 947, 0, 948,
4195 : 0, 0, 0, 0, 949, 0, 0, 851, 0, 1436,
4196 : 0, 0, 0, 1884, 853, 0, 1437, 0, 0, 1438,
4197 : 0, 0, 0, 851, 0, 0, 0, 1885, 0, 950,
4198 : 1886, 0, 0, 1869, 0, 0, 1870, 0, 0, 0,
4199 : 1871, 1872, 1873, 0, 1439, 851, 0, 0, 851, 0,
4200 : 0, 0, 0, 3910, 0, 0, 0, 1874, 0, 0,
4201 : 0, 0, 0, 0, 0, 1876, 828, 0, 0, 1068,
4202 : 0, 0, 1877, 0, 0, 828, 1440, 0, 0, 0,
4203 : 0, 828, 0, 828, 0, 0, 828, 0, 0, 0,
4204 : 1068, 828, 828, 828, 828, 0, 1878, 828, 828, 828,
4205 : 828, 828, 828, 828, 828, 828, 828, 0, 0, 0,
4206 : 828, 828, 0, 1887, 0, 1068, 0, 0, 0, 2098,
4207 : 828, 0, 0, 0, 828, 0, 2024, 0, 828, 3911,
4208 : 0, 0, 0, 0, 0, 1441, 828, 1442, 0, 828,
4209 : 0, 828, 0, 0, 0, 0, 0, 1443, 0, 1068,
4210 : 828, 0, 0, 828, 828, 0, 1444, 0, 828, 828,
4211 : 0, 0, 0, 0, 0, 828, 0, 1445, 0, 0,
4212 : 0, 0, 0, 0, 0, 828, 0, 0, 828, 0,
4213 : 0, 5203, 0, 0, 0, 2098, 0, 0, 0, 0,
4214 : 0, 828, 0, 0, 0, 844, 0, 828, 828, 828,
4215 : 0, 0, 0, 0, 3600, 1879, 0, 1447, 1448, 1888,
4216 : 1880, 0, 1889, 1890, 1891, 0, 1892, 1893, 1894, 1895,
4217 : 1896, 1897, 0, 828, 1067, 0, 0, 0, 0, 0,
4218 : 0, 1881, 1882, 0, 0, 3601, 0, 0, 0, 828,
4219 : 0, 0, 0, 0, 0, 1068, 1883, 1067, 0, 0,
4220 : 0, 0, 0, 0, 0, 0, 0, 828, 0, 0,
4221 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4222 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 1884,
4223 : 0, 0, 0, 0, 0, 0, 0, 0, 851, 0,
4224 : 0, 0, 0, 1885, 0, 0, 1886, 0, 0, 1450,
4225 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4226 : 0, 0, 0, 0, 0, 0, 0, 5204, 0, 0,
4227 : 0, 0, 0, 0, 0, 0, 0, 1067, 0, 0,
4228 : 0, 0, 0, 0, 0, 0, 0, 0, 2024, 0,
4229 : 0, 0, 1067, 2024, 1068, 2024, 0, 0, 0, 0,
4230 : 853, 2098, 0, 0, 0, 0, 0, 0, 0, 0,
4231 : 0, 0, 0, 1067, 853, 0, 0, 2024, 1068, 0,
4232 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 1887,
4233 : 0, 853, 0, 1869, 2024, 0, 1870, 0, 0, 0,
4234 : 1871, 1872, 1873, 0, 0, 0, 0, 0, 0, 851,
4235 : 0, 0, 851, 0, 0, 0, 0, 1874, 0, 853,
4236 : 3321, 0, 0, 0, 0, 1876, 0, 0, 1067, 0,
4237 : 853, 0, 1877, 0, 0, 0, 0, 0, 0, 0,
4238 : 0, 0, 1067, 0, 0, 853, 0, 0, 853, 0,
4239 : 0, 0, 0, 0, 1067, 0, 1878, 0, 0, 0,
4240 : 0, 0, 0, 0, 0, 0, 1067, 0, 0, 0,
4241 : 0, 0, 0, 0, 828, 0, 0, 0, 0, 0,
4242 : 0, 0, 0, 0, 0, 1888, 0, 0, 1889, 1890,
4243 : 1891, 0, 1892, 1893, 1894, 1895, 1896, 1897, 0, 851,
4244 : 851, 0, 0, 1068, 0, 0, 1067, 1067, 0, 851,
4245 : 0, 0, 0, 0, 0, 0, 828, 0, 0, 0,
4246 : 0, 0, 0, 0, 0, 0, 0, 0, 851, 0,
4247 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4248 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4249 : 0, 0, 0, 1068, 828, 828, 0, 0, 0, 0,
4250 : 0, 0, 0, 0, 0, 1879, 853, 0, 0, 0,
4251 : 1880, 0, 0, 0, 853, 853, 0, 0, 0, 0,
4252 : 0, 0, 0, 0, 2026, 0, 0, 0, 0, 0,
4253 : 0, 1881, 1882, 0, 0, 0, 0, 0, 0, 0,
4254 : 851, 0, 0, 0, 0, 852, 1883, 0, 0, 0,
4255 : 0, 0, 0, 852, 0, 0, 0, 0, 0, 0,
4256 : 0, 828, 0, 0, 0, 0, 852, 0, 0, 0,
4257 : 0, 0, 828, 0, 0, 0, 0, 0, 0, 1884,
4258 : 1067, 2026, 0, 0, 0, 0, 0, 0, 0, 0,
4259 : 0, 0, 0, 1885, 0, 0, 1886, 0, 0, 0,
4260 : 0, 0, 828, 0, 0, 0, 0, 0, 0, 0,
4261 : 0, 0, 828, 828, 0, 1068, 0, 0, 2753, 828,
4262 : 828, 0, 0, 0, 828, 1068, 0, 0, 0, 828,
4263 : 0, 0, 828, 828, 0, 0, 0, 828, 0, 0,
4264 : 0, 0, 0, 828, 0, 0, 0, 0, 0, 0,
4265 : 0, 0, 0, 0, 0, 828, 0, 0, 0, 0,
4266 : 0, 0, 0, 828, 0, 0, 0, 828, 0, 0,
4267 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 1887,
4268 : 828, 0, 0, 0, 0, 828, 0, 0, 0, 0,
4269 : 0, 828, 0, 0, 0, 0, 0, 0, 0, 0,
4270 : 0, 1869, 0, 0, 1870, 0, 828, 0, 1871, 1872,
4271 : 1873, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4272 : 0, 0, 0, 0, 0, 1874, 0, 0, 3367, 0,
4273 : 0, 0, 828, 1876, 0, 0, 0, 0, 0, 0,
4274 : 1877, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4275 : 1068, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4276 : 0, 0, 853, 0, 1878, 0, 0, 851, 0, 0,
4277 : 0, 0, 2024, 0, 0, 1888, 0, 0, 1889, 1890,
4278 : 1891, 0, 1892, 1893, 1894, 1895, 1896, 1897, 1068, 0,
4279 : 0, 0, 0, 0, 0, 0, 0, 0, 2814, 0,
4280 : 0, 0, 2098, 2820, 851, 0, 0, 0, 0, 1068,
4281 : 0, 0, 0, 2026, 0, 0, 851, 0, 0, 0,
4282 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4283 : 0, 0, 828, 0, 0, 0, 0, 853, 0, 0,
4284 : 0, 0, 0, 851, 0, 853, 0, 0, 0, 0,
4285 : 0, 0, 0, 0, 0, 0, 0, 853, 0, 0,
4286 : 0, 0, 0, 0, 1067, 0, 0, 0, 0, 0,
4287 : 0, 0, 0, 1879, 1068, 0, 1067, 0, 1880, 0,
4288 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4289 : 0, 0, 0, 0, 0, 0, 0, 0, 828, 1881,
4290 : 1882, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4291 : 0, 0, 828, 0, 1883, 0, 1067, 0, 0, 0,
4292 : 0, 0, 0, 0, 0, 0, 0, 0, 844, 844,
4293 : 852, 853, 853, 0, 0, 851, 852, 0, 0, 0,
4294 : 0, 0, 828, 853, 0, 0, 0, 1884, 0, 852,
4295 : 0, 0, 0, 0, 853, 853, 0, 0, 0, 0,
4296 : 0, 1885, 0, 1432, 1886, 852, 0, 0, 0, 1433,
4297 : 853, 0, 0, 0, 0, 0, 1487, 0, 0, 0,
4298 : 0, 852, 0, 1068, 0, 1068, 0, 0, 852, 0,
4299 : 0, 0, 0, 0, 0, 1488, 0, 0, 0, 0,
4300 : 0, 852, 844, 0, 0, 0, 0, 851, 0, 0,
4301 : 1434, 852, 0, 0, 0, 0, 0, 0, 0, 0,
4302 : 0, 0, 0, 828, 0, 0, 0, 1068, 0, 0,
4303 : 0, 0, 828, 0, 0, 0, 0, 0, 0, 0,
4304 : 0, 0, 0, 0, 1489, 0, 0, 1887, 0, 828,
4305 : 828, 0, 0, 828, 0, 0, 0, 0, 0, 0,
4306 : 0, 0, 0, 0, 1436, 0, 0, 0, 828, 0,
4307 : 0, 1437, 0, 0, 1438, 828, 0, 0, 0, 0,
4308 : 828, 0, 0, 828, 828, 0, 0, 0, 0, 0,
4309 : 2026, 828, 828, 0, 0, 1067, 852, 0, 0, 1439,
4310 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 828,
4311 : 0, 828, 0, 0, 0, 0, 851, 0, 851, 0,
4312 : 0, 0, 828, 0, 0, 0, 1259, 1259, 1490, 0,
4313 : 0, 1440, 0, 0, 0, 0, 0, 0, 0, 0,
4314 : 0, 0, 0, 1888, 0, 0, 1889, 1890, 1891, 0,
4315 : 1892, 1893, 1894, 1895, 1896, 1897, 0, 0, 0, 0,
4316 : 1068, 851, 0, 0, 0, 0, 0, 0, 0, 0,
4317 : 828, 0, 0, 0, 0, 0, 1491, 2098, 0, 1492,
4318 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4319 : 1493, 0, 1442, 0, 0, 0, 0, 0, 0, 0,
4320 : 0, 0, 1443, 0, 0, 0, 2024, 0, 0, 0,
4321 : 0, 1444, 828, 0, 0, 0, 0, 0, 0, 0,
4322 : 0, 1494, 1445, 0, 0, 0, 0, 0, 0, 0,
4323 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4324 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4325 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 3014,
4326 : 0, 0, 1447, 1448, 1496, 0, 0, 4802, 0, 0,
4327 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4328 : 828, 0, 1068, 0, 1497, 0, 0, 0, 1067, 0,
4329 : 3015, 0, 0, 0, 0, 0, 853, 0, 0, 0,
4330 : 0, 0, 0, 0, 1499, 1067, 828, 1068, 0, 828,
4331 : 0, 828, 0, 0, 853, 0, 0, 0, 1067, 2026,
4332 : 853, 0, 0, 0, 853, 0, 0, 0, 0, 0,
4333 : 0, 828, 853, 0, 0, 0, 0, 828, 0, 0,
4334 : 0, 828, 0, 0, 0, 0, 0, 1068, 0, 0,
4335 : 853, 0, 828, 0, 1450, 0, 0, 0, 0, 0,
4336 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4337 : 0, 0, 844, 0, 0, 0, 0, 0, 0, 0,
4338 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4339 : 0, 0, 0, 2024, 853, 0, 0, 0, 0, 0,
4340 : 0, 1068, 0, 0, 0, 0, 1068, 1068, 0, 0,
4341 : 0, 828, 853, 853, 0, 0, 0, 0, 0, 0,
4342 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 851,
4343 : 0, 0, 852, 0, 0, 0, 0, 0, 0, 0,
4344 : 0, 0, 0, 2026, 853, 0, 852, 2026, 0, 0,
4345 : 0, 0, 0, 0, 2753, 2753, 2753, 0, 828, 0,
4346 : 0, 0, 0, 852, 0, 0, 0, 0, 0, 0,
4347 : 853, 0, 2026, 0, 0, 0, 0, 0, 853, 0,
4348 : 0, 828, 0, 0, 0, 853, 0, 0, 0, 853,
4349 : 0, 852, 0, 0, 0, 0, 0, 0, 0, 0,
4350 : 0, 0, 852, 0, 0, 0, 0, 0, 0, 853,
4351 : 0, 0, 0, 0, 853, 1068, 1068, 852, 853, 0,
4352 : 852, 2026, 0, 2098, 0, 0, 2820, 0, 2820, 0,
4353 : 0, 853, 0, 2098, 0, 0, 828, 0, 0, 828,
4354 : 0, 0, 828, 0, 853, 0, 0, 0, 0, 0,
4355 : 0, 0, 0, 828, 853, 0, 0, 0, 828, 0,
4356 : 828, 0, 828, 0, 0, 0, 0, 0, 1826, 0,
4357 : 828, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4358 : 0, 0, 1067, 0, 0, 0, 0, 0, 828, 0,
4359 : 0, 0, 0, 0, 0, 0, 0, 0, 1840, 1067,
4360 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 2026,
4361 : 0, 0, 0, 0, 0, 0, 0, 0, 2024, 0,
4362 : 851, 0, 0, 0, 2098, 0, 1858, 1859, 1860, 0,
4363 : 1862, 0, 0, 0, 0, 0, 0, 0, 852, 0,
4364 : 0, 0, 0, 0, 0, 0, 852, 852, 0, 0,
4365 : 1904, 0, 0, 0, 0, 0, 2025, 0, 0, 0,
4366 : 0, 0, 0, 0, 0, 0, 0, 0, 1869, 0,
4367 : 828, 1870, 0, 0, 0, 1871, 1872, 1873, 828, 0,
4368 : 0, 0, 0, 0, 0, 0, 853, 0, 0, 0,
4369 : 0, 1941, 1874, 1067, 0, 1067, 0, 0, 0, 0,
4370 : 1876, 0, 0, 828, 828, 0, 0, 1877, 0, 0,
4371 : 0, 828, 2024, 2025, 0, 1068, 0, 0, 0, 2045,
4372 : 0, 828, 0, 2057, 2060, 1869, 0, 0, 1870, 0,
4373 : 851, 1878, 1871, 1872, 1873, 0, 0, 0, 0, 853,
4374 : 0, 0, 0, 828, 0, 0, 0, 0, 0, 1874,
4375 : 0, 0, 0, 0, 0, 0, 0, 1876, 0, 0,
4376 : 0, 0, 0, 0, 1877, 0, 0, 0, 0, 0,
4377 : 0, 0, 0, 0, 0, 0, 1067, 853, 0, 0,
4378 : 0, 0, 0, 0, 0, 0, 0, 0, 1878, 0,
4379 : 0, 0, 0, 0, 828, 853, 0, 0, 0, 828,
4380 : 0, 0, 0, 853, 1067, 0, 0, 0, 828, 0,
4381 : 0, 0, 0, 844, 828, 828, 828, 0, 0, 0,
4382 : 0, 0, 0, 0, 0, 828, 0, 2820, 0, 0,
4383 : 0, 0, 0, 0, 0, 2820, 0, 0, 0, 0,
4384 : 1879, 0, 828, 0, 0, 1880, 0, 0, 0, 0,
4385 : 0, 0, 0, 0, 0, 0, 851, 0, 0, 0,
4386 : 0, 0, 0, 0, 0, 0, 1881, 1882, 0, 0,
4387 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 3372,
4388 : 828, 1883, 0, 2026, 0, 0, 0, 0, 0, 2026,
4389 : 0, 0, 0, 0, 852, 0, 0, 1879, 0, 0,
4390 : 0, 0, 1880, 0, 1067, 0, 0, 828, 828, 0,
4391 : 0, 0, 0, 0, 1884, 0, 0, 0, 0, 0,
4392 : 0, 0, 2820, 1881, 1882, 0, 0, 0, 1885, 0,
4393 : 0, 1886, 2024, 0, 0, 1067, 0, 0, 1883, 0,
4394 : 0, 0, 0, 0, 0, 2025, 0, 0, 3335, 828,
4395 : 0, 0, 0, 0, 0, 828, 0, 0, 0, 0,
4396 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 852,
4397 : 0, 1884, 0, 0, 853, 0, 0, 852, 0, 828,
4398 : 0, 2024, 0, 0, 0, 1885, 0, 0, 1886, 852,
4399 : 0, 0, 0, 0, 0, 0, 2024, 828, 828, 0,
4400 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4401 : 0, 0, 0, 0, 1887, 0, 0, 0, 0, 0,
4402 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4403 : 0, 1067, 0, 0, 0, 0, 0, 0, 0, 0,
4404 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4405 : 0, 0, 1067, 853, 853, 0, 0, 0, 0, 0,
4406 : 0, 0, 0, 852, 852, 0, 0, 0, 0, 0,
4407 : 0, 1887, 0, 0, 0, 852, 0, 1067, 0, 0,
4408 : 853, 0, 0, 853, 0, 0, 852, 852, 0, 0,
4409 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4410 : 0, 0, 852, 0, 0, 0, 0, 0, 0, 0,
4411 : 1888, 1067, 0, 1889, 1890, 1891, 0, 1892, 1893, 1894,
4412 : 1895, 1896, 1897, 0, 0, 0, 0, 0, 0, 0,
4413 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4414 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4415 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4416 : 0, 2753, 0, 0, 2026, 2026, 2026, 1888, 0, 0,
4417 : 1889, 1890, 1891, 0, 1892, 1893, 1894, 1895, 1896, 1897,
4418 : 0, 0, 0, 0, 0, 0, 0, 0, 853, 0,
4419 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4420 : 0, 0, 0, 0, 0, 0, 0, 2098, 853, 0,
4421 : 0, 2622, 0, 0, 0, 0, 0, 0, 0, 0,
4422 : 0, 0, 2025, 853, 2642, 0, 2644, 0, 0, 2656,
4423 : 2659, 2664, 0, 0, 0, 1066, 2670, 0, 0, 2675,
4424 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4425 : 0, 0, 0, 0, 2682, 2683, 2684, 2685, 0, 1066,
4426 : 0, 0, 2692, 0, 0, 0, 2704, 0, 0, 2706,
4427 : 0, 0, 2713, 2714, 2715, 2716, 2717, 2718, 2719, 2720,
4428 : 2721, 0, 2722, 0, 0, 0, 0, 0, 0, 1259,
4429 : 0, 2750, 0, 0, 0, 0, 0, 0, 0, 0,
4430 : 0, 853, 0, 0, 0, 0, 2820, 0, 0, 0,
4431 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4432 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4433 : 2820, 0, 0, 0, 0, 0, 0, 0, 0, 2026,
4434 : 0, 0, 0, 0, 0, 0, 853, 0, 853, 0,
4435 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4436 : 0, 853, 0, 853, 0, 0, 0, 0, 0, 0,
4437 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4438 : 0, 0, 0, 0, 0, 2026, 0, 0, 0, 0,
4439 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4440 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4441 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 2770,
4442 : 0, 0, 0, 0, 0, 0, 853, 0, 852, 0,
4443 : 0, 1869, 0, 0, 1870, 0, 0, 0, 1871, 1872,
4444 : 1873, 0, 0, 0, 0, 0, 852, 0, 1057, 0,
4445 : 0, 2025, 852, 0, 0, 1067, 852, 0, 0, 0,
4446 : 0, 0, 0, 1876, 852, 0, 0, 0, 0, 0,
4447 : 1877, 0, 1057, 0, 853, 0, 0, 0, 0, 0,
4448 : 0, 0, 852, 0, 0, 0, 0, 0, 0, 0,
4449 : 853, 0, 0, 0, 1878, 0, 0, 0, 0, 0,
4450 : 0, 1869, 0, 0, 1870, 2098, 0, 0, 1871, 1872,
4451 : 1873, 0, 853, 0, 0, 853, 0, 0, 0, 0,
4452 : 0, 2859, 0, 0, 0, 1874, 852, 0, 3378, 0,
4453 : 0, 0, 1066, 1876, 0, 0, 0, 0, 0, 0,
4454 : 1877, 0, 0, 0, 852, 852, 0, 0, 0, 0,
4455 : 0, 0, 0, 0, 0, 1066, 0, 0, 0, 0,
4456 : 0, 0, 0, 0, 1878, 0, 0, 0, 0, 0,
4457 : 1066, 0, 0, 0, 0, 2025, 852, 0, 0, 2025,
4458 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4459 : 0, 0, 0, 2026, 0, 0, 0, 0, 0, 1059,
4460 : 0, 0, 852, 1879, 2025, 0, 0, 0, 1880, 0,
4461 : 852, 0, 0, 0, 0, 0, 0, 852, 0, 0,
4462 : 0, 852, 0, 1059, 0, 0, 0, 1067, 0, -2564,
4463 : -2564, 0, 0, 0, 0, 0, 0, 1067, 0, 0,
4464 : 0, 852, 0, 0, 1883, 0, 852, 0, 0, 0,
4465 : 852, 0, 0, 2025, 1066, 0, 0, 0, 0, 0,
4466 : 0, 0, 0, 852, 0, 0, 0, 0, 0, 0,
4467 : 0, 0, 0, 1879, 0, 0, 852, -2564, 1880, 0,
4468 : 0, 0, 0, 0, 0, 0, 852, 0, 0, 0,
4469 : 0, 1885, 2753, 0, 0, 0, 0, 2753, 0, 1881,
4470 : 1882, 0, 0, 2753, 0, 0, 0, 0, 0, 0,
4471 : 0, 0, 0, 0, 1883, 0, 0, 0, 0, 0,
4472 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4473 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4474 : 0, 2025, 0, 0, 0, 1057, 0, 1884, 0, 0,
4475 : 0, 0, 0, 0, 0, 853, 0, 0, 0, 1066,
4476 : 0, 1885, 1067, 0, 1886, 0, 0, 3120, 1057, 0,
4477 : 0, 0, 0, 0, 0, 0, 0, 1887, 0, 0,
4478 : 0, 0, 0, 1057, 0, 0, 0, 0, 0, 0,
4479 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4480 : 1067, 0, 0, 0, 0, 2026, 0, 0, 0, 0,
4481 : 2026, 0, 2026, 0, 0, 0, 0, 0, 852, 0,
4482 : 0, 1067, 0, 0, 0, 0, 0, 0, 0, 0,
4483 : 0, 0, 0, 0, 2026, 0, 0, 0, 0, 0,
4484 : 0, 0, 0, 0, 0, 0, 0, 1887, 0, 0,
4485 : 0, 2026, 0, 0, 0, 0, 0, 0, 0, 0,
4486 : 0, 0, 0, 0, 0, 0, 853, 1057, 0, 853,
4487 : 0, 852, 0, 1888, 0, 0, 1889, 1890, 1891, 0,
4488 : 1892, 1893, 1894, 1895, 1896, 1897, 1067, 0, 0, 0,
4489 : 0, 0, 0, 0, 0, 0, 1059, 0, 0, 0,
4490 : 1925, 0, 0, 0, 0, 0, 0, 0, 0, 852,
4491 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 1059,
4492 : 0, 0, 0, 0, 0, 0, 0, 852, 0, 0,
4493 : 0, 0, 0, 0, 1059, 852, 0, 0, 0, 0,
4494 : 0, 0, 0, 1888, 0, 0, 1889, 1890, 1891, 0,
4495 : 1892, 1893, 1894, 1895, 1896, 1897, 853, 853, 0, 0,
4496 : 0, 0, 0, 0, 0, 1066, 853, 0, 0, 0,
4497 : 0, 0, 1057, 0, 0, 0, 0, 0, 0, 0,
4498 : 0, 0, 0, 0, 0, 853, 0, 0, 0, 0,
4499 : 0, 0, 0, 0, 0, 4587, 0, 1067, 0, 0,
4500 : 0, 0, 3317, 0, 0, 0, 0, 3323, 0, 0,
4501 : 0, 0, 0, 0, 0, 2025, 0, 0, 1059, 0,
4502 : 0, 2025, 0, 0, 0, 0, 0, 0, 0, 0,
4503 : 0, 1066, 1862, 0, 0, 0, 0, 0, 0, 1067,
4504 : 0, 0, 0, 2664, 0, 2664, 2664, 0, 0, 0,
4505 : 0, 0, 0, 0, 0, 0, 3381, 853, 0, 3384,
4506 : 0, 3386, 0, 0, 0, 0, 0, 0, 0, 0,
4507 : 1066, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4508 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4509 : 3404, 0, 3407, 1066, 3409, 0, 0, 0, 0, 0,
4510 : 0, 0, 0, 0, 0, 0, 852, 0, 0, 0,
4511 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4512 : 0, 0, 0, 1059, 0, 0, 0, 2750, 2750, 2750,
4513 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4514 : 0, 0, 0, 0, 0, 3459, 0, 0, 0, 0,
4515 : 0, 0, 0, 0, 0, 0, 2045, 0, 0, 0,
4516 : 0, 3469, 0, 0, 0, 0, 0, 2060, 0, 0,
4517 : 0, 0, 2820, 1066, 0, 0, 0, 0, 1057, 0,
4518 : 0, 0, 0, 0, 0, 852, 852, 0, 1066, 0,
4519 : 0, 0, 0, 0, 0, 0, 0, 1066, 0, 0,
4520 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 1066,
4521 : 0, 0, 852, 0, 0, 852, 0, 0, 0, 0,
4522 : 0, 0, 1869, 0, 0, 1870, 0, 3506, 0, 1871,
4523 : 1872, 1873, 0, 0, 0, 0, 0, 0, 0, 0,
4524 : 0, 0, 0, 0, 1057, 0, 1874, 0, 0, 0,
4525 : 0, 0, 0, 0, 1876, 0, 0, 0, 0, 0,
4526 : 0, 1877, 0, 0, 1066, 0, 0, 0, 0, 0,
4527 : 0, 0, 0, 0, 0, 0, 0, 0, 1066, 0,
4528 : 0, 0, 0, 1057, 853, 1878, 0, 0, 0, 2026,
4529 : 1066, 0, 0, 0, 2820, 0, 2025, 2025, 2025, 0,
4530 : 0, 0, 1066, 0, 0, 0, 1057, 0, 0, 0,
4531 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 1067,
4532 : 852, 853, 0, 0, 0, 0, 0, 0, 0, 1059,
4533 : 0, 0, 0, 853, 0, 0, 0, 0, 0, 0,
4534 : 852, 0, 1066, 1066, 0, 0, 0, 0, 0, 0,
4535 : 0, 0, 0, 0, 0, 852, 0, 0, 0, 1067,
4536 : 853, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4537 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4538 : 0, 0, 0, 0, 0, 0, 1057, 0, 0, 0,
4539 : 0, 0, 0, 0, 1879, 1059, 0, 0, 0, 1880,
4540 : 0, 1057, 0, 0, 0, 0, 0, 0, 0, 0,
4541 : 1057, 0, 0, 1067, 0, 0, 0, 0, 1067, 1067,
4542 : 1881, 1882, 1057, 0, 0, 0, 0, 0, 0, 0,
4543 : 0, 0, 0, 852, 1059, 1883, 0, 0, 0, 0,
4544 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4545 : 0, 0, 853, 0, 0, 0, 0, 1059, 0, 0,
4546 : 0, 0, 0, 0, 0, 0, 0, 0, 1884, 0,
4547 : 0, 2025, 0, 0, 0, 0, 1066, 1057, 852, 0,
4548 : 852, 0, 1885, 0, 0, 1886, 0, 0, 0, 0,
4549 : 0, 1057, 0, 852, 0, 852, 0, 0, 0, 0,
4550 : 0, 0, 0, 1057, 0, 0, 0, 0, 0, 0,
4551 : 0, 0, 0, 0, 0, 1057, 0, 2025, 0, 0,
4552 : 0, 0, 0, 0, 853, 0, 0, 4587, 1067, 0,
4553 : 0, 0, 0, 0, 0, 0, 0, 1059, 0, 0,
4554 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4555 : 0, 0, 1059, 0, 0, 1057, 1057, 0, 852, 0,
4556 : 0, 1059, 0, 0, 0, 0, 0, 0, 1887, 0,
4557 : 0, 0, 0, 1059, 0, 0, 0, 0, 0, 0,
4558 : 0, 0, 0, 0, 0, 1869, 0, 0, 1870, 0,
4559 : 0, 0, 1871, 1872, 1873, 0, 0, 1060, 3863, 0,
4560 : 0, 0, 0, 0, 0, 0, 852, 0, 0, 1874,
4561 : 0, 0, 3917, 0, 0, 0, 0, 1876, 0, 0,
4562 : 0, 1060, 852, 0, 1877, 0, 0, 0, 1059, 0,
4563 : 0, 0, 0, 853, 0, 853, 0, 0, 0, 0,
4564 : 0, 0, 1059, 0, 852, 0, 0, 852, 1878, 0,
4565 : 0, 0, 0, 0, 1059, 0, 0, 0, 0, 0,
4566 : 0, 0, 0, 0, 1888, 0, 1059, 1889, 1890, 1891,
4567 : 0, 1892, 1893, 1894, 1895, 1896, 1897, 0, 853, 0,
4568 : 0, 0, 0, 0, 0, 0, 0, 844, 0, 1057,
4569 : 0, 0, 0, 0, 1066, 0, 0, 0, 1066, 1066,
4570 : 0, 3864, 0, 0, 0, 0, 1059, 1059, 0, 0,
4571 : 3868, 0, 0, 0, 0, 0, 3869, 0, 3870, 0,
4572 : 0, 0, 0, 2026, 0, 2025, 0, 1067, 0, 844,
4573 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4574 : 0, 0, 0, 0, 0, 3894, 3895, 0, 0, 0,
4575 : 0, 0, 0, 0, 0, 0, 0, 1879, 1062, 0,
4576 : 1066, 0, 1880, 2670, 0, 0, 0, 0, 0, 0,
4577 : 0, 3920, 1066, 0, 3923, 0, 3925, 0, 0, 0,
4578 : 0, 0, 1062, 1881, 1882, 3929, 0, 0, 0, 0,
4579 : 0, 0, 0, 3936, 3937, 0, 0, 0, 1883, 0,
4580 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4581 : 0, 0, 1066, 0, 0, 0, 0, 0, 0, 0,
4582 : 1869, 0, 0, 1870, 0, 0, 3984, 1871, 1872, 1873,
4583 : 0, 1884, 3991, 3992, 2750, 0, 0, 0, 0, 0,
4584 : 1059, 0, 0, 0, 1874, 1885, 0, 0, 1886, 0,
4585 : 0, 0, 1876, 0, 0, 0, 0, 0, 4007, 1877,
4586 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4587 : 0, 0, 0, 0, 4020, 0, 0, 0, 0, 0,
4588 : 0, 0, 0, 1878, 0, 0, 0, 852, 0, 0,
4589 : 0, 0, 0, 0, 1060, 0, 0, 0, 0, 0,
4590 : 0, 0, 0, 0, 0, 0, 0, 1057, 0, 0,
4591 : 2026, 1057, 1057, 0, 0, 0, 0, 1060, 0, 0,
4592 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4593 : 0, 1887, 1060, 0, 0, 0, 0, 2025, 0, 0,
4594 : 0, 0, 2025, 0, 2025, 0, 853, 0, 0, 0,
4595 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4596 : 0, 0, 0, 0, 0, 0, 2025, 0, 0, 0,
4597 : 0, 0, 0, 1057, 0, 0, 0, 0, 0, 0,
4598 : 0, 0, 0, 2025, 0, 1057, 0, 0, 0, 0,
4599 : 0, 1066, 1879, 0, 0, 0, 0, 1880, 852, 0,
4600 : 0, 852, 0, 0, 0, 0, 0, 0, 0, 0,
4601 : 0, 0, 0, 0, 0, 0, 1060, 0, 1881, 1882,
4602 : 0, 0, 0, 0, 0, 1057, 0, 1888, 0, 0,
4603 : 1889, 1890, 1891, 1883, 1892, 1893, 1894, 1895, 1896, 1897,
4604 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4605 : 0, 0, 0, 0, 0, 1062, 0, 0, 1059, 0,
4606 : 0, 0, 1059, 1059, 0, 0, 1884, 0, 0, 0,
4607 : 0, 0, 0, 1066, 0, 0, 0, 0, 1062, 0,
4608 : 1885, 0, 0, 1886, 0, 0, 0, 0, 852, 852,
4609 : 0, 0, 0, 1062, 0, 0, 0, 0, 852, 0,
4610 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4611 : 0, 0, 0, 0, 0, 0, 0, 852, 0, 0,
4612 : 0, 1060, 0, 0, 1059, 0, 0, 0, 0, 0,
4613 : 0, 0, 0, 0, 0, 2026, 1059, 853, 0, 0,
4614 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4615 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4616 : 0, 0, 0, 0, 0, 0, 1887, 0, 0, 0,
4617 : 0, 0, 0, 0, 0, 0, 1059, 1062, 0, 4282,
4618 : 4283, 0, 0, 0, 1066, 0, 0, 0, 0, 852,
4619 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4620 : 0, 1066, 0, 0, 1057, 0, 0, 0, 0, 0,
4621 : 0, 0, 0, 0, 1066, 0, 0, 0, 0, 0,
4622 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 2026,
4623 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4624 : 0, 0, 0, 0, 0, 0, 4319, 853, 0, 0,
4625 : 0, 0, 0, 0, 0, 0, 0, 4324, 0, 0,
4626 : 844, 0, 1888, 0, 0, 1889, 1890, 1891, 0, 1892,
4627 : 1893, 1894, 1895, 1896, 1897, 0, 0, 0, 0, 0,
4628 : 0, 0, 1062, 0, 0, 0, 1057, 0, 0, 0,
4629 : 0, 0, 0, 0, 0, 0, 0, 4339, 4341, 0,
4630 : 0, 0, 0, 0, 4345, 4346, 0, 0, 0, 4347,
4631 : 0, 0, 0, 0, 4350, 0, 0, 4353, 4354, 0,
4632 : 0, 0, 4358, 0, 0, 622, 0, 1060, 4362, 0,
4633 : 623, 844, 844, 0, 0, 0, 0, 0, 0, 0,
4634 : 0, 0, 624, 0, 0, 0, 0, 0, 0, 0,
4635 : 0, 0, 0, 0, 0, 1059, 0, 0, 0, 0,
4636 : 0, 0, 0, 0, 625, 2750, 0, 0, 0, 0,
4637 : 2750, 0, 0, 853, 0, 0, 2750, 626, 0, 0,
4638 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4639 : 0, 1259, 627, 1060, 0, 0, 0, 1057, 0, 0,
4640 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4641 : 628, 0, 0, 0, 1057, 0, 852, 4422, 0, 1066,
4642 : 0, 2025, 1066, 0, 1066, 0, 0, 1057, 0, 1066,
4643 : 0, 0, 1060, 629, 0, 0, 0, 1059, 0, 0,
4644 : 0, 0, 0, 0, 630, 0, 0, 0, 0, 2026,
4645 : 0, 0, 631, 852, 0, 1060, 0, 0, 0, 0,
4646 : 0, 0, 0, 0, 632, 852, 0, 0, 0, 633,
4647 : 0, 0, 0, 0, 0, 0, 634, 0, 1066, 0,
4648 : 0, 0, 0, 0, 0, 0, 0, 0, 1062, 0,
4649 : 0, 0, 852, 635, 0, 1066, 0, 0, 2026, 0,
4650 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4651 : 0, 0, 0, 2026, 844, 844, 0, 4483, 0, 0,
4652 : 1066, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4653 : 0, 0, 0, 0, 0, 1060, 0, 0, 0, 636,
4654 : 0, 0, 0, 0, 0, 0, 0, 0, 1059, 0,
4655 : 1060, 0, 0, 0, 1062, 0, 0, 0, 0, 1060,
4656 : 0, 0, 0, 0, 0, 1059, 0, 0, 0, 0,
4657 : 0, 1060, 0, 637, 0, 0, 0, 0, 1059, 0,
4658 : 0, 0, 0, 4519, 852, 638, 0, 0, 0, 1066,
4659 : 0, 1066, 0, 1062, 0, 639, 0, 0, 0, 0,
4660 : 0, 0, 0, 0, 0, 204, 1063, 0, 640, 0,
4661 : 0, 0, 0, 0, 0, 0, 1062, 0, 0, 0,
4662 : 0, 0, 0, 0, 0, 0, 1060, 0, 0, 0,
4663 : 1063, 0, 1057, 0, 641, 1057, 0, 1057, 0, 642,
4664 : 1060, 643, 1057, 0, 0, 0, 0, 0, 644, 0,
4665 : 0, 645, 1060, 0, 0, 0, 852, 0, 0, 0,
4666 : 0, 0, 0, 1065, 1060, 0, 0, 0, 0, 0,
4667 : 646, 0, 1066, 0, 0, 0, 647, 0, 0, 0,
4668 : 0, 648, 0, 0, 649, 0, 0, 1065, 650, 0,
4669 : 0, 1057, 0, 0, 0, 651, 1062, 652, 0, 0,
4670 : 1066, 0, 653, 0, 1060, 1060, 0, 0, 1057, 0,
4671 : 0, 1062, 0, 0, 654, 0, 0, 0, 0, 0,
4672 : 1062, 0, 0, 1066, 0, 0, 0, 655, 0, 0,
4673 : 0, 1066, 1062, 1057, 4623, 4624, 0, 0, 4625, 0,
4674 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4675 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4676 : 0, 0, 0, 0, 0, 852, 0, 852, 0, 0,
4677 : 0, 0, 0, 0, 0, 0, 4661, 4662, 0, 0,
4678 : 0, 0, 0, 1059, 0, 0, 1059, 1062, 1059, 0,
4679 : 0, 0, 0, 1059, 0, 0, 4674, 0, 0, 0,
4680 : 1066, 1062, 1057, 0, 1057, 0, 0, 0, 0, 0,
4681 : 852, 0, 0, 1062, 0, 0, 0, 0, 1066, 0,
4682 : 0, 0, 0, 0, 0, 1062, 0, 0, 0, 0,
4683 : 0, 1066, 0, 0, 0, 0, 0, 0, 1060, 0,
4684 : 0, 0, 1059, 0, 0, 0, 0, 0, 0, 0,
4685 : 0, 0, 0, 0, 0, 2025, 0, 0, 0, 1059,
4686 : 0, 0, 0, 0, 0, 1062, 1062, 0, 0, 0,
4687 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4688 : 0, 0, 0, 0, 1059, 1057, 0, 0, 0, 0,
4689 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4690 : 0, 0, 0, 1063, 0, 0, 0, 0, 0, 0,
4691 : 0, 0, 0, 1057, 0, 0, 0, 0, 0, 0,
4692 : 0, 0, 0, 0, 0, 0, 1063, 1066, 0, 0,
4693 : 0, 0, 0, 0, 0, 0, 1057, 0, 0, 0,
4694 : 0, 1063, 0, 0, 1057, 0, 0, 0, 1066, 0,
4695 : 0, 0, 0, 1059, 0, 1059, 0, 0, 0, 0,
4696 : 1065, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4697 : 0, 0, 0, 1066, 0, 0, 0, 0, 0, 0,
4698 : 0, 0, 0, 1065, 0, 0, 0, 0, 0, 0,
4699 : 0, 0, 0, 0, 2670, 0, 0, 0, 1065, 1062,
4700 : 0, 0, 0, 0, 0, 0, 0, 1066, 0, 0,
4701 : 0, 0, 0, 1057, 0, 0, 0, 0, 0, 0,
4702 : 0, 0, 4851, 0, 0, 1063, 0, 0, 0, 0,
4703 : 0, 1057, 0, 0, 0, 0, 1059, 1862, 0, 0,
4704 : 0, 0, 2025, 0, 1057, 0, 0, 0, 0, 0,
4705 : 0, 0, 0, 0, 0, 0, 1060, 0, 0, 0,
4706 : 1060, 1060, 0, 0, 1059, 0, 0, 0, 0, 0,
4707 : 0, 0, 0, 0, 0, 0, 0, 0, 852, 0,
4708 : 0, 0, 1065, 0, 0, 0, 0, 1059, 0, 0,
4709 : 0, 0, 0, 0, 0, 1059, 4901, 0, 0, 0,
4710 : 0, 0, 0, 1066, 0, 0, 0, 0, 0, 0,
4711 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4712 : 0, 0, 1060, 0, 0, 0, 0, 0, 0, 0,
4713 : 1063, 0, 0, 0, 1060, 0, 0, 0, 0, 0,
4714 : 1057, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4715 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4716 : 0, 1057, 0, 0, 1059, 0, 0, 0, 0, 0,
4717 : 0, 0, 0, 0, 1060, 0, 0, 0, 0, 0,
4718 : 0, 0, 1059, 0, 0, 0, 1057, 1065, 0, 0,
4719 : 0, 0, 0, 0, 0, 1059, 0, 0, 0, 0,
4720 : 0, 0, 1066, 0, 0, 0, 0, 0, 0, 0,
4721 : 0, 0, 0, 0, 0, 0, 0, 1062, 0, 0,
4722 : 1057, 1062, 1062, 0, 0, 0, 1066, 0, 0, 0,
4723 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4724 : 0, 0, 0, 0, 0, 0, 0, 4661, 0, 0,
4725 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4726 : 0, 0, 0, 0, 0, 0, 0, 2025, 0, 852,
4727 : 0, 0, 0, 5043, 0, 0, 0, 0, 0, 0,
4728 : 0, 0, 0, 1062, 0, 0, 0, 0, 0, 0,
4729 : 0, 1059, 0, 0, 0, 1062, 0, 0, 0, 0,
4730 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4731 : 0, 0, 1059, 0, 0, 0, 1057, 0, 0, 0,
4732 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4733 : 0, 0, 0, 0, 0, 1062, 1063, 1059, 0, 0,
4734 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4735 : 0, 1066, 0, 1060, 0, 5095, 0, 0, 0, 0,
4736 : 0, 2025, 0, 0, 0, 0, 0, 0, 0, 0,
4737 : 0, 1059, 0, 0, 0, 0, 0, 0, 0, 852,
4738 : 0, 0, 0, 0, 0, 0, 0, 0, 5121, 5121,
4739 : 0, 0, 0, 1065, 0, 0, 0, 0, 0, 0,
4740 : 0, 1066, 1063, 0, 0, 0, 4661, 0, 0, 0,
4741 : 0, 0, 0, 0, 0, 1057, 0, 0, 0, 0,
4742 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4743 : 0, 0, 0, 0, 0, 1060, 0, 0, 0, 1057,
4744 : 0, 1063, 0, 0, 0, 0, 0, 0, 0, 0,
4745 : 0, 0, 570, 0, 0, 0, 0, 571, 0, 1065,
4746 : 0, 0, 0, 0, 1063, 0, 0, 1059, 0, 572,
4747 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4748 : 0, 0, 0, 0, 5180, 0, 0, 0, 0, 0,
4749 : 0, 573, 0, 0, 0, 0, 0, 0, 1065, 0,
4750 : 0, 5121, 0, 0, 574, 852, 0, 0, 0, 0,
4751 : 0, 0, 0, 0, 1062, 575, 0, 0, 0, -846,
4752 : 0, 1065, 0, 1066, 0, 0, 0, 5221, 0, 0,
4753 : 0, 0, 0, 1066, 0, 0, 0, 576, 0, 0,
4754 : 0, 0, 0, 577, 1063, 0, 1060, 0, 0, 0,
4755 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 1063,
4756 : 578, 0, 0, 1060, 1057, 0, 1059, 0, 1063, 0,
4757 : 0, 579, 0, 0, 0, 0, 1060, 0, 0, 580,
4758 : 1063, 2025, 0, 0, 0, 0, 0, 0, 0, 0,
4759 : 1059, 581, 0, 0, 0, 0, 1062, 0, 0, 582,
4760 : 0, 1065, 0, 583, 0, 0, 0, 0, 0, 0,
4761 : 0, 0, 0, 0, 1057, 0, 1065, 0, 0, 0,
4762 : -1066, 0, 0, 0, 0, 1065, 0, 0, 0, 0,
4763 : 2025, 0, 0, 0, 5121, 1063, 0, 1065, 0, 0,
4764 : 5279, 0, 0, 0, 0, 2025, 0, 0, 0, 1063,
4765 : 0, 0, 0, 0, 0, 0, 0, 584, 1066, 0,
4766 : 0, 1063, 0, 0, 0, 0, -568, 0, 0, 0,
4767 : 0, 0, 0, 1063, 0, 0, 0, 0, 0, 0,
4768 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4769 : 0, 0, 1065, 0, 0, 0, 1066, 0, 0, 0,
4770 : 585, 0, 0, 586, 0, 0, 1065, 1062, 0, 0,
4771 : 0, 0, 0, 1063, 1063, 1059, 0, 1066, 1065, 0,
4772 : 0, 0, 587, 0, 1062, 0, 0, 0, 0, 0,
4773 : 1065, 0, 0, 0, 0, 588, 1057, 1062, 0, 0,
4774 : 0, 0, -445, 0, 0, 0, 1057, 0, 0, 0,
4775 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4776 : 0, 589, 0, 0, 0, 1059, 0, 0, 590, 0,
4777 : 1065, 1065, 0, 0, 0, -445, 0, 0, 591, 0,
4778 : 0, 1060, 1066, 0, 1060, 0, 1060, 0, 0, 0,
4779 : 0, 1060, 0, 0, 0, 0, 0, 592, 0, 0,
4780 : 0, 0, 0, 593, 0, 0, 0, 0, -445, 0,
4781 : 0, 594, 595, 0, 596, 597, 0, 0, 0, 0,
4782 : 0, 0, 0, 0, 598, 0, 0, 0, 0, 599,
4783 : 0, 0, 0, 0, 0, 600, 0, 0, 601, 0,
4784 : 1060, 602, 0, 0, 0, 0, 0, 1063, 0, 0,
4785 : 0, 0, 0, 0, -445, 0, 0, 1060, 0, 0,
4786 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4787 : 0, 1057, 0, 0, 0, 0, 0, 0, 0, 0,
4788 : 0, 0, 1060, 0, 0, 0, 0, 1059, 0, 0,
4789 : 0, 0, 0, 1066, 0, 0, 0, 1059, 0, 0,
4790 : 0, 0, 0, 0, 1065, 0, 0, 0, 0, 1057,
4791 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4792 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4793 : 1057, 0, 0, 0, 0, 1066, 0, 0, 0, 0,
4794 : 0, 0, 1062, 0, 0, 1062, 0, 1062, 0, 0,
4795 : 0, 1060, 1062, 1060, 0, 0, 0, 0, 0, 0,
4796 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4797 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4798 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4799 : 0, 0, 0, 0, 0, 1057, 0, 0, 0, 0,
4800 : 0, 1062, 0, 0, 0, 0, 0, 0, 0, 0,
4801 : 0, 0, 0, 0, 0, 0, 0, 0, 1062, 0,
4802 : 0, 0, 1059, 0, 0, 0, 0, 0, 0, 0,
4803 : 0, 0, 0, 0, 1060, 0, 0, 0, 0, 0,
4804 : 0, 0, 0, 1062, 0, 0, 0, 0, 0, 0,
4805 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4806 : 1059, 0, 1060, 0, 0, 1063, 0, 0, 1066, 1063,
4807 : 1063, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4808 : 0, 1059, 0, 0, 0, 1060, 0, 0, 0, 0,
4809 : 0, 0, 0, 1060, 0, 0, 0, 0, 0, 0,
4810 : 0, 0, 0, 0, 0, 0, 1057, 0, 0, 0,
4811 : 0, 0, 1062, 0, 1062, 0, 0, 0, 0, 0,
4812 : 0, 0, 1065, 0, 0, 0, 1065, 1065, 0, 0,
4813 : 0, 1063, 0, 0, 0, 0, 0, 0, 0, 0,
4814 : 0, 0, 0, 1063, 0, 0, 1059, 0, 1057, 0,
4815 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4816 : 0, 0, 1060, 0, 0, 0, 0, 0, 0, 0,
4817 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4818 : 1060, 0, 0, 1063, 0, 0, 0, 0, 1065, 0,
4819 : 1066, 0, 0, 1060, 0, 1062, 0, 0, 0, 0,
4820 : 1065, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4821 : 0, 0, 0, 0, 0, 1066, 0, 0, 0, 0,
4822 : 0, 0, 0, 1062, 0, 0, 0, 0, 0, 0,
4823 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4824 : 1065, 0, 0, 0, 0, 0, 1062, 0, 0, 0,
4825 : 0, 0, 0, 0, 1062, 1066, 0, 1059, 0, 0,
4826 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4827 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4828 : 0, 1057, 0, 0, 0, 0, 0, 0, 0, 1060,
4829 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 1059,
4830 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 1066,
4831 : 1060, 0, 0, 0, 1066, 1066, 0, 0, 0, 0,
4832 : 0, 0, 0, 1062, 0, 0, 0, 0, 0, 0,
4833 : 0, 0, 0, 0, 0, 1060, 1899, 0, 0, 0,
4834 : 0, 1062, 0, 0, 0, 0, 0, 0, 0, 0,
4835 : 0, 0, 0, 0, 1062, 0, 0, 0, 0, 0,
4836 : 0, 0, 1063, 0, 0, 0, 0, 0, 0, 1060,
4837 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4838 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4839 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 1899,
4840 : 0, 0, 0, 1057, 0, 0, 0, 0, 0, 0,
4841 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 1065,
4842 : 0, 0, 0, 0, 1066, 0, 0, 0, 1057, 0,
4843 : 0, 0, 1059, 0, 0, 0, 0, 0, 0, 0,
4844 : 0, 0, 0, 0, 1063, 0, 0, 0, 0, 0,
4845 : 1062, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4846 : 0, 0, 0, 0, 0, 1060, 0, 0, 1057, 0,
4847 : 0, 1062, 0, 0, 0, 0, 0, 0, 0, 0,
4848 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4849 : 0, 0, 0, 0, 0, 0, 1062, 0, 0, 0,
4850 : 0, 1065, 0, 0, 0, 0, 0, 0, 0, 0,
4851 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4852 : 0, 0, 1057, 0, 0, 0, 0, 1057, 1057, 0,
4853 : 1062, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4854 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4855 : 0, 0, 0, 0, 1059, 1063, 0, 0, 0, 0,
4856 : 0, 0, 0, 0, 1060, 0, 0, 0, 0, 0,
4857 : 0, 0, 1063, 0, 0, 0, 0, 0, 0, 1059,
4858 : 0, 0, 0, 0, 0, 1063, 0, 0, 1060, 0,
4859 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4860 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4861 : 0, 0, 1065, 0, 0, 0, 0, 0, 0, 1059,
4862 : 0, 0, 0, 1066, 0, 0, 1062, 0, 0, 1065,
4863 : 0, 0, 0, 0, 0, 0, 0, 1057, 0, 0,
4864 : 0, 0, 1065, 0, 0, 0, 0, 0, 0, 0,
4865 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4866 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4867 : 0, 0, 0, 1059, 0, 0, 0, 0, 1059, 1059,
4868 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4869 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4870 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4871 : 0, 0, 0, 1060, 0, 0, 0, 0, 0, 0,
4872 : 0, 0, 0, 0, 0, 1062, 0, 0, 0, 0,
4873 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4874 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 1062,
4875 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4876 : 0, 0, 0, 1060, 0, 0, 0, 0, 0, 0,
4877 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4878 : 0, 0, 0, 0, 0, 0, 0, 0, 1059, 0,
4879 : 1063, 0, 0, 1063, 0, 1063, 0, 0, 0, 0,
4880 : 1063, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4881 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4882 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4883 : 0, 0, 0, 0, 0, 0, 1057, 0, 0, 0,
4884 : 0, 0, 0, 0, 0, 0, 0, 1065, 0, 1063,
4885 : 1065, 0, 1065, 0, 0, 0, 0, 1065, 0, 0,
4886 : 0, 0, 0, 0, 0, 0, 1063, 0, 0, 0,
4887 : 0, 0, 0, 0, 1062, 0, 0, 0, 0, 0,
4888 : 0, 0, 0, 0, 0, 1060, 0, 0, 0, 0,
4889 : 0, 1063, 0, 0, 0, 1060, 0, 0, 0, 0,
4890 : 0, 0, 0, 1899, 0, 0, 1065, 0, 0, 0,
4891 : 0, 0, 0, 0, 0, 0, 0, 1899, 0, 0,
4892 : 0, 2652, 0, 1065, 1062, 0, 0, 0, 0, 0,
4893 : 0, 0, 0, 0, 0, 1899, 1899, 1899, 0, 1899,
4894 : 0, 0, 0, 0, 0, 0, 0, 0, 1065, 0,
4895 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4896 : 1063, 0, 1063, 0, 0, 0, 0, 0, 0, 0,
4897 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4898 : 0, 1899, 0, 0, 0, 0, 0, 1059, 0, 0,
4899 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4900 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4901 : 0, 0, 0, 0, 0, 0, 0, 1065, 1899, 1065,
4902 : 1060, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4903 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4904 : 0, 0, 0, 1063, 0, 0, 1062, 0, 0, 0,
4905 : 0, 0, 0, 0, 0, 0, 1062, 0, 1060, 0,
4906 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4907 : 0, 1063, 0, 0, 0, 0, 0, 0, 0, 1060,
4908 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4909 : 0, 0, 0, 0, 1063, 0, 0, 0, 0, 0,
4910 : 1065, 0, 1063, 0, 0, 0, 0, 0, 0, 0,
4911 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4912 : 0, 0, 1899, 0, 0, 0, 0, 0, 1065, 0,
4913 : 0, 0, 0, 0, 1899, 0, 0, 1899, 0, 0,
4914 : 0, 0, 0, 0, 1060, 0, 0, 0, 0, 0,
4915 : 0, 1065, 0, 0, 0, 0, 0, 0, 0, 1065,
4916 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4917 : 0, 1063, 0, 0, 0, 0, 0, 0, 0, 0,
4918 : 0, 1062, 0, 0, 0, 0, 0, 0, 0, 1063,
4919 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4920 : 0, 0, 1063, 0, 0, 0, 0, 0, 0, 0,
4921 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 1062,
4922 : 0, 0, 0, 0, 0, 0, 0, 0, 1065, 0,
4923 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4924 : 1062, 0, 0, 0, 0, 0, 1065, 0, 0, 0,
4925 : 0, 0, 0, 0, 0, 1060, 0, 0, 0, 1065,
4926 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4927 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4928 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4929 : 0, 0, 0, 0, 0, 0, 0, 1060, 1063, 0,
4930 : 0, 0, 0, 0, 0, 1062, 0, 0, 0, 0,
4931 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 1063,
4932 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4933 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4934 : 0, 0, 0, 0, 1063, 0, 0, 0, 0, 0,
4935 : 0, 0, 0, 0, 0, 1065, 0, 0, 0, 0,
4936 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4937 : 0, 0, 0, 0, 0, 0, 1065, 0, 1063, 0,
4938 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4939 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4940 : 0, 1065, 0, 0, 0, 0, 0, 0, 0, 0,
4941 : 0, 0, 0, 0, 0, 0, 1062, 0, 0, 0,
4942 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4943 : 1060, 0, 0, 0, 0, 1065, 0, 0, 0, 0,
4944 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4945 : 0, 0, 0, 0, 0, 0, 0, 0, 1062, 0,
4946 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4947 : 0, 0, 0, 0, 1063, 0, 0, 0, 0, 0,
4948 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4949 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4950 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4951 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4952 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4953 : 0, 1065, 0, 0, 0, 0, 0, 0, 0, 0,
4954 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4955 : 0, 0, 1060, 0, 0, 0, 0, 0, 0, 0,
4956 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4957 : 0, 0, 0, 1063, 0, 0, 0, 1060, 0, 0,
4958 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4959 : 0, 1062, 0, 0, 0, 0, 0, 1063, 0, 0,
4960 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4961 : 0, 0, 0, 0, 0, 0, 0, 1060, 0, 0,
4962 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4963 : 1065, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4964 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4965 : 0, 0, 0, 0, 1065, 0, 0, 0, 0, 0,
4966 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4967 : 0, 1060, 0, 0, 0, 0, 1060, 1060, 0, 0,
4968 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4969 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 1899,
4970 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4971 : 0, 0, 0, 1062, 0, 0, 0, 0, 0, 1899,
4972 : 0, 1899, 1063, 0, 2652, 2652, 0, 3358, 0, 2652,
4973 : 0, 0, 0, 1899, 0, 0, 1899, 0, 1062, 0,
4974 : 0, 1899, 0, 0, 0, 0, 0, 1899, 0, 0,
4975 : 0, 0, 1899, 0, 0, 0, 0, 0, 0, 1899,
4976 : 1899, 1899, 1899, 0, 0, 0, 2652, 2652, 0, 1899,
4977 : 0, 0, 1063, 0, 0, 0, 0, 0, 1062, 1065,
4978 : 0, 1899, 0, 1899, 0, 0, 1060, 0, 0, 0,
4979 : 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899,
4980 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4981 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4982 : 0, 0, 0, 0, 0, 0, 0, 1899, 0, 1065,
4983 : 0, 0, 1062, 0, 0, 0, 0, 1062, 1062, 0,
4984 : 0, 0, 0, 0, 0, 0, 0, 1899, 0, 0,
4985 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4986 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4987 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4988 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4989 : 0, 0, 0, 0, 1063, 0, 0, 0, 0, 0,
4990 : 0, 0, 0, 0, 1063, 0, 0, 0, 0, 0,
4991 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4992 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4993 : 0, 0, 0, 0, 0, 0, 1899, 0, 0, 0,
4994 : 0, 0, 0, 0, 0, 0, 0, 1062, 0, 0,
4995 : 0, 1065, 0, 0, 0, 0, 0, 0, 0, 0,
4996 : 0, 1065, 0, 0, 0, 0, 0, 0, 0, 0,
4997 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4998 : 0, 0, 0, 0, 0, 1060, 0, 0, 0, 0,
4999 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5000 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5001 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5002 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 1063,
5003 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5004 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5005 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5006 : 0, 0, 0, 0, 0, 0, 0, 1063, 0, 0,
5007 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5008 : 0, 0, 0, 0, 0, 0, 1065, 0, 1063, 0,
5009 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5010 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5011 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5012 : 0, 0, 0, 0, 1065, 0, 0, 0, 0, 0,
5013 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5014 : 0, 0, 0, 0, 0, 1065, 1062, 0, 0, 0,
5015 : 0, 0, 0, 1063, 0, 0, 0, 0, 0, 0,
5016 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5017 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5018 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5019 : 0, 0, 0, 0, 0, 0, 0, 1899, 0, 0,
5020 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5021 : 1065, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5022 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5023 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5024 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5025 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5026 : 0, 0, 0, 0, 1063, 0, 0, 0, 0, 0,
5027 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5028 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5029 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5030 : 0, 0, 0, 0, 0, 0, 1063, 0, 0, 0,
5031 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5032 : 0, 1065, 0, 0, 0, 0, 0, 0, 0, 0,
5033 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5034 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5035 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5036 : 0, 0, 0, 1065, 0, 0, 0, 0, 0, 0,
5037 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5038 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5039 : 0, 0, 0, 0, 1899, 0, 0, 0, 0, 0,
5040 : 1899, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5041 : 0, 0, 0, 0, 0, 0, 3358, 3358, 0, 0,
5042 : 2652, 2652, 2652, 2652, 0, 0, 2652, 2652, 2652, 2652,
5043 : 2652, 2652, 2652, 2652, 2652, 2652, 3358, 0, 0, 1063,
5044 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5045 : 0, 0, 0, 0, 0, 0, 0, 0, 1899, 0,
5046 : 0, 1899, 0, 1899, 0, 0, 3358, 3358, 0, 0,
5047 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5048 : 0, 1899, 2652, 2652, 1899, 0, 1899, 0, 0, 0,
5049 : 0, 0, 0, 0, 0, 0, 1065, 0, 0, 0,
5050 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5051 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5052 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5053 : 0, 0, 0, 0, 0, 0, 1899, 0, 0, 0,
5054 : 0, 0, 0, 0, 0, 0, 1899, 0, 0, 0,
5055 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5056 : 0, 1063, 0, 0, 0, 0, 0, 0, 0, 0,
5057 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5058 : 0, 0, 0, 1899, 0, 0, 1063, 0, 0, 0,
5059 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5060 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5061 : 0, 0, 0, 0, 0, 0, 0, 0, 1065, 0,
5062 : 0, 0, 0, 0, 0, 0, 1063, 0, 0, 0,
5063 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5064 : 0, 0, 0, 1065, 0, 0, 0, 0, 0, 0,
5065 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5066 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5067 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5068 : 1063, 0, 0, 1065, 0, 1063, 1063, 0, 0, 0,
5069 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5070 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5071 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5072 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5073 : 0, 0, 0, 0, 0, 0, 0, 1065, 0, 0,
5074 : 0, 0, 1065, 1065, 0, 0, 0, 0, 0, 0,
5075 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5076 : 0, 0, 0, 0, 0, 0, 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, 2652, 0, 1063, 0, 0, 0, 0,
5080 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5081 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5082 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5083 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5084 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5085 : 0, 0, 1065, 0, 0, 0, 0, 0, 0, 0,
5086 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5087 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5088 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5089 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5090 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5091 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5092 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5093 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5094 : 0, 1899, 0, 0, 0, 1899, 1899, 1899, 0, 0,
5095 : 0, 0, 0, 3358, 3358, 3358, 3358, 0, 0, 0,
5096 : 0, 3358, 3358, 3358, 3358, 3358, 3358, 3358, 3358, 3358,
5097 : 3358, 1899, 1899, 0, 0, 0, 0, 0, 0, 0,
5098 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5099 : 0, 0, 0, 0, 1063, 0, 0, 1899, 0, 0,
5100 : 1899, 0, 1899, 0, 0, 0, 1899, 0, 0, 3358,
5101 : 3358, 0, 0, 1899, 1899, 0, 0, 0, 0, 0,
5102 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5103 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5104 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5105 : 0, 1065, 0, 0, 0, 0, 0, 0, 0, 0,
5106 : 0, 1899, 0, 0, 0, 0, 0, 0, 1899, 1899,
5107 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5108 : 0, 0, 0, 0, 1899, 0, 0, 0, 0, 0,
5109 : 0, 0, 0, 0, 0, 0, 0, 1899, 0, 0,
5110 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5111 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5112 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5113 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5114 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5115 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5116 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5117 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5118 : 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0,
5122 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5123 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5124 : 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0,
5128 : 3358, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5129 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5130 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5131 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5132 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5133 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5134 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5135 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 1899,
5136 : 1899, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5137 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5138 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5139 : 0, 0, 0, 0, 0, 0, 1899, 0, 0, 0,
5140 : 0, 1899, 2652, 0, 0, 0, 0, 0, 0, 0,
5141 : 0, 0, 0, 0, 0, 0, 1899, 0, 1899, 0,
5142 : 0, 0, 1899, 1899, 1899, 0, 0, 1899, 0, 0,
5143 : 1899, 1899, 0, 0, 0, 1899, 0, 0, 0, 1899,
5144 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5145 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5146 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5147 : 0, 0, 0, 0, 0, 0, 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, 1899,
5150 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5151 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5152 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5153 : 0, 0, 0, 0, 0, 0, 0, 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 : 1899, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5157 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5158 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5159 : 0, 0, 0, 0, 0, 0, 1899, 0, 0, 0,
5160 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5161 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5162 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5163 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5164 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5165 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5166 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5167 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5168 : 0, 0, 0, 0, 3358, 2652, 0, 0, 0, 0,
5169 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5170 : 1899, 1899, 1899, 0, 0, 0, 0, 0, 0, 0,
5171 : 2652, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5172 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5173 : 0, 0, 0, 0, 0, 0, 0, 0, 1899, 1899,
5174 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5175 : 0, 1899, 0, 0, 0, 0, 0, 0, 0, 0,
5176 : 0, 0, 0, 0, 0, 0, 0, 0, 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 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5182 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5183 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5184 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5185 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5186 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5187 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5188 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5189 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5190 : 0, 0, 0, 0, 0, 0, 0, 3358, 0, 0,
5191 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5192 : 0, 2652, 0, 0, 3358, 0, 0, 0, 1899, 0,
5193 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5194 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5195 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5196 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5197 : 0, 0, 0, 0, 0, 0, 0, 0, 1899, 0,
5198 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5199 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5200 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5201 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5202 : 0, 0, 0, 0, 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, 0, 0, 0,
5205 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5206 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5207 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5208 : 0, 0, 0, 0, 0, 0, 0, 0, 3358, 0,
5209 : 2652, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5210 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5211 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5212 : 1899, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5213 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5214 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5215 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5216 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5217 : 0, 0, 1899, 0, 0, 0, 0, 0, 0, 0,
5218 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5219 : 0, 0, 0, 0, 0, 0, 0, 0, 1899, 0,
5220 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5221 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5222 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5223 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5224 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5225 : 0, 0, 0, 0, 0, 0, 0, 1899, 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 : 0, 0, 0, 0, 0, 0, 2652, 2652, 0, 0,
5229 : 0, 0, 0, 0, 0, 0, 0, 0, 1899, 0,
5230 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5231 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5232 : 800, 1176, 617, 1177, 1178, 1179, 676, 1180, 0, 0,
5233 : 3358, 3358, 0, 0, 0, 224, 225, 226, 227, 228,
5234 : 229, 230, 231, 2744, 233, 234, 235, 0, 0, 0,
5235 : 0, 1181, 0, 0, 236, 237, 1899, 238, 239, 240,
5236 : 801, 241, 242, 243, 244, 1182, 802, 1183, 1184, 0,
5237 : 248, 249, 250, 251, 252, 1185, 1186, 253, 254, 1187,
5238 : 1188, 257, 0, 258, 259, 260, 261, 1189, 0, 1190,
5239 : 0, 263, 264, 265, 266, 267, 804, 268, 269, 270,
5240 : 0, 271, 272, 273, 274, 275, 276, 0, 805, 277,
5241 : 278, 279, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 280,
5242 : 281, 282, 283, 284, 285, 1198, 1199, 288, 1200, 289,
5243 : 0, 290, 291, 292, 293, 294, 295, 0, 296, 297,
5244 : 298, 299, 2745, 0, 300, 301, 1038, 303, 304, 0,
5245 : 305, 306, 307, 0, 308, 309, 310, 0, 311, 312,
5246 : 313, 314, 1201, 316, 317, 318, 1202, 1203, 320, 0,
5247 : 321, 322, 1204, 324, 0, 325, 0, 326, 807, 0,
5248 : 808, 327, 328, 329, 330, 0, 331, 1205, 0, 1206,
5249 : 334, 0, 335, 336, 337, 338, 339, 809, 340, 341,
5250 : 342, 343, 0, 344, 345, 346, 347, 348, 349, 0,
5251 : 350, 810, 351, 352, 353, 354, 355, 1207, 1208, 0,
5252 : 1209, 0, 359, 811, 812, 360, 813, 361, 362, 363,
5253 : 364, 365, 0, 0, 366, 1210, 814, 368, 815, 0,
5254 : 369, 370, 371, 1211, 1212, 372, 373, 374, 375, 376,
5255 : 377, 378, 379, 380, 381, 382, 383, 384, 385, 386,
5256 : 387, 1213, 816, 1214, 390, 391, 392, 393, 1215, 394,
5257 : 395, 817, 396, 1216, 1217, 398, 1218, 400, 401, 402,
5258 : 0, 403, 404, 0, 0, 1219, 406, 407, 0, 0,
5259 : 408, 409, 818, 410, 819, 1220, 412, 413, 414, 415,
5260 : 416, 417, 418, 419, 420, 0, 421, 422, 1221, 424,
5261 : 425, 426, 427, 428, 0, 429, 430, 431, 432, 433,
5262 : 434, 435, 436, 437, 1222, 439, 440, 441, 442, 0,
5263 : 443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
5264 : 453, 454, 0, 455, 456, 820, 457, 458, 459, 1223,
5265 : 461, 462, 463, 464, 465, 466, 467, 468, 469, 0,
5266 : 470, 471, 472, 473, 474, 1224, 475, 476, 477, 478,
5267 : 479, 821, 480, 481, 1225, 483, 0, 484, 485, 486,
5268 : 487, 488, 489, 490, 491, 492, 493, 494, 495, 1226,
5269 : 0, 497, 498, 0, 499, 822, 500, 501, 502, 503,
5270 : 504, 0, 1227, 1228, 0, 0, 507, 508, 1229, 510,
5271 : 1230, 1231, 512, 513, 514, 515, 516, 517, 518, 0,
5272 : 1232, 519, 520, 521, 522, 523, 1233, 0, 524, 525,
5273 : 526, 527, 528, 529, 1234, 2746, 531, 823, 532, 533,
5274 : 534, 535, 0, 0, 536, 0, 0, 537, 538, 539,
5275 : 540, 541, 542, 543, 1235, 1236, 1237, 1238, 548, 1239,
5276 : 1240, 1241, 1242, 553, 554, 555, 556, 1243, 0, 0,
5277 : 0, 0, 0, 0, 1244, 1245, 2747, 0, 0, 0,
5278 : 0, 0, 0, 1247, 2748, 800, 1176, 617, 1177, 1178,
5279 : 1179, 676, 1180, 0, 0, 0, 0, 0, 0, 0,
5280 : 224, 225, 226, 227, 228, 229, 230, 231, 0, 233,
5281 : 234, 235, 0, 0, 0, 0, 1181, 0, 0, 236,
5282 : 237, 0, 238, 239, 240, 801, 241, 242, 243, 244,
5283 : 1182, 802, 1183, 1184, 0, 248, 249, 250, 251, 252,
5284 : 1185, 1186, 253, 254, 1187, 1188, 257, 0, 258, 259,
5285 : 260, 261, 1189, 0, 1190, 0, 263, 264, 265, 266,
5286 : 267, 804, 268, 269, 270, 0, 271, 272, 273, 274,
5287 : 275, 276, 0, 805, 277, 278, 279, 1191, 1192, 1193,
5288 : 1194, 1195, 1196, 1197, 280, 281, 282, 283, 284, 285,
5289 : 1198, 1199, 288, 1200, 289, 0, 290, 291, 292, 293,
5290 : 294, 295, 0, 296, 297, 298, 299, 0, 0, 300,
5291 : 301, 1038, 303, 304, 0, 305, 306, 307, 0, 308,
5292 : 309, 310, 0, 311, 312, 313, 314, 1201, 316, 317,
5293 : 318, 1202, 1203, 320, 0, 321, 322, 1204, 324, 0,
5294 : 325, 0, 326, 807, 0, 808, 327, 328, 329, 330,
5295 : 0, 331, 1205, 0, 1206, 334, 0, 335, 336, 337,
5296 : 338, 339, 809, 340, 341, 342, 343, 0, 344, 345,
5297 : 346, 347, 348, 349, 0, 350, 810, 351, 352, 353,
5298 : 354, 355, 1207, 1208, 0, 1209, 0, 359, 811, 812,
5299 : 360, 813, 361, 362, 363, 364, 365, 0, 0, 366,
5300 : 1210, 814, 368, 815, 0, 369, 370, 371, 1211, 1212,
5301 : 372, 373, 374, 375, 376, 377, 378, 379, 380, 381,
5302 : 382, 383, 384, 385, 386, 387, 1213, 816, 1214, 390,
5303 : 391, 392, 393, 1215, 394, 395, 817, 396, 1216, 1217,
5304 : 398, 1218, 400, 401, 402, 0, 403, 404, 0, 0,
5305 : 1219, 406, 407, 0, 0, 408, 409, 818, 410, 819,
5306 : 1220, 412, 413, 414, 415, 416, 417, 418, 419, 420,
5307 : 0, 421, 422, 1221, 424, 425, 426, 427, 428, 0,
5308 : 429, 430, 431, 432, 433, 434, 435, 436, 437, 1222,
5309 : 439, 440, 441, 442, 0, 443, 444, 445, 446, 447,
5310 : 448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
5311 : 820, 457, 458, 459, 1223, 461, 462, 463, 464, 465,
5312 : 466, 467, 468, 469, 39, 470, 471, 472, 473, 474,
5313 : 1224, 475, 476, 477, 478, 479, 821, 480, 481, 1225,
5314 : 483, 0, 484, 485, 486, 487, 488, 489, 490, 491,
5315 : 492, 493, 494, 495, 1226, 0, 497, 498, 43, 499,
5316 : 822, 500, 501, 502, 503, 504, 0, 1227, 1228, 0,
5317 : 0, 507, 508, 1229, 510, 1230, 1231, 512, 513, 514,
5318 : 515, 516, 517, 518, 0, 1232, 519, 520, 521, 522,
5319 : 523, 1233, 0, 524, 525, 526, 527, 528, 1112, 1234,
5320 : 0, 531, 823, 532, 533, 534, 535, 0, 0, 536,
5321 : 0, 48, 537, 538, 539, 540, 541, 542, 543, 1235,
5322 : 1236, 1237, 1238, 548, 1239, 1240, 1241, 1242, 553, 554,
5323 : 555, 556, 1243, 0, 49, 0, 0, 0, 0, 1244,
5324 : 1245, 0, 0, 0, 0, 0, 0, 0, 1247, 4863,
5325 : 800, 1176, 617, 1177, 1178, 1179, 676, 1180, 0, 0,
5326 : 0, 0, 0, 0, 0, 224, 225, 226, 227, 228,
5327 : 229, 230, 231, 0, 233, 234, 235, 0, 0, 0,
5328 : 0, 1181, 0, 0, 236, 237, 0, 238, 239, 240,
5329 : 801, 241, 242, 243, 244, 1182, 802, 1183, 1184, 0,
5330 : 248, 249, 250, 251, 252, 1185, 1186, 253, 254, 1187,
5331 : 1188, 257, 0, 258, 259, 260, 261, 1189, 0, 1190,
5332 : 0, 263, 264, 265, 266, 267, 804, 268, 269, 270,
5333 : 0, 271, 272, 273, 274, 275, 276, 0, 805, 277,
5334 : 278, 279, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 280,
5335 : 281, 282, 283, 284, 285, 1198, 1199, 288, 1200, 289,
5336 : 0, 290, 291, 292, 293, 294, 295, 0, 296, 297,
5337 : 298, 299, 0, 0, 300, 301, 1038, 303, 304, 0,
5338 : 305, 306, 307, 0, 308, 309, 310, 0, 311, 312,
5339 : 313, 314, 1201, 316, 317, 318, 1202, 1203, 320, 0,
5340 : 321, 322, 1204, 324, 0, 325, 0, 326, 807, 0,
5341 : 808, 327, 328, 329, 330, 0, 331, 1205, 0, 1206,
5342 : 334, 0, 335, 336, 337, 338, 339, 809, 340, 341,
5343 : 342, 343, 0, 344, 345, 346, 347, 348, 349, 0,
5344 : 350, 810, 351, 352, 353, 354, 355, 1207, 1208, 0,
5345 : 1209, 0, 359, 811, 812, 360, 813, 361, 362, 363,
5346 : 364, 365, 0, 0, 366, 1210, 814, 368, 815, 0,
5347 : 369, 370, 371, 1211, 1212, 372, 373, 374, 375, 376,
5348 : 377, 378, 379, 380, 381, 382, 383, 384, 385, 386,
5349 : 387, 1213, 816, 1214, 390, 391, 392, 393, 1215, 394,
5350 : 395, 817, 396, 1216, 1217, 398, 1218, 400, 401, 402,
5351 : 0, 403, 404, 0, 0, 1219, 406, 407, 0, 0,
5352 : 408, 409, 818, 410, 819, 1220, 412, 413, 414, 415,
5353 : 416, 417, 418, 419, 420, 0, 421, 422, 1221, 424,
5354 : 425, 426, 427, 428, 0, 429, 430, 431, 432, 433,
5355 : 434, 435, 436, 437, 1222, 439, 440, 441, 442, 0,
5356 : 443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
5357 : 453, 454, 0, 455, 456, 820, 457, 458, 459, 1223,
5358 : 461, 462, 463, 464, 465, 466, 467, 468, 469, 0,
5359 : 470, 471, 472, 473, 474, 1224, 475, 476, 477, 478,
5360 : 479, 821, 480, 481, 1225, 483, 0, 484, 485, 486,
5361 : 487, 488, 489, 490, 491, 492, 493, 494, 495, 1226,
5362 : 0, 497, 498, 0, 499, 822, 500, 501, 502, 503,
5363 : 504, 0, 1227, 1228, 0, 0, 507, 508, 1229, 510,
5364 : 1230, 1231, 512, 513, 514, 515, 516, 517, 518, 0,
5365 : 1232, 519, 520, 521, 522, 523, 1233, 0, 524, 525,
5366 : 526, 527, 528, 529, 1234, 0, 531, 823, 532, 533,
5367 : 534, 535, 0, 0, 536, 0, 0, 537, 538, 539,
5368 : 540, 541, 542, 543, 1235, 1236, 1237, 1238, 548, 1239,
5369 : 1240, 1241, 1242, 553, 554, 555, 556, 1243, 0, 0,
5370 : 0, 0, 0, 0, 1244, 1245, 0, 0, 0, 0,
5371 : 0, 0, 0, 1247, 2654, 800, 1176, 617, 1177, 1178,
5372 : 1179, 676, 1180, 0, 0, 0, 0, 0, 0, 0,
5373 : 224, 225, 226, 227, 228, 229, 230, 231, 0, 233,
5374 : 234, 235, 0, 0, 0, 0, 1181, 0, 0, 236,
5375 : 237, 0, 238, 239, 240, 801, 241, 242, 243, 244,
5376 : 1182, 802, 1183, 1184, 0, 248, 249, 250, 251, 252,
5377 : 1185, 1186, 253, 254, 1187, 1188, 257, 0, 258, 259,
5378 : 260, 261, 1189, 0, 1190, 0, 263, 264, 265, 266,
5379 : 267, 804, 268, 269, 270, 0, 271, 272, 273, 274,
5380 : 275, 276, 0, 805, 277, 278, 279, 1191, 1192, 1193,
5381 : 1194, 1195, 1196, 1197, 280, 281, 282, 283, 284, 285,
5382 : 1198, 1199, 288, 1200, 289, 0, 290, 291, 292, 293,
5383 : 294, 295, 0, 296, 297, 298, 299, 0, 0, 300,
5384 : 301, 1038, 303, 304, 0, 305, 306, 307, 0, 308,
5385 : 309, 310, 0, 311, 312, 313, 314, 1201, 316, 317,
5386 : 318, 1202, 1203, 320, 0, 321, 322, 1204, 324, 0,
5387 : 325, 0, 326, 807, 0, 808, 327, 328, 329, 330,
5388 : 0, 331, 1205, 0, 1206, 334, 0, 335, 336, 337,
5389 : 338, 339, 809, 340, 341, 342, 343, 0, 344, 345,
5390 : 346, 347, 348, 349, 0, 350, 810, 351, 352, 353,
5391 : 354, 355, 1207, 1208, 0, 1209, 0, 359, 811, 812,
5392 : 360, 813, 361, 362, 363, 364, 365, 0, 0, 366,
5393 : 1210, 814, 368, 815, 0, 369, 370, 371, 1211, 1212,
5394 : 372, 373, 374, 375, 376, 377, 378, 379, 380, 381,
5395 : 382, 383, 384, 385, 386, 387, 1213, 816, 1214, 390,
5396 : 391, 392, 393, 1215, 394, 395, 817, 396, 1216, 1217,
5397 : 398, 1218, 400, 401, 402, 0, 403, 404, 0, 0,
5398 : 1219, 406, 407, 0, 0, 408, 409, 818, 410, 819,
5399 : 1220, 412, 413, 414, 415, 416, 417, 418, 419, 420,
5400 : 0, 421, 422, 1221, 424, 425, 426, 427, 428, 0,
5401 : 429, 430, 431, 432, 433, 434, 435, 436, 437, 1222,
5402 : 439, 440, 441, 442, 0, 443, 444, 445, 446, 447,
5403 : 448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
5404 : 820, 457, 458, 459, 1223, 461, 462, 463, 464, 465,
5405 : 466, 467, 468, 469, 0, 470, 471, 472, 473, 474,
5406 : 1224, 475, 476, 477, 478, 479, 821, 480, 481, 1225,
5407 : 483, 0, 484, 485, 486, 487, 488, 489, 490, 491,
5408 : 492, 493, 494, 495, 1226, 0, 497, 498, 0, 499,
5409 : 822, 500, 501, 502, 503, 504, 0, 1227, 1228, 0,
5410 : 0, 507, 508, 1229, 510, 1230, 1231, 512, 513, 514,
5411 : 515, 516, 517, 518, 0, 1232, 519, 520, 521, 522,
5412 : 523, 1233, 0, 524, 525, 526, 527, 528, 529, 1234,
5413 : 0, 531, 823, 532, 533, 534, 535, 0, 0, 536,
5414 : 0, 0, 537, 538, 539, 540, 541, 542, 543, 1235,
5415 : 1236, 1237, 1238, 548, 1239, 1240, 1241, 1242, 553, 554,
5416 : 555, 556, 1243, 0, 0, 0, 0, 0, 0, 1244,
5417 : 1245, 0, 0, 0, 0, 0, 0, 0, 1247, 3872,
5418 : 800, 1176, 617, 1177, 1178, 1179, 676, 1180, 0, 0,
5419 : 0, 0, 0, 0, 0, 224, 225, 226, 227, 228,
5420 : 229, 230, 231, 0, 233, 234, 235, 0, 0, 0,
5421 : 0, 1181, 0, 0, 236, 237, 0, 238, 239, 240,
5422 : 801, 241, 242, 243, 244, 1182, 802, 1183, 1184, 0,
5423 : 248, 249, 250, 251, 252, 1185, 1186, 253, 254, 1187,
5424 : 1188, 257, 0, 258, 259, 260, 261, 1189, 0, 1190,
5425 : 0, 263, 264, 265, 266, 267, 804, 268, 269, 270,
5426 : 0, 271, 272, 273, 274, 275, 276, 0, 805, 277,
5427 : 278, 279, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 280,
5428 : 281, 282, 283, 284, 285, 1198, 1199, 288, 1200, 289,
5429 : 0, 290, 291, 292, 293, 294, 295, 0, 296, 297,
5430 : 298, 299, 0, 0, 300, 301, 1038, 303, 304, 0,
5431 : 305, 306, 307, 0, 308, 309, 310, 0, 311, 312,
5432 : 313, 314, 1201, 316, 317, 318, 1202, 1203, 320, 0,
5433 : 321, 322, 1204, 324, 0, 325, 0, 326, 807, 0,
5434 : 808, 327, 328, 329, 330, 0, 331, 1205, 0, 1206,
5435 : 334, 0, 335, 336, 337, 338, 339, 809, 340, 341,
5436 : 342, 343, 0, 344, 345, 346, 347, 348, 349, 0,
5437 : 350, 810, 351, 352, 353, 354, 355, 1207, 1208, 0,
5438 : 1209, 0, 359, 811, 812, 360, 813, 361, 362, 363,
5439 : 364, 365, 0, 0, 366, 1210, 814, 368, 815, 0,
5440 : 369, 370, 371, 1211, 1212, 372, 373, 374, 375, 376,
5441 : 377, 378, 379, 380, 381, 382, 383, 384, 385, 386,
5442 : 387, 1213, 816, 1214, 390, 391, 392, 393, 1215, 394,
5443 : 395, 817, 396, 1216, 1217, 398, 1218, 400, 401, 402,
5444 : 0, 403, 404, 0, 0, 1219, 406, 407, 0, 0,
5445 : 408, 409, 818, 410, 819, 1220, 412, 413, 414, 415,
5446 : 416, 417, 418, 419, 420, 0, 421, 422, 1221, 424,
5447 : 425, 426, 427, 428, 0, 429, 430, 431, 432, 433,
5448 : 434, 435, 436, 437, 1222, 439, 440, 441, 442, 0,
5449 : 443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
5450 : 453, 454, 0, 455, 456, 820, 457, 458, 459, 1223,
5451 : 461, 462, 463, 464, 465, 466, 467, 468, 469, 0,
5452 : 470, 471, 472, 473, 474, 1224, 475, 476, 477, 478,
5453 : 479, 821, 480, 481, 1225, 483, 0, 484, 485, 486,
5454 : 487, 488, 489, 490, 491, 492, 493, 494, 495, 1226,
5455 : 0, 497, 498, 0, 499, 822, 500, 501, 502, 503,
5456 : 504, 0, 1227, 1228, 0, 0, 507, 508, 1229, 510,
5457 : 1230, 1231, 512, 513, 514, 515, 516, 517, 518, 0,
5458 : 1232, 519, 520, 521, 522, 523, 1233, 0, 524, 525,
5459 : 526, 527, 528, 529, 1234, 0, 531, 823, 532, 533,
5460 : 534, 535, 0, 0, 536, 0, 0, 537, 538, 539,
5461 : 540, 541, 542, 543, 1235, 1236, 1237, 1238, 548, 1239,
5462 : 1240, 1241, 1242, 553, 554, 555, 556, 1243, 0, 0,
5463 : 223, 0, 0, 0, 1244, 1245, 0, 0, 0, 0,
5464 : 0, 0, 0, 1247, 3943, 224, 225, 226, 227, 228,
5465 : 229, 230, 231, 0, 233, 234, 235, 0, 0, 0,
5466 : 0, 0, 3961, 0, 236, 237, 0, 238, 239, 240,
5467 : 0, 241, 242, 243, 244, 245, 0, 246, 247, 0,
5468 : 248, 249, 250, 251, 252, 0, 0, 253, 254, 255,
5469 : 256, 257, 0, 258, 259, 260, 261, 262, 0, 0,
5470 : 0, 263, 264, 265, 266, 267, 0, 268, 269, 270,
5471 : 0, 271, 272, 273, 274, 275, 276, 0, -1722, 277,
5472 : 278, 279, 0, 0, 0, 0, 0, 0, 0, 280,
5473 : 281, 282, 283, 284, 285, 286, 287, 288, 0, 289,
5474 : 0, 290, 291, 292, 293, 294, 295, 0, 296, 297,
5475 : 298, 299, 0, 0, 300, 301, 302, 303, 304, 0,
5476 : 305, 306, 307, 0, 308, 309, 310, 0, 311, 312,
5477 : 313, 314, 315, 316, 317, 318, 319, 0, 320, 0,
5478 : 321, 322, 323, 324, 0, 325, 0, 326, 0, 0,
5479 : -1722, 327, 328, 329, 330, 0, 331, 332, 0, 333,
5480 : 334, 0, 335, 336, 337, 338, 339, 0, 340, 341,
5481 : 342, 343, 0, 344, 345, 346, 347, 348, 349, 0,
5482 : 350, -1722, 351, 352, 353, 354, 355, 356, 357, 0,
5483 : 358, 0, 359, 0, 0, 360, -1722, 361, 362, 363,
5484 : 364, 365, 0, 0, 366, 367, -1722, 368, 0, 0,
5485 : 369, 370, 371, 0, 0, 372, 373, 374, 375, 376,
5486 : 377, 378, 379, 380, 381, 382, 383, 384, 385, 386,
5487 : 387, 388, -1722, 389, 390, 391, 392, 393, 0, 394,
5488 : 395, 0, 396, 0, 397, 398, 399, 400, 401, 402,
5489 : 0, 403, 404, 0, 0, 405, 406, 407, 0, 0,
5490 : 408, 409, 0, 410, 0, 411, 412, 413, 414, 415,
5491 : 416, 417, 418, 419, 420, 0, 421, 422, 423, 424,
5492 : 425, 426, 427, 428, 0, 429, 430, 431, 432, 433,
5493 : 434, 435, 436, 437, 438, 439, 440, 441, 442, 0,
5494 : 443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
5495 : 453, 454, 0, 455, 456, -1722, 457, 458, 459, 460,
5496 : 461, 462, 463, 464, 465, 466, 467, 468, 469, 0,
5497 : 470, 471, 472, 473, 474, 0, 475, 476, 477, 478,
5498 : 479, 0, 480, 481, 482, 483, 0, 484, 485, 486,
5499 : 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
5500 : 0, 497, 498, 0, 499, 0, 500, 501, 502, 503,
5501 : 504, 0, 505, 506, 0, 0, 507, 508, 509, 510,
5502 : 511, 0, 512, 513, 514, 515, 516, 517, 518, 0,
5503 : 0, 519, 520, 521, 522, 523, 0, 0, 524, 525,
5504 : 526, 527, 528, 529, 530, 0, 531, 0, 532, 533,
5505 : 534, 535, 0, 0, 536, 0, 0, 537, 538, 539,
5506 : 540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
5507 : 550, 551, 552, 553, 554, 555, 556, 0, 0, 0,
5508 : 1030, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5509 : 0, 0, 0, 0, 1328, 224, 225, 226, 227, 228,
5510 : 229, 230, 231, 0, 233, 234, 235, 0, 0, 0,
5511 : 0, 0, 0, 0, 236, 237, 0, 238, 239, 240,
5512 : 801, 241, 242, 243, 0, 1031, 802, 1032, 1033, 0,
5513 : 248, 249, 250, 251, 252, 0, 0, 253, 254, 1034,
5514 : 1035, 257, 0, 258, 259, 260, 261, 0, 0, 803,
5515 : 0, 263, 264, 265, 266, 267, 804, 268, 269, 270,
5516 : 0, 271, 272, 273, 274, 275, 276, 0, 805, 277,
5517 : 278, 279, 0, 0, 0, 806, 0, 0, 0, 280,
5518 : 281, 282, 283, 284, 285, 1036, 1037, 288, 0, 289,
5519 : 0, 290, 291, 292, 293, 294, 295, 0, 296, 297,
5520 : 298, 299, 0, 0, 300, 301, 1038, 303, 304, 0,
5521 : 305, 306, 307, 0, 308, 309, 310, 0, 311, 312,
5522 : 313, 314, 0, 316, 317, 318, 0, 0, 320, 0,
5523 : 321, 322, 1039, 324, 0, 325, 0, 326, 807, 0,
5524 : 808, 327, 328, 329, 330, 0, 331, 0, 0, 0,
5525 : 334, 0, 335, 336, 337, 338, 339, 809, 340, 341,
5526 : 342, 343, 2084, 344, 345, 346, 347, 348, 349, 0,
5527 : 350, 810, 2085, 352, 353, 354, 355, 1041, 1042, 0,
5528 : 1043, 0, 359, 811, 812, 360, 813, 361, 362, 363,
5529 : 364, 365, 0, 0, 366, 0, 814, 368, 815, 0,
5530 : 369, 370, 371, 0, 0, 372, 373, 374, 375, 376,
5531 : 377, 378, 379, 380, 381, 382, 383, 384, 385, 386,
5532 : 387, 1044, 816, 1045, 390, 391, 392, 0, 0, 394,
5533 : 395, 817, 396, 0, 0, 398, 1046, 400, 401, 402,
5534 : 0, 403, 404, 0, 0, 405, 406, 407, 0, 0,
5535 : 408, 2087, 818, 410, 819, 0, 412, 413, 414, 415,
5536 : 416, 417, 418, 419, 420, 0, 421, 422, 0, 424,
5537 : 0, 426, 427, 428, 0, 429, 430, 431, 432, 433,
5538 : 434, 435, 436, 437, 1047, 439, 440, 441, 442, 0,
5539 : 443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
5540 : 453, 454, 0, 455, 456, 820, 457, 458, 459, 0,
5541 : 461, 462, 463, 464, 465, 466, 467, 468, 469, 0,
5542 : 470, 471, 472, 473, 474, 0, 475, 476, 2088, 478,
5543 : 479, 821, 480, 481, 1049, 483, 0, 484, 485, 486,
5544 : 487, 488, 489, 490, 491, 492, 493, 494, 495, 0,
5545 : 0, 497, 498, 0, 499, 822, 500, 501, 502, 503,
5546 : 504, 0, 1050, 1051, 0, 0, 507, 508, 0, 510,
5547 : 0, 0, 512, 513, 514, 515, 516, 517, 518, 0,
5548 : 0, 519, 520, 521, 522, 523, 0, 0, 524, 525,
5549 : 526, 527, 528, 0, 1052, 2089, 531, 823, 532, 533,
5550 : 534, 535, 0, 0, 536, 0, 0, 537, 538, 539,
5551 : 540, 541, 542, 1030, 0, 0, 0, 0, 0, 0,
5552 : 0, 0, 0, 0, 554, 555, 556, 0, 224, 225,
5553 : 226, 227, 228, 229, 230, 231, 0, 233, 234, 235,
5554 : 0, 0, 0, 0, 2194, 0, 0, 236, 237, 0,
5555 : 238, 239, 240, 801, 241, 242, 243, 0, 1031, 802,
5556 : 1032, 1033, 0, 248, 249, 250, 251, 252, 0, 0,
5557 : 253, 254, 1034, 1035, 257, 0, 258, 259, 260, 261,
5558 : 0, 0, 803, 0, 263, 264, 265, 266, 267, 804,
5559 : 268, 269, 270, 0, 271, 272, 273, 274, 275, 276,
5560 : 0, 805, 277, 278, 279, 0, 0, 0, 806, 0,
5561 : 0, 0, 280, 281, 282, 283, 284, 285, 1036, 1037,
5562 : 288, 0, 289, 0, 290, 291, 292, 293, 294, 295,
5563 : 0, 296, 297, 298, 299, 0, 0, 300, 301, 1038,
5564 : 303, 304, 0, 305, 306, 307, 0, 308, 309, 310,
5565 : 0, 311, 312, 313, 314, 0, 316, 317, 318, 0,
5566 : 0, 320, 0, 321, 322, 1039, 324, 0, 325, 0,
5567 : 326, 807, 0, 808, 327, 328, 329, 330, 0, 331,
5568 : 0, 0, 0, 334, 0, 335, 336, 337, 338, 339,
5569 : 809, 340, 341, 342, 343, 2084, 344, 345, 346, 347,
5570 : 348, 349, 0, 350, 810, 2085, 352, 353, 354, 355,
5571 : 1041, 1042, 0, 1043, 0, 359, 811, 812, 360, 813,
5572 : 361, 362, 363, 364, 365, 0, 0, 366, 0, 814,
5573 : 368, 815, 0, 369, 370, 371, 0, 0, 372, 373,
5574 : 374, 375, 376, 377, 378, 379, 380, 381, 382, 383,
5575 : 384, 385, 386, 387, 1044, 816, 1045, 390, 391, 392,
5576 : 0, 0, 394, 395, 817, 396, 0, 0, 398, 1046,
5577 : 400, 401, 402, 0, 403, 404, 0, 0, 405, 406,
5578 : 407, 0, 0, 408, 2087, 818, 410, 819, 0, 412,
5579 : 413, 414, 415, 416, 417, 418, 419, 420, 0, 421,
5580 : 422, 0, 424, 0, 426, 427, 428, 0, 429, 430,
5581 : 431, 432, 433, 434, 435, 436, 437, 1047, 439, 440,
5582 : 441, 442, 0, 443, 444, 445, 446, 447, 448, 449,
5583 : 450, 451, 452, 453, 454, 0, 455, 456, 820, 457,
5584 : 458, 459, 0, 461, 462, 463, 464, 465, 466, 467,
5585 : 468, 469, 0, 470, 471, 472, 473, 474, 0, 475,
5586 : 476, 2088, 478, 479, 821, 480, 481, 1049, 483, 0,
5587 : 484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
5588 : 494, 495, 0, 0, 497, 498, 0, 499, 822, 500,
5589 : 501, 502, 503, 504, 0, 1050, 1051, 0, 0, 507,
5590 : 508, 0, 510, 0, 0, 512, 513, 514, 515, 516,
5591 : 517, 518, 0, 0, 519, 520, 521, 522, 523, 0,
5592 : 0, 524, 525, 526, 527, 528, 0, 1052, 2089, 531,
5593 : 823, 532, 533, 534, 535, 0, 0, 536, 0, 0,
5594 : 537, 538, 539, 540, 541, 542, 0, 800, 1176, 617,
5595 : 1177, 1178, 1179, 676, 1180, 0, 0, 554, 555, 556,
5596 : 0, 0, 224, 225, 226, 227, 228, 229, 230, 231,
5597 : 0, 233, 234, 235, 0, 0, 0, 3206, 1181, 0,
5598 : 0, 236, 237, 0, 238, 239, 240, 801, 241, 242,
5599 : 243, 244, 1182, 802, 1183, 1184, 0, 248, 249, 250,
5600 : 251, 252, 1185, 1186, 253, 254, 1187, 1188, 257, 0,
5601 : 258, 259, 260, 261, 1189, 0, 1190, 0, 263, 264,
5602 : 265, 266, 267, 804, 268, 269, 270, 0, 271, 272,
5603 : 273, 274, 275, 276, 0, 805, 277, 278, 279, 1191,
5604 : 1192, 1193, 1194, 1195, 1196, 1197, 280, 281, 282, 283,
5605 : 284, 285, 1198, 1199, 288, 1200, 289, 0, 290, 291,
5606 : 292, 293, 294, 295, 0, 296, 297, 298, 299, 0,
5607 : 0, 300, 301, 1038, 303, 304, 0, 305, 306, 307,
5608 : 0, 308, 309, 310, 0, 311, 312, 313, 314, 1201,
5609 : 316, 317, 318, 1202, 1203, 320, 0, 321, 322, 1204,
5610 : 324, 0, 325, 0, 326, 807, 0, 808, 327, 328,
5611 : 329, 330, 0, 331, 1205, 0, 1206, 334, 0, 335,
5612 : 336, 337, 338, 339, 809, 340, 341, 342, 343, 0,
5613 : 344, 345, 346, 347, 348, 349, 0, 350, 810, 351,
5614 : 352, 353, 354, 355, 1207, 1208, 0, 1209, 0, 359,
5615 : 811, 812, 360, 813, 361, 362, 363, 364, 365, 0,
5616 : 0, 366, 1210, 814, 368, 815, 0, 369, 370, 371,
5617 : 1211, 1212, 372, 373, 374, 375, 376, 377, 378, 379,
5618 : 380, 381, 382, 383, 384, 385, 386, 387, 1213, 816,
5619 : 1214, 390, 391, 392, 393, 1215, 394, 395, 817, 396,
5620 : 1216, 1217, 398, 1218, 400, 401, 402, 0, 403, 404,
5621 : 0, 0, 1219, 406, 407, 0, 0, 408, 409, 818,
5622 : 410, 819, 1220, 412, 413, 414, 415, 416, 417, 418,
5623 : 419, 420, 0, 421, 422, 1221, 424, 425, 426, 427,
5624 : 428, 0, 429, 430, 431, 432, 433, 434, 435, 436,
5625 : 437, 1222, 439, 440, 441, 442, 0, 443, 444, 445,
5626 : 446, 447, 448, 449, 450, 451, 452, 453, 454, 0,
5627 : 455, 456, 820, 457, 458, 459, 1223, 461, 462, 463,
5628 : 464, 465, 466, 467, 468, 469, 39, 470, 471, 472,
5629 : 473, 474, 1224, 475, 476, 477, 478, 479, 821, 480,
5630 : 481, 1225, 483, 0, 484, 485, 486, 487, 488, 489,
5631 : 490, 491, 492, 493, 494, 495, 1226, 0, 497, 498,
5632 : 43, 499, 822, 500, 501, 502, 503, 504, 0, 1227,
5633 : 1228, 0, 0, 507, 508, 1229, 510, 1230, 1231, 512,
5634 : 513, 514, 515, 516, 517, 518, 0, 1232, 519, 520,
5635 : 521, 522, 523, 1233, 0, 524, 525, 526, 527, 528,
5636 : 1112, 1234, 0, 531, 823, 532, 533, 534, 535, 0,
5637 : 0, 536, 0, 48, 537, 538, 539, 540, 541, 542,
5638 : 543, 1235, 1236, 1237, 1238, 548, 1239, 1240, 1241, 1242,
5639 : 553, 554, 555, 556, 1243, 0, 49, 0, 0, 0,
5640 : 0, 1244, 1245, 0, 0, 0, 0, 0, 0, 0,
5641 : 1247, 800, 1176, 617, 1177, 1178, 1179, 676, 1180, 0,
5642 : 0, 0, 0, 0, 0, 0, 224, 225, 226, 227,
5643 : 228, 229, 230, 231, 0, 233, 234, 235, 0, 0,
5644 : 0, 0, 1181, 0, 0, 236, 237, 0, 238, 239,
5645 : 240, 801, 241, 242, 243, 244, 1182, 802, 1183, 1184,
5646 : 2660, 248, 249, 250, 251, 252, 1185, 1186, 253, 254,
5647 : 1187, 1188, 257, 0, 258, 259, 260, 261, 1189, 0,
5648 : 1190, 0, 263, 264, 265, 266, 267, 804, 268, 269,
5649 : 270, 0, 271, 272, 273, 274, 275, 276, 0, 805,
5650 : 277, 278, 279, 1191, 1192, 1193, 1194, 1195, 1196, 1197,
5651 : 280, 281, 282, 283, 284, 285, 1198, 1199, 288, 1200,
5652 : 289, 0, 290, 291, 292, 293, 294, 295, 0, 296,
5653 : 297, 298, 299, 0, 0, 300, 301, 1038, 303, 304,
5654 : 0, 305, 306, 307, 0, 308, 309, 310, 0, 311,
5655 : 312, 313, 314, 1201, 316, 317, 318, 1202, 1203, 320,
5656 : 0, 321, 322, 1204, 324, 0, 325, 0, 326, 807,
5657 : 2661, 808, 327, 328, 329, 330, 0, 331, 1205, 0,
5658 : 1206, 334, 0, 335, 336, 337, 338, 339, 809, 340,
5659 : 341, 342, 343, 0, 344, 345, 346, 347, 348, 349,
5660 : 0, 350, 810, 351, 352, 353, 354, 355, 1207, 1208,
5661 : 0, 1209, 0, 359, 811, 812, 360, 813, 361, 362,
5662 : 363, 364, 365, 0, 2662, 366, 1210, 814, 368, 815,
5663 : 0, 369, 370, 371, 1211, 1212, 372, 373, 374, 375,
5664 : 376, 377, 378, 379, 380, 381, 382, 383, 384, 385,
5665 : 386, 387, 1213, 816, 1214, 390, 391, 392, 393, 1215,
5666 : 394, 395, 817, 396, 1216, 1217, 398, 1218, 400, 401,
5667 : 402, 0, 403, 404, 0, 0, 1219, 406, 407, 0,
5668 : 0, 408, 409, 818, 410, 819, 1220, 412, 413, 414,
5669 : 415, 416, 417, 418, 419, 420, 0, 421, 422, 1221,
5670 : 424, 425, 426, 427, 428, 0, 429, 430, 431, 432,
5671 : 433, 434, 435, 436, 437, 1222, 439, 440, 441, 442,
5672 : 0, 443, 444, 445, 446, 447, 448, 449, 450, 451,
5673 : 452, 453, 454, 0, 455, 456, 820, 457, 458, 459,
5674 : 1223, 461, 462, 463, 464, 465, 466, 467, 468, 469,
5675 : 0, 470, 471, 472, 473, 474, 1224, 475, 476, 477,
5676 : 478, 479, 821, 480, 481, 1225, 483, 0, 484, 485,
5677 : 486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
5678 : 1226, 0, 497, 498, 0, 499, 822, 500, 501, 502,
5679 : 503, 504, 0, 1227, 1228, 0, 2663, 507, 508, 1229,
5680 : 510, 1230, 1231, 512, 513, 514, 515, 516, 517, 518,
5681 : 0, 1232, 519, 520, 521, 522, 523, 1233, 0, 524,
5682 : 525, 526, 527, 528, 529, 1234, 0, 531, 823, 532,
5683 : 533, 534, 535, 0, 0, 536, 0, 0, 537, 538,
5684 : 539, 540, 541, 542, 543, 1235, 1236, 1237, 1238, 548,
5685 : 1239, 1240, 1241, 1242, 553, 554, 555, 556, 1243, 0,
5686 : 0, 0, 0, 0, 0, 1244, 1245, 0, 0, 0,
5687 : 0, 0, 0, 0, 1247, 800, 1176, 617, 1177, 1178,
5688 : 1179, 676, 1180, 0, 0, 0, 0, 0, 0, 0,
5689 : 224, 225, 226, 227, 228, 229, 230, 231, 0, 233,
5690 : 234, 235, 0, 0, 0, 0, 1181, 0, 0, 236,
5691 : 237, 0, 238, 239, 240, 801, 241, 242, 243, 244,
5692 : 1182, 802, 1183, 1184, 0, 248, 249, 250, 251, 252,
5693 : 1185, 1186, 253, 254, 1187, 1188, 257, 0, 258, 259,
5694 : 260, 261, 1189, 0, 1190, 0, 263, 264, 265, 266,
5695 : 267, 804, 268, 269, 270, 0, 271, 272, 273, 274,
5696 : 275, 276, 0, 805, 277, 278, 279, 1191, 1192, 1193,
5697 : 1194, 1195, 1196, 1197, 280, 281, 282, 283, 284, 285,
5698 : 1198, 1199, 288, 1200, 289, 0, 290, 291, 292, 293,
5699 : 294, 295, 0, 296, 297, 298, 299, 0, 0, 300,
5700 : 301, 1038, 303, 304, 0, 305, 306, 307, 0, 308,
5701 : 309, 310, 0, 311, 312, 313, 314, 1201, 316, 317,
5702 : 318, 1202, 1203, 320, 0, 321, 322, 1204, 324, 0,
5703 : 325, 0, 326, 807, 0, 808, 327, 328, 329, 330,
5704 : 0, 331, 1205, 0, 1206, 334, 0, 335, 336, 337,
5705 : 338, 339, 809, 340, 341, 342, 343, 0, 344, 345,
5706 : 346, 347, 348, 349, 0, 350, 810, 351, 352, 353,
5707 : 354, 355, 1207, 1208, 0, 1209, 0, 359, 811, 812,
5708 : 360, 813, 361, 362, 363, 364, 365, 0, 0, 366,
5709 : 1210, 814, 368, 815, 0, 369, 370, 371, 1211, 1212,
5710 : 372, 373, 374, 375, 376, 377, 378, 379, 380, 381,
5711 : 382, 383, 384, 385, 386, 387, 1213, 816, 1214, 390,
5712 : 391, 392, 393, 1215, 394, 395, 817, 396, 1216, 1217,
5713 : 398, 1218, 400, 401, 402, 0, 403, 404, 0, 0,
5714 : 1219, 406, 407, 0, 0, 408, 409, 818, 410, 819,
5715 : 1220, 412, 413, 414, 415, 416, 417, 418, 419, 420,
5716 : 0, 421, 422, 1221, 424, 425, 426, 427, 428, 0,
5717 : 429, 430, 431, 432, 433, 434, 435, 436, 437, 1222,
5718 : 439, 440, 441, 442, 0, 443, 444, 445, 446, 447,
5719 : 448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
5720 : 820, 457, 458, 459, 1223, 461, 462, 463, 464, 465,
5721 : 466, 467, 468, 469, 0, 470, 471, 472, 473, 474,
5722 : 1224, 475, 476, 477, 478, 479, 821, 480, 481, 1225,
5723 : 483, 0, 484, 485, 486, 487, 488, 489, 490, 491,
5724 : 492, 493, 494, 495, 1226, 0, 497, 498, 0, 499,
5725 : 822, 500, 501, 502, 503, 504, 0, 1227, 1228, 0,
5726 : 0, 507, 508, 1229, 510, 1230, 1231, 512, 513, 514,
5727 : 515, 516, 517, 518, 0, 1232, 519, 520, 521, 522,
5728 : 523, 1233, 0, 524, 525, 526, 527, 528, 529, 1234,
5729 : 0, 531, 823, 532, 533, 534, 535, 0, 0, 536,
5730 : 0, 0, 537, 538, 539, 540, 541, 542, 543, 1235,
5731 : 1236, 1237, 1238, 548, 1239, 1240, 1241, 1242, 553, 554,
5732 : 555, 556, 1243, 0, 0, 0, 0, 0, 0, 1244,
5733 : 1245, 0, 0, 0, 0, 0, 1823, 2615, 1247, 800,
5734 : 1176, 617, 1177, 1178, 1179, 676, 1180, 0, 0, 0,
5735 : 0, 0, 0, 0, 224, 225, 226, 227, 228, 229,
5736 : 230, 231, 0, 233, 234, 235, 0, 0, 0, 0,
5737 : 1181, 0, 0, 236, 237, 0, 238, 239, 240, 801,
5738 : 241, 242, 243, 244, 1182, 802, 1183, 1184, 0, 248,
5739 : 249, 250, 251, 252, 1185, 1186, 253, 254, 1187, 1188,
5740 : 257, 0, 258, 259, 260, 261, 1189, 0, 1190, 0,
5741 : 263, 264, 265, 266, 267, 804, 268, 269, 270, 0,
5742 : 271, 272, 273, 274, 275, 276, 0, 805, 277, 278,
5743 : 279, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 280, 281,
5744 : 282, 283, 284, 285, 1198, 1199, 288, 1200, 289, 0,
5745 : 290, 291, 292, 293, 294, 295, 0, 296, 297, 298,
5746 : 299, 0, 0, 300, 301, 1038, 303, 304, 0, 305,
5747 : 306, 307, 0, 308, 309, 310, 0, 311, 312, 313,
5748 : 314, 1201, 316, 317, 318, 1202, 1203, 320, 0, 321,
5749 : 322, 1204, 324, 0, 325, 0, 326, 807, 0, 808,
5750 : 327, 328, 329, 330, 0, 331, 1205, 0, 1206, 334,
5751 : 0, 335, 336, 337, 338, 339, 809, 340, 341, 342,
5752 : 343, 0, 344, 345, 346, 347, 348, 349, 0, 350,
5753 : 810, 351, 352, 353, 354, 355, 1207, 1208, 0, 1209,
5754 : 0, 359, 811, 812, 360, 813, 361, 362, 363, 364,
5755 : 365, 0, 0, 366, 1210, 814, 368, 815, 0, 369,
5756 : 370, 371, 1211, 1212, 372, 373, 374, 375, 376, 377,
5757 : 378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
5758 : 1213, 816, 1214, 390, 391, 392, 393, 1215, 394, 395,
5759 : 817, 396, 1216, 1217, 398, 1218, 400, 401, 402, 0,
5760 : 403, 404, 0, 0, 1219, 406, 407, 0, 0, 408,
5761 : 409, 818, 410, 819, 1220, 412, 413, 414, 415, 416,
5762 : 417, 418, 419, 420, 0, 421, 422, 1221, 424, 425,
5763 : 426, 427, 428, 0, 429, 430, 431, 432, 433, 434,
5764 : 435, 436, 437, 1222, 439, 440, 441, 442, 0, 443,
5765 : 444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
5766 : 454, 0, 455, 456, 820, 457, 458, 459, 1223, 461,
5767 : 462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
5768 : 471, 472, 473, 474, 1224, 475, 476, 477, 478, 479,
5769 : 821, 480, 481, 1225, 483, 0, 484, 485, 486, 487,
5770 : 488, 489, 490, 491, 492, 493, 494, 495, 1226, 0,
5771 : 497, 498, 0, 499, 822, 500, 501, 502, 503, 504,
5772 : 0, 1227, 1228, 0, 0, 507, 508, 1229, 510, 1230,
5773 : 1231, 512, 513, 514, 515, 516, 517, 518, 0, 1232,
5774 : 519, 520, 521, 522, 523, 1233, 0, 524, 525, 526,
5775 : 527, 528, 529, 1234, 0, 531, 823, 532, 533, 534,
5776 : 535, 0, 0, 536, 0, 0, 537, 538, 539, 540,
5777 : 541, 542, 543, 1235, 1236, 1237, 1238, 548, 1239, 1240,
5778 : 1241, 1242, 553, 554, 555, 556, 1243, 0, 0, 0,
5779 : 0, 0, 0, 1244, 1245, 1246, 0, 0, 0, 0,
5780 : 0, 0, 1247, 800, 1176, 617, 1177, 1178, 1179, 676,
5781 : 1180, 0, 0, 0, 0, 0, 0, 0, 224, 225,
5782 : 226, 227, 228, 229, 230, 231, 2055, 233, 234, 235,
5783 : 0, 0, 0, 0, 1181, 0, 0, 236, 237, 0,
5784 : 238, 239, 240, 801, 241, 242, 243, 244, 1182, 802,
5785 : 1183, 1184, 0, 248, 249, 250, 251, 252, 1185, 1186,
5786 : 253, 254, 1187, 1188, 257, 0, 258, 259, 260, 261,
5787 : 1189, 0, 1190, 0, 263, 264, 265, 266, 267, 804,
5788 : 268, 269, 270, 0, 271, 272, 273, 274, 275, 276,
5789 : 0, 805, 277, 278, 279, 1191, 1192, 1193, 1194, 1195,
5790 : 1196, 1197, 280, 281, 282, 283, 284, 285, 1198, 1199,
5791 : 288, 1200, 289, 0, 290, 291, 292, 293, 294, 295,
5792 : 0, 296, 297, 298, 299, 0, 0, 300, 301, 1038,
5793 : 303, 304, 0, 305, 306, 307, 0, 308, 309, 310,
5794 : 0, 311, 312, 313, 314, 1201, 316, 317, 318, 1202,
5795 : 1203, 320, 0, 321, 322, 1204, 324, 0, 325, 0,
5796 : 326, 807, 0, 808, 327, 328, 329, 330, 0, 331,
5797 : 1205, 0, 1206, 334, 0, 335, 336, 337, 338, 339,
5798 : 809, 340, 341, 342, 343, 0, 344, 345, 346, 347,
5799 : 348, 349, 0, 350, 810, 351, 352, 353, 354, 355,
5800 : 1207, 1208, 0, 1209, 0, 359, 811, 812, 360, 813,
5801 : 361, 362, 363, 364, 365, 0, 0, 366, 1210, 814,
5802 : 368, 815, 0, 369, 370, 371, 1211, 1212, 372, 373,
5803 : 374, 375, 376, 377, 378, 379, 380, 381, 382, 383,
5804 : 384, 385, 386, 387, 1213, 816, 1214, 390, 391, 392,
5805 : 393, 1215, 394, 395, 817, 396, 1216, 1217, 398, 1218,
5806 : 400, 401, 402, 0, 403, 404, 0, 0, 1219, 406,
5807 : 407, 0, 0, 408, 409, 818, 410, 819, 1220, 412,
5808 : 413, 414, 415, 416, 417, 418, 419, 420, 0, 421,
5809 : 422, 1221, 424, 425, 426, 427, 428, 0, 429, 430,
5810 : 431, 432, 433, 434, 435, 436, 437, 1222, 439, 440,
5811 : 441, 442, 0, 443, 444, 445, 446, 447, 448, 449,
5812 : 450, 451, 452, 453, 454, 0, 455, 456, 820, 457,
5813 : 458, 459, 1223, 461, 462, 463, 464, 465, 466, 467,
5814 : 468, 469, 0, 470, 471, 472, 473, 474, 1224, 475,
5815 : 476, 477, 478, 479, 821, 480, 481, 1225, 483, 0,
5816 : 484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
5817 : 494, 495, 1226, 0, 497, 498, 0, 499, 822, 500,
5818 : 501, 502, 503, 504, 0, 1227, 1228, 0, 0, 507,
5819 : 508, 1229, 510, 1230, 1231, 512, 513, 514, 515, 516,
5820 : 517, 518, 0, 1232, 519, 520, 521, 522, 523, 1233,
5821 : 0, 524, 525, 526, 527, 528, 529, 1234, 0, 531,
5822 : 823, 532, 533, 534, 535, 0, 0, 536, 0, 0,
5823 : 537, 538, 539, 540, 541, 542, 543, 1235, 1236, 1237,
5824 : 1238, 548, 1239, 1240, 1241, 1242, 553, 554, 555, 556,
5825 : 1243, 0, 0, 0, 0, 0, 0, 1244, 1245, 0,
5826 : 0, 0, 0, 0, 0, 0, 1247, 800, 1176, 617,
5827 : 1177, 1178, 1179, 676, 1180, 0, 0, 0, 0, 0,
5828 : 0, 0, 224, 225, 226, 227, 228, 229, 230, 231,
5829 : 0, 233, 234, 235, 0, 0, 0, 0, 1181, 0,
5830 : 0, 236, 237, 0, 238, 239, 240, 801, 241, 242,
5831 : 243, 244, 1182, 802, 1183, 1184, 0, 248, 249, 250,
5832 : 251, 252, 1185, 1186, 253, 254, 1187, 1188, 257, 0,
5833 : 258, 259, 260, 261, 1189, 0, 1190, 0, 263, 264,
5834 : 265, 266, 267, 804, 268, 269, 270, 0, 271, 272,
5835 : 273, 274, 275, 276, 0, 805, 277, 278, 279, 1191,
5836 : 1192, 1193, 1194, 1195, 1196, 1197, 280, 281, 282, 283,
5837 : 284, 285, 1198, 1199, 288, 1200, 289, 0, 290, 291,
5838 : 292, 293, 294, 295, 0, 296, 297, 298, 299, 0,
5839 : 0, 300, 301, 1038, 303, 304, 0, 305, 306, 307,
5840 : 0, 308, 309, 310, 0, 311, 312, 313, 314, 1201,
5841 : 316, 317, 318, 1202, 1203, 320, 0, 321, 322, 1204,
5842 : 324, 0, 325, 0, 326, 807, 2661, 808, 327, 328,
5843 : 329, 330, 0, 331, 1205, 0, 1206, 334, 0, 335,
5844 : 336, 337, 338, 339, 809, 340, 341, 342, 343, 0,
5845 : 344, 345, 346, 347, 348, 349, 0, 350, 810, 351,
5846 : 352, 353, 354, 355, 1207, 1208, 0, 1209, 0, 359,
5847 : 811, 812, 360, 813, 361, 362, 363, 364, 365, 0,
5848 : 0, 366, 1210, 814, 368, 815, 0, 369, 370, 371,
5849 : 1211, 1212, 372, 373, 374, 375, 376, 377, 378, 379,
5850 : 380, 381, 382, 383, 384, 385, 386, 387, 1213, 816,
5851 : 1214, 390, 391, 392, 393, 1215, 394, 395, 817, 396,
5852 : 1216, 1217, 398, 1218, 400, 401, 402, 0, 403, 404,
5853 : 0, 0, 1219, 406, 407, 0, 0, 408, 409, 818,
5854 : 410, 819, 1220, 412, 413, 414, 415, 416, 417, 418,
5855 : 419, 420, 0, 421, 422, 1221, 424, 425, 426, 427,
5856 : 428, 0, 429, 430, 431, 432, 433, 434, 435, 436,
5857 : 437, 1222, 439, 440, 441, 442, 0, 443, 444, 445,
5858 : 446, 447, 448, 449, 450, 451, 452, 453, 454, 0,
5859 : 455, 456, 820, 457, 458, 459, 1223, 461, 462, 463,
5860 : 464, 465, 466, 467, 468, 469, 0, 470, 471, 472,
5861 : 473, 474, 1224, 475, 476, 477, 478, 479, 821, 480,
5862 : 481, 1225, 483, 0, 484, 485, 486, 487, 488, 489,
5863 : 490, 491, 492, 493, 494, 495, 1226, 0, 497, 498,
5864 : 0, 499, 822, 500, 501, 502, 503, 504, 0, 1227,
5865 : 1228, 0, 0, 507, 508, 1229, 510, 1230, 1231, 512,
5866 : 513, 514, 515, 516, 517, 518, 0, 1232, 519, 520,
5867 : 521, 522, 523, 1233, 0, 524, 525, 526, 527, 528,
5868 : 529, 1234, 0, 531, 823, 532, 533, 534, 535, 0,
5869 : 0, 536, 0, 0, 537, 538, 539, 540, 541, 542,
5870 : 543, 1235, 1236, 1237, 1238, 548, 1239, 1240, 1241, 1242,
5871 : 553, 554, 555, 556, 1243, 0, 0, 0, 0, 0,
5872 : 0, 1244, 1245, 0, 0, 0, 0, 0, 0, 0,
5873 : 1247, 800, 1176, 617, 1177, 1178, 1179, 676, 1180, 0,
5874 : 0, 0, 0, 0, 0, 0, 224, 225, 226, 227,
5875 : 228, 229, 230, 231, 0, 233, 234, 235, 0, 0,
5876 : 0, 0, 1181, 0, 0, 236, 237, 0, 238, 239,
5877 : 240, 801, 241, 242, 243, 244, 1182, 802, 1183, 1184,
5878 : 0, 248, 249, 250, 251, 252, 1185, 1186, 253, 254,
5879 : 1187, 1188, 257, 0, 258, 259, 260, 261, 1189, 0,
5880 : 1190, 0, 263, 264, 265, 266, 267, 804, 268, 269,
5881 : 270, 0, 271, 272, 273, 274, 275, 276, 0, 805,
5882 : 277, 278, 279, 1191, 1192, 1193, 1194, 1195, 1196, 1197,
5883 : 280, 281, 282, 283, 284, 285, 1198, 1199, 288, 1200,
5884 : 289, 0, 290, 291, 292, 293, 294, 295, 0, 296,
5885 : 297, 298, 299, 0, 0, 300, 301, 1038, 303, 304,
5886 : 0, 305, 306, 307, 0, 308, 309, 310, 0, 311,
5887 : 312, 313, 314, 1201, 316, 317, 318, 1202, 1203, 320,
5888 : 0, 321, 322, 1204, 324, 0, 325, 0, 326, 807,
5889 : 0, 808, 327, 328, 329, 330, 0, 331, 1205, 0,
5890 : 1206, 334, 0, 335, 336, 337, 338, 339, 809, 340,
5891 : 341, 342, 343, 0, 344, 345, 346, 347, 348, 349,
5892 : 0, 350, 810, 351, 352, 353, 354, 355, 1207, 1208,
5893 : 0, 1209, 0, 359, 811, 812, 360, 813, 361, 362,
5894 : 363, 364, 365, 0, 0, 366, 1210, 814, 368, 815,
5895 : 0, 369, 370, 371, 1211, 1212, 372, 373, 374, 375,
5896 : 376, 377, 378, 379, 380, 381, 382, 383, 384, 385,
5897 : 386, 387, 1213, 816, 1214, 390, 391, 392, 393, 1215,
5898 : 394, 395, 817, 396, 1216, 1217, 398, 1218, 400, 401,
5899 : 402, 0, 403, 404, 0, 0, 1219, 406, 407, 0,
5900 : 0, 408, 409, 818, 410, 819, 1220, 412, 413, 414,
5901 : 415, 416, 417, 418, 419, 420, 0, 421, 422, 1221,
5902 : 424, 425, 426, 427, 428, 0, 429, 430, 431, 432,
5903 : 433, 434, 435, 436, 437, 1222, 439, 440, 441, 442,
5904 : 0, 443, 444, 445, 446, 447, 448, 449, 450, 451,
5905 : 452, 453, 454, 0, 455, 456, 820, 457, 458, 459,
5906 : 1223, 461, 462, 463, 464, 465, 466, 467, 468, 469,
5907 : 0, 470, 471, 472, 473, 474, 1224, 475, 476, 477,
5908 : 478, 479, 821, 480, 481, 1225, 483, 0, 484, 485,
5909 : 486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
5910 : 1226, 0, 497, 498, 0, 499, 822, 500, 501, 502,
5911 : 503, 504, 0, 1227, 1228, 0, 0, 507, 508, 1229,
5912 : 510, 1230, 1231, 512, 513, 514, 515, 516, 517, 518,
5913 : 0, 1232, 519, 520, 521, 522, 523, 1233, 0, 524,
5914 : 525, 526, 527, 528, 529, 1234, 3993, 531, 823, 532,
5915 : 533, 534, 535, 0, 0, 536, 0, 0, 537, 538,
5916 : 539, 540, 541, 542, 543, 1235, 1236, 1237, 1238, 548,
5917 : 1239, 1240, 1241, 1242, 553, 554, 555, 556, 1243, 0,
5918 : 0, 0, 0, 0, 0, 1244, 1245, 0, 0, 0,
5919 : 0, 0, 0, 0, 1247, 800, 1176, 617, 1177, 1178,
5920 : 1179, 676, 1180, 0, 0, 0, 0, 0, 0, 0,
5921 : 224, 225, 226, 227, 228, 229, 230, 231, 0, 233,
5922 : 234, 235, 0, 0, 0, 0, 1181, 0, 0, 236,
5923 : 237, 0, 238, 239, 240, 801, 241, 242, 243, 244,
5924 : 1182, 802, 1183, 1184, 0, 248, 249, 250, 251, 252,
5925 : 1185, 1186, 253, 254, 1187, 1188, 257, 0, 258, 259,
5926 : 260, 261, 1189, 0, 1190, 0, 263, 264, 265, 266,
5927 : 267, 804, 268, 269, 270, 0, 271, 272, 273, 274,
5928 : 275, 276, 0, 805, 277, 278, 279, 1191, 1192, 1193,
5929 : 1194, 1195, 1196, 1197, 280, 281, 282, 283, 284, 285,
5930 : 1198, 1199, 288, 1200, 289, 0, 290, 291, 292, 293,
5931 : 294, 295, 0, 296, 297, 298, 299, 0, 0, 300,
5932 : 301, 1038, 303, 304, 0, 305, 306, 307, 0, 308,
5933 : 309, 310, 0, 311, 312, 313, 314, 1201, 316, 317,
5934 : 318, 1202, 1203, 320, 0, 321, 322, 1204, 324, 0,
5935 : 325, 0, 326, 807, 0, 808, 327, 328, 329, 330,
5936 : 0, 331, 1205, 0, 1206, 334, 0, 335, 336, 337,
5937 : 338, 339, 809, 340, 341, 342, 343, 0, 344, 345,
5938 : 346, 347, 348, 349, 0, 350, 810, 351, 352, 353,
5939 : 354, 355, 1207, 1208, 0, 1209, 0, 359, 811, 812,
5940 : 360, 813, 361, 362, 363, 364, 365, 0, 0, 366,
5941 : 1210, 814, 368, 815, 0, 369, 370, 371, 1211, 1212,
5942 : 372, 373, 374, 375, 376, 377, 378, 379, 380, 381,
5943 : 382, 383, 384, 385, 386, 387, 1213, 816, 1214, 390,
5944 : 391, 392, 393, 1215, 394, 395, 817, 396, 1216, 1217,
5945 : 398, 1218, 400, 401, 402, 0, 403, 404, 0, 0,
5946 : 1219, 406, 407, 0, 0, 408, 409, 818, 410, 819,
5947 : 1220, 412, 413, 414, 415, 416, 417, 418, 419, 420,
5948 : 0, 421, 422, 1221, 424, 425, 426, 427, 428, 0,
5949 : 429, 430, 431, 432, 433, 434, 435, 436, 437, 1222,
5950 : 439, 440, 441, 442, 0, 443, 444, 445, 446, 447,
5951 : 448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
5952 : 820, 457, 458, 459, 1223, 461, 462, 463, 464, 465,
5953 : 466, 467, 468, 469, 0, 470, 471, 472, 473, 474,
5954 : 1224, 475, 476, 477, 478, 479, 821, 480, 481, 1225,
5955 : 483, 0, 484, 485, 486, 487, 488, 489, 490, 491,
5956 : 492, 493, 494, 495, 1226, 0, 497, 498, 0, 499,
5957 : 822, 500, 501, 502, 503, 504, 0, 1227, 1228, 0,
5958 : 0, 507, 508, 1229, 510, 1230, 1231, 512, 513, 514,
5959 : 515, 516, 517, 518, 0, 1232, 519, 520, 521, 522,
5960 : 523, 1233, 0, 524, 525, 526, 527, 528, 529, 1234,
5961 : 0, 531, 823, 532, 533, 534, 535, 0, 0, 536,
5962 : 0, 0, 537, 538, 539, 540, 541, 542, 543, 1235,
5963 : 1236, 1237, 1238, 548, 1239, 1240, 1241, 1242, 553, 554,
5964 : 555, 556, 1243, 0, 0, 0, 0, 0, 0, 1244,
5965 : 1245, 0, 0, 0, 0, 0, 0, 0, 1247, 800,
5966 : 1176, 617, 1177, 1178, 1179, 676, 1180, 0, 0, 0,
5967 : 0, 0, 0, 0, 224, 225, 226, 227, 228, 229,
5968 : 230, 231, 0, 233, 234, 235, 0, 0, 0, 0,
5969 : 1181, 0, 0, 236, 237, 0, 238, 239, 240, 801,
5970 : 241, 242, 243, 244, 1182, 802, 1183, 1184, 0, 248,
5971 : 249, 250, 251, 252, 1185, 1186, 253, 254, 1187, 1188,
5972 : 257, 0, 258, 259, 260, 261, 1189, 0, 1190, 0,
5973 : 263, 264, 265, 266, 267, 804, 268, 269, 270, 0,
5974 : 271, 272, 273, 274, 275, 276, 0, 805, 277, 278,
5975 : 4006, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 280, 281,
5976 : 282, 283, 284, 285, 1198, 1199, 288, 1200, 289, 0,
5977 : 290, 291, 292, 293, 294, 295, 0, 296, 297, 298,
5978 : 299, 0, 0, 300, 301, 1038, 303, 304, 0, 305,
5979 : 306, 307, 0, 308, 309, 310, 0, 311, 312, 313,
5980 : 314, 1201, 316, 317, 318, 1202, 1203, 320, 0, 321,
5981 : 322, 1204, 324, 0, 325, 0, 326, 807, 0, 808,
5982 : 327, 328, 329, 330, 0, 331, 1205, 0, 1206, 334,
5983 : 0, 335, 336, 337, 338, 339, 809, 340, 341, 342,
5984 : 343, 0, 344, 345, 346, 347, 348, 349, 0, 350,
5985 : 810, 351, 352, 353, 354, 355, 1207, 1208, 0, 1209,
5986 : 0, 359, 811, 812, 360, 813, 361, 362, 363, 364,
5987 : 365, 0, 0, 366, 1210, 814, 368, 815, 0, 369,
5988 : 370, 371, 1211, 1212, 372, 373, 374, 375, 376, 377,
5989 : 378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
5990 : 1213, 816, 1214, 390, 391, 392, 393, 1215, 394, 395,
5991 : 817, 396, 1216, 1217, 398, 1218, 400, 401, 402, 0,
5992 : 403, 404, 0, 0, 1219, 406, 407, 0, 0, 408,
5993 : 409, 818, 410, 819, 1220, 412, 413, 414, 415, 416,
5994 : 417, 418, 419, 420, 0, 421, 422, 1221, 424, 425,
5995 : 426, 427, 428, 0, 429, 430, 431, 432, 433, 434,
5996 : 435, 436, 437, 1222, 439, 440, 441, 442, 0, 443,
5997 : 444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
5998 : 454, 0, 455, 456, 820, 457, 458, 459, 1223, 461,
5999 : 462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
6000 : 471, 472, 473, 474, 1224, 475, 476, 477, 478, 479,
6001 : 821, 480, 481, 1225, 483, 0, 484, 485, 486, 487,
6002 : 488, 489, 490, 491, 492, 493, 494, 495, 1226, 0,
6003 : 497, 498, 0, 499, 822, 500, 501, 502, 503, 504,
6004 : 0, 1227, 1228, 0, 0, 507, 508, 1229, 510, 1230,
6005 : 1231, 512, 513, 514, 515, 516, 517, 518, 0, 1232,
6006 : 519, 520, 521, 522, 523, 1233, 0, 524, 525, 526,
6007 : 527, 528, 529, 1234, 0, 531, 823, 532, 533, 534,
6008 : 535, 0, 0, 536, 0, 0, 537, 538, 539, 540,
6009 : 541, 542, 543, 1235, 1236, 1237, 1238, 548, 1239, 1240,
6010 : 1241, 1242, 553, 554, 555, 556, 1243, 0, 0, 0,
6011 : 0, 0, 0, 1244, 1245, 0, 0, 0, 0, 0,
6012 : 0, 0, 1247, 800, 1176, 617, 1177, 1178, 1179, 676,
6013 : 1180, 0, 0, 0, 0, 0, 0, 0, 224, 225,
6014 : 226, 227, 228, 229, 230, 231, 0, 233, 234, 235,
6015 : 0, 0, 0, 0, 1181, 0, 0, 236, 237, 0,
6016 : 238, 239, 240, 801, 241, 242, 243, 244, 1182, 802,
6017 : 1183, 1184, 0, 248, 249, 250, 251, 252, 1185, 1186,
6018 : 253, 254, 1187, 1188, 257, 0, 258, 259, 260, 261,
6019 : 1189, 0, 1190, 0, 263, 264, 265, 266, 267, 804,
6020 : 268, 269, 270, 0, 271, 272, 273, 274, 275, 276,
6021 : 0, 805, 277, 278, 279, 1191, 1192, 1193, 1194, 1195,
6022 : 1196, 1197, 280, 281, 282, 283, 284, 285, 1198, 1199,
6023 : 288, 1200, 289, 0, 290, 291, 292, 293, 294, 295,
6024 : 0, 296, 297, 298, 299, 0, 0, 300, 301, 1038,
6025 : 303, 304, 0, 305, 306, 307, 0, 308, 309, 310,
6026 : 0, 311, 312, 313, 314, 1201, 316, 317, 318, 1202,
6027 : 1203, 320, 0, 321, 322, 1204, 324, 0, 325, 0,
6028 : 326, 807, 0, 808, 327, 328, 329, 330, 0, 331,
6029 : 1205, 0, 1206, 334, 0, 335, 336, 337, 338, 339,
6030 : 809, 340, 341, 342, 343, 0, 344, 345, 346, 347,
6031 : 348, 349, 0, 350, 810, 351, 352, 353, 354, 355,
6032 : 1207, 1208, 0, 1209, 0, 359, 811, 812, 360, 813,
6033 : 361, 362, 363, 364, 365, 0, 0, 366, 1210, 814,
6034 : 368, 815, 0, 369, 370, 371, 1211, 1212, 372, 373,
6035 : 374, 375, 376, 377, 378, 379, 380, 381, 382, 383,
6036 : 384, 385, 386, 387, 1213, 816, 1214, 390, 391, 392,
6037 : 393, 1215, 394, 395, 817, 396, 1216, 1217, 398, 1218,
6038 : 400, 401, 402, 0, 403, 404, 0, 0, 1219, 406,
6039 : 407, 0, 0, 408, 409, 818, 410, 819, 1220, 412,
6040 : 413, 414, 415, 416, 417, 418, 419, 420, 0, 421,
6041 : 422, 1221, 424, 425, 426, 427, 428, 0, 429, 430,
6042 : 431, 432, 433, 434, 435, 436, 437, 1222, 439, 440,
6043 : 441, 442, 0, 443, 444, 445, 446, 447, 448, 449,
6044 : 450, 451, 452, 453, 454, 0, 455, 456, 820, 457,
6045 : 458, 459, 1223, 461, 462, 463, 464, 465, 466, 467,
6046 : 468, 469, 0, 470, 471, 472, 473, 474, 1224, 475,
6047 : 476, 477, 478, 479, 821, 480, 481, 1225, 483, 0,
6048 : 484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
6049 : 494, 495, 1226, 0, 497, 498, 0, 499, 822, 500,
6050 : 501, 502, 503, 504, 0, 1227, 1228, 0, 0, 507,
6051 : 508, 1229, 510, 1230, 1231, 512, 513, 514, 515, 516,
6052 : 517, 518, 0, 1232, 519, 520, 521, 522, 523, 1233,
6053 : 0, 524, 525, 526, 527, 528, 529, 1234, 0, 531,
6054 : 823, 532, 533, 534, 535, 0, 0, 536, 0, 0,
6055 : 537, 538, 539, 540, 541, 542, 4331, 1235, 1236, 1237,
6056 : 1238, 548, 1239, 1240, 1241, 1242, 553, 554, 555, 556,
6057 : 1243, 0, 0, 0, 0, 0, 0, 1244, 1245, 0,
6058 : 0, 0, 0, 0, 0, 0, 1247, 800, 1176, 617,
6059 : 1177, 1178, 1179, 676, 1180, 0, 0, 0, 0, 0,
6060 : 0, 0, 224, 225, 226, 227, 228, 229, 230, 231,
6061 : 0, 233, 234, 235, 0, 0, 0, 0, 1181, 0,
6062 : 0, 236, 237, 0, 238, 239, 240, 801, 241, 242,
6063 : 243, 244, 1182, 802, 1183, 1184, 0, 248, 249, 250,
6064 : 251, 252, 1185, 1186, 253, 254, 1187, 1188, 257, 0,
6065 : 258, 259, 260, 261, 1189, 0, 1190, 0, 263, 264,
6066 : 265, 266, 267, 804, 268, 269, 270, 0, 271, 272,
6067 : 273, 274, 275, 276, 0, 805, 277, 278, 279, 1191,
6068 : 1192, 1193, 1194, 1195, 1196, 1197, 280, 281, 282, 283,
6069 : 284, 285, 1198, 1199, 288, 1200, 289, 0, 290, 291,
6070 : 292, 293, 294, 295, 0, 296, 297, 298, 299, 0,
6071 : 0, 300, 301, 1038, 303, 304, 0, 305, 306, 307,
6072 : 0, 308, 309, 310, 0, 311, 312, 313, 314, 1201,
6073 : 316, 317, 318, 1202, 1203, 320, 0, 321, 322, 1204,
6074 : 324, 0, 325, 0, 326, 807, 0, 808, 327, 328,
6075 : 329, 330, 0, 331, 1205, 0, 1206, 334, 0, 335,
6076 : 336, 337, 338, 339, 809, 340, 341, 342, 343, 0,
6077 : 344, 345, 346, 347, 348, 349, 0, 350, 810, 351,
6078 : 352, 353, 354, 355, 1207, 1208, 0, 1209, 0, 359,
6079 : 811, 812, 360, 813, 361, 362, 363, 364, 365, 0,
6080 : 0, 366, 1210, 814, 368, 815, 0, 369, 370, 371,
6081 : 1211, 1212, 372, 373, 374, 375, 376, 377, 378, 379,
6082 : 380, 381, 382, 383, 384, 385, 386, 387, 1213, 816,
6083 : 1214, 390, 391, 4340, 393, 1215, 394, 395, 817, 396,
6084 : 1216, 1217, 398, 1218, 400, 401, 402, 0, 403, 404,
6085 : 0, 0, 1219, 406, 407, 0, 0, 408, 409, 818,
6086 : 410, 819, 1220, 412, 413, 414, 415, 416, 417, 418,
6087 : 419, 420, 0, 421, 422, 1221, 424, 425, 426, 427,
6088 : 428, 0, 429, 430, 431, 432, 433, 434, 435, 436,
6089 : 437, 1222, 439, 440, 441, 442, 0, 443, 444, 445,
6090 : 446, 447, 448, 449, 450, 451, 452, 453, 454, 0,
6091 : 455, 456, 820, 457, 458, 459, 1223, 461, 462, 463,
6092 : 464, 465, 466, 467, 468, 469, 0, 470, 471, 472,
6093 : 473, 474, 1224, 475, 476, 477, 478, 479, 821, 480,
6094 : 481, 1225, 483, 0, 484, 485, 486, 487, 488, 489,
6095 : 490, 491, 492, 493, 494, 495, 1226, 0, 497, 498,
6096 : 0, 499, 822, 500, 501, 502, 503, 504, 0, 1227,
6097 : 1228, 0, 0, 507, 508, 1229, 510, 1230, 1231, 512,
6098 : 513, 514, 515, 516, 517, 518, 0, 1232, 519, 520,
6099 : 521, 522, 523, 1233, 0, 524, 525, 526, 527, 528,
6100 : 529, 1234, 0, 531, 823, 532, 533, 534, 535, 0,
6101 : 0, 536, 0, 0, 537, 538, 539, 540, 541, 542,
6102 : 543, 1235, 1236, 1237, 1238, 548, 1239, 1240, 1241, 1242,
6103 : 553, 554, 555, 556, 1243, 0, 0, 0, 0, 0,
6104 : 0, 1244, 1245, 0, 0, 0, 0, 0, 0, 0,
6105 : 1247, 800, 1176, 617, 1177, 1178, 1179, 676, 1180, 0,
6106 : 0, 0, 0, 0, 0, 0, 224, 225, 226, 227,
6107 : 228, 229, 230, 231, 0, 233, 234, 235, 0, 0,
6108 : 0, 0, 1181, 0, 0, 236, 237, 0, 238, 239,
6109 : 240, 801, 241, 242, 243, 244, 1182, 802, 1183, 1184,
6110 : 0, 248, 249, 250, 251, 252, 1185, 1186, 253, 254,
6111 : 1187, 1188, 257, 0, 258, 259, 260, 261, 1189, 0,
6112 : 1190, 0, 263, 264, 265, 266, 267, 804, 268, 269,
6113 : 270, 0, 271, 272, 273, 274, 275, 276, 0, 805,
6114 : 277, 4651, 279, 1191, 1192, 1193, 1194, 1195, 1196, 1197,
6115 : 280, 281, 282, 283, 284, 285, 1198, 1199, 288, 1200,
6116 : 289, 0, 290, 291, 292, 293, 294, 295, 0, 296,
6117 : 297, 298, 299, 0, 0, 300, 301, 1038, 303, 304,
6118 : 0, 305, 306, 307, 0, 308, 309, 310, 0, 311,
6119 : 312, 313, 314, 1201, 316, 317, 318, 1202, 1203, 320,
6120 : 0, 321, 322, 1204, 324, 0, 325, 0, 326, 807,
6121 : 0, 808, 327, 328, 329, 330, 0, 331, 1205, 0,
6122 : 4652, 334, 0, 335, 336, 337, 338, 339, 809, 340,
6123 : 341, 342, 343, 0, 344, 345, 346, 347, 348, 349,
6124 : 0, 350, 810, 351, 352, 353, 354, 355, 1207, 1208,
6125 : 0, 1209, 0, 359, 811, 812, 360, 813, 361, 362,
6126 : 363, 364, 365, 0, 0, 366, 1210, 814, 368, 815,
6127 : 0, 369, 370, 371, 1211, 1212, 372, 373, 374, 375,
6128 : 376, 377, 378, 379, 380, 381, 382, 383, 384, 385,
6129 : 386, 387, 1213, 816, 1214, 390, 391, 392, 393, 1215,
6130 : 394, 395, 817, 396, 1216, 1217, 398, 1218, 400, 401,
6131 : 402, 0, 403, 404, 0, 0, 1219, 406, 407, 0,
6132 : 0, 408, 409, 818, 410, 819, 1220, 412, 413, 414,
6133 : 415, 416, 417, 418, 419, 420, 0, 421, 422, 1221,
6134 : 424, 425, 426, 427, 428, 0, 429, 430, 431, 432,
6135 : 433, 434, 435, 436, 437, 1222, 439, 440, 441, 442,
6136 : 0, 443, 444, 445, 446, 447, 448, 449, 450, 451,
6137 : 452, 453, 454, 0, 455, 456, 820, 457, 458, 4653,
6138 : 1223, 461, 462, 463, 464, 465, 466, 467, 468, 469,
6139 : 0, 470, 471, 472, 473, 474, 1224, 475, 476, 477,
6140 : 478, 479, 821, 480, 481, 1225, 483, 0, 484, 485,
6141 : 486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
6142 : 1226, 0, 497, 498, 0, 499, 822, 500, 501, 502,
6143 : 503, 504, 0, 1227, 1228, 0, 0, 507, 508, 1229,
6144 : 510, 1230, 1231, 512, 513, 514, 515, 516, 517, 518,
6145 : 0, 1232, 519, 520, 521, 522, 523, 1233, 0, 524,
6146 : 525, 526, 527, 528, 529, 1234, 0, 531, 823, 532,
6147 : 533, 534, 535, 0, 0, 536, 0, 0, 537, 538,
6148 : 539, 540, 541, 542, 543, 1235, 1236, 1237, 1238, 548,
6149 : 1239, 1240, 1241, 1242, 553, 554, 555, 556, 1243, 0,
6150 : 0, 0, 0, 0, 0, 1244, 1245, 0, 0, 0,
6151 : 0, 0, 0, 0, 4654, 800, 1176, 617, 1177, 1178,
6152 : 1179, 676, 1180, 0, 0, 0, 0, 0, 0, 0,
6153 : 224, 225, 226, 227, 228, 229, 230, 231, 0, 233,
6154 : 234, 235, 0, 0, 0, 0, 1181, 0, 0, 236,
6155 : 237, 0, 238, 239, 240, 801, 241, 242, 243, 5118,
6156 : 1182, 802, 1183, 1184, 0, 248, 249, 250, 251, 252,
6157 : 1185, 1186, 253, 254, 1187, 1188, 257, 0, 258, 259,
6158 : 260, 261, 1189, 0, 1190, 0, 263, 264, 265, 266,
6159 : 267, 804, 268, 269, 270, 0, 271, 272, 273, 274,
6160 : 275, 276, 0, 805, 277, 278, 5119, 1191, 1192, 1193,
6161 : 1194, 1195, 1196, 1197, 280, 281, 282, 283, 284, 285,
6162 : 1198, 1199, 288, 1200, 289, 0, 290, 291, 292, 293,
6163 : 294, 295, 0, 296, 297, 298, 299, 0, 0, 300,
6164 : 301, 1038, 303, 304, 0, 305, 306, 307, 0, 308,
6165 : 309, 310, 0, 311, 312, 313, 314, 1201, 316, 317,
6166 : 318, 1202, 1203, 320, 0, 321, 322, 1204, 324, 0,
6167 : 325, 0, 326, 807, 0, 808, 327, 328, 329, 330,
6168 : 0, 331, 1205, 0, 1206, 334, 0, 335, 336, 337,
6169 : 338, 339, 809, 340, 341, 342, 343, 0, 344, 345,
6170 : 346, 347, 348, 349, 0, 350, 810, 351, 352, 353,
6171 : 354, 355, 1207, 1208, 0, 1209, 0, 359, 811, 812,
6172 : 360, 813, 361, 362, 363, 364, 365, 0, 0, 366,
6173 : 1210, 814, 368, 815, 0, 369, 370, 371, 1211, 1212,
6174 : 372, 373, 374, 375, 376, 377, 378, 379, 380, 381,
6175 : 382, 383, 384, 385, 386, 387, 1213, 816, 1214, 390,
6176 : 391, 392, 393, 1215, 394, 395, 817, 396, 1216, 1217,
6177 : 398, 1218, 400, 401, 402, 0, 403, 404, 0, 0,
6178 : 1219, 406, 407, 0, 0, 408, 409, 818, 410, 819,
6179 : 1220, 412, 413, 414, 415, 416, 417, 418, 419, 420,
6180 : 0, 421, 422, 1221, 424, 425, 426, 427, 428, 0,
6181 : 429, 430, 431, 432, 433, 434, 435, 436, 437, 1222,
6182 : 439, 440, 441, 442, 0, 443, 444, 445, 446, 447,
6183 : 448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
6184 : 820, 457, 458, 459, 1223, 461, 462, 463, 464, 465,
6185 : 466, 467, 468, 469, 0, 470, 471, 472, 473, 474,
6186 : 1224, 475, 476, 477, 478, 479, 821, 480, 481, 1225,
6187 : 483, 0, 484, 485, 486, 487, 488, 489, 490, 491,
6188 : 492, 493, 494, 495, 1226, 0, 497, 498, 0, 499,
6189 : 822, 500, 501, 502, 503, 504, 0, 1227, 1228, 0,
6190 : 0, 507, 508, 1229, 510, 1230, 1231, 512, 513, 514,
6191 : 515, 5120, 517, 518, 0, 1232, 519, 520, 521, 522,
6192 : 523, 1233, 0, 524, 525, 526, 527, 528, 529, 1234,
6193 : 0, 531, 823, 532, 533, 534, 535, 0, 0, 536,
6194 : 0, 0, 537, 538, 539, 540, 541, 542, 543, 1235,
6195 : 1236, 1237, 1238, 548, 1239, 1240, 1241, 1242, 553, 554,
6196 : 555, 556, 1243, 0, 0, 0, 0, 0, 0, 1244,
6197 : 1245, 0, 0, 0, 0, 0, 0, 0, 1247, 800,
6198 : 1176, 617, 1177, 1178, 1179, 676, 1180, 0, 0, 0,
6199 : 0, 0, 0, 0, 224, 225, 226, 227, 228, 229,
6200 : 230, 231, 0, 233, 234, 235, 0, 0, 0, 0,
6201 : 1181, 0, 0, 236, 237, 0, 238, 239, 240, 801,
6202 : 241, 242, 243, 244, 1182, 802, 1183, 1184, 0, 248,
6203 : 249, 250, 251, 252, 1185, 1186, 253, 254, 1187, 1188,
6204 : 257, 0, 258, 259, 260, 261, 1189, 0, 1190, 0,
6205 : 263, 264, 265, 266, 267, 804, 268, 269, 270, 0,
6206 : 271, 272, 273, 274, 275, 276, 0, 805, 277, 278,
6207 : 5119, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 280, 281,
6208 : 282, 283, 284, 285, 1198, 1199, 288, 1200, 289, 0,
6209 : 290, 291, 292, 293, 294, 295, 0, 296, 297, 298,
6210 : 299, 0, 0, 300, 301, 1038, 303, 304, 0, 305,
6211 : 306, 307, 0, 308, 309, 310, 0, 311, 312, 313,
6212 : 314, 1201, 316, 317, 318, 1202, 1203, 320, 0, 321,
6213 : 322, 1204, 324, 0, 325, 0, 326, 807, 0, 808,
6214 : 327, 328, 329, 330, 0, 331, 1205, 0, 1206, 334,
6215 : 0, 335, 336, 337, 338, 339, 809, 340, 341, 342,
6216 : 343, 0, 344, 345, 346, 347, 348, 349, 0, 350,
6217 : 810, 351, 352, 353, 354, 355, 1207, 1208, 0, 1209,
6218 : 0, 359, 811, 812, 360, 813, 361, 362, 363, 364,
6219 : 365, 0, 0, 366, 1210, 814, 368, 815, 0, 369,
6220 : 370, 371, 1211, 1212, 372, 373, 374, 375, 376, 377,
6221 : 378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
6222 : 1213, 816, 1214, 390, 391, 392, 393, 1215, 394, 395,
6223 : 817, 396, 1216, 1217, 398, 1218, 400, 401, 402, 0,
6224 : 403, 404, 0, 0, 1219, 406, 407, 0, 0, 408,
6225 : 409, 818, 410, 819, 1220, 412, 413, 414, 415, 416,
6226 : 417, 418, 419, 420, 0, 421, 422, 1221, 424, 425,
6227 : 426, 427, 428, 0, 429, 430, 431, 432, 433, 434,
6228 : 435, 436, 437, 1222, 439, 440, 441, 442, 0, 443,
6229 : 444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
6230 : 454, 0, 455, 456, 820, 457, 458, 459, 1223, 461,
6231 : 462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
6232 : 471, 472, 473, 474, 1224, 475, 476, 477, 478, 479,
6233 : 821, 480, 481, 1225, 483, 0, 484, 485, 486, 487,
6234 : 488, 489, 490, 491, 492, 493, 494, 495, 1226, 0,
6235 : 497, 498, 0, 499, 822, 500, 501, 502, 503, 504,
6236 : 0, 1227, 1228, 0, 0, 507, 508, 1229, 510, 1230,
6237 : 1231, 512, 513, 514, 515, 5120, 517, 518, 0, 1232,
6238 : 519, 520, 521, 522, 523, 1233, 0, 524, 525, 526,
6239 : 527, 528, 529, 1234, 0, 531, 823, 532, 533, 534,
6240 : 535, 0, 0, 536, 0, 0, 537, 538, 539, 540,
6241 : 541, 542, 543, 1235, 1236, 1237, 1238, 548, 1239, 1240,
6242 : 1241, 1242, 553, 554, 555, 556, 1243, 0, 0, 0,
6243 : 0, 0, 0, 1244, 1245, 0, 0, 0, 0, 0,
6244 : 0, 0, 1247, 800, 1176, 617, 1177, 1178, 1179, 676,
6245 : 1180, 0, 0, 0, 0, 0, 0, 0, 224, 225,
6246 : 226, 227, 228, 229, 230, 231, 0, 233, 234, 235,
6247 : 0, 0, 0, 0, 1181, 0, 0, 236, 237, 0,
6248 : 238, 239, 240, 801, 241, 242, 243, 244, 1182, 802,
6249 : 1183, 1184, 0, 248, 249, 250, 251, 252, 1185, 1186,
6250 : 253, 254, 1187, 1188, 257, 0, 258, 259, 260, 261,
6251 : 1189, 0, 1190, 0, 263, 264, 265, 266, 267, 804,
6252 : 268, 269, 270, 0, 271, 272, 273, 274, 275, 276,
6253 : 0, 805, 277, 278, 279, 1191, 1192, 1193, 1194, 1195,
6254 : 1196, 1197, 280, 281, 282, 283, 284, 285, 1198, 1199,
6255 : 288, 4844, 289, 0, 290, 291, 292, 293, 294, 295,
6256 : 0, 296, 297, 298, 299, 0, 0, 300, 301, 1038,
6257 : 303, 304, 0, 305, 306, 307, 0, 308, 309, 310,
6258 : 0, 311, 312, 313, 314, 1201, 316, 317, 318, 1202,
6259 : 1203, 320, 0, 321, 322, 1204, 324, 0, 325, 0,
6260 : 326, 807, 0, 808, 327, 328, 329, 330, 0, 331,
6261 : 1205, 0, 1206, 334, 0, 335, 336, 337, 338, 339,
6262 : 809, 340, 341, 342, 343, 0, 344, 345, 346, 347,
6263 : 348, 349, 0, 350, 810, 351, 352, 353, 354, 355,
6264 : 1207, 1208, 0, 1209, 0, 359, 811, 812, 360, 813,
6265 : 361, 362, 363, 364, 365, 0, 0, 366, 1210, 814,
6266 : 368, 815, 0, 369, 370, 371, 1211, 1212, 372, 373,
6267 : 374, 375, 376, 377, 378, 379, 380, 381, 382, 383,
6268 : 384, 385, 386, 387, 1213, 816, 1214, 390, 391, 392,
6269 : 393, 0, 394, 395, 817, 396, 1216, 1217, 398, 1218,
6270 : 400, 401, 402, 0, 403, 404, 0, 0, 1219, 406,
6271 : 407, 0, 0, 408, 409, 818, 410, 819, 1220, 412,
6272 : 413, 414, 415, 416, 417, 418, 419, 420, 0, 421,
6273 : 422, 1221, 424, 425, 426, 427, 428, 0, 429, 430,
6274 : 431, 432, 433, 434, 435, 436, 437, 1222, 439, 440,
6275 : 441, 442, 0, 443, 444, 445, 446, 447, 448, 449,
6276 : 450, 451, 452, 453, 454, 0, 455, 456, 820, 457,
6277 : 458, 459, 2646, 461, 462, 463, 464, 465, 466, 467,
6278 : 468, 469, 0, 470, 471, 472, 473, 474, 1224, 475,
6279 : 476, 477, 478, 479, 821, 480, 481, 1225, 483, 0,
6280 : 484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
6281 : 494, 495, 1226, 0, 497, 498, 0, 499, 822, 500,
6282 : 501, 502, 503, 504, 0, 1227, 1228, 0, 0, 507,
6283 : 508, 1229, 510, 1230, 1231, 512, 513, 514, 515, 516,
6284 : 517, 518, 0, 0, 519, 520, 521, 522, 523, 1233,
6285 : 0, 524, 525, 526, 527, 528, 529, 1234, 0, 531,
6286 : 823, 532, 533, 534, 535, 0, 0, 536, 0, 0,
6287 : 537, 538, 539, 540, 541, 542, 543, 1235, 1236, 1237,
6288 : 1238, 548, 1239, 1240, 1241, 1242, 553, 554, 555, 556,
6289 : 0, 0, 0, 0, 0, 0, 0, 2647, 2648, 0,
6290 : 0, 0, 0, 0, 0, 0, 2649, 800, 1176, 617,
6291 : 1177, 1178, 1179, 676, 1180, 0, 0, 0, 0, 0,
6292 : 0, 0, 224, 225, 226, 227, 228, 229, 230, 231,
6293 : 0, 233, 234, 235, 0, 0, 0, 0, 1181, 0,
6294 : 0, 236, 237, 0, 238, 239, 240, 801, 241, 242,
6295 : 243, -2564, 1182, 802, 1183, 1184, 0, 248, 249, 250,
6296 : 251, 252, 1185, 1186, 253, 254, 1187, 1188, 257, 0,
6297 : 258, 259, 260, 261, 1189, 0, 1190, 0, 263, 264,
6298 : 265, 266, 267, 804, 268, 269, 270, 0, 271, 272,
6299 : 273, 274, 275, 276, 0, 805, 277, 278, 5119, 1191,
6300 : 1192, 1193, 1194, 1195, 1196, 1197, 280, 281, 282, 283,
6301 : 284, 285, 1198, 1199, 288, 1200, 289, 0, 290, 291,
6302 : 292, 293, 294, 295, 0, 296, 297, 298, 299, 0,
6303 : 0, 300, 301, 1038, 303, 304, 0, 305, 306, 307,
6304 : 0, 308, 309, 310, 0, 311, 312, 313, 314, 1201,
6305 : 316, 317, 318, 1202, 1203, 320, 0, 321, 322, 1204,
6306 : 324, 0, 325, 0, 326, 807, 0, 808, 327, 328,
6307 : 329, 330, 0, 331, 1205, 0, 1206, 334, 0, 335,
6308 : 336, 337, 338, 339, -2564, 340, 341, 342, 343, 0,
6309 : 344, 345, 346, 347, 348, 349, 0, 350, 810, 351,
6310 : 352, 353, 354, 355, 1207, 1208, 0, 1209, 0, 359,
6311 : 0, 0, 360, 813, 361, 362, 363, 364, 365, 0,
6312 : 0, 366, 1210, 814, 368, -2564, 0, 369, 370, 371,
6313 : 1211, 1212, 372, 373, 374, 375, 376, 377, 378, 379,
6314 : 380, 381, 382, 383, 384, 385, 386, 387, 1213, 816,
6315 : 1214, 390, 391, 392, 393, 1215, 394, 395, 0, 396,
6316 : 1216, 1217, 398, 1218, 400, 401, 402, 0, 403, 404,
6317 : 0, 0, 1219, 406, 407, 0, 0, 408, 409, 818,
6318 : 410, 819, 1220, 412, 413, 414, 415, 416, 417, 418,
6319 : 419, 420, 0, 421, 422, 1221, 424, 425, 426, 427,
6320 : 428, 0, 429, 430, 431, 432, 433, 434, 435, 436,
6321 : 437, 1222, 439, 440, 441, 442, 0, 443, 444, 445,
6322 : 446, 447, 448, 449, 450, 451, 452, 453, 454, 0,
6323 : 455, 456, 820, 457, 458, 459, 1223, 461, 462, 463,
6324 : 464, 465, 466, 467, 468, 469, 0, 470, 471, 472,
6325 : 473, 474, 1224, 475, 476, 477, 478, 479, -2564, 480,
6326 : 481, 1225, 483, 0, 484, 485, 486, 487, 488, 489,
6327 : 490, 491, 492, 493, 494, 495, 1226, 0, 497, 498,
6328 : 0, 499, 822, 500, 501, 502, 503, 504, 0, 1227,
6329 : 1228, 0, 0, 507, 508, 1229, 510, 1230, 1231, 512,
6330 : 513, 514, 515, 5120, 517, 518, 0, 1232, 519, 520,
6331 : 521, 522, 523, 1233, 0, 524, 525, 526, 527, 528,
6332 : 529, 1234, 0, 531, 823, 532, 533, 534, 535, 0,
6333 : 0, 536, 0, 0, 537, 538, 539, 540, 541, 542,
6334 : 543, 1235, 1236, 1237, 1238, 548, 1239, 1240, 1241, 1242,
6335 : 553, 554, 555, 556, -2564, 0, 0, 0, 0, 0,
6336 : 0, 1244, 1245, 0, 0, 0, 0, 0, 0, 0,
6337 : 1247, 800, 1176, 617, 1177, 1178, 1179, 676, 1180, 0,
6338 : 0, 0, 0, 0, 0, 0, 224, 225, 226, 227,
6339 : 228, 229, 230, 231, 0, 233, 234, 235, 0, 0,
6340 : 0, 0, 1181, 0, 0, 236, 237, 0, 238, 239,
6341 : 240, 801, 241, 242, 243, 244, 1182, 802, 1183, 1184,
6342 : 0, 248, 249, 250, 251, 252, 1185, 1186, 253, 254,
6343 : 1187, 1188, 257, 0, 258, 259, 260, 261, 1189, 0,
6344 : 1190, 0, 263, 264, 265, 266, 267, 804, 268, 269,
6345 : 270, 0, 271, 272, 273, 274, 275, 276, 0, 805,
6346 : 277, 278, 279, 1191, 1192, 1193, 1194, 1195, 1196, 1197,
6347 : 280, 281, 282, 283, 284, 285, 1198, 1199, 288, 0,
6348 : 289, 0, 290, 291, 292, 293, 294, 295, 0, 296,
6349 : 297, 298, 299, 0, 0, 300, 301, 1038, 303, 304,
6350 : 0, 305, 306, 307, 0, 308, 309, 310, 0, 311,
6351 : 312, 313, 314, 1201, 316, 317, 318, 1202, 1203, 320,
6352 : 0, 321, 322, 1204, 324, 0, 325, 0, 326, 807,
6353 : 0, 808, 327, 328, 329, 330, 0, 331, 1205, 0,
6354 : 1206, 334, 0, 335, 336, 337, 338, 339, 809, 340,
6355 : 341, 342, 343, 0, 344, 345, 346, 347, 348, 349,
6356 : 0, 350, 810, 351, 352, 353, 354, 355, 1207, 1208,
6357 : 0, 1209, 0, 359, 811, 812, 360, 813, 361, 362,
6358 : 363, 364, 365, 0, 0, 366, 1210, 814, 368, 815,
6359 : 0, 369, 370, 371, 1211, 1212, 372, 373, 374, 375,
6360 : 376, 377, 378, 379, 380, 381, 382, 383, 384, 385,
6361 : 386, 387, 1213, 816, 1214, 390, 391, 392, 393, 0,
6362 : 394, 395, 817, 396, 1216, 1217, 398, 1218, 400, 401,
6363 : 402, 0, 403, 404, 0, 0, 1219, 406, 407, 0,
6364 : 0, 408, 409, 818, 410, 819, 1220, 412, 413, 414,
6365 : 415, 416, 417, 418, 419, 420, 0, 421, 422, 1221,
6366 : 424, 425, 426, 427, 428, 0, 429, 430, 431, 432,
6367 : 433, 434, 435, 436, 437, 1222, 439, 440, 441, 442,
6368 : 0, 443, 444, 445, 446, 447, 448, 449, 450, 451,
6369 : 452, 453, 454, 0, 455, 456, 820, 457, 458, 459,
6370 : 2646, 461, 462, 463, 464, 465, 466, 467, 468, 469,
6371 : 0, 470, 471, 472, 473, 474, 1224, 475, 476, 477,
6372 : 478, 479, 821, 480, 481, 1225, 483, 0, 484, 485,
6373 : 486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
6374 : 1226, 0, 497, 498, 0, 499, 822, 500, 501, 502,
6375 : 503, 504, 0, 1227, 1228, 0, 0, 507, 508, 1229,
6376 : 510, 1230, 1231, 512, 513, 514, 515, 516, 517, 518,
6377 : 0, 0, 519, 520, 521, 522, 523, 1233, 0, 524,
6378 : 525, 526, 527, 528, 529, 1234, 0, 531, 823, 532,
6379 : 533, 534, 535, 0, 0, 536, 0, 0, 537, 538,
6380 : 539, 540, 541, 542, 543, 1235, 1236, 1237, 1238, 548,
6381 : 1239, 1240, 1241, 1242, 553, 554, 555, 556, 0, 0,
6382 : 0, 0, 0, 0, 0, 2647, 2648, 0, 0, 0,
6383 : 0, 0, 0, 0, 2649, 800, 1176, 617, 1177, 1178,
6384 : 1179, 676, 1180, 0, 0, 0, 0, 0, 0, 0,
6385 : 224, 225, 226, 227, 228, 229, 230, 231, 0, 233,
6386 : 234, 235, 0, 0, 0, 0, 1181, 0, 0, 236,
6387 : 237, 0, 238, 239, 240, 801, 241, 242, 243, 244,
6388 : 1182, 802, 1183, 1184, 0, 248, 249, 250, 251, 252,
6389 : 1185, 1186, 253, 254, 1187, 1188, 257, 0, 258, 259,
6390 : 260, 261, 1189, 0, 1190, 0, 263, 264, 265, 266,
6391 : 267, 804, 268, 269, 270, 0, 271, 272, 273, 274,
6392 : 275, 276, 0, 805, 277, 278, 279, 1191, 1192, 1193,
6393 : 1194, 1195, 1196, 1197, 280, 281, 282, 283, 284, 285,
6394 : 1198, 1199, 288, 0, 289, 0, 290, 291, 292, 293,
6395 : 294, 295, 0, 296, 297, 298, 299, 0, 0, 300,
6396 : 301, 1038, 303, 304, 0, 305, 306, 307, 0, 308,
6397 : 309, 310, 0, 311, 312, 313, 314, 1201, 316, 317,
6398 : 318, 1202, 1203, 320, 0, 321, 322, 1204, 324, 0,
6399 : 325, 0, 326, 807, 0, 808, 327, 328, 329, 330,
6400 : 0, 331, 1205, 0, 1206, 334, 0, 335, 336, 337,
6401 : 338, 339, 809, 340, 341, 342, 343, 0, 344, 345,
6402 : 346, 347, 348, 349, 0, 350, 810, 351, 352, 353,
6403 : 354, 355, 1207, 1208, 0, 1209, 0, 359, 0, 812,
6404 : 360, 813, 361, 362, 363, 364, 365, 0, 0, 366,
6405 : 1210, 814, 368, 815, 0, 369, 370, 371, 1211, 1212,
6406 : 372, 373, 374, 375, 376, 377, 378, 379, 380, 381,
6407 : 382, 383, 384, 385, 386, 387, 1213, 816, 1214, 390,
6408 : 391, 392, 393, 0, 394, 395, 817, 396, 1216, 1217,
6409 : 398, 1218, 400, 401, 402, 0, 403, 404, 0, 0,
6410 : 1219, 406, 407, 0, 0, 408, 409, 818, 410, 819,
6411 : 1220, 412, 413, 414, 415, 416, 417, 418, 419, 420,
6412 : 0, 421, 422, 1221, 424, 425, 426, 427, 428, 0,
6413 : 429, 430, 431, 432, 433, 434, 435, 436, 437, 1222,
6414 : 439, 440, 441, 442, 0, 443, 444, 445, 446, 447,
6415 : 448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
6416 : 820, 457, 458, 459, 2646, 461, 462, 463, 464, 465,
6417 : 466, 467, 468, 469, 0, 470, 471, 472, 473, 474,
6418 : 1224, 475, 476, 477, 478, 479, 821, 480, 481, 1225,
6419 : 483, 0, 484, 485, 486, 487, 488, 489, 490, 491,
6420 : 492, 493, 494, 495, 1226, 0, 497, 498, 0, 499,
6421 : 822, 500, 501, 502, 503, 504, 0, 1227, 1228, 0,
6422 : 0, 507, 508, 1229, 510, 1230, 1231, 512, 513, 514,
6423 : 515, 516, 517, 518, 0, 0, 519, 520, 521, 522,
6424 : 523, 1233, 0, 524, 525, 526, 527, 528, 529, 1234,
6425 : 0, 531, 823, 532, 533, 534, 535, 0, 0, 536,
6426 : 0, 0, 537, 538, 539, 540, 541, 542, 543, 1235,
6427 : 1236, 1237, 1238, 548, 1239, 1240, 1241, 1242, 553, 554,
6428 : 555, 556, 0, 0, 0, 0, 0, 0, 0, 2647,
6429 : 2648, 0, 0, 800, 1176, 617, 1177, 1178, 2649, 676,
6430 : 1180, 0, 0, 0, 0, 0, 0, 0, 224, 225,
6431 : 226, 227, 228, 229, 230, 231, 0, 233, 234, 235,
6432 : 0, 0, 0, 0, 1181, 0, 0, 236, 237, 0,
6433 : 238, 239, 240, 801, 241, 242, 243, 244, 1182, 802,
6434 : 1183, 1184, 0, 248, 249, 250, 251, 252, 1185, 1186,
6435 : 253, 254, 1187, 1188, 257, 0, 258, 259, 260, 261,
6436 : 1189, 0, 1190, 0, 263, 264, 265, 266, 267, 804,
6437 : 268, 269, 270, 0, 271, 272, 273, 274, 275, 276,
6438 : 0, 805, 277, 278, 279, 1191, 1192, 1193, 1194, 1195,
6439 : 1196, 1197, 280, 281, 282, 283, 284, 285, 1198, 1199,
6440 : 288, 0, 289, 0, 290, 291, 292, 293, 294, 295,
6441 : 0, 296, 297, 298, 299, 0, 0, 300, 301, 1038,
6442 : 303, 304, 0, 305, 306, 307, 0, 308, 309, 310,
6443 : 0, 311, 312, 313, 314, 1201, 316, 317, 318, 1202,
6444 : 1203, 320, 0, 321, 322, 1204, 324, 0, 325, 0,
6445 : 326, 807, 0, 808, 327, 328, 329, 330, 0, 331,
6446 : 1205, 0, 1206, 334, 0, 335, 336, 337, 338, 339,
6447 : 809, 340, 341, 342, 343, 0, 344, 345, 346, 347,
6448 : 348, 349, 0, 350, 810, 351, 352, 353, 354, 355,
6449 : 1207, 1208, 0, 1209, 0, 359, 811, 812, 360, 813,
6450 : 361, 362, 363, 364, 365, 0, 0, 366, 1210, 814,
6451 : 368, 815, 0, 369, 370, 371, 1211, 1212, 372, 373,
6452 : 374, 375, 376, 377, 378, 379, 380, 381, 382, 383,
6453 : 384, 385, 386, 387, 1213, 816, 1214, 390, 391, 392,
6454 : 393, 0, 394, 395, 817, 396, 1216, 1217, 398, 1218,
6455 : 400, 401, 402, 0, 403, 404, 0, 0, 405, 406,
6456 : 407, 0, 0, 408, 409, 818, 410, 819, 1220, 412,
6457 : 413, 414, 415, 416, 417, 418, 419, 420, 0, 421,
6458 : 422, 1221, 424, 425, 426, 427, 428, 0, 429, 430,
6459 : 431, 432, 433, 434, 435, 436, 437, 1222, 439, 440,
6460 : 441, 442, 0, 443, 444, 445, 446, 447, 448, 449,
6461 : 450, 451, 452, 453, 454, 0, 455, 456, 820, 457,
6462 : 458, 459, 2646, 461, 462, 463, 464, 465, 466, 467,
6463 : 468, 469, 0, 470, 471, 472, 473, 474, 1224, 475,
6464 : 476, 477, 478, 479, 821, 480, 481, 1225, 483, 0,
6465 : 484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
6466 : 494, 495, 1226, 0, 497, 498, 0, 499, 822, 500,
6467 : 501, 502, 503, 504, 0, 1227, 1228, 0, 0, 507,
6468 : 508, 1229, 510, 1230, 1231, 512, 513, 514, 515, 516,
6469 : 517, 518, 0, 0, 519, 520, 521, 522, 523, 1233,
6470 : 0, 524, 525, 526, 527, 528, 529, 1234, 0, 531,
6471 : 823, 532, 533, 534, 535, 0, 0, 536, 0, 0,
6472 : 537, 538, 539, 540, 541, 542, 543, 1235, 1236, 1237,
6473 : 1238, 548, 1239, 1240, 1241, 1242, 553, 554, 555, 556,
6474 : 0, 0, 800, 1176, 617, 1177, 1178, 0, 676, 1180,
6475 : 0, 0, 0, 0, 0, 0, 2649, 224, 225, 226,
6476 : 227, 228, 229, 230, 231, 0, 233, 234, 235, 0,
6477 : 0, 0, 0, 1181, 0, 0, 236, 237, 0, 238,
6478 : 239, 240, 801, 241, 242, 243, 244, 1182, 802, 1183,
6479 : 1184, 0, 3905, 249, 250, 251, 252, 1185, 1186, 253,
6480 : 254, 1187, 1188, 257, 0, 258, 259, 260, 261, 1189,
6481 : 0, 1190, 0, 263, 264, 265, 266, 267, 804, 268,
6482 : 269, 270, 0, 271, 272, 273, 274, 275, 276, 0,
6483 : 805, 277, 278, 279, 1191, 1192, 1193, 1194, 1195, 1196,
6484 : 1197, 280, 281, 282, 283, 284, 285, 1198, 1199, 288,
6485 : 0, 289, 0, 290, 291, 292, 293, 294, 295, 0,
6486 : 296, 297, 298, 299, 0, 0, 300, 301, 1038, 303,
6487 : 304, 0, 305, 306, 307, 0, 308, 309, 310, 0,
6488 : 311, 312, 313, 314, 1201, 316, 317, 318, 1202, 1203,
6489 : 320, 0, 321, 322, 1204, 324, 0, 325, 0, 326,
6490 : 807, 0, 808, 327, 328, 329, 330, 0, 331, 1205,
6491 : 0, 1206, 334, 0, 335, 336, 337, 338, 339, 809,
6492 : 340, 341, 342, 343, 0, 344, 345, 346, 347, 348,
6493 : 349, 0, 350, 810, 351, 352, 353, 354, 355, 1207,
6494 : 1208, 0, 1209, 0, 359, 811, 812, 360, 813, 361,
6495 : 362, 363, 364, 365, 0, 0, 366, 1210, 814, 368,
6496 : 815, 0, 369, 370, 371, 1211, 1212, 372, 373, 374,
6497 : 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
6498 : 385, 386, 387, 1213, 816, 1214, 390, 391, 392, 393,
6499 : 0, 394, 395, 817, 396, 1216, 1217, 398, 1218, 400,
6500 : 401, 402, 0, 403, 404, 0, 0, 405, 406, 407,
6501 : 0, 0, 408, 409, 818, 410, 819, 1220, 412, 413,
6502 : 414, 415, 416, 417, 418, 419, 420, 0, 421, 422,
6503 : 1221, 424, 425, 426, 427, 428, 0, 429, 430, 431,
6504 : 432, 433, 434, 435, 436, 437, 1222, 439, 440, 441,
6505 : 442, 0, 443, 444, 445, 446, 447, 448, 449, 450,
6506 : 451, 452, 453, 454, 0, 455, 456, 820, 457, 458,
6507 : 459, 2646, 461, 462, 463, 464, 465, 466, 467, 468,
6508 : 469, 0, 470, 471, 472, 473, 474, 1224, 475, 476,
6509 : 477, 478, 479, 821, 480, 481, 1225, 483, 0, 484,
6510 : 485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
6511 : 495, 1226, 0, 497, 498, 0, 499, 822, 500, 501,
6512 : 502, 503, 504, 0, 1227, 1228, 0, 0, 507, 508,
6513 : 1229, 510, 1230, 1231, 512, 513, 514, 515, 516, 517,
6514 : 518, 0, 0, 519, 520, 521, 522, 523, 1233, 0,
6515 : 524, 525, 526, 527, 528, 529, 1234, 0, 531, 823,
6516 : 532, 533, 534, 535, 0, 0, 536, 0, 0, 537,
6517 : 538, 539, 540, 541, 542, 543, 1235, 1236, 1237, 1238,
6518 : 548, 1239, 1240, 1241, 1242, 553, 554, 555, 556, 0,
6519 : 0, 800, 1176, 617, 1177, 1178, 0, 676, 1180, 0,
6520 : 0, 0, 0, 0, 0, 2649, 224, 225, 226, 227,
6521 : 228, 229, 230, 231, 0, 233, 234, 235, 0, 0,
6522 : 0, 0, 1181, 0, 0, 236, 237, 0, 238, 239,
6523 : 240, 801, 241, 242, 243, 244, 1182, 802, 1183, 1184,
6524 : 0, 248, 249, 250, 251, 252, 1185, 1186, 253, 254,
6525 : 1187, 1188, 257, 0, 258, 259, 260, 261, 1189, 0,
6526 : 1190, 0, 263, 264, 265, 266, 267, 804, 268, 269,
6527 : 270, 0, 271, 272, 273, 274, 275, 276, 0, 805,
6528 : 277, 278, 279, 1191, 1192, 1193, 1194, 1195, 1196, 1197,
6529 : 280, 281, 282, 283, 284, 285, 1198, 1199, 288, 0,
6530 : 289, 0, 290, 291, 292, 293, 294, 295, 0, 296,
6531 : 297, 298, 299, 0, 0, 300, 301, 1038, 303, 304,
6532 : 0, 305, 306, 307, 0, 308, 309, 310, 0, 311,
6533 : 312, 313, 314, 1201, 316, 317, 318, 1202, 1203, 320,
6534 : 0, 321, 322, 1204, 324, 0, 325, 0, 326, 807,
6535 : 0, 808, 327, 328, 329, 330, 0, 331, 1205, 0,
6536 : 1206, 334, 0, 335, 336, 337, 338, 339, 809, 340,
6537 : 341, 342, 343, 0, 344, 345, 346, 347, 348, 349,
6538 : 0, 350, 810, 351, 352, 353, 354, 355, 1207, 1208,
6539 : 0, 1209, 0, 359, 811, 812, 360, 813, 361, 362,
6540 : 363, 364, 365, 0, 0, 366, 1210, 814, 368, 815,
6541 : 0, 369, 370, 371, 1211, 1212, 372, 373, 374, 375,
6542 : 376, 377, 378, 379, 380, 381, 382, 383, 384, 385,
6543 : 386, 387, 1213, 816, 1214, 390, 391, 392, 393, 0,
6544 : 394, 395, 817, 396, 1216, 1217, 398, 1218, 400, 401,
6545 : 402, 0, 403, 404, 0, 0, 405, 406, 407, 0,
6546 : 0, 408, 409, 818, 410, 819, 1220, 412, 413, 414,
6547 : 415, 416, 417, 418, 419, 420, 0, 421, 422, 1221,
6548 : 424, 425, 426, 427, 428, 0, 429, 430, 431, 432,
6549 : 433, 434, 435, 436, 437, 1222, 439, 440, 441, 442,
6550 : 0, 443, 444, 445, 446, 447, 448, 449, 450, 451,
6551 : 452, 453, 454, 0, 455, 456, 820, 457, 458, 459,
6552 : 2646, 461, 462, 463, 464, 465, 466, 467, 468, 469,
6553 : 0, 470, 471, 472, 473, 474, 1224, 475, 476, 477,
6554 : 478, 479, 821, 480, 481, 1225, 483, 0, 484, 485,
6555 : 486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
6556 : 1226, 0, 497, 498, 0, 499, 822, 500, 501, 502,
6557 : 503, 504, 0, 1227, 1228, 0, 0, 507, 508, 1229,
6558 : 510, 1230, 1231, 512, 513, 514, 515, 516, 517, 518,
6559 : 0, 0, 519, 520, 521, 522, 523, 1233, 0, 524,
6560 : 525, 526, 527, 528, 529, 1234, 0, 531, 823, 532,
6561 : 533, 534, 535, 0, 0, 536, 0, 0, 537, 538,
6562 : 539, 540, 541, 542, 543, 1235, 1236, 1237, 1238, 4371,
6563 : 1239, 1240, 1241, 1242, 553, 554, 555, 556, 0, 0,
6564 : 800, 1176, 617, 1177, 1178, 1179, 676, 1180, 0, 0,
6565 : 0, 0, 0, 0, 2649, 224, 225, 226, 227, 228,
6566 : 229, 230, 231, 0, 233, 234, 235, 0, 0, 0,
6567 : 0, 1181, 0, 0, 236, 237, 0, 238, 239, 240,
6568 : 801, 241, 242, 243, 0, 1182, 802, 1183, 1184, 0,
6569 : 248, 249, 250, 251, 252, 1185, 1186, 253, 254, 1187,
6570 : 1188, 257, 0, 258, 259, 260, 261, 1189, 0, 1190,
6571 : 0, 263, 264, 265, 266, 267, 804, 268, 269, 270,
6572 : 0, 271, 272, 273, 274, 275, 276, 0, 805, 277,
6573 : 278, 279, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 280,
6574 : 281, 282, 283, 284, 285, 1198, 1199, 288, 1200, 289,
6575 : 0, 290, 291, 292, 293, 294, 295, 0, 296, 297,
6576 : 298, 299, 0, 0, 300, 301, 1038, 303, 304, 0,
6577 : 305, 306, 307, 0, 308, 0, 310, 0, 311, 312,
6578 : 313, 314, 1201, 316, 317, 318, 1202, 1203, 320, 0,
6579 : 321, 322, 1204, 324, 0, 325, 0, 326, 807, 0,
6580 : 808, 327, 328, 329, 330, 0, 331, 1205, 0, 1206,
6581 : 334, 0, 335, 336, 337, 338, 339, 0, 340, 341,
6582 : 342, 343, 0, 344, 345, 346, 347, 348, 349, 0,
6583 : 350, 810, 351, 352, 353, 354, 355, 1207, 1208, 0,
6584 : 1209, 0, 359, 0, 0, 360, 813, 361, 362, 363,
6585 : 364, 365, 0, 0, 366, 1210, 814, 368, 0, 0,
6586 : 369, 370, 371, 1211, 1212, 372, 373, 374, 375, 376,
6587 : 377, 378, 379, 380, 381, 382, 383, 384, 385, 386,
6588 : 387, 1213, 816, 1214, 390, 391, 392, 393, 1215, 394,
6589 : 395, 0, 396, 1216, 1217, 398, 1218, 400, 401, 402,
6590 : 0, 403, 404, 0, 0, 1219, 406, 407, 0, 0,
6591 : 408, 409, 818, 410, 819, 1220, 412, 413, 414, 415,
6592 : 416, 417, 418, 419, 420, 0, 421, 422, 1221, 424,
6593 : 425, 426, 427, 428, 0, 429, 430, 431, 432, 433,
6594 : 434, 435, 436, 437, 1222, 439, 440, 441, 442, 0,
6595 : 443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
6596 : 453, 454, 0, 455, 456, 820, 457, 458, 459, 1223,
6597 : 461, 462, 463, 464, 465, 466, 467, 468, 469, 0,
6598 : 470, 471, 472, 473, 474, 1224, 475, 476, 477, 478,
6599 : 479, 0, 480, 481, 1225, 483, 0, 484, 485, 486,
6600 : 487, 488, 489, 490, 491, 492, 493, 494, 495, 1226,
6601 : 0, 497, 498, 0, 499, 822, 500, 501, 502, 503,
6602 : 504, 0, 1227, 1228, 0, 0, 507, 508, 1229, 510,
6603 : 1230, 1231, 512, 513, 514, 515, 516, 517, 518, 0,
6604 : 1232, 519, 520, 521, 522, 523, 1233, 0, 524, 525,
6605 : 526, 527, 528, 529, 1234, 0, 531, 823, 532, 533,
6606 : 534, 535, 0, 0, 536, 0, 0, 537, 538, 539,
6607 : 540, 541, 542, 543, 1235, 1236, 1237, 1238, 548, 1239,
6608 : 1240, 1241, 1242, 553, 554, 555, 556, 0, 0, 800,
6609 : 0, 0, 0, 0, 1244, 1245, 0, 0, 0, 0,
6610 : 0, 0, 0, 1247, 224, 225, 226, 227, 228, 229,
6611 : 230, 231, 0, 233, 234, 235, 0, 0, 0, 0,
6612 : 0, 0, 0, 236, 237, 0, 238, 239, 240, 801,
6613 : 241, 242, 243, 244, 245, 802, 246, 247, 0, 248,
6614 : 249, 250, 251, 252, 0, 1186, 253, 254, 255, 256,
6615 : 257, 0, 258, 259, 260, 261, 1189, 0, 1190, 0,
6616 : 263, 264, 265, 266, 267, 804, 268, 269, 270, 0,
6617 : 271, 272, 273, 274, 275, 276, 0, 805, 277, 278,
6618 : 279, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 280, 281,
6619 : 282, 283, 284, 285, 286, 287, 288, 0, 289, 0,
6620 : 290, 291, 292, 293, 294, 295, 0, 296, 297, 298,
6621 : 299, 0, 0, 300, 301, 302, 303, 304, 0, 305,
6622 : 306, 307, 0, 308, 309, 310, 0, 311, 312, 313,
6623 : 314, 315, 316, 317, 318, 1202, 0, 320, 0, 321,
6624 : 322, 323, 324, 0, 325, 0, 326, 807, 0, 808,
6625 : 327, 328, 329, 330, 0, 331, 1205, 0, 333, 334,
6626 : 0, 335, 336, 337, 338, 339, 809, 340, 341, 342,
6627 : 343, 0, 344, 345, 346, 347, 348, 349, 0, 350,
6628 : 810, 351, 352, 353, 354, 355, 356, 357, 0, 358,
6629 : 0, 359, 811, 812, 360, 813, 361, 362, 363, 364,
6630 : 365, 3427, 0, 366, 1210, 814, 368, 815, 0, 369,
6631 : 370, 371, 1211, 1212, 372, 373, 374, 375, 376, 377,
6632 : 378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
6633 : 388, 816, 389, 390, 391, 392, 393, 0, 394, 395,
6634 : 817, 396, 0, 1217, 398, 399, 400, 401, 402, 0,
6635 : 403, 404, 0, 765, 405, 406, 407, 0, 0, 408,
6636 : 409, 818, 410, 819, 1220, 412, 413, 414, 415, 416,
6637 : 417, 418, 419, 420, 0, 421, 422, 1221, 424, 425,
6638 : 426, 427, 428, 0, 429, 430, 431, 432, 433, 434,
6639 : 435, 436, 437, 438, 439, 440, 441, 442, 0, 443,
6640 : 444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
6641 : 454, 0, 455, 456, 820, 457, 458, 459, 460, 3428,
6642 : 462, 463, 464, 465, 466, 467, 468, 469, 39, 470,
6643 : 471, 472, 473, 474, 1224, 475, 476, 477, 478, 479,
6644 : 821, 480, 481, 482, 483, 0, 484, 485, 486, 487,
6645 : 488, 489, 490, 491, 492, 493, 494, 495, 1226, 0,
6646 : 497, 498, 43, 499, 822, 500, 501, 502, 503, 504,
6647 : 0, 505, 506, 0, 0, 507, 508, 1229, 510, 1230,
6648 : 0, 512, 513, 514, 515, 516, 517, 518, 0, 0,
6649 : 519, 520, 521, 522, 523, 1233, 0, 524, 525, 526,
6650 : 527, 528, 1112, 530, 0, 531, 823, 532, 533, 534,
6651 : 535, 0, 0, 536, 0, 48, 537, 538, 539, 540,
6652 : 541, 542, 543, 1235, 1236, 1237, 1238, 548, 1239, 1240,
6653 : 1241, 1242, 3429, 554, 555, 556, 0, 0, 49, 800,
6654 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6655 : 0, 0, 3430, 0, 224, 225, 226, 227, 228, 229,
6656 : 230, 231, 0, 233, 234, 235, 0, 0, 0, 0,
6657 : 0, 0, 0, 236, 237, 0, 238, 239, 240, 801,
6658 : 241, 242, 243, 244, 245, 802, 246, 247, 0, 248,
6659 : 249, 250, 251, 252, 0, 1186, 253, 254, 255, 256,
6660 : 257, 0, 258, 259, 260, 261, 1189, 0, 1190, 0,
6661 : 263, 264, 265, 266, 267, 804, 268, 269, 270, 0,
6662 : 271, 272, 273, 274, 275, 276, 0, 805, 277, 278,
6663 : 279, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 280, 281,
6664 : 282, 283, 284, 285, 286, 287, 288, 0, 289, 0,
6665 : 290, 291, 292, 293, 294, 295, 0, 296, 297, 298,
6666 : 299, 0, 0, 300, 301, 302, 303, 304, 0, 305,
6667 : 306, 307, 0, 308, 309, 310, 0, 311, 312, 313,
6668 : 314, 315, 316, 317, 318, 1202, 0, 320, 0, 321,
6669 : 322, 323, 324, 0, 325, 0, 326, 807, 0, 808,
6670 : 327, 328, 329, 330, 0, 331, 1205, 0, 333, 334,
6671 : 0, 335, 336, 337, 338, 339, 809, 340, 341, 342,
6672 : 343, 0, 344, 345, 346, 347, 348, 349, 0, 350,
6673 : 810, 351, 352, 353, 354, 355, 356, 357, 0, 358,
6674 : 0, 359, 811, 812, 360, 813, 361, 362, 363, 364,
6675 : 365, 3427, 0, 366, 1210, 814, 368, 815, 0, 369,
6676 : 370, 371, 1211, 1212, 372, 373, 374, 375, 376, 377,
6677 : 378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
6678 : 388, 816, 389, 390, 391, 392, 393, 0, 394, 395,
6679 : 817, 396, 0, 1217, 398, 399, 400, 401, 402, 0,
6680 : 403, 404, 0, 765, 405, 406, 407, 0, 0, 408,
6681 : 409, 818, 410, 819, 1220, 412, 413, 414, 415, 416,
6682 : 417, 418, 419, 420, 0, 421, 422, 1221, 424, 425,
6683 : 426, 427, 428, 0, 429, 430, 431, 432, 433, 434,
6684 : 435, 436, 437, 438, 439, 440, 441, 442, 0, 443,
6685 : 444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
6686 : 454, 0, 455, 456, 820, 457, 458, 459, 460, 3428,
6687 : 462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
6688 : 471, 472, 473, 474, 1224, 475, 476, 477, 478, 479,
6689 : 821, 480, 481, 482, 483, 0, 484, 485, 486, 487,
6690 : 488, 489, 490, 491, 492, 493, 494, 495, 1226, 0,
6691 : 497, 498, 0, 499, 822, 500, 501, 502, 503, 504,
6692 : 0, 505, 506, 0, 0, 507, 508, 1229, 510, 1230,
6693 : 0, 512, 513, 514, 515, 516, 517, 518, 0, 0,
6694 : 519, 520, 521, 522, 523, 1233, 0, 524, 525, 526,
6695 : 527, 528, 529, 530, 0, 531, 823, 532, 533, 534,
6696 : 535, 0, 0, 536, 0, 0, 537, 538, 539, 540,
6697 : 541, 542, 543, 1235, 1236, 1237, 1238, 548, 1239, 1240,
6698 : 1241, 1242, 3429, 554, 555, 556, 0, 0, 800, 0,
6699 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6700 : 0, 0, 3430, 224, 225, 226, 227, 228, 229, 230,
6701 : 231, 0, 233, 234, 235, 0, 0, 0, 0, 0,
6702 : 0, 0, 236, 237, 0, 238, 239, 240, 801, 241,
6703 : 242, 243, 244, 245, 802, 246, 247, 0, 248, 249,
6704 : 250, 251, 252, 0, 1186, 253, 254, 255, 256, 257,
6705 : 0, 258, 259, 260, 261, 1189, 0, 1190, 0, 263,
6706 : 264, 265, 266, 267, 804, 268, 269, 270, 0, 271,
6707 : 272, 273, 274, 275, 276, 0, 805, 277, 278, 279,
6708 : 1191, 1192, 1193, 1194, 1195, 1196, 1197, 280, 281, 282,
6709 : 283, 284, 285, 286, 287, 288, 0, 289, 0, 290,
6710 : 291, 292, 293, 294, 295, 0, 296, 297, 298, 299,
6711 : 0, 0, 300, 301, 302, 303, 304, 0, 305, 306,
6712 : 307, 0, 308, 309, 310, 0, 311, 312, 313, 314,
6713 : 315, 316, 317, 318, 1202, 0, 320, 0, 321, 322,
6714 : 323, 324, 0, 325, 0, 326, 807, 0, 808, 327,
6715 : 328, 329, 330, 0, 331, 1205, 0, 333, 334, 0,
6716 : 335, 336, 337, 338, 339, 809, 340, 341, 342, 343,
6717 : 0, 344, 345, 346, 347, 348, 349, 0, 350, 810,
6718 : 351, 352, 353, 354, 355, 356, 357, 0, 358, 0,
6719 : 359, 811, 812, 360, 813, 361, 362, 363, 364, 365,
6720 : 0, 0, 366, 1210, 814, 368, 815, 0, 369, 370,
6721 : 371, 1211, 1212, 372, 373, 374, 375, 376, 377, 378,
6722 : 379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
6723 : 816, 389, 390, 391, 392, 393, 0, 394, 395, 817,
6724 : 396, 0, 1217, 398, 399, 400, 401, 402, 0, 403,
6725 : 404, 0, 0, 405, 406, 407, 0, 0, 408, 409,
6726 : 818, 410, 819, 1220, 412, 413, 414, 415, 416, 417,
6727 : 418, 419, 420, 0, 421, 422, 1221, 424, 425, 426,
6728 : 427, 428, 0, 429, 430, 431, 432, 433, 434, 435,
6729 : 436, 437, 438, 439, 440, 441, 442, 0, 443, 444,
6730 : 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
6731 : 0, 455, 456, 820, 457, 458, 459, 460, 3428, 462,
6732 : 463, 464, 465, 466, 467, 468, 469, 0, 470, 471,
6733 : 472, 473, 474, 1224, 475, 476, 477, 478, 479, 821,
6734 : 480, 481, 482, 483, 0, 484, 485, 486, 487, 488,
6735 : 489, 490, 491, 492, 493, 494, 495, 1226, 0, 497,
6736 : 498, 0, 499, 822, 500, 501, 502, 503, 504, 0,
6737 : 505, 506, 0, 0, 507, 508, 1229, 510, 1230, 0,
6738 : 512, 513, 514, 515, 516, 517, 518, 0, 0, 519,
6739 : 520, 521, 522, 523, 1233, 0, 524, 525, 526, 527,
6740 : 528, 529, 530, 0, 531, 823, 532, 533, 534, 535,
6741 : 0, 0, 536, 0, 0, 537, 538, 539, 540, 541,
6742 : 542, 543, 1235, 1236, 1237, 1238, 548, 1239, 1240, 1241,
6743 : 1242, 3429, 554, 555, 556, 0, 0, 800, 0, 0,
6744 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6745 : 0, 50, 224, 225, 226, 227, 228, 229, 230, 231,
6746 : 0, 233, 234, 235, 0, 0, 0, 0, 0, 0,
6747 : 0, 236, 237, 0, 238, 239, 240, 801, 241, 242,
6748 : 243, 244, 245, 802, 246, 247, 0, 248, 249, 250,
6749 : 251, 252, 0, 1186, 253, 254, 255, 256, 257, 0,
6750 : 258, 259, 260, 261, 1189, 0, 1190, 0, 263, 264,
6751 : 265, 266, 267, 804, 268, 269, 270, 0, 271, 272,
6752 : 273, 274, 275, 276, 0, 805, 277, 278, 279, 1191,
6753 : 1192, 1193, 1194, 1195, 1196, 1197, 280, 281, 282, 283,
6754 : 284, 285, 286, 287, 288, 0, 289, 0, 290, 291,
6755 : 292, 293, 294, 295, 0, 296, 297, 298, 299, 0,
6756 : 0, 300, 301, 302, 303, 304, 0, 305, 306, 307,
6757 : 0, 308, 309, 310, 0, 311, 312, 313, 314, 315,
6758 : 316, 317, 318, 1202, 0, 320, 0, 321, 322, 323,
6759 : 324, 0, 325, 0, 326, 807, 0, 808, 327, 328,
6760 : 329, 330, 0, 331, 1205, 0, 333, 334, 0, 335,
6761 : 336, 337, 338, 339, 809, 340, 341, 342, 343, 0,
6762 : 344, 345, 346, 347, 348, 349, 0, 350, 810, 351,
6763 : 352, 353, 354, 355, 356, 357, 0, 358, 0, 359,
6764 : 811, 812, 360, 813, 361, 362, 363, 364, 365, 0,
6765 : 0, 366, 1210, 814, 368, 815, 0, 369, 370, 371,
6766 : 1211, 1212, 372, 373, 374, 375, 376, 377, 378, 379,
6767 : 380, 381, 382, 383, 384, 385, 386, 387, 388, 816,
6768 : 389, 390, 391, 392, 393, 0, 394, 395, 817, 396,
6769 : 0, 1217, 398, 399, 400, 401, 402, 0, 403, 404,
6770 : 0, 0, 405, 406, 407, 0, 0, 408, 409, 818,
6771 : 410, 819, 1220, 412, 413, 414, 415, 416, 417, 418,
6772 : 419, 420, 0, 421, 422, 1221, 424, 425, 426, 427,
6773 : 428, 0, 429, 430, 431, 432, 433, 434, 435, 436,
6774 : 437, 438, 439, 440, 441, 442, 0, 443, 444, 445,
6775 : 446, 447, 448, 449, 450, 451, 452, 453, 454, 0,
6776 : 455, 456, 820, 457, 458, 459, 460, 461, 462, 463,
6777 : 464, 465, 466, 467, 468, 469, 0, 470, 471, 472,
6778 : 473, 474, 1224, 475, 476, 477, 478, 479, 821, 480,
6779 : 481, 482, 483, 0, 484, 485, 486, 487, 488, 489,
6780 : 490, 491, 492, 493, 494, 495, 1226, 0, 497, 498,
6781 : 0, 499, 822, 500, 501, 502, 503, 504, 0, 505,
6782 : 506, 0, 0, 507, 508, 1229, 510, 1230, 0, 512,
6783 : 513, 514, 515, 516, 517, 518, 0, 0, 519, 520,
6784 : 521, 522, 523, 1233, 0, 524, 525, 526, 527, 528,
6785 : 529, 530, 0, 531, 823, 532, 533, 534, 535, 0,
6786 : 0, 536, 0, 0, 537, 538, 539, 540, 541, 542,
6787 : 543, 1235, 1236, 1237, 1238, 548, 1239, 1240, 1241, 1242,
6788 : 553, 554, 555, 556, 0, 0, 800, 0, 0, 0,
6789 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6790 : 4034, 224, 225, 226, 227, 228, 229, 230, 231, 0,
6791 : 233, 234, 235, 0, 0, 0, 0, 0, 0, 0,
6792 : 236, 237, 0, 238, 239, 240, 801, 241, 242, 243,
6793 : 244, 245, 802, 246, 247, 0, 248, 249, 250, 251,
6794 : 252, 0, 1186, 253, 254, 255, 256, 257, 0, 258,
6795 : 259, 260, 261, 1189, 0, 1190, 0, 263, 264, 265,
6796 : 266, 267, 804, 268, 269, 270, 0, 271, 272, 273,
6797 : 274, 275, 276, 0, 805, 277, 278, 279, 1191, 1192,
6798 : 1193, 1194, 1195, 1196, 1197, 280, 281, 282, 283, 284,
6799 : 285, 286, 287, 288, 0, 289, 0, 290, 291, 292,
6800 : 293, 294, 295, 0, 296, 297, 298, 299, 0, 0,
6801 : 300, 301, 302, 303, 304, 0, 305, 306, 307, 0,
6802 : 308, 309, 310, 0, 311, 312, 313, 314, 315, 316,
6803 : 317, 318, 1202, 0, 320, 0, 321, 322, 323, 324,
6804 : 0, 325, 0, 326, 807, 0, 808, 327, 328, 329,
6805 : 330, 0, 331, 1205, 0, 333, 334, 0, 335, 336,
6806 : 337, 338, 339, 809, 340, 341, 342, 343, 0, 344,
6807 : 345, 346, 347, 348, 349, 0, 350, 810, 351, 352,
6808 : 353, 354, 355, 356, 357, 0, 358, 0, 359, 811,
6809 : 812, 360, 813, 361, 362, 363, 364, 365, 0, 0,
6810 : 366, 1210, 814, 368, 815, 0, 369, 370, 371, 1211,
6811 : 1212, 372, 373, 374, 375, 376, 377, 378, 379, 380,
6812 : 381, 382, 383, 384, 385, 386, 387, 388, 816, 389,
6813 : 390, 391, 392, 393, 0, 394, 395, 817, 396, 0,
6814 : 1217, 398, 399, 400, 401, 402, 0, 403, 404, 0,
6815 : 0, 405, 406, 407, 0, 0, 408, 409, 818, 410,
6816 : 819, 1220, 412, 413, 414, 415, 416, 417, 418, 419,
6817 : 420, 0, 421, 422, 1221, 424, 425, 426, 427, 428,
6818 : 0, 429, 430, 431, 432, 433, 434, 435, 436, 437,
6819 : 438, 439, 440, 441, 442, 0, 443, 444, 445, 446,
6820 : 447, 448, 449, 450, 451, 452, 453, 454, 0, 455,
6821 : 456, 820, 457, 458, 459, 460, 461, 462, 463, 464,
6822 : 465, 466, 467, 468, 469, 0, 470, 471, 472, 473,
6823 : 474, 1224, 475, 476, 477, 478, 479, 821, 480, 481,
6824 : 482, 483, 0, 484, 485, 486, 487, 488, 489, 490,
6825 : 491, 492, 493, 494, 495, 1226, 0, 497, 498, 0,
6826 : 499, 822, 500, 501, 502, 503, 504, 0, 505, 506,
6827 : 0, 0, 507, 508, 1229, 510, 1230, 0, 512, 513,
6828 : 514, 515, 516, 517, 518, 0, 0, 519, 520, 521,
6829 : 522, 523, 1233, 0, 524, 525, 526, 527, 528, 529,
6830 : 530, 0, 531, 823, 532, 533, 534, 535, 0, 0,
6831 : 536, 0, 0, 537, 538, 539, 540, 541, 542, 543,
6832 : 1235, 1236, 1237, 1238, 548, 1239, 1240, 1241, 1242, 553,
6833 : 554, 555, 556, 0, 0, 845, 1454, 617, 0, 0,
6834 : 0, 676, 0, 0, 0, 0, 0, 0, 0, 5101,
6835 : 224, 225, 226, 227, 228, 229, 230, 231, 0, 233,
6836 : 234, 235, 0, 0, 0, 0, 0, 0, 0, 236,
6837 : 237, 0, 238, 239, 240, 801, 241, 242, 243, 244,
6838 : 245, 802, 246, 247, 0, 248, 249, 250, 251, 252,
6839 : 0, 0, 253, 254, 255, 256, 257, 0, 258, 259,
6840 : 260, 261, 262, 0, 803, 0, 263, 264, 265, 266,
6841 : 267, 804, 268, 269, 270, 0, 271, 272, 273, 274,
6842 : 275, 276, 0, 805, 277, 278, 279, 0, 0, 0,
6843 : 806, 0, 0, 0, 280, 281, 282, 283, 284, 285,
6844 : 286, 287, 288, 0, 289, 0, 290, 291, 292, 293,
6845 : 294, 295, 0, 296, 297, 298, 299, 0, 0, 300,
6846 : 301, 302, 303, 304, 0, 305, 306, 307, 0, 308,
6847 : 309, 310, 0, 311, 312, 313, 314, 315, 316, 317,
6848 : 318, 319, 1756, 320, 0, 321, 322, 323, 324, 0,
6849 : 325, 0, 326, 807, 0, 808, 327, 328, 329, 330,
6850 : 0, 331, 332, 0, 333, 334, 0, 335, 336, 337,
6851 : 338, 339, 809, 340, 341, 342, 343, 0, 344, 345,
6852 : 346, 347, 348, 349, 0, 350, 810, 351, 352, 353,
6853 : 354, 355, 356, 357, 0, 358, 0, 359, 811, 812,
6854 : 360, 813, 361, 362, 363, 364, 365, 0, 0, 366,
6855 : 367, 814, 368, 815, 0, 369, 370, 371, 0, 0,
6856 : 372, 373, 374, 375, 376, 377, 378, 379, 380, 381,
6857 : 382, 383, 384, 385, 386, 387, 388, 816, 389, 390,
6858 : 391, 392, 393, 0, 394, 395, 817, 396, 0, 397,
6859 : 398, 399, 400, 401, 402, 0, 403, 404, 1757, 0,
6860 : 405, 406, 407, 0, 0, 408, 409, 818, 410, 819,
6861 : 411, 412, 413, 414, 415, 416, 417, 418, 419, 420,
6862 : 0, 421, 422, 423, 424, 425, 426, 427, 428, 0,
6863 : 429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
6864 : 439, 440, 441, 442, 0, 443, 444, 445, 446, 447,
6865 : 448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
6866 : 820, 457, 458, 459, 460, 461, 462, 463, 464, 465,
6867 : 466, 467, 468, 469, 0, 470, 471, 472, 473, 474,
6868 : 0, 475, 476, 477, 478, 479, 821, 480, 481, 482,
6869 : 483, 0, 484, 485, 486, 487, 488, 489, 490, 491,
6870 : 492, 493, 494, 495, 496, 0, 497, 498, 0, 499,
6871 : 822, 500, 501, 502, 503, 504, 0, 505, 506, 0,
6872 : 0, 507, 508, 509, 510, 511, 1758, 512, 513, 514,
6873 : 515, 516, 517, 518, 0, 0, 519, 520, 521, 522,
6874 : 523, 0, 0, 524, 525, 526, 527, 528, 529, 530,
6875 : 0, 531, 823, 532, 533, 534, 535, 0, 0, 536,
6876 : 0, 0, 537, 538, 539, 540, 541, 542, 543, 544,
6877 : 545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
6878 : 555, 556, 0, 0, 845, 0, 0, 0, 0, 1455,
6879 : 1456, 4921, 0, 0, 0, 0, 0, 0, 4922, 224,
6880 : 225, 226, 227, 228, 229, 230, 231, 0, 233, 234,
6881 : 235, 3, 4, 0, 0, 0, 0, 0, 236, 237,
6882 : 0, 238, 239, 240, 801, 241, 242, 243, 244, 245,
6883 : 802, 246, 247, 0, 248, 249, 250, 251, 252, 0,
6884 : 0, 253, 254, 255, 256, 257, 0, 258, 259, 260,
6885 : 261, 262, 0, 803, 0, 263, 264, 265, 266, 267,
6886 : 804, 268, 269, 270, 0, 271, 272, 273, 274, 275,
6887 : 276, 0, 805, 277, 278, 279, 0, 0, 0, 806,
6888 : 0, 0, 0, 280, 281, 282, 283, 284, 285, 286,
6889 : 287, 288, 0, 289, 0, 290, 291, 292, 293, 294,
6890 : 295, 0, 296, 297, 298, 299, 0, 0, 300, 301,
6891 : 302, 303, 304, 0, 305, 306, 307, 0, 308, 309,
6892 : 310, 0, 311, 312, 313, 314, 315, 316, 317, 318,
6893 : 319, 0, 320, 0, 321, 322, 323, 324, 0, 325,
6894 : 0, 326, 807, 0, 808, 327, 328, 329, 330, 0,
6895 : 331, 332, 0, 333, 334, 0, 335, 336, 337, 338,
6896 : 339, 809, 340, 341, 342, 343, 0, 344, 345, 346,
6897 : 347, 348, 349, 0, 350, 810, 351, 352, 353, 354,
6898 : 355, 356, 357, 0, 358, 0, 359, 811, 812, 360,
6899 : 813, 361, 362, 363, 364, 365, 0, 0, 366, 367,
6900 : 814, 368, 815, 0, 369, 370, 371, 0, 0, 372,
6901 : 373, 374, 375, 376, 377, 378, 379, 380, 381, 382,
6902 : 383, 384, 385, 386, 387, 388, 816, 389, 390, 391,
6903 : 392, 393, 0, 394, 395, 817, 396, 0, 397, 398,
6904 : 399, 400, 401, 402, 0, 403, 404, 0, 0, 405,
6905 : 406, 407, 0, 0, 408, 409, 818, 410, 819, 411,
6906 : 412, 413, 414, 415, 416, 417, 418, 419, 420, 0,
6907 : 421, 422, 423, 424, 425, 426, 427, 428, 0, 429,
6908 : 430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
6909 : 440, 441, 442, 0, 443, 444, 445, 446, 447, 448,
6910 : 449, 450, 451, 452, 453, 454, 0, 455, 456, 820,
6911 : 457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
6912 : 467, 468, 469, 39, 470, 471, 472, 473, 474, 0,
6913 : 475, 476, 477, 478, 479, 821, 480, 481, 482, 483,
6914 : 0, 484, 485, 486, 487, 488, 489, 490, 491, 492,
6915 : 493, 494, 495, 496, 0, 497, 498, 43, 499, 822,
6916 : 500, 501, 502, 503, 504, 0, 505, 506, 0, 0,
6917 : 507, 508, 509, 510, 511, 0, 512, 513, 514, 515,
6918 : 516, 517, 518, 0, 0, 519, 520, 521, 522, 523,
6919 : 0, 0, 524, 525, 526, 527, 528, 1112, 530, 0,
6920 : 531, 823, 532, 533, 534, 535, 0, 0, 536, 0,
6921 : 48, 537, 538, 539, 540, 541, 542, 543, 544, 545,
6922 : 546, 547, 548, 549, 550, 551, 552, 553, 554, 555,
6923 : 556, 0, 0, 49, 800, 0, 0, 0, 0, 0,
6924 : 0, 0, 0, 0, 0, 0, 0, 50, 0, 224,
6925 : 225, 226, 227, 228, 229, 230, 231, 0, 233, 234,
6926 : 235, 0, 0, 0, 0, 0, 0, 0, 236, 237,
6927 : 0, 238, 239, 240, 801, 241, 242, 243, 244, 245,
6928 : 802, 246, 247, 0, 248, 249, 250, 251, 252, 0,
6929 : 0, 253, 254, 255, 256, 257, 0, 258, 259, 260,
6930 : 261, 262, 0, 803, 0, 263, 264, 265, 266, 267,
6931 : 804, 268, 269, 270, 0, 271, 272, 273, 274, 275,
6932 : 276, 0, 805, 277, 278, 279, 0, 0, 0, 806,
6933 : 0, 0, 0, 280, 281, 282, 283, 284, 285, 286,
6934 : 287, 288, 0, 289, 0, 290, 291, 292, 293, 294,
6935 : 295, 0, 296, 297, 298, 299, 0, 0, 300, 301,
6936 : 302, 303, 304, 0, 305, 306, 307, 0, 308, 309,
6937 : 310, 0, 311, 312, 313, 314, 315, 316, 317, 318,
6938 : 319, 0, 320, 0, 321, 322, 323, 324, 0, 325,
6939 : 0, 326, 807, 0, 808, 327, 328, 329, 330, 0,
6940 : 331, 332, 0, 333, 334, 0, 335, 336, 337, 338,
6941 : 339, 809, 340, 341, 342, 343, 0, 344, 345, 346,
6942 : 347, 348, 349, 0, 350, 810, 351, 352, 353, 354,
6943 : 355, 356, 357, 0, 358, 0, 359, 811, 812, 360,
6944 : 813, 361, 362, 363, 364, 365, 0, 0, 366, 367,
6945 : 814, 368, 815, 0, 369, 370, 371, 0, 0, 372,
6946 : 373, 374, 375, 376, 377, 378, 379, 380, 381, 382,
6947 : 383, 384, 385, 386, 387, 388, 816, 389, 390, 391,
6948 : 392, 393, 0, 394, 395, 817, 396, 0, 397, 398,
6949 : 399, 400, 401, 402, 0, 403, 404, 0, 0, 405,
6950 : 406, 407, 0, 0, 408, 409, 818, 410, 819, 411,
6951 : 412, 413, 414, 415, 416, 417, 418, 419, 420, 0,
6952 : 421, 422, 423, 424, 425, 426, 427, 428, 0, 429,
6953 : 430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
6954 : 440, 441, 442, 0, 443, 444, 445, 446, 447, 448,
6955 : 449, 450, 451, 452, 453, 454, 0, 455, 456, 820,
6956 : 457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
6957 : 467, 468, 469, 0, 470, 471, 472, 473, 474, 0,
6958 : 475, 476, 477, 478, 479, 821, 480, 481, 482, 483,
6959 : 0, 484, 485, 486, 487, 488, 489, 490, 491, 492,
6960 : 493, 494, 495, 496, 0, 497, 498, 0, 499, 822,
6961 : 500, 501, 502, 503, 504, 0, 505, 506, 0, 0,
6962 : 507, 508, 509, 510, 511, 0, 512, 513, 514, 515,
6963 : 516, 517, 518, 0, 0, 519, 520, 521, 522, 523,
6964 : 0, 0, 524, 525, 526, 527, 528, 529, 530, 0,
6965 : 531, 823, 532, 533, 534, 535, 0, 0, 536, 0,
6966 : 0, 537, 538, 539, 540, 541, 542, 543, 544, 545,
6967 : 546, 547, 548, 549, 550, 551, 552, 553, 554, 555,
6968 : 556, 0, 0, 223, 0, 0, 0, 0, 0, 0,
6969 : 0, 0, 0, 0, 0, 0, 0, 4703, 224, 225,
6970 : 226, 227, 228, 229, 230, 231, 0, 233, 234, 235,
6971 : 0, 0, 0, 0, 0, 0, 0, 236, 237, 0,
6972 : 238, 239, 240, 0, 241, 242, 243, 244, 245, 0,
6973 : 246, 247, 0, 248, 249, 250, 251, 252, 0, 0,
6974 : 253, 254, 255, 256, 257, 0, 258, 259, 260, 261,
6975 : 262, 0, 0, 0, 263, 264, 265, 266, 267, 0,
6976 : 268, 269, 270, 0, 271, 272, 273, 274, 275, 276,
6977 : 0, 0, 277, 278, 279, 0, 0, 0, 0, 0,
6978 : 0, 0, 280, 281, 282, 283, 284, 285, 286, 287,
6979 : 288, 0, 289, 0, 290, 291, 292, 293, 294, 295,
6980 : 0, 296, 297, 298, 299, 0, 0, 300, 301, 302,
6981 : 303, 304, 0, 305, 306, 307, 0, 308, 309, 310,
6982 : 0, 311, 312, 313, 314, 315, 316, 317, 318, 319,
6983 : 0, 320, 0, 321, 322, 323, 324, 0, 325, 0,
6984 : 326, 0, 0, 0, 327, 328, 329, 330, 0, 331,
6985 : 332, 0, 333, 334, 0, 335, 336, 337, 338, 339,
6986 : 0, 340, 341, 342, 343, 0, 344, 345, 346, 347,
6987 : 348, 349, 0, 350, 0, 351, 352, 353, 354, 355,
6988 : 356, 357, 0, 358, 0, 359, 0, 0, 360, 0,
6989 : 361, 362, 363, 364, 365, 0, 0, 366, 367, 0,
6990 : 368, 0, 0, 369, 370, 371, 0, 0, 372, 373,
6991 : 374, 375, 376, 377, 378, 379, 380, 381, 382, 383,
6992 : 384, 385, 386, 387, 388, 0, 389, 390, 391, 392,
6993 : 393, 0, 394, 395, 0, 396, 0, 397, 398, 399,
6994 : 400, 401, 402, 0, 403, 404, 0, 0, 405, 406,
6995 : 407, 0, 0, 408, 409, 0, 410, 0, 411, 412,
6996 : 413, 414, 415, 416, 417, 418, 419, 420, 0, 421,
6997 : 422, 423, 424, 425, 426, 427, 428, 0, 429, 430,
6998 : 431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
6999 : 441, 442, 0, 443, 444, 445, 446, 447, 448, 449,
7000 : 450, 451, 452, 453, 454, 0, 455, 456, 0, 457,
7001 : 458, 459, 460, 461, 462, 463, 464, 465, 466, 467,
7002 : 468, 469, 39, 470, 471, 472, 473, 474, 0, 475,
7003 : 476, 477, 478, 479, 0, 480, 481, 482, 483, 0,
7004 : 484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
7005 : 494, 495, 496, 0, 497, 498, 43, 499, 0, 500,
7006 : 501, 502, 503, 504, 0, 505, 506, 0, 0, 507,
7007 : 508, 509, 510, 511, 0, 512, 513, 514, 515, 516,
7008 : 517, 518, 0, 0, 519, 520, 521, 522, 523, 0,
7009 : 0, 524, 525, 526, 527, 528, 1112, 530, 0, 531,
7010 : 0, 532, 533, 534, 535, 0, 0, 536, 0, 48,
7011 : 537, 538, 539, 540, 541, 542, 543, 544, 545, 546,
7012 : 547, 548, 549, 550, 551, 552, 553, 554, 555, 556,
7013 : 0, 0, 49, 223, 0, 0, 0, 0, 0, 0,
7014 : 0, 0, 0, 0, 0, 0, 50, 0, 224, 225,
7015 : 226, 227, 228, 229, 230, 231, 0, 233, 234, 235,
7016 : 0, 0, 0, 0, 0, 0, 0, 236, 237, 0,
7017 : 238, 239, 240, 0, 241, 242, 243, 244, 245, 0,
7018 : 246, 247, 0, 248, 249, 250, 251, 252, 0, 0,
7019 : 253, 254, 255, 256, 257, 0, 258, 259, 260, 261,
7020 : 262, 0, 0, 0, 263, 264, 265, 266, 267, 0,
7021 : 268, 269, 270, 0, 271, 272, 273, 274, 275, 276,
7022 : 0, 0, 277, 278, 279, 0, 0, 0, 0, 0,
7023 : 0, 0, 280, 281, 282, 283, 284, 285, 286, 287,
7024 : 288, 0, 289, 0, 290, 291, 292, 293, 294, 295,
7025 : 0, 296, 297, 298, 299, 0, 0, 300, 301, 302,
7026 : 303, 304, 0, 305, 306, 307, 0, 308, 309, 310,
7027 : 0, 311, 312, 313, 314, 315, 316, 317, 318, 319,
7028 : 0, 320, 0, 321, 322, 323, 324, 0, 325, 0,
7029 : 326, 0, 0, 0, 327, 328, 329, 330, 0, 331,
7030 : 332, 0, 333, 334, 0, 335, 336, 337, 338, 339,
7031 : 0, 340, 341, 342, 343, 0, 344, 345, 346, 347,
7032 : 348, 349, 0, 350, 0, 351, 352, 353, 354, 355,
7033 : 356, 357, 0, 358, 0, 359, 0, 0, 360, 0,
7034 : 361, 362, 363, 364, 365, 0, 0, 366, 367, 0,
7035 : 368, 0, 0, 369, 370, 371, 0, 0, 372, 373,
7036 : 374, 375, 376, 377, 378, 379, 380, 381, 382, 383,
7037 : 384, 385, 386, 387, 388, 0, 389, 390, 391, 392,
7038 : 393, 0, 394, 395, 0, 396, 0, 397, 398, 399,
7039 : 400, 401, 402, 0, 403, 404, 0, 0, 405, 406,
7040 : 407, 0, 0, 408, 409, 0, 410, 0, 411, 412,
7041 : 413, 414, 415, 416, 417, 418, 419, 420, 0, 421,
7042 : 422, 423, 424, 425, 426, 427, 428, 0, 429, 430,
7043 : 431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
7044 : 441, 442, 0, 443, 444, 445, 446, 447, 448, 449,
7045 : 450, 451, 452, 453, 454, 0, 455, 456, 0, 457,
7046 : 458, 459, 460, 461, 462, 463, 464, 465, 466, 467,
7047 : 468, 469, 0, 470, 471, 472, 473, 474, 0, 475,
7048 : 476, 477, 478, 479, 0, 480, 481, 482, 483, 0,
7049 : 484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
7050 : 494, 495, 496, 0, 497, 498, 0, 499, 0, 500,
7051 : 501, 502, 503, 504, 0, 505, 506, 0, 0, 507,
7052 : 508, 509, 510, 511, 0, 512, 513, 514, 515, 516,
7053 : 517, 518, 0, 0, 519, 520, 521, 522, 523, 0,
7054 : 0, 524, 525, 526, 527, 528, 529, 530, 0, 531,
7055 : 0, 532, 533, 534, 535, 0, 0, 536, 0, 0,
7056 : 537, 538, 539, 540, 541, 542, 543, 544, 545, 546,
7057 : 547, 548, 549, 550, 551, 552, 553, 554, 555, 556,
7058 : 0, 0, 223, 0, 0, 0, 0, 0, 0, 0,
7059 : 0, 0, 0, 0, 0, 0, 1305, 224, 225, 226,
7060 : 227, 228, 229, 230, 231, 0, 233, 234, 235, 0,
7061 : 0, 0, 0, 0, 0, 0, 236, 237, 0, 238,
7062 : 239, 240, 0, 241, 242, 243, 244, 245, 0, 246,
7063 : 247, 0, 248, 249, 250, 251, 252, 0, 0, 253,
7064 : 254, 255, 256, 257, 0, 258, 259, 260, 261, 262,
7065 : 0, 0, 0, 263, 264, 265, 266, 267, 0, 268,
7066 : 269, 270, 0, 271, 272, 273, 274, 275, 276, 0,
7067 : 0, 277, 278, 279, 0, 0, 0, 0, 0, 0,
7068 : 0, 280, 281, 282, 283, 284, 285, 286, 287, 288,
7069 : 0, 289, 0, 290, 291, 292, 293, 294, 295, 0,
7070 : 296, 297, 298, 299, 0, 0, 300, 301, 302, 303,
7071 : 304, 0, 305, 306, 307, 0, 308, 309, 310, 0,
7072 : 311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
7073 : 320, 0, 321, 322, 323, 324, 0, 325, 0, 326,
7074 : 0, 0, 0, 327, 328, 329, 330, 0, 331, 332,
7075 : 0, 333, 334, 0, 335, 336, 337, 338, 339, 0,
7076 : 340, 341, 342, 343, 0, 344, 345, 346, 347, 348,
7077 : 349, 0, 350, 0, 351, 352, 353, 354, 355, 356,
7078 : 357, 0, 358, 0, 359, 0, 0, 360, 0, 361,
7079 : 362, 363, 364, 365, 0, 0, 366, 367, 0, 368,
7080 : 0, 0, 369, 370, 371, 0, 0, 372, 373, 374,
7081 : 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
7082 : 385, 386, 387, 388, 0, 389, 390, 391, 392, 393,
7083 : 0, 394, 395, 0, 396, 0, 397, 398, 399, 400,
7084 : 401, 402, 0, 403, 404, 0, 0, 405, 406, 407,
7085 : 0, 0, 408, 409, 0, 410, 0, 411, 412, 413,
7086 : 414, 415, 416, 417, 418, 419, 420, 0, 421, 422,
7087 : 423, 424, 425, 426, 427, 428, 0, 429, 430, 431,
7088 : 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
7089 : 442, 0, 443, 444, 445, 446, 447, 448, 449, 450,
7090 : 451, 452, 453, 454, 0, 455, 456, 0, 457, 458,
7091 : 459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
7092 : 469, 0, 470, 471, 472, 473, 474, 0, 475, 476,
7093 : 477, 478, 479, 0, 480, 481, 482, 483, 0, 484,
7094 : 485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
7095 : 495, 496, 0, 497, 498, 0, 499, 0, 500, 501,
7096 : 502, 503, 504, 0, 505, 506, 0, 0, 507, 508,
7097 : 509, 510, 511, 0, 512, 513, 514, 515, 516, 517,
7098 : 518, 0, 0, 519, 520, 521, 522, 523, 0, 0,
7099 : 524, 525, 526, 527, 528, 529, 530, 0, 531, 0,
7100 : 532, 533, 534, 535, 0, 0, 536, 0, 0, 537,
7101 : 538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
7102 : 548, 549, 550, 551, 552, 553, 554, 555, 556, 0,
7103 : 0, 223, 0, 0, 0, 0, 0, 0, 0, 0,
7104 : 0, 0, 0, 0, 0, 2803, 224, 225, 226, 227,
7105 : 228, 229, 230, 231, 0, 233, 234, 235, 0, 0,
7106 : 0, 0, 0, 0, 0, 236, 237, 0, 238, 239,
7107 : 240, 0, 241, 242, 243, 244, 245, 0, 246, 247,
7108 : 0, 248, 249, 250, 251, 252, 0, 0, 253, 254,
7109 : 255, 256, 257, 0, 258, 259, 260, 261, 262, 0,
7110 : 0, 0, 263, 264, 265, 266, 267, 0, 268, 269,
7111 : 270, 0, 271, 272, 273, 274, 275, 276, 0, 0,
7112 : 277, 278, 279, 0, 0, 0, 0, 0, 0, 0,
7113 : 280, 281, 282, 283, 284, 285, 286, 287, 288, 0,
7114 : 289, 0, 290, 291, 292, 293, 294, 295, 0, 296,
7115 : 297, 298, 299, 0, 0, 300, 301, 302, 303, 304,
7116 : 0, 305, 306, 307, 0, 308, 309, 310, 0, 311,
7117 : 312, 313, 314, 315, 316, 317, 318, 319, 0, 320,
7118 : 0, 321, 322, 323, 324, 0, 325, 0, 326, 0,
7119 : 0, 0, 327, 328, 329, 330, 0, 331, 332, 0,
7120 : 333, 334, 0, 335, 336, 337, 338, 339, 0, 340,
7121 : 341, 342, 343, 0, 344, 345, 346, 347, 348, 349,
7122 : 0, 350, 0, 351, 352, 353, 354, 355, 356, 357,
7123 : 0, 358, 0, 359, 0, 0, 360, 0, 361, 362,
7124 : 363, 364, 365, 0, 0, 366, 367, 0, 368, 0,
7125 : 0, 369, 370, 371, 0, 0, 372, 373, 374, 375,
7126 : 376, 377, 378, 379, 380, 381, 382, 383, 384, 385,
7127 : 386, 387, 388, 0, 389, 390, 391, 392, 393, 0,
7128 : 394, 395, 0, 396, 0, 397, 398, 399, 400, 401,
7129 : 402, 0, 403, 404, 0, 0, 405, 406, 407, 0,
7130 : 0, 408, 409, 0, 410, 0, 411, 412, 413, 414,
7131 : 415, 416, 417, 418, 419, 420, 0, 421, 422, 423,
7132 : 424, 425, 426, 427, 428, 0, 429, 430, 431, 432,
7133 : 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
7134 : 0, 443, 444, 445, 446, 447, 448, 449, 450, 451,
7135 : 452, 453, 454, 0, 455, 456, 0, 457, 458, 459,
7136 : 460, 461, 462, 463, 464, 465, 466, 467, 468, 469,
7137 : 0, 470, 471, 472, 473, 474, 0, 475, 476, 477,
7138 : 478, 479, 0, 480, 481, 482, 483, 0, 484, 485,
7139 : 486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
7140 : 496, 0, 497, 498, 0, 499, 0, 500, 501, 502,
7141 : 503, 504, 0, 505, 506, 0, 0, 507, 508, 509,
7142 : 510, 511, 0, 512, 513, 514, 515, 516, 517, 518,
7143 : 0, 0, 519, 520, 521, 522, 523, 0, 0, 524,
7144 : 525, 526, 527, 528, 529, 530, 0, 531, 0, 532,
7145 : 533, 534, 535, 0, 0, 536, 0, 0, 537, 538,
7146 : 539, 540, 541, 542, 543, 544, 545, 546, 547, 548,
7147 : 549, 550, 551, 552, 553, 554, 555, 556, 0, 0,
7148 : 223, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7149 : 0, 0, 0, 0, 3940, 224, 225, 226, 227, 228,
7150 : 229, 230, 231, 0, 233, 234, 235, 0, 0, 0,
7151 : 0, 0, 0, 0, 236, 237, 0, 238, 239, 240,
7152 : 0, 241, 242, 243, 244, 245, 0, 246, 247, 0,
7153 : 248, 249, 250, 251, 252, 0, 0, 253, 254, 255,
7154 : 256, 257, 0, 258, 259, 260, 261, 262, 0, 0,
7155 : 0, 263, 264, 265, 266, 267, 0, 268, 269, 270,
7156 : 0, 271, 272, 273, 274, 275, 276, 0, 0, 277,
7157 : 278, 279, 0, 0, 0, 0, 0, 0, 0, 280,
7158 : 281, 282, 283, 284, 285, 286, 287, 288, 0, 289,
7159 : 0, 290, 291, 292, 293, 294, 295, 0, 296, 297,
7160 : 298, 299, 0, 0, 300, 301, 302, 303, 304, 0,
7161 : 305, 306, 307, 0, 308, 309, 310, 0, 311, 312,
7162 : 313, 314, 315, 316, 317, 318, 319, 0, 320, 0,
7163 : 321, 322, 323, 324, 0, 325, 0, 326, 0, 0,
7164 : 0, 327, 328, 329, 330, 0, 331, 332, 0, 333,
7165 : 334, 0, 335, 336, 337, 338, 339, 0, 340, 341,
7166 : 342, 343, 0, 344, 345, 346, 347, 348, 349, 0,
7167 : 350, 0, 351, 352, 353, 354, 355, 356, 357, 0,
7168 : 358, 0, 359, 0, 0, 360, 0, 361, 362, 363,
7169 : 364, 365, 0, 0, 366, 367, 0, 368, 0, 0,
7170 : 369, 370, 371, 0, 0, 372, 373, 374, 375, 376,
7171 : 377, 378, 379, 380, 381, 382, 383, 384, 385, 386,
7172 : 387, 388, 0, 389, 390, 391, 392, 393, 0, 394,
7173 : 395, 0, 396, 0, 397, 398, 399, 400, 401, 402,
7174 : 0, 403, 404, 0, 0, 405, 406, 407, 0, 0,
7175 : 408, 409, 0, 410, 0, 411, 412, 413, 414, 415,
7176 : 416, 417, 418, 419, 420, 0, 421, 422, 423, 424,
7177 : 425, 426, 427, 428, 0, 429, 430, 431, 432, 433,
7178 : 434, 435, 436, 437, 438, 439, 440, 441, 442, 0,
7179 : 443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
7180 : 453, 454, 0, 455, 456, 0, 457, 458, 459, 460,
7181 : 461, 462, 463, 464, 465, 466, 467, 468, 469, 0,
7182 : 470, 471, 472, 473, 474, 0, 475, 476, 477, 478,
7183 : 479, 0, 480, 481, 482, 483, 0, 484, 485, 486,
7184 : 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
7185 : 0, 497, 498, 0, 499, 0, 500, 501, 502, 503,
7186 : 504, 0, 505, 506, 0, 0, 507, 508, 509, 510,
7187 : 511, 0, 512, 513, 514, 515, 516, 517, 518, 0,
7188 : 0, 519, 520, 521, 522, 523, 0, 0, 524, 525,
7189 : 526, 527, 528, 529, 530, 0, 531, 0, 532, 533,
7190 : 534, 535, 0, 0, 536, 0, 0, 537, 538, 539,
7191 : 540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
7192 : 550, 551, 552, 553, 554, 555, 556, 0, 0, 0,
7193 : 0, 0, 1030, 1454, 617, 0, 0, 859, 676, 0,
7194 : 0, 0, 0, 4388, 860, 861, 862, 224, 225, 226,
7195 : 227, 228, 229, 230, 231, 1944, 233, 234, 235, 1945,
7196 : 1946, 1947, 1948, 1949, 1950, 1951, 236, 237, 1952, 238,
7197 : 239, 240, 801, 241, 242, 243, 0, 1031, 802, 1032,
7198 : 1033, 1953, 248, 249, 250, 251, 252, 1954, 1955, 253,
7199 : 254, 1034, 1035, 257, 1956, 258, 259, 260, 261, 0,
7200 : 1957, 803, 1958, 263, 264, 265, 266, 267, 804, 268,
7201 : 269, 270, 1959, 271, 272, 273, 274, 275, 276, 1960,
7202 : 805, 277, 278, 279, 1961, 1962, 1963, 806, 1964, 1965,
7203 : 1966, 280, 281, 282, 283, 284, 285, 1036, 1037, 288,
7204 : 1967, 289, 1968, 290, 291, 292, 293, 294, 295, 1969,
7205 : 296, 297, 298, 299, 1970, 1971, 300, 301, 1038, 303,
7206 : 304, 1972, 305, 306, 307, 1973, 308, 309, 310, 1974,
7207 : 311, 312, 313, 314, 0, 316, 317, 318, 0, 1975,
7208 : 320, 1976, 321, 322, 1039, 324, 1977, 325, 1978, 326,
7209 : 807, 1979, 808, 327, 328, 329, 330, 1980, 331, 0,
7210 : 1981, 0, 334, 1982, 335, 336, 337, 338, 339, 809,
7211 : 340, 341, 342, 343, 1983, 344, 345, 346, 347, 348,
7212 : 349, 1984, 350, 810, 0, 352, 353, 354, 355, 1041,
7213 : 1042, 1985, 1043, 1986, 359, 811, 812, 360, 813, 361,
7214 : 362, 363, 364, 365, 1987, 1988, 366, 0, 814, 368,
7215 : 815, 1989, 369, 370, 371, 1990, 1991, 372, 373, 374,
7216 : 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
7217 : 385, 386, 387, 1044, 816, 1045, 390, 391, 392, 3694,
7218 : 1992, 394, 395, 817, 396, 1993, 0, 398, 1046, 400,
7219 : 401, 402, 1994, 403, 404, 1995, 1996, 3695, 406, 407,
7220 : 1997, 1998, 408, 0, 818, 410, 819, 0, 412, 413,
7221 : 414, 415, 416, 417, 418, 419, 420, 1999, 421, 422,
7222 : 0, 424, 0, 426, 427, 428, 2000, 429, 430, 431,
7223 : 432, 433, 434, 435, 436, 437, 1047, 439, 440, 441,
7224 : 442, 2001, 443, 444, 445, 446, 447, 448, 449, 450,
7225 : 451, 452, 453, 454, 2002, 455, 456, 820, 457, 458,
7226 : 459, 0, 461, 462, 463, 464, 465, 466, 467, 468,
7227 : 469, 2003, 470, 471, 472, 473, 474, 2004, 475, 476,
7228 : 2088, 478, 479, 821, 480, 481, 1049, 483, 2005, 484,
7229 : 485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
7230 : 495, 0, 2006, 497, 498, 2007, 499, 822, 500, 501,
7231 : 502, 503, 504, 2008, 1050, 1051, 2009, 2010, 507, 508,
7232 : 0, 510, 0, 2011, 512, 513, 514, 515, 516, 517,
7233 : 518, 2012, 2013, 519, 520, 521, 522, 523, 2014, 2015,
7234 : 524, 525, 526, 527, 528, 0, 1052, 2016, 531, 823,
7235 : 532, 533, 534, 535, 2017, 2018, 536, 2019, 2020, 537,
7236 : 538, 539, 540, 541, 542, 0, 0, 0, 0, 0,
7237 : 0, 0, 0, 0, 0, 0, 554, 555, 556, 0,
7238 : 0, 0, 865, 866, 867, 0, 3696, 3697, 870, 871,
7239 : 872, 873, 1030, 1454, 617, 0, 0, 859, 676, 0,
7240 : 0, 0, 0, 0, 860, 861, 862, 224, 225, 226,
7241 : 227, 228, 229, 230, 231, 1944, 233, 234, 235, 1945,
7242 : 1946, 1947, 1948, 1949, 1950, 1951, 236, 237, 1952, 238,
7243 : 239, 240, 801, 241, 242, 243, 0, 1031, 802, 1032,
7244 : 1033, 1953, 248, 249, 250, 251, 252, 1954, 1955, 253,
7245 : 254, 1034, 1035, 257, 1956, 258, 259, 260, 261, 0,
7246 : 1957, 803, 1958, 263, 264, 265, 266, 267, 804, 268,
7247 : 269, 270, 1959, 271, 272, 273, 274, 275, 276, 1960,
7248 : 805, 277, 278, 279, 1961, 1962, 1963, 806, 1964, 1965,
7249 : 1966, 280, 281, 282, 283, 284, 285, 1036, 1037, 288,
7250 : 1967, 289, 1968, 290, 291, 292, 293, 294, 295, 1969,
7251 : 296, 297, 298, 299, 1970, 1971, 300, 301, 1038, 303,
7252 : 304, 1972, 305, 306, 307, 1973, 308, 309, 310, 1974,
7253 : 311, 312, 313, 314, 0, 316, 317, 318, 0, 1975,
7254 : 320, 1976, 321, 322, 1039, 324, 1977, 325, 1978, 326,
7255 : 807, 1979, 808, 327, 328, 329, 330, 1980, 331, 0,
7256 : 1981, 0, 334, 1982, 335, 336, 337, 338, 339, 809,
7257 : 340, 341, 342, 343, 1983, 344, 345, 346, 347, 348,
7258 : 349, 1984, 350, 810, 0, 352, 353, 354, 355, 1041,
7259 : 1042, 1985, 1043, 1986, 359, 811, 812, 360, 813, 361,
7260 : 362, 363, 364, 365, 1987, 1988, 366, 0, 814, 368,
7261 : 815, 1989, 369, 370, 371, 1990, 1991, 372, 373, 374,
7262 : 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
7263 : 385, 386, 387, 1044, 816, 1045, 390, 391, 392, 4125,
7264 : 1992, 394, 395, 817, 396, 1993, 0, 398, 1046, 400,
7265 : 401, 402, 1994, 403, 404, 1995, 1996, 3695, 406, 407,
7266 : 1997, 1998, 408, 0, 818, 410, 819, 0, 412, 413,
7267 : 414, 415, 416, 417, 418, 419, 420, 1999, 421, 422,
7268 : 0, 424, 0, 426, 427, 428, 2000, 429, 430, 431,
7269 : 432, 433, 434, 435, 436, 437, 1047, 439, 440, 441,
7270 : 442, 2001, 443, 444, 445, 446, 447, 448, 449, 450,
7271 : 451, 452, 453, 454, 2002, 455, 456, 820, 457, 458,
7272 : 459, 0, 461, 462, 463, 464, 465, 466, 467, 468,
7273 : 469, 2003, 470, 471, 472, 473, 474, 2004, 475, 476,
7274 : 2088, 478, 479, 821, 480, 481, 1049, 483, 2005, 484,
7275 : 485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
7276 : 495, 0, 2006, 497, 498, 2007, 499, 822, 500, 501,
7277 : 502, 503, 504, 2008, 1050, 1051, 2009, 2010, 507, 508,
7278 : 0, 510, 0, 2011, 512, 513, 514, 515, 516, 517,
7279 : 518, 2012, 2013, 519, 520, 521, 522, 523, 2014, 2015,
7280 : 524, 525, 526, 527, 528, 0, 1052, 2016, 531, 823,
7281 : 532, 533, 534, 535, 2017, 2018, 536, 2019, 2020, 537,
7282 : 538, 539, 540, 541, 542, 0, 0, 0, 0, 0,
7283 : 0, 0, 0, 0, 0, 0, 554, 555, 556, 0,
7284 : 223, 0, 865, 866, 867, 859, 3696, 3697, 870, 871,
7285 : 872, 873, 860, 861, 862, 224, 225, 226, 227, 228,
7286 : 229, 230, 231, 0, 233, 234, 235, 0, 0, 0,
7287 : 0, 0, 0, 0, 236, 237, 0, 238, 239, 240,
7288 : 0, 241, 242, 243, 244, 245, 0, 246, 247, 0,
7289 : 248, 249, 250, 251, 252, 0, 0, 253, 254, 255,
7290 : 256, 257, 0, 258, 863, 260, 261, 262, 0, 0,
7291 : 0, 263, 264, 265, 266, 267, 0, 268, 269, 270,
7292 : 0, 271, 272, 273, 274, 275, 276, 0, 0, 277,
7293 : 278, 279, 0, 0, 0, 0, 0, 0, 0, 280,
7294 : 281, 282, 283, 284, 285, 286, 287, 288, 0, 289,
7295 : 0, 290, 291, 292, 293, 294, 295, 0, 296, 297,
7296 : 298, 299, 0, 0, 300, 301, 302, 303, 304, 0,
7297 : 305, 306, 307, 0, 308, 309, 310, 0, 311, 312,
7298 : 313, 314, 315, 316, 317, 318, 319, 0, 864, 0,
7299 : 321, 322, 323, 324, 0, 325, 0, 326, 0, 0,
7300 : 0, 327, 328, 329, 330, 0, 331, 332, 0, 333,
7301 : 334, 0, 335, 336, 337, 338, 339, 0, 340, 341,
7302 : 342, 343, 0, 344, 345, 346, 347, 348, 349, 0,
7303 : 350, 0, 351, 352, 353, 354, 355, 356, 357, 0,
7304 : 358, 0, 359, 0, 0, 360, 0, 361, 362, 363,
7305 : 364, 365, 0, 0, 366, 367, 0, 368, 0, 0,
7306 : 369, 370, 371, 0, 0, 372, 373, 374, 375, 376,
7307 : 377, 378, 379, 380, 381, 382, 383, 384, 385, 386,
7308 : 387, 388, 0, 389, 390, 391, 392, 393, 0, 394,
7309 : 395, 0, 396, 0, 397, 398, 399, 400, 401, 402,
7310 : 0, 403, 404, 0, 0, 405, 406, 407, 0, 0,
7311 : 408, 409, 0, 410, 0, 411, 412, 413, 414, 415,
7312 : 416, 417, 418, 419, 420, 0, 421, 422, 423, 424,
7313 : 425, 426, 427, 428, 0, 429, 430, 431, 432, 433,
7314 : 434, 435, 436, 437, 438, 439, 440, 441, 442, 0,
7315 : 443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
7316 : 453, 454, 0, 455, 456, 0, 457, 458, 459, 460,
7317 : 461, 462, 463, 464, 465, 466, 467, 468, 469, 0,
7318 : 470, 471, 472, 473, 474, 0, 475, 476, 477, 478,
7319 : 479, 0, 480, 481, 482, 483, 0, 484, 485, 486,
7320 : 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
7321 : 0, 497, 498, 0, 499, 0, 500, 501, 502, 503,
7322 : 504, 0, 505, 506, 0, 0, 507, 508, 509, 510,
7323 : 511, 0, 512, 513, 514, 515, 516, 517, 518, 0,
7324 : 0, 519, 520, 521, 522, 523, 0, 0, 524, 525,
7325 : 526, 527, 528, 529, 530, 0, 531, 0, 532, 533,
7326 : 534, 535, 0, 0, 536, 0, 0, 537, 538, 539,
7327 : 540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
7328 : 550, 551, 552, 553, 554, 555, 556, 0, 223, 0,
7329 : 865, 866, 867, 859, 868, 869, 870, 871, 872, 873,
7330 : 860, 861, 862, 224, 225, 226, 227, 228, 229, 230,
7331 : 231, 0, 233, 234, 235, 0, 0, 0, 0, 0,
7332 : 0, 0, 236, 237, 0, 238, 239, 240, 0, 241,
7333 : 242, 243, 244, 245, 0, 246, 247, 0, 248, 249,
7334 : 250, 251, 252, 0, 0, 253, 254, 255, 256, 257,
7335 : 0, 258, 981, 260, 261, 262, 0, 0, 0, 263,
7336 : 264, 265, 266, 267, 0, 268, 269, 270, 0, 271,
7337 : 272, 273, 274, 275, 276, 0, 0, 277, 278, 279,
7338 : 0, 0, 0, 0, 0, 0, 0, 280, 281, 282,
7339 : 283, 284, 285, 286, 287, 288, 0, 289, 0, 290,
7340 : 291, 292, 293, 294, 295, 0, 296, 297, 298, 299,
7341 : 0, 0, 300, 301, 302, 303, 304, 0, 305, 306,
7342 : 307, 0, 308, 309, 310, 0, 311, 312, 313, 314,
7343 : 315, 316, 317, 318, 319, 0, 982, 0, 321, 322,
7344 : 323, 324, 0, 325, 0, 326, 0, 0, 0, 327,
7345 : 328, 329, 330, 0, 331, 332, 0, 333, 334, 0,
7346 : 335, 336, 337, 338, 339, 0, 340, 341, 342, 343,
7347 : 0, 344, 345, 346, 347, 348, 349, 0, 350, 0,
7348 : 351, 352, 353, 354, 355, 356, 357, 0, 358, 0,
7349 : 359, 0, 0, 360, 0, 361, 362, 363, 364, 365,
7350 : 0, 0, 366, 367, 0, 368, 0, 0, 369, 370,
7351 : 371, 0, 0, 372, 373, 374, 375, 376, 377, 378,
7352 : 379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
7353 : 0, 389, 390, 391, 392, 393, 0, 394, 395, 0,
7354 : 396, 0, 397, 398, 399, 400, 401, 402, 0, 403,
7355 : 404, 0, 0, 405, 406, 407, 0, 0, 408, 409,
7356 : 0, 410, 0, 411, 412, 413, 414, 415, 416, 417,
7357 : 418, 419, 420, 0, 421, 422, 423, 424, 425, 426,
7358 : 427, 428, 0, 429, 430, 431, 432, 433, 434, 435,
7359 : 436, 437, 438, 439, 440, 441, 442, 0, 443, 444,
7360 : 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
7361 : 0, 455, 456, 0, 457, 458, 459, 460, 461, 462,
7362 : 463, 464, 465, 466, 467, 468, 469, 0, 470, 471,
7363 : 472, 473, 474, 0, 475, 476, 477, 478, 479, 0,
7364 : 480, 481, 482, 483, 0, 484, 485, 486, 487, 488,
7365 : 489, 490, 491, 492, 493, 494, 495, 496, 0, 497,
7366 : 498, 0, 499, 0, 500, 501, 502, 503, 504, 0,
7367 : 505, 506, 0, 0, 507, 508, 509, 510, 511, 0,
7368 : 512, 513, 514, 515, 516, 517, 518, 0, 0, 519,
7369 : 520, 521, 522, 523, 0, 0, 524, 525, 526, 527,
7370 : 528, 529, 530, 0, 531, 0, 532, 533, 534, 535,
7371 : 0, 0, 536, 0, 0, 537, 538, 539, 540, 541,
7372 : 542, 543, 544, 545, 546, 547, 548, 549, 550, 551,
7373 : 552, 553, 554, 555, 556, 0, 223, 0, 865, 866,
7374 : 867, 859, 868, 869, 870, 871, 872, 873, 860, 861,
7375 : 862, 224, 225, 226, 227, 228, 229, 230, 231, 0,
7376 : 233, 234, 235, 0, 0, 0, 0, 0, 0, 0,
7377 : 236, 237, 0, 238, 239, 240, 0, 241, 242, 243,
7378 : 244, 245, 0, 246, 247, 0, 248, 249, 250, 251,
7379 : 252, 0, 0, 253, 254, 255, 256, 257, 0, 258,
7380 : 1080, 260, 261, 262, 0, 0, 0, 263, 264, 265,
7381 : 266, 267, 0, 268, 269, 270, 0, 271, 272, 273,
7382 : 274, 275, 276, 0, 0, 277, 278, 279, 0, 0,
7383 : 0, 0, 0, 0, 0, 280, 281, 282, 283, 284,
7384 : 285, 286, 287, 288, 0, 289, 0, 290, 291, 292,
7385 : 293, 294, 295, 0, 296, 297, 298, 299, 0, 0,
7386 : 300, 301, 302, 303, 304, 0, 305, 306, 307, 0,
7387 : 308, 309, 310, 0, 311, 312, 313, 314, 315, 316,
7388 : 317, 318, 319, 0, 1081, 0, 321, 322, 323, 324,
7389 : 0, 325, 0, 326, 0, 0, 0, 327, 328, 329,
7390 : 330, 0, 331, 332, 0, 333, 334, 0, 335, 336,
7391 : 337, 338, 1082, 0, 340, 341, 342, 343, 0, 344,
7392 : 345, 346, 347, 348, 349, 0, 350, 0, 351, 352,
7393 : 353, 354, 355, 356, 357, 0, 358, 0, 359, 0,
7394 : 0, 360, 0, 361, 362, 363, 364, 365, 0, 0,
7395 : 366, 367, 0, 368, 0, 0, 369, 370, 371, 0,
7396 : 0, 372, 373, 374, 375, 376, 377, 378, 379, 380,
7397 : 381, 382, 383, 384, 385, 386, 387, 388, 0, 389,
7398 : 390, 391, 392, 393, 0, 394, 395, 0, 396, 0,
7399 : 397, 398, 399, 400, 401, 402, 0, 403, 404, 0,
7400 : 0, 405, 406, 407, 0, 0, 408, 409, 0, 410,
7401 : 0, 411, 412, 413, 414, 415, 416, 417, 418, 419,
7402 : 420, 0, 421, 422, 423, 424, 425, 426, 427, 428,
7403 : 0, 429, 430, 431, 432, 433, 434, 435, 436, 437,
7404 : 438, 439, 440, 441, 442, 0, 443, 444, 445, 446,
7405 : 447, 448, 449, 450, 451, 452, 453, 454, 0, 455,
7406 : 456, 0, 457, 458, 459, 460, 461, 462, 463, 464,
7407 : 465, 466, 467, 468, 469, 0, 470, 471, 472, 473,
7408 : 474, 0, 475, 476, 477, 478, 479, 0, 480, 481,
7409 : 482, 483, 0, 484, 485, 486, 487, 488, 489, 490,
7410 : 491, 492, 493, 494, 495, 496, 0, 497, 498, 0,
7411 : 499, 0, 500, 501, 502, 503, 504, 0, 505, 506,
7412 : 0, 0, 507, 508, 509, 510, 511, 0, 512, 513,
7413 : 514, 515, 516, 517, 518, 0, 0, 519, 520, 521,
7414 : 522, 523, 0, 0, 524, 525, 526, 527, 528, 529,
7415 : 530, 0, 531, 0, 532, 533, 534, 535, 0, 0,
7416 : 536, 0, 0, 537, 538, 539, 540, 541, 542, 543,
7417 : 544, 545, 546, 547, 548, 549, 550, 551, 552, 553,
7418 : 554, 555, 556, 0, 223, 0, 865, 866, 867, 859,
7419 : 868, 869, 870, 871, 872, 873, 860, 861, 862, 224,
7420 : 225, 226, 227, 228, 229, 230, 231, 0, 233, 234,
7421 : 235, 0, 0, 0, 0, 0, 0, 0, 236, 237,
7422 : 0, 238, 239, 240, 0, 241, 242, 243, 244, 245,
7423 : 0, 246, 247, 0, 248, 249, 250, 251, 252, 0,
7424 : 0, 253, 254, 255, 256, 257, 0, 258, 1576, 260,
7425 : 261, 262, 0, 0, 0, 263, 264, 265, 266, 267,
7426 : 0, 268, 269, 270, 0, 271, 272, 273, 274, 275,
7427 : 276, 0, 0, 277, 278, 279, 0, 0, 0, 0,
7428 : 0, 0, 0, 280, 281, 282, 283, 284, 285, 286,
7429 : 287, 288, 0, 289, 0, 290, 291, 292, 293, 294,
7430 : 295, 0, 296, 297, 298, 299, 0, 0, 300, 301,
7431 : 302, 303, 304, 0, 305, 306, 307, 0, 308, 309,
7432 : 310, 0, 311, 312, 313, 314, 315, 316, 317, 318,
7433 : 319, 0, 1577, 0, 321, 322, 323, 324, 0, 325,
7434 : 0, 326, 0, 0, 0, 327, 328, 329, 330, 0,
7435 : 331, 332, 0, 333, 334, 0, 335, 336, 337, 338,
7436 : 339, 0, 340, 341, 342, 343, 0, 344, 345, 346,
7437 : 347, 348, 349, 0, 350, 0, 351, 352, 353, 354,
7438 : 355, 356, 357, 0, 358, 0, 359, 0, 0, 360,
7439 : 0, 361, 362, 363, 364, 365, 0, 0, 366, 367,
7440 : 0, 368, 0, 0, 369, 370, 371, 0, 0, 372,
7441 : 373, 374, 375, 376, 377, 378, 379, 380, 381, 382,
7442 : 383, 384, 385, 386, 387, 388, 0, 389, 390, 391,
7443 : 392, 393, 0, 394, 395, 0, 396, 0, 397, 398,
7444 : 399, 400, 401, 402, 0, 403, 404, 0, 0, 405,
7445 : 406, 407, 0, 0, 408, 409, 0, 410, 0, 411,
7446 : 412, 413, 414, 415, 416, 417, 418, 419, 420, 0,
7447 : 421, 422, 423, 424, 425, 426, 427, 428, 0, 429,
7448 : 430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
7449 : 440, 441, 442, 0, 443, 444, 445, 446, 447, 448,
7450 : 449, 450, 451, 452, 453, 454, 0, 455, 456, 0,
7451 : 457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
7452 : 467, 468, 469, 0, 470, 471, 472, 473, 474, 0,
7453 : 475, 476, 477, 478, 479, 0, 480, 481, 482, 483,
7454 : 0, 484, 485, 486, 487, 488, 489, 490, 491, 492,
7455 : 493, 494, 495, 496, 0, 497, 498, 0, 499, 0,
7456 : 500, 501, 502, 503, 504, 0, 505, 506, 0, 0,
7457 : 507, 508, 509, 510, 511, 0, 512, 513, 514, 515,
7458 : 516, 517, 518, 0, 0, 519, 520, 521, 522, 523,
7459 : 0, 0, 524, 525, 526, 527, 528, 529, 530, 0,
7460 : 531, 0, 532, 533, 534, 535, 0, 0, 536, 0,
7461 : 0, 537, 538, 539, 540, 541, 542, 543, 544, 545,
7462 : 546, 547, 548, 549, 550, 551, 552, 553, 554, 555,
7463 : 556, 0, 223, 0, 865, 866, 867, 859, 868, 869,
7464 : 870, 871, 872, 873, 860, 861, 862, 224, 225, 226,
7465 : 227, 228, 229, 230, 231, 0, 233, 234, 235, 0,
7466 : 0, 0, 0, 0, 0, 0, 236, 237, 0, 238,
7467 : 239, 240, 0, 241, 242, 243, 244, 245, 0, 246,
7468 : 247, 0, 248, 249, 250, 251, 252, 0, 0, 253,
7469 : 254, 255, 256, 257, 0, 258, 259, 260, 261, 262,
7470 : 0, 0, 0, 263, 264, 265, 266, 267, 0, 268,
7471 : 269, 270, 0, 271, 272, 273, 274, 275, 276, 0,
7472 : 0, 277, 278, 279, 0, 0, 0, 0, 0, 0,
7473 : 0, 280, 281, 282, 283, 284, 285, 286, 287, 288,
7474 : 0, 289, 0, 290, 291, 292, 293, 294, 295, 0,
7475 : 296, 297, 298, 299, 0, 0, 300, 301, 302, 303,
7476 : 304, 0, 305, 306, 307, 0, 308, 309, 310, 0,
7477 : 311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
7478 : 320, 0, 321, 322, 323, 324, 0, 325, 0, 326,
7479 : 0, 0, 0, 327, 328, 329, 330, 0, 331, 332,
7480 : 0, 333, 334, 0, 335, 336, 337, 338, 339, 0,
7481 : 340, 341, 342, 343, 0, 344, 345, 346, 347, 348,
7482 : 349, 0, 350, 0, 351, 352, 353, 354, 355, 356,
7483 : 357, 0, 358, 0, 359, 0, 0, 360, 0, 361,
7484 : 362, 363, 364, 365, 0, 0, 366, 367, 0, 368,
7485 : 0, 0, 369, 370, 371, 0, 0, 372, 373, 374,
7486 : 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
7487 : 385, 386, 387, 388, 0, 389, 390, 391, 392, 393,
7488 : 0, 394, 395, 0, 396, 0, 397, 398, 399, 400,
7489 : 401, 402, 0, 403, 404, 0, 0, 405, 406, 407,
7490 : 0, 0, 408, 409, 0, 410, 0, 411, 412, 413,
7491 : 414, 415, 416, 417, 418, 419, 420, 0, 421, 422,
7492 : 423, 424, 425, 426, 427, 428, 0, 429, 430, 431,
7493 : 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
7494 : 442, 0, 443, 444, 445, 446, 447, 448, 449, 450,
7495 : 451, 452, 453, 454, 0, 455, 456, 0, 457, 458,
7496 : 459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
7497 : 469, 0, 470, 471, 472, 473, 474, 0, 475, 476,
7498 : 477, 478, 479, 0, 480, 481, 482, 483, 0, 484,
7499 : 485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
7500 : 495, 496, 0, 497, 498, 0, 499, 0, 500, 501,
7501 : 502, 503, 504, 0, 505, 506, 0, 0, 507, 508,
7502 : 509, 510, 511, 0, 512, 513, 514, 515, 516, 517,
7503 : 518, 0, 0, 519, 520, 521, 522, 523, 0, 0,
7504 : 524, 525, 526, 527, 528, 529, 530, 0, 531, 0,
7505 : 532, 533, 534, 535, 0, 0, 536, 0, 0, 537,
7506 : 538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
7507 : 548, 549, 550, 551, 552, 553, 554, 555, 556, 0,
7508 : 223, 0, 865, 866, 867, 859, 868, 869, 870, 871,
7509 : 872, 873, 860, 861, 862, 224, 225, 226, 227, 228,
7510 : 229, 230, 231, 0, 233, 234, 235, 0, 0, 0,
7511 : 0, 0, 0, 0, 236, 237, 0, 238, 239, 240,
7512 : 0, 241, 242, 243, 244, 245, 0, 246, 247, 0,
7513 : 248, 249, 250, 251, 252, 0, 0, 253, 254, 255,
7514 : 256, 257, 0, 258, 2881, 260, 261, 262, 0, 0,
7515 : 0, 263, 264, 265, 266, 267, 0, 268, 269, 270,
7516 : 0, 271, 272, 273, 274, 275, 276, 0, 0, 277,
7517 : 278, 279, 0, 0, 0, 0, 0, 0, 0, 280,
7518 : 281, 282, 283, 284, 285, 286, 287, 288, 0, 289,
7519 : 0, 290, 291, 292, 293, 294, 295, 0, 296, 297,
7520 : 298, 299, 0, 0, 300, 301, 302, 303, 304, 0,
7521 : 305, 306, 307, 0, 308, 309, 310, 0, 311, 312,
7522 : 313, 314, 315, 316, 317, 318, 319, 0, 2882, 0,
7523 : 321, 322, 323, 324, 0, 325, 0, 326, 0, 0,
7524 : 0, 327, 328, 329, 330, 0, 331, 332, 0, 333,
7525 : 334, 0, 335, 336, 337, 338, 339, 0, 340, 341,
7526 : 342, 343, 0, 344, 345, 346, 347, 348, 349, 0,
7527 : 350, 0, 351, 352, 353, 354, 355, 356, 357, 0,
7528 : 358, 0, 359, 0, 0, 360, 0, 361, 362, 363,
7529 : 364, 365, 0, 0, 366, 367, 0, 368, 0, 0,
7530 : 369, 370, 371, 0, 0, 372, 373, 374, 375, 376,
7531 : 377, 378, 379, 380, 381, 382, 383, 384, 385, 386,
7532 : 387, 388, 0, 389, 390, 391, 392, 393, 0, 394,
7533 : 395, 0, 396, 0, 397, 398, 399, 400, 401, 402,
7534 : 0, 403, 404, 0, 0, 405, 406, 407, 0, 0,
7535 : 408, 409, 0, 410, 0, 411, 412, 413, 414, 415,
7536 : 416, 417, 418, 419, 420, 0, 421, 422, 423, 424,
7537 : 425, 426, 427, 428, 0, 429, 430, 431, 432, 433,
7538 : 434, 435, 436, 437, 438, 439, 440, 441, 442, 0,
7539 : 443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
7540 : 453, 454, 0, 455, 456, 0, 457, 458, 459, 460,
7541 : 461, 462, 463, 464, 465, 466, 467, 468, 469, 0,
7542 : 470, 471, 472, 473, 474, 0, 475, 476, 477, 478,
7543 : 479, 0, 480, 481, 482, 483, 0, 484, 485, 486,
7544 : 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
7545 : 0, 497, 498, 0, 499, 0, 500, 501, 502, 503,
7546 : 504, 0, 505, 506, 0, 0, 507, 508, 509, 510,
7547 : 511, 0, 512, 513, 514, 515, 516, 517, 518, 0,
7548 : 0, 519, 520, 521, 522, 523, 0, 0, 524, 525,
7549 : 526, 527, 528, 529, 530, 0, 531, 0, 532, 533,
7550 : 534, 535, 0, 0, 536, 0, 0, 537, 538, 539,
7551 : 540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
7552 : 550, 551, 552, 553, 554, 555, 556, 0, 223, 0,
7553 : 865, 866, 867, 859, 868, 869, 870, 871, 872, 873,
7554 : 860, 861, 862, 224, 225, 226, 227, 228, 229, 230,
7555 : 231, 0, 233, 234, 235, 0, 0, 0, 0, 0,
7556 : 0, 0, 236, 237, 0, 238, 239, 240, 0, 241,
7557 : 242, 243, 244, 245, 0, 246, 247, 0, 248, 249,
7558 : 250, 251, 252, 0, 0, 253, 254, 255, 256, 257,
7559 : 0, 258, 259, 260, 261, 262, 0, 0, 0, 263,
7560 : 264, 265, 266, 267, 0, 268, 269, 270, 0, 271,
7561 : 272, 273, 274, 275, 276, 0, 0, 277, 278, 279,
7562 : 0, 0, 0, 0, 0, 0, 0, 280, 281, 282,
7563 : 283, 284, 285, 286, 287, 288, 0, 289, 0, 290,
7564 : 291, 292, 293, 294, 295, 0, 296, 297, 298, 299,
7565 : 0, 0, 300, 301, 302, 303, 304, 0, 305, 306,
7566 : 307, 0, 308, 309, 310, 0, 311, 312, 313, 314,
7567 : 315, 316, 317, 318, 319, 0, 320, 0, 321, 322,
7568 : 323, 324, 0, 325, 0, 326, 0, 0, 0, 327,
7569 : 328, 329, 330, 0, 331, 332, 0, 333, 334, 0,
7570 : 335, 336, 337, 338, 339, 0, 340, 341, 342, 343,
7571 : 0, 344, 345, 346, 347, 348, 349, 0, 350, 0,
7572 : 351, 352, 353, 354, 355, 356, 357, 0, 358, 0,
7573 : 359, 0, 0, 360, 0, 361, 362, 363, 364, 365,
7574 : 0, 0, 366, 367, 0, 368, 0, 0, 369, 370,
7575 : 371, 0, 0, 372, 373, 374, 375, 376, 377, 378,
7576 : 379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
7577 : 0, 389, 390, 391, 392, 393, 0, 394, 395, 0,
7578 : 396, 0, 397, 398, 399, 400, 401, 402, 0, 403,
7579 : 404, 0, 0, 4681, 406, 407, 0, 0, 408, 409,
7580 : 0, 410, 0, 411, 412, 413, 414, 415, 416, 417,
7581 : 418, 419, 420, 0, 421, 422, 423, 424, 425, 426,
7582 : 427, 428, 0, 429, 430, 431, 432, 433, 434, 435,
7583 : 436, 437, 438, 439, 440, 441, 442, 0, 443, 444,
7584 : 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
7585 : 0, 455, 456, 0, 457, 458, 459, 460, 461, 462,
7586 : 463, 464, 465, 466, 467, 468, 469, 0, 470, 471,
7587 : 472, 473, 474, 0, 475, 476, 477, 478, 479, 0,
7588 : 480, 481, 482, 483, 0, 484, 485, 486, 487, 488,
7589 : 489, 490, 491, 492, 493, 494, 495, 496, 0, 497,
7590 : 498, 0, 499, 0, 500, 501, 502, 503, 504, 0,
7591 : 505, 506, 0, 0, 507, 508, 509, 510, 511, 0,
7592 : 512, 513, 514, 515, 516, 517, 518, 0, 0, 519,
7593 : 520, 521, 522, 523, 0, 0, 524, 525, 526, 527,
7594 : 528, 529, 530, 0, 531, 0, 532, 533, 534, 535,
7595 : 0, 0, 536, 0, 0, 537, 538, 539, 540, 541,
7596 : 542, 543, 544, 545, 546, 547, 548, 549, 550, 551,
7597 : 552, 553, 554, 555, 556, 1943, 0, 0, 865, 866,
7598 : 867, 0, 868, 869, 870, 871, 872, 873, 0, 0,
7599 : 224, 225, 226, 227, 228, 229, 230, 231, 1944, 233,
7600 : 234, 235, 1945, 1946, 1947, 1948, 1949, 1950, 1951, 236,
7601 : 237, 1952, 238, 239, 240, 801, 241, 242, 243, 244,
7602 : 245, 802, 246, 247, 1953, 248, 249, 250, 251, 252,
7603 : 1954, 1955, 253, 254, 255, 256, 257, 1956, 258, 259,
7604 : 260, 261, 262, 1957, 803, 1958, 263, 264, 265, 266,
7605 : 267, 804, 268, 269, 270, 1959, 271, 272, 273, 274,
7606 : 275, 276, 1960, 805, 277, 278, 279, 1961, 1962, 1963,
7607 : 806, 1964, 1965, 1966, 280, 281, 282, 283, 284, 285,
7608 : 286, 287, 288, 1967, 289, 1968, 290, 291, 292, 293,
7609 : 294, 295, 1969, 296, 297, 298, 299, 1970, 1971, 300,
7610 : 301, 302, 303, 304, 1972, 305, 306, 307, 1973, 308,
7611 : 309, 310, 1974, 311, 312, 313, 314, 315, 316, 317,
7612 : 318, 319, 1975, 320, 1976, 321, 322, 323, 324, 1977,
7613 : 325, 1978, 326, 807, 1979, 808, 327, 328, 329, 330,
7614 : 1980, 331, 332, 1981, 333, 334, 1982, 335, 336, 337,
7615 : 338, 339, 809, 340, 341, 342, 343, 1983, 344, 345,
7616 : 346, 347, 348, 349, 1984, 350, 810, 351, 352, 353,
7617 : 354, 355, 356, 357, 1985, 358, 1986, 359, 811, 812,
7618 : 360, 813, 361, 362, 363, 364, 365, 1987, 1988, 366,
7619 : 367, 814, 368, 815, 1989, 369, 370, 371, 1990, 1991,
7620 : 372, 373, 374, 375, 376, 377, 378, 379, 380, 381,
7621 : 382, 383, 384, 385, 386, 387, 388, 816, 389, 390,
7622 : 391, 392, 393, 1992, 394, 395, 817, 396, 1993, 397,
7623 : 398, 399, 400, 401, 402, 1994, 403, 404, 1995, 1996,
7624 : 405, 406, 407, 1997, 1998, 408, 409, 818, 410, 819,
7625 : 411, 412, 413, 414, 415, 416, 417, 418, 419, 420,
7626 : 1999, 421, 422, 423, 424, 425, 426, 427, 428, 2000,
7627 : 429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
7628 : 439, 440, 441, 442, 2001, 443, 444, 445, 446, 447,
7629 : 448, 449, 450, 451, 452, 453, 454, 2002, 455, 456,
7630 : 820, 457, 458, 459, 460, 461, 462, 463, 464, 465,
7631 : 466, 467, 468, 469, 2003, 470, 471, 472, 473, 474,
7632 : 2004, 475, 476, 477, 478, 479, 821, 480, 481, 482,
7633 : 483, 2005, 484, 485, 486, 487, 488, 489, 490, 491,
7634 : 492, 493, 494, 495, 496, 2006, 497, 498, 2007, 499,
7635 : 822, 500, 501, 502, 503, 504, 2008, 505, 506, 2009,
7636 : 2010, 507, 508, 509, 510, 511, 2011, 512, 513, 514,
7637 : 515, 516, 517, 518, 2012, 2013, 519, 520, 521, 522,
7638 : 523, 2014, 2015, 524, 525, 526, 527, 528, 529, 530,
7639 : 2016, 531, 823, 532, 533, 534, 535, 2017, 2018, 536,
7640 : 2019, 2020, 537, 538, 539, 540, 541, 542, 543, 544,
7641 : 545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
7642 : 555, 556, 223, 0, 0, 0, 0, 0, 0, 0,
7643 : 0, 2021, 0, 0, 0, 0, 0, 224, 225, 226,
7644 : 227, 228, 229, 230, 231, 0, 233, 234, 235, 0,
7645 : 0, 0, 0, 0, 0, 0, 236, 237, 0, 238,
7646 : 239, 240, 0, 241, 242, 243, 244, 245, 0, 246,
7647 : 247, 0, 248, 249, 250, 251, 252, 0, 0, 253,
7648 : 254, 255, 256, 257, 0, 258, 259, 260, 261, 262,
7649 : 0, 0, 0, 263, 264, 265, 266, 267, 0, 268,
7650 : 269, 270, 0, 271, 272, 273, 274, 275, 276, 0,
7651 : 0, 277, 278, 279, 0, 0, 0, 0, 0, 0,
7652 : 0, 280, 281, 282, 283, 284, 285, 286, 287, 288,
7653 : 0, 289, 0, 290, 291, 292, 293, 294, 295, 0,
7654 : 296, 297, 298, 299, 0, 0, 300, 301, 302, 303,
7655 : 304, 0, 305, 306, 307, 0, 308, 309, 310, 0,
7656 : 311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
7657 : 320, 0, 321, 322, 323, 324, 0, 325, 0, 326,
7658 : 0, 0, 0, 327, 328, 329, 330, 0, 331, 332,
7659 : 0, 333, 334, 0, 335, 336, 337, 338, 339, 0,
7660 : 340, 341, 342, 343, 0, 344, 345, 346, 347, 348,
7661 : 349, 0, 350, 0, 351, 352, 353, 354, 355, 356,
7662 : 357, 0, 358, 0, 359, 0, 0, 360, 0, 361,
7663 : 362, 363, 364, 365, 0, 0, 366, 367, 0, 368,
7664 : 0, 0, 369, 370, 371, 0, 0, 372, 373, 374,
7665 : 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
7666 : 385, 386, 387, 388, 0, 389, 390, 391, 392, 393,
7667 : 0, 394, 395, 0, 396, 0, 397, 398, 399, 400,
7668 : 401, 402, 0, 403, 404, 0, 0, 405, 406, 407,
7669 : 0, 0, 408, 409, 0, 410, 0, 411, 412, 413,
7670 : 414, 415, 416, 417, 418, 419, 420, 0, 421, 422,
7671 : 423, 424, 425, 426, 427, 428, 0, 429, 430, 431,
7672 : 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
7673 : 442, 0, 443, 444, 445, 446, 447, 448, 449, 450,
7674 : 451, 452, 453, 454, 0, 455, 456, 0, 457, 458,
7675 : 459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
7676 : 469, 0, 470, 471, 472, 473, 474, 0, 475, 476,
7677 : 477, 478, 479, 0, 480, 481, 482, 483, 0, 484,
7678 : 485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
7679 : 495, 496, 0, 497, 498, 0, 499, 0, 500, 501,
7680 : 502, 503, 504, 0, 505, 506, 0, 0, 507, 508,
7681 : 509, 510, 511, 0, 512, 513, 514, 515, 516, 517,
7682 : 518, 0, 0, 519, 520, 521, 522, 523, 0, 0,
7683 : 524, 525, 526, 527, 528, 529, 530, 0, 531, 0,
7684 : 532, 533, 534, 535, 0, 0, 536, 0, 0, 537,
7685 : 538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
7686 : 548, 549, 550, 551, 552, 553, 554, 555, 556, 223,
7687 : 0, 0, 0, 0, 0, 0, 0, 0, 770, 0,
7688 : 0, 0, 0, 0, 224, 225, 226, 227, 228, 229,
7689 : 230, 231, 0, 233, 234, 235, 0, 0, 0, 0,
7690 : 0, 0, 0, 236, 237, 0, 238, 239, 240, 0,
7691 : 241, 242, 243, 244, 245, 0, 246, 247, 0, 248,
7692 : 249, 250, 251, 252, 0, 0, 253, 254, 255, 256,
7693 : 257, 0, 258, 259, 260, 261, 262, 0, 0, 0,
7694 : 263, 264, 265, 266, 267, 0, 268, 269, 270, 0,
7695 : 271, 272, 273, 274, 275, 276, 0, 0, 277, 278,
7696 : 279, 0, 0, 0, 0, 0, 0, 0, 280, 281,
7697 : 282, 283, 284, 285, 286, 287, 288, 0, 289, 0,
7698 : 290, 291, 292, 293, 294, 295, 0, 296, 297, 298,
7699 : 299, 0, 0, 300, 301, 302, 303, 304, 0, 305,
7700 : 306, 307, 0, 308, 309, 310, 0, 311, 312, 313,
7701 : 314, 315, 316, 317, 318, 319, 0, 320, 0, 321,
7702 : 322, 323, 324, 0, 325, 0, 326, 0, 0, 0,
7703 : 327, 328, 329, 330, 0, 331, 332, 0, 333, 334,
7704 : 0, 335, 336, 337, 338, 339, 0, 340, 341, 342,
7705 : 343, 0, 344, 345, 346, 347, 348, 349, 0, 350,
7706 : 0, 351, 352, 353, 354, 355, 356, 357, 0, 358,
7707 : 0, 359, 0, 0, 360, 0, 361, 362, 363, 364,
7708 : 365, 0, 0, 366, 367, 0, 368, 0, 0, 369,
7709 : 370, 371, 0, 0, 372, 373, 374, 375, 376, 377,
7710 : 378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
7711 : 388, 0, 389, 390, 391, 392, 393, 0, 394, 395,
7712 : 0, 396, 0, 397, 398, 399, 400, 401, 402, 0,
7713 : 403, 404, 0, 0, 405, 406, 407, 0, 0, 408,
7714 : 409, 0, 410, 0, 411, 412, 413, 414, 415, 416,
7715 : 417, 418, 419, 420, 0, 421, 422, 423, 424, 425,
7716 : 426, 427, 428, 0, 429, 430, 431, 432, 433, 434,
7717 : 435, 436, 437, 438, 439, 440, 441, 442, 0, 443,
7718 : 444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
7719 : 454, 0, 455, 456, 0, 457, 458, 459, 460, 461,
7720 : 462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
7721 : 471, 472, 473, 474, 0, 475, 476, 477, 478, 479,
7722 : 0, 480, 481, 482, 483, 0, 484, 485, 486, 487,
7723 : 488, 489, 490, 491, 492, 493, 494, 495, 496, 0,
7724 : 497, 498, 0, 499, 0, 500, 501, 502, 503, 504,
7725 : 0, 505, 506, 0, 0, 507, 508, 509, 510, 511,
7726 : 0, 512, 513, 514, 515, 516, 517, 518, 0, 0,
7727 : 519, 520, 521, 522, 523, 0, 0, 524, 525, 526,
7728 : 527, 528, 529, 530, 0, 531, 0, 532, 533, 534,
7729 : 535, 0, 0, 536, 0, 0, 537, 538, 539, 540,
7730 : 541, 542, 543, 544, 545, 546, 547, 548, 549, 550,
7731 : 551, 552, 553, 554, 555, 556, 1030, 0, 0, 0,
7732 : 0, 0, 0, 0, 0, 5068, 0, 0, 0, 0,
7733 : 0, 224, 225, 226, 227, 228, 229, 230, 231, 0,
7734 : 233, 234, 235, 0, 0, 0, 0, 0, 0, 0,
7735 : 236, 237, 0, 238, 239, 240, 801, 241, 242, 243,
7736 : 0, 1031, 802, 1032, 1033, 0, 248, 249, 250, 251,
7737 : 252, 0, 0, 253, 254, 1034, 1035, 257, 0, 258,
7738 : 259, 260, 261, 0, 0, 803, 0, 263, 264, 265,
7739 : 266, 267, 804, 268, 269, 270, 0, 271, 272, 273,
7740 : 274, 275, 276, 0, 805, 277, 278, 279, 0, 0,
7741 : 0, 806, 0, 0, 0, 280, 281, 282, 283, 284,
7742 : 285, 1036, 1037, 288, 0, 289, 0, 290, 291, 292,
7743 : 293, 294, 295, 0, 296, 297, 298, 299, 0, 0,
7744 : 300, 301, 1038, 303, 304, 0, 305, 306, 307, 0,
7745 : 308, 309, 310, 0, 311, 312, 313, 314, 0, 316,
7746 : 317, 318, 0, 0, 320, 0, 321, 322, 1039, 324,
7747 : 0, 325, 0, 326, 807, 0, 808, 327, 328, 329,
7748 : 330, 0, 331, 0, 0, 0, 334, 0, 335, 336,
7749 : 337, 338, 339, 809, 340, 341, 342, 343, 2084, 344,
7750 : 345, 346, 347, 348, 349, 0, 350, 810, 2085, 352,
7751 : 353, 354, 355, 1041, 1042, 0, 1043, 0, 359, 811,
7752 : 812, 360, 813, 361, 362, 363, 364, 365, 0, 0,
7753 : 366, 0, 814, 368, 815, 0, 369, 370, 371, 0,
7754 : 0, 372, 373, 374, 375, 376, 377, 378, 379, 380,
7755 : 381, 382, 383, 384, 385, 386, 387, 1044, 816, 1045,
7756 : 390, 391, 392, 0, 0, 394, 395, 817, 396, 0,
7757 : 0, 398, 1046, 400, 401, 402, 0, 403, 404, 0,
7758 : 0, 405, 406, 407, 0, 2086, 408, 2087, 818, 410,
7759 : 819, 0, 412, 413, 414, 415, 416, 417, 418, 419,
7760 : 420, 0, 421, 422, 0, 424, 0, 426, 427, 428,
7761 : 0, 429, 430, 431, 432, 433, 434, 435, 436, 437,
7762 : 1047, 439, 440, 441, 442, 0, 443, 444, 445, 446,
7763 : 447, 448, 449, 450, 451, 452, 453, 454, 0, 455,
7764 : 456, 820, 457, 458, 459, 0, 461, 462, 463, 464,
7765 : 465, 466, 467, 468, 469, 0, 470, 471, 472, 473,
7766 : 474, 0, 475, 476, 2088, 478, 479, 821, 480, 481,
7767 : 1049, 483, 0, 484, 485, 486, 487, 488, 489, 490,
7768 : 491, 492, 493, 494, 495, 0, 0, 497, 498, 0,
7769 : 499, 822, 500, 501, 502, 503, 504, 0, 1050, 1051,
7770 : 0, 0, 507, 508, 0, 510, 0, 0, 512, 513,
7771 : 514, 515, 516, 517, 518, 0, 0, 519, 520, 521,
7772 : 522, 523, 0, 0, 524, 525, 526, 527, 528, 0,
7773 : 1052, 2089, 531, 823, 532, 533, 534, 535, 0, 0,
7774 : 536, 0, 0, 537, 538, 539, 540, 541, 542, 2380,
7775 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7776 : 554, 555, 556, 0, 224, 225, 226, 227, 228, 229,
7777 : 230, 231, 2090, 233, 234, 235, 0, 0, 0, 0,
7778 : 0, 0, 0, 236, 237, 0, 238, 239, 240, 801,
7779 : 241, 242, 243, 0, 1031, 802, 1032, 1033, 0, 248,
7780 : 249, 250, 251, 252, 0, 0, 253, 254, 1034, 1035,
7781 : 257, 0, 258, 259, 260, 261, 0, 0, 803, 0,
7782 : 263, 264, 265, 266, 267, 804, 268, 269, 270, 0,
7783 : 271, 272, 273, 274, 275, 276, 0, 805, 277, 278,
7784 : 279, 0, 0, 0, 806, 0, 0, 0, 280, 281,
7785 : 282, 283, 284, 285, 1036, 1037, 288, 0, 289, 0,
7786 : 290, 291, 292, 293, 294, 295, 0, 296, 297, 298,
7787 : 299, 0, 0, 300, 301, 1038, 303, 304, 0, 305,
7788 : 306, 307, 0, 308, 309, 310, 0, 311, 312, 313,
7789 : 314, 0, 316, 317, 318, 0, 0, 320, 0, 321,
7790 : 322, 1039, 324, 0, 325, 0, 326, 807, 0, 808,
7791 : 327, 328, 329, 330, 0, 331, 0, 0, 0, 334,
7792 : 0, 335, 336, 337, 338, 339, 809, 340, 341, 342,
7793 : 343, 2084, 344, 345, 346, 347, 348, 349, 0, 350,
7794 : 810, 2085, 352, 353, 354, 355, 1041, 1042, 0, 1043,
7795 : 0, 359, 811, 812, 360, 813, 361, 362, 363, 364,
7796 : 365, 0, 0, 366, 0, 814, 368, 815, 0, 369,
7797 : 370, 371, 0, 0, 372, 373, 374, 375, 376, 377,
7798 : 378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
7799 : 1044, 816, 1045, 390, 391, 392, 0, 0, 394, 395,
7800 : 817, 396, 0, 0, 398, 1046, 400, 401, 402, 0,
7801 : 403, 404, 0, 0, 405, 406, 407, 0, 2086, 408,
7802 : 2087, 818, 410, 819, 0, 412, 413, 414, 415, 416,
7803 : 417, 418, 419, 420, 0, 421, 422, 0, 424, 0,
7804 : 426, 427, 428, 0, 429, 430, 431, 432, 433, 434,
7805 : 435, 436, 437, 1047, 439, 440, 441, 442, 0, 443,
7806 : 444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
7807 : 454, 0, 455, 456, 820, 457, 458, 459, 0, 461,
7808 : 462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
7809 : 471, 472, 473, 474, 0, 475, 476, 2088, 478, 479,
7810 : 821, 480, 481, 1049, 483, 0, 484, 485, 486, 487,
7811 : 488, 489, 490, 491, 492, 493, 494, 495, 0, 0,
7812 : 497, 498, 0, 499, 822, 500, 501, 502, 503, 504,
7813 : 0, 1050, 1051, 0, 0, 507, 508, 0, 510, 0,
7814 : 0, 512, 513, 514, 515, 516, 517, 518, 0, 0,
7815 : 519, 520, 521, 522, 523, 0, 0, 524, 525, 526,
7816 : 527, 528, 0, 1052, 2089, 531, 823, 532, 533, 534,
7817 : 535, 0, 0, 536, 0, 0, 537, 538, 539, 540,
7818 : 541, 542, 845, 1454, 617, 0, 0, 0, 676, 0,
7819 : 0, 0, 0, 554, 555, 556, 0, 224, 225, 226,
7820 : 227, 228, 229, 230, 231, 2090, 233, 234, 235, 0,
7821 : 0, 0, 0, 0, 0, 0, 236, 237, 0, 238,
7822 : 239, 240, 801, 241, 242, 243, 244, 245, 802, 246,
7823 : 247, 0, 248, 249, 250, 251, 252, 0, 0, 253,
7824 : 254, 255, 256, 257, 0, 258, 259, 260, 261, 262,
7825 : 0, 803, 0, 263, 264, 265, 266, 267, 804, 268,
7826 : 269, 270, 0, 271, 272, 273, 274, 275, 276, 0,
7827 : 805, 277, 278, 279, 0, 0, 0, 806, 0, 0,
7828 : 0, 280, 281, 282, 283, 284, 285, 286, 287, 288,
7829 : 1932, 289, 0, 290, 291, 292, 293, 294, 295, 0,
7830 : 296, 297, 298, 299, 0, 0, 300, 301, 302, 303,
7831 : 304, 0, 305, 306, 307, 0, 308, 309, 310, 0,
7832 : 311, 312, 313, 314, 315, 316, 317, 318, 319, 1756,
7833 : 320, 0, 321, 322, 323, 324, 0, 325, 0, 326,
7834 : 807, 0, 808, 327, 328, 329, 330, 0, 331, 332,
7835 : 0, 333, 334, 0, 335, 336, 337, 338, 339, 809,
7836 : 340, 341, 342, 343, 0, 344, 345, 346, 347, 348,
7837 : 349, 0, 350, 810, 351, 352, 353, 354, 355, 356,
7838 : 357, 0, 358, 0, 359, 811, 812, 360, 813, 361,
7839 : 362, 363, 364, 365, 0, 0, 366, 367, 814, 368,
7840 : 815, 0, 369, 370, 371, 0, 0, 372, 373, 374,
7841 : 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
7842 : 385, 386, 387, 388, 816, 389, 390, 391, 392, 393,
7843 : 0, 394, 395, 817, 396, 0, 397, 398, 399, 400,
7844 : 401, 402, 0, 403, 404, 1757, 0, 405, 406, 407,
7845 : 0, 0, 408, 409, 818, 410, 819, 411, 412, 413,
7846 : 414, 415, 416, 417, 418, 419, 420, 0, 421, 422,
7847 : 423, 424, 425, 426, 427, 428, 0, 429, 430, 431,
7848 : 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
7849 : 442, 0, 443, 444, 445, 446, 447, 448, 449, 450,
7850 : 451, 452, 453, 454, 0, 455, 456, 820, 457, 458,
7851 : 459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
7852 : 469, 0, 470, 471, 472, 473, 474, 0, 475, 476,
7853 : 477, 478, 479, 821, 480, 481, 482, 483, 0, 484,
7854 : 485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
7855 : 495, 496, 0, 497, 498, 0, 499, 822, 500, 501,
7856 : 502, 503, 504, 0, 505, 506, 0, 0, 507, 508,
7857 : 509, 510, 511, 1758, 512, 513, 514, 515, 516, 517,
7858 : 518, 0, 0, 519, 520, 521, 522, 523, 0, 0,
7859 : 524, 525, 526, 527, 528, 529, 530, 0, 531, 823,
7860 : 532, 533, 534, 535, 0, 0, 536, 0, 0, 537,
7861 : 538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
7862 : 548, 549, 550, 551, 552, 553, 554, 555, 556, 845,
7863 : 1454, 617, 0, 0, 0, 676, 1455, 1456, 0, 0,
7864 : 0, 0, 0, 0, 224, 225, 226, 227, 228, 229,
7865 : 230, 231, 0, 233, 234, 235, 0, 0, 0, 0,
7866 : 0, 0, 0, 236, 237, 0, 238, 239, 240, 801,
7867 : 241, 242, 243, 244, 245, 802, 246, 247, 0, 248,
7868 : 249, 250, 251, 252, 0, 0, 253, 254, 255, 256,
7869 : 257, 0, 258, 259, 260, 261, 262, 0, 803, 0,
7870 : 263, 264, 265, 266, 267, 804, 268, 269, 270, 0,
7871 : 271, 272, 273, 274, 275, 276, 0, 805, 277, 278,
7872 : 279, 0, 0, 0, 806, 0, 0, 0, 280, 281,
7873 : 282, 283, 284, 285, 286, 287, 288, 1937, 289, 0,
7874 : 290, 291, 292, 293, 294, 295, 0, 296, 297, 298,
7875 : 299, 0, 0, 300, 301, 302, 303, 304, 0, 305,
7876 : 306, 307, 0, 308, 309, 310, 0, 311, 312, 313,
7877 : 314, 315, 316, 317, 318, 319, 1756, 320, 0, 321,
7878 : 322, 323, 324, 0, 325, 0, 326, 807, 0, 808,
7879 : 327, 328, 329, 330, 0, 331, 332, 0, 333, 334,
7880 : 0, 335, 336, 337, 338, 339, 809, 340, 341, 342,
7881 : 343, 0, 344, 345, 346, 347, 348, 349, 0, 350,
7882 : 810, 351, 352, 353, 354, 355, 356, 357, 0, 358,
7883 : 0, 359, 811, 812, 360, 813, 361, 362, 363, 364,
7884 : 365, 0, 0, 366, 367, 814, 368, 815, 0, 369,
7885 : 370, 371, 0, 0, 372, 373, 374, 375, 376, 377,
7886 : 378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
7887 : 388, 816, 389, 390, 391, 392, 393, 0, 394, 395,
7888 : 817, 396, 0, 397, 398, 399, 400, 401, 402, 0,
7889 : 403, 404, 1757, 0, 405, 406, 407, 0, 0, 408,
7890 : 409, 818, 410, 819, 411, 412, 413, 414, 415, 416,
7891 : 417, 418, 419, 420, 0, 421, 422, 423, 424, 425,
7892 : 426, 427, 428, 0, 429, 430, 431, 432, 433, 434,
7893 : 435, 436, 437, 438, 439, 440, 441, 442, 0, 443,
7894 : 444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
7895 : 454, 0, 455, 456, 820, 457, 458, 459, 460, 461,
7896 : 462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
7897 : 471, 472, 473, 474, 0, 475, 476, 477, 478, 479,
7898 : 821, 480, 481, 482, 483, 0, 484, 485, 486, 487,
7899 : 488, 489, 490, 491, 492, 493, 494, 495, 496, 0,
7900 : 497, 498, 0, 499, 822, 500, 501, 502, 503, 504,
7901 : 0, 505, 506, 0, 0, 507, 508, 509, 510, 511,
7902 : 1758, 512, 513, 514, 515, 516, 517, 518, 0, 0,
7903 : 519, 520, 521, 522, 523, 0, 0, 524, 525, 526,
7904 : 527, 528, 529, 530, 0, 531, 823, 532, 533, 534,
7905 : 535, 0, 0, 536, 0, 0, 537, 538, 539, 540,
7906 : 541, 542, 543, 544, 545, 546, 547, 548, 549, 550,
7907 : 551, 552, 553, 554, 555, 556, 845, 1454, 617, 0,
7908 : 0, 0, 676, 1455, 1456, 0, 0, 0, 0, 0,
7909 : 0, 224, 225, 226, 227, 228, 229, 230, 231, 0,
7910 : 233, 234, 235, 0, 0, 0, 0, 0, 0, 0,
7911 : 236, 237, 0, 238, 239, 240, 801, 241, 242, 243,
7912 : 244, 245, 802, 246, 247, 0, 248, 249, 250, 251,
7913 : 252, 0, 0, 253, 254, 255, 256, 257, 0, 258,
7914 : 259, 260, 261, 262, 0, 803, 0, 263, 264, 265,
7915 : 266, 267, 804, 268, 269, 270, 0, 271, 272, 273,
7916 : 274, 275, 276, 0, 805, 277, 278, 279, 0, 0,
7917 : 0, 806, 0, 0, 0, 280, 281, 282, 283, 284,
7918 : 285, 286, 287, 288, 0, 289, 0, 290, 291, 292,
7919 : 293, 294, 295, 0, 296, 297, 298, 299, 0, 0,
7920 : 300, 301, 302, 303, 304, 0, 305, 306, 307, 0,
7921 : 308, 309, 310, 0, 311, 312, 313, 314, 315, 316,
7922 : 317, 318, 319, 1756, 320, 0, 321, 322, 323, 324,
7923 : 0, 325, 0, 326, 807, 0, 808, 327, 328, 329,
7924 : 330, 0, 331, 332, 0, 333, 334, 0, 335, 336,
7925 : 337, 338, 339, 809, 340, 341, 342, 343, 0, 344,
7926 : 345, 346, 347, 348, 349, 0, 350, 810, 351, 352,
7927 : 353, 354, 355, 356, 357, 0, 358, 0, 359, 811,
7928 : 812, 360, 813, 361, 362, 363, 364, 365, 0, 0,
7929 : 366, 367, 814, 368, 815, 0, 369, 370, 371, 0,
7930 : 0, 372, 373, 374, 375, 376, 377, 378, 379, 380,
7931 : 381, 382, 383, 384, 385, 386, 387, 388, 816, 389,
7932 : 390, 391, 392, 393, 0, 394, 395, 817, 396, 0,
7933 : 397, 398, 399, 400, 401, 402, 0, 403, 404, 1757,
7934 : 0, 405, 406, 407, 0, 0, 408, 409, 818, 410,
7935 : 819, 411, 412, 413, 414, 415, 416, 417, 418, 419,
7936 : 420, 0, 421, 422, 423, 424, 425, 426, 427, 428,
7937 : 0, 429, 430, 431, 432, 433, 434, 435, 436, 437,
7938 : 438, 439, 440, 441, 442, 0, 443, 444, 445, 446,
7939 : 447, 448, 449, 450, 451, 452, 453, 454, 0, 455,
7940 : 456, 820, 457, 458, 459, 460, 461, 462, 463, 464,
7941 : 465, 466, 467, 468, 469, 0, 470, 471, 472, 473,
7942 : 474, 0, 475, 476, 477, 478, 479, 821, 480, 481,
7943 : 482, 483, 0, 484, 485, 486, 487, 488, 489, 490,
7944 : 491, 492, 493, 494, 495, 496, 0, 497, 498, 0,
7945 : 499, 822, 500, 501, 502, 503, 504, 0, 505, 506,
7946 : 0, 0, 507, 508, 509, 510, 511, 1758, 512, 513,
7947 : 514, 515, 516, 517, 518, 0, 0, 519, 520, 521,
7948 : 522, 523, 0, 0, 524, 525, 526, 527, 528, 529,
7949 : 530, 0, 531, 823, 532, 533, 534, 535, 0, 0,
7950 : 536, 0, 0, 537, 538, 539, 540, 541, 542, 543,
7951 : 544, 545, 546, 547, 548, 549, 550, 551, 552, 553,
7952 : 554, 555, 556, 845, 0, 617, 0, 0, 0, 676,
7953 : 1455, 1456, 0, 0, 0, 0, 0, 0, 224, 225,
7954 : 226, 227, 228, 229, 230, 231, 0, 233, 234, 235,
7955 : 0, 0, 0, 0, 0, 0, 0, 236, 237, 0,
7956 : 238, 239, 240, 801, 241, 242, 243, 244, 245, 802,
7957 : 246, 247, 0, 248, 249, 250, 251, 252, 0, 0,
7958 : 253, 254, 255, 256, 257, 0, 258, 259, 260, 261,
7959 : 262, 0, 803, 0, 263, 264, 265, 266, 267, 804,
7960 : 268, 269, 270, 0, 271, 272, 273, 274, 275, 276,
7961 : 0, 805, 277, 278, 279, 0, 0, 0, 806, 0,
7962 : 0, 0, 280, 281, 282, 283, 284, 285, 286, 287,
7963 : 288, 2835, 289, 0, 290, 291, 292, 293, 294, 295,
7964 : 0, 296, 297, 298, 299, 0, 0, 300, 301, 302,
7965 : 303, 304, 0, 305, 306, 307, 0, 308, 309, 310,
7966 : 0, 311, 312, 313, 314, 315, 316, 317, 318, 319,
7967 : 1756, 320, 0, 321, 322, 323, 324, 0, 325, 0,
7968 : 326, 807, 0, 808, 327, 328, 329, 330, 0, 331,
7969 : 332, 0, 333, 334, 0, 335, 336, 337, 338, 339,
7970 : 809, 340, 341, 342, 343, 0, 344, 345, 346, 347,
7971 : 348, 349, 0, 350, 810, 351, 352, 353, 354, 355,
7972 : 356, 357, 0, 358, 0, 359, 811, 812, 360, 813,
7973 : 361, 362, 363, 364, 365, 0, 0, 366, 367, 814,
7974 : 368, 815, 0, 369, 370, 371, 0, 0, 372, 373,
7975 : 374, 375, 376, 377, 378, 379, 380, 381, 382, 383,
7976 : 384, 385, 386, 387, 388, 816, 389, 390, 391, 392,
7977 : 393, 0, 394, 395, 817, 396, 0, 397, 398, 399,
7978 : 400, 401, 402, 0, 403, 404, 1757, 0, 405, 406,
7979 : 407, 0, 0, 408, 409, 818, 410, 819, 411, 412,
7980 : 413, 414, 415, 416, 417, 418, 419, 420, 0, 421,
7981 : 422, 423, 424, 425, 426, 427, 428, 0, 429, 430,
7982 : 431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
7983 : 441, 442, 0, 443, 444, 445, 446, 447, 448, 449,
7984 : 450, 451, 452, 453, 454, 0, 455, 456, 820, 457,
7985 : 458, 459, 460, 461, 462, 463, 464, 465, 466, 467,
7986 : 468, 469, 0, 470, 471, 472, 473, 474, 0, 475,
7987 : 476, 477, 478, 479, 821, 480, 481, 482, 483, 0,
7988 : 484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
7989 : 494, 495, 496, 0, 497, 498, 0, 499, 822, 500,
7990 : 501, 502, 503, 504, 0, 505, 506, 0, 0, 507,
7991 : 508, 509, 510, 511, 1758, 512, 513, 514, 515, 516,
7992 : 517, 518, 0, 0, 519, 520, 521, 522, 523, 0,
7993 : 0, 524, 525, 526, 527, 528, 529, 530, 0, 531,
7994 : 823, 532, 533, 534, 535, 0, 0, 536, 0, 0,
7995 : 537, 538, 539, 540, 541, 542, 543, 544, 545, 546,
7996 : 547, 548, 549, 550, 551, 552, 553, 554, 555, 556,
7997 : 223, 0, 0, 0, 0, 0, 676, 688, 689, 0,
7998 : 0, 0, 0, 0, 0, 224, 677, 226, 227, 228,
7999 : 229, 230, 231, 678, 233, 234, 235, 0, 0, 0,
8000 : 0, 0, 0, 0, 236, 237, 0, 238, 239, 240,
8001 : 0, 679, 242, 243, 244, 245, 0, 246, 247, 0,
8002 : 248, 249, 250, 251, 252, 0, 0, 253, 254, 255,
8003 : 256, 257, 0, 258, 259, 260, 261, 262, 0, 0,
8004 : 0, 263, 264, 265, 266, 267, 0, 268, 269, 270,
8005 : 0, 271, 272, 273, 274, 275, 276, 0, 0, 277,
8006 : 278, 279, 0, 0, 0, 0, 0, 0, 0, 280,
8007 : 281, 282, 283, 284, 285, 286, 287, 288, 0, 289,
8008 : 0, 290, 291, 292, 293, 294, 295, 0, 296, 297,
8009 : 298, 299, 0, 0, 300, 301, 302, 303, 304, 0,
8010 : 305, 306, 307, 0, 308, 309, 310, 0, 311, 312,
8011 : 313, 314, 315, 316, 317, 318, 319, 0, 320, 0,
8012 : 321, 680, 323, 324, 0, 325, 0, 681, 0, 682,
8013 : 0, 327, 328, 329, 330, 0, 331, 332, 0, 333,
8014 : 334, 0, 335, 336, 337, 338, 339, 0, 340, 341,
8015 : 342, 343, 683, 344, 345, 346, 347, 348, 349, 0,
8016 : 350, 0, 351, 352, 353, 354, 355, 356, 357, 0,
8017 : 358, 0, 359, 0, 0, 360, 0, 361, 362, 363,
8018 : 364, 684, 0, 0, 366, 367, 0, 368, 0, 0,
8019 : 369, 370, 371, 0, 0, 372, 373, 374, 375, 376,
8020 : 377, 378, 379, 380, 381, 382, 383, 384, 385, 386,
8021 : 387, 388, 0, 389, 390, 685, 392, 393, 0, 394,
8022 : 395, 0, 396, 0, 397, 398, 399, 400, 401, 402,
8023 : 0, 403, 404, 0, 0, 405, 406, 407, 0, 0,
8024 : 408, 409, 0, 410, 0, 411, 412, 413, 414, 415,
8025 : 416, 417, 418, 419, 420, 0, 421, 422, 423, 424,
8026 : 425, 426, 427, 428, 0, 686, 430, 431, 432, 433,
8027 : 434, 435, 436, 437, 438, 439, 440, 441, 442, 0,
8028 : 443, 444, 445, 687, 447, 448, 449, 450, 451, 452,
8029 : 453, 454, 0, 455, 456, 0, 457, 458, 459, 460,
8030 : 461, 462, 463, 464, 465, 466, 467, 468, 469, 0,
8031 : 470, 471, 472, 473, 474, 0, 475, 476, 477, 478,
8032 : 479, 0, 480, 481, 482, 483, 0, 484, 485, 486,
8033 : 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
8034 : 0, 497, 498, 0, 499, 0, 500, 501, 502, 503,
8035 : 504, 0, 505, 506, 0, 0, 507, 508, 509, 510,
8036 : 511, 0, 512, 513, 514, 515, 516, 517, 518, 0,
8037 : 0, 519, 520, 521, 522, 523, 0, 0, 524, 525,
8038 : 526, 527, 528, 529, 530, 0, 531, 0, 532, 533,
8039 : 534, 535, 0, 0, 536, 0, 0, 537, 538, 539,
8040 : 540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
8041 : 550, 551, 552, 553, 554, 555, 556, 1943, 5263, 617,
8042 : 0, 0, 0, 676, 688, 689, 0, 0, 0, 0,
8043 : 0, 0, 224, 225, 226, 227, 228, 229, 230, 231,
8044 : 1944, 233, 234, 235, 1945, 1946, 1947, 1948, 1949, 1950,
8045 : 1951, 236, 237, 1952, 238, 239, 240, 801, 241, 242,
8046 : 243, 244, 245, 802, 246, 247, 1953, 248, 249, 250,
8047 : 251, 252, 1954, 1955, 253, 254, 255, 256, 257, 1956,
8048 : 258, 259, 260, 261, 262, 1957, 803, 1958, 263, 264,
8049 : 265, 266, 267, 804, 268, 269, 270, 1959, 271, 272,
8050 : 273, 274, 275, 276, 1960, 805, 277, 278, 279, 1961,
8051 : 1962, 1963, 806, 1964, 1965, 1966, 280, 281, 282, 283,
8052 : 284, 285, 286, 287, 288, 1967, 289, 1968, 290, 291,
8053 : 292, 293, 294, 295, 1969, 296, 297, 298, 299, 1970,
8054 : 1971, 300, 301, 302, 303, 304, 1972, 305, 306, 307,
8055 : 1973, 308, 309, 310, 1974, 311, 312, 313, 314, 315,
8056 : 316, 317, 318, 319, 1975, 320, 1976, 321, 322, 323,
8057 : 324, 1977, 325, 1978, 326, 807, 1979, 808, 327, 328,
8058 : 329, 330, 1980, 331, 332, 1981, 333, 334, 1982, 335,
8059 : 336, 337, 338, 339, 809, 340, 341, 342, 343, 1983,
8060 : 344, 345, 346, 347, 348, 349, 1984, 350, 810, 351,
8061 : 352, 353, 354, 355, 356, 357, 1985, 358, 1986, 359,
8062 : 811, 812, 360, 813, 361, 362, 363, 364, 365, 1987,
8063 : 1988, 366, 367, 814, 368, 815, 1989, 369, 370, 371,
8064 : 1990, 1991, 372, 373, 374, 375, 376, 377, 378, 379,
8065 : 380, 381, 382, 383, 384, 385, 386, 387, 388, 816,
8066 : 389, 390, 391, 392, 393, 1992, 394, 395, 817, 396,
8067 : 1993, 397, 398, 399, 400, 401, 402, 1994, 403, 404,
8068 : 1995, 1996, 405, 406, 407, 1997, 1998, 408, 409, 818,
8069 : 410, 819, 411, 412, 413, 414, 415, 416, 417, 418,
8070 : 419, 420, 1999, 421, 422, 423, 424, 425, 426, 427,
8071 : 428, 2000, 429, 430, 431, 432, 433, 434, 435, 436,
8072 : 437, 438, 439, 440, 441, 442, 2001, 443, 444, 445,
8073 : 446, 447, 448, 449, 450, 451, 452, 453, 454, 2002,
8074 : 455, 456, 820, 457, 458, 459, 460, 461, 462, 463,
8075 : 464, 465, 466, 467, 468, 469, 2003, 470, 471, 472,
8076 : 473, 474, 2004, 475, 476, 477, 478, 479, 821, 480,
8077 : 481, 482, 483, 2005, 484, 485, 486, 487, 488, 489,
8078 : 490, 491, 492, 493, 494, 495, 496, 2006, 497, 498,
8079 : 2007, 499, 822, 500, 501, 502, 503, 504, 2008, 505,
8080 : 506, 2009, 2010, 507, 508, 509, 510, 511, 2011, 512,
8081 : 513, 514, 515, 516, 517, 518, 2012, 2013, 519, 520,
8082 : 521, 522, 523, 2014, 2015, 524, 525, 526, 527, 528,
8083 : 529, 530, 2016, 531, 823, 532, 533, 534, 535, 2017,
8084 : 2018, 536, 2019, 2020, 537, 538, 539, 540, 541, 542,
8085 : 543, 544, 545, 546, 547, 548, 549, 550, 551, 552,
8086 : 553, 554, 555, 556, 1943, 0, 0, 0, 0, 0,
8087 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 224,
8088 : 225, 226, 227, 228, 229, 230, 231, 1944, 233, 234,
8089 : 235, 1945, 1946, 1947, 1948, 1949, 1950, 1951, 236, 237,
8090 : 1952, 238, 239, 240, 801, 241, 242, 243, 244, 245,
8091 : 802, 246, 247, 1953, 248, 249, 250, 251, 252, 1954,
8092 : 1955, 253, 254, 255, 256, 257, 1956, 258, 259, 260,
8093 : 261, 262, 1957, 803, 1958, 263, 264, 265, 266, 267,
8094 : 804, 268, 269, 270, 1959, 271, 272, 273, 274, 275,
8095 : 276, 1960, 805, 277, 278, 279, 1961, 1962, 1963, 806,
8096 : 1964, 1965, 1966, 280, 281, 282, 283, 284, 285, 286,
8097 : 287, 288, 1967, 289, 1968, 290, 291, 292, 293, 294,
8098 : 295, 1969, 296, 297, 298, 299, 1970, 1971, 300, 301,
8099 : 302, 303, 304, 1972, 305, 306, 307, 1973, 308, 309,
8100 : 310, 1974, 311, 312, 313, 314, 315, 316, 317, 318,
8101 : 319, 1975, 320, 1976, 321, 322, 323, 324, 1977, 325,
8102 : 1978, 326, 807, 1979, 808, 327, 328, 329, 330, 1980,
8103 : 331, 332, 1981, 333, 334, 1982, 335, 336, 337, 338,
8104 : 339, 809, 340, 341, 342, 343, 1983, 344, 345, 346,
8105 : 347, 348, 349, 1984, 350, 810, 351, 352, 353, 354,
8106 : 355, 356, 357, 1985, 358, 1986, 359, 811, 812, 360,
8107 : 813, 361, 362, 363, 364, 365, 1987, 1988, 366, 367,
8108 : 814, 368, 815, 1989, 369, 370, 371, 1990, 1991, 372,
8109 : 373, 374, 375, 376, 377, 378, 379, 380, 381, 382,
8110 : 383, 384, 385, 386, 387, 388, 816, 389, 390, 391,
8111 : 392, 393, 1992, 394, 395, 817, 396, 1993, 397, 398,
8112 : 399, 400, 401, 402, 1994, 403, 404, 1995, 1996, 405,
8113 : 406, 407, 1997, 1998, 408, 409, 818, 410, 819, 411,
8114 : 412, 413, 414, 415, 416, 417, 418, 419, 420, 1999,
8115 : 421, 422, 423, 424, 425, 426, 427, 428, 2000, 429,
8116 : 430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
8117 : 440, 441, 442, 2001, 443, 444, 445, 446, 447, 448,
8118 : 449, 450, 451, 452, 453, 454, 2002, 455, 456, 820,
8119 : 457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
8120 : 467, 468, 469, 2003, 470, 471, 472, 473, 474, 2004,
8121 : 475, 476, 477, 478, 479, 821, 480, 481, 482, 483,
8122 : 2005, 484, 485, 486, 487, 488, 489, 490, 491, 492,
8123 : 493, 494, 495, 496, 2006, 497, 498, 2007, 499, 822,
8124 : 500, 501, 502, 503, 504, 2008, 505, 506, 2009, 2010,
8125 : 507, 508, 509, 510, 511, 2011, 512, 513, 514, 515,
8126 : 516, 517, 518, 2012, 2013, 519, 520, 521, 522, 523,
8127 : 2014, 2015, 524, 525, 526, 527, 528, 529, 530, 2016,
8128 : 531, 823, 532, 533, 534, 535, 2017, 2018, 536, 2019,
8129 : 2020, 537, 538, 539, 540, 541, 542, 543, 544, 545,
8130 : 546, 547, 548, 549, 550, 551, 552, 553, 554, 555,
8131 : 556, 1943, 0, 0, 0, 0, 0, 0, 0, 0,
8132 : 0, 0, 0, 0, 0, 0, 224, 225, 226, 227,
8133 : 2949, 229, 230, 231, 1944, 233, 234, 235, 1945, 1946,
8134 : 1947, 1948, 1949, 1950, 1951, 236, 237, 1952, 238, 239,
8135 : 240, 801, 241, 242, 243, 244, 245, 802, 246, 247,
8136 : 1953, 248, 249, 250, 251, 252, 1954, 1955, 253, 254,
8137 : 255, 256, 257, 1956, 258, 259, 260, 261, 262, 1957,
8138 : 803, 1958, 263, 264, 265, 266, 267, 804, 268, 269,
8139 : 270, 1959, 271, 272, 273, 274, 275, 276, 1960, 805,
8140 : 277, 278, 279, 1961, 1962, 1963, 806, 1964, 1965, 1966,
8141 : 280, 281, 282, 283, 284, 285, 286, 287, 288, 1967,
8142 : 289, 1968, 290, 291, 292, 293, 294, 295, 1969, 296,
8143 : 297, 298, 299, 1970, 1971, 300, 301, 302, 2950, 304,
8144 : 1972, 305, 306, 307, 1973, 308, 309, 310, 1974, 311,
8145 : 312, 313, 314, 315, 316, 317, 318, 319, 1975, 320,
8146 : 1976, 321, 322, 323, 324, 1977, 325, 1978, 326, 807,
8147 : 1979, 808, 327, 328, 329, 330, 1980, 331, 332, 1981,
8148 : 333, 334, 1982, 335, 336, 337, 338, 339, 809, 340,
8149 : 341, 342, 343, 1983, 344, 345, 346, 347, 348, 349,
8150 : 1984, 350, 810, 351, 352, 353, 354, 355, 356, 357,
8151 : 1985, 358, 1986, 359, 811, 812, 360, 813, 361, 362,
8152 : 363, 364, 365, 1987, 1988, 366, 367, 814, 368, 815,
8153 : 1989, 369, 370, 371, 1990, 1991, 372, 373, 374, 375,
8154 : 376, 377, 378, 379, 380, 381, 382, 383, 384, 385,
8155 : 386, 387, 388, 816, 389, 390, 391, 392, 393, 1992,
8156 : 394, 395, 817, 396, 1993, 397, 398, 399, 400, 401,
8157 : 402, 1994, 403, 404, 1995, 1996, 405, 406, 407, 1997,
8158 : 1998, 408, 409, 818, 410, 819, 411, 412, 413, 414,
8159 : 415, 416, 417, 418, 419, 420, 1999, 421, 422, 423,
8160 : 424, 425, 426, 427, 428, 2000, 429, 430, 431, 432,
8161 : 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
8162 : 2001, 443, 444, 445, 446, 447, 448, 449, 450, 451,
8163 : 452, 453, 454, 2002, 455, 456, 820, 457, 458, 459,
8164 : 460, 461, 462, 463, 464, 465, 466, 467, 468, 469,
8165 : 2003, 470, 471, 472, 473, 474, 2004, 2951, 476, 477,
8166 : 478, 479, 821, 480, 481, 482, 483, 2005, 484, 485,
8167 : 486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
8168 : 496, 2006, 497, 498, 2007, 499, 822, 500, 501, 502,
8169 : 503, 504, 2008, 505, 506, 2009, 2010, 507, 508, 509,
8170 : 510, 511, 2011, 512, 513, 514, 515, 516, 517, 518,
8171 : 2012, 2013, 519, 520, 521, 522, 523, 2014, 2015, 524,
8172 : 525, 526, 527, 528, 529, 530, 2016, 531, 823, 532,
8173 : 533, 534, 535, 2017, 2018, 536, 2019, 2020, 537, 538,
8174 : 539, 540, 541, 542, 543, 544, 545, 546, 547, 548,
8175 : 549, 550, 551, 552, 553, 554, 555, 556, 800, 0,
8176 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
8177 : 0, 0, 0, 224, 225, 226, 227, 228, 229, 230,
8178 : 231, 0, 233, 234, 235, 0, 0, 0, 0, 0,
8179 : 0, 0, 236, 237, 0, 238, 239, 240, 801, 241,
8180 : 242, 243, 244, 245, 802, 246, 247, 0, 248, 249,
8181 : 250, 251, 252, 0, 1186, 253, 254, 255, 256, 257,
8182 : 0, 258, 259, 260, 261, 1189, 0, 1190, 0, 263,
8183 : 264, 265, 266, 267, 804, 268, 269, 270, 0, 271,
8184 : 272, 273, 274, 275, 276, 0, 805, 277, 278, 279,
8185 : 1191, 1192, 1193, 1194, 1195, 1196, 1197, 280, 281, 282,
8186 : 283, 284, 285, 286, 287, 288, 0, 289, 0, 290,
8187 : 291, 292, 293, 294, 295, 0, 296, 297, 298, 299,
8188 : 0, 0, 300, 301, 302, 303, 304, 0, 305, 306,
8189 : 307, 0, 308, 309, 310, 0, 311, 312, 313, 314,
8190 : 315, 316, 317, 318, 1202, 0, 320, 0, 321, 322,
8191 : 323, 324, 0, 325, 0, 326, 807, 0, 808, 327,
8192 : 328, 329, 330, 0, 331, 1205, 0, 333, 334, 0,
8193 : 335, 336, 337, 338, 339, 809, 340, 341, 342, 343,
8194 : 0, 344, 345, 346, 347, 348, 349, 0, 350, 810,
8195 : 351, 352, 353, 354, 355, 356, 357, 0, 358, 0,
8196 : 359, 811, 812, 360, 813, 361, 362, 363, 364, 365,
8197 : 0, 0, 366, 1210, 814, 368, 815, 0, 369, 370,
8198 : 371, 1211, 1212, 372, 373, 374, 375, 376, 377, 378,
8199 : 379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
8200 : 816, 389, 390, 391, 392, 393, 0, 394, 395, 817,
8201 : 396, 0, 1217, 398, 399, 400, 401, 402, 0, 403,
8202 : 404, 0, 0, 405, 406, 407, 0, 0, 408, 409,
8203 : 818, 410, 819, 1220, 412, 413, 414, 415, 416, 417,
8204 : 418, 419, 420, 0, 421, 422, 1221, 424, 425, 426,
8205 : 427, 428, 0, 429, 430, 431, 432, 433, 434, 435,
8206 : 436, 437, 438, 439, 440, 441, 442, 0, 443, 444,
8207 : 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
8208 : 0, 455, 456, 820, 457, 458, 459, 460, 461, 462,
8209 : 463, 464, 465, 466, 467, 468, 469, 0, 470, 471,
8210 : 472, 473, 474, 1224, 475, 476, 477, 478, 479, 821,
8211 : 480, 481, 482, 483, 0, 484, 485, 486, 487, 488,
8212 : 489, 490, 491, 492, 493, 494, 495, 1226, 0, 497,
8213 : 498, 0, 499, 822, 500, 501, 502, 503, 504, 0,
8214 : 505, 506, 0, 0, 507, 508, 1229, 510, 1230, 0,
8215 : 512, 513, 514, 515, 516, 517, 518, 0, 0, 519,
8216 : 520, 521, 522, 523, 1233, 0, 524, 525, 526, 527,
8217 : 528, 529, 530, 0, 531, 823, 532, 533, 534, 535,
8218 : 0, 0, 536, 0, 0, 537, 538, 539, 540, 541,
8219 : 542, 543, 1235, 1236, 1237, 1238, 548, 1239, 1240, 1241,
8220 : 1242, 553, 554, 555, 556, 845, 0, 617, 0, 0,
8221 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
8222 : 224, 225, 226, 227, 228, 229, 230, 231, 0, 233,
8223 : 234, 235, 0, 0, 0, 0, 0, 0, 0, 236,
8224 : 237, 0, 238, 239, 240, 801, 241, 242, 243, 244,
8225 : 245, 802, 246, 247, 0, 248, 249, 250, 251, 252,
8226 : 0, 0, 253, 254, 255, 256, 257, 0, 258, 259,
8227 : 260, 261, 262, 0, 803, 0, 263, 264, 265, 266,
8228 : 267, 804, 268, 269, 270, 0, 271, 272, 273, 274,
8229 : 275, 276, 0, 805, 277, 278, 279, 0, 0, 0,
8230 : 806, 0, 0, 0, 280, 281, 282, 283, 284, 285,
8231 : 286, 287, 288, 0, 289, 0, 290, 291, 292, 293,
8232 : 294, 295, 0, 296, 297, 298, 299, 0, 0, 300,
8233 : 301, 302, 303, 304, 0, 305, 306, 307, 0, 308,
8234 : 309, 310, 0, 311, 312, 313, 314, 315, 316, 317,
8235 : 318, 319, 1756, 320, 0, 321, 322, 323, 324, 0,
8236 : 325, 0, 326, 807, 0, 808, 327, 328, 329, 330,
8237 : 0, 331, 332, 0, 333, 334, 0, 335, 336, 337,
8238 : 338, 339, 809, 340, 341, 342, 343, 0, 344, 345,
8239 : 346, 347, 348, 349, 0, 350, 810, 351, 352, 353,
8240 : 354, 355, 356, 357, 0, 358, 0, 359, 811, 812,
8241 : 360, 813, 361, 362, 363, 364, 365, 0, 0, 366,
8242 : 367, 814, 368, 815, 0, 369, 370, 371, 0, 0,
8243 : 372, 373, 374, 375, 376, 377, 378, 379, 380, 381,
8244 : 382, 383, 384, 385, 386, 387, 388, 816, 389, 390,
8245 : 391, 392, 393, 0, 394, 395, 817, 396, 0, 397,
8246 : 398, 399, 400, 401, 402, 0, 403, 404, 1757, 0,
8247 : 405, 406, 407, 0, 0, 408, 409, 818, 410, 819,
8248 : 411, 412, 413, 414, 415, 416, 417, 418, 419, 420,
8249 : 0, 421, 422, 423, 424, 425, 426, 427, 428, 0,
8250 : 429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
8251 : 439, 440, 441, 442, 0, 443, 444, 445, 446, 447,
8252 : 448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
8253 : 820, 457, 458, 459, 460, 461, 462, 463, 464, 465,
8254 : 466, 467, 468, 469, 0, 470, 471, 472, 473, 474,
8255 : 0, 475, 476, 477, 478, 479, 821, 480, 481, 482,
8256 : 483, 0, 484, 485, 486, 487, 488, 489, 490, 491,
8257 : 492, 493, 494, 495, 496, 0, 497, 498, 0, 499,
8258 : 822, 500, 501, 502, 503, 504, 0, 505, 506, 0,
8259 : 0, 507, 508, 509, 510, 511, 1758, 512, 513, 514,
8260 : 515, 516, 517, 518, 0, 0, 519, 520, 521, 522,
8261 : 523, 0, 0, 524, 525, 526, 527, 528, 529, 530,
8262 : 0, 531, 823, 532, 533, 534, 535, 0, 0, 536,
8263 : 0, 0, 537, 538, 539, 540, 541, 542, 543, 544,
8264 : 545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
8265 : 555, 556, 845, 0, 0, 0, 0, 0, 0, 0,
8266 : 0, 0, 0, 0, 0, 0, 0, 224, 225, 226,
8267 : 227, 228, 229, 230, 231, 882, 233, 234, 235, 0,
8268 : 0, 0, 0, 0, 0, 0, 236, 237, 0, 238,
8269 : 239, 240, 801, 241, 242, 243, 244, 245, 802, 246,
8270 : 247, 0, 248, 249, 250, 251, 252, 0, 0, 253,
8271 : 254, 255, 256, 257, 0, 258, 259, 260, 261, 262,
8272 : 0, 803, 0, 263, 264, 265, 266, 267, 804, 268,
8273 : 269, 270, 0, 271, 272, 273, 274, 275, 276, 0,
8274 : 805, 277, 278, 279, 0, 0, 0, 806, 0, 0,
8275 : 846, 280, 281, 282, 283, 284, 285, 286, 287, 288,
8276 : 0, 289, 0, 290, 291, 292, 293, 294, 295, 0,
8277 : 296, 297, 298, 299, 0, 0, 300, 301, 302, 303,
8278 : 304, 0, 305, 306, 307, 0, 308, 309, 310, 0,
8279 : 311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
8280 : 320, 0, 321, 322, 323, 324, 0, 325, 0, 326,
8281 : 807, 0, 808, 327, 328, 329, 330, 0, 331, 332,
8282 : 0, 333, 334, 0, 335, 336, 337, 338, 339, 809,
8283 : 340, 341, 342, 343, 0, 344, 345, 346, 347, 348,
8284 : 349, 0, 350, 810, 351, 352, 353, 354, 355, 356,
8285 : 357, 0, 358, 0, 359, 811, 812, 360, 813, 361,
8286 : 362, 363, 364, 365, 0, 0, 366, 367, 814, 368,
8287 : 815, 0, 369, 370, 371, 0, 0, 372, 373, 374,
8288 : 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
8289 : 385, 386, 387, 388, 816, 389, 390, 391, 392, 393,
8290 : 0, 394, 395, 817, 396, 0, 397, 398, 399, 400,
8291 : 401, 402, 0, 403, 404, 0, 0, 405, 406, 407,
8292 : 0, 0, 408, 409, 818, 410, 819, 411, 412, 413,
8293 : 414, 415, 416, 417, 418, 419, 420, 0, 421, 422,
8294 : 423, 424, 425, 426, 427, 428, 0, 429, 430, 431,
8295 : 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
8296 : 442, 0, 443, 444, 445, 446, 447, 448, 449, 450,
8297 : 451, 452, 453, 454, 0, 455, 456, 820, 457, 458,
8298 : 459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
8299 : 469, 0, 470, 471, 472, 473, 474, 847, 475, 476,
8300 : 477, 478, 479, 821, 480, 481, 482, 483, 0, 484,
8301 : 485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
8302 : 495, 496, 0, 497, 498, 0, 499, 822, 500, 501,
8303 : 502, 503, 504, 0, 505, 506, 0, 0, 507, 508,
8304 : 509, 510, 511, 0, 512, 513, 514, 515, 516, 517,
8305 : 518, 0, 0, 519, 520, 521, 522, 523, 0, 0,
8306 : 524, 525, 526, 527, 528, 529, 530, 0, 531, 823,
8307 : 532, 533, 534, 535, 0, 0, 536, 0, 0, 537,
8308 : 538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
8309 : 548, 549, 550, 551, 552, 553, 554, 555, 556, 845,
8310 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
8311 : 0, 0, 0, 0, 224, 225, 226, 227, 228, 229,
8312 : 230, 231, 901, 233, 234, 235, 0, 0, 0, 0,
8313 : 0, 0, 0, 236, 237, 0, 238, 239, 240, 801,
8314 : 241, 242, 243, 244, 245, 802, 246, 247, 0, 248,
8315 : 249, 250, 251, 252, 0, 0, 253, 254, 255, 256,
8316 : 257, 0, 258, 259, 260, 261, 262, 0, 803, 0,
8317 : 263, 264, 265, 266, 267, 804, 268, 269, 270, 0,
8318 : 271, 272, 273, 274, 275, 276, 0, 805, 277, 278,
8319 : 279, 0, 0, 0, 806, 0, 0, 846, 280, 281,
8320 : 282, 283, 284, 285, 286, 287, 288, 0, 289, 0,
8321 : 290, 291, 292, 293, 294, 295, 0, 296, 297, 298,
8322 : 299, 0, 0, 300, 301, 302, 303, 304, 0, 305,
8323 : 306, 307, 0, 308, 309, 310, 0, 311, 312, 313,
8324 : 314, 315, 316, 317, 318, 319, 0, 320, 0, 321,
8325 : 322, 323, 324, 0, 325, 0, 326, 807, 0, 808,
8326 : 327, 328, 329, 330, 0, 331, 332, 0, 333, 334,
8327 : 0, 335, 336, 337, 338, 339, 809, 340, 341, 342,
8328 : 343, 0, 344, 345, 346, 347, 348, 349, 0, 350,
8329 : 810, 351, 352, 353, 354, 355, 356, 357, 0, 358,
8330 : 0, 359, 811, 812, 360, 813, 361, 362, 363, 364,
8331 : 365, 0, 0, 366, 367, 814, 368, 815, 0, 369,
8332 : 370, 371, 0, 0, 372, 373, 374, 375, 902, 377,
8333 : 378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
8334 : 388, 816, 389, 390, 391, 392, 393, 0, 394, 395,
8335 : 817, 396, 0, 397, 398, 399, 400, 401, 402, 0,
8336 : 403, 404, 0, 0, 405, 406, 407, 0, 0, 408,
8337 : 409, 818, 410, 819, 411, 412, 413, 414, 415, 416,
8338 : 417, 418, 419, 420, 0, 421, 422, 423, 424, 425,
8339 : 426, 427, 428, 0, 429, 430, 431, 432, 433, 434,
8340 : 435, 436, 437, 438, 439, 440, 441, 442, 0, 443,
8341 : 444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
8342 : 454, 0, 455, 456, 820, 457, 458, 459, 460, 461,
8343 : 462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
8344 : 471, 472, 473, 474, 847, 475, 476, 477, 478, 479,
8345 : 821, 480, 481, 482, 483, 0, 484, 485, 486, 487,
8346 : 488, 489, 490, 491, 492, 493, 494, 495, 496, 0,
8347 : 497, 498, 0, 499, 822, 500, 501, 502, 503, 504,
8348 : 0, 505, 506, 0, 0, 507, 508, 509, 510, 511,
8349 : 0, 512, 513, 514, 515, 516, 517, 518, 0, 0,
8350 : 519, 520, 521, 522, 523, 0, 0, 524, 525, 526,
8351 : 527, 528, 529, 530, 0, 531, 823, 532, 533, 534,
8352 : 535, 0, 0, 536, 0, 0, 537, 538, 539, 540,
8353 : 541, 542, 543, 544, 545, 546, 547, 548, 549, 550,
8354 : 551, 552, 553, 554, 555, 556, 845, 0, 0, 0,
8355 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
8356 : 0, 224, 225, 226, 227, 228, 229, 230, 231, 0,
8357 : 233, 234, 235, 0, 0, 0, 0, 0, 0, 0,
8358 : 236, 237, 0, 238, 239, 240, 801, 241, 242, 243,
8359 : 244, 245, 802, 246, 247, 0, 248, 249, 250, 251,
8360 : 252, 0, 0, 253, 254, 255, 256, 257, 0, 258,
8361 : 259, 260, 261, 262, 0, 803, 0, 263, 264, 265,
8362 : 266, 267, 804, 268, 269, 270, 0, 271, 272, 273,
8363 : 274, 275, 276, 0, 805, 277, 278, 279, 0, 0,
8364 : 0, 806, 0, 0, 846, 280, 281, 282, 283, 284,
8365 : 285, 286, 287, 288, 0, 289, 0, 290, 291, 292,
8366 : 293, 294, 295, 0, 296, 297, 298, 299, 0, 0,
8367 : 300, 301, 302, 303, 304, 0, 305, 306, 307, 0,
8368 : 308, 309, 310, 0, 311, 312, 313, 314, 315, 316,
8369 : 317, 318, 319, 0, 320, 0, 321, 322, 323, 324,
8370 : 0, 325, 0, 326, 807, 0, 808, 327, 328, 329,
8371 : 330, 0, 331, 332, 0, 333, 334, 0, 335, 336,
8372 : 337, 338, 339, 809, 340, 341, 342, 343, 0, 344,
8373 : 345, 346, 347, 348, 349, 0, 350, 810, 351, 352,
8374 : 353, 354, 355, 356, 357, 0, 358, 0, 359, 811,
8375 : 812, 360, 813, 361, 362, 363, 364, 365, 0, 0,
8376 : 366, 367, 814, 368, 815, 0, 369, 370, 371, 0,
8377 : 0, 372, 373, 374, 375, 376, 377, 378, 379, 380,
8378 : 381, 382, 383, 384, 385, 386, 387, 388, 816, 389,
8379 : 390, 391, 392, 393, 0, 394, 395, 817, 396, 0,
8380 : 397, 398, 399, 400, 401, 402, 0, 403, 404, 0,
8381 : 0, 405, 406, 407, 0, 0, 408, 409, 818, 410,
8382 : 819, 411, 412, 413, 414, 415, 416, 417, 418, 419,
8383 : 420, 0, 421, 422, 423, 424, 425, 426, 427, 428,
8384 : 0, 429, 430, 431, 432, 433, 434, 435, 436, 437,
8385 : 438, 439, 440, 441, 442, 0, 443, 444, 445, 446,
8386 : 447, 448, 449, 450, 451, 452, 453, 454, 0, 455,
8387 : 456, 820, 457, 458, 459, 460, 461, 462, 463, 464,
8388 : 465, 466, 467, 468, 469, 0, 470, 471, 472, 473,
8389 : 474, 847, 475, 476, 477, 478, 479, 821, 480, 481,
8390 : 482, 483, 0, 484, 485, 486, 487, 488, 489, 490,
8391 : 491, 492, 493, 494, 495, 496, 0, 497, 498, 0,
8392 : 499, 822, 500, 501, 502, 503, 504, 0, 505, 506,
8393 : 0, 0, 507, 508, 509, 510, 511, 0, 512, 513,
8394 : 514, 515, 516, 517, 518, 0, 0, 519, 520, 521,
8395 : 522, 523, 2336, 0, 524, 525, 526, 527, 528, 529,
8396 : 530, 0, 531, 823, 532, 533, 534, 535, 0, 0,
8397 : 536, 0, 0, 537, 538, 539, 540, 541, 542, 543,
8398 : 544, 545, 546, 547, 548, 549, 550, 551, 552, 553,
8399 : 554, 555, 556, 845, 0, 0, 0, 0, 0, 0,
8400 : 0, 0, 0, 0, 0, 0, 0, 0, 224, 225,
8401 : 226, 227, 228, 229, 230, 231, 0, 233, 234, 235,
8402 : 0, 0, 0, 0, 0, 0, 0, 236, 237, 0,
8403 : 238, 239, 240, 801, 241, 242, 243, 244, 245, 802,
8404 : 246, 247, 0, 248, 249, 250, 251, 252, 0, 0,
8405 : 253, 254, 255, 256, 257, 0, 258, 259, 260, 261,
8406 : 262, 0, 803, 0, 263, 264, 265, 266, 267, 804,
8407 : 268, 269, 270, 0, 271, 272, 273, 274, 275, 276,
8408 : 0, 805, 277, 278, 279, 0, 0, 0, 806, 0,
8409 : 0, 846, 280, 281, 282, 283, 284, 285, 286, 287,
8410 : 288, 0, 289, 0, 290, 291, 292, 293, 294, 295,
8411 : 0, 296, 297, 298, 299, 0, 0, 300, 301, 302,
8412 : 303, 304, 0, 305, 306, 307, 0, 308, 309, 310,
8413 : 0, 311, 312, 313, 314, 315, 316, 317, 318, 319,
8414 : 0, 320, 0, 321, 322, 323, 324, 0, 325, 0,
8415 : 326, 807, 0, 808, 327, 328, 329, 330, 0, 331,
8416 : 332, 3275, 333, 334, 0, 335, 336, 337, 338, 339,
8417 : 809, 340, 341, 342, 343, 0, 344, 345, 346, 347,
8418 : 348, 349, 0, 350, 810, 351, 352, 353, 354, 355,
8419 : 356, 357, 0, 358, 0, 359, 811, 812, 360, 813,
8420 : 361, 362, 363, 364, 365, 0, 0, 366, 367, 814,
8421 : 368, 815, 0, 369, 370, 371, 0, 0, 372, 373,
8422 : 374, 375, 376, 377, 378, 379, 380, 381, 382, 383,
8423 : 384, 385, 386, 387, 388, 816, 389, 390, 391, 392,
8424 : 393, 0, 394, 395, 817, 396, 0, 397, 398, 399,
8425 : 400, 401, 402, 0, 403, 404, 0, 0, 405, 406,
8426 : 407, 0, 0, 408, 409, 818, 410, 819, 411, 412,
8427 : 413, 414, 415, 416, 417, 418, 419, 420, 0, 421,
8428 : 422, 423, 424, 425, 426, 427, 428, 0, 429, 430,
8429 : 431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
8430 : 441, 442, 0, 443, 444, 445, 446, 447, 448, 449,
8431 : 450, 451, 452, 453, 454, 0, 455, 456, 820, 457,
8432 : 458, 459, 460, 461, 462, 463, 464, 465, 466, 467,
8433 : 468, 469, 0, 470, 471, 472, 473, 474, 847, 475,
8434 : 476, 477, 478, 479, 821, 480, 481, 482, 483, 0,
8435 : 484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
8436 : 494, 495, 496, 0, 497, 498, 0, 499, 822, 500,
8437 : 501, 502, 503, 504, 0, 505, 506, 0, 0, 507,
8438 : 508, 509, 510, 511, 0, 512, 513, 514, 515, 516,
8439 : 517, 518, 0, 0, 519, 520, 521, 522, 523, 0,
8440 : 0, 524, 525, 526, 527, 528, 529, 530, 0, 531,
8441 : 823, 532, 533, 534, 535, 0, 0, 536, 0, 0,
8442 : 537, 538, 539, 540, 541, 542, 543, 544, 545, 546,
8443 : 547, 548, 549, 550, 551, 552, 553, 554, 555, 556,
8444 : 845, 0, 0, 0, 0, 0, 0, 0, 0, 0,
8445 : 0, 0, 0, 0, 0, 224, 225, 226, 227, 228,
8446 : 229, 230, 231, 0, 233, 234, 235, 0, 0, 0,
8447 : 0, 0, 0, 0, 236, 237, 0, 238, 239, 240,
8448 : 801, 241, 242, 243, 244, 245, 802, 246, 247, 0,
8449 : 248, 249, 250, 251, 252, 0, 0, 253, 254, 255,
8450 : 256, 257, 0, 258, 259, 260, 261, 262, 0, 803,
8451 : 0, 263, 264, 265, 266, 267, 804, 268, 269, 270,
8452 : 0, 271, 272, 273, 274, 275, 276, 0, 805, 277,
8453 : 278, 279, 0, 0, 0, 806, 0, 0, 846, 280,
8454 : 281, 282, 283, 284, 285, 286, 287, 288, 0, 289,
8455 : 0, 290, 291, 292, 293, 294, 295, 0, 296, 297,
8456 : 298, 299, 0, 0, 300, 301, 302, 303, 304, 0,
8457 : 305, 306, 307, 0, 308, 309, 310, 0, 311, 312,
8458 : 313, 314, 315, 316, 317, 318, 319, 0, 320, 0,
8459 : 321, 322, 323, 324, 0, 325, 0, 326, 807, 0,
8460 : 808, 327, 328, 329, 330, 0, 331, 332, 0, 333,
8461 : 334, 0, 335, 336, 337, 338, 339, 809, 340, 341,
8462 : 342, 343, 0, 344, 345, 346, 347, 348, 349, 0,
8463 : 350, 810, 351, 352, 353, 354, 355, 356, 357, 0,
8464 : 358, 0, 359, 811, 812, 360, 813, 361, 362, 363,
8465 : 364, 365, 0, 0, 366, 367, 814, 368, 815, 0,
8466 : 369, 370, 371, 0, 0, 372, 373, 374, 375, 376,
8467 : 377, 378, 379, 380, 381, 382, 383, 384, 385, 386,
8468 : 387, 388, 816, 389, 390, 391, 392, 393, 0, 394,
8469 : 395, 817, 396, 0, 397, 398, 399, 400, 401, 402,
8470 : 0, 403, 404, 0, 0, 405, 406, 407, 0, 0,
8471 : 408, 409, 818, 410, 819, 411, 412, 413, 414, 415,
8472 : 416, 417, 418, 419, 420, 0, 421, 422, 423, 424,
8473 : 425, 426, 427, 428, 0, 429, 430, 431, 432, 433,
8474 : 434, 435, 436, 437, 438, 439, 440, 441, 442, 0,
8475 : 443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
8476 : 453, 454, 0, 455, 456, 820, 457, 458, 459, 460,
8477 : 461, 462, 463, 464, 465, 466, 467, 468, 469, 0,
8478 : 470, 471, 472, 473, 474, 847, 475, 476, 477, 478,
8479 : 479, 821, 480, 481, 482, 483, 0, 484, 485, 486,
8480 : 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
8481 : 0, 497, 498, 0, 499, 822, 500, 501, 502, 503,
8482 : 504, 0, 505, 506, 0, 0, 507, 508, 509, 510,
8483 : 511, 0, 512, 513, 514, 515, 516, 517, 518, 0,
8484 : 0, 519, 520, 521, 522, 523, 0, 0, 524, 525,
8485 : 526, 527, 528, 529, 530, 0, 531, 823, 532, 533,
8486 : 534, 535, 0, 0, 536, 0, 0, 537, 538, 539,
8487 : 540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
8488 : 550, 551, 552, 553, 554, 555, 556, 845, 0, 0,
8489 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
8490 : 0, 0, 224, 225, 226, 227, 228, 229, 230, 231,
8491 : 0, 233, 234, 235, 0, 0, 0, 0, 0, 0,
8492 : 0, 236, 237, 0, 238, 239, 240, 801, 241, 242,
8493 : 243, 244, 245, 802, 246, 247, 0, 248, 249, 250,
8494 : 251, 252, 0, 0, 253, 254, 255, 256, 257, 0,
8495 : 258, 259, 260, 261, 262, 0, 803, 0, 263, 264,
8496 : 265, 266, 267, 804, 268, 269, 270, 0, 271, 272,
8497 : 273, 274, 275, 276, 0, 805, 277, 278, 279, 0,
8498 : 0, 0, 806, 0, 0, 846, 280, 281, 282, 283,
8499 : 284, 285, 286, 287, 288, 0, 289, 0, 290, 291,
8500 : 292, 293, 294, 295, 0, 296, 297, 298, 299, 0,
8501 : 0, 300, 301, 302, 303, 304, 0, 305, 306, 307,
8502 : 0, 308, 309, 310, 0, 311, 312, 313, 314, 315,
8503 : 316, 317, 318, 319, 0, 320, 0, 321, 322, 323,
8504 : 324, 0, 325, 0, 326, 807, 0, 808, 327, 328,
8505 : 329, 330, 0, 331, 332, 0, 333, 334, 0, 335,
8506 : 336, 337, 338, 339, 809, 340, 341, 342, 343, 0,
8507 : 344, 345, 346, 347, 348, 349, 0, 350, 810, 351,
8508 : 352, 353, 354, 355, 356, 357, 0, 358, 0, 359,
8509 : 811, 812, 360, 813, 361, 362, 363, 364, 365, 0,
8510 : 0, 366, 367, 814, 368, 815, 0, 369, 370, 371,
8511 : 0, 0, 372, 373, 374, 375, 1000, 377, 378, 379,
8512 : 380, 381, 382, 383, 384, 385, 386, 387, 388, 816,
8513 : 389, 390, 391, 392, 393, 0, 394, 395, 817, 396,
8514 : 0, 397, 398, 399, 400, 401, 402, 0, 403, 404,
8515 : 0, 0, 405, 406, 407, 0, 0, 408, 409, 818,
8516 : 410, 819, 411, 412, 413, 414, 415, 416, 417, 418,
8517 : 419, 420, 0, 421, 422, 423, 424, 425, 426, 427,
8518 : 428, 0, 429, 430, 431, 432, 433, 434, 435, 436,
8519 : 437, 438, 439, 440, 441, 442, 0, 443, 444, 445,
8520 : 446, 447, 448, 449, 450, 451, 452, 453, 454, 0,
8521 : 455, 456, 820, 457, 458, 459, 460, 461, 462, 463,
8522 : 464, 465, 466, 467, 468, 469, 0, 470, 471, 472,
8523 : 473, 474, 847, 475, 476, 477, 478, 479, 821, 480,
8524 : 481, 482, 483, 0, 484, 485, 486, 487, 488, 489,
8525 : 490, 491, 492, 493, 494, 495, 496, 0, 497, 498,
8526 : 0, 499, 822, 500, 501, 502, 503, 504, 0, 505,
8527 : 506, 0, 0, 507, 508, 509, 510, 511, 0, 512,
8528 : 513, 514, 515, 516, 517, 518, 0, 0, 519, 520,
8529 : 521, 522, 523, 0, 0, 524, 525, 526, 527, 528,
8530 : 529, 530, 0, 531, 823, 532, 533, 534, 535, 0,
8531 : 0, 536, 0, 0, 537, 538, 539, 540, 541, 542,
8532 : 543, 544, 545, 546, 547, 548, 549, 550, 551, 552,
8533 : 553, 554, 555, 556, 845, 0, 0, 0, 0, 0,
8534 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 224,
8535 : 225, 226, 227, 228, 229, 230, 231, 0, 233, 234,
8536 : 235, 0, 0, 0, 0, 0, 0, 0, 236, 237,
8537 : 0, 238, 239, 240, 801, 241, 242, 243, 244, 245,
8538 : 802, 246, 247, 0, 248, 249, 250, 251, 252, 0,
8539 : 0, 253, 254, 255, 256, 257, 0, 258, 259, 260,
8540 : 261, 262, 0, 803, 0, 263, 264, 265, 266, 267,
8541 : 804, 268, 269, 270, 0, 271, 272, 273, 274, 275,
8542 : 276, 0, 805, 277, 278, 279, 0, 0, 0, 806,
8543 : 0, 0, 846, 280, 281, 282, 283, 284, 285, 286,
8544 : 287, 288, 0, 289, 0, 290, 291, 292, 293, 294,
8545 : 295, 0, 296, 297, 298, 299, 0, 0, 300, 301,
8546 : 302, 303, 304, 0, 305, 306, 307, 0, 308, 309,
8547 : 310, 0, 311, 312, 313, 314, 315, 316, 317, 318,
8548 : 319, 0, 320, 0, 321, 322, 323, 324, 0, 325,
8549 : 0, 326, 807, 0, 808, 327, 328, 329, 330, 0,
8550 : 331, 332, 0, 333, 334, 0, 335, 336, 337, 338,
8551 : 1075, 809, 340, 341, 342, 343, 0, 344, 345, 346,
8552 : 347, 348, 349, 0, 350, 810, 351, 352, 353, 354,
8553 : 355, 356, 357, 0, 358, 0, 359, 811, 812, 360,
8554 : 813, 361, 362, 363, 364, 365, 0, 0, 366, 367,
8555 : 814, 368, 815, 0, 369, 370, 371, 0, 0, 372,
8556 : 373, 374, 375, 376, 377, 378, 379, 380, 381, 382,
8557 : 383, 384, 385, 386, 387, 388, 816, 389, 390, 391,
8558 : 392, 393, 0, 394, 395, 817, 396, 0, 397, 398,
8559 : 399, 400, 401, 402, 0, 403, 404, 0, 0, 405,
8560 : 406, 407, 0, 0, 408, 409, 818, 410, 819, 411,
8561 : 412, 413, 414, 415, 416, 417, 418, 419, 420, 0,
8562 : 421, 422, 423, 424, 425, 426, 427, 428, 0, 429,
8563 : 430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
8564 : 440, 441, 442, 0, 443, 444, 445, 446, 447, 448,
8565 : 449, 450, 451, 452, 453, 454, 0, 455, 456, 820,
8566 : 457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
8567 : 467, 468, 469, 0, 470, 471, 472, 473, 474, 847,
8568 : 475, 476, 477, 478, 479, 821, 480, 481, 482, 483,
8569 : 0, 484, 485, 486, 487, 488, 489, 490, 491, 492,
8570 : 493, 494, 495, 496, 0, 497, 498, 0, 499, 822,
8571 : 500, 501, 502, 503, 504, 0, 505, 506, 0, 0,
8572 : 507, 508, 509, 510, 511, 0, 512, 513, 514, 515,
8573 : 516, 517, 518, 0, 0, 519, 520, 521, 522, 523,
8574 : 0, 0, 524, 525, 526, 527, 528, 529, 530, 0,
8575 : 531, 823, 532, 533, 534, 535, 0, 0, 536, 0,
8576 : 0, 537, 538, 539, 540, 541, 542, 543, 544, 545,
8577 : 546, 547, 548, 549, 550, 551, 552, 553, 554, 555,
8578 : 556, 845, 0, 0, 0, 0, 0, 0, 0, 0,
8579 : 0, 0, 0, 0, 0, 0, 224, 225, 226, 227,
8580 : 228, 229, 230, 231, 0, 233, 234, 235, 0, 0,
8581 : 0, 0, 0, 0, 0, 236, 237, 0, 238, 239,
8582 : 240, 801, 241, 242, 243, 244, 245, 802, 246, 247,
8583 : 0, 248, 249, 250, 251, 252, 0, 0, 253, 254,
8584 : 255, 256, 257, 0, 258, 259, 260, 261, 262, 0,
8585 : 803, 0, 263, 264, 265, 266, 267, 804, 268, 269,
8586 : 270, 0, 271, 272, 273, 274, 275, 276, 0, 805,
8587 : 277, 278, 279, 0, 0, 0, 806, 0, 0, 846,
8588 : 280, 281, 282, 283, 284, 285, 286, 287, 288, 0,
8589 : 289, 0, 290, 291, 292, 293, 294, 295, 0, 296,
8590 : 297, 298, 299, 0, 0, 300, 301, 302, 303, 304,
8591 : 0, 305, 306, 307, 0, 308, 309, 310, 0, 311,
8592 : 312, 313, 314, 315, 316, 317, 318, 319, 0, 320,
8593 : 0, 321, 322, 323, 324, 0, 325, 0, 326, 807,
8594 : 0, 808, 327, 328, 329, 330, 0, 331, 332, 0,
8595 : 333, 334, 0, 335, 336, 337, 338, 1086, 809, 340,
8596 : 341, 342, 343, 0, 344, 345, 346, 347, 348, 349,
8597 : 0, 350, 810, 351, 352, 353, 354, 355, 356, 357,
8598 : 0, 358, 0, 359, 811, 812, 360, 813, 361, 362,
8599 : 363, 364, 365, 0, 0, 366, 367, 814, 368, 815,
8600 : 0, 369, 370, 371, 0, 0, 372, 373, 374, 375,
8601 : 376, 377, 378, 379, 380, 381, 382, 383, 384, 385,
8602 : 386, 387, 388, 816, 389, 390, 391, 392, 393, 0,
8603 : 394, 395, 817, 396, 0, 397, 398, 399, 400, 401,
8604 : 402, 0, 403, 404, 0, 0, 405, 406, 407, 0,
8605 : 0, 408, 409, 818, 410, 819, 411, 412, 413, 414,
8606 : 415, 416, 417, 418, 419, 420, 0, 421, 422, 423,
8607 : 424, 425, 426, 427, 428, 0, 429, 430, 431, 432,
8608 : 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
8609 : 0, 443, 444, 445, 446, 447, 448, 449, 450, 451,
8610 : 452, 453, 454, 0, 455, 456, 820, 457, 458, 459,
8611 : 460, 461, 462, 463, 464, 465, 466, 467, 468, 469,
8612 : 0, 470, 471, 472, 473, 474, 847, 475, 476, 477,
8613 : 478, 479, 821, 480, 481, 482, 483, 0, 484, 485,
8614 : 486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
8615 : 496, 0, 497, 498, 0, 499, 822, 500, 501, 502,
8616 : 503, 504, 0, 505, 506, 0, 0, 507, 508, 509,
8617 : 510, 511, 0, 512, 513, 514, 515, 516, 517, 518,
8618 : 0, 0, 519, 520, 521, 522, 523, 0, 0, 524,
8619 : 525, 526, 527, 528, 529, 530, 0, 531, 823, 532,
8620 : 533, 534, 535, 0, 0, 536, 0, 0, 537, 538,
8621 : 539, 540, 541, 542, 543, 544, 545, 546, 547, 548,
8622 : 549, 550, 551, 552, 553, 554, 555, 556, 845, 0,
8623 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
8624 : 0, 0, 0, 224, 225, 226, 227, 228, 229, 230,
8625 : 231, 0, 233, 234, 235, 0, 0, 0, 0, 0,
8626 : 0, 0, 236, 237, 0, 238, 239, 240, 801, 241,
8627 : 242, 243, 244, 245, 802, 246, 247, 0, 248, 249,
8628 : 250, 251, 252, 0, 0, 253, 254, 255, 256, 257,
8629 : 0, 258, 259, 260, 261, 262, 0, 803, 0, 263,
8630 : 264, 265, 266, 267, 804, 268, 269, 270, 0, 271,
8631 : 272, 273, 274, 275, 276, 0, 805, 277, 278, 279,
8632 : 0, 0, 0, 806, 0, 0, 846, 280, 281, 282,
8633 : 283, 284, 285, 286, 287, 288, 0, 289, 0, 290,
8634 : 291, 292, 293, 294, 295, 0, 296, 297, 298, 299,
8635 : 0, 0, 300, 301, 302, 303, 304, 0, 305, 306,
8636 : 307, 0, 308, 309, 310, 0, 311, 312, 313, 314,
8637 : 315, 316, 317, 318, 319, 0, 320, 0, 321, 322,
8638 : 323, 324, 0, 325, 0, 326, 807, 0, 808, 327,
8639 : 328, 329, 330, 0, 331, 332, 0, 333, 334, 0,
8640 : 335, 336, 337, 338, 1096, 809, 340, 341, 342, 343,
8641 : 0, 344, 345, 346, 347, 348, 349, 0, 350, 810,
8642 : 351, 352, 353, 354, 355, 356, 357, 0, 358, 0,
8643 : 359, 811, 812, 360, 813, 361, 362, 363, 364, 365,
8644 : 0, 0, 366, 367, 814, 368, 815, 0, 369, 370,
8645 : 371, 0, 0, 372, 373, 374, 375, 1097, 377, 378,
8646 : 379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
8647 : 816, 389, 390, 391, 392, 393, 0, 394, 395, 817,
8648 : 396, 0, 397, 398, 399, 400, 401, 402, 0, 403,
8649 : 404, 0, 0, 405, 406, 407, 0, 0, 408, 409,
8650 : 818, 410, 819, 411, 412, 413, 414, 415, 416, 417,
8651 : 418, 419, 420, 0, 421, 422, 423, 424, 425, 426,
8652 : 427, 428, 0, 429, 430, 431, 432, 433, 434, 435,
8653 : 436, 437, 438, 439, 440, 441, 442, 0, 443, 444,
8654 : 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
8655 : 0, 455, 456, 820, 457, 458, 459, 460, 461, 462,
8656 : 463, 464, 465, 466, 467, 468, 469, 0, 470, 471,
8657 : 472, 473, 474, 847, 475, 476, 477, 478, 479, 821,
8658 : 480, 481, 482, 483, 0, 484, 485, 486, 487, 488,
8659 : 489, 490, 491, 492, 493, 494, 495, 496, 0, 497,
8660 : 498, 0, 499, 822, 500, 501, 502, 503, 504, 0,
8661 : 505, 506, 0, 0, 507, 508, 509, 510, 511, 0,
8662 : 512, 513, 514, 515, 516, 517, 518, 0, 0, 519,
8663 : 520, 521, 522, 523, 0, 0, 524, 525, 526, 527,
8664 : 528, 529, 530, 0, 531, 823, 532, 533, 534, 535,
8665 : 0, 0, 536, 0, 0, 537, 538, 539, 540, 541,
8666 : 542, 543, 544, 545, 546, 547, 548, 549, 550, 551,
8667 : 552, 553, 554, 555, 556, 845, 0, 617, 0, 0,
8668 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
8669 : 224, 225, 226, 227, 228, 229, 230, 231, 0, 233,
8670 : 234, 235, 0, 0, 0, 0, 0, 0, 0, 236,
8671 : 237, 0, 238, 239, 240, 801, 241, 242, 243, 244,
8672 : 245, 802, 246, 247, 0, 248, 249, 250, 251, 252,
8673 : 0, 0, 253, 254, 255, 256, 257, 0, 258, 259,
8674 : 260, 261, 262, 0, 803, 0, 263, 264, 265, 266,
8675 : 267, 804, 268, 269, 270, 0, 271, 272, 273, 274,
8676 : 275, 276, 0, 805, 277, 278, 279, 0, 0, 0,
8677 : 806, 0, 0, 0, 280, 281, 282, 283, 284, 285,
8678 : 286, 287, 288, 1917, 289, 0, 290, 291, 292, 293,
8679 : 294, 295, 0, 296, 297, 298, 299, 0, 0, 300,
8680 : 301, 302, 303, 304, 0, 305, 306, 307, 0, 308,
8681 : 309, 310, 0, 311, 312, 313, 314, 315, 316, 317,
8682 : 318, 319, 0, 320, 0, 321, 322, 323, 324, 0,
8683 : 325, 0, 326, 807, 0, 808, 327, 328, 329, 330,
8684 : 0, 331, 332, 0, 333, 334, 0, 335, 336, 337,
8685 : 338, 339, 809, 340, 341, 342, 343, 0, 344, 345,
8686 : 346, 347, 348, 349, 0, 350, 810, 351, 352, 353,
8687 : 354, 355, 356, 357, 0, 358, 0, 359, 811, 812,
8688 : 360, 813, 361, 362, 363, 364, 365, 0, 0, 366,
8689 : 367, 814, 368, 815, 0, 369, 370, 371, 0, 0,
8690 : 372, 373, 374, 375, 376, 377, 378, 379, 380, 381,
8691 : 382, 383, 384, 385, 386, 387, 388, 816, 389, 390,
8692 : 391, 392, 393, 0, 394, 395, 817, 396, 0, 397,
8693 : 398, 399, 400, 401, 402, 0, 403, 404, 0, 0,
8694 : 405, 406, 407, 0, 0, 408, 409, 818, 410, 819,
8695 : 411, 412, 413, 414, 415, 416, 417, 418, 419, 420,
8696 : 0, 421, 422, 423, 424, 425, 426, 427, 428, 0,
8697 : 429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
8698 : 439, 440, 441, 442, 0, 443, 444, 445, 446, 447,
8699 : 448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
8700 : 820, 457, 458, 459, 460, 461, 462, 463, 464, 465,
8701 : 466, 467, 468, 469, 0, 470, 471, 472, 473, 474,
8702 : 0, 475, 476, 477, 478, 479, 821, 480, 481, 482,
8703 : 483, 0, 484, 485, 486, 487, 488, 489, 490, 491,
8704 : 492, 493, 494, 495, 496, 0, 497, 498, 0, 499,
8705 : 822, 500, 501, 502, 503, 504, 0, 505, 506, 0,
8706 : 0, 507, 508, 509, 510, 511, 0, 512, 513, 514,
8707 : 515, 516, 517, 518, 0, 0, 519, 520, 521, 522,
8708 : 523, 0, 0, 524, 525, 526, 527, 528, 529, 530,
8709 : 0, 531, 823, 532, 533, 534, 535, 0, 0, 536,
8710 : 0, 0, 537, 538, 539, 540, 541, 542, 543, 544,
8711 : 545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
8712 : 555, 556, 845, 0, 0, 0, 0, 0, 0, 0,
8713 : 0, 0, 0, 0, 0, 0, 0, 224, 225, 226,
8714 : 227, 228, 229, 230, 231, 0, 233, 234, 235, 3,
8715 : 4, 0, 0, 0, 0, 0, 236, 237, 0, 238,
8716 : 239, 240, 801, 241, 242, 243, 244, 245, 802, 246,
8717 : 247, 0, 248, 249, 250, 251, 252, 0, 0, 253,
8718 : 254, 255, 256, 257, 0, 258, 259, 260, 261, 262,
8719 : 0, 803, 0, 263, 264, 265, 266, 267, 804, 268,
8720 : 269, 270, 0, 271, 272, 273, 274, 275, 276, 0,
8721 : 805, 277, 278, 279, 0, 0, 0, 806, 0, 0,
8722 : 0, 280, 281, 282, 283, 284, 285, 286, 287, 288,
8723 : 0, 289, 0, 290, 291, 292, 293, 294, 295, 0,
8724 : 296, 297, 298, 299, 0, 0, 300, 301, 302, 303,
8725 : 304, 0, 305, 306, 307, 0, 308, 309, 310, 0,
8726 : 311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
8727 : 320, 0, 321, 322, 323, 324, 0, 325, 0, 326,
8728 : 807, 0, 808, 327, 328, 329, 330, 0, 331, 332,
8729 : 0, 333, 334, 0, 335, 336, 337, 338, 339, 809,
8730 : 340, 341, 342, 343, 0, 344, 345, 346, 347, 348,
8731 : 349, 0, 350, 810, 351, 352, 353, 354, 355, 356,
8732 : 357, 0, 358, 0, 359, 811, 812, 360, 813, 361,
8733 : 362, 363, 364, 365, 0, 0, 366, 367, 814, 368,
8734 : 815, 0, 369, 370, 371, 0, 0, 372, 373, 374,
8735 : 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
8736 : 385, 386, 387, 388, 816, 389, 390, 391, 392, 393,
8737 : 0, 394, 395, 817, 396, 0, 397, 398, 399, 400,
8738 : 401, 402, 0, 403, 404, 0, 0, 405, 406, 407,
8739 : 0, 0, 408, 409, 818, 410, 819, 411, 412, 413,
8740 : 414, 415, 416, 417, 418, 419, 420, 0, 421, 422,
8741 : 423, 424, 425, 426, 427, 428, 0, 429, 430, 431,
8742 : 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
8743 : 442, 0, 443, 444, 445, 446, 447, 448, 449, 450,
8744 : 451, 452, 453, 454, 0, 455, 456, 820, 457, 458,
8745 : 459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
8746 : 469, 0, 470, 471, 472, 473, 474, 0, 475, 476,
8747 : 477, 478, 479, 821, 480, 481, 482, 483, 0, 484,
8748 : 485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
8749 : 495, 496, 0, 497, 498, 0, 499, 822, 500, 501,
8750 : 502, 503, 504, 0, 505, 506, 0, 0, 507, 508,
8751 : 509, 510, 511, 0, 512, 513, 514, 515, 516, 517,
8752 : 518, 0, 0, 519, 520, 521, 522, 523, 0, 0,
8753 : 524, 525, 526, 527, 528, 529, 530, 0, 531, 823,
8754 : 532, 533, 534, 535, 0, 0, 536, 0, 0, 537,
8755 : 538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
8756 : 548, 549, 550, 551, 552, 553, 554, 555, 556, 845,
8757 : 0, 617, 0, 0, 0, 0, 0, 0, 0, 0,
8758 : 0, 0, 0, 0, 224, 225, 226, 227, 228, 229,
8759 : 230, 231, 0, 233, 234, 235, 0, 0, 0, 0,
8760 : 0, 0, 0, 236, 237, 0, 238, 239, 240, 801,
8761 : 241, 242, 243, 244, 245, 802, 246, 247, 0, 248,
8762 : 249, 250, 251, 252, 0, 0, 253, 254, 255, 256,
8763 : 257, 0, 258, 259, 260, 261, 262, 0, 803, 0,
8764 : 263, 264, 265, 266, 267, 804, 268, 269, 270, 0,
8765 : 271, 272, 273, 274, 275, 276, 0, 805, 277, 278,
8766 : 279, 0, 0, 0, 806, 0, 0, 0, 280, 281,
8767 : 282, 283, 284, 285, 286, 287, 288, 0, 289, 0,
8768 : 290, 291, 292, 293, 294, 295, 0, 296, 297, 298,
8769 : 299, 0, 0, 300, 301, 302, 303, 304, 0, 305,
8770 : 306, 307, 0, 308, 309, 310, 0, 311, 312, 313,
8771 : 314, 315, 316, 317, 318, 319, 0, 320, 0, 321,
8772 : 322, 323, 324, 0, 325, 0, 326, 807, 0, 808,
8773 : 327, 328, 329, 330, 0, 331, 332, 0, 333, 334,
8774 : 0, 335, 336, 337, 338, 339, 809, 340, 341, 342,
8775 : 343, 0, 344, 345, 346, 347, 348, 349, 0, 350,
8776 : 810, 351, 352, 353, 354, 355, 356, 357, 0, 358,
8777 : 0, 359, 811, 812, 360, 813, 361, 362, 363, 364,
8778 : 365, 0, 0, 366, 367, 814, 368, 815, 0, 369,
8779 : 370, 371, 0, 0, 372, 373, 374, 375, 376, 377,
8780 : 378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
8781 : 388, 816, 389, 390, 391, 392, 393, 0, 394, 395,
8782 : 817, 396, 0, 397, 398, 399, 400, 401, 402, 0,
8783 : 403, 404, 0, 0, 405, 406, 407, 0, 0, 408,
8784 : 409, 818, 410, 819, 411, 412, 413, 414, 415, 416,
8785 : 417, 418, 419, 420, 0, 421, 422, 423, 424, 425,
8786 : 426, 427, 428, 0, 429, 430, 431, 432, 433, 434,
8787 : 435, 436, 437, 438, 439, 440, 441, 442, 0, 443,
8788 : 444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
8789 : 454, 0, 455, 456, 820, 457, 458, 459, 460, 461,
8790 : 462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
8791 : 471, 472, 473, 474, 0, 475, 476, 477, 478, 479,
8792 : 821, 480, 481, 482, 483, 0, 484, 485, 486, 487,
8793 : 488, 489, 490, 491, 492, 493, 494, 495, 496, 0,
8794 : 497, 498, 0, 499, 822, 500, 501, 502, 503, 504,
8795 : 0, 505, 506, 0, 0, 507, 508, 509, 510, 511,
8796 : 0, 512, 513, 514, 515, 516, 517, 518, 0, 0,
8797 : 519, 520, 521, 522, 523, 0, 0, 524, 525, 526,
8798 : 527, 528, 529, 530, 0, 531, 823, 532, 533, 534,
8799 : 535, 0, 0, 536, 0, 0, 537, 538, 539, 540,
8800 : 541, 542, 543, 544, 545, 546, 547, 548, 549, 550,
8801 : 551, 552, 553, 554, 555, 556, 845, 0, 617, 0,
8802 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
8803 : 0, 224, 225, 226, 227, 228, 229, 230, 231, 0,
8804 : 233, 234, 235, 0, 0, 0, 0, 0, 0, 0,
8805 : 236, 237, 0, 238, 239, 240, 801, 241, 242, 243,
8806 : 244, 245, 802, 246, 247, 0, 248, 249, 250, 251,
8807 : 252, 0, 0, 253, 254, 255, 256, 257, 0, 258,
8808 : 259, 260, 261, 262, 0, 803, 0, 263, 264, 265,
8809 : 266, 267, 804, 268, 269, 270, 0, 271, 272, 273,
8810 : 274, 275, 276, 0, 805, 277, 278, 279, 0, 0,
8811 : 0, 806, 0, 0, 0, 280, 281, 282, 283, 284,
8812 : 285, 286, 287, 288, 0, 289, 0, 290, 291, 292,
8813 : 293, 294, 295, 0, 296, 297, 298, 299, 0, 0,
8814 : 300, 301, 302, 303, 304, 0, 305, 306, 307, 0,
8815 : 308, 309, 310, 0, 311, 312, 313, 314, 315, 316,
8816 : 317, 318, 319, 0, 320, 0, 321, 322, 323, 324,
8817 : 0, 325, 0, 326, 807, 0, 808, 327, 328, 329,
8818 : 330, 0, 331, 332, 0, 333, 334, 0, 335, 336,
8819 : 337, 338, 1742, 809, 340, 341, 342, 343, 0, 344,
8820 : 345, 346, 347, 348, 349, 0, 350, 810, 351, 352,
8821 : 353, 354, 355, 356, 357, 0, 358, 0, 359, 811,
8822 : 812, 360, 813, 361, 362, 363, 364, 365, 0, 0,
8823 : 366, 367, 814, 368, 815, 0, 369, 370, 371, 0,
8824 : 0, 372, 373, 374, 375, 376, 377, 378, 379, 380,
8825 : 381, 382, 383, 384, 385, 386, 387, 388, 816, 389,
8826 : 390, 391, 392, 393, 0, 394, 395, 817, 396, 0,
8827 : 397, 398, 399, 400, 401, 402, 0, 403, 404, 0,
8828 : 0, 405, 406, 407, 0, 0, 408, 409, 818, 410,
8829 : 819, 411, 412, 413, 414, 415, 416, 417, 418, 419,
8830 : 420, 0, 421, 422, 423, 424, 425, 426, 427, 428,
8831 : 0, 429, 430, 431, 432, 433, 434, 435, 436, 437,
8832 : 438, 439, 440, 441, 442, 0, 443, 444, 445, 446,
8833 : 447, 448, 449, 450, 451, 452, 453, 454, 0, 455,
8834 : 456, 820, 457, 458, 459, 460, 461, 462, 463, 464,
8835 : 465, 466, 467, 468, 469, 0, 470, 471, 472, 473,
8836 : 474, 0, 475, 476, 477, 478, 479, 821, 480, 481,
8837 : 482, 483, 0, 484, 485, 486, 487, 488, 489, 490,
8838 : 491, 492, 493, 494, 495, 496, 0, 497, 498, 0,
8839 : 499, 822, 500, 501, 502, 503, 504, 0, 505, 506,
8840 : 0, 0, 507, 508, 509, 510, 511, 0, 512, 513,
8841 : 514, 515, 516, 517, 518, 0, 0, 519, 520, 521,
8842 : 522, 523, 0, 0, 524, 525, 526, 527, 528, 529,
8843 : 530, 0, 531, 823, 532, 533, 534, 535, 0, 0,
8844 : 536, 0, 0, 537, 538, 539, 540, 541, 542, 543,
8845 : 544, 545, 546, 547, 548, 549, 550, 551, 552, 553,
8846 : 554, 555, 556, 800, 0, 0, 0, 0, 0, 0,
8847 : 0, 0, 0, 0, 0, 0, 0, 0, 224, 225,
8848 : 226, 227, 228, 229, 230, 231, 0, 233, 234, 235,
8849 : 0, 0, 0, 0, 0, 0, 0, 236, 237, 0,
8850 : 238, 239, 240, 801, 241, 242, 243, 244, 245, 802,
8851 : 246, 247, 0, 248, 249, 250, 251, 252, 0, 0,
8852 : 253, 254, 255, 256, 257, 0, 258, 259, 260, 261,
8853 : 262, 0, 803, 0, 263, 264, 265, 266, 267, 804,
8854 : 268, 269, 270, 0, 271, 272, 273, 274, 275, 276,
8855 : 0, 805, 277, 278, 279, 0, 0, 0, 806, 0,
8856 : 0, 0, 280, 281, 282, 283, 284, 285, 286, 287,
8857 : 288, 0, 289, 0, 290, 291, 292, 293, 294, 295,
8858 : 0, 296, 297, 298, 299, 0, 0, 300, 301, 302,
8859 : 303, 304, 0, 305, 306, 307, 0, 308, 309, 310,
8860 : 0, 311, 312, 313, 314, 315, 316, 317, 318, 319,
8861 : 0, 320, 0, 321, 322, 323, 324, 0, 325, 0,
8862 : 326, 807, 0, 808, 327, 328, 329, 330, 0, 331,
8863 : 332, 0, 333, 334, 0, 335, 336, 337, 338, 339,
8864 : 809, 340, 341, 342, 343, 0, 344, 345, 346, 347,
8865 : 348, 349, 0, 350, 810, 351, 352, 353, 354, 355,
8866 : 356, 357, 0, 358, 0, 359, 811, 812, 360, 813,
8867 : 361, 362, 363, 364, 365, 0, 0, 366, 367, 814,
8868 : 368, 815, 0, 369, 370, 371, 0, 0, 372, 373,
8869 : 374, 375, 376, 377, 378, 379, 380, 381, 382, 383,
8870 : 384, 385, 386, 387, 388, 816, 389, 390, 391, 392,
8871 : 393, 0, 394, 395, 817, 396, 0, 397, 398, 399,
8872 : 400, 401, 402, 0, 403, 404, 0, 0, 405, 406,
8873 : 407, 0, 0, 408, 409, 818, 410, 819, 411, 412,
8874 : 413, 414, 415, 416, 417, 418, 419, 420, 0, 421,
8875 : 422, 423, 424, 425, 426, 427, 428, 0, 429, 430,
8876 : 431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
8877 : 441, 442, 0, 443, 444, 445, 446, 447, 448, 449,
8878 : 450, 451, 452, 453, 454, 0, 455, 456, 820, 457,
8879 : 458, 459, 460, 461, 462, 463, 464, 465, 466, 467,
8880 : 468, 469, 0, 470, 471, 472, 473, 474, 0, 475,
8881 : 476, 477, 478, 479, 821, 480, 481, 482, 483, 0,
8882 : 484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
8883 : 494, 495, 496, 0, 497, 498, 0, 499, 822, 500,
8884 : 501, 502, 503, 504, 0, 505, 506, 0, 0, 507,
8885 : 508, 509, 510, 511, 0, 512, 513, 514, 515, 516,
8886 : 517, 518, 0, 0, 519, 520, 521, 522, 523, 0,
8887 : 0, 524, 525, 526, 527, 528, 529, 530, 0, 531,
8888 : 823, 532, 533, 534, 535, 0, 0, 536, 0, 0,
8889 : 537, 538, 539, 540, 541, 542, 543, 544, 545, 546,
8890 : 547, 548, 549, 550, 551, 552, 553, 554, 555, 556,
8891 : 800, 0, 0, 0, 0, 0, 0, 0, 0, 0,
8892 : 0, 0, 0, 0, 0, 224, 225, 226, 227, 228,
8893 : 229, 230, 231, 0, 233, 234, 235, 0, 0, 0,
8894 : 0, 0, 0, 0, 236, 237, 0, 238, 239, 240,
8895 : 801, 241, 242, 243, 244, 245, 802, 246, 247, 0,
8896 : 248, 249, 250, 251, 252, 0, 0, 253, 254, 255,
8897 : 256, 257, 0, 258, 259, 260, 261, 262, 0, 803,
8898 : 0, 263, 264, 265, 266, 267, 804, 268, 269, 270,
8899 : 0, 271, 272, 273, 274, 275, 276, 0, 805, 277,
8900 : 278, 279, 0, 0, 0, 806, 0, 0, 0, 280,
8901 : 281, 282, 283, 284, 285, 286, 287, 288, 0, 289,
8902 : 0, 290, 291, 292, 293, 294, 295, 0, 296, 297,
8903 : 298, 299, 0, 0, 300, 301, 302, 303, 304, 0,
8904 : 305, 306, 307, 0, 308, 309, 310, 0, 311, 312,
8905 : 313, 314, 315, 316, 317, 318, 319, 0, 320, 0,
8906 : 321, 322, 323, 324, 0, 325, 0, 326, 807, 0,
8907 : 808, 327, 328, 329, 330, 0, 331, 332, 0, 333,
8908 : 334, 0, 335, 336, 337, 338, 1022, 809, 340, 341,
8909 : 342, 343, 0, 344, 345, 346, 347, 348, 349, 0,
8910 : 350, 810, 351, 352, 353, 354, 355, 356, 357, 0,
8911 : 358, 0, 359, 811, 812, 360, 813, 361, 362, 363,
8912 : 364, 365, 0, 0, 366, 367, 814, 368, 815, 0,
8913 : 369, 370, 371, 0, 0, 372, 373, 374, 375, 376,
8914 : 377, 378, 379, 380, 381, 382, 383, 384, 385, 386,
8915 : 387, 388, 816, 389, 390, 391, 392, 393, 0, 394,
8916 : 395, 817, 396, 0, 397, 398, 399, 400, 401, 402,
8917 : 0, 403, 404, 0, 0, 405, 406, 407, 0, 0,
8918 : 408, 409, 818, 410, 819, 411, 412, 413, 414, 415,
8919 : 416, 417, 418, 419, 420, 0, 421, 422, 423, 424,
8920 : 425, 426, 427, 428, 0, 429, 430, 431, 432, 433,
8921 : 434, 435, 436, 437, 438, 439, 440, 441, 442, 0,
8922 : 443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
8923 : 453, 454, 0, 455, 456, 820, 457, 458, 459, 460,
8924 : 461, 462, 463, 464, 465, 466, 467, 468, 469, 0,
8925 : 470, 471, 472, 473, 474, 0, 475, 476, 477, 478,
8926 : 479, 821, 480, 481, 482, 483, 0, 484, 485, 486,
8927 : 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
8928 : 0, 497, 498, 0, 499, 822, 500, 501, 502, 503,
8929 : 504, 0, 505, 506, 0, 0, 507, 508, 509, 510,
8930 : 511, 0, 512, 513, 514, 515, 516, 517, 518, 0,
8931 : 0, 519, 520, 521, 522, 523, 0, 0, 524, 525,
8932 : 526, 527, 528, 529, 530, 0, 531, 823, 532, 533,
8933 : 534, 535, 0, 0, 536, 0, 0, 537, 538, 539,
8934 : 540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
8935 : 550, 551, 552, 553, 554, 555, 556, 800, 0, 0,
8936 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
8937 : 0, 0, 224, 225, 226, 227, 228, 229, 230, 231,
8938 : 0, 233, 234, 235, 0, 0, 0, 0, 0, 0,
8939 : 0, 236, 237, 0, 238, 239, 240, 801, 241, 242,
8940 : 243, 244, 245, 802, 246, 247, 0, 248, 249, 250,
8941 : 251, 252, 0, 0, 253, 254, 255, 256, 257, 0,
8942 : 258, 259, 260, 261, 262, 0, 803, 0, 263, 264,
8943 : 265, 266, 267, 804, 268, 269, 270, 0, 271, 272,
8944 : 273, 274, 275, 276, 0, 805, 277, 278, 279, 0,
8945 : 0, 0, 806, 0, 0, 0, 280, 281, 282, 283,
8946 : 284, 285, 286, 287, 288, 0, 289, 0, 290, 291,
8947 : 292, 293, 294, 295, 0, 296, 297, 298, 299, 0,
8948 : 0, 300, 301, 302, 303, 304, 0, 305, 306, 307,
8949 : 0, 308, 309, 310, 0, 311, 312, 313, 314, 315,
8950 : 316, 317, 318, 319, 0, 320, 0, 321, 322, 323,
8951 : 324, 0, 325, 0, 326, 807, 0, 808, 327, 328,
8952 : 329, 330, 0, 331, 332, 0, 333, 334, 0, 335,
8953 : 336, 337, 338, 1072, 809, 340, 341, 342, 343, 0,
8954 : 344, 345, 346, 347, 348, 349, 0, 350, 810, 351,
8955 : 352, 353, 354, 355, 356, 357, 0, 358, 0, 359,
8956 : 811, 812, 360, 813, 361, 362, 363, 364, 365, 0,
8957 : 0, 366, 367, 814, 368, 815, 0, 369, 370, 371,
8958 : 0, 0, 372, 373, 374, 375, 376, 377, 378, 379,
8959 : 380, 381, 382, 383, 384, 385, 386, 387, 388, 816,
8960 : 389, 390, 391, 392, 393, 0, 394, 395, 817, 396,
8961 : 0, 397, 398, 399, 400, 401, 402, 0, 403, 404,
8962 : 0, 0, 405, 406, 407, 0, 0, 408, 409, 818,
8963 : 410, 819, 411, 412, 413, 414, 415, 416, 417, 418,
8964 : 419, 420, 0, 421, 422, 423, 424, 425, 426, 427,
8965 : 428, 0, 429, 430, 431, 432, 433, 434, 435, 436,
8966 : 437, 438, 439, 440, 441, 442, 0, 443, 444, 445,
8967 : 446, 447, 448, 449, 450, 451, 452, 453, 454, 0,
8968 : 455, 456, 820, 457, 458, 459, 460, 461, 462, 463,
8969 : 464, 465, 466, 467, 468, 469, 0, 470, 471, 472,
8970 : 473, 474, 0, 475, 476, 477, 478, 479, 821, 480,
8971 : 481, 482, 483, 0, 484, 485, 486, 487, 488, 489,
8972 : 490, 491, 492, 493, 494, 495, 496, 0, 497, 498,
8973 : 0, 499, 822, 500, 501, 502, 503, 504, 0, 505,
8974 : 506, 0, 0, 507, 508, 509, 510, 511, 0, 512,
8975 : 513, 514, 515, 516, 517, 518, 0, 0, 519, 520,
8976 : 521, 522, 523, 0, 0, 524, 525, 526, 527, 528,
8977 : 529, 530, 0, 531, 823, 532, 533, 534, 535, 0,
8978 : 0, 536, 0, 0, 537, 538, 539, 540, 541, 542,
8979 : 543, 544, 545, 546, 547, 548, 549, 550, 551, 552,
8980 : 553, 554, 555, 556, 223, 0, 0, 0, 0, 0,
8981 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 224,
8982 : 225, 226, 227, 228, 229, 230, 231, 0, 233, 234,
8983 : 235, 0, 0, 0, 0, 0, 0, 0, 236, 237,
8984 : 0, 238, 239, 240, 0, 241, 242, 243, 244, 245,
8985 : 0, 246, 247, 0, 248, 249, 250, 251, 252, 0,
8986 : 0, 253, 254, 255, 256, 257, 2124, 258, 259, 260,
8987 : 261, 262, 0, 0, 2201, 263, 264, 265, 266, 267,
8988 : 0, 268, 269, 270, 2125, 271, 272, 273, 274, 275,
8989 : 276, 0, 0, 277, 278, 279, 0, 0, 0, 0,
8990 : 0, 0, 0, 280, 281, 282, 283, 284, 285, 286,
8991 : 287, 288, 0, 289, 0, 290, 291, 292, 293, 294,
8992 : 295, 0, 296, 297, 298, 299, 0, 0, 300, 301,
8993 : 302, 303, 304, 0, 305, 306, 307, 0, 308, 309,
8994 : 310, 0, 2202, 312, 313, 314, 315, 316, 317, 318,
8995 : 319, 0, 320, 0, 321, 322, 323, 324, 0, 325,
8996 : 2127, 326, 0, 0, 0, 327, 328, 329, 330, 0,
8997 : 331, 332, 0, 333, 334, 0, 335, 336, 337, 338,
8998 : 2203, 0, 340, 341, 342, 343, 0, 344, 345, 346,
8999 : 347, 348, 349, 0, 350, 0, 351, 352, 353, 354,
9000 : 355, 356, 357, 0, 358, 0, 359, 0, 0, 360,
9001 : 0, 361, 362, 363, 364, 365, 0, 0, 366, 367,
9002 : 0, 368, 0, 0, 369, 370, 371, 0, 0, 372,
9003 : 373, 374, 375, 376, 377, 378, 379, 380, 381, 382,
9004 : 383, 384, 385, 386, 387, 388, 0, 389, 390, 391,
9005 : 392, 393, 0, 394, 395, 0, 396, 0, 397, 398,
9006 : 399, 400, 401, 402, 0, 403, 404, 0, 0, 405,
9007 : 406, 407, 0, 0, 408, 409, 0, 410, 0, 411,
9008 : 412, 413, 414, 415, 416, 417, 418, 419, 420, 0,
9009 : 421, 422, 423, 424, 425, 426, 427, 428, 2128, 429,
9010 : 430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
9011 : 440, 441, 442, 0, 443, 444, 445, 446, 447, 448,
9012 : 449, 450, 451, 452, 453, 454, 0, 455, 456, 0,
9013 : 457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
9014 : 467, 468, 469, 0, 470, 471, 472, 473, 474, 0,
9015 : 475, 476, 477, 478, 479, 0, 480, 481, 482, 483,
9016 : 0, 484, 485, 486, 487, 488, 489, 490, 491, 492,
9017 : 493, 494, 495, 496, 0, 497, 498, 0, 499, 0,
9018 : 500, 501, 502, 503, 504, 0, 505, 506, 0, 0,
9019 : 507, 508, 509, 510, 511, 0, 512, 513, 514, 515,
9020 : 516, 517, 518, 0, 2129, 519, 520, 521, 522, 523,
9021 : 0, 0, 524, 525, 526, 527, 528, 529, 530, 0,
9022 : 531, 0, 532, 533, 534, 535, 0, 0, 536, 0,
9023 : 0, 537, 538, 539, 540, 541, 542, 543, 544, 545,
9024 : 546, 547, 548, 549, 550, 551, 552, 553, 554, 555,
9025 : 556, 223, 0, 0, 0, 0, 0, 0, 0, 0,
9026 : 0, 0, 0, 0, 0, 0, 224, 225, 226, 227,
9027 : 228, 229, 230, 231, 0, 233, 234, 235, 0, 0,
9028 : 0, 0, 0, 0, 0, 236, 237, 0, 238, 239,
9029 : 240, 0, 241, 242, 243, 244, 245, 0, 246, 247,
9030 : 0, 248, 249, 250, 251, 252, 0, 0, 253, 254,
9031 : 255, 256, 257, 2124, 258, 259, 260, 261, 262, 0,
9032 : 0, 0, 263, 264, 265, 266, 267, 0, 268, 269,
9033 : 270, 2125, 271, 272, 273, 274, 275, 276, 0, 0,
9034 : 277, 278, 279, 0, 0, 0, 0, 0, 0, 0,
9035 : 280, 281, 282, 283, 284, 285, 286, 287, 288, 0,
9036 : 289, 0, 290, 291, 292, 293, 294, 295, 0, 296,
9037 : 297, 298, 299, 0, 0, 300, 301, 302, 303, 304,
9038 : 0, 305, 306, 307, 0, 308, 309, 310, 0, 2202,
9039 : 312, 313, 314, 315, 316, 317, 318, 319, 0, 320,
9040 : 0, 321, 322, 323, 324, 0, 325, 2127, 326, 0,
9041 : 0, 0, 327, 328, 329, 330, 0, 331, 332, 0,
9042 : 333, 334, 0, 335, 336, 337, 338, 339, 0, 340,
9043 : 341, 342, 343, 0, 344, 345, 346, 347, 348, 349,
9044 : 0, 350, 0, 351, 352, 353, 354, 355, 356, 357,
9045 : 0, 358, 0, 359, 0, 0, 360, 0, 361, 362,
9046 : 363, 364, 365, 0, 0, 366, 367, 0, 368, 3139,
9047 : 0, 369, 370, 371, 0, 0, 372, 373, 374, 375,
9048 : 376, 377, 378, 379, 380, 381, 382, 383, 384, 385,
9049 : 386, 387, 388, 0, 389, 390, 391, 392, 393, 0,
9050 : 394, 395, 0, 396, 0, 397, 398, 399, 400, 401,
9051 : 402, 0, 403, 404, 0, 0, 405, 406, 407, 0,
9052 : 0, 408, 409, 0, 410, 0, 411, 412, 413, 414,
9053 : 415, 416, 417, 418, 419, 420, 0, 421, 422, 423,
9054 : 424, 425, 426, 427, 428, 2128, 429, 430, 431, 432,
9055 : 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
9056 : 0, 443, 444, 445, 446, 447, 448, 449, 450, 451,
9057 : 452, 453, 454, 0, 455, 456, 0, 457, 458, 459,
9058 : 460, 461, 462, 463, 464, 465, 466, 467, 468, 469,
9059 : 0, 470, 471, 472, 473, 474, 0, 475, 476, 477,
9060 : 478, 479, 0, 480, 481, 482, 483, 0, 484, 485,
9061 : 486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
9062 : 496, 0, 497, 498, 0, 499, 0, 500, 501, 502,
9063 : 503, 504, 0, 505, 506, 0, 0, 507, 508, 509,
9064 : 510, 511, 0, 512, 513, 514, 515, 516, 517, 518,
9065 : 0, 2129, 519, 520, 521, 522, 523, 0, 0, 524,
9066 : 525, 526, 527, 528, 529, 530, 0, 531, 0, 532,
9067 : 533, 534, 535, 0, 0, 536, 0, 0, 537, 538,
9068 : 539, 540, 541, 542, 543, 544, 545, 546, 547, 548,
9069 : 549, 550, 551, 552, 553, 554, 555, 556, 223, 0,
9070 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9071 : 0, 0, 0, 224, 225, 226, 227, 228, 733, 230,
9072 : 231, 695, 233, 234, 235, 0, 0, 0, 0, 0,
9073 : 0, 0, 236, 237, 0, 238, 239, 240, 0, 241,
9074 : 242, 243, 244, 245, 0, 246, 247, 0, 248, 249,
9075 : 250, 251, 252, 0, 0, 253, 254, 255, 256, 257,
9076 : 0, 258, 259, 260, 261, 262, 0, 0, 0, 263,
9077 : 264, 265, 266, 267, 0, 268, 269, 270, 0, 271,
9078 : 272, 273, 274, 275, 276, 696, 0, 277, 278, 279,
9079 : 0, 0, 0, 0, 0, 0, 0, 280, 281, 282,
9080 : 283, 284, 285, 286, 287, 288, 0, 289, 0, 290,
9081 : 291, 292, 293, 294, 295, 0, 296, 297, 298, 299,
9082 : 0, 0, 300, 301, 302, 303, 304, 0, 305, 306,
9083 : 307, 0, 308, 309, 310, 0, 311, 312, 313, 314,
9084 : 315, 316, 317, 318, 319, 0, 320, 0, 321, 322,
9085 : 323, 324, 0, 325, 0, 326, 0, 0, 0, 327,
9086 : 328, 329, 330, 734, 331, 332, 0, 333, 334, 0,
9087 : 335, 336, 337, 338, 339, 0, 340, 341, 342, 343,
9088 : 0, 344, 345, 346, 347, 348, 349, 0, 350, 0,
9089 : 351, 352, 353, 354, 355, 356, 357, 0, 358, 0,
9090 : 359, 0, 0, 360, 0, 361, 362, 363, 364, 365,
9091 : 0, 0, 366, 367, 0, 368, 0, 0, 369, 370,
9092 : 371, 0, 0, 372, 373, 374, 375, 376, 377, 378,
9093 : 379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
9094 : 0, 389, 390, 391, 392, 393, 0, 394, 395, 0,
9095 : 396, 0, 397, 398, 399, 400, 401, 402, 0, 403,
9096 : 404, 0, 0, 405, 406, 407, 0, 0, 408, 409,
9097 : 0, 410, 0, 411, 412, 413, 414, 415, 416, 417,
9098 : 418, 419, 420, 0, 421, 422, 423, 424, 425, 426,
9099 : 427, 428, 0, 429, 430, 431, 432, 433, 434, 435,
9100 : 436, 437, 438, 439, 440, 441, 442, 697, 443, 444,
9101 : 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
9102 : 0, 455, 456, 0, 457, 458, 459, 460, 461, 462,
9103 : 463, 464, 465, 466, 467, 468, 469, 698, 470, 471,
9104 : 472, 473, 474, 0, 475, 476, 477, 478, 479, 0,
9105 : 480, 481, 482, 483, 0, 484, 485, 486, 487, 488,
9106 : 489, 490, 491, 492, 493, 494, 495, 496, 0, 497,
9107 : 498, 0, 499, 0, 500, 501, 502, 503, 504, 0,
9108 : 505, 506, 0, 0, 507, 508, 509, 510, 511, 0,
9109 : 512, 513, 514, 515, 516, 517, 518, 0, 0, 519,
9110 : 520, 521, 522, 523, 0, 0, 524, 525, 526, 527,
9111 : 528, 529, 530, 0, 531, 0, 532, 533, 534, 535,
9112 : 0, 0, 536, 0, 0, 537, 538, 539, 540, 541,
9113 : 542, 543, 544, 545, 546, 547, 548, 549, 550, 551,
9114 : 552, 553, 554, 555, 556, 223, 0, 0, 0, 0,
9115 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9116 : 224, 225, 226, 227, 228, 229, 230, 231, 695, 233,
9117 : 234, 235, 0, 0, 0, 0, 0, 0, 0, 236,
9118 : 237, 0, 238, 239, 240, 0, 241, 242, 243, 244,
9119 : 245, 0, 246, 247, 0, 248, 249, 250, 251, 252,
9120 : 0, 0, 253, 254, 255, 256, 257, 0, 258, 259,
9121 : 260, 261, 262, 0, 0, 0, 263, 264, 265, 266,
9122 : 267, 0, 268, 269, 270, 0, 271, 272, 273, 274,
9123 : 275, 276, 696, 0, 277, 278, 279, 0, 0, 0,
9124 : 0, 0, 0, 0, 280, 281, 282, 283, 284, 285,
9125 : 286, 287, 288, 0, 289, 0, 290, 291, 292, 293,
9126 : 294, 295, 0, 296, 297, 298, 299, 0, 0, 300,
9127 : 301, 302, 303, 304, 0, 305, 306, 307, 0, 308,
9128 : 309, 310, 0, 311, 312, 313, 314, 315, 316, 317,
9129 : 318, 319, 0, 320, 0, 321, 322, 323, 324, 0,
9130 : 325, 0, 326, 0, 0, 0, 327, 328, 329, 330,
9131 : 2842, 331, 332, 0, 333, 334, 0, 335, 336, 337,
9132 : 338, 339, 0, 340, 341, 342, 343, 0, 344, 345,
9133 : 346, 347, 348, 349, 0, 350, 0, 351, 352, 353,
9134 : 354, 355, 356, 357, 0, 358, 0, 359, 0, 0,
9135 : 360, 0, 361, 362, 363, 364, 365, 0, 0, 366,
9136 : 367, 0, 368, 0, 0, 369, 370, 371, 0, 0,
9137 : 372, 373, 374, 375, 376, 377, 378, 379, 380, 381,
9138 : 382, 383, 384, 385, 386, 387, 388, 0, 389, 390,
9139 : 391, 392, 393, 0, 394, 395, 0, 396, 0, 397,
9140 : 398, 399, 400, 401, 402, 0, 403, 404, 0, 0,
9141 : 405, 406, 407, 0, 0, 408, 409, 0, 410, 0,
9142 : 411, 412, 413, 414, 415, 416, 417, 418, 419, 420,
9143 : 0, 421, 422, 423, 424, 425, 426, 427, 428, 0,
9144 : 429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
9145 : 439, 440, 441, 442, 697, 443, 444, 445, 446, 447,
9146 : 448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
9147 : 0, 457, 458, 459, 460, 461, 462, 463, 464, 465,
9148 : 466, 467, 468, 469, 698, 470, 471, 472, 473, 474,
9149 : 0, 475, 476, 477, 478, 479, 0, 480, 481, 482,
9150 : 483, 0, 484, 485, 486, 487, 488, 489, 490, 491,
9151 : 492, 493, 494, 495, 496, 0, 497, 498, 0, 499,
9152 : 0, 500, 501, 502, 503, 504, 0, 505, 506, 0,
9153 : 0, 507, 508, 509, 510, 511, 0, 512, 513, 514,
9154 : 515, 516, 517, 518, 0, 0, 519, 520, 521, 522,
9155 : 523, 0, 0, 524, 525, 526, 527, 528, 529, 530,
9156 : 0, 531, 0, 532, 533, 534, 535, 0, 0, 536,
9157 : 0, 0, 537, 538, 539, 540, 541, 542, 543, 544,
9158 : 545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
9159 : 555, 556, 223, 0, 0, 0, 0, 0, 0, 0,
9160 : 0, 0, 0, 0, 0, 0, 0, 224, 225, 226,
9161 : 227, 228, 229, 230, 231, 0, 233, 234, 235, 0,
9162 : 0, 0, 0, 0, 0, 0, 236, 237, 0, 238,
9163 : 239, 240, 0, 241, 242, 243, 244, 245, 0, 246,
9164 : 247, 0, 248, 249, 250, 251, 252, 0, 0, 253,
9165 : 254, 255, 256, 257, 2124, 258, 259, 260, 261, 262,
9166 : 0, 0, 0, 263, 264, 265, 266, 267, 0, 268,
9167 : 269, 270, 2125, 271, 272, 273, 274, 275, 276, 0,
9168 : 0, 277, 278, 279, 0, 0, 0, 0, 0, 0,
9169 : 0, 280, 281, 282, 283, 284, 285, 286, 287, 288,
9170 : 0, 289, 0, 290, 291, 292, 293, 294, 295, 0,
9171 : 296, 297, 298, 299, 0, 0, 300, 301, 302, 303,
9172 : 304, 0, 305, 306, 307, 0, 308, 309, 310, 0,
9173 : 2202, 312, 313, 314, 315, 316, 317, 318, 319, 0,
9174 : 320, 0, 321, 322, 323, 324, 0, 325, 2127, 326,
9175 : 0, 0, 0, 327, 328, 329, 330, 0, 331, 332,
9176 : 0, 333, 334, 0, 335, 336, 337, 338, 339, 0,
9177 : 340, 341, 342, 343, 0, 344, 345, 346, 347, 348,
9178 : 349, 0, 350, 0, 351, 352, 353, 354, 355, 356,
9179 : 357, 0, 358, 0, 359, 0, 0, 360, 0, 361,
9180 : 362, 363, 364, 365, 0, 0, 366, 367, 0, 368,
9181 : 0, 0, 369, 370, 371, 0, 0, 372, 373, 374,
9182 : 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
9183 : 385, 386, 387, 388, 0, 389, 390, 391, 392, 393,
9184 : 0, 394, 395, 0, 396, 0, 397, 398, 399, 400,
9185 : 401, 402, 0, 403, 404, 0, 0, 405, 406, 407,
9186 : 0, 0, 408, 409, 0, 410, 0, 411, 412, 413,
9187 : 414, 415, 416, 417, 418, 419, 420, 0, 421, 422,
9188 : 423, 424, 425, 426, 427, 428, 2128, 429, 430, 431,
9189 : 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
9190 : 442, 0, 443, 444, 445, 446, 447, 448, 449, 450,
9191 : 451, 452, 453, 454, 0, 455, 456, 0, 457, 458,
9192 : 459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
9193 : 469, 0, 470, 471, 472, 473, 474, 0, 475, 476,
9194 : 477, 478, 479, 0, 480, 481, 482, 483, 0, 484,
9195 : 485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
9196 : 495, 496, 0, 497, 498, 0, 499, 0, 500, 501,
9197 : 502, 503, 504, 0, 505, 506, 0, 0, 507, 508,
9198 : 509, 510, 511, 0, 512, 513, 514, 515, 516, 517,
9199 : 518, 0, 2129, 519, 520, 521, 522, 523, 0, 0,
9200 : 524, 525, 526, 527, 528, 529, 530, 0, 531, 0,
9201 : 532, 533, 534, 535, 0, 0, 536, 0, 0, 537,
9202 : 538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
9203 : 548, 549, 550, 551, 552, 553, 554, 555, 556, 223,
9204 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9205 : 0, 0, 0, 0, 224, 225, 226, 227, 228, 229,
9206 : 230, 231, 695, 233, 234, 235, 0, 0, 0, 0,
9207 : 0, 0, 0, 236, 237, 0, 238, 239, 240, 0,
9208 : 241, 242, 243, 244, 245, 0, 246, 247, 0, 248,
9209 : 249, 250, 251, 252, 0, 0, 253, 254, 255, 256,
9210 : 257, 0, 258, 259, 260, 261, 262, 0, 0, 0,
9211 : 263, 264, 265, 266, 267, 0, 268, 269, 270, 0,
9212 : 271, 272, 273, 274, 275, 276, 696, 0, 277, 278,
9213 : 279, 0, 0, 0, 0, 0, 0, 0, 280, 281,
9214 : 282, 283, 284, 285, 286, 287, 288, 0, 289, 0,
9215 : 290, 291, 292, 293, 294, 295, 0, 296, 297, 298,
9216 : 299, 0, 0, 300, 301, 302, 303, 304, 0, 305,
9217 : 306, 307, 0, 308, 309, 310, 0, 311, 312, 313,
9218 : 314, 315, 316, 317, 318, 319, 0, 320, 0, 321,
9219 : 322, 323, 324, 0, 325, 0, 326, 0, 0, 0,
9220 : 327, 328, 329, 330, 0, 331, 332, 0, 333, 334,
9221 : 0, 335, 336, 337, 338, 339, 0, 340, 341, 342,
9222 : 343, 0, 344, 345, 346, 347, 348, 349, 0, 350,
9223 : 0, 351, 352, 353, 354, 355, 356, 357, 0, 358,
9224 : 0, 359, 0, 0, 360, 0, 361, 362, 363, 364,
9225 : 365, 0, 0, 366, 367, 0, 368, 0, 0, 369,
9226 : 370, 371, 0, 0, 372, 373, 374, 375, 376, 377,
9227 : 378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
9228 : 388, 0, 389, 390, 391, 392, 393, 0, 394, 395,
9229 : 0, 396, 0, 397, 398, 399, 400, 401, 402, 0,
9230 : 403, 404, 0, 0, 405, 406, 407, 0, 0, 408,
9231 : 409, 0, 410, 0, 411, 412, 413, 414, 415, 416,
9232 : 417, 418, 419, 420, 0, 421, 422, 423, 424, 425,
9233 : 426, 427, 428, 0, 429, 430, 431, 432, 433, 434,
9234 : 435, 436, 437, 438, 439, 440, 441, 442, 697, 443,
9235 : 444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
9236 : 454, 0, 455, 456, 0, 457, 458, 459, 460, 461,
9237 : 462, 463, 464, 465, 466, 467, 468, 469, 698, 470,
9238 : 471, 472, 473, 474, 0, 475, 476, 477, 478, 479,
9239 : 0, 480, 481, 482, 483, 0, 484, 485, 486, 487,
9240 : 488, 489, 490, 491, 492, 493, 494, 495, 496, 0,
9241 : 497, 498, 0, 499, 0, 500, 501, 502, 503, 504,
9242 : 0, 505, 506, 0, 0, 507, 508, 509, 510, 511,
9243 : 0, 512, 513, 514, 515, 516, 517, 518, 0, 0,
9244 : 519, 520, 521, 522, 523, 0, 0, 524, 525, 526,
9245 : 527, 528, 529, 530, 0, 531, 0, 532, 533, 534,
9246 : 535, 0, 0, 536, 0, 0, 537, 538, 539, 540,
9247 : 541, 542, 543, 544, 545, 546, 547, 548, 549, 550,
9248 : 551, 552, 553, 554, 555, 556, 223, 0, 0, 0,
9249 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9250 : 0, 224, 225, 226, 227, 228, 229, 230, 231, 1783,
9251 : 233, 234, 235, 0, 0, 0, 0, 0, 0, 0,
9252 : 236, 237, 0, 238, 239, 240, 0, 241, 242, 243,
9253 : 244, 245, 0, 246, 247, 0, 248, 249, 250, 251,
9254 : 252, 0, 0, 253, 254, 255, 256, 257, 0, 258,
9255 : 259, 260, 261, 262, 0, 0, 0, 263, 264, 265,
9256 : 266, 267, 0, 268, 269, 270, 0, 271, 272, 273,
9257 : 274, 275, 276, 0, 0, 277, 278, 279, 0, 0,
9258 : 0, 0, 0, 0, 0, 280, 281, 282, 1784, 284,
9259 : 285, 286, 287, 288, 0, 289, 0, 290, 291, 292,
9260 : 293, 294, 295, 0, 296, 297, 298, 299, 0, 0,
9261 : 300, 1785, 302, 303, 304, 0, 305, 306, 307, 0,
9262 : 308, 309, 310, 0, 311, 312, 313, 314, 315, 316,
9263 : 317, 318, 319, 0, 320, 0, 321, 322, 323, 324,
9264 : 0, 325, 1786, 326, 0, 0, 0, 1787, 328, 329,
9265 : 330, 0, 331, 332, 0, 333, 334, 0, 335, 336,
9266 : 337, 338, 339, 0, 340, 341, 342, 343, 0, 344,
9267 : 345, 346, 347, 348, 349, 0, 350, 0, 351, 352,
9268 : 353, 354, 355, 356, 357, 0, 358, 0, 359, 0,
9269 : 0, 360, 0, 361, 362, 1788, 1789, 365, 0, 0,
9270 : 366, 367, 0, 368, 0, 0, 369, 370, 371, 0,
9271 : 0, 372, 373, 374, 375, 376, 377, 378, 379, 380,
9272 : 381, 382, 383, 384, 385, 386, 387, 388, 0, 389,
9273 : 390, 391, 392, 393, 0, 394, 395, 0, 396, 0,
9274 : 397, 398, 399, 400, 401, 402, 0, 403, 404, 0,
9275 : 0, 405, 406, 407, 0, 0, 408, 409, 0, 410,
9276 : 0, 411, 412, 413, 414, 415, 416, 417, 418, 419,
9277 : 420, 0, 421, 422, 423, 424, 425, 426, 427, 428,
9278 : 0, 429, 430, 431, 432, 433, 434, 435, 436, 437,
9279 : 438, 439, 440, 441, 442, 0, 443, 444, 445, 446,
9280 : 447, 448, 449, 450, 451, 452, 453, 454, 0, 455,
9281 : 456, 0, 457, 458, 459, 460, 461, 462, 463, 1790,
9282 : 465, 466, 467, 468, 469, 0, 1791, 471, 472, 473,
9283 : 474, 0, 475, 476, 477, 478, 479, 0, 480, 481,
9284 : 482, 483, 0, 484, 485, 486, 487, 488, 489, 490,
9285 : 491, 492, 493, 494, 495, 496, 0, 497, 498, 1792,
9286 : 499, 0, 1793, 501, 502, 503, 504, 0, 505, 506,
9287 : 0, 0, 507, 508, 509, 510, 511, 0, 512, 513,
9288 : 1794, 515, 516, 517, 518, 0, 0, 519, 520, 521,
9289 : 522, 523, 0, 0, 524, 525, 526, 527, 528, 529,
9290 : 530, 0, 531, 0, 532, 533, 534, 535, 0, 0,
9291 : 536, 0, 0, 537, 538, 539, 540, 541, 542, 543,
9292 : 544, 545, 546, 547, 548, 549, 550, 551, 552, 553,
9293 : 554, 555, 556, 223, 0, 0, 0, 0, 0, 0,
9294 : 0, 0, 0, 0, 0, 0, 0, 0, 224, 225,
9295 : 226, 227, 228, 229, 230, 231, 0, 233, 234, 235,
9296 : 0, 0, 0, 0, 0, 0, 0, 236, 237, 0,
9297 : 238, 239, 240, 0, 241, 242, 243, 244, 245, 0,
9298 : 246, 247, 0, 248, 249, 250, 251, 252, 0, 0,
9299 : 253, 254, 255, 256, 257, 0, 258, 259, 260, 261,
9300 : 262, 0, 0, 0, 263, 264, 265, 266, 267, 0,
9301 : 268, 269, 270, 0, 271, 272, 273, 274, 275, 276,
9302 : 696, 0, 277, 278, 279, 0, 0, 0, 0, 0,
9303 : 0, 0, 280, 281, 282, 283, 284, 285, 286, 287,
9304 : 288, 0, 289, 0, 290, 291, 292, 293, 294, 295,
9305 : 0, 296, 297, 298, 299, 0, 0, 300, 301, 302,
9306 : 303, 304, 0, 305, 306, 307, 0, 308, 309, 310,
9307 : 0, 311, 312, 313, 314, 315, 316, 317, 318, 319,
9308 : 0, 320, 0, 321, 322, 323, 324, 0, 325, 0,
9309 : 326, 0, 0, 0, 327, 328, 329, 330, 0, 331,
9310 : 332, 0, 333, 334, 0, 335, 336, 337, 338, 339,
9311 : 0, 340, 341, 342, 343, 0, 344, 345, 346, 347,
9312 : 348, 349, 0, 350, 0, 351, 352, 353, 354, 355,
9313 : 356, 357, 0, 358, 0, 359, 0, 0, 360, 0,
9314 : 361, 362, 363, 364, 365, 0, 0, 366, 367, 0,
9315 : 368, 0, 0, 369, 370, 371, 0, 0, 372, 373,
9316 : 374, 375, 376, 377, 378, 379, 380, 381, 382, 383,
9317 : 384, 385, 386, 387, 388, 0, 389, 390, 391, 392,
9318 : 393, 0, 394, 395, 0, 396, 0, 397, 398, 399,
9319 : 400, 401, 402, 0, 403, 404, 0, 0, 405, 406,
9320 : 407, 0, 0, 408, 409, 0, 410, 0, 411, 412,
9321 : 413, 414, 415, 416, 417, 418, 419, 420, 0, 421,
9322 : 422, 423, 424, 425, 426, 427, 428, 0, 429, 430,
9323 : 431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
9324 : 441, 442, 697, 443, 444, 445, 446, 447, 448, 449,
9325 : 450, 451, 452, 453, 454, 0, 455, 456, 0, 457,
9326 : 458, 459, 460, 461, 462, 463, 464, 465, 466, 467,
9327 : 468, 469, 698, 470, 471, 472, 473, 474, 0, 475,
9328 : 476, 477, 478, 479, 0, 480, 481, 482, 483, 0,
9329 : 484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
9330 : 494, 495, 496, 0, 497, 498, 0, 499, 0, 500,
9331 : 501, 502, 503, 504, 0, 505, 506, 0, 0, 507,
9332 : 508, 509, 510, 511, 0, 512, 513, 514, 515, 516,
9333 : 517, 518, 0, 0, 519, 520, 521, 522, 523, 0,
9334 : 0, 524, 525, 526, 527, 528, 529, 530, 0, 531,
9335 : 0, 532, 533, 534, 535, 0, 0, 536, 0, 0,
9336 : 537, 538, 539, 540, 541, 542, 543, 544, 545, 546,
9337 : 547, 548, 549, 550, 551, 552, 553, 554, 555, 556,
9338 : 223, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9339 : 0, 0, 0, 0, 0, 224, 225, 226, 227, 228,
9340 : 229, 230, 231, 894, 233, 234, 235, 0, 0, 0,
9341 : 0, 0, 0, 0, 236, 237, 0, 238, 239, 240,
9342 : 0, 241, 242, 243, 244, 245, 0, 246, 247, 0,
9343 : 248, 249, 250, 251, 252, 0, 0, 253, 254, 255,
9344 : 256, 257, 0, 258, 259, 260, 261, 262, 0, 0,
9345 : 0, 263, 264, 265, 266, 267, 0, 268, 269, 270,
9346 : 0, 271, 272, 273, 274, 275, 276, 0, 0, 277,
9347 : 278, 279, 0, 0, 0, 0, 0, 0, 0, 280,
9348 : 281, 282, 283, 284, 285, 286, 287, 288, 0, 289,
9349 : 0, 290, 291, 292, 293, 294, 295, 0, 296, 297,
9350 : 298, 299, 0, 0, 300, 301, 302, 303, 304, 0,
9351 : 305, 306, 307, 0, 308, 309, 310, 0, 311, 312,
9352 : 313, 314, 315, 316, 317, 318, 319, 0, 320, 0,
9353 : 321, 322, 323, 324, 0, 325, 0, 326, 0, 0,
9354 : 0, 327, 328, 329, 330, 0, 331, 332, 0, 333,
9355 : 334, 0, 335, 336, 337, 338, 895, 0, 340, 341,
9356 : 342, 343, 0, 344, 345, 346, 347, 348, 349, 0,
9357 : 350, 0, 351, 352, 353, 354, 355, 356, 357, 0,
9358 : 358, 0, 359, 0, 0, 360, 0, 361, 362, 363,
9359 : 364, 365, 0, 0, 366, 367, 0, 368, 0, 0,
9360 : 369, 370, 371, 0, 0, 372, 373, 374, 375, 376,
9361 : 377, 378, 379, 380, 381, 382, 383, 384, 385, 386,
9362 : 387, 388, 0, 389, 390, 391, 392, 393, 0, 394,
9363 : 395, 0, 396, 0, 397, 398, 399, 400, 401, 402,
9364 : 0, 403, 404, 0, 765, 405, 406, 407, 0, 0,
9365 : 408, 409, 0, 410, 0, 411, 412, 413, 414, 415,
9366 : 416, 417, 418, 419, 420, 0, 421, 422, 423, 424,
9367 : 425, 426, 427, 428, 0, 429, 430, 431, 432, 433,
9368 : 434, 435, 436, 437, 438, 439, 440, 441, 442, 0,
9369 : 443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
9370 : 453, 454, 0, 455, 456, 0, 457, 458, 459, 460,
9371 : 461, 462, 463, 464, 465, 466, 467, 468, 469, 0,
9372 : 470, 471, 472, 473, 474, 0, 475, 476, 477, 478,
9373 : 479, 0, 480, 481, 482, 483, 0, 484, 485, 486,
9374 : 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
9375 : 0, 497, 498, 0, 499, 0, 500, 501, 502, 503,
9376 : 504, 0, 505, 506, 0, 0, 507, 508, 509, 510,
9377 : 511, 0, 512, 513, 514, 515, 516, 517, 518, 0,
9378 : 0, 519, 520, 521, 522, 523, 0, 0, 524, 525,
9379 : 526, 527, 528, 529, 530, 0, 531, 0, 532, 533,
9380 : 534, 535, 0, 0, 536, 0, 0, 537, 538, 539,
9381 : 540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
9382 : 550, 551, 552, 553, 554, 555, 556, 223, 0, 0,
9383 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9384 : 0, 0, 224, 225, 226, 227, 228, 229, 230, 231,
9385 : 0, 233, 234, 235, 3, 4, 0, 0, 0, 0,
9386 : 0, 236, 237, 0, 238, 239, 240, 0, 241, 242,
9387 : 243, 244, 245, 0, 246, 247, 0, 248, 249, 250,
9388 : 251, 252, 0, 0, 253, 254, 255, 256, 257, 0,
9389 : 258, 259, 260, 261, 262, 0, 0, 0, 263, 264,
9390 : 265, 266, 267, 0, 268, 269, 270, 0, 271, 272,
9391 : 273, 274, 275, 276, 0, 0, 277, 278, 279, 0,
9392 : 0, 0, 0, 0, 0, 0, 280, 281, 282, 283,
9393 : 284, 285, 286, 287, 288, 0, 289, 0, 290, 291,
9394 : 292, 293, 294, 295, 0, 296, 297, 298, 299, 0,
9395 : 0, 300, 301, 302, 303, 304, 0, 305, 306, 307,
9396 : 0, 308, 309, 310, 0, 311, 312, 313, 314, 315,
9397 : 316, 317, 318, 319, 0, 320, 0, 321, 322, 323,
9398 : 324, 0, 325, 0, 326, 0, 0, 0, 327, 328,
9399 : 329, 330, 0, 331, 332, 0, 333, 334, 0, 335,
9400 : 336, 337, 338, 339, 0, 340, 341, 342, 343, 0,
9401 : 344, 345, 346, 347, 348, 349, 0, 350, 0, 351,
9402 : 352, 353, 354, 355, 356, 357, 0, 358, 0, 359,
9403 : 0, 0, 360, 0, 361, 362, 363, 364, 365, 0,
9404 : 0, 366, 367, 0, 368, 0, 0, 369, 370, 371,
9405 : 0, 0, 372, 373, 374, 375, 376, 377, 378, 379,
9406 : 380, 381, 382, 383, 384, 385, 386, 387, 388, 0,
9407 : 389, 390, 391, 392, 393, 0, 394, 395, 0, 396,
9408 : 0, 397, 398, 399, 400, 401, 402, 0, 403, 404,
9409 : 0, 0, 405, 406, 407, 0, 0, 408, 409, 0,
9410 : 410, 0, 411, 412, 413, 414, 415, 416, 417, 418,
9411 : 419, 420, 0, 421, 422, 423, 424, 425, 426, 427,
9412 : 428, 0, 429, 430, 431, 432, 433, 434, 435, 436,
9413 : 437, 438, 439, 440, 441, 442, 0, 443, 444, 445,
9414 : 446, 447, 448, 449, 450, 451, 452, 453, 454, 0,
9415 : 455, 456, 0, 457, 458, 459, 460, 461, 462, 463,
9416 : 464, 465, 466, 467, 468, 469, 0, 470, 471, 472,
9417 : 473, 474, 0, 475, 476, 477, 478, 479, 0, 480,
9418 : 481, 482, 483, 0, 484, 485, 486, 487, 488, 489,
9419 : 490, 491, 492, 493, 494, 495, 496, 0, 497, 498,
9420 : 0, 499, 0, 500, 501, 502, 503, 504, 0, 505,
9421 : 506, 0, 0, 507, 508, 509, 510, 511, 0, 512,
9422 : 513, 514, 515, 516, 517, 518, 0, 0, 519, 520,
9423 : 521, 522, 523, 0, 0, 524, 525, 526, 527, 528,
9424 : 529, 530, 0, 531, 0, 532, 533, 534, 535, 0,
9425 : 0, 536, 0, 0, 537, 538, 539, 540, 541, 542,
9426 : 543, 544, 545, 546, 547, 548, 549, 550, 551, 552,
9427 : 553, 554, 555, 556, 223, 0, 0, 0, 0, 0,
9428 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 224,
9429 : 225, 226, 227, 228, 229, 230, 231, 2930, 233, 234,
9430 : 235, 0, 0, 0, 0, 0, 0, 0, 236, 237,
9431 : 0, 238, 239, 240, 0, 241, 242, 243, 244, 245,
9432 : 0, 246, 247, 0, 248, 249, 250, 251, 252, 0,
9433 : 0, 253, 254, 255, 256, 257, 0, 258, 259, 260,
9434 : 261, 262, 0, 0, 0, 263, 264, 265, 266, 267,
9435 : 0, 268, 269, 270, 0, 271, 272, 273, 274, 275,
9436 : 276, 0, 0, 277, 278, 279, 0, 0, 0, 0,
9437 : 0, 0, 0, 280, 281, 282, 283, 284, 285, 286,
9438 : 287, 288, 0, 289, 0, 290, 291, 292, 293, 294,
9439 : 295, 0, 296, 297, 298, 299, 0, 0, 300, 301,
9440 : 302, 303, 304, 0, 305, 306, 307, 0, 308, 309,
9441 : 310, 0, 311, 312, 313, 314, 315, 316, 317, 318,
9442 : 319, 0, 320, 0, 321, 322, 323, 324, 0, 325,
9443 : 0, 326, 0, 0, 0, 327, 328, 329, 330, 0,
9444 : 331, 332, 0, 333, 334, 0, 335, 336, 337, 338,
9445 : 339, 0, 340, 341, 342, 343, 0, 344, 345, 346,
9446 : 347, 348, 349, 0, 350, 0, 351, 352, 353, 354,
9447 : 355, 356, 357, 0, 358, 0, 359, 0, 0, 360,
9448 : 0, 361, 362, 363, 364, 365, 0, 0, 366, 367,
9449 : 0, 368, 0, 0, 369, 370, 371, 0, 0, 372,
9450 : 373, 374, 375, 376, 377, 378, 379, 380, 381, 382,
9451 : 383, 384, 385, 386, 387, 388, 0, 389, 390, 391,
9452 : 392, 393, 0, 394, 395, 0, 396, 0, 397, 398,
9453 : 399, 400, 401, 402, 0, 403, 404, 0, 0, 405,
9454 : 406, 407, 0, 0, 408, 409, 0, 410, 0, 411,
9455 : 412, 413, 414, 415, 416, 417, 418, 419, 420, 0,
9456 : 421, 422, 423, 424, 425, 426, 427, 428, 0, 429,
9457 : 430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
9458 : 440, 441, 442, 0, 443, 444, 445, 446, 447, 448,
9459 : 449, 450, 451, 452, 453, 454, 0, 455, 456, 0,
9460 : 457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
9461 : 467, 468, 469, 0, 470, 471, 472, 473, 474, 0,
9462 : 475, 476, 477, 478, 479, 0, 480, 481, 482, 483,
9463 : 0, 484, 485, 486, 487, 488, 489, 490, 491, 492,
9464 : 493, 494, 495, 496, 0, 497, 498, 0, 499, 0,
9465 : 500, 501, 502, 503, 504, 0, 505, 506, 0, 0,
9466 : 507, 508, 509, 510, 511, 0, 512, 513, 514, 515,
9467 : 516, 517, 518, 0, 0, 519, 520, 521, 522, 523,
9468 : 2931, 0, 524, 525, 526, 527, 528, 529, 530, 0,
9469 : 531, 0, 532, 533, 534, 535, 0, 0, 536, 0,
9470 : 0, 537, 538, 539, 540, 541, 542, 543, 544, 545,
9471 : 546, 547, 548, 549, 550, 551, 552, 553, 554, 555,
9472 : 556, 223, 0, 0, 0, 0, 0, 0, 0, 0,
9473 : 0, 0, 0, 0, 0, 0, 224, 225, 226, 227,
9474 : 228, 229, 230, 231, 2943, 233, 234, 235, 0, 0,
9475 : 0, 0, 0, 0, 0, 236, 237, 0, 238, 239,
9476 : 240, 0, 241, 242, 243, 244, 245, 0, 246, 247,
9477 : 0, 248, 249, 250, 251, 252, 0, 0, 253, 254,
9478 : 255, 256, 257, 0, 258, 259, 260, 261, 262, 0,
9479 : 0, 0, 263, 264, 265, 266, 267, 0, 268, 269,
9480 : 270, 0, 271, 272, 273, 274, 275, 276, 0, 0,
9481 : 277, 278, 279, 0, 0, 0, 0, 0, 0, 0,
9482 : 280, 281, 282, 283, 284, 285, 286, 287, 288, 0,
9483 : 289, 0, 290, 291, 292, 293, 294, 295, 0, 296,
9484 : 297, 298, 299, 0, 0, 300, 301, 302, 303, 304,
9485 : 0, 305, 306, 307, 0, 308, 309, 310, 0, 311,
9486 : 312, 313, 314, 315, 316, 317, 318, 319, 0, 320,
9487 : 0, 321, 322, 323, 324, 0, 325, 0, 326, 0,
9488 : 0, 0, 327, 328, 329, 330, 0, 331, 332, 0,
9489 : 333, 334, 0, 335, 336, 337, 338, 339, 0, 340,
9490 : 341, 342, 343, 0, 344, 345, 346, 347, 348, 349,
9491 : 0, 350, 0, 351, 352, 353, 354, 355, 356, 357,
9492 : 0, 358, 0, 359, 0, 0, 360, 0, 361, 362,
9493 : 363, 364, 365, 0, 0, 366, 367, 0, 368, 0,
9494 : 0, 369, 370, 371, 0, 0, 372, 373, 374, 375,
9495 : 376, 377, 378, 379, 380, 381, 382, 383, 384, 385,
9496 : 386, 387, 388, 0, 389, 390, 391, 392, 393, 0,
9497 : 394, 395, 0, 396, 0, 397, 398, 399, 400, 401,
9498 : 402, 0, 403, 404, 0, 0, 405, 406, 407, 0,
9499 : 0, 408, 409, 0, 410, 0, 411, 412, 413, 414,
9500 : 415, 416, 417, 418, 419, 420, 0, 421, 422, 423,
9501 : 424, 425, 426, 427, 428, 0, 429, 430, 431, 432,
9502 : 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
9503 : 0, 443, 444, 445, 446, 447, 448, 449, 450, 451,
9504 : 452, 453, 454, 0, 455, 456, 0, 457, 458, 459,
9505 : 460, 461, 462, 463, 464, 465, 466, 467, 468, 469,
9506 : 0, 470, 471, 472, 473, 474, 0, 475, 476, 477,
9507 : 478, 479, 0, 480, 481, 482, 483, 0, 484, 485,
9508 : 486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
9509 : 496, 0, 497, 498, 0, 499, 0, 500, 501, 502,
9510 : 503, 504, 0, 505, 506, 0, 0, 507, 508, 509,
9511 : 510, 511, 0, 512, 513, 514, 515, 516, 517, 518,
9512 : 0, 0, 519, 520, 521, 522, 523, 2944, 0, 524,
9513 : 525, 526, 527, 528, 529, 530, 0, 531, 0, 532,
9514 : 533, 534, 535, 0, 0, 536, 0, 0, 537, 538,
9515 : 539, 540, 541, 542, 543, 544, 545, 546, 547, 548,
9516 : 549, 550, 551, 552, 553, 554, 555, 556, 223, 0,
9517 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9518 : 0, 0, 0, 224, 225, 226, 227, 228, 229, 230,
9519 : 231, 232, 233, 234, 235, 0, 0, 0, 0, 0,
9520 : 0, 0, 236, 237, 0, 238, 239, 240, 0, 241,
9521 : 242, 243, 244, 245, 0, 246, 247, 0, 248, 249,
9522 : 250, 251, 252, 0, 0, 253, 254, 255, 256, 257,
9523 : 0, 258, 259, 260, 261, 262, 0, 0, 0, 263,
9524 : 264, 265, 266, 267, 0, 268, 269, 270, 0, 271,
9525 : 272, 273, 274, 275, 276, 0, 0, 277, 278, 279,
9526 : 0, 0, 0, 0, 0, 0, 0, 280, 281, 282,
9527 : 283, 284, 285, 286, 287, 288, 0, 289, 0, 290,
9528 : 291, 292, 293, 294, 295, 0, 296, 297, 298, 299,
9529 : 0, 0, 300, 301, 302, 303, 304, 0, 305, 306,
9530 : 307, 0, 308, 309, 310, 0, 311, 312, 313, 314,
9531 : 315, 316, 317, 318, 319, 0, 320, 0, 321, 322,
9532 : 323, 324, 0, 325, 0, 326, 0, 0, 0, 327,
9533 : 328, 329, 330, 0, 331, 332, 0, 333, 334, 0,
9534 : 335, 336, 337, 338, 339, 0, 340, 341, 342, 343,
9535 : 0, 344, 345, 346, 347, 348, 349, 0, 350, 0,
9536 : 351, 352, 353, 354, 355, 356, 357, 0, 358, 0,
9537 : 359, 0, 0, 360, 0, 361, 362, 363, 364, 365,
9538 : 0, 0, 366, 367, 0, 368, 0, 0, 369, 370,
9539 : 371, 0, 0, 372, 373, 374, 375, 376, 377, 378,
9540 : 379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
9541 : 0, 389, 390, 391, 392, 393, 0, 394, 395, 0,
9542 : 396, 0, 397, 398, 399, 400, 401, 402, 0, 403,
9543 : 404, 0, 0, 405, 406, 407, 0, 0, 408, 409,
9544 : 0, 410, 0, 411, 412, 413, 414, 415, 416, 417,
9545 : 418, 419, 420, 0, 421, 422, 423, 424, 425, 426,
9546 : 427, 428, 0, 429, 430, 431, 432, 433, 434, 435,
9547 : 436, 437, 438, 439, 440, 441, 442, 0, 443, 444,
9548 : 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
9549 : 0, 455, 456, 0, 457, 458, 459, 460, 461, 462,
9550 : 463, 464, 465, 466, 467, 468, 469, 0, 470, 471,
9551 : 472, 473, 474, 0, 475, 476, 477, 478, 479, 0,
9552 : 480, 481, 482, 483, 0, 484, 485, 486, 487, 488,
9553 : 489, 490, 491, 492, 493, 494, 495, 496, 0, 497,
9554 : 498, 0, 499, 0, 500, 501, 502, 503, 504, 0,
9555 : 505, 506, 0, 0, 507, 508, 509, 510, 511, 0,
9556 : 512, 513, 514, 515, 516, 517, 518, 0, 0, 519,
9557 : 520, 521, 522, 523, 0, 0, 524, 525, 526, 527,
9558 : 528, 529, 530, 0, 531, 0, 532, 533, 534, 535,
9559 : 0, 0, 536, 0, 0, 537, 538, 539, 540, 541,
9560 : 542, 543, 544, 545, 546, 547, 548, 549, 550, 551,
9561 : 552, 553, 554, 555, 556, 223, 0, 0, 0, 0,
9562 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9563 : 224, 225, 226, 227, 228, 229, 230, 231, 608, 233,
9564 : 234, 235, 0, 0, 0, 0, 0, 0, 0, 236,
9565 : 237, 0, 238, 239, 240, 0, 241, 242, 243, 244,
9566 : 245, 0, 246, 247, 0, 248, 249, 250, 251, 252,
9567 : 0, 0, 253, 254, 255, 256, 257, 0, 258, 259,
9568 : 260, 261, 262, 0, 0, 0, 263, 264, 265, 266,
9569 : 267, 0, 268, 269, 270, 0, 271, 272, 273, 274,
9570 : 275, 276, 0, 0, 277, 278, 279, 0, 0, 0,
9571 : 0, 0, 0, 0, 280, 281, 282, 283, 284, 285,
9572 : 286, 287, 288, 0, 289, 0, 290, 291, 292, 293,
9573 : 294, 295, 0, 296, 297, 298, 299, 0, 0, 300,
9574 : 301, 302, 303, 304, 0, 305, 306, 307, 0, 308,
9575 : 309, 310, 0, 311, 312, 313, 314, 315, 316, 317,
9576 : 318, 319, 0, 320, 0, 321, 322, 323, 324, 0,
9577 : 325, 0, 326, 0, 0, 0, 327, 328, 329, 330,
9578 : 0, 331, 332, 0, 333, 334, 0, 335, 336, 337,
9579 : 338, 339, 0, 340, 341, 342, 343, 0, 344, 345,
9580 : 346, 347, 348, 349, 0, 350, 0, 351, 352, 353,
9581 : 354, 355, 356, 357, 0, 358, 0, 359, 0, 0,
9582 : 360, 0, 361, 362, 363, 364, 365, 0, 0, 366,
9583 : 367, 0, 368, 0, 0, 369, 370, 371, 0, 0,
9584 : 372, 373, 374, 375, 376, 377, 378, 379, 380, 381,
9585 : 382, 383, 384, 385, 386, 387, 388, 0, 389, 390,
9586 : 391, 392, 393, 0, 394, 395, 0, 396, 0, 397,
9587 : 398, 399, 400, 401, 402, 0, 403, 404, 0, 0,
9588 : 405, 406, 407, 0, 0, 408, 409, 0, 410, 0,
9589 : 411, 412, 413, 414, 415, 416, 417, 418, 419, 420,
9590 : 0, 421, 422, 423, 424, 425, 426, 609, 428, 0,
9591 : 429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
9592 : 439, 440, 441, 442, 0, 443, 444, 445, 446, 447,
9593 : 448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
9594 : 0, 457, 458, 459, 460, 461, 462, 463, 464, 465,
9595 : 466, 467, 468, 469, 0, 470, 471, 472, 473, 474,
9596 : 0, 475, 476, 477, 478, 479, 0, 480, 481, 482,
9597 : 483, 0, 484, 485, 486, 487, 488, 489, 490, 491,
9598 : 492, 493, 494, 495, 496, 0, 497, 498, 0, 499,
9599 : 0, 500, 501, 502, 503, 504, 0, 505, 506, 0,
9600 : 0, 507, 508, 509, 510, 511, 0, 512, 513, 514,
9601 : 515, 516, 517, 518, 0, 0, 519, 520, 521, 522,
9602 : 523, 0, 0, 524, 525, 526, 527, 528, 529, 530,
9603 : 0, 531, 0, 532, 533, 534, 535, 0, 0, 536,
9604 : 0, 0, 537, 538, 539, 540, 541, 542, 543, 544,
9605 : 545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
9606 : 555, 556, 223, 0, 0, 0, 0, 0, 0, 0,
9607 : 0, 0, 0, 0, 0, 0, 0, 224, 225, 226,
9608 : 227, 228, 229, 230, 231, 725, 233, 234, 235, 0,
9609 : 0, 0, 0, 0, 0, 0, 236, 237, 0, 238,
9610 : 239, 240, 0, 241, 242, 243, 244, 245, 0, 246,
9611 : 247, 0, 248, 249, 250, 251, 252, 0, 0, 253,
9612 : 254, 255, 256, 257, 0, 258, 259, 260, 261, 262,
9613 : 0, 0, 0, 263, 264, 265, 266, 267, 0, 268,
9614 : 269, 270, 0, 271, 272, 273, 274, 275, 276, 0,
9615 : 0, 277, 278, 279, 0, 0, 0, 0, 0, 0,
9616 : 0, 280, 281, 282, 283, 284, 285, 286, 287, 288,
9617 : 0, 289, 0, 290, 291, 292, 293, 294, 295, 0,
9618 : 296, 297, 298, 299, 0, 0, 300, 301, 302, 303,
9619 : 304, 0, 305, 306, 307, 0, 308, 309, 310, 0,
9620 : 311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
9621 : 320, 0, 321, 322, 323, 324, 0, 325, 0, 326,
9622 : 0, 0, 0, 327, 328, 329, 330, 0, 331, 332,
9623 : 0, 333, 334, 0, 335, 336, 337, 338, 339, 0,
9624 : 340, 341, 342, 343, 0, 344, 345, 346, 347, 348,
9625 : 349, 0, 350, 0, 351, 352, 353, 354, 355, 356,
9626 : 357, 0, 358, 0, 359, 0, 0, 360, 0, 361,
9627 : 362, 363, 364, 365, 0, 0, 366, 367, 0, 368,
9628 : 0, 0, 369, 370, 371, 0, 0, 372, 373, 374,
9629 : 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
9630 : 385, 386, 387, 388, 0, 389, 390, 391, 392, 393,
9631 : 0, 394, 395, 0, 396, 0, 397, 398, 399, 400,
9632 : 401, 402, 0, 403, 404, 0, 0, 405, 406, 407,
9633 : 0, 0, 408, 409, 0, 410, 0, 411, 412, 413,
9634 : 414, 415, 416, 417, 418, 419, 420, 0, 421, 422,
9635 : 423, 424, 425, 426, 427, 428, 0, 429, 430, 431,
9636 : 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
9637 : 442, 0, 443, 444, 445, 446, 447, 448, 449, 450,
9638 : 451, 452, 453, 454, 0, 455, 456, 0, 457, 458,
9639 : 459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
9640 : 469, 0, 470, 471, 472, 473, 726, 0, 475, 476,
9641 : 477, 478, 479, 0, 480, 481, 482, 483, 0, 484,
9642 : 485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
9643 : 495, 496, 0, 497, 498, 0, 499, 0, 500, 501,
9644 : 502, 503, 504, 0, 727, 506, 0, 0, 728, 508,
9645 : 509, 510, 511, 0, 512, 513, 514, 515, 516, 517,
9646 : 518, 0, 0, 519, 520, 521, 522, 523, 0, 0,
9647 : 524, 525, 526, 527, 528, 529, 530, 0, 531, 0,
9648 : 532, 533, 534, 535, 0, 0, 536, 0, 0, 537,
9649 : 538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
9650 : 548, 549, 550, 551, 552, 553, 554, 555, 556, 223,
9651 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9652 : 0, 0, 0, 0, 224, 225, 226, 227, 228, 229,
9653 : 230, 231, 759, 233, 234, 235, 0, 0, 0, 0,
9654 : 0, 0, 0, 236, 237, 0, 238, 239, 240, 0,
9655 : 241, 242, 243, 244, 245, 0, 246, 247, 0, 248,
9656 : 249, 250, 251, 252, 0, 0, 253, 254, 255, 256,
9657 : 257, 0, 258, 259, 260, 261, 262, 0, 0, 0,
9658 : 263, 264, 265, 266, 267, 0, 268, 269, 270, 0,
9659 : 271, 272, 273, 274, 275, 276, 0, 0, 277, 278,
9660 : 279, 0, 0, 0, 0, 0, 0, 0, 280, 281,
9661 : 282, 283, 284, 285, 286, 287, 288, 0, 289, 0,
9662 : 290, 291, 292, 293, 294, 295, 0, 296, 297, 298,
9663 : 299, 0, 0, 300, 301, 302, 303, 304, 0, 305,
9664 : 306, 307, 0, 308, 309, 310, 0, 311, 312, 313,
9665 : 314, 315, 316, 317, 318, 319, 0, 320, 0, 321,
9666 : 322, 323, 324, 0, 325, 0, 326, 0, 0, 0,
9667 : 327, 328, 329, 330, 0, 331, 332, 0, 333, 334,
9668 : 0, 335, 336, 337, 338, 339, 0, 340, 341, 342,
9669 : 343, 0, 344, 345, 346, 347, 348, 349, 0, 350,
9670 : 0, 351, 352, 353, 354, 355, 356, 357, 0, 358,
9671 : 0, 359, 0, 0, 360, 0, 361, 362, 363, 364,
9672 : 365, 0, 0, 366, 367, 0, 368, 0, 0, 369,
9673 : 370, 371, 0, 0, 372, 373, 374, 375, 376, 377,
9674 : 378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
9675 : 388, 0, 389, 390, 391, 392, 393, 0, 394, 395,
9676 : 0, 396, 0, 397, 398, 399, 400, 401, 402, 0,
9677 : 403, 404, 0, 0, 405, 406, 407, 0, 0, 408,
9678 : 409, 0, 410, 0, 411, 412, 413, 414, 415, 416,
9679 : 417, 418, 419, 420, 0, 421, 422, 423, 424, 425,
9680 : 426, 427, 428, 0, 429, 430, 431, 432, 433, 434,
9681 : 435, 436, 437, 438, 439, 440, 441, 442, 0, 443,
9682 : 444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
9683 : 454, 0, 455, 456, 0, 457, 458, 459, 460, 461,
9684 : 462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
9685 : 471, 472, 473, 760, 0, 475, 476, 477, 478, 479,
9686 : 0, 480, 481, 482, 483, 0, 484, 485, 486, 487,
9687 : 488, 489, 490, 491, 492, 493, 494, 495, 496, 0,
9688 : 497, 498, 0, 499, 0, 500, 501, 502, 503, 504,
9689 : 0, 761, 506, 0, 0, 762, 508, 509, 510, 511,
9690 : 0, 512, 513, 514, 515, 516, 517, 518, 0, 0,
9691 : 519, 520, 521, 522, 523, 0, 0, 524, 525, 526,
9692 : 527, 528, 529, 530, 0, 531, 0, 532, 533, 534,
9693 : 535, 0, 0, 536, 0, 0, 537, 538, 539, 540,
9694 : 541, 542, 543, 544, 545, 546, 547, 548, 549, 550,
9695 : 551, 552, 553, 554, 555, 556, 223, 0, 0, 0,
9696 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9697 : 0, 224, 225, 226, 227, 228, 229, 230, 231, 0,
9698 : 233, 234, 235, 0, 0, 0, 0, 0, 0, 0,
9699 : 236, 237, 0, 238, 239, 240, 0, 241, 242, 243,
9700 : 244, 245, 0, 246, 247, 0, 248, 249, 250, 251,
9701 : 252, 0, 0, 253, 254, 255, 256, 257, 0, 258,
9702 : 259, 260, 261, 262, 0, 0, 0, 263, 264, 265,
9703 : 266, 267, 0, 268, 269, 270, 0, 271, 272, 273,
9704 : 274, 275, 276, 0, 0, 277, 278, 279, 0, 0,
9705 : 0, 0, 0, 0, 0, 280, 281, 282, 283, 284,
9706 : 285, 286, 287, 288, 0, 289, 0, 290, 291, 292,
9707 : 293, 294, 295, 0, 296, 297, 298, 299, 0, 0,
9708 : 300, 301, 302, 303, 304, 0, 305, 306, 307, 0,
9709 : 308, 309, 310, 0, 311, 312, 313, 314, 315, 316,
9710 : 317, 318, 319, 0, 320, 0, 321, 322, 323, 324,
9711 : 0, 325, 0, 326, 0, 0, 0, 327, 328, 329,
9712 : 330, 0, 331, 332, 0, 333, 334, 0, 335, 336,
9713 : 337, 338, 339, 0, 340, 341, 342, 343, 0, 344,
9714 : 345, 346, 347, 348, 349, 0, 350, 0, 351, 352,
9715 : 353, 354, 355, 356, 357, 0, 358, 0, 359, 0,
9716 : 0, 360, 0, 361, 362, 363, 364, 365, 0, 0,
9717 : 366, 367, 0, 368, 0, 0, 369, 370, 371, 0,
9718 : 0, 372, 373, 374, 375, 376, 377, 378, 379, 380,
9719 : 381, 382, 383, 384, 385, 386, 387, 388, 0, 389,
9720 : 390, 391, 392, 393, 0, 394, 395, 0, 396, 0,
9721 : 397, 398, 399, 400, 401, 402, 0, 403, 404, 0,
9722 : 765, 405, 406, 407, 0, 0, 408, 409, 0, 410,
9723 : 0, 411, 412, 413, 414, 415, 416, 417, 418, 419,
9724 : 420, 0, 421, 422, 423, 424, 425, 426, 427, 428,
9725 : 0, 429, 430, 431, 432, 433, 434, 435, 436, 437,
9726 : 438, 439, 440, 441, 442, 0, 443, 444, 445, 446,
9727 : 447, 448, 449, 450, 451, 452, 453, 454, 0, 455,
9728 : 456, 0, 457, 458, 459, 460, 461, 462, 463, 464,
9729 : 465, 466, 467, 468, 469, 0, 470, 471, 472, 473,
9730 : 474, 0, 475, 476, 477, 478, 479, 0, 480, 481,
9731 : 482, 483, 0, 484, 485, 486, 487, 488, 489, 490,
9732 : 491, 492, 493, 494, 495, 496, 0, 497, 498, 0,
9733 : 499, 0, 500, 501, 502, 503, 504, 0, 505, 506,
9734 : 0, 0, 507, 508, 509, 510, 511, 0, 512, 513,
9735 : 514, 515, 516, 517, 518, 0, 0, 519, 520, 521,
9736 : 522, 523, 0, 0, 524, 525, 526, 527, 528, 529,
9737 : 530, 0, 531, 0, 532, 533, 534, 535, 0, 0,
9738 : 536, 0, 0, 537, 538, 539, 540, 541, 542, 543,
9739 : 544, 545, 546, 547, 548, 549, 550, 551, 552, 553,
9740 : 554, 555, 556, 223, 0, 0, 0, 0, 0, 0,
9741 : 0, 0, 0, 0, 0, 0, 0, 0, 224, 225,
9742 : 226, 227, 228, 229, 230, 231, 854, 233, 234, 235,
9743 : 0, 0, 0, 0, 0, 0, 0, 236, 237, 0,
9744 : 238, 239, 240, 0, 241, 242, 243, 244, 245, 0,
9745 : 246, 247, 0, 248, 249, 250, 251, 252, 0, 0,
9746 : 253, 254, 255, 256, 257, 0, 258, 259, 260, 261,
9747 : 262, 0, 0, 0, 263, 264, 265, 266, 267, 0,
9748 : 268, 269, 270, 0, 271, 272, 273, 274, 275, 276,
9749 : 0, 0, 277, 278, 279, 0, 0, 0, 0, 0,
9750 : 0, 0, 280, 281, 282, 283, 284, 285, 286, 287,
9751 : 288, 0, 289, 0, 290, 291, 292, 293, 294, 295,
9752 : 0, 296, 297, 298, 299, 0, 0, 300, 301, 302,
9753 : 303, 304, 0, 305, 306, 307, 0, 308, 309, 310,
9754 : 0, 311, 312, 313, 314, 315, 316, 317, 318, 319,
9755 : 0, 320, 0, 321, 322, 323, 324, 0, 325, 0,
9756 : 326, 0, 0, 0, 327, 328, 329, 330, 0, 331,
9757 : 332, 0, 333, 334, 0, 335, 336, 337, 338, 855,
9758 : 0, 340, 341, 342, 343, 0, 344, 345, 346, 347,
9759 : 348, 349, 0, 350, 0, 351, 352, 353, 354, 355,
9760 : 356, 357, 0, 358, 0, 359, 0, 0, 360, 0,
9761 : 361, 362, 363, 364, 365, 0, 0, 366, 367, 0,
9762 : 368, 0, 0, 369, 370, 371, 0, 0, 372, 373,
9763 : 374, 375, 376, 377, 378, 379, 380, 381, 382, 383,
9764 : 384, 385, 386, 387, 388, 0, 389, 390, 391, 392,
9765 : 393, 0, 394, 395, 0, 396, 0, 397, 398, 399,
9766 : 400, 401, 402, 0, 403, 404, 0, 0, 405, 406,
9767 : 407, 0, 0, 408, 409, 0, 410, 0, 411, 412,
9768 : 413, 414, 415, 416, 417, 418, 419, 420, 0, 421,
9769 : 422, 423, 424, 425, 426, 427, 428, 0, 429, 430,
9770 : 431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
9771 : 441, 442, 0, 443, 444, 445, 446, 447, 448, 449,
9772 : 450, 451, 452, 453, 454, 0, 455, 456, 0, 457,
9773 : 458, 459, 460, 461, 462, 463, 464, 465, 466, 467,
9774 : 468, 469, 0, 470, 471, 472, 473, 474, 0, 475,
9775 : 476, 477, 478, 479, 0, 480, 481, 482, 483, 0,
9776 : 484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
9777 : 494, 495, 496, 0, 497, 498, 0, 499, 0, 500,
9778 : 501, 502, 503, 504, 0, 505, 506, 0, 0, 507,
9779 : 508, 509, 510, 511, 0, 512, 513, 514, 515, 516,
9780 : 517, 518, 0, 0, 519, 520, 521, 522, 523, 0,
9781 : 0, 524, 525, 526, 527, 528, 529, 530, 0, 531,
9782 : 0, 532, 533, 534, 535, 0, 0, 536, 0, 0,
9783 : 537, 538, 539, 540, 541, 542, 543, 544, 545, 546,
9784 : 547, 548, 549, 550, 551, 552, 553, 554, 555, 556,
9785 : 223, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9786 : 0, 0, 0, 0, 0, 224, 225, 226, 227, 228,
9787 : 229, 230, 231, 1014, 233, 234, 235, 0, 0, 0,
9788 : 0, 0, 0, 0, 236, 237, 0, 238, 239, 240,
9789 : 0, 241, 242, 243, 244, 245, 0, 246, 247, 0,
9790 : 248, 249, 250, 251, 252, 0, 0, 253, 254, 255,
9791 : 256, 257, 0, 258, 259, 260, 261, 262, 0, 0,
9792 : 0, 263, 264, 265, 266, 267, 0, 268, 269, 270,
9793 : 0, 271, 272, 273, 274, 275, 276, 0, 0, 277,
9794 : 278, 279, 0, 0, 0, 0, 0, 0, 0, 280,
9795 : 281, 282, 283, 284, 285, 286, 287, 288, 0, 289,
9796 : 0, 290, 291, 292, 293, 294, 295, 0, 296, 297,
9797 : 298, 299, 0, 0, 300, 301, 302, 303, 304, 0,
9798 : 305, 306, 307, 0, 308, 309, 310, 0, 311, 312,
9799 : 313, 314, 315, 316, 317, 318, 319, 0, 320, 0,
9800 : 321, 322, 323, 324, 0, 325, 0, 326, 0, 0,
9801 : 0, 327, 328, 329, 330, 0, 331, 332, 0, 333,
9802 : 334, 0, 335, 336, 337, 338, 339, 0, 340, 341,
9803 : 342, 343, 0, 344, 345, 346, 347, 348, 349, 0,
9804 : 350, 0, 351, 352, 353, 354, 355, 356, 357, 0,
9805 : 358, 0, 359, 0, 0, 360, 0, 361, 362, 363,
9806 : 364, 365, 0, 0, 366, 367, 0, 368, 0, 0,
9807 : 369, 370, 371, 0, 0, 372, 373, 374, 375, 376,
9808 : 377, 378, 379, 380, 381, 382, 383, 384, 385, 386,
9809 : 387, 388, 0, 389, 390, 391, 392, 393, 0, 394,
9810 : 395, 0, 396, 0, 397, 398, 399, 400, 401, 402,
9811 : 0, 403, 404, 0, 0, 405, 406, 407, 0, 0,
9812 : 408, 409, 0, 410, 0, 411, 412, 413, 414, 415,
9813 : 416, 417, 418, 419, 420, 0, 421, 422, 423, 424,
9814 : 425, 426, 427, 428, 0, 429, 430, 431, 432, 433,
9815 : 434, 435, 436, 437, 438, 439, 440, 441, 442, 0,
9816 : 443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
9817 : 453, 454, 0, 455, 456, 0, 457, 458, 459, 460,
9818 : 461, 462, 463, 464, 465, 466, 467, 468, 469, 0,
9819 : 470, 471, 472, 473, 474, 0, 475, 476, 477, 478,
9820 : 479, 0, 480, 481, 482, 483, 0, 484, 485, 486,
9821 : 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
9822 : 0, 497, 498, 0, 499, 0, 500, 501, 502, 503,
9823 : 504, 0, 505, 506, 0, 0, 507, 508, 509, 510,
9824 : 511, 0, 512, 513, 514, 515, 516, 517, 518, 0,
9825 : 0, 519, 520, 521, 522, 523, 0, 0, 524, 525,
9826 : 526, 527, 528, 529, 530, 0, 531, 0, 532, 533,
9827 : 534, 535, 0, 0, 536, 0, 0, 537, 538, 539,
9828 : 540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
9829 : 550, 551, 552, 553, 554, 555, 556, 223, 0, 0,
9830 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9831 : 0, 0, 224, 225, 226, 227, 228, 229, 230, 231,
9832 : 1280, 233, 234, 235, 0, 0, 0, 0, 0, 0,
9833 : 0, 236, 237, 0, 238, 239, 240, 0, 241, 242,
9834 : 243, 244, 245, 0, 246, 247, 0, 248, 249, 250,
9835 : 251, 252, 0, 0, 253, 254, 255, 256, 257, 0,
9836 : 258, 259, 260, 261, 262, 0, 0, 0, 263, 264,
9837 : 265, 266, 267, 0, 268, 269, 270, 0, 271, 272,
9838 : 273, 274, 275, 276, 0, 0, 277, 278, 279, 0,
9839 : 0, 0, 0, 0, 0, 0, 280, 281, 282, 283,
9840 : 284, 285, 286, 287, 288, 0, 289, 0, 290, 291,
9841 : 292, 293, 294, 295, 0, 296, 297, 298, 299, 0,
9842 : 0, 300, 301, 302, 303, 304, 0, 305, 306, 307,
9843 : 0, 308, 309, 310, 0, 311, 312, 313, 314, 315,
9844 : 316, 317, 318, 319, 0, 320, 0, 321, 322, 323,
9845 : 324, 0, 325, 0, 326, 0, 0, 0, 327, 328,
9846 : 329, 330, 0, 331, 332, 0, 333, 334, 0, 335,
9847 : 336, 337, 338, 339, 0, 340, 341, 342, 343, 0,
9848 : 344, 345, 346, 347, 348, 349, 0, 350, 0, 351,
9849 : 352, 353, 354, 355, 356, 357, 0, 358, 0, 359,
9850 : 0, 0, 360, 0, 361, 362, 363, 364, 365, 0,
9851 : 0, 366, 367, 0, 368, 0, 0, 369, 370, 371,
9852 : 0, 0, 372, 373, 374, 375, 376, 377, 378, 379,
9853 : 380, 381, 382, 383, 384, 385, 386, 387, 388, 0,
9854 : 389, 390, 391, 392, 393, 0, 394, 395, 0, 396,
9855 : 0, 397, 398, 399, 400, 401, 402, 0, 403, 404,
9856 : 0, 0, 405, 406, 407, 0, 0, 408, 409, 0,
9857 : 410, 0, 411, 412, 413, 414, 415, 416, 417, 418,
9858 : 419, 420, 0, 421, 422, 423, 424, 425, 426, 427,
9859 : 428, 0, 429, 430, 431, 432, 433, 434, 435, 436,
9860 : 437, 438, 439, 440, 441, 442, 0, 443, 444, 445,
9861 : 446, 447, 448, 449, 450, 451, 452, 453, 454, 0,
9862 : 455, 456, 0, 457, 458, 459, 460, 461, 462, 463,
9863 : 464, 465, 466, 467, 468, 469, 0, 470, 471, 472,
9864 : 473, 474, 0, 475, 476, 477, 478, 479, 0, 480,
9865 : 481, 482, 483, 0, 484, 485, 486, 487, 488, 489,
9866 : 490, 491, 492, 493, 494, 495, 496, 0, 497, 498,
9867 : 0, 499, 0, 500, 501, 502, 503, 504, 0, 505,
9868 : 506, 0, 0, 507, 508, 509, 510, 511, 0, 512,
9869 : 513, 514, 515, 516, 517, 518, 0, 0, 519, 520,
9870 : 521, 522, 523, 0, 0, 524, 525, 526, 527, 528,
9871 : 529, 530, 0, 531, 0, 532, 533, 534, 535, 0,
9872 : 0, 536, 0, 0, 537, 538, 539, 540, 541, 542,
9873 : 543, 544, 545, 546, 547, 548, 549, 550, 551, 552,
9874 : 553, 554, 555, 556, 223, 0, 0, 0, 0, 0,
9875 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 224,
9876 : 225, 226, 227, 228, 229, 230, 231, 0, 233, 234,
9877 : 235, 0, 0, 0, 0, 0, 0, 0, 236, 237,
9878 : 0, 238, 239, 240, 1291, 241, 242, 243, 244, 245,
9879 : 0, 246, 247, 0, 248, 249, 250, 251, 252, 0,
9880 : 0, 745, 254, 255, 256, 1292, 0, 258, 259, 260,
9881 : 261, 262, 0, 0, 0, 263, 264, 265, 266, 267,
9882 : 0, 268, 269, 270, 0, 271, 272, 273, 274, 275,
9883 : 276, 0, 0, 277, 278, 279, 0, 0, 0, 0,
9884 : 0, 0, 0, 280, 281, 282, 283, 284, 285, 286,
9885 : 287, 288, 0, 289, 0, 290, 291, 292, 293, 294,
9886 : 295, 0, 296, 297, 298, 299, 0, 0, 300, 301,
9887 : 302, 303, 304, 0, 305, 306, 307, 0, 308, 309,
9888 : 310, 0, 311, 312, 313, 314, 315, 316, 317, 318,
9889 : 319, 0, 320, 0, 321, 322, 323, 324, 0, 325,
9890 : 0, 326, 0, 0, 0, 327, 328, 329, 330, 0,
9891 : 331, 332, 0, 333, 334, 0, 335, 336, 337, 338,
9892 : 339, 0, 340, 341, 342, 343, 0, 344, 345, 346,
9893 : 347, 348, 349, 0, 350, 0, 351, 352, 353, 354,
9894 : 355, 356, 357, 0, 358, 0, 359, 0, 0, 360,
9895 : 0, 361, 362, 363, 364, 365, 0, 0, 366, 367,
9896 : 0, 368, 0, 0, 369, 370, 371, 0, 0, 372,
9897 : 373, 374, 375, 376, 377, 378, 379, 380, 381, 382,
9898 : 383, 384, 385, 386, 748, 388, 0, 389, 390, 391,
9899 : 392, 393, 0, 394, 395, 0, 396, 0, 397, 398,
9900 : 399, 400, 401, 402, 0, 403, 404, 0, 0, 405,
9901 : 406, 407, 0, 0, 408, 409, 0, 410, 0, 411,
9902 : 412, 413, 414, 415, 416, 417, 418, 419, 420, 0,
9903 : 421, 422, 423, 424, 425, 426, 427, 428, 0, 429,
9904 : 430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
9905 : 440, 441, 442, 0, 443, 444, 445, 446, 447, 448,
9906 : 449, 450, 451, 452, 453, 454, 0, 455, 456, 0,
9907 : 749, 458, 459, 460, 461, 462, 463, 750, 465, 466,
9908 : 467, 468, 469, 0, 470, 471, 472, 473, 1284, 0,
9909 : 475, 476, 477, 478, 479, 0, 480, 481, 482, 483,
9910 : 0, 484, 485, 486, 487, 488, 489, 490, 491, 492,
9911 : 493, 494, 495, 496, 0, 497, 498, 0, 499, 0,
9912 : 500, 501, 502, 503, 504, 0, 752, 506, 0, 0,
9913 : 753, 508, 509, 510, 511, 0, 512, 513, 514, 515,
9914 : 516, 517, 518, 0, 0, 519, 520, 521, 522, 523,
9915 : 0, 0, 524, 525, 526, 527, 528, 529, 530, 0,
9916 : 531, 0, 532, 533, 534, 535, 0, 0, 536, 0,
9917 : 0, 537, 538, 539, 540, 541, 754, 543, 544, 545,
9918 : 546, 547, 548, 549, 550, 551, 552, 553, 554, 555,
9919 : 556, 223, 0, 0, 0, 0, 0, 0, 0, 0,
9920 : 0, 0, 0, 0, 0, 0, 224, 225, 226, 227,
9921 : 228, 229, 230, 231, 0, 233, 234, 235, 0, 0,
9922 : 0, 0, 0, 0, 0, 236, 237, 0, 238, 239,
9923 : 240, 0, 241, 242, 243, 244, 245, 0, 246, 247,
9924 : 0, 248, 249, 250, 251, 252, 0, 0, 253, 254,
9925 : 255, 256, 257, 0, 258, 259, 260, 261, 262, 0,
9926 : 0, 0, 263, 264, 265, 266, 267, 0, 268, 269,
9927 : 270, 0, 271, 272, 273, 274, 275, 276, 0, 0,
9928 : 277, 278, 279, 0, 0, 0, 0, 0, 0, 0,
9929 : 280, 281, 282, 283, 284, 285, 286, 287, 288, 0,
9930 : 289, 0, 290, 291, 292, 293, 294, 295, 0, 296,
9931 : 297, 298, 299, 0, 0, 300, 301, 302, 303, 304,
9932 : 0, 305, 306, 307, 0, 308, 309, 310, 0, 311,
9933 : 312, 313, 314, 315, 316, 317, 318, 319, 0, 320,
9934 : 0, 321, 322, 323, 324, 0, 325, 0, 326, 0,
9935 : 0, 0, 327, 328, 329, 330, 0, 331, 332, 0,
9936 : 333, 334, 0, 335, 336, 337, 338, 1402, 0, 340,
9937 : 341, 342, 343, 0, 344, 345, 346, 347, 348, 349,
9938 : 0, 350, 0, 351, 352, 353, 354, 355, 356, 357,
9939 : 0, 358, 0, 359, 0, 0, 360, 0, 361, 362,
9940 : 363, 364, 365, 0, 0, 366, 367, 0, 368, 0,
9941 : 0, 369, 370, 371, 0, 0, 372, 373, 374, 375,
9942 : 376, 377, 378, 379, 380, 381, 382, 383, 384, 385,
9943 : 386, 387, 388, 0, 389, 390, 391, 392, 393, 0,
9944 : 394, 395, 0, 396, 0, 397, 398, 399, 400, 401,
9945 : 402, 0, 403, 404, 0, 765, 405, 406, 407, 0,
9946 : 0, 408, 409, 0, 410, 0, 411, 412, 413, 414,
9947 : 415, 416, 417, 418, 419, 420, 0, 421, 422, 423,
9948 : 424, 425, 426, 427, 428, 0, 429, 430, 431, 432,
9949 : 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
9950 : 0, 443, 444, 445, 446, 447, 448, 449, 450, 451,
9951 : 452, 453, 454, 0, 455, 456, 0, 457, 458, 459,
9952 : 460, 461, 462, 463, 464, 465, 466, 467, 468, 469,
9953 : 0, 470, 471, 472, 473, 474, 0, 475, 476, 477,
9954 : 478, 479, 0, 480, 481, 482, 483, 0, 484, 485,
9955 : 486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
9956 : 496, 0, 497, 498, 0, 499, 0, 500, 501, 502,
9957 : 503, 504, 0, 505, 506, 0, 0, 507, 508, 509,
9958 : 510, 511, 0, 512, 513, 514, 515, 516, 517, 518,
9959 : 0, 0, 519, 520, 521, 522, 523, 0, 0, 524,
9960 : 525, 526, 527, 528, 529, 530, 0, 531, 0, 532,
9961 : 533, 534, 535, 0, 0, 536, 0, 0, 537, 538,
9962 : 539, 540, 541, 542, 543, 544, 545, 546, 547, 548,
9963 : 549, 550, 551, 552, 553, 554, 555, 556, 223, 0,
9964 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9965 : 0, 0, 0, 224, 225, 226, 227, 228, 229, 230,
9966 : 231, 1459, 233, 234, 235, 0, 0, 0, 0, 0,
9967 : 0, 0, 236, 237, 0, 238, 239, 240, 0, 241,
9968 : 242, 243, 244, 245, 0, 246, 247, 0, 248, 249,
9969 : 250, 251, 252, 0, 0, 253, 254, 255, 256, 257,
9970 : 0, 258, 259, 260, 261, 262, 0, 0, 0, 263,
9971 : 264, 265, 266, 267, 0, 268, 269, 270, 0, 271,
9972 : 272, 273, 274, 275, 276, 0, 0, 277, 278, 279,
9973 : 0, 0, 0, 0, 0, 0, 0, 280, 281, 282,
9974 : 283, 284, 285, 286, 287, 288, 0, 289, 0, 290,
9975 : 291, 292, 293, 294, 295, 0, 296, 297, 298, 299,
9976 : 0, 0, 300, 301, 302, 303, 304, 0, 305, 306,
9977 : 307, 0, 308, 309, 310, 0, 311, 312, 313, 314,
9978 : 315, 316, 317, 318, 319, 0, 320, 0, 321, 322,
9979 : 323, 324, 0, 325, 0, 326, 0, 0, 0, 327,
9980 : 328, 329, 330, 0, 331, 332, 0, 333, 334, 0,
9981 : 335, 336, 337, 338, 1460, 0, 340, 341, 342, 343,
9982 : 0, 344, 345, 346, 347, 348, 349, 0, 350, 0,
9983 : 351, 352, 353, 354, 355, 356, 357, 0, 358, 0,
9984 : 359, 0, 0, 360, 0, 361, 362, 363, 364, 365,
9985 : 0, 0, 366, 367, 0, 368, 0, 0, 369, 370,
9986 : 371, 0, 0, 372, 373, 374, 375, 376, 377, 378,
9987 : 379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
9988 : 0, 389, 390, 391, 392, 393, 0, 394, 395, 0,
9989 : 396, 0, 397, 398, 399, 400, 401, 402, 0, 403,
9990 : 404, 0, 0, 405, 406, 407, 0, 0, 408, 409,
9991 : 0, 410, 0, 411, 412, 413, 414, 415, 416, 417,
9992 : 418, 419, 420, 0, 421, 422, 423, 424, 425, 426,
9993 : 427, 428, 0, 429, 430, 431, 432, 433, 434, 435,
9994 : 436, 437, 438, 439, 440, 441, 442, 0, 443, 444,
9995 : 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
9996 : 0, 455, 456, 0, 457, 458, 459, 460, 461, 462,
9997 : 463, 464, 465, 466, 467, 468, 469, 0, 470, 471,
9998 : 472, 473, 474, 0, 475, 476, 477, 478, 479, 0,
9999 : 480, 481, 482, 483, 0, 484, 485, 486, 487, 488,
10000 : 489, 490, 491, 492, 493, 494, 495, 496, 0, 497,
10001 : 498, 0, 499, 0, 500, 501, 502, 503, 504, 0,
10002 : 505, 506, 0, 0, 507, 508, 509, 510, 511, 0,
10003 : 512, 513, 514, 515, 516, 517, 518, 0, 0, 519,
10004 : 520, 521, 522, 523, 0, 0, 524, 525, 526, 527,
10005 : 528, 529, 530, 0, 531, 0, 532, 533, 534, 535,
10006 : 0, 0, 536, 0, 0, 537, 538, 539, 540, 541,
10007 : 542, 543, 544, 545, 546, 547, 548, 549, 550, 551,
10008 : 552, 553, 554, 555, 556, 223, 0, 0, 0, 0,
10009 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10010 : 224, 225, 226, 227, 228, 229, 230, 231, 725, 233,
10011 : 234, 235, 0, 0, 0, 0, 0, 0, 0, 236,
10012 : 237, 0, 238, 239, 240, 0, 241, 242, 243, 244,
10013 : 245, 0, 246, 247, 0, 248, 249, 250, 251, 252,
10014 : 0, 0, 253, 254, 255, 256, 257, 0, 258, 259,
10015 : 260, 261, 262, 0, 0, 0, 263, 264, 265, 266,
10016 : 267, 0, 268, 269, 270, 0, 271, 272, 273, 274,
10017 : 275, 276, 0, 0, 277, 278, 279, 0, 0, 0,
10018 : 0, 0, 0, 0, 280, 281, 282, 283, 284, 285,
10019 : 286, 287, 288, 0, 289, 0, 290, 291, 292, 293,
10020 : 294, 295, 0, 296, 297, 298, 299, 0, 0, 300,
10021 : 301, 302, 303, 304, 0, 305, 306, 307, 0, 308,
10022 : 309, 310, 0, 311, 312, 313, 314, 315, 316, 317,
10023 : 318, 319, 0, 320, 0, 321, 322, 323, 324, 0,
10024 : 325, 0, 326, 0, 0, 0, 327, 328, 329, 330,
10025 : 0, 331, 332, 0, 333, 334, 0, 335, 336, 337,
10026 : 338, 339, 0, 340, 341, 342, 343, 0, 344, 345,
10027 : 346, 347, 348, 349, 0, 350, 0, 351, 352, 353,
10028 : 354, 355, 356, 357, 0, 358, 0, 359, 0, 0,
10029 : 360, 0, 361, 362, 363, 364, 365, 0, 0, 366,
10030 : 367, 0, 368, 0, 0, 369, 370, 371, 0, 0,
10031 : 372, 373, 374, 375, 376, 377, 378, 379, 380, 381,
10032 : 382, 383, 384, 385, 386, 387, 388, 0, 389, 390,
10033 : 391, 392, 393, 0, 394, 395, 0, 396, 0, 397,
10034 : 398, 399, 400, 401, 402, 0, 403, 404, 0, 0,
10035 : 405, 406, 407, 0, 0, 408, 409, 0, 410, 0,
10036 : 411, 412, 413, 414, 415, 416, 417, 418, 419, 420,
10037 : 0, 421, 422, 423, 424, 425, 426, 427, 428, 0,
10038 : 429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
10039 : 439, 440, 441, 442, 0, 443, 444, 445, 446, 447,
10040 : 448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
10041 : 0, 457, 458, 459, 460, 461, 462, 463, 464, 465,
10042 : 466, 467, 468, 469, 0, 470, 471, 472, 473, 474,
10043 : 0, 475, 476, 477, 478, 479, 0, 480, 481, 482,
10044 : 483, 0, 484, 485, 486, 487, 488, 489, 490, 491,
10045 : 492, 493, 494, 495, 496, 0, 497, 498, 0, 499,
10046 : 0, 500, 501, 502, 503, 504, 0, 505, 506, 0,
10047 : 0, 507, 508, 509, 510, 511, 0, 512, 513, 514,
10048 : 515, 516, 517, 518, 0, 0, 519, 520, 521, 522,
10049 : 523, 0, 0, 524, 525, 526, 527, 528, 529, 530,
10050 : 0, 531, 0, 532, 533, 534, 535, 0, 0, 536,
10051 : 0, 0, 537, 538, 539, 540, 541, 542, 543, 544,
10052 : 545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
10053 : 555, 556, 223, 0, 0, 0, 0, 0, 0, 0,
10054 : 0, 0, 0, 0, 0, 0, 0, 224, 225, 226,
10055 : 227, 228, 229, 230, 231, 0, 233, 234, 235, 0,
10056 : 0, 0, 0, 0, 0, 0, 236, 237, 0, 238,
10057 : 239, 240, 0, 241, 242, 243, 244, 245, 0, 246,
10058 : 247, 0, 248, 249, 250, 251, 252, 0, 0, 253,
10059 : 254, 255, 256, 257, 0, 258, 259, 260, 261, 262,
10060 : 0, 0, 0, 263, 264, 265, 266, 267, 0, 268,
10061 : 269, 270, 0, 271, 272, 273, 274, 275, 276, 0,
10062 : 0, 277, 278, 279, 0, 0, 0, 0, 0, 0,
10063 : 0, 280, 281, 282, 283, 284, 285, 286, 287, 288,
10064 : 0, 289, 0, 290, 291, 292, 293, 294, 295, 0,
10065 : 296, 297, 298, 299, 0, 0, 300, 301, 302, 303,
10066 : 304, 0, 305, 306, 307, 0, 308, 309, 310, 0,
10067 : 311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
10068 : 320, 0, 321, 322, 323, 324, 0, 325, 0, 326,
10069 : 0, 0, 0, 327, 328, 329, 2733, 0, 331, 332,
10070 : 0, 333, 334, 0, 335, 336, 337, 338, 339, 0,
10071 : 340, 341, 342, 343, 0, 344, 345, 346, 347, 348,
10072 : 349, 0, 350, 0, 351, 352, 353, 354, 355, 356,
10073 : 357, 0, 358, 0, 359, 0, 0, 360, 0, 361,
10074 : 362, 363, 364, 365, 0, 0, 366, 367, 0, 368,
10075 : 0, 0, 369, 370, 2734, 0, 0, 372, 373, 374,
10076 : 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
10077 : 385, 386, 387, 388, 0, 389, 390, 391, 392, 393,
10078 : 0, 394, 395, 0, 396, 0, 397, 398, 399, 400,
10079 : 401, 402, 0, 403, 404, 0, 0, 405, 406, 407,
10080 : 0, 0, 408, 409, 0, 410, 0, 411, 412, 413,
10081 : 414, 415, 416, 417, 418, 419, 420, 0, 421, 422,
10082 : 423, 424, 425, 426, 427, 428, 0, 429, 430, 431,
10083 : 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
10084 : 442, 0, 443, 444, 445, 446, 447, 448, 449, 450,
10085 : 451, 452, 453, 454, 0, 455, 456, 0, 457, 458,
10086 : 459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
10087 : 469, 0, 470, 471, 472, 473, 474, 0, 475, 476,
10088 : 477, 478, 479, 0, 480, 481, 482, 483, 0, 484,
10089 : 485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
10090 : 495, 496, 0, 497, 498, 2735, 499, 0, 500, 2736,
10091 : 502, 2737, 504, 0, 505, 506, 0, 0, 507, 508,
10092 : 509, 510, 511, 0, 512, 513, 514, 515, 516, 517,
10093 : 518, 0, 0, 519, 520, 2738, 522, 523, 0, 0,
10094 : 524, 525, 526, 527, 528, 529, 530, 0, 531, 0,
10095 : 532, 533, 534, 535, 0, 0, 536, 0, 0, 537,
10096 : 538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
10097 : 548, 549, 550, 551, 552, 553, 554, 555, 556, 223,
10098 : 0, 617, 0, 0, 0, 0, 0, 0, 0, 0,
10099 : 0, 0, 0, 0, 224, 225, 226, 227, 228, 229,
10100 : 230, 231, 0, 233, 234, 235, 0, 0, 0, 0,
10101 : 0, 0, 0, 236, 237, 0, 238, 239, 240, 0,
10102 : 241, 242, 243, 244, 245, 0, 246, 247, 0, 248,
10103 : 249, 250, 251, 252, 0, 0, 253, 254, 255, 256,
10104 : 257, 0, 258, 259, 260, 261, 262, 0, 0, 0,
10105 : 263, 264, 265, 266, 267, 0, 268, 269, 270, 0,
10106 : 271, 272, 273, 274, 275, 276, 0, 0, 277, 278,
10107 : 279, 0, 0, 0, 0, 0, 0, 0, 280, 281,
10108 : 282, 283, 284, 285, 286, 287, 288, 0, 289, 0,
10109 : 290, 291, 292, 293, 294, 295, 0, 296, 297, 298,
10110 : 299, 0, 0, 300, 301, 302, 303, 304, 0, 305,
10111 : 306, 307, 0, 308, 309, 310, 0, 311, 312, 313,
10112 : 314, 315, 316, 317, 318, 319, 0, 320, 0, 321,
10113 : 322, 323, 324, 0, 325, 0, 326, 0, 0, 0,
10114 : 327, 328, 329, 330, 0, 331, 332, 0, 333, 334,
10115 : 0, 335, 336, 337, 338, 339, 0, 340, 341, 342,
10116 : 343, 0, 344, 345, 346, 347, 348, 349, 0, 350,
10117 : 0, 351, 352, 353, 354, 355, 356, 357, 0, 358,
10118 : 0, 359, 0, 0, 360, 0, 361, 362, 363, 364,
10119 : 365, 0, 0, 366, 367, 0, 368, 0, 0, 369,
10120 : 370, 371, 0, 0, 372, 373, 374, 375, 376, 377,
10121 : 378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
10122 : 388, 0, 389, 390, 391, 392, 393, 0, 394, 395,
10123 : 0, 396, 0, 397, 398, 399, 400, 401, 402, 0,
10124 : 403, 404, 0, 0, 405, 406, 407, 0, 0, 408,
10125 : 409, 0, 410, 0, 411, 412, 413, 414, 415, 416,
10126 : 417, 418, 419, 420, 0, 421, 422, 423, 424, 425,
10127 : 426, 427, 428, 0, 429, 430, 431, 432, 433, 434,
10128 : 435, 436, 437, 438, 439, 440, 441, 442, 0, 443,
10129 : 444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
10130 : 454, 0, 455, 456, 0, 457, 458, 459, 460, 461,
10131 : 462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
10132 : 471, 472, 473, 474, 0, 475, 476, 477, 478, 479,
10133 : 0, 480, 481, 482, 483, 0, 484, 485, 486, 487,
10134 : 488, 489, 490, 491, 492, 493, 494, 495, 496, 0,
10135 : 497, 498, 0, 499, 0, 500, 501, 502, 503, 504,
10136 : 0, 505, 506, 0, 0, 507, 508, 509, 510, 511,
10137 : 0, 512, 513, 514, 515, 516, 517, 518, 0, 0,
10138 : 519, 520, 521, 522, 523, 0, 0, 524, 525, 526,
10139 : 527, 528, 529, 530, 0, 531, 0, 532, 533, 534,
10140 : 535, 0, 0, 536, 0, 0, 537, 538, 539, 540,
10141 : 541, 542, 543, 544, 545, 546, 547, 548, 549, 550,
10142 : 551, 552, 553, 554, 555, 556, 223, 0, 0, 0,
10143 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10144 : 0, 224, 225, 226, 227, 228, 229, 230, 231, 0,
10145 : 233, 234, 235, 0, 0, 0, 0, 0, 3961, 0,
10146 : 236, 237, 0, 238, 239, 240, 0, 241, 242, 243,
10147 : 244, 245, 0, 246, 247, 0, 248, 249, 250, 251,
10148 : 252, 0, 0, 253, 254, 255, 256, 257, 0, 258,
10149 : 259, 260, 261, 262, 0, 0, 0, 263, 264, 265,
10150 : 266, 267, 0, 268, 269, 270, 0, 271, 272, 273,
10151 : 274, 275, 276, 0, 0, 277, 278, 279, 0, 0,
10152 : 0, 0, 0, 0, 0, 280, 281, 282, 283, 284,
10153 : 285, 286, 287, 288, 0, 289, 0, 290, 291, 292,
10154 : 293, 294, 295, 0, 296, 297, 298, 299, 0, 0,
10155 : 300, 301, 302, 303, 304, 0, 305, 306, 307, 0,
10156 : 308, 309, 310, 0, 311, 312, 313, 314, 315, 316,
10157 : 317, 318, 319, 0, 320, 0, 321, 322, 323, 324,
10158 : 0, 325, 0, 326, 0, 0, 0, 327, 328, 329,
10159 : 330, 0, 331, 332, 0, 333, 334, 0, 335, 336,
10160 : 337, 338, 339, 0, 340, 341, 342, 343, 0, 344,
10161 : 345, 346, 347, 348, 349, 0, 350, 0, 351, 352,
10162 : 353, 354, 355, 356, 357, 0, 358, 0, 359, 0,
10163 : 0, 360, 0, 361, 362, 363, 364, 365, 0, 0,
10164 : 366, 367, 0, 368, 0, 0, 369, 370, 371, 0,
10165 : 0, 372, 373, 374, 375, 376, 377, 378, 379, 380,
10166 : 381, 382, 383, 384, 385, 386, 387, 388, 0, 389,
10167 : 390, 391, 392, 393, 0, 394, 395, 0, 396, 0,
10168 : 397, 398, 399, 400, 401, 402, 0, 403, 404, 0,
10169 : 0, 405, 406, 407, 0, 0, 408, 409, 0, 410,
10170 : 0, 411, 412, 413, 414, 415, 416, 417, 418, 419,
10171 : 420, 0, 421, 422, 423, 424, 425, 426, 427, 428,
10172 : 0, 429, 430, 431, 432, 433, 434, 435, 436, 437,
10173 : 438, 439, 440, 441, 442, 0, 443, 444, 445, 446,
10174 : 447, 448, 449, 450, 451, 452, 453, 454, 0, 455,
10175 : 456, 0, 457, 458, 459, 460, 461, 462, 463, 464,
10176 : 465, 466, 467, 468, 469, 0, 470, 471, 472, 473,
10177 : 474, 0, 475, 476, 477, 478, 479, 0, 480, 481,
10178 : 482, 483, 0, 484, 485, 486, 487, 488, 489, 490,
10179 : 491, 492, 493, 494, 495, 496, 0, 497, 498, 0,
10180 : 499, 0, 500, 501, 502, 503, 504, 0, 505, 506,
10181 : 0, 0, 507, 508, 509, 510, 511, 0, 512, 513,
10182 : 514, 515, 516, 517, 518, 0, 0, 519, 520, 521,
10183 : 522, 523, 0, 0, 524, 525, 526, 527, 528, 529,
10184 : 530, 0, 531, 0, 532, 533, 534, 535, 0, 0,
10185 : 536, 0, 0, 537, 538, 539, 540, 541, 542, 543,
10186 : 544, 545, 546, 547, 548, 549, 550, 551, 552, 553,
10187 : 554, 555, 556, 223, 0, 0, 0, 0, 0, 0,
10188 : 0, 0, 0, 0, 0, 0, 0, 0, 224, 225,
10189 : 226, 227, 228, 229, 230, 231, 0, 233, 234, 235,
10190 : 0, 0, 0, 0, 0, 3975, 0, 236, 237, 0,
10191 : 238, 239, 240, 0, 241, 242, 243, 244, 245, 0,
10192 : 246, 247, 0, 248, 249, 250, 251, 252, 0, 0,
10193 : 253, 254, 255, 256, 257, 0, 258, 259, 260, 261,
10194 : 262, 0, 0, 0, 263, 264, 265, 266, 267, 0,
10195 : 268, 269, 270, 0, 271, 272, 273, 274, 275, 276,
10196 : 0, 0, 277, 278, 279, 0, 0, 0, 0, 0,
10197 : 0, 0, 280, 281, 282, 283, 284, 285, 286, 287,
10198 : 288, 0, 289, 0, 290, 291, 292, 293, 294, 295,
10199 : 0, 296, 297, 298, 299, 0, 0, 300, 301, 302,
10200 : 303, 304, 0, 305, 306, 307, 0, 308, 309, 310,
10201 : 0, 311, 312, 313, 314, 315, 316, 317, 318, 319,
10202 : 0, 320, 0, 321, 322, 323, 324, 0, 325, 0,
10203 : 326, 0, 0, 0, 327, 328, 329, 330, 0, 331,
10204 : 332, 0, 333, 334, 0, 335, 336, 337, 338, 339,
10205 : 0, 340, 341, 342, 343, 0, 344, 345, 346, 347,
10206 : 348, 349, 0, 350, 0, 351, 352, 353, 354, 355,
10207 : 356, 357, 0, 358, 0, 359, 0, 0, 360, 0,
10208 : 361, 362, 363, 364, 365, 0, 0, 366, 367, 0,
10209 : 368, 0, 0, 369, 370, 371, 0, 0, 372, 373,
10210 : 374, 375, 376, 377, 378, 379, 380, 381, 382, 383,
10211 : 384, 385, 386, 387, 388, 0, 389, 390, 391, 392,
10212 : 393, 0, 394, 395, 0, 396, 0, 397, 398, 399,
10213 : 400, 401, 402, 0, 403, 404, 0, 0, 405, 406,
10214 : 407, 0, 0, 408, 409, 0, 410, 0, 411, 412,
10215 : 413, 414, 415, 416, 417, 418, 419, 420, 0, 421,
10216 : 422, 423, 424, 425, 426, 427, 428, 0, 429, 430,
10217 : 431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
10218 : 441, 442, 0, 443, 444, 445, 446, 447, 448, 449,
10219 : 450, 451, 452, 453, 454, 0, 455, 456, 0, 457,
10220 : 458, 459, 460, 461, 462, 463, 464, 465, 466, 467,
10221 : 468, 469, 0, 470, 471, 472, 473, 474, 0, 475,
10222 : 476, 477, 478, 479, 0, 480, 481, 482, 483, 0,
10223 : 484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
10224 : 494, 495, 496, 0, 497, 498, 0, 499, 0, 500,
10225 : 501, 502, 503, 504, 0, 505, 506, 0, 0, 507,
10226 : 508, 509, 510, 511, 0, 512, 513, 514, 515, 516,
10227 : 517, 518, 0, 0, 519, 520, 521, 522, 523, 0,
10228 : 0, 524, 525, 526, 527, 528, 529, 530, 0, 531,
10229 : 0, 532, 533, 534, 535, 0, 0, 536, 0, 0,
10230 : 537, 538, 539, 540, 541, 542, 543, 544, 545, 546,
10231 : 547, 548, 549, 550, 551, 552, 553, 554, 555, 556,
10232 : 223, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10233 : 0, 0, 0, 0, 0, 224, 225, 226, 227, 228,
10234 : 229, 230, 231, 0, 233, 234, 235, 0, 0, 0,
10235 : 0, 0, 0, 0, 236, 237, 0, 238, 239, 240,
10236 : 0, 241, 242, 243, 244, 245, 0, 246, 247, 0,
10237 : 248, 249, 250, 251, 252, 0, 0, 253, 254, 255,
10238 : 256, 257, 0, 258, 259, 260, 261, 262, 0, 0,
10239 : 0, 263, 264, 265, 266, 267, 0, 268, 269, 270,
10240 : 0, 271, 272, 273, 274, 275, 276, 0, 0, 277,
10241 : 278, 279, 0, 0, 0, 0, 0, 0, 0, 280,
10242 : 281, 282, 283, 284, 285, 286, 287, 288, 0, 289,
10243 : 0, 290, 291, 292, 293, 294, 295, 0, 296, 297,
10244 : 298, 299, 0, 0, 300, 301, 302, 303, 304, 0,
10245 : 305, 306, 307, 0, 308, 309, 310, 0, 311, 312,
10246 : 313, 314, 315, 316, 317, 318, 319, 0, 320, 0,
10247 : 321, 322, 323, 324, 0, 325, 0, 326, 0, 0,
10248 : 0, 327, 328, 329, 330, 0, 331, 332, 0, 333,
10249 : 334, 0, 335, 336, 337, 338, 339, 0, 340, 341,
10250 : 342, 343, 0, 344, 345, 346, 347, 348, 349, 0,
10251 : 350, 0, 351, 352, 353, 354, 355, 356, 357, 0,
10252 : 358, 0, 359, 0, 0, 360, 0, 361, 362, 363,
10253 : 364, 365, 0, 0, 366, 367, 0, 368, 0, 0,
10254 : 369, 370, 371, 0, 0, 372, 373, 374, 375, 376,
10255 : 377, 378, 379, 380, 381, 382, 383, 384, 385, 386,
10256 : 387, 388, 0, 389, 390, 391, 392, 393, 0, 394,
10257 : 395, 0, 396, 0, 397, 398, 399, 400, 401, 402,
10258 : 0, 403, 404, 0, 0, 405, 406, 407, 0, 0,
10259 : 408, 409, 0, 410, 0, 411, 412, 413, 414, 415,
10260 : 416, 417, 418, 419, 420, 0, 421, 422, 423, 424,
10261 : 425, 426, 427, 428, 0, 429, 430, 431, 432, 433,
10262 : 434, 435, 436, 437, 438, 439, 440, 441, 442, 0,
10263 : 443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
10264 : 453, 454, 0, 455, 456, 0, 457, 458, 459, 460,
10265 : 461, 462, 463, 464, 465, 466, 467, 468, 469, 0,
10266 : 470, 471, 472, 473, 474, 0, 475, 476, 477, 478,
10267 : 479, 0, 480, 481, 482, 483, 0, 484, 485, 486,
10268 : 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
10269 : 0, 497, 498, 0, 499, 0, 500, 501, 502, 503,
10270 : 504, 0, 505, 506, 0, 0, 507, 508, 509, 510,
10271 : 511, 0, 512, 513, 514, 515, 516, 517, 518, 0,
10272 : 0, 519, 520, 521, 522, 523, 0, 0, 524, 525,
10273 : 526, 527, 528, 529, 530, 0, 531, 0, 532, 533,
10274 : 534, 535, 0, 0, 536, 0, 0, 537, 538, 539,
10275 : 540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
10276 : 550, 551, 552, 553, 554, 555, 556, 223, 0, 0,
10277 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10278 : 0, 0, 224, 225, 226, 227, 228, 229, 230, 231,
10279 : 0, 233, 234, 235, 0, 0, 0, 0, 0, 0,
10280 : 0, 236, 237, 0, 238, 239, 240, 0, 241, 242,
10281 : 243, 244, 245, 0, 246, 247, 0, 248, 249, 250,
10282 : 251, 252, 0, 0, 253, 254, 255, 256, 257, 0,
10283 : 258, 259, 260, 261, 262, 0, 0, 0, 263, 264,
10284 : 265, 266, 267, 0, 268, 269, 270, 0, 271, 272,
10285 : 273, 274, 275, 276, 0, 0, 277, 278, 279, 0,
10286 : 0, 0, 0, 0, 0, 0, 280, 281, 282, 283,
10287 : 284, 285, 286, 287, 288, 0, 289, 0, 290, 291,
10288 : 292, 293, 294, 295, 0, 296, 297, 298, 299, 0,
10289 : 0, 300, 301, 302, 303, 304, 0, 305, 306, 307,
10290 : 0, 308, 309, 310, 0, 311, 312, 313, 314, 315,
10291 : 316, 317, 318, 319, 0, 320, 0, 321, 322, 323,
10292 : 324, 0, 325, 0, 326, 0, 0, 0, 327, 328,
10293 : 329, 330, 0, 331, 332, 0, 333, 334, 0, 335,
10294 : 336, 337, 338, 339, 0, 340, 341, 342, 343, 0,
10295 : 344, 345, 346, 347, 348, 349, 0, 350, 0, 351,
10296 : 352, 353, 354, 355, 356, 357, 0, 358, 0, 359,
10297 : 0, 0, 360, 0, 361, 362, 363, 364, 365, 0,
10298 : 0, 366, 367, 0, 368, 0, 0, 369, 370, 371,
10299 : 0, 0, 372, 373, 374, 375, 376, 377, 378, 379,
10300 : 380, 381, 382, 383, 384, 385, 386, 387, 388, 0,
10301 : 389, 390, 391, 392, 393, 0, 394, 395, 0, 396,
10302 : 0, 397, 398, 399, 400, 401, 402, 0, 403, 404,
10303 : 0, 0, 405, 406, 407, 0, 0, 408, 409, 0,
10304 : 410, 0, 411, 412, 413, 414, 415, 416, 417, 418,
10305 : 419, 420, 0, 421, 422, 423, 424, 425, 426, 427,
10306 : 428, 0, 429, 430, 431, 432, 433, 434, 435, 436,
10307 : 437, 438, 439, 440, 441, 442, 0, 443, 444, 445,
10308 : 446, 447, 448, 449, 450, 451, 452, 453, 454, 0,
10309 : 455, 456, 0, 457, 458, 459, 460, 461, 462, 463,
10310 : 464, 465, 466, 467, 468, 469, 0, 470, 471, 472,
10311 : 473, 474, 0, 475, 476, 477, 478, 479, 0, 480,
10312 : 481, 482, 483, 0, 484, 485, 486, 487, 488, 489,
10313 : 490, 491, 492, 493, 494, 495, 496, 0, 497, 498,
10314 : 0, 499, 0, 500, 501, 502, 503, 504, 0, 505,
10315 : 506, 0, 0, 711, 508, 509, 510, 511, 0, 512,
10316 : 513, 514, 515, 516, 517, 518, 0, 0, 519, 520,
10317 : 521, 522, 523, 0, 0, 524, 525, 526, 527, 528,
10318 : 529, 530, 0, 531, 0, 532, 533, 534, 535, 0,
10319 : 0, 536, 0, 0, 537, 538, 539, 540, 541, 542,
10320 : 543, 544, 545, 546, 547, 548, 549, 550, 551, 552,
10321 : 553, 554, 555, 556, 223, 0, 0, 0, 0, 0,
10322 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 224,
10323 : 225, 226, 227, 228, 229, 230, 231, 0, 233, 234,
10324 : 235, 0, 0, 0, 0, 0, 0, 0, 236, 237,
10325 : 0, 238, 239, 240, 0, 241, 242, 243, 244, 245,
10326 : 0, 246, 247, 0, 248, 249, 250, 251, 252, 0,
10327 : 0, 253, 254, 255, 256, 257, 0, 258, 259, 260,
10328 : 261, 262, 0, 0, 0, 263, 264, 265, 266, 267,
10329 : 0, 268, 269, 270, 0, 271, 272, 273, 274, 275,
10330 : 276, 0, 0, 277, 278, 279, 0, 0, 0, 0,
10331 : 0, 0, 0, 280, 281, 282, 283, 284, 285, 286,
10332 : 287, 288, 0, 289, 0, 290, 291, 292, 293, 294,
10333 : 295, 0, 296, 297, 298, 299, 0, 0, 300, 301,
10334 : 302, 303, 304, 0, 305, 306, 307, 0, 308, 309,
10335 : 310, 0, 311, 312, 313, 314, 315, 316, 317, 318,
10336 : 319, 0, 320, 0, 321, 322, 323, 324, 0, 325,
10337 : 0, 326, 0, 0, 0, 327, 328, 329, 330, 0,
10338 : 331, 332, 0, 333, 334, 0, 335, 336, 337, 338,
10339 : 339, 0, 340, 341, 342, 343, 0, 344, 345, 346,
10340 : 347, 348, 349, 0, 350, 0, 351, 352, 353, 354,
10341 : 355, 356, 357, 0, 358, 0, 359, 0, 0, 360,
10342 : 0, 361, 362, 363, 364, 365, 0, 0, 366, 367,
10343 : 0, 368, 0, 0, 369, 370, 371, 0, 0, 372,
10344 : 373, 374, 375, 376, 377, 378, 379, 380, 381, 382,
10345 : 383, 384, 385, 386, 387, 388, 0, 389, 390, 391,
10346 : 392, 393, 0, 394, 395, 0, 396, 0, 397, 398,
10347 : 399, 400, 401, 402, 0, 403, 404, 0, 0, 405,
10348 : 406, 407, 0, 0, 408, 409, 0, 410, 0, 411,
10349 : 412, 413, 414, 415, 416, 417, 418, 419, 420, 0,
10350 : 421, 422, 423, 424, 425, 426, 427, 428, 0, 429,
10351 : 430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
10352 : 440, 441, 442, 0, 443, 444, 445, 446, 447, 448,
10353 : 449, 450, 451, 452, 453, 454, 0, 455, 456, 0,
10354 : 457, 458, 459, 460, 461, 462, 723, 464, 465, 466,
10355 : 467, 468, 469, 0, 470, 471, 472, 473, 474, 0,
10356 : 475, 476, 477, 478, 479, 0, 480, 481, 482, 483,
10357 : 0, 484, 485, 486, 487, 488, 489, 490, 491, 492,
10358 : 493, 494, 495, 496, 0, 497, 498, 0, 499, 0,
10359 : 500, 501, 502, 503, 504, 0, 505, 506, 0, 0,
10360 : 507, 508, 509, 510, 511, 0, 512, 513, 514, 515,
10361 : 516, 517, 518, 0, 0, 519, 520, 521, 522, 523,
10362 : 0, 0, 524, 525, 526, 527, 528, 529, 530, 0,
10363 : 531, 0, 532, 533, 534, 535, 0, 0, 536, 0,
10364 : 0, 537, 538, 539, 540, 541, 542, 543, 544, 545,
10365 : 546, 547, 548, 549, 550, 551, 552, 553, 554, 555,
10366 : 556, 223, 0, 0, 0, 0, 0, 0, 0, 0,
10367 : 0, 0, 0, 0, 0, 0, 224, 225, 226, 227,
10368 : 228, 229, 230, 231, 0, 233, 234, 235, 0, 0,
10369 : 0, 0, 0, 0, 0, 236, 237, 0, 238, 239,
10370 : 240, 0, 241, 242, 243, 244, 245, 0, 246, 247,
10371 : 0, 248, 249, 250, 251, 252, 0, 0, 745, 254,
10372 : 255, 256, 257, 0, 258, 259, 260, 261, 262, 0,
10373 : 0, 0, 263, 264, 265, 266, 267, 0, 268, 269,
10374 : 270, 0, 746, 272, 273, 274, 275, 276, 0, 0,
10375 : 277, 278, 279, 0, 0, 0, 0, 0, 0, 0,
10376 : 280, 281, 282, 283, 284, 285, 286, 287, 288, 0,
10377 : 289, 0, 290, 291, 292, 293, 294, 295, 0, 296,
10378 : 297, 298, 299, 0, 0, 300, 301, 302, 303, 304,
10379 : 0, 305, 306, 307, 0, 308, 309, 310, 0, 311,
10380 : 312, 313, 314, 315, 316, 317, 318, 319, 0, 320,
10381 : 0, 321, 322, 323, 324, 0, 325, 0, 326, 0,
10382 : 0, 0, 327, 328, 329, 330, 0, 331, 332, 0,
10383 : 333, 334, 0, 335, 336, 337, 338, 339, 0, 340,
10384 : 341, 342, 343, 0, 344, 345, 346, 347, 348, 349,
10385 : 0, 350, 0, 351, 352, 353, 354, 355, 356, 357,
10386 : 0, 358, 0, 359, 0, 0, 360, 0, 361, 362,
10387 : 363, 364, 365, 0, 0, 366, 367, 0, 368, 0,
10388 : 0, 369, 370, 747, 0, 0, 372, 373, 374, 375,
10389 : 376, 377, 378, 379, 380, 381, 382, 383, 384, 385,
10390 : 386, 748, 388, 0, 389, 390, 391, 392, 393, 0,
10391 : 394, 395, 0, 396, 0, 397, 398, 399, 400, 401,
10392 : 402, 0, 403, 404, 0, 0, 405, 406, 407, 0,
10393 : 0, 408, 409, 0, 410, 0, 411, 412, 413, 414,
10394 : 415, 416, 417, 418, 419, 420, 0, 421, 422, 423,
10395 : 424, 425, 426, 427, 428, 0, 429, 430, 431, 432,
10396 : 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
10397 : 0, 443, 444, 445, 446, 447, 448, 449, 450, 451,
10398 : 452, 453, 454, 0, 455, 456, 0, 749, 458, 459,
10399 : 460, 461, 462, 463, 750, 465, 466, 467, 468, 469,
10400 : 0, 470, 471, 472, 473, 751, 0, 475, 476, 477,
10401 : 478, 479, 0, 480, 481, 482, 483, 0, 484, 485,
10402 : 486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
10403 : 496, 0, 497, 498, 0, 499, 0, 500, 501, 502,
10404 : 503, 504, 0, 752, 506, 0, 0, 753, 508, 509,
10405 : 510, 511, 0, 512, 513, 514, 515, 516, 517, 518,
10406 : 0, 0, 519, 520, 521, 522, 523, 0, 0, 524,
10407 : 525, 526, 527, 528, 529, 530, 0, 531, 0, 532,
10408 : 533, 534, 535, 0, 0, 536, 0, 0, 537, 538,
10409 : 539, 540, 541, 754, 543, 544, 545, 546, 547, 548,
10410 : 549, 550, 551, 552, 553, 554, 555, 556, 223, 0,
10411 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10412 : 0, 0, 0, 224, 225, 226, 227, 228, 229, 230,
10413 : 231, 0, 233, 234, 235, 0, 0, 0, 0, 0,
10414 : 0, 0, 236, 237, 0, 238, 239, 240, 0, 241,
10415 : 242, 243, 244, 245, 0, 246, 247, 0, 248, 249,
10416 : 250, 251, 252, 0, 0, 253, 254, 255, 256, 257,
10417 : 0, 258, 259, 260, 261, 262, 0, 0, 0, 263,
10418 : 264, 265, 266, 267, 0, 268, 269, 270, 0, 271,
10419 : 272, 273, 274, 275, 276, 0, 0, 277, 278, 279,
10420 : 0, 0, 0, 0, 0, 0, 0, 280, 281, 282,
10421 : 283, 284, 285, 286, 287, 288, 0, 289, 0, 290,
10422 : 291, 292, 293, 294, 295, 0, 296, 297, 298, 299,
10423 : 0, 0, 300, 301, 302, 303, 304, 0, 305, 306,
10424 : 307, 0, 308, 309, 310, 0, 311, 312, 313, 314,
10425 : 315, 316, 317, 318, 319, 0, 320, 0, 321, 322,
10426 : 323, 324, 0, 325, 0, 326, 0, 0, 0, 327,
10427 : 328, 329, 330, 0, 331, 332, 0, 333, 334, 0,
10428 : 335, 336, 337, 338, 339, 0, 340, 341, 342, 343,
10429 : 0, 344, 345, 346, 347, 348, 349, 0, 350, 0,
10430 : 351, 352, 353, 354, 355, 356, 357, 0, 358, 0,
10431 : 359, 0, 0, 360, 0, 361, 362, 363, 364, 365,
10432 : 0, 0, 366, 367, 0, 368, 0, 0, 369, 370,
10433 : 371, 0, 0, 372, 373, 374, 375, 376, 377, 378,
10434 : 379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
10435 : 0, 389, 390, 391, 392, 393, 0, 394, 395, 0,
10436 : 396, 0, 397, 398, 399, 400, 401, 402, 0, 403,
10437 : 404, 0, 0, 405, 406, 407, 0, 0, 408, 409,
10438 : 0, 410, 0, 411, 412, 413, 414, 415, 416, 417,
10439 : 418, 419, 420, 0, 421, 422, 423, 424, 425, 426,
10440 : 427, 428, 0, 429, 430, 431, 432, 433, 434, 435,
10441 : 436, 437, 438, 439, 440, 776, 442, 0, 443, 444,
10442 : 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
10443 : 0, 455, 456, 0, 457, 458, 459, 460, 461, 462,
10444 : 463, 464, 465, 466, 467, 468, 469, 0, 470, 471,
10445 : 472, 473, 474, 0, 475, 476, 477, 478, 479, 0,
10446 : 480, 481, 482, 483, 0, 484, 485, 486, 487, 488,
10447 : 489, 490, 491, 492, 493, 494, 495, 496, 0, 497,
10448 : 498, 0, 499, 0, 500, 501, 502, 503, 504, 0,
10449 : 505, 506, 0, 0, 507, 508, 509, 510, 511, 0,
10450 : 512, 513, 514, 515, 516, 517, 518, 0, 0, 519,
10451 : 520, 521, 522, 523, 0, 0, 524, 525, 526, 527,
10452 : 528, 529, 530, 0, 531, 0, 532, 533, 534, 535,
10453 : 0, 0, 536, 0, 0, 537, 538, 539, 540, 541,
10454 : 542, 543, 544, 545, 546, 547, 548, 549, 550, 551,
10455 : 552, 553, 554, 555, 556, 223, 0, 0, 0, 0,
10456 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10457 : 224, 225, 226, 227, 228, 229, 230, 231, 0, 233,
10458 : 234, 235, 0, 0, 0, 0, 0, 0, 0, 236,
10459 : 237, 0, 238, 239, 240, 0, 241, 242, 243, 244,
10460 : 245, 0, 246, 247, 0, 248, 249, 250, 251, 252,
10461 : 0, 0, 253, 254, 255, 256, 257, 0, 258, 259,
10462 : 260, 261, 262, 0, 0, 0, 263, 264, 265, 266,
10463 : 267, 0, 268, 269, 270, 0, 271, 272, 273, 274,
10464 : 275, 276, 0, 0, 277, 278, 279, 0, 0, 0,
10465 : 0, 0, 0, 0, 280, 281, 282, 283, 284, 285,
10466 : 286, 287, 288, 0, 289, 0, 290, 291, 292, 293,
10467 : 294, 295, 0, 296, 297, 298, 299, 0, 0, 300,
10468 : 301, 302, 303, 304, 0, 305, 306, 307, 0, 308,
10469 : 309, 310, 0, 311, 312, 313, 314, 315, 316, 317,
10470 : 318, 319, 0, 320, 0, 321, 322, 323, 324, 0,
10471 : 325, 0, 326, 0, 0, 0, 327, 328, 329, 330,
10472 : 0, 331, 332, 0, 333, 334, 0, 335, 336, 337,
10473 : 338, 879, 0, 340, 341, 342, 343, 0, 344, 345,
10474 : 346, 347, 348, 349, 0, 350, 0, 351, 352, 353,
10475 : 354, 355, 356, 357, 0, 358, 0, 359, 0, 0,
10476 : 360, 0, 361, 362, 363, 364, 365, 0, 0, 366,
10477 : 367, 0, 368, 0, 0, 369, 370, 371, 0, 0,
10478 : 372, 373, 374, 375, 376, 377, 378, 379, 380, 381,
10479 : 382, 383, 384, 385, 386, 387, 388, 0, 389, 390,
10480 : 391, 392, 393, 0, 394, 395, 0, 396, 0, 397,
10481 : 398, 399, 400, 401, 402, 0, 403, 404, 0, 0,
10482 : 405, 406, 407, 0, 0, 408, 409, 0, 410, 0,
10483 : 411, 412, 413, 414, 415, 416, 417, 418, 419, 420,
10484 : 0, 421, 422, 423, 424, 425, 426, 427, 428, 0,
10485 : 429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
10486 : 439, 440, 441, 442, 0, 443, 444, 445, 446, 447,
10487 : 448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
10488 : 0, 457, 458, 459, 460, 461, 462, 463, 464, 465,
10489 : 466, 467, 468, 469, 0, 470, 471, 472, 473, 474,
10490 : 0, 475, 476, 477, 478, 479, 0, 480, 481, 482,
10491 : 483, 0, 484, 485, 486, 487, 488, 489, 490, 491,
10492 : 492, 493, 494, 495, 496, 0, 497, 498, 0, 499,
10493 : 0, 500, 501, 502, 503, 504, 0, 505, 506, 0,
10494 : 0, 507, 508, 509, 510, 511, 0, 512, 513, 514,
10495 : 515, 516, 517, 518, 0, 0, 519, 520, 521, 522,
10496 : 523, 0, 0, 524, 525, 526, 527, 528, 529, 530,
10497 : 0, 531, 0, 532, 533, 534, 535, 0, 0, 536,
10498 : 0, 0, 537, 538, 539, 540, 541, 542, 543, 544,
10499 : 545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
10500 : 555, 556, 223, 0, 0, 0, 0, 0, 0, 0,
10501 : 0, 0, 0, 0, 0, 0, 0, 224, 225, 226,
10502 : 227, 228, 229, 230, 231, 0, 233, 234, 235, 0,
10503 : 0, 0, 0, 0, 0, 0, 236, 237, 0, 238,
10504 : 239, 240, 0, 241, 242, 243, 244, 245, 0, 246,
10505 : 247, 0, 248, 249, 250, 251, 252, 0, 0, 253,
10506 : 254, 255, 256, 257, 0, 258, 259, 260, 261, 262,
10507 : 0, 0, 0, 263, 264, 265, 266, 267, 0, 268,
10508 : 269, 270, 0, 271, 272, 273, 274, 275, 276, 0,
10509 : 0, 277, 278, 279, 0, 0, 0, 0, 0, 0,
10510 : 0, 280, 281, 282, 283, 284, 285, 286, 287, 288,
10511 : 0, 289, 0, 290, 291, 292, 293, 294, 295, 0,
10512 : 296, 297, 298, 299, 0, 0, 300, 301, 302, 303,
10513 : 304, 0, 305, 306, 307, 0, 308, 309, 310, 0,
10514 : 311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
10515 : 320, 0, 321, 322, 323, 324, 0, 325, 0, 326,
10516 : 0, 0, 0, 327, 328, 329, 330, 0, 331, 332,
10517 : 0, 333, 334, 0, 335, 336, 337, 338, 887, 0,
10518 : 340, 341, 342, 343, 0, 344, 345, 346, 347, 348,
10519 : 349, 0, 350, 0, 351, 352, 353, 354, 355, 356,
10520 : 357, 0, 358, 0, 359, 0, 0, 360, 0, 361,
10521 : 362, 363, 364, 365, 0, 0, 366, 367, 0, 368,
10522 : 0, 0, 369, 370, 371, 0, 0, 372, 373, 374,
10523 : 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
10524 : 385, 386, 387, 388, 0, 389, 390, 391, 392, 393,
10525 : 0, 394, 395, 0, 396, 0, 397, 398, 399, 400,
10526 : 401, 402, 0, 403, 404, 0, 0, 405, 406, 407,
10527 : 0, 0, 408, 409, 0, 410, 0, 411, 412, 413,
10528 : 414, 415, 416, 417, 418, 419, 420, 0, 421, 422,
10529 : 423, 424, 425, 426, 427, 428, 0, 429, 430, 431,
10530 : 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
10531 : 442, 0, 443, 444, 445, 446, 447, 448, 449, 450,
10532 : 451, 452, 453, 454, 0, 455, 456, 0, 457, 458,
10533 : 459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
10534 : 469, 0, 470, 471, 472, 473, 474, 0, 475, 476,
10535 : 477, 478, 479, 0, 480, 481, 482, 483, 0, 484,
10536 : 485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
10537 : 495, 496, 0, 497, 498, 0, 499, 0, 500, 501,
10538 : 502, 503, 504, 0, 505, 506, 0, 0, 507, 508,
10539 : 509, 510, 511, 0, 512, 513, 514, 515, 516, 517,
10540 : 518, 0, 0, 519, 520, 521, 522, 523, 0, 0,
10541 : 524, 525, 526, 527, 528, 529, 530, 0, 531, 0,
10542 : 532, 533, 534, 535, 0, 0, 536, 0, 0, 537,
10543 : 538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
10544 : 548, 549, 550, 551, 552, 553, 554, 555, 556, 223,
10545 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10546 : 0, 0, 0, 0, 224, 225, 226, 227, 228, 229,
10547 : 230, 231, 0, 233, 234, 235, 0, 0, 0, 0,
10548 : 0, 0, 0, 236, 237, 0, 238, 239, 240, 0,
10549 : 241, 242, 243, 244, 245, 0, 246, 247, 0, 248,
10550 : 249, 250, 251, 252, 0, 0, 253, 254, 255, 256,
10551 : 257, 0, 258, 259, 260, 261, 262, 0, 0, 0,
10552 : 263, 264, 265, 266, 267, 0, 268, 269, 270, 0,
10553 : 271, 272, 273, 274, 275, 276, 0, 0, 277, 278,
10554 : 279, 0, 0, 0, 0, 0, 0, 0, 280, 281,
10555 : 282, 283, 284, 285, 286, 287, 288, 0, 289, 0,
10556 : 290, 291, 292, 293, 294, 295, 0, 296, 297, 298,
10557 : 299, 0, 0, 300, 301, 302, 303, 304, 0, 305,
10558 : 306, 307, 0, 308, 309, 310, 0, 311, 312, 313,
10559 : 314, 315, 316, 317, 318, 319, 0, 320, 0, 321,
10560 : 322, 323, 324, 0, 325, 0, 326, 0, 0, 0,
10561 : 327, 328, 329, 330, 0, 331, 332, 0, 333, 334,
10562 : 0, 335, 336, 337, 338, 905, 0, 340, 341, 342,
10563 : 343, 0, 344, 345, 346, 347, 348, 349, 0, 350,
10564 : 0, 351, 352, 353, 354, 355, 356, 357, 0, 358,
10565 : 0, 359, 0, 0, 360, 0, 361, 362, 363, 364,
10566 : 365, 0, 0, 366, 367, 0, 368, 0, 0, 369,
10567 : 370, 371, 0, 0, 372, 373, 374, 375, 376, 377,
10568 : 378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
10569 : 388, 0, 389, 390, 391, 392, 393, 0, 394, 395,
10570 : 0, 396, 0, 397, 398, 399, 400, 401, 402, 0,
10571 : 403, 404, 0, 0, 405, 406, 407, 0, 0, 408,
10572 : 409, 0, 410, 0, 411, 412, 413, 414, 415, 416,
10573 : 417, 418, 419, 420, 0, 421, 422, 423, 424, 425,
10574 : 426, 427, 428, 0, 429, 430, 431, 432, 433, 434,
10575 : 435, 436, 437, 438, 439, 440, 441, 442, 0, 443,
10576 : 444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
10577 : 454, 0, 455, 456, 0, 457, 458, 459, 460, 461,
10578 : 462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
10579 : 471, 472, 473, 474, 0, 475, 476, 477, 478, 479,
10580 : 0, 480, 481, 482, 483, 0, 484, 485, 486, 487,
10581 : 488, 489, 490, 491, 492, 493, 494, 495, 496, 0,
10582 : 497, 498, 0, 499, 0, 500, 501, 502, 503, 504,
10583 : 0, 505, 506, 0, 0, 507, 508, 509, 510, 511,
10584 : 0, 512, 513, 514, 515, 516, 517, 518, 0, 0,
10585 : 519, 520, 521, 522, 523, 0, 0, 524, 525, 526,
10586 : 527, 528, 529, 530, 0, 531, 0, 532, 533, 534,
10587 : 535, 0, 0, 536, 0, 0, 537, 538, 539, 540,
10588 : 541, 542, 543, 544, 545, 546, 547, 548, 549, 550,
10589 : 551, 552, 553, 554, 555, 556, 223, 0, 0, 0,
10590 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10591 : 0, 224, 225, 226, 227, 228, 229, 230, 231, 0,
10592 : 233, 234, 235, 0, 0, 0, 0, 0, 0, 0,
10593 : 236, 237, 0, 238, 239, 240, 0, 241, 242, 243,
10594 : 244, 245, 0, 246, 247, 0, 248, 249, 250, 251,
10595 : 252, 0, 0, 253, 254, 255, 256, 257, 0, 258,
10596 : 259, 260, 261, 262, 0, 0, 0, 263, 264, 265,
10597 : 266, 267, 0, 268, 269, 270, 0, 271, 272, 273,
10598 : 274, 275, 276, 0, 0, 277, 278, 279, 0, 0,
10599 : 0, 0, 0, 0, 0, 280, 281, 282, 283, 284,
10600 : 285, 286, 287, 288, 0, 289, 0, 290, 291, 292,
10601 : 293, 294, 295, 0, 296, 297, 298, 299, 0, 0,
10602 : 300, 301, 302, 303, 304, 0, 305, 306, 307, 0,
10603 : 308, 309, 310, 0, 311, 312, 313, 314, 315, 316,
10604 : 317, 318, 319, 0, 320, 0, 321, 322, 323, 324,
10605 : 0, 325, 0, 326, 0, 0, 0, 327, 328, 329,
10606 : 330, 0, 331, 332, 0, 333, 334, 0, 335, 336,
10607 : 337, 338, 965, 0, 340, 341, 342, 343, 0, 344,
10608 : 345, 346, 347, 348, 349, 0, 350, 0, 351, 352,
10609 : 353, 354, 355, 356, 357, 0, 358, 0, 359, 0,
10610 : 0, 360, 0, 361, 362, 363, 364, 365, 0, 0,
10611 : 366, 367, 0, 368, 0, 0, 369, 370, 371, 0,
10612 : 0, 372, 373, 374, 375, 376, 377, 378, 379, 380,
10613 : 381, 382, 383, 384, 385, 386, 387, 388, 0, 389,
10614 : 390, 391, 392, 393, 0, 394, 395, 0, 396, 0,
10615 : 397, 398, 399, 400, 401, 402, 0, 403, 404, 0,
10616 : 0, 405, 406, 407, 0, 0, 408, 409, 0, 410,
10617 : 0, 411, 412, 413, 414, 415, 416, 417, 418, 419,
10618 : 420, 0, 421, 422, 423, 424, 425, 426, 427, 428,
10619 : 0, 429, 430, 431, 432, 433, 434, 435, 436, 437,
10620 : 438, 439, 440, 441, 442, 0, 443, 444, 445, 446,
10621 : 447, 448, 449, 450, 451, 452, 453, 454, 0, 455,
10622 : 456, 0, 457, 458, 459, 460, 461, 462, 463, 464,
10623 : 465, 466, 467, 468, 469, 0, 470, 471, 472, 473,
10624 : 474, 0, 475, 476, 477, 478, 479, 0, 480, 481,
10625 : 482, 483, 0, 484, 485, 486, 487, 488, 489, 490,
10626 : 491, 492, 493, 494, 495, 496, 0, 497, 498, 0,
10627 : 499, 0, 500, 501, 502, 503, 504, 0, 505, 506,
10628 : 0, 0, 507, 508, 509, 510, 511, 0, 512, 513,
10629 : 514, 515, 516, 517, 518, 0, 0, 519, 520, 521,
10630 : 522, 523, 0, 0, 524, 525, 526, 527, 528, 529,
10631 : 530, 0, 531, 0, 532, 533, 534, 535, 0, 0,
10632 : 536, 0, 0, 537, 538, 539, 540, 541, 542, 543,
10633 : 544, 545, 546, 547, 548, 549, 550, 551, 552, 553,
10634 : 554, 555, 556, 223, 0, 0, 0, 0, 0, 0,
10635 : 0, 0, 0, 0, 0, 0, 0, 0, 224, 225,
10636 : 226, 227, 228, 229, 230, 231, 0, 233, 234, 235,
10637 : 0, 0, 0, 0, 0, 0, 0, 236, 237, 0,
10638 : 238, 239, 240, 0, 241, 242, 243, 244, 245, 0,
10639 : 246, 247, 0, 248, 249, 250, 251, 252, 0, 0,
10640 : 253, 254, 255, 256, 257, 0, 258, 259, 260, 261,
10641 : 262, 0, 0, 0, 263, 264, 265, 266, 267, 0,
10642 : 268, 269, 270, 0, 271, 272, 273, 274, 275, 276,
10643 : 0, 0, 277, 278, 279, 0, 0, 0, 0, 0,
10644 : 0, 0, 280, 281, 282, 283, 284, 285, 286, 287,
10645 : 288, 0, 289, 0, 290, 291, 292, 293, 294, 295,
10646 : 0, 296, 297, 298, 299, 0, 0, 300, 301, 302,
10647 : 303, 304, 0, 305, 306, 307, 0, 308, 309, 310,
10648 : 0, 311, 312, 313, 314, 315, 316, 317, 318, 319,
10649 : 0, 320, 0, 321, 322, 323, 324, 0, 325, 0,
10650 : 326, 0, 0, 0, 327, 328, 329, 330, 0, 331,
10651 : 332, 0, 333, 334, 0, 335, 336, 337, 338, 971,
10652 : 0, 340, 341, 342, 343, 0, 344, 345, 346, 347,
10653 : 348, 349, 0, 350, 0, 351, 352, 353, 354, 355,
10654 : 356, 357, 0, 358, 0, 359, 0, 0, 360, 0,
10655 : 361, 362, 363, 364, 365, 0, 0, 366, 367, 0,
10656 : 368, 0, 0, 369, 370, 371, 0, 0, 372, 373,
10657 : 374, 375, 376, 377, 378, 379, 380, 381, 382, 383,
10658 : 384, 385, 386, 387, 388, 0, 389, 390, 391, 392,
10659 : 393, 0, 394, 395, 0, 396, 0, 397, 398, 399,
10660 : 400, 401, 402, 0, 403, 404, 0, 0, 405, 406,
10661 : 407, 0, 0, 408, 409, 0, 410, 0, 411, 412,
10662 : 413, 414, 415, 416, 417, 418, 419, 420, 0, 421,
10663 : 422, 423, 424, 425, 426, 427, 428, 0, 429, 430,
10664 : 431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
10665 : 441, 442, 0, 443, 444, 445, 446, 447, 448, 449,
10666 : 450, 451, 452, 453, 454, 0, 455, 456, 0, 457,
10667 : 458, 459, 460, 461, 462, 463, 464, 465, 466, 467,
10668 : 468, 469, 0, 470, 471, 472, 473, 474, 0, 475,
10669 : 476, 477, 478, 479, 0, 480, 481, 482, 483, 0,
10670 : 484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
10671 : 494, 495, 496, 0, 497, 498, 0, 499, 0, 500,
10672 : 501, 502, 503, 504, 0, 505, 506, 0, 0, 507,
10673 : 508, 509, 510, 511, 0, 512, 513, 514, 515, 516,
10674 : 517, 518, 0, 0, 519, 520, 521, 522, 523, 0,
10675 : 0, 524, 525, 526, 527, 528, 529, 530, 0, 531,
10676 : 0, 532, 533, 534, 535, 0, 0, 536, 0, 0,
10677 : 537, 538, 539, 540, 541, 542, 543, 544, 545, 546,
10678 : 547, 548, 549, 550, 551, 552, 553, 554, 555, 556,
10679 : 223, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10680 : 0, 0, 0, 0, 0, 224, 225, 226, 227, 228,
10681 : 229, 230, 231, 0, 233, 234, 235, 0, 0, 0,
10682 : 0, 0, 0, 0, 236, 237, 0, 238, 239, 240,
10683 : 0, 241, 242, 243, 244, 245, 0, 246, 247, 0,
10684 : 248, 249, 250, 251, 252, 0, 0, 253, 254, 255,
10685 : 256, 257, 0, 258, 259, 260, 261, 262, 0, 0,
10686 : 0, 263, 264, 265, 266, 267, 0, 268, 269, 270,
10687 : 0, 271, 272, 273, 274, 275, 276, 0, 0, 277,
10688 : 278, 279, 0, 0, 0, 0, 0, 0, 0, 280,
10689 : 281, 282, 283, 284, 285, 286, 287, 288, 0, 289,
10690 : 0, 290, 291, 292, 293, 294, 295, 0, 296, 297,
10691 : 298, 299, 0, 0, 300, 301, 302, 303, 304, 0,
10692 : 305, 306, 307, 0, 308, 309, 310, 0, 311, 312,
10693 : 313, 314, 315, 316, 317, 318, 319, 0, 320, 0,
10694 : 321, 322, 323, 324, 0, 325, 0, 326, 0, 0,
10695 : 0, 327, 328, 329, 330, 0, 331, 332, 0, 333,
10696 : 334, 0, 335, 336, 337, 338, 988, 0, 340, 341,
10697 : 342, 343, 0, 344, 345, 346, 347, 348, 349, 0,
10698 : 350, 0, 351, 352, 353, 354, 355, 356, 357, 0,
10699 : 358, 0, 359, 0, 0, 360, 0, 361, 362, 363,
10700 : 364, 365, 0, 0, 366, 367, 0, 368, 0, 0,
10701 : 369, 370, 371, 0, 0, 372, 373, 374, 375, 376,
10702 : 377, 378, 379, 380, 381, 382, 383, 384, 385, 386,
10703 : 387, 388, 0, 389, 390, 391, 392, 393, 0, 394,
10704 : 395, 0, 396, 0, 397, 398, 399, 400, 401, 402,
10705 : 0, 403, 404, 0, 0, 405, 406, 407, 0, 0,
10706 : 408, 409, 0, 410, 0, 411, 412, 413, 414, 415,
10707 : 416, 417, 418, 419, 420, 0, 421, 422, 423, 424,
10708 : 425, 426, 427, 428, 0, 429, 430, 431, 432, 433,
10709 : 434, 435, 436, 437, 438, 439, 440, 441, 442, 0,
10710 : 443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
10711 : 453, 454, 0, 455, 456, 0, 457, 458, 459, 460,
10712 : 461, 462, 463, 464, 465, 466, 467, 468, 469, 0,
10713 : 470, 471, 472, 473, 474, 0, 475, 476, 477, 478,
10714 : 479, 0, 480, 481, 482, 483, 0, 484, 485, 486,
10715 : 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
10716 : 0, 497, 498, 0, 499, 0, 500, 501, 502, 503,
10717 : 504, 0, 505, 506, 0, 0, 507, 508, 509, 510,
10718 : 511, 0, 512, 513, 514, 515, 516, 517, 518, 0,
10719 : 0, 519, 520, 521, 522, 523, 0, 0, 524, 525,
10720 : 526, 527, 528, 529, 530, 0, 531, 0, 532, 533,
10721 : 534, 535, 0, 0, 536, 0, 0, 537, 538, 539,
10722 : 540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
10723 : 550, 551, 552, 553, 554, 555, 556, 223, 0, 0,
10724 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10725 : 0, 0, 224, 225, 226, 227, 228, 229, 230, 231,
10726 : 0, 233, 234, 235, 0, 0, 0, 0, 0, 0,
10727 : 0, 236, 237, 0, 238, 239, 240, 0, 241, 242,
10728 : 243, 244, 245, 0, 246, 247, 0, 248, 249, 250,
10729 : 251, 252, 0, 0, 253, 254, 255, 256, 257, 0,
10730 : 258, 259, 260, 261, 262, 0, 0, 0, 263, 264,
10731 : 265, 266, 267, 0, 268, 269, 270, 0, 271, 272,
10732 : 273, 274, 275, 276, 0, 0, 277, 278, 279, 0,
10733 : 0, 0, 0, 0, 0, 0, 280, 281, 282, 283,
10734 : 284, 285, 286, 287, 288, 0, 289, 0, 290, 291,
10735 : 292, 293, 294, 295, 0, 296, 297, 298, 299, 0,
10736 : 0, 300, 301, 302, 303, 304, 0, 305, 306, 307,
10737 : 0, 308, 309, 310, 0, 311, 312, 313, 314, 315,
10738 : 316, 317, 318, 319, 0, 320, 0, 321, 322, 323,
10739 : 324, 0, 325, 0, 326, 0, 0, 0, 327, 328,
10740 : 329, 330, 0, 331, 332, 0, 333, 334, 0, 335,
10741 : 336, 337, 338, 991, 0, 340, 341, 342, 343, 0,
10742 : 344, 345, 346, 347, 348, 349, 0, 350, 0, 351,
10743 : 352, 353, 354, 355, 356, 357, 0, 358, 0, 359,
10744 : 0, 0, 360, 0, 361, 362, 363, 364, 365, 0,
10745 : 0, 366, 367, 0, 368, 0, 0, 369, 370, 371,
10746 : 0, 0, 372, 373, 374, 375, 376, 377, 378, 379,
10747 : 380, 381, 382, 383, 384, 385, 386, 387, 388, 0,
10748 : 389, 390, 391, 392, 393, 0, 394, 395, 0, 396,
10749 : 0, 397, 398, 399, 400, 401, 402, 0, 403, 404,
10750 : 0, 0, 405, 406, 407, 0, 0, 408, 409, 0,
10751 : 410, 0, 411, 412, 413, 414, 415, 416, 417, 418,
10752 : 419, 420, 0, 421, 422, 423, 424, 425, 426, 427,
10753 : 428, 0, 429, 430, 431, 432, 433, 434, 435, 436,
10754 : 437, 438, 439, 440, 441, 442, 0, 443, 444, 445,
10755 : 446, 447, 448, 449, 450, 451, 452, 453, 454, 0,
10756 : 455, 456, 0, 457, 458, 459, 460, 461, 462, 463,
10757 : 464, 465, 466, 467, 468, 469, 0, 470, 471, 472,
10758 : 473, 474, 0, 475, 476, 477, 478, 479, 0, 480,
10759 : 481, 482, 483, 0, 484, 485, 486, 487, 488, 489,
10760 : 490, 491, 492, 493, 494, 495, 496, 0, 497, 498,
10761 : 0, 499, 0, 500, 501, 502, 503, 504, 0, 505,
10762 : 506, 0, 0, 507, 508, 509, 510, 511, 0, 512,
10763 : 513, 514, 515, 516, 517, 518, 0, 0, 519, 520,
10764 : 521, 522, 523, 0, 0, 524, 525, 526, 527, 528,
10765 : 529, 530, 0, 531, 0, 532, 533, 534, 535, 0,
10766 : 0, 536, 0, 0, 537, 538, 539, 540, 541, 542,
10767 : 543, 544, 545, 546, 547, 548, 549, 550, 551, 552,
10768 : 553, 554, 555, 556, 223, 0, 0, 0, 0, 0,
10769 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 224,
10770 : 225, 226, 227, 228, 229, 230, 231, 0, 233, 234,
10771 : 235, 0, 0, 0, 0, 0, 0, 0, 236, 237,
10772 : 0, 238, 239, 240, 0, 241, 242, 243, 244, 245,
10773 : 0, 246, 247, 0, 248, 249, 250, 251, 252, 0,
10774 : 0, 253, 254, 255, 256, 257, 0, 258, 259, 260,
10775 : 261, 262, 0, 0, 0, 263, 264, 265, 266, 267,
10776 : 0, 268, 269, 270, 0, 271, 272, 273, 274, 275,
10777 : 276, 0, 0, 277, 278, 279, 0, 0, 0, 0,
10778 : 0, 0, 0, 280, 281, 282, 283, 284, 285, 286,
10779 : 287, 288, 0, 289, 0, 290, 291, 292, 293, 294,
10780 : 295, 0, 296, 297, 298, 299, 0, 0, 300, 301,
10781 : 302, 303, 304, 0, 305, 306, 307, 0, 308, 309,
10782 : 310, 0, 311, 312, 313, 314, 315, 316, 317, 318,
10783 : 319, 0, 320, 0, 321, 322, 323, 324, 0, 325,
10784 : 0, 326, 0, 0, 0, 327, 328, 329, 330, 0,
10785 : 331, 332, 0, 333, 334, 0, 335, 336, 337, 338,
10786 : 993, 0, 340, 341, 342, 343, 0, 344, 345, 346,
10787 : 347, 348, 349, 0, 350, 0, 351, 352, 353, 354,
10788 : 355, 356, 357, 0, 358, 0, 359, 0, 0, 360,
10789 : 0, 361, 362, 363, 364, 365, 0, 0, 366, 367,
10790 : 0, 368, 0, 0, 369, 370, 371, 0, 0, 372,
10791 : 373, 374, 375, 376, 377, 378, 379, 380, 381, 382,
10792 : 383, 384, 385, 386, 387, 388, 0, 389, 390, 391,
10793 : 392, 393, 0, 394, 395, 0, 396, 0, 397, 398,
10794 : 399, 400, 401, 402, 0, 403, 404, 0, 0, 405,
10795 : 406, 407, 0, 0, 408, 409, 0, 410, 0, 411,
10796 : 412, 413, 414, 415, 416, 417, 418, 419, 420, 0,
10797 : 421, 422, 423, 424, 425, 426, 427, 428, 0, 429,
10798 : 430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
10799 : 440, 441, 442, 0, 443, 444, 445, 446, 447, 448,
10800 : 449, 450, 451, 452, 453, 454, 0, 455, 456, 0,
10801 : 457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
10802 : 467, 468, 469, 0, 470, 471, 472, 473, 474, 0,
10803 : 475, 476, 477, 478, 479, 0, 480, 481, 482, 483,
10804 : 0, 484, 485, 486, 487, 488, 489, 490, 491, 492,
10805 : 493, 494, 495, 496, 0, 497, 498, 0, 499, 0,
10806 : 500, 501, 502, 503, 504, 0, 505, 506, 0, 0,
10807 : 507, 508, 509, 510, 511, 0, 512, 513, 514, 515,
10808 : 516, 517, 518, 0, 0, 519, 520, 521, 522, 523,
10809 : 0, 0, 524, 525, 526, 527, 528, 529, 530, 0,
10810 : 531, 0, 532, 533, 534, 535, 0, 0, 536, 0,
10811 : 0, 537, 538, 539, 540, 541, 542, 543, 544, 545,
10812 : 546, 547, 548, 549, 550, 551, 552, 553, 554, 555,
10813 : 556, 223, 0, 0, 0, 0, 0, 0, 0, 0,
10814 : 0, 0, 0, 0, 0, 0, 224, 225, 226, 227,
10815 : 228, 229, 230, 231, 0, 233, 234, 235, 0, 0,
10816 : 0, 0, 0, 0, 0, 236, 237, 0, 238, 239,
10817 : 240, 0, 241, 242, 243, 244, 245, 0, 246, 247,
10818 : 0, 248, 249, 250, 251, 252, 0, 0, 253, 254,
10819 : 255, 256, 257, 0, 258, 259, 260, 261, 262, 0,
10820 : 0, 0, 263, 264, 265, 266, 267, 0, 268, 269,
10821 : 270, 0, 271, 272, 273, 274, 275, 276, 0, 0,
10822 : 277, 278, 279, 0, 0, 0, 0, 0, 0, 0,
10823 : 280, 281, 282, 283, 284, 285, 286, 287, 288, 0,
10824 : 289, 0, 290, 291, 292, 293, 294, 295, 0, 296,
10825 : 297, 298, 299, 0, 0, 300, 301, 302, 303, 304,
10826 : 0, 305, 306, 307, 0, 308, 309, 310, 0, 311,
10827 : 312, 313, 314, 315, 316, 317, 318, 319, 0, 320,
10828 : 0, 321, 322, 323, 324, 0, 325, 0, 326, 0,
10829 : 0, 0, 327, 328, 329, 330, 0, 331, 332, 0,
10830 : 333, 334, 0, 335, 336, 337, 338, 1028, 0, 340,
10831 : 341, 342, 343, 0, 344, 345, 346, 347, 348, 349,
10832 : 0, 350, 0, 351, 352, 353, 354, 355, 356, 357,
10833 : 0, 358, 0, 359, 0, 0, 360, 0, 361, 362,
10834 : 363, 364, 365, 0, 0, 366, 367, 0, 368, 0,
10835 : 0, 369, 370, 371, 0, 0, 372, 373, 374, 375,
10836 : 376, 377, 378, 379, 380, 381, 382, 383, 384, 385,
10837 : 386, 387, 388, 0, 389, 390, 391, 392, 393, 0,
10838 : 394, 395, 0, 396, 0, 397, 398, 399, 400, 401,
10839 : 402, 0, 403, 404, 0, 0, 405, 406, 407, 0,
10840 : 0, 408, 409, 0, 410, 0, 411, 412, 413, 414,
10841 : 415, 416, 417, 418, 419, 420, 0, 421, 422, 423,
10842 : 424, 425, 426, 427, 428, 0, 429, 430, 431, 432,
10843 : 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
10844 : 0, 443, 444, 445, 446, 447, 448, 449, 450, 451,
10845 : 452, 453, 454, 0, 455, 456, 0, 457, 458, 459,
10846 : 460, 461, 462, 463, 464, 465, 466, 467, 468, 469,
10847 : 0, 470, 471, 472, 473, 474, 0, 475, 476, 477,
10848 : 478, 479, 0, 480, 481, 482, 483, 0, 484, 485,
10849 : 486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
10850 : 496, 0, 497, 498, 0, 499, 0, 500, 501, 502,
10851 : 503, 504, 0, 505, 506, 0, 0, 507, 508, 509,
10852 : 510, 511, 0, 512, 513, 514, 515, 516, 517, 518,
10853 : 0, 0, 519, 520, 521, 522, 523, 0, 0, 524,
10854 : 525, 526, 527, 528, 529, 530, 0, 531, 0, 532,
10855 : 533, 534, 535, 0, 0, 536, 0, 0, 537, 538,
10856 : 539, 540, 541, 542, 543, 544, 545, 546, 547, 548,
10857 : 549, 550, 551, 552, 553, 554, 555, 556, 223, 0,
10858 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10859 : 0, 0, 0, 224, 225, 226, 227, 228, 229, 230,
10860 : 231, 0, 233, 234, 235, 0, 0, 0, 0, 0,
10861 : 0, 0, 236, 237, 0, 238, 239, 240, 0, 241,
10862 : 242, 243, 244, 245, 0, 246, 247, 0, 248, 249,
10863 : 250, 251, 252, 0, 0, 253, 254, 255, 256, 257,
10864 : 0, 258, 259, 260, 261, 262, 0, 0, 0, 263,
10865 : 264, 265, 266, 267, 0, 268, 269, 270, 0, 271,
10866 : 272, 273, 274, 275, 276, 0, 0, 277, 278, 279,
10867 : 0, 0, 0, 0, 0, 0, 0, 280, 281, 282,
10868 : 283, 284, 285, 286, 287, 288, 0, 289, 0, 290,
10869 : 291, 292, 293, 294, 295, 0, 296, 297, 298, 299,
10870 : 0, 0, 300, 301, 302, 303, 304, 0, 305, 306,
10871 : 307, 0, 308, 309, 310, 0, 311, 312, 313, 314,
10872 : 315, 316, 317, 318, 319, 0, 320, 0, 321, 322,
10873 : 323, 324, 0, 325, 0, 326, 0, 0, 0, 327,
10874 : 328, 329, 330, 0, 331, 332, 0, 333, 334, 0,
10875 : 335, 336, 337, 338, 1088, 0, 340, 341, 342, 343,
10876 : 0, 344, 345, 346, 347, 348, 349, 0, 350, 0,
10877 : 351, 352, 353, 354, 355, 356, 357, 0, 358, 0,
10878 : 359, 0, 0, 360, 0, 361, 362, 363, 364, 365,
10879 : 0, 0, 366, 367, 0, 368, 0, 0, 369, 370,
10880 : 371, 0, 0, 372, 373, 374, 375, 376, 377, 378,
10881 : 379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
10882 : 0, 389, 390, 391, 392, 393, 0, 394, 395, 0,
10883 : 396, 0, 397, 398, 399, 400, 401, 402, 0, 403,
10884 : 404, 0, 0, 405, 406, 407, 0, 0, 408, 409,
10885 : 0, 410, 0, 411, 412, 413, 414, 415, 416, 417,
10886 : 418, 419, 420, 0, 421, 422, 423, 424, 425, 426,
10887 : 427, 428, 0, 429, 430, 431, 432, 433, 434, 435,
10888 : 436, 437, 438, 439, 440, 441, 442, 0, 443, 444,
10889 : 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
10890 : 0, 455, 456, 0, 457, 458, 459, 460, 461, 462,
10891 : 463, 464, 465, 466, 467, 468, 469, 0, 470, 471,
10892 : 472, 473, 474, 0, 475, 476, 477, 478, 479, 0,
10893 : 480, 481, 482, 483, 0, 484, 485, 486, 487, 488,
10894 : 489, 490, 491, 492, 493, 494, 495, 496, 0, 497,
10895 : 498, 0, 499, 0, 500, 501, 502, 503, 504, 0,
10896 : 505, 506, 0, 0, 507, 508, 509, 510, 511, 0,
10897 : 512, 513, 514, 515, 516, 517, 518, 0, 0, 519,
10898 : 520, 521, 522, 523, 0, 0, 524, 525, 526, 527,
10899 : 528, 529, 530, 0, 531, 0, 532, 533, 534, 535,
10900 : 0, 0, 536, 0, 0, 537, 538, 539, 540, 541,
10901 : 542, 543, 544, 545, 546, 547, 548, 549, 550, 551,
10902 : 552, 553, 554, 555, 556, 223, 0, 0, 0, 0,
10903 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10904 : 224, 225, 226, 227, 228, 229, 230, 231, 0, 233,
10905 : 234, 235, 0, 0, 0, 0, 0, 0, 0, 236,
10906 : 237, 0, 238, 239, 240, 0, 241, 242, 243, 244,
10907 : 245, 0, 246, 247, 0, 248, 249, 250, 251, 252,
10908 : 0, 0, 253, 254, 255, 256, 257, 0, 258, 259,
10909 : 260, 261, 262, 0, 0, 0, 263, 264, 265, 266,
10910 : 267, 0, 268, 269, 270, 0, 271, 272, 273, 274,
10911 : 275, 276, 0, 0, 277, 278, 279, 0, 0, 0,
10912 : 0, 0, 0, 0, 280, 281, 282, 283, 284, 285,
10913 : 286, 287, 288, 0, 289, 0, 290, 291, 292, 293,
10914 : 294, 295, 0, 296, 297, 298, 299, 0, 0, 300,
10915 : 301, 302, 303, 304, 0, 305, 306, 307, 0, 308,
10916 : 309, 310, 0, 311, 312, 313, 314, 315, 316, 317,
10917 : 318, 319, 0, 320, 0, 321, 322, 323, 324, 0,
10918 : 325, 0, 326, 0, 0, 0, 327, 328, 329, 330,
10919 : 0, 331, 332, 0, 333, 334, 0, 335, 336, 337,
10920 : 338, 1090, 0, 340, 341, 342, 343, 0, 344, 345,
10921 : 346, 347, 348, 349, 0, 350, 0, 351, 352, 353,
10922 : 354, 355, 356, 357, 0, 358, 0, 359, 0, 0,
10923 : 360, 0, 361, 362, 363, 364, 365, 0, 0, 366,
10924 : 367, 0, 368, 0, 0, 369, 370, 371, 0, 0,
10925 : 372, 373, 374, 375, 376, 377, 378, 379, 380, 381,
10926 : 382, 383, 384, 385, 386, 387, 388, 0, 389, 390,
10927 : 391, 392, 393, 0, 394, 395, 0, 396, 0, 397,
10928 : 398, 399, 400, 401, 402, 0, 403, 404, 0, 0,
10929 : 405, 406, 407, 0, 0, 408, 409, 0, 410, 0,
10930 : 411, 412, 413, 414, 415, 416, 417, 418, 419, 420,
10931 : 0, 421, 422, 423, 424, 425, 426, 427, 428, 0,
10932 : 429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
10933 : 439, 440, 441, 442, 0, 443, 444, 445, 446, 447,
10934 : 448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
10935 : 0, 457, 458, 459, 460, 461, 462, 463, 464, 465,
10936 : 466, 467, 468, 469, 0, 470, 471, 472, 473, 474,
10937 : 0, 475, 476, 477, 478, 479, 0, 480, 481, 482,
10938 : 483, 0, 484, 485, 486, 487, 488, 489, 490, 491,
10939 : 492, 493, 494, 495, 496, 0, 497, 498, 0, 499,
10940 : 0, 500, 501, 502, 503, 504, 0, 505, 506, 0,
10941 : 0, 507, 508, 509, 510, 511, 0, 512, 513, 514,
10942 : 515, 516, 517, 518, 0, 0, 519, 520, 521, 522,
10943 : 523, 0, 0, 524, 525, 526, 527, 528, 529, 530,
10944 : 0, 531, 0, 532, 533, 534, 535, 0, 0, 536,
10945 : 0, 0, 537, 538, 539, 540, 541, 542, 543, 544,
10946 : 545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
10947 : 555, 556, 223, 0, 0, 0, 0, 0, 0, 0,
10948 : 0, 0, 0, 0, 0, 0, 0, 224, 225, 226,
10949 : 227, 228, 229, 230, 231, 0, 233, 234, 235, 0,
10950 : 0, 0, 0, 0, 0, 0, 236, 237, 0, 238,
10951 : 239, 240, 0, 241, 242, 243, 244, 245, 0, 246,
10952 : 247, 0, 248, 249, 250, 251, 252, 0, 0, 253,
10953 : 254, 255, 256, 257, 0, 258, 259, 260, 261, 262,
10954 : 0, 0, 0, 263, 264, 265, 266, 267, 0, 268,
10955 : 269, 270, 0, 271, 272, 273, 274, 275, 276, 0,
10956 : 0, 277, 278, 279, 0, 0, 0, 0, 0, 0,
10957 : 0, 280, 281, 282, 283, 284, 285, 286, 287, 288,
10958 : 0, 289, 0, 290, 291, 292, 293, 294, 295, 0,
10959 : 296, 297, 298, 299, 0, 0, 300, 301, 302, 303,
10960 : 304, 0, 305, 306, 307, 0, 308, 309, 310, 0,
10961 : 311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
10962 : 320, 0, 321, 322, 323, 324, 0, 325, 0, 326,
10963 : 0, 0, 0, 327, 328, 329, 330, 0, 331, 332,
10964 : 0, 333, 334, 0, 335, 336, 337, 338, 1100, 0,
10965 : 340, 341, 342, 343, 0, 344, 345, 346, 347, 348,
10966 : 349, 0, 350, 0, 351, 352, 353, 354, 355, 356,
10967 : 357, 0, 358, 0, 359, 0, 0, 360, 0, 361,
10968 : 362, 363, 364, 365, 0, 0, 366, 367, 0, 368,
10969 : 0, 0, 369, 370, 371, 0, 0, 372, 373, 374,
10970 : 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
10971 : 385, 386, 387, 388, 0, 389, 390, 391, 392, 393,
10972 : 0, 394, 395, 0, 396, 0, 397, 398, 399, 400,
10973 : 401, 402, 0, 403, 404, 0, 0, 405, 406, 407,
10974 : 0, 0, 408, 409, 0, 410, 0, 411, 412, 413,
10975 : 414, 415, 416, 417, 418, 419, 420, 0, 421, 422,
10976 : 423, 424, 425, 426, 427, 428, 0, 429, 430, 431,
10977 : 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
10978 : 442, 0, 443, 444, 445, 446, 447, 448, 449, 450,
10979 : 451, 452, 453, 454, 0, 455, 456, 0, 457, 458,
10980 : 459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
10981 : 469, 0, 470, 471, 472, 473, 474, 0, 475, 476,
10982 : 477, 478, 479, 0, 480, 481, 482, 483, 0, 484,
10983 : 485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
10984 : 495, 496, 0, 497, 498, 0, 499, 0, 500, 501,
10985 : 502, 503, 504, 0, 505, 506, 0, 0, 507, 508,
10986 : 509, 510, 511, 0, 512, 513, 514, 515, 516, 517,
10987 : 518, 0, 0, 519, 520, 521, 522, 523, 0, 0,
10988 : 524, 525, 526, 527, 528, 529, 530, 0, 531, 0,
10989 : 532, 533, 534, 535, 0, 0, 536, 0, 0, 537,
10990 : 538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
10991 : 548, 549, 550, 551, 552, 553, 554, 555, 556, 223,
10992 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10993 : 0, 0, 0, 0, 224, 225, 226, 227, 228, 229,
10994 : 230, 231, 0, 233, 234, 235, 0, 0, 0, 0,
10995 : 0, 0, 0, 236, 237, 0, 238, 239, 240, 0,
10996 : 241, 242, 243, 244, 245, 0, 246, 247, 0, 248,
10997 : 249, 250, 251, 252, 0, 0, 253, 254, 255, 256,
10998 : 257, 0, 258, 259, 260, 261, 262, 0, 0, 0,
10999 : 263, 264, 265, 266, 267, 0, 268, 269, 270, 0,
11000 : 271, 272, 273, 274, 275, 276, 0, 0, 277, 278,
11001 : 279, 0, 0, 0, 0, 0, 0, 0, 280, 281,
11002 : 282, 283, 284, 285, 286, 287, 288, 0, 289, 0,
11003 : 290, 291, 292, 293, 294, 295, 0, 296, 297, 298,
11004 : 299, 0, 0, 300, 301, 302, 303, 304, 0, 305,
11005 : 306, 307, 0, 308, 309, 310, 0, 311, 312, 313,
11006 : 314, 315, 316, 317, 318, 319, 0, 320, 0, 321,
11007 : 322, 323, 324, 0, 325, 0, 326, 0, 0, 0,
11008 : 327, 328, 329, 330, 0, 331, 332, 0, 333, 334,
11009 : 0, 335, 336, 337, 338, 1103, 0, 340, 341, 342,
11010 : 343, 0, 344, 345, 346, 347, 348, 349, 0, 350,
11011 : 0, 351, 352, 353, 354, 355, 356, 357, 0, 358,
11012 : 0, 359, 0, 0, 360, 0, 361, 362, 363, 364,
11013 : 365, 0, 0, 366, 367, 0, 368, 0, 0, 369,
11014 : 370, 371, 0, 0, 372, 373, 374, 375, 376, 377,
11015 : 378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
11016 : 388, 0, 389, 390, 391, 392, 393, 0, 394, 395,
11017 : 0, 396, 0, 397, 398, 399, 400, 401, 402, 0,
11018 : 403, 404, 0, 0, 405, 406, 407, 0, 0, 408,
11019 : 409, 0, 410, 0, 411, 412, 413, 414, 415, 416,
11020 : 417, 418, 419, 420, 0, 421, 422, 423, 424, 425,
11021 : 426, 427, 428, 0, 429, 430, 431, 432, 433, 434,
11022 : 435, 436, 437, 438, 439, 440, 441, 442, 0, 443,
11023 : 444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
11024 : 454, 0, 455, 456, 0, 457, 458, 459, 460, 461,
11025 : 462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
11026 : 471, 472, 473, 474, 0, 475, 476, 477, 478, 479,
11027 : 0, 480, 481, 482, 483, 0, 484, 485, 486, 487,
11028 : 488, 489, 490, 491, 492, 493, 494, 495, 496, 0,
11029 : 497, 498, 0, 499, 0, 500, 501, 502, 503, 504,
11030 : 0, 505, 506, 0, 0, 507, 508, 509, 510, 511,
11031 : 0, 512, 513, 514, 515, 516, 517, 518, 0, 0,
11032 : 519, 520, 521, 522, 523, 0, 0, 524, 525, 526,
11033 : 527, 528, 529, 530, 0, 531, 0, 532, 533, 534,
11034 : 535, 0, 0, 536, 0, 0, 537, 538, 539, 540,
11035 : 541, 542, 543, 544, 545, 546, 547, 548, 549, 550,
11036 : 551, 552, 553, 554, 555, 556, 223, 0, 0, 0,
11037 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
11038 : 0, 224, 225, 226, 227, 228, 229, 230, 231, 0,
11039 : 233, 234, 235, 0, 0, 0, 0, 0, 0, 0,
11040 : 236, 237, 0, 238, 239, 240, 0, 241, 242, 243,
11041 : 244, 245, 0, 246, 247, 0, 248, 249, 250, 251,
11042 : 252, 0, 0, 253, 254, 255, 256, 257, 0, 258,
11043 : 259, 260, 261, 262, 0, 0, 0, 263, 264, 265,
11044 : 266, 267, 0, 268, 269, 270, 0, 271, 272, 273,
11045 : 274, 275, 276, 0, 0, 277, 278, 279, 0, 0,
11046 : 0, 0, 0, 0, 0, 280, 281, 282, 283, 284,
11047 : 285, 286, 287, 288, 0, 289, 0, 290, 291, 292,
11048 : 293, 294, 295, 0, 296, 297, 298, 299, 0, 0,
11049 : 300, 301, 302, 303, 304, 0, 305, 306, 307, 0,
11050 : 308, 309, 310, 0, 311, 312, 313, 314, 315, 316,
11051 : 317, 318, 319, 0, 320, 0, 321, 322, 323, 324,
11052 : 0, 325, 0, 326, 0, 0, 0, 327, 328, 329,
11053 : 330, 0, 331, 332, 0, 333, 334, 0, 335, 336,
11054 : 337, 338, 1106, 0, 340, 341, 342, 343, 0, 344,
11055 : 345, 346, 347, 348, 349, 0, 350, 0, 351, 352,
11056 : 353, 354, 355, 356, 357, 0, 358, 0, 359, 0,
11057 : 0, 360, 0, 361, 362, 363, 364, 365, 0, 0,
11058 : 366, 367, 0, 368, 0, 0, 369, 370, 371, 0,
11059 : 0, 372, 373, 374, 375, 376, 377, 378, 379, 380,
11060 : 381, 382, 383, 384, 385, 386, 387, 388, 0, 389,
11061 : 390, 391, 392, 393, 0, 394, 395, 0, 396, 0,
11062 : 397, 398, 399, 400, 401, 402, 0, 403, 404, 0,
11063 : 0, 405, 406, 407, 0, 0, 408, 409, 0, 410,
11064 : 0, 411, 412, 413, 414, 415, 416, 417, 418, 419,
11065 : 420, 0, 421, 422, 423, 424, 425, 426, 427, 428,
11066 : 0, 429, 430, 431, 432, 433, 434, 435, 436, 437,
11067 : 438, 439, 440, 441, 442, 0, 443, 444, 445, 446,
11068 : 447, 448, 449, 450, 451, 452, 453, 454, 0, 455,
11069 : 456, 0, 457, 458, 459, 460, 461, 462, 463, 464,
11070 : 465, 466, 467, 468, 469, 0, 470, 471, 472, 473,
11071 : 474, 0, 475, 476, 477, 478, 479, 0, 480, 481,
11072 : 482, 483, 0, 484, 485, 486, 487, 488, 489, 490,
11073 : 491, 492, 493, 494, 495, 496, 0, 497, 498, 0,
11074 : 499, 0, 500, 501, 502, 503, 504, 0, 505, 506,
11075 : 0, 0, 507, 508, 509, 510, 511, 0, 512, 513,
11076 : 514, 515, 516, 517, 518, 0, 0, 519, 520, 521,
11077 : 522, 523, 0, 0, 524, 525, 526, 527, 528, 529,
11078 : 530, 0, 531, 0, 532, 533, 534, 535, 0, 0,
11079 : 536, 0, 0, 537, 538, 539, 540, 541, 542, 543,
11080 : 544, 545, 546, 547, 548, 549, 550, 551, 552, 553,
11081 : 554, 555, 556, 223, 0, 0, 0, 0, 0, 0,
11082 : 0, 0, 0, 0, 0, 0, 0, 0, 224, 225,
11083 : 226, 227, 228, 229, 230, 231, 0, 233, 234, 235,
11084 : 0, 0, 0, 0, 0, 0, 0, 236, 237, 0,
11085 : 238, 239, 240, 0, 241, 242, 243, 244, 245, 0,
11086 : 246, 247, 0, 248, 249, 250, 251, 252, 0, 0,
11087 : 745, 254, 255, 256, 257, 0, 258, 259, 260, 261,
11088 : 262, 0, 0, 0, 263, 264, 265, 266, 267, 0,
11089 : 268, 269, 270, 0, 271, 272, 273, 274, 275, 276,
11090 : 0, 0, 277, 278, 279, 0, 0, 0, 0, 0,
11091 : 0, 0, 280, 281, 282, 283, 284, 285, 286, 287,
11092 : 288, 0, 289, 0, 290, 291, 292, 293, 294, 295,
11093 : 0, 296, 297, 298, 299, 0, 0, 300, 301, 302,
11094 : 303, 304, 0, 305, 306, 307, 0, 308, 309, 310,
11095 : 0, 311, 312, 313, 314, 315, 316, 317, 318, 319,
11096 : 0, 320, 0, 321, 322, 323, 324, 0, 325, 0,
11097 : 326, 0, 0, 0, 327, 328, 329, 330, 0, 331,
11098 : 332, 0, 333, 334, 0, 335, 336, 337, 338, 339,
11099 : 0, 340, 341, 342, 343, 0, 344, 345, 346, 347,
11100 : 348, 349, 0, 350, 0, 351, 352, 353, 354, 355,
11101 : 356, 357, 0, 358, 0, 359, 0, 0, 360, 0,
11102 : 361, 362, 363, 364, 365, 0, 0, 366, 367, 0,
11103 : 368, 0, 0, 369, 370, 371, 0, 0, 372, 373,
11104 : 374, 375, 376, 377, 378, 379, 380, 381, 382, 383,
11105 : 384, 385, 386, 748, 388, 0, 389, 390, 391, 392,
11106 : 393, 0, 394, 395, 0, 396, 0, 397, 398, 399,
11107 : 400, 401, 402, 0, 403, 404, 0, 0, 405, 406,
11108 : 407, 0, 0, 408, 409, 0, 410, 0, 411, 412,
11109 : 413, 414, 415, 416, 417, 418, 419, 420, 0, 421,
11110 : 422, 423, 424, 425, 426, 427, 428, 0, 429, 430,
11111 : 431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
11112 : 441, 442, 0, 443, 444, 445, 446, 447, 448, 449,
11113 : 450, 451, 452, 453, 454, 0, 455, 456, 0, 749,
11114 : 458, 459, 460, 461, 462, 463, 750, 465, 466, 467,
11115 : 468, 469, 0, 470, 471, 472, 473, 1284, 0, 475,
11116 : 476, 477, 478, 479, 0, 480, 481, 482, 483, 0,
11117 : 484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
11118 : 494, 495, 496, 0, 497, 498, 0, 499, 0, 500,
11119 : 501, 502, 503, 504, 0, 752, 506, 0, 0, 753,
11120 : 508, 509, 510, 511, 0, 512, 513, 514, 515, 516,
11121 : 517, 518, 0, 0, 519, 520, 521, 522, 523, 0,
11122 : 0, 524, 525, 526, 527, 528, 529, 530, 0, 531,
11123 : 0, 532, 533, 534, 535, 0, 0, 536, 0, 0,
11124 : 537, 538, 539, 540, 541, 754, 543, 544, 545, 546,
11125 : 547, 548, 549, 550, 551, 552, 553, 554, 555, 556,
11126 : 223, 0, 0, 0, 0, 0, 0, 0, 0, 0,
11127 : 0, 0, 0, 0, 0, 224, 225, 226, 227, 228,
11128 : 229, 230, 231, 0, 233, 234, 235, 0, 0, 0,
11129 : 0, 0, 0, 0, 236, 237, 0, 238, 239, 240,
11130 : 0, 241, 242, 243, 244, 245, 0, 246, 247, 0,
11131 : 248, 249, 250, 251, 252, 0, 0, 253, 254, 255,
11132 : 256, 257, 0, 258, 259, 260, 261, 262, 0, 0,
11133 : 0, 263, 264, 265, 266, 267, 0, 268, 269, 270,
11134 : 0, 271, 272, 273, 274, 275, 276, 0, 0, 277,
11135 : 278, 279, 0, 0, 0, 0, 0, 0, 0, 280,
11136 : 281, 282, 283, 284, 285, 286, 287, 288, 0, 289,
11137 : 0, 290, 291, 292, 293, 294, 295, 0, 296, 297,
11138 : 298, 299, 0, 0, 300, 301, 302, 303, 304, 0,
11139 : 305, 306, 307, 0, 308, 309, 310, 0, 311, 312,
11140 : 313, 314, 315, 316, 317, 318, 319, 0, 320, 0,
11141 : 321, 322, 323, 324, 0, 325, 0, 326, 0, 0,
11142 : 0, 327, 328, 329, 330, 0, 331, 332, 0, 333,
11143 : 334, 0, 335, 336, 337, 338, 1608, 0, 340, 341,
11144 : 342, 343, 0, 344, 345, 346, 347, 348, 349, 0,
11145 : 350, 0, 351, 352, 353, 354, 355, 356, 357, 0,
11146 : 358, 0, 359, 0, 0, 360, 0, 361, 362, 363,
11147 : 364, 365, 0, 0, 366, 367, 0, 368, 0, 0,
11148 : 369, 370, 371, 0, 0, 372, 373, 374, 375, 376,
11149 : 377, 378, 379, 380, 381, 382, 383, 384, 385, 386,
11150 : 387, 388, 0, 389, 390, 391, 392, 393, 0, 394,
11151 : 395, 0, 396, 0, 397, 398, 399, 400, 401, 402,
11152 : 0, 403, 404, 0, 0, 405, 406, 407, 0, 0,
11153 : 408, 409, 0, 410, 0, 411, 412, 413, 414, 415,
11154 : 416, 417, 418, 419, 420, 0, 421, 422, 423, 424,
11155 : 425, 426, 427, 428, 0, 429, 430, 431, 432, 433,
11156 : 434, 435, 436, 437, 438, 439, 440, 441, 442, 0,
11157 : 443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
11158 : 453, 454, 0, 455, 456, 0, 457, 458, 459, 460,
11159 : 461, 462, 463, 464, 465, 466, 467, 468, 469, 0,
11160 : 470, 471, 472, 473, 474, 0, 475, 476, 477, 478,
11161 : 479, 0, 480, 481, 482, 483, 0, 484, 485, 486,
11162 : 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
11163 : 0, 497, 498, 0, 499, 0, 500, 501, 502, 503,
11164 : 504, 0, 505, 506, 0, 0, 507, 508, 509, 510,
11165 : 511, 0, 512, 513, 514, 515, 516, 517, 518, 0,
11166 : 0, 519, 520, 521, 522, 523, 0, 0, 524, 525,
11167 : 526, 527, 528, 529, 530, 0, 531, 0, 532, 533,
11168 : 534, 535, 0, 0, 536, 0, 0, 537, 538, 539,
11169 : 540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
11170 : 550, 551, 552, 553, 554, 555, 556, 223, 0, 0,
11171 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
11172 : 0, 0, 224, 225, 226, 227, 228, 229, 230, 231,
11173 : 0, 233, 234, 235, 0, 0, 0, 0, 0, 0,
11174 : 0, 236, 237, 0, 238, 239, 240, 0, 241, 242,
11175 : 243, 244, 245, 0, 246, 247, 0, 248, 249, 250,
11176 : 251, 252, 0, 0, 253, 254, 255, 256, 257, 0,
11177 : 258, 259, 260, 261, 262, 0, 0, 0, 263, 264,
11178 : 265, 266, 267, 0, 268, 269, 270, 0, 271, 272,
11179 : 273, 274, 275, 276, 0, 0, 277, 278, 279, 0,
11180 : 0, 0, 0, 0, 0, 0, 280, 281, 282, 283,
11181 : 284, 285, 286, 287, 288, 0, 289, 0, 290, 291,
11182 : 292, 293, 294, 295, 0, 296, 297, 298, 299, 0,
11183 : 0, 300, 301, 302, 303, 304, 0, 305, 306, 307,
11184 : 0, 308, 309, 310, 0, 311, 312, 313, 314, 315,
11185 : 316, 317, 318, 319, 0, 320, 0, 321, 322, 323,
11186 : 324, 0, 325, 0, 326, 0, 0, 0, 327, 328,
11187 : 329, 330, 0, 331, 332, 0, 333, 334, 0, 335,
11188 : 336, 337, 338, 1646, 0, 340, 341, 342, 343, 0,
11189 : 344, 345, 346, 347, 348, 349, 0, 350, 0, 351,
11190 : 352, 353, 354, 355, 356, 357, 0, 358, 0, 359,
11191 : 0, 0, 360, 0, 361, 362, 363, 364, 365, 0,
11192 : 0, 366, 367, 0, 368, 0, 0, 369, 370, 371,
11193 : 0, 0, 372, 373, 374, 375, 376, 377, 378, 379,
11194 : 380, 381, 382, 383, 384, 385, 386, 387, 388, 0,
11195 : 389, 390, 391, 392, 393, 0, 394, 395, 0, 396,
11196 : 0, 397, 398, 399, 400, 401, 402, 0, 403, 404,
11197 : 0, 0, 405, 406, 407, 0, 0, 408, 409, 0,
11198 : 410, 0, 411, 412, 413, 414, 415, 416, 417, 418,
11199 : 419, 420, 0, 421, 422, 423, 424, 425, 426, 427,
11200 : 428, 0, 429, 430, 431, 432, 433, 434, 435, 436,
11201 : 437, 438, 439, 440, 441, 442, 0, 443, 444, 445,
11202 : 446, 447, 448, 449, 450, 451, 452, 453, 454, 0,
11203 : 455, 456, 0, 457, 458, 459, 460, 461, 462, 463,
11204 : 464, 465, 466, 467, 468, 469, 0, 470, 471, 472,
11205 : 473, 474, 0, 475, 476, 477, 478, 479, 0, 480,
11206 : 481, 482, 483, 0, 484, 485, 486, 487, 488, 489,
11207 : 490, 491, 492, 493, 494, 495, 496, 0, 497, 498,
11208 : 0, 499, 0, 500, 501, 502, 503, 504, 0, 505,
11209 : 506, 0, 0, 507, 508, 509, 510, 511, 0, 512,
11210 : 513, 514, 515, 516, 517, 518, 0, 0, 519, 520,
11211 : 521, 522, 523, 0, 0, 524, 525, 526, 527, 528,
11212 : 529, 530, 0, 531, 0, 532, 533, 534, 535, 0,
11213 : 0, 536, 0, 0, 537, 538, 539, 540, 541, 542,
11214 : 543, 544, 545, 546, 547, 548, 549, 550, 551, 552,
11215 : 553, 554, 555, 556, 223, 0, 0, 0, 0, 0,
11216 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 224,
11217 : 225, 226, 227, 228, 229, 230, 231, 0, 233, 234,
11218 : 235, 0, 0, 0, 0, 0, 0, 0, 236, 237,
11219 : 0, 238, 239, 240, 0, 241, 242, 243, 244, 245,
11220 : 0, 246, 247, 0, 248, 249, 250, 251, 252, 0,
11221 : 0, 253, 254, 255, 256, 257, 0, 258, 259, 260,
11222 : 261, 262, 0, 0, 0, 263, 264, 265, 266, 267,
11223 : 0, 268, 269, 270, 0, 271, 272, 273, 274, 275,
11224 : 276, 0, 0, 277, 278, 279, 0, 0, 0, 0,
11225 : 0, 0, 0, 280, 281, 282, 283, 284, 285, 286,
11226 : 287, 288, 0, 289, 0, 290, 291, 292, 293, 294,
11227 : 295, 0, 296, 297, 298, 299, 0, 0, 300, 301,
11228 : 302, 303, 304, 0, 305, 306, 307, 0, 308, 309,
11229 : 310, 0, 311, 312, 313, 314, 315, 316, 317, 318,
11230 : 319, 0, 320, 0, 321, 322, 323, 324, 0, 325,
11231 : 0, 326, 0, 0, 0, 327, 328, 329, 330, 0,
11232 : 331, 332, 0, 333, 334, 0, 335, 336, 337, 338,
11233 : 1648, 0, 340, 341, 342, 343, 0, 344, 345, 346,
11234 : 347, 348, 349, 0, 350, 0, 351, 352, 353, 354,
11235 : 355, 356, 357, 0, 358, 0, 359, 0, 0, 360,
11236 : 0, 361, 362, 363, 364, 365, 0, 0, 366, 367,
11237 : 0, 368, 0, 0, 369, 370, 371, 0, 0, 372,
11238 : 373, 374, 375, 376, 377, 378, 379, 380, 381, 382,
11239 : 383, 384, 385, 386, 387, 388, 0, 389, 390, 391,
11240 : 392, 393, 0, 394, 395, 0, 396, 0, 397, 398,
11241 : 399, 400, 401, 402, 0, 403, 404, 0, 0, 405,
11242 : 406, 407, 0, 0, 408, 409, 0, 410, 0, 411,
11243 : 412, 413, 414, 415, 416, 417, 418, 419, 420, 0,
11244 : 421, 422, 423, 424, 425, 426, 427, 428, 0, 429,
11245 : 430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
11246 : 440, 441, 442, 0, 443, 444, 445, 446, 447, 448,
11247 : 449, 450, 451, 452, 453, 454, 0, 455, 456, 0,
11248 : 457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
11249 : 467, 468, 469, 0, 470, 471, 472, 473, 474, 0,
11250 : 475, 476, 477, 478, 479, 0, 480, 481, 482, 483,
11251 : 0, 484, 485, 486, 487, 488, 489, 490, 491, 492,
11252 : 493, 494, 495, 496, 0, 497, 498, 0, 499, 0,
11253 : 500, 501, 502, 503, 504, 0, 505, 506, 0, 0,
11254 : 507, 508, 509, 510, 511, 0, 512, 513, 514, 515,
11255 : 516, 517, 518, 0, 0, 519, 520, 521, 522, 523,
11256 : 0, 0, 524, 525, 526, 527, 528, 529, 530, 0,
11257 : 531, 0, 532, 533, 534, 535, 0, 0, 536, 0,
11258 : 0, 537, 538, 539, 540, 541, 542, 543, 544, 545,
11259 : 546, 547, 548, 549, 550, 551, 552, 553, 554, 555,
11260 : 556, 223, 0, 0, 0, 0, 0, 0, 0, 0,
11261 : 0, 0, 0, 0, 0, 0, 224, 225, 226, 227,
11262 : 228, 229, 230, 231, 0, 233, 234, 235, 0, 0,
11263 : 0, 0, 0, 0, 0, 236, 237, 0, 238, 239,
11264 : 240, 0, 241, 242, 243, 244, 245, 0, 246, 247,
11265 : 0, 248, 249, 250, 251, 252, 0, 0, 253, 254,
11266 : 255, 256, 257, 0, 258, 259, 260, 261, 262, 0,
11267 : 0, 0, 263, 264, 265, 266, 267, 0, 268, 269,
11268 : 270, 0, 271, 272, 273, 274, 275, 276, 0, 0,
11269 : 277, 278, 279, 0, 0, 0, 0, 0, 0, 0,
11270 : 280, 281, 282, 283, 284, 285, 286, 287, 288, 0,
11271 : 289, 0, 290, 291, 292, 293, 294, 295, 0, 296,
11272 : 297, 298, 299, 0, 0, 300, 301, 302, 303, 304,
11273 : 0, 305, 306, 307, 0, 308, 309, 310, 0, 311,
11274 : 312, 313, 314, 315, 316, 317, 318, 319, 0, 320,
11275 : 0, 321, 322, 323, 324, 0, 325, 0, 326, 0,
11276 : 0, 0, 327, 328, 329, 330, 0, 331, 332, 0,
11277 : 333, 334, 0, 335, 336, 337, 338, 1718, 0, 340,
11278 : 341, 342, 343, 0, 344, 345, 346, 347, 348, 349,
11279 : 0, 350, 0, 351, 352, 353, 354, 355, 356, 357,
11280 : 0, 358, 0, 359, 0, 0, 360, 0, 361, 362,
11281 : 363, 364, 365, 0, 0, 366, 367, 0, 368, 0,
11282 : 0, 369, 370, 371, 0, 0, 372, 373, 374, 375,
11283 : 376, 377, 378, 379, 380, 381, 382, 383, 384, 385,
11284 : 386, 387, 388, 0, 389, 390, 391, 392, 393, 0,
11285 : 394, 395, 0, 396, 0, 397, 398, 399, 400, 401,
11286 : 402, 0, 403, 404, 0, 0, 405, 406, 407, 0,
11287 : 0, 408, 409, 0, 410, 0, 411, 412, 413, 414,
11288 : 415, 416, 417, 418, 419, 420, 0, 421, 422, 423,
11289 : 424, 425, 426, 427, 428, 0, 429, 430, 431, 432,
11290 : 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
11291 : 0, 443, 444, 445, 446, 447, 448, 449, 450, 451,
11292 : 452, 453, 454, 0, 455, 456, 0, 457, 458, 459,
11293 : 460, 461, 462, 463, 464, 465, 466, 467, 468, 469,
11294 : 0, 470, 471, 472, 473, 474, 0, 475, 476, 477,
11295 : 478, 479, 0, 480, 481, 482, 483, 0, 484, 485,
11296 : 486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
11297 : 496, 0, 497, 498, 0, 499, 0, 500, 501, 502,
11298 : 503, 504, 0, 505, 506, 0, 0, 507, 508, 509,
11299 : 510, 511, 0, 512, 513, 514, 515, 516, 517, 518,
11300 : 0, 0, 519, 520, 521, 522, 523, 0, 0, 524,
11301 : 525, 526, 527, 528, 529, 530, 0, 531, 0, 532,
11302 : 533, 534, 535, 0, 0, 536, 0, 0, 537, 538,
11303 : 539, 540, 541, 542, 543, 544, 545, 546, 547, 548,
11304 : 549, 550, 551, 552, 553, 554, 555, 556, 223, 0,
11305 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
11306 : 0, 0, 0, 224, 225, 226, 227, 228, 229, 230,
11307 : 231, 0, 233, 234, 235, 0, 0, 0, 0, 0,
11308 : 0, 0, 236, 237, 0, 238, 239, 240, 0, 241,
11309 : 242, 243, 244, 245, 0, 246, 247, 0, 248, 249,
11310 : 250, 251, 252, 0, 0, 253, 254, 255, 256, 257,
11311 : 0, 258, 259, 260, 261, 262, 0, 0, 0, 263,
11312 : 264, 265, 266, 267, 0, 268, 269, 270, 0, 271,
11313 : 272, 273, 274, 275, 276, 0, 0, 277, 278, 279,
11314 : 0, 0, 0, 0, 0, 0, 0, 280, 281, 282,
11315 : 283, 284, 285, 286, 287, 288, 0, 289, 0, 290,
11316 : 291, 292, 293, 294, 295, 0, 296, 297, 298, 299,
11317 : 0, 0, 300, 301, 302, 303, 304, 0, 305, 306,
11318 : 307, 0, 308, 309, 310, 0, 311, 312, 313, 314,
11319 : 315, 316, 317, 318, 319, 0, 320, 0, 321, 322,
11320 : 323, 324, 0, 325, 0, 326, 0, 0, 0, 327,
11321 : 328, 329, 330, 0, 331, 332, 0, 333, 334, 0,
11322 : 335, 336, 337, 338, 1720, 0, 340, 341, 342, 343,
11323 : 0, 344, 345, 346, 347, 348, 349, 0, 350, 0,
11324 : 351, 352, 353, 354, 355, 356, 357, 0, 358, 0,
11325 : 359, 0, 0, 360, 0, 361, 362, 363, 364, 365,
11326 : 0, 0, 366, 367, 0, 368, 0, 0, 369, 370,
11327 : 371, 0, 0, 372, 373, 374, 375, 376, 377, 378,
11328 : 379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
11329 : 0, 389, 390, 391, 392, 393, 0, 394, 395, 0,
11330 : 396, 0, 397, 398, 399, 400, 401, 402, 0, 403,
11331 : 404, 0, 0, 405, 406, 407, 0, 0, 408, 409,
11332 : 0, 410, 0, 411, 412, 413, 414, 415, 416, 417,
11333 : 418, 419, 420, 0, 421, 422, 423, 424, 425, 426,
11334 : 427, 428, 0, 429, 430, 431, 432, 433, 434, 435,
11335 : 436, 437, 438, 439, 440, 441, 442, 0, 443, 444,
11336 : 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
11337 : 0, 455, 456, 0, 457, 458, 459, 460, 461, 462,
11338 : 463, 464, 465, 466, 467, 468, 469, 0, 470, 471,
11339 : 472, 473, 474, 0, 475, 476, 477, 478, 479, 0,
11340 : 480, 481, 482, 483, 0, 484, 485, 486, 487, 488,
11341 : 489, 490, 491, 492, 493, 494, 495, 496, 0, 497,
11342 : 498, 0, 499, 0, 500, 501, 502, 503, 504, 0,
11343 : 505, 506, 0, 0, 507, 508, 509, 510, 511, 0,
11344 : 512, 513, 514, 515, 516, 517, 518, 0, 0, 519,
11345 : 520, 521, 522, 523, 0, 0, 524, 525, 526, 527,
11346 : 528, 529, 530, 0, 531, 0, 532, 533, 534, 535,
11347 : 0, 0, 536, 0, 0, 537, 538, 539, 540, 541,
11348 : 542, 543, 544, 545, 546, 547, 548, 549, 550, 551,
11349 : 552, 553, 554, 555, 556, 223, 0, 0, 0, 0,
11350 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
11351 : 224, 225, 226, 227, 228, 229, 230, 231, 0, 233,
11352 : 234, 235, 0, 0, 0, 0, 0, 0, 0, 236,
11353 : 237, 0, 238, 239, 240, 0, 241, 242, 243, 244,
11354 : 245, 0, 246, 247, 0, 248, 249, 250, 251, 252,
11355 : 0, 0, 253, 254, 255, 256, 257, 0, 258, 259,
11356 : 260, 261, 262, 0, 0, 0, 263, 264, 265, 266,
11357 : 267, 0, 268, 269, 270, 0, 271, 272, 273, 274,
11358 : 275, 276, 0, 0, 277, 278, 279, 0, 0, 0,
11359 : 0, 0, 0, 0, 280, 281, 282, 283, 284, 285,
11360 : 286, 287, 288, 0, 289, 0, 290, 291, 292, 293,
11361 : 294, 295, 0, 296, 297, 298, 299, 0, 0, 300,
11362 : 301, 302, 303, 304, 0, 305, 306, 307, 0, 308,
11363 : 309, 310, 0, 311, 312, 313, 314, 315, 316, 317,
11364 : 318, 319, 0, 320, 0, 321, 322, 323, 324, 0,
11365 : 325, 0, 326, 0, 0, 0, 327, 328, 329, 330,
11366 : 0, 331, 332, 0, 333, 334, 0, 335, 336, 337,
11367 : 338, 1722, 0, 340, 341, 342, 343, 0, 344, 345,
11368 : 346, 347, 348, 349, 0, 350, 0, 351, 352, 353,
11369 : 354, 355, 356, 357, 0, 358, 0, 359, 0, 0,
11370 : 360, 0, 361, 362, 363, 364, 365, 0, 0, 366,
11371 : 367, 0, 368, 0, 0, 369, 370, 371, 0, 0,
11372 : 372, 373, 374, 375, 376, 377, 378, 379, 380, 381,
11373 : 382, 383, 384, 385, 386, 387, 388, 0, 389, 390,
11374 : 391, 392, 393, 0, 394, 395, 0, 396, 0, 397,
11375 : 398, 399, 400, 401, 402, 0, 403, 404, 0, 0,
11376 : 405, 406, 407, 0, 0, 408, 409, 0, 410, 0,
11377 : 411, 412, 413, 414, 415, 416, 417, 418, 419, 420,
11378 : 0, 421, 422, 423, 424, 425, 426, 427, 428, 0,
11379 : 429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
11380 : 439, 440, 441, 442, 0, 443, 444, 445, 446, 447,
11381 : 448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
11382 : 0, 457, 458, 459, 460, 461, 462, 463, 464, 465,
11383 : 466, 467, 468, 469, 0, 470, 471, 472, 473, 474,
11384 : 0, 475, 476, 477, 478, 479, 0, 480, 481, 482,
11385 : 483, 0, 484, 485, 486, 487, 488, 489, 490, 491,
11386 : 492, 493, 494, 495, 496, 0, 497, 498, 0, 499,
11387 : 0, 500, 501, 502, 503, 504, 0, 505, 506, 0,
11388 : 0, 507, 508, 509, 510, 511, 0, 512, 513, 514,
11389 : 515, 516, 517, 518, 0, 0, 519, 520, 521, 522,
11390 : 523, 0, 0, 524, 525, 526, 527, 528, 529, 530,
11391 : 0, 531, 0, 532, 533, 534, 535, 0, 0, 536,
11392 : 0, 0, 537, 538, 539, 540, 541, 542, 543, 544,
11393 : 545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
11394 : 555, 556, 223, 0, 0, 0, 0, 0, 0, 0,
11395 : 0, 0, 0, 0, 0, 0, 0, 224, 225, 226,
11396 : 227, 228, 229, 230, 231, 0, 233, 234, 235, 0,
11397 : 0, 0, 0, 0, 0, 0, 236, 237, 0, 238,
11398 : 239, 240, 0, 241, 242, 243, 244, 245, 0, 246,
11399 : 247, 0, 248, 249, 250, 251, 252, 0, 0, 253,
11400 : 254, 255, 256, 257, 0, 258, 259, 260, 261, 262,
11401 : 0, 0, 0, 263, 264, 265, 266, 267, 0, 268,
11402 : 269, 270, 0, 271, 272, 273, 274, 275, 276, 0,
11403 : 0, 277, 278, 279, 0, 0, 0, 0, 0, 0,
11404 : 0, 280, 281, 282, 283, 284, 285, 286, 287, 288,
11405 : 0, 289, 0, 290, 291, 292, 293, 294, 295, 0,
11406 : 296, 297, 298, 299, 0, 0, 300, 301, 302, 303,
11407 : 304, 0, 305, 306, 307, 0, 308, 309, 310, 0,
11408 : 311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
11409 : 320, 0, 321, 322, 323, 324, 0, 325, 0, 326,
11410 : 0, 0, 0, 327, 328, 329, 330, 0, 331, 332,
11411 : 0, 333, 334, 0, 335, 336, 337, 338, 339, 0,
11412 : 340, 341, 342, 343, 0, 344, 345, 346, 347, 348,
11413 : 349, 0, 350, 0, 351, 352, 353, 354, 355, 356,
11414 : 357, 0, 358, 0, 359, 0, 0, 360, 0, 361,
11415 : 362, 363, 364, 365, 0, 0, 366, 367, 0, 368,
11416 : 0, 0, 369, 370, 371, 0, 0, 372, 373, 374,
11417 : 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
11418 : 385, 386, 387, 388, 0, 389, 390, 391, 392, 393,
11419 : 0, 394, 395, 0, 396, 0, 397, 398, 399, 400,
11420 : 401, 402, 0, 403, 404, 0, 0, 405, 406, 407,
11421 : 0, 0, 408, 409, 0, 410, 0, 411, 412, 413,
11422 : 414, 415, 416, 417, 418, 419, 420, 0, 421, 422,
11423 : 423, 424, 425, 426, 427, 428, 0, 429, 430, 431,
11424 : 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
11425 : 442, 0, 443, 444, 445, 446, 447, 448, 449, 450,
11426 : 451, 452, 453, 454, 0, 455, 456, 0, 457, 458,
11427 : 459, 460, 461, 462, 1817, 464, 465, 466, 467, 468,
11428 : 469, 0, 470, 471, 472, 473, 474, 0, 475, 476,
11429 : 477, 478, 479, 0, 480, 481, 482, 483, 0, 484,
11430 : 485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
11431 : 495, 496, 0, 497, 498, 0, 499, 0, 500, 501,
11432 : 502, 503, 504, 0, 505, 506, 0, 0, 507, 508,
11433 : 509, 510, 511, 0, 512, 513, 514, 515, 516, 517,
11434 : 518, 0, 0, 519, 520, 521, 522, 523, 0, 0,
11435 : 524, 525, 526, 527, 528, 529, 530, 0, 531, 0,
11436 : 532, 533, 534, 535, 0, 0, 536, 0, 0, 537,
11437 : 538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
11438 : 548, 549, 550, 551, 552, 553, 554, 555, 556, 223,
11439 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
11440 : 0, 0, 0, 0, 224, 225, 226, 227, 228, 229,
11441 : 230, 231, 0, 233, 234, 235, 0, 0, 0, 0,
11442 : 0, 2077, 0, 236, 237, 0, 238, 239, 240, 0,
11443 : 241, 242, 243, 244, 245, 0, 246, 247, 0, 248,
11444 : 249, 250, 251, 252, 0, 0, 253, 254, 255, 256,
11445 : 257, 0, 258, 259, 260, 261, 262, 0, 0, 0,
11446 : 263, 264, 265, 266, 267, 0, 268, 269, 270, 0,
11447 : 271, 272, 273, 274, 275, 276, 0, 0, 277, 278,
11448 : 279, 0, 0, 0, 0, 0, 0, 0, 280, 281,
11449 : 282, 283, 284, 285, 286, 287, 288, 0, 289, 0,
11450 : 290, 291, 292, 293, 294, 295, 0, 296, 297, 298,
11451 : 299, 0, 0, 300, 301, 302, 303, 304, 0, 305,
11452 : 306, 307, 0, 308, 309, 310, 0, 311, 312, 313,
11453 : 314, 315, 316, 317, 318, 319, 0, 320, 0, 321,
11454 : 322, 323, 324, 0, 325, 0, 326, 0, 0, 0,
11455 : 327, 328, 329, 330, 0, 331, 332, 0, 333, 334,
11456 : 0, 335, 336, 337, 338, 339, 0, 340, 341, 342,
11457 : 343, 0, 344, 345, 346, 347, 348, 349, 0, 350,
11458 : 0, 351, 352, 353, 354, 355, 356, 357, 0, 358,
11459 : 0, 359, 0, 0, 360, 0, 361, 362, 363, 364,
11460 : 365, 0, 0, 366, 367, 0, 368, 0, 0, 369,
11461 : 370, 371, 0, 0, 372, 373, 374, 375, 376, 377,
11462 : 378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
11463 : 388, 0, 389, 390, 391, 392, 393, 0, 394, 395,
11464 : 0, 396, 0, 397, 398, 399, 400, 401, 402, 0,
11465 : 403, 404, 0, 0, 405, 406, 407, 0, 0, 408,
11466 : 409, 0, 410, 0, 411, 412, 413, 414, 415, 416,
11467 : 417, 418, 419, 420, 0, 421, 422, 423, 424, 425,
11468 : 426, 427, 428, 0, 429, 430, 431, 432, 433, 434,
11469 : 435, 436, 437, 438, 439, 440, 441, 442, 0, 443,
11470 : 444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
11471 : 454, 0, 455, 456, 0, 457, 458, 459, 460, 461,
11472 : 462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
11473 : 471, 472, 473, 474, 0, 0, 476, 477, 478, 479,
11474 : 0, 480, 481, 482, 483, 0, 484, 485, 486, 487,
11475 : 488, 489, 490, 491, 492, 493, 494, 495, 496, 0,
11476 : 497, 498, 0, 499, 0, 500, 501, 502, 503, 504,
11477 : 0, 505, 506, 0, 0, 507, 508, 509, 510, 511,
11478 : 0, 512, 513, 514, 515, 516, 517, 518, 0, 0,
11479 : 519, 520, 521, 522, 523, 0, 0, 524, 525, 526,
11480 : 527, 528, 529, 530, 0, 531, 0, 532, 533, 534,
11481 : 535, 0, 0, 536, 0, 0, 537, 538, 539, 540,
11482 : 541, 542, 543, 544, 545, 546, 547, 548, 549, 550,
11483 : 551, 552, 553, 554, 555, 556, 223, 0, 0, 0,
11484 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
11485 : 0, 224, 225, 226, 227, 228, 229, 230, 231, 0,
11486 : 233, 234, 235, 0, 0, 0, 0, 0, 0, 0,
11487 : 236, 237, 0, 238, 239, 240, 0, 241, 242, 243,
11488 : 244, 245, 0, 246, 247, 0, 248, 249, 250, 251,
11489 : 252, 0, 0, 745, 254, 255, 256, 257, 0, 258,
11490 : 259, 260, 261, 262, 0, 0, 0, 263, 264, 265,
11491 : 266, 267, 0, 268, 269, 270, 0, 271, 272, 273,
11492 : 274, 275, 276, 0, 0, 277, 278, 279, 0, 0,
11493 : 0, 0, 0, 0, 0, 280, 281, 282, 283, 284,
11494 : 285, 286, 287, 288, 0, 289, 0, 290, 291, 292,
11495 : 293, 294, 295, 0, 296, 297, 298, 299, 0, 0,
11496 : 300, 301, 302, 303, 304, 0, 305, 306, 307, 0,
11497 : 308, 309, 310, 0, 311, 312, 313, 314, 315, 316,
11498 : 317, 318, 319, 0, 320, 0, 321, 322, 323, 324,
11499 : 0, 325, 0, 326, 0, 0, 0, 327, 328, 329,
11500 : 330, 0, 331, 332, 0, 333, 334, 0, 335, 336,
11501 : 337, 338, 339, 0, 340, 341, 342, 343, 0, 344,
11502 : 345, 346, 347, 348, 349, 0, 350, 0, 351, 352,
11503 : 353, 354, 355, 356, 357, 0, 358, 0, 359, 0,
11504 : 0, 360, 0, 361, 362, 363, 364, 365, 0, 0,
11505 : 366, 367, 0, 368, 0, 0, 369, 370, 371, 0,
11506 : 0, 372, 373, 374, 375, 376, 377, 378, 379, 380,
11507 : 381, 382, 383, 384, 385, 386, 748, 388, 0, 389,
11508 : 390, 391, 392, 393, 0, 394, 395, 0, 396, 0,
11509 : 397, 398, 399, 400, 401, 402, 0, 403, 404, 0,
11510 : 0, 405, 406, 407, 0, 0, 408, 409, 0, 410,
11511 : 0, 411, 412, 413, 414, 415, 416, 417, 418, 419,
11512 : 420, 0, 421, 422, 423, 424, 425, 426, 427, 428,
11513 : 0, 429, 430, 431, 432, 433, 434, 435, 436, 437,
11514 : 438, 439, 440, 441, 442, 0, 443, 444, 445, 446,
11515 : 447, 448, 449, 450, 451, 452, 453, 454, 0, 455,
11516 : 456, 0, 749, 458, 459, 460, 461, 462, 463, 750,
11517 : 465, 466, 467, 468, 469, 0, 470, 471, 472, 473,
11518 : 1284, 0, 475, 476, 477, 478, 479, 0, 480, 481,
11519 : 482, 483, 0, 484, 485, 486, 487, 488, 489, 490,
11520 : 491, 492, 493, 494, 495, 496, 0, 497, 498, 0,
11521 : 499, 0, 2111, 501, 502, 503, 504, 0, 752, 506,
11522 : 0, 0, 753, 508, 509, 510, 511, 0, 512, 513,
11523 : 514, 515, 516, 517, 518, 0, 0, 519, 520, 521,
11524 : 522, 523, 0, 0, 524, 525, 526, 527, 528, 529,
11525 : 530, 0, 531, 0, 532, 533, 534, 535, 0, 0,
11526 : 536, 0, 0, 537, 538, 539, 540, 541, 754, 543,
11527 : 544, 545, 546, 547, 548, 549, 550, 551, 552, 553,
11528 : 554, 555, 556, 223, 0, 0, 0, 0, 0, 0,
11529 : 0, 0, 0, 0, 0, 0, 0, 0, 224, 225,
11530 : 226, 227, 228, 229, 230, 231, 0, 233, 234, 235,
11531 : 0, 0, 0, 0, 0, 0, 0, 236, 237, 0,
11532 : 238, 239, 240, 0, 241, 242, 243, 244, 245, 0,
11533 : 246, 247, 0, 248, 249, 250, 251, 252, 0, 0,
11534 : 745, 254, 255, 256, 257, 0, 258, 259, 260, 261,
11535 : 262, 0, 0, 0, 263, 264, 265, 266, 267, 0,
11536 : 268, 269, 270, 0, 271, 272, 273, 274, 275, 276,
11537 : 0, 0, 277, 278, 279, 0, 0, 0, 0, 0,
11538 : 0, 0, 280, 281, 282, 283, 284, 285, 286, 287,
11539 : 288, 0, 289, 0, 290, 291, 292, 293, 294, 295,
11540 : 0, 296, 297, 298, 299, 0, 0, 300, 301, 302,
11541 : 303, 304, 0, 305, 306, 307, 0, 308, 309, 310,
11542 : 0, 311, 312, 313, 314, 315, 316, 317, 318, 319,
11543 : 0, 320, 0, 321, 322, 323, 324, 0, 325, 0,
11544 : 326, 0, 0, 0, 327, 328, 329, 330, 0, 331,
11545 : 332, 0, 333, 334, 0, 335, 336, 337, 338, 339,
11546 : 0, 340, 341, 342, 343, 0, 344, 345, 346, 347,
11547 : 348, 349, 0, 350, 0, 351, 352, 353, 354, 355,
11548 : 356, 357, 0, 358, 0, 359, 0, 0, 360, 0,
11549 : 361, 362, 363, 364, 365, 0, 0, 366, 367, 0,
11550 : 368, 0, 0, 369, 370, 371, 0, 0, 372, 373,
11551 : 374, 375, 376, 377, 378, 379, 380, 381, 382, 383,
11552 : 384, 385, 386, 748, 388, 0, 389, 390, 391, 392,
11553 : 393, 0, 394, 395, 0, 396, 0, 397, 398, 399,
11554 : 400, 401, 402, 0, 403, 404, 0, 0, 405, 406,
11555 : 407, 0, 0, 408, 409, 0, 410, 0, 411, 412,
11556 : 413, 414, 415, 416, 417, 418, 419, 420, 0, 421,
11557 : 422, 423, 424, 425, 426, 427, 428, 0, 429, 430,
11558 : 431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
11559 : 441, 442, 0, 443, 444, 445, 446, 447, 448, 449,
11560 : 450, 451, 452, 453, 454, 0, 455, 456, 0, 749,
11561 : 458, 459, 460, 461, 462, 463, 2186, 465, 466, 467,
11562 : 468, 469, 0, 470, 471, 472, 473, 2187, 0, 475,
11563 : 476, 477, 478, 479, 0, 480, 481, 482, 483, 0,
11564 : 484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
11565 : 494, 495, 496, 0, 497, 498, 0, 499, 0, 500,
11566 : 501, 502, 503, 504, 0, 752, 506, 0, 0, 2188,
11567 : 508, 509, 510, 511, 0, 512, 513, 514, 515, 516,
11568 : 517, 518, 0, 0, 519, 520, 521, 522, 523, 0,
11569 : 0, 524, 525, 526, 527, 528, 529, 530, 0, 531,
11570 : 0, 532, 533, 534, 535, 0, 0, 536, 0, 0,
11571 : 537, 538, 539, 540, 541, 754, 543, 544, 545, 546,
11572 : 547, 548, 549, 550, 551, 552, 553, 554, 555, 556,
11573 : 223, 0, 0, 0, 0, 0, 0, 0, 0, 0,
11574 : 0, 0, 0, 0, 0, 224, 225, 226, 227, 228,
11575 : 229, 230, 231, 0, 233, 234, 235, 0, 0, 0,
11576 : 0, 0, 0, 0, 236, 237, 0, 238, 239, 240,
11577 : 0, 241, 242, 243, 244, 245, 0, 246, 247, 0,
11578 : 248, 249, 250, 251, 252, 0, 0, 253, 254, 255,
11579 : 256, 257, 0, 258, 259, 260, 261, 262, 0, 0,
11580 : 0, 263, 264, 265, 266, 267, 0, 268, 269, 270,
11581 : 0, 271, 272, 273, 274, 275, 276, 0, 0, 277,
11582 : 278, 279, 0, 0, 0, 0, 0, 0, 0, 280,
11583 : 281, 282, 283, 284, 285, 286, 287, 288, 0, 289,
11584 : 0, 290, 291, 292, 293, 294, 295, 0, 296, 297,
11585 : 298, 299, 0, 0, 300, 301, 302, 303, 304, 0,
11586 : 305, 306, 307, 0, 308, 309, 310, 0, 311, 312,
11587 : 313, 314, 315, 316, 317, 318, 319, 0, 320, 0,
11588 : 321, 322, 323, 324, 0, 325, 0, 326, 0, 0,
11589 : 0, 327, 328, 329, 330, 0, 331, 332, 0, 333,
11590 : 334, 0, 335, 336, 337, 338, 2460, 0, 340, 341,
11591 : 342, 343, 0, 344, 345, 346, 347, 348, 349, 0,
11592 : 350, 0, 351, 352, 353, 354, 355, 356, 357, 0,
11593 : 358, 0, 359, 0, 0, 360, 0, 361, 362, 363,
11594 : 364, 365, 0, 0, 366, 367, 0, 368, 0, 0,
11595 : 369, 370, 371, 0, 0, 372, 373, 374, 375, 376,
11596 : 377, 378, 379, 380, 381, 382, 383, 384, 385, 386,
11597 : 387, 388, 0, 389, 390, 391, 392, 393, 0, 394,
11598 : 395, 0, 396, 0, 397, 398, 399, 400, 401, 402,
11599 : 0, 403, 404, 0, 0, 405, 406, 407, 0, 0,
11600 : 408, 409, 0, 410, 0, 411, 412, 413, 414, 415,
11601 : 416, 417, 418, 419, 420, 0, 421, 422, 423, 424,
11602 : 425, 426, 427, 428, 0, 429, 430, 431, 432, 433,
11603 : 434, 435, 436, 437, 438, 439, 440, 441, 442, 0,
11604 : 443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
11605 : 453, 454, 0, 455, 456, 0, 457, 458, 459, 460,
11606 : 461, 462, 463, 464, 465, 466, 467, 468, 469, 0,
11607 : 470, 471, 472, 473, 474, 0, 475, 476, 477, 478,
11608 : 479, 0, 480, 481, 482, 483, 0, 484, 485, 486,
11609 : 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
11610 : 0, 497, 498, 0, 499, 0, 500, 501, 502, 503,
11611 : 504, 0, 505, 506, 0, 0, 507, 508, 509, 510,
11612 : 511, 0, 512, 513, 514, 515, 516, 517, 518, 0,
11613 : 0, 519, 520, 521, 522, 523, 0, 0, 524, 525,
11614 : 526, 527, 528, 529, 530, 0, 531, 0, 532, 533,
11615 : 534, 535, 0, 0, 536, 0, 0, 537, 538, 539,
11616 : 540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
11617 : 550, 551, 552, 553, 554, 555, 556, 223, 0, 0,
11618 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
11619 : 0, 0, 224, 225, 226, 227, 228, 229, 230, 231,
11620 : 0, 233, 234, 235, 0, 0, 0, 0, 0, 0,
11621 : 0, 236, 237, 0, 238, 239, 240, 0, 241, 242,
11622 : 243, 244, 245, 0, 246, 247, 0, 248, 249, 250,
11623 : 251, 252, 0, 0, 253, 254, 255, 256, 257, 0,
11624 : 258, 259, 260, 261, 262, 0, 0, 0, 263, 264,
11625 : 265, 266, 267, 0, 268, 269, 270, 0, 271, 272,
11626 : 273, 274, 275, 276, 0, 0, 277, 278, 279, 0,
11627 : 0, 0, 0, 0, 0, 0, 280, 281, 282, 283,
11628 : 284, 285, 286, 287, 288, 0, 289, 0, 290, 291,
11629 : 292, 293, 294, 295, 0, 296, 297, 298, 299, 0,
11630 : 0, 300, 301, 302, 303, 304, 0, 305, 306, 307,
11631 : 0, 308, 309, 310, 0, 311, 312, 313, 314, 315,
11632 : 316, 317, 318, 319, 0, 320, 0, 321, 322, 323,
11633 : 324, 0, 325, 0, 326, 0, 0, 0, 327, 328,
11634 : 329, 330, 0, 331, 332, 0, 333, 334, 0, 335,
11635 : 336, 337, 338, 2464, 0, 340, 341, 342, 343, 0,
11636 : 344, 345, 346, 347, 348, 349, 0, 350, 0, 351,
11637 : 352, 353, 354, 355, 356, 357, 0, 358, 0, 359,
11638 : 0, 0, 360, 0, 361, 362, 363, 364, 365, 0,
11639 : 0, 366, 367, 0, 368, 0, 0, 369, 370, 371,
11640 : 0, 0, 372, 373, 374, 375, 376, 377, 378, 379,
11641 : 380, 381, 382, 383, 384, 385, 386, 387, 388, 0,
11642 : 389, 390, 391, 392, 393, 0, 394, 395, 0, 396,
11643 : 0, 397, 398, 399, 400, 401, 402, 0, 403, 404,
11644 : 0, 0, 405, 406, 407, 0, 0, 408, 409, 0,
11645 : 410, 0, 411, 412, 413, 414, 415, 416, 417, 418,
11646 : 419, 420, 0, 421, 422, 423, 424, 425, 426, 427,
11647 : 428, 0, 429, 430, 431, 432, 433, 434, 435, 436,
11648 : 437, 438, 439, 440, 441, 442, 0, 443, 444, 445,
11649 : 446, 447, 448, 449, 450, 451, 452, 453, 454, 0,
11650 : 455, 456, 0, 457, 458, 459, 460, 461, 462, 463,
11651 : 464, 465, 466, 467, 468, 469, 0, 470, 471, 472,
11652 : 473, 474, 0, 475, 476, 477, 478, 479, 0, 480,
11653 : 481, 482, 483, 0, 484, 485, 486, 487, 488, 489,
11654 : 490, 491, 492, 493, 494, 495, 496, 0, 497, 498,
11655 : 0, 499, 0, 500, 501, 502, 503, 504, 0, 505,
11656 : 506, 0, 0, 507, 508, 509, 510, 511, 0, 512,
11657 : 513, 514, 515, 516, 517, 518, 0, 0, 519, 520,
11658 : 521, 522, 523, 0, 0, 524, 525, 526, 527, 528,
11659 : 529, 530, 0, 531, 0, 532, 533, 534, 535, 0,
11660 : 0, 536, 0, 0, 537, 538, 539, 540, 541, 542,
11661 : 543, 544, 545, 546, 547, 548, 549, 550, 551, 552,
11662 : 553, 554, 555, 556, 223, 0, 0, 0, 0, 0,
11663 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 224,
11664 : 225, 226, 227, 228, 229, 230, 231, 0, 233, 234,
11665 : 235, 0, 0, 0, 0, 0, 0, 0, 236, 237,
11666 : 0, 238, 239, 240, 0, 241, 242, 243, 244, 245,
11667 : 0, 246, 247, 0, 248, 249, 250, 251, 252, 0,
11668 : 0, 253, 254, 255, 256, 257, 0, 258, 259, 260,
11669 : 261, 262, 0, 0, 0, 263, 264, 265, 266, 267,
11670 : 0, 268, 269, 270, 0, 271, 272, 273, 274, 275,
11671 : 276, 0, 0, 277, 278, 279, 0, 0, 0, 0,
11672 : 0, 0, 0, 280, 281, 282, 283, 284, 285, 286,
11673 : 287, 288, 0, 289, 0, 290, 291, 292, 293, 294,
11674 : 295, 0, 296, 297, 298, 299, 0, 0, 300, 301,
11675 : 302, 303, 304, 0, 305, 306, 307, 0, 308, 309,
11676 : 310, 0, 311, 312, 313, 314, 315, 316, 317, 318,
11677 : 319, 0, 320, 0, 321, 322, 323, 324, 0, 325,
11678 : 0, 326, 0, 0, 0, 327, 328, 329, 330, 0,
11679 : 331, 332, 0, 333, 334, 0, 335, 336, 337, 338,
11680 : 2533, 0, 340, 341, 342, 343, 0, 344, 345, 346,
11681 : 347, 348, 349, 0, 350, 0, 351, 352, 353, 354,
11682 : 355, 356, 357, 0, 358, 0, 359, 0, 0, 360,
11683 : 0, 361, 362, 363, 364, 365, 0, 0, 366, 367,
11684 : 0, 368, 0, 0, 369, 370, 371, 0, 0, 372,
11685 : 373, 374, 375, 376, 377, 378, 379, 380, 381, 382,
11686 : 383, 384, 385, 386, 387, 388, 0, 389, 390, 391,
11687 : 392, 393, 0, 394, 395, 0, 396, 0, 397, 398,
11688 : 399, 400, 401, 402, 0, 403, 404, 0, 0, 405,
11689 : 406, 407, 0, 0, 408, 409, 0, 410, 0, 411,
11690 : 412, 413, 414, 415, 416, 417, 418, 419, 420, 0,
11691 : 421, 422, 423, 424, 425, 426, 427, 428, 0, 429,
11692 : 430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
11693 : 440, 441, 442, 0, 443, 444, 445, 446, 447, 448,
11694 : 449, 450, 451, 452, 453, 454, 0, 455, 456, 0,
11695 : 457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
11696 : 467, 468, 469, 0, 470, 471, 472, 473, 474, 0,
11697 : 475, 476, 477, 478, 479, 0, 480, 481, 482, 483,
11698 : 0, 484, 485, 486, 487, 488, 489, 490, 491, 492,
11699 : 493, 494, 495, 496, 0, 497, 498, 0, 499, 0,
11700 : 500, 501, 502, 503, 504, 0, 505, 506, 0, 0,
11701 : 507, 508, 509, 510, 511, 0, 512, 513, 514, 515,
11702 : 516, 517, 518, 0, 0, 519, 520, 521, 522, 523,
11703 : 0, 0, 524, 525, 526, 527, 528, 529, 530, 0,
11704 : 531, 0, 532, 533, 534, 535, 0, 0, 536, 0,
11705 : 0, 537, 538, 539, 540, 541, 542, 543, 544, 545,
11706 : 546, 547, 548, 549, 550, 551, 552, 553, 554, 555,
11707 : 556, 223, 0, 0, 0, 0, 0, 0, 0, 0,
11708 : 0, 0, 0, 0, 0, 0, 224, 225, 226, 227,
11709 : 228, 229, 230, 231, 0, 233, 234, 235, 0, 0,
11710 : 0, 0, 0, 0, 0, 236, 237, 0, 238, 239,
11711 : 240, 0, 241, 242, 243, 244, 245, 0, 246, 247,
11712 : 0, 248, 249, 250, 251, 252, 0, 0, 253, 254,
11713 : 255, 256, 257, 0, 258, 259, 260, 261, 262, 0,
11714 : 0, 0, 263, 264, 265, 266, 267, 0, 268, 269,
11715 : 270, 0, 271, 272, 273, 274, 275, 276, 0, 0,
11716 : 277, 278, 279, 0, 0, 0, 0, 0, 0, 0,
11717 : 280, 281, 282, 283, 284, 285, 286, 287, 288, 0,
11718 : 289, 0, 290, 291, 292, 293, 294, 295, 0, 296,
11719 : 297, 298, 299, 0, 0, 300, 301, 302, 303, 304,
11720 : 0, 305, 306, 307, 0, 308, 309, 310, 0, 311,
11721 : 312, 313, 314, 315, 316, 317, 318, 319, 0, 320,
11722 : 0, 321, 322, 323, 324, 0, 325, 0, 326, 0,
11723 : 0, 0, 327, 328, 329, 330, 0, 331, 332, 0,
11724 : 333, 334, 0, 335, 336, 337, 338, 2853, 0, 340,
11725 : 341, 342, 343, 0, 344, 345, 346, 347, 348, 349,
11726 : 0, 350, 0, 351, 352, 353, 354, 355, 356, 357,
11727 : 0, 358, 0, 359, 0, 0, 360, 0, 361, 362,
11728 : 363, 364, 365, 0, 0, 366, 367, 0, 368, 0,
11729 : 0, 369, 370, 371, 0, 0, 372, 373, 374, 375,
11730 : 376, 377, 378, 379, 380, 381, 382, 383, 384, 385,
11731 : 386, 387, 388, 0, 389, 390, 391, 392, 393, 0,
11732 : 394, 395, 0, 396, 0, 397, 398, 399, 400, 401,
11733 : 402, 0, 403, 404, 0, 0, 405, 406, 407, 0,
11734 : 0, 408, 409, 0, 410, 0, 411, 412, 413, 414,
11735 : 415, 416, 417, 418, 419, 420, 0, 421, 422, 423,
11736 : 424, 425, 426, 427, 428, 0, 429, 430, 431, 432,
11737 : 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
11738 : 0, 443, 444, 445, 446, 447, 448, 449, 450, 451,
11739 : 452, 453, 454, 0, 455, 456, 0, 457, 458, 459,
11740 : 460, 461, 462, 463, 464, 465, 466, 467, 468, 469,
11741 : 0, 470, 471, 472, 473, 474, 0, 475, 476, 477,
11742 : 478, 479, 0, 480, 481, 482, 483, 0, 484, 485,
11743 : 486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
11744 : 496, 0, 497, 498, 0, 499, 0, 500, 501, 502,
11745 : 503, 504, 0, 505, 506, 0, 0, 507, 508, 509,
11746 : 510, 511, 0, 512, 513, 514, 515, 516, 517, 518,
11747 : 0, 0, 519, 520, 521, 522, 523, 0, 0, 524,
11748 : 525, 526, 527, 528, 529, 530, 0, 531, 0, 532,
11749 : 533, 534, 535, 0, 0, 536, 0, 0, 537, 538,
11750 : 539, 540, 541, 542, 543, 544, 545, 546, 547, 548,
11751 : 549, 550, 551, 552, 553, 554, 555, 556, 223, 0,
11752 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
11753 : 0, 0, 0, 224, 225, 226, 227, 228, 229, 230,
11754 : 231, 0, 233, 234, 235, 0, 0, 0, 0, 0,
11755 : 0, 0, 236, 237, 0, 238, 239, 240, 0, 241,
11756 : 242, 243, 244, 245, 0, 246, 247, 0, 248, 249,
11757 : 250, 251, 252, 0, 0, 745, 254, 255, 256, 257,
11758 : 0, 258, 259, 260, 261, 262, 0, 0, 0, 263,
11759 : 264, 265, 266, 267, 0, 268, 269, 270, 0, 271,
11760 : 272, 273, 274, 275, 276, 0, 0, 277, 278, 279,
11761 : 0, 0, 0, 0, 0, 0, 0, 280, 281, 282,
11762 : 283, 284, 285, 286, 287, 288, 0, 289, 0, 290,
11763 : 291, 292, 293, 294, 295, 0, 296, 297, 298, 299,
11764 : 0, 0, 300, 301, 302, 303, 304, 0, 305, 306,
11765 : 307, 0, 308, 309, 310, 0, 311, 312, 313, 314,
11766 : 315, 316, 317, 318, 319, 0, 320, 0, 321, 322,
11767 : 323, 324, 0, 325, 0, 326, 0, 0, 0, 327,
11768 : 328, 329, 330, 0, 331, 332, 0, 333, 334, 0,
11769 : 335, 336, 337, 338, 339, 0, 340, 341, 342, 343,
11770 : 0, 344, 345, 346, 347, 348, 349, 0, 350, 0,
11771 : 351, 352, 353, 354, 355, 356, 357, 0, 358, 0,
11772 : 359, 0, 0, 360, 0, 361, 362, 363, 364, 365,
11773 : 0, 0, 366, 367, 0, 368, 0, 0, 369, 370,
11774 : 371, 0, 0, 372, 373, 374, 375, 376, 377, 378,
11775 : 379, 380, 381, 382, 383, 384, 385, 386, 748, 388,
11776 : 0, 389, 390, 391, 392, 393, 0, 394, 395, 0,
11777 : 396, 0, 397, 398, 399, 400, 401, 402, 0, 403,
11778 : 404, 0, 0, 405, 406, 407, 0, 0, 408, 409,
11779 : 0, 410, 0, 411, 412, 413, 414, 415, 416, 417,
11780 : 418, 419, 420, 0, 421, 422, 423, 424, 425, 426,
11781 : 427, 428, 0, 429, 430, 431, 432, 433, 434, 435,
11782 : 436, 437, 438, 439, 440, 441, 442, 0, 443, 444,
11783 : 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
11784 : 0, 455, 456, 0, 749, 458, 459, 460, 461, 462,
11785 : 463, 750, 465, 466, 467, 468, 469, 0, 470, 471,
11786 : 472, 473, 2187, 0, 475, 476, 477, 478, 479, 0,
11787 : 480, 481, 482, 483, 0, 484, 485, 486, 487, 488,
11788 : 489, 490, 491, 492, 493, 494, 495, 496, 0, 497,
11789 : 498, 0, 499, 0, 500, 501, 502, 503, 504, 0,
11790 : 752, 506, 0, 0, 2188, 508, 509, 510, 511, 0,
11791 : 512, 513, 514, 515, 516, 517, 518, 0, 0, 519,
11792 : 520, 521, 522, 523, 0, 0, 524, 525, 526, 527,
11793 : 528, 529, 530, 0, 531, 0, 532, 533, 534, 535,
11794 : 0, 0, 536, 0, 0, 537, 538, 539, 540, 541,
11795 : 754, 543, 544, 545, 546, 547, 548, 549, 550, 551,
11796 : 552, 553, 554, 555, 556, 223, 0, 0, 0, 0,
11797 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
11798 : 224, 225, 226, 227, 228, 229, 230, 231, 0, 233,
11799 : 234, 235, 0, 0, 0, 0, 0, 0, 0, 236,
11800 : 237, 0, 238, 239, 240, 0, 241, 242, 243, 244,
11801 : 245, 0, 246, 247, 0, 248, 249, 250, 251, 252,
11802 : 0, 0, 253, 254, 255, 256, 257, 0, 258, 259,
11803 : 260, 261, 262, 0, 0, 0, 263, 264, 265, 266,
11804 : 267, 0, 268, 269, 270, 0, 271, 272, 273, 274,
11805 : 275, 276, 0, 0, 277, 278, 279, 0, 0, 0,
11806 : 0, 0, 0, 0, 280, 281, 282, 283, 284, 285,
11807 : 286, 287, 288, 0, 289, 0, 290, 291, 292, 293,
11808 : 294, 295, 0, 296, 297, 298, 299, 0, 0, 300,
11809 : 301, 302, 303, 304, 0, 305, 306, 307, 0, 308,
11810 : 309, 310, 0, 311, 312, 313, 314, 315, 316, 317,
11811 : 318, 319, 0, 320, 0, 321, 322, 323, 324, 0,
11812 : 325, 0, 326, 0, 0, 0, 327, 328, 329, 330,
11813 : 0, 331, 332, 0, 333, 334, 0, 335, 336, 337,
11814 : 338, 2920, 0, 340, 341, 342, 343, 0, 344, 345,
11815 : 346, 347, 348, 349, 0, 350, 0, 351, 352, 353,
11816 : 354, 355, 356, 357, 0, 358, 0, 359, 0, 0,
11817 : 360, 0, 361, 362, 363, 364, 365, 0, 0, 366,
11818 : 367, 0, 368, 0, 0, 369, 370, 371, 0, 0,
11819 : 372, 373, 374, 375, 376, 377, 378, 379, 380, 381,
11820 : 382, 383, 384, 385, 386, 387, 388, 0, 389, 390,
11821 : 391, 392, 393, 0, 394, 395, 0, 396, 0, 397,
11822 : 398, 399, 400, 401, 402, 0, 403, 404, 0, 0,
11823 : 405, 406, 407, 0, 0, 408, 409, 0, 410, 0,
11824 : 411, 412, 413, 414, 415, 416, 417, 418, 419, 420,
11825 : 0, 421, 422, 423, 424, 425, 426, 427, 428, 0,
11826 : 429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
11827 : 439, 440, 441, 442, 0, 443, 444, 445, 446, 447,
11828 : 448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
11829 : 0, 457, 458, 459, 460, 461, 462, 463, 464, 465,
11830 : 466, 467, 468, 469, 0, 470, 471, 472, 473, 474,
11831 : 0, 475, 476, 477, 478, 479, 0, 480, 481, 482,
11832 : 483, 0, 484, 485, 486, 487, 488, 489, 490, 491,
11833 : 492, 493, 494, 495, 496, 0, 497, 498, 0, 499,
11834 : 0, 500, 501, 502, 503, 504, 0, 505, 506, 0,
11835 : 0, 507, 508, 509, 510, 511, 0, 512, 513, 514,
11836 : 515, 516, 517, 518, 0, 0, 519, 520, 521, 522,
11837 : 523, 0, 0, 524, 525, 526, 527, 528, 529, 530,
11838 : 0, 531, 0, 532, 533, 534, 535, 0, 0, 536,
11839 : 0, 0, 537, 538, 539, 540, 541, 542, 543, 544,
11840 : 545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
11841 : 555, 556, 223, 0, 0, 0, 0, 0, 0, 0,
11842 : 0, 0, 0, 0, 0, 0, 0, 224, 225, 226,
11843 : 227, 228, 229, 230, 231, 0, 233, 234, 235, 0,
11844 : 0, 0, 0, 0, 0, 0, 236, 237, 0, 238,
11845 : 239, 240, 0, 241, 242, 243, 244, 245, 0, 246,
11846 : 247, 0, 248, 249, 250, 251, 252, 0, 0, 253,
11847 : 254, 255, 256, 257, 0, 258, 259, 260, 261, 262,
11848 : 0, 0, 0, 263, 264, 265, 266, 267, 0, 268,
11849 : 269, 270, 0, 271, 272, 273, 274, 275, 276, 0,
11850 : 0, 277, 278, 279, 0, 0, 0, 0, 0, 0,
11851 : 0, 280, 281, 282, 283, 284, 285, 286, 287, 288,
11852 : 0, 289, 0, 290, 291, 292, 293, 294, 295, 0,
11853 : 296, 297, 298, 299, 0, 0, 300, 301, 302, 303,
11854 : 304, 0, 305, 306, 307, 0, 308, 309, 310, 0,
11855 : 311, 312, 313, 314, 315, 316, 317, 318, 319, 0,
11856 : 320, 0, 321, 322, 323, 324, 0, 325, 0, 326,
11857 : 0, 0, 0, 327, 328, 329, 330, 0, 331, 332,
11858 : 0, 333, 334, 0, 335, 336, 337, 338, 2933, 0,
11859 : 340, 341, 342, 343, 0, 344, 345, 346, 347, 348,
11860 : 349, 0, 350, 0, 351, 352, 353, 354, 355, 356,
11861 : 357, 0, 358, 0, 359, 0, 0, 360, 0, 361,
11862 : 362, 363, 364, 365, 0, 0, 366, 367, 0, 368,
11863 : 0, 0, 369, 370, 371, 0, 0, 372, 373, 374,
11864 : 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
11865 : 385, 386, 387, 388, 0, 389, 390, 391, 392, 393,
11866 : 0, 394, 395, 0, 396, 0, 397, 398, 399, 400,
11867 : 401, 402, 0, 403, 404, 0, 0, 405, 406, 407,
11868 : 0, 0, 408, 409, 0, 410, 0, 411, 412, 413,
11869 : 414, 415, 416, 417, 418, 419, 420, 0, 421, 422,
11870 : 423, 424, 425, 426, 427, 428, 0, 429, 430, 431,
11871 : 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
11872 : 442, 0, 443, 444, 445, 446, 447, 448, 449, 450,
11873 : 451, 452, 453, 454, 0, 455, 456, 0, 457, 458,
11874 : 459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
11875 : 469, 0, 470, 471, 472, 473, 474, 0, 475, 476,
11876 : 477, 478, 479, 0, 480, 481, 482, 483, 0, 484,
11877 : 485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
11878 : 495, 496, 0, 497, 498, 0, 499, 0, 500, 501,
11879 : 502, 503, 504, 0, 505, 506, 0, 0, 507, 508,
11880 : 509, 510, 511, 0, 512, 513, 514, 515, 516, 517,
11881 : 518, 0, 0, 519, 520, 521, 522, 523, 0, 0,
11882 : 524, 525, 526, 527, 528, 529, 530, 0, 531, 0,
11883 : 532, 533, 534, 535, 0, 0, 536, 0, 0, 537,
11884 : 538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
11885 : 548, 549, 550, 551, 552, 553, 554, 555, 556, 223,
11886 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
11887 : 0, 0, 0, 0, 224, 225, 226, 227, 228, 229,
11888 : 230, 231, 0, 233, 234, 235, 0, 0, 0, 0,
11889 : 0, 0, 0, 236, 237, 0, 238, 239, 240, 0,
11890 : 241, 242, 243, 244, 245, 0, 246, 247, 0, 248,
11891 : 249, 250, 251, 252, 0, 0, 253, 254, 255, 256,
11892 : 257, 0, 258, 259, 260, 261, 262, 0, 0, 0,
11893 : 263, 264, 265, 266, 267, 0, 268, 269, 270, 0,
11894 : 271, 272, 273, 274, 275, 276, 0, 0, 277, 278,
11895 : 279, 0, 0, 0, 0, 0, 0, 0, 280, 281,
11896 : 282, 283, 284, 285, 286, 287, 288, 0, 289, 0,
11897 : 290, 291, 292, 293, 294, 295, 0, 296, 297, 298,
11898 : 299, 0, 0, 300, 301, 302, 303, 304, 0, 305,
11899 : 306, 307, 0, 308, 309, 310, 0, 311, 312, 313,
11900 : 314, 315, 316, 317, 318, 319, 0, 320, 0, 321,
11901 : 322, 323, 324, 0, 325, 0, 326, 0, 0, 0,
11902 : 327, 328, 329, 330, 0, 331, 332, 0, 333, 334,
11903 : 0, 335, 336, 337, 338, 2935, 0, 340, 341, 342,
11904 : 343, 0, 344, 345, 346, 347, 348, 349, 0, 350,
11905 : 0, 351, 352, 353, 354, 355, 356, 357, 0, 358,
11906 : 0, 359, 0, 0, 360, 0, 361, 362, 363, 364,
11907 : 365, 0, 0, 366, 367, 0, 368, 0, 0, 369,
11908 : 370, 371, 0, 0, 372, 373, 374, 375, 376, 377,
11909 : 378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
11910 : 388, 0, 389, 390, 391, 392, 393, 0, 394, 395,
11911 : 0, 396, 0, 397, 398, 399, 400, 401, 402, 0,
11912 : 403, 404, 0, 0, 405, 406, 407, 0, 0, 408,
11913 : 409, 0, 410, 0, 411, 412, 413, 414, 415, 416,
11914 : 417, 418, 419, 420, 0, 421, 422, 423, 424, 425,
11915 : 426, 427, 428, 0, 429, 430, 431, 432, 433, 434,
11916 : 435, 436, 437, 438, 439, 440, 441, 442, 0, 443,
11917 : 444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
11918 : 454, 0, 455, 456, 0, 457, 458, 459, 460, 461,
11919 : 462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
11920 : 471, 472, 473, 474, 0, 475, 476, 477, 478, 479,
11921 : 0, 480, 481, 482, 483, 0, 484, 485, 486, 487,
11922 : 488, 489, 490, 491, 492, 493, 494, 495, 496, 0,
11923 : 497, 498, 0, 499, 0, 500, 501, 502, 503, 504,
11924 : 0, 505, 506, 0, 0, 507, 508, 509, 510, 511,
11925 : 0, 512, 513, 514, 515, 516, 517, 518, 0, 0,
11926 : 519, 520, 521, 522, 523, 0, 0, 524, 525, 526,
11927 : 527, 528, 529, 530, 0, 531, 0, 532, 533, 534,
11928 : 535, 0, 0, 536, 0, 0, 537, 538, 539, 540,
11929 : 541, 542, 543, 544, 545, 546, 547, 548, 549, 550,
11930 : 551, 552, 553, 554, 555, 556, 223, 0, 0, 0,
11931 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
11932 : 0, 224, 225, 226, 227, 228, 229, 230, 231, 0,
11933 : 233, 234, 235, 0, 0, 0, 0, 0, 0, 0,
11934 : 236, 237, 0, 238, 239, 240, 0, 241, 242, 243,
11935 : 244, 245, 0, 246, 247, 0, 248, 249, 250, 251,
11936 : 252, 0, 0, 253, 254, 255, 256, 257, 0, 258,
11937 : 259, 260, 261, 262, 0, 0, 0, 263, 264, 265,
11938 : 266, 267, 0, 268, 269, 270, 0, 271, 272, 273,
11939 : 274, 275, 276, 0, 0, 277, 278, 279, 0, 0,
11940 : 0, 0, 0, 0, 0, 280, 281, 282, 283, 284,
11941 : 285, 286, 287, 288, 0, 289, 0, 290, 291, 292,
11942 : 293, 294, 295, 0, 296, 297, 298, 299, 0, 0,
11943 : 300, 301, 302, 303, 304, 0, 305, 306, 307, 0,
11944 : 308, 309, 310, 0, 311, 312, 313, 314, 315, 316,
11945 : 317, 318, 319, 0, 320, 0, 321, 322, 323, 324,
11946 : 0, 325, 0, 326, 0, 0, 0, 327, 328, 329,
11947 : 330, 0, 331, 332, 0, 333, 334, 0, 335, 336,
11948 : 337, 338, 3070, 0, 340, 341, 342, 343, 0, 344,
11949 : 345, 346, 347, 348, 349, 0, 350, 0, 351, 352,
11950 : 353, 354, 355, 356, 357, 0, 358, 0, 359, 0,
11951 : 0, 360, 0, 361, 362, 363, 364, 365, 0, 0,
11952 : 366, 367, 0, 368, 0, 0, 369, 370, 371, 0,
11953 : 0, 372, 373, 374, 375, 376, 377, 378, 379, 380,
11954 : 381, 382, 383, 384, 385, 386, 387, 388, 0, 389,
11955 : 390, 391, 392, 393, 0, 394, 395, 0, 396, 0,
11956 : 397, 398, 399, 400, 401, 402, 0, 403, 404, 0,
11957 : 0, 405, 406, 407, 0, 0, 408, 409, 0, 410,
11958 : 0, 411, 412, 413, 414, 415, 416, 417, 418, 419,
11959 : 420, 0, 421, 422, 423, 424, 425, 426, 427, 428,
11960 : 0, 429, 430, 431, 432, 433, 434, 435, 436, 437,
11961 : 438, 439, 440, 441, 442, 0, 443, 444, 445, 446,
11962 : 447, 448, 449, 450, 451, 452, 453, 454, 0, 455,
11963 : 456, 0, 457, 458, 459, 460, 461, 462, 463, 464,
11964 : 465, 466, 467, 468, 469, 0, 470, 471, 472, 473,
11965 : 474, 0, 475, 476, 477, 478, 479, 0, 480, 481,
11966 : 482, 483, 0, 484, 485, 486, 487, 488, 489, 490,
11967 : 491, 492, 493, 494, 495, 496, 0, 497, 498, 0,
11968 : 499, 0, 500, 501, 502, 503, 504, 0, 505, 506,
11969 : 0, 0, 507, 508, 509, 510, 511, 0, 512, 513,
11970 : 514, 515, 516, 517, 518, 0, 0, 519, 520, 521,
11971 : 522, 523, 0, 0, 524, 525, 526, 527, 528, 529,
11972 : 530, 0, 531, 0, 532, 533, 534, 535, 0, 0,
11973 : 536, 0, 0, 537, 538, 539, 540, 541, 542, 543,
11974 : 544, 545, 546, 547, 548, 549, 550, 551, 552, 553,
11975 : 554, 555, 556, 223, 0, 0, 0, 0, 0, 0,
11976 : 0, 0, 0, 0, 0, 0, 0, 0, 224, 225,
11977 : 226, 227, 228, 229, 230, 231, 0, 233, 234, 235,
11978 : 0, 0, 0, 0, 0, 0, 0, 236, 237, 0,
11979 : 238, 239, 240, 0, 241, 242, 243, 244, 245, 0,
11980 : 246, 247, 0, 248, 249, 250, 251, 252, 0, 0,
11981 : 253, 254, 255, 256, 257, 0, 258, 259, 260, 261,
11982 : 262, 0, 0, 0, 263, 264, 265, 266, 267, 0,
11983 : 268, 269, 270, 0, 271, 272, 273, 274, 275, 276,
11984 : 0, 0, 277, 278, 279, 0, 0, 0, 0, 0,
11985 : 0, 0, 280, 281, 282, 283, 284, 285, 286, 287,
11986 : 288, 0, 289, 0, 290, 291, 292, 293, 294, 295,
11987 : 0, 296, 297, 298, 299, 0, 0, 300, 3095, 302,
11988 : 303, 304, 0, 305, 306, 307, 0, 308, 309, 310,
11989 : 0, 311, 312, 313, 314, 315, 316, 317, 318, 319,
11990 : 0, 320, 0, 321, 322, 323, 324, 0, 325, 0,
11991 : 326, 0, 0, 0, 327, 328, 329, 330, 0, 331,
11992 : 332, 0, 333, 334, 0, 335, 336, 337, 338, 339,
11993 : 0, 340, 341, 342, 343, 0, 344, 345, 346, 347,
11994 : 348, 349, 0, 350, 0, 351, 352, 353, 354, 355,
11995 : 356, 357, 0, 358, 0, 359, 0, 0, 360, 0,
11996 : 361, 362, 363, 364, 365, 0, 0, 366, 367, 0,
11997 : 368, 0, 0, 369, 370, 371, 0, 0, 372, 373,
11998 : 374, 375, 376, 377, 378, 379, 380, 381, 382, 383,
11999 : 384, 385, 386, 387, 388, 0, 389, 390, 391, 392,
12000 : 393, 0, 394, 395, 0, 396, 0, 397, 398, 399,
12001 : 400, 401, 402, 0, 403, 404, 0, 0, 405, 406,
12002 : 407, 0, 0, 408, 409, 0, 410, 0, 411, 412,
12003 : 413, 414, 415, 416, 417, 418, 419, 420, 0, 421,
12004 : 422, 423, 424, 425, 426, 427, 428, 0, 429, 430,
12005 : 431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
12006 : 441, 442, 0, 443, 444, 445, 446, 447, 448, 449,
12007 : 450, 451, 452, 453, 454, 0, 455, 456, 0, 457,
12008 : 458, 459, 460, 461, 462, 463, 464, 465, 466, 467,
12009 : 468, 469, 0, 470, 471, 472, 473, 474, 0, 475,
12010 : 476, 477, 478, 479, 0, 480, 481, 482, 483, 0,
12011 : 484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
12012 : 494, 495, 496, 0, 497, 498, 0, 499, 0, 500,
12013 : 501, 502, 503, 504, 0, 505, 506, 0, 0, 507,
12014 : 508, 509, 510, 511, 0, 512, 513, 514, 515, 516,
12015 : 517, 518, 0, 0, 519, 520, 521, 522, 523, 0,
12016 : 0, 524, 525, 526, 527, 528, 529, 530, 0, 531,
12017 : 0, 532, 533, 534, 535, 0, 0, 536, 0, 0,
12018 : 537, 538, 539, 540, 541, 542, 543, 544, 545, 546,
12019 : 547, 548, 549, 550, 551, 552, 553, 554, 555, 556,
12020 : 223, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12021 : 0, 0, 0, 0, 0, 224, 225, 226, 227, 228,
12022 : 229, 230, 231, 0, 233, 234, 235, 0, 0, 0,
12023 : 0, 0, 0, 0, 236, 237, 0, 238, 239, 240,
12024 : 0, 241, 242, 243, 244, 245, 0, 246, 247, 0,
12025 : 248, 249, 250, 251, 252, 0, 0, 253, 254, 255,
12026 : 256, 257, 0, 258, 259, 260, 261, 262, 0, 0,
12027 : 0, 263, 264, 265, 266, 267, 0, 268, 269, 270,
12028 : 0, 271, 272, 273, 274, 275, 276, 0, 0, 277,
12029 : 278, 279, 0, 0, 0, 0, 0, 0, 0, 280,
12030 : 281, 282, 283, 284, 285, 286, 287, 288, 0, 289,
12031 : 0, 290, 291, 292, 293, 294, 295, 0, 296, 297,
12032 : 298, 299, 0, 0, 300, 301, 302, 303, 304, 0,
12033 : 305, 306, 307, 0, 308, 309, 310, 0, 311, 312,
12034 : 313, 314, 315, 316, 317, 318, 319, 0, 320, 0,
12035 : 321, 322, 323, 324, 0, 325, 0, 326, 0, 0,
12036 : 0, 327, 328, 329, 330, 0, 331, 332, 0, 333,
12037 : 334, 0, 335, 336, 337, 338, 4240, 0, 340, 341,
12038 : 342, 343, 0, 344, 345, 346, 347, 348, 349, 0,
12039 : 350, 0, 351, 352, 353, 354, 355, 356, 357, 0,
12040 : 358, 0, 359, 0, 0, 360, 0, 361, 362, 363,
12041 : 364, 365, 0, 0, 366, 367, 0, 368, 0, 0,
12042 : 369, 370, 371, 0, 0, 372, 373, 374, 375, 376,
12043 : 377, 378, 379, 380, 381, 382, 383, 384, 385, 386,
12044 : 387, 388, 0, 389, 390, 391, 392, 393, 0, 394,
12045 : 395, 0, 396, 0, 397, 398, 399, 400, 401, 402,
12046 : 0, 403, 404, 0, 0, 405, 406, 407, 0, 0,
12047 : 408, 409, 0, 410, 0, 411, 412, 413, 414, 415,
12048 : 416, 417, 418, 419, 420, 0, 421, 422, 423, 424,
12049 : 425, 426, 427, 428, 0, 429, 430, 431, 432, 433,
12050 : 434, 435, 436, 437, 438, 439, 440, 441, 442, 0,
12051 : 443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
12052 : 453, 454, 0, 455, 456, 0, 457, 458, 459, 460,
12053 : 461, 462, 463, 464, 465, 466, 467, 468, 469, 0,
12054 : 470, 471, 472, 473, 474, 0, 475, 476, 477, 478,
12055 : 479, 0, 480, 481, 482, 483, 0, 484, 485, 486,
12056 : 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
12057 : 0, 497, 498, 0, 499, 0, 500, 501, 502, 503,
12058 : 504, 0, 505, 506, 0, 0, 507, 508, 509, 510,
12059 : 511, 0, 512, 513, 514, 515, 516, 517, 518, 0,
12060 : 0, 519, 520, 521, 522, 523, 0, 0, 524, 525,
12061 : 526, 527, 528, 529, 530, 0, 531, 0, 532, 533,
12062 : 534, 535, 0, 0, 536, 0, 0, 537, 538, 539,
12063 : 540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
12064 : 550, 551, 552, 553, 554, 555, 556, 1030, 0, 0,
12065 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12066 : 0, 0, 224, 225, 226, 227, 228, 229, 230, 231,
12067 : 0, 233, 234, 235, 0, 0, 0, 0, 0, 0,
12068 : 0, 236, 237, 0, 238, 239, 240, 801, 241, 242,
12069 : 243, 0, 1031, 802, 1032, 1033, 0, 248, 249, 250,
12070 : 251, 252, 0, 0, 253, 254, 1034, 1035, 257, 0,
12071 : 258, 259, 260, 261, 0, 0, 803, 0, 263, 264,
12072 : 265, 266, 267, 804, 268, 269, 270, 0, 271, 272,
12073 : 273, 274, 275, 276, 0, 805, 277, 278, 279, 0,
12074 : 0, 0, 806, 0, 0, 0, 280, 281, 282, 283,
12075 : 284, 285, 1036, 1037, 288, 0, 289, 0, 290, 291,
12076 : 292, 293, 294, 295, 0, 296, 297, 298, 299, 0,
12077 : 0, 300, 301, 1038, 303, 304, 0, 305, 306, 307,
12078 : 0, 308, 309, 310, 0, 311, 312, 313, 314, 0,
12079 : 316, 317, 318, 0, 0, 320, 0, 321, 322, 1039,
12080 : 324, 0, 325, 0, 326, 807, 0, 808, 327, 328,
12081 : 329, 330, 0, 331, 0, 0, 0, 334, 0, 335,
12082 : 336, 337, 338, 339, 809, 340, 341, 342, 343, 2084,
12083 : 344, 345, 346, 347, 348, 349, 0, 350, 810, 2085,
12084 : 352, 353, 354, 355, 1041, 1042, 0, 1043, 0, 359,
12085 : 811, 812, 360, 813, 361, 362, 363, 364, 365, 0,
12086 : 0, 366, 0, 814, 368, 815, 0, 369, 370, 371,
12087 : 0, 0, 372, 373, 374, 375, 376, 377, 378, 379,
12088 : 380, 381, 382, 383, 384, 385, 386, 387, 1044, 816,
12089 : 1045, 390, 391, 392, 0, 0, 394, 395, 817, 396,
12090 : 0, 0, 398, 1046, 400, 401, 402, 0, 403, 404,
12091 : 0, 0, 405, 406, 407, 0, 0, 408, 2087, 818,
12092 : 410, 819, 0, 412, 413, 414, 415, 416, 417, 418,
12093 : 419, 420, 0, 421, 422, 0, 424, 0, 426, 427,
12094 : 428, 0, 429, 430, 431, 432, 433, 434, 435, 436,
12095 : 437, 1047, 439, 440, 441, 442, 0, 443, 444, 445,
12096 : 446, 447, 448, 449, 450, 451, 452, 453, 454, 0,
12097 : 455, 456, 820, 457, 458, 459, 0, 461, 462, 463,
12098 : 464, 465, 466, 467, 468, 469, 0, 470, 471, 472,
12099 : 473, 474, 0, 475, 476, 2088, 478, 479, 821, 480,
12100 : 481, 1049, 483, 0, 484, 485, 486, 487, 488, 489,
12101 : 490, 491, 492, 493, 494, 495, 0, 0, 497, 498,
12102 : 0, 499, 822, 500, 501, 502, 503, 504, 0, 1050,
12103 : 1051, 0, 0, 507, 508, 0, 510, 0, 0, 512,
12104 : 513, 514, 515, 516, 517, 518, 0, 0, 519, 520,
12105 : 521, 522, 523, 0, 0, 524, 525, 526, 527, 528,
12106 : 0, 1052, 2089, 531, 823, 532, 533, 534, 535, 0,
12107 : 0, 536, 0, 0, 537, 538, 539, 540, 541, 542,
12108 : 223, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12109 : 0, 554, 555, 556, 0, 224, 225, 226, 227, 228,
12110 : 229, 230, 231, 0, 233, 234, 235, 0, 0, 0,
12111 : 0, 0, 0, 0, 236, 237, 0, 238, 239, 240,
12112 : 0, 241, 242, 243, 244, 245, 0, 246, 247, 0,
12113 : 248, 249, 250, 251, 252, 0, 0, 253, 254, 255,
12114 : 256, 257, 0, 258, 259, 260, 261, 262, 0, 0,
12115 : 0, 263, 264, 265, 266, 267, 0, 268, 269, 270,
12116 : 0, 271, 272, 273, 274, 275, 276, 0, 0, 277,
12117 : 278, 279, 0, 0, 0, 0, 0, 0, 0, 280,
12118 : 281, 282, 283, 284, 285, 286, 287, 288, 0, 289,
12119 : 0, 290, 291, 292, 293, 294, 295, 0, 296, 297,
12120 : 298, 299, 0, 0, 300, 301, 302, 303, 304, 0,
12121 : 305, 306, 307, 0, 308, 309, 310, 0, 311, 312,
12122 : 313, 314, 315, 316, 317, 318, 319, 0, 320, 0,
12123 : 321, 322, 323, 324, 0, 325, 0, 326, 0, 0,
12124 : 0, 327, 328, 329, 330, 0, 331, 332, 0, 333,
12125 : 334, 0, 335, 336, 337, 338, 339, 0, 340, 341,
12126 : 342, 343, 0, 344, 345, 346, 347, 348, 349, 0,
12127 : 350, 0, 351, 352, 353, 354, 355, 356, 357, 0,
12128 : 358, 0, 359, 0, 0, 360, 0, 361, 362, 363,
12129 : 364, 365, 0, 0, 366, 367, 0, 368, 0, 0,
12130 : 369, 370, 371, 0, 0, 372, 373, 374, 375, 376,
12131 : 377, 378, 379, 380, 381, 382, 383, 384, 385, 386,
12132 : 387, 388, 0, 389, 390, 391, 392, 393, 0, 394,
12133 : 395, 0, 396, 0, 397, 398, 399, 400, 401, 402,
12134 : 0, 403, 404, 0, 0, 405, 406, 407, 0, 0,
12135 : 408, 409, 0, 410, 0, 411, 412, 413, 414, 415,
12136 : 416, 417, 0, 419, 420, 0, 421, 422, 423, 424,
12137 : 425, 426, 427, 428, 0, 429, 430, 431, 432, 433,
12138 : 434, 435, 0, 437, 438, 439, 440, 441, 442, 0,
12139 : 443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
12140 : 453, 454, 0, 455, 456, 0, 457, 458, 459, 460,
12141 : 0, 462, 463, 464, 465, 466, 467, 468, 469, 0,
12142 : 470, 471, 472, 473, 474, 0, 475, 476, 477, 478,
12143 : 479, 0, 480, 481, 482, 483, 0, 484, 485, 486,
12144 : 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
12145 : 0, 497, 498, 0, 499, 0, 500, 501, 502, 503,
12146 : 504, 0, 505, 506, 0, 0, 507, 508, 509, 510,
12147 : 511, 0, 512, 513, 514, 515, 516, 517, 518, 0,
12148 : 0, 519, 520, 521, 522, 523, 0, 0, 524, 525,
12149 : 526, 527, 528, 529, 530, 0, 531, 0, 532, 533,
12150 : 534, 535, 0, 0, 536, 0, 0, 537, 538, 539,
12151 : 540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
12152 : 550, 551, 552, 553, 554, 555, 556, 1030, 0, 0,
12153 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12154 : 0, 0, 224, 225, 226, 227, 228, 229, 230, 231,
12155 : 0, 233, 234, 235, 0, 0, 0, 0, 0, 0,
12156 : 0, 236, 237, 0, 238, 239, 240, 801, 241, 242,
12157 : 243, 0, 1031, 802, 1032, 1033, 0, 248, 249, 250,
12158 : 251, 252, 0, 0, 253, 254, 1034, 1035, 257, 0,
12159 : 258, 259, 260, 261, 0, 0, 803, 0, 263, 264,
12160 : 265, 266, 267, 804, 268, 269, 270, 0, 271, 272,
12161 : 273, 274, 275, 276, 0, 805, 277, 278, 279, 0,
12162 : 0, 0, 806, 0, 0, 0, 280, 281, 282, 283,
12163 : 284, 285, 1036, 1037, 288, 0, 289, 0, 290, 291,
12164 : 292, 293, 294, 295, 0, 296, 297, 298, 299, 0,
12165 : 0, 300, 301, 1038, 303, 304, 0, 305, 306, 307,
12166 : 0, 308, 309, 310, 0, 311, 312, 313, 314, 0,
12167 : 316, 317, 318, 0, 0, 320, 0, 321, 322, 1039,
12168 : 324, 0, 325, 0, 326, 807, 0, 808, 327, 328,
12169 : 329, 330, 0, 331, 0, 0, 0, 334, 0, 335,
12170 : 336, 337, 338, 339, 809, 340, 341, 342, 343, 0,
12171 : 344, 345, 346, 347, 348, 349, 0, 350, 810, 0,
12172 : 352, 353, 354, 355, 1041, 1042, 0, 1043, 0, 359,
12173 : 811, 812, 360, 813, 361, 362, 363, 364, 365, 0,
12174 : 0, 366, 0, 814, 368, 815, 0, 369, 370, 371,
12175 : 0, 0, 372, 373, 374, 375, 376, 377, 378, 379,
12176 : 380, 381, 382, 383, 384, 385, 386, 387, 1044, 816,
12177 : 1045, 390, 391, 392, 0, 0, 394, 395, 817, 396,
12178 : 2182, 0, 398, 1046, 400, 401, 402, 0, 403, 404,
12179 : 0, 0, 405, 406, 407, 0, 0, 408, 0, 818,
12180 : 410, 819, 0, 412, 413, 414, 415, 416, 417, 418,
12181 : 419, 420, 0, 421, 422, 0, 424, 0, 426, 427,
12182 : 428, 0, 429, 430, 431, 432, 433, 434, 435, 436,
12183 : 437, 1047, 439, 440, 441, 442, 0, 443, 444, 445,
12184 : 446, 447, 448, 449, 450, 451, 452, 453, 454, 0,
12185 : 455, 456, 820, 457, 458, 459, 0, 461, 462, 463,
12186 : 464, 465, 466, 467, 468, 469, 0, 470, 471, 472,
12187 : 473, 474, 0, 475, 476, 2088, 478, 479, 821, 480,
12188 : 481, 1049, 483, 0, 484, 485, 486, 487, 488, 489,
12189 : 490, 491, 492, 493, 494, 495, 0, 0, 497, 498,
12190 : 3801, 499, 822, 500, 501, 502, 503, 504, 0, 1050,
12191 : 1051, 0, 0, 507, 508, 0, 510, 0, 0, 512,
12192 : 513, 514, 515, 516, 517, 518, 0, 0, 519, 520,
12193 : 521, 522, 523, 0, 0, 524, 525, 526, 527, 528,
12194 : 0, 1052, 0, 531, 823, 532, 533, 534, 535, 0,
12195 : 0, 536, 0, 0, 537, 538, 539, 540, 541, 542,
12196 : 1030, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12197 : 0, 554, 555, 556, 0, 224, 225, 226, 227, 228,
12198 : 229, 230, 231, 0, 233, 234, 235, 0, 0, 0,
12199 : 0, 0, 0, 0, 236, 237, 0, 238, 239, 240,
12200 : 801, 241, 242, 243, 0, 1031, 802, 1032, 1033, 0,
12201 : 248, 249, 250, 251, 252, 0, 0, 253, 254, 1034,
12202 : 1035, 257, 0, 258, 259, 260, 261, 0, 0, 803,
12203 : 0, 263, 264, 265, 266, 267, 804, 268, 269, 270,
12204 : 0, 271, 272, 273, 274, 275, 276, 0, 805, 277,
12205 : 278, 279, 0, 0, 0, 806, 0, 0, 0, 280,
12206 : 281, 282, 283, 284, 285, 1036, 1037, 288, 0, 289,
12207 : 0, 290, 291, 292, 293, 294, 295, 0, 296, 297,
12208 : 298, 299, 0, 0, 300, 301, 1038, 303, 304, 0,
12209 : 305, 306, 307, 0, 308, 309, 310, 0, 311, 312,
12210 : 313, 314, 0, 316, 317, 318, 0, 0, 320, 0,
12211 : 321, 322, 1039, 324, 0, 325, 0, 326, 807, 0,
12212 : 808, 327, 328, 329, 330, 0, 331, 0, 0, 0,
12213 : 334, 0, 335, 336, 337, 338, 339, 809, 340, 341,
12214 : 342, 343, 0, 344, 345, 346, 347, 348, 349, 0,
12215 : 350, 810, 0, 352, 353, 354, 355, 1041, 1042, 0,
12216 : 1043, 0, 359, 811, 812, 360, 813, 361, 362, 363,
12217 : 364, 365, 0, 0, 366, 0, 814, 368, 815, 0,
12218 : 369, 370, 371, 0, 0, 372, 373, 374, 375, 376,
12219 : 377, 378, 379, 380, 381, 382, 383, 384, 385, 386,
12220 : 387, 1044, 816, 1045, 390, 391, 392, 2253, 0, 394,
12221 : 395, 817, 396, 0, 0, 398, 1046, 400, 401, 402,
12222 : 0, 403, 404, 0, 0, 405, 406, 407, 0, 0,
12223 : 408, 0, 818, 410, 819, 0, 412, 413, 414, 415,
12224 : 416, 417, 418, 419, 420, 0, 421, 422, 0, 424,
12225 : 0, 426, 427, 428, 0, 429, 430, 431, 432, 433,
12226 : 434, 435, 436, 437, 1047, 439, 440, 441, 442, 0,
12227 : 443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
12228 : 453, 454, 0, 455, 456, 820, 457, 458, 459, 0,
12229 : 461, 462, 463, 464, 465, 466, 467, 468, 469, 0,
12230 : 470, 471, 472, 473, 474, 0, 475, 476, 1048, 478,
12231 : 479, 821, 480, 481, 1049, 483, 0, 484, 485, 486,
12232 : 487, 488, 489, 490, 491, 492, 493, 494, 495, 0,
12233 : 0, 497, 498, 0, 499, 822, 500, 501, 502, 503,
12234 : 504, 0, 1050, 1051, 0, 0, 507, 508, 0, 510,
12235 : 0, 0, 512, 513, 514, 515, 516, 517, 518, 0,
12236 : 0, 519, 520, 521, 522, 523, 0, 0, 524, 525,
12237 : 526, 527, 528, 0, 1052, 0, 531, 823, 532, 533,
12238 : 534, 535, 0, 0, 536, 0, 0, 537, 538, 539,
12239 : 540, 541, 542, 1030, 0, 0, 0, 0, 0, 0,
12240 : 0, 0, 0, 0, 554, 555, 556, 0, 224, 225,
12241 : 226, 227, 228, 229, 230, 231, 0, 233, 234, 235,
12242 : 0, 0, 0, 0, 0, 0, 0, 236, 237, 0,
12243 : 238, 239, 240, 801, 241, 242, 243, 0, 1031, 802,
12244 : 1032, 1033, 0, 248, 249, 250, 251, 252, 0, 0,
12245 : 253, 254, 1034, 1035, 257, 0, 258, 259, 260, 261,
12246 : 0, 0, 803, 0, 263, 264, 265, 266, 267, 804,
12247 : 268, 269, 270, 0, 271, 272, 273, 274, 275, 276,
12248 : 0, 805, 277, 278, 279, 0, 0, 0, 806, 0,
12249 : 0, 0, 280, 281, 282, 283, 284, 285, 1036, 1037,
12250 : 288, 0, 289, 0, 290, 291, 292, 293, 294, 295,
12251 : 0, 296, 297, 298, 299, 0, 0, 300, 301, 1038,
12252 : 303, 304, 0, 305, 306, 307, 0, 308, 309, 310,
12253 : 0, 311, 312, 313, 314, 0, 316, 317, 318, 0,
12254 : 0, 320, 0, 321, 322, 1039, 324, 0, 325, 0,
12255 : 326, 807, 0, 808, 327, 328, 329, 330, 0, 331,
12256 : 0, 0, 0, 334, 0, 335, 336, 337, 338, 339,
12257 : 809, 340, 341, 342, 343, 0, 344, 345, 346, 347,
12258 : 348, 349, 0, 350, 810, 0, 352, 353, 354, 355,
12259 : 1041, 1042, 0, 1043, 0, 359, 811, 812, 360, 813,
12260 : 361, 362, 363, 364, 365, 0, 0, 366, 0, 814,
12261 : 368, 815, 0, 369, 370, 371, 0, 0, 372, 373,
12262 : 374, 375, 376, 377, 378, 379, 380, 381, 382, 383,
12263 : 384, 385, 386, 387, 1044, 816, 1045, 390, 391, 392,
12264 : 3616, 0, 394, 395, 817, 396, 0, 0, 398, 1046,
12265 : 400, 401, 402, 0, 403, 404, 0, 0, 405, 406,
12266 : 407, 0, 0, 408, 0, 818, 410, 819, 0, 412,
12267 : 413, 414, 415, 416, 417, 418, 419, 420, 0, 421,
12268 : 422, 0, 424, 0, 426, 427, 428, 0, 429, 430,
12269 : 431, 432, 433, 434, 435, 436, 437, 1047, 439, 440,
12270 : 441, 442, 0, 443, 444, 445, 446, 447, 448, 449,
12271 : 450, 451, 452, 453, 454, 0, 455, 456, 820, 457,
12272 : 458, 459, 0, 461, 462, 463, 464, 465, 466, 467,
12273 : 468, 469, 0, 470, 471, 472, 473, 474, 0, 475,
12274 : 476, 1048, 478, 479, 821, 480, 481, 1049, 483, 0,
12275 : 484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
12276 : 494, 495, 0, 0, 497, 498, 0, 499, 822, 500,
12277 : 501, 502, 503, 504, 0, 1050, 1051, 0, 0, 507,
12278 : 508, 0, 510, 0, 0, 512, 513, 514, 515, 516,
12279 : 517, 518, 0, 0, 519, 520, 521, 522, 523, 0,
12280 : 0, 524, 525, 526, 527, 528, 0, 1052, 0, 531,
12281 : 823, 532, 533, 534, 535, 0, 0, 536, 0, 0,
12282 : 537, 538, 539, 540, 541, 542, 1030, 0, 0, 0,
12283 : 0, 0, 0, 0, 0, 0, 0, 554, 555, 556,
12284 : 0, 224, 225, 226, 227, 228, 229, 230, 231, 0,
12285 : 233, 234, 235, 0, 0, 0, 0, 0, 0, 0,
12286 : 236, 237, 0, 238, 239, 240, 801, 241, 242, 243,
12287 : 0, 1031, 802, 1032, 1033, 0, 248, 249, 250, 251,
12288 : 252, 0, 0, 253, 254, 1034, 1035, 257, 0, 258,
12289 : 259, 260, 261, 0, 0, 803, 0, 263, 264, 265,
12290 : 266, 267, 804, 268, 269, 270, 0, 271, 272, 273,
12291 : 274, 275, 276, 0, 805, 277, 278, 279, 0, 0,
12292 : 0, 806, 0, 0, 0, 280, 281, 282, 283, 284,
12293 : 285, 1036, 1037, 288, 0, 289, 0, 290, 291, 292,
12294 : 293, 294, 295, 0, 296, 297, 298, 299, 0, 0,
12295 : 300, 301, 1038, 303, 304, 0, 305, 306, 307, 0,
12296 : 308, 309, 310, 0, 311, 312, 313, 314, 0, 316,
12297 : 317, 318, 0, 0, 320, 0, 321, 322, 1039, 324,
12298 : 5132, 325, 0, 326, 807, 0, 808, 327, 328, 329,
12299 : 330, 0, 331, 0, 0, 0, 334, 0, 335, 336,
12300 : 337, 338, 339, 809, 340, 341, 342, 343, 0, 344,
12301 : 345, 346, 347, 348, 349, 0, 350, 810, 0, 352,
12302 : 353, 354, 355, 1041, 1042, 0, 1043, 0, 359, 811,
12303 : 812, 360, 813, 361, 362, 363, 364, 365, 0, 0,
12304 : 366, 0, 814, 368, 815, 0, 369, 370, 371, 0,
12305 : 0, 372, 373, 374, 375, 376, 377, 378, 379, 380,
12306 : 381, 382, 383, 384, 385, 386, 387, 1044, 816, 1045,
12307 : 390, 391, 392, 0, 0, 394, 395, 817, 396, 0,
12308 : 0, 398, 1046, 400, 401, 402, 0, 403, 404, 0,
12309 : 0, 405, 406, 407, 0, 0, 408, 0, 818, 410,
12310 : 819, 0, 412, 413, 414, 415, 416, 417, 418, 419,
12311 : 420, 0, 421, 422, 0, 424, 0, 426, 427, 428,
12312 : 0, 429, 430, 431, 432, 433, 434, 435, 436, 437,
12313 : 1047, 439, 440, 441, 442, 0, 443, 444, 445, 446,
12314 : 447, 448, 449, 450, 451, 452, 453, 454, 0, 455,
12315 : 456, 820, 457, 458, 459, 0, 461, 462, 463, 464,
12316 : 465, 466, 467, 468, 469, 0, 470, 471, 472, 473,
12317 : 474, 0, 475, 476, 1048, 478, 479, 821, 480, 481,
12318 : 1049, 483, 0, 484, 485, 486, 487, 488, 489, 490,
12319 : 491, 492, 493, 494, 495, 0, 0, 497, 498, 0,
12320 : 499, 822, 500, 501, 502, 503, 504, 0, 1050, 1051,
12321 : 0, 0, 507, 508, 0, 510, 0, 0, 512, 513,
12322 : 514, 515, 516, 517, 518, 0, 0, 519, 520, 521,
12323 : 522, 523, 0, 0, 524, 525, 526, 527, 528, 0,
12324 : 1052, 0, 531, 823, 532, 533, 534, 535, 0, 0,
12325 : 536, 0, 0, 537, 538, 539, 540, 541, 542, 1030,
12326 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12327 : 554, 555, 556, 0, 224, 225, 226, 227, 228, 229,
12328 : 230, 231, 0, 233, 234, 235, 0, 0, 0, 0,
12329 : 0, 0, 0, 236, 237, 0, 238, 239, 240, 801,
12330 : 241, 242, 243, 0, 1031, 802, 1032, 1033, 0, 248,
12331 : 249, 250, 251, 252, 0, 0, 253, 254, 1034, 1035,
12332 : 257, 0, 258, 259, 260, 261, 0, 0, 803, 0,
12333 : 263, 264, 265, 266, 267, 804, 268, 269, 270, 0,
12334 : 271, 272, 273, 274, 275, 276, 0, 805, 277, 278,
12335 : 279, 0, 0, 0, 806, 0, 0, 0, 280, 281,
12336 : 282, 283, 284, 285, 1036, 1037, 288, 0, 289, 0,
12337 : 290, 291, 292, 293, 294, 295, 0, 296, 297, 298,
12338 : 299, 0, 0, 300, 301, 1038, 303, 304, 0, 305,
12339 : 306, 307, 0, 308, 309, 310, 0, 311, 312, 313,
12340 : 314, 0, 316, 317, 318, 0, 0, 320, 0, 321,
12341 : 322, 1039, 324, 0, 325, 0, 326, 807, 0, 808,
12342 : 327, 328, 329, 330, 0, 331, 0, 0, 0, 334,
12343 : 0, 335, 336, 337, 338, 1040, 809, 340, 341, 342,
12344 : 343, 0, 344, 345, 346, 347, 348, 349, 0, 350,
12345 : 810, 0, 352, 353, 354, 355, 1041, 1042, 0, 1043,
12346 : 0, 359, 811, 812, 360, 813, 361, 362, 363, 364,
12347 : 365, 0, 0, 366, 0, 814, 368, 815, 0, 369,
12348 : 370, 371, 0, 0, 372, 373, 374, 375, 376, 377,
12349 : 378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
12350 : 1044, 816, 1045, 390, 391, 392, 0, 0, 394, 395,
12351 : 817, 396, 0, 0, 398, 1046, 400, 401, 402, 0,
12352 : 403, 404, 0, 0, 405, 406, 407, 0, 0, 408,
12353 : 0, 818, 410, 819, 0, 412, 413, 414, 415, 416,
12354 : 417, 418, 419, 420, 0, 421, 422, 0, 424, 0,
12355 : 426, 427, 428, 0, 429, 430, 431, 432, 433, 434,
12356 : 435, 436, 437, 1047, 439, 440, 441, 442, 0, 443,
12357 : 444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
12358 : 454, 0, 455, 456, 820, 457, 458, 459, 0, 461,
12359 : 462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
12360 : 471, 472, 473, 474, 0, 475, 476, 1048, 478, 479,
12361 : 821, 480, 481, 1049, 483, 0, 484, 485, 486, 487,
12362 : 488, 489, 490, 491, 492, 493, 494, 495, 0, 0,
12363 : 497, 498, 0, 499, 822, 500, 501, 502, 503, 504,
12364 : 0, 1050, 1051, 0, 0, 507, 508, 0, 510, 0,
12365 : 0, 512, 513, 514, 515, 516, 517, 518, 0, 0,
12366 : 519, 520, 521, 522, 523, 0, 0, 524, 525, 526,
12367 : 527, 528, 0, 1052, 0, 531, 823, 532, 533, 534,
12368 : 535, 0, 0, 536, 0, 0, 537, 538, 539, 540,
12369 : 541, 542, 1030, 0, 0, 0, 0, 0, 0, 0,
12370 : 0, 0, 0, 554, 555, 556, 0, 224, 225, 226,
12371 : 227, 228, 229, 230, 231, 0, 233, 234, 235, 0,
12372 : 0, 0, 0, 0, 0, 0, 236, 237, 0, 238,
12373 : 239, 240, 801, 241, 242, 243, 0, 1031, 802, 1032,
12374 : 1033, 0, 248, 249, 250, 251, 252, 0, 0, 253,
12375 : 254, 1034, 1035, 257, 0, 258, 259, 260, 261, 0,
12376 : 0, 803, 0, 263, 264, 265, 266, 267, 804, 268,
12377 : 269, 270, 0, 271, 272, 273, 274, 275, 276, 0,
12378 : 805, 277, 278, 279, 0, 0, 0, 806, 0, 0,
12379 : 0, 280, 281, 282, 283, 284, 285, 1036, 1037, 288,
12380 : 0, 289, 0, 290, 291, 292, 293, 294, 295, 0,
12381 : 296, 297, 298, 299, 0, 0, 300, 301, 1038, 303,
12382 : 304, 0, 305, 306, 307, 0, 308, 309, 310, 0,
12383 : 311, 312, 313, 314, 0, 316, 317, 318, 0, 0,
12384 : 320, 0, 321, 322, 1039, 324, 0, 325, 0, 326,
12385 : 807, 0, 808, 327, 328, 329, 330, 0, 331, 0,
12386 : 0, 0, 334, 0, 335, 336, 337, 338, 1094, 809,
12387 : 340, 341, 342, 343, 0, 344, 345, 346, 347, 348,
12388 : 349, 0, 350, 810, 0, 352, 353, 354, 355, 1041,
12389 : 1042, 0, 1043, 0, 359, 811, 812, 360, 813, 361,
12390 : 362, 363, 364, 365, 0, 0, 366, 0, 814, 368,
12391 : 815, 0, 369, 370, 371, 0, 0, 372, 373, 374,
12392 : 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
12393 : 385, 386, 387, 1044, 816, 1045, 390, 391, 392, 0,
12394 : 0, 394, 395, 817, 396, 0, 0, 398, 1046, 400,
12395 : 401, 402, 0, 403, 404, 0, 0, 405, 406, 407,
12396 : 0, 0, 408, 0, 818, 410, 819, 0, 412, 413,
12397 : 414, 415, 416, 417, 418, 419, 420, 0, 421, 422,
12398 : 0, 424, 0, 426, 427, 428, 0, 429, 430, 431,
12399 : 432, 433, 434, 435, 436, 437, 1047, 439, 440, 441,
12400 : 442, 0, 443, 444, 445, 446, 447, 448, 449, 450,
12401 : 451, 452, 453, 454, 0, 455, 456, 820, 457, 458,
12402 : 459, 0, 461, 462, 463, 464, 465, 466, 467, 468,
12403 : 469, 0, 470, 471, 472, 473, 474, 0, 475, 476,
12404 : 1048, 478, 479, 821, 480, 481, 1049, 483, 0, 484,
12405 : 485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
12406 : 495, 0, 0, 497, 498, 0, 499, 822, 500, 501,
12407 : 502, 503, 504, 0, 1050, 1051, 0, 0, 507, 508,
12408 : 0, 510, 0, 0, 512, 513, 514, 515, 516, 517,
12409 : 518, 0, 0, 519, 520, 521, 522, 523, 0, 0,
12410 : 524, 525, 526, 527, 528, 0, 1052, 0, 531, 823,
12411 : 532, 533, 534, 535, 0, 0, 536, 0, 0, 537,
12412 : 538, 539, 540, 541, 542, 1030, 0, 0, 0, 0,
12413 : 0, 0, 0, 0, 0, 0, 554, 555, 556, 0,
12414 : 224, 225, 226, 227, 228, 229, 230, 231, 0, 233,
12415 : 234, 235, 0, 0, 0, 0, 0, 0, 0, 236,
12416 : 237, 0, 238, 239, 240, 801, 241, 242, 243, 0,
12417 : 1031, 802, 1032, 1033, 0, 248, 249, 250, 251, 252,
12418 : 0, 0, 253, 254, 1034, 1035, 257, 0, 258, 259,
12419 : 260, 261, 0, 0, 803, 0, 263, 264, 265, 266,
12420 : 267, 804, 268, 269, 270, 0, 271, 272, 273, 274,
12421 : 275, 276, 0, 805, 277, 278, 279, 0, 0, 0,
12422 : 806, 0, 0, 0, 280, 281, 282, 283, 284, 285,
12423 : 1036, 1037, 288, 0, 289, 0, 290, 291, 292, 293,
12424 : 294, 295, 0, 296, 297, 298, 299, 0, 0, 300,
12425 : 301, 1038, 303, 304, 0, 305, 306, 307, 0, 308,
12426 : 309, 310, 0, 311, 312, 313, 314, 0, 316, 317,
12427 : 318, 0, 0, 320, 0, 321, 322, 1039, 324, 0,
12428 : 325, 0, 326, 807, 0, 808, 327, 328, 329, 330,
12429 : 0, 331, 0, 0, 0, 334, 0, 335, 336, 337,
12430 : 338, 339, 809, 340, 341, 342, 343, 0, 344, 345,
12431 : 346, 347, 348, 349, 0, 350, 810, 0, 352, 353,
12432 : 354, 355, 1041, 1042, 0, 1043, 0, 359, 811, 812,
12433 : 360, 813, 361, 362, 363, 364, 365, 0, 0, 366,
12434 : 0, 814, 368, 815, 0, 369, 370, 371, 0, 0,
12435 : 372, 373, 374, 375, 376, 377, 378, 379, 380, 381,
12436 : 382, 383, 384, 385, 386, 387, 1044, 816, 1045, 390,
12437 : 391, 392, 0, 0, 394, 395, 817, 396, 0, 0,
12438 : 398, 1046, 400, 401, 402, 0, 403, 404, 0, 0,
12439 : 405, 406, 407, 0, 0, 408, 0, 818, 410, 819,
12440 : 0, 412, 413, 414, 415, 416, 417, 418, 419, 420,
12441 : 0, 421, 422, 0, 424, 0, 426, 427, 428, 0,
12442 : 429, 430, 431, 432, 433, 434, 435, 436, 437, 1047,
12443 : 439, 440, 441, 442, 0, 443, 444, 445, 446, 447,
12444 : 448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
12445 : 820, 457, 458, 459, 0, 461, 462, 463, 464, 465,
12446 : 466, 467, 468, 469, 0, 470, 471, 472, 473, 474,
12447 : 0, 475, 476, 1048, 478, 479, 821, 480, 481, 1049,
12448 : 483, 0, 484, 485, 486, 487, 488, 489, 490, 491,
12449 : 492, 493, 494, 495, 0, 0, 497, 498, 0, 499,
12450 : 822, 500, 501, 502, 503, 504, 0, 1050, 1051, 0,
12451 : 0, 507, 508, 0, 510, 0, 0, 512, 513, 514,
12452 : 515, 516, 517, 518, 0, 0, 519, 520, 521, 522,
12453 : 523, 0, 0, 524, 525, 526, 527, 528, 0, 1052,
12454 : 0, 531, 823, 532, 533, 534, 535, 0, 0, 536,
12455 : 0, 0, 537, 538, 539, 540, 541, 542, 1030, 0,
12456 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 554,
12457 : 555, 556, 0, 224, 225, 226, 227, 228, 229, 230,
12458 : 231, 0, 233, 234, 235, 0, 0, 0, 0, 0,
12459 : 0, 0, 236, 237, 0, 238, 239, 240, 801, 241,
12460 : 242, 243, 0, 1031, 802, 1032, 1033, 0, 248, 249,
12461 : 250, 251, 252, 0, 0, 253, 254, 1034, 1035, 257,
12462 : 0, 258, 259, 260, 261, 0, 0, 803, 0, 263,
12463 : 264, 265, 266, 267, 804, 268, 269, 270, 0, 271,
12464 : 272, 273, 274, 275, 276, 0, 805, 277, 278, 279,
12465 : 0, 0, 0, 806, 0, 0, 0, 280, 281, 282,
12466 : 283, 284, 285, 1036, 1037, 288, 0, 289, 0, 290,
12467 : 291, 292, 293, 294, 295, 0, 296, 297, 298, 299,
12468 : 0, 0, 300, 301, 1038, 303, 304, 0, 305, 306,
12469 : 307, 0, 308, 309, 310, 0, 311, 312, 313, 314,
12470 : 0, 316, 317, 318, 0, 0, 320, 0, 321, 322,
12471 : 1039, 324, 0, 325, 0, 326, 807, 0, 808, 327,
12472 : 328, 329, 330, 0, 331, 0, 0, 0, 334, 0,
12473 : 335, 336, 337, 338, 339, 809, 340, 341, 342, 343,
12474 : 0, 344, 345, 346, 347, 348, 349, 0, 350, 810,
12475 : 0, 352, 353, 354, 355, 1041, 1042, 0, 1043, 0,
12476 : 359, 811, 812, 360, 813, 361, 362, 363, 364, 365,
12477 : 0, 0, 366, 0, 814, 368, 815, 0, 369, 370,
12478 : 371, 0, 0, 372, 373, 374, 375, 376, 377, 378,
12479 : 379, 380, 381, 382, 383, 384, 385, 386, 387, 1044,
12480 : 816, 1045, 390, 391, 392, 0, 0, 394, 395, 817,
12481 : 396, 0, 0, 398, 1046, 400, 401, 402, 0, 403,
12482 : 404, 0, 0, 405, 406, 407, 0, 0, 408, 0,
12483 : 818, 410, 819, 0, 412, 413, 414, 415, 416, 417,
12484 : 418, 419, 420, 0, 421, 422, 0, 424, 0, 426,
12485 : 427, 428, 0, 429, 430, 431, 432, 433, 434, 435,
12486 : 436, 437, 1047, 439, 440, 441, 442, 0, 443, 444,
12487 : 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
12488 : 0, 455, 456, 820, 457, 458, 459, 0, 461, 462,
12489 : 463, 464, 465, 466, 467, 468, 469, 0, 470, 471,
12490 : 472, 473, 474, 0, 475, 476, 2088, 478, 479, 821,
12491 : 480, 481, 1049, 483, 0, 484, 485, 486, 487, 488,
12492 : 489, 490, 491, 492, 493, 494, 495, 0, 0, 497,
12493 : 498, 0, 499, 822, 500, 501, 502, 503, 504, 0,
12494 : 1050, 1051, 0, 0, 507, 508, 0, 510, 0, 0,
12495 : 512, 513, 514, 515, 516, 517, 518, 0, 0, 519,
12496 : 520, 521, 522, 523, 0, 0, 524, 525, 526, 527,
12497 : 528, 0, 1052, 0, 531, 823, 532, 533, 534, 535,
12498 : 0, 0, 536, 0, 0, 537, 538, 539, 540, 541,
12499 : 542, 1030, 0, 0, 0, 0, 0, 0, 0, 0,
12500 : 0, 0, 554, 555, 556, 0, 224, 225, 226, 227,
12501 : 228, 229, 230, 231, 0, 233, 234, 235, 0, 0,
12502 : 0, 0, 0, 0, 0, 236, 237, 0, 238, 239,
12503 : 240, 801, 241, 242, 243, 0, 1031, 802, 1032, 1033,
12504 : 0, 248, 249, 250, 251, 252, 0, 0, 253, 254,
12505 : 1034, 1035, 257, 0, 258, 259, 260, 261, 0, 0,
12506 : 803, 0, 263, 264, 265, 266, 267, 804, 268, 269,
12507 : 270, 0, 271, 272, 273, 274, 275, 276, 0, 805,
12508 : 277, 278, 279, 0, 0, 0, 806, 0, 0, 0,
12509 : 280, 281, 282, 283, 284, 285, 1036, 1037, 288, 0,
12510 : 289, 0, 290, 291, 292, 293, 294, 295, 0, 296,
12511 : 297, 298, 299, 0, 0, 300, 301, 1038, 303, 304,
12512 : 0, 305, 306, 307, 0, 308, 309, 310, 0, 311,
12513 : 312, 313, 314, 0, 316, 317, 318, 0, 0, 320,
12514 : 0, 321, 322, 1039, 324, 0, 325, 0, 326, 807,
12515 : 0, 808, 327, 328, 329, 330, 0, 331, 0, 0,
12516 : 0, 334, 0, 335, 336, 337, 338, 339, 809, 340,
12517 : 341, 342, 343, 0, 344, 345, 346, 347, 348, 349,
12518 : 0, 350, 810, 0, 352, 353, 354, 355, 1041, 1042,
12519 : 0, 1043, 0, 359, 811, 812, 360, 813, 361, 362,
12520 : 363, 364, 365, 0, 0, 366, 0, 814, 368, 815,
12521 : 0, 369, 370, 371, 0, 0, 372, 373, 374, 375,
12522 : 376, 377, 378, 379, 380, 381, 382, 383, 384, 385,
12523 : 386, 387, 1044, 816, 1045, 390, 391, 392, 0, 0,
12524 : 394, 395, 817, 396, 0, 0, 398, 1046, 400, 401,
12525 : 402, 0, 403, 404, 0, 0, 405, 406, 407, 0,
12526 : 0, 408, 0, 818, 410, 819, 0, 412, 413, 414,
12527 : 415, 416, 417, 418, 419, 420, 0, 421, 422, 0,
12528 : 424, 0, 426, 427, 428, 0, 429, 430, 431, 432,
12529 : 433, 434, 435, 436, 437, 1047, 439, 440, 441, 442,
12530 : 0, 443, 444, 445, 446, 447, 448, 449, 450, 451,
12531 : 452, 453, 454, 0, 455, 456, 820, 457, 458, 459,
12532 : 0, 461, 462, 463, 464, 465, 466, 467, 468, 469,
12533 : 0, 470, 471, 472, 473, 474, 0, 475, 476, 0,
12534 : 478, 479, 821, 480, 481, 1049, 483, 0, 484, 485,
12535 : 486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
12536 : 0, 0, 497, 498, 0, 499, 822, 500, 501, 502,
12537 : 503, 504, 0, 1050, 1051, 0, 0, 507, 508, 0,
12538 : 510, 0, 0, 512, 513, 514, 515, 516, 517, 518,
12539 : 0, 0, 519, 520, 521, 522, 523, 0, 0, 524,
12540 : 525, 526, 527, 528, 0, 1052, 0, 531, 823, 532,
12541 : 533, 534, 535, 0, 0, 536, 0, 0, 537, 538,
12542 : 539, 540, 541, 542, 1030, 0, 0, 0, 0, 0,
12543 : 0, 0, 0, 0, 0, 554, 555, 556, 0, 224,
12544 : 225, 226, 227, 228, 229, 230, 231, 0, 233, 234,
12545 : 235, 0, 0, 0, 0, 0, 0, 0, 236, 237,
12546 : 0, 238, 239, 240, 801, 241, 242, 243, 0, 0,
12547 : 802, 0, 0, 0, 248, 249, 250, 251, 252, 0,
12548 : 0, 253, 254, 0, 0, 257, 0, 258, 259, 260,
12549 : 261, 0, 0, 803, 0, 263, 264, 265, 266, 267,
12550 : 804, 268, 269, 270, 0, 271, 272, 273, 274, 275,
12551 : 276, 0, 805, 277, 278, 279, 0, 0, 0, 806,
12552 : 0, 0, 0, 280, 281, 282, 283, 284, 285, 0,
12553 : 0, 288, 0, 289, 0, 290, 291, 292, 293, 294,
12554 : 295, 0, 296, 297, 298, 299, 0, 0, 300, 301,
12555 : 302, 303, 304, 0, 305, 306, 307, 0, 308, 309,
12556 : 310, 0, 311, 312, 313, 314, 0, 316, 317, 318,
12557 : 0, 0, 320, 0, 321, 322, 0, 324, 0, 325,
12558 : 0, 326, 807, 0, 808, 327, 328, 329, 330, 0,
12559 : 331, 0, 0, 0, 334, 0, 335, 336, 337, 338,
12560 : 339, 809, 340, 341, 342, 343, 0, 344, 345, 346,
12561 : 347, 348, 349, 0, 350, 810, 0, 352, 353, 354,
12562 : 355, 0, 0, 0, 0, 0, 359, 811, 812, 360,
12563 : 813, 361, 362, 363, 364, 365, 0, 0, 366, 0,
12564 : 814, 368, 815, 0, 369, 370, 371, 0, 0, 372,
12565 : 373, 374, 375, 376, 377, 378, 379, 380, 381, 382,
12566 : 383, 384, 385, 386, 387, 0, 816, 0, 390, 391,
12567 : 392, 0, 0, 394, 395, 817, 396, 0, 0, 398,
12568 : 0, 400, 401, 402, 0, 403, 404, 0, 0, 405,
12569 : 406, 407, 0, 0, 408, 0, 818, 410, 819, 0,
12570 : 412, 413, 414, 415, 416, 417, 418, 419, 420, 0,
12571 : 421, 422, 0, 424, 0, 426, 427, 428, 0, 429,
12572 : 430, 431, 432, 433, 434, 435, 436, 437, 0, 439,
12573 : 440, 441, 442, 0, 443, 444, 445, 446, 447, 448,
12574 : 449, 450, 451, 452, 453, 454, 0, 455, 456, 820,
12575 : 457, 458, 459, 0, 461, 462, 463, 464, 465, 466,
12576 : 467, 468, 469, 0, 470, 471, 472, 473, 474, 0,
12577 : 475, 476, 0, 478, 479, 821, 480, 481, 0, 483,
12578 : 0, 484, 485, 486, 487, 488, 489, 490, 491, 492,
12579 : 493, 494, 495, 0, 0, 497, 498, 0, 499, 822,
12580 : 500, 501, 502, 503, 504, 0, 0, 0, 0, 0,
12581 : 507, 508, 0, 510, 0, 0, 512, 513, 514, 515,
12582 : 516, 517, 518, 0, 0, 519, 520, 521, 522, 523,
12583 : 0, 0, 524, 525, 526, 527, 528, 0, 0, 0,
12584 : 531, 823, 532, 533, 534, 535, 0, 0, 536, 0,
12585 : 0, 537, 538, 539, 540, 541, 542, 4800, 0, 0,
12586 : 0, 0, 0, 0, 0, 0, 0, 0, 554, 555,
12587 : 556, 0, 224, 225, 226, 227, 228, 229, 230, 231,
12588 : 0, 233, 234, 235, 0, 0, 0, 0, 0, 0,
12589 : 0, 236, 237, 0, 238, 239, 240, 0, 241, 242,
12590 : 243, 0, 0, 0, 0, 0, 0, 248, 249, 250,
12591 : 251, 252, 0, 0, 253, 254, 0, 0, 257, 0,
12592 : 258, 259, 260, 261, 0, 0, 0, 0, 263, 264,
12593 : 265, 266, 267, 0, 268, 269, 270, 0, 271, 272,
12594 : 273, 274, 275, 276, 0, 0, 277, 278, 279, 0,
12595 : 0, 0, 0, 0, 0, 0, 280, 281, 282, 283,
12596 : 284, 285, 0, 0, 288, 0, 289, 0, 290, 291,
12597 : 292, 293, 294, 295, 0, 296, 297, 298, 299, 0,
12598 : 0, 300, 301, 302, 303, 304, 0, 305, 306, 307,
12599 : 0, 308, 309, 310, 0, 311, 312, 313, 314, 0,
12600 : 316, 317, 318, 0, 0, 320, 0, 321, 322, 0,
12601 : 324, 0, 325, 0, 326, 0, 0, 0, 327, 328,
12602 : 329, 330, 0, 331, 0, 0, 0, 334, 0, 335,
12603 : 336, 337, 338, 339, 0, 340, 341, 342, 343, 0,
12604 : 344, 345, 346, 347, 348, 349, 0, 350, 0, 0,
12605 : 352, 353, 354, 355, 0, 0, 0, 0, 0, 359,
12606 : 0, 0, 360, 0, 361, 362, 363, 364, 365, 0,
12607 : 0, 366, 0, 0, 368, 0, 0, 369, 370, 371,
12608 : 0, 0, 372, 373, 374, 375, 376, 377, 378, 379,
12609 : 380, 381, 382, 383, 384, 385, 386, 387, 0, 0,
12610 : 0, 390, 391, 392, 0, 0, 394, 395, 0, 396,
12611 : 0, 0, 398, 0, 400, 401, 402, 0, 403, 404,
12612 : 0, 0, 405, 406, 407, 0, 0, 408, 0, 0,
12613 : 410, 0, 0, 412, 413, 414, 415, 416, 417, 418,
12614 : 419, 420, 0, 421, 422, 0, 424, 0, 426, 427,
12615 : 428, 0, 429, 430, 431, 432, 433, 434, 435, 436,
12616 : 437, 0, 439, 440, 441, 442, 0, 443, 444, 445,
12617 : 446, 447, 448, 449, 450, 451, 452, 453, 454, 0,
12618 : 455, 456, 0, 457, 458, 459, 0, 461, 462, 463,
12619 : 464, 465, 466, 467, 468, 469, 0, 470, 471, 472,
12620 : 473, 474, 0, 475, 476, 0, 478, 479, 0, 480,
12621 : 481, 0, 483, 0, 484, 485, 486, 487, 488, 489,
12622 : 490, 491, 492, 493, 494, 495, 0, 0, 497, 498,
12623 : 0, 499, 0, 500, 501, 502, 503, 504, 0, 0,
12624 : 0, 0, 0, 507, 508, 0, 510, 0, 0, 512,
12625 : 513, 514, 515, 516, 517, 518, 0, 0, 519, 520,
12626 : 521, 522, 523, 0, 0, 524, 525, 526, 527, 528,
12627 : 0, 0, 0, 531, 0, 532, 533, 534, 535, 0,
12628 : 0, 536, 0, 0, 537, 538, 539, 540, 541, 542,
12629 : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12630 : 0, 554, 555, 556
12631 : };
12632 :
12633 : static const yytype_int16 yycheck[] =
12634 : {
12635 : 16, 0, 0, 0, 0, 50, 197, 618, 585, 25,
12636 : 0, 888, 202, 1116, 1501, 1138, 21, 794, 857, 7,
12637 : 744, 20, 27, 696, 697, 698, 14, 35, 43, 702,
12638 : 746, 44, 658, 202, 1048, 1078, 904, 180, 1388, 889,
12639 : 1311, 2400, 831, 775, 1908, 768, 2754, 1432, 188, 913,
12640 : 1425, 2252, 769, 664, 1562, 1051, 1341, 12, 618, 1642,
12641 : 994, 206, 2588, 2304, 1169, 641, 2924, 1036, 1037, 20,
12642 : 2897, 1844, 1437, 753, 219, 888, 3215, 1046, 654, 2413,
12643 : 1448, 22, 1432, 896, 2092, 2093, 3171, 3466, 17, 2794,
12644 : 1361, 2325, 2742, 906, 35, 2949, 576, 2951, 3190, 3401,
12645 : 968, 2564, 3509, 1823, 972, 3117, 3125, 3561, 2358, 977,
12646 : 2360, 2803, 2746, 3125, 2364, 3505, 0, 3202, 4039, 987,
12647 : 843, 3509, 653, 2373, 2374, 2375, 2744, 2745, 167, 3793,
12648 : 663, 3802, 1806, 1001, 4267, 182, 1911, 1867, 749, 182,
12649 : 3436, 2776, 34, 3780, 2794, 3736, 4372, 1655, 628, 41,
12650 : 4428, 0, 4270, 2677, 0, 0, 1427, 1740, 0, 0,
12651 : 1525, 1417, 1309, 1531, 1532, 0, 0, 0, 0, 0,
12652 : 0, 0, 4221, 3430, 1366, 49, 3790, 40, 3188, 841,
12653 : 2813, 4388, 3136, 4390, 3485, 1034, 1035, 4447, 3779, 749,
12654 : 791, 791, 4570, 5, 917, 4582, 1045, 3364, 9, 214,
12655 : 0, 0, 2403, 56, 3435, 9, 3437, 5, 56, 0,
12656 : 35, 4778, 5, 49, 11, 0, 0, 86, 9, 1366,
12657 : 4269, 111, 5, 42, 11, 5, 4486, 71, 2092, 1198,
12658 : 1199, 5, 1228, 0, 26, 26, 56, 5, 78, 13,
12659 : 14, 4719, 9, 40, 5, 13, 14, 22, 5, 1218,
12660 : 5, 105, 157, 2742, 42, 5, 5, 4492, 4493, 26,
12661 : 137, 26, 169, 983, 5, 132, 5, 56, 73, 5,
12662 : 4685, 4686, 13, 14, 71, 5, 144, 1116, 1067, 999,
12663 : 56, 39, 162, 2807, 162, 140, 80, 960, 65, 9,
12664 : 162, 3856, 3857, 5, 3859, 3860, 3861, 162, 162, 111,
12665 : 5, 162, 2899, 106, 163, 2794, 83, 5, 39, 2510,
12666 : 4, 2512, 3, 4, 5, 9, 264, 119, 9, 261,
12667 : 73, 4, 5, 104, 116, 261, 9, 143, 122, 56,
12668 : 83, 4, 5, 143, 188, 1380, 9, 249, 1187, 1188,
12669 : 29, 3, 56, 285, 267, 83, 56, 202, 118, 285,
12670 : 162, 4, 299, 113, 26, 130, 9, 27, 4516, 296,
12671 : 156, 33, 162, 162, 141, 1214, 332, 336, 30, 31,
12672 : 11, 162, 349, 111, 177, 5118, 1108, 162, 162, 152,
12673 : 56, 387, 159, 11, 157, 185, 185, 350, 26, 115,
12674 : 11, 154, 73, 255, 185, 162, 152, 1331, 22, 40,
12675 : 185, 185, 83, 90, 11, 1477, 198, 410, 4975, 387,
12676 : 1482, 306, 40, 389, 36, 158, 585, 272, 185, 410,
12677 : 111, 4459, 1620, 455, 319, 426, 26, 4805, 305, 429,
12678 : 71, 420, 1296, 33, 237, 26, 468, 240, 583, 4572,
12679 : 4647, 4701, 33, 71, 589, 162, 1644, 190, 208, 222,
12680 : 345, 1598, 389, 4571, 323, 1294, 432, 602, 20, 73,
12681 : 1299, 1300, 4500, 466, 470, 83, 222, 162, 637, 470,
12682 : 470, 324, 5, 1487, 1546, 466, 324, 73, 1550, 205,
12683 : 116, 168, 336, 113, 73, 248, 162, 125, 1099, 283,
12684 : 263, 251, 470, 470, 356, 432, 292, 466, 120, 161,
12685 : 466, 163, 414, 466, 324, 1116, 130, 263, 5251, 1085,
12686 : 104, 434, 203, 251, 212, 1247, 318, 185, 466, 466,
12687 : 297, 375, 376, 387, 466, 1248, 679, 680, 681, 199,
12688 : 466, 684, 685, 686, 225, 324, 352, 340, 3135, 1099,
12689 : 104, 694, 352, 204, 256, 56, 306, 402, 324, 565,
12690 : 342, 1822, 235, 1276, 104, 238, 1601, 425, 425, 1844,
12691 : 400, 466, 1173, 470, 29, 455, 1405, 1852, 1144, 568,
12692 : 568, 568, 568, 256, 349, 387, 1415, 3596, 568, 1155,
12693 : 5058, 143, 387, 256, 3596, 1118, 466, 381, 4746, 466,
12694 : 1403, 104, 470, 1864, 1170, 376, 415, 324, 470, 387,
12695 : 4878, 470, 618, 619, 4982, 470, 5173, 466, 3620, 470,
12696 : 324, 376, 466, 1173, 324, 373, 408, 470, 5033, 664,
12697 : 464, 419, 470, 1355, 468, 3927, 403, 415, 1496, 668,
12698 : 466, 1499, 321, 408, 387, 564, 366, 367, 431, 1910,
12699 : 410, 466, 373, 455, 447, 2846, 457, 458, 1461, 1488,
12700 : 470, 794, 1491, 1492, 3512, 1778, 468, 1507, 3954, 452,
12701 : 336, 465, 3747, 466, 663, 462, 457, 458, 466, 469,
12702 : 469, 4804, 677, 466, 679, 462, 681, 4795, 469, 4914,
12703 : 1291, 470, 687, 466, 469, 469, 466, 359, 1299, 1300,
12704 : 457, 458, 466, 708, 470, 711, 1560, 3789, 466, 22,
12705 : 1326, 1744, 469, 691, 3871, 466, 387, 662, 3965, 466,
12706 : 470, 466, 3969, 664, 26, 464, 466, 466, 4019, 468,
12707 : 5098, 737, 3953, 5110, 3955, 466, 431, 466, 1875, 745,
12708 : 466, 1291, 748, 749, 750, 1574, 783, 457, 458, 930,
12709 : 783, 1710, 1785, 470, 934, 421, 466, 452, 1349, 1349,
12710 : 4315, 1794, 346, 470, 769, 1475, 470, 4678, 420, 359,
12711 : 470, 466, 1424, 457, 458, 934, 457, 458, 359, 387,
12712 : 332, 466, 408, 387, 457, 458, 429, 3427, 3, 919,
12713 : 3430, 5041, 412, 798, 457, 458, 785, 785, 785, 785,
12714 : 352, 387, 3033, 144, 5054, 785, 116, 1517, 387, 452,
12715 : 104, 5179, 470, 5010, 457, 458, 2171, 130, 2816, 470,
12716 : 2818, 4265, 376, 324, 164, 3769, 2201, 3451, 459, 460,
12717 : 461, 462, 773, 165, 3834, 840, 376, 285, 3162, 457,
12718 : 458, 459, 460, 461, 462, 272, 1685, 1686, 459, 460,
12719 : 461, 462, 249, 4976, 5, 3, 173, 5, 3706, 3099,
12720 : 457, 458, 459, 460, 461, 462, 321, 82, 5236, 3509,
12721 : 4978, 26, 266, 376, 3497, 24, 3693, 332, 162, 334,
12722 : 296, 111, 47, 1593, 2647, 2648, 5, 310, 198, 2652,
12723 : 2744, 2745, 2746, 2248, 747, 69, 45, 162, 751, 5149,
12724 : 349, 1468, 65, 237, 140, 349, 272, 32, 376, 3100,
12725 : 3101, 785, 776, 164, 281, 5183, 5184, 4956, 410, 134,
12726 : 329, 76, 2104, 3336, 22, 3, 2689, 2690, 268, 84,
12727 : 28, 106, 22, 163, 159, 8, 5, 392, 4977, 152,
12728 : 163, 22, 15, 16, 17, 2191, 785, 28, 3427, 785,
12729 : 785, 3430, 3365, 785, 785, 173, 1678, 112, 106, 833,
12730 : 785, 785, 785, 785, 785, 785, 785, 2104, 281, 3483,
12731 : 34, 105, 104, 389, 466, 2452, 1119, 5100, 141, 1122,
12732 : 4561, 1124, 349, 1126, 3215, 1128, 222, 289, 1651, 1132,
12733 : 5206, 5099, 4370, 56, 90, 3620, 159, 3814, 466, 422,
12734 : 409, 342, 177, 5271, 82, 318, 340, 285, 266, 222,
12735 : 892, 893, 344, 228, 110, 180, 432, 268, 466, 144,
12736 : 185, 470, 252, 178, 2117, 3, 470, 4424, 368, 177,
12737 : 3509, 249, 130, 4411, 189, 376, 349, 4329, 2758, 2804,
12738 : 130, 80, 344, 470, 261, 377, 4424, 111, 144, 130,
12739 : 199, 448, 270, 111, 188, 5178, 221, 135, 22, 116,
12740 : 24, 284, 237, 3758, 28, 240, 281, 4431, 285, 33,
12741 : 34, 35, 466, 37, 80, 416, 40, 41, 380, 43,
12742 : 382, 45, 376, 122, 2088, 1791, 1792, 4373, 429, 237,
12743 : 264, 376, 240, 1099, 1013, 2232, 65, 414, 408, 1821,
12744 : 413, 1823, 2467, 387, 470, 256, 266, 1829, 2772, 22,
12745 : 1116, 452, 190, 1835, 1836, 1837, 122, 249, 3758, 3117,
12746 : 2257, 164, 387, 1845, 1846, 466, 3, 3125, 1850, 1118,
12747 : 4377, 1747, 355, 111, 297, 4382, 4763, 256, 4385, 280,
12748 : 116, 198, 111, 1121, 1150, 1123, 23, 1125, 1861, 1127,
12749 : 1716, 1129, 1130, 1131, 1755, 4816, 80, 4286, 1136, 4813,
12750 : 4524, 116, 1728, 1684, 379, 340, 381, 1173, 1784, 2306,
12751 : 4797, 455, 1788, 1739, 1790, 130, 111, 1793, 4260, 4254,
12752 : 410, 4762, 22, 281, 468, 4033, 249, 256, 466, 354,
12753 : 80, 281, 340, 5104, 5105, 268, 414, 166, 122, 4803,
12754 : 281, 234, 336, 1673, 4582, 82, 464, 173, 272, 287,
12755 : 468, 252, 1247, 368, 3212, 4796, 1737, 130, 314, 113,
12756 : 318, 279, 198, 142, 188, 189, 190, 191, 318, 193,
12757 : 4074, 1754, 122, 197, 171, 199, 303, 318, 202, 281,
12758 : 403, 375, 376, 1249, 283, 209, 342, 211, 211, 466,
12759 : 214, 349, 1258, 167, 218, 157, 220, 2394, 135, 349,
12760 : 272, 324, 8, 26, 167, 11, 1272, 186, 349, 15,
12761 : 16, 17, 447, 251, 334, 1842, 318, 283, 256, 3758,
12762 : 376, 38, 251, 249, 342, 1291, 349, 256, 1294, 1295,
12763 : 130, 334, 1321, 1299, 1300, 49, 4676, 1334, 1335, 447,
12764 : 1337, 1334, 1335, 125, 1337, 127, 113, 349, 185, 1468,
12765 : 380, 225, 382, 190, 208, 4679, 251, 4609, 376, 318,
12766 : 416, 318, 225, 401, 4688, 3965, 157, 5238, 297, 3969,
12767 : 123, 409, 392, 429, 412, 4017, 231, 168, 395, 294,
12768 : 133, 115, 381, 312, 111, 318, 1351, 390, 102, 375,
12769 : 349, 408, 57, 396, 185, 4799, 452, 251, 416, 283,
12770 : 65, 111, 125, 3987, 2070, 389, 342, 408, 281, 3993,
12771 : 466, 429, 2647, 2648, 3982, 381, 349, 2652, 231, 4983,
12772 : 453, 454, 455, 409, 457, 458, 459, 460, 461, 462,
12773 : 387, 455, 329, 283, 452, 261, 4643, 2200, 3851, 466,
12774 : 464, 336, 466, 467, 468, 318, 470, 310, 466, 2276,
12775 : 287, 4703, 306, 185, 2689, 2690, 4708, 4709, 320, 285,
12776 : 114, 125, 173, 127, 466, 125, 183, 127, 178, 251,
12777 : 270, 205, 408, 210, 403, 280, 349, 466, 85, 261,
12778 : 3680, 336, 387, 197, 3684, 3685, 150, 3687, 414, 256,
12779 : 150, 2280, 329, 4462, 164, 467, 332, 381, 470, 2288,
12780 : 4462, 177, 2291, 4841, 358, 125, 380, 127, 382, 1713,
12781 : 62, 63, 249, 2276, 2507, 4872, 210, 380, 4560, 382,
12782 : 127, 1400, 322, 323, 379, 195, 3965, 181, 281, 256,
12783 : 3969, 381, 406, 3724, 4872, 249, 327, 374, 249, 1505,
12784 : 376, 251, 5106, 406, 349, 1511, 2309, 5111, 22, 349,
12785 : 455, 406, 4881, 4882, 28, 249, 2117, 1522, 82, 422,
12786 : 225, 237, 268, 468, 401, 318, 379, 280, 3759, 306,
12787 : 281, 2668, 409, 1714, 429, 412, 431, 2674, 1668, 2342,
12788 : 3017, 113, 272, 1787, 3768, 1725, 318, 251, 114, 2914,
12789 : 322, 113, 256, 406, 2261, 2262, 256, 261, 2265, 123,
12790 : 280, 261, 332, 103, 0, 1724, 1725, 318, 21, 133,
12791 : 2271, 466, 469, 5177, 27, 352, 429, 349, 431, 334,
12792 : 3343, 3344, 3345, 3346, 338, 157, 3349, 3350, 3351, 3352,
12793 : 3353, 3354, 3355, 3356, 3357, 3358, 349, 3451, 3596, 563,
12794 : 466, 261, 4980, 1477, 4548, 569, 3316, 571, 1482, 339,
12795 : 574, 2321, 576, 466, 578, 181, 130, 167, 352, 1625,
12796 : 192, 585, 3620, 1629, 340, 281, 590, 323, 592, 349,
12797 : 192, 408, 2198, 5237, 3825, 599, 3827, 392, 408, 2340,
12798 : 2110, 470, 3405, 3406, 270, 157, 252, 253, 91, 91,
12799 : 11, 113, 310, 349, 281, 281, 332, 429, 299, 623,
12800 : 281, 152, 318, 414, 628, 5269, 157, 179, 5272, 633,
12801 : 4518, 392, 1546, 637, 408, 225, 1550, 249, 165, 251,
12802 : 452, 114, 3037, 1842, 234, 343, 3259, 249, 364, 251,
12803 : 394, 318, 318, 657, 394, 235, 154, 318, 238, 2409,
12804 : 404, 2408, 4777, 332, 404, 334, 2428, 453, 454, 455,
12805 : 71, 457, 458, 459, 460, 461, 462, 281, 376, 305,
12806 : 163, 163, 2432, 2433, 2434, 2435, 260, 2556, 349, 4811,
12807 : 4370, 222, 5110, 73, 2444, 342, 342, 4377, 2851, 332,
12808 : 333, 322, 4382, 83, 708, 4385, 208, 333, 181, 253,
12809 : 314, 194, 194, 188, 318, 251, 214, 721, 2480, 723,
12810 : 256, 231, 197, 392, 422, 1754, 209, 209, 349, 376,
12811 : 376, 4411, 263, 322, 5143, 212, 219, 219, 4595, 743,
12812 : 744, 103, 746, 747, 4424, 349, 1764, 751, 1766, 251,
12813 : 1768, 29, 1770, 4309, 1772, 421, 1801, 2267, 1776, 2462,
12814 : 349, 765, 245, 245, 5182, 769, 422, 247, 304, 416,
12815 : 416, 775, 429, 4044, 1755, 53, 1814, 1806, 1806, 1806,
12816 : 1806, 310, 786, 429, 266, 265, 1806, 163, 1834, 231,
12817 : 380, 4775, 382, 342, 798, 140, 158, 3195, 342, 429,
12818 : 3198, 4689, 2766, 320, 306, 339, 452, 152, 4792, 231,
12819 : 337, 4695, 157, 470, 343, 429, 406, 344, 194, 466,
12820 : 466, 4990, 452, 4054, 4055, 2824, 336, 376, 190, 162,
12821 : 2471, 4220, 376, 209, 43, 464, 840, 466, 73, 468,
12822 : 470, 281, 1813, 219, 4828, 328, 328, 376, 83, 236,
12823 : 377, 4370, 185, 4591, 858, 64, 470, 202, 4377, 863,
12824 : 864, 1820, 4418, 4382, 4420, 35, 4385, 416, 429, 379,
12825 : 4259, 398, 416, 235, 4989, 4239, 238, 222, 318, 1925,
12826 : 429, 2471, 322, 2524, 54, 429, 392, 2649, 892, 893,
12827 : 2759, 452, 4411, 422, 336, 4076, 406, 2553, 466, 2661,
12828 : 468, 4082, 4582, 452, 4184, 4424, 4186, 4187, 452, 349,
12829 : 4190, 231, 429, 3716, 336, 919, 11, 466, 263, 429,
12830 : 431, 431, 466, 467, 281, 469, 930, 272, 410, 281,
12831 : 934, 2693, 157, 103, 2524, 452, 2157, 379, 24, 2159,
12832 : 4211, 452, 281, 466, 2751, 40, 431, 3124, 952, 162,
12833 : 429, 281, 328, 470, 179, 466, 466, 379, 392, 45,
12834 : 2159, 318, 314, 4643, 406, 65, 318, 452, 4825, 2731,
12835 : 974, 71, 185, 452, 4958, 3513, 71, 981, 982, 318,
12836 : 2150, 466, 157, 83, 406, 431, 4, 429, 318, 431,
12837 : 464, 9, 349, 3170, 468, 2814, 4884, 349, 320, 1003,
12838 : 1004, 1005, 21, 1007, 179, 1009, 452, 429, 27, 431,
12839 : 349, 111, 339, 113, 2049, 4286, 336, 187, 234, 349,
12840 : 2900, 4, 2197, 3176, 466, 87, 9, 266, 3343, 3344,
12841 : 3345, 3346, 271, 3186, 3349, 3350, 3351, 3352, 3353, 3354,
12842 : 3355, 3356, 3357, 3358, 466, 2925, 2756, 2075, 4783, 5,
12843 : 3567, 465, 2033, 884, 10, 231, 470, 402, 2901, 379,
12844 : 234, 3376, 18, 4582, 266, 235, 166, 231, 238, 271,
12845 : 901, 2117, 467, 904, 1078, 470, 1080, 1081, 188, 249,
12846 : 36, 2119, 2117, 2121, 3385, 380, 406, 382, 3982, 236,
12847 : 3405, 3406, 192, 3987, 179, 2270, 571, 465, 2705, 3993,
12848 : 13, 14, 470, 4783, 1108, 332, 333, 35, 5092, 429,
12849 : 280, 431, 2660, 467, 2662, 2663, 470, 467, 2759, 464,
12850 : 470, 392, 467, 468, 4643, 2170, 54, 5242, 1854, 79,
12851 : 422, 1857, 2975, 4871, 1138, 1139, 339, 140, 461, 1143,
12852 : 2186, 1145, 53, 466, 3559, 468, 466, 5035, 623, 152,
12853 : 3545, 251, 4423, 323, 157, 212, 256, 3770, 633, 4430,
12854 : 336, 4841, 1166, 3298, 2339, 1169, 466, 3565, 1172, 3567,
12855 : 9, 467, 336, 343, 470, 103, 467, 467, 83, 470,
12856 : 470, 1185, 466, 266, 677, 2841, 679, 5171, 681, 470,
12857 : 336, 3492, 4872, 363, 687, 688, 689, 297, 464, 202,
12858 : 466, 3378, 466, 379, 3168, 3600, 53, 3233, 3234, 35,
12859 : 467, 1215, 312, 470, 422, 379, 2261, 2262, 43, 222,
12860 : 2265, 231, 467, 4503, 420, 470, 467, 2868, 54, 470,
12861 : 406, 3129, 2838, 2839, 8, 467, 208, 11, 470, 1243,
12862 : 1244, 1245, 406, 1247, 461, 449, 468, 5231, 3117, 466,
12863 : 429, 468, 431, 429, 3792, 431, 3125, 269, 269, 187,
12864 : 263, 266, 167, 1267, 4783, 429, 40, 431, 467, 272,
12865 : 387, 470, 467, 47, 157, 470, 467, 103, 2868, 470,
12866 : 429, 467, 431, 188, 470, 8, 2332, 266, 11, 466,
12867 : 466, 468, 15, 16, 17, 467, 467, 71, 470, 470,
12868 : 4980, 1305, 466, 403, 1308, 449, 269, 235, 4539, 2355,
12869 : 238, 43, 2358, 467, 2360, 449, 470, 4734, 2364, 4736,
12870 : 225, 249, 4841, 4740, 459, 4742, 336, 2373, 2374, 2375,
12871 : 467, 208, 1336, 470, 5222, 467, 1340, 1341, 470, 467,
12872 : 166, 467, 470, 467, 470, 161, 470, 1351, 1352, 1353,
12873 : 470, 1355, 280, 4872, 466, 53, 467, 3510, 3511, 470,
12874 : 467, 187, 467, 2408, 857, 470, 271, 204, 467, 379,
12875 : 4787, 470, 3122, 1377, 467, 467, 467, 2598, 470, 470,
12876 : 467, 162, 429, 470, 431, 2431, 467, 2993, 140, 470,
12877 : 3795, 4285, 2496, 2497, 2498, 323, 406, 3777, 466, 402,
12878 : 152, 3716, 3008, 5141, 467, 157, 180, 470, 1412, 235,
12879 : 466, 185, 238, 1417, 380, 343, 382, 2463, 3595, 429,
12880 : 3597, 431, 2592, 249, 4462, 2471, 2454, 1431, 1432, 2414,
12881 : 5110, 380, 468, 382, 140, 363, 1440, 467, 3307, 1443,
12882 : 470, 467, 3619, 469, 919, 467, 152, 221, 470, 5187,
12883 : 202, 157, 3155, 433, 280, 930, 466, 466, 466, 3636,
12884 : 467, 4980, 185, 470, 1468, 467, 1470, 318, 470, 467,
12885 : 222, 467, 470, 185, 470, 380, 5032, 382, 2524, 1483,
12886 : 3, 467, 1486, 206, 470, 467, 467, 392, 470, 470,
12887 : 3131, 467, 3133, 469, 268, 3494, 202, 323, 403, 145,
12888 : 8, 406, 5182, 11, 466, 145, 2705, 15, 16, 17,
12889 : 467, 263, 467, 470, 468, 470, 222, 343, 1522, 788,
12890 : 272, 790, 4325, 467, 32, 467, 470, 266, 470, 1533,
12891 : 1534, 1535, 1536, 1537, 1009, 3282, 3970, 363, 3972, 467,
12892 : 3146, 3131, 3148, 3133, 185, 268, 4584, 1551, 5286, 467,
12893 : 467, 467, 470, 470, 470, 266, 318, 263, 1562, 82,
12894 : 1564, 3455, 145, 185, 467, 467, 272, 470, 470, 145,
12895 : 3211, 4088, 1576, 1577, 2649, 467, 3338, 2776, 470, 467,
12896 : 354, 467, 470, 467, 470, 157, 470, 30, 31, 467,
12897 : 318, 5110, 470, 1597, 467, 8, 467, 470, 11, 470,
12898 : 467, 467, 0, 470, 470, 467, 467, 266, 470, 470,
12899 : 3372, 134, 1616, 467, 467, 3271, 470, 470, 2693, 145,
12900 : 220, 3211, 20, 1116, 113, 410, 236, 40, 1632, 1633,
12901 : 1634, 1635, 266, 467, 47, 198, 470, 466, 3445, 3446,
12902 : 3447, 1645, 3957, 206, 392, 260, 467, 90, 1652, 470,
12903 : 402, 1655, 50, 422, 157, 3417, 219, 4072, 71, 467,
12904 : 339, 1665, 470, 5182, 1668, 212, 467, 110, 3566, 1673,
12905 : 467, 65, 467, 470, 1678, 470, 450, 467, 467, 466,
12906 : 470, 470, 3983, 457, 458, 459, 460, 461, 462, 3442,
12907 : 251, 3297, 35, 2736, 2737, 2738, 402, 467, 206, 251,
12908 : 470, 144, 5091, 467, 467, 228, 470, 470, 467, 1713,
12909 : 1714, 470, 4013, 2759, 467, 433, 466, 470, 3537, 4990,
12910 : 1724, 1725, 266, 2798, 157, 138, 467, 3596, 43, 470,
12911 : 453, 454, 455, 251, 457, 458, 459, 460, 461, 462,
12912 : 1744, 1745, 43, 2772, 2772, 2772, 2772, 1751, 397, 1753,
12913 : 467, 3620, 2772, 470, 467, 251, 251, 470, 281, 231,
12914 : 268, 82, 467, 467, 281, 470, 470, 180, 467, 422,
12915 : 467, 470, 185, 470, 1778, 467, 467, 467, 470, 470,
12916 : 470, 1785, 467, 1787, 182, 470, 467, 1791, 1792, 470,
12917 : 1794, 467, 3690, 3673, 470, 318, 422, 1801, 79, 322,
12918 : 467, 1294, 157, 470, 1808, 4608, 1299, 1300, 221, 1813,
12919 : 1814, 145, 300, 1817, 145, 466, 145, 1821, 419, 1823,
12920 : 293, 466, 2868, 466, 1828, 1829, 349, 231, 145, 22,
12921 : 34, 1835, 1836, 1837, 466, 28, 433, 1841, 1842, 1843,
12922 : 1844, 1845, 1846, 1847, 1848, 145, 1850, 145, 1852, 1853,
12923 : 470, 279, 1856, 145, 145, 268, 379, 145, 381, 145,
12924 : 157, 145, 145, 145, 336, 145, 145, 1871, 1872, 1873,
12925 : 1874, 314, 376, 3917, 1878, 1879, 69, 266, 466, 1883,
12926 : 35, 220, 1886, 157, 157, 1889, 1890, 1891, 1892, 1893,
12927 : 1894, 1895, 1896, 1897, 266, 1899, 466, 5, 5, 342,
12928 : 466, 1905, 1906, 157, 1908, 5, 429, 379, 466, 2955,
12929 : 466, 1915, 1405, 466, 342, 466, 466, 466, 3117, 5,
12930 : 466, 466, 1415, 4817, 466, 466, 3125, 466, 466, 466,
12931 : 123, 466, 336, 376, 406, 5, 466, 130, 5, 466,
12932 : 133, 354, 466, 430, 466, 453, 454, 455, 376, 457,
12933 : 458, 459, 460, 461, 462, 466, 466, 429, 277, 431,
12934 : 3006, 466, 1455, 1456, 466, 158, 466, 466, 466, 466,
12935 : 3839, 204, 35, 416, 94, 379, 470, 420, 470, 220,
12936 : 35, 157, 157, 349, 8, 263, 429, 11, 416, 261,
12937 : 387, 15, 16, 17, 466, 1488, 387, 190, 1491, 1492,
12938 : 336, 429, 406, 387, 421, 387, 336, 468, 32, 452,
12939 : 4325, 387, 49, 387, 336, 222, 387, 387, 455, 4334,
12940 : 583, 83, 3068, 466, 452, 429, 589, 431, 2032, 387,
12941 : 2034, 336, 2036, 145, 266, 266, 217, 450, 466, 602,
12942 : 387, 4844, 341, 387, 457, 458, 459, 460, 461, 462,
12943 : 256, 379, 387, 3099, 266, 92, 249, 409, 251, 261,
12944 : 466, 266, 466, 332, 387, 3111, 2070, 387, 261, 178,
12945 : 466, 3117, 83, 2077, 185, 2079, 4229, 270, 470, 3125,
12946 : 117, 1574, 281, 410, 145, 3131, 410, 3133, 281, 376,
12947 : 105, 387, 387, 387, 387, 53, 53, 134, 387, 376,
12948 : 242, 138, 387, 270, 42, 303, 2110, 336, 285, 379,
12949 : 42, 387, 387, 285, 336, 2119, 387, 2121, 206, 387,
12950 : 387, 158, 387, 387, 161, 318, 387, 387, 321, 322,
12951 : 387, 387, 470, 3179, 2138, 3741, 3742, 387, 175, 266,
12952 : 206, 206, 3904, 433, 266, 266, 2150, 206, 2152, 2153,
12953 : 266, 387, 206, 2157, 206, 2159, 349, 2161, 206, 2163,
12954 : 397, 35, 466, 2167, 3210, 3211, 2170, 429, 145, 24,
12955 : 568, 266, 145, 3201, 251, 111, 410, 429, 145, 3835,
12956 : 3836, 3837, 206, 145, 145, 266, 4566, 2191, 228, 1682,
12957 : 1665, 421, 261, 1668, 251, 3223, 35, 2201, 251, 1692,
12958 : 251, 1694, 157, 466, 35, 2209, 212, 1700, 338, 34,
12959 : 145, 4080, 2216, 466, 1707, 385, 385, 464, 464, 256,
12960 : 413, 2225, 387, 387, 387, 387, 466, 264, 145, 145,
12961 : 410, 410, 145, 145, 260, 387, 255, 3282, 1713, 1714,
12962 : 3413, 162, 2246, 425, 268, 466, 242, 2251, 2252, 242,
12963 : 11, 470, 385, 466, 4008, 466, 387, 2261, 2262, 153,
12964 : 171, 2265, 162, 2267, 2268, 663, 664, 304, 471, 470,
12965 : 389, 467, 8, 178, 178, 11, 466, 202, 470, 15,
12966 : 16, 17, 2286, 210, 352, 2289, 267, 470, 35, 274,
12967 : 53, 336, 410, 4608, 467, 466, 32, 410, 387, 236,
12968 : 210, 210, 256, 256, 40, 387, 2310, 2311, 387, 466,
12969 : 339, 47, 1787, 157, 392, 212, 422, 256, 4633, 147,
12970 : 266, 2325, 43, 2327, 2328, 358, 147, 251, 220, 220,
12971 : 220, 4508, 332, 264, 470, 71, 3411, 387, 1831, 1832,
12972 : 379, 3387, 318, 266, 266, 1838, 1839, 179, 346, 387,
12973 : 306, 387, 35, 2357, 206, 3430, 212, 302, 264, 188,
12974 : 145, 2365, 2366, 410, 410, 455, 261, 157, 2372, 35,
12975 : 455, 159, 377, 1866, 303, 261, 3419, 3420, 3421, 3422,
12976 : 2384, 422, 2386, 466, 261, 783, 346, 785, 145, 145,
12977 : 466, 145, 251, 4000, 429, 35, 2400, 3596, 251, 2403,
12978 : 266, 2405, 266, 212, 2408, 176, 5209, 5210, 2412, 176,
12979 : 35, 2415, 157, 240, 340, 449, 212, 449, 467, 157,
12980 : 464, 3620, 23, 2427, 2428, 467, 346, 251, 266, 453,
12981 : 454, 455, 185, 457, 458, 459, 460, 461, 462, 467,
12982 : 467, 2445, 467, 185, 180, 185, 433, 470, 470, 185,
12983 : 470, 2455, 8, 2457, 169, 11, 466, 387, 162, 15,
12984 : 16, 17, 239, 4069, 429, 266, 470, 53, 376, 260,
12985 : 206, 207, 8, 392, 422, 11, 2480, 212, 467, 15,
12986 : 16, 17, 4244, 467, 467, 221, 162, 467, 467, 467,
12987 : 277, 286, 467, 467, 466, 162, 32, 449, 4154, 4155,
12988 : 470, 4157, 466, 2507, 467, 2509, 2510, 2511, 2512, 4212,
12989 : 276, 387, 8, 230, 416, 11, 467, 467, 254, 15,
12990 : 16, 17, 466, 466, 466, 466, 408, 426, 426, 4844,
12991 : 53, 188, 268, 467, 266, 271, 32, 451, 266, 4145,
12992 : 455, 2545, 269, 266, 387, 145, 433, 387, 466, 196,
12993 : 3596, 387, 387, 256, 251, 145, 2049, 5074, 270, 466,
12994 : 341, 145, 145, 341, 220, 341, 188, 147, 387, 410,
12995 : 455, 222, 387, 287, 3620, 387, 287, 470, 2582, 157,
12996 : 387, 3627, 387, 232, 3630, 4392, 3632, 407, 2592, 232,
12997 : 232, 3626, 4399, 4462, 2598, 387, 266, 336, 4731, 336,
12998 : 349, 387, 336, 387, 387, 387, 336, 2611, 387, 42,
12999 : 251, 145, 387, 387, 4512, 2619, 173, 387, 354, 387,
13000 : 2624, 206, 3, 470, 2117, 206, 3672, 206, 397, 206,
13001 : 467, 4237, 3, 467, 3680, 157, 43, 104, 3684, 3685,
13002 : 320, 3687, 157, 2647, 2648, 2649, 3692, 470, 2652, 4722,
13003 : 206, 4724, 264, 467, 467, 466, 2660, 2661, 2662, 2663,
13004 : 266, 35, 145, 387, 145, 157, 173, 465, 465, 2673,
13005 : 206, 145, 2676, 467, 2678, 2150, 336, 410, 336, 410,
13006 : 269, 336, 2157, 346, 143, 2689, 2690, 143, 206, 2693,
13007 : 470, 464, 206, 206, 206, 206, 206, 136, 5013, 162,
13008 : 11, 2705, 277, 2707, 157, 2709, 470, 2711, 467, 467,
13009 : 206, 421, 268, 162, 450, 467, 467, 453, 454, 455,
13010 : 1118, 457, 458, 459, 460, 461, 462, 2731, 272, 470,
13011 : 426, 2735, 268, 162, 470, 171, 452, 466, 2742, 465,
13012 : 2744, 2745, 2746, 4920, 466, 3791, 267, 467, 466, 325,
13013 : 415, 470, 81, 397, 467, 157, 35, 466, 2762, 3787,
13014 : 467, 8, 467, 387, 11, 410, 212, 53, 196, 2773,
13015 : 379, 410, 268, 145, 2778, 466, 166, 4930, 4931, 397,
13016 : 2784, 341, 387, 1181, 387, 387, 336, 2280, 387, 4922,
13017 : 2794, 4537, 387, 40, 2798, 2288, 336, 2801, 2291, 2803,
13018 : 47, 4000, 318, 1201, 53, 467, 467, 379, 467, 3855,
13019 : 3856, 3857, 5127, 3859, 3860, 3861, 466, 157, 4425, 429,
13020 : 416, 4628, 147, 71, 71, 145, 104, 397, 206, 467,
13021 : 206, 206, 466, 206, 1232, 301, 191, 5014, 466, 387,
13022 : 2844, 210, 2846, 266, 470, 433, 467, 2851, 313, 1247,
13023 : 470, 4613, 8, 35, 285, 11, 77, 4463, 466, 15,
13024 : 16, 17, 4731, 470, 397, 168, 4473, 387, 346, 466,
13025 : 379, 104, 470, 467, 2878, 162, 2880, 2881, 2882, 35,
13026 : 206, 162, 53, 465, 311, 427, 427, 209, 277, 275,
13027 : 209, 138, 4654, 467, 5209, 5210, 467, 453, 454, 455,
13028 : 466, 457, 458, 459, 460, 461, 462, 470, 467, 467,
13029 : 378, 466, 466, 5066, 467, 466, 273, 453, 454, 455,
13030 : 53, 457, 458, 459, 460, 461, 462, 261, 174, 467,
13031 : 467, 455, 467, 180, 162, 397, 1334, 1335, 185, 1337,
13032 : 387, 1025, 429, 71, 179, 190, 256, 256, 53, 3995,
13033 : 455, 3997, 387, 379, 65, 387, 145, 453, 454, 455,
13034 : 466, 457, 458, 459, 460, 461, 462, 470, 470, 1053,
13035 : 387, 164, 206, 111, 221, 162, 35, 185, 261, 346,
13036 : 4636, 466, 4010, 4011, 1547, 410, 410, 2991, 35, 1073,
13037 : 251, 4647, 159, 4031, 157, 346, 261, 53, 35, 1083,
13038 : 2493, 2494, 162, 266, 157, 1089, 2499, 429, 429, 466,
13039 : 193, 1095, 269, 204, 162, 466, 466, 1101, 311, 415,
13040 : 1104, 268, 467, 8, 362, 5158, 11, 467, 466, 285,
13041 : 15, 16, 17, 209, 428, 4942, 466, 83, 126, 266,
13042 : 312, 387, 35, 145, 387, 157, 466, 466, 8, 4084,
13043 : 206, 11, 467, 467, 466, 40, 466, 5234, 466, 1622,
13044 : 466, 118, 47, 2556, 35, 178, 256, 1630, 233, 188,
13045 : 4726, 301, 346, 466, 466, 145, 4838, 104, 131, 1642,
13046 : 40, 425, 467, 35, 467, 270, 71, 47, 467, 333,
13047 : 4731, 3095, 333, 4855, 360, 397, 3100, 3101, 4860, 53,
13048 : 4862, 360, 53, 35, 74, 466, 5283, 354, 466, 415,
13049 : 466, 71, 268, 467, 466, 379, 178, 2592, 467, 466,
13050 : 470, 5298, 410, 2598, 157, 379, 249, 466, 4174, 4175,
13051 : 266, 467, 5, 3137, 3138, 3139, 379, 151, 4184, 433,
13052 : 4186, 4187, 466, 144, 4190, 466, 65, 269, 65, 126,
13053 : 3154, 466, 429, 429, 1717, 415, 414, 311, 8, 466,
13054 : 35, 11, 470, 349, 162, 379, 309, 256, 131, 190,
13055 : 266, 426, 3176, 3177, 266, 466, 346, 1740, 138, 35,
13056 : 4883, 35, 3186, 3187, 3188, 301, 269, 269, 3192, 164,
13057 : 40, 466, 164, 53, 467, 180, 4852, 47, 466, 470,
13058 : 185, 3205, 332, 450, 4250, 467, 387, 116, 408, 5,
13059 : 457, 458, 459, 460, 461, 462, 466, 346, 332, 273,
13060 : 180, 71, 319, 21, 466, 185, 4425, 467, 4256, 466,
13061 : 32, 470, 470, 256, 629, 466, 221, 144, 4284, 162,
13062 : 387, 74, 360, 301, 466, 360, 164, 1549, 164, 429,
13063 : 429, 4472, 2412, 4473, 785, 2759, 849, 893, 653, 3263,
13064 : 892, 221, 2925, 4462, 2757, 2309, 2759, 2742, 2241, 4315,
13065 : 1300, 5225, 3595, 4880, 4473, 3569, 5056, 3115, 3282, 2334,
13066 : 3692, 4922, 4744, 268, 4920, 5158, 3739, 4566, 138, 4202,
13067 : 4536, 2545, 2845, 4514, 3298, 5039, 4424, 453, 454, 455,
13068 : 5147, 457, 458, 459, 460, 461, 462, 4950, 268, 4949,
13069 : 5076, 5182, 2849, 3788, 3318, 3772, 4889, 3730, 2397, 2794,
13070 : 2397, 3590, 2950, 3327, 3166, 889, 3755, 4238, 4543, 3333,
13071 : 180, 3335, 2391, 3178, 3338, 185, 4552, 5160, 5298, 3343,
13072 : 3344, 3345, 3346, 5283, 4529, 3349, 3350, 3351, 3352, 3353,
13073 : 3354, 3355, 3356, 3357, 3358, 3124, 1754, 3119, 3362, 3363,
13074 : 5089, 4475, 1611, 4706, 4898, 4478, 27, 4675, 3372, 354,
13075 : 3842, 221, 3376, 1145, 2093, 3795, 3380, 4817, 2823, 1724,
13076 : 1809, 651, 1809, 619, 3388, 1810, 4404, 3391, 3619, 3393,
13077 : 3069, 1156, 3170, 962, 354, 3636, 5115, 5274, 3402, 1665,
13078 : 764, 3405, 3406, 2033, 1755, 2034, 3410, 3411, 1806, 3775,
13079 : 4407, 3415, 4012, 3417, 5031, 1384, 4462, 3489, 268, 1277,
13080 : 3424, 3425, 3426, 3427, 0, 2773, 3430, 3431, 2784, 1325,
13081 : 2779, 3435, 3436, 3437, 2073, 3454, 5023, 4864, 3996, 3443,
13082 : 3430, 1344, 1343, 3954, 2072, 3449, 3450, 3451, 3971, 4644,
13083 : 4841, 3427, 4840, 3427, 3490, 5131, 5278, 4503, 1346, 5013,
13084 : 4611, 5213, 1351, 1689, 5026, 450, 3380, 4401, 453, 454,
13085 : 455, 3475, 457, 458, 459, 460, 461, 462, 5027, 5006,
13086 : 1903, 2710, 1880, 2762, 2620, 3489, 1906, 3491, 2708, -1,
13087 : 450, -1, -1, -1, -1, -1, -1, 457, 458, 459,
13088 : 460, 461, 462, -1, 354, 3509, 3510, 3511, -1, 3513,
13089 : -1, -1, -1, 4541, 90, -1, -1, 5158, 2081, -1,
13090 : -1, -1, -1, -1, -1, -1, 3530, 3531, 3532, 3533,
13091 : -1, 926, -1, -1, -1, -1, 2099, -1, -1, -1,
13092 : -1, -1, 2105, -1, -1, -1, 2109, -1, -1, -1,
13093 : -1, 4579, -1, -1, 949, 3559, -1, -1, -1, -1,
13094 : -1, -1, -1, -1, 140, -1, -1, -1, -1, 964,
13095 : -1, 55, 2135, 3577, -1, -1, 152, -1, -1, 4654,
13096 : -1, 157, -1, -1, -1, -1, 162, -1, -1, -1,
13097 : -1, 8, 168, -1, 11, 171, -1, -1, 174, -1,
13098 : 450, -1, -1, -1, -1, 89, -1, 457, 458, 459,
13099 : 460, 461, 462, -1, -1, -1, 2179, -1, -1, -1,
13100 : -1, -1, -1, 40, 3117, -1, 202, -1, -1, -1,
13101 : 47, -1, 3125, -1, 2197, 1719, -1, -1, -1, -1,
13102 : -1, -1, -1, 1727, -1, -1, 222, -1, -1, -1,
13103 : -1, -1, -1, -1, 71, -1, 3149, -1, -1, 1743,
13104 : -1, -1, -1, -1, 148, 3669, 2229, -1, -1, -1,
13105 : -1, -1, 4718, 4719, -1, -1, -1, 2075, -1, -1,
13106 : -1, 4880, -1, -1, -1, 4731, -1, 263, -1, 4735,
13107 : 266, -1, 2255, -1, -1, -1, 272, -1, 182, 4745,
13108 : 2263, -1, -1, -1, 3708, -1, -1, 2270, 3712, -1,
13109 : 3714, 2274, 3716, -1, -1, -1, -1, -1, -1, 3723,
13110 : -1, 138, -1, -1, -1, 3729, -1, -1, -1, -1,
13111 : -1, 2294, -1, 217, -1, 3739, 2299, 3230, -1, -1,
13112 : 2303, -1, -1, -1, -1, -1, -1, -1, -1, 325,
13113 : 3754, -1, -1, 2316, 3758, -1, -1, -1, 1153, -1,
13114 : -1, -1, -1, 180, 3768, 4793, 2329, 251, 185, -1,
13115 : -1, -1, -1, 3777, -1, -1, 2339, -1, -1, -1,
13116 : -1, -1, -1, -1, 3788, -1, -1, -1, 3792, -1,
13117 : -1, -1, 3796, 3797, -1, -1, -1, -1, 282, -1,
13118 : 376, -1, -1, -1, 221, -1, -1, -1, -1, -1,
13119 : -1, -1, -1, -1, 3307, -1, -1, -1, -1, -1,
13120 : -1, 3825, -1, 3827, 5045, -1, 402, -1, -1, -1,
13121 : 3834, -1, -1, -1, -1, -1, -1, -1, 322, -1,
13122 : 324, 4869, 326, -1, -1, -1, -1, -1, -1, 333,
13123 : 426, 268, 428, 429, -1, -1, -1, 341, -1, 3863,
13124 : -1, -1, -1, -1, -1, 349, -1, -1, -1, -1,
13125 : 3874, -1, -1, -1, -1, -1, 4922, 361, -1, -1,
13126 : 4926, -1, 4928, -1, -1, 369, 4932, 4933, 464, -1,
13127 : -1, 467, 468, 469, -1, 5116, 5117, -1, -1, -1,
13128 : 3904, -1, -1, -1, -1, 35, -1, -1, -1, -1,
13129 : 3914, 3915, -1, -1, -1, -1, -1, 3921, 3922, -1,
13130 : -1, -1, 3926, -1, 54, -1, -1, 3931, 55, -1,
13131 : 3934, 3935, -1, -1, -1, 3939, 3940, 354, -1, -1,
13132 : 424, 3945, 3946, 3947, 3948, 3949, -1, 2031, -1, 3953,
13133 : 3954, 3955, 3427, 3957, 3958, 3430, -1, 3961, -1, -1,
13134 : -1, 3965, 89, 8, -1, 3969, 11, -1, -1, -1,
13135 : -1, 3975, -1, 103, 104, -1, -1, -1, 3982, -1,
13136 : -1, 111, -1, 3987, -1, -1, -1, -1, -1, 3993,
13137 : -1, -1, 119, -1, -1, 40, 4000, -1, -1, 2562,
13138 : -1, -1, 47, -1, 4008, -1, -1, -1, 4012, -1,
13139 : 5056, 8, 5058, 4017, 11, -1, -1, 2580, 15, 16,
13140 : 17, 148, -1, -1, -1, 2588, 71, 4031, -1, -1,
13141 : 4034, -1, -1, 450, 3509, -1, 166, -1, -1, -1,
13142 : 457, 458, 459, 460, 461, 462, -1, -1, -1, -1,
13143 : 4054, 4055, -1, -1, -1, 182, 2454, 187, -1, -1,
13144 : -1, -1, 5090, -1, -1, -1, -1, -1, 4072, 1464,
13145 : -1, -1, -1, -1, -1, -1, -1, -1, 5299, 5300,
13146 : -1, 4085, -1, -1, -1, -1, 5115, 5115, 5115, 5115,
13147 : 217, -1, -1, 138, -1, 5115, -1, -1, -1, -1,
13148 : -1, -1, -1, 3596, -1, 235, -1, -1, 238, -1,
13149 : -1, -1, 5158, -1, 5189, -1, -1, -1, -1, 249,
13150 : -1, 251, -1, -1, 251, -1, -1, 3620, -1, -1,
13151 : 4134, -1, -1, 3626, -1, 180, -1, -1, -1, -1,
13152 : 185, -1, -1, -1, -1, -1, -1, -1, -1, -1,
13153 : 280, -1, 4156, -1, 281, 282, -1, -1, -1, -1,
13154 : 5189, 5189, 5189, 5189, -1, -1, -1, 4171, -1, 5189,
13155 : -1, -1, 1567, -1, -1, -1, 221, -1, -1, 5225,
13156 : -1, -1, -1, -1, -1, -1, -1, 1582, 5234, -1,
13157 : -1, 318, -1, 323, -1, 322, 4200, -1, -1, 326,
13158 : -1, -1, -1, 3696, 3697, -1, 333, -1, 1603, 206,
13159 : 4214, -1, -1, 343, 341, -1, 4220, -1, -1, -1,
13160 : -1, -1, 349, 268, -1, 4229, -1, -1, -1, -1,
13161 : -1, -1, -1, 363, 361, 365, -1, 5283, 368, -1,
13162 : 4244, -1, 369, -1, -1, 5274, 5274, 5274, 5274, -1,
13163 : -1, 2649, 5298, 4257, 5274, 4259, -1, -1, -1, -1,
13164 : -1, -1, -1, 1658, -1, -1, -1, -1, -1, -1,
13165 : -1, 268, -1, -1, -1, -1, -1, 1672, -1, -1,
13166 : -1, -1, -1, 3758, -1, 4289, -1, -1, -1, 1684,
13167 : -1, -1, -1, -1, -1, 2693, -1, 424, -1, -1,
13168 : -1, 1696, 2865, -1, -1, -1, -1, -1, -1, 354,
13169 : -1, -1, 2710, -1, -1, -1, -1, -1, -1, -1,
13170 : -1, 4325, -1, -1, -1, -1, -1, -1, 2726, -1,
13171 : 4334, -1, -1, -1, -1, -1, 466, -1, -1, -1,
13172 : -1, 1736, 1737, -1, 2742, -1, 3839, 4351, 4352, -1,
13173 : -1, 4355, -1, -1, -1, -1, -1, -1, -1, -1,
13174 : -1, -1, -1, -1, -1, -1, 4370, -1, -1, 4373,
13175 : -1, -1, -1, 4377, 2772, -1, -1, -1, 4382, -1,
13176 : -1, 4385, 4386, -1, 4388, -1, 4390, -1, 20, 4393,
13177 : 4394, -1, 2476, 25, -1, -1, 2794, -1, 0, 2483,
13178 : 2798, -1, -1, -1, -1, 450, -1, 4411, -1, 4413,
13179 : 2973, -1, 457, 458, 459, 460, 461, 462, -1, 2503,
13180 : 4424, 4425, 4426, 4427, 4428, -1, -1, 59, -1, 2513,
13181 : -1, -1, -1, 2517, -1, -1, 2520, -1, -1, -1,
13182 : 72, -1, 2526, -1, 2528, -1, -1, 2531, -1, -1,
13183 : -1, -1, -1, -1, -1, 87, 453, 454, 455, -1,
13184 : 457, 458, 459, 460, 461, 462, -1, -1, 4472, 4473,
13185 : -1, -1, -1, -1, -1, 1870, -1, 7, -1, -1,
13186 : -1, -1, -1, 13, 14, -1, -1, -1, 90, 19,
13187 : 3965, 21, -1, -1, 3969, -1, 128, 27, -1, 29,
13188 : -1, -1, -1, -1, -1, -1, 2590, 139, -1, -1,
13189 : 4514, -1, -1, 4517, -1, -1, -1, -1, 48, 49,
13190 : -1, -1, -1, 3086, -1, 4529, -1, 159, 4532, -1,
13191 : -1, -1, 164, 4537, -1, 4539, -1, -1, 140, -1,
13192 : -1, -1, 4546, -1, -1, -1, -1, -1, -1, -1,
13193 : 152, -1, -1, -1, -1, 157, -1, -1, 4562, -1,
13194 : 162, -1, 4566, -1, -1, -1, 168, -1, -1, 171,
13195 : -1, -1, 174, -1, -1, -1, 4580, 4581, 4582, -1,
13196 : -1, -1, -1, -1, -1, -1, -1, 4080, -1, -1,
13197 : -1, 4084, -1, -1, -1, -1, -1, -1, -1, -1,
13198 : 202, -1, 234, -1, 4608, -1, -1, 4611, -1, 4613,
13199 : -1, -1, -1, -1, -1, -1, 4109, 4110, -1, -1,
13200 : 222, 4114, 4115, -1, -1, -1, -1, -1, -1, 4633,
13201 : -1, -1, -1, -1, -1, 4639, 268, -1, -1, 4643,
13202 : -1, -1, -1, 4647, -1, -1, -1, -1, -1, -1,
13203 : 4654, -1, -1, -1, 25, -1, -1, -1, -1, 4663,
13204 : -1, 263, -1, -1, 266, 195, -1, -1, 300, -1,
13205 : 272, -1, -1, 203, -1, 205, -1, 207, 208, -1,
13206 : 210, -1, 212, 4687, -1, 215, -1, 217, -1, -1,
13207 : -1, -1, 8, -1, -1, 11, 3259, -1, -1, 15,
13208 : 16, 17, 73, -1, 336, -1, -1, -1, -1, 4713,
13209 : -1, 343, 3275, -1, 346, -1, 32, -1, 4722, 4723,
13210 : 4724, 4725, -1, 325, 40, -1, -1, -1, -1, -1,
13211 : -1, 47, -1, -1, 105, -1, -1, 3300, -1, 4214,
13212 : -1, -1, -1, -1, 376, -1, -1, -1, -1, -1,
13213 : -1, 383, -1, -1, -1, 71, 4760, 128, 390, 2154,
13214 : -1, -1, -1, -1, -1, 397, -1, -1, 139, 35,
13215 : 2854, 2166, -1, -1, 376, -1, 4780, -1, -1, 4783,
13216 : -1, -1, -1, -1, -1, -1, -1, -1, 159, 55,
13217 : 422, -1, -1, 164, -1, -1, -1, -1, -1, -1,
13218 : 402, -1, -1, 3201, -1, -1, -1, -1, -1, -1,
13219 : -1, 2206, -1, -1, -1, -1, -1, -1, -1, -1,
13220 : -1, -1, -1, 89, 426, 3223, 428, 429, -1, -1,
13221 : -1, -1, -1, -1, 4838, -1, -1, 4841, -1, -1,
13222 : 4844, -1, 213, -1, 4848, -1, -1, -1, -1, -1,
13223 : 2934, 4855, 2936, -1, -1, -1, 4860, -1, 4862, -1,
13224 : 4864, -1, 464, 234, 180, 467, 468, 469, 4872, 185,
13225 : -1, -1, -1, -1, 4878, -1, 4880, -1, -1, -1,
13226 : -1, -1, 148, -1, -1, -1, 4890, -1, -1, -1,
13227 : 206, 207, -1, -1, -1, 4370, -1, -1, -1, -1,
13228 : -1, -1, 4377, -1, -1, 221, -1, 4382, -1, -1,
13229 : 4385, 4386, -1, -1, -1, -1, 182, -1, -1, -1,
13230 : -1, -1, -1, -1, -1, -1, 4930, 4931, -1, 300,
13231 : -1, -1, 303, -1, -1, -1, 4411, -1, 254, -1,
13232 : -1, -1, -1, -1, -1, -1, 212, -1, -1, 4424,
13233 : -1, 217, 268, -1, -1, 271, -1, 4961, 329, -1,
13234 : -1, -1, -1, -1, 4968, 336, -1, -1, 4972, 4462,
13235 : -1, -1, 343, -1, -1, -1, 4980, 3540, -1, -1,
13236 : -1, 3065, -1, -1, -1, 251, -1, 3071, -1, -1,
13237 : 2385, -1, -1, -1, -1, -1, -1, 4472, -1, -1,
13238 : 371, 5005, 5006, -1, -1, 376, 5010, -1, 379, 5013,
13239 : -1, -1, -1, 3411, -1, -1, 282, -1, -1, 5023,
13240 : -1, -1, 5026, -1, -1, -1, 397, 5031, -1, 3427,
13241 : -1, -1, 3430, -1, -1, -1, -1, -1, 354, 4514,
13242 : -1, 5045, 572, -1, -1, -1, -1, -1, -1, -1,
13243 : 580, 422, -1, -1, -1, 5059, 322, 587, 588, -1,
13244 : 326, 591, 5066, 593, 594, -1, -1, 333, 598, -1,
13245 : -1, -1, -1, -1, -1, 341, -1, -1, -1, 609,
13246 : -1, 35, -1, 349, -1, -1, -1, 5091, 3651, -1,
13247 : -1, 3654, 5096, -1, 624, 361, -1, 5101, -1, -1,
13248 : -1, 55, -1, 369, -1, -1, 5110, 4582, -1, -1,
13249 : -1, -1, 5116, 5117, 5118, -1, -1, 647, -1, 649,
13250 : -1, -1, -1, 5127, 390, -1, -1, 5131, -1, 659,
13251 : -1, -1, -1, -1, 450, 89, -1, 453, 454, 455,
13252 : 5144, 457, 458, 459, 460, 461, 462, 5151, -1, -1,
13253 : -1, 22, -1, -1, 470, -1, -1, 28, 424, -1,
13254 : -1, 691, 428, 429, -1, 3249, -1, 3251, 4643, 3253,
13255 : -1, -1, -1, -1, -1, -1, 3260, -1, 5182, 5183,
13256 : 5184, 0, -1, 2578, -1, -1, -1, -1, 3751, -1,
13257 : -1, -1, 722, -1, 148, -1, -1, -1, 69, -1,
13258 : 2595, -1, -1, -1, -1, 5209, 5210, 3770, -1, -1,
13259 : -1, -1, -1, 2608, -1, 3299, -1, -1, -1, -1,
13260 : -1, -1, -1, -1, -1, 4718, 4719, -1, 182, -1,
13261 : -1, -1, -1, -1, -1, -1, -1, -1, 4731, -1,
13262 : -1, -1, -1, -1, -1, -1, 776, 5251, -1, -1,
13263 : -1, -1, 123, 5257, -1, -1, -1, -1, 212, 130,
13264 : -1, -1, 133, 217, -1, -1, -1, 5271, -1, -1,
13265 : -1, 90, -1, -1, 5278, -1, -1, 5281, -1, 3842,
13266 : -1, -1, -1, -1, -1, 4760, -1, 158, -1, -1,
13267 : -1, -1, -1, -1, -1, 5299, 5300, 251, -1, -1,
13268 : -1, -1, -1, -1, -1, -1, -1, 837, 4783, -1,
13269 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 190,
13270 : -1, 140, -1, -1, -1, -1, -1, -1, 282, -1,
13271 : -1, -1, -1, 152, -1, -1, -1, -1, 157, -1,
13272 : -1, -1, -1, 162, -1, 0, -1, -1, -1, 168,
13273 : -1, -1, 171, -1, -1, 174, -1, -1, -1, -1,
13274 : 3758, -1, -1, 18, -1, -1, 4841, -1, 322, -1,
13275 : -1, -1, 326, 28, -1, 30, 31, 907, 249, 333,
13276 : 251, -1, -1, 202, -1, -1, -1, 341, -1, 3787,
13277 : 261, 46, -1, 923, -1, 349, -1, 4872, -1, 270,
13278 : -1, -1, -1, 222, -1, 935, -1, 361, 938, -1,
13279 : 281, 66, -1, 68, 69, 369, -1, -1, 948, -1,
13280 : 75, -1, 77, 953, -1, -1, -1, -1, -1, -1,
13281 : -1, 961, -1, 88, -1, 90, 390, 967, 35, -1,
13282 : 970, -1, -1, -1, 263, -1, -1, 266, -1, -1,
13283 : 321, 322, 107, 272, -1, 110, -1, -1, 55, -1,
13284 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 124,
13285 : 424, 126, -1, -1, 428, 130, -1, 2872, 349, -1,
13286 : 1010, 136, -1, -1, -1, -1, -1, -1, -1, 144,
13287 : -1, 146, 89, -1, 2889, 189, 190, 152, -1, 193,
13288 : -1, -1, -1, -1, -1, 4980, 325, -1, -1, -1,
13289 : -1, -1, -1, 168, -1, -1, -1, 211, -1, -1,
13290 : -1, -1, -1, -1, 218, -1, -1, -1, -1, 184,
13291 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
13292 : -1, -1, 413, 4106, -1, -1, -1, -1, -1, -1,
13293 : -1, 148, -1, -1, -1, 4118, -1, 376, -1, -1,
13294 : -1, -1, -1, 5056, -1, 5058, -1, 3965, 223, 224,
13295 : 5045, 3969, -1, -1, 229, -1, -1, -1, -1, -1,
13296 : -1, -1, -1, 402, -1, 182, 241, -1, 2983, -1,
13297 : 2985, 1121, -1, 1123, -1, 1125, -1, 1127, 253, 1129,
13298 : 1130, 1131, -1, -1, -1, -1, 1136, 426, -1, 428,
13299 : 429, -1, 4010, 4011, -1, 212, -1, 1147, -1, -1,
13300 : 217, 5096, -1, -1, -1, -1, -1, -1, -1, -1,
13301 : -1, -1, -1, -1, -1, 5110, -1, -1, -1, -1,
13302 : 295, 5116, 5117, -1, -1, 464, -1, -1, 467, 468,
13303 : 469, -1, -1, 308, 251, -1, -1, -1, -1, 314,
13304 : 315, -1, 317, -1, -1, -1, -1, 322, -1, -1,
13305 : -1, 3066, 327, -1, -1, 330, -1, -1, -1, -1,
13306 : 335, -1, 199, 3, -1, 282, 341, 342, 8, -1,
13307 : -1, 11, 209, -1, 349, 15, 16, 17, 353, 3094,
13308 : -1, -1, -1, 220, -1, -1, -1, 5182, 363, -1,
13309 : -1, -1, 32, -1, -1, 35, -1, -1, -1, -1,
13310 : 40, 376, -1, -1, -1, 322, -1, 47, -1, 326,
13311 : -1, -1, 5225, -1, -1, -1, 333, -1, -1, -1,
13312 : 395, 5234, -1, -1, 341, 3829, 4309, -1, -1, 3833,
13313 : 405, 71, 349, -1, -1, -1, 411, -1, -1, -1,
13314 : -1, 416, -1, -1, 361, -1, -1, -1, -1, -1,
13315 : -1, -1, 369, -1, 429, -1, -1, -1, -1, -1,
13316 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
13317 : 5283, -1, -1, 390, -1, 1325, -1, 452, -1, 3194,
13318 : -1, 22, -1, -1, -1, 5298, 5281, 28, -1, -1,
13319 : -1, 466, -1, -1, 469, -1, -1, -1, -1, -1,
13320 : 41, -1, -1, -1, 5299, 5300, -1, 424, -1, -1,
13321 : 3225, 428, -1, -1, -1, -1, -1, -1, -1, -1,
13322 : -1, -1, -1, -1, 8, -1, -1, 11, 69, -1,
13323 : -1, 15, 16, 17, -1, 4418, -1, 4420, 4256, -1,
13324 : 180, -1, -1, -1, -1, 185, -1, -1, 32, -1,
13325 : -1, 1401, -1, -1, -1, -1, 40, -1, -1, -1,
13326 : 574, -1, -1, 47, 578, -1, 206, 207, -1, -1,
13327 : -1, -1, -1, -1, -1, -1, -1, -1, 592, -1,
13328 : 121, 221, 123, -1, -1, 599, -1, 71, -1, 130,
13329 : -1, 8, 133, -1, 11, -1, -1, -1, 15, 16,
13330 : 17, -1, -1, -1, -1, -1, 3321, -1, -1, -1,
13331 : -1, -1, -1, -1, 254, 32, -1, 158, -1, 1469,
13332 : -1, -1, -1, 40, -1, -1, -1, 3342, 268, -1,
13333 : 47, 271, -1, -1, 8, -1, -1, 11, -1, -1,
13334 : -1, 15, 16, 17, -1, -1, 4050, -1, -1, 190,
13335 : -1, -1, 3367, -1, 71, -1, -1, -1, 32, 4377,
13336 : -1, -1, -1, -1, 4382, -1, 40, 4385, -1, -1,
13337 : -1, -1, -1, 47, -1, -1, -1, -1, -1, -1,
13338 : -1, -1, -1, -1, -1, -1, 3401, 4091, 4092, -1,
13339 : -1, -1, -1, -1, -1, -1, 180, 71, -1, -1,
13340 : -1, 185, -1, -1, -1, -1, -1, -1, 249, -1,
13341 : 251, -1, -1, -1, 354, -1, -1, -1, -1, -1,
13342 : 261, -1, 206, 207, -1, -1, 563, -1, -1, 270,
13343 : -1, -1, 569, -1, -1, -1, -1, 221, -1, -1,
13344 : 281, -1, -1, -1, -1, -1, -1, -1, -1, -1,
13345 : -1, -1, -1, -1, -1, -1, -1, 1607, -1, -1,
13346 : -1, -1, -1, 180, -1, -1, -1, -1, 185, -1,
13347 : 254, -1, -1, 4177, 4178, -1, -1, 318, -1, -1,
13348 : 321, 322, -1, -1, 268, -1, -1, 271, -1, 206,
13349 : 207, -1, -1, -1, -1, -1, -1, -1, -1, -1,
13350 : -1, -1, -1, -1, 221, -1, 180, -1, 349, -1,
13351 : 450, 185, -1, 453, 454, 455, -1, 457, 458, 459,
13352 : 460, 461, 462, 4541, -1, -1, -1, -1, -1, -1,
13353 : -1, -1, 206, 207, -1, -1, -1, 254, -1, -1,
13354 : -1, -1, -1, -1, -1, -1, -1, 221, -1, 863,
13355 : 864, 268, -1, -1, 271, -1, -1, -1, -1, -1,
13356 : -1, 4579, -1, -1, -1, -1, -1, -1, -1, -1,
13357 : 354, -1, 413, -1, -1, -1, -1, -1, -1, 1729,
13358 : 254, 1731, -1, 22, 721, -1, -1, -1, 4292, 28,
13359 : 4294, 4295, -1, -1, 268, -1, 35, 271, 1748, -1,
13360 : 1750, -1, -1, -1, 4308, -1, -1, -1, -1, 746,
13361 : -1, -1, -1, -1, 1764, 54, 1766, -1, 1768, -1,
13362 : 1770, -1, 1772, -1, -1, 4643, 1776, -1, 765, -1,
13363 : 69, -1, -1, -1, -1, -1, 4654, 354, 952, -1,
13364 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 786,
13365 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
13366 : -1, -1, -1, -1, 103, -1, 450, 981, 982, 453,
13367 : 454, 455, -1, 457, 458, 459, 460, 461, 462, -1,
13368 : 354, -1, -1, 467, 123, -1, -1, -1, -1, -1,
13369 : -1, 130, -1, 1007, 133, -1, -1, -1, -1, -1,
13370 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
13371 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 158,
13372 : -1, 858, -1, -1, -1, -1, -1, -1, -1, -1,
13373 : 3745, -1, -1, 450, -1, -1, 453, 454, 455, -1,
13374 : 457, 458, 459, 460, 461, 462, -1, -1, 187, -1,
13375 : 467, 190, -1, -1, -1, -1, -1, -1, -1, -1,
13376 : -1, -1, -1, -1, -1, 4783, 1080, 1081, -1, -1,
13377 : -1, -1, -1, -1, -1, 4793, 450, -1, -1, 453,
13378 : 454, 455, -1, 457, 458, 459, 460, 461, 462, -1,
13379 : -1, -1, -1, 467, -1, -1, 235, -1, -1, 238,
13380 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
13381 : 249, -1, 251, -1, -1, -1, -1, -1, -1, -1,
13382 : -1, -1, 261, -1, -1, -1, -1, -1, -1, -1,
13383 : -1, 270, -1, -1, -1, -1, -1, 974, -1, -1,
13384 : -1, 280, 281, -1, -1, -1, -1, -1, -1, 5032,
13385 : -1, 4869, -1, -1, -1, -1, -1, -1, -1, -1,
13386 : -1, -1, -1, -1, -1, -1, 1003, 1004, 1005, -1,
13387 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 318,
13388 : -1, -1, 321, 322, 323, -1, -1, -1, -1, -1,
13389 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
13390 : 4604, -1, -1, -1, 343, -1, 8, -1, -1, 11,
13391 : 349, -1, 3927, 15, 16, 17, -1, -1, -1, -1,
13392 : -1, -1, -1, -1, 363, -1, -1, -1, -1, -1,
13393 : 32, -1, 2082, 2083, -1, -1, -1, -1, 40, -1,
13394 : 8, -1, -1, 11, -1, 47, -1, 15, 16, 17,
13395 : -1, 2101, 2102, -1, -1, -1, 2106, 2107, -1, -1,
13396 : -1, 2111, -1, -1, 32, -1, -1, -1, -1, 71,
13397 : -1, -1, 40, 4677, 413, 2125, -1, -1, -1, 47,
13398 : -1, -1, 2132, -1, -1, -1, 2136, 2137, -1, -1,
13399 : 2140, 2141, -1, -1, -1, -1, -1, 2147, -1, -1,
13400 : -1, -1, -1, 71, -1, -1, 1143, -1, -1, -1,
13401 : 2160, -1, 2162, -1, -1, -1, -1, -1, 8, -1,
13402 : -1, 11, -1, 4727, -1, 15, 16, 17, -1, -1,
13403 : -1, 2181, 1169, -1, -1, -1, 2186, 4052, -1, -1,
13404 : -1, -1, 32, -1, -1, -1, -1, -1, -1, 2199,
13405 : 40, -1, -1, -1, -1, -1, -1, 47, 2208, -1,
13406 : 2210, -1, -1, 2213, 2214, 2215, -1, -1, -1, -1,
13407 : 2220, 2221, 5090, -1, -1, 4090, -1, -1, 180, -1,
13408 : 2230, 71, -1, 185, -1, 2235, -1, -1, -1, -1,
13409 : 2240, -1, -1, -1, -1, -1, 4111, 5115, -1, -1,
13410 : -1, -1, -1, -1, 206, 207, 2256, -1, -1, -1,
13411 : -1, -1, 180, -1, 2264, -1, -1, 185, -1, 221,
13412 : -1, -1, -1, -1, -1, 2275, -1, -1, -1, 1443,
13413 : -1, -1, -1, -1, -1, -1, -1, 2287, 206, 207,
13414 : 2290, -1, -1, -1, -1, 2295, -1, -1, -1, -1,
13415 : 2300, 2301, 254, 221, -1, 2305, -1, -1, 2308, -1,
13416 : -1, 4176, 2312, 2313, 2314, 2315, 268, 2317, 1305, 271,
13417 : -1, 5189, -1, -1, -1, -1, -1, -1, -1, -1,
13418 : 2330, 2331, -1, 2333, -1, -1, 254, -1, -1, -1,
13419 : 180, -1, -1, 2343, 2344, 185, -1, -1, -1, -1,
13420 : 268, -1, -1, 271, -1, -1, -1, -1, -1, -1,
13421 : -1, -1, -1, -1, -1, 1352, 206, 207, -1, 1533,
13422 : 1534, 1535, 1536, -1, -1, -1, -1, -1, -1, -1,
13423 : -1, 221, -1, -1, -1, -1, -1, -1, -1, -1,
13424 : -1, -1, -1, -1, -1, 2395, -1, -1, -1, -1,
13425 : -1, -1, 354, -1, -1, -1, 5274, -1, -1, -1,
13426 : -1, 22, 1576, 1577, 254, -1, -1, 28, -1, -1,
13427 : -1, -1, 4287, 2423, -1, -1, -1, -1, 268, -1,
13428 : -1, 271, -1, 1597, -1, -1, 354, -1, -1, -1,
13429 : -1, -1, -1, -1, 1431, -1, -1, -1, -1, -1,
13430 : -1, -1, -1, 1440, -1, -1, -1, -1, 69, -1,
13431 : -1, -1, -1, -1, 4329, -1, -1, -1, 1632, 1633,
13432 : 1634, 1635, -1, -1, -1, -1, -1, -1, -1, -1,
13433 : -1, -1, -1, 1470, -1, -1, -1, -1, -1, -1,
13434 : -1, -1, -1, -1, -1, -1, 1483, -1, 450, 1486,
13435 : -1, 453, 454, 455, -1, 457, 458, 459, 460, 461,
13436 : 462, -1, 123, -1, 354, 467, -1, -1, -1, 130,
13437 : -1, -1, 133, -1, -1, -1, -1, -1, -1, -1,
13438 : -1, -1, 450, -1, -1, 453, 454, 455, -1, 457,
13439 : 458, 459, 460, 461, 462, -1, -1, 158, -1, 467,
13440 : 1537, -1, -1, -1, -1, -1, -1, -1, -1, -1,
13441 : -1, -1, 8, -1, 1551, 11, -1, -1, -1, 15,
13442 : 16, 17, -1, -1, -1, -1, -1, 1564, -1, 190,
13443 : -1, 1745, -1, 2583, -1, -1, 32, 1751, 5142, -1,
13444 : -1, -1, -1, -1, 40, -1, -1, -1, -1, -1,
13445 : -1, 47, -1, -1, -1, -1, -1, -1, -1, -1,
13446 : 450, -1, 2612, 453, 454, 455, -1, 457, 458, 459,
13447 : 460, 461, 462, -1, -1, 71, -1, 467, -1, 1616,
13448 : -1, -1, -1, -1, -1, -1, -1, -1, 249, -1,
13449 : 251, -1, -1, -1, -1, -1, -1, -1, -1, -1,
13450 : 261, -1, -1, -1, -1, -1, -1, -1, 1645, 270,
13451 : -1, -1, -1, -1, -1, 1652, -1, -1, -1, -1,
13452 : 281, -1, -1, -1, -1, -1, -1, -1, -1, -1,
13453 : -1, -1, -1, -1, -1, -1, -1, -1, 8, -1,
13454 : -1, 11, -1, -1, -1, 15, 16, 17, -1, -1,
13455 : -1, -1, -1, -1, -1, -1, -1, 318, -1, -1,
13456 : 321, 322, 32, -1, 1878, -1, -1, -1, -1, -1,
13457 : 40, -1, -1, 8, -1, -1, 11, 47, -1, -1,
13458 : 15, 16, 17, -1, 180, -1, -1, -1, 349, 185,
13459 : -1, -1, -1, -1, 4609, -1, -1, 32, -1, -1,
13460 : -1, 71, -1, -1, -1, 40, -1, -1, -1, -1,
13461 : 206, 207, 47, -1, -1, -1, 1753, -1, -1, -1,
13462 : -1, -1, -1, -1, -1, 221, -1, -1, -1, -1,
13463 : -1, -1, -1, -1, 4649, -1, 71, -1, -1, -1,
13464 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
13465 : -1, -1, 413, -1, 1791, 1792, -1, -1, 254, -1,
13466 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
13467 : -1, 1808, 268, -1, -1, 271, -1, -1, -1, -1,
13468 : -1, -1, -1, -1, -1, -1, -1, -1, 4703, -1,
13469 : -1, -1, -1, 4708, 4709, -1, -1, -1, -1, -1,
13470 : 8, -1, -1, 11, -1, -1, -1, 15, 16, 17,
13471 : 180, -1, -1, -1, -1, 185, 2866, -1, -1, -1,
13472 : 2870, -1, -1, -1, 32, -1, 2876, -1, -1, -1,
13473 : -1, -1, 40, -1, -1, -1, 206, 207, -1, 47,
13474 : -1, -1, 2892, 2893, -1, 180, -1, 2897, -1, -1,
13475 : 185, 221, 2902, 2903, 2904, -1, 2906, -1, 354, -1,
13476 : -1, -1, -1, 71, -1, -1, -1, -1, 1905, -1,
13477 : -1, 206, 207, -1, -1, -1, -1, 2927, 1915, -1,
13478 : -1, -1, -1, -1, 254, -1, 221, 2937, 2938, 2939,
13479 : 2940, -1, -1, -1, -1, -1, -1, -1, 268, -1,
13480 : -1, 271, -1, 4818, -1, -1, -1, -1, -1, -1,
13481 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 254,
13482 : -1, -1, -1, -1, 2974, -1, -1, 2977, 2978, 2979,
13483 : -1, -1, -1, 268, -1, -1, 271, -1, 2152, 2153,
13484 : -1, -1, -1, -1, -1, -1, -1, 2161, -1, 2163,
13485 : -1, -1, -1, 2167, 450, -1, -1, 453, 454, 455,
13486 : -1, 457, 458, 459, 460, 461, 462, -1, -1, -1,
13487 : -1, 467, 180, -1, -1, -1, -1, 185, -1, -1,
13488 : -1, -1, -1, -1, 354, -1, -1, -1, -1, -1,
13489 : -1, -1, -1, -1, -1, 2032, -1, 2034, 206, 207,
13490 : -1, -1, 8, -1, -1, 11, -1, -1, -1, 15,
13491 : 16, 17, -1, 221, -1, -1, -1, -1, -1, 354,
13492 : -1, -1, -1, -1, -1, -1, 32, -1, -1, 3079,
13493 : -1, -1, -1, 2070, 40, -1, -1, 3087, -1, -1,
13494 : -1, 47, -1, -1, -1, -1, 254, -1, -1, -1,
13495 : -1, -1, -1, -1, -1, 3105, -1, -1, -1, -1,
13496 : 268, -1, -1, 271, -1, 71, -1, -1, -1, -1,
13497 : -1, -1, 2286, -1, -1, 2289, -1, -1, -1, -1,
13498 : 450, -1, 3132, 453, 454, 455, -1, 457, 458, 459,
13499 : 460, 461, 462, -1, -1, -1, -1, 467, -1, -1,
13500 : -1, -1, 5017, -1, -1, -1, -1, -1, -1, -1,
13501 : -1, -1, -1, -1, -1, 450, -1, -1, 453, 454,
13502 : 455, -1, 457, 458, 459, 460, 461, 462, -1, -1,
13503 : -1, -1, 467, -1, 3184, -1, -1, -1, -1, 3189,
13504 : -1, -1, -1, 2357, -1, -1, 354, -1, -1, -1,
13505 : -1, 2365, 2366, -1, -1, -1, -1, -1, 2372, -1,
13506 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 3219,
13507 : -1, -1, 2386, -1, 180, -1, -1, -1, 22, 185,
13508 : -1, -1, -1, -1, 28, -1, -1, -1, 2225, -1,
13509 : -1, -1, -1, -1, -1, -1, -1, 41, -1, -1,
13510 : 206, 207, -1, -1, -1, -1, 3256, -1, 3258, 2246,
13511 : -1, -1, -1, 2427, -1, 221, -1, -1, -1, -1,
13512 : -1, -1, -1, -1, -1, 69, -1, -1, -1, -1,
13513 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
13514 : -1, 2455, 450, -1, -1, 453, 454, 455, 254, 457,
13515 : 458, 459, 460, 461, 462, -1, -1, -1, -1, 467,
13516 : -1, -1, 268, -1, -1, 271, -1, -1, -1, -1,
13517 : -1, -1, -1, 2310, 2311, -1, -1, 121, -1, 123,
13518 : -1, -1, -1, -1, -1, -1, 130, -1, -1, 133,
13519 : -1, -1, -1, -1, -1, 2509, -1, 2511, -1, -1,
13520 : -1, -1, -1, -1, -1, -1, 188, -1, -1, -1,
13521 : -1, -1, -1, -1, 158, 197, 198, -1, -1, -1,
13522 : -1, -1, -1, -1, 206, -1, -1, -1, -1, -1,
13523 : -1, -1, -1, -1, -1, -1, -1, 219, -1, -1,
13524 : -1, -1, -1, -1, -1, -1, 190, -1, 354, -1,
13525 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
13526 : -1, -1, -1, -1, -1, -1, -1, 8, 2405, -1,
13527 : 11, -1, -1, -1, 15, 16, 17, -1, -1, -1,
13528 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
13529 : -1, 32, -1, -1, -1, -1, -1, 2611, -1, 40,
13530 : -1, -1, -1, -1, -1, 249, 47, 251, -1, -1,
13531 : -1, -1, -1, -1, -1, -1, -1, 261, -1, -1,
13532 : -1, -1, -1, -1, -1, -1, 270, -1, -1, -1,
13533 : 71, -1, -1, -1, -1, -1, -1, 281, -1, -1,
13534 : -1, -1, -1, -1, 450, -1, -1, 453, 454, 455,
13535 : -1, 457, 458, 459, 460, 461, 462, -1, -1, -1,
13536 : -1, 467, -1, -1, 8, -1, 3516, 11, 3518, -1,
13537 : -1, 15, 16, 17, 318, 3525, -1, 321, 322, -1,
13538 : -1, -1, -1, -1, -1, -1, -1, -1, 32, -1,
13539 : -1, 3541, -1, -1, -1, -1, 40, -1, -1, -1,
13540 : -1, -1, -1, 47, -1, 349, -1, 3557, -1, -1,
13541 : 8, -1, -1, 11, -1, -1, -1, 15, 16, 17,
13542 : -1, -1, -1, -1, -1, 3575, -1, 71, -1, -1,
13543 : -1, -1, -1, -1, 32, -1, -1, -1, -1, 180,
13544 : -1, -1, 40, 3593, 185, 2582, -1, -1, -1, 47,
13545 : -1, -1, -1, 3603, -1, -1, -1, -1, -1, -1,
13546 : -1, -1, -1, -1, -1, 206, 207, -1, -1, 413,
13547 : -1, -1, 3622, 71, -1, -1, -1, -1, -1, -1,
13548 : 221, -1, -1, 3633, 3634, 3635, -1, -1, -1, -1,
13549 : 3640, 3641, 3642, 3643, -1, 22, 3646, 3647, -1, -1,
13550 : -1, 28, 3652, 3653, -1, 3655, 3656, 3657, 3658, 3659,
13551 : 3660, -1, 3662, 254, -1, -1, -1, -1, -1, -1,
13552 : -1, 3671, -1, -1, 3674, 3675, -1, 268, -1, -1,
13553 : 271, -1, -1, -1, -1, -1, 180, -1, -1, -1,
13554 : -1, 185, 69, 3693, -1, -1, -1, -1, -1, -1,
13555 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
13556 : -1, -1, 206, 207, 2878, 3715, 2880, 2881, 2882, -1,
13557 : -1, -1, -1, -1, -1, -1, -1, 221, -1, -1,
13558 : -1, -1, 180, -1, -1, -1, -1, 185, -1, 571,
13559 : -1, -1, 119, -1, -1, -1, 123, -1, 2735, -1,
13560 : -1, 583, -1, 130, -1, -1, 133, 589, 206, 207,
13561 : 254, -1, -1, 354, -1, -1, -1, -1, -1, -1,
13562 : 602, -1, -1, 221, 268, -1, -1, 271, -1, -1,
13563 : 8, 158, -1, 11, -1, -1, 618, 15, 16, 17,
13564 : -1, 623, -1, -1, -1, -1, -1, 629, -1, -1,
13565 : -1, 633, 634, -1, 32, -1, 254, -1, -1, 641,
13566 : -1, -1, 40, 190, 3814, -1, -1, -1, -1, 47,
13567 : 268, 653, 654, 271, -1, -1, -1, -1, -1, -1,
13568 : -1, -1, 664, -1, -1, -1, -1, -1, -1, -1,
13569 : -1, -1, -1, 71, -1, -1, 3846, -1, -1, -1,
13570 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 450,
13571 : 354, -1, 453, 454, 455, -1, 457, 458, 459, 460,
13572 : 461, 462, 249, -1, 251, -1, 467, -1, -1, -1,
13573 : -1, -1, -1, -1, 261, -1, -1, -1, -1, -1,
13574 : -1, -1, -1, 270, -1, -1, -1, -1, -1, -1,
13575 : -1, -1, -1, -1, 281, -1, 354, -1, -1, -1,
13576 : -1, 743, 744, -1, -1, -1, -1, 749, -1, -1,
13577 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
13578 : -1, 3095, -1, -1, -1, -1, -1, -1, -1, -1,
13579 : -1, 318, -1, 775, 321, 322, -1, -1, -1, -1,
13580 : -1, -1, 180, -1, -1, -1, 450, 185, -1, 453,
13581 : 454, 455, -1, 457, 458, 459, 460, 461, 462, -1,
13582 : -1, -1, 349, 467, -1, -1, -1, -1, 206, 207,
13583 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
13584 : -1, -1, -1, 221, -1, -1, -1, -1, -1, -1,
13585 : -1, -1, 450, -1, 2991, 453, 454, 455, -1, 457,
13586 : 458, 459, 460, 461, 462, -1, -1, -1, -1, 467,
13587 : -1, -1, -1, -1, -1, -1, 254, -1, -1, -1,
13588 : -1, -1, -1, -1, -1, -1, 413, -1, -1, -1,
13589 : 268, -1, -1, 271, -1, -1, -1, 8, -1, -1,
13590 : 11, -1, -1, -1, 15, 16, 17, -1, -1, -1,
13591 : 4060, -1, -1, -1, 4064, 4065, 4066, 4067, -1, -1,
13592 : 4070, 32, -1, -1, -1, -1, -1, -1, -1, 40,
13593 : -1, -1, -1, -1, -1, -1, 47, 919, -1, -1,
13594 : -1, -1, -1, -1, 926, -1, -1, -1, 930, 3263,
13595 : -1, 4101, 4102, 4103, -1, 4105, -1, 4107, 4108, -1,
13596 : 71, -1, -1, -1, -1, 8, -1, 949, 11, 4119,
13597 : 4120, -1, 15, 16, 17, -1, 354, -1, -1, -1,
13598 : -1, -1, 964, -1, -1, -1, -1, -1, -1, 32,
13599 : -1, -1, -1, -1, -1, -1, 4146, 40, -1, -1,
13600 : 3137, 3138, 3139, -1, 47, -1, -1, -1, -1, -1,
13601 : -1, -1, -1, -1, -1, -1, -1, 3154, -1, 4169,
13602 : -1, -1, 8, -1, -1, 11, -1, 1009, 71, 15,
13603 : 16, 17, -1, -1, -1, -1, -1, -1, -1, -1,
13604 : 3177, -1, -1, -1, -1, -1, 32, -1, -1, -1,
13605 : 3187, 3188, -1, -1, 40, 3192, -1, -1, -1, -1,
13606 : -1, 47, -1, -1, -1, -1, 1048, -1, 3205, 180,
13607 : -1, -1, 450, -1, 185, 453, 454, 455, -1, 457,
13608 : 458, 459, 460, 461, 462, 71, -1, -1, -1, 467,
13609 : -1, -1, -1, 4243, -1, 206, 207, -1, -1, -1,
13610 : -1, -1, -1, 1085, -1, -1, -1, -1, -1, -1,
13611 : 221, -1, -1, -1, -1, -1, -1, 1099, -1, -1,
13612 : -1, -1, 4272, -1, -1, -1, 1108, -1, -1, -1,
13613 : -1, -1, -1, 22, 1116, -1, -1, 180, -1, 28,
13614 : -1, -1, 185, 254, -1, -1, -1, 4297, -1, -1,
13615 : -1, -1, -1, -1, -1, -1, -1, 268, -1, -1,
13616 : 271, 3298, 1144, 206, 207, -1, -1, -1, -1, -1,
13617 : -1, 1153, -1, 1155, -1, -1, -1, -1, 221, -1,
13618 : 69, -1, -1, -1, -1, -1, -1, -1, 1170, -1,
13619 : -1, 1173, -1, -1, 180, -1, -1, -1, -1, 185,
13620 : -1, -1, -1, 1185, -1, -1, -1, -1, -1, -1,
13621 : -1, 254, -1, -1, -1, -1, 3530, 3531, 3532, 3533,
13622 : 206, 207, -1, -1, -1, 268, -1, -1, 271, -1,
13623 : 119, -1, -1, 1215, 123, 221, -1, -1, -1, -1,
13624 : -1, 130, -1, 354, 133, -1, -1, -1, -1, -1,
13625 : -1, -1, -1, -1, 4404, -1, -1, -1, -1, -1,
13626 : -1, 1243, 1244, 1245, -1, 1247, -1, -1, 254, 158,
13627 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
13628 : -1, -1, 268, -1, -1, 1267, -1, 3424, 3425, 3426,
13629 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
13630 : -1, 190, -1, -1, -1, -1, -1, -1, -1, 1291,
13631 : -1, 354, -1, -1, 4464, -1, -1, 1299, 1300, -1,
13632 : -1, -1, -1, -1, -1, -1, 1308, 1309, -1, -1,
13633 : -1, -1, 4482, -1, -1, -1, -1, 4487, 4488, 450,
13634 : -1, -1, 453, 454, 455, -1, 457, 458, 459, 460,
13635 : 461, 462, -1, -1, 1336, -1, 467, -1, 1340, 1341,
13636 : 249, -1, 251, -1, -1, -1, -1, -1, 354, -1,
13637 : -1, -1, 261, 1355, -1, -1, -1, 1359, -1, -1,
13638 : -1, 270, -1, -1, 1366, -1, -1, -1, 4538, -1,
13639 : -1, -1, 281, -1, 3708, -1, -1, -1, -1, -1,
13640 : 3714, -1, -1, -1, -1, -1, -1, 450, 4558, -1,
13641 : 453, 454, 455, -1, 457, 458, 459, 460, 461, 462,
13642 : -1, -1, -1, -1, 467, -1, -1, -1, -1, 318,
13643 : -1, 8, 321, 322, 11, -1, -1, -1, 15, 16,
13644 : 17, -1, -1, 1425, -1, 4595, -1, -1, -1, -1,
13645 : -1, -1, 4602, -1, -1, 32, -1, -1, -1, 36,
13646 : 349, -1, -1, 40, 450, -1, -1, 453, 454, 455,
13647 : 47, 457, 458, 459, 460, 461, 462, -1, -1, -1,
13648 : -1, -1, 1464, -1, -1, -1, -1, -1, -1, -1,
13649 : -1, -1, -1, -1, 71, -1, -1, -1, -1, -1,
13650 : -1, -1, -1, -1, -1, 1487, -1, -1, -1, -1,
13651 : 8, -1, -1, 11, -1, -1, -1, 15, 16, 17,
13652 : 4670, -1, -1, -1, 413, -1, -1, -1, -1, 8,
13653 : -1, -1, 11, -1, -1, -1, 15, 16, 17, -1,
13654 : -1, 4691, 40, 120, -1, -1, -1, -1, -1, 47,
13655 : -1, -1, 4702, 32, -1, -1, -1, -1, -1, -1,
13656 : -1, 40, -1, -1, -1, 1547, -1, -1, 47, -1,
13657 : -1, -1, -1, 71, -1, 3712, -1, -1, -1, -1,
13658 : -1, -1, -1, -1, -1, 1567, 3723, -1, -1, -1,
13659 : -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
13660 : 1582, -1, -1, 180, -1, -1, -1, -1, 185, 1591,
13661 : -1, -1, -1, -1, 4764, -1, 1598, 3754, -1, -1,
13662 : -1, 1603, -1, -1, -1, -1, -1, -1, -1, 206,
13663 : 207, -1, -1, -1, -1, -1, -1, -1, -1, -1,
13664 : 1622, -1, -1, -1, 221, -1, -1, -1, 1630, -1,
13665 : -1, 3788, -1, -1, -1, -1, -1, -1, -1, -1,
13666 : 1642, -1, -1, -1, -1, -1, -1, -1, -1, -1,
13667 : -1, -1, -1, -1, -1, 4825, 1658, 254, -1, -1,
13668 : -1, -1, 180, 1665, -1, -1, 1668, 185, -1, -1,
13669 : 1672, 268, -1, -1, 271, -1, 1678, 3834, -1, -1,
13670 : -1, 180, 1684, -1, -1, -1, 185, -1, 206, 207,
13671 : -1, -1, -1, -1, 1696, -1, -1, -1, -1, -1,
13672 : -1, -1, -1, 221, -1, -1, -1, 206, 207, -1,
13673 : -1, 1713, 1714, -1, 1716, 1717, -1, 4887, -1, -1,
13674 : -1, -1, 221, -1, -1, -1, 1728, -1, -1, -1,
13675 : -1, -1, 4902, -1, 1736, 1737, 254, 1739, 1740, -1,
13676 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
13677 : 268, -1, -1, 1755, -1, 254, -1, 354, -1, -1,
13678 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 268,
13679 : -1, -1, 271, -1, -1, -1, -1, -1, -1, -1,
13680 : -1, 4951, -1, -1, -1, 1787, -1, -1, -1, 3946,
13681 : 3947, 3948, 3949, -1, -1, -1, 4966, -1, -1, -1,
13682 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
13683 : -1, -1, -1, 410, -1, -1, -1, -1, -1, 1821,
13684 : -1, 1823, 4156, -1, -1, -1, 1828, 1829, -1, -1,
13685 : -1, -1, -1, 1835, 1836, 1837, 354, 4171, -1, 1841,
13686 : -1, 1843, 1844, 1845, 1846, 1847, 1848, -1, 1850, -1,
13687 : 1852, 1853, -1, 450, 1856, 354, 453, 454, 455, -1,
13688 : 457, 458, 459, 460, 461, 462, -1, -1, 1870, 1871,
13689 : 1872, 1873, 1874, 1875, 5044, -1, -1, 1879, -1, -1,
13690 : -1, 1883, -1, -1, 1886, -1, -1, 1889, 1890, 1891,
13691 : 1892, 1893, 1894, 1895, 1896, 1897, -1, 1899, -1, -1,
13692 : -1, -1, -1, -1, 1906, -1, 1908, -1, -1, -1,
13693 : -1, -1, -1, -1, -1, -1, 5086, -1, -1, -1,
13694 : -1, -1, -1, 4257, -1, -1, -1, -1, -1, -1,
13695 : -1, -1, 450, -1, -1, 453, 454, 455, -1, 457,
13696 : 458, 459, 460, 461, 462, -1, -1, -1, -1, -1,
13697 : -1, 450, -1, -1, 453, 454, 455, -1, 457, 458,
13698 : 459, 460, 461, 462, -1, -1, 25, -1, 467, 8,
13699 : -1, -1, 11, -1, -1, -1, 15, 16, 17, -1,
13700 : -1, -1, -1, -1, -1, -1, -1, -1, 8, -1,
13701 : -1, 11, -1, 32, -1, 15, 16, 17, -1, -1,
13702 : 5170, 40, -1, -1, -1, -1, -1, -1, 47, -1,
13703 : -1, -1, 32, 72, -1, -1, -1, -1, -1, -1,
13704 : 40, -1, -1, -1, -1, -1, -1, 47, 87, -1,
13705 : -1, -1, 71, -1, 2036, -1, -1, -1, -1, -1,
13706 : -1, -1, -1, -1, -1, -1, 105, -1, -1, -1,
13707 : -1, 71, 111, -1, -1, -1, -1, -1, -1, -1,
13708 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 128,
13709 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 2081,
13710 : 139, -1, -1, -1, -1, -1, 2088, -1, 147, -1,
13711 : 2092, 2093, 4426, 4427, 4428, -1, -1, 2099, -1, -1,
13712 : 159, -1, 2104, 2105, -1, 164, -1, 2109, -1, -1,
13713 : -1, -1, 171, -1, -1, 2117, -1, -1, -1, -1,
13714 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 188,
13715 : -1, -1, 4289, 2135, -1, -1, 2138, -1, -1, -1,
13716 : -1, 180, -1, -1, -1, -1, 185, -1, 2150, -1,
13717 : -1, -1, 2154, -1, 213, 2157, -1, -1, -1, -1,
13718 : 180, -1, -1, -1, 2166, 185, -1, 206, 207, -1,
13719 : -1, -1, -1, -1, -1, 234, -1, 2179, -1, -1,
13720 : -1, -1, 221, -1, -1, -1, 206, 207, -1, -1,
13721 : -1, -1, -1, -1, -1, 2197, 2198, -1, -1, -1,
13722 : -1, 221, -1, -1, 2206, -1, -1, -1, -1, 268,
13723 : -1, -1, -1, -1, -1, 254, -1, -1, -1, -1,
13724 : -1, -1, -1, -1, -1, -1, 2228, 2229, -1, 268,
13725 : 2232, 290, 271, -1, 254, -1, -1, -1, -1, -1,
13726 : -1, 300, -1, -1, 303, -1, 4580, -1, 268, -1,
13727 : -1, 271, -1, 2255, -1, 2257, -1, -1, -1, -1,
13728 : -1, 2263, -1, -1, -1, -1, -1, -1, 2270, -1,
13729 : 329, -1, 2274, -1, -1, 334, -1, 336, -1, -1,
13730 : -1, -1, -1, -1, 343, -1, -1, 346, -1, -1,
13731 : -1, -1, 2294, -1, -1, -1, -1, 2299, -1, -1,
13732 : -1, 2303, -1, -1, 2306, -1, 365, -1, -1, -1,
13733 : -1, -1, 371, -1, 2316, 354, 375, 376, -1, -1,
13734 : 379, -1, -1, -1, 383, -1, -1, 2329, -1, -1,
13735 : -1, -1, -1, 392, 354, -1, -1, 2339, 397, -1,
13736 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 8,
13737 : 409, -1, 11, -1, -1, 22, 15, 16, 17, -1,
13738 : 4517, 28, -1, 422, -1, -1, -1, -1, -1, -1,
13739 : -1, -1, -1, 32, -1, 4532, -1, -1, -1, -1,
13740 : 4537, 40, 2384, 2385, -1, -1, -1, -1, 47, 4723,
13741 : -1, 4725, 2394, -1, -1, -1, -1, -1, -1, -1,
13742 : -1, -1, 69, -1, -1, 4562, -1, -1, -1, -1,
13743 : -1, 450, 71, -1, 453, 454, 455, -1, 457, 458,
13744 : 459, 460, 461, 462, 4581, -1, 2428, -1, 467, -1,
13745 : 450, -1, -1, 453, 454, 455, -1, 457, 458, 459,
13746 : 460, 461, 462, 8, -1, -1, 11, 467, -1, -1,
13747 : 15, 16, 17, -1, -1, -1, 123, -1, -1, -1,
13748 : -1, -1, -1, 130, -1, 2467, 133, 32, -1, 2471,
13749 : -1, -1, -1, -1, -1, 40, -1, -1, 2480, -1,
13750 : -1, -1, 47, -1, -1, -1, -1, -1, -1, -1,
13751 : -1, 158, -1, -1, -1, -1, -1, -1, -1, -1,
13752 : -1, -1, -1, -1, -1, -1, 71, -1, -1, -1,
13753 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
13754 : -1, 180, 2524, 190, -1, -1, 185, -1, -1, -1,
13755 : 4687, -1, -1, -1, -1, -1, -1, -1, -1, -1,
13756 : -1, -1, -1, -1, 4878, -1, -1, 206, 207, -1,
13757 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
13758 : 2562, -1, 221, -1, -1, -1, -1, -1, -1, -1,
13759 : -1, -1, -1, -1, -1, -1, 2578, -1, 2580, -1,
13760 : -1, -1, 249, -1, 251, -1, 2588, -1, -1, -1,
13761 : 2592, -1, 157, 2595, 261, 254, 2598, 162, -1, -1,
13762 : -1, -1, -1, 270, -1, -1, 2608, -1, -1, 268,
13763 : -1, -1, 271, -1, 281, 180, -1, 2619, -1, -1,
13764 : 185, -1, 2624, 4780, -1, -1, -1, 4961, -1, -1,
13765 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 629,
13766 : -1, 206, 207, -1, -1, 2647, 2648, 2649, -1, -1,
13767 : 2652, 318, -1, -1, 321, 322, 221, -1, 2660, 2661,
13768 : 2662, 2663, -1, 653, -1, -1, 2668, -1, -1, -1,
13769 : -1, 2673, 2674, -1, 2676, -1, 2678, -1, -1, -1,
13770 : -1, -1, 349, -1, -1, -1, -1, 2689, 2690, 254,
13771 : -1, 2693, -1, -1, -1, 354, -1, -1, -1, -1,
13772 : -1, -1, -1, 268, -1, 2707, 271, 2709, -1, 2711,
13773 : -1, -1, 197, 198, -1, -1, -1, -1, -1, -1,
13774 : -1, 206, -1, -1, -1, 5059, -1, -1, -1, 2731,
13775 : -1, -1, -1, -1, 219, -1, -1, -1, -1, -1,
13776 : 2742, -1, 2744, 2745, 2746, -1, 413, -1, -1, -1,
13777 : -1, -1, -1, -1, -1, -1, -1, 2759, -1, -1,
13778 : 2762, -1, -1, 22, -1, -1, -1, -1, -1, 28,
13779 : -1, 2773, -1, -1, -1, -1, 2778, -1, -1, -1,
13780 : -1, -1, 2784, -1, -1, -1, -1, -1, -1, 354,
13781 : -1, 450, 2794, -1, 453, 454, 455, -1, 457, 458,
13782 : 459, 460, 461, 462, -1, -1, 465, 22, -1, -1,
13783 : 69, 2813, -1, 28, 2816, -1, 2818, 5151, -1, -1,
13784 : -1, 2823, -1, -1, -1, -1, -1, -1, -1, -1,
13785 : -1, -1, -1, -1, -1, -1, 2838, 2839, -1, -1,
13786 : -1, -1, 2844, -1, -1, -1, -1, -1, -1, 5183,
13787 : 5184, -1, -1, -1, 69, -1, -1, -1, -1, -1,
13788 : -1, -1, -1, 2865, 123, -1, 2868, -1, -1, -1,
13789 : 2872, 130, -1, -1, 133, -1, -1, 20, -1, -1,
13790 : -1, -1, 25, -1, -1, 450, -1, 2889, 453, 454,
13791 : 455, -1, 457, 458, 459, 460, 461, 462, -1, 158,
13792 : -1, -1, -1, -1, -1, -1, -1, -1, 123, -1,
13793 : -1, -1, 2914, -1, -1, 130, 59, -1, 133, -1,
13794 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 72,
13795 : 73, 190, -1, -1, -1, -1, 926, 5271, -1, -1,
13796 : 83, -1, -1, 158, 87, -1, -1, 2949, 2950, 2951,
13797 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 949,
13798 : -1, -1, 105, -1, -1, -1, -1, -1, -1, -1,
13799 : -1, 2973, -1, -1, 964, 190, -1, -1, -1, -1,
13800 : -1, 2983, -1, 2985, -1, 128, -1, -1, -1, -1,
13801 : 249, 2993, 251, -1, -1, -1, 139, -1, -1, -1,
13802 : -1, -1, 261, -1, 147, -1, 3008, -1, -1, -1,
13803 : -1, 270, -1, -1, -1, -1, 159, 8, -1, -1,
13804 : 11, 164, 281, -1, 15, 16, 17, -1, -1, -1,
13805 : -1, -1, -1, -1, 249, -1, 251, -1, -1, -1,
13806 : -1, 32, -1, -1, -1, 188, 261, -1, -1, 40,
13807 : -1, -1, -1, -1, -1, 270, 47, -1, 1048, 318,
13808 : -1, -1, 321, 322, 3066, -1, 281, -1, -1, -1,
13809 : 213, -1, -1, -1, -1, -1, -1, -1, -1, -1,
13810 : 71, -1, -1, -1, 3086, -1, -1, -1, -1, -1,
13811 : 349, 234, 3094, -1, -1, -1, -1, -1, 583, -1,
13812 : -1, -1, -1, 318, 589, -1, 321, 322, -1, -1,
13813 : -1, -1, -1, -1, -1, 3117, -1, 602, -1, -1,
13814 : -1, -1, 3124, 3125, -1, 268, -1, -1, -1, 3131,
13815 : -1, 3133, -1, 618, 349, -1, -1, -1, -1, -1,
13816 : -1, -1, -1, -1, 3146, -1, 3148, 290, 633, 634,
13817 : -1, -1, -1, -1, 413, -1, 641, 300, 22, -1,
13818 : 303, -1, -1, 1153, 28, -1, -1, -1, 3170, 654,
13819 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 664,
13820 : -1, -1, -1, -1, -1, -1, 329, -1, -1, 180,
13821 : -1, 334, 3194, 336, 185, -1, -1, -1, 413, -1,
13822 : 343, -1, -1, 346, -1, 69, -1, -1, -1, 3211,
13823 : 3212, -1, -1, -1, -1, 206, 207, -1, -1, -1,
13824 : -1, -1, 365, 3225, -1, -1, -1, -1, 371, -1,
13825 : 221, -1, -1, 376, -1, -1, 379, -1, -1, -1,
13826 : 383, -1, -1, -1, -1, -1, -1, 390, -1, 392,
13827 : -1, -1, -1, -1, 397, -1, -1, 3259, -1, 123,
13828 : -1, -1, -1, 254, 749, -1, 130, -1, -1, 133,
13829 : -1, -1, -1, 3275, -1, -1, -1, 268, -1, 422,
13830 : 271, -1, -1, 8, -1, -1, 11, -1, -1, -1,
13831 : 15, 16, 17, -1, 158, 3297, -1, -1, 3300, -1,
13832 : -1, -1, -1, 294, -1, -1, -1, 32, -1, -1,
13833 : -1, -1, -1, -1, -1, 40, 3318, -1, -1, 3321,
13834 : -1, -1, 47, -1, -1, 3327, 190, -1, -1, -1,
13835 : -1, 3333, -1, 3335, -1, -1, 3338, -1, -1, -1,
13836 : 3342, 3343, 3344, 3345, 3346, -1, 71, 3349, 3350, 3351,
13837 : 3352, 3353, 3354, 3355, 3356, 3357, 3358, -1, -1, -1,
13838 : 3362, 3363, -1, 354, -1, 3367, -1, -1, -1, 1359,
13839 : 3372, -1, -1, -1, 3376, -1, 3378, -1, 3380, 370,
13840 : -1, -1, -1, -1, -1, 249, 3388, 251, -1, 3391,
13841 : -1, 3393, -1, -1, -1, -1, -1, 261, -1, 3401,
13842 : 3402, -1, -1, 3405, 3406, -1, 270, -1, 3410, 3411,
13843 : -1, -1, -1, -1, -1, 3417, -1, 281, -1, -1,
13844 : -1, -1, -1, -1, -1, 3427, -1, -1, 3430, -1,
13845 : -1, 156, -1, -1, -1, 1425, -1, -1, -1, -1,
13846 : -1, 3443, -1, -1, -1, 930, -1, 3449, 3450, 3451,
13847 : -1, -1, -1, -1, 318, 180, -1, 321, 322, 450,
13848 : 185, -1, 453, 454, 455, -1, 457, 458, 459, 460,
13849 : 461, 462, -1, 3475, 1464, -1, -1, -1, -1, -1,
13850 : -1, 206, 207, -1, -1, 349, -1, -1, -1, 3491,
13851 : -1, -1, -1, -1, -1, 3497, 221, 1487, -1, -1,
13852 : -1, -1, -1, -1, -1, -1, -1, 3509, -1, -1,
13853 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
13854 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 254,
13855 : -1, -1, -1, -1, -1, -1, -1, -1, 3540, -1,
13856 : -1, -1, -1, 268, -1, -1, 271, -1, -1, 413,
13857 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
13858 : -1, -1, -1, -1, -1, -1, -1, 292, -1, -1,
13859 : -1, -1, -1, -1, -1, -1, -1, 1567, -1, -1,
13860 : -1, -1, -1, -1, -1, -1, -1, -1, 3590, -1,
13861 : -1, -1, 1582, 3595, 3596, 3597, -1, -1, -1, -1,
13862 : 1085, 1591, -1, -1, -1, -1, -1, -1, -1, -1,
13863 : -1, -1, -1, 1603, 1099, -1, -1, 3619, 3620, -1,
13864 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 354,
13865 : -1, 1116, -1, 8, 3636, -1, 11, -1, -1, -1,
13866 : 15, 16, 17, -1, -1, -1, -1, -1, -1, 3651,
13867 : -1, -1, 3654, -1, -1, -1, -1, 32, -1, 1144,
13868 : 35, -1, -1, -1, -1, 40, -1, -1, 1658, -1,
13869 : 1155, -1, 47, -1, -1, -1, -1, -1, -1, -1,
13870 : -1, -1, 1672, -1, -1, 1170, -1, -1, 1173, -1,
13871 : -1, -1, -1, -1, 1684, -1, 71, -1, -1, -1,
13872 : -1, -1, -1, -1, -1, -1, 1696, -1, -1, -1,
13873 : -1, -1, -1, -1, 3716, -1, -1, -1, -1, -1,
13874 : -1, -1, -1, -1, -1, 450, -1, -1, 453, 454,
13875 : 455, -1, 457, 458, 459, 460, 461, 462, -1, 3741,
13876 : 3742, -1, -1, 3745, -1, -1, 1736, 1737, -1, 3751,
13877 : -1, -1, -1, -1, -1, -1, 3758, -1, -1, -1,
13878 : -1, -1, -1, -1, -1, -1, -1, -1, 3770, -1,
13879 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
13880 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
13881 : -1, -1, -1, 3795, 3796, 3797, -1, -1, -1, -1,
13882 : -1, -1, -1, -1, -1, 180, 1291, -1, -1, -1,
13883 : 185, -1, -1, -1, 1299, 1300, -1, -1, -1, -1,
13884 : -1, -1, -1, -1, 1309, -1, -1, -1, -1, -1,
13885 : -1, 206, 207, -1, -1, -1, -1, -1, -1, -1,
13886 : 3842, -1, -1, -1, -1, 198, 221, -1, -1, -1,
13887 : -1, -1, -1, 206, -1, -1, -1, -1, -1, -1,
13888 : -1, 3863, -1, -1, -1, -1, 219, -1, -1, -1,
13889 : -1, -1, 3874, -1, -1, -1, -1, -1, -1, 254,
13890 : 1870, 1366, -1, -1, -1, -1, -1, -1, -1, -1,
13891 : -1, -1, -1, 268, -1, -1, 271, -1, -1, -1,
13892 : -1, -1, 3904, -1, -1, -1, -1, -1, -1, -1,
13893 : -1, -1, 3914, 3915, -1, 3917, -1, -1, 1908, 3921,
13894 : 3922, -1, -1, -1, 3926, 3927, -1, -1, -1, 3931,
13895 : -1, -1, 3934, 3935, -1, -1, -1, 3939, -1, -1,
13896 : -1, -1, -1, 3945, -1, -1, -1, -1, -1, -1,
13897 : -1, -1, -1, -1, -1, 3957, -1, -1, -1, -1,
13898 : -1, -1, -1, 3965, -1, -1, -1, 3969, -1, -1,
13899 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 354,
13900 : 3982, -1, -1, -1, -1, 3987, -1, -1, -1, -1,
13901 : -1, 3993, -1, -1, -1, -1, -1, -1, -1, -1,
13902 : -1, 8, -1, -1, 11, -1, 4008, -1, 15, 16,
13903 : 17, -1, -1, -1, -1, -1, -1, -1, -1, -1,
13904 : -1, -1, -1, -1, -1, 32, -1, -1, 35, -1,
13905 : -1, -1, 4034, 40, -1, -1, -1, -1, -1, -1,
13906 : 47, -1, -1, -1, -1, -1, -1, -1, -1, -1,
13907 : 4052, -1, -1, -1, -1, -1, -1, -1, -1, -1,
13908 : -1, -1, 1547, -1, 71, -1, -1, 4069, -1, -1,
13909 : -1, -1, 4074, -1, -1, 450, -1, -1, 453, 454,
13910 : 455, -1, 457, 458, 459, 460, 461, 462, 4090, -1,
13911 : -1, -1, -1, -1, -1, -1, -1, -1, 2088, -1,
13912 : -1, -1, 2092, 2093, 4106, -1, -1, -1, -1, 4111,
13913 : -1, -1, -1, 1598, -1, -1, 4118, -1, -1, -1,
13914 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
13915 : -1, -1, 4134, -1, -1, -1, -1, 1622, -1, -1,
13916 : -1, -1, -1, 4145, -1, 1630, -1, -1, -1, -1,
13917 : -1, -1, -1, -1, -1, -1, -1, 1642, -1, -1,
13918 : -1, -1, -1, -1, 2154, -1, -1, -1, -1, -1,
13919 : -1, -1, -1, 180, 4176, -1, 2166, -1, 185, -1,
13920 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
13921 : -1, -1, -1, -1, -1, -1, -1, -1, 4200, 206,
13922 : 207, -1, -1, -1, -1, -1, -1, -1, -1, -1,
13923 : -1, -1, 4214, -1, 221, -1, 2206, -1, -1, -1,
13924 : -1, -1, -1, -1, -1, -1, -1, -1, 1713, 1714,
13925 : 583, 1716, 1717, -1, -1, 4237, 589, -1, -1, -1,
13926 : -1, -1, 4244, 1728, -1, -1, -1, 254, -1, 602,
13927 : -1, -1, -1, -1, 1739, 1740, -1, -1, -1, -1,
13928 : -1, 268, -1, 22, 271, 618, -1, -1, -1, 28,
13929 : 1755, -1, -1, -1, -1, -1, 35, -1, -1, -1,
13930 : -1, 634, -1, 4285, -1, 4287, -1, -1, 641, -1,
13931 : -1, -1, -1, -1, -1, 54, -1, -1, -1, -1,
13932 : -1, 654, 1787, -1, -1, -1, -1, 4309, -1, -1,
13933 : 69, 664, -1, -1, -1, -1, -1, -1, -1, -1,
13934 : -1, -1, -1, 4325, -1, -1, -1, 4329, -1, -1,
13935 : -1, -1, 4334, -1, -1, -1, -1, -1, -1, -1,
13936 : -1, -1, -1, -1, 103, -1, -1, 354, -1, 4351,
13937 : 4352, -1, -1, 4355, -1, -1, -1, -1, -1, -1,
13938 : -1, -1, -1, -1, 123, -1, -1, -1, 4370, -1,
13939 : -1, 130, -1, -1, 133, 4377, -1, -1, -1, -1,
13940 : 4382, -1, -1, 4385, 4386, -1, -1, -1, -1, -1,
13941 : 1875, 4393, 4394, -1, -1, 2385, 749, -1, -1, 158,
13942 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 4411,
13943 : -1, 4413, -1, -1, -1, -1, 4418, -1, 4420, -1,
13944 : -1, -1, 4424, -1, -1, -1, 743, 744, 187, -1,
13945 : -1, 190, -1, -1, -1, -1, -1, -1, -1, -1,
13946 : -1, -1, -1, 450, -1, -1, 453, 454, 455, -1,
13947 : 457, 458, 459, 460, 461, 462, -1, -1, -1, -1,
13948 : 4462, 4463, -1, -1, -1, -1, -1, -1, -1, -1,
13949 : 4472, -1, -1, -1, -1, -1, 235, 2467, -1, 238,
13950 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
13951 : 249, -1, 251, -1, -1, -1, -1, -1, -1, -1,
13952 : -1, -1, 261, -1, -1, -1, 4508, -1, -1, -1,
13953 : -1, 270, 4514, -1, -1, -1, -1, -1, -1, -1,
13954 : -1, 280, 281, -1, -1, -1, -1, -1, -1, -1,
13955 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
13956 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
13957 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 318,
13958 : -1, -1, 321, 322, 323, -1, -1, 4569, -1, -1,
13959 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
13960 : 4582, -1, 4584, -1, 343, -1, -1, -1, 2578, -1,
13961 : 349, -1, -1, -1, -1, -1, 2081, -1, -1, -1,
13962 : -1, -1, -1, -1, 363, 2595, 4608, 4609, -1, 4611,
13963 : -1, 4613, -1, -1, 2099, -1, -1, -1, 2608, 2104,
13964 : 2105, -1, -1, -1, 2109, -1, -1, -1, -1, -1,
13965 : -1, 4633, 2117, -1, -1, -1, -1, 4639, -1, -1,
13966 : -1, 4643, -1, -1, -1, -1, -1, 4649, -1, -1,
13967 : 2135, -1, 4654, -1, 413, -1, -1, -1, -1, -1,
13968 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
13969 : -1, -1, 2157, -1, -1, -1, -1, -1, -1, -1,
13970 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
13971 : -1, -1, -1, 4695, 2179, -1, -1, -1, -1, -1,
13972 : -1, 4703, -1, -1, -1, -1, 4708, 4709, -1, -1,
13973 : -1, 4713, 2197, 2198, -1, -1, -1, -1, -1, -1,
13974 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 4731,
13975 : -1, -1, 1085, -1, -1, -1, -1, -1, -1, -1,
13976 : -1, -1, -1, 2228, 2229, -1, 1099, 2232, -1, -1,
13977 : -1, -1, -1, -1, 2744, 2745, 2746, -1, 4760, -1,
13978 : -1, -1, -1, 1116, -1, -1, -1, -1, -1, -1,
13979 : 2255, -1, 2257, -1, -1, -1, -1, -1, 2263, -1,
13980 : -1, 4783, -1, -1, -1, 2270, -1, -1, -1, 2274,
13981 : -1, 1144, -1, -1, -1, -1, -1, -1, -1, -1,
13982 : -1, -1, 1155, -1, -1, -1, -1, -1, -1, 2294,
13983 : -1, -1, -1, -1, 2299, 4817, 4818, 1170, 2303, -1,
13984 : 1173, 2306, -1, 2813, -1, -1, 2816, -1, 2818, -1,
13985 : -1, 2316, -1, 2823, -1, -1, 4838, -1, -1, 4841,
13986 : -1, -1, 4844, -1, 2329, -1, -1, -1, -1, -1,
13987 : -1, -1, -1, 4855, 2339, -1, -1, -1, 4860, -1,
13988 : 4862, -1, 4864, -1, -1, -1, -1, -1, 1185, -1,
13989 : 4872, -1, -1, -1, -1, -1, -1, -1, -1, -1,
13990 : -1, -1, 2872, -1, -1, -1, -1, -1, 4890, -1,
13991 : -1, -1, -1, -1, -1, -1, -1, -1, 1215, 2889,
13992 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 2394,
13993 : -1, -1, -1, -1, -1, -1, -1, -1, 4920, -1,
13994 : 4922, -1, -1, -1, 2914, -1, 1243, 1244, 1245, -1,
13995 : 1247, -1, -1, -1, -1, -1, -1, -1, 1291, -1,
13996 : -1, -1, -1, -1, -1, -1, 1299, 1300, -1, -1,
13997 : 1267, -1, -1, -1, -1, -1, 1309, -1, -1, -1,
13998 : -1, -1, -1, -1, -1, -1, -1, -1, 8, -1,
13999 : 4972, 11, -1, -1, -1, 15, 16, 17, 4980, -1,
14000 : -1, -1, -1, -1, -1, -1, 2471, -1, -1, -1,
14001 : -1, 1308, 32, 2983, -1, 2985, -1, -1, -1, -1,
14002 : 40, -1, -1, 5005, 5006, -1, -1, 47, -1, -1,
14003 : -1, 5013, 5014, 1366, -1, 5017, -1, -1, -1, 1336,
14004 : -1, 5023, -1, 1340, 1341, 8, -1, -1, 11, -1,
14005 : 5032, 71, 15, 16, 17, -1, -1, -1, -1, 2524,
14006 : -1, -1, -1, 5045, -1, -1, -1, -1, -1, 32,
14007 : -1, -1, -1, -1, -1, -1, -1, 40, -1, -1,
14008 : -1, -1, -1, -1, 47, -1, -1, -1, -1, -1,
14009 : -1, -1, -1, -1, -1, -1, 3066, 2562, -1, -1,
14010 : -1, -1, -1, -1, -1, -1, -1, -1, 71, -1,
14011 : -1, -1, -1, -1, 5096, 2580, -1, -1, -1, 5101,
14012 : -1, -1, -1, 2588, 3094, -1, -1, -1, 5110, -1,
14013 : -1, -1, -1, 2598, 5116, 5117, 5118, -1, -1, -1,
14014 : -1, -1, -1, -1, -1, 5127, -1, 3117, -1, -1,
14015 : -1, -1, -1, -1, -1, 3125, -1, -1, -1, -1,
14016 : 180, -1, 5144, -1, -1, 185, -1, -1, -1, -1,
14017 : -1, -1, -1, -1, -1, -1, 5158, -1, -1, -1,
14018 : -1, -1, -1, -1, -1, -1, 206, 207, -1, -1,
14019 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 162,
14020 : 5182, 221, -1, 2668, -1, -1, -1, -1, -1, 2674,
14021 : -1, -1, -1, -1, 1547, -1, -1, 180, -1, -1,
14022 : -1, -1, 185, -1, 3194, -1, -1, 5209, 5210, -1,
14023 : -1, -1, -1, -1, 254, -1, -1, -1, -1, -1,
14024 : -1, -1, 3212, 206, 207, -1, -1, -1, 268, -1,
14025 : -1, 271, 5234, -1, -1, 3225, -1, -1, 221, -1,
14026 : -1, -1, -1, -1, -1, 1598, -1, -1, 288, 5251,
14027 : -1, -1, -1, -1, -1, 5257, -1, -1, -1, -1,
14028 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 1622,
14029 : -1, 254, -1, -1, 2759, -1, -1, 1630, -1, 5281,
14030 : -1, 5283, -1, -1, -1, 268, -1, -1, 271, 1642,
14031 : -1, -1, -1, -1, -1, -1, 5298, 5299, 5300, -1,
14032 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14033 : -1, -1, -1, -1, 354, -1, -1, -1, -1, -1,
14034 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14035 : -1, 3321, -1, -1, -1, -1, -1, -1, -1, -1,
14036 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14037 : -1, -1, 3342, 2838, 2839, -1, -1, -1, -1, -1,
14038 : -1, -1, -1, 1716, 1717, -1, -1, -1, -1, -1,
14039 : -1, 354, -1, -1, -1, 1728, -1, 3367, -1, -1,
14040 : 2865, -1, -1, 2868, -1, -1, 1739, 1740, -1, -1,
14041 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14042 : -1, -1, 1755, -1, -1, -1, -1, -1, -1, -1,
14043 : 450, 3401, -1, 453, 454, 455, -1, 457, 458, 459,
14044 : 460, 461, 462, -1, -1, -1, -1, -1, -1, -1,
14045 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14046 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14047 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14048 : -1, 3451, -1, -1, 2949, 2950, 2951, 450, -1, -1,
14049 : 453, 454, 455, -1, 457, 458, 459, 460, 461, 462,
14050 : -1, -1, -1, -1, -1, -1, -1, -1, 2973, -1,
14051 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14052 : -1, -1, -1, -1, -1, -1, -1, 3497, 2993, -1,
14053 : -1, 1828, -1, -1, -1, -1, -1, -1, -1, -1,
14054 : -1, -1, 1875, 3008, 1841, -1, 1843, -1, -1, 1846,
14055 : 1847, 1848, -1, -1, -1, 629, 1853, -1, -1, 1856,
14056 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14057 : -1, -1, -1, -1, 1871, 1872, 1873, 1874, -1, 653,
14058 : -1, -1, 1879, -1, -1, -1, 1883, -1, -1, 1886,
14059 : -1, -1, 1889, 1890, 1891, 1892, 1893, 1894, 1895, 1896,
14060 : 1897, -1, 1899, -1, -1, -1, -1, -1, -1, 1906,
14061 : -1, 1908, -1, -1, -1, -1, -1, -1, -1, -1,
14062 : -1, 3086, -1, -1, -1, -1, 3596, -1, -1, -1,
14063 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14064 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14065 : 3620, -1, -1, -1, -1, -1, -1, -1, -1, 3124,
14066 : -1, -1, -1, -1, -1, -1, 3131, -1, 3133, -1,
14067 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14068 : -1, 3146, -1, 3148, -1, -1, -1, -1, -1, -1,
14069 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14070 : -1, -1, -1, -1, -1, 3170, -1, -1, -1, -1,
14071 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14072 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14073 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 2036,
14074 : -1, -1, -1, -1, -1, -1, 3211, -1, 2081, -1,
14075 : -1, 8, -1, -1, 11, -1, -1, -1, 15, 16,
14076 : 17, -1, -1, -1, -1, -1, 2099, -1, 629, -1,
14077 : -1, 2104, 2105, -1, -1, 3745, 2109, -1, -1, -1,
14078 : -1, -1, -1, 40, 2117, -1, -1, -1, -1, -1,
14079 : 47, -1, 653, -1, 3259, -1, -1, -1, -1, -1,
14080 : -1, -1, 2135, -1, -1, -1, -1, -1, -1, -1,
14081 : 3275, -1, -1, -1, 71, -1, -1, -1, -1, -1,
14082 : -1, 8, -1, -1, 11, 3795, -1, -1, 15, 16,
14083 : 17, -1, 3297, -1, -1, 3300, -1, -1, -1, -1,
14084 : -1, 2138, -1, -1, -1, 32, 2179, -1, 35, -1,
14085 : -1, -1, 926, 40, -1, -1, -1, -1, -1, -1,
14086 : 47, -1, -1, -1, 2197, 2198, -1, -1, -1, -1,
14087 : -1, -1, -1, -1, -1, 949, -1, -1, -1, -1,
14088 : -1, -1, -1, -1, 71, -1, -1, -1, -1, -1,
14089 : 964, -1, -1, -1, -1, 2228, 2229, -1, -1, 2232,
14090 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14091 : -1, -1, -1, 3378, -1, -1, -1, -1, -1, 629,
14092 : -1, -1, 2255, 180, 2257, -1, -1, -1, 185, -1,
14093 : 2263, -1, -1, -1, -1, -1, -1, 2270, -1, -1,
14094 : -1, 2274, -1, 653, -1, -1, -1, 3917, -1, 206,
14095 : 207, -1, -1, -1, -1, -1, -1, 3927, -1, -1,
14096 : -1, 2294, -1, -1, 221, -1, 2299, -1, -1, -1,
14097 : 2303, -1, -1, 2306, 1048, -1, -1, -1, -1, -1,
14098 : -1, -1, -1, 2316, -1, -1, -1, -1, -1, -1,
14099 : -1, -1, -1, 180, -1, -1, 2329, 254, 185, -1,
14100 : -1, -1, -1, -1, -1, -1, 2339, -1, -1, -1,
14101 : -1, 268, 3982, -1, -1, -1, -1, 3987, -1, 206,
14102 : 207, -1, -1, 3993, -1, -1, -1, -1, -1, -1,
14103 : -1, -1, -1, -1, 221, -1, -1, -1, -1, -1,
14104 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14105 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14106 : -1, 2394, -1, -1, -1, 926, -1, 254, -1, -1,
14107 : -1, -1, -1, -1, -1, 3540, -1, -1, -1, 1153,
14108 : -1, 268, 4052, -1, 271, -1, -1, 2384, 949, -1,
14109 : -1, -1, -1, -1, -1, -1, -1, 354, -1, -1,
14110 : -1, -1, -1, 964, -1, -1, -1, -1, -1, -1,
14111 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14112 : 4090, -1, -1, -1, -1, 3590, -1, -1, -1, -1,
14113 : 3595, -1, 3597, -1, -1, -1, -1, -1, 2471, -1,
14114 : -1, 4111, -1, -1, -1, -1, -1, -1, -1, -1,
14115 : -1, -1, -1, -1, 3619, -1, -1, -1, -1, -1,
14116 : -1, -1, -1, -1, -1, -1, -1, 354, -1, -1,
14117 : -1, 3636, -1, -1, -1, -1, -1, -1, -1, -1,
14118 : -1, -1, -1, -1, -1, -1, 3651, 1048, -1, 3654,
14119 : -1, 2524, -1, 450, -1, -1, 453, 454, 455, -1,
14120 : 457, 458, 459, 460, 461, 462, 4176, -1, -1, -1,
14121 : -1, -1, -1, -1, -1, -1, 926, -1, -1, -1,
14122 : 1294, -1, -1, -1, -1, -1, -1, -1, -1, 2562,
14123 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 949,
14124 : -1, -1, -1, -1, -1, -1, -1, 2580, -1, -1,
14125 : -1, -1, -1, -1, 964, 2588, -1, -1, -1, -1,
14126 : -1, -1, -1, 450, -1, -1, 453, 454, 455, -1,
14127 : 457, 458, 459, 460, 461, 462, 3741, 3742, -1, -1,
14128 : -1, -1, -1, -1, -1, 1359, 3751, -1, -1, -1,
14129 : -1, -1, 1153, -1, -1, -1, -1, -1, -1, -1,
14130 : -1, -1, -1, -1, -1, 3770, -1, -1, -1, -1,
14131 : -1, -1, -1, -1, -1, 4285, -1, 4287, -1, -1,
14132 : -1, -1, 2619, -1, -1, -1, -1, 2624, -1, -1,
14133 : -1, -1, -1, -1, -1, 2668, -1, -1, 1048, -1,
14134 : -1, 2674, -1, -1, -1, -1, -1, -1, -1, -1,
14135 : -1, 1425, 2649, -1, -1, -1, -1, -1, -1, 4329,
14136 : -1, -1, -1, 2660, -1, 2662, 2663, -1, -1, -1,
14137 : -1, -1, -1, -1, -1, -1, 2673, 3842, -1, 2676,
14138 : -1, 2678, -1, -1, -1, -1, -1, -1, -1, -1,
14139 : 1464, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14140 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14141 : 2707, -1, 2709, 1487, 2711, -1, -1, -1, -1, -1,
14142 : -1, -1, -1, -1, -1, -1, 2759, -1, -1, -1,
14143 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14144 : -1, -1, -1, 1153, -1, -1, -1, 2744, 2745, 2746,
14145 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14146 : -1, -1, -1, -1, -1, 2762, -1, -1, -1, -1,
14147 : -1, -1, -1, -1, -1, -1, 2773, -1, -1, -1,
14148 : -1, 2778, -1, -1, -1, -1, -1, 2784, -1, -1,
14149 : -1, -1, 4462, 1567, -1, -1, -1, -1, 1359, -1,
14150 : -1, -1, -1, -1, -1, 2838, 2839, -1, 1582, -1,
14151 : -1, -1, -1, -1, -1, -1, -1, 1591, -1, -1,
14152 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 1603,
14153 : -1, -1, 2865, -1, -1, 2868, -1, -1, -1, -1,
14154 : -1, -1, 8, -1, -1, 11, -1, 2844, -1, 15,
14155 : 16, 17, -1, -1, -1, -1, -1, -1, -1, -1,
14156 : -1, -1, -1, -1, 1425, -1, 32, -1, -1, -1,
14157 : -1, -1, -1, -1, 40, -1, -1, -1, -1, -1,
14158 : -1, 47, -1, -1, 1658, -1, -1, -1, -1, -1,
14159 : -1, -1, -1, -1, -1, -1, -1, -1, 1672, -1,
14160 : -1, -1, -1, 1464, 4069, 71, -1, -1, -1, 4074,
14161 : 1684, -1, -1, -1, 4584, -1, 2949, 2950, 2951, -1,
14162 : -1, -1, 1696, -1, -1, -1, 1487, -1, -1, -1,
14163 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 4609,
14164 : 2973, 4106, -1, -1, -1, -1, -1, -1, -1, 1359,
14165 : -1, -1, -1, 4118, -1, -1, -1, -1, -1, -1,
14166 : 2993, -1, 1736, 1737, -1, -1, -1, -1, -1, -1,
14167 : -1, -1, -1, -1, -1, 3008, -1, -1, -1, 4649,
14168 : 4145, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14169 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14170 : -1, -1, -1, -1, -1, -1, 1567, -1, -1, -1,
14171 : -1, -1, -1, -1, 180, 1425, -1, -1, -1, 185,
14172 : -1, 1582, -1, -1, -1, -1, -1, -1, -1, -1,
14173 : 1591, -1, -1, 4703, -1, -1, -1, -1, 4708, 4709,
14174 : 206, 207, 1603, -1, -1, -1, -1, -1, -1, -1,
14175 : -1, -1, -1, 3086, 1464, 221, -1, -1, -1, -1,
14176 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14177 : -1, -1, 4237, -1, -1, -1, -1, 1487, -1, -1,
14178 : -1, -1, -1, -1, -1, -1, -1, -1, 254, -1,
14179 : -1, 3124, -1, -1, -1, -1, 1870, 1658, 3131, -1,
14180 : 3133, -1, 268, -1, -1, 271, -1, -1, -1, -1,
14181 : -1, 1672, -1, 3146, -1, 3148, -1, -1, -1, -1,
14182 : -1, -1, -1, 1684, -1, -1, -1, -1, -1, -1,
14183 : -1, -1, -1, -1, -1, 1696, -1, 3170, -1, -1,
14184 : -1, -1, -1, -1, 4309, -1, -1, 4817, 4818, -1,
14185 : -1, -1, -1, -1, -1, -1, -1, 1567, -1, -1,
14186 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14187 : -1, -1, 1582, -1, -1, 1736, 1737, -1, 3211, -1,
14188 : -1, 1591, -1, -1, -1, -1, -1, -1, 354, -1,
14189 : -1, -1, -1, 1603, -1, -1, -1, -1, -1, -1,
14190 : -1, -1, -1, -1, -1, 8, -1, -1, 11, -1,
14191 : -1, -1, 15, 16, 17, -1, -1, 629, 384, -1,
14192 : -1, -1, -1, -1, -1, -1, 3259, -1, -1, 32,
14193 : -1, -1, 35, -1, -1, -1, -1, 40, -1, -1,
14194 : -1, 653, 3275, -1, 47, -1, -1, -1, 1658, -1,
14195 : -1, -1, -1, 4418, -1, 4420, -1, -1, -1, -1,
14196 : -1, -1, 1672, -1, 3297, -1, -1, 3300, 71, -1,
14197 : -1, -1, -1, -1, 1684, -1, -1, -1, -1, -1,
14198 : -1, -1, -1, -1, 450, -1, 1696, 453, 454, 455,
14199 : -1, 457, 458, 459, 460, 461, 462, -1, 4463, -1,
14200 : -1, -1, -1, -1, -1, -1, -1, 4472, -1, 1870,
14201 : -1, -1, -1, -1, 2088, -1, -1, -1, 2092, 2093,
14202 : -1, 3318, -1, -1, -1, -1, 1736, 1737, -1, -1,
14203 : 3327, -1, -1, -1, -1, -1, 3333, -1, 3335, -1,
14204 : -1, -1, -1, 4508, -1, 3378, -1, 5017, -1, 4514,
14205 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14206 : -1, -1, -1, -1, -1, 3362, 3363, -1, -1, -1,
14207 : -1, -1, -1, -1, -1, -1, -1, 180, 629, -1,
14208 : 2154, -1, 185, 3380, -1, -1, -1, -1, -1, -1,
14209 : -1, 3388, 2166, -1, 3391, -1, 3393, -1, -1, -1,
14210 : -1, -1, 653, 206, 207, 3402, -1, -1, -1, -1,
14211 : -1, -1, -1, 3410, 3411, -1, -1, -1, 221, -1,
14212 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14213 : -1, -1, 2206, -1, -1, -1, -1, -1, -1, -1,
14214 : 8, -1, -1, 11, -1, -1, 3443, 15, 16, 17,
14215 : -1, 254, 3449, 3450, 3451, -1, -1, -1, -1, -1,
14216 : 1870, -1, -1, -1, 32, 268, -1, -1, 271, -1,
14217 : -1, -1, 40, -1, -1, -1, -1, -1, 3475, 47,
14218 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14219 : -1, -1, -1, -1, 3491, -1, -1, -1, -1, -1,
14220 : -1, -1, -1, 71, -1, -1, -1, 3540, -1, -1,
14221 : -1, -1, -1, -1, 926, -1, -1, -1, -1, -1,
14222 : -1, -1, -1, -1, -1, -1, -1, 2088, -1, -1,
14223 : 4695, 2092, 2093, -1, -1, -1, -1, 949, -1, -1,
14224 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14225 : -1, 354, 964, -1, -1, -1, -1, 3590, -1, -1,
14226 : -1, -1, 3595, -1, 3597, -1, 4731, -1, -1, -1,
14227 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14228 : -1, -1, -1, -1, -1, -1, 3619, -1, -1, -1,
14229 : -1, -1, -1, 2154, -1, -1, -1, -1, -1, -1,
14230 : -1, -1, -1, 3636, -1, 2166, -1, -1, -1, -1,
14231 : -1, 2385, 180, -1, -1, -1, -1, 185, 3651, -1,
14232 : -1, 3654, -1, -1, -1, -1, -1, -1, -1, -1,
14233 : -1, -1, -1, -1, -1, -1, 1048, -1, 206, 207,
14234 : -1, -1, -1, -1, -1, 2206, -1, 450, -1, -1,
14235 : 453, 454, 455, 221, 457, 458, 459, 460, 461, 462,
14236 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14237 : -1, -1, -1, -1, -1, 926, -1, -1, 2088, -1,
14238 : -1, -1, 2092, 2093, -1, -1, 254, -1, -1, -1,
14239 : -1, -1, -1, 2467, -1, -1, -1, -1, 949, -1,
14240 : 268, -1, -1, 271, -1, -1, -1, -1, 3741, 3742,
14241 : -1, -1, -1, 964, -1, -1, -1, -1, 3751, -1,
14242 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14243 : -1, -1, -1, -1, -1, -1, -1, 3770, -1, -1,
14244 : -1, 1153, -1, -1, 2154, -1, -1, -1, -1, -1,
14245 : -1, -1, -1, -1, -1, 4920, 2166, 4922, -1, -1,
14246 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14247 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14248 : -1, -1, -1, -1, -1, -1, 354, -1, -1, -1,
14249 : -1, -1, -1, -1, -1, -1, 2206, 1048, -1, 3796,
14250 : 3797, -1, -1, -1, 2578, -1, -1, -1, -1, 3842,
14251 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14252 : -1, 2595, -1, -1, 2385, -1, -1, -1, -1, -1,
14253 : -1, -1, -1, -1, 2608, -1, -1, -1, -1, -1,
14254 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 5014,
14255 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14256 : -1, -1, -1, -1, -1, -1, 3863, 5032, -1, -1,
14257 : -1, -1, -1, -1, -1, -1, -1, 3874, -1, -1,
14258 : 5045, -1, 450, -1, -1, 453, 454, 455, -1, 457,
14259 : 458, 459, 460, 461, 462, -1, -1, -1, -1, -1,
14260 : -1, -1, 1153, -1, -1, -1, 2467, -1, -1, -1,
14261 : -1, -1, -1, -1, -1, -1, -1, 3914, 3915, -1,
14262 : -1, -1, -1, -1, 3921, 3922, -1, -1, -1, 3926,
14263 : -1, -1, -1, -1, 3931, -1, -1, 3934, 3935, -1,
14264 : -1, -1, 3939, -1, -1, 20, -1, 1359, 3945, -1,
14265 : 25, 5116, 5117, -1, -1, -1, -1, -1, -1, -1,
14266 : -1, -1, 37, -1, -1, -1, -1, -1, -1, -1,
14267 : -1, -1, -1, -1, -1, 2385, -1, -1, -1, -1,
14268 : -1, -1, -1, -1, 59, 3982, -1, -1, -1, -1,
14269 : 3987, -1, -1, 5158, -1, -1, 3993, 72, -1, -1,
14270 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14271 : -1, 4008, 87, 1425, -1, -1, -1, 2578, -1, -1,
14272 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14273 : 105, -1, -1, -1, 2595, -1, 4069, 4034, -1, 2813,
14274 : -1, 4074, 2816, -1, 2818, -1, -1, 2608, -1, 2823,
14275 : -1, -1, 1464, 128, -1, -1, -1, 2467, -1, -1,
14276 : -1, -1, -1, -1, 139, -1, -1, -1, -1, 5234,
14277 : -1, -1, 147, 4106, -1, 1487, -1, -1, -1, -1,
14278 : -1, -1, -1, -1, 159, 4118, -1, -1, -1, 164,
14279 : -1, -1, -1, -1, -1, -1, 171, -1, 2872, -1,
14280 : -1, -1, -1, -1, -1, -1, -1, -1, 1359, -1,
14281 : -1, -1, 4145, 188, -1, 2889, -1, -1, 5283, -1,
14282 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14283 : -1, -1, -1, 5298, 5299, 5300, -1, 4134, -1, -1,
14284 : 2914, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14285 : -1, -1, -1, -1, -1, 1567, -1, -1, -1, 234,
14286 : -1, -1, -1, -1, -1, -1, -1, -1, 2578, -1,
14287 : 1582, -1, -1, -1, 1425, -1, -1, -1, -1, 1591,
14288 : -1, -1, -1, -1, -1, 2595, -1, -1, -1, -1,
14289 : -1, 1603, -1, 268, -1, -1, -1, -1, 2608, -1,
14290 : -1, -1, -1, 4200, 4237, 280, -1, -1, -1, 2983,
14291 : -1, 2985, -1, 1464, -1, 290, -1, -1, -1, -1,
14292 : -1, -1, -1, -1, -1, 300, 629, -1, 303, -1,
14293 : -1, -1, -1, -1, -1, -1, 1487, -1, -1, -1,
14294 : -1, -1, -1, -1, -1, -1, 1658, -1, -1, -1,
14295 : 653, -1, 2813, -1, 329, 2816, -1, 2818, -1, 334,
14296 : 1672, 336, 2823, -1, -1, -1, -1, -1, 343, -1,
14297 : -1, 346, 1684, -1, -1, -1, 4309, -1, -1, -1,
14298 : -1, -1, -1, 629, 1696, -1, -1, -1, -1, -1,
14299 : 365, -1, 3066, -1, -1, -1, 371, -1, -1, -1,
14300 : -1, 376, -1, -1, 379, -1, -1, 653, 383, -1,
14301 : -1, 2872, -1, -1, -1, 390, 1567, 392, -1, -1,
14302 : 3094, -1, 397, -1, 1736, 1737, -1, -1, 2889, -1,
14303 : -1, 1582, -1, -1, 409, -1, -1, -1, -1, -1,
14304 : 1591, -1, -1, 3117, -1, -1, -1, 422, -1, -1,
14305 : -1, 3125, 1603, 2914, 4351, 4352, -1, -1, 4355, -1,
14306 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14307 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14308 : -1, -1, -1, -1, -1, 4418, -1, 4420, -1, -1,
14309 : -1, -1, -1, -1, -1, -1, 4393, 4394, -1, -1,
14310 : -1, -1, -1, 2813, -1, -1, 2816, 1658, 2818, -1,
14311 : -1, -1, -1, 2823, -1, -1, 4413, -1, -1, -1,
14312 : 3194, 1672, 2983, -1, 2985, -1, -1, -1, -1, -1,
14313 : 4463, -1, -1, 1684, -1, -1, -1, -1, 3212, -1,
14314 : -1, -1, -1, -1, -1, 1696, -1, -1, -1, -1,
14315 : -1, 3225, -1, -1, -1, -1, -1, -1, 1870, -1,
14316 : -1, -1, 2872, -1, -1, -1, -1, -1, -1, -1,
14317 : -1, -1, -1, -1, -1, 4508, -1, -1, -1, 2889,
14318 : -1, -1, -1, -1, -1, 1736, 1737, -1, -1, -1,
14319 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14320 : -1, -1, -1, -1, 2914, 3066, -1, -1, -1, -1,
14321 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14322 : -1, -1, -1, 926, -1, -1, -1, -1, -1, -1,
14323 : -1, -1, -1, 3094, -1, -1, -1, -1, -1, -1,
14324 : -1, -1, -1, -1, -1, -1, 949, 3321, -1, -1,
14325 : -1, -1, -1, -1, -1, -1, 3117, -1, -1, -1,
14326 : -1, 964, -1, -1, 3125, -1, -1, -1, 3342, -1,
14327 : -1, -1, -1, 2983, -1, 2985, -1, -1, -1, -1,
14328 : 926, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14329 : -1, -1, -1, 3367, -1, -1, -1, -1, -1, -1,
14330 : -1, -1, -1, 949, -1, -1, -1, -1, -1, -1,
14331 : -1, -1, -1, -1, 4611, -1, -1, -1, 964, 1870,
14332 : -1, -1, -1, -1, -1, -1, -1, 3401, -1, -1,
14333 : -1, -1, -1, 3194, -1, -1, -1, -1, -1, -1,
14334 : -1, -1, 4639, -1, -1, 1048, -1, -1, -1, -1,
14335 : -1, 3212, -1, -1, -1, -1, 3066, 4654, -1, -1,
14336 : -1, -1, 4695, -1, 3225, -1, -1, -1, -1, -1,
14337 : -1, -1, -1, -1, -1, -1, 2088, -1, -1, -1,
14338 : 2092, 2093, -1, -1, 3094, -1, -1, -1, -1, -1,
14339 : -1, -1, -1, -1, -1, -1, -1, -1, 4731, -1,
14340 : -1, -1, 1048, -1, -1, -1, -1, 3117, -1, -1,
14341 : -1, -1, -1, -1, -1, 3125, 4713, -1, -1, -1,
14342 : -1, -1, -1, 3497, -1, -1, -1, -1, -1, -1,
14343 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14344 : -1, -1, 2154, -1, -1, -1, -1, -1, -1, -1,
14345 : 1153, -1, -1, -1, 2166, -1, -1, -1, -1, -1,
14346 : 3321, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14347 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14348 : -1, 3342, -1, -1, 3194, -1, -1, -1, -1, -1,
14349 : -1, -1, -1, -1, 2206, -1, -1, -1, -1, -1,
14350 : -1, -1, 3212, -1, -1, -1, 3367, 1153, -1, -1,
14351 : -1, -1, -1, -1, -1, 3225, -1, -1, -1, -1,
14352 : -1, -1, 3596, -1, -1, -1, -1, -1, -1, -1,
14353 : -1, -1, -1, -1, -1, -1, -1, 2088, -1, -1,
14354 : 3401, 2092, 2093, -1, -1, -1, 3620, -1, -1, -1,
14355 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14356 : -1, -1, -1, -1, -1, -1, -1, 4864, -1, -1,
14357 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14358 : -1, -1, -1, -1, -1, -1, -1, 4920, -1, 4922,
14359 : -1, -1, -1, 4890, -1, -1, -1, -1, -1, -1,
14360 : -1, -1, -1, 2154, -1, -1, -1, -1, -1, -1,
14361 : -1, 3321, -1, -1, -1, 2166, -1, -1, -1, -1,
14362 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14363 : -1, -1, 3342, -1, -1, -1, 3497, -1, -1, -1,
14364 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14365 : -1, -1, -1, -1, -1, 2206, 1359, 3367, -1, -1,
14366 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14367 : -1, 3745, -1, 2385, -1, 4972, -1, -1, -1, -1,
14368 : -1, 5014, -1, -1, -1, -1, -1, -1, -1, -1,
14369 : -1, 3401, -1, -1, -1, -1, -1, -1, -1, 5032,
14370 : -1, -1, -1, -1, -1, -1, -1, -1, 5005, 5006,
14371 : -1, -1, -1, 1359, -1, -1, -1, -1, -1, -1,
14372 : -1, 3795, 1425, -1, -1, -1, 5023, -1, -1, -1,
14373 : -1, -1, -1, -1, -1, 3596, -1, -1, -1, -1,
14374 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14375 : -1, -1, -1, -1, -1, 2467, -1, -1, -1, 3620,
14376 : -1, 1464, -1, -1, -1, -1, -1, -1, -1, -1,
14377 : -1, -1, 20, -1, -1, -1, -1, 25, -1, 1425,
14378 : -1, -1, -1, -1, 1487, -1, -1, 3497, -1, 37,
14379 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14380 : -1, -1, -1, -1, 5101, -1, -1, -1, -1, -1,
14381 : -1, 59, -1, -1, -1, -1, -1, -1, 1464, -1,
14382 : -1, 5118, -1, -1, 72, 5158, -1, -1, -1, -1,
14383 : -1, -1, -1, -1, 2385, 83, -1, -1, -1, 87,
14384 : -1, 1487, -1, 3917, -1, -1, -1, 5144, -1, -1,
14385 : -1, -1, -1, 3927, -1, -1, -1, 105, -1, -1,
14386 : -1, -1, -1, 111, 1567, -1, 2578, -1, -1, -1,
14387 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 1582,
14388 : 128, -1, -1, 2595, 3745, -1, 3596, -1, 1591, -1,
14389 : -1, 139, -1, -1, -1, -1, 2608, -1, -1, 147,
14390 : 1603, 5234, -1, -1, -1, -1, -1, -1, -1, -1,
14391 : 3620, 159, -1, -1, -1, -1, 2467, -1, -1, 167,
14392 : -1, 1567, -1, 171, -1, -1, -1, -1, -1, -1,
14393 : -1, -1, -1, -1, 3795, -1, 1582, -1, -1, -1,
14394 : 188, -1, -1, -1, -1, 1591, -1, -1, -1, -1,
14395 : 5283, -1, -1, -1, 5251, 1658, -1, 1603, -1, -1,
14396 : 5257, -1, -1, -1, -1, 5298, -1, -1, -1, 1672,
14397 : -1, -1, -1, -1, -1, -1, -1, 225, 4052, -1,
14398 : -1, 1684, -1, -1, -1, -1, 234, -1, -1, -1,
14399 : -1, -1, -1, 1696, -1, -1, -1, -1, -1, -1,
14400 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14401 : -1, -1, 1658, -1, -1, -1, 4090, -1, -1, -1,
14402 : 268, -1, -1, 271, -1, -1, 1672, 2578, -1, -1,
14403 : -1, -1, -1, 1736, 1737, 3745, -1, 4111, 1684, -1,
14404 : -1, -1, 290, -1, 2595, -1, -1, -1, -1, -1,
14405 : 1696, -1, -1, -1, -1, 303, 3917, 2608, -1, -1,
14406 : -1, -1, 310, -1, -1, -1, 3927, -1, -1, -1,
14407 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14408 : -1, 329, -1, -1, -1, 3795, -1, -1, 336, -1,
14409 : 1736, 1737, -1, -1, -1, 343, -1, -1, 346, -1,
14410 : -1, 2813, 4176, -1, 2816, -1, 2818, -1, -1, -1,
14411 : -1, 2823, -1, -1, -1, -1, -1, 365, -1, -1,
14412 : -1, -1, -1, 371, -1, -1, -1, -1, 376, -1,
14413 : -1, 379, 380, -1, 382, 383, -1, -1, -1, -1,
14414 : -1, -1, -1, -1, 392, -1, -1, -1, -1, 397,
14415 : -1, -1, -1, -1, -1, 403, -1, -1, 406, -1,
14416 : 2872, 409, -1, -1, -1, -1, -1, 1870, -1, -1,
14417 : -1, -1, -1, -1, 422, -1, -1, 2889, -1, -1,
14418 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14419 : -1, 4052, -1, -1, -1, -1, -1, -1, -1, -1,
14420 : -1, -1, 2914, -1, -1, -1, -1, 3917, -1, -1,
14421 : -1, -1, -1, 4287, -1, -1, -1, 3927, -1, -1,
14422 : -1, -1, -1, -1, 1870, -1, -1, -1, -1, 4090,
14423 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14424 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14425 : 4111, -1, -1, -1, -1, 4329, -1, -1, -1, -1,
14426 : -1, -1, 2813, -1, -1, 2816, -1, 2818, -1, -1,
14427 : -1, 2983, 2823, 2985, -1, -1, -1, -1, -1, -1,
14428 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14429 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14430 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14431 : -1, -1, -1, -1, -1, 4176, -1, -1, -1, -1,
14432 : -1, 2872, -1, -1, -1, -1, -1, -1, -1, -1,
14433 : -1, -1, -1, -1, -1, -1, -1, -1, 2889, -1,
14434 : -1, -1, 4052, -1, -1, -1, -1, -1, -1, -1,
14435 : -1, -1, -1, -1, 3066, -1, -1, -1, -1, -1,
14436 : -1, -1, -1, 2914, -1, -1, -1, -1, -1, -1,
14437 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14438 : 4090, -1, 3094, -1, -1, 2088, -1, -1, 4462, 2092,
14439 : 2093, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14440 : -1, 4111, -1, -1, -1, 3117, -1, -1, -1, -1,
14441 : -1, -1, -1, 3125, -1, -1, -1, -1, -1, -1,
14442 : -1, -1, -1, -1, -1, -1, 4287, -1, -1, -1,
14443 : -1, -1, 2983, -1, 2985, -1, -1, -1, -1, -1,
14444 : -1, -1, 2088, -1, -1, -1, 2092, 2093, -1, -1,
14445 : -1, 2154, -1, -1, -1, -1, -1, -1, -1, -1,
14446 : -1, -1, -1, 2166, -1, -1, 4176, -1, 4329, -1,
14447 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14448 : -1, -1, 3194, -1, -1, -1, -1, -1, -1, -1,
14449 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14450 : 3212, -1, -1, 2206, -1, -1, -1, -1, 2154, -1,
14451 : 4584, -1, -1, 3225, -1, 3066, -1, -1, -1, -1,
14452 : 2166, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14453 : -1, -1, -1, -1, -1, 4609, -1, -1, -1, -1,
14454 : -1, -1, -1, 3094, -1, -1, -1, -1, -1, -1,
14455 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14456 : 2206, -1, -1, -1, -1, -1, 3117, -1, -1, -1,
14457 : -1, -1, -1, -1, 3125, 4649, -1, 4287, -1, -1,
14458 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14459 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14460 : -1, 4462, -1, -1, -1, -1, -1, -1, -1, 3321,
14461 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 4329,
14462 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 4703,
14463 : 3342, -1, -1, -1, 4708, 4709, -1, -1, -1, -1,
14464 : -1, -1, -1, 3194, -1, -1, -1, -1, -1, -1,
14465 : -1, -1, -1, -1, -1, 3367, 1259, -1, -1, -1,
14466 : -1, 3212, -1, -1, -1, -1, -1, -1, -1, -1,
14467 : -1, -1, -1, -1, 3225, -1, -1, -1, -1, -1,
14468 : -1, -1, 2385, -1, -1, -1, -1, -1, -1, 3401,
14469 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14470 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14471 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 1322,
14472 : -1, -1, -1, 4584, -1, -1, -1, -1, -1, -1,
14473 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 2385,
14474 : -1, -1, -1, -1, 4818, -1, -1, -1, 4609, -1,
14475 : -1, -1, 4462, -1, -1, -1, -1, -1, -1, -1,
14476 : -1, -1, -1, -1, 2467, -1, -1, -1, -1, -1,
14477 : 3321, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14478 : -1, -1, -1, -1, -1, 3497, -1, -1, 4649, -1,
14479 : -1, 3342, -1, -1, -1, -1, -1, -1, -1, -1,
14480 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14481 : -1, -1, -1, -1, -1, -1, 3367, -1, -1, -1,
14482 : -1, 2467, -1, -1, -1, -1, -1, -1, -1, -1,
14483 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14484 : -1, -1, 4703, -1, -1, -1, -1, 4708, 4709, -1,
14485 : 3401, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14486 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14487 : -1, -1, -1, -1, 4584, 2578, -1, -1, -1, -1,
14488 : -1, -1, -1, -1, 3596, -1, -1, -1, -1, -1,
14489 : -1, -1, 2595, -1, -1, -1, -1, -1, -1, 4609,
14490 : -1, -1, -1, -1, -1, 2608, -1, -1, 3620, -1,
14491 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14492 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14493 : -1, -1, 2578, -1, -1, -1, -1, -1, -1, 4649,
14494 : -1, -1, -1, 5017, -1, -1, 3497, -1, -1, 2595,
14495 : -1, -1, -1, -1, -1, -1, -1, 4818, -1, -1,
14496 : -1, -1, 2608, -1, -1, -1, -1, -1, -1, -1,
14497 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14498 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14499 : -1, -1, -1, 4703, -1, -1, -1, -1, 4708, 4709,
14500 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14501 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14502 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14503 : -1, -1, -1, 3745, -1, -1, -1, -1, -1, -1,
14504 : -1, -1, -1, -1, -1, 3596, -1, -1, -1, -1,
14505 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14506 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 3620,
14507 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14508 : -1, -1, -1, 3795, -1, -1, -1, -1, -1, -1,
14509 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14510 : -1, -1, -1, -1, -1, -1, -1, -1, 4818, -1,
14511 : 2813, -1, -1, 2816, -1, 2818, -1, -1, -1, -1,
14512 : 2823, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14513 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14514 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14515 : -1, -1, -1, -1, -1, -1, 5017, -1, -1, -1,
14516 : -1, -1, -1, -1, -1, -1, -1, 2813, -1, 2872,
14517 : 2816, -1, 2818, -1, -1, -1, -1, 2823, -1, -1,
14518 : -1, -1, -1, -1, -1, -1, 2889, -1, -1, -1,
14519 : -1, -1, -1, -1, 3745, -1, -1, -1, -1, -1,
14520 : -1, -1, -1, -1, -1, 3917, -1, -1, -1, -1,
14521 : -1, 2914, -1, -1, -1, 3927, -1, -1, -1, -1,
14522 : -1, -1, -1, 1826, -1, -1, 2872, -1, -1, -1,
14523 : -1, -1, -1, -1, -1, -1, -1, 1840, -1, -1,
14524 : -1, 1844, -1, 2889, 3795, -1, -1, -1, -1, -1,
14525 : -1, -1, -1, -1, -1, 1858, 1859, 1860, -1, 1862,
14526 : -1, -1, -1, -1, -1, -1, -1, -1, 2914, -1,
14527 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14528 : 2983, -1, 2985, -1, -1, -1, -1, -1, -1, -1,
14529 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14530 : -1, 1904, -1, -1, -1, -1, -1, 5017, -1, -1,
14531 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14532 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14533 : -1, -1, -1, -1, -1, -1, -1, 2983, 1941, 2985,
14534 : 4052, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14535 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14536 : -1, -1, -1, 3066, -1, -1, 3917, -1, -1, -1,
14537 : -1, -1, -1, -1, -1, -1, 3927, -1, 4090, -1,
14538 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14539 : -1, 3094, -1, -1, -1, -1, -1, -1, -1, 4111,
14540 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14541 : -1, -1, -1, -1, 3117, -1, -1, -1, -1, -1,
14542 : 3066, -1, 3125, -1, -1, -1, -1, -1, -1, -1,
14543 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14544 : -1, -1, 2045, -1, -1, -1, -1, -1, 3094, -1,
14545 : -1, -1, -1, -1, 2057, -1, -1, 2060, -1, -1,
14546 : -1, -1, -1, -1, 4176, -1, -1, -1, -1, -1,
14547 : -1, 3117, -1, -1, -1, -1, -1, -1, -1, 3125,
14548 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14549 : -1, 3194, -1, -1, -1, -1, -1, -1, -1, -1,
14550 : -1, 4052, -1, -1, -1, -1, -1, -1, -1, 3212,
14551 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14552 : -1, -1, 3225, -1, -1, -1, -1, -1, -1, -1,
14553 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 4090,
14554 : -1, -1, -1, -1, -1, -1, -1, -1, 3194, -1,
14555 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14556 : 4111, -1, -1, -1, -1, -1, 3212, -1, -1, -1,
14557 : -1, -1, -1, -1, -1, 4287, -1, -1, -1, 3225,
14558 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14559 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14560 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14561 : -1, -1, -1, -1, -1, -1, -1, 4329, 3321, -1,
14562 : -1, -1, -1, -1, -1, 4176, -1, -1, -1, -1,
14563 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 3342,
14564 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14565 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14566 : -1, -1, -1, -1, 3367, -1, -1, -1, -1, -1,
14567 : -1, -1, -1, -1, -1, 3321, -1, -1, -1, -1,
14568 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14569 : -1, -1, -1, -1, -1, -1, 3342, -1, 3401, -1,
14570 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14571 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14572 : -1, 3367, -1, -1, -1, -1, -1, -1, -1, -1,
14573 : -1, -1, -1, -1, -1, -1, 4287, -1, -1, -1,
14574 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14575 : 4462, -1, -1, -1, -1, 3401, -1, -1, -1, -1,
14576 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14577 : -1, -1, -1, -1, -1, -1, -1, -1, 4329, -1,
14578 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14579 : -1, -1, -1, -1, 3497, -1, -1, -1, -1, -1,
14580 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14581 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14582 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14583 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14584 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14585 : -1, 3497, -1, -1, -1, -1, -1, -1, -1, -1,
14586 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14587 : -1, -1, 4584, -1, -1, -1, -1, -1, -1, -1,
14588 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14589 : -1, -1, -1, 3596, -1, -1, -1, 4609, -1, -1,
14590 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14591 : -1, 4462, -1, -1, -1, -1, -1, 3620, -1, -1,
14592 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14593 : -1, -1, -1, -1, -1, -1, -1, 4649, -1, -1,
14594 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14595 : 3596, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14596 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14597 : -1, -1, -1, -1, 3620, -1, -1, -1, -1, -1,
14598 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14599 : -1, 4703, -1, -1, -1, -1, 4708, 4709, -1, -1,
14600 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14601 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 2622,
14602 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14603 : -1, -1, -1, 4584, -1, -1, -1, -1, -1, 2642,
14604 : -1, 2644, 3745, -1, 2647, 2648, -1, 2650, -1, 2652,
14605 : -1, -1, -1, 2656, -1, -1, 2659, -1, 4609, -1,
14606 : -1, 2664, -1, -1, -1, -1, -1, 2670, -1, -1,
14607 : -1, -1, 2675, -1, -1, -1, -1, -1, -1, 2682,
14608 : 2683, 2684, 2685, -1, -1, -1, 2689, 2690, -1, 2692,
14609 : -1, -1, 3795, -1, -1, -1, -1, -1, 4649, 3745,
14610 : -1, 2704, -1, 2706, -1, -1, 4818, -1, -1, -1,
14611 : 2713, 2714, 2715, 2716, 2717, 2718, 2719, 2720, 2721, 2722,
14612 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14613 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14614 : -1, -1, -1, -1, -1, -1, -1, 2750, -1, 3795,
14615 : -1, -1, 4703, -1, -1, -1, -1, 4708, 4709, -1,
14616 : -1, -1, -1, -1, -1, -1, -1, 2770, -1, -1,
14617 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14618 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14619 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14620 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14621 : -1, -1, -1, -1, 3917, -1, -1, -1, -1, -1,
14622 : -1, -1, -1, -1, 3927, -1, -1, -1, -1, -1,
14623 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14624 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14625 : -1, -1, -1, -1, -1, -1, 2859, -1, -1, -1,
14626 : -1, -1, -1, -1, -1, -1, -1, 4818, -1, -1,
14627 : -1, 3917, -1, -1, -1, -1, -1, -1, -1, -1,
14628 : -1, 3927, -1, -1, -1, -1, -1, -1, -1, -1,
14629 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14630 : -1, -1, -1, -1, -1, 5017, -1, -1, -1, -1,
14631 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14632 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14633 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14634 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 4052,
14635 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14636 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14637 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14638 : -1, -1, -1, -1, -1, -1, -1, 4090, -1, -1,
14639 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14640 : -1, -1, -1, -1, -1, -1, 4052, -1, 4111, -1,
14641 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14642 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14643 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14644 : -1, -1, -1, -1, 4090, -1, -1, -1, -1, -1,
14645 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14646 : -1, -1, -1, -1, -1, 4111, 5017, -1, -1, -1,
14647 : -1, -1, -1, 4176, -1, -1, -1, -1, -1, -1,
14648 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14649 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14650 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14651 : -1, -1, -1, -1, -1, -1, -1, 3120, -1, -1,
14652 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14653 : 4176, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14654 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14655 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14656 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14657 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14658 : -1, -1, -1, -1, 4287, -1, -1, -1, -1, -1,
14659 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14660 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14661 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14662 : -1, -1, -1, -1, -1, -1, 4329, -1, -1, -1,
14663 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14664 : -1, 4287, -1, -1, -1, -1, -1, -1, -1, -1,
14665 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14666 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14667 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14668 : -1, -1, -1, 4329, -1, -1, -1, -1, -1, -1,
14669 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14670 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14671 : -1, -1, -1, -1, 3317, -1, -1, -1, -1, -1,
14672 : 3323, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14673 : -1, -1, -1, -1, -1, -1, 3339, 3340, -1, -1,
14674 : 3343, 3344, 3345, 3346, -1, -1, 3349, 3350, 3351, 3352,
14675 : 3353, 3354, 3355, 3356, 3357, 3358, 3359, -1, -1, 4462,
14676 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14677 : -1, -1, -1, -1, -1, -1, -1, -1, 3381, -1,
14678 : -1, 3384, -1, 3386, -1, -1, 3389, 3390, -1, -1,
14679 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14680 : -1, 3404, 3405, 3406, 3407, -1, 3409, -1, -1, -1,
14681 : -1, -1, -1, -1, -1, -1, 4462, -1, -1, -1,
14682 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14683 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14684 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14685 : -1, -1, -1, -1, -1, -1, 3459, -1, -1, -1,
14686 : -1, -1, -1, -1, -1, -1, 3469, -1, -1, -1,
14687 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14688 : -1, 4584, -1, -1, -1, -1, -1, -1, -1, -1,
14689 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14690 : -1, -1, -1, 3506, -1, -1, 4609, -1, -1, -1,
14691 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14692 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14693 : -1, -1, -1, -1, -1, -1, -1, -1, 4584, -1,
14694 : -1, -1, -1, -1, -1, -1, 4649, -1, -1, -1,
14695 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14696 : -1, -1, -1, 4609, -1, -1, -1, -1, -1, -1,
14697 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14698 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14699 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14700 : 4703, -1, -1, 4649, -1, 4708, 4709, -1, -1, -1,
14701 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14702 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14703 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14704 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14705 : -1, -1, -1, -1, -1, -1, -1, 4703, -1, -1,
14706 : -1, -1, 4708, 4709, -1, -1, -1, -1, -1, -1,
14707 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14708 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14709 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14710 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14711 : -1, -1, -1, 3716, -1, 4818, -1, -1, -1, -1,
14712 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14713 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14714 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14715 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14716 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14717 : -1, -1, 4818, -1, -1, -1, -1, -1, -1, -1,
14718 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14719 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14720 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14721 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14722 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14723 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14724 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14725 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14726 : -1, 3864, -1, -1, -1, 3868, 3869, 3870, -1, -1,
14727 : -1, -1, -1, 3876, 3877, 3878, 3879, -1, -1, -1,
14728 : -1, 3884, 3885, 3886, 3887, 3888, 3889, 3890, 3891, 3892,
14729 : 3893, 3894, 3895, -1, -1, -1, -1, -1, -1, -1,
14730 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14731 : -1, -1, -1, -1, 5017, -1, -1, 3920, -1, -1,
14732 : 3923, -1, 3925, -1, -1, -1, 3929, -1, -1, 3932,
14733 : 3933, -1, -1, 3936, 3937, -1, -1, -1, -1, -1,
14734 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14735 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14736 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14737 : -1, 5017, -1, -1, -1, -1, -1, -1, -1, -1,
14738 : -1, 3984, -1, -1, -1, -1, -1, -1, 3991, 3992,
14739 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14740 : -1, -1, -1, -1, 4007, -1, -1, -1, -1, -1,
14741 : -1, -1, -1, -1, -1, -1, -1, 4020, -1, -1,
14742 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14743 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14744 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14745 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14746 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14747 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14748 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14749 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14750 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14751 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14752 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14753 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14754 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14755 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14756 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14757 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14758 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14759 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14760 : 4203, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14761 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14762 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14763 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14764 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14765 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14766 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14767 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 4282,
14768 : 4283, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14769 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14770 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14771 : -1, -1, -1, -1, -1, -1, 4319, -1, -1, -1,
14772 : -1, 4324, 4325, -1, -1, -1, -1, -1, -1, -1,
14773 : -1, -1, -1, -1, -1, -1, 4339, -1, 4341, -1,
14774 : -1, -1, 4345, 4346, 4347, -1, -1, 4350, -1, -1,
14775 : 4353, 4354, -1, -1, -1, 4358, -1, -1, -1, 4362,
14776 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14777 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14778 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14779 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14780 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14781 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 4422,
14782 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14783 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14784 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14785 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14786 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14787 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14788 : 4483, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14789 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14790 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14791 : -1, -1, -1, -1, -1, -1, 4519, -1, -1, -1,
14792 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14793 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14794 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14795 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14796 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14797 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14798 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14799 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14800 : -1, -1, -1, -1, 4607, 4608, -1, -1, -1, -1,
14801 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14802 : 4623, 4624, 4625, -1, -1, -1, -1, -1, -1, -1,
14803 : 4633, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14804 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14805 : -1, -1, -1, -1, -1, -1, -1, -1, 4661, 4662,
14806 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14807 : -1, 4674, -1, -1, -1, -1, -1, -1, -1, -1,
14808 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14809 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14810 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14811 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14812 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14813 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14814 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14815 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14816 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14817 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14818 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14819 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14820 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14821 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14822 : -1, -1, -1, -1, -1, -1, -1, 4830, -1, -1,
14823 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14824 : -1, 4844, -1, -1, 4847, -1, -1, -1, 4851, -1,
14825 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14826 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14827 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14828 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14829 : -1, -1, -1, -1, -1, -1, -1, -1, 4901, -1,
14830 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14831 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14832 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14833 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14834 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14835 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14836 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14837 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14838 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14839 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14840 : -1, -1, -1, -1, -1, -1, -1, -1, 5011, -1,
14841 : 5013, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14842 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14843 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14844 : 5043, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14845 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14846 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14847 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14848 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14849 : -1, -1, 5095, -1, -1, -1, -1, -1, -1, -1,
14850 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14851 : -1, -1, -1, -1, -1, -1, -1, -1, 5121, -1,
14852 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14853 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14854 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14855 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14856 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14857 : -1, -1, -1, -1, -1, -1, -1, 5180, -1, -1,
14858 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14859 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14860 : -1, -1, -1, -1, -1, -1, 5209, 5210, -1, -1,
14861 : -1, -1, -1, -1, -1, -1, -1, -1, 5221, -1,
14862 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14863 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14864 : 3, 4, 5, 6, 7, 8, 9, 10, -1, -1,
14865 : 5253, 5254, -1, -1, -1, 18, 19, 20, 21, 22,
14866 : 23, 24, 25, 26, 27, 28, 29, -1, -1, -1,
14867 : -1, 34, -1, -1, 37, 38, 5279, 40, 41, 42,
14868 : 43, 44, 45, 46, 47, 48, 49, 50, 51, -1,
14869 : 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
14870 : 63, 64, -1, 66, 67, 68, 69, 70, -1, 72,
14871 : -1, 74, 75, 76, 77, 78, 79, 80, 81, 82,
14872 : -1, 84, 85, 86, 87, 88, 89, -1, 91, 92,
14873 : 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
14874 : 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
14875 : -1, 114, 115, 116, 117, 118, 119, -1, 121, 122,
14876 : 123, 124, 125, -1, 127, 128, 129, 130, 131, -1,
14877 : 133, 134, 135, -1, 137, 138, 139, -1, 141, 142,
14878 : 143, 144, 145, 146, 147, 148, 149, 150, 151, -1,
14879 : 153, 154, 155, 156, -1, 158, -1, 160, 161, -1,
14880 : 163, 164, 165, 166, 167, -1, 169, 170, -1, 172,
14881 : 173, -1, 175, 176, 177, 178, 179, 180, 181, 182,
14882 : 183, 184, -1, 186, 187, 188, 189, 190, 191, -1,
14883 : 193, 194, 195, 196, 197, 198, 199, 200, 201, -1,
14884 : 203, -1, 205, 206, 207, 208, 209, 210, 211, 212,
14885 : 213, 214, -1, -1, 217, 218, 219, 220, 221, -1,
14886 : 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
14887 : 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
14888 : 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
14889 : 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
14890 : -1, 264, 265, -1, -1, 268, 269, 270, -1, -1,
14891 : 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
14892 : 283, 284, 285, 286, 287, -1, 289, 290, 291, 292,
14893 : 293, 294, 295, 296, -1, 298, 299, 300, 301, 302,
14894 : 303, 304, 305, 306, 307, 308, 309, 310, 311, -1,
14895 : 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
14896 : 323, 324, -1, 326, 327, 328, 329, 330, 331, 332,
14897 : 333, 334, 335, 336, 337, 338, 339, 340, 341, -1,
14898 : 343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
14899 : 353, 354, 355, 356, 357, 358, -1, 360, 361, 362,
14900 : 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
14901 : -1, 374, 375, -1, 377, 378, 379, 380, 381, 382,
14902 : 383, -1, 385, 386, -1, -1, 389, 390, 391, 392,
14903 : 393, 394, 395, 396, 397, 398, 399, 400, 401, -1,
14904 : 403, 404, 405, 406, 407, 408, 409, -1, 411, 412,
14905 : 413, 414, 415, 416, 417, 418, 419, 420, 421, 422,
14906 : 423, 424, -1, -1, 427, -1, -1, 430, 431, 432,
14907 : 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
14908 : 443, 444, 445, 446, 447, 448, 449, 450, -1, -1,
14909 : -1, -1, -1, -1, 457, 458, 459, -1, -1, -1,
14910 : -1, -1, -1, 466, 467, 3, 4, 5, 6, 7,
14911 : 8, 9, 10, -1, -1, -1, -1, -1, -1, -1,
14912 : 18, 19, 20, 21, 22, 23, 24, 25, -1, 27,
14913 : 28, 29, -1, -1, -1, -1, 34, -1, -1, 37,
14914 : 38, -1, 40, 41, 42, 43, 44, 45, 46, 47,
14915 : 48, 49, 50, 51, -1, 53, 54, 55, 56, 57,
14916 : 58, 59, 60, 61, 62, 63, 64, -1, 66, 67,
14917 : 68, 69, 70, -1, 72, -1, 74, 75, 76, 77,
14918 : 78, 79, 80, 81, 82, -1, 84, 85, 86, 87,
14919 : 88, 89, -1, 91, 92, 93, 94, 95, 96, 97,
14920 : 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
14921 : 108, 109, 110, 111, 112, -1, 114, 115, 116, 117,
14922 : 118, 119, -1, 121, 122, 123, 124, -1, -1, 127,
14923 : 128, 129, 130, 131, -1, 133, 134, 135, -1, 137,
14924 : 138, 139, -1, 141, 142, 143, 144, 145, 146, 147,
14925 : 148, 149, 150, 151, -1, 153, 154, 155, 156, -1,
14926 : 158, -1, 160, 161, -1, 163, 164, 165, 166, 167,
14927 : -1, 169, 170, -1, 172, 173, -1, 175, 176, 177,
14928 : 178, 179, 180, 181, 182, 183, 184, -1, 186, 187,
14929 : 188, 189, 190, 191, -1, 193, 194, 195, 196, 197,
14930 : 198, 199, 200, 201, -1, 203, -1, 205, 206, 207,
14931 : 208, 209, 210, 211, 212, 213, 214, -1, -1, 217,
14932 : 218, 219, 220, 221, -1, 223, 224, 225, 226, 227,
14933 : 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
14934 : 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
14935 : 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
14936 : 258, 259, 260, 261, 262, -1, 264, 265, -1, -1,
14937 : 268, 269, 270, -1, -1, 273, 274, 275, 276, 277,
14938 : 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
14939 : -1, 289, 290, 291, 292, 293, 294, 295, 296, -1,
14940 : 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
14941 : 308, 309, 310, 311, -1, 313, 314, 315, 316, 317,
14942 : 318, 319, 320, 321, 322, 323, 324, -1, 326, 327,
14943 : 328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
14944 : 338, 339, 340, 341, 342, 343, 344, 345, 346, 347,
14945 : 348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
14946 : 358, -1, 360, 361, 362, 363, 364, 365, 366, 367,
14947 : 368, 369, 370, 371, 372, -1, 374, 375, 376, 377,
14948 : 378, 379, 380, 381, 382, 383, -1, 385, 386, -1,
14949 : -1, 389, 390, 391, 392, 393, 394, 395, 396, 397,
14950 : 398, 399, 400, 401, -1, 403, 404, 405, 406, 407,
14951 : 408, 409, -1, 411, 412, 413, 414, 415, 416, 417,
14952 : -1, 419, 420, 421, 422, 423, 424, -1, -1, 427,
14953 : -1, 429, 430, 431, 432, 433, 434, 435, 436, 437,
14954 : 438, 439, 440, 441, 442, 443, 444, 445, 446, 447,
14955 : 448, 449, 450, -1, 452, -1, -1, -1, -1, 457,
14956 : 458, -1, -1, -1, -1, -1, -1, -1, 466, 467,
14957 : 3, 4, 5, 6, 7, 8, 9, 10, -1, -1,
14958 : -1, -1, -1, -1, -1, 18, 19, 20, 21, 22,
14959 : 23, 24, 25, -1, 27, 28, 29, -1, -1, -1,
14960 : -1, 34, -1, -1, 37, 38, -1, 40, 41, 42,
14961 : 43, 44, 45, 46, 47, 48, 49, 50, 51, -1,
14962 : 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
14963 : 63, 64, -1, 66, 67, 68, 69, 70, -1, 72,
14964 : -1, 74, 75, 76, 77, 78, 79, 80, 81, 82,
14965 : -1, 84, 85, 86, 87, 88, 89, -1, 91, 92,
14966 : 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
14967 : 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
14968 : -1, 114, 115, 116, 117, 118, 119, -1, 121, 122,
14969 : 123, 124, -1, -1, 127, 128, 129, 130, 131, -1,
14970 : 133, 134, 135, -1, 137, 138, 139, -1, 141, 142,
14971 : 143, 144, 145, 146, 147, 148, 149, 150, 151, -1,
14972 : 153, 154, 155, 156, -1, 158, -1, 160, 161, -1,
14973 : 163, 164, 165, 166, 167, -1, 169, 170, -1, 172,
14974 : 173, -1, 175, 176, 177, 178, 179, 180, 181, 182,
14975 : 183, 184, -1, 186, 187, 188, 189, 190, 191, -1,
14976 : 193, 194, 195, 196, 197, 198, 199, 200, 201, -1,
14977 : 203, -1, 205, 206, 207, 208, 209, 210, 211, 212,
14978 : 213, 214, -1, -1, 217, 218, 219, 220, 221, -1,
14979 : 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
14980 : 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
14981 : 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
14982 : 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
14983 : -1, 264, 265, -1, -1, 268, 269, 270, -1, -1,
14984 : 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
14985 : 283, 284, 285, 286, 287, -1, 289, 290, 291, 292,
14986 : 293, 294, 295, 296, -1, 298, 299, 300, 301, 302,
14987 : 303, 304, 305, 306, 307, 308, 309, 310, 311, -1,
14988 : 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
14989 : 323, 324, -1, 326, 327, 328, 329, 330, 331, 332,
14990 : 333, 334, 335, 336, 337, 338, 339, 340, 341, -1,
14991 : 343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
14992 : 353, 354, 355, 356, 357, 358, -1, 360, 361, 362,
14993 : 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
14994 : -1, 374, 375, -1, 377, 378, 379, 380, 381, 382,
14995 : 383, -1, 385, 386, -1, -1, 389, 390, 391, 392,
14996 : 393, 394, 395, 396, 397, 398, 399, 400, 401, -1,
14997 : 403, 404, 405, 406, 407, 408, 409, -1, 411, 412,
14998 : 413, 414, 415, 416, 417, -1, 419, 420, 421, 422,
14999 : 423, 424, -1, -1, 427, -1, -1, 430, 431, 432,
15000 : 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
15001 : 443, 444, 445, 446, 447, 448, 449, 450, -1, -1,
15002 : -1, -1, -1, -1, 457, 458, -1, -1, -1, -1,
15003 : -1, -1, -1, 466, 467, 3, 4, 5, 6, 7,
15004 : 8, 9, 10, -1, -1, -1, -1, -1, -1, -1,
15005 : 18, 19, 20, 21, 22, 23, 24, 25, -1, 27,
15006 : 28, 29, -1, -1, -1, -1, 34, -1, -1, 37,
15007 : 38, -1, 40, 41, 42, 43, 44, 45, 46, 47,
15008 : 48, 49, 50, 51, -1, 53, 54, 55, 56, 57,
15009 : 58, 59, 60, 61, 62, 63, 64, -1, 66, 67,
15010 : 68, 69, 70, -1, 72, -1, 74, 75, 76, 77,
15011 : 78, 79, 80, 81, 82, -1, 84, 85, 86, 87,
15012 : 88, 89, -1, 91, 92, 93, 94, 95, 96, 97,
15013 : 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
15014 : 108, 109, 110, 111, 112, -1, 114, 115, 116, 117,
15015 : 118, 119, -1, 121, 122, 123, 124, -1, -1, 127,
15016 : 128, 129, 130, 131, -1, 133, 134, 135, -1, 137,
15017 : 138, 139, -1, 141, 142, 143, 144, 145, 146, 147,
15018 : 148, 149, 150, 151, -1, 153, 154, 155, 156, -1,
15019 : 158, -1, 160, 161, -1, 163, 164, 165, 166, 167,
15020 : -1, 169, 170, -1, 172, 173, -1, 175, 176, 177,
15021 : 178, 179, 180, 181, 182, 183, 184, -1, 186, 187,
15022 : 188, 189, 190, 191, -1, 193, 194, 195, 196, 197,
15023 : 198, 199, 200, 201, -1, 203, -1, 205, 206, 207,
15024 : 208, 209, 210, 211, 212, 213, 214, -1, -1, 217,
15025 : 218, 219, 220, 221, -1, 223, 224, 225, 226, 227,
15026 : 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
15027 : 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
15028 : 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
15029 : 258, 259, 260, 261, 262, -1, 264, 265, -1, -1,
15030 : 268, 269, 270, -1, -1, 273, 274, 275, 276, 277,
15031 : 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
15032 : -1, 289, 290, 291, 292, 293, 294, 295, 296, -1,
15033 : 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
15034 : 308, 309, 310, 311, -1, 313, 314, 315, 316, 317,
15035 : 318, 319, 320, 321, 322, 323, 324, -1, 326, 327,
15036 : 328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
15037 : 338, 339, 340, 341, -1, 343, 344, 345, 346, 347,
15038 : 348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
15039 : 358, -1, 360, 361, 362, 363, 364, 365, 366, 367,
15040 : 368, 369, 370, 371, 372, -1, 374, 375, -1, 377,
15041 : 378, 379, 380, 381, 382, 383, -1, 385, 386, -1,
15042 : -1, 389, 390, 391, 392, 393, 394, 395, 396, 397,
15043 : 398, 399, 400, 401, -1, 403, 404, 405, 406, 407,
15044 : 408, 409, -1, 411, 412, 413, 414, 415, 416, 417,
15045 : -1, 419, 420, 421, 422, 423, 424, -1, -1, 427,
15046 : -1, -1, 430, 431, 432, 433, 434, 435, 436, 437,
15047 : 438, 439, 440, 441, 442, 443, 444, 445, 446, 447,
15048 : 448, 449, 450, -1, -1, -1, -1, -1, -1, 457,
15049 : 458, -1, -1, -1, -1, -1, -1, -1, 466, 467,
15050 : 3, 4, 5, 6, 7, 8, 9, 10, -1, -1,
15051 : -1, -1, -1, -1, -1, 18, 19, 20, 21, 22,
15052 : 23, 24, 25, -1, 27, 28, 29, -1, -1, -1,
15053 : -1, 34, -1, -1, 37, 38, -1, 40, 41, 42,
15054 : 43, 44, 45, 46, 47, 48, 49, 50, 51, -1,
15055 : 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
15056 : 63, 64, -1, 66, 67, 68, 69, 70, -1, 72,
15057 : -1, 74, 75, 76, 77, 78, 79, 80, 81, 82,
15058 : -1, 84, 85, 86, 87, 88, 89, -1, 91, 92,
15059 : 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
15060 : 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
15061 : -1, 114, 115, 116, 117, 118, 119, -1, 121, 122,
15062 : 123, 124, -1, -1, 127, 128, 129, 130, 131, -1,
15063 : 133, 134, 135, -1, 137, 138, 139, -1, 141, 142,
15064 : 143, 144, 145, 146, 147, 148, 149, 150, 151, -1,
15065 : 153, 154, 155, 156, -1, 158, -1, 160, 161, -1,
15066 : 163, 164, 165, 166, 167, -1, 169, 170, -1, 172,
15067 : 173, -1, 175, 176, 177, 178, 179, 180, 181, 182,
15068 : 183, 184, -1, 186, 187, 188, 189, 190, 191, -1,
15069 : 193, 194, 195, 196, 197, 198, 199, 200, 201, -1,
15070 : 203, -1, 205, 206, 207, 208, 209, 210, 211, 212,
15071 : 213, 214, -1, -1, 217, 218, 219, 220, 221, -1,
15072 : 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
15073 : 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
15074 : 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
15075 : 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
15076 : -1, 264, 265, -1, -1, 268, 269, 270, -1, -1,
15077 : 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
15078 : 283, 284, 285, 286, 287, -1, 289, 290, 291, 292,
15079 : 293, 294, 295, 296, -1, 298, 299, 300, 301, 302,
15080 : 303, 304, 305, 306, 307, 308, 309, 310, 311, -1,
15081 : 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
15082 : 323, 324, -1, 326, 327, 328, 329, 330, 331, 332,
15083 : 333, 334, 335, 336, 337, 338, 339, 340, 341, -1,
15084 : 343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
15085 : 353, 354, 355, 356, 357, 358, -1, 360, 361, 362,
15086 : 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
15087 : -1, 374, 375, -1, 377, 378, 379, 380, 381, 382,
15088 : 383, -1, 385, 386, -1, -1, 389, 390, 391, 392,
15089 : 393, 394, 395, 396, 397, 398, 399, 400, 401, -1,
15090 : 403, 404, 405, 406, 407, 408, 409, -1, 411, 412,
15091 : 413, 414, 415, 416, 417, -1, 419, 420, 421, 422,
15092 : 423, 424, -1, -1, 427, -1, -1, 430, 431, 432,
15093 : 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
15094 : 443, 444, 445, 446, 447, 448, 449, 450, -1, -1,
15095 : 3, -1, -1, -1, 457, 458, -1, -1, -1, -1,
15096 : -1, -1, -1, 466, 467, 18, 19, 20, 21, 22,
15097 : 23, 24, 25, -1, 27, 28, 29, -1, -1, -1,
15098 : -1, -1, 35, -1, 37, 38, -1, 40, 41, 42,
15099 : -1, 44, 45, 46, 47, 48, -1, 50, 51, -1,
15100 : 53, 54, 55, 56, 57, -1, -1, 60, 61, 62,
15101 : 63, 64, -1, 66, 67, 68, 69, 70, -1, -1,
15102 : -1, 74, 75, 76, 77, 78, -1, 80, 81, 82,
15103 : -1, 84, 85, 86, 87, 88, 89, -1, 91, 92,
15104 : 93, 94, -1, -1, -1, -1, -1, -1, -1, 102,
15105 : 103, 104, 105, 106, 107, 108, 109, 110, -1, 112,
15106 : -1, 114, 115, 116, 117, 118, 119, -1, 121, 122,
15107 : 123, 124, -1, -1, 127, 128, 129, 130, 131, -1,
15108 : 133, 134, 135, -1, 137, 138, 139, -1, 141, 142,
15109 : 143, 144, 145, 146, 147, 148, 149, -1, 151, -1,
15110 : 153, 154, 155, 156, -1, 158, -1, 160, -1, -1,
15111 : 163, 164, 165, 166, 167, -1, 169, 170, -1, 172,
15112 : 173, -1, 175, 176, 177, 178, 179, -1, 181, 182,
15113 : 183, 184, -1, 186, 187, 188, 189, 190, 191, -1,
15114 : 193, 194, 195, 196, 197, 198, 199, 200, 201, -1,
15115 : 203, -1, 205, -1, -1, 208, 209, 210, 211, 212,
15116 : 213, 214, -1, -1, 217, 218, 219, 220, -1, -1,
15117 : 223, 224, 225, -1, -1, 228, 229, 230, 231, 232,
15118 : 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
15119 : 243, 244, 245, 246, 247, 248, 249, 250, -1, 252,
15120 : 253, -1, 255, -1, 257, 258, 259, 260, 261, 262,
15121 : -1, 264, 265, -1, -1, 268, 269, 270, -1, -1,
15122 : 273, 274, -1, 276, -1, 278, 279, 280, 281, 282,
15123 : 283, 284, 285, 286, 287, -1, 289, 290, 291, 292,
15124 : 293, 294, 295, 296, -1, 298, 299, 300, 301, 302,
15125 : 303, 304, 305, 306, 307, 308, 309, 310, 311, -1,
15126 : 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
15127 : 323, 324, -1, 326, 327, 328, 329, 330, 331, 332,
15128 : 333, 334, 335, 336, 337, 338, 339, 340, 341, -1,
15129 : 343, 344, 345, 346, 347, -1, 349, 350, 351, 352,
15130 : 353, -1, 355, 356, 357, 358, -1, 360, 361, 362,
15131 : 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
15132 : -1, 374, 375, -1, 377, -1, 379, 380, 381, 382,
15133 : 383, -1, 385, 386, -1, -1, 389, 390, 391, 392,
15134 : 393, -1, 395, 396, 397, 398, 399, 400, 401, -1,
15135 : -1, 404, 405, 406, 407, 408, -1, -1, 411, 412,
15136 : 413, 414, 415, 416, 417, -1, 419, -1, 421, 422,
15137 : 423, 424, -1, -1, 427, -1, -1, 430, 431, 432,
15138 : 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
15139 : 443, 444, 445, 446, 447, 448, 449, -1, -1, -1,
15140 : 3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15141 : -1, -1, -1, -1, 467, 18, 19, 20, 21, 22,
15142 : 23, 24, 25, -1, 27, 28, 29, -1, -1, -1,
15143 : -1, -1, -1, -1, 37, 38, -1, 40, 41, 42,
15144 : 43, 44, 45, 46, -1, 48, 49, 50, 51, -1,
15145 : 53, 54, 55, 56, 57, -1, -1, 60, 61, 62,
15146 : 63, 64, -1, 66, 67, 68, 69, -1, -1, 72,
15147 : -1, 74, 75, 76, 77, 78, 79, 80, 81, 82,
15148 : -1, 84, 85, 86, 87, 88, 89, -1, 91, 92,
15149 : 93, 94, -1, -1, -1, 98, -1, -1, -1, 102,
15150 : 103, 104, 105, 106, 107, 108, 109, 110, -1, 112,
15151 : -1, 114, 115, 116, 117, 118, 119, -1, 121, 122,
15152 : 123, 124, -1, -1, 127, 128, 129, 130, 131, -1,
15153 : 133, 134, 135, -1, 137, 138, 139, -1, 141, 142,
15154 : 143, 144, -1, 146, 147, 148, -1, -1, 151, -1,
15155 : 153, 154, 155, 156, -1, 158, -1, 160, 161, -1,
15156 : 163, 164, 165, 166, 167, -1, 169, -1, -1, -1,
15157 : 173, -1, 175, 176, 177, 178, 179, 180, 181, 182,
15158 : 183, 184, 185, 186, 187, 188, 189, 190, 191, -1,
15159 : 193, 194, 195, 196, 197, 198, 199, 200, 201, -1,
15160 : 203, -1, 205, 206, 207, 208, 209, 210, 211, 212,
15161 : 213, 214, -1, -1, 217, -1, 219, 220, 221, -1,
15162 : 223, 224, 225, -1, -1, 228, 229, 230, 231, 232,
15163 : 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
15164 : 243, 244, 245, 246, 247, 248, 249, -1, -1, 252,
15165 : 253, 254, 255, -1, -1, 258, 259, 260, 261, 262,
15166 : -1, 264, 265, -1, -1, 268, 269, 270, -1, -1,
15167 : 273, 274, 275, 276, 277, -1, 279, 280, 281, 282,
15168 : 283, 284, 285, 286, 287, -1, 289, 290, -1, 292,
15169 : -1, 294, 295, 296, -1, 298, 299, 300, 301, 302,
15170 : 303, 304, 305, 306, 307, 308, 309, 310, 311, -1,
15171 : 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
15172 : 323, 324, -1, 326, 327, 328, 329, 330, 331, -1,
15173 : 333, 334, 335, 336, 337, 338, 339, 340, 341, -1,
15174 : 343, 344, 345, 346, 347, -1, 349, 350, 351, 352,
15175 : 353, 354, 355, 356, 357, 358, -1, 360, 361, 362,
15176 : 363, 364, 365, 366, 367, 368, 369, 370, 371, -1,
15177 : -1, 374, 375, -1, 377, 378, 379, 380, 381, 382,
15178 : 383, -1, 385, 386, -1, -1, 389, 390, -1, 392,
15179 : -1, -1, 395, 396, 397, 398, 399, 400, 401, -1,
15180 : -1, 404, 405, 406, 407, 408, -1, -1, 411, 412,
15181 : 413, 414, 415, -1, 417, 418, 419, 420, 421, 422,
15182 : 423, 424, -1, -1, 427, -1, -1, 430, 431, 432,
15183 : 433, 434, 435, 3, -1, -1, -1, -1, -1, -1,
15184 : -1, -1, -1, -1, 447, 448, 449, -1, 18, 19,
15185 : 20, 21, 22, 23, 24, 25, -1, 27, 28, 29,
15186 : -1, -1, -1, -1, 467, -1, -1, 37, 38, -1,
15187 : 40, 41, 42, 43, 44, 45, 46, -1, 48, 49,
15188 : 50, 51, -1, 53, 54, 55, 56, 57, -1, -1,
15189 : 60, 61, 62, 63, 64, -1, 66, 67, 68, 69,
15190 : -1, -1, 72, -1, 74, 75, 76, 77, 78, 79,
15191 : 80, 81, 82, -1, 84, 85, 86, 87, 88, 89,
15192 : -1, 91, 92, 93, 94, -1, -1, -1, 98, -1,
15193 : -1, -1, 102, 103, 104, 105, 106, 107, 108, 109,
15194 : 110, -1, 112, -1, 114, 115, 116, 117, 118, 119,
15195 : -1, 121, 122, 123, 124, -1, -1, 127, 128, 129,
15196 : 130, 131, -1, 133, 134, 135, -1, 137, 138, 139,
15197 : -1, 141, 142, 143, 144, -1, 146, 147, 148, -1,
15198 : -1, 151, -1, 153, 154, 155, 156, -1, 158, -1,
15199 : 160, 161, -1, 163, 164, 165, 166, 167, -1, 169,
15200 : -1, -1, -1, 173, -1, 175, 176, 177, 178, 179,
15201 : 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
15202 : 190, 191, -1, 193, 194, 195, 196, 197, 198, 199,
15203 : 200, 201, -1, 203, -1, 205, 206, 207, 208, 209,
15204 : 210, 211, 212, 213, 214, -1, -1, 217, -1, 219,
15205 : 220, 221, -1, 223, 224, 225, -1, -1, 228, 229,
15206 : 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
15207 : 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
15208 : -1, -1, 252, 253, 254, 255, -1, -1, 258, 259,
15209 : 260, 261, 262, -1, 264, 265, -1, -1, 268, 269,
15210 : 270, -1, -1, 273, 274, 275, 276, 277, -1, 279,
15211 : 280, 281, 282, 283, 284, 285, 286, 287, -1, 289,
15212 : 290, -1, 292, -1, 294, 295, 296, -1, 298, 299,
15213 : 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
15214 : 310, 311, -1, 313, 314, 315, 316, 317, 318, 319,
15215 : 320, 321, 322, 323, 324, -1, 326, 327, 328, 329,
15216 : 330, 331, -1, 333, 334, 335, 336, 337, 338, 339,
15217 : 340, 341, -1, 343, 344, 345, 346, 347, -1, 349,
15218 : 350, 351, 352, 353, 354, 355, 356, 357, 358, -1,
15219 : 360, 361, 362, 363, 364, 365, 366, 367, 368, 369,
15220 : 370, 371, -1, -1, 374, 375, -1, 377, 378, 379,
15221 : 380, 381, 382, 383, -1, 385, 386, -1, -1, 389,
15222 : 390, -1, 392, -1, -1, 395, 396, 397, 398, 399,
15223 : 400, 401, -1, -1, 404, 405, 406, 407, 408, -1,
15224 : -1, 411, 412, 413, 414, 415, -1, 417, 418, 419,
15225 : 420, 421, 422, 423, 424, -1, -1, 427, -1, -1,
15226 : 430, 431, 432, 433, 434, 435, -1, 3, 4, 5,
15227 : 6, 7, 8, 9, 10, -1, -1, 447, 448, 449,
15228 : -1, -1, 18, 19, 20, 21, 22, 23, 24, 25,
15229 : -1, 27, 28, 29, -1, -1, -1, 467, 34, -1,
15230 : -1, 37, 38, -1, 40, 41, 42, 43, 44, 45,
15231 : 46, 47, 48, 49, 50, 51, -1, 53, 54, 55,
15232 : 56, 57, 58, 59, 60, 61, 62, 63, 64, -1,
15233 : 66, 67, 68, 69, 70, -1, 72, -1, 74, 75,
15234 : 76, 77, 78, 79, 80, 81, 82, -1, 84, 85,
15235 : 86, 87, 88, 89, -1, 91, 92, 93, 94, 95,
15236 : 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
15237 : 106, 107, 108, 109, 110, 111, 112, -1, 114, 115,
15238 : 116, 117, 118, 119, -1, 121, 122, 123, 124, -1,
15239 : -1, 127, 128, 129, 130, 131, -1, 133, 134, 135,
15240 : -1, 137, 138, 139, -1, 141, 142, 143, 144, 145,
15241 : 146, 147, 148, 149, 150, 151, -1, 153, 154, 155,
15242 : 156, -1, 158, -1, 160, 161, -1, 163, 164, 165,
15243 : 166, 167, -1, 169, 170, -1, 172, 173, -1, 175,
15244 : 176, 177, 178, 179, 180, 181, 182, 183, 184, -1,
15245 : 186, 187, 188, 189, 190, 191, -1, 193, 194, 195,
15246 : 196, 197, 198, 199, 200, 201, -1, 203, -1, 205,
15247 : 206, 207, 208, 209, 210, 211, 212, 213, 214, -1,
15248 : -1, 217, 218, 219, 220, 221, -1, 223, 224, 225,
15249 : 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
15250 : 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
15251 : 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
15252 : 256, 257, 258, 259, 260, 261, 262, -1, 264, 265,
15253 : -1, -1, 268, 269, 270, -1, -1, 273, 274, 275,
15254 : 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
15255 : 286, 287, -1, 289, 290, 291, 292, 293, 294, 295,
15256 : 296, -1, 298, 299, 300, 301, 302, 303, 304, 305,
15257 : 306, 307, 308, 309, 310, 311, -1, 313, 314, 315,
15258 : 316, 317, 318, 319, 320, 321, 322, 323, 324, -1,
15259 : 326, 327, 328, 329, 330, 331, 332, 333, 334, 335,
15260 : 336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
15261 : 346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
15262 : 356, 357, 358, -1, 360, 361, 362, 363, 364, 365,
15263 : 366, 367, 368, 369, 370, 371, 372, -1, 374, 375,
15264 : 376, 377, 378, 379, 380, 381, 382, 383, -1, 385,
15265 : 386, -1, -1, 389, 390, 391, 392, 393, 394, 395,
15266 : 396, 397, 398, 399, 400, 401, -1, 403, 404, 405,
15267 : 406, 407, 408, 409, -1, 411, 412, 413, 414, 415,
15268 : 416, 417, -1, 419, 420, 421, 422, 423, 424, -1,
15269 : -1, 427, -1, 429, 430, 431, 432, 433, 434, 435,
15270 : 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
15271 : 446, 447, 448, 449, 450, -1, 452, -1, -1, -1,
15272 : -1, 457, 458, -1, -1, -1, -1, -1, -1, -1,
15273 : 466, 3, 4, 5, 6, 7, 8, 9, 10, -1,
15274 : -1, -1, -1, -1, -1, -1, 18, 19, 20, 21,
15275 : 22, 23, 24, 25, -1, 27, 28, 29, -1, -1,
15276 : -1, -1, 34, -1, -1, 37, 38, -1, 40, 41,
15277 : 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
15278 : 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
15279 : 62, 63, 64, -1, 66, 67, 68, 69, 70, -1,
15280 : 72, -1, 74, 75, 76, 77, 78, 79, 80, 81,
15281 : 82, -1, 84, 85, 86, 87, 88, 89, -1, 91,
15282 : 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
15283 : 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
15284 : 112, -1, 114, 115, 116, 117, 118, 119, -1, 121,
15285 : 122, 123, 124, -1, -1, 127, 128, 129, 130, 131,
15286 : -1, 133, 134, 135, -1, 137, 138, 139, -1, 141,
15287 : 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
15288 : -1, 153, 154, 155, 156, -1, 158, -1, 160, 161,
15289 : 162, 163, 164, 165, 166, 167, -1, 169, 170, -1,
15290 : 172, 173, -1, 175, 176, 177, 178, 179, 180, 181,
15291 : 182, 183, 184, -1, 186, 187, 188, 189, 190, 191,
15292 : -1, 193, 194, 195, 196, 197, 198, 199, 200, 201,
15293 : -1, 203, -1, 205, 206, 207, 208, 209, 210, 211,
15294 : 212, 213, 214, -1, 216, 217, 218, 219, 220, 221,
15295 : -1, 223, 224, 225, 226, 227, 228, 229, 230, 231,
15296 : 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
15297 : 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
15298 : 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
15299 : 262, -1, 264, 265, -1, -1, 268, 269, 270, -1,
15300 : -1, 273, 274, 275, 276, 277, 278, 279, 280, 281,
15301 : 282, 283, 284, 285, 286, 287, -1, 289, 290, 291,
15302 : 292, 293, 294, 295, 296, -1, 298, 299, 300, 301,
15303 : 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
15304 : -1, 313, 314, 315, 316, 317, 318, 319, 320, 321,
15305 : 322, 323, 324, -1, 326, 327, 328, 329, 330, 331,
15306 : 332, 333, 334, 335, 336, 337, 338, 339, 340, 341,
15307 : -1, 343, 344, 345, 346, 347, 348, 349, 350, 351,
15308 : 352, 353, 354, 355, 356, 357, 358, -1, 360, 361,
15309 : 362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
15310 : 372, -1, 374, 375, -1, 377, 378, 379, 380, 381,
15311 : 382, 383, -1, 385, 386, -1, 388, 389, 390, 391,
15312 : 392, 393, 394, 395, 396, 397, 398, 399, 400, 401,
15313 : -1, 403, 404, 405, 406, 407, 408, 409, -1, 411,
15314 : 412, 413, 414, 415, 416, 417, -1, 419, 420, 421,
15315 : 422, 423, 424, -1, -1, 427, -1, -1, 430, 431,
15316 : 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
15317 : 442, 443, 444, 445, 446, 447, 448, 449, 450, -1,
15318 : -1, -1, -1, -1, -1, 457, 458, -1, -1, -1,
15319 : -1, -1, -1, -1, 466, 3, 4, 5, 6, 7,
15320 : 8, 9, 10, -1, -1, -1, -1, -1, -1, -1,
15321 : 18, 19, 20, 21, 22, 23, 24, 25, -1, 27,
15322 : 28, 29, -1, -1, -1, -1, 34, -1, -1, 37,
15323 : 38, -1, 40, 41, 42, 43, 44, 45, 46, 47,
15324 : 48, 49, 50, 51, -1, 53, 54, 55, 56, 57,
15325 : 58, 59, 60, 61, 62, 63, 64, -1, 66, 67,
15326 : 68, 69, 70, -1, 72, -1, 74, 75, 76, 77,
15327 : 78, 79, 80, 81, 82, -1, 84, 85, 86, 87,
15328 : 88, 89, -1, 91, 92, 93, 94, 95, 96, 97,
15329 : 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
15330 : 108, 109, 110, 111, 112, -1, 114, 115, 116, 117,
15331 : 118, 119, -1, 121, 122, 123, 124, -1, -1, 127,
15332 : 128, 129, 130, 131, -1, 133, 134, 135, -1, 137,
15333 : 138, 139, -1, 141, 142, 143, 144, 145, 146, 147,
15334 : 148, 149, 150, 151, -1, 153, 154, 155, 156, -1,
15335 : 158, -1, 160, 161, -1, 163, 164, 165, 166, 167,
15336 : -1, 169, 170, -1, 172, 173, -1, 175, 176, 177,
15337 : 178, 179, 180, 181, 182, 183, 184, -1, 186, 187,
15338 : 188, 189, 190, 191, -1, 193, 194, 195, 196, 197,
15339 : 198, 199, 200, 201, -1, 203, -1, 205, 206, 207,
15340 : 208, 209, 210, 211, 212, 213, 214, -1, -1, 217,
15341 : 218, 219, 220, 221, -1, 223, 224, 225, 226, 227,
15342 : 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
15343 : 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
15344 : 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
15345 : 258, 259, 260, 261, 262, -1, 264, 265, -1, -1,
15346 : 268, 269, 270, -1, -1, 273, 274, 275, 276, 277,
15347 : 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
15348 : -1, 289, 290, 291, 292, 293, 294, 295, 296, -1,
15349 : 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
15350 : 308, 309, 310, 311, -1, 313, 314, 315, 316, 317,
15351 : 318, 319, 320, 321, 322, 323, 324, -1, 326, 327,
15352 : 328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
15353 : 338, 339, 340, 341, -1, 343, 344, 345, 346, 347,
15354 : 348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
15355 : 358, -1, 360, 361, 362, 363, 364, 365, 366, 367,
15356 : 368, 369, 370, 371, 372, -1, 374, 375, -1, 377,
15357 : 378, 379, 380, 381, 382, 383, -1, 385, 386, -1,
15358 : -1, 389, 390, 391, 392, 393, 394, 395, 396, 397,
15359 : 398, 399, 400, 401, -1, 403, 404, 405, 406, 407,
15360 : 408, 409, -1, 411, 412, 413, 414, 415, 416, 417,
15361 : -1, 419, 420, 421, 422, 423, 424, -1, -1, 427,
15362 : -1, -1, 430, 431, 432, 433, 434, 435, 436, 437,
15363 : 438, 439, 440, 441, 442, 443, 444, 445, 446, 447,
15364 : 448, 449, 450, -1, -1, -1, -1, -1, -1, 457,
15365 : 458, -1, -1, -1, -1, -1, 464, 465, 466, 3,
15366 : 4, 5, 6, 7, 8, 9, 10, -1, -1, -1,
15367 : -1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
15368 : 24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
15369 : 34, -1, -1, 37, 38, -1, 40, 41, 42, 43,
15370 : 44, 45, 46, 47, 48, 49, 50, 51, -1, 53,
15371 : 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
15372 : 64, -1, 66, 67, 68, 69, 70, -1, 72, -1,
15373 : 74, 75, 76, 77, 78, 79, 80, 81, 82, -1,
15374 : 84, 85, 86, 87, 88, 89, -1, 91, 92, 93,
15375 : 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
15376 : 104, 105, 106, 107, 108, 109, 110, 111, 112, -1,
15377 : 114, 115, 116, 117, 118, 119, -1, 121, 122, 123,
15378 : 124, -1, -1, 127, 128, 129, 130, 131, -1, 133,
15379 : 134, 135, -1, 137, 138, 139, -1, 141, 142, 143,
15380 : 144, 145, 146, 147, 148, 149, 150, 151, -1, 153,
15381 : 154, 155, 156, -1, 158, -1, 160, 161, -1, 163,
15382 : 164, 165, 166, 167, -1, 169, 170, -1, 172, 173,
15383 : -1, 175, 176, 177, 178, 179, 180, 181, 182, 183,
15384 : 184, -1, 186, 187, 188, 189, 190, 191, -1, 193,
15385 : 194, 195, 196, 197, 198, 199, 200, 201, -1, 203,
15386 : -1, 205, 206, 207, 208, 209, 210, 211, 212, 213,
15387 : 214, -1, -1, 217, 218, 219, 220, 221, -1, 223,
15388 : 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
15389 : 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
15390 : 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
15391 : 254, 255, 256, 257, 258, 259, 260, 261, 262, -1,
15392 : 264, 265, -1, -1, 268, 269, 270, -1, -1, 273,
15393 : 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
15394 : 284, 285, 286, 287, -1, 289, 290, 291, 292, 293,
15395 : 294, 295, 296, -1, 298, 299, 300, 301, 302, 303,
15396 : 304, 305, 306, 307, 308, 309, 310, 311, -1, 313,
15397 : 314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
15398 : 324, -1, 326, 327, 328, 329, 330, 331, 332, 333,
15399 : 334, 335, 336, 337, 338, 339, 340, 341, -1, 343,
15400 : 344, 345, 346, 347, 348, 349, 350, 351, 352, 353,
15401 : 354, 355, 356, 357, 358, -1, 360, 361, 362, 363,
15402 : 364, 365, 366, 367, 368, 369, 370, 371, 372, -1,
15403 : 374, 375, -1, 377, 378, 379, 380, 381, 382, 383,
15404 : -1, 385, 386, -1, -1, 389, 390, 391, 392, 393,
15405 : 394, 395, 396, 397, 398, 399, 400, 401, -1, 403,
15406 : 404, 405, 406, 407, 408, 409, -1, 411, 412, 413,
15407 : 414, 415, 416, 417, -1, 419, 420, 421, 422, 423,
15408 : 424, -1, -1, 427, -1, -1, 430, 431, 432, 433,
15409 : 434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
15410 : 444, 445, 446, 447, 448, 449, 450, -1, -1, -1,
15411 : -1, -1, -1, 457, 458, 459, -1, -1, -1, -1,
15412 : -1, -1, 466, 3, 4, 5, 6, 7, 8, 9,
15413 : 10, -1, -1, -1, -1, -1, -1, -1, 18, 19,
15414 : 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
15415 : -1, -1, -1, -1, 34, -1, -1, 37, 38, -1,
15416 : 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
15417 : 50, 51, -1, 53, 54, 55, 56, 57, 58, 59,
15418 : 60, 61, 62, 63, 64, -1, 66, 67, 68, 69,
15419 : 70, -1, 72, -1, 74, 75, 76, 77, 78, 79,
15420 : 80, 81, 82, -1, 84, 85, 86, 87, 88, 89,
15421 : -1, 91, 92, 93, 94, 95, 96, 97, 98, 99,
15422 : 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
15423 : 110, 111, 112, -1, 114, 115, 116, 117, 118, 119,
15424 : -1, 121, 122, 123, 124, -1, -1, 127, 128, 129,
15425 : 130, 131, -1, 133, 134, 135, -1, 137, 138, 139,
15426 : -1, 141, 142, 143, 144, 145, 146, 147, 148, 149,
15427 : 150, 151, -1, 153, 154, 155, 156, -1, 158, -1,
15428 : 160, 161, -1, 163, 164, 165, 166, 167, -1, 169,
15429 : 170, -1, 172, 173, -1, 175, 176, 177, 178, 179,
15430 : 180, 181, 182, 183, 184, -1, 186, 187, 188, 189,
15431 : 190, 191, -1, 193, 194, 195, 196, 197, 198, 199,
15432 : 200, 201, -1, 203, -1, 205, 206, 207, 208, 209,
15433 : 210, 211, 212, 213, 214, -1, -1, 217, 218, 219,
15434 : 220, 221, -1, 223, 224, 225, 226, 227, 228, 229,
15435 : 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
15436 : 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
15437 : 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
15438 : 260, 261, 262, -1, 264, 265, -1, -1, 268, 269,
15439 : 270, -1, -1, 273, 274, 275, 276, 277, 278, 279,
15440 : 280, 281, 282, 283, 284, 285, 286, 287, -1, 289,
15441 : 290, 291, 292, 293, 294, 295, 296, -1, 298, 299,
15442 : 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
15443 : 310, 311, -1, 313, 314, 315, 316, 317, 318, 319,
15444 : 320, 321, 322, 323, 324, -1, 326, 327, 328, 329,
15445 : 330, 331, 332, 333, 334, 335, 336, 337, 338, 339,
15446 : 340, 341, -1, 343, 344, 345, 346, 347, 348, 349,
15447 : 350, 351, 352, 353, 354, 355, 356, 357, 358, -1,
15448 : 360, 361, 362, 363, 364, 365, 366, 367, 368, 369,
15449 : 370, 371, 372, -1, 374, 375, -1, 377, 378, 379,
15450 : 380, 381, 382, 383, -1, 385, 386, -1, -1, 389,
15451 : 390, 391, 392, 393, 394, 395, 396, 397, 398, 399,
15452 : 400, 401, -1, 403, 404, 405, 406, 407, 408, 409,
15453 : -1, 411, 412, 413, 414, 415, 416, 417, -1, 419,
15454 : 420, 421, 422, 423, 424, -1, -1, 427, -1, -1,
15455 : 430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
15456 : 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
15457 : 450, -1, -1, -1, -1, -1, -1, 457, 458, -1,
15458 : -1, -1, -1, -1, -1, -1, 466, 3, 4, 5,
15459 : 6, 7, 8, 9, 10, -1, -1, -1, -1, -1,
15460 : -1, -1, 18, 19, 20, 21, 22, 23, 24, 25,
15461 : -1, 27, 28, 29, -1, -1, -1, -1, 34, -1,
15462 : -1, 37, 38, -1, 40, 41, 42, 43, 44, 45,
15463 : 46, 47, 48, 49, 50, 51, -1, 53, 54, 55,
15464 : 56, 57, 58, 59, 60, 61, 62, 63, 64, -1,
15465 : 66, 67, 68, 69, 70, -1, 72, -1, 74, 75,
15466 : 76, 77, 78, 79, 80, 81, 82, -1, 84, 85,
15467 : 86, 87, 88, 89, -1, 91, 92, 93, 94, 95,
15468 : 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
15469 : 106, 107, 108, 109, 110, 111, 112, -1, 114, 115,
15470 : 116, 117, 118, 119, -1, 121, 122, 123, 124, -1,
15471 : -1, 127, 128, 129, 130, 131, -1, 133, 134, 135,
15472 : -1, 137, 138, 139, -1, 141, 142, 143, 144, 145,
15473 : 146, 147, 148, 149, 150, 151, -1, 153, 154, 155,
15474 : 156, -1, 158, -1, 160, 161, 162, 163, 164, 165,
15475 : 166, 167, -1, 169, 170, -1, 172, 173, -1, 175,
15476 : 176, 177, 178, 179, 180, 181, 182, 183, 184, -1,
15477 : 186, 187, 188, 189, 190, 191, -1, 193, 194, 195,
15478 : 196, 197, 198, 199, 200, 201, -1, 203, -1, 205,
15479 : 206, 207, 208, 209, 210, 211, 212, 213, 214, -1,
15480 : -1, 217, 218, 219, 220, 221, -1, 223, 224, 225,
15481 : 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
15482 : 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
15483 : 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
15484 : 256, 257, 258, 259, 260, 261, 262, -1, 264, 265,
15485 : -1, -1, 268, 269, 270, -1, -1, 273, 274, 275,
15486 : 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
15487 : 286, 287, -1, 289, 290, 291, 292, 293, 294, 295,
15488 : 296, -1, 298, 299, 300, 301, 302, 303, 304, 305,
15489 : 306, 307, 308, 309, 310, 311, -1, 313, 314, 315,
15490 : 316, 317, 318, 319, 320, 321, 322, 323, 324, -1,
15491 : 326, 327, 328, 329, 330, 331, 332, 333, 334, 335,
15492 : 336, 337, 338, 339, 340, 341, -1, 343, 344, 345,
15493 : 346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
15494 : 356, 357, 358, -1, 360, 361, 362, 363, 364, 365,
15495 : 366, 367, 368, 369, 370, 371, 372, -1, 374, 375,
15496 : -1, 377, 378, 379, 380, 381, 382, 383, -1, 385,
15497 : 386, -1, -1, 389, 390, 391, 392, 393, 394, 395,
15498 : 396, 397, 398, 399, 400, 401, -1, 403, 404, 405,
15499 : 406, 407, 408, 409, -1, 411, 412, 413, 414, 415,
15500 : 416, 417, -1, 419, 420, 421, 422, 423, 424, -1,
15501 : -1, 427, -1, -1, 430, 431, 432, 433, 434, 435,
15502 : 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
15503 : 446, 447, 448, 449, 450, -1, -1, -1, -1, -1,
15504 : -1, 457, 458, -1, -1, -1, -1, -1, -1, -1,
15505 : 466, 3, 4, 5, 6, 7, 8, 9, 10, -1,
15506 : -1, -1, -1, -1, -1, -1, 18, 19, 20, 21,
15507 : 22, 23, 24, 25, -1, 27, 28, 29, -1, -1,
15508 : -1, -1, 34, -1, -1, 37, 38, -1, 40, 41,
15509 : 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
15510 : -1, 53, 54, 55, 56, 57, 58, 59, 60, 61,
15511 : 62, 63, 64, -1, 66, 67, 68, 69, 70, -1,
15512 : 72, -1, 74, 75, 76, 77, 78, 79, 80, 81,
15513 : 82, -1, 84, 85, 86, 87, 88, 89, -1, 91,
15514 : 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
15515 : 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
15516 : 112, -1, 114, 115, 116, 117, 118, 119, -1, 121,
15517 : 122, 123, 124, -1, -1, 127, 128, 129, 130, 131,
15518 : -1, 133, 134, 135, -1, 137, 138, 139, -1, 141,
15519 : 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
15520 : -1, 153, 154, 155, 156, -1, 158, -1, 160, 161,
15521 : -1, 163, 164, 165, 166, 167, -1, 169, 170, -1,
15522 : 172, 173, -1, 175, 176, 177, 178, 179, 180, 181,
15523 : 182, 183, 184, -1, 186, 187, 188, 189, 190, 191,
15524 : -1, 193, 194, 195, 196, 197, 198, 199, 200, 201,
15525 : -1, 203, -1, 205, 206, 207, 208, 209, 210, 211,
15526 : 212, 213, 214, -1, -1, 217, 218, 219, 220, 221,
15527 : -1, 223, 224, 225, 226, 227, 228, 229, 230, 231,
15528 : 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
15529 : 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
15530 : 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
15531 : 262, -1, 264, 265, -1, -1, 268, 269, 270, -1,
15532 : -1, 273, 274, 275, 276, 277, 278, 279, 280, 281,
15533 : 282, 283, 284, 285, 286, 287, -1, 289, 290, 291,
15534 : 292, 293, 294, 295, 296, -1, 298, 299, 300, 301,
15535 : 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
15536 : -1, 313, 314, 315, 316, 317, 318, 319, 320, 321,
15537 : 322, 323, 324, -1, 326, 327, 328, 329, 330, 331,
15538 : 332, 333, 334, 335, 336, 337, 338, 339, 340, 341,
15539 : -1, 343, 344, 345, 346, 347, 348, 349, 350, 351,
15540 : 352, 353, 354, 355, 356, 357, 358, -1, 360, 361,
15541 : 362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
15542 : 372, -1, 374, 375, -1, 377, 378, 379, 380, 381,
15543 : 382, 383, -1, 385, 386, -1, -1, 389, 390, 391,
15544 : 392, 393, 394, 395, 396, 397, 398, 399, 400, 401,
15545 : -1, 403, 404, 405, 406, 407, 408, 409, -1, 411,
15546 : 412, 413, 414, 415, 416, 417, 418, 419, 420, 421,
15547 : 422, 423, 424, -1, -1, 427, -1, -1, 430, 431,
15548 : 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
15549 : 442, 443, 444, 445, 446, 447, 448, 449, 450, -1,
15550 : -1, -1, -1, -1, -1, 457, 458, -1, -1, -1,
15551 : -1, -1, -1, -1, 466, 3, 4, 5, 6, 7,
15552 : 8, 9, 10, -1, -1, -1, -1, -1, -1, -1,
15553 : 18, 19, 20, 21, 22, 23, 24, 25, -1, 27,
15554 : 28, 29, -1, -1, -1, -1, 34, -1, -1, 37,
15555 : 38, -1, 40, 41, 42, 43, 44, 45, 46, 47,
15556 : 48, 49, 50, 51, -1, 53, 54, 55, 56, 57,
15557 : 58, 59, 60, 61, 62, 63, 64, -1, 66, 67,
15558 : 68, 69, 70, -1, 72, -1, 74, 75, 76, 77,
15559 : 78, 79, 80, 81, 82, -1, 84, 85, 86, 87,
15560 : 88, 89, -1, 91, 92, 93, 94, 95, 96, 97,
15561 : 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
15562 : 108, 109, 110, 111, 112, -1, 114, 115, 116, 117,
15563 : 118, 119, -1, 121, 122, 123, 124, -1, -1, 127,
15564 : 128, 129, 130, 131, -1, 133, 134, 135, -1, 137,
15565 : 138, 139, -1, 141, 142, 143, 144, 145, 146, 147,
15566 : 148, 149, 150, 151, -1, 153, 154, 155, 156, -1,
15567 : 158, -1, 160, 161, -1, 163, 164, 165, 166, 167,
15568 : -1, 169, 170, -1, 172, 173, -1, 175, 176, 177,
15569 : 178, 179, 180, 181, 182, 183, 184, -1, 186, 187,
15570 : 188, 189, 190, 191, -1, 193, 194, 195, 196, 197,
15571 : 198, 199, 200, 201, -1, 203, -1, 205, 206, 207,
15572 : 208, 209, 210, 211, 212, 213, 214, -1, -1, 217,
15573 : 218, 219, 220, 221, -1, 223, 224, 225, 226, 227,
15574 : 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
15575 : 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
15576 : 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
15577 : 258, 259, 260, 261, 262, -1, 264, 265, -1, -1,
15578 : 268, 269, 270, -1, -1, 273, 274, 275, 276, 277,
15579 : 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
15580 : -1, 289, 290, 291, 292, 293, 294, 295, 296, -1,
15581 : 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
15582 : 308, 309, 310, 311, -1, 313, 314, 315, 316, 317,
15583 : 318, 319, 320, 321, 322, 323, 324, -1, 326, 327,
15584 : 328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
15585 : 338, 339, 340, 341, -1, 343, 344, 345, 346, 347,
15586 : 348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
15587 : 358, -1, 360, 361, 362, 363, 364, 365, 366, 367,
15588 : 368, 369, 370, 371, 372, -1, 374, 375, -1, 377,
15589 : 378, 379, 380, 381, 382, 383, -1, 385, 386, -1,
15590 : -1, 389, 390, 391, 392, 393, 394, 395, 396, 397,
15591 : 398, 399, 400, 401, -1, 403, 404, 405, 406, 407,
15592 : 408, 409, -1, 411, 412, 413, 414, 415, 416, 417,
15593 : -1, 419, 420, 421, 422, 423, 424, -1, -1, 427,
15594 : -1, -1, 430, 431, 432, 433, 434, 435, 436, 437,
15595 : 438, 439, 440, 441, 442, 443, 444, 445, 446, 447,
15596 : 448, 449, 450, -1, -1, -1, -1, -1, -1, 457,
15597 : 458, -1, -1, -1, -1, -1, -1, -1, 466, 3,
15598 : 4, 5, 6, 7, 8, 9, 10, -1, -1, -1,
15599 : -1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
15600 : 24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
15601 : 34, -1, -1, 37, 38, -1, 40, 41, 42, 43,
15602 : 44, 45, 46, 47, 48, 49, 50, 51, -1, 53,
15603 : 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
15604 : 64, -1, 66, 67, 68, 69, 70, -1, 72, -1,
15605 : 74, 75, 76, 77, 78, 79, 80, 81, 82, -1,
15606 : 84, 85, 86, 87, 88, 89, -1, 91, 92, 93,
15607 : 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
15608 : 104, 105, 106, 107, 108, 109, 110, 111, 112, -1,
15609 : 114, 115, 116, 117, 118, 119, -1, 121, 122, 123,
15610 : 124, -1, -1, 127, 128, 129, 130, 131, -1, 133,
15611 : 134, 135, -1, 137, 138, 139, -1, 141, 142, 143,
15612 : 144, 145, 146, 147, 148, 149, 150, 151, -1, 153,
15613 : 154, 155, 156, -1, 158, -1, 160, 161, -1, 163,
15614 : 164, 165, 166, 167, -1, 169, 170, -1, 172, 173,
15615 : -1, 175, 176, 177, 178, 179, 180, 181, 182, 183,
15616 : 184, -1, 186, 187, 188, 189, 190, 191, -1, 193,
15617 : 194, 195, 196, 197, 198, 199, 200, 201, -1, 203,
15618 : -1, 205, 206, 207, 208, 209, 210, 211, 212, 213,
15619 : 214, -1, -1, 217, 218, 219, 220, 221, -1, 223,
15620 : 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
15621 : 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
15622 : 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
15623 : 254, 255, 256, 257, 258, 259, 260, 261, 262, -1,
15624 : 264, 265, -1, -1, 268, 269, 270, -1, -1, 273,
15625 : 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
15626 : 284, 285, 286, 287, -1, 289, 290, 291, 292, 293,
15627 : 294, 295, 296, -1, 298, 299, 300, 301, 302, 303,
15628 : 304, 305, 306, 307, 308, 309, 310, 311, -1, 313,
15629 : 314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
15630 : 324, -1, 326, 327, 328, 329, 330, 331, 332, 333,
15631 : 334, 335, 336, 337, 338, 339, 340, 341, -1, 343,
15632 : 344, 345, 346, 347, 348, 349, 350, 351, 352, 353,
15633 : 354, 355, 356, 357, 358, -1, 360, 361, 362, 363,
15634 : 364, 365, 366, 367, 368, 369, 370, 371, 372, -1,
15635 : 374, 375, -1, 377, 378, 379, 380, 381, 382, 383,
15636 : -1, 385, 386, -1, -1, 389, 390, 391, 392, 393,
15637 : 394, 395, 396, 397, 398, 399, 400, 401, -1, 403,
15638 : 404, 405, 406, 407, 408, 409, -1, 411, 412, 413,
15639 : 414, 415, 416, 417, -1, 419, 420, 421, 422, 423,
15640 : 424, -1, -1, 427, -1, -1, 430, 431, 432, 433,
15641 : 434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
15642 : 444, 445, 446, 447, 448, 449, 450, -1, -1, -1,
15643 : -1, -1, -1, 457, 458, -1, -1, -1, -1, -1,
15644 : -1, -1, 466, 3, 4, 5, 6, 7, 8, 9,
15645 : 10, -1, -1, -1, -1, -1, -1, -1, 18, 19,
15646 : 20, 21, 22, 23, 24, 25, -1, 27, 28, 29,
15647 : -1, -1, -1, -1, 34, -1, -1, 37, 38, -1,
15648 : 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
15649 : 50, 51, -1, 53, 54, 55, 56, 57, 58, 59,
15650 : 60, 61, 62, 63, 64, -1, 66, 67, 68, 69,
15651 : 70, -1, 72, -1, 74, 75, 76, 77, 78, 79,
15652 : 80, 81, 82, -1, 84, 85, 86, 87, 88, 89,
15653 : -1, 91, 92, 93, 94, 95, 96, 97, 98, 99,
15654 : 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
15655 : 110, 111, 112, -1, 114, 115, 116, 117, 118, 119,
15656 : -1, 121, 122, 123, 124, -1, -1, 127, 128, 129,
15657 : 130, 131, -1, 133, 134, 135, -1, 137, 138, 139,
15658 : -1, 141, 142, 143, 144, 145, 146, 147, 148, 149,
15659 : 150, 151, -1, 153, 154, 155, 156, -1, 158, -1,
15660 : 160, 161, -1, 163, 164, 165, 166, 167, -1, 169,
15661 : 170, -1, 172, 173, -1, 175, 176, 177, 178, 179,
15662 : 180, 181, 182, 183, 184, -1, 186, 187, 188, 189,
15663 : 190, 191, -1, 193, 194, 195, 196, 197, 198, 199,
15664 : 200, 201, -1, 203, -1, 205, 206, 207, 208, 209,
15665 : 210, 211, 212, 213, 214, -1, -1, 217, 218, 219,
15666 : 220, 221, -1, 223, 224, 225, 226, 227, 228, 229,
15667 : 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
15668 : 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
15669 : 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
15670 : 260, 261, 262, -1, 264, 265, -1, -1, 268, 269,
15671 : 270, -1, -1, 273, 274, 275, 276, 277, 278, 279,
15672 : 280, 281, 282, 283, 284, 285, 286, 287, -1, 289,
15673 : 290, 291, 292, 293, 294, 295, 296, -1, 298, 299,
15674 : 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
15675 : 310, 311, -1, 313, 314, 315, 316, 317, 318, 319,
15676 : 320, 321, 322, 323, 324, -1, 326, 327, 328, 329,
15677 : 330, 331, 332, 333, 334, 335, 336, 337, 338, 339,
15678 : 340, 341, -1, 343, 344, 345, 346, 347, 348, 349,
15679 : 350, 351, 352, 353, 354, 355, 356, 357, 358, -1,
15680 : 360, 361, 362, 363, 364, 365, 366, 367, 368, 369,
15681 : 370, 371, 372, -1, 374, 375, -1, 377, 378, 379,
15682 : 380, 381, 382, 383, -1, 385, 386, -1, -1, 389,
15683 : 390, 391, 392, 393, 394, 395, 396, 397, 398, 399,
15684 : 400, 401, -1, 403, 404, 405, 406, 407, 408, 409,
15685 : -1, 411, 412, 413, 414, 415, 416, 417, -1, 419,
15686 : 420, 421, 422, 423, 424, -1, -1, 427, -1, -1,
15687 : 430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
15688 : 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
15689 : 450, -1, -1, -1, -1, -1, -1, 457, 458, -1,
15690 : -1, -1, -1, -1, -1, -1, 466, 3, 4, 5,
15691 : 6, 7, 8, 9, 10, -1, -1, -1, -1, -1,
15692 : -1, -1, 18, 19, 20, 21, 22, 23, 24, 25,
15693 : -1, 27, 28, 29, -1, -1, -1, -1, 34, -1,
15694 : -1, 37, 38, -1, 40, 41, 42, 43, 44, 45,
15695 : 46, 47, 48, 49, 50, 51, -1, 53, 54, 55,
15696 : 56, 57, 58, 59, 60, 61, 62, 63, 64, -1,
15697 : 66, 67, 68, 69, 70, -1, 72, -1, 74, 75,
15698 : 76, 77, 78, 79, 80, 81, 82, -1, 84, 85,
15699 : 86, 87, 88, 89, -1, 91, 92, 93, 94, 95,
15700 : 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
15701 : 106, 107, 108, 109, 110, 111, 112, -1, 114, 115,
15702 : 116, 117, 118, 119, -1, 121, 122, 123, 124, -1,
15703 : -1, 127, 128, 129, 130, 131, -1, 133, 134, 135,
15704 : -1, 137, 138, 139, -1, 141, 142, 143, 144, 145,
15705 : 146, 147, 148, 149, 150, 151, -1, 153, 154, 155,
15706 : 156, -1, 158, -1, 160, 161, -1, 163, 164, 165,
15707 : 166, 167, -1, 169, 170, -1, 172, 173, -1, 175,
15708 : 176, 177, 178, 179, 180, 181, 182, 183, 184, -1,
15709 : 186, 187, 188, 189, 190, 191, -1, 193, 194, 195,
15710 : 196, 197, 198, 199, 200, 201, -1, 203, -1, 205,
15711 : 206, 207, 208, 209, 210, 211, 212, 213, 214, -1,
15712 : -1, 217, 218, 219, 220, 221, -1, 223, 224, 225,
15713 : 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
15714 : 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
15715 : 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
15716 : 256, 257, 258, 259, 260, 261, 262, -1, 264, 265,
15717 : -1, -1, 268, 269, 270, -1, -1, 273, 274, 275,
15718 : 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
15719 : 286, 287, -1, 289, 290, 291, 292, 293, 294, 295,
15720 : 296, -1, 298, 299, 300, 301, 302, 303, 304, 305,
15721 : 306, 307, 308, 309, 310, 311, -1, 313, 314, 315,
15722 : 316, 317, 318, 319, 320, 321, 322, 323, 324, -1,
15723 : 326, 327, 328, 329, 330, 331, 332, 333, 334, 335,
15724 : 336, 337, 338, 339, 340, 341, -1, 343, 344, 345,
15725 : 346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
15726 : 356, 357, 358, -1, 360, 361, 362, 363, 364, 365,
15727 : 366, 367, 368, 369, 370, 371, 372, -1, 374, 375,
15728 : -1, 377, 378, 379, 380, 381, 382, 383, -1, 385,
15729 : 386, -1, -1, 389, 390, 391, 392, 393, 394, 395,
15730 : 396, 397, 398, 399, 400, 401, -1, 403, 404, 405,
15731 : 406, 407, 408, 409, -1, 411, 412, 413, 414, 415,
15732 : 416, 417, -1, 419, 420, 421, 422, 423, 424, -1,
15733 : -1, 427, -1, -1, 430, 431, 432, 433, 434, 435,
15734 : 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
15735 : 446, 447, 448, 449, 450, -1, -1, -1, -1, -1,
15736 : -1, 457, 458, -1, -1, -1, -1, -1, -1, -1,
15737 : 466, 3, 4, 5, 6, 7, 8, 9, 10, -1,
15738 : -1, -1, -1, -1, -1, -1, 18, 19, 20, 21,
15739 : 22, 23, 24, 25, -1, 27, 28, 29, -1, -1,
15740 : -1, -1, 34, -1, -1, 37, 38, -1, 40, 41,
15741 : 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
15742 : -1, 53, 54, 55, 56, 57, 58, 59, 60, 61,
15743 : 62, 63, 64, -1, 66, 67, 68, 69, 70, -1,
15744 : 72, -1, 74, 75, 76, 77, 78, 79, 80, 81,
15745 : 82, -1, 84, 85, 86, 87, 88, 89, -1, 91,
15746 : 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
15747 : 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
15748 : 112, -1, 114, 115, 116, 117, 118, 119, -1, 121,
15749 : 122, 123, 124, -1, -1, 127, 128, 129, 130, 131,
15750 : -1, 133, 134, 135, -1, 137, 138, 139, -1, 141,
15751 : 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
15752 : -1, 153, 154, 155, 156, -1, 158, -1, 160, 161,
15753 : -1, 163, 164, 165, 166, 167, -1, 169, 170, -1,
15754 : 172, 173, -1, 175, 176, 177, 178, 179, 180, 181,
15755 : 182, 183, 184, -1, 186, 187, 188, 189, 190, 191,
15756 : -1, 193, 194, 195, 196, 197, 198, 199, 200, 201,
15757 : -1, 203, -1, 205, 206, 207, 208, 209, 210, 211,
15758 : 212, 213, 214, -1, -1, 217, 218, 219, 220, 221,
15759 : -1, 223, 224, 225, 226, 227, 228, 229, 230, 231,
15760 : 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
15761 : 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
15762 : 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
15763 : 262, -1, 264, 265, -1, -1, 268, 269, 270, -1,
15764 : -1, 273, 274, 275, 276, 277, 278, 279, 280, 281,
15765 : 282, 283, 284, 285, 286, 287, -1, 289, 290, 291,
15766 : 292, 293, 294, 295, 296, -1, 298, 299, 300, 301,
15767 : 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
15768 : -1, 313, 314, 315, 316, 317, 318, 319, 320, 321,
15769 : 322, 323, 324, -1, 326, 327, 328, 329, 330, 331,
15770 : 332, 333, 334, 335, 336, 337, 338, 339, 340, 341,
15771 : -1, 343, 344, 345, 346, 347, 348, 349, 350, 351,
15772 : 352, 353, 354, 355, 356, 357, 358, -1, 360, 361,
15773 : 362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
15774 : 372, -1, 374, 375, -1, 377, 378, 379, 380, 381,
15775 : 382, 383, -1, 385, 386, -1, -1, 389, 390, 391,
15776 : 392, 393, 394, 395, 396, 397, 398, 399, 400, 401,
15777 : -1, 403, 404, 405, 406, 407, 408, 409, -1, 411,
15778 : 412, 413, 414, 415, 416, 417, -1, 419, 420, 421,
15779 : 422, 423, 424, -1, -1, 427, -1, -1, 430, 431,
15780 : 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
15781 : 442, 443, 444, 445, 446, 447, 448, 449, 450, -1,
15782 : -1, -1, -1, -1, -1, 457, 458, -1, -1, -1,
15783 : -1, -1, -1, -1, 466, 3, 4, 5, 6, 7,
15784 : 8, 9, 10, -1, -1, -1, -1, -1, -1, -1,
15785 : 18, 19, 20, 21, 22, 23, 24, 25, -1, 27,
15786 : 28, 29, -1, -1, -1, -1, 34, -1, -1, 37,
15787 : 38, -1, 40, 41, 42, 43, 44, 45, 46, 47,
15788 : 48, 49, 50, 51, -1, 53, 54, 55, 56, 57,
15789 : 58, 59, 60, 61, 62, 63, 64, -1, 66, 67,
15790 : 68, 69, 70, -1, 72, -1, 74, 75, 76, 77,
15791 : 78, 79, 80, 81, 82, -1, 84, 85, 86, 87,
15792 : 88, 89, -1, 91, 92, 93, 94, 95, 96, 97,
15793 : 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
15794 : 108, 109, 110, 111, 112, -1, 114, 115, 116, 117,
15795 : 118, 119, -1, 121, 122, 123, 124, -1, -1, 127,
15796 : 128, 129, 130, 131, -1, 133, 134, 135, -1, 137,
15797 : 138, 139, -1, 141, 142, 143, 144, 145, 146, 147,
15798 : 148, 149, 150, 151, -1, 153, 154, 155, 156, -1,
15799 : 158, -1, 160, 161, -1, 163, 164, 165, 166, 167,
15800 : -1, 169, 170, -1, 172, 173, -1, 175, 176, 177,
15801 : 178, 179, 180, 181, 182, 183, 184, -1, 186, 187,
15802 : 188, 189, 190, 191, -1, 193, 194, 195, 196, 197,
15803 : 198, 199, 200, 201, -1, 203, -1, 205, 206, 207,
15804 : 208, 209, 210, 211, 212, 213, 214, -1, -1, 217,
15805 : 218, 219, 220, 221, -1, 223, 224, 225, 226, 227,
15806 : 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
15807 : 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
15808 : 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
15809 : 258, 259, 260, 261, 262, -1, 264, 265, -1, -1,
15810 : 268, 269, 270, -1, -1, 273, 274, 275, 276, 277,
15811 : 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
15812 : -1, 289, 290, 291, 292, 293, 294, 295, 296, -1,
15813 : 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
15814 : 308, 309, 310, 311, -1, 313, 314, 315, 316, 317,
15815 : 318, 319, 320, 321, 322, 323, 324, -1, 326, 327,
15816 : 328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
15817 : 338, 339, 340, 341, -1, 343, 344, 345, 346, 347,
15818 : 348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
15819 : 358, -1, 360, 361, 362, 363, 364, 365, 366, 367,
15820 : 368, 369, 370, 371, 372, -1, 374, 375, -1, 377,
15821 : 378, 379, 380, 381, 382, 383, -1, 385, 386, -1,
15822 : -1, 389, 390, 391, 392, 393, 394, 395, 396, 397,
15823 : 398, 399, 400, 401, -1, 403, 404, 405, 406, 407,
15824 : 408, 409, -1, 411, 412, 413, 414, 415, 416, 417,
15825 : -1, 419, 420, 421, 422, 423, 424, -1, -1, 427,
15826 : -1, -1, 430, 431, 432, 433, 434, 435, 436, 437,
15827 : 438, 439, 440, 441, 442, 443, 444, 445, 446, 447,
15828 : 448, 449, 450, -1, -1, -1, -1, -1, -1, 457,
15829 : 458, -1, -1, -1, -1, -1, -1, -1, 466, 3,
15830 : 4, 5, 6, 7, 8, 9, 10, -1, -1, -1,
15831 : -1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
15832 : 24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
15833 : 34, -1, -1, 37, 38, -1, 40, 41, 42, 43,
15834 : 44, 45, 46, 47, 48, 49, 50, 51, -1, 53,
15835 : 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
15836 : 64, -1, 66, 67, 68, 69, 70, -1, 72, -1,
15837 : 74, 75, 76, 77, 78, 79, 80, 81, 82, -1,
15838 : 84, 85, 86, 87, 88, 89, -1, 91, 92, 93,
15839 : 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
15840 : 104, 105, 106, 107, 108, 109, 110, 111, 112, -1,
15841 : 114, 115, 116, 117, 118, 119, -1, 121, 122, 123,
15842 : 124, -1, -1, 127, 128, 129, 130, 131, -1, 133,
15843 : 134, 135, -1, 137, 138, 139, -1, 141, 142, 143,
15844 : 144, 145, 146, 147, 148, 149, 150, 151, -1, 153,
15845 : 154, 155, 156, -1, 158, -1, 160, 161, -1, 163,
15846 : 164, 165, 166, 167, -1, 169, 170, -1, 172, 173,
15847 : -1, 175, 176, 177, 178, 179, 180, 181, 182, 183,
15848 : 184, -1, 186, 187, 188, 189, 190, 191, -1, 193,
15849 : 194, 195, 196, 197, 198, 199, 200, 201, -1, 203,
15850 : -1, 205, 206, 207, 208, 209, 210, 211, 212, 213,
15851 : 214, -1, -1, 217, 218, 219, 220, 221, -1, 223,
15852 : 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
15853 : 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
15854 : 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
15855 : 254, 255, 256, 257, 258, 259, 260, 261, 262, -1,
15856 : 264, 265, -1, -1, 268, 269, 270, -1, -1, 273,
15857 : 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
15858 : 284, 285, 286, 287, -1, 289, 290, 291, 292, 293,
15859 : 294, 295, 296, -1, 298, 299, 300, 301, 302, 303,
15860 : 304, 305, 306, 307, 308, 309, 310, 311, -1, 313,
15861 : 314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
15862 : 324, -1, 326, 327, 328, 329, 330, 331, 332, 333,
15863 : 334, 335, 336, 337, 338, 339, 340, 341, -1, 343,
15864 : 344, 345, 346, 347, 348, 349, 350, 351, 352, 353,
15865 : 354, 355, 356, 357, 358, -1, 360, 361, 362, 363,
15866 : 364, 365, 366, 367, 368, 369, 370, 371, 372, -1,
15867 : 374, 375, -1, 377, 378, 379, 380, 381, 382, 383,
15868 : -1, 385, 386, -1, -1, 389, 390, 391, 392, 393,
15869 : 394, 395, 396, 397, 398, 399, 400, 401, -1, 403,
15870 : 404, 405, 406, 407, 408, 409, -1, 411, 412, 413,
15871 : 414, 415, 416, 417, -1, 419, 420, 421, 422, 423,
15872 : 424, -1, -1, 427, -1, -1, 430, 431, 432, 433,
15873 : 434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
15874 : 444, 445, 446, 447, 448, 449, 450, -1, -1, -1,
15875 : -1, -1, -1, 457, 458, -1, -1, -1, -1, -1,
15876 : -1, -1, 466, 3, 4, 5, 6, 7, 8, 9,
15877 : 10, -1, -1, -1, -1, -1, -1, -1, 18, 19,
15878 : 20, 21, 22, 23, 24, 25, -1, 27, 28, 29,
15879 : -1, -1, -1, -1, 34, -1, -1, 37, 38, -1,
15880 : 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
15881 : 50, 51, -1, 53, 54, 55, 56, 57, 58, 59,
15882 : 60, 61, 62, 63, 64, -1, 66, 67, 68, 69,
15883 : 70, -1, 72, -1, 74, 75, 76, 77, 78, 79,
15884 : 80, 81, 82, -1, 84, 85, 86, 87, 88, 89,
15885 : -1, 91, 92, 93, 94, 95, 96, 97, 98, 99,
15886 : 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
15887 : 110, 111, 112, -1, 114, 115, 116, 117, 118, 119,
15888 : -1, 121, 122, 123, 124, -1, -1, 127, 128, 129,
15889 : 130, 131, -1, 133, 134, 135, -1, 137, 138, 139,
15890 : -1, 141, 142, 143, 144, 145, 146, 147, 148, 149,
15891 : 150, 151, -1, 153, 154, 155, 156, -1, 158, -1,
15892 : 160, 161, -1, 163, 164, 165, 166, 167, -1, 169,
15893 : 170, -1, 172, 173, -1, 175, 176, 177, 178, 179,
15894 : 180, 181, 182, 183, 184, -1, 186, 187, 188, 189,
15895 : 190, 191, -1, 193, 194, 195, 196, 197, 198, 199,
15896 : 200, 201, -1, 203, -1, 205, 206, 207, 208, 209,
15897 : 210, 211, 212, 213, 214, -1, -1, 217, 218, 219,
15898 : 220, 221, -1, 223, 224, 225, 226, 227, 228, 229,
15899 : 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
15900 : 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
15901 : 250, -1, 252, 253, 254, 255, 256, 257, 258, 259,
15902 : 260, 261, 262, -1, 264, 265, -1, -1, 268, 269,
15903 : 270, -1, -1, 273, 274, 275, 276, 277, 278, 279,
15904 : 280, 281, 282, 283, 284, 285, 286, 287, -1, 289,
15905 : 290, 291, 292, 293, 294, 295, 296, -1, 298, 299,
15906 : 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
15907 : 310, 311, -1, 313, 314, 315, 316, 317, 318, 319,
15908 : 320, 321, 322, 323, 324, -1, 326, 327, 328, 329,
15909 : 330, 331, 332, 333, 334, 335, 336, 337, 338, 339,
15910 : 340, 341, -1, 343, 344, 345, 346, 347, 348, 349,
15911 : 350, 351, 352, 353, 354, 355, 356, 357, 358, -1,
15912 : 360, 361, 362, 363, 364, 365, 366, 367, 368, 369,
15913 : 370, 371, 372, -1, 374, 375, -1, 377, 378, 379,
15914 : 380, 381, 382, 383, -1, 385, 386, -1, -1, 389,
15915 : 390, 391, 392, 393, 394, 395, 396, 397, 398, 399,
15916 : 400, 401, -1, -1, 404, 405, 406, 407, 408, 409,
15917 : -1, 411, 412, 413, 414, 415, 416, 417, -1, 419,
15918 : 420, 421, 422, 423, 424, -1, -1, 427, -1, -1,
15919 : 430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
15920 : 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
15921 : -1, -1, -1, -1, -1, -1, -1, 457, 458, -1,
15922 : -1, -1, -1, -1, -1, -1, 466, 3, 4, 5,
15923 : 6, 7, 8, 9, 10, -1, -1, -1, -1, -1,
15924 : -1, -1, 18, 19, 20, 21, 22, 23, 24, 25,
15925 : -1, 27, 28, 29, -1, -1, -1, -1, 34, -1,
15926 : -1, 37, 38, -1, 40, 41, 42, 43, 44, 45,
15927 : 46, 47, 48, 49, 50, 51, -1, 53, 54, 55,
15928 : 56, 57, 58, 59, 60, 61, 62, 63, 64, -1,
15929 : 66, 67, 68, 69, 70, -1, 72, -1, 74, 75,
15930 : 76, 77, 78, 79, 80, 81, 82, -1, 84, 85,
15931 : 86, 87, 88, 89, -1, 91, 92, 93, 94, 95,
15932 : 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
15933 : 106, 107, 108, 109, 110, 111, 112, -1, 114, 115,
15934 : 116, 117, 118, 119, -1, 121, 122, 123, 124, -1,
15935 : -1, 127, 128, 129, 130, 131, -1, 133, 134, 135,
15936 : -1, 137, 138, 139, -1, 141, 142, 143, 144, 145,
15937 : 146, 147, 148, 149, 150, 151, -1, 153, 154, 155,
15938 : 156, -1, 158, -1, 160, 161, -1, 163, 164, 165,
15939 : 166, 167, -1, 169, 170, -1, 172, 173, -1, 175,
15940 : 176, 177, 178, 179, 180, 181, 182, 183, 184, -1,
15941 : 186, 187, 188, 189, 190, 191, -1, 193, 194, 195,
15942 : 196, 197, 198, 199, 200, 201, -1, 203, -1, 205,
15943 : -1, -1, 208, 209, 210, 211, 212, 213, 214, -1,
15944 : -1, 217, 218, 219, 220, 221, -1, 223, 224, 225,
15945 : 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
15946 : 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
15947 : 246, 247, 248, 249, 250, 251, 252, 253, -1, 255,
15948 : 256, 257, 258, 259, 260, 261, 262, -1, 264, 265,
15949 : -1, -1, 268, 269, 270, -1, -1, 273, 274, 275,
15950 : 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
15951 : 286, 287, -1, 289, 290, 291, 292, 293, 294, 295,
15952 : 296, -1, 298, 299, 300, 301, 302, 303, 304, 305,
15953 : 306, 307, 308, 309, 310, 311, -1, 313, 314, 315,
15954 : 316, 317, 318, 319, 320, 321, 322, 323, 324, -1,
15955 : 326, 327, 328, 329, 330, 331, 332, 333, 334, 335,
15956 : 336, 337, 338, 339, 340, 341, -1, 343, 344, 345,
15957 : 346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
15958 : 356, 357, 358, -1, 360, 361, 362, 363, 364, 365,
15959 : 366, 367, 368, 369, 370, 371, 372, -1, 374, 375,
15960 : -1, 377, 378, 379, 380, 381, 382, 383, -1, 385,
15961 : 386, -1, -1, 389, 390, 391, 392, 393, 394, 395,
15962 : 396, 397, 398, 399, 400, 401, -1, 403, 404, 405,
15963 : 406, 407, 408, 409, -1, 411, 412, 413, 414, 415,
15964 : 416, 417, -1, 419, 420, 421, 422, 423, 424, -1,
15965 : -1, 427, -1, -1, 430, 431, 432, 433, 434, 435,
15966 : 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
15967 : 446, 447, 448, 449, 450, -1, -1, -1, -1, -1,
15968 : -1, 457, 458, -1, -1, -1, -1, -1, -1, -1,
15969 : 466, 3, 4, 5, 6, 7, 8, 9, 10, -1,
15970 : -1, -1, -1, -1, -1, -1, 18, 19, 20, 21,
15971 : 22, 23, 24, 25, -1, 27, 28, 29, -1, -1,
15972 : -1, -1, 34, -1, -1, 37, 38, -1, 40, 41,
15973 : 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
15974 : -1, 53, 54, 55, 56, 57, 58, 59, 60, 61,
15975 : 62, 63, 64, -1, 66, 67, 68, 69, 70, -1,
15976 : 72, -1, 74, 75, 76, 77, 78, 79, 80, 81,
15977 : 82, -1, 84, 85, 86, 87, 88, 89, -1, 91,
15978 : 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
15979 : 102, 103, 104, 105, 106, 107, 108, 109, 110, -1,
15980 : 112, -1, 114, 115, 116, 117, 118, 119, -1, 121,
15981 : 122, 123, 124, -1, -1, 127, 128, 129, 130, 131,
15982 : -1, 133, 134, 135, -1, 137, 138, 139, -1, 141,
15983 : 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
15984 : -1, 153, 154, 155, 156, -1, 158, -1, 160, 161,
15985 : -1, 163, 164, 165, 166, 167, -1, 169, 170, -1,
15986 : 172, 173, -1, 175, 176, 177, 178, 179, 180, 181,
15987 : 182, 183, 184, -1, 186, 187, 188, 189, 190, 191,
15988 : -1, 193, 194, 195, 196, 197, 198, 199, 200, 201,
15989 : -1, 203, -1, 205, 206, 207, 208, 209, 210, 211,
15990 : 212, 213, 214, -1, -1, 217, 218, 219, 220, 221,
15991 : -1, 223, 224, 225, 226, 227, 228, 229, 230, 231,
15992 : 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
15993 : 242, 243, 244, 245, 246, 247, 248, 249, 250, -1,
15994 : 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
15995 : 262, -1, 264, 265, -1, -1, 268, 269, 270, -1,
15996 : -1, 273, 274, 275, 276, 277, 278, 279, 280, 281,
15997 : 282, 283, 284, 285, 286, 287, -1, 289, 290, 291,
15998 : 292, 293, 294, 295, 296, -1, 298, 299, 300, 301,
15999 : 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
16000 : -1, 313, 314, 315, 316, 317, 318, 319, 320, 321,
16001 : 322, 323, 324, -1, 326, 327, 328, 329, 330, 331,
16002 : 332, 333, 334, 335, 336, 337, 338, 339, 340, 341,
16003 : -1, 343, 344, 345, 346, 347, 348, 349, 350, 351,
16004 : 352, 353, 354, 355, 356, 357, 358, -1, 360, 361,
16005 : 362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
16006 : 372, -1, 374, 375, -1, 377, 378, 379, 380, 381,
16007 : 382, 383, -1, 385, 386, -1, -1, 389, 390, 391,
16008 : 392, 393, 394, 395, 396, 397, 398, 399, 400, 401,
16009 : -1, -1, 404, 405, 406, 407, 408, 409, -1, 411,
16010 : 412, 413, 414, 415, 416, 417, -1, 419, 420, 421,
16011 : 422, 423, 424, -1, -1, 427, -1, -1, 430, 431,
16012 : 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
16013 : 442, 443, 444, 445, 446, 447, 448, 449, -1, -1,
16014 : -1, -1, -1, -1, -1, 457, 458, -1, -1, -1,
16015 : -1, -1, -1, -1, 466, 3, 4, 5, 6, 7,
16016 : 8, 9, 10, -1, -1, -1, -1, -1, -1, -1,
16017 : 18, 19, 20, 21, 22, 23, 24, 25, -1, 27,
16018 : 28, 29, -1, -1, -1, -1, 34, -1, -1, 37,
16019 : 38, -1, 40, 41, 42, 43, 44, 45, 46, 47,
16020 : 48, 49, 50, 51, -1, 53, 54, 55, 56, 57,
16021 : 58, 59, 60, 61, 62, 63, 64, -1, 66, 67,
16022 : 68, 69, 70, -1, 72, -1, 74, 75, 76, 77,
16023 : 78, 79, 80, 81, 82, -1, 84, 85, 86, 87,
16024 : 88, 89, -1, 91, 92, 93, 94, 95, 96, 97,
16025 : 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
16026 : 108, 109, 110, -1, 112, -1, 114, 115, 116, 117,
16027 : 118, 119, -1, 121, 122, 123, 124, -1, -1, 127,
16028 : 128, 129, 130, 131, -1, 133, 134, 135, -1, 137,
16029 : 138, 139, -1, 141, 142, 143, 144, 145, 146, 147,
16030 : 148, 149, 150, 151, -1, 153, 154, 155, 156, -1,
16031 : 158, -1, 160, 161, -1, 163, 164, 165, 166, 167,
16032 : -1, 169, 170, -1, 172, 173, -1, 175, 176, 177,
16033 : 178, 179, 180, 181, 182, 183, 184, -1, 186, 187,
16034 : 188, 189, 190, 191, -1, 193, 194, 195, 196, 197,
16035 : 198, 199, 200, 201, -1, 203, -1, 205, -1, 207,
16036 : 208, 209, 210, 211, 212, 213, 214, -1, -1, 217,
16037 : 218, 219, 220, 221, -1, 223, 224, 225, 226, 227,
16038 : 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
16039 : 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
16040 : 248, 249, 250, -1, 252, 253, 254, 255, 256, 257,
16041 : 258, 259, 260, 261, 262, -1, 264, 265, -1, -1,
16042 : 268, 269, 270, -1, -1, 273, 274, 275, 276, 277,
16043 : 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
16044 : -1, 289, 290, 291, 292, 293, 294, 295, 296, -1,
16045 : 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
16046 : 308, 309, 310, 311, -1, 313, 314, 315, 316, 317,
16047 : 318, 319, 320, 321, 322, 323, 324, -1, 326, 327,
16048 : 328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
16049 : 338, 339, 340, 341, -1, 343, 344, 345, 346, 347,
16050 : 348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
16051 : 358, -1, 360, 361, 362, 363, 364, 365, 366, 367,
16052 : 368, 369, 370, 371, 372, -1, 374, 375, -1, 377,
16053 : 378, 379, 380, 381, 382, 383, -1, 385, 386, -1,
16054 : -1, 389, 390, 391, 392, 393, 394, 395, 396, 397,
16055 : 398, 399, 400, 401, -1, -1, 404, 405, 406, 407,
16056 : 408, 409, -1, 411, 412, 413, 414, 415, 416, 417,
16057 : -1, 419, 420, 421, 422, 423, 424, -1, -1, 427,
16058 : -1, -1, 430, 431, 432, 433, 434, 435, 436, 437,
16059 : 438, 439, 440, 441, 442, 443, 444, 445, 446, 447,
16060 : 448, 449, -1, -1, -1, -1, -1, -1, -1, 457,
16061 : 458, -1, -1, 3, 4, 5, 6, 7, 466, 9,
16062 : 10, -1, -1, -1, -1, -1, -1, -1, 18, 19,
16063 : 20, 21, 22, 23, 24, 25, -1, 27, 28, 29,
16064 : -1, -1, -1, -1, 34, -1, -1, 37, 38, -1,
16065 : 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
16066 : 50, 51, -1, 53, 54, 55, 56, 57, 58, 59,
16067 : 60, 61, 62, 63, 64, -1, 66, 67, 68, 69,
16068 : 70, -1, 72, -1, 74, 75, 76, 77, 78, 79,
16069 : 80, 81, 82, -1, 84, 85, 86, 87, 88, 89,
16070 : -1, 91, 92, 93, 94, 95, 96, 97, 98, 99,
16071 : 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
16072 : 110, -1, 112, -1, 114, 115, 116, 117, 118, 119,
16073 : -1, 121, 122, 123, 124, -1, -1, 127, 128, 129,
16074 : 130, 131, -1, 133, 134, 135, -1, 137, 138, 139,
16075 : -1, 141, 142, 143, 144, 145, 146, 147, 148, 149,
16076 : 150, 151, -1, 153, 154, 155, 156, -1, 158, -1,
16077 : 160, 161, -1, 163, 164, 165, 166, 167, -1, 169,
16078 : 170, -1, 172, 173, -1, 175, 176, 177, 178, 179,
16079 : 180, 181, 182, 183, 184, -1, 186, 187, 188, 189,
16080 : 190, 191, -1, 193, 194, 195, 196, 197, 198, 199,
16081 : 200, 201, -1, 203, -1, 205, 206, 207, 208, 209,
16082 : 210, 211, 212, 213, 214, -1, -1, 217, 218, 219,
16083 : 220, 221, -1, 223, 224, 225, 226, 227, 228, 229,
16084 : 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
16085 : 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
16086 : 250, -1, 252, 253, 254, 255, 256, 257, 258, 259,
16087 : 260, 261, 262, -1, 264, 265, -1, -1, 268, 269,
16088 : 270, -1, -1, 273, 274, 275, 276, 277, 278, 279,
16089 : 280, 281, 282, 283, 284, 285, 286, 287, -1, 289,
16090 : 290, 291, 292, 293, 294, 295, 296, -1, 298, 299,
16091 : 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
16092 : 310, 311, -1, 313, 314, 315, 316, 317, 318, 319,
16093 : 320, 321, 322, 323, 324, -1, 326, 327, 328, 329,
16094 : 330, 331, 332, 333, 334, 335, 336, 337, 338, 339,
16095 : 340, 341, -1, 343, 344, 345, 346, 347, 348, 349,
16096 : 350, 351, 352, 353, 354, 355, 356, 357, 358, -1,
16097 : 360, 361, 362, 363, 364, 365, 366, 367, 368, 369,
16098 : 370, 371, 372, -1, 374, 375, -1, 377, 378, 379,
16099 : 380, 381, 382, 383, -1, 385, 386, -1, -1, 389,
16100 : 390, 391, 392, 393, 394, 395, 396, 397, 398, 399,
16101 : 400, 401, -1, -1, 404, 405, 406, 407, 408, 409,
16102 : -1, 411, 412, 413, 414, 415, 416, 417, -1, 419,
16103 : 420, 421, 422, 423, 424, -1, -1, 427, -1, -1,
16104 : 430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
16105 : 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
16106 : -1, -1, 3, 4, 5, 6, 7, -1, 9, 10,
16107 : -1, -1, -1, -1, -1, -1, 466, 18, 19, 20,
16108 : 21, 22, 23, 24, 25, -1, 27, 28, 29, -1,
16109 : -1, -1, -1, 34, -1, -1, 37, 38, -1, 40,
16110 : 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
16111 : 51, -1, 53, 54, 55, 56, 57, 58, 59, 60,
16112 : 61, 62, 63, 64, -1, 66, 67, 68, 69, 70,
16113 : -1, 72, -1, 74, 75, 76, 77, 78, 79, 80,
16114 : 81, 82, -1, 84, 85, 86, 87, 88, 89, -1,
16115 : 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
16116 : 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
16117 : -1, 112, -1, 114, 115, 116, 117, 118, 119, -1,
16118 : 121, 122, 123, 124, -1, -1, 127, 128, 129, 130,
16119 : 131, -1, 133, 134, 135, -1, 137, 138, 139, -1,
16120 : 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
16121 : 151, -1, 153, 154, 155, 156, -1, 158, -1, 160,
16122 : 161, -1, 163, 164, 165, 166, 167, -1, 169, 170,
16123 : -1, 172, 173, -1, 175, 176, 177, 178, 179, 180,
16124 : 181, 182, 183, 184, -1, 186, 187, 188, 189, 190,
16125 : 191, -1, 193, 194, 195, 196, 197, 198, 199, 200,
16126 : 201, -1, 203, -1, 205, 206, 207, 208, 209, 210,
16127 : 211, 212, 213, 214, -1, -1, 217, 218, 219, 220,
16128 : 221, -1, 223, 224, 225, 226, 227, 228, 229, 230,
16129 : 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
16130 : 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
16131 : -1, 252, 253, 254, 255, 256, 257, 258, 259, 260,
16132 : 261, 262, -1, 264, 265, -1, -1, 268, 269, 270,
16133 : -1, -1, 273, 274, 275, 276, 277, 278, 279, 280,
16134 : 281, 282, 283, 284, 285, 286, 287, -1, 289, 290,
16135 : 291, 292, 293, 294, 295, 296, -1, 298, 299, 300,
16136 : 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
16137 : 311, -1, 313, 314, 315, 316, 317, 318, 319, 320,
16138 : 321, 322, 323, 324, -1, 326, 327, 328, 329, 330,
16139 : 331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
16140 : 341, -1, 343, 344, 345, 346, 347, 348, 349, 350,
16141 : 351, 352, 353, 354, 355, 356, 357, 358, -1, 360,
16142 : 361, 362, 363, 364, 365, 366, 367, 368, 369, 370,
16143 : 371, 372, -1, 374, 375, -1, 377, 378, 379, 380,
16144 : 381, 382, 383, -1, 385, 386, -1, -1, 389, 390,
16145 : 391, 392, 393, 394, 395, 396, 397, 398, 399, 400,
16146 : 401, -1, -1, 404, 405, 406, 407, 408, 409, -1,
16147 : 411, 412, 413, 414, 415, 416, 417, -1, 419, 420,
16148 : 421, 422, 423, 424, -1, -1, 427, -1, -1, 430,
16149 : 431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
16150 : 441, 442, 443, 444, 445, 446, 447, 448, 449, -1,
16151 : -1, 3, 4, 5, 6, 7, -1, 9, 10, -1,
16152 : -1, -1, -1, -1, -1, 466, 18, 19, 20, 21,
16153 : 22, 23, 24, 25, -1, 27, 28, 29, -1, -1,
16154 : -1, -1, 34, -1, -1, 37, 38, -1, 40, 41,
16155 : 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
16156 : -1, 53, 54, 55, 56, 57, 58, 59, 60, 61,
16157 : 62, 63, 64, -1, 66, 67, 68, 69, 70, -1,
16158 : 72, -1, 74, 75, 76, 77, 78, 79, 80, 81,
16159 : 82, -1, 84, 85, 86, 87, 88, 89, -1, 91,
16160 : 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
16161 : 102, 103, 104, 105, 106, 107, 108, 109, 110, -1,
16162 : 112, -1, 114, 115, 116, 117, 118, 119, -1, 121,
16163 : 122, 123, 124, -1, -1, 127, 128, 129, 130, 131,
16164 : -1, 133, 134, 135, -1, 137, 138, 139, -1, 141,
16165 : 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
16166 : -1, 153, 154, 155, 156, -1, 158, -1, 160, 161,
16167 : -1, 163, 164, 165, 166, 167, -1, 169, 170, -1,
16168 : 172, 173, -1, 175, 176, 177, 178, 179, 180, 181,
16169 : 182, 183, 184, -1, 186, 187, 188, 189, 190, 191,
16170 : -1, 193, 194, 195, 196, 197, 198, 199, 200, 201,
16171 : -1, 203, -1, 205, 206, 207, 208, 209, 210, 211,
16172 : 212, 213, 214, -1, -1, 217, 218, 219, 220, 221,
16173 : -1, 223, 224, 225, 226, 227, 228, 229, 230, 231,
16174 : 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
16175 : 242, 243, 244, 245, 246, 247, 248, 249, 250, -1,
16176 : 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
16177 : 262, -1, 264, 265, -1, -1, 268, 269, 270, -1,
16178 : -1, 273, 274, 275, 276, 277, 278, 279, 280, 281,
16179 : 282, 283, 284, 285, 286, 287, -1, 289, 290, 291,
16180 : 292, 293, 294, 295, 296, -1, 298, 299, 300, 301,
16181 : 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
16182 : -1, 313, 314, 315, 316, 317, 318, 319, 320, 321,
16183 : 322, 323, 324, -1, 326, 327, 328, 329, 330, 331,
16184 : 332, 333, 334, 335, 336, 337, 338, 339, 340, 341,
16185 : -1, 343, 344, 345, 346, 347, 348, 349, 350, 351,
16186 : 352, 353, 354, 355, 356, 357, 358, -1, 360, 361,
16187 : 362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
16188 : 372, -1, 374, 375, -1, 377, 378, 379, 380, 381,
16189 : 382, 383, -1, 385, 386, -1, -1, 389, 390, 391,
16190 : 392, 393, 394, 395, 396, 397, 398, 399, 400, 401,
16191 : -1, -1, 404, 405, 406, 407, 408, 409, -1, 411,
16192 : 412, 413, 414, 415, 416, 417, -1, 419, 420, 421,
16193 : 422, 423, 424, -1, -1, 427, -1, -1, 430, 431,
16194 : 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
16195 : 442, 443, 444, 445, 446, 447, 448, 449, -1, -1,
16196 : 3, 4, 5, 6, 7, 8, 9, 10, -1, -1,
16197 : -1, -1, -1, -1, 466, 18, 19, 20, 21, 22,
16198 : 23, 24, 25, -1, 27, 28, 29, -1, -1, -1,
16199 : -1, 34, -1, -1, 37, 38, -1, 40, 41, 42,
16200 : 43, 44, 45, 46, -1, 48, 49, 50, 51, -1,
16201 : 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
16202 : 63, 64, -1, 66, 67, 68, 69, 70, -1, 72,
16203 : -1, 74, 75, 76, 77, 78, 79, 80, 81, 82,
16204 : -1, 84, 85, 86, 87, 88, 89, -1, 91, 92,
16205 : 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
16206 : 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
16207 : -1, 114, 115, 116, 117, 118, 119, -1, 121, 122,
16208 : 123, 124, -1, -1, 127, 128, 129, 130, 131, -1,
16209 : 133, 134, 135, -1, 137, -1, 139, -1, 141, 142,
16210 : 143, 144, 145, 146, 147, 148, 149, 150, 151, -1,
16211 : 153, 154, 155, 156, -1, 158, -1, 160, 161, -1,
16212 : 163, 164, 165, 166, 167, -1, 169, 170, -1, 172,
16213 : 173, -1, 175, 176, 177, 178, 179, -1, 181, 182,
16214 : 183, 184, -1, 186, 187, 188, 189, 190, 191, -1,
16215 : 193, 194, 195, 196, 197, 198, 199, 200, 201, -1,
16216 : 203, -1, 205, -1, -1, 208, 209, 210, 211, 212,
16217 : 213, 214, -1, -1, 217, 218, 219, 220, -1, -1,
16218 : 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
16219 : 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
16220 : 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
16221 : 253, -1, 255, 256, 257, 258, 259, 260, 261, 262,
16222 : -1, 264, 265, -1, -1, 268, 269, 270, -1, -1,
16223 : 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
16224 : 283, 284, 285, 286, 287, -1, 289, 290, 291, 292,
16225 : 293, 294, 295, 296, -1, 298, 299, 300, 301, 302,
16226 : 303, 304, 305, 306, 307, 308, 309, 310, 311, -1,
16227 : 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
16228 : 323, 324, -1, 326, 327, 328, 329, 330, 331, 332,
16229 : 333, 334, 335, 336, 337, 338, 339, 340, 341, -1,
16230 : 343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
16231 : 353, -1, 355, 356, 357, 358, -1, 360, 361, 362,
16232 : 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
16233 : -1, 374, 375, -1, 377, 378, 379, 380, 381, 382,
16234 : 383, -1, 385, 386, -1, -1, 389, 390, 391, 392,
16235 : 393, 394, 395, 396, 397, 398, 399, 400, 401, -1,
16236 : 403, 404, 405, 406, 407, 408, 409, -1, 411, 412,
16237 : 413, 414, 415, 416, 417, -1, 419, 420, 421, 422,
16238 : 423, 424, -1, -1, 427, -1, -1, 430, 431, 432,
16239 : 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
16240 : 443, 444, 445, 446, 447, 448, 449, -1, -1, 3,
16241 : -1, -1, -1, -1, 457, 458, -1, -1, -1, -1,
16242 : -1, -1, -1, 466, 18, 19, 20, 21, 22, 23,
16243 : 24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
16244 : -1, -1, -1, 37, 38, -1, 40, 41, 42, 43,
16245 : 44, 45, 46, 47, 48, 49, 50, 51, -1, 53,
16246 : 54, 55, 56, 57, -1, 59, 60, 61, 62, 63,
16247 : 64, -1, 66, 67, 68, 69, 70, -1, 72, -1,
16248 : 74, 75, 76, 77, 78, 79, 80, 81, 82, -1,
16249 : 84, 85, 86, 87, 88, 89, -1, 91, 92, 93,
16250 : 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
16251 : 104, 105, 106, 107, 108, 109, 110, -1, 112, -1,
16252 : 114, 115, 116, 117, 118, 119, -1, 121, 122, 123,
16253 : 124, -1, -1, 127, 128, 129, 130, 131, -1, 133,
16254 : 134, 135, -1, 137, 138, 139, -1, 141, 142, 143,
16255 : 144, 145, 146, 147, 148, 149, -1, 151, -1, 153,
16256 : 154, 155, 156, -1, 158, -1, 160, 161, -1, 163,
16257 : 164, 165, 166, 167, -1, 169, 170, -1, 172, 173,
16258 : -1, 175, 176, 177, 178, 179, 180, 181, 182, 183,
16259 : 184, -1, 186, 187, 188, 189, 190, 191, -1, 193,
16260 : 194, 195, 196, 197, 198, 199, 200, 201, -1, 203,
16261 : -1, 205, 206, 207, 208, 209, 210, 211, 212, 213,
16262 : 214, 215, -1, 217, 218, 219, 220, 221, -1, 223,
16263 : 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
16264 : 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
16265 : 244, 245, 246, 247, 248, 249, 250, -1, 252, 253,
16266 : 254, 255, -1, 257, 258, 259, 260, 261, 262, -1,
16267 : 264, 265, -1, 267, 268, 269, 270, -1, -1, 273,
16268 : 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
16269 : 284, 285, 286, 287, -1, 289, 290, 291, 292, 293,
16270 : 294, 295, 296, -1, 298, 299, 300, 301, 302, 303,
16271 : 304, 305, 306, 307, 308, 309, 310, 311, -1, 313,
16272 : 314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
16273 : 324, -1, 326, 327, 328, 329, 330, 331, 332, 333,
16274 : 334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
16275 : 344, 345, 346, 347, 348, 349, 350, 351, 352, 353,
16276 : 354, 355, 356, 357, 358, -1, 360, 361, 362, 363,
16277 : 364, 365, 366, 367, 368, 369, 370, 371, 372, -1,
16278 : 374, 375, 376, 377, 378, 379, 380, 381, 382, 383,
16279 : -1, 385, 386, -1, -1, 389, 390, 391, 392, 393,
16280 : -1, 395, 396, 397, 398, 399, 400, 401, -1, -1,
16281 : 404, 405, 406, 407, 408, 409, -1, 411, 412, 413,
16282 : 414, 415, 416, 417, -1, 419, 420, 421, 422, 423,
16283 : 424, -1, -1, 427, -1, 429, 430, 431, 432, 433,
16284 : 434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
16285 : 444, 445, 446, 447, 448, 449, -1, -1, 452, 3,
16286 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
16287 : -1, -1, 466, -1, 18, 19, 20, 21, 22, 23,
16288 : 24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
16289 : -1, -1, -1, 37, 38, -1, 40, 41, 42, 43,
16290 : 44, 45, 46, 47, 48, 49, 50, 51, -1, 53,
16291 : 54, 55, 56, 57, -1, 59, 60, 61, 62, 63,
16292 : 64, -1, 66, 67, 68, 69, 70, -1, 72, -1,
16293 : 74, 75, 76, 77, 78, 79, 80, 81, 82, -1,
16294 : 84, 85, 86, 87, 88, 89, -1, 91, 92, 93,
16295 : 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
16296 : 104, 105, 106, 107, 108, 109, 110, -1, 112, -1,
16297 : 114, 115, 116, 117, 118, 119, -1, 121, 122, 123,
16298 : 124, -1, -1, 127, 128, 129, 130, 131, -1, 133,
16299 : 134, 135, -1, 137, 138, 139, -1, 141, 142, 143,
16300 : 144, 145, 146, 147, 148, 149, -1, 151, -1, 153,
16301 : 154, 155, 156, -1, 158, -1, 160, 161, -1, 163,
16302 : 164, 165, 166, 167, -1, 169, 170, -1, 172, 173,
16303 : -1, 175, 176, 177, 178, 179, 180, 181, 182, 183,
16304 : 184, -1, 186, 187, 188, 189, 190, 191, -1, 193,
16305 : 194, 195, 196, 197, 198, 199, 200, 201, -1, 203,
16306 : -1, 205, 206, 207, 208, 209, 210, 211, 212, 213,
16307 : 214, 215, -1, 217, 218, 219, 220, 221, -1, 223,
16308 : 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
16309 : 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
16310 : 244, 245, 246, 247, 248, 249, 250, -1, 252, 253,
16311 : 254, 255, -1, 257, 258, 259, 260, 261, 262, -1,
16312 : 264, 265, -1, 267, 268, 269, 270, -1, -1, 273,
16313 : 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
16314 : 284, 285, 286, 287, -1, 289, 290, 291, 292, 293,
16315 : 294, 295, 296, -1, 298, 299, 300, 301, 302, 303,
16316 : 304, 305, 306, 307, 308, 309, 310, 311, -1, 313,
16317 : 314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
16318 : 324, -1, 326, 327, 328, 329, 330, 331, 332, 333,
16319 : 334, 335, 336, 337, 338, 339, 340, 341, -1, 343,
16320 : 344, 345, 346, 347, 348, 349, 350, 351, 352, 353,
16321 : 354, 355, 356, 357, 358, -1, 360, 361, 362, 363,
16322 : 364, 365, 366, 367, 368, 369, 370, 371, 372, -1,
16323 : 374, 375, -1, 377, 378, 379, 380, 381, 382, 383,
16324 : -1, 385, 386, -1, -1, 389, 390, 391, 392, 393,
16325 : -1, 395, 396, 397, 398, 399, 400, 401, -1, -1,
16326 : 404, 405, 406, 407, 408, 409, -1, 411, 412, 413,
16327 : 414, 415, 416, 417, -1, 419, 420, 421, 422, 423,
16328 : 424, -1, -1, 427, -1, -1, 430, 431, 432, 433,
16329 : 434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
16330 : 444, 445, 446, 447, 448, 449, -1, -1, 3, -1,
16331 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
16332 : -1, -1, 466, 18, 19, 20, 21, 22, 23, 24,
16333 : 25, -1, 27, 28, 29, -1, -1, -1, -1, -1,
16334 : -1, -1, 37, 38, -1, 40, 41, 42, 43, 44,
16335 : 45, 46, 47, 48, 49, 50, 51, -1, 53, 54,
16336 : 55, 56, 57, -1, 59, 60, 61, 62, 63, 64,
16337 : -1, 66, 67, 68, 69, 70, -1, 72, -1, 74,
16338 : 75, 76, 77, 78, 79, 80, 81, 82, -1, 84,
16339 : 85, 86, 87, 88, 89, -1, 91, 92, 93, 94,
16340 : 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
16341 : 105, 106, 107, 108, 109, 110, -1, 112, -1, 114,
16342 : 115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
16343 : -1, -1, 127, 128, 129, 130, 131, -1, 133, 134,
16344 : 135, -1, 137, 138, 139, -1, 141, 142, 143, 144,
16345 : 145, 146, 147, 148, 149, -1, 151, -1, 153, 154,
16346 : 155, 156, -1, 158, -1, 160, 161, -1, 163, 164,
16347 : 165, 166, 167, -1, 169, 170, -1, 172, 173, -1,
16348 : 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
16349 : -1, 186, 187, 188, 189, 190, 191, -1, 193, 194,
16350 : 195, 196, 197, 198, 199, 200, 201, -1, 203, -1,
16351 : 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
16352 : -1, -1, 217, 218, 219, 220, 221, -1, 223, 224,
16353 : 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
16354 : 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
16355 : 245, 246, 247, 248, 249, 250, -1, 252, 253, 254,
16356 : 255, -1, 257, 258, 259, 260, 261, 262, -1, 264,
16357 : 265, -1, -1, 268, 269, 270, -1, -1, 273, 274,
16358 : 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
16359 : 285, 286, 287, -1, 289, 290, 291, 292, 293, 294,
16360 : 295, 296, -1, 298, 299, 300, 301, 302, 303, 304,
16361 : 305, 306, 307, 308, 309, 310, 311, -1, 313, 314,
16362 : 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
16363 : -1, 326, 327, 328, 329, 330, 331, 332, 333, 334,
16364 : 335, 336, 337, 338, 339, 340, 341, -1, 343, 344,
16365 : 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
16366 : 355, 356, 357, 358, -1, 360, 361, 362, 363, 364,
16367 : 365, 366, 367, 368, 369, 370, 371, 372, -1, 374,
16368 : 375, -1, 377, 378, 379, 380, 381, 382, 383, -1,
16369 : 385, 386, -1, -1, 389, 390, 391, 392, 393, -1,
16370 : 395, 396, 397, 398, 399, 400, 401, -1, -1, 404,
16371 : 405, 406, 407, 408, 409, -1, 411, 412, 413, 414,
16372 : 415, 416, 417, -1, 419, 420, 421, 422, 423, 424,
16373 : -1, -1, 427, -1, -1, 430, 431, 432, 433, 434,
16374 : 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
16375 : 445, 446, 447, 448, 449, -1, -1, 3, -1, -1,
16376 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
16377 : -1, 466, 18, 19, 20, 21, 22, 23, 24, 25,
16378 : -1, 27, 28, 29, -1, -1, -1, -1, -1, -1,
16379 : -1, 37, 38, -1, 40, 41, 42, 43, 44, 45,
16380 : 46, 47, 48, 49, 50, 51, -1, 53, 54, 55,
16381 : 56, 57, -1, 59, 60, 61, 62, 63, 64, -1,
16382 : 66, 67, 68, 69, 70, -1, 72, -1, 74, 75,
16383 : 76, 77, 78, 79, 80, 81, 82, -1, 84, 85,
16384 : 86, 87, 88, 89, -1, 91, 92, 93, 94, 95,
16385 : 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
16386 : 106, 107, 108, 109, 110, -1, 112, -1, 114, 115,
16387 : 116, 117, 118, 119, -1, 121, 122, 123, 124, -1,
16388 : -1, 127, 128, 129, 130, 131, -1, 133, 134, 135,
16389 : -1, 137, 138, 139, -1, 141, 142, 143, 144, 145,
16390 : 146, 147, 148, 149, -1, 151, -1, 153, 154, 155,
16391 : 156, -1, 158, -1, 160, 161, -1, 163, 164, 165,
16392 : 166, 167, -1, 169, 170, -1, 172, 173, -1, 175,
16393 : 176, 177, 178, 179, 180, 181, 182, 183, 184, -1,
16394 : 186, 187, 188, 189, 190, 191, -1, 193, 194, 195,
16395 : 196, 197, 198, 199, 200, 201, -1, 203, -1, 205,
16396 : 206, 207, 208, 209, 210, 211, 212, 213, 214, -1,
16397 : -1, 217, 218, 219, 220, 221, -1, 223, 224, 225,
16398 : 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
16399 : 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
16400 : 246, 247, 248, 249, 250, -1, 252, 253, 254, 255,
16401 : -1, 257, 258, 259, 260, 261, 262, -1, 264, 265,
16402 : -1, -1, 268, 269, 270, -1, -1, 273, 274, 275,
16403 : 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
16404 : 286, 287, -1, 289, 290, 291, 292, 293, 294, 295,
16405 : 296, -1, 298, 299, 300, 301, 302, 303, 304, 305,
16406 : 306, 307, 308, 309, 310, 311, -1, 313, 314, 315,
16407 : 316, 317, 318, 319, 320, 321, 322, 323, 324, -1,
16408 : 326, 327, 328, 329, 330, 331, 332, 333, 334, 335,
16409 : 336, 337, 338, 339, 340, 341, -1, 343, 344, 345,
16410 : 346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
16411 : 356, 357, 358, -1, 360, 361, 362, 363, 364, 365,
16412 : 366, 367, 368, 369, 370, 371, 372, -1, 374, 375,
16413 : -1, 377, 378, 379, 380, 381, 382, 383, -1, 385,
16414 : 386, -1, -1, 389, 390, 391, 392, 393, -1, 395,
16415 : 396, 397, 398, 399, 400, 401, -1, -1, 404, 405,
16416 : 406, 407, 408, 409, -1, 411, 412, 413, 414, 415,
16417 : 416, 417, -1, 419, 420, 421, 422, 423, 424, -1,
16418 : -1, 427, -1, -1, 430, 431, 432, 433, 434, 435,
16419 : 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
16420 : 446, 447, 448, 449, -1, -1, 3, -1, -1, -1,
16421 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
16422 : 466, 18, 19, 20, 21, 22, 23, 24, 25, -1,
16423 : 27, 28, 29, -1, -1, -1, -1, -1, -1, -1,
16424 : 37, 38, -1, 40, 41, 42, 43, 44, 45, 46,
16425 : 47, 48, 49, 50, 51, -1, 53, 54, 55, 56,
16426 : 57, -1, 59, 60, 61, 62, 63, 64, -1, 66,
16427 : 67, 68, 69, 70, -1, 72, -1, 74, 75, 76,
16428 : 77, 78, 79, 80, 81, 82, -1, 84, 85, 86,
16429 : 87, 88, 89, -1, 91, 92, 93, 94, 95, 96,
16430 : 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
16431 : 107, 108, 109, 110, -1, 112, -1, 114, 115, 116,
16432 : 117, 118, 119, -1, 121, 122, 123, 124, -1, -1,
16433 : 127, 128, 129, 130, 131, -1, 133, 134, 135, -1,
16434 : 137, 138, 139, -1, 141, 142, 143, 144, 145, 146,
16435 : 147, 148, 149, -1, 151, -1, 153, 154, 155, 156,
16436 : -1, 158, -1, 160, 161, -1, 163, 164, 165, 166,
16437 : 167, -1, 169, 170, -1, 172, 173, -1, 175, 176,
16438 : 177, 178, 179, 180, 181, 182, 183, 184, -1, 186,
16439 : 187, 188, 189, 190, 191, -1, 193, 194, 195, 196,
16440 : 197, 198, 199, 200, 201, -1, 203, -1, 205, 206,
16441 : 207, 208, 209, 210, 211, 212, 213, 214, -1, -1,
16442 : 217, 218, 219, 220, 221, -1, 223, 224, 225, 226,
16443 : 227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
16444 : 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
16445 : 247, 248, 249, 250, -1, 252, 253, 254, 255, -1,
16446 : 257, 258, 259, 260, 261, 262, -1, 264, 265, -1,
16447 : -1, 268, 269, 270, -1, -1, 273, 274, 275, 276,
16448 : 277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
16449 : 287, -1, 289, 290, 291, 292, 293, 294, 295, 296,
16450 : -1, 298, 299, 300, 301, 302, 303, 304, 305, 306,
16451 : 307, 308, 309, 310, 311, -1, 313, 314, 315, 316,
16452 : 317, 318, 319, 320, 321, 322, 323, 324, -1, 326,
16453 : 327, 328, 329, 330, 331, 332, 333, 334, 335, 336,
16454 : 337, 338, 339, 340, 341, -1, 343, 344, 345, 346,
16455 : 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
16456 : 357, 358, -1, 360, 361, 362, 363, 364, 365, 366,
16457 : 367, 368, 369, 370, 371, 372, -1, 374, 375, -1,
16458 : 377, 378, 379, 380, 381, 382, 383, -1, 385, 386,
16459 : -1, -1, 389, 390, 391, 392, 393, -1, 395, 396,
16460 : 397, 398, 399, 400, 401, -1, -1, 404, 405, 406,
16461 : 407, 408, 409, -1, 411, 412, 413, 414, 415, 416,
16462 : 417, -1, 419, 420, 421, 422, 423, 424, -1, -1,
16463 : 427, -1, -1, 430, 431, 432, 433, 434, 435, 436,
16464 : 437, 438, 439, 440, 441, 442, 443, 444, 445, 446,
16465 : 447, 448, 449, -1, -1, 3, 4, 5, -1, -1,
16466 : -1, 9, -1, -1, -1, -1, -1, -1, -1, 466,
16467 : 18, 19, 20, 21, 22, 23, 24, 25, -1, 27,
16468 : 28, 29, -1, -1, -1, -1, -1, -1, -1, 37,
16469 : 38, -1, 40, 41, 42, 43, 44, 45, 46, 47,
16470 : 48, 49, 50, 51, -1, 53, 54, 55, 56, 57,
16471 : -1, -1, 60, 61, 62, 63, 64, -1, 66, 67,
16472 : 68, 69, 70, -1, 72, -1, 74, 75, 76, 77,
16473 : 78, 79, 80, 81, 82, -1, 84, 85, 86, 87,
16474 : 88, 89, -1, 91, 92, 93, 94, -1, -1, -1,
16475 : 98, -1, -1, -1, 102, 103, 104, 105, 106, 107,
16476 : 108, 109, 110, -1, 112, -1, 114, 115, 116, 117,
16477 : 118, 119, -1, 121, 122, 123, 124, -1, -1, 127,
16478 : 128, 129, 130, 131, -1, 133, 134, 135, -1, 137,
16479 : 138, 139, -1, 141, 142, 143, 144, 145, 146, 147,
16480 : 148, 149, 150, 151, -1, 153, 154, 155, 156, -1,
16481 : 158, -1, 160, 161, -1, 163, 164, 165, 166, 167,
16482 : -1, 169, 170, -1, 172, 173, -1, 175, 176, 177,
16483 : 178, 179, 180, 181, 182, 183, 184, -1, 186, 187,
16484 : 188, 189, 190, 191, -1, 193, 194, 195, 196, 197,
16485 : 198, 199, 200, 201, -1, 203, -1, 205, 206, 207,
16486 : 208, 209, 210, 211, 212, 213, 214, -1, -1, 217,
16487 : 218, 219, 220, 221, -1, 223, 224, 225, -1, -1,
16488 : 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
16489 : 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
16490 : 248, 249, 250, -1, 252, 253, 254, 255, -1, 257,
16491 : 258, 259, 260, 261, 262, -1, 264, 265, 266, -1,
16492 : 268, 269, 270, -1, -1, 273, 274, 275, 276, 277,
16493 : 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
16494 : -1, 289, 290, 291, 292, 293, 294, 295, 296, -1,
16495 : 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
16496 : 308, 309, 310, 311, -1, 313, 314, 315, 316, 317,
16497 : 318, 319, 320, 321, 322, 323, 324, -1, 326, 327,
16498 : 328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
16499 : 338, 339, 340, 341, -1, 343, 344, 345, 346, 347,
16500 : -1, 349, 350, 351, 352, 353, 354, 355, 356, 357,
16501 : 358, -1, 360, 361, 362, 363, 364, 365, 366, 367,
16502 : 368, 369, 370, 371, 372, -1, 374, 375, -1, 377,
16503 : 378, 379, 380, 381, 382, 383, -1, 385, 386, -1,
16504 : -1, 389, 390, 391, 392, 393, 394, 395, 396, 397,
16505 : 398, 399, 400, 401, -1, -1, 404, 405, 406, 407,
16506 : 408, -1, -1, 411, 412, 413, 414, 415, 416, 417,
16507 : -1, 419, 420, 421, 422, 423, 424, -1, -1, 427,
16508 : -1, -1, 430, 431, 432, 433, 434, 435, 436, 437,
16509 : 438, 439, 440, 441, 442, 443, 444, 445, 446, 447,
16510 : 448, 449, -1, -1, 3, -1, -1, -1, -1, 457,
16511 : 458, 459, -1, -1, -1, -1, -1, -1, 466, 18,
16512 : 19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
16513 : 29, 30, 31, -1, -1, -1, -1, -1, 37, 38,
16514 : -1, 40, 41, 42, 43, 44, 45, 46, 47, 48,
16515 : 49, 50, 51, -1, 53, 54, 55, 56, 57, -1,
16516 : -1, 60, 61, 62, 63, 64, -1, 66, 67, 68,
16517 : 69, 70, -1, 72, -1, 74, 75, 76, 77, 78,
16518 : 79, 80, 81, 82, -1, 84, 85, 86, 87, 88,
16519 : 89, -1, 91, 92, 93, 94, -1, -1, -1, 98,
16520 : -1, -1, -1, 102, 103, 104, 105, 106, 107, 108,
16521 : 109, 110, -1, 112, -1, 114, 115, 116, 117, 118,
16522 : 119, -1, 121, 122, 123, 124, -1, -1, 127, 128,
16523 : 129, 130, 131, -1, 133, 134, 135, -1, 137, 138,
16524 : 139, -1, 141, 142, 143, 144, 145, 146, 147, 148,
16525 : 149, -1, 151, -1, 153, 154, 155, 156, -1, 158,
16526 : -1, 160, 161, -1, 163, 164, 165, 166, 167, -1,
16527 : 169, 170, -1, 172, 173, -1, 175, 176, 177, 178,
16528 : 179, 180, 181, 182, 183, 184, -1, 186, 187, 188,
16529 : 189, 190, 191, -1, 193, 194, 195, 196, 197, 198,
16530 : 199, 200, 201, -1, 203, -1, 205, 206, 207, 208,
16531 : 209, 210, 211, 212, 213, 214, -1, -1, 217, 218,
16532 : 219, 220, 221, -1, 223, 224, 225, -1, -1, 228,
16533 : 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
16534 : 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
16535 : 249, 250, -1, 252, 253, 254, 255, -1, 257, 258,
16536 : 259, 260, 261, 262, -1, 264, 265, -1, -1, 268,
16537 : 269, 270, -1, -1, 273, 274, 275, 276, 277, 278,
16538 : 279, 280, 281, 282, 283, 284, 285, 286, 287, -1,
16539 : 289, 290, 291, 292, 293, 294, 295, 296, -1, 298,
16540 : 299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
16541 : 309, 310, 311, -1, 313, 314, 315, 316, 317, 318,
16542 : 319, 320, 321, 322, 323, 324, -1, 326, 327, 328,
16543 : 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
16544 : 339, 340, 341, 342, 343, 344, 345, 346, 347, -1,
16545 : 349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
16546 : -1, 360, 361, 362, 363, 364, 365, 366, 367, 368,
16547 : 369, 370, 371, 372, -1, 374, 375, 376, 377, 378,
16548 : 379, 380, 381, 382, 383, -1, 385, 386, -1, -1,
16549 : 389, 390, 391, 392, 393, -1, 395, 396, 397, 398,
16550 : 399, 400, 401, -1, -1, 404, 405, 406, 407, 408,
16551 : -1, -1, 411, 412, 413, 414, 415, 416, 417, -1,
16552 : 419, 420, 421, 422, 423, 424, -1, -1, 427, -1,
16553 : 429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
16554 : 439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
16555 : 449, -1, -1, 452, 3, -1, -1, -1, -1, -1,
16556 : -1, -1, -1, -1, -1, -1, -1, 466, -1, 18,
16557 : 19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
16558 : 29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
16559 : -1, 40, 41, 42, 43, 44, 45, 46, 47, 48,
16560 : 49, 50, 51, -1, 53, 54, 55, 56, 57, -1,
16561 : -1, 60, 61, 62, 63, 64, -1, 66, 67, 68,
16562 : 69, 70, -1, 72, -1, 74, 75, 76, 77, 78,
16563 : 79, 80, 81, 82, -1, 84, 85, 86, 87, 88,
16564 : 89, -1, 91, 92, 93, 94, -1, -1, -1, 98,
16565 : -1, -1, -1, 102, 103, 104, 105, 106, 107, 108,
16566 : 109, 110, -1, 112, -1, 114, 115, 116, 117, 118,
16567 : 119, -1, 121, 122, 123, 124, -1, -1, 127, 128,
16568 : 129, 130, 131, -1, 133, 134, 135, -1, 137, 138,
16569 : 139, -1, 141, 142, 143, 144, 145, 146, 147, 148,
16570 : 149, -1, 151, -1, 153, 154, 155, 156, -1, 158,
16571 : -1, 160, 161, -1, 163, 164, 165, 166, 167, -1,
16572 : 169, 170, -1, 172, 173, -1, 175, 176, 177, 178,
16573 : 179, 180, 181, 182, 183, 184, -1, 186, 187, 188,
16574 : 189, 190, 191, -1, 193, 194, 195, 196, 197, 198,
16575 : 199, 200, 201, -1, 203, -1, 205, 206, 207, 208,
16576 : 209, 210, 211, 212, 213, 214, -1, -1, 217, 218,
16577 : 219, 220, 221, -1, 223, 224, 225, -1, -1, 228,
16578 : 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
16579 : 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
16580 : 249, 250, -1, 252, 253, 254, 255, -1, 257, 258,
16581 : 259, 260, 261, 262, -1, 264, 265, -1, -1, 268,
16582 : 269, 270, -1, -1, 273, 274, 275, 276, 277, 278,
16583 : 279, 280, 281, 282, 283, 284, 285, 286, 287, -1,
16584 : 289, 290, 291, 292, 293, 294, 295, 296, -1, 298,
16585 : 299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
16586 : 309, 310, 311, -1, 313, 314, 315, 316, 317, 318,
16587 : 319, 320, 321, 322, 323, 324, -1, 326, 327, 328,
16588 : 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
16589 : 339, 340, 341, -1, 343, 344, 345, 346, 347, -1,
16590 : 349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
16591 : -1, 360, 361, 362, 363, 364, 365, 366, 367, 368,
16592 : 369, 370, 371, 372, -1, 374, 375, -1, 377, 378,
16593 : 379, 380, 381, 382, 383, -1, 385, 386, -1, -1,
16594 : 389, 390, 391, 392, 393, -1, 395, 396, 397, 398,
16595 : 399, 400, 401, -1, -1, 404, 405, 406, 407, 408,
16596 : -1, -1, 411, 412, 413, 414, 415, 416, 417, -1,
16597 : 419, 420, 421, 422, 423, 424, -1, -1, 427, -1,
16598 : -1, 430, 431, 432, 433, 434, 435, 436, 437, 438,
16599 : 439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
16600 : 449, -1, -1, 3, -1, -1, -1, -1, -1, -1,
16601 : -1, -1, -1, -1, -1, -1, -1, 466, 18, 19,
16602 : 20, 21, 22, 23, 24, 25, -1, 27, 28, 29,
16603 : -1, -1, -1, -1, -1, -1, -1, 37, 38, -1,
16604 : 40, 41, 42, -1, 44, 45, 46, 47, 48, -1,
16605 : 50, 51, -1, 53, 54, 55, 56, 57, -1, -1,
16606 : 60, 61, 62, 63, 64, -1, 66, 67, 68, 69,
16607 : 70, -1, -1, -1, 74, 75, 76, 77, 78, -1,
16608 : 80, 81, 82, -1, 84, 85, 86, 87, 88, 89,
16609 : -1, -1, 92, 93, 94, -1, -1, -1, -1, -1,
16610 : -1, -1, 102, 103, 104, 105, 106, 107, 108, 109,
16611 : 110, -1, 112, -1, 114, 115, 116, 117, 118, 119,
16612 : -1, 121, 122, 123, 124, -1, -1, 127, 128, 129,
16613 : 130, 131, -1, 133, 134, 135, -1, 137, 138, 139,
16614 : -1, 141, 142, 143, 144, 145, 146, 147, 148, 149,
16615 : -1, 151, -1, 153, 154, 155, 156, -1, 158, -1,
16616 : 160, -1, -1, -1, 164, 165, 166, 167, -1, 169,
16617 : 170, -1, 172, 173, -1, 175, 176, 177, 178, 179,
16618 : -1, 181, 182, 183, 184, -1, 186, 187, 188, 189,
16619 : 190, 191, -1, 193, -1, 195, 196, 197, 198, 199,
16620 : 200, 201, -1, 203, -1, 205, -1, -1, 208, -1,
16621 : 210, 211, 212, 213, 214, -1, -1, 217, 218, -1,
16622 : 220, -1, -1, 223, 224, 225, -1, -1, 228, 229,
16623 : 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
16624 : 240, 241, 242, 243, 244, -1, 246, 247, 248, 249,
16625 : 250, -1, 252, 253, -1, 255, -1, 257, 258, 259,
16626 : 260, 261, 262, -1, 264, 265, -1, -1, 268, 269,
16627 : 270, -1, -1, 273, 274, -1, 276, -1, 278, 279,
16628 : 280, 281, 282, 283, 284, 285, 286, 287, -1, 289,
16629 : 290, 291, 292, 293, 294, 295, 296, -1, 298, 299,
16630 : 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
16631 : 310, 311, -1, 313, 314, 315, 316, 317, 318, 319,
16632 : 320, 321, 322, 323, 324, -1, 326, 327, -1, 329,
16633 : 330, 331, 332, 333, 334, 335, 336, 337, 338, 339,
16634 : 340, 341, 342, 343, 344, 345, 346, 347, -1, 349,
16635 : 350, 351, 352, 353, -1, 355, 356, 357, 358, -1,
16636 : 360, 361, 362, 363, 364, 365, 366, 367, 368, 369,
16637 : 370, 371, 372, -1, 374, 375, 376, 377, -1, 379,
16638 : 380, 381, 382, 383, -1, 385, 386, -1, -1, 389,
16639 : 390, 391, 392, 393, -1, 395, 396, 397, 398, 399,
16640 : 400, 401, -1, -1, 404, 405, 406, 407, 408, -1,
16641 : -1, 411, 412, 413, 414, 415, 416, 417, -1, 419,
16642 : -1, 421, 422, 423, 424, -1, -1, 427, -1, 429,
16643 : 430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
16644 : 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
16645 : -1, -1, 452, 3, -1, -1, -1, -1, -1, -1,
16646 : -1, -1, -1, -1, -1, -1, 466, -1, 18, 19,
16647 : 20, 21, 22, 23, 24, 25, -1, 27, 28, 29,
16648 : -1, -1, -1, -1, -1, -1, -1, 37, 38, -1,
16649 : 40, 41, 42, -1, 44, 45, 46, 47, 48, -1,
16650 : 50, 51, -1, 53, 54, 55, 56, 57, -1, -1,
16651 : 60, 61, 62, 63, 64, -1, 66, 67, 68, 69,
16652 : 70, -1, -1, -1, 74, 75, 76, 77, 78, -1,
16653 : 80, 81, 82, -1, 84, 85, 86, 87, 88, 89,
16654 : -1, -1, 92, 93, 94, -1, -1, -1, -1, -1,
16655 : -1, -1, 102, 103, 104, 105, 106, 107, 108, 109,
16656 : 110, -1, 112, -1, 114, 115, 116, 117, 118, 119,
16657 : -1, 121, 122, 123, 124, -1, -1, 127, 128, 129,
16658 : 130, 131, -1, 133, 134, 135, -1, 137, 138, 139,
16659 : -1, 141, 142, 143, 144, 145, 146, 147, 148, 149,
16660 : -1, 151, -1, 153, 154, 155, 156, -1, 158, -1,
16661 : 160, -1, -1, -1, 164, 165, 166, 167, -1, 169,
16662 : 170, -1, 172, 173, -1, 175, 176, 177, 178, 179,
16663 : -1, 181, 182, 183, 184, -1, 186, 187, 188, 189,
16664 : 190, 191, -1, 193, -1, 195, 196, 197, 198, 199,
16665 : 200, 201, -1, 203, -1, 205, -1, -1, 208, -1,
16666 : 210, 211, 212, 213, 214, -1, -1, 217, 218, -1,
16667 : 220, -1, -1, 223, 224, 225, -1, -1, 228, 229,
16668 : 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
16669 : 240, 241, 242, 243, 244, -1, 246, 247, 248, 249,
16670 : 250, -1, 252, 253, -1, 255, -1, 257, 258, 259,
16671 : 260, 261, 262, -1, 264, 265, -1, -1, 268, 269,
16672 : 270, -1, -1, 273, 274, -1, 276, -1, 278, 279,
16673 : 280, 281, 282, 283, 284, 285, 286, 287, -1, 289,
16674 : 290, 291, 292, 293, 294, 295, 296, -1, 298, 299,
16675 : 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
16676 : 310, 311, -1, 313, 314, 315, 316, 317, 318, 319,
16677 : 320, 321, 322, 323, 324, -1, 326, 327, -1, 329,
16678 : 330, 331, 332, 333, 334, 335, 336, 337, 338, 339,
16679 : 340, 341, -1, 343, 344, 345, 346, 347, -1, 349,
16680 : 350, 351, 352, 353, -1, 355, 356, 357, 358, -1,
16681 : 360, 361, 362, 363, 364, 365, 366, 367, 368, 369,
16682 : 370, 371, 372, -1, 374, 375, -1, 377, -1, 379,
16683 : 380, 381, 382, 383, -1, 385, 386, -1, -1, 389,
16684 : 390, 391, 392, 393, -1, 395, 396, 397, 398, 399,
16685 : 400, 401, -1, -1, 404, 405, 406, 407, 408, -1,
16686 : -1, 411, 412, 413, 414, 415, 416, 417, -1, 419,
16687 : -1, 421, 422, 423, 424, -1, -1, 427, -1, -1,
16688 : 430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
16689 : 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
16690 : -1, -1, 3, -1, -1, -1, -1, -1, -1, -1,
16691 : -1, -1, -1, -1, -1, -1, 466, 18, 19, 20,
16692 : 21, 22, 23, 24, 25, -1, 27, 28, 29, -1,
16693 : -1, -1, -1, -1, -1, -1, 37, 38, -1, 40,
16694 : 41, 42, -1, 44, 45, 46, 47, 48, -1, 50,
16695 : 51, -1, 53, 54, 55, 56, 57, -1, -1, 60,
16696 : 61, 62, 63, 64, -1, 66, 67, 68, 69, 70,
16697 : -1, -1, -1, 74, 75, 76, 77, 78, -1, 80,
16698 : 81, 82, -1, 84, 85, 86, 87, 88, 89, -1,
16699 : -1, 92, 93, 94, -1, -1, -1, -1, -1, -1,
16700 : -1, 102, 103, 104, 105, 106, 107, 108, 109, 110,
16701 : -1, 112, -1, 114, 115, 116, 117, 118, 119, -1,
16702 : 121, 122, 123, 124, -1, -1, 127, 128, 129, 130,
16703 : 131, -1, 133, 134, 135, -1, 137, 138, 139, -1,
16704 : 141, 142, 143, 144, 145, 146, 147, 148, 149, -1,
16705 : 151, -1, 153, 154, 155, 156, -1, 158, -1, 160,
16706 : -1, -1, -1, 164, 165, 166, 167, -1, 169, 170,
16707 : -1, 172, 173, -1, 175, 176, 177, 178, 179, -1,
16708 : 181, 182, 183, 184, -1, 186, 187, 188, 189, 190,
16709 : 191, -1, 193, -1, 195, 196, 197, 198, 199, 200,
16710 : 201, -1, 203, -1, 205, -1, -1, 208, -1, 210,
16711 : 211, 212, 213, 214, -1, -1, 217, 218, -1, 220,
16712 : -1, -1, 223, 224, 225, -1, -1, 228, 229, 230,
16713 : 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
16714 : 241, 242, 243, 244, -1, 246, 247, 248, 249, 250,
16715 : -1, 252, 253, -1, 255, -1, 257, 258, 259, 260,
16716 : 261, 262, -1, 264, 265, -1, -1, 268, 269, 270,
16717 : -1, -1, 273, 274, -1, 276, -1, 278, 279, 280,
16718 : 281, 282, 283, 284, 285, 286, 287, -1, 289, 290,
16719 : 291, 292, 293, 294, 295, 296, -1, 298, 299, 300,
16720 : 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
16721 : 311, -1, 313, 314, 315, 316, 317, 318, 319, 320,
16722 : 321, 322, 323, 324, -1, 326, 327, -1, 329, 330,
16723 : 331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
16724 : 341, -1, 343, 344, 345, 346, 347, -1, 349, 350,
16725 : 351, 352, 353, -1, 355, 356, 357, 358, -1, 360,
16726 : 361, 362, 363, 364, 365, 366, 367, 368, 369, 370,
16727 : 371, 372, -1, 374, 375, -1, 377, -1, 379, 380,
16728 : 381, 382, 383, -1, 385, 386, -1, -1, 389, 390,
16729 : 391, 392, 393, -1, 395, 396, 397, 398, 399, 400,
16730 : 401, -1, -1, 404, 405, 406, 407, 408, -1, -1,
16731 : 411, 412, 413, 414, 415, 416, 417, -1, 419, -1,
16732 : 421, 422, 423, 424, -1, -1, 427, -1, -1, 430,
16733 : 431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
16734 : 441, 442, 443, 444, 445, 446, 447, 448, 449, -1,
16735 : -1, 3, -1, -1, -1, -1, -1, -1, -1, -1,
16736 : -1, -1, -1, -1, -1, 466, 18, 19, 20, 21,
16737 : 22, 23, 24, 25, -1, 27, 28, 29, -1, -1,
16738 : -1, -1, -1, -1, -1, 37, 38, -1, 40, 41,
16739 : 42, -1, 44, 45, 46, 47, 48, -1, 50, 51,
16740 : -1, 53, 54, 55, 56, 57, -1, -1, 60, 61,
16741 : 62, 63, 64, -1, 66, 67, 68, 69, 70, -1,
16742 : -1, -1, 74, 75, 76, 77, 78, -1, 80, 81,
16743 : 82, -1, 84, 85, 86, 87, 88, 89, -1, -1,
16744 : 92, 93, 94, -1, -1, -1, -1, -1, -1, -1,
16745 : 102, 103, 104, 105, 106, 107, 108, 109, 110, -1,
16746 : 112, -1, 114, 115, 116, 117, 118, 119, -1, 121,
16747 : 122, 123, 124, -1, -1, 127, 128, 129, 130, 131,
16748 : -1, 133, 134, 135, -1, 137, 138, 139, -1, 141,
16749 : 142, 143, 144, 145, 146, 147, 148, 149, -1, 151,
16750 : -1, 153, 154, 155, 156, -1, 158, -1, 160, -1,
16751 : -1, -1, 164, 165, 166, 167, -1, 169, 170, -1,
16752 : 172, 173, -1, 175, 176, 177, 178, 179, -1, 181,
16753 : 182, 183, 184, -1, 186, 187, 188, 189, 190, 191,
16754 : -1, 193, -1, 195, 196, 197, 198, 199, 200, 201,
16755 : -1, 203, -1, 205, -1, -1, 208, -1, 210, 211,
16756 : 212, 213, 214, -1, -1, 217, 218, -1, 220, -1,
16757 : -1, 223, 224, 225, -1, -1, 228, 229, 230, 231,
16758 : 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
16759 : 242, 243, 244, -1, 246, 247, 248, 249, 250, -1,
16760 : 252, 253, -1, 255, -1, 257, 258, 259, 260, 261,
16761 : 262, -1, 264, 265, -1, -1, 268, 269, 270, -1,
16762 : -1, 273, 274, -1, 276, -1, 278, 279, 280, 281,
16763 : 282, 283, 284, 285, 286, 287, -1, 289, 290, 291,
16764 : 292, 293, 294, 295, 296, -1, 298, 299, 300, 301,
16765 : 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
16766 : -1, 313, 314, 315, 316, 317, 318, 319, 320, 321,
16767 : 322, 323, 324, -1, 326, 327, -1, 329, 330, 331,
16768 : 332, 333, 334, 335, 336, 337, 338, 339, 340, 341,
16769 : -1, 343, 344, 345, 346, 347, -1, 349, 350, 351,
16770 : 352, 353, -1, 355, 356, 357, 358, -1, 360, 361,
16771 : 362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
16772 : 372, -1, 374, 375, -1, 377, -1, 379, 380, 381,
16773 : 382, 383, -1, 385, 386, -1, -1, 389, 390, 391,
16774 : 392, 393, -1, 395, 396, 397, 398, 399, 400, 401,
16775 : -1, -1, 404, 405, 406, 407, 408, -1, -1, 411,
16776 : 412, 413, 414, 415, 416, 417, -1, 419, -1, 421,
16777 : 422, 423, 424, -1, -1, 427, -1, -1, 430, 431,
16778 : 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
16779 : 442, 443, 444, 445, 446, 447, 448, 449, -1, -1,
16780 : 3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
16781 : -1, -1, -1, -1, 466, 18, 19, 20, 21, 22,
16782 : 23, 24, 25, -1, 27, 28, 29, -1, -1, -1,
16783 : -1, -1, -1, -1, 37, 38, -1, 40, 41, 42,
16784 : -1, 44, 45, 46, 47, 48, -1, 50, 51, -1,
16785 : 53, 54, 55, 56, 57, -1, -1, 60, 61, 62,
16786 : 63, 64, -1, 66, 67, 68, 69, 70, -1, -1,
16787 : -1, 74, 75, 76, 77, 78, -1, 80, 81, 82,
16788 : -1, 84, 85, 86, 87, 88, 89, -1, -1, 92,
16789 : 93, 94, -1, -1, -1, -1, -1, -1, -1, 102,
16790 : 103, 104, 105, 106, 107, 108, 109, 110, -1, 112,
16791 : -1, 114, 115, 116, 117, 118, 119, -1, 121, 122,
16792 : 123, 124, -1, -1, 127, 128, 129, 130, 131, -1,
16793 : 133, 134, 135, -1, 137, 138, 139, -1, 141, 142,
16794 : 143, 144, 145, 146, 147, 148, 149, -1, 151, -1,
16795 : 153, 154, 155, 156, -1, 158, -1, 160, -1, -1,
16796 : -1, 164, 165, 166, 167, -1, 169, 170, -1, 172,
16797 : 173, -1, 175, 176, 177, 178, 179, -1, 181, 182,
16798 : 183, 184, -1, 186, 187, 188, 189, 190, 191, -1,
16799 : 193, -1, 195, 196, 197, 198, 199, 200, 201, -1,
16800 : 203, -1, 205, -1, -1, 208, -1, 210, 211, 212,
16801 : 213, 214, -1, -1, 217, 218, -1, 220, -1, -1,
16802 : 223, 224, 225, -1, -1, 228, 229, 230, 231, 232,
16803 : 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
16804 : 243, 244, -1, 246, 247, 248, 249, 250, -1, 252,
16805 : 253, -1, 255, -1, 257, 258, 259, 260, 261, 262,
16806 : -1, 264, 265, -1, -1, 268, 269, 270, -1, -1,
16807 : 273, 274, -1, 276, -1, 278, 279, 280, 281, 282,
16808 : 283, 284, 285, 286, 287, -1, 289, 290, 291, 292,
16809 : 293, 294, 295, 296, -1, 298, 299, 300, 301, 302,
16810 : 303, 304, 305, 306, 307, 308, 309, 310, 311, -1,
16811 : 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
16812 : 323, 324, -1, 326, 327, -1, 329, 330, 331, 332,
16813 : 333, 334, 335, 336, 337, 338, 339, 340, 341, -1,
16814 : 343, 344, 345, 346, 347, -1, 349, 350, 351, 352,
16815 : 353, -1, 355, 356, 357, 358, -1, 360, 361, 362,
16816 : 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
16817 : -1, 374, 375, -1, 377, -1, 379, 380, 381, 382,
16818 : 383, -1, 385, 386, -1, -1, 389, 390, 391, 392,
16819 : 393, -1, 395, 396, 397, 398, 399, 400, 401, -1,
16820 : -1, 404, 405, 406, 407, 408, -1, -1, 411, 412,
16821 : 413, 414, 415, 416, 417, -1, 419, -1, 421, 422,
16822 : 423, 424, -1, -1, 427, -1, -1, 430, 431, 432,
16823 : 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
16824 : 443, 444, 445, 446, 447, 448, 449, -1, -1, -1,
16825 : -1, -1, 3, 4, 5, -1, -1, 8, 9, -1,
16826 : -1, -1, -1, 466, 15, 16, 17, 18, 19, 20,
16827 : 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
16828 : 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
16829 : 41, 42, 43, 44, 45, 46, -1, 48, 49, 50,
16830 : 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
16831 : 61, 62, 63, 64, 65, 66, 67, 68, 69, -1,
16832 : 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
16833 : 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
16834 : 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
16835 : 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
16836 : 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
16837 : 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
16838 : 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
16839 : 141, 142, 143, 144, -1, 146, 147, 148, -1, 150,
16840 : 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
16841 : 161, 162, 163, 164, 165, 166, 167, 168, 169, -1,
16842 : 171, -1, 173, 174, 175, 176, 177, 178, 179, 180,
16843 : 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
16844 : 191, 192, 193, 194, -1, 196, 197, 198, 199, 200,
16845 : 201, 202, 203, 204, 205, 206, 207, 208, 209, 210,
16846 : 211, 212, 213, 214, 215, 216, 217, -1, 219, 220,
16847 : 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
16848 : 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
16849 : 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
16850 : 251, 252, 253, 254, 255, 256, -1, 258, 259, 260,
16851 : 261, 262, 263, 264, 265, 266, 267, 268, 269, 270,
16852 : 271, 272, 273, -1, 275, 276, 277, -1, 279, 280,
16853 : 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
16854 : -1, 292, -1, 294, 295, 296, 297, 298, 299, 300,
16855 : 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
16856 : 311, 312, 313, 314, 315, 316, 317, 318, 319, 320,
16857 : 321, 322, 323, 324, 325, 326, 327, 328, 329, 330,
16858 : 331, -1, 333, 334, 335, 336, 337, 338, 339, 340,
16859 : 341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
16860 : 351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
16861 : 361, 362, 363, 364, 365, 366, 367, 368, 369, 370,
16862 : 371, -1, 373, 374, 375, 376, 377, 378, 379, 380,
16863 : 381, 382, 383, 384, 385, 386, 387, 388, 389, 390,
16864 : -1, 392, -1, 394, 395, 396, 397, 398, 399, 400,
16865 : 401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
16866 : 411, 412, 413, 414, 415, -1, 417, 418, 419, 420,
16867 : 421, 422, 423, 424, 425, 426, 427, 428, 429, 430,
16868 : 431, 432, 433, 434, 435, -1, -1, -1, -1, -1,
16869 : -1, -1, -1, -1, -1, -1, 447, 448, 449, -1,
16870 : -1, -1, 453, 454, 455, -1, 457, 458, 459, 460,
16871 : 461, 462, 3, 4, 5, -1, -1, 8, 9, -1,
16872 : -1, -1, -1, -1, 15, 16, 17, 18, 19, 20,
16873 : 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
16874 : 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
16875 : 41, 42, 43, 44, 45, 46, -1, 48, 49, 50,
16876 : 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
16877 : 61, 62, 63, 64, 65, 66, 67, 68, 69, -1,
16878 : 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
16879 : 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
16880 : 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
16881 : 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
16882 : 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
16883 : 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
16884 : 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
16885 : 141, 142, 143, 144, -1, 146, 147, 148, -1, 150,
16886 : 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
16887 : 161, 162, 163, 164, 165, 166, 167, 168, 169, -1,
16888 : 171, -1, 173, 174, 175, 176, 177, 178, 179, 180,
16889 : 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
16890 : 191, 192, 193, 194, -1, 196, 197, 198, 199, 200,
16891 : 201, 202, 203, 204, 205, 206, 207, 208, 209, 210,
16892 : 211, 212, 213, 214, 215, 216, 217, -1, 219, 220,
16893 : 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
16894 : 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
16895 : 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
16896 : 251, 252, 253, 254, 255, 256, -1, 258, 259, 260,
16897 : 261, 262, 263, 264, 265, 266, 267, 268, 269, 270,
16898 : 271, 272, 273, -1, 275, 276, 277, -1, 279, 280,
16899 : 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
16900 : -1, 292, -1, 294, 295, 296, 297, 298, 299, 300,
16901 : 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
16902 : 311, 312, 313, 314, 315, 316, 317, 318, 319, 320,
16903 : 321, 322, 323, 324, 325, 326, 327, 328, 329, 330,
16904 : 331, -1, 333, 334, 335, 336, 337, 338, 339, 340,
16905 : 341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
16906 : 351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
16907 : 361, 362, 363, 364, 365, 366, 367, 368, 369, 370,
16908 : 371, -1, 373, 374, 375, 376, 377, 378, 379, 380,
16909 : 381, 382, 383, 384, 385, 386, 387, 388, 389, 390,
16910 : -1, 392, -1, 394, 395, 396, 397, 398, 399, 400,
16911 : 401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
16912 : 411, 412, 413, 414, 415, -1, 417, 418, 419, 420,
16913 : 421, 422, 423, 424, 425, 426, 427, 428, 429, 430,
16914 : 431, 432, 433, 434, 435, -1, -1, -1, -1, -1,
16915 : -1, -1, -1, -1, -1, -1, 447, 448, 449, -1,
16916 : 3, -1, 453, 454, 455, 8, 457, 458, 459, 460,
16917 : 461, 462, 15, 16, 17, 18, 19, 20, 21, 22,
16918 : 23, 24, 25, -1, 27, 28, 29, -1, -1, -1,
16919 : -1, -1, -1, -1, 37, 38, -1, 40, 41, 42,
16920 : -1, 44, 45, 46, 47, 48, -1, 50, 51, -1,
16921 : 53, 54, 55, 56, 57, -1, -1, 60, 61, 62,
16922 : 63, 64, -1, 66, 67, 68, 69, 70, -1, -1,
16923 : -1, 74, 75, 76, 77, 78, -1, 80, 81, 82,
16924 : -1, 84, 85, 86, 87, 88, 89, -1, -1, 92,
16925 : 93, 94, -1, -1, -1, -1, -1, -1, -1, 102,
16926 : 103, 104, 105, 106, 107, 108, 109, 110, -1, 112,
16927 : -1, 114, 115, 116, 117, 118, 119, -1, 121, 122,
16928 : 123, 124, -1, -1, 127, 128, 129, 130, 131, -1,
16929 : 133, 134, 135, -1, 137, 138, 139, -1, 141, 142,
16930 : 143, 144, 145, 146, 147, 148, 149, -1, 151, -1,
16931 : 153, 154, 155, 156, -1, 158, -1, 160, -1, -1,
16932 : -1, 164, 165, 166, 167, -1, 169, 170, -1, 172,
16933 : 173, -1, 175, 176, 177, 178, 179, -1, 181, 182,
16934 : 183, 184, -1, 186, 187, 188, 189, 190, 191, -1,
16935 : 193, -1, 195, 196, 197, 198, 199, 200, 201, -1,
16936 : 203, -1, 205, -1, -1, 208, -1, 210, 211, 212,
16937 : 213, 214, -1, -1, 217, 218, -1, 220, -1, -1,
16938 : 223, 224, 225, -1, -1, 228, 229, 230, 231, 232,
16939 : 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
16940 : 243, 244, -1, 246, 247, 248, 249, 250, -1, 252,
16941 : 253, -1, 255, -1, 257, 258, 259, 260, 261, 262,
16942 : -1, 264, 265, -1, -1, 268, 269, 270, -1, -1,
16943 : 273, 274, -1, 276, -1, 278, 279, 280, 281, 282,
16944 : 283, 284, 285, 286, 287, -1, 289, 290, 291, 292,
16945 : 293, 294, 295, 296, -1, 298, 299, 300, 301, 302,
16946 : 303, 304, 305, 306, 307, 308, 309, 310, 311, -1,
16947 : 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
16948 : 323, 324, -1, 326, 327, -1, 329, 330, 331, 332,
16949 : 333, 334, 335, 336, 337, 338, 339, 340, 341, -1,
16950 : 343, 344, 345, 346, 347, -1, 349, 350, 351, 352,
16951 : 353, -1, 355, 356, 357, 358, -1, 360, 361, 362,
16952 : 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
16953 : -1, 374, 375, -1, 377, -1, 379, 380, 381, 382,
16954 : 383, -1, 385, 386, -1, -1, 389, 390, 391, 392,
16955 : 393, -1, 395, 396, 397, 398, 399, 400, 401, -1,
16956 : -1, 404, 405, 406, 407, 408, -1, -1, 411, 412,
16957 : 413, 414, 415, 416, 417, -1, 419, -1, 421, 422,
16958 : 423, 424, -1, -1, 427, -1, -1, 430, 431, 432,
16959 : 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
16960 : 443, 444, 445, 446, 447, 448, 449, -1, 3, -1,
16961 : 453, 454, 455, 8, 457, 458, 459, 460, 461, 462,
16962 : 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
16963 : 25, -1, 27, 28, 29, -1, -1, -1, -1, -1,
16964 : -1, -1, 37, 38, -1, 40, 41, 42, -1, 44,
16965 : 45, 46, 47, 48, -1, 50, 51, -1, 53, 54,
16966 : 55, 56, 57, -1, -1, 60, 61, 62, 63, 64,
16967 : -1, 66, 67, 68, 69, 70, -1, -1, -1, 74,
16968 : 75, 76, 77, 78, -1, 80, 81, 82, -1, 84,
16969 : 85, 86, 87, 88, 89, -1, -1, 92, 93, 94,
16970 : -1, -1, -1, -1, -1, -1, -1, 102, 103, 104,
16971 : 105, 106, 107, 108, 109, 110, -1, 112, -1, 114,
16972 : 115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
16973 : -1, -1, 127, 128, 129, 130, 131, -1, 133, 134,
16974 : 135, -1, 137, 138, 139, -1, 141, 142, 143, 144,
16975 : 145, 146, 147, 148, 149, -1, 151, -1, 153, 154,
16976 : 155, 156, -1, 158, -1, 160, -1, -1, -1, 164,
16977 : 165, 166, 167, -1, 169, 170, -1, 172, 173, -1,
16978 : 175, 176, 177, 178, 179, -1, 181, 182, 183, 184,
16979 : -1, 186, 187, 188, 189, 190, 191, -1, 193, -1,
16980 : 195, 196, 197, 198, 199, 200, 201, -1, 203, -1,
16981 : 205, -1, -1, 208, -1, 210, 211, 212, 213, 214,
16982 : -1, -1, 217, 218, -1, 220, -1, -1, 223, 224,
16983 : 225, -1, -1, 228, 229, 230, 231, 232, 233, 234,
16984 : 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
16985 : -1, 246, 247, 248, 249, 250, -1, 252, 253, -1,
16986 : 255, -1, 257, 258, 259, 260, 261, 262, -1, 264,
16987 : 265, -1, -1, 268, 269, 270, -1, -1, 273, 274,
16988 : -1, 276, -1, 278, 279, 280, 281, 282, 283, 284,
16989 : 285, 286, 287, -1, 289, 290, 291, 292, 293, 294,
16990 : 295, 296, -1, 298, 299, 300, 301, 302, 303, 304,
16991 : 305, 306, 307, 308, 309, 310, 311, -1, 313, 314,
16992 : 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
16993 : -1, 326, 327, -1, 329, 330, 331, 332, 333, 334,
16994 : 335, 336, 337, 338, 339, 340, 341, -1, 343, 344,
16995 : 345, 346, 347, -1, 349, 350, 351, 352, 353, -1,
16996 : 355, 356, 357, 358, -1, 360, 361, 362, 363, 364,
16997 : 365, 366, 367, 368, 369, 370, 371, 372, -1, 374,
16998 : 375, -1, 377, -1, 379, 380, 381, 382, 383, -1,
16999 : 385, 386, -1, -1, 389, 390, 391, 392, 393, -1,
17000 : 395, 396, 397, 398, 399, 400, 401, -1, -1, 404,
17001 : 405, 406, 407, 408, -1, -1, 411, 412, 413, 414,
17002 : 415, 416, 417, -1, 419, -1, 421, 422, 423, 424,
17003 : -1, -1, 427, -1, -1, 430, 431, 432, 433, 434,
17004 : 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
17005 : 445, 446, 447, 448, 449, -1, 3, -1, 453, 454,
17006 : 455, 8, 457, 458, 459, 460, 461, 462, 15, 16,
17007 : 17, 18, 19, 20, 21, 22, 23, 24, 25, -1,
17008 : 27, 28, 29, -1, -1, -1, -1, -1, -1, -1,
17009 : 37, 38, -1, 40, 41, 42, -1, 44, 45, 46,
17010 : 47, 48, -1, 50, 51, -1, 53, 54, 55, 56,
17011 : 57, -1, -1, 60, 61, 62, 63, 64, -1, 66,
17012 : 67, 68, 69, 70, -1, -1, -1, 74, 75, 76,
17013 : 77, 78, -1, 80, 81, 82, -1, 84, 85, 86,
17014 : 87, 88, 89, -1, -1, 92, 93, 94, -1, -1,
17015 : -1, -1, -1, -1, -1, 102, 103, 104, 105, 106,
17016 : 107, 108, 109, 110, -1, 112, -1, 114, 115, 116,
17017 : 117, 118, 119, -1, 121, 122, 123, 124, -1, -1,
17018 : 127, 128, 129, 130, 131, -1, 133, 134, 135, -1,
17019 : 137, 138, 139, -1, 141, 142, 143, 144, 145, 146,
17020 : 147, 148, 149, -1, 151, -1, 153, 154, 155, 156,
17021 : -1, 158, -1, 160, -1, -1, -1, 164, 165, 166,
17022 : 167, -1, 169, 170, -1, 172, 173, -1, 175, 176,
17023 : 177, 178, 179, -1, 181, 182, 183, 184, -1, 186,
17024 : 187, 188, 189, 190, 191, -1, 193, -1, 195, 196,
17025 : 197, 198, 199, 200, 201, -1, 203, -1, 205, -1,
17026 : -1, 208, -1, 210, 211, 212, 213, 214, -1, -1,
17027 : 217, 218, -1, 220, -1, -1, 223, 224, 225, -1,
17028 : -1, 228, 229, 230, 231, 232, 233, 234, 235, 236,
17029 : 237, 238, 239, 240, 241, 242, 243, 244, -1, 246,
17030 : 247, 248, 249, 250, -1, 252, 253, -1, 255, -1,
17031 : 257, 258, 259, 260, 261, 262, -1, 264, 265, -1,
17032 : -1, 268, 269, 270, -1, -1, 273, 274, -1, 276,
17033 : -1, 278, 279, 280, 281, 282, 283, 284, 285, 286,
17034 : 287, -1, 289, 290, 291, 292, 293, 294, 295, 296,
17035 : -1, 298, 299, 300, 301, 302, 303, 304, 305, 306,
17036 : 307, 308, 309, 310, 311, -1, 313, 314, 315, 316,
17037 : 317, 318, 319, 320, 321, 322, 323, 324, -1, 326,
17038 : 327, -1, 329, 330, 331, 332, 333, 334, 335, 336,
17039 : 337, 338, 339, 340, 341, -1, 343, 344, 345, 346,
17040 : 347, -1, 349, 350, 351, 352, 353, -1, 355, 356,
17041 : 357, 358, -1, 360, 361, 362, 363, 364, 365, 366,
17042 : 367, 368, 369, 370, 371, 372, -1, 374, 375, -1,
17043 : 377, -1, 379, 380, 381, 382, 383, -1, 385, 386,
17044 : -1, -1, 389, 390, 391, 392, 393, -1, 395, 396,
17045 : 397, 398, 399, 400, 401, -1, -1, 404, 405, 406,
17046 : 407, 408, -1, -1, 411, 412, 413, 414, 415, 416,
17047 : 417, -1, 419, -1, 421, 422, 423, 424, -1, -1,
17048 : 427, -1, -1, 430, 431, 432, 433, 434, 435, 436,
17049 : 437, 438, 439, 440, 441, 442, 443, 444, 445, 446,
17050 : 447, 448, 449, -1, 3, -1, 453, 454, 455, 8,
17051 : 457, 458, 459, 460, 461, 462, 15, 16, 17, 18,
17052 : 19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
17053 : 29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
17054 : -1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
17055 : -1, 50, 51, -1, 53, 54, 55, 56, 57, -1,
17056 : -1, 60, 61, 62, 63, 64, -1, 66, 67, 68,
17057 : 69, 70, -1, -1, -1, 74, 75, 76, 77, 78,
17058 : -1, 80, 81, 82, -1, 84, 85, 86, 87, 88,
17059 : 89, -1, -1, 92, 93, 94, -1, -1, -1, -1,
17060 : -1, -1, -1, 102, 103, 104, 105, 106, 107, 108,
17061 : 109, 110, -1, 112, -1, 114, 115, 116, 117, 118,
17062 : 119, -1, 121, 122, 123, 124, -1, -1, 127, 128,
17063 : 129, 130, 131, -1, 133, 134, 135, -1, 137, 138,
17064 : 139, -1, 141, 142, 143, 144, 145, 146, 147, 148,
17065 : 149, -1, 151, -1, 153, 154, 155, 156, -1, 158,
17066 : -1, 160, -1, -1, -1, 164, 165, 166, 167, -1,
17067 : 169, 170, -1, 172, 173, -1, 175, 176, 177, 178,
17068 : 179, -1, 181, 182, 183, 184, -1, 186, 187, 188,
17069 : 189, 190, 191, -1, 193, -1, 195, 196, 197, 198,
17070 : 199, 200, 201, -1, 203, -1, 205, -1, -1, 208,
17071 : -1, 210, 211, 212, 213, 214, -1, -1, 217, 218,
17072 : -1, 220, -1, -1, 223, 224, 225, -1, -1, 228,
17073 : 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
17074 : 239, 240, 241, 242, 243, 244, -1, 246, 247, 248,
17075 : 249, 250, -1, 252, 253, -1, 255, -1, 257, 258,
17076 : 259, 260, 261, 262, -1, 264, 265, -1, -1, 268,
17077 : 269, 270, -1, -1, 273, 274, -1, 276, -1, 278,
17078 : 279, 280, 281, 282, 283, 284, 285, 286, 287, -1,
17079 : 289, 290, 291, 292, 293, 294, 295, 296, -1, 298,
17080 : 299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
17081 : 309, 310, 311, -1, 313, 314, 315, 316, 317, 318,
17082 : 319, 320, 321, 322, 323, 324, -1, 326, 327, -1,
17083 : 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
17084 : 339, 340, 341, -1, 343, 344, 345, 346, 347, -1,
17085 : 349, 350, 351, 352, 353, -1, 355, 356, 357, 358,
17086 : -1, 360, 361, 362, 363, 364, 365, 366, 367, 368,
17087 : 369, 370, 371, 372, -1, 374, 375, -1, 377, -1,
17088 : 379, 380, 381, 382, 383, -1, 385, 386, -1, -1,
17089 : 389, 390, 391, 392, 393, -1, 395, 396, 397, 398,
17090 : 399, 400, 401, -1, -1, 404, 405, 406, 407, 408,
17091 : -1, -1, 411, 412, 413, 414, 415, 416, 417, -1,
17092 : 419, -1, 421, 422, 423, 424, -1, -1, 427, -1,
17093 : -1, 430, 431, 432, 433, 434, 435, 436, 437, 438,
17094 : 439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
17095 : 449, -1, 3, -1, 453, 454, 455, 8, 457, 458,
17096 : 459, 460, 461, 462, 15, 16, 17, 18, 19, 20,
17097 : 21, 22, 23, 24, 25, -1, 27, 28, 29, -1,
17098 : -1, -1, -1, -1, -1, -1, 37, 38, -1, 40,
17099 : 41, 42, -1, 44, 45, 46, 47, 48, -1, 50,
17100 : 51, -1, 53, 54, 55, 56, 57, -1, -1, 60,
17101 : 61, 62, 63, 64, -1, 66, 67, 68, 69, 70,
17102 : -1, -1, -1, 74, 75, 76, 77, 78, -1, 80,
17103 : 81, 82, -1, 84, 85, 86, 87, 88, 89, -1,
17104 : -1, 92, 93, 94, -1, -1, -1, -1, -1, -1,
17105 : -1, 102, 103, 104, 105, 106, 107, 108, 109, 110,
17106 : -1, 112, -1, 114, 115, 116, 117, 118, 119, -1,
17107 : 121, 122, 123, 124, -1, -1, 127, 128, 129, 130,
17108 : 131, -1, 133, 134, 135, -1, 137, 138, 139, -1,
17109 : 141, 142, 143, 144, 145, 146, 147, 148, 149, -1,
17110 : 151, -1, 153, 154, 155, 156, -1, 158, -1, 160,
17111 : -1, -1, -1, 164, 165, 166, 167, -1, 169, 170,
17112 : -1, 172, 173, -1, 175, 176, 177, 178, 179, -1,
17113 : 181, 182, 183, 184, -1, 186, 187, 188, 189, 190,
17114 : 191, -1, 193, -1, 195, 196, 197, 198, 199, 200,
17115 : 201, -1, 203, -1, 205, -1, -1, 208, -1, 210,
17116 : 211, 212, 213, 214, -1, -1, 217, 218, -1, 220,
17117 : -1, -1, 223, 224, 225, -1, -1, 228, 229, 230,
17118 : 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
17119 : 241, 242, 243, 244, -1, 246, 247, 248, 249, 250,
17120 : -1, 252, 253, -1, 255, -1, 257, 258, 259, 260,
17121 : 261, 262, -1, 264, 265, -1, -1, 268, 269, 270,
17122 : -1, -1, 273, 274, -1, 276, -1, 278, 279, 280,
17123 : 281, 282, 283, 284, 285, 286, 287, -1, 289, 290,
17124 : 291, 292, 293, 294, 295, 296, -1, 298, 299, 300,
17125 : 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
17126 : 311, -1, 313, 314, 315, 316, 317, 318, 319, 320,
17127 : 321, 322, 323, 324, -1, 326, 327, -1, 329, 330,
17128 : 331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
17129 : 341, -1, 343, 344, 345, 346, 347, -1, 349, 350,
17130 : 351, 352, 353, -1, 355, 356, 357, 358, -1, 360,
17131 : 361, 362, 363, 364, 365, 366, 367, 368, 369, 370,
17132 : 371, 372, -1, 374, 375, -1, 377, -1, 379, 380,
17133 : 381, 382, 383, -1, 385, 386, -1, -1, 389, 390,
17134 : 391, 392, 393, -1, 395, 396, 397, 398, 399, 400,
17135 : 401, -1, -1, 404, 405, 406, 407, 408, -1, -1,
17136 : 411, 412, 413, 414, 415, 416, 417, -1, 419, -1,
17137 : 421, 422, 423, 424, -1, -1, 427, -1, -1, 430,
17138 : 431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
17139 : 441, 442, 443, 444, 445, 446, 447, 448, 449, -1,
17140 : 3, -1, 453, 454, 455, 8, 457, 458, 459, 460,
17141 : 461, 462, 15, 16, 17, 18, 19, 20, 21, 22,
17142 : 23, 24, 25, -1, 27, 28, 29, -1, -1, -1,
17143 : -1, -1, -1, -1, 37, 38, -1, 40, 41, 42,
17144 : -1, 44, 45, 46, 47, 48, -1, 50, 51, -1,
17145 : 53, 54, 55, 56, 57, -1, -1, 60, 61, 62,
17146 : 63, 64, -1, 66, 67, 68, 69, 70, -1, -1,
17147 : -1, 74, 75, 76, 77, 78, -1, 80, 81, 82,
17148 : -1, 84, 85, 86, 87, 88, 89, -1, -1, 92,
17149 : 93, 94, -1, -1, -1, -1, -1, -1, -1, 102,
17150 : 103, 104, 105, 106, 107, 108, 109, 110, -1, 112,
17151 : -1, 114, 115, 116, 117, 118, 119, -1, 121, 122,
17152 : 123, 124, -1, -1, 127, 128, 129, 130, 131, -1,
17153 : 133, 134, 135, -1, 137, 138, 139, -1, 141, 142,
17154 : 143, 144, 145, 146, 147, 148, 149, -1, 151, -1,
17155 : 153, 154, 155, 156, -1, 158, -1, 160, -1, -1,
17156 : -1, 164, 165, 166, 167, -1, 169, 170, -1, 172,
17157 : 173, -1, 175, 176, 177, 178, 179, -1, 181, 182,
17158 : 183, 184, -1, 186, 187, 188, 189, 190, 191, -1,
17159 : 193, -1, 195, 196, 197, 198, 199, 200, 201, -1,
17160 : 203, -1, 205, -1, -1, 208, -1, 210, 211, 212,
17161 : 213, 214, -1, -1, 217, 218, -1, 220, -1, -1,
17162 : 223, 224, 225, -1, -1, 228, 229, 230, 231, 232,
17163 : 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
17164 : 243, 244, -1, 246, 247, 248, 249, 250, -1, 252,
17165 : 253, -1, 255, -1, 257, 258, 259, 260, 261, 262,
17166 : -1, 264, 265, -1, -1, 268, 269, 270, -1, -1,
17167 : 273, 274, -1, 276, -1, 278, 279, 280, 281, 282,
17168 : 283, 284, 285, 286, 287, -1, 289, 290, 291, 292,
17169 : 293, 294, 295, 296, -1, 298, 299, 300, 301, 302,
17170 : 303, 304, 305, 306, 307, 308, 309, 310, 311, -1,
17171 : 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
17172 : 323, 324, -1, 326, 327, -1, 329, 330, 331, 332,
17173 : 333, 334, 335, 336, 337, 338, 339, 340, 341, -1,
17174 : 343, 344, 345, 346, 347, -1, 349, 350, 351, 352,
17175 : 353, -1, 355, 356, 357, 358, -1, 360, 361, 362,
17176 : 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
17177 : -1, 374, 375, -1, 377, -1, 379, 380, 381, 382,
17178 : 383, -1, 385, 386, -1, -1, 389, 390, 391, 392,
17179 : 393, -1, 395, 396, 397, 398, 399, 400, 401, -1,
17180 : -1, 404, 405, 406, 407, 408, -1, -1, 411, 412,
17181 : 413, 414, 415, 416, 417, -1, 419, -1, 421, 422,
17182 : 423, 424, -1, -1, 427, -1, -1, 430, 431, 432,
17183 : 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
17184 : 443, 444, 445, 446, 447, 448, 449, -1, 3, -1,
17185 : 453, 454, 455, 8, 457, 458, 459, 460, 461, 462,
17186 : 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
17187 : 25, -1, 27, 28, 29, -1, -1, -1, -1, -1,
17188 : -1, -1, 37, 38, -1, 40, 41, 42, -1, 44,
17189 : 45, 46, 47, 48, -1, 50, 51, -1, 53, 54,
17190 : 55, 56, 57, -1, -1, 60, 61, 62, 63, 64,
17191 : -1, 66, 67, 68, 69, 70, -1, -1, -1, 74,
17192 : 75, 76, 77, 78, -1, 80, 81, 82, -1, 84,
17193 : 85, 86, 87, 88, 89, -1, -1, 92, 93, 94,
17194 : -1, -1, -1, -1, -1, -1, -1, 102, 103, 104,
17195 : 105, 106, 107, 108, 109, 110, -1, 112, -1, 114,
17196 : 115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
17197 : -1, -1, 127, 128, 129, 130, 131, -1, 133, 134,
17198 : 135, -1, 137, 138, 139, -1, 141, 142, 143, 144,
17199 : 145, 146, 147, 148, 149, -1, 151, -1, 153, 154,
17200 : 155, 156, -1, 158, -1, 160, -1, -1, -1, 164,
17201 : 165, 166, 167, -1, 169, 170, -1, 172, 173, -1,
17202 : 175, 176, 177, 178, 179, -1, 181, 182, 183, 184,
17203 : -1, 186, 187, 188, 189, 190, 191, -1, 193, -1,
17204 : 195, 196, 197, 198, 199, 200, 201, -1, 203, -1,
17205 : 205, -1, -1, 208, -1, 210, 211, 212, 213, 214,
17206 : -1, -1, 217, 218, -1, 220, -1, -1, 223, 224,
17207 : 225, -1, -1, 228, 229, 230, 231, 232, 233, 234,
17208 : 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
17209 : -1, 246, 247, 248, 249, 250, -1, 252, 253, -1,
17210 : 255, -1, 257, 258, 259, 260, 261, 262, -1, 264,
17211 : 265, -1, -1, 268, 269, 270, -1, -1, 273, 274,
17212 : -1, 276, -1, 278, 279, 280, 281, 282, 283, 284,
17213 : 285, 286, 287, -1, 289, 290, 291, 292, 293, 294,
17214 : 295, 296, -1, 298, 299, 300, 301, 302, 303, 304,
17215 : 305, 306, 307, 308, 309, 310, 311, -1, 313, 314,
17216 : 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
17217 : -1, 326, 327, -1, 329, 330, 331, 332, 333, 334,
17218 : 335, 336, 337, 338, 339, 340, 341, -1, 343, 344,
17219 : 345, 346, 347, -1, 349, 350, 351, 352, 353, -1,
17220 : 355, 356, 357, 358, -1, 360, 361, 362, 363, 364,
17221 : 365, 366, 367, 368, 369, 370, 371, 372, -1, 374,
17222 : 375, -1, 377, -1, 379, 380, 381, 382, 383, -1,
17223 : 385, 386, -1, -1, 389, 390, 391, 392, 393, -1,
17224 : 395, 396, 397, 398, 399, 400, 401, -1, -1, 404,
17225 : 405, 406, 407, 408, -1, -1, 411, 412, 413, 414,
17226 : 415, 416, 417, -1, 419, -1, 421, 422, 423, 424,
17227 : -1, -1, 427, -1, -1, 430, 431, 432, 433, 434,
17228 : 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
17229 : 445, 446, 447, 448, 449, 3, -1, -1, 453, 454,
17230 : 455, -1, 457, 458, 459, 460, 461, 462, -1, -1,
17231 : 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
17232 : 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
17233 : 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
17234 : 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
17235 : 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
17236 : 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
17237 : 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
17238 : 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
17239 : 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
17240 : 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
17241 : 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
17242 : 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
17243 : 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
17244 : 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
17245 : 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
17246 : 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
17247 : 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
17248 : 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
17249 : 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
17250 : 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
17251 : 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
17252 : 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
17253 : 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
17254 : 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
17255 : 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
17256 : 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
17257 : 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
17258 : 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
17259 : 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
17260 : 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
17261 : 318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
17262 : 328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
17263 : 338, 339, 340, 341, 342, 343, 344, 345, 346, 347,
17264 : 348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
17265 : 358, 359, 360, 361, 362, 363, 364, 365, 366, 367,
17266 : 368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
17267 : 378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
17268 : 388, 389, 390, 391, 392, 393, 394, 395, 396, 397,
17269 : 398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
17270 : 408, 409, 410, 411, 412, 413, 414, 415, 416, 417,
17271 : 418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
17272 : 428, 429, 430, 431, 432, 433, 434, 435, 436, 437,
17273 : 438, 439, 440, 441, 442, 443, 444, 445, 446, 447,
17274 : 448, 449, 3, -1, -1, -1, -1, -1, -1, -1,
17275 : -1, 459, -1, -1, -1, -1, -1, 18, 19, 20,
17276 : 21, 22, 23, 24, 25, -1, 27, 28, 29, -1,
17277 : -1, -1, -1, -1, -1, -1, 37, 38, -1, 40,
17278 : 41, 42, -1, 44, 45, 46, 47, 48, -1, 50,
17279 : 51, -1, 53, 54, 55, 56, 57, -1, -1, 60,
17280 : 61, 62, 63, 64, -1, 66, 67, 68, 69, 70,
17281 : -1, -1, -1, 74, 75, 76, 77, 78, -1, 80,
17282 : 81, 82, -1, 84, 85, 86, 87, 88, 89, -1,
17283 : -1, 92, 93, 94, -1, -1, -1, -1, -1, -1,
17284 : -1, 102, 103, 104, 105, 106, 107, 108, 109, 110,
17285 : -1, 112, -1, 114, 115, 116, 117, 118, 119, -1,
17286 : 121, 122, 123, 124, -1, -1, 127, 128, 129, 130,
17287 : 131, -1, 133, 134, 135, -1, 137, 138, 139, -1,
17288 : 141, 142, 143, 144, 145, 146, 147, 148, 149, -1,
17289 : 151, -1, 153, 154, 155, 156, -1, 158, -1, 160,
17290 : -1, -1, -1, 164, 165, 166, 167, -1, 169, 170,
17291 : -1, 172, 173, -1, 175, 176, 177, 178, 179, -1,
17292 : 181, 182, 183, 184, -1, 186, 187, 188, 189, 190,
17293 : 191, -1, 193, -1, 195, 196, 197, 198, 199, 200,
17294 : 201, -1, 203, -1, 205, -1, -1, 208, -1, 210,
17295 : 211, 212, 213, 214, -1, -1, 217, 218, -1, 220,
17296 : -1, -1, 223, 224, 225, -1, -1, 228, 229, 230,
17297 : 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
17298 : 241, 242, 243, 244, -1, 246, 247, 248, 249, 250,
17299 : -1, 252, 253, -1, 255, -1, 257, 258, 259, 260,
17300 : 261, 262, -1, 264, 265, -1, -1, 268, 269, 270,
17301 : -1, -1, 273, 274, -1, 276, -1, 278, 279, 280,
17302 : 281, 282, 283, 284, 285, 286, 287, -1, 289, 290,
17303 : 291, 292, 293, 294, 295, 296, -1, 298, 299, 300,
17304 : 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
17305 : 311, -1, 313, 314, 315, 316, 317, 318, 319, 320,
17306 : 321, 322, 323, 324, -1, 326, 327, -1, 329, 330,
17307 : 331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
17308 : 341, -1, 343, 344, 345, 346, 347, -1, 349, 350,
17309 : 351, 352, 353, -1, 355, 356, 357, 358, -1, 360,
17310 : 361, 362, 363, 364, 365, 366, 367, 368, 369, 370,
17311 : 371, 372, -1, 374, 375, -1, 377, -1, 379, 380,
17312 : 381, 382, 383, -1, 385, 386, -1, -1, 389, 390,
17313 : 391, 392, 393, -1, 395, 396, 397, 398, 399, 400,
17314 : 401, -1, -1, 404, 405, 406, 407, 408, -1, -1,
17315 : 411, 412, 413, 414, 415, 416, 417, -1, 419, -1,
17316 : 421, 422, 423, 424, -1, -1, 427, -1, -1, 430,
17317 : 431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
17318 : 441, 442, 443, 444, 445, 446, 447, 448, 449, 3,
17319 : -1, -1, -1, -1, -1, -1, -1, -1, 459, -1,
17320 : -1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
17321 : 24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
17322 : -1, -1, -1, 37, 38, -1, 40, 41, 42, -1,
17323 : 44, 45, 46, 47, 48, -1, 50, 51, -1, 53,
17324 : 54, 55, 56, 57, -1, -1, 60, 61, 62, 63,
17325 : 64, -1, 66, 67, 68, 69, 70, -1, -1, -1,
17326 : 74, 75, 76, 77, 78, -1, 80, 81, 82, -1,
17327 : 84, 85, 86, 87, 88, 89, -1, -1, 92, 93,
17328 : 94, -1, -1, -1, -1, -1, -1, -1, 102, 103,
17329 : 104, 105, 106, 107, 108, 109, 110, -1, 112, -1,
17330 : 114, 115, 116, 117, 118, 119, -1, 121, 122, 123,
17331 : 124, -1, -1, 127, 128, 129, 130, 131, -1, 133,
17332 : 134, 135, -1, 137, 138, 139, -1, 141, 142, 143,
17333 : 144, 145, 146, 147, 148, 149, -1, 151, -1, 153,
17334 : 154, 155, 156, -1, 158, -1, 160, -1, -1, -1,
17335 : 164, 165, 166, 167, -1, 169, 170, -1, 172, 173,
17336 : -1, 175, 176, 177, 178, 179, -1, 181, 182, 183,
17337 : 184, -1, 186, 187, 188, 189, 190, 191, -1, 193,
17338 : -1, 195, 196, 197, 198, 199, 200, 201, -1, 203,
17339 : -1, 205, -1, -1, 208, -1, 210, 211, 212, 213,
17340 : 214, -1, -1, 217, 218, -1, 220, -1, -1, 223,
17341 : 224, 225, -1, -1, 228, 229, 230, 231, 232, 233,
17342 : 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
17343 : 244, -1, 246, 247, 248, 249, 250, -1, 252, 253,
17344 : -1, 255, -1, 257, 258, 259, 260, 261, 262, -1,
17345 : 264, 265, -1, -1, 268, 269, 270, -1, -1, 273,
17346 : 274, -1, 276, -1, 278, 279, 280, 281, 282, 283,
17347 : 284, 285, 286, 287, -1, 289, 290, 291, 292, 293,
17348 : 294, 295, 296, -1, 298, 299, 300, 301, 302, 303,
17349 : 304, 305, 306, 307, 308, 309, 310, 311, -1, 313,
17350 : 314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
17351 : 324, -1, 326, 327, -1, 329, 330, 331, 332, 333,
17352 : 334, 335, 336, 337, 338, 339, 340, 341, -1, 343,
17353 : 344, 345, 346, 347, -1, 349, 350, 351, 352, 353,
17354 : -1, 355, 356, 357, 358, -1, 360, 361, 362, 363,
17355 : 364, 365, 366, 367, 368, 369, 370, 371, 372, -1,
17356 : 374, 375, -1, 377, -1, 379, 380, 381, 382, 383,
17357 : -1, 385, 386, -1, -1, 389, 390, 391, 392, 393,
17358 : -1, 395, 396, 397, 398, 399, 400, 401, -1, -1,
17359 : 404, 405, 406, 407, 408, -1, -1, 411, 412, 413,
17360 : 414, 415, 416, 417, -1, 419, -1, 421, 422, 423,
17361 : 424, -1, -1, 427, -1, -1, 430, 431, 432, 433,
17362 : 434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
17363 : 444, 445, 446, 447, 448, 449, 3, -1, -1, -1,
17364 : -1, -1, -1, -1, -1, 459, -1, -1, -1, -1,
17365 : -1, 18, 19, 20, 21, 22, 23, 24, 25, -1,
17366 : 27, 28, 29, -1, -1, -1, -1, -1, -1, -1,
17367 : 37, 38, -1, 40, 41, 42, 43, 44, 45, 46,
17368 : -1, 48, 49, 50, 51, -1, 53, 54, 55, 56,
17369 : 57, -1, -1, 60, 61, 62, 63, 64, -1, 66,
17370 : 67, 68, 69, -1, -1, 72, -1, 74, 75, 76,
17371 : 77, 78, 79, 80, 81, 82, -1, 84, 85, 86,
17372 : 87, 88, 89, -1, 91, 92, 93, 94, -1, -1,
17373 : -1, 98, -1, -1, -1, 102, 103, 104, 105, 106,
17374 : 107, 108, 109, 110, -1, 112, -1, 114, 115, 116,
17375 : 117, 118, 119, -1, 121, 122, 123, 124, -1, -1,
17376 : 127, 128, 129, 130, 131, -1, 133, 134, 135, -1,
17377 : 137, 138, 139, -1, 141, 142, 143, 144, -1, 146,
17378 : 147, 148, -1, -1, 151, -1, 153, 154, 155, 156,
17379 : -1, 158, -1, 160, 161, -1, 163, 164, 165, 166,
17380 : 167, -1, 169, -1, -1, -1, 173, -1, 175, 176,
17381 : 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
17382 : 187, 188, 189, 190, 191, -1, 193, 194, 195, 196,
17383 : 197, 198, 199, 200, 201, -1, 203, -1, 205, 206,
17384 : 207, 208, 209, 210, 211, 212, 213, 214, -1, -1,
17385 : 217, -1, 219, 220, 221, -1, 223, 224, 225, -1,
17386 : -1, 228, 229, 230, 231, 232, 233, 234, 235, 236,
17387 : 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
17388 : 247, 248, 249, -1, -1, 252, 253, 254, 255, -1,
17389 : -1, 258, 259, 260, 261, 262, -1, 264, 265, -1,
17390 : -1, 268, 269, 270, -1, 272, 273, 274, 275, 276,
17391 : 277, -1, 279, 280, 281, 282, 283, 284, 285, 286,
17392 : 287, -1, 289, 290, -1, 292, -1, 294, 295, 296,
17393 : -1, 298, 299, 300, 301, 302, 303, 304, 305, 306,
17394 : 307, 308, 309, 310, 311, -1, 313, 314, 315, 316,
17395 : 317, 318, 319, 320, 321, 322, 323, 324, -1, 326,
17396 : 327, 328, 329, 330, 331, -1, 333, 334, 335, 336,
17397 : 337, 338, 339, 340, 341, -1, 343, 344, 345, 346,
17398 : 347, -1, 349, 350, 351, 352, 353, 354, 355, 356,
17399 : 357, 358, -1, 360, 361, 362, 363, 364, 365, 366,
17400 : 367, 368, 369, 370, 371, -1, -1, 374, 375, -1,
17401 : 377, 378, 379, 380, 381, 382, 383, -1, 385, 386,
17402 : -1, -1, 389, 390, -1, 392, -1, -1, 395, 396,
17403 : 397, 398, 399, 400, 401, -1, -1, 404, 405, 406,
17404 : 407, 408, -1, -1, 411, 412, 413, 414, 415, -1,
17405 : 417, 418, 419, 420, 421, 422, 423, 424, -1, -1,
17406 : 427, -1, -1, 430, 431, 432, 433, 434, 435, 3,
17407 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
17408 : 447, 448, 449, -1, 18, 19, 20, 21, 22, 23,
17409 : 24, 25, 459, 27, 28, 29, -1, -1, -1, -1,
17410 : -1, -1, -1, 37, 38, -1, 40, 41, 42, 43,
17411 : 44, 45, 46, -1, 48, 49, 50, 51, -1, 53,
17412 : 54, 55, 56, 57, -1, -1, 60, 61, 62, 63,
17413 : 64, -1, 66, 67, 68, 69, -1, -1, 72, -1,
17414 : 74, 75, 76, 77, 78, 79, 80, 81, 82, -1,
17415 : 84, 85, 86, 87, 88, 89, -1, 91, 92, 93,
17416 : 94, -1, -1, -1, 98, -1, -1, -1, 102, 103,
17417 : 104, 105, 106, 107, 108, 109, 110, -1, 112, -1,
17418 : 114, 115, 116, 117, 118, 119, -1, 121, 122, 123,
17419 : 124, -1, -1, 127, 128, 129, 130, 131, -1, 133,
17420 : 134, 135, -1, 137, 138, 139, -1, 141, 142, 143,
17421 : 144, -1, 146, 147, 148, -1, -1, 151, -1, 153,
17422 : 154, 155, 156, -1, 158, -1, 160, 161, -1, 163,
17423 : 164, 165, 166, 167, -1, 169, -1, -1, -1, 173,
17424 : -1, 175, 176, 177, 178, 179, 180, 181, 182, 183,
17425 : 184, 185, 186, 187, 188, 189, 190, 191, -1, 193,
17426 : 194, 195, 196, 197, 198, 199, 200, 201, -1, 203,
17427 : -1, 205, 206, 207, 208, 209, 210, 211, 212, 213,
17428 : 214, -1, -1, 217, -1, 219, 220, 221, -1, 223,
17429 : 224, 225, -1, -1, 228, 229, 230, 231, 232, 233,
17430 : 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
17431 : 244, 245, 246, 247, 248, 249, -1, -1, 252, 253,
17432 : 254, 255, -1, -1, 258, 259, 260, 261, 262, -1,
17433 : 264, 265, -1, -1, 268, 269, 270, -1, 272, 273,
17434 : 274, 275, 276, 277, -1, 279, 280, 281, 282, 283,
17435 : 284, 285, 286, 287, -1, 289, 290, -1, 292, -1,
17436 : 294, 295, 296, -1, 298, 299, 300, 301, 302, 303,
17437 : 304, 305, 306, 307, 308, 309, 310, 311, -1, 313,
17438 : 314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
17439 : 324, -1, 326, 327, 328, 329, 330, 331, -1, 333,
17440 : 334, 335, 336, 337, 338, 339, 340, 341, -1, 343,
17441 : 344, 345, 346, 347, -1, 349, 350, 351, 352, 353,
17442 : 354, 355, 356, 357, 358, -1, 360, 361, 362, 363,
17443 : 364, 365, 366, 367, 368, 369, 370, 371, -1, -1,
17444 : 374, 375, -1, 377, 378, 379, 380, 381, 382, 383,
17445 : -1, 385, 386, -1, -1, 389, 390, -1, 392, -1,
17446 : -1, 395, 396, 397, 398, 399, 400, 401, -1, -1,
17447 : 404, 405, 406, 407, 408, -1, -1, 411, 412, 413,
17448 : 414, 415, -1, 417, 418, 419, 420, 421, 422, 423,
17449 : 424, -1, -1, 427, -1, -1, 430, 431, 432, 433,
17450 : 434, 435, 3, 4, 5, -1, -1, -1, 9, -1,
17451 : -1, -1, -1, 447, 448, 449, -1, 18, 19, 20,
17452 : 21, 22, 23, 24, 25, 459, 27, 28, 29, -1,
17453 : -1, -1, -1, -1, -1, -1, 37, 38, -1, 40,
17454 : 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
17455 : 51, -1, 53, 54, 55, 56, 57, -1, -1, 60,
17456 : 61, 62, 63, 64, -1, 66, 67, 68, 69, 70,
17457 : -1, 72, -1, 74, 75, 76, 77, 78, 79, 80,
17458 : 81, 82, -1, 84, 85, 86, 87, 88, 89, -1,
17459 : 91, 92, 93, 94, -1, -1, -1, 98, -1, -1,
17460 : -1, 102, 103, 104, 105, 106, 107, 108, 109, 110,
17461 : 111, 112, -1, 114, 115, 116, 117, 118, 119, -1,
17462 : 121, 122, 123, 124, -1, -1, 127, 128, 129, 130,
17463 : 131, -1, 133, 134, 135, -1, 137, 138, 139, -1,
17464 : 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
17465 : 151, -1, 153, 154, 155, 156, -1, 158, -1, 160,
17466 : 161, -1, 163, 164, 165, 166, 167, -1, 169, 170,
17467 : -1, 172, 173, -1, 175, 176, 177, 178, 179, 180,
17468 : 181, 182, 183, 184, -1, 186, 187, 188, 189, 190,
17469 : 191, -1, 193, 194, 195, 196, 197, 198, 199, 200,
17470 : 201, -1, 203, -1, 205, 206, 207, 208, 209, 210,
17471 : 211, 212, 213, 214, -1, -1, 217, 218, 219, 220,
17472 : 221, -1, 223, 224, 225, -1, -1, 228, 229, 230,
17473 : 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
17474 : 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
17475 : -1, 252, 253, 254, 255, -1, 257, 258, 259, 260,
17476 : 261, 262, -1, 264, 265, 266, -1, 268, 269, 270,
17477 : -1, -1, 273, 274, 275, 276, 277, 278, 279, 280,
17478 : 281, 282, 283, 284, 285, 286, 287, -1, 289, 290,
17479 : 291, 292, 293, 294, 295, 296, -1, 298, 299, 300,
17480 : 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
17481 : 311, -1, 313, 314, 315, 316, 317, 318, 319, 320,
17482 : 321, 322, 323, 324, -1, 326, 327, 328, 329, 330,
17483 : 331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
17484 : 341, -1, 343, 344, 345, 346, 347, -1, 349, 350,
17485 : 351, 352, 353, 354, 355, 356, 357, 358, -1, 360,
17486 : 361, 362, 363, 364, 365, 366, 367, 368, 369, 370,
17487 : 371, 372, -1, 374, 375, -1, 377, 378, 379, 380,
17488 : 381, 382, 383, -1, 385, 386, -1, -1, 389, 390,
17489 : 391, 392, 393, 394, 395, 396, 397, 398, 399, 400,
17490 : 401, -1, -1, 404, 405, 406, 407, 408, -1, -1,
17491 : 411, 412, 413, 414, 415, 416, 417, -1, 419, 420,
17492 : 421, 422, 423, 424, -1, -1, 427, -1, -1, 430,
17493 : 431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
17494 : 441, 442, 443, 444, 445, 446, 447, 448, 449, 3,
17495 : 4, 5, -1, -1, -1, 9, 457, 458, -1, -1,
17496 : -1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
17497 : 24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
17498 : -1, -1, -1, 37, 38, -1, 40, 41, 42, 43,
17499 : 44, 45, 46, 47, 48, 49, 50, 51, -1, 53,
17500 : 54, 55, 56, 57, -1, -1, 60, 61, 62, 63,
17501 : 64, -1, 66, 67, 68, 69, 70, -1, 72, -1,
17502 : 74, 75, 76, 77, 78, 79, 80, 81, 82, -1,
17503 : 84, 85, 86, 87, 88, 89, -1, 91, 92, 93,
17504 : 94, -1, -1, -1, 98, -1, -1, -1, 102, 103,
17505 : 104, 105, 106, 107, 108, 109, 110, 111, 112, -1,
17506 : 114, 115, 116, 117, 118, 119, -1, 121, 122, 123,
17507 : 124, -1, -1, 127, 128, 129, 130, 131, -1, 133,
17508 : 134, 135, -1, 137, 138, 139, -1, 141, 142, 143,
17509 : 144, 145, 146, 147, 148, 149, 150, 151, -1, 153,
17510 : 154, 155, 156, -1, 158, -1, 160, 161, -1, 163,
17511 : 164, 165, 166, 167, -1, 169, 170, -1, 172, 173,
17512 : -1, 175, 176, 177, 178, 179, 180, 181, 182, 183,
17513 : 184, -1, 186, 187, 188, 189, 190, 191, -1, 193,
17514 : 194, 195, 196, 197, 198, 199, 200, 201, -1, 203,
17515 : -1, 205, 206, 207, 208, 209, 210, 211, 212, 213,
17516 : 214, -1, -1, 217, 218, 219, 220, 221, -1, 223,
17517 : 224, 225, -1, -1, 228, 229, 230, 231, 232, 233,
17518 : 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
17519 : 244, 245, 246, 247, 248, 249, 250, -1, 252, 253,
17520 : 254, 255, -1, 257, 258, 259, 260, 261, 262, -1,
17521 : 264, 265, 266, -1, 268, 269, 270, -1, -1, 273,
17522 : 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
17523 : 284, 285, 286, 287, -1, 289, 290, 291, 292, 293,
17524 : 294, 295, 296, -1, 298, 299, 300, 301, 302, 303,
17525 : 304, 305, 306, 307, 308, 309, 310, 311, -1, 313,
17526 : 314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
17527 : 324, -1, 326, 327, 328, 329, 330, 331, 332, 333,
17528 : 334, 335, 336, 337, 338, 339, 340, 341, -1, 343,
17529 : 344, 345, 346, 347, -1, 349, 350, 351, 352, 353,
17530 : 354, 355, 356, 357, 358, -1, 360, 361, 362, 363,
17531 : 364, 365, 366, 367, 368, 369, 370, 371, 372, -1,
17532 : 374, 375, -1, 377, 378, 379, 380, 381, 382, 383,
17533 : -1, 385, 386, -1, -1, 389, 390, 391, 392, 393,
17534 : 394, 395, 396, 397, 398, 399, 400, 401, -1, -1,
17535 : 404, 405, 406, 407, 408, -1, -1, 411, 412, 413,
17536 : 414, 415, 416, 417, -1, 419, 420, 421, 422, 423,
17537 : 424, -1, -1, 427, -1, -1, 430, 431, 432, 433,
17538 : 434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
17539 : 444, 445, 446, 447, 448, 449, 3, 4, 5, -1,
17540 : -1, -1, 9, 457, 458, -1, -1, -1, -1, -1,
17541 : -1, 18, 19, 20, 21, 22, 23, 24, 25, -1,
17542 : 27, 28, 29, -1, -1, -1, -1, -1, -1, -1,
17543 : 37, 38, -1, 40, 41, 42, 43, 44, 45, 46,
17544 : 47, 48, 49, 50, 51, -1, 53, 54, 55, 56,
17545 : 57, -1, -1, 60, 61, 62, 63, 64, -1, 66,
17546 : 67, 68, 69, 70, -1, 72, -1, 74, 75, 76,
17547 : 77, 78, 79, 80, 81, 82, -1, 84, 85, 86,
17548 : 87, 88, 89, -1, 91, 92, 93, 94, -1, -1,
17549 : -1, 98, -1, -1, -1, 102, 103, 104, 105, 106,
17550 : 107, 108, 109, 110, -1, 112, -1, 114, 115, 116,
17551 : 117, 118, 119, -1, 121, 122, 123, 124, -1, -1,
17552 : 127, 128, 129, 130, 131, -1, 133, 134, 135, -1,
17553 : 137, 138, 139, -1, 141, 142, 143, 144, 145, 146,
17554 : 147, 148, 149, 150, 151, -1, 153, 154, 155, 156,
17555 : -1, 158, -1, 160, 161, -1, 163, 164, 165, 166,
17556 : 167, -1, 169, 170, -1, 172, 173, -1, 175, 176,
17557 : 177, 178, 179, 180, 181, 182, 183, 184, -1, 186,
17558 : 187, 188, 189, 190, 191, -1, 193, 194, 195, 196,
17559 : 197, 198, 199, 200, 201, -1, 203, -1, 205, 206,
17560 : 207, 208, 209, 210, 211, 212, 213, 214, -1, -1,
17561 : 217, 218, 219, 220, 221, -1, 223, 224, 225, -1,
17562 : -1, 228, 229, 230, 231, 232, 233, 234, 235, 236,
17563 : 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
17564 : 247, 248, 249, 250, -1, 252, 253, 254, 255, -1,
17565 : 257, 258, 259, 260, 261, 262, -1, 264, 265, 266,
17566 : -1, 268, 269, 270, -1, -1, 273, 274, 275, 276,
17567 : 277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
17568 : 287, -1, 289, 290, 291, 292, 293, 294, 295, 296,
17569 : -1, 298, 299, 300, 301, 302, 303, 304, 305, 306,
17570 : 307, 308, 309, 310, 311, -1, 313, 314, 315, 316,
17571 : 317, 318, 319, 320, 321, 322, 323, 324, -1, 326,
17572 : 327, 328, 329, 330, 331, 332, 333, 334, 335, 336,
17573 : 337, 338, 339, 340, 341, -1, 343, 344, 345, 346,
17574 : 347, -1, 349, 350, 351, 352, 353, 354, 355, 356,
17575 : 357, 358, -1, 360, 361, 362, 363, 364, 365, 366,
17576 : 367, 368, 369, 370, 371, 372, -1, 374, 375, -1,
17577 : 377, 378, 379, 380, 381, 382, 383, -1, 385, 386,
17578 : -1, -1, 389, 390, 391, 392, 393, 394, 395, 396,
17579 : 397, 398, 399, 400, 401, -1, -1, 404, 405, 406,
17580 : 407, 408, -1, -1, 411, 412, 413, 414, 415, 416,
17581 : 417, -1, 419, 420, 421, 422, 423, 424, -1, -1,
17582 : 427, -1, -1, 430, 431, 432, 433, 434, 435, 436,
17583 : 437, 438, 439, 440, 441, 442, 443, 444, 445, 446,
17584 : 447, 448, 449, 3, -1, 5, -1, -1, -1, 9,
17585 : 457, 458, -1, -1, -1, -1, -1, -1, 18, 19,
17586 : 20, 21, 22, 23, 24, 25, -1, 27, 28, 29,
17587 : -1, -1, -1, -1, -1, -1, -1, 37, 38, -1,
17588 : 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
17589 : 50, 51, -1, 53, 54, 55, 56, 57, -1, -1,
17590 : 60, 61, 62, 63, 64, -1, 66, 67, 68, 69,
17591 : 70, -1, 72, -1, 74, 75, 76, 77, 78, 79,
17592 : 80, 81, 82, -1, 84, 85, 86, 87, 88, 89,
17593 : -1, 91, 92, 93, 94, -1, -1, -1, 98, -1,
17594 : -1, -1, 102, 103, 104, 105, 106, 107, 108, 109,
17595 : 110, 111, 112, -1, 114, 115, 116, 117, 118, 119,
17596 : -1, 121, 122, 123, 124, -1, -1, 127, 128, 129,
17597 : 130, 131, -1, 133, 134, 135, -1, 137, 138, 139,
17598 : -1, 141, 142, 143, 144, 145, 146, 147, 148, 149,
17599 : 150, 151, -1, 153, 154, 155, 156, -1, 158, -1,
17600 : 160, 161, -1, 163, 164, 165, 166, 167, -1, 169,
17601 : 170, -1, 172, 173, -1, 175, 176, 177, 178, 179,
17602 : 180, 181, 182, 183, 184, -1, 186, 187, 188, 189,
17603 : 190, 191, -1, 193, 194, 195, 196, 197, 198, 199,
17604 : 200, 201, -1, 203, -1, 205, 206, 207, 208, 209,
17605 : 210, 211, 212, 213, 214, -1, -1, 217, 218, 219,
17606 : 220, 221, -1, 223, 224, 225, -1, -1, 228, 229,
17607 : 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
17608 : 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
17609 : 250, -1, 252, 253, 254, 255, -1, 257, 258, 259,
17610 : 260, 261, 262, -1, 264, 265, 266, -1, 268, 269,
17611 : 270, -1, -1, 273, 274, 275, 276, 277, 278, 279,
17612 : 280, 281, 282, 283, 284, 285, 286, 287, -1, 289,
17613 : 290, 291, 292, 293, 294, 295, 296, -1, 298, 299,
17614 : 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
17615 : 310, 311, -1, 313, 314, 315, 316, 317, 318, 319,
17616 : 320, 321, 322, 323, 324, -1, 326, 327, 328, 329,
17617 : 330, 331, 332, 333, 334, 335, 336, 337, 338, 339,
17618 : 340, 341, -1, 343, 344, 345, 346, 347, -1, 349,
17619 : 350, 351, 352, 353, 354, 355, 356, 357, 358, -1,
17620 : 360, 361, 362, 363, 364, 365, 366, 367, 368, 369,
17621 : 370, 371, 372, -1, 374, 375, -1, 377, 378, 379,
17622 : 380, 381, 382, 383, -1, 385, 386, -1, -1, 389,
17623 : 390, 391, 392, 393, 394, 395, 396, 397, 398, 399,
17624 : 400, 401, -1, -1, 404, 405, 406, 407, 408, -1,
17625 : -1, 411, 412, 413, 414, 415, 416, 417, -1, 419,
17626 : 420, 421, 422, 423, 424, -1, -1, 427, -1, -1,
17627 : 430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
17628 : 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
17629 : 3, -1, -1, -1, -1, -1, 9, 457, 458, -1,
17630 : -1, -1, -1, -1, -1, 18, 19, 20, 21, 22,
17631 : 23, 24, 25, 26, 27, 28, 29, -1, -1, -1,
17632 : -1, -1, -1, -1, 37, 38, -1, 40, 41, 42,
17633 : -1, 44, 45, 46, 47, 48, -1, 50, 51, -1,
17634 : 53, 54, 55, 56, 57, -1, -1, 60, 61, 62,
17635 : 63, 64, -1, 66, 67, 68, 69, 70, -1, -1,
17636 : -1, 74, 75, 76, 77, 78, -1, 80, 81, 82,
17637 : -1, 84, 85, 86, 87, 88, 89, -1, -1, 92,
17638 : 93, 94, -1, -1, -1, -1, -1, -1, -1, 102,
17639 : 103, 104, 105, 106, 107, 108, 109, 110, -1, 112,
17640 : -1, 114, 115, 116, 117, 118, 119, -1, 121, 122,
17641 : 123, 124, -1, -1, 127, 128, 129, 130, 131, -1,
17642 : 133, 134, 135, -1, 137, 138, 139, -1, 141, 142,
17643 : 143, 144, 145, 146, 147, 148, 149, -1, 151, -1,
17644 : 153, 154, 155, 156, -1, 158, -1, 160, -1, 162,
17645 : -1, 164, 165, 166, 167, -1, 169, 170, -1, 172,
17646 : 173, -1, 175, 176, 177, 178, 179, -1, 181, 182,
17647 : 183, 184, 185, 186, 187, 188, 189, 190, 191, -1,
17648 : 193, -1, 195, 196, 197, 198, 199, 200, 201, -1,
17649 : 203, -1, 205, -1, -1, 208, -1, 210, 211, 212,
17650 : 213, 214, -1, -1, 217, 218, -1, 220, -1, -1,
17651 : 223, 224, 225, -1, -1, 228, 229, 230, 231, 232,
17652 : 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
17653 : 243, 244, -1, 246, 247, 248, 249, 250, -1, 252,
17654 : 253, -1, 255, -1, 257, 258, 259, 260, 261, 262,
17655 : -1, 264, 265, -1, -1, 268, 269, 270, -1, -1,
17656 : 273, 274, -1, 276, -1, 278, 279, 280, 281, 282,
17657 : 283, 284, 285, 286, 287, -1, 289, 290, 291, 292,
17658 : 293, 294, 295, 296, -1, 298, 299, 300, 301, 302,
17659 : 303, 304, 305, 306, 307, 308, 309, 310, 311, -1,
17660 : 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
17661 : 323, 324, -1, 326, 327, -1, 329, 330, 331, 332,
17662 : 333, 334, 335, 336, 337, 338, 339, 340, 341, -1,
17663 : 343, 344, 345, 346, 347, -1, 349, 350, 351, 352,
17664 : 353, -1, 355, 356, 357, 358, -1, 360, 361, 362,
17665 : 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
17666 : -1, 374, 375, -1, 377, -1, 379, 380, 381, 382,
17667 : 383, -1, 385, 386, -1, -1, 389, 390, 391, 392,
17668 : 393, -1, 395, 396, 397, 398, 399, 400, 401, -1,
17669 : -1, 404, 405, 406, 407, 408, -1, -1, 411, 412,
17670 : 413, 414, 415, 416, 417, -1, 419, -1, 421, 422,
17671 : 423, 424, -1, -1, 427, -1, -1, 430, 431, 432,
17672 : 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
17673 : 443, 444, 445, 446, 447, 448, 449, 3, 4, 5,
17674 : -1, -1, -1, 9, 457, 458, -1, -1, -1, -1,
17675 : -1, -1, 18, 19, 20, 21, 22, 23, 24, 25,
17676 : 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
17677 : 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
17678 : 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
17679 : 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
17680 : 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
17681 : 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
17682 : 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
17683 : 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
17684 : 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
17685 : 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
17686 : 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
17687 : 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
17688 : 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
17689 : 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
17690 : 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
17691 : 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
17692 : 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
17693 : 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
17694 : 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
17695 : 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
17696 : 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
17697 : 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
17698 : 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
17699 : 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
17700 : 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
17701 : 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
17702 : 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
17703 : 296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
17704 : 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
17705 : 316, 317, 318, 319, 320, 321, 322, 323, 324, 325,
17706 : 326, 327, 328, 329, 330, 331, 332, 333, 334, 335,
17707 : 336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
17708 : 346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
17709 : 356, 357, 358, 359, 360, 361, 362, 363, 364, 365,
17710 : 366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
17711 : 376, 377, 378, 379, 380, 381, 382, 383, 384, 385,
17712 : 386, 387, 388, 389, 390, 391, 392, 393, 394, 395,
17713 : 396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
17714 : 406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
17715 : 416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
17716 : 426, 427, 428, 429, 430, 431, 432, 433, 434, 435,
17717 : 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
17718 : 446, 447, 448, 449, 3, -1, -1, -1, -1, -1,
17719 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
17720 : 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
17721 : 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
17722 : 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
17723 : 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
17724 : 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
17725 : 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
17726 : 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
17727 : 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
17728 : 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
17729 : 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
17730 : 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
17731 : 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
17732 : 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
17733 : 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
17734 : 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
17735 : 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
17736 : 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
17737 : 189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
17738 : 199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
17739 : 209, 210, 211, 212, 213, 214, 215, 216, 217, 218,
17740 : 219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
17741 : 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
17742 : 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
17743 : 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
17744 : 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
17745 : 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
17746 : 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
17747 : 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
17748 : 299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
17749 : 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
17750 : 319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
17751 : 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
17752 : 339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
17753 : 349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
17754 : 359, 360, 361, 362, 363, 364, 365, 366, 367, 368,
17755 : 369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
17756 : 379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
17757 : 389, 390, 391, 392, 393, 394, 395, 396, 397, 398,
17758 : 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
17759 : 409, 410, 411, 412, 413, 414, 415, 416, 417, 418,
17760 : 419, 420, 421, 422, 423, 424, 425, 426, 427, 428,
17761 : 429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
17762 : 439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
17763 : 449, 3, -1, -1, -1, -1, -1, -1, -1, -1,
17764 : -1, -1, -1, -1, -1, -1, 18, 19, 20, 21,
17765 : 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
17766 : 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
17767 : 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
17768 : 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
17769 : 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
17770 : 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
17771 : 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
17772 : 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
17773 : 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
17774 : 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
17775 : 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
17776 : 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
17777 : 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
17778 : 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
17779 : 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
17780 : 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
17781 : 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
17782 : 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
17783 : 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
17784 : 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
17785 : 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
17786 : 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
17787 : 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
17788 : 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
17789 : 262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
17790 : 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
17791 : 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
17792 : 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
17793 : 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
17794 : 312, 313, 314, 315, 316, 317, 318, 319, 320, 321,
17795 : 322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
17796 : 332, 333, 334, 335, 336, 337, 338, 339, 340, 341,
17797 : 342, 343, 344, 345, 346, 347, 348, 349, 350, 351,
17798 : 352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
17799 : 362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
17800 : 372, 373, 374, 375, 376, 377, 378, 379, 380, 381,
17801 : 382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
17802 : 392, 393, 394, 395, 396, 397, 398, 399, 400, 401,
17803 : 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
17804 : 412, 413, 414, 415, 416, 417, 418, 419, 420, 421,
17805 : 422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
17806 : 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
17807 : 442, 443, 444, 445, 446, 447, 448, 449, 3, -1,
17808 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
17809 : -1, -1, -1, 18, 19, 20, 21, 22, 23, 24,
17810 : 25, -1, 27, 28, 29, -1, -1, -1, -1, -1,
17811 : -1, -1, 37, 38, -1, 40, 41, 42, 43, 44,
17812 : 45, 46, 47, 48, 49, 50, 51, -1, 53, 54,
17813 : 55, 56, 57, -1, 59, 60, 61, 62, 63, 64,
17814 : -1, 66, 67, 68, 69, 70, -1, 72, -1, 74,
17815 : 75, 76, 77, 78, 79, 80, 81, 82, -1, 84,
17816 : 85, 86, 87, 88, 89, -1, 91, 92, 93, 94,
17817 : 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
17818 : 105, 106, 107, 108, 109, 110, -1, 112, -1, 114,
17819 : 115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
17820 : -1, -1, 127, 128, 129, 130, 131, -1, 133, 134,
17821 : 135, -1, 137, 138, 139, -1, 141, 142, 143, 144,
17822 : 145, 146, 147, 148, 149, -1, 151, -1, 153, 154,
17823 : 155, 156, -1, 158, -1, 160, 161, -1, 163, 164,
17824 : 165, 166, 167, -1, 169, 170, -1, 172, 173, -1,
17825 : 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
17826 : -1, 186, 187, 188, 189, 190, 191, -1, 193, 194,
17827 : 195, 196, 197, 198, 199, 200, 201, -1, 203, -1,
17828 : 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
17829 : -1, -1, 217, 218, 219, 220, 221, -1, 223, 224,
17830 : 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
17831 : 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
17832 : 245, 246, 247, 248, 249, 250, -1, 252, 253, 254,
17833 : 255, -1, 257, 258, 259, 260, 261, 262, -1, 264,
17834 : 265, -1, -1, 268, 269, 270, -1, -1, 273, 274,
17835 : 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
17836 : 285, 286, 287, -1, 289, 290, 291, 292, 293, 294,
17837 : 295, 296, -1, 298, 299, 300, 301, 302, 303, 304,
17838 : 305, 306, 307, 308, 309, 310, 311, -1, 313, 314,
17839 : 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
17840 : -1, 326, 327, 328, 329, 330, 331, 332, 333, 334,
17841 : 335, 336, 337, 338, 339, 340, 341, -1, 343, 344,
17842 : 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
17843 : 355, 356, 357, 358, -1, 360, 361, 362, 363, 364,
17844 : 365, 366, 367, 368, 369, 370, 371, 372, -1, 374,
17845 : 375, -1, 377, 378, 379, 380, 381, 382, 383, -1,
17846 : 385, 386, -1, -1, 389, 390, 391, 392, 393, -1,
17847 : 395, 396, 397, 398, 399, 400, 401, -1, -1, 404,
17848 : 405, 406, 407, 408, 409, -1, 411, 412, 413, 414,
17849 : 415, 416, 417, -1, 419, 420, 421, 422, 423, 424,
17850 : -1, -1, 427, -1, -1, 430, 431, 432, 433, 434,
17851 : 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
17852 : 445, 446, 447, 448, 449, 3, -1, 5, -1, -1,
17853 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
17854 : 18, 19, 20, 21, 22, 23, 24, 25, -1, 27,
17855 : 28, 29, -1, -1, -1, -1, -1, -1, -1, 37,
17856 : 38, -1, 40, 41, 42, 43, 44, 45, 46, 47,
17857 : 48, 49, 50, 51, -1, 53, 54, 55, 56, 57,
17858 : -1, -1, 60, 61, 62, 63, 64, -1, 66, 67,
17859 : 68, 69, 70, -1, 72, -1, 74, 75, 76, 77,
17860 : 78, 79, 80, 81, 82, -1, 84, 85, 86, 87,
17861 : 88, 89, -1, 91, 92, 93, 94, -1, -1, -1,
17862 : 98, -1, -1, -1, 102, 103, 104, 105, 106, 107,
17863 : 108, 109, 110, -1, 112, -1, 114, 115, 116, 117,
17864 : 118, 119, -1, 121, 122, 123, 124, -1, -1, 127,
17865 : 128, 129, 130, 131, -1, 133, 134, 135, -1, 137,
17866 : 138, 139, -1, 141, 142, 143, 144, 145, 146, 147,
17867 : 148, 149, 150, 151, -1, 153, 154, 155, 156, -1,
17868 : 158, -1, 160, 161, -1, 163, 164, 165, 166, 167,
17869 : -1, 169, 170, -1, 172, 173, -1, 175, 176, 177,
17870 : 178, 179, 180, 181, 182, 183, 184, -1, 186, 187,
17871 : 188, 189, 190, 191, -1, 193, 194, 195, 196, 197,
17872 : 198, 199, 200, 201, -1, 203, -1, 205, 206, 207,
17873 : 208, 209, 210, 211, 212, 213, 214, -1, -1, 217,
17874 : 218, 219, 220, 221, -1, 223, 224, 225, -1, -1,
17875 : 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
17876 : 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
17877 : 248, 249, 250, -1, 252, 253, 254, 255, -1, 257,
17878 : 258, 259, 260, 261, 262, -1, 264, 265, 266, -1,
17879 : 268, 269, 270, -1, -1, 273, 274, 275, 276, 277,
17880 : 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
17881 : -1, 289, 290, 291, 292, 293, 294, 295, 296, -1,
17882 : 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
17883 : 308, 309, 310, 311, -1, 313, 314, 315, 316, 317,
17884 : 318, 319, 320, 321, 322, 323, 324, -1, 326, 327,
17885 : 328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
17886 : 338, 339, 340, 341, -1, 343, 344, 345, 346, 347,
17887 : -1, 349, 350, 351, 352, 353, 354, 355, 356, 357,
17888 : 358, -1, 360, 361, 362, 363, 364, 365, 366, 367,
17889 : 368, 369, 370, 371, 372, -1, 374, 375, -1, 377,
17890 : 378, 379, 380, 381, 382, 383, -1, 385, 386, -1,
17891 : -1, 389, 390, 391, 392, 393, 394, 395, 396, 397,
17892 : 398, 399, 400, 401, -1, -1, 404, 405, 406, 407,
17893 : 408, -1, -1, 411, 412, 413, 414, 415, 416, 417,
17894 : -1, 419, 420, 421, 422, 423, 424, -1, -1, 427,
17895 : -1, -1, 430, 431, 432, 433, 434, 435, 436, 437,
17896 : 438, 439, 440, 441, 442, 443, 444, 445, 446, 447,
17897 : 448, 449, 3, -1, -1, -1, -1, -1, -1, -1,
17898 : -1, -1, -1, -1, -1, -1, -1, 18, 19, 20,
17899 : 21, 22, 23, 24, 25, 26, 27, 28, 29, -1,
17900 : -1, -1, -1, -1, -1, -1, 37, 38, -1, 40,
17901 : 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
17902 : 51, -1, 53, 54, 55, 56, 57, -1, -1, 60,
17903 : 61, 62, 63, 64, -1, 66, 67, 68, 69, 70,
17904 : -1, 72, -1, 74, 75, 76, 77, 78, 79, 80,
17905 : 81, 82, -1, 84, 85, 86, 87, 88, 89, -1,
17906 : 91, 92, 93, 94, -1, -1, -1, 98, -1, -1,
17907 : 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
17908 : -1, 112, -1, 114, 115, 116, 117, 118, 119, -1,
17909 : 121, 122, 123, 124, -1, -1, 127, 128, 129, 130,
17910 : 131, -1, 133, 134, 135, -1, 137, 138, 139, -1,
17911 : 141, 142, 143, 144, 145, 146, 147, 148, 149, -1,
17912 : 151, -1, 153, 154, 155, 156, -1, 158, -1, 160,
17913 : 161, -1, 163, 164, 165, 166, 167, -1, 169, 170,
17914 : -1, 172, 173, -1, 175, 176, 177, 178, 179, 180,
17915 : 181, 182, 183, 184, -1, 186, 187, 188, 189, 190,
17916 : 191, -1, 193, 194, 195, 196, 197, 198, 199, 200,
17917 : 201, -1, 203, -1, 205, 206, 207, 208, 209, 210,
17918 : 211, 212, 213, 214, -1, -1, 217, 218, 219, 220,
17919 : 221, -1, 223, 224, 225, -1, -1, 228, 229, 230,
17920 : 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
17921 : 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
17922 : -1, 252, 253, 254, 255, -1, 257, 258, 259, 260,
17923 : 261, 262, -1, 264, 265, -1, -1, 268, 269, 270,
17924 : -1, -1, 273, 274, 275, 276, 277, 278, 279, 280,
17925 : 281, 282, 283, 284, 285, 286, 287, -1, 289, 290,
17926 : 291, 292, 293, 294, 295, 296, -1, 298, 299, 300,
17927 : 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
17928 : 311, -1, 313, 314, 315, 316, 317, 318, 319, 320,
17929 : 321, 322, 323, 324, -1, 326, 327, 328, 329, 330,
17930 : 331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
17931 : 341, -1, 343, 344, 345, 346, 347, 348, 349, 350,
17932 : 351, 352, 353, 354, 355, 356, 357, 358, -1, 360,
17933 : 361, 362, 363, 364, 365, 366, 367, 368, 369, 370,
17934 : 371, 372, -1, 374, 375, -1, 377, 378, 379, 380,
17935 : 381, 382, 383, -1, 385, 386, -1, -1, 389, 390,
17936 : 391, 392, 393, -1, 395, 396, 397, 398, 399, 400,
17937 : 401, -1, -1, 404, 405, 406, 407, 408, -1, -1,
17938 : 411, 412, 413, 414, 415, 416, 417, -1, 419, 420,
17939 : 421, 422, 423, 424, -1, -1, 427, -1, -1, 430,
17940 : 431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
17941 : 441, 442, 443, 444, 445, 446, 447, 448, 449, 3,
17942 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
17943 : -1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
17944 : 24, 25, 26, 27, 28, 29, -1, -1, -1, -1,
17945 : -1, -1, -1, 37, 38, -1, 40, 41, 42, 43,
17946 : 44, 45, 46, 47, 48, 49, 50, 51, -1, 53,
17947 : 54, 55, 56, 57, -1, -1, 60, 61, 62, 63,
17948 : 64, -1, 66, 67, 68, 69, 70, -1, 72, -1,
17949 : 74, 75, 76, 77, 78, 79, 80, 81, 82, -1,
17950 : 84, 85, 86, 87, 88, 89, -1, 91, 92, 93,
17951 : 94, -1, -1, -1, 98, -1, -1, 101, 102, 103,
17952 : 104, 105, 106, 107, 108, 109, 110, -1, 112, -1,
17953 : 114, 115, 116, 117, 118, 119, -1, 121, 122, 123,
17954 : 124, -1, -1, 127, 128, 129, 130, 131, -1, 133,
17955 : 134, 135, -1, 137, 138, 139, -1, 141, 142, 143,
17956 : 144, 145, 146, 147, 148, 149, -1, 151, -1, 153,
17957 : 154, 155, 156, -1, 158, -1, 160, 161, -1, 163,
17958 : 164, 165, 166, 167, -1, 169, 170, -1, 172, 173,
17959 : -1, 175, 176, 177, 178, 179, 180, 181, 182, 183,
17960 : 184, -1, 186, 187, 188, 189, 190, 191, -1, 193,
17961 : 194, 195, 196, 197, 198, 199, 200, 201, -1, 203,
17962 : -1, 205, 206, 207, 208, 209, 210, 211, 212, 213,
17963 : 214, -1, -1, 217, 218, 219, 220, 221, -1, 223,
17964 : 224, 225, -1, -1, 228, 229, 230, 231, 232, 233,
17965 : 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
17966 : 244, 245, 246, 247, 248, 249, 250, -1, 252, 253,
17967 : 254, 255, -1, 257, 258, 259, 260, 261, 262, -1,
17968 : 264, 265, -1, -1, 268, 269, 270, -1, -1, 273,
17969 : 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
17970 : 284, 285, 286, 287, -1, 289, 290, 291, 292, 293,
17971 : 294, 295, 296, -1, 298, 299, 300, 301, 302, 303,
17972 : 304, 305, 306, 307, 308, 309, 310, 311, -1, 313,
17973 : 314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
17974 : 324, -1, 326, 327, 328, 329, 330, 331, 332, 333,
17975 : 334, 335, 336, 337, 338, 339, 340, 341, -1, 343,
17976 : 344, 345, 346, 347, 348, 349, 350, 351, 352, 353,
17977 : 354, 355, 356, 357, 358, -1, 360, 361, 362, 363,
17978 : 364, 365, 366, 367, 368, 369, 370, 371, 372, -1,
17979 : 374, 375, -1, 377, 378, 379, 380, 381, 382, 383,
17980 : -1, 385, 386, -1, -1, 389, 390, 391, 392, 393,
17981 : -1, 395, 396, 397, 398, 399, 400, 401, -1, -1,
17982 : 404, 405, 406, 407, 408, -1, -1, 411, 412, 413,
17983 : 414, 415, 416, 417, -1, 419, 420, 421, 422, 423,
17984 : 424, -1, -1, 427, -1, -1, 430, 431, 432, 433,
17985 : 434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
17986 : 444, 445, 446, 447, 448, 449, 3, -1, -1, -1,
17987 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
17988 : -1, 18, 19, 20, 21, 22, 23, 24, 25, -1,
17989 : 27, 28, 29, -1, -1, -1, -1, -1, -1, -1,
17990 : 37, 38, -1, 40, 41, 42, 43, 44, 45, 46,
17991 : 47, 48, 49, 50, 51, -1, 53, 54, 55, 56,
17992 : 57, -1, -1, 60, 61, 62, 63, 64, -1, 66,
17993 : 67, 68, 69, 70, -1, 72, -1, 74, 75, 76,
17994 : 77, 78, 79, 80, 81, 82, -1, 84, 85, 86,
17995 : 87, 88, 89, -1, 91, 92, 93, 94, -1, -1,
17996 : -1, 98, -1, -1, 101, 102, 103, 104, 105, 106,
17997 : 107, 108, 109, 110, -1, 112, -1, 114, 115, 116,
17998 : 117, 118, 119, -1, 121, 122, 123, 124, -1, -1,
17999 : 127, 128, 129, 130, 131, -1, 133, 134, 135, -1,
18000 : 137, 138, 139, -1, 141, 142, 143, 144, 145, 146,
18001 : 147, 148, 149, -1, 151, -1, 153, 154, 155, 156,
18002 : -1, 158, -1, 160, 161, -1, 163, 164, 165, 166,
18003 : 167, -1, 169, 170, -1, 172, 173, -1, 175, 176,
18004 : 177, 178, 179, 180, 181, 182, 183, 184, -1, 186,
18005 : 187, 188, 189, 190, 191, -1, 193, 194, 195, 196,
18006 : 197, 198, 199, 200, 201, -1, 203, -1, 205, 206,
18007 : 207, 208, 209, 210, 211, 212, 213, 214, -1, -1,
18008 : 217, 218, 219, 220, 221, -1, 223, 224, 225, -1,
18009 : -1, 228, 229, 230, 231, 232, 233, 234, 235, 236,
18010 : 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
18011 : 247, 248, 249, 250, -1, 252, 253, 254, 255, -1,
18012 : 257, 258, 259, 260, 261, 262, -1, 264, 265, -1,
18013 : -1, 268, 269, 270, -1, -1, 273, 274, 275, 276,
18014 : 277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
18015 : 287, -1, 289, 290, 291, 292, 293, 294, 295, 296,
18016 : -1, 298, 299, 300, 301, 302, 303, 304, 305, 306,
18017 : 307, 308, 309, 310, 311, -1, 313, 314, 315, 316,
18018 : 317, 318, 319, 320, 321, 322, 323, 324, -1, 326,
18019 : 327, 328, 329, 330, 331, 332, 333, 334, 335, 336,
18020 : 337, 338, 339, 340, 341, -1, 343, 344, 345, 346,
18021 : 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
18022 : 357, 358, -1, 360, 361, 362, 363, 364, 365, 366,
18023 : 367, 368, 369, 370, 371, 372, -1, 374, 375, -1,
18024 : 377, 378, 379, 380, 381, 382, 383, -1, 385, 386,
18025 : -1, -1, 389, 390, 391, 392, 393, -1, 395, 396,
18026 : 397, 398, 399, 400, 401, -1, -1, 404, 405, 406,
18027 : 407, 408, 409, -1, 411, 412, 413, 414, 415, 416,
18028 : 417, -1, 419, 420, 421, 422, 423, 424, -1, -1,
18029 : 427, -1, -1, 430, 431, 432, 433, 434, 435, 436,
18030 : 437, 438, 439, 440, 441, 442, 443, 444, 445, 446,
18031 : 447, 448, 449, 3, -1, -1, -1, -1, -1, -1,
18032 : -1, -1, -1, -1, -1, -1, -1, -1, 18, 19,
18033 : 20, 21, 22, 23, 24, 25, -1, 27, 28, 29,
18034 : -1, -1, -1, -1, -1, -1, -1, 37, 38, -1,
18035 : 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
18036 : 50, 51, -1, 53, 54, 55, 56, 57, -1, -1,
18037 : 60, 61, 62, 63, 64, -1, 66, 67, 68, 69,
18038 : 70, -1, 72, -1, 74, 75, 76, 77, 78, 79,
18039 : 80, 81, 82, -1, 84, 85, 86, 87, 88, 89,
18040 : -1, 91, 92, 93, 94, -1, -1, -1, 98, -1,
18041 : -1, 101, 102, 103, 104, 105, 106, 107, 108, 109,
18042 : 110, -1, 112, -1, 114, 115, 116, 117, 118, 119,
18043 : -1, 121, 122, 123, 124, -1, -1, 127, 128, 129,
18044 : 130, 131, -1, 133, 134, 135, -1, 137, 138, 139,
18045 : -1, 141, 142, 143, 144, 145, 146, 147, 148, 149,
18046 : -1, 151, -1, 153, 154, 155, 156, -1, 158, -1,
18047 : 160, 161, -1, 163, 164, 165, 166, 167, -1, 169,
18048 : 170, 171, 172, 173, -1, 175, 176, 177, 178, 179,
18049 : 180, 181, 182, 183, 184, -1, 186, 187, 188, 189,
18050 : 190, 191, -1, 193, 194, 195, 196, 197, 198, 199,
18051 : 200, 201, -1, 203, -1, 205, 206, 207, 208, 209,
18052 : 210, 211, 212, 213, 214, -1, -1, 217, 218, 219,
18053 : 220, 221, -1, 223, 224, 225, -1, -1, 228, 229,
18054 : 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
18055 : 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
18056 : 250, -1, 252, 253, 254, 255, -1, 257, 258, 259,
18057 : 260, 261, 262, -1, 264, 265, -1, -1, 268, 269,
18058 : 270, -1, -1, 273, 274, 275, 276, 277, 278, 279,
18059 : 280, 281, 282, 283, 284, 285, 286, 287, -1, 289,
18060 : 290, 291, 292, 293, 294, 295, 296, -1, 298, 299,
18061 : 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
18062 : 310, 311, -1, 313, 314, 315, 316, 317, 318, 319,
18063 : 320, 321, 322, 323, 324, -1, 326, 327, 328, 329,
18064 : 330, 331, 332, 333, 334, 335, 336, 337, 338, 339,
18065 : 340, 341, -1, 343, 344, 345, 346, 347, 348, 349,
18066 : 350, 351, 352, 353, 354, 355, 356, 357, 358, -1,
18067 : 360, 361, 362, 363, 364, 365, 366, 367, 368, 369,
18068 : 370, 371, 372, -1, 374, 375, -1, 377, 378, 379,
18069 : 380, 381, 382, 383, -1, 385, 386, -1, -1, 389,
18070 : 390, 391, 392, 393, -1, 395, 396, 397, 398, 399,
18071 : 400, 401, -1, -1, 404, 405, 406, 407, 408, -1,
18072 : -1, 411, 412, 413, 414, 415, 416, 417, -1, 419,
18073 : 420, 421, 422, 423, 424, -1, -1, 427, -1, -1,
18074 : 430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
18075 : 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
18076 : 3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
18077 : -1, -1, -1, -1, -1, 18, 19, 20, 21, 22,
18078 : 23, 24, 25, -1, 27, 28, 29, -1, -1, -1,
18079 : -1, -1, -1, -1, 37, 38, -1, 40, 41, 42,
18080 : 43, 44, 45, 46, 47, 48, 49, 50, 51, -1,
18081 : 53, 54, 55, 56, 57, -1, -1, 60, 61, 62,
18082 : 63, 64, -1, 66, 67, 68, 69, 70, -1, 72,
18083 : -1, 74, 75, 76, 77, 78, 79, 80, 81, 82,
18084 : -1, 84, 85, 86, 87, 88, 89, -1, 91, 92,
18085 : 93, 94, -1, -1, -1, 98, -1, -1, 101, 102,
18086 : 103, 104, 105, 106, 107, 108, 109, 110, -1, 112,
18087 : -1, 114, 115, 116, 117, 118, 119, -1, 121, 122,
18088 : 123, 124, -1, -1, 127, 128, 129, 130, 131, -1,
18089 : 133, 134, 135, -1, 137, 138, 139, -1, 141, 142,
18090 : 143, 144, 145, 146, 147, 148, 149, -1, 151, -1,
18091 : 153, 154, 155, 156, -1, 158, -1, 160, 161, -1,
18092 : 163, 164, 165, 166, 167, -1, 169, 170, -1, 172,
18093 : 173, -1, 175, 176, 177, 178, 179, 180, 181, 182,
18094 : 183, 184, -1, 186, 187, 188, 189, 190, 191, -1,
18095 : 193, 194, 195, 196, 197, 198, 199, 200, 201, -1,
18096 : 203, -1, 205, 206, 207, 208, 209, 210, 211, 212,
18097 : 213, 214, -1, -1, 217, 218, 219, 220, 221, -1,
18098 : 223, 224, 225, -1, -1, 228, 229, 230, 231, 232,
18099 : 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
18100 : 243, 244, 245, 246, 247, 248, 249, 250, -1, 252,
18101 : 253, 254, 255, -1, 257, 258, 259, 260, 261, 262,
18102 : -1, 264, 265, -1, -1, 268, 269, 270, -1, -1,
18103 : 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
18104 : 283, 284, 285, 286, 287, -1, 289, 290, 291, 292,
18105 : 293, 294, 295, 296, -1, 298, 299, 300, 301, 302,
18106 : 303, 304, 305, 306, 307, 308, 309, 310, 311, -1,
18107 : 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
18108 : 323, 324, -1, 326, 327, 328, 329, 330, 331, 332,
18109 : 333, 334, 335, 336, 337, 338, 339, 340, 341, -1,
18110 : 343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
18111 : 353, 354, 355, 356, 357, 358, -1, 360, 361, 362,
18112 : 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
18113 : -1, 374, 375, -1, 377, 378, 379, 380, 381, 382,
18114 : 383, -1, 385, 386, -1, -1, 389, 390, 391, 392,
18115 : 393, -1, 395, 396, 397, 398, 399, 400, 401, -1,
18116 : -1, 404, 405, 406, 407, 408, -1, -1, 411, 412,
18117 : 413, 414, 415, 416, 417, -1, 419, 420, 421, 422,
18118 : 423, 424, -1, -1, 427, -1, -1, 430, 431, 432,
18119 : 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
18120 : 443, 444, 445, 446, 447, 448, 449, 3, -1, -1,
18121 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
18122 : -1, -1, 18, 19, 20, 21, 22, 23, 24, 25,
18123 : -1, 27, 28, 29, -1, -1, -1, -1, -1, -1,
18124 : -1, 37, 38, -1, 40, 41, 42, 43, 44, 45,
18125 : 46, 47, 48, 49, 50, 51, -1, 53, 54, 55,
18126 : 56, 57, -1, -1, 60, 61, 62, 63, 64, -1,
18127 : 66, 67, 68, 69, 70, -1, 72, -1, 74, 75,
18128 : 76, 77, 78, 79, 80, 81, 82, -1, 84, 85,
18129 : 86, 87, 88, 89, -1, 91, 92, 93, 94, -1,
18130 : -1, -1, 98, -1, -1, 101, 102, 103, 104, 105,
18131 : 106, 107, 108, 109, 110, -1, 112, -1, 114, 115,
18132 : 116, 117, 118, 119, -1, 121, 122, 123, 124, -1,
18133 : -1, 127, 128, 129, 130, 131, -1, 133, 134, 135,
18134 : -1, 137, 138, 139, -1, 141, 142, 143, 144, 145,
18135 : 146, 147, 148, 149, -1, 151, -1, 153, 154, 155,
18136 : 156, -1, 158, -1, 160, 161, -1, 163, 164, 165,
18137 : 166, 167, -1, 169, 170, -1, 172, 173, -1, 175,
18138 : 176, 177, 178, 179, 180, 181, 182, 183, 184, -1,
18139 : 186, 187, 188, 189, 190, 191, -1, 193, 194, 195,
18140 : 196, 197, 198, 199, 200, 201, -1, 203, -1, 205,
18141 : 206, 207, 208, 209, 210, 211, 212, 213, 214, -1,
18142 : -1, 217, 218, 219, 220, 221, -1, 223, 224, 225,
18143 : -1, -1, 228, 229, 230, 231, 232, 233, 234, 235,
18144 : 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
18145 : 246, 247, 248, 249, 250, -1, 252, 253, 254, 255,
18146 : -1, 257, 258, 259, 260, 261, 262, -1, 264, 265,
18147 : -1, -1, 268, 269, 270, -1, -1, 273, 274, 275,
18148 : 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
18149 : 286, 287, -1, 289, 290, 291, 292, 293, 294, 295,
18150 : 296, -1, 298, 299, 300, 301, 302, 303, 304, 305,
18151 : 306, 307, 308, 309, 310, 311, -1, 313, 314, 315,
18152 : 316, 317, 318, 319, 320, 321, 322, 323, 324, -1,
18153 : 326, 327, 328, 329, 330, 331, 332, 333, 334, 335,
18154 : 336, 337, 338, 339, 340, 341, -1, 343, 344, 345,
18155 : 346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
18156 : 356, 357, 358, -1, 360, 361, 362, 363, 364, 365,
18157 : 366, 367, 368, 369, 370, 371, 372, -1, 374, 375,
18158 : -1, 377, 378, 379, 380, 381, 382, 383, -1, 385,
18159 : 386, -1, -1, 389, 390, 391, 392, 393, -1, 395,
18160 : 396, 397, 398, 399, 400, 401, -1, -1, 404, 405,
18161 : 406, 407, 408, -1, -1, 411, 412, 413, 414, 415,
18162 : 416, 417, -1, 419, 420, 421, 422, 423, 424, -1,
18163 : -1, 427, -1, -1, 430, 431, 432, 433, 434, 435,
18164 : 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
18165 : 446, 447, 448, 449, 3, -1, -1, -1, -1, -1,
18166 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
18167 : 19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
18168 : 29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
18169 : -1, 40, 41, 42, 43, 44, 45, 46, 47, 48,
18170 : 49, 50, 51, -1, 53, 54, 55, 56, 57, -1,
18171 : -1, 60, 61, 62, 63, 64, -1, 66, 67, 68,
18172 : 69, 70, -1, 72, -1, 74, 75, 76, 77, 78,
18173 : 79, 80, 81, 82, -1, 84, 85, 86, 87, 88,
18174 : 89, -1, 91, 92, 93, 94, -1, -1, -1, 98,
18175 : -1, -1, 101, 102, 103, 104, 105, 106, 107, 108,
18176 : 109, 110, -1, 112, -1, 114, 115, 116, 117, 118,
18177 : 119, -1, 121, 122, 123, 124, -1, -1, 127, 128,
18178 : 129, 130, 131, -1, 133, 134, 135, -1, 137, 138,
18179 : 139, -1, 141, 142, 143, 144, 145, 146, 147, 148,
18180 : 149, -1, 151, -1, 153, 154, 155, 156, -1, 158,
18181 : -1, 160, 161, -1, 163, 164, 165, 166, 167, -1,
18182 : 169, 170, -1, 172, 173, -1, 175, 176, 177, 178,
18183 : 179, 180, 181, 182, 183, 184, -1, 186, 187, 188,
18184 : 189, 190, 191, -1, 193, 194, 195, 196, 197, 198,
18185 : 199, 200, 201, -1, 203, -1, 205, 206, 207, 208,
18186 : 209, 210, 211, 212, 213, 214, -1, -1, 217, 218,
18187 : 219, 220, 221, -1, 223, 224, 225, -1, -1, 228,
18188 : 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
18189 : 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
18190 : 249, 250, -1, 252, 253, 254, 255, -1, 257, 258,
18191 : 259, 260, 261, 262, -1, 264, 265, -1, -1, 268,
18192 : 269, 270, -1, -1, 273, 274, 275, 276, 277, 278,
18193 : 279, 280, 281, 282, 283, 284, 285, 286, 287, -1,
18194 : 289, 290, 291, 292, 293, 294, 295, 296, -1, 298,
18195 : 299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
18196 : 309, 310, 311, -1, 313, 314, 315, 316, 317, 318,
18197 : 319, 320, 321, 322, 323, 324, -1, 326, 327, 328,
18198 : 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
18199 : 339, 340, 341, -1, 343, 344, 345, 346, 347, 348,
18200 : 349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
18201 : -1, 360, 361, 362, 363, 364, 365, 366, 367, 368,
18202 : 369, 370, 371, 372, -1, 374, 375, -1, 377, 378,
18203 : 379, 380, 381, 382, 383, -1, 385, 386, -1, -1,
18204 : 389, 390, 391, 392, 393, -1, 395, 396, 397, 398,
18205 : 399, 400, 401, -1, -1, 404, 405, 406, 407, 408,
18206 : -1, -1, 411, 412, 413, 414, 415, 416, 417, -1,
18207 : 419, 420, 421, 422, 423, 424, -1, -1, 427, -1,
18208 : -1, 430, 431, 432, 433, 434, 435, 436, 437, 438,
18209 : 439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
18210 : 449, 3, -1, -1, -1, -1, -1, -1, -1, -1,
18211 : -1, -1, -1, -1, -1, -1, 18, 19, 20, 21,
18212 : 22, 23, 24, 25, -1, 27, 28, 29, -1, -1,
18213 : -1, -1, -1, -1, -1, 37, 38, -1, 40, 41,
18214 : 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
18215 : -1, 53, 54, 55, 56, 57, -1, -1, 60, 61,
18216 : 62, 63, 64, -1, 66, 67, 68, 69, 70, -1,
18217 : 72, -1, 74, 75, 76, 77, 78, 79, 80, 81,
18218 : 82, -1, 84, 85, 86, 87, 88, 89, -1, 91,
18219 : 92, 93, 94, -1, -1, -1, 98, -1, -1, 101,
18220 : 102, 103, 104, 105, 106, 107, 108, 109, 110, -1,
18221 : 112, -1, 114, 115, 116, 117, 118, 119, -1, 121,
18222 : 122, 123, 124, -1, -1, 127, 128, 129, 130, 131,
18223 : -1, 133, 134, 135, -1, 137, 138, 139, -1, 141,
18224 : 142, 143, 144, 145, 146, 147, 148, 149, -1, 151,
18225 : -1, 153, 154, 155, 156, -1, 158, -1, 160, 161,
18226 : -1, 163, 164, 165, 166, 167, -1, 169, 170, -1,
18227 : 172, 173, -1, 175, 176, 177, 178, 179, 180, 181,
18228 : 182, 183, 184, -1, 186, 187, 188, 189, 190, 191,
18229 : -1, 193, 194, 195, 196, 197, 198, 199, 200, 201,
18230 : -1, 203, -1, 205, 206, 207, 208, 209, 210, 211,
18231 : 212, 213, 214, -1, -1, 217, 218, 219, 220, 221,
18232 : -1, 223, 224, 225, -1, -1, 228, 229, 230, 231,
18233 : 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
18234 : 242, 243, 244, 245, 246, 247, 248, 249, 250, -1,
18235 : 252, 253, 254, 255, -1, 257, 258, 259, 260, 261,
18236 : 262, -1, 264, 265, -1, -1, 268, 269, 270, -1,
18237 : -1, 273, 274, 275, 276, 277, 278, 279, 280, 281,
18238 : 282, 283, 284, 285, 286, 287, -1, 289, 290, 291,
18239 : 292, 293, 294, 295, 296, -1, 298, 299, 300, 301,
18240 : 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
18241 : -1, 313, 314, 315, 316, 317, 318, 319, 320, 321,
18242 : 322, 323, 324, -1, 326, 327, 328, 329, 330, 331,
18243 : 332, 333, 334, 335, 336, 337, 338, 339, 340, 341,
18244 : -1, 343, 344, 345, 346, 347, 348, 349, 350, 351,
18245 : 352, 353, 354, 355, 356, 357, 358, -1, 360, 361,
18246 : 362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
18247 : 372, -1, 374, 375, -1, 377, 378, 379, 380, 381,
18248 : 382, 383, -1, 385, 386, -1, -1, 389, 390, 391,
18249 : 392, 393, -1, 395, 396, 397, 398, 399, 400, 401,
18250 : -1, -1, 404, 405, 406, 407, 408, -1, -1, 411,
18251 : 412, 413, 414, 415, 416, 417, -1, 419, 420, 421,
18252 : 422, 423, 424, -1, -1, 427, -1, -1, 430, 431,
18253 : 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
18254 : 442, 443, 444, 445, 446, 447, 448, 449, 3, -1,
18255 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
18256 : -1, -1, -1, 18, 19, 20, 21, 22, 23, 24,
18257 : 25, -1, 27, 28, 29, -1, -1, -1, -1, -1,
18258 : -1, -1, 37, 38, -1, 40, 41, 42, 43, 44,
18259 : 45, 46, 47, 48, 49, 50, 51, -1, 53, 54,
18260 : 55, 56, 57, -1, -1, 60, 61, 62, 63, 64,
18261 : -1, 66, 67, 68, 69, 70, -1, 72, -1, 74,
18262 : 75, 76, 77, 78, 79, 80, 81, 82, -1, 84,
18263 : 85, 86, 87, 88, 89, -1, 91, 92, 93, 94,
18264 : -1, -1, -1, 98, -1, -1, 101, 102, 103, 104,
18265 : 105, 106, 107, 108, 109, 110, -1, 112, -1, 114,
18266 : 115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
18267 : -1, -1, 127, 128, 129, 130, 131, -1, 133, 134,
18268 : 135, -1, 137, 138, 139, -1, 141, 142, 143, 144,
18269 : 145, 146, 147, 148, 149, -1, 151, -1, 153, 154,
18270 : 155, 156, -1, 158, -1, 160, 161, -1, 163, 164,
18271 : 165, 166, 167, -1, 169, 170, -1, 172, 173, -1,
18272 : 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
18273 : -1, 186, 187, 188, 189, 190, 191, -1, 193, 194,
18274 : 195, 196, 197, 198, 199, 200, 201, -1, 203, -1,
18275 : 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
18276 : -1, -1, 217, 218, 219, 220, 221, -1, 223, 224,
18277 : 225, -1, -1, 228, 229, 230, 231, 232, 233, 234,
18278 : 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
18279 : 245, 246, 247, 248, 249, 250, -1, 252, 253, 254,
18280 : 255, -1, 257, 258, 259, 260, 261, 262, -1, 264,
18281 : 265, -1, -1, 268, 269, 270, -1, -1, 273, 274,
18282 : 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
18283 : 285, 286, 287, -1, 289, 290, 291, 292, 293, 294,
18284 : 295, 296, -1, 298, 299, 300, 301, 302, 303, 304,
18285 : 305, 306, 307, 308, 309, 310, 311, -1, 313, 314,
18286 : 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
18287 : -1, 326, 327, 328, 329, 330, 331, 332, 333, 334,
18288 : 335, 336, 337, 338, 339, 340, 341, -1, 343, 344,
18289 : 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
18290 : 355, 356, 357, 358, -1, 360, 361, 362, 363, 364,
18291 : 365, 366, 367, 368, 369, 370, 371, 372, -1, 374,
18292 : 375, -1, 377, 378, 379, 380, 381, 382, 383, -1,
18293 : 385, 386, -1, -1, 389, 390, 391, 392, 393, -1,
18294 : 395, 396, 397, 398, 399, 400, 401, -1, -1, 404,
18295 : 405, 406, 407, 408, -1, -1, 411, 412, 413, 414,
18296 : 415, 416, 417, -1, 419, 420, 421, 422, 423, 424,
18297 : -1, -1, 427, -1, -1, 430, 431, 432, 433, 434,
18298 : 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
18299 : 445, 446, 447, 448, 449, 3, -1, 5, -1, -1,
18300 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
18301 : 18, 19, 20, 21, 22, 23, 24, 25, -1, 27,
18302 : 28, 29, -1, -1, -1, -1, -1, -1, -1, 37,
18303 : 38, -1, 40, 41, 42, 43, 44, 45, 46, 47,
18304 : 48, 49, 50, 51, -1, 53, 54, 55, 56, 57,
18305 : -1, -1, 60, 61, 62, 63, 64, -1, 66, 67,
18306 : 68, 69, 70, -1, 72, -1, 74, 75, 76, 77,
18307 : 78, 79, 80, 81, 82, -1, 84, 85, 86, 87,
18308 : 88, 89, -1, 91, 92, 93, 94, -1, -1, -1,
18309 : 98, -1, -1, -1, 102, 103, 104, 105, 106, 107,
18310 : 108, 109, 110, 111, 112, -1, 114, 115, 116, 117,
18311 : 118, 119, -1, 121, 122, 123, 124, -1, -1, 127,
18312 : 128, 129, 130, 131, -1, 133, 134, 135, -1, 137,
18313 : 138, 139, -1, 141, 142, 143, 144, 145, 146, 147,
18314 : 148, 149, -1, 151, -1, 153, 154, 155, 156, -1,
18315 : 158, -1, 160, 161, -1, 163, 164, 165, 166, 167,
18316 : -1, 169, 170, -1, 172, 173, -1, 175, 176, 177,
18317 : 178, 179, 180, 181, 182, 183, 184, -1, 186, 187,
18318 : 188, 189, 190, 191, -1, 193, 194, 195, 196, 197,
18319 : 198, 199, 200, 201, -1, 203, -1, 205, 206, 207,
18320 : 208, 209, 210, 211, 212, 213, 214, -1, -1, 217,
18321 : 218, 219, 220, 221, -1, 223, 224, 225, -1, -1,
18322 : 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
18323 : 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
18324 : 248, 249, 250, -1, 252, 253, 254, 255, -1, 257,
18325 : 258, 259, 260, 261, 262, -1, 264, 265, -1, -1,
18326 : 268, 269, 270, -1, -1, 273, 274, 275, 276, 277,
18327 : 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
18328 : -1, 289, 290, 291, 292, 293, 294, 295, 296, -1,
18329 : 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
18330 : 308, 309, 310, 311, -1, 313, 314, 315, 316, 317,
18331 : 318, 319, 320, 321, 322, 323, 324, -1, 326, 327,
18332 : 328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
18333 : 338, 339, 340, 341, -1, 343, 344, 345, 346, 347,
18334 : -1, 349, 350, 351, 352, 353, 354, 355, 356, 357,
18335 : 358, -1, 360, 361, 362, 363, 364, 365, 366, 367,
18336 : 368, 369, 370, 371, 372, -1, 374, 375, -1, 377,
18337 : 378, 379, 380, 381, 382, 383, -1, 385, 386, -1,
18338 : -1, 389, 390, 391, 392, 393, -1, 395, 396, 397,
18339 : 398, 399, 400, 401, -1, -1, 404, 405, 406, 407,
18340 : 408, -1, -1, 411, 412, 413, 414, 415, 416, 417,
18341 : -1, 419, 420, 421, 422, 423, 424, -1, -1, 427,
18342 : -1, -1, 430, 431, 432, 433, 434, 435, 436, 437,
18343 : 438, 439, 440, 441, 442, 443, 444, 445, 446, 447,
18344 : 448, 449, 3, -1, -1, -1, -1, -1, -1, -1,
18345 : -1, -1, -1, -1, -1, -1, -1, 18, 19, 20,
18346 : 21, 22, 23, 24, 25, -1, 27, 28, 29, 30,
18347 : 31, -1, -1, -1, -1, -1, 37, 38, -1, 40,
18348 : 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
18349 : 51, -1, 53, 54, 55, 56, 57, -1, -1, 60,
18350 : 61, 62, 63, 64, -1, 66, 67, 68, 69, 70,
18351 : -1, 72, -1, 74, 75, 76, 77, 78, 79, 80,
18352 : 81, 82, -1, 84, 85, 86, 87, 88, 89, -1,
18353 : 91, 92, 93, 94, -1, -1, -1, 98, -1, -1,
18354 : -1, 102, 103, 104, 105, 106, 107, 108, 109, 110,
18355 : -1, 112, -1, 114, 115, 116, 117, 118, 119, -1,
18356 : 121, 122, 123, 124, -1, -1, 127, 128, 129, 130,
18357 : 131, -1, 133, 134, 135, -1, 137, 138, 139, -1,
18358 : 141, 142, 143, 144, 145, 146, 147, 148, 149, -1,
18359 : 151, -1, 153, 154, 155, 156, -1, 158, -1, 160,
18360 : 161, -1, 163, 164, 165, 166, 167, -1, 169, 170,
18361 : -1, 172, 173, -1, 175, 176, 177, 178, 179, 180,
18362 : 181, 182, 183, 184, -1, 186, 187, 188, 189, 190,
18363 : 191, -1, 193, 194, 195, 196, 197, 198, 199, 200,
18364 : 201, -1, 203, -1, 205, 206, 207, 208, 209, 210,
18365 : 211, 212, 213, 214, -1, -1, 217, 218, 219, 220,
18366 : 221, -1, 223, 224, 225, -1, -1, 228, 229, 230,
18367 : 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
18368 : 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
18369 : -1, 252, 253, 254, 255, -1, 257, 258, 259, 260,
18370 : 261, 262, -1, 264, 265, -1, -1, 268, 269, 270,
18371 : -1, -1, 273, 274, 275, 276, 277, 278, 279, 280,
18372 : 281, 282, 283, 284, 285, 286, 287, -1, 289, 290,
18373 : 291, 292, 293, 294, 295, 296, -1, 298, 299, 300,
18374 : 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
18375 : 311, -1, 313, 314, 315, 316, 317, 318, 319, 320,
18376 : 321, 322, 323, 324, -1, 326, 327, 328, 329, 330,
18377 : 331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
18378 : 341, -1, 343, 344, 345, 346, 347, -1, 349, 350,
18379 : 351, 352, 353, 354, 355, 356, 357, 358, -1, 360,
18380 : 361, 362, 363, 364, 365, 366, 367, 368, 369, 370,
18381 : 371, 372, -1, 374, 375, -1, 377, 378, 379, 380,
18382 : 381, 382, 383, -1, 385, 386, -1, -1, 389, 390,
18383 : 391, 392, 393, -1, 395, 396, 397, 398, 399, 400,
18384 : 401, -1, -1, 404, 405, 406, 407, 408, -1, -1,
18385 : 411, 412, 413, 414, 415, 416, 417, -1, 419, 420,
18386 : 421, 422, 423, 424, -1, -1, 427, -1, -1, 430,
18387 : 431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
18388 : 441, 442, 443, 444, 445, 446, 447, 448, 449, 3,
18389 : -1, 5, -1, -1, -1, -1, -1, -1, -1, -1,
18390 : -1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
18391 : 24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
18392 : -1, -1, -1, 37, 38, -1, 40, 41, 42, 43,
18393 : 44, 45, 46, 47, 48, 49, 50, 51, -1, 53,
18394 : 54, 55, 56, 57, -1, -1, 60, 61, 62, 63,
18395 : 64, -1, 66, 67, 68, 69, 70, -1, 72, -1,
18396 : 74, 75, 76, 77, 78, 79, 80, 81, 82, -1,
18397 : 84, 85, 86, 87, 88, 89, -1, 91, 92, 93,
18398 : 94, -1, -1, -1, 98, -1, -1, -1, 102, 103,
18399 : 104, 105, 106, 107, 108, 109, 110, -1, 112, -1,
18400 : 114, 115, 116, 117, 118, 119, -1, 121, 122, 123,
18401 : 124, -1, -1, 127, 128, 129, 130, 131, -1, 133,
18402 : 134, 135, -1, 137, 138, 139, -1, 141, 142, 143,
18403 : 144, 145, 146, 147, 148, 149, -1, 151, -1, 153,
18404 : 154, 155, 156, -1, 158, -1, 160, 161, -1, 163,
18405 : 164, 165, 166, 167, -1, 169, 170, -1, 172, 173,
18406 : -1, 175, 176, 177, 178, 179, 180, 181, 182, 183,
18407 : 184, -1, 186, 187, 188, 189, 190, 191, -1, 193,
18408 : 194, 195, 196, 197, 198, 199, 200, 201, -1, 203,
18409 : -1, 205, 206, 207, 208, 209, 210, 211, 212, 213,
18410 : 214, -1, -1, 217, 218, 219, 220, 221, -1, 223,
18411 : 224, 225, -1, -1, 228, 229, 230, 231, 232, 233,
18412 : 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
18413 : 244, 245, 246, 247, 248, 249, 250, -1, 252, 253,
18414 : 254, 255, -1, 257, 258, 259, 260, 261, 262, -1,
18415 : 264, 265, -1, -1, 268, 269, 270, -1, -1, 273,
18416 : 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
18417 : 284, 285, 286, 287, -1, 289, 290, 291, 292, 293,
18418 : 294, 295, 296, -1, 298, 299, 300, 301, 302, 303,
18419 : 304, 305, 306, 307, 308, 309, 310, 311, -1, 313,
18420 : 314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
18421 : 324, -1, 326, 327, 328, 329, 330, 331, 332, 333,
18422 : 334, 335, 336, 337, 338, 339, 340, 341, -1, 343,
18423 : 344, 345, 346, 347, -1, 349, 350, 351, 352, 353,
18424 : 354, 355, 356, 357, 358, -1, 360, 361, 362, 363,
18425 : 364, 365, 366, 367, 368, 369, 370, 371, 372, -1,
18426 : 374, 375, -1, 377, 378, 379, 380, 381, 382, 383,
18427 : -1, 385, 386, -1, -1, 389, 390, 391, 392, 393,
18428 : -1, 395, 396, 397, 398, 399, 400, 401, -1, -1,
18429 : 404, 405, 406, 407, 408, -1, -1, 411, 412, 413,
18430 : 414, 415, 416, 417, -1, 419, 420, 421, 422, 423,
18431 : 424, -1, -1, 427, -1, -1, 430, 431, 432, 433,
18432 : 434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
18433 : 444, 445, 446, 447, 448, 449, 3, -1, 5, -1,
18434 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
18435 : -1, 18, 19, 20, 21, 22, 23, 24, 25, -1,
18436 : 27, 28, 29, -1, -1, -1, -1, -1, -1, -1,
18437 : 37, 38, -1, 40, 41, 42, 43, 44, 45, 46,
18438 : 47, 48, 49, 50, 51, -1, 53, 54, 55, 56,
18439 : 57, -1, -1, 60, 61, 62, 63, 64, -1, 66,
18440 : 67, 68, 69, 70, -1, 72, -1, 74, 75, 76,
18441 : 77, 78, 79, 80, 81, 82, -1, 84, 85, 86,
18442 : 87, 88, 89, -1, 91, 92, 93, 94, -1, -1,
18443 : -1, 98, -1, -1, -1, 102, 103, 104, 105, 106,
18444 : 107, 108, 109, 110, -1, 112, -1, 114, 115, 116,
18445 : 117, 118, 119, -1, 121, 122, 123, 124, -1, -1,
18446 : 127, 128, 129, 130, 131, -1, 133, 134, 135, -1,
18447 : 137, 138, 139, -1, 141, 142, 143, 144, 145, 146,
18448 : 147, 148, 149, -1, 151, -1, 153, 154, 155, 156,
18449 : -1, 158, -1, 160, 161, -1, 163, 164, 165, 166,
18450 : 167, -1, 169, 170, -1, 172, 173, -1, 175, 176,
18451 : 177, 178, 179, 180, 181, 182, 183, 184, -1, 186,
18452 : 187, 188, 189, 190, 191, -1, 193, 194, 195, 196,
18453 : 197, 198, 199, 200, 201, -1, 203, -1, 205, 206,
18454 : 207, 208, 209, 210, 211, 212, 213, 214, -1, -1,
18455 : 217, 218, 219, 220, 221, -1, 223, 224, 225, -1,
18456 : -1, 228, 229, 230, 231, 232, 233, 234, 235, 236,
18457 : 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
18458 : 247, 248, 249, 250, -1, 252, 253, 254, 255, -1,
18459 : 257, 258, 259, 260, 261, 262, -1, 264, 265, -1,
18460 : -1, 268, 269, 270, -1, -1, 273, 274, 275, 276,
18461 : 277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
18462 : 287, -1, 289, 290, 291, 292, 293, 294, 295, 296,
18463 : -1, 298, 299, 300, 301, 302, 303, 304, 305, 306,
18464 : 307, 308, 309, 310, 311, -1, 313, 314, 315, 316,
18465 : 317, 318, 319, 320, 321, 322, 323, 324, -1, 326,
18466 : 327, 328, 329, 330, 331, 332, 333, 334, 335, 336,
18467 : 337, 338, 339, 340, 341, -1, 343, 344, 345, 346,
18468 : 347, -1, 349, 350, 351, 352, 353, 354, 355, 356,
18469 : 357, 358, -1, 360, 361, 362, 363, 364, 365, 366,
18470 : 367, 368, 369, 370, 371, 372, -1, 374, 375, -1,
18471 : 377, 378, 379, 380, 381, 382, 383, -1, 385, 386,
18472 : -1, -1, 389, 390, 391, 392, 393, -1, 395, 396,
18473 : 397, 398, 399, 400, 401, -1, -1, 404, 405, 406,
18474 : 407, 408, -1, -1, 411, 412, 413, 414, 415, 416,
18475 : 417, -1, 419, 420, 421, 422, 423, 424, -1, -1,
18476 : 427, -1, -1, 430, 431, 432, 433, 434, 435, 436,
18477 : 437, 438, 439, 440, 441, 442, 443, 444, 445, 446,
18478 : 447, 448, 449, 3, -1, -1, -1, -1, -1, -1,
18479 : -1, -1, -1, -1, -1, -1, -1, -1, 18, 19,
18480 : 20, 21, 22, 23, 24, 25, -1, 27, 28, 29,
18481 : -1, -1, -1, -1, -1, -1, -1, 37, 38, -1,
18482 : 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
18483 : 50, 51, -1, 53, 54, 55, 56, 57, -1, -1,
18484 : 60, 61, 62, 63, 64, -1, 66, 67, 68, 69,
18485 : 70, -1, 72, -1, 74, 75, 76, 77, 78, 79,
18486 : 80, 81, 82, -1, 84, 85, 86, 87, 88, 89,
18487 : -1, 91, 92, 93, 94, -1, -1, -1, 98, -1,
18488 : -1, -1, 102, 103, 104, 105, 106, 107, 108, 109,
18489 : 110, -1, 112, -1, 114, 115, 116, 117, 118, 119,
18490 : -1, 121, 122, 123, 124, -1, -1, 127, 128, 129,
18491 : 130, 131, -1, 133, 134, 135, -1, 137, 138, 139,
18492 : -1, 141, 142, 143, 144, 145, 146, 147, 148, 149,
18493 : -1, 151, -1, 153, 154, 155, 156, -1, 158, -1,
18494 : 160, 161, -1, 163, 164, 165, 166, 167, -1, 169,
18495 : 170, -1, 172, 173, -1, 175, 176, 177, 178, 179,
18496 : 180, 181, 182, 183, 184, -1, 186, 187, 188, 189,
18497 : 190, 191, -1, 193, 194, 195, 196, 197, 198, 199,
18498 : 200, 201, -1, 203, -1, 205, 206, 207, 208, 209,
18499 : 210, 211, 212, 213, 214, -1, -1, 217, 218, 219,
18500 : 220, 221, -1, 223, 224, 225, -1, -1, 228, 229,
18501 : 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
18502 : 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
18503 : 250, -1, 252, 253, 254, 255, -1, 257, 258, 259,
18504 : 260, 261, 262, -1, 264, 265, -1, -1, 268, 269,
18505 : 270, -1, -1, 273, 274, 275, 276, 277, 278, 279,
18506 : 280, 281, 282, 283, 284, 285, 286, 287, -1, 289,
18507 : 290, 291, 292, 293, 294, 295, 296, -1, 298, 299,
18508 : 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
18509 : 310, 311, -1, 313, 314, 315, 316, 317, 318, 319,
18510 : 320, 321, 322, 323, 324, -1, 326, 327, 328, 329,
18511 : 330, 331, 332, 333, 334, 335, 336, 337, 338, 339,
18512 : 340, 341, -1, 343, 344, 345, 346, 347, -1, 349,
18513 : 350, 351, 352, 353, 354, 355, 356, 357, 358, -1,
18514 : 360, 361, 362, 363, 364, 365, 366, 367, 368, 369,
18515 : 370, 371, 372, -1, 374, 375, -1, 377, 378, 379,
18516 : 380, 381, 382, 383, -1, 385, 386, -1, -1, 389,
18517 : 390, 391, 392, 393, -1, 395, 396, 397, 398, 399,
18518 : 400, 401, -1, -1, 404, 405, 406, 407, 408, -1,
18519 : -1, 411, 412, 413, 414, 415, 416, 417, -1, 419,
18520 : 420, 421, 422, 423, 424, -1, -1, 427, -1, -1,
18521 : 430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
18522 : 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
18523 : 3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
18524 : -1, -1, -1, -1, -1, 18, 19, 20, 21, 22,
18525 : 23, 24, 25, -1, 27, 28, 29, -1, -1, -1,
18526 : -1, -1, -1, -1, 37, 38, -1, 40, 41, 42,
18527 : 43, 44, 45, 46, 47, 48, 49, 50, 51, -1,
18528 : 53, 54, 55, 56, 57, -1, -1, 60, 61, 62,
18529 : 63, 64, -1, 66, 67, 68, 69, 70, -1, 72,
18530 : -1, 74, 75, 76, 77, 78, 79, 80, 81, 82,
18531 : -1, 84, 85, 86, 87, 88, 89, -1, 91, 92,
18532 : 93, 94, -1, -1, -1, 98, -1, -1, -1, 102,
18533 : 103, 104, 105, 106, 107, 108, 109, 110, -1, 112,
18534 : -1, 114, 115, 116, 117, 118, 119, -1, 121, 122,
18535 : 123, 124, -1, -1, 127, 128, 129, 130, 131, -1,
18536 : 133, 134, 135, -1, 137, 138, 139, -1, 141, 142,
18537 : 143, 144, 145, 146, 147, 148, 149, -1, 151, -1,
18538 : 153, 154, 155, 156, -1, 158, -1, 160, 161, -1,
18539 : 163, 164, 165, 166, 167, -1, 169, 170, -1, 172,
18540 : 173, -1, 175, 176, 177, 178, 179, 180, 181, 182,
18541 : 183, 184, -1, 186, 187, 188, 189, 190, 191, -1,
18542 : 193, 194, 195, 196, 197, 198, 199, 200, 201, -1,
18543 : 203, -1, 205, 206, 207, 208, 209, 210, 211, 212,
18544 : 213, 214, -1, -1, 217, 218, 219, 220, 221, -1,
18545 : 223, 224, 225, -1, -1, 228, 229, 230, 231, 232,
18546 : 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
18547 : 243, 244, 245, 246, 247, 248, 249, 250, -1, 252,
18548 : 253, 254, 255, -1, 257, 258, 259, 260, 261, 262,
18549 : -1, 264, 265, -1, -1, 268, 269, 270, -1, -1,
18550 : 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
18551 : 283, 284, 285, 286, 287, -1, 289, 290, 291, 292,
18552 : 293, 294, 295, 296, -1, 298, 299, 300, 301, 302,
18553 : 303, 304, 305, 306, 307, 308, 309, 310, 311, -1,
18554 : 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
18555 : 323, 324, -1, 326, 327, 328, 329, 330, 331, 332,
18556 : 333, 334, 335, 336, 337, 338, 339, 340, 341, -1,
18557 : 343, 344, 345, 346, 347, -1, 349, 350, 351, 352,
18558 : 353, 354, 355, 356, 357, 358, -1, 360, 361, 362,
18559 : 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
18560 : -1, 374, 375, -1, 377, 378, 379, 380, 381, 382,
18561 : 383, -1, 385, 386, -1, -1, 389, 390, 391, 392,
18562 : 393, -1, 395, 396, 397, 398, 399, 400, 401, -1,
18563 : -1, 404, 405, 406, 407, 408, -1, -1, 411, 412,
18564 : 413, 414, 415, 416, 417, -1, 419, 420, 421, 422,
18565 : 423, 424, -1, -1, 427, -1, -1, 430, 431, 432,
18566 : 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
18567 : 443, 444, 445, 446, 447, 448, 449, 3, -1, -1,
18568 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
18569 : -1, -1, 18, 19, 20, 21, 22, 23, 24, 25,
18570 : -1, 27, 28, 29, -1, -1, -1, -1, -1, -1,
18571 : -1, 37, 38, -1, 40, 41, 42, 43, 44, 45,
18572 : 46, 47, 48, 49, 50, 51, -1, 53, 54, 55,
18573 : 56, 57, -1, -1, 60, 61, 62, 63, 64, -1,
18574 : 66, 67, 68, 69, 70, -1, 72, -1, 74, 75,
18575 : 76, 77, 78, 79, 80, 81, 82, -1, 84, 85,
18576 : 86, 87, 88, 89, -1, 91, 92, 93, 94, -1,
18577 : -1, -1, 98, -1, -1, -1, 102, 103, 104, 105,
18578 : 106, 107, 108, 109, 110, -1, 112, -1, 114, 115,
18579 : 116, 117, 118, 119, -1, 121, 122, 123, 124, -1,
18580 : -1, 127, 128, 129, 130, 131, -1, 133, 134, 135,
18581 : -1, 137, 138, 139, -1, 141, 142, 143, 144, 145,
18582 : 146, 147, 148, 149, -1, 151, -1, 153, 154, 155,
18583 : 156, -1, 158, -1, 160, 161, -1, 163, 164, 165,
18584 : 166, 167, -1, 169, 170, -1, 172, 173, -1, 175,
18585 : 176, 177, 178, 179, 180, 181, 182, 183, 184, -1,
18586 : 186, 187, 188, 189, 190, 191, -1, 193, 194, 195,
18587 : 196, 197, 198, 199, 200, 201, -1, 203, -1, 205,
18588 : 206, 207, 208, 209, 210, 211, 212, 213, 214, -1,
18589 : -1, 217, 218, 219, 220, 221, -1, 223, 224, 225,
18590 : -1, -1, 228, 229, 230, 231, 232, 233, 234, 235,
18591 : 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
18592 : 246, 247, 248, 249, 250, -1, 252, 253, 254, 255,
18593 : -1, 257, 258, 259, 260, 261, 262, -1, 264, 265,
18594 : -1, -1, 268, 269, 270, -1, -1, 273, 274, 275,
18595 : 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
18596 : 286, 287, -1, 289, 290, 291, 292, 293, 294, 295,
18597 : 296, -1, 298, 299, 300, 301, 302, 303, 304, 305,
18598 : 306, 307, 308, 309, 310, 311, -1, 313, 314, 315,
18599 : 316, 317, 318, 319, 320, 321, 322, 323, 324, -1,
18600 : 326, 327, 328, 329, 330, 331, 332, 333, 334, 335,
18601 : 336, 337, 338, 339, 340, 341, -1, 343, 344, 345,
18602 : 346, 347, -1, 349, 350, 351, 352, 353, 354, 355,
18603 : 356, 357, 358, -1, 360, 361, 362, 363, 364, 365,
18604 : 366, 367, 368, 369, 370, 371, 372, -1, 374, 375,
18605 : -1, 377, 378, 379, 380, 381, 382, 383, -1, 385,
18606 : 386, -1, -1, 389, 390, 391, 392, 393, -1, 395,
18607 : 396, 397, 398, 399, 400, 401, -1, -1, 404, 405,
18608 : 406, 407, 408, -1, -1, 411, 412, 413, 414, 415,
18609 : 416, 417, -1, 419, 420, 421, 422, 423, 424, -1,
18610 : -1, 427, -1, -1, 430, 431, 432, 433, 434, 435,
18611 : 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
18612 : 446, 447, 448, 449, 3, -1, -1, -1, -1, -1,
18613 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
18614 : 19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
18615 : 29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
18616 : -1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
18617 : -1, 50, 51, -1, 53, 54, 55, 56, 57, -1,
18618 : -1, 60, 61, 62, 63, 64, 65, 66, 67, 68,
18619 : 69, 70, -1, -1, 73, 74, 75, 76, 77, 78,
18620 : -1, 80, 81, 82, 83, 84, 85, 86, 87, 88,
18621 : 89, -1, -1, 92, 93, 94, -1, -1, -1, -1,
18622 : -1, -1, -1, 102, 103, 104, 105, 106, 107, 108,
18623 : 109, 110, -1, 112, -1, 114, 115, 116, 117, 118,
18624 : 119, -1, 121, 122, 123, 124, -1, -1, 127, 128,
18625 : 129, 130, 131, -1, 133, 134, 135, -1, 137, 138,
18626 : 139, -1, 141, 142, 143, 144, 145, 146, 147, 148,
18627 : 149, -1, 151, -1, 153, 154, 155, 156, -1, 158,
18628 : 159, 160, -1, -1, -1, 164, 165, 166, 167, -1,
18629 : 169, 170, -1, 172, 173, -1, 175, 176, 177, 178,
18630 : 179, -1, 181, 182, 183, 184, -1, 186, 187, 188,
18631 : 189, 190, 191, -1, 193, -1, 195, 196, 197, 198,
18632 : 199, 200, 201, -1, 203, -1, 205, -1, -1, 208,
18633 : -1, 210, 211, 212, 213, 214, -1, -1, 217, 218,
18634 : -1, 220, -1, -1, 223, 224, 225, -1, -1, 228,
18635 : 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
18636 : 239, 240, 241, 242, 243, 244, -1, 246, 247, 248,
18637 : 249, 250, -1, 252, 253, -1, 255, -1, 257, 258,
18638 : 259, 260, 261, 262, -1, 264, 265, -1, -1, 268,
18639 : 269, 270, -1, -1, 273, 274, -1, 276, -1, 278,
18640 : 279, 280, 281, 282, 283, 284, 285, 286, 287, -1,
18641 : 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
18642 : 299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
18643 : 309, 310, 311, -1, 313, 314, 315, 316, 317, 318,
18644 : 319, 320, 321, 322, 323, 324, -1, 326, 327, -1,
18645 : 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
18646 : 339, 340, 341, -1, 343, 344, 345, 346, 347, -1,
18647 : 349, 350, 351, 352, 353, -1, 355, 356, 357, 358,
18648 : -1, 360, 361, 362, 363, 364, 365, 366, 367, 368,
18649 : 369, 370, 371, 372, -1, 374, 375, -1, 377, -1,
18650 : 379, 380, 381, 382, 383, -1, 385, 386, -1, -1,
18651 : 389, 390, 391, 392, 393, -1, 395, 396, 397, 398,
18652 : 399, 400, 401, -1, 403, 404, 405, 406, 407, 408,
18653 : -1, -1, 411, 412, 413, 414, 415, 416, 417, -1,
18654 : 419, -1, 421, 422, 423, 424, -1, -1, 427, -1,
18655 : -1, 430, 431, 432, 433, 434, 435, 436, 437, 438,
18656 : 439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
18657 : 449, 3, -1, -1, -1, -1, -1, -1, -1, -1,
18658 : -1, -1, -1, -1, -1, -1, 18, 19, 20, 21,
18659 : 22, 23, 24, 25, -1, 27, 28, 29, -1, -1,
18660 : -1, -1, -1, -1, -1, 37, 38, -1, 40, 41,
18661 : 42, -1, 44, 45, 46, 47, 48, -1, 50, 51,
18662 : -1, 53, 54, 55, 56, 57, -1, -1, 60, 61,
18663 : 62, 63, 64, 65, 66, 67, 68, 69, 70, -1,
18664 : -1, -1, 74, 75, 76, 77, 78, -1, 80, 81,
18665 : 82, 83, 84, 85, 86, 87, 88, 89, -1, -1,
18666 : 92, 93, 94, -1, -1, -1, -1, -1, -1, -1,
18667 : 102, 103, 104, 105, 106, 107, 108, 109, 110, -1,
18668 : 112, -1, 114, 115, 116, 117, 118, 119, -1, 121,
18669 : 122, 123, 124, -1, -1, 127, 128, 129, 130, 131,
18670 : -1, 133, 134, 135, -1, 137, 138, 139, -1, 141,
18671 : 142, 143, 144, 145, 146, 147, 148, 149, -1, 151,
18672 : -1, 153, 154, 155, 156, -1, 158, 159, 160, -1,
18673 : -1, -1, 164, 165, 166, 167, -1, 169, 170, -1,
18674 : 172, 173, -1, 175, 176, 177, 178, 179, -1, 181,
18675 : 182, 183, 184, -1, 186, 187, 188, 189, 190, 191,
18676 : -1, 193, -1, 195, 196, 197, 198, 199, 200, 201,
18677 : -1, 203, -1, 205, -1, -1, 208, -1, 210, 211,
18678 : 212, 213, 214, -1, -1, 217, 218, -1, 220, 221,
18679 : -1, 223, 224, 225, -1, -1, 228, 229, 230, 231,
18680 : 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
18681 : 242, 243, 244, -1, 246, 247, 248, 249, 250, -1,
18682 : 252, 253, -1, 255, -1, 257, 258, 259, 260, 261,
18683 : 262, -1, 264, 265, -1, -1, 268, 269, 270, -1,
18684 : -1, 273, 274, -1, 276, -1, 278, 279, 280, 281,
18685 : 282, 283, 284, 285, 286, 287, -1, 289, 290, 291,
18686 : 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
18687 : 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
18688 : -1, 313, 314, 315, 316, 317, 318, 319, 320, 321,
18689 : 322, 323, 324, -1, 326, 327, -1, 329, 330, 331,
18690 : 332, 333, 334, 335, 336, 337, 338, 339, 340, 341,
18691 : -1, 343, 344, 345, 346, 347, -1, 349, 350, 351,
18692 : 352, 353, -1, 355, 356, 357, 358, -1, 360, 361,
18693 : 362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
18694 : 372, -1, 374, 375, -1, 377, -1, 379, 380, 381,
18695 : 382, 383, -1, 385, 386, -1, -1, 389, 390, 391,
18696 : 392, 393, -1, 395, 396, 397, 398, 399, 400, 401,
18697 : -1, 403, 404, 405, 406, 407, 408, -1, -1, 411,
18698 : 412, 413, 414, 415, 416, 417, -1, 419, -1, 421,
18699 : 422, 423, 424, -1, -1, 427, -1, -1, 430, 431,
18700 : 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
18701 : 442, 443, 444, 445, 446, 447, 448, 449, 3, -1,
18702 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
18703 : -1, -1, -1, 18, 19, 20, 21, 22, 23, 24,
18704 : 25, 26, 27, 28, 29, -1, -1, -1, -1, -1,
18705 : -1, -1, 37, 38, -1, 40, 41, 42, -1, 44,
18706 : 45, 46, 47, 48, -1, 50, 51, -1, 53, 54,
18707 : 55, 56, 57, -1, -1, 60, 61, 62, 63, 64,
18708 : -1, 66, 67, 68, 69, 70, -1, -1, -1, 74,
18709 : 75, 76, 77, 78, -1, 80, 81, 82, -1, 84,
18710 : 85, 86, 87, 88, 89, 90, -1, 92, 93, 94,
18711 : -1, -1, -1, -1, -1, -1, -1, 102, 103, 104,
18712 : 105, 106, 107, 108, 109, 110, -1, 112, -1, 114,
18713 : 115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
18714 : -1, -1, 127, 128, 129, 130, 131, -1, 133, 134,
18715 : 135, -1, 137, 138, 139, -1, 141, 142, 143, 144,
18716 : 145, 146, 147, 148, 149, -1, 151, -1, 153, 154,
18717 : 155, 156, -1, 158, -1, 160, -1, -1, -1, 164,
18718 : 165, 166, 167, 168, 169, 170, -1, 172, 173, -1,
18719 : 175, 176, 177, 178, 179, -1, 181, 182, 183, 184,
18720 : -1, 186, 187, 188, 189, 190, 191, -1, 193, -1,
18721 : 195, 196, 197, 198, 199, 200, 201, -1, 203, -1,
18722 : 205, -1, -1, 208, -1, 210, 211, 212, 213, 214,
18723 : -1, -1, 217, 218, -1, 220, -1, -1, 223, 224,
18724 : 225, -1, -1, 228, 229, 230, 231, 232, 233, 234,
18725 : 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
18726 : -1, 246, 247, 248, 249, 250, -1, 252, 253, -1,
18727 : 255, -1, 257, 258, 259, 260, 261, 262, -1, 264,
18728 : 265, -1, -1, 268, 269, 270, -1, -1, 273, 274,
18729 : -1, 276, -1, 278, 279, 280, 281, 282, 283, 284,
18730 : 285, 286, 287, -1, 289, 290, 291, 292, 293, 294,
18731 : 295, 296, -1, 298, 299, 300, 301, 302, 303, 304,
18732 : 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
18733 : 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
18734 : -1, 326, 327, -1, 329, 330, 331, 332, 333, 334,
18735 : 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
18736 : 345, 346, 347, -1, 349, 350, 351, 352, 353, -1,
18737 : 355, 356, 357, 358, -1, 360, 361, 362, 363, 364,
18738 : 365, 366, 367, 368, 369, 370, 371, 372, -1, 374,
18739 : 375, -1, 377, -1, 379, 380, 381, 382, 383, -1,
18740 : 385, 386, -1, -1, 389, 390, 391, 392, 393, -1,
18741 : 395, 396, 397, 398, 399, 400, 401, -1, -1, 404,
18742 : 405, 406, 407, 408, -1, -1, 411, 412, 413, 414,
18743 : 415, 416, 417, -1, 419, -1, 421, 422, 423, 424,
18744 : -1, -1, 427, -1, -1, 430, 431, 432, 433, 434,
18745 : 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
18746 : 445, 446, 447, 448, 449, 3, -1, -1, -1, -1,
18747 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
18748 : 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
18749 : 28, 29, -1, -1, -1, -1, -1, -1, -1, 37,
18750 : 38, -1, 40, 41, 42, -1, 44, 45, 46, 47,
18751 : 48, -1, 50, 51, -1, 53, 54, 55, 56, 57,
18752 : -1, -1, 60, 61, 62, 63, 64, -1, 66, 67,
18753 : 68, 69, 70, -1, -1, -1, 74, 75, 76, 77,
18754 : 78, -1, 80, 81, 82, -1, 84, 85, 86, 87,
18755 : 88, 89, 90, -1, 92, 93, 94, -1, -1, -1,
18756 : -1, -1, -1, -1, 102, 103, 104, 105, 106, 107,
18757 : 108, 109, 110, -1, 112, -1, 114, 115, 116, 117,
18758 : 118, 119, -1, 121, 122, 123, 124, -1, -1, 127,
18759 : 128, 129, 130, 131, -1, 133, 134, 135, -1, 137,
18760 : 138, 139, -1, 141, 142, 143, 144, 145, 146, 147,
18761 : 148, 149, -1, 151, -1, 153, 154, 155, 156, -1,
18762 : 158, -1, 160, -1, -1, -1, 164, 165, 166, 167,
18763 : 168, 169, 170, -1, 172, 173, -1, 175, 176, 177,
18764 : 178, 179, -1, 181, 182, 183, 184, -1, 186, 187,
18765 : 188, 189, 190, 191, -1, 193, -1, 195, 196, 197,
18766 : 198, 199, 200, 201, -1, 203, -1, 205, -1, -1,
18767 : 208, -1, 210, 211, 212, 213, 214, -1, -1, 217,
18768 : 218, -1, 220, -1, -1, 223, 224, 225, -1, -1,
18769 : 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
18770 : 238, 239, 240, 241, 242, 243, 244, -1, 246, 247,
18771 : 248, 249, 250, -1, 252, 253, -1, 255, -1, 257,
18772 : 258, 259, 260, 261, 262, -1, 264, 265, -1, -1,
18773 : 268, 269, 270, -1, -1, 273, 274, -1, 276, -1,
18774 : 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
18775 : -1, 289, 290, 291, 292, 293, 294, 295, 296, -1,
18776 : 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
18777 : 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
18778 : 318, 319, 320, 321, 322, 323, 324, -1, 326, 327,
18779 : -1, 329, 330, 331, 332, 333, 334, 335, 336, 337,
18780 : 338, 339, 340, 341, 342, 343, 344, 345, 346, 347,
18781 : -1, 349, 350, 351, 352, 353, -1, 355, 356, 357,
18782 : 358, -1, 360, 361, 362, 363, 364, 365, 366, 367,
18783 : 368, 369, 370, 371, 372, -1, 374, 375, -1, 377,
18784 : -1, 379, 380, 381, 382, 383, -1, 385, 386, -1,
18785 : -1, 389, 390, 391, 392, 393, -1, 395, 396, 397,
18786 : 398, 399, 400, 401, -1, -1, 404, 405, 406, 407,
18787 : 408, -1, -1, 411, 412, 413, 414, 415, 416, 417,
18788 : -1, 419, -1, 421, 422, 423, 424, -1, -1, 427,
18789 : -1, -1, 430, 431, 432, 433, 434, 435, 436, 437,
18790 : 438, 439, 440, 441, 442, 443, 444, 445, 446, 447,
18791 : 448, 449, 3, -1, -1, -1, -1, -1, -1, -1,
18792 : -1, -1, -1, -1, -1, -1, -1, 18, 19, 20,
18793 : 21, 22, 23, 24, 25, -1, 27, 28, 29, -1,
18794 : -1, -1, -1, -1, -1, -1, 37, 38, -1, 40,
18795 : 41, 42, -1, 44, 45, 46, 47, 48, -1, 50,
18796 : 51, -1, 53, 54, 55, 56, 57, -1, -1, 60,
18797 : 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
18798 : -1, -1, -1, 74, 75, 76, 77, 78, -1, 80,
18799 : 81, 82, 83, 84, 85, 86, 87, 88, 89, -1,
18800 : -1, 92, 93, 94, -1, -1, -1, -1, -1, -1,
18801 : -1, 102, 103, 104, 105, 106, 107, 108, 109, 110,
18802 : -1, 112, -1, 114, 115, 116, 117, 118, 119, -1,
18803 : 121, 122, 123, 124, -1, -1, 127, 128, 129, 130,
18804 : 131, -1, 133, 134, 135, -1, 137, 138, 139, -1,
18805 : 141, 142, 143, 144, 145, 146, 147, 148, 149, -1,
18806 : 151, -1, 153, 154, 155, 156, -1, 158, 159, 160,
18807 : -1, -1, -1, 164, 165, 166, 167, -1, 169, 170,
18808 : -1, 172, 173, -1, 175, 176, 177, 178, 179, -1,
18809 : 181, 182, 183, 184, -1, 186, 187, 188, 189, 190,
18810 : 191, -1, 193, -1, 195, 196, 197, 198, 199, 200,
18811 : 201, -1, 203, -1, 205, -1, -1, 208, -1, 210,
18812 : 211, 212, 213, 214, -1, -1, 217, 218, -1, 220,
18813 : -1, -1, 223, 224, 225, -1, -1, 228, 229, 230,
18814 : 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
18815 : 241, 242, 243, 244, -1, 246, 247, 248, 249, 250,
18816 : -1, 252, 253, -1, 255, -1, 257, 258, 259, 260,
18817 : 261, 262, -1, 264, 265, -1, -1, 268, 269, 270,
18818 : -1, -1, 273, 274, -1, 276, -1, 278, 279, 280,
18819 : 281, 282, 283, 284, 285, 286, 287, -1, 289, 290,
18820 : 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
18821 : 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
18822 : 311, -1, 313, 314, 315, 316, 317, 318, 319, 320,
18823 : 321, 322, 323, 324, -1, 326, 327, -1, 329, 330,
18824 : 331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
18825 : 341, -1, 343, 344, 345, 346, 347, -1, 349, 350,
18826 : 351, 352, 353, -1, 355, 356, 357, 358, -1, 360,
18827 : 361, 362, 363, 364, 365, 366, 367, 368, 369, 370,
18828 : 371, 372, -1, 374, 375, -1, 377, -1, 379, 380,
18829 : 381, 382, 383, -1, 385, 386, -1, -1, 389, 390,
18830 : 391, 392, 393, -1, 395, 396, 397, 398, 399, 400,
18831 : 401, -1, 403, 404, 405, 406, 407, 408, -1, -1,
18832 : 411, 412, 413, 414, 415, 416, 417, -1, 419, -1,
18833 : 421, 422, 423, 424, -1, -1, 427, -1, -1, 430,
18834 : 431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
18835 : 441, 442, 443, 444, 445, 446, 447, 448, 449, 3,
18836 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
18837 : -1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
18838 : 24, 25, 26, 27, 28, 29, -1, -1, -1, -1,
18839 : -1, -1, -1, 37, 38, -1, 40, 41, 42, -1,
18840 : 44, 45, 46, 47, 48, -1, 50, 51, -1, 53,
18841 : 54, 55, 56, 57, -1, -1, 60, 61, 62, 63,
18842 : 64, -1, 66, 67, 68, 69, 70, -1, -1, -1,
18843 : 74, 75, 76, 77, 78, -1, 80, 81, 82, -1,
18844 : 84, 85, 86, 87, 88, 89, 90, -1, 92, 93,
18845 : 94, -1, -1, -1, -1, -1, -1, -1, 102, 103,
18846 : 104, 105, 106, 107, 108, 109, 110, -1, 112, -1,
18847 : 114, 115, 116, 117, 118, 119, -1, 121, 122, 123,
18848 : 124, -1, -1, 127, 128, 129, 130, 131, -1, 133,
18849 : 134, 135, -1, 137, 138, 139, -1, 141, 142, 143,
18850 : 144, 145, 146, 147, 148, 149, -1, 151, -1, 153,
18851 : 154, 155, 156, -1, 158, -1, 160, -1, -1, -1,
18852 : 164, 165, 166, 167, -1, 169, 170, -1, 172, 173,
18853 : -1, 175, 176, 177, 178, 179, -1, 181, 182, 183,
18854 : 184, -1, 186, 187, 188, 189, 190, 191, -1, 193,
18855 : -1, 195, 196, 197, 198, 199, 200, 201, -1, 203,
18856 : -1, 205, -1, -1, 208, -1, 210, 211, 212, 213,
18857 : 214, -1, -1, 217, 218, -1, 220, -1, -1, 223,
18858 : 224, 225, -1, -1, 228, 229, 230, 231, 232, 233,
18859 : 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
18860 : 244, -1, 246, 247, 248, 249, 250, -1, 252, 253,
18861 : -1, 255, -1, 257, 258, 259, 260, 261, 262, -1,
18862 : 264, 265, -1, -1, 268, 269, 270, -1, -1, 273,
18863 : 274, -1, 276, -1, 278, 279, 280, 281, 282, 283,
18864 : 284, 285, 286, 287, -1, 289, 290, 291, 292, 293,
18865 : 294, 295, 296, -1, 298, 299, 300, 301, 302, 303,
18866 : 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
18867 : 314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
18868 : 324, -1, 326, 327, -1, 329, 330, 331, 332, 333,
18869 : 334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
18870 : 344, 345, 346, 347, -1, 349, 350, 351, 352, 353,
18871 : -1, 355, 356, 357, 358, -1, 360, 361, 362, 363,
18872 : 364, 365, 366, 367, 368, 369, 370, 371, 372, -1,
18873 : 374, 375, -1, 377, -1, 379, 380, 381, 382, 383,
18874 : -1, 385, 386, -1, -1, 389, 390, 391, 392, 393,
18875 : -1, 395, 396, 397, 398, 399, 400, 401, -1, -1,
18876 : 404, 405, 406, 407, 408, -1, -1, 411, 412, 413,
18877 : 414, 415, 416, 417, -1, 419, -1, 421, 422, 423,
18878 : 424, -1, -1, 427, -1, -1, 430, 431, 432, 433,
18879 : 434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
18880 : 444, 445, 446, 447, 448, 449, 3, -1, -1, -1,
18881 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
18882 : -1, 18, 19, 20, 21, 22, 23, 24, 25, 26,
18883 : 27, 28, 29, -1, -1, -1, -1, -1, -1, -1,
18884 : 37, 38, -1, 40, 41, 42, -1, 44, 45, 46,
18885 : 47, 48, -1, 50, 51, -1, 53, 54, 55, 56,
18886 : 57, -1, -1, 60, 61, 62, 63, 64, -1, 66,
18887 : 67, 68, 69, 70, -1, -1, -1, 74, 75, 76,
18888 : 77, 78, -1, 80, 81, 82, -1, 84, 85, 86,
18889 : 87, 88, 89, -1, -1, 92, 93, 94, -1, -1,
18890 : -1, -1, -1, -1, -1, 102, 103, 104, 105, 106,
18891 : 107, 108, 109, 110, -1, 112, -1, 114, 115, 116,
18892 : 117, 118, 119, -1, 121, 122, 123, 124, -1, -1,
18893 : 127, 128, 129, 130, 131, -1, 133, 134, 135, -1,
18894 : 137, 138, 139, -1, 141, 142, 143, 144, 145, 146,
18895 : 147, 148, 149, -1, 151, -1, 153, 154, 155, 156,
18896 : -1, 158, 159, 160, -1, -1, -1, 164, 165, 166,
18897 : 167, -1, 169, 170, -1, 172, 173, -1, 175, 176,
18898 : 177, 178, 179, -1, 181, 182, 183, 184, -1, 186,
18899 : 187, 188, 189, 190, 191, -1, 193, -1, 195, 196,
18900 : 197, 198, 199, 200, 201, -1, 203, -1, 205, -1,
18901 : -1, 208, -1, 210, 211, 212, 213, 214, -1, -1,
18902 : 217, 218, -1, 220, -1, -1, 223, 224, 225, -1,
18903 : -1, 228, 229, 230, 231, 232, 233, 234, 235, 236,
18904 : 237, 238, 239, 240, 241, 242, 243, 244, -1, 246,
18905 : 247, 248, 249, 250, -1, 252, 253, -1, 255, -1,
18906 : 257, 258, 259, 260, 261, 262, -1, 264, 265, -1,
18907 : -1, 268, 269, 270, -1, -1, 273, 274, -1, 276,
18908 : -1, 278, 279, 280, 281, 282, 283, 284, 285, 286,
18909 : 287, -1, 289, 290, 291, 292, 293, 294, 295, 296,
18910 : -1, 298, 299, 300, 301, 302, 303, 304, 305, 306,
18911 : 307, 308, 309, 310, 311, -1, 313, 314, 315, 316,
18912 : 317, 318, 319, 320, 321, 322, 323, 324, -1, 326,
18913 : 327, -1, 329, 330, 331, 332, 333, 334, 335, 336,
18914 : 337, 338, 339, 340, 341, -1, 343, 344, 345, 346,
18915 : 347, -1, 349, 350, 351, 352, 353, -1, 355, 356,
18916 : 357, 358, -1, 360, 361, 362, 363, 364, 365, 366,
18917 : 367, 368, 369, 370, 371, 372, -1, 374, 375, 376,
18918 : 377, -1, 379, 380, 381, 382, 383, -1, 385, 386,
18919 : -1, -1, 389, 390, 391, 392, 393, -1, 395, 396,
18920 : 397, 398, 399, 400, 401, -1, -1, 404, 405, 406,
18921 : 407, 408, -1, -1, 411, 412, 413, 414, 415, 416,
18922 : 417, -1, 419, -1, 421, 422, 423, 424, -1, -1,
18923 : 427, -1, -1, 430, 431, 432, 433, 434, 435, 436,
18924 : 437, 438, 439, 440, 441, 442, 443, 444, 445, 446,
18925 : 447, 448, 449, 3, -1, -1, -1, -1, -1, -1,
18926 : -1, -1, -1, -1, -1, -1, -1, -1, 18, 19,
18927 : 20, 21, 22, 23, 24, 25, -1, 27, 28, 29,
18928 : -1, -1, -1, -1, -1, -1, -1, 37, 38, -1,
18929 : 40, 41, 42, -1, 44, 45, 46, 47, 48, -1,
18930 : 50, 51, -1, 53, 54, 55, 56, 57, -1, -1,
18931 : 60, 61, 62, 63, 64, -1, 66, 67, 68, 69,
18932 : 70, -1, -1, -1, 74, 75, 76, 77, 78, -1,
18933 : 80, 81, 82, -1, 84, 85, 86, 87, 88, 89,
18934 : 90, -1, 92, 93, 94, -1, -1, -1, -1, -1,
18935 : -1, -1, 102, 103, 104, 105, 106, 107, 108, 109,
18936 : 110, -1, 112, -1, 114, 115, 116, 117, 118, 119,
18937 : -1, 121, 122, 123, 124, -1, -1, 127, 128, 129,
18938 : 130, 131, -1, 133, 134, 135, -1, 137, 138, 139,
18939 : -1, 141, 142, 143, 144, 145, 146, 147, 148, 149,
18940 : -1, 151, -1, 153, 154, 155, 156, -1, 158, -1,
18941 : 160, -1, -1, -1, 164, 165, 166, 167, -1, 169,
18942 : 170, -1, 172, 173, -1, 175, 176, 177, 178, 179,
18943 : -1, 181, 182, 183, 184, -1, 186, 187, 188, 189,
18944 : 190, 191, -1, 193, -1, 195, 196, 197, 198, 199,
18945 : 200, 201, -1, 203, -1, 205, -1, -1, 208, -1,
18946 : 210, 211, 212, 213, 214, -1, -1, 217, 218, -1,
18947 : 220, -1, -1, 223, 224, 225, -1, -1, 228, 229,
18948 : 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
18949 : 240, 241, 242, 243, 244, -1, 246, 247, 248, 249,
18950 : 250, -1, 252, 253, -1, 255, -1, 257, 258, 259,
18951 : 260, 261, 262, -1, 264, 265, -1, -1, 268, 269,
18952 : 270, -1, -1, 273, 274, -1, 276, -1, 278, 279,
18953 : 280, 281, 282, 283, 284, 285, 286, 287, -1, 289,
18954 : 290, 291, 292, 293, 294, 295, 296, -1, 298, 299,
18955 : 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
18956 : 310, 311, 312, 313, 314, 315, 316, 317, 318, 319,
18957 : 320, 321, 322, 323, 324, -1, 326, 327, -1, 329,
18958 : 330, 331, 332, 333, 334, 335, 336, 337, 338, 339,
18959 : 340, 341, 342, 343, 344, 345, 346, 347, -1, 349,
18960 : 350, 351, 352, 353, -1, 355, 356, 357, 358, -1,
18961 : 360, 361, 362, 363, 364, 365, 366, 367, 368, 369,
18962 : 370, 371, 372, -1, 374, 375, -1, 377, -1, 379,
18963 : 380, 381, 382, 383, -1, 385, 386, -1, -1, 389,
18964 : 390, 391, 392, 393, -1, 395, 396, 397, 398, 399,
18965 : 400, 401, -1, -1, 404, 405, 406, 407, 408, -1,
18966 : -1, 411, 412, 413, 414, 415, 416, 417, -1, 419,
18967 : -1, 421, 422, 423, 424, -1, -1, 427, -1, -1,
18968 : 430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
18969 : 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
18970 : 3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
18971 : -1, -1, -1, -1, -1, 18, 19, 20, 21, 22,
18972 : 23, 24, 25, 26, 27, 28, 29, -1, -1, -1,
18973 : -1, -1, -1, -1, 37, 38, -1, 40, 41, 42,
18974 : -1, 44, 45, 46, 47, 48, -1, 50, 51, -1,
18975 : 53, 54, 55, 56, 57, -1, -1, 60, 61, 62,
18976 : 63, 64, -1, 66, 67, 68, 69, 70, -1, -1,
18977 : -1, 74, 75, 76, 77, 78, -1, 80, 81, 82,
18978 : -1, 84, 85, 86, 87, 88, 89, -1, -1, 92,
18979 : 93, 94, -1, -1, -1, -1, -1, -1, -1, 102,
18980 : 103, 104, 105, 106, 107, 108, 109, 110, -1, 112,
18981 : -1, 114, 115, 116, 117, 118, 119, -1, 121, 122,
18982 : 123, 124, -1, -1, 127, 128, 129, 130, 131, -1,
18983 : 133, 134, 135, -1, 137, 138, 139, -1, 141, 142,
18984 : 143, 144, 145, 146, 147, 148, 149, -1, 151, -1,
18985 : 153, 154, 155, 156, -1, 158, -1, 160, -1, -1,
18986 : -1, 164, 165, 166, 167, -1, 169, 170, -1, 172,
18987 : 173, -1, 175, 176, 177, 178, 179, -1, 181, 182,
18988 : 183, 184, -1, 186, 187, 188, 189, 190, 191, -1,
18989 : 193, -1, 195, 196, 197, 198, 199, 200, 201, -1,
18990 : 203, -1, 205, -1, -1, 208, -1, 210, 211, 212,
18991 : 213, 214, -1, -1, 217, 218, -1, 220, -1, -1,
18992 : 223, 224, 225, -1, -1, 228, 229, 230, 231, 232,
18993 : 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
18994 : 243, 244, -1, 246, 247, 248, 249, 250, -1, 252,
18995 : 253, -1, 255, -1, 257, 258, 259, 260, 261, 262,
18996 : -1, 264, 265, -1, 267, 268, 269, 270, -1, -1,
18997 : 273, 274, -1, 276, -1, 278, 279, 280, 281, 282,
18998 : 283, 284, 285, 286, 287, -1, 289, 290, 291, 292,
18999 : 293, 294, 295, 296, -1, 298, 299, 300, 301, 302,
19000 : 303, 304, 305, 306, 307, 308, 309, 310, 311, -1,
19001 : 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
19002 : 323, 324, -1, 326, 327, -1, 329, 330, 331, 332,
19003 : 333, 334, 335, 336, 337, 338, 339, 340, 341, -1,
19004 : 343, 344, 345, 346, 347, -1, 349, 350, 351, 352,
19005 : 353, -1, 355, 356, 357, 358, -1, 360, 361, 362,
19006 : 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
19007 : -1, 374, 375, -1, 377, -1, 379, 380, 381, 382,
19008 : 383, -1, 385, 386, -1, -1, 389, 390, 391, 392,
19009 : 393, -1, 395, 396, 397, 398, 399, 400, 401, -1,
19010 : -1, 404, 405, 406, 407, 408, -1, -1, 411, 412,
19011 : 413, 414, 415, 416, 417, -1, 419, -1, 421, 422,
19012 : 423, 424, -1, -1, 427, -1, -1, 430, 431, 432,
19013 : 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
19014 : 443, 444, 445, 446, 447, 448, 449, 3, -1, -1,
19015 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
19016 : -1, -1, 18, 19, 20, 21, 22, 23, 24, 25,
19017 : -1, 27, 28, 29, 30, 31, -1, -1, -1, -1,
19018 : -1, 37, 38, -1, 40, 41, 42, -1, 44, 45,
19019 : 46, 47, 48, -1, 50, 51, -1, 53, 54, 55,
19020 : 56, 57, -1, -1, 60, 61, 62, 63, 64, -1,
19021 : 66, 67, 68, 69, 70, -1, -1, -1, 74, 75,
19022 : 76, 77, 78, -1, 80, 81, 82, -1, 84, 85,
19023 : 86, 87, 88, 89, -1, -1, 92, 93, 94, -1,
19024 : -1, -1, -1, -1, -1, -1, 102, 103, 104, 105,
19025 : 106, 107, 108, 109, 110, -1, 112, -1, 114, 115,
19026 : 116, 117, 118, 119, -1, 121, 122, 123, 124, -1,
19027 : -1, 127, 128, 129, 130, 131, -1, 133, 134, 135,
19028 : -1, 137, 138, 139, -1, 141, 142, 143, 144, 145,
19029 : 146, 147, 148, 149, -1, 151, -1, 153, 154, 155,
19030 : 156, -1, 158, -1, 160, -1, -1, -1, 164, 165,
19031 : 166, 167, -1, 169, 170, -1, 172, 173, -1, 175,
19032 : 176, 177, 178, 179, -1, 181, 182, 183, 184, -1,
19033 : 186, 187, 188, 189, 190, 191, -1, 193, -1, 195,
19034 : 196, 197, 198, 199, 200, 201, -1, 203, -1, 205,
19035 : -1, -1, 208, -1, 210, 211, 212, 213, 214, -1,
19036 : -1, 217, 218, -1, 220, -1, -1, 223, 224, 225,
19037 : -1, -1, 228, 229, 230, 231, 232, 233, 234, 235,
19038 : 236, 237, 238, 239, 240, 241, 242, 243, 244, -1,
19039 : 246, 247, 248, 249, 250, -1, 252, 253, -1, 255,
19040 : -1, 257, 258, 259, 260, 261, 262, -1, 264, 265,
19041 : -1, -1, 268, 269, 270, -1, -1, 273, 274, -1,
19042 : 276, -1, 278, 279, 280, 281, 282, 283, 284, 285,
19043 : 286, 287, -1, 289, 290, 291, 292, 293, 294, 295,
19044 : 296, -1, 298, 299, 300, 301, 302, 303, 304, 305,
19045 : 306, 307, 308, 309, 310, 311, -1, 313, 314, 315,
19046 : 316, 317, 318, 319, 320, 321, 322, 323, 324, -1,
19047 : 326, 327, -1, 329, 330, 331, 332, 333, 334, 335,
19048 : 336, 337, 338, 339, 340, 341, -1, 343, 344, 345,
19049 : 346, 347, -1, 349, 350, 351, 352, 353, -1, 355,
19050 : 356, 357, 358, -1, 360, 361, 362, 363, 364, 365,
19051 : 366, 367, 368, 369, 370, 371, 372, -1, 374, 375,
19052 : -1, 377, -1, 379, 380, 381, 382, 383, -1, 385,
19053 : 386, -1, -1, 389, 390, 391, 392, 393, -1, 395,
19054 : 396, 397, 398, 399, 400, 401, -1, -1, 404, 405,
19055 : 406, 407, 408, -1, -1, 411, 412, 413, 414, 415,
19056 : 416, 417, -1, 419, -1, 421, 422, 423, 424, -1,
19057 : -1, 427, -1, -1, 430, 431, 432, 433, 434, 435,
19058 : 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
19059 : 446, 447, 448, 449, 3, -1, -1, -1, -1, -1,
19060 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
19061 : 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
19062 : 29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
19063 : -1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
19064 : -1, 50, 51, -1, 53, 54, 55, 56, 57, -1,
19065 : -1, 60, 61, 62, 63, 64, -1, 66, 67, 68,
19066 : 69, 70, -1, -1, -1, 74, 75, 76, 77, 78,
19067 : -1, 80, 81, 82, -1, 84, 85, 86, 87, 88,
19068 : 89, -1, -1, 92, 93, 94, -1, -1, -1, -1,
19069 : -1, -1, -1, 102, 103, 104, 105, 106, 107, 108,
19070 : 109, 110, -1, 112, -1, 114, 115, 116, 117, 118,
19071 : 119, -1, 121, 122, 123, 124, -1, -1, 127, 128,
19072 : 129, 130, 131, -1, 133, 134, 135, -1, 137, 138,
19073 : 139, -1, 141, 142, 143, 144, 145, 146, 147, 148,
19074 : 149, -1, 151, -1, 153, 154, 155, 156, -1, 158,
19075 : -1, 160, -1, -1, -1, 164, 165, 166, 167, -1,
19076 : 169, 170, -1, 172, 173, -1, 175, 176, 177, 178,
19077 : 179, -1, 181, 182, 183, 184, -1, 186, 187, 188,
19078 : 189, 190, 191, -1, 193, -1, 195, 196, 197, 198,
19079 : 199, 200, 201, -1, 203, -1, 205, -1, -1, 208,
19080 : -1, 210, 211, 212, 213, 214, -1, -1, 217, 218,
19081 : -1, 220, -1, -1, 223, 224, 225, -1, -1, 228,
19082 : 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
19083 : 239, 240, 241, 242, 243, 244, -1, 246, 247, 248,
19084 : 249, 250, -1, 252, 253, -1, 255, -1, 257, 258,
19085 : 259, 260, 261, 262, -1, 264, 265, -1, -1, 268,
19086 : 269, 270, -1, -1, 273, 274, -1, 276, -1, 278,
19087 : 279, 280, 281, 282, 283, 284, 285, 286, 287, -1,
19088 : 289, 290, 291, 292, 293, 294, 295, 296, -1, 298,
19089 : 299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
19090 : 309, 310, 311, -1, 313, 314, 315, 316, 317, 318,
19091 : 319, 320, 321, 322, 323, 324, -1, 326, 327, -1,
19092 : 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
19093 : 339, 340, 341, -1, 343, 344, 345, 346, 347, -1,
19094 : 349, 350, 351, 352, 353, -1, 355, 356, 357, 358,
19095 : -1, 360, 361, 362, 363, 364, 365, 366, 367, 368,
19096 : 369, 370, 371, 372, -1, 374, 375, -1, 377, -1,
19097 : 379, 380, 381, 382, 383, -1, 385, 386, -1, -1,
19098 : 389, 390, 391, 392, 393, -1, 395, 396, 397, 398,
19099 : 399, 400, 401, -1, -1, 404, 405, 406, 407, 408,
19100 : 409, -1, 411, 412, 413, 414, 415, 416, 417, -1,
19101 : 419, -1, 421, 422, 423, 424, -1, -1, 427, -1,
19102 : -1, 430, 431, 432, 433, 434, 435, 436, 437, 438,
19103 : 439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
19104 : 449, 3, -1, -1, -1, -1, -1, -1, -1, -1,
19105 : -1, -1, -1, -1, -1, -1, 18, 19, 20, 21,
19106 : 22, 23, 24, 25, 26, 27, 28, 29, -1, -1,
19107 : -1, -1, -1, -1, -1, 37, 38, -1, 40, 41,
19108 : 42, -1, 44, 45, 46, 47, 48, -1, 50, 51,
19109 : -1, 53, 54, 55, 56, 57, -1, -1, 60, 61,
19110 : 62, 63, 64, -1, 66, 67, 68, 69, 70, -1,
19111 : -1, -1, 74, 75, 76, 77, 78, -1, 80, 81,
19112 : 82, -1, 84, 85, 86, 87, 88, 89, -1, -1,
19113 : 92, 93, 94, -1, -1, -1, -1, -1, -1, -1,
19114 : 102, 103, 104, 105, 106, 107, 108, 109, 110, -1,
19115 : 112, -1, 114, 115, 116, 117, 118, 119, -1, 121,
19116 : 122, 123, 124, -1, -1, 127, 128, 129, 130, 131,
19117 : -1, 133, 134, 135, -1, 137, 138, 139, -1, 141,
19118 : 142, 143, 144, 145, 146, 147, 148, 149, -1, 151,
19119 : -1, 153, 154, 155, 156, -1, 158, -1, 160, -1,
19120 : -1, -1, 164, 165, 166, 167, -1, 169, 170, -1,
19121 : 172, 173, -1, 175, 176, 177, 178, 179, -1, 181,
19122 : 182, 183, 184, -1, 186, 187, 188, 189, 190, 191,
19123 : -1, 193, -1, 195, 196, 197, 198, 199, 200, 201,
19124 : -1, 203, -1, 205, -1, -1, 208, -1, 210, 211,
19125 : 212, 213, 214, -1, -1, 217, 218, -1, 220, -1,
19126 : -1, 223, 224, 225, -1, -1, 228, 229, 230, 231,
19127 : 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
19128 : 242, 243, 244, -1, 246, 247, 248, 249, 250, -1,
19129 : 252, 253, -1, 255, -1, 257, 258, 259, 260, 261,
19130 : 262, -1, 264, 265, -1, -1, 268, 269, 270, -1,
19131 : -1, 273, 274, -1, 276, -1, 278, 279, 280, 281,
19132 : 282, 283, 284, 285, 286, 287, -1, 289, 290, 291,
19133 : 292, 293, 294, 295, 296, -1, 298, 299, 300, 301,
19134 : 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
19135 : -1, 313, 314, 315, 316, 317, 318, 319, 320, 321,
19136 : 322, 323, 324, -1, 326, 327, -1, 329, 330, 331,
19137 : 332, 333, 334, 335, 336, 337, 338, 339, 340, 341,
19138 : -1, 343, 344, 345, 346, 347, -1, 349, 350, 351,
19139 : 352, 353, -1, 355, 356, 357, 358, -1, 360, 361,
19140 : 362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
19141 : 372, -1, 374, 375, -1, 377, -1, 379, 380, 381,
19142 : 382, 383, -1, 385, 386, -1, -1, 389, 390, 391,
19143 : 392, 393, -1, 395, 396, 397, 398, 399, 400, 401,
19144 : -1, -1, 404, 405, 406, 407, 408, 409, -1, 411,
19145 : 412, 413, 414, 415, 416, 417, -1, 419, -1, 421,
19146 : 422, 423, 424, -1, -1, 427, -1, -1, 430, 431,
19147 : 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
19148 : 442, 443, 444, 445, 446, 447, 448, 449, 3, -1,
19149 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
19150 : -1, -1, -1, 18, 19, 20, 21, 22, 23, 24,
19151 : 25, 26, 27, 28, 29, -1, -1, -1, -1, -1,
19152 : -1, -1, 37, 38, -1, 40, 41, 42, -1, 44,
19153 : 45, 46, 47, 48, -1, 50, 51, -1, 53, 54,
19154 : 55, 56, 57, -1, -1, 60, 61, 62, 63, 64,
19155 : -1, 66, 67, 68, 69, 70, -1, -1, -1, 74,
19156 : 75, 76, 77, 78, -1, 80, 81, 82, -1, 84,
19157 : 85, 86, 87, 88, 89, -1, -1, 92, 93, 94,
19158 : -1, -1, -1, -1, -1, -1, -1, 102, 103, 104,
19159 : 105, 106, 107, 108, 109, 110, -1, 112, -1, 114,
19160 : 115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
19161 : -1, -1, 127, 128, 129, 130, 131, -1, 133, 134,
19162 : 135, -1, 137, 138, 139, -1, 141, 142, 143, 144,
19163 : 145, 146, 147, 148, 149, -1, 151, -1, 153, 154,
19164 : 155, 156, -1, 158, -1, 160, -1, -1, -1, 164,
19165 : 165, 166, 167, -1, 169, 170, -1, 172, 173, -1,
19166 : 175, 176, 177, 178, 179, -1, 181, 182, 183, 184,
19167 : -1, 186, 187, 188, 189, 190, 191, -1, 193, -1,
19168 : 195, 196, 197, 198, 199, 200, 201, -1, 203, -1,
19169 : 205, -1, -1, 208, -1, 210, 211, 212, 213, 214,
19170 : -1, -1, 217, 218, -1, 220, -1, -1, 223, 224,
19171 : 225, -1, -1, 228, 229, 230, 231, 232, 233, 234,
19172 : 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
19173 : -1, 246, 247, 248, 249, 250, -1, 252, 253, -1,
19174 : 255, -1, 257, 258, 259, 260, 261, 262, -1, 264,
19175 : 265, -1, -1, 268, 269, 270, -1, -1, 273, 274,
19176 : -1, 276, -1, 278, 279, 280, 281, 282, 283, 284,
19177 : 285, 286, 287, -1, 289, 290, 291, 292, 293, 294,
19178 : 295, 296, -1, 298, 299, 300, 301, 302, 303, 304,
19179 : 305, 306, 307, 308, 309, 310, 311, -1, 313, 314,
19180 : 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
19181 : -1, 326, 327, -1, 329, 330, 331, 332, 333, 334,
19182 : 335, 336, 337, 338, 339, 340, 341, -1, 343, 344,
19183 : 345, 346, 347, -1, 349, 350, 351, 352, 353, -1,
19184 : 355, 356, 357, 358, -1, 360, 361, 362, 363, 364,
19185 : 365, 366, 367, 368, 369, 370, 371, 372, -1, 374,
19186 : 375, -1, 377, -1, 379, 380, 381, 382, 383, -1,
19187 : 385, 386, -1, -1, 389, 390, 391, 392, 393, -1,
19188 : 395, 396, 397, 398, 399, 400, 401, -1, -1, 404,
19189 : 405, 406, 407, 408, -1, -1, 411, 412, 413, 414,
19190 : 415, 416, 417, -1, 419, -1, 421, 422, 423, 424,
19191 : -1, -1, 427, -1, -1, 430, 431, 432, 433, 434,
19192 : 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
19193 : 445, 446, 447, 448, 449, 3, -1, -1, -1, -1,
19194 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
19195 : 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
19196 : 28, 29, -1, -1, -1, -1, -1, -1, -1, 37,
19197 : 38, -1, 40, 41, 42, -1, 44, 45, 46, 47,
19198 : 48, -1, 50, 51, -1, 53, 54, 55, 56, 57,
19199 : -1, -1, 60, 61, 62, 63, 64, -1, 66, 67,
19200 : 68, 69, 70, -1, -1, -1, 74, 75, 76, 77,
19201 : 78, -1, 80, 81, 82, -1, 84, 85, 86, 87,
19202 : 88, 89, -1, -1, 92, 93, 94, -1, -1, -1,
19203 : -1, -1, -1, -1, 102, 103, 104, 105, 106, 107,
19204 : 108, 109, 110, -1, 112, -1, 114, 115, 116, 117,
19205 : 118, 119, -1, 121, 122, 123, 124, -1, -1, 127,
19206 : 128, 129, 130, 131, -1, 133, 134, 135, -1, 137,
19207 : 138, 139, -1, 141, 142, 143, 144, 145, 146, 147,
19208 : 148, 149, -1, 151, -1, 153, 154, 155, 156, -1,
19209 : 158, -1, 160, -1, -1, -1, 164, 165, 166, 167,
19210 : -1, 169, 170, -1, 172, 173, -1, 175, 176, 177,
19211 : 178, 179, -1, 181, 182, 183, 184, -1, 186, 187,
19212 : 188, 189, 190, 191, -1, 193, -1, 195, 196, 197,
19213 : 198, 199, 200, 201, -1, 203, -1, 205, -1, -1,
19214 : 208, -1, 210, 211, 212, 213, 214, -1, -1, 217,
19215 : 218, -1, 220, -1, -1, 223, 224, 225, -1, -1,
19216 : 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
19217 : 238, 239, 240, 241, 242, 243, 244, -1, 246, 247,
19218 : 248, 249, 250, -1, 252, 253, -1, 255, -1, 257,
19219 : 258, 259, 260, 261, 262, -1, 264, 265, -1, -1,
19220 : 268, 269, 270, -1, -1, 273, 274, -1, 276, -1,
19221 : 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
19222 : -1, 289, 290, 291, 292, 293, 294, 295, 296, -1,
19223 : 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
19224 : 308, 309, 310, 311, -1, 313, 314, 315, 316, 317,
19225 : 318, 319, 320, 321, 322, 323, 324, -1, 326, 327,
19226 : -1, 329, 330, 331, 332, 333, 334, 335, 336, 337,
19227 : 338, 339, 340, 341, -1, 343, 344, 345, 346, 347,
19228 : -1, 349, 350, 351, 352, 353, -1, 355, 356, 357,
19229 : 358, -1, 360, 361, 362, 363, 364, 365, 366, 367,
19230 : 368, 369, 370, 371, 372, -1, 374, 375, -1, 377,
19231 : -1, 379, 380, 381, 382, 383, -1, 385, 386, -1,
19232 : -1, 389, 390, 391, 392, 393, -1, 395, 396, 397,
19233 : 398, 399, 400, 401, -1, -1, 404, 405, 406, 407,
19234 : 408, -1, -1, 411, 412, 413, 414, 415, 416, 417,
19235 : -1, 419, -1, 421, 422, 423, 424, -1, -1, 427,
19236 : -1, -1, 430, 431, 432, 433, 434, 435, 436, 437,
19237 : 438, 439, 440, 441, 442, 443, 444, 445, 446, 447,
19238 : 448, 449, 3, -1, -1, -1, -1, -1, -1, -1,
19239 : -1, -1, -1, -1, -1, -1, -1, 18, 19, 20,
19240 : 21, 22, 23, 24, 25, 26, 27, 28, 29, -1,
19241 : -1, -1, -1, -1, -1, -1, 37, 38, -1, 40,
19242 : 41, 42, -1, 44, 45, 46, 47, 48, -1, 50,
19243 : 51, -1, 53, 54, 55, 56, 57, -1, -1, 60,
19244 : 61, 62, 63, 64, -1, 66, 67, 68, 69, 70,
19245 : -1, -1, -1, 74, 75, 76, 77, 78, -1, 80,
19246 : 81, 82, -1, 84, 85, 86, 87, 88, 89, -1,
19247 : -1, 92, 93, 94, -1, -1, -1, -1, -1, -1,
19248 : -1, 102, 103, 104, 105, 106, 107, 108, 109, 110,
19249 : -1, 112, -1, 114, 115, 116, 117, 118, 119, -1,
19250 : 121, 122, 123, 124, -1, -1, 127, 128, 129, 130,
19251 : 131, -1, 133, 134, 135, -1, 137, 138, 139, -1,
19252 : 141, 142, 143, 144, 145, 146, 147, 148, 149, -1,
19253 : 151, -1, 153, 154, 155, 156, -1, 158, -1, 160,
19254 : -1, -1, -1, 164, 165, 166, 167, -1, 169, 170,
19255 : -1, 172, 173, -1, 175, 176, 177, 178, 179, -1,
19256 : 181, 182, 183, 184, -1, 186, 187, 188, 189, 190,
19257 : 191, -1, 193, -1, 195, 196, 197, 198, 199, 200,
19258 : 201, -1, 203, -1, 205, -1, -1, 208, -1, 210,
19259 : 211, 212, 213, 214, -1, -1, 217, 218, -1, 220,
19260 : -1, -1, 223, 224, 225, -1, -1, 228, 229, 230,
19261 : 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
19262 : 241, 242, 243, 244, -1, 246, 247, 248, 249, 250,
19263 : -1, 252, 253, -1, 255, -1, 257, 258, 259, 260,
19264 : 261, 262, -1, 264, 265, -1, -1, 268, 269, 270,
19265 : -1, -1, 273, 274, -1, 276, -1, 278, 279, 280,
19266 : 281, 282, 283, 284, 285, 286, 287, -1, 289, 290,
19267 : 291, 292, 293, 294, 295, 296, -1, 298, 299, 300,
19268 : 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
19269 : 311, -1, 313, 314, 315, 316, 317, 318, 319, 320,
19270 : 321, 322, 323, 324, -1, 326, 327, -1, 329, 330,
19271 : 331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
19272 : 341, -1, 343, 344, 345, 346, 347, -1, 349, 350,
19273 : 351, 352, 353, -1, 355, 356, 357, 358, -1, 360,
19274 : 361, 362, 363, 364, 365, 366, 367, 368, 369, 370,
19275 : 371, 372, -1, 374, 375, -1, 377, -1, 379, 380,
19276 : 381, 382, 383, -1, 385, 386, -1, -1, 389, 390,
19277 : 391, 392, 393, -1, 395, 396, 397, 398, 399, 400,
19278 : 401, -1, -1, 404, 405, 406, 407, 408, -1, -1,
19279 : 411, 412, 413, 414, 415, 416, 417, -1, 419, -1,
19280 : 421, 422, 423, 424, -1, -1, 427, -1, -1, 430,
19281 : 431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
19282 : 441, 442, 443, 444, 445, 446, 447, 448, 449, 3,
19283 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
19284 : -1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
19285 : 24, 25, 26, 27, 28, 29, -1, -1, -1, -1,
19286 : -1, -1, -1, 37, 38, -1, 40, 41, 42, -1,
19287 : 44, 45, 46, 47, 48, -1, 50, 51, -1, 53,
19288 : 54, 55, 56, 57, -1, -1, 60, 61, 62, 63,
19289 : 64, -1, 66, 67, 68, 69, 70, -1, -1, -1,
19290 : 74, 75, 76, 77, 78, -1, 80, 81, 82, -1,
19291 : 84, 85, 86, 87, 88, 89, -1, -1, 92, 93,
19292 : 94, -1, -1, -1, -1, -1, -1, -1, 102, 103,
19293 : 104, 105, 106, 107, 108, 109, 110, -1, 112, -1,
19294 : 114, 115, 116, 117, 118, 119, -1, 121, 122, 123,
19295 : 124, -1, -1, 127, 128, 129, 130, 131, -1, 133,
19296 : 134, 135, -1, 137, 138, 139, -1, 141, 142, 143,
19297 : 144, 145, 146, 147, 148, 149, -1, 151, -1, 153,
19298 : 154, 155, 156, -1, 158, -1, 160, -1, -1, -1,
19299 : 164, 165, 166, 167, -1, 169, 170, -1, 172, 173,
19300 : -1, 175, 176, 177, 178, 179, -1, 181, 182, 183,
19301 : 184, -1, 186, 187, 188, 189, 190, 191, -1, 193,
19302 : -1, 195, 196, 197, 198, 199, 200, 201, -1, 203,
19303 : -1, 205, -1, -1, 208, -1, 210, 211, 212, 213,
19304 : 214, -1, -1, 217, 218, -1, 220, -1, -1, 223,
19305 : 224, 225, -1, -1, 228, 229, 230, 231, 232, 233,
19306 : 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
19307 : 244, -1, 246, 247, 248, 249, 250, -1, 252, 253,
19308 : -1, 255, -1, 257, 258, 259, 260, 261, 262, -1,
19309 : 264, 265, -1, -1, 268, 269, 270, -1, -1, 273,
19310 : 274, -1, 276, -1, 278, 279, 280, 281, 282, 283,
19311 : 284, 285, 286, 287, -1, 289, 290, 291, 292, 293,
19312 : 294, 295, 296, -1, 298, 299, 300, 301, 302, 303,
19313 : 304, 305, 306, 307, 308, 309, 310, 311, -1, 313,
19314 : 314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
19315 : 324, -1, 326, 327, -1, 329, 330, 331, 332, 333,
19316 : 334, 335, 336, 337, 338, 339, 340, 341, -1, 343,
19317 : 344, 345, 346, 347, -1, 349, 350, 351, 352, 353,
19318 : -1, 355, 356, 357, 358, -1, 360, 361, 362, 363,
19319 : 364, 365, 366, 367, 368, 369, 370, 371, 372, -1,
19320 : 374, 375, -1, 377, -1, 379, 380, 381, 382, 383,
19321 : -1, 385, 386, -1, -1, 389, 390, 391, 392, 393,
19322 : -1, 395, 396, 397, 398, 399, 400, 401, -1, -1,
19323 : 404, 405, 406, 407, 408, -1, -1, 411, 412, 413,
19324 : 414, 415, 416, 417, -1, 419, -1, 421, 422, 423,
19325 : 424, -1, -1, 427, -1, -1, 430, 431, 432, 433,
19326 : 434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
19327 : 444, 445, 446, 447, 448, 449, 3, -1, -1, -1,
19328 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
19329 : -1, 18, 19, 20, 21, 22, 23, 24, 25, -1,
19330 : 27, 28, 29, -1, -1, -1, -1, -1, -1, -1,
19331 : 37, 38, -1, 40, 41, 42, -1, 44, 45, 46,
19332 : 47, 48, -1, 50, 51, -1, 53, 54, 55, 56,
19333 : 57, -1, -1, 60, 61, 62, 63, 64, -1, 66,
19334 : 67, 68, 69, 70, -1, -1, -1, 74, 75, 76,
19335 : 77, 78, -1, 80, 81, 82, -1, 84, 85, 86,
19336 : 87, 88, 89, -1, -1, 92, 93, 94, -1, -1,
19337 : -1, -1, -1, -1, -1, 102, 103, 104, 105, 106,
19338 : 107, 108, 109, 110, -1, 112, -1, 114, 115, 116,
19339 : 117, 118, 119, -1, 121, 122, 123, 124, -1, -1,
19340 : 127, 128, 129, 130, 131, -1, 133, 134, 135, -1,
19341 : 137, 138, 139, -1, 141, 142, 143, 144, 145, 146,
19342 : 147, 148, 149, -1, 151, -1, 153, 154, 155, 156,
19343 : -1, 158, -1, 160, -1, -1, -1, 164, 165, 166,
19344 : 167, -1, 169, 170, -1, 172, 173, -1, 175, 176,
19345 : 177, 178, 179, -1, 181, 182, 183, 184, -1, 186,
19346 : 187, 188, 189, 190, 191, -1, 193, -1, 195, 196,
19347 : 197, 198, 199, 200, 201, -1, 203, -1, 205, -1,
19348 : -1, 208, -1, 210, 211, 212, 213, 214, -1, -1,
19349 : 217, 218, -1, 220, -1, -1, 223, 224, 225, -1,
19350 : -1, 228, 229, 230, 231, 232, 233, 234, 235, 236,
19351 : 237, 238, 239, 240, 241, 242, 243, 244, -1, 246,
19352 : 247, 248, 249, 250, -1, 252, 253, -1, 255, -1,
19353 : 257, 258, 259, 260, 261, 262, -1, 264, 265, -1,
19354 : 267, 268, 269, 270, -1, -1, 273, 274, -1, 276,
19355 : -1, 278, 279, 280, 281, 282, 283, 284, 285, 286,
19356 : 287, -1, 289, 290, 291, 292, 293, 294, 295, 296,
19357 : -1, 298, 299, 300, 301, 302, 303, 304, 305, 306,
19358 : 307, 308, 309, 310, 311, -1, 313, 314, 315, 316,
19359 : 317, 318, 319, 320, 321, 322, 323, 324, -1, 326,
19360 : 327, -1, 329, 330, 331, 332, 333, 334, 335, 336,
19361 : 337, 338, 339, 340, 341, -1, 343, 344, 345, 346,
19362 : 347, -1, 349, 350, 351, 352, 353, -1, 355, 356,
19363 : 357, 358, -1, 360, 361, 362, 363, 364, 365, 366,
19364 : 367, 368, 369, 370, 371, 372, -1, 374, 375, -1,
19365 : 377, -1, 379, 380, 381, 382, 383, -1, 385, 386,
19366 : -1, -1, 389, 390, 391, 392, 393, -1, 395, 396,
19367 : 397, 398, 399, 400, 401, -1, -1, 404, 405, 406,
19368 : 407, 408, -1, -1, 411, 412, 413, 414, 415, 416,
19369 : 417, -1, 419, -1, 421, 422, 423, 424, -1, -1,
19370 : 427, -1, -1, 430, 431, 432, 433, 434, 435, 436,
19371 : 437, 438, 439, 440, 441, 442, 443, 444, 445, 446,
19372 : 447, 448, 449, 3, -1, -1, -1, -1, -1, -1,
19373 : -1, -1, -1, -1, -1, -1, -1, -1, 18, 19,
19374 : 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
19375 : -1, -1, -1, -1, -1, -1, -1, 37, 38, -1,
19376 : 40, 41, 42, -1, 44, 45, 46, 47, 48, -1,
19377 : 50, 51, -1, 53, 54, 55, 56, 57, -1, -1,
19378 : 60, 61, 62, 63, 64, -1, 66, 67, 68, 69,
19379 : 70, -1, -1, -1, 74, 75, 76, 77, 78, -1,
19380 : 80, 81, 82, -1, 84, 85, 86, 87, 88, 89,
19381 : -1, -1, 92, 93, 94, -1, -1, -1, -1, -1,
19382 : -1, -1, 102, 103, 104, 105, 106, 107, 108, 109,
19383 : 110, -1, 112, -1, 114, 115, 116, 117, 118, 119,
19384 : -1, 121, 122, 123, 124, -1, -1, 127, 128, 129,
19385 : 130, 131, -1, 133, 134, 135, -1, 137, 138, 139,
19386 : -1, 141, 142, 143, 144, 145, 146, 147, 148, 149,
19387 : -1, 151, -1, 153, 154, 155, 156, -1, 158, -1,
19388 : 160, -1, -1, -1, 164, 165, 166, 167, -1, 169,
19389 : 170, -1, 172, 173, -1, 175, 176, 177, 178, 179,
19390 : -1, 181, 182, 183, 184, -1, 186, 187, 188, 189,
19391 : 190, 191, -1, 193, -1, 195, 196, 197, 198, 199,
19392 : 200, 201, -1, 203, -1, 205, -1, -1, 208, -1,
19393 : 210, 211, 212, 213, 214, -1, -1, 217, 218, -1,
19394 : 220, -1, -1, 223, 224, 225, -1, -1, 228, 229,
19395 : 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
19396 : 240, 241, 242, 243, 244, -1, 246, 247, 248, 249,
19397 : 250, -1, 252, 253, -1, 255, -1, 257, 258, 259,
19398 : 260, 261, 262, -1, 264, 265, -1, -1, 268, 269,
19399 : 270, -1, -1, 273, 274, -1, 276, -1, 278, 279,
19400 : 280, 281, 282, 283, 284, 285, 286, 287, -1, 289,
19401 : 290, 291, 292, 293, 294, 295, 296, -1, 298, 299,
19402 : 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
19403 : 310, 311, -1, 313, 314, 315, 316, 317, 318, 319,
19404 : 320, 321, 322, 323, 324, -1, 326, 327, -1, 329,
19405 : 330, 331, 332, 333, 334, 335, 336, 337, 338, 339,
19406 : 340, 341, -1, 343, 344, 345, 346, 347, -1, 349,
19407 : 350, 351, 352, 353, -1, 355, 356, 357, 358, -1,
19408 : 360, 361, 362, 363, 364, 365, 366, 367, 368, 369,
19409 : 370, 371, 372, -1, 374, 375, -1, 377, -1, 379,
19410 : 380, 381, 382, 383, -1, 385, 386, -1, -1, 389,
19411 : 390, 391, 392, 393, -1, 395, 396, 397, 398, 399,
19412 : 400, 401, -1, -1, 404, 405, 406, 407, 408, -1,
19413 : -1, 411, 412, 413, 414, 415, 416, 417, -1, 419,
19414 : -1, 421, 422, 423, 424, -1, -1, 427, -1, -1,
19415 : 430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
19416 : 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
19417 : 3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
19418 : -1, -1, -1, -1, -1, 18, 19, 20, 21, 22,
19419 : 23, 24, 25, 26, 27, 28, 29, -1, -1, -1,
19420 : -1, -1, -1, -1, 37, 38, -1, 40, 41, 42,
19421 : -1, 44, 45, 46, 47, 48, -1, 50, 51, -1,
19422 : 53, 54, 55, 56, 57, -1, -1, 60, 61, 62,
19423 : 63, 64, -1, 66, 67, 68, 69, 70, -1, -1,
19424 : -1, 74, 75, 76, 77, 78, -1, 80, 81, 82,
19425 : -1, 84, 85, 86, 87, 88, 89, -1, -1, 92,
19426 : 93, 94, -1, -1, -1, -1, -1, -1, -1, 102,
19427 : 103, 104, 105, 106, 107, 108, 109, 110, -1, 112,
19428 : -1, 114, 115, 116, 117, 118, 119, -1, 121, 122,
19429 : 123, 124, -1, -1, 127, 128, 129, 130, 131, -1,
19430 : 133, 134, 135, -1, 137, 138, 139, -1, 141, 142,
19431 : 143, 144, 145, 146, 147, 148, 149, -1, 151, -1,
19432 : 153, 154, 155, 156, -1, 158, -1, 160, -1, -1,
19433 : -1, 164, 165, 166, 167, -1, 169, 170, -1, 172,
19434 : 173, -1, 175, 176, 177, 178, 179, -1, 181, 182,
19435 : 183, 184, -1, 186, 187, 188, 189, 190, 191, -1,
19436 : 193, -1, 195, 196, 197, 198, 199, 200, 201, -1,
19437 : 203, -1, 205, -1, -1, 208, -1, 210, 211, 212,
19438 : 213, 214, -1, -1, 217, 218, -1, 220, -1, -1,
19439 : 223, 224, 225, -1, -1, 228, 229, 230, 231, 232,
19440 : 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
19441 : 243, 244, -1, 246, 247, 248, 249, 250, -1, 252,
19442 : 253, -1, 255, -1, 257, 258, 259, 260, 261, 262,
19443 : -1, 264, 265, -1, -1, 268, 269, 270, -1, -1,
19444 : 273, 274, -1, 276, -1, 278, 279, 280, 281, 282,
19445 : 283, 284, 285, 286, 287, -1, 289, 290, 291, 292,
19446 : 293, 294, 295, 296, -1, 298, 299, 300, 301, 302,
19447 : 303, 304, 305, 306, 307, 308, 309, 310, 311, -1,
19448 : 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
19449 : 323, 324, -1, 326, 327, -1, 329, 330, 331, 332,
19450 : 333, 334, 335, 336, 337, 338, 339, 340, 341, -1,
19451 : 343, 344, 345, 346, 347, -1, 349, 350, 351, 352,
19452 : 353, -1, 355, 356, 357, 358, -1, 360, 361, 362,
19453 : 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
19454 : -1, 374, 375, -1, 377, -1, 379, 380, 381, 382,
19455 : 383, -1, 385, 386, -1, -1, 389, 390, 391, 392,
19456 : 393, -1, 395, 396, 397, 398, 399, 400, 401, -1,
19457 : -1, 404, 405, 406, 407, 408, -1, -1, 411, 412,
19458 : 413, 414, 415, 416, 417, -1, 419, -1, 421, 422,
19459 : 423, 424, -1, -1, 427, -1, -1, 430, 431, 432,
19460 : 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
19461 : 443, 444, 445, 446, 447, 448, 449, 3, -1, -1,
19462 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
19463 : -1, -1, 18, 19, 20, 21, 22, 23, 24, 25,
19464 : 26, 27, 28, 29, -1, -1, -1, -1, -1, -1,
19465 : -1, 37, 38, -1, 40, 41, 42, -1, 44, 45,
19466 : 46, 47, 48, -1, 50, 51, -1, 53, 54, 55,
19467 : 56, 57, -1, -1, 60, 61, 62, 63, 64, -1,
19468 : 66, 67, 68, 69, 70, -1, -1, -1, 74, 75,
19469 : 76, 77, 78, -1, 80, 81, 82, -1, 84, 85,
19470 : 86, 87, 88, 89, -1, -1, 92, 93, 94, -1,
19471 : -1, -1, -1, -1, -1, -1, 102, 103, 104, 105,
19472 : 106, 107, 108, 109, 110, -1, 112, -1, 114, 115,
19473 : 116, 117, 118, 119, -1, 121, 122, 123, 124, -1,
19474 : -1, 127, 128, 129, 130, 131, -1, 133, 134, 135,
19475 : -1, 137, 138, 139, -1, 141, 142, 143, 144, 145,
19476 : 146, 147, 148, 149, -1, 151, -1, 153, 154, 155,
19477 : 156, -1, 158, -1, 160, -1, -1, -1, 164, 165,
19478 : 166, 167, -1, 169, 170, -1, 172, 173, -1, 175,
19479 : 176, 177, 178, 179, -1, 181, 182, 183, 184, -1,
19480 : 186, 187, 188, 189, 190, 191, -1, 193, -1, 195,
19481 : 196, 197, 198, 199, 200, 201, -1, 203, -1, 205,
19482 : -1, -1, 208, -1, 210, 211, 212, 213, 214, -1,
19483 : -1, 217, 218, -1, 220, -1, -1, 223, 224, 225,
19484 : -1, -1, 228, 229, 230, 231, 232, 233, 234, 235,
19485 : 236, 237, 238, 239, 240, 241, 242, 243, 244, -1,
19486 : 246, 247, 248, 249, 250, -1, 252, 253, -1, 255,
19487 : -1, 257, 258, 259, 260, 261, 262, -1, 264, 265,
19488 : -1, -1, 268, 269, 270, -1, -1, 273, 274, -1,
19489 : 276, -1, 278, 279, 280, 281, 282, 283, 284, 285,
19490 : 286, 287, -1, 289, 290, 291, 292, 293, 294, 295,
19491 : 296, -1, 298, 299, 300, 301, 302, 303, 304, 305,
19492 : 306, 307, 308, 309, 310, 311, -1, 313, 314, 315,
19493 : 316, 317, 318, 319, 320, 321, 322, 323, 324, -1,
19494 : 326, 327, -1, 329, 330, 331, 332, 333, 334, 335,
19495 : 336, 337, 338, 339, 340, 341, -1, 343, 344, 345,
19496 : 346, 347, -1, 349, 350, 351, 352, 353, -1, 355,
19497 : 356, 357, 358, -1, 360, 361, 362, 363, 364, 365,
19498 : 366, 367, 368, 369, 370, 371, 372, -1, 374, 375,
19499 : -1, 377, -1, 379, 380, 381, 382, 383, -1, 385,
19500 : 386, -1, -1, 389, 390, 391, 392, 393, -1, 395,
19501 : 396, 397, 398, 399, 400, 401, -1, -1, 404, 405,
19502 : 406, 407, 408, -1, -1, 411, 412, 413, 414, 415,
19503 : 416, 417, -1, 419, -1, 421, 422, 423, 424, -1,
19504 : -1, 427, -1, -1, 430, 431, 432, 433, 434, 435,
19505 : 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
19506 : 446, 447, 448, 449, 3, -1, -1, -1, -1, -1,
19507 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
19508 : 19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
19509 : 29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
19510 : -1, 40, 41, 42, 43, 44, 45, 46, 47, 48,
19511 : -1, 50, 51, -1, 53, 54, 55, 56, 57, -1,
19512 : -1, 60, 61, 62, 63, 64, -1, 66, 67, 68,
19513 : 69, 70, -1, -1, -1, 74, 75, 76, 77, 78,
19514 : -1, 80, 81, 82, -1, 84, 85, 86, 87, 88,
19515 : 89, -1, -1, 92, 93, 94, -1, -1, -1, -1,
19516 : -1, -1, -1, 102, 103, 104, 105, 106, 107, 108,
19517 : 109, 110, -1, 112, -1, 114, 115, 116, 117, 118,
19518 : 119, -1, 121, 122, 123, 124, -1, -1, 127, 128,
19519 : 129, 130, 131, -1, 133, 134, 135, -1, 137, 138,
19520 : 139, -1, 141, 142, 143, 144, 145, 146, 147, 148,
19521 : 149, -1, 151, -1, 153, 154, 155, 156, -1, 158,
19522 : -1, 160, -1, -1, -1, 164, 165, 166, 167, -1,
19523 : 169, 170, -1, 172, 173, -1, 175, 176, 177, 178,
19524 : 179, -1, 181, 182, 183, 184, -1, 186, 187, 188,
19525 : 189, 190, 191, -1, 193, -1, 195, 196, 197, 198,
19526 : 199, 200, 201, -1, 203, -1, 205, -1, -1, 208,
19527 : -1, 210, 211, 212, 213, 214, -1, -1, 217, 218,
19528 : -1, 220, -1, -1, 223, 224, 225, -1, -1, 228,
19529 : 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
19530 : 239, 240, 241, 242, 243, 244, -1, 246, 247, 248,
19531 : 249, 250, -1, 252, 253, -1, 255, -1, 257, 258,
19532 : 259, 260, 261, 262, -1, 264, 265, -1, -1, 268,
19533 : 269, 270, -1, -1, 273, 274, -1, 276, -1, 278,
19534 : 279, 280, 281, 282, 283, 284, 285, 286, 287, -1,
19535 : 289, 290, 291, 292, 293, 294, 295, 296, -1, 298,
19536 : 299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
19537 : 309, 310, 311, -1, 313, 314, 315, 316, 317, 318,
19538 : 319, 320, 321, 322, 323, 324, -1, 326, 327, -1,
19539 : 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
19540 : 339, 340, 341, -1, 343, 344, 345, 346, 347, -1,
19541 : 349, 350, 351, 352, 353, -1, 355, 356, 357, 358,
19542 : -1, 360, 361, 362, 363, 364, 365, 366, 367, 368,
19543 : 369, 370, 371, 372, -1, 374, 375, -1, 377, -1,
19544 : 379, 380, 381, 382, 383, -1, 385, 386, -1, -1,
19545 : 389, 390, 391, 392, 393, -1, 395, 396, 397, 398,
19546 : 399, 400, 401, -1, -1, 404, 405, 406, 407, 408,
19547 : -1, -1, 411, 412, 413, 414, 415, 416, 417, -1,
19548 : 419, -1, 421, 422, 423, 424, -1, -1, 427, -1,
19549 : -1, 430, 431, 432, 433, 434, 435, 436, 437, 438,
19550 : 439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
19551 : 449, 3, -1, -1, -1, -1, -1, -1, -1, -1,
19552 : -1, -1, -1, -1, -1, -1, 18, 19, 20, 21,
19553 : 22, 23, 24, 25, -1, 27, 28, 29, -1, -1,
19554 : -1, -1, -1, -1, -1, 37, 38, -1, 40, 41,
19555 : 42, -1, 44, 45, 46, 47, 48, -1, 50, 51,
19556 : -1, 53, 54, 55, 56, 57, -1, -1, 60, 61,
19557 : 62, 63, 64, -1, 66, 67, 68, 69, 70, -1,
19558 : -1, -1, 74, 75, 76, 77, 78, -1, 80, 81,
19559 : 82, -1, 84, 85, 86, 87, 88, 89, -1, -1,
19560 : 92, 93, 94, -1, -1, -1, -1, -1, -1, -1,
19561 : 102, 103, 104, 105, 106, 107, 108, 109, 110, -1,
19562 : 112, -1, 114, 115, 116, 117, 118, 119, -1, 121,
19563 : 122, 123, 124, -1, -1, 127, 128, 129, 130, 131,
19564 : -1, 133, 134, 135, -1, 137, 138, 139, -1, 141,
19565 : 142, 143, 144, 145, 146, 147, 148, 149, -1, 151,
19566 : -1, 153, 154, 155, 156, -1, 158, -1, 160, -1,
19567 : -1, -1, 164, 165, 166, 167, -1, 169, 170, -1,
19568 : 172, 173, -1, 175, 176, 177, 178, 179, -1, 181,
19569 : 182, 183, 184, -1, 186, 187, 188, 189, 190, 191,
19570 : -1, 193, -1, 195, 196, 197, 198, 199, 200, 201,
19571 : -1, 203, -1, 205, -1, -1, 208, -1, 210, 211,
19572 : 212, 213, 214, -1, -1, 217, 218, -1, 220, -1,
19573 : -1, 223, 224, 225, -1, -1, 228, 229, 230, 231,
19574 : 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
19575 : 242, 243, 244, -1, 246, 247, 248, 249, 250, -1,
19576 : 252, 253, -1, 255, -1, 257, 258, 259, 260, 261,
19577 : 262, -1, 264, 265, -1, 267, 268, 269, 270, -1,
19578 : -1, 273, 274, -1, 276, -1, 278, 279, 280, 281,
19579 : 282, 283, 284, 285, 286, 287, -1, 289, 290, 291,
19580 : 292, 293, 294, 295, 296, -1, 298, 299, 300, 301,
19581 : 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
19582 : -1, 313, 314, 315, 316, 317, 318, 319, 320, 321,
19583 : 322, 323, 324, -1, 326, 327, -1, 329, 330, 331,
19584 : 332, 333, 334, 335, 336, 337, 338, 339, 340, 341,
19585 : -1, 343, 344, 345, 346, 347, -1, 349, 350, 351,
19586 : 352, 353, -1, 355, 356, 357, 358, -1, 360, 361,
19587 : 362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
19588 : 372, -1, 374, 375, -1, 377, -1, 379, 380, 381,
19589 : 382, 383, -1, 385, 386, -1, -1, 389, 390, 391,
19590 : 392, 393, -1, 395, 396, 397, 398, 399, 400, 401,
19591 : -1, -1, 404, 405, 406, 407, 408, -1, -1, 411,
19592 : 412, 413, 414, 415, 416, 417, -1, 419, -1, 421,
19593 : 422, 423, 424, -1, -1, 427, -1, -1, 430, 431,
19594 : 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
19595 : 442, 443, 444, 445, 446, 447, 448, 449, 3, -1,
19596 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
19597 : -1, -1, -1, 18, 19, 20, 21, 22, 23, 24,
19598 : 25, 26, 27, 28, 29, -1, -1, -1, -1, -1,
19599 : -1, -1, 37, 38, -1, 40, 41, 42, -1, 44,
19600 : 45, 46, 47, 48, -1, 50, 51, -1, 53, 54,
19601 : 55, 56, 57, -1, -1, 60, 61, 62, 63, 64,
19602 : -1, 66, 67, 68, 69, 70, -1, -1, -1, 74,
19603 : 75, 76, 77, 78, -1, 80, 81, 82, -1, 84,
19604 : 85, 86, 87, 88, 89, -1, -1, 92, 93, 94,
19605 : -1, -1, -1, -1, -1, -1, -1, 102, 103, 104,
19606 : 105, 106, 107, 108, 109, 110, -1, 112, -1, 114,
19607 : 115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
19608 : -1, -1, 127, 128, 129, 130, 131, -1, 133, 134,
19609 : 135, -1, 137, 138, 139, -1, 141, 142, 143, 144,
19610 : 145, 146, 147, 148, 149, -1, 151, -1, 153, 154,
19611 : 155, 156, -1, 158, -1, 160, -1, -1, -1, 164,
19612 : 165, 166, 167, -1, 169, 170, -1, 172, 173, -1,
19613 : 175, 176, 177, 178, 179, -1, 181, 182, 183, 184,
19614 : -1, 186, 187, 188, 189, 190, 191, -1, 193, -1,
19615 : 195, 196, 197, 198, 199, 200, 201, -1, 203, -1,
19616 : 205, -1, -1, 208, -1, 210, 211, 212, 213, 214,
19617 : -1, -1, 217, 218, -1, 220, -1, -1, 223, 224,
19618 : 225, -1, -1, 228, 229, 230, 231, 232, 233, 234,
19619 : 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
19620 : -1, 246, 247, 248, 249, 250, -1, 252, 253, -1,
19621 : 255, -1, 257, 258, 259, 260, 261, 262, -1, 264,
19622 : 265, -1, -1, 268, 269, 270, -1, -1, 273, 274,
19623 : -1, 276, -1, 278, 279, 280, 281, 282, 283, 284,
19624 : 285, 286, 287, -1, 289, 290, 291, 292, 293, 294,
19625 : 295, 296, -1, 298, 299, 300, 301, 302, 303, 304,
19626 : 305, 306, 307, 308, 309, 310, 311, -1, 313, 314,
19627 : 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
19628 : -1, 326, 327, -1, 329, 330, 331, 332, 333, 334,
19629 : 335, 336, 337, 338, 339, 340, 341, -1, 343, 344,
19630 : 345, 346, 347, -1, 349, 350, 351, 352, 353, -1,
19631 : 355, 356, 357, 358, -1, 360, 361, 362, 363, 364,
19632 : 365, 366, 367, 368, 369, 370, 371, 372, -1, 374,
19633 : 375, -1, 377, -1, 379, 380, 381, 382, 383, -1,
19634 : 385, 386, -1, -1, 389, 390, 391, 392, 393, -1,
19635 : 395, 396, 397, 398, 399, 400, 401, -1, -1, 404,
19636 : 405, 406, 407, 408, -1, -1, 411, 412, 413, 414,
19637 : 415, 416, 417, -1, 419, -1, 421, 422, 423, 424,
19638 : -1, -1, 427, -1, -1, 430, 431, 432, 433, 434,
19639 : 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
19640 : 445, 446, 447, 448, 449, 3, -1, -1, -1, -1,
19641 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
19642 : 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
19643 : 28, 29, -1, -1, -1, -1, -1, -1, -1, 37,
19644 : 38, -1, 40, 41, 42, -1, 44, 45, 46, 47,
19645 : 48, -1, 50, 51, -1, 53, 54, 55, 56, 57,
19646 : -1, -1, 60, 61, 62, 63, 64, -1, 66, 67,
19647 : 68, 69, 70, -1, -1, -1, 74, 75, 76, 77,
19648 : 78, -1, 80, 81, 82, -1, 84, 85, 86, 87,
19649 : 88, 89, -1, -1, 92, 93, 94, -1, -1, -1,
19650 : -1, -1, -1, -1, 102, 103, 104, 105, 106, 107,
19651 : 108, 109, 110, -1, 112, -1, 114, 115, 116, 117,
19652 : 118, 119, -1, 121, 122, 123, 124, -1, -1, 127,
19653 : 128, 129, 130, 131, -1, 133, 134, 135, -1, 137,
19654 : 138, 139, -1, 141, 142, 143, 144, 145, 146, 147,
19655 : 148, 149, -1, 151, -1, 153, 154, 155, 156, -1,
19656 : 158, -1, 160, -1, -1, -1, 164, 165, 166, 167,
19657 : -1, 169, 170, -1, 172, 173, -1, 175, 176, 177,
19658 : 178, 179, -1, 181, 182, 183, 184, -1, 186, 187,
19659 : 188, 189, 190, 191, -1, 193, -1, 195, 196, 197,
19660 : 198, 199, 200, 201, -1, 203, -1, 205, -1, -1,
19661 : 208, -1, 210, 211, 212, 213, 214, -1, -1, 217,
19662 : 218, -1, 220, -1, -1, 223, 224, 225, -1, -1,
19663 : 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
19664 : 238, 239, 240, 241, 242, 243, 244, -1, 246, 247,
19665 : 248, 249, 250, -1, 252, 253, -1, 255, -1, 257,
19666 : 258, 259, 260, 261, 262, -1, 264, 265, -1, -1,
19667 : 268, 269, 270, -1, -1, 273, 274, -1, 276, -1,
19668 : 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
19669 : -1, 289, 290, 291, 292, 293, 294, 295, 296, -1,
19670 : 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
19671 : 308, 309, 310, 311, -1, 313, 314, 315, 316, 317,
19672 : 318, 319, 320, 321, 322, 323, 324, -1, 326, 327,
19673 : -1, 329, 330, 331, 332, 333, 334, 335, 336, 337,
19674 : 338, 339, 340, 341, -1, 343, 344, 345, 346, 347,
19675 : -1, 349, 350, 351, 352, 353, -1, 355, 356, 357,
19676 : 358, -1, 360, 361, 362, 363, 364, 365, 366, 367,
19677 : 368, 369, 370, 371, 372, -1, 374, 375, -1, 377,
19678 : -1, 379, 380, 381, 382, 383, -1, 385, 386, -1,
19679 : -1, 389, 390, 391, 392, 393, -1, 395, 396, 397,
19680 : 398, 399, 400, 401, -1, -1, 404, 405, 406, 407,
19681 : 408, -1, -1, 411, 412, 413, 414, 415, 416, 417,
19682 : -1, 419, -1, 421, 422, 423, 424, -1, -1, 427,
19683 : -1, -1, 430, 431, 432, 433, 434, 435, 436, 437,
19684 : 438, 439, 440, 441, 442, 443, 444, 445, 446, 447,
19685 : 448, 449, 3, -1, -1, -1, -1, -1, -1, -1,
19686 : -1, -1, -1, -1, -1, -1, -1, 18, 19, 20,
19687 : 21, 22, 23, 24, 25, -1, 27, 28, 29, -1,
19688 : -1, -1, -1, -1, -1, -1, 37, 38, -1, 40,
19689 : 41, 42, -1, 44, 45, 46, 47, 48, -1, 50,
19690 : 51, -1, 53, 54, 55, 56, 57, -1, -1, 60,
19691 : 61, 62, 63, 64, -1, 66, 67, 68, 69, 70,
19692 : -1, -1, -1, 74, 75, 76, 77, 78, -1, 80,
19693 : 81, 82, -1, 84, 85, 86, 87, 88, 89, -1,
19694 : -1, 92, 93, 94, -1, -1, -1, -1, -1, -1,
19695 : -1, 102, 103, 104, 105, 106, 107, 108, 109, 110,
19696 : -1, 112, -1, 114, 115, 116, 117, 118, 119, -1,
19697 : 121, 122, 123, 124, -1, -1, 127, 128, 129, 130,
19698 : 131, -1, 133, 134, 135, -1, 137, 138, 139, -1,
19699 : 141, 142, 143, 144, 145, 146, 147, 148, 149, -1,
19700 : 151, -1, 153, 154, 155, 156, -1, 158, -1, 160,
19701 : -1, -1, -1, 164, 165, 166, 167, -1, 169, 170,
19702 : -1, 172, 173, -1, 175, 176, 177, 178, 179, -1,
19703 : 181, 182, 183, 184, -1, 186, 187, 188, 189, 190,
19704 : 191, -1, 193, -1, 195, 196, 197, 198, 199, 200,
19705 : 201, -1, 203, -1, 205, -1, -1, 208, -1, 210,
19706 : 211, 212, 213, 214, -1, -1, 217, 218, -1, 220,
19707 : -1, -1, 223, 224, 225, -1, -1, 228, 229, 230,
19708 : 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
19709 : 241, 242, 243, 244, -1, 246, 247, 248, 249, 250,
19710 : -1, 252, 253, -1, 255, -1, 257, 258, 259, 260,
19711 : 261, 262, -1, 264, 265, -1, -1, 268, 269, 270,
19712 : -1, -1, 273, 274, -1, 276, -1, 278, 279, 280,
19713 : 281, 282, 283, 284, 285, 286, 287, -1, 289, 290,
19714 : 291, 292, 293, 294, 295, 296, -1, 298, 299, 300,
19715 : 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
19716 : 311, -1, 313, 314, 315, 316, 317, 318, 319, 320,
19717 : 321, 322, 323, 324, -1, 326, 327, -1, 329, 330,
19718 : 331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
19719 : 341, -1, 343, 344, 345, 346, 347, -1, 349, 350,
19720 : 351, 352, 353, -1, 355, 356, 357, 358, -1, 360,
19721 : 361, 362, 363, 364, 365, 366, 367, 368, 369, 370,
19722 : 371, 372, -1, 374, 375, 376, 377, -1, 379, 380,
19723 : 381, 382, 383, -1, 385, 386, -1, -1, 389, 390,
19724 : 391, 392, 393, -1, 395, 396, 397, 398, 399, 400,
19725 : 401, -1, -1, 404, 405, 406, 407, 408, -1, -1,
19726 : 411, 412, 413, 414, 415, 416, 417, -1, 419, -1,
19727 : 421, 422, 423, 424, -1, -1, 427, -1, -1, 430,
19728 : 431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
19729 : 441, 442, 443, 444, 445, 446, 447, 448, 449, 3,
19730 : -1, 5, -1, -1, -1, -1, -1, -1, -1, -1,
19731 : -1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
19732 : 24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
19733 : -1, -1, -1, 37, 38, -1, 40, 41, 42, -1,
19734 : 44, 45, 46, 47, 48, -1, 50, 51, -1, 53,
19735 : 54, 55, 56, 57, -1, -1, 60, 61, 62, 63,
19736 : 64, -1, 66, 67, 68, 69, 70, -1, -1, -1,
19737 : 74, 75, 76, 77, 78, -1, 80, 81, 82, -1,
19738 : 84, 85, 86, 87, 88, 89, -1, -1, 92, 93,
19739 : 94, -1, -1, -1, -1, -1, -1, -1, 102, 103,
19740 : 104, 105, 106, 107, 108, 109, 110, -1, 112, -1,
19741 : 114, 115, 116, 117, 118, 119, -1, 121, 122, 123,
19742 : 124, -1, -1, 127, 128, 129, 130, 131, -1, 133,
19743 : 134, 135, -1, 137, 138, 139, -1, 141, 142, 143,
19744 : 144, 145, 146, 147, 148, 149, -1, 151, -1, 153,
19745 : 154, 155, 156, -1, 158, -1, 160, -1, -1, -1,
19746 : 164, 165, 166, 167, -1, 169, 170, -1, 172, 173,
19747 : -1, 175, 176, 177, 178, 179, -1, 181, 182, 183,
19748 : 184, -1, 186, 187, 188, 189, 190, 191, -1, 193,
19749 : -1, 195, 196, 197, 198, 199, 200, 201, -1, 203,
19750 : -1, 205, -1, -1, 208, -1, 210, 211, 212, 213,
19751 : 214, -1, -1, 217, 218, -1, 220, -1, -1, 223,
19752 : 224, 225, -1, -1, 228, 229, 230, 231, 232, 233,
19753 : 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
19754 : 244, -1, 246, 247, 248, 249, 250, -1, 252, 253,
19755 : -1, 255, -1, 257, 258, 259, 260, 261, 262, -1,
19756 : 264, 265, -1, -1, 268, 269, 270, -1, -1, 273,
19757 : 274, -1, 276, -1, 278, 279, 280, 281, 282, 283,
19758 : 284, 285, 286, 287, -1, 289, 290, 291, 292, 293,
19759 : 294, 295, 296, -1, 298, 299, 300, 301, 302, 303,
19760 : 304, 305, 306, 307, 308, 309, 310, 311, -1, 313,
19761 : 314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
19762 : 324, -1, 326, 327, -1, 329, 330, 331, 332, 333,
19763 : 334, 335, 336, 337, 338, 339, 340, 341, -1, 343,
19764 : 344, 345, 346, 347, -1, 349, 350, 351, 352, 353,
19765 : -1, 355, 356, 357, 358, -1, 360, 361, 362, 363,
19766 : 364, 365, 366, 367, 368, 369, 370, 371, 372, -1,
19767 : 374, 375, -1, 377, -1, 379, 380, 381, 382, 383,
19768 : -1, 385, 386, -1, -1, 389, 390, 391, 392, 393,
19769 : -1, 395, 396, 397, 398, 399, 400, 401, -1, -1,
19770 : 404, 405, 406, 407, 408, -1, -1, 411, 412, 413,
19771 : 414, 415, 416, 417, -1, 419, -1, 421, 422, 423,
19772 : 424, -1, -1, 427, -1, -1, 430, 431, 432, 433,
19773 : 434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
19774 : 444, 445, 446, 447, 448, 449, 3, -1, -1, -1,
19775 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
19776 : -1, 18, 19, 20, 21, 22, 23, 24, 25, -1,
19777 : 27, 28, 29, -1, -1, -1, -1, -1, 35, -1,
19778 : 37, 38, -1, 40, 41, 42, -1, 44, 45, 46,
19779 : 47, 48, -1, 50, 51, -1, 53, 54, 55, 56,
19780 : 57, -1, -1, 60, 61, 62, 63, 64, -1, 66,
19781 : 67, 68, 69, 70, -1, -1, -1, 74, 75, 76,
19782 : 77, 78, -1, 80, 81, 82, -1, 84, 85, 86,
19783 : 87, 88, 89, -1, -1, 92, 93, 94, -1, -1,
19784 : -1, -1, -1, -1, -1, 102, 103, 104, 105, 106,
19785 : 107, 108, 109, 110, -1, 112, -1, 114, 115, 116,
19786 : 117, 118, 119, -1, 121, 122, 123, 124, -1, -1,
19787 : 127, 128, 129, 130, 131, -1, 133, 134, 135, -1,
19788 : 137, 138, 139, -1, 141, 142, 143, 144, 145, 146,
19789 : 147, 148, 149, -1, 151, -1, 153, 154, 155, 156,
19790 : -1, 158, -1, 160, -1, -1, -1, 164, 165, 166,
19791 : 167, -1, 169, 170, -1, 172, 173, -1, 175, 176,
19792 : 177, 178, 179, -1, 181, 182, 183, 184, -1, 186,
19793 : 187, 188, 189, 190, 191, -1, 193, -1, 195, 196,
19794 : 197, 198, 199, 200, 201, -1, 203, -1, 205, -1,
19795 : -1, 208, -1, 210, 211, 212, 213, 214, -1, -1,
19796 : 217, 218, -1, 220, -1, -1, 223, 224, 225, -1,
19797 : -1, 228, 229, 230, 231, 232, 233, 234, 235, 236,
19798 : 237, 238, 239, 240, 241, 242, 243, 244, -1, 246,
19799 : 247, 248, 249, 250, -1, 252, 253, -1, 255, -1,
19800 : 257, 258, 259, 260, 261, 262, -1, 264, 265, -1,
19801 : -1, 268, 269, 270, -1, -1, 273, 274, -1, 276,
19802 : -1, 278, 279, 280, 281, 282, 283, 284, 285, 286,
19803 : 287, -1, 289, 290, 291, 292, 293, 294, 295, 296,
19804 : -1, 298, 299, 300, 301, 302, 303, 304, 305, 306,
19805 : 307, 308, 309, 310, 311, -1, 313, 314, 315, 316,
19806 : 317, 318, 319, 320, 321, 322, 323, 324, -1, 326,
19807 : 327, -1, 329, 330, 331, 332, 333, 334, 335, 336,
19808 : 337, 338, 339, 340, 341, -1, 343, 344, 345, 346,
19809 : 347, -1, 349, 350, 351, 352, 353, -1, 355, 356,
19810 : 357, 358, -1, 360, 361, 362, 363, 364, 365, 366,
19811 : 367, 368, 369, 370, 371, 372, -1, 374, 375, -1,
19812 : 377, -1, 379, 380, 381, 382, 383, -1, 385, 386,
19813 : -1, -1, 389, 390, 391, 392, 393, -1, 395, 396,
19814 : 397, 398, 399, 400, 401, -1, -1, 404, 405, 406,
19815 : 407, 408, -1, -1, 411, 412, 413, 414, 415, 416,
19816 : 417, -1, 419, -1, 421, 422, 423, 424, -1, -1,
19817 : 427, -1, -1, 430, 431, 432, 433, 434, 435, 436,
19818 : 437, 438, 439, 440, 441, 442, 443, 444, 445, 446,
19819 : 447, 448, 449, 3, -1, -1, -1, -1, -1, -1,
19820 : -1, -1, -1, -1, -1, -1, -1, -1, 18, 19,
19821 : 20, 21, 22, 23, 24, 25, -1, 27, 28, 29,
19822 : -1, -1, -1, -1, -1, 35, -1, 37, 38, -1,
19823 : 40, 41, 42, -1, 44, 45, 46, 47, 48, -1,
19824 : 50, 51, -1, 53, 54, 55, 56, 57, -1, -1,
19825 : 60, 61, 62, 63, 64, -1, 66, 67, 68, 69,
19826 : 70, -1, -1, -1, 74, 75, 76, 77, 78, -1,
19827 : 80, 81, 82, -1, 84, 85, 86, 87, 88, 89,
19828 : -1, -1, 92, 93, 94, -1, -1, -1, -1, -1,
19829 : -1, -1, 102, 103, 104, 105, 106, 107, 108, 109,
19830 : 110, -1, 112, -1, 114, 115, 116, 117, 118, 119,
19831 : -1, 121, 122, 123, 124, -1, -1, 127, 128, 129,
19832 : 130, 131, -1, 133, 134, 135, -1, 137, 138, 139,
19833 : -1, 141, 142, 143, 144, 145, 146, 147, 148, 149,
19834 : -1, 151, -1, 153, 154, 155, 156, -1, 158, -1,
19835 : 160, -1, -1, -1, 164, 165, 166, 167, -1, 169,
19836 : 170, -1, 172, 173, -1, 175, 176, 177, 178, 179,
19837 : -1, 181, 182, 183, 184, -1, 186, 187, 188, 189,
19838 : 190, 191, -1, 193, -1, 195, 196, 197, 198, 199,
19839 : 200, 201, -1, 203, -1, 205, -1, -1, 208, -1,
19840 : 210, 211, 212, 213, 214, -1, -1, 217, 218, -1,
19841 : 220, -1, -1, 223, 224, 225, -1, -1, 228, 229,
19842 : 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
19843 : 240, 241, 242, 243, 244, -1, 246, 247, 248, 249,
19844 : 250, -1, 252, 253, -1, 255, -1, 257, 258, 259,
19845 : 260, 261, 262, -1, 264, 265, -1, -1, 268, 269,
19846 : 270, -1, -1, 273, 274, -1, 276, -1, 278, 279,
19847 : 280, 281, 282, 283, 284, 285, 286, 287, -1, 289,
19848 : 290, 291, 292, 293, 294, 295, 296, -1, 298, 299,
19849 : 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
19850 : 310, 311, -1, 313, 314, 315, 316, 317, 318, 319,
19851 : 320, 321, 322, 323, 324, -1, 326, 327, -1, 329,
19852 : 330, 331, 332, 333, 334, 335, 336, 337, 338, 339,
19853 : 340, 341, -1, 343, 344, 345, 346, 347, -1, 349,
19854 : 350, 351, 352, 353, -1, 355, 356, 357, 358, -1,
19855 : 360, 361, 362, 363, 364, 365, 366, 367, 368, 369,
19856 : 370, 371, 372, -1, 374, 375, -1, 377, -1, 379,
19857 : 380, 381, 382, 383, -1, 385, 386, -1, -1, 389,
19858 : 390, 391, 392, 393, -1, 395, 396, 397, 398, 399,
19859 : 400, 401, -1, -1, 404, 405, 406, 407, 408, -1,
19860 : -1, 411, 412, 413, 414, 415, 416, 417, -1, 419,
19861 : -1, 421, 422, 423, 424, -1, -1, 427, -1, -1,
19862 : 430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
19863 : 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
19864 : 3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
19865 : -1, -1, -1, -1, -1, 18, 19, 20, 21, 22,
19866 : 23, 24, 25, -1, 27, 28, 29, -1, -1, -1,
19867 : -1, -1, -1, -1, 37, 38, -1, 40, 41, 42,
19868 : -1, 44, 45, 46, 47, 48, -1, 50, 51, -1,
19869 : 53, 54, 55, 56, 57, -1, -1, 60, 61, 62,
19870 : 63, 64, -1, 66, 67, 68, 69, 70, -1, -1,
19871 : -1, 74, 75, 76, 77, 78, -1, 80, 81, 82,
19872 : -1, 84, 85, 86, 87, 88, 89, -1, -1, 92,
19873 : 93, 94, -1, -1, -1, -1, -1, -1, -1, 102,
19874 : 103, 104, 105, 106, 107, 108, 109, 110, -1, 112,
19875 : -1, 114, 115, 116, 117, 118, 119, -1, 121, 122,
19876 : 123, 124, -1, -1, 127, 128, 129, 130, 131, -1,
19877 : 133, 134, 135, -1, 137, 138, 139, -1, 141, 142,
19878 : 143, 144, 145, 146, 147, 148, 149, -1, 151, -1,
19879 : 153, 154, 155, 156, -1, 158, -1, 160, -1, -1,
19880 : -1, 164, 165, 166, 167, -1, 169, 170, -1, 172,
19881 : 173, -1, 175, 176, 177, 178, 179, -1, 181, 182,
19882 : 183, 184, -1, 186, 187, 188, 189, 190, 191, -1,
19883 : 193, -1, 195, 196, 197, 198, 199, 200, 201, -1,
19884 : 203, -1, 205, -1, -1, 208, -1, 210, 211, 212,
19885 : 213, 214, -1, -1, 217, 218, -1, 220, -1, -1,
19886 : 223, 224, 225, -1, -1, 228, 229, 230, 231, 232,
19887 : 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
19888 : 243, 244, -1, 246, 247, 248, 249, 250, -1, 252,
19889 : 253, -1, 255, -1, 257, 258, 259, 260, 261, 262,
19890 : -1, 264, 265, -1, -1, 268, 269, 270, -1, -1,
19891 : 273, 274, -1, 276, -1, 278, 279, 280, 281, 282,
19892 : 283, 284, 285, 286, 287, -1, 289, 290, 291, 292,
19893 : 293, 294, 295, 296, -1, 298, 299, 300, 301, 302,
19894 : 303, 304, 305, 306, 307, 308, 309, 310, 311, -1,
19895 : 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
19896 : 323, 324, -1, 326, 327, -1, 329, 330, 331, 332,
19897 : 333, 334, 335, 336, 337, 338, 339, 340, 341, -1,
19898 : 343, 344, 345, 346, 347, -1, 349, 350, 351, 352,
19899 : 353, -1, 355, 356, 357, 358, -1, 360, 361, 362,
19900 : 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
19901 : -1, 374, 375, -1, 377, -1, 379, 380, 381, 382,
19902 : 383, -1, 385, 386, -1, -1, 389, 390, 391, 392,
19903 : 393, -1, 395, 396, 397, 398, 399, 400, 401, -1,
19904 : -1, 404, 405, 406, 407, 408, -1, -1, 411, 412,
19905 : 413, 414, 415, 416, 417, -1, 419, -1, 421, 422,
19906 : 423, 424, -1, -1, 427, -1, -1, 430, 431, 432,
19907 : 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
19908 : 443, 444, 445, 446, 447, 448, 449, 3, -1, -1,
19909 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
19910 : -1, -1, 18, 19, 20, 21, 22, 23, 24, 25,
19911 : -1, 27, 28, 29, -1, -1, -1, -1, -1, -1,
19912 : -1, 37, 38, -1, 40, 41, 42, -1, 44, 45,
19913 : 46, 47, 48, -1, 50, 51, -1, 53, 54, 55,
19914 : 56, 57, -1, -1, 60, 61, 62, 63, 64, -1,
19915 : 66, 67, 68, 69, 70, -1, -1, -1, 74, 75,
19916 : 76, 77, 78, -1, 80, 81, 82, -1, 84, 85,
19917 : 86, 87, 88, 89, -1, -1, 92, 93, 94, -1,
19918 : -1, -1, -1, -1, -1, -1, 102, 103, 104, 105,
19919 : 106, 107, 108, 109, 110, -1, 112, -1, 114, 115,
19920 : 116, 117, 118, 119, -1, 121, 122, 123, 124, -1,
19921 : -1, 127, 128, 129, 130, 131, -1, 133, 134, 135,
19922 : -1, 137, 138, 139, -1, 141, 142, 143, 144, 145,
19923 : 146, 147, 148, 149, -1, 151, -1, 153, 154, 155,
19924 : 156, -1, 158, -1, 160, -1, -1, -1, 164, 165,
19925 : 166, 167, -1, 169, 170, -1, 172, 173, -1, 175,
19926 : 176, 177, 178, 179, -1, 181, 182, 183, 184, -1,
19927 : 186, 187, 188, 189, 190, 191, -1, 193, -1, 195,
19928 : 196, 197, 198, 199, 200, 201, -1, 203, -1, 205,
19929 : -1, -1, 208, -1, 210, 211, 212, 213, 214, -1,
19930 : -1, 217, 218, -1, 220, -1, -1, 223, 224, 225,
19931 : -1, -1, 228, 229, 230, 231, 232, 233, 234, 235,
19932 : 236, 237, 238, 239, 240, 241, 242, 243, 244, -1,
19933 : 246, 247, 248, 249, 250, -1, 252, 253, -1, 255,
19934 : -1, 257, 258, 259, 260, 261, 262, -1, 264, 265,
19935 : -1, -1, 268, 269, 270, -1, -1, 273, 274, -1,
19936 : 276, -1, 278, 279, 280, 281, 282, 283, 284, 285,
19937 : 286, 287, -1, 289, 290, 291, 292, 293, 294, 295,
19938 : 296, -1, 298, 299, 300, 301, 302, 303, 304, 305,
19939 : 306, 307, 308, 309, 310, 311, -1, 313, 314, 315,
19940 : 316, 317, 318, 319, 320, 321, 322, 323, 324, -1,
19941 : 326, 327, -1, 329, 330, 331, 332, 333, 334, 335,
19942 : 336, 337, 338, 339, 340, 341, -1, 343, 344, 345,
19943 : 346, 347, -1, 349, 350, 351, 352, 353, -1, 355,
19944 : 356, 357, 358, -1, 360, 361, 362, 363, 364, 365,
19945 : 366, 367, 368, 369, 370, 371, 372, -1, 374, 375,
19946 : -1, 377, -1, 379, 380, 381, 382, 383, -1, 385,
19947 : 386, -1, -1, 389, 390, 391, 392, 393, -1, 395,
19948 : 396, 397, 398, 399, 400, 401, -1, -1, 404, 405,
19949 : 406, 407, 408, -1, -1, 411, 412, 413, 414, 415,
19950 : 416, 417, -1, 419, -1, 421, 422, 423, 424, -1,
19951 : -1, 427, -1, -1, 430, 431, 432, 433, 434, 435,
19952 : 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
19953 : 446, 447, 448, 449, 3, -1, -1, -1, -1, -1,
19954 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
19955 : 19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
19956 : 29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
19957 : -1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
19958 : -1, 50, 51, -1, 53, 54, 55, 56, 57, -1,
19959 : -1, 60, 61, 62, 63, 64, -1, 66, 67, 68,
19960 : 69, 70, -1, -1, -1, 74, 75, 76, 77, 78,
19961 : -1, 80, 81, 82, -1, 84, 85, 86, 87, 88,
19962 : 89, -1, -1, 92, 93, 94, -1, -1, -1, -1,
19963 : -1, -1, -1, 102, 103, 104, 105, 106, 107, 108,
19964 : 109, 110, -1, 112, -1, 114, 115, 116, 117, 118,
19965 : 119, -1, 121, 122, 123, 124, -1, -1, 127, 128,
19966 : 129, 130, 131, -1, 133, 134, 135, -1, 137, 138,
19967 : 139, -1, 141, 142, 143, 144, 145, 146, 147, 148,
19968 : 149, -1, 151, -1, 153, 154, 155, 156, -1, 158,
19969 : -1, 160, -1, -1, -1, 164, 165, 166, 167, -1,
19970 : 169, 170, -1, 172, 173, -1, 175, 176, 177, 178,
19971 : 179, -1, 181, 182, 183, 184, -1, 186, 187, 188,
19972 : 189, 190, 191, -1, 193, -1, 195, 196, 197, 198,
19973 : 199, 200, 201, -1, 203, -1, 205, -1, -1, 208,
19974 : -1, 210, 211, 212, 213, 214, -1, -1, 217, 218,
19975 : -1, 220, -1, -1, 223, 224, 225, -1, -1, 228,
19976 : 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
19977 : 239, 240, 241, 242, 243, 244, -1, 246, 247, 248,
19978 : 249, 250, -1, 252, 253, -1, 255, -1, 257, 258,
19979 : 259, 260, 261, 262, -1, 264, 265, -1, -1, 268,
19980 : 269, 270, -1, -1, 273, 274, -1, 276, -1, 278,
19981 : 279, 280, 281, 282, 283, 284, 285, 286, 287, -1,
19982 : 289, 290, 291, 292, 293, 294, 295, 296, -1, 298,
19983 : 299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
19984 : 309, 310, 311, -1, 313, 314, 315, 316, 317, 318,
19985 : 319, 320, 321, 322, 323, 324, -1, 326, 327, -1,
19986 : 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
19987 : 339, 340, 341, -1, 343, 344, 345, 346, 347, -1,
19988 : 349, 350, 351, 352, 353, -1, 355, 356, 357, 358,
19989 : -1, 360, 361, 362, 363, 364, 365, 366, 367, 368,
19990 : 369, 370, 371, 372, -1, 374, 375, -1, 377, -1,
19991 : 379, 380, 381, 382, 383, -1, 385, 386, -1, -1,
19992 : 389, 390, 391, 392, 393, -1, 395, 396, 397, 398,
19993 : 399, 400, 401, -1, -1, 404, 405, 406, 407, 408,
19994 : -1, -1, 411, 412, 413, 414, 415, 416, 417, -1,
19995 : 419, -1, 421, 422, 423, 424, -1, -1, 427, -1,
19996 : -1, 430, 431, 432, 433, 434, 435, 436, 437, 438,
19997 : 439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
19998 : 449, 3, -1, -1, -1, -1, -1, -1, -1, -1,
19999 : -1, -1, -1, -1, -1, -1, 18, 19, 20, 21,
20000 : 22, 23, 24, 25, -1, 27, 28, 29, -1, -1,
20001 : -1, -1, -1, -1, -1, 37, 38, -1, 40, 41,
20002 : 42, -1, 44, 45, 46, 47, 48, -1, 50, 51,
20003 : -1, 53, 54, 55, 56, 57, -1, -1, 60, 61,
20004 : 62, 63, 64, -1, 66, 67, 68, 69, 70, -1,
20005 : -1, -1, 74, 75, 76, 77, 78, -1, 80, 81,
20006 : 82, -1, 84, 85, 86, 87, 88, 89, -1, -1,
20007 : 92, 93, 94, -1, -1, -1, -1, -1, -1, -1,
20008 : 102, 103, 104, 105, 106, 107, 108, 109, 110, -1,
20009 : 112, -1, 114, 115, 116, 117, 118, 119, -1, 121,
20010 : 122, 123, 124, -1, -1, 127, 128, 129, 130, 131,
20011 : -1, 133, 134, 135, -1, 137, 138, 139, -1, 141,
20012 : 142, 143, 144, 145, 146, 147, 148, 149, -1, 151,
20013 : -1, 153, 154, 155, 156, -1, 158, -1, 160, -1,
20014 : -1, -1, 164, 165, 166, 167, -1, 169, 170, -1,
20015 : 172, 173, -1, 175, 176, 177, 178, 179, -1, 181,
20016 : 182, 183, 184, -1, 186, 187, 188, 189, 190, 191,
20017 : -1, 193, -1, 195, 196, 197, 198, 199, 200, 201,
20018 : -1, 203, -1, 205, -1, -1, 208, -1, 210, 211,
20019 : 212, 213, 214, -1, -1, 217, 218, -1, 220, -1,
20020 : -1, 223, 224, 225, -1, -1, 228, 229, 230, 231,
20021 : 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
20022 : 242, 243, 244, -1, 246, 247, 248, 249, 250, -1,
20023 : 252, 253, -1, 255, -1, 257, 258, 259, 260, 261,
20024 : 262, -1, 264, 265, -1, -1, 268, 269, 270, -1,
20025 : -1, 273, 274, -1, 276, -1, 278, 279, 280, 281,
20026 : 282, 283, 284, 285, 286, 287, -1, 289, 290, 291,
20027 : 292, 293, 294, 295, 296, -1, 298, 299, 300, 301,
20028 : 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
20029 : -1, 313, 314, 315, 316, 317, 318, 319, 320, 321,
20030 : 322, 323, 324, -1, 326, 327, -1, 329, 330, 331,
20031 : 332, 333, 334, 335, 336, 337, 338, 339, 340, 341,
20032 : -1, 343, 344, 345, 346, 347, -1, 349, 350, 351,
20033 : 352, 353, -1, 355, 356, 357, 358, -1, 360, 361,
20034 : 362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
20035 : 372, -1, 374, 375, -1, 377, -1, 379, 380, 381,
20036 : 382, 383, -1, 385, 386, -1, -1, 389, 390, 391,
20037 : 392, 393, -1, 395, 396, 397, 398, 399, 400, 401,
20038 : -1, -1, 404, 405, 406, 407, 408, -1, -1, 411,
20039 : 412, 413, 414, 415, 416, 417, -1, 419, -1, 421,
20040 : 422, 423, 424, -1, -1, 427, -1, -1, 430, 431,
20041 : 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
20042 : 442, 443, 444, 445, 446, 447, 448, 449, 3, -1,
20043 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
20044 : -1, -1, -1, 18, 19, 20, 21, 22, 23, 24,
20045 : 25, -1, 27, 28, 29, -1, -1, -1, -1, -1,
20046 : -1, -1, 37, 38, -1, 40, 41, 42, -1, 44,
20047 : 45, 46, 47, 48, -1, 50, 51, -1, 53, 54,
20048 : 55, 56, 57, -1, -1, 60, 61, 62, 63, 64,
20049 : -1, 66, 67, 68, 69, 70, -1, -1, -1, 74,
20050 : 75, 76, 77, 78, -1, 80, 81, 82, -1, 84,
20051 : 85, 86, 87, 88, 89, -1, -1, 92, 93, 94,
20052 : -1, -1, -1, -1, -1, -1, -1, 102, 103, 104,
20053 : 105, 106, 107, 108, 109, 110, -1, 112, -1, 114,
20054 : 115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
20055 : -1, -1, 127, 128, 129, 130, 131, -1, 133, 134,
20056 : 135, -1, 137, 138, 139, -1, 141, 142, 143, 144,
20057 : 145, 146, 147, 148, 149, -1, 151, -1, 153, 154,
20058 : 155, 156, -1, 158, -1, 160, -1, -1, -1, 164,
20059 : 165, 166, 167, -1, 169, 170, -1, 172, 173, -1,
20060 : 175, 176, 177, 178, 179, -1, 181, 182, 183, 184,
20061 : -1, 186, 187, 188, 189, 190, 191, -1, 193, -1,
20062 : 195, 196, 197, 198, 199, 200, 201, -1, 203, -1,
20063 : 205, -1, -1, 208, -1, 210, 211, 212, 213, 214,
20064 : -1, -1, 217, 218, -1, 220, -1, -1, 223, 224,
20065 : 225, -1, -1, 228, 229, 230, 231, 232, 233, 234,
20066 : 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
20067 : -1, 246, 247, 248, 249, 250, -1, 252, 253, -1,
20068 : 255, -1, 257, 258, 259, 260, 261, 262, -1, 264,
20069 : 265, -1, -1, 268, 269, 270, -1, -1, 273, 274,
20070 : -1, 276, -1, 278, 279, 280, 281, 282, 283, 284,
20071 : 285, 286, 287, -1, 289, 290, 291, 292, 293, 294,
20072 : 295, 296, -1, 298, 299, 300, 301, 302, 303, 304,
20073 : 305, 306, 307, 308, 309, 310, 311, -1, 313, 314,
20074 : 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
20075 : -1, 326, 327, -1, 329, 330, 331, 332, 333, 334,
20076 : 335, 336, 337, 338, 339, 340, 341, -1, 343, 344,
20077 : 345, 346, 347, -1, 349, 350, 351, 352, 353, -1,
20078 : 355, 356, 357, 358, -1, 360, 361, 362, 363, 364,
20079 : 365, 366, 367, 368, 369, 370, 371, 372, -1, 374,
20080 : 375, -1, 377, -1, 379, 380, 381, 382, 383, -1,
20081 : 385, 386, -1, -1, 389, 390, 391, 392, 393, -1,
20082 : 395, 396, 397, 398, 399, 400, 401, -1, -1, 404,
20083 : 405, 406, 407, 408, -1, -1, 411, 412, 413, 414,
20084 : 415, 416, 417, -1, 419, -1, 421, 422, 423, 424,
20085 : -1, -1, 427, -1, -1, 430, 431, 432, 433, 434,
20086 : 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
20087 : 445, 446, 447, 448, 449, 3, -1, -1, -1, -1,
20088 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
20089 : 18, 19, 20, 21, 22, 23, 24, 25, -1, 27,
20090 : 28, 29, -1, -1, -1, -1, -1, -1, -1, 37,
20091 : 38, -1, 40, 41, 42, -1, 44, 45, 46, 47,
20092 : 48, -1, 50, 51, -1, 53, 54, 55, 56, 57,
20093 : -1, -1, 60, 61, 62, 63, 64, -1, 66, 67,
20094 : 68, 69, 70, -1, -1, -1, 74, 75, 76, 77,
20095 : 78, -1, 80, 81, 82, -1, 84, 85, 86, 87,
20096 : 88, 89, -1, -1, 92, 93, 94, -1, -1, -1,
20097 : -1, -1, -1, -1, 102, 103, 104, 105, 106, 107,
20098 : 108, 109, 110, -1, 112, -1, 114, 115, 116, 117,
20099 : 118, 119, -1, 121, 122, 123, 124, -1, -1, 127,
20100 : 128, 129, 130, 131, -1, 133, 134, 135, -1, 137,
20101 : 138, 139, -1, 141, 142, 143, 144, 145, 146, 147,
20102 : 148, 149, -1, 151, -1, 153, 154, 155, 156, -1,
20103 : 158, -1, 160, -1, -1, -1, 164, 165, 166, 167,
20104 : -1, 169, 170, -1, 172, 173, -1, 175, 176, 177,
20105 : 178, 179, -1, 181, 182, 183, 184, -1, 186, 187,
20106 : 188, 189, 190, 191, -1, 193, -1, 195, 196, 197,
20107 : 198, 199, 200, 201, -1, 203, -1, 205, -1, -1,
20108 : 208, -1, 210, 211, 212, 213, 214, -1, -1, 217,
20109 : 218, -1, 220, -1, -1, 223, 224, 225, -1, -1,
20110 : 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
20111 : 238, 239, 240, 241, 242, 243, 244, -1, 246, 247,
20112 : 248, 249, 250, -1, 252, 253, -1, 255, -1, 257,
20113 : 258, 259, 260, 261, 262, -1, 264, 265, -1, -1,
20114 : 268, 269, 270, -1, -1, 273, 274, -1, 276, -1,
20115 : 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
20116 : -1, 289, 290, 291, 292, 293, 294, 295, 296, -1,
20117 : 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
20118 : 308, 309, 310, 311, -1, 313, 314, 315, 316, 317,
20119 : 318, 319, 320, 321, 322, 323, 324, -1, 326, 327,
20120 : -1, 329, 330, 331, 332, 333, 334, 335, 336, 337,
20121 : 338, 339, 340, 341, -1, 343, 344, 345, 346, 347,
20122 : -1, 349, 350, 351, 352, 353, -1, 355, 356, 357,
20123 : 358, -1, 360, 361, 362, 363, 364, 365, 366, 367,
20124 : 368, 369, 370, 371, 372, -1, 374, 375, -1, 377,
20125 : -1, 379, 380, 381, 382, 383, -1, 385, 386, -1,
20126 : -1, 389, 390, 391, 392, 393, -1, 395, 396, 397,
20127 : 398, 399, 400, 401, -1, -1, 404, 405, 406, 407,
20128 : 408, -1, -1, 411, 412, 413, 414, 415, 416, 417,
20129 : -1, 419, -1, 421, 422, 423, 424, -1, -1, 427,
20130 : -1, -1, 430, 431, 432, 433, 434, 435, 436, 437,
20131 : 438, 439, 440, 441, 442, 443, 444, 445, 446, 447,
20132 : 448, 449, 3, -1, -1, -1, -1, -1, -1, -1,
20133 : -1, -1, -1, -1, -1, -1, -1, 18, 19, 20,
20134 : 21, 22, 23, 24, 25, -1, 27, 28, 29, -1,
20135 : -1, -1, -1, -1, -1, -1, 37, 38, -1, 40,
20136 : 41, 42, -1, 44, 45, 46, 47, 48, -1, 50,
20137 : 51, -1, 53, 54, 55, 56, 57, -1, -1, 60,
20138 : 61, 62, 63, 64, -1, 66, 67, 68, 69, 70,
20139 : -1, -1, -1, 74, 75, 76, 77, 78, -1, 80,
20140 : 81, 82, -1, 84, 85, 86, 87, 88, 89, -1,
20141 : -1, 92, 93, 94, -1, -1, -1, -1, -1, -1,
20142 : -1, 102, 103, 104, 105, 106, 107, 108, 109, 110,
20143 : -1, 112, -1, 114, 115, 116, 117, 118, 119, -1,
20144 : 121, 122, 123, 124, -1, -1, 127, 128, 129, 130,
20145 : 131, -1, 133, 134, 135, -1, 137, 138, 139, -1,
20146 : 141, 142, 143, 144, 145, 146, 147, 148, 149, -1,
20147 : 151, -1, 153, 154, 155, 156, -1, 158, -1, 160,
20148 : -1, -1, -1, 164, 165, 166, 167, -1, 169, 170,
20149 : -1, 172, 173, -1, 175, 176, 177, 178, 179, -1,
20150 : 181, 182, 183, 184, -1, 186, 187, 188, 189, 190,
20151 : 191, -1, 193, -1, 195, 196, 197, 198, 199, 200,
20152 : 201, -1, 203, -1, 205, -1, -1, 208, -1, 210,
20153 : 211, 212, 213, 214, -1, -1, 217, 218, -1, 220,
20154 : -1, -1, 223, 224, 225, -1, -1, 228, 229, 230,
20155 : 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
20156 : 241, 242, 243, 244, -1, 246, 247, 248, 249, 250,
20157 : -1, 252, 253, -1, 255, -1, 257, 258, 259, 260,
20158 : 261, 262, -1, 264, 265, -1, -1, 268, 269, 270,
20159 : -1, -1, 273, 274, -1, 276, -1, 278, 279, 280,
20160 : 281, 282, 283, 284, 285, 286, 287, -1, 289, 290,
20161 : 291, 292, 293, 294, 295, 296, -1, 298, 299, 300,
20162 : 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
20163 : 311, -1, 313, 314, 315, 316, 317, 318, 319, 320,
20164 : 321, 322, 323, 324, -1, 326, 327, -1, 329, 330,
20165 : 331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
20166 : 341, -1, 343, 344, 345, 346, 347, -1, 349, 350,
20167 : 351, 352, 353, -1, 355, 356, 357, 358, -1, 360,
20168 : 361, 362, 363, 364, 365, 366, 367, 368, 369, 370,
20169 : 371, 372, -1, 374, 375, -1, 377, -1, 379, 380,
20170 : 381, 382, 383, -1, 385, 386, -1, -1, 389, 390,
20171 : 391, 392, 393, -1, 395, 396, 397, 398, 399, 400,
20172 : 401, -1, -1, 404, 405, 406, 407, 408, -1, -1,
20173 : 411, 412, 413, 414, 415, 416, 417, -1, 419, -1,
20174 : 421, 422, 423, 424, -1, -1, 427, -1, -1, 430,
20175 : 431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
20176 : 441, 442, 443, 444, 445, 446, 447, 448, 449, 3,
20177 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
20178 : -1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
20179 : 24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
20180 : -1, -1, -1, 37, 38, -1, 40, 41, 42, -1,
20181 : 44, 45, 46, 47, 48, -1, 50, 51, -1, 53,
20182 : 54, 55, 56, 57, -1, -1, 60, 61, 62, 63,
20183 : 64, -1, 66, 67, 68, 69, 70, -1, -1, -1,
20184 : 74, 75, 76, 77, 78, -1, 80, 81, 82, -1,
20185 : 84, 85, 86, 87, 88, 89, -1, -1, 92, 93,
20186 : 94, -1, -1, -1, -1, -1, -1, -1, 102, 103,
20187 : 104, 105, 106, 107, 108, 109, 110, -1, 112, -1,
20188 : 114, 115, 116, 117, 118, 119, -1, 121, 122, 123,
20189 : 124, -1, -1, 127, 128, 129, 130, 131, -1, 133,
20190 : 134, 135, -1, 137, 138, 139, -1, 141, 142, 143,
20191 : 144, 145, 146, 147, 148, 149, -1, 151, -1, 153,
20192 : 154, 155, 156, -1, 158, -1, 160, -1, -1, -1,
20193 : 164, 165, 166, 167, -1, 169, 170, -1, 172, 173,
20194 : -1, 175, 176, 177, 178, 179, -1, 181, 182, 183,
20195 : 184, -1, 186, 187, 188, 189, 190, 191, -1, 193,
20196 : -1, 195, 196, 197, 198, 199, 200, 201, -1, 203,
20197 : -1, 205, -1, -1, 208, -1, 210, 211, 212, 213,
20198 : 214, -1, -1, 217, 218, -1, 220, -1, -1, 223,
20199 : 224, 225, -1, -1, 228, 229, 230, 231, 232, 233,
20200 : 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
20201 : 244, -1, 246, 247, 248, 249, 250, -1, 252, 253,
20202 : -1, 255, -1, 257, 258, 259, 260, 261, 262, -1,
20203 : 264, 265, -1, -1, 268, 269, 270, -1, -1, 273,
20204 : 274, -1, 276, -1, 278, 279, 280, 281, 282, 283,
20205 : 284, 285, 286, 287, -1, 289, 290, 291, 292, 293,
20206 : 294, 295, 296, -1, 298, 299, 300, 301, 302, 303,
20207 : 304, 305, 306, 307, 308, 309, 310, 311, -1, 313,
20208 : 314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
20209 : 324, -1, 326, 327, -1, 329, 330, 331, 332, 333,
20210 : 334, 335, 336, 337, 338, 339, 340, 341, -1, 343,
20211 : 344, 345, 346, 347, -1, 349, 350, 351, 352, 353,
20212 : -1, 355, 356, 357, 358, -1, 360, 361, 362, 363,
20213 : 364, 365, 366, 367, 368, 369, 370, 371, 372, -1,
20214 : 374, 375, -1, 377, -1, 379, 380, 381, 382, 383,
20215 : -1, 385, 386, -1, -1, 389, 390, 391, 392, 393,
20216 : -1, 395, 396, 397, 398, 399, 400, 401, -1, -1,
20217 : 404, 405, 406, 407, 408, -1, -1, 411, 412, 413,
20218 : 414, 415, 416, 417, -1, 419, -1, 421, 422, 423,
20219 : 424, -1, -1, 427, -1, -1, 430, 431, 432, 433,
20220 : 434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
20221 : 444, 445, 446, 447, 448, 449, 3, -1, -1, -1,
20222 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
20223 : -1, 18, 19, 20, 21, 22, 23, 24, 25, -1,
20224 : 27, 28, 29, -1, -1, -1, -1, -1, -1, -1,
20225 : 37, 38, -1, 40, 41, 42, -1, 44, 45, 46,
20226 : 47, 48, -1, 50, 51, -1, 53, 54, 55, 56,
20227 : 57, -1, -1, 60, 61, 62, 63, 64, -1, 66,
20228 : 67, 68, 69, 70, -1, -1, -1, 74, 75, 76,
20229 : 77, 78, -1, 80, 81, 82, -1, 84, 85, 86,
20230 : 87, 88, 89, -1, -1, 92, 93, 94, -1, -1,
20231 : -1, -1, -1, -1, -1, 102, 103, 104, 105, 106,
20232 : 107, 108, 109, 110, -1, 112, -1, 114, 115, 116,
20233 : 117, 118, 119, -1, 121, 122, 123, 124, -1, -1,
20234 : 127, 128, 129, 130, 131, -1, 133, 134, 135, -1,
20235 : 137, 138, 139, -1, 141, 142, 143, 144, 145, 146,
20236 : 147, 148, 149, -1, 151, -1, 153, 154, 155, 156,
20237 : -1, 158, -1, 160, -1, -1, -1, 164, 165, 166,
20238 : 167, -1, 169, 170, -1, 172, 173, -1, 175, 176,
20239 : 177, 178, 179, -1, 181, 182, 183, 184, -1, 186,
20240 : 187, 188, 189, 190, 191, -1, 193, -1, 195, 196,
20241 : 197, 198, 199, 200, 201, -1, 203, -1, 205, -1,
20242 : -1, 208, -1, 210, 211, 212, 213, 214, -1, -1,
20243 : 217, 218, -1, 220, -1, -1, 223, 224, 225, -1,
20244 : -1, 228, 229, 230, 231, 232, 233, 234, 235, 236,
20245 : 237, 238, 239, 240, 241, 242, 243, 244, -1, 246,
20246 : 247, 248, 249, 250, -1, 252, 253, -1, 255, -1,
20247 : 257, 258, 259, 260, 261, 262, -1, 264, 265, -1,
20248 : -1, 268, 269, 270, -1, -1, 273, 274, -1, 276,
20249 : -1, 278, 279, 280, 281, 282, 283, 284, 285, 286,
20250 : 287, -1, 289, 290, 291, 292, 293, 294, 295, 296,
20251 : -1, 298, 299, 300, 301, 302, 303, 304, 305, 306,
20252 : 307, 308, 309, 310, 311, -1, 313, 314, 315, 316,
20253 : 317, 318, 319, 320, 321, 322, 323, 324, -1, 326,
20254 : 327, -1, 329, 330, 331, 332, 333, 334, 335, 336,
20255 : 337, 338, 339, 340, 341, -1, 343, 344, 345, 346,
20256 : 347, -1, 349, 350, 351, 352, 353, -1, 355, 356,
20257 : 357, 358, -1, 360, 361, 362, 363, 364, 365, 366,
20258 : 367, 368, 369, 370, 371, 372, -1, 374, 375, -1,
20259 : 377, -1, 379, 380, 381, 382, 383, -1, 385, 386,
20260 : -1, -1, 389, 390, 391, 392, 393, -1, 395, 396,
20261 : 397, 398, 399, 400, 401, -1, -1, 404, 405, 406,
20262 : 407, 408, -1, -1, 411, 412, 413, 414, 415, 416,
20263 : 417, -1, 419, -1, 421, 422, 423, 424, -1, -1,
20264 : 427, -1, -1, 430, 431, 432, 433, 434, 435, 436,
20265 : 437, 438, 439, 440, 441, 442, 443, 444, 445, 446,
20266 : 447, 448, 449, 3, -1, -1, -1, -1, -1, -1,
20267 : -1, -1, -1, -1, -1, -1, -1, -1, 18, 19,
20268 : 20, 21, 22, 23, 24, 25, -1, 27, 28, 29,
20269 : -1, -1, -1, -1, -1, -1, -1, 37, 38, -1,
20270 : 40, 41, 42, -1, 44, 45, 46, 47, 48, -1,
20271 : 50, 51, -1, 53, 54, 55, 56, 57, -1, -1,
20272 : 60, 61, 62, 63, 64, -1, 66, 67, 68, 69,
20273 : 70, -1, -1, -1, 74, 75, 76, 77, 78, -1,
20274 : 80, 81, 82, -1, 84, 85, 86, 87, 88, 89,
20275 : -1, -1, 92, 93, 94, -1, -1, -1, -1, -1,
20276 : -1, -1, 102, 103, 104, 105, 106, 107, 108, 109,
20277 : 110, -1, 112, -1, 114, 115, 116, 117, 118, 119,
20278 : -1, 121, 122, 123, 124, -1, -1, 127, 128, 129,
20279 : 130, 131, -1, 133, 134, 135, -1, 137, 138, 139,
20280 : -1, 141, 142, 143, 144, 145, 146, 147, 148, 149,
20281 : -1, 151, -1, 153, 154, 155, 156, -1, 158, -1,
20282 : 160, -1, -1, -1, 164, 165, 166, 167, -1, 169,
20283 : 170, -1, 172, 173, -1, 175, 176, 177, 178, 179,
20284 : -1, 181, 182, 183, 184, -1, 186, 187, 188, 189,
20285 : 190, 191, -1, 193, -1, 195, 196, 197, 198, 199,
20286 : 200, 201, -1, 203, -1, 205, -1, -1, 208, -1,
20287 : 210, 211, 212, 213, 214, -1, -1, 217, 218, -1,
20288 : 220, -1, -1, 223, 224, 225, -1, -1, 228, 229,
20289 : 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
20290 : 240, 241, 242, 243, 244, -1, 246, 247, 248, 249,
20291 : 250, -1, 252, 253, -1, 255, -1, 257, 258, 259,
20292 : 260, 261, 262, -1, 264, 265, -1, -1, 268, 269,
20293 : 270, -1, -1, 273, 274, -1, 276, -1, 278, 279,
20294 : 280, 281, 282, 283, 284, 285, 286, 287, -1, 289,
20295 : 290, 291, 292, 293, 294, 295, 296, -1, 298, 299,
20296 : 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
20297 : 310, 311, -1, 313, 314, 315, 316, 317, 318, 319,
20298 : 320, 321, 322, 323, 324, -1, 326, 327, -1, 329,
20299 : 330, 331, 332, 333, 334, 335, 336, 337, 338, 339,
20300 : 340, 341, -1, 343, 344, 345, 346, 347, -1, 349,
20301 : 350, 351, 352, 353, -1, 355, 356, 357, 358, -1,
20302 : 360, 361, 362, 363, 364, 365, 366, 367, 368, 369,
20303 : 370, 371, 372, -1, 374, 375, -1, 377, -1, 379,
20304 : 380, 381, 382, 383, -1, 385, 386, -1, -1, 389,
20305 : 390, 391, 392, 393, -1, 395, 396, 397, 398, 399,
20306 : 400, 401, -1, -1, 404, 405, 406, 407, 408, -1,
20307 : -1, 411, 412, 413, 414, 415, 416, 417, -1, 419,
20308 : -1, 421, 422, 423, 424, -1, -1, 427, -1, -1,
20309 : 430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
20310 : 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
20311 : 3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
20312 : -1, -1, -1, -1, -1, 18, 19, 20, 21, 22,
20313 : 23, 24, 25, -1, 27, 28, 29, -1, -1, -1,
20314 : -1, -1, -1, -1, 37, 38, -1, 40, 41, 42,
20315 : -1, 44, 45, 46, 47, 48, -1, 50, 51, -1,
20316 : 53, 54, 55, 56, 57, -1, -1, 60, 61, 62,
20317 : 63, 64, -1, 66, 67, 68, 69, 70, -1, -1,
20318 : -1, 74, 75, 76, 77, 78, -1, 80, 81, 82,
20319 : -1, 84, 85, 86, 87, 88, 89, -1, -1, 92,
20320 : 93, 94, -1, -1, -1, -1, -1, -1, -1, 102,
20321 : 103, 104, 105, 106, 107, 108, 109, 110, -1, 112,
20322 : -1, 114, 115, 116, 117, 118, 119, -1, 121, 122,
20323 : 123, 124, -1, -1, 127, 128, 129, 130, 131, -1,
20324 : 133, 134, 135, -1, 137, 138, 139, -1, 141, 142,
20325 : 143, 144, 145, 146, 147, 148, 149, -1, 151, -1,
20326 : 153, 154, 155, 156, -1, 158, -1, 160, -1, -1,
20327 : -1, 164, 165, 166, 167, -1, 169, 170, -1, 172,
20328 : 173, -1, 175, 176, 177, 178, 179, -1, 181, 182,
20329 : 183, 184, -1, 186, 187, 188, 189, 190, 191, -1,
20330 : 193, -1, 195, 196, 197, 198, 199, 200, 201, -1,
20331 : 203, -1, 205, -1, -1, 208, -1, 210, 211, 212,
20332 : 213, 214, -1, -1, 217, 218, -1, 220, -1, -1,
20333 : 223, 224, 225, -1, -1, 228, 229, 230, 231, 232,
20334 : 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
20335 : 243, 244, -1, 246, 247, 248, 249, 250, -1, 252,
20336 : 253, -1, 255, -1, 257, 258, 259, 260, 261, 262,
20337 : -1, 264, 265, -1, -1, 268, 269, 270, -1, -1,
20338 : 273, 274, -1, 276, -1, 278, 279, 280, 281, 282,
20339 : 283, 284, 285, 286, 287, -1, 289, 290, 291, 292,
20340 : 293, 294, 295, 296, -1, 298, 299, 300, 301, 302,
20341 : 303, 304, 305, 306, 307, 308, 309, 310, 311, -1,
20342 : 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
20343 : 323, 324, -1, 326, 327, -1, 329, 330, 331, 332,
20344 : 333, 334, 335, 336, 337, 338, 339, 340, 341, -1,
20345 : 343, 344, 345, 346, 347, -1, 349, 350, 351, 352,
20346 : 353, -1, 355, 356, 357, 358, -1, 360, 361, 362,
20347 : 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
20348 : -1, 374, 375, -1, 377, -1, 379, 380, 381, 382,
20349 : 383, -1, 385, 386, -1, -1, 389, 390, 391, 392,
20350 : 393, -1, 395, 396, 397, 398, 399, 400, 401, -1,
20351 : -1, 404, 405, 406, 407, 408, -1, -1, 411, 412,
20352 : 413, 414, 415, 416, 417, -1, 419, -1, 421, 422,
20353 : 423, 424, -1, -1, 427, -1, -1, 430, 431, 432,
20354 : 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
20355 : 443, 444, 445, 446, 447, 448, 449, 3, -1, -1,
20356 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
20357 : -1, -1, 18, 19, 20, 21, 22, 23, 24, 25,
20358 : -1, 27, 28, 29, -1, -1, -1, -1, -1, -1,
20359 : -1, 37, 38, -1, 40, 41, 42, -1, 44, 45,
20360 : 46, 47, 48, -1, 50, 51, -1, 53, 54, 55,
20361 : 56, 57, -1, -1, 60, 61, 62, 63, 64, -1,
20362 : 66, 67, 68, 69, 70, -1, -1, -1, 74, 75,
20363 : 76, 77, 78, -1, 80, 81, 82, -1, 84, 85,
20364 : 86, 87, 88, 89, -1, -1, 92, 93, 94, -1,
20365 : -1, -1, -1, -1, -1, -1, 102, 103, 104, 105,
20366 : 106, 107, 108, 109, 110, -1, 112, -1, 114, 115,
20367 : 116, 117, 118, 119, -1, 121, 122, 123, 124, -1,
20368 : -1, 127, 128, 129, 130, 131, -1, 133, 134, 135,
20369 : -1, 137, 138, 139, -1, 141, 142, 143, 144, 145,
20370 : 146, 147, 148, 149, -1, 151, -1, 153, 154, 155,
20371 : 156, -1, 158, -1, 160, -1, -1, -1, 164, 165,
20372 : 166, 167, -1, 169, 170, -1, 172, 173, -1, 175,
20373 : 176, 177, 178, 179, -1, 181, 182, 183, 184, -1,
20374 : 186, 187, 188, 189, 190, 191, -1, 193, -1, 195,
20375 : 196, 197, 198, 199, 200, 201, -1, 203, -1, 205,
20376 : -1, -1, 208, -1, 210, 211, 212, 213, 214, -1,
20377 : -1, 217, 218, -1, 220, -1, -1, 223, 224, 225,
20378 : -1, -1, 228, 229, 230, 231, 232, 233, 234, 235,
20379 : 236, 237, 238, 239, 240, 241, 242, 243, 244, -1,
20380 : 246, 247, 248, 249, 250, -1, 252, 253, -1, 255,
20381 : -1, 257, 258, 259, 260, 261, 262, -1, 264, 265,
20382 : -1, -1, 268, 269, 270, -1, -1, 273, 274, -1,
20383 : 276, -1, 278, 279, 280, 281, 282, 283, 284, 285,
20384 : 286, 287, -1, 289, 290, 291, 292, 293, 294, 295,
20385 : 296, -1, 298, 299, 300, 301, 302, 303, 304, 305,
20386 : 306, 307, 308, 309, 310, 311, -1, 313, 314, 315,
20387 : 316, 317, 318, 319, 320, 321, 322, 323, 324, -1,
20388 : 326, 327, -1, 329, 330, 331, 332, 333, 334, 335,
20389 : 336, 337, 338, 339, 340, 341, -1, 343, 344, 345,
20390 : 346, 347, -1, 349, 350, 351, 352, 353, -1, 355,
20391 : 356, 357, 358, -1, 360, 361, 362, 363, 364, 365,
20392 : 366, 367, 368, 369, 370, 371, 372, -1, 374, 375,
20393 : -1, 377, -1, 379, 380, 381, 382, 383, -1, 385,
20394 : 386, -1, -1, 389, 390, 391, 392, 393, -1, 395,
20395 : 396, 397, 398, 399, 400, 401, -1, -1, 404, 405,
20396 : 406, 407, 408, -1, -1, 411, 412, 413, 414, 415,
20397 : 416, 417, -1, 419, -1, 421, 422, 423, 424, -1,
20398 : -1, 427, -1, -1, 430, 431, 432, 433, 434, 435,
20399 : 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
20400 : 446, 447, 448, 449, 3, -1, -1, -1, -1, -1,
20401 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
20402 : 19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
20403 : 29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
20404 : -1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
20405 : -1, 50, 51, -1, 53, 54, 55, 56, 57, -1,
20406 : -1, 60, 61, 62, 63, 64, -1, 66, 67, 68,
20407 : 69, 70, -1, -1, -1, 74, 75, 76, 77, 78,
20408 : -1, 80, 81, 82, -1, 84, 85, 86, 87, 88,
20409 : 89, -1, -1, 92, 93, 94, -1, -1, -1, -1,
20410 : -1, -1, -1, 102, 103, 104, 105, 106, 107, 108,
20411 : 109, 110, -1, 112, -1, 114, 115, 116, 117, 118,
20412 : 119, -1, 121, 122, 123, 124, -1, -1, 127, 128,
20413 : 129, 130, 131, -1, 133, 134, 135, -1, 137, 138,
20414 : 139, -1, 141, 142, 143, 144, 145, 146, 147, 148,
20415 : 149, -1, 151, -1, 153, 154, 155, 156, -1, 158,
20416 : -1, 160, -1, -1, -1, 164, 165, 166, 167, -1,
20417 : 169, 170, -1, 172, 173, -1, 175, 176, 177, 178,
20418 : 179, -1, 181, 182, 183, 184, -1, 186, 187, 188,
20419 : 189, 190, 191, -1, 193, -1, 195, 196, 197, 198,
20420 : 199, 200, 201, -1, 203, -1, 205, -1, -1, 208,
20421 : -1, 210, 211, 212, 213, 214, -1, -1, 217, 218,
20422 : -1, 220, -1, -1, 223, 224, 225, -1, -1, 228,
20423 : 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
20424 : 239, 240, 241, 242, 243, 244, -1, 246, 247, 248,
20425 : 249, 250, -1, 252, 253, -1, 255, -1, 257, 258,
20426 : 259, 260, 261, 262, -1, 264, 265, -1, -1, 268,
20427 : 269, 270, -1, -1, 273, 274, -1, 276, -1, 278,
20428 : 279, 280, 281, 282, 283, 284, 285, 286, 287, -1,
20429 : 289, 290, 291, 292, 293, 294, 295, 296, -1, 298,
20430 : 299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
20431 : 309, 310, 311, -1, 313, 314, 315, 316, 317, 318,
20432 : 319, 320, 321, 322, 323, 324, -1, 326, 327, -1,
20433 : 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
20434 : 339, 340, 341, -1, 343, 344, 345, 346, 347, -1,
20435 : 349, 350, 351, 352, 353, -1, 355, 356, 357, 358,
20436 : -1, 360, 361, 362, 363, 364, 365, 366, 367, 368,
20437 : 369, 370, 371, 372, -1, 374, 375, -1, 377, -1,
20438 : 379, 380, 381, 382, 383, -1, 385, 386, -1, -1,
20439 : 389, 390, 391, 392, 393, -1, 395, 396, 397, 398,
20440 : 399, 400, 401, -1, -1, 404, 405, 406, 407, 408,
20441 : -1, -1, 411, 412, 413, 414, 415, 416, 417, -1,
20442 : 419, -1, 421, 422, 423, 424, -1, -1, 427, -1,
20443 : -1, 430, 431, 432, 433, 434, 435, 436, 437, 438,
20444 : 439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
20445 : 449, 3, -1, -1, -1, -1, -1, -1, -1, -1,
20446 : -1, -1, -1, -1, -1, -1, 18, 19, 20, 21,
20447 : 22, 23, 24, 25, -1, 27, 28, 29, -1, -1,
20448 : -1, -1, -1, -1, -1, 37, 38, -1, 40, 41,
20449 : 42, -1, 44, 45, 46, 47, 48, -1, 50, 51,
20450 : -1, 53, 54, 55, 56, 57, -1, -1, 60, 61,
20451 : 62, 63, 64, -1, 66, 67, 68, 69, 70, -1,
20452 : -1, -1, 74, 75, 76, 77, 78, -1, 80, 81,
20453 : 82, -1, 84, 85, 86, 87, 88, 89, -1, -1,
20454 : 92, 93, 94, -1, -1, -1, -1, -1, -1, -1,
20455 : 102, 103, 104, 105, 106, 107, 108, 109, 110, -1,
20456 : 112, -1, 114, 115, 116, 117, 118, 119, -1, 121,
20457 : 122, 123, 124, -1, -1, 127, 128, 129, 130, 131,
20458 : -1, 133, 134, 135, -1, 137, 138, 139, -1, 141,
20459 : 142, 143, 144, 145, 146, 147, 148, 149, -1, 151,
20460 : -1, 153, 154, 155, 156, -1, 158, -1, 160, -1,
20461 : -1, -1, 164, 165, 166, 167, -1, 169, 170, -1,
20462 : 172, 173, -1, 175, 176, 177, 178, 179, -1, 181,
20463 : 182, 183, 184, -1, 186, 187, 188, 189, 190, 191,
20464 : -1, 193, -1, 195, 196, 197, 198, 199, 200, 201,
20465 : -1, 203, -1, 205, -1, -1, 208, -1, 210, 211,
20466 : 212, 213, 214, -1, -1, 217, 218, -1, 220, -1,
20467 : -1, 223, 224, 225, -1, -1, 228, 229, 230, 231,
20468 : 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
20469 : 242, 243, 244, -1, 246, 247, 248, 249, 250, -1,
20470 : 252, 253, -1, 255, -1, 257, 258, 259, 260, 261,
20471 : 262, -1, 264, 265, -1, -1, 268, 269, 270, -1,
20472 : -1, 273, 274, -1, 276, -1, 278, 279, 280, 281,
20473 : 282, 283, 284, 285, 286, 287, -1, 289, 290, 291,
20474 : 292, 293, 294, 295, 296, -1, 298, 299, 300, 301,
20475 : 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
20476 : -1, 313, 314, 315, 316, 317, 318, 319, 320, 321,
20477 : 322, 323, 324, -1, 326, 327, -1, 329, 330, 331,
20478 : 332, 333, 334, 335, 336, 337, 338, 339, 340, 341,
20479 : -1, 343, 344, 345, 346, 347, -1, 349, 350, 351,
20480 : 352, 353, -1, 355, 356, 357, 358, -1, 360, 361,
20481 : 362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
20482 : 372, -1, 374, 375, -1, 377, -1, 379, 380, 381,
20483 : 382, 383, -1, 385, 386, -1, -1, 389, 390, 391,
20484 : 392, 393, -1, 395, 396, 397, 398, 399, 400, 401,
20485 : -1, -1, 404, 405, 406, 407, 408, -1, -1, 411,
20486 : 412, 413, 414, 415, 416, 417, -1, 419, -1, 421,
20487 : 422, 423, 424, -1, -1, 427, -1, -1, 430, 431,
20488 : 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
20489 : 442, 443, 444, 445, 446, 447, 448, 449, 3, -1,
20490 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
20491 : -1, -1, -1, 18, 19, 20, 21, 22, 23, 24,
20492 : 25, -1, 27, 28, 29, -1, -1, -1, -1, -1,
20493 : -1, -1, 37, 38, -1, 40, 41, 42, -1, 44,
20494 : 45, 46, 47, 48, -1, 50, 51, -1, 53, 54,
20495 : 55, 56, 57, -1, -1, 60, 61, 62, 63, 64,
20496 : -1, 66, 67, 68, 69, 70, -1, -1, -1, 74,
20497 : 75, 76, 77, 78, -1, 80, 81, 82, -1, 84,
20498 : 85, 86, 87, 88, 89, -1, -1, 92, 93, 94,
20499 : -1, -1, -1, -1, -1, -1, -1, 102, 103, 104,
20500 : 105, 106, 107, 108, 109, 110, -1, 112, -1, 114,
20501 : 115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
20502 : -1, -1, 127, 128, 129, 130, 131, -1, 133, 134,
20503 : 135, -1, 137, 138, 139, -1, 141, 142, 143, 144,
20504 : 145, 146, 147, 148, 149, -1, 151, -1, 153, 154,
20505 : 155, 156, -1, 158, -1, 160, -1, -1, -1, 164,
20506 : 165, 166, 167, -1, 169, 170, -1, 172, 173, -1,
20507 : 175, 176, 177, 178, 179, -1, 181, 182, 183, 184,
20508 : -1, 186, 187, 188, 189, 190, 191, -1, 193, -1,
20509 : 195, 196, 197, 198, 199, 200, 201, -1, 203, -1,
20510 : 205, -1, -1, 208, -1, 210, 211, 212, 213, 214,
20511 : -1, -1, 217, 218, -1, 220, -1, -1, 223, 224,
20512 : 225, -1, -1, 228, 229, 230, 231, 232, 233, 234,
20513 : 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
20514 : -1, 246, 247, 248, 249, 250, -1, 252, 253, -1,
20515 : 255, -1, 257, 258, 259, 260, 261, 262, -1, 264,
20516 : 265, -1, -1, 268, 269, 270, -1, -1, 273, 274,
20517 : -1, 276, -1, 278, 279, 280, 281, 282, 283, 284,
20518 : 285, 286, 287, -1, 289, 290, 291, 292, 293, 294,
20519 : 295, 296, -1, 298, 299, 300, 301, 302, 303, 304,
20520 : 305, 306, 307, 308, 309, 310, 311, -1, 313, 314,
20521 : 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
20522 : -1, 326, 327, -1, 329, 330, 331, 332, 333, 334,
20523 : 335, 336, 337, 338, 339, 340, 341, -1, 343, 344,
20524 : 345, 346, 347, -1, 349, 350, 351, 352, 353, -1,
20525 : 355, 356, 357, 358, -1, 360, 361, 362, 363, 364,
20526 : 365, 366, 367, 368, 369, 370, 371, 372, -1, 374,
20527 : 375, -1, 377, -1, 379, 380, 381, 382, 383, -1,
20528 : 385, 386, -1, -1, 389, 390, 391, 392, 393, -1,
20529 : 395, 396, 397, 398, 399, 400, 401, -1, -1, 404,
20530 : 405, 406, 407, 408, -1, -1, 411, 412, 413, 414,
20531 : 415, 416, 417, -1, 419, -1, 421, 422, 423, 424,
20532 : -1, -1, 427, -1, -1, 430, 431, 432, 433, 434,
20533 : 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
20534 : 445, 446, 447, 448, 449, 3, -1, -1, -1, -1,
20535 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
20536 : 18, 19, 20, 21, 22, 23, 24, 25, -1, 27,
20537 : 28, 29, -1, -1, -1, -1, -1, -1, -1, 37,
20538 : 38, -1, 40, 41, 42, -1, 44, 45, 46, 47,
20539 : 48, -1, 50, 51, -1, 53, 54, 55, 56, 57,
20540 : -1, -1, 60, 61, 62, 63, 64, -1, 66, 67,
20541 : 68, 69, 70, -1, -1, -1, 74, 75, 76, 77,
20542 : 78, -1, 80, 81, 82, -1, 84, 85, 86, 87,
20543 : 88, 89, -1, -1, 92, 93, 94, -1, -1, -1,
20544 : -1, -1, -1, -1, 102, 103, 104, 105, 106, 107,
20545 : 108, 109, 110, -1, 112, -1, 114, 115, 116, 117,
20546 : 118, 119, -1, 121, 122, 123, 124, -1, -1, 127,
20547 : 128, 129, 130, 131, -1, 133, 134, 135, -1, 137,
20548 : 138, 139, -1, 141, 142, 143, 144, 145, 146, 147,
20549 : 148, 149, -1, 151, -1, 153, 154, 155, 156, -1,
20550 : 158, -1, 160, -1, -1, -1, 164, 165, 166, 167,
20551 : -1, 169, 170, -1, 172, 173, -1, 175, 176, 177,
20552 : 178, 179, -1, 181, 182, 183, 184, -1, 186, 187,
20553 : 188, 189, 190, 191, -1, 193, -1, 195, 196, 197,
20554 : 198, 199, 200, 201, -1, 203, -1, 205, -1, -1,
20555 : 208, -1, 210, 211, 212, 213, 214, -1, -1, 217,
20556 : 218, -1, 220, -1, -1, 223, 224, 225, -1, -1,
20557 : 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
20558 : 238, 239, 240, 241, 242, 243, 244, -1, 246, 247,
20559 : 248, 249, 250, -1, 252, 253, -1, 255, -1, 257,
20560 : 258, 259, 260, 261, 262, -1, 264, 265, -1, -1,
20561 : 268, 269, 270, -1, -1, 273, 274, -1, 276, -1,
20562 : 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
20563 : -1, 289, 290, 291, 292, 293, 294, 295, 296, -1,
20564 : 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
20565 : 308, 309, 310, 311, -1, 313, 314, 315, 316, 317,
20566 : 318, 319, 320, 321, 322, 323, 324, -1, 326, 327,
20567 : -1, 329, 330, 331, 332, 333, 334, 335, 336, 337,
20568 : 338, 339, 340, 341, -1, 343, 344, 345, 346, 347,
20569 : -1, 349, 350, 351, 352, 353, -1, 355, 356, 357,
20570 : 358, -1, 360, 361, 362, 363, 364, 365, 366, 367,
20571 : 368, 369, 370, 371, 372, -1, 374, 375, -1, 377,
20572 : -1, 379, 380, 381, 382, 383, -1, 385, 386, -1,
20573 : -1, 389, 390, 391, 392, 393, -1, 395, 396, 397,
20574 : 398, 399, 400, 401, -1, -1, 404, 405, 406, 407,
20575 : 408, -1, -1, 411, 412, 413, 414, 415, 416, 417,
20576 : -1, 419, -1, 421, 422, 423, 424, -1, -1, 427,
20577 : -1, -1, 430, 431, 432, 433, 434, 435, 436, 437,
20578 : 438, 439, 440, 441, 442, 443, 444, 445, 446, 447,
20579 : 448, 449, 3, -1, -1, -1, -1, -1, -1, -1,
20580 : -1, -1, -1, -1, -1, -1, -1, 18, 19, 20,
20581 : 21, 22, 23, 24, 25, -1, 27, 28, 29, -1,
20582 : -1, -1, -1, -1, -1, -1, 37, 38, -1, 40,
20583 : 41, 42, -1, 44, 45, 46, 47, 48, -1, 50,
20584 : 51, -1, 53, 54, 55, 56, 57, -1, -1, 60,
20585 : 61, 62, 63, 64, -1, 66, 67, 68, 69, 70,
20586 : -1, -1, -1, 74, 75, 76, 77, 78, -1, 80,
20587 : 81, 82, -1, 84, 85, 86, 87, 88, 89, -1,
20588 : -1, 92, 93, 94, -1, -1, -1, -1, -1, -1,
20589 : -1, 102, 103, 104, 105, 106, 107, 108, 109, 110,
20590 : -1, 112, -1, 114, 115, 116, 117, 118, 119, -1,
20591 : 121, 122, 123, 124, -1, -1, 127, 128, 129, 130,
20592 : 131, -1, 133, 134, 135, -1, 137, 138, 139, -1,
20593 : 141, 142, 143, 144, 145, 146, 147, 148, 149, -1,
20594 : 151, -1, 153, 154, 155, 156, -1, 158, -1, 160,
20595 : -1, -1, -1, 164, 165, 166, 167, -1, 169, 170,
20596 : -1, 172, 173, -1, 175, 176, 177, 178, 179, -1,
20597 : 181, 182, 183, 184, -1, 186, 187, 188, 189, 190,
20598 : 191, -1, 193, -1, 195, 196, 197, 198, 199, 200,
20599 : 201, -1, 203, -1, 205, -1, -1, 208, -1, 210,
20600 : 211, 212, 213, 214, -1, -1, 217, 218, -1, 220,
20601 : -1, -1, 223, 224, 225, -1, -1, 228, 229, 230,
20602 : 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
20603 : 241, 242, 243, 244, -1, 246, 247, 248, 249, 250,
20604 : -1, 252, 253, -1, 255, -1, 257, 258, 259, 260,
20605 : 261, 262, -1, 264, 265, -1, -1, 268, 269, 270,
20606 : -1, -1, 273, 274, -1, 276, -1, 278, 279, 280,
20607 : 281, 282, 283, 284, 285, 286, 287, -1, 289, 290,
20608 : 291, 292, 293, 294, 295, 296, -1, 298, 299, 300,
20609 : 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
20610 : 311, -1, 313, 314, 315, 316, 317, 318, 319, 320,
20611 : 321, 322, 323, 324, -1, 326, 327, -1, 329, 330,
20612 : 331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
20613 : 341, -1, 343, 344, 345, 346, 347, -1, 349, 350,
20614 : 351, 352, 353, -1, 355, 356, 357, 358, -1, 360,
20615 : 361, 362, 363, 364, 365, 366, 367, 368, 369, 370,
20616 : 371, 372, -1, 374, 375, -1, 377, -1, 379, 380,
20617 : 381, 382, 383, -1, 385, 386, -1, -1, 389, 390,
20618 : 391, 392, 393, -1, 395, 396, 397, 398, 399, 400,
20619 : 401, -1, -1, 404, 405, 406, 407, 408, -1, -1,
20620 : 411, 412, 413, 414, 415, 416, 417, -1, 419, -1,
20621 : 421, 422, 423, 424, -1, -1, 427, -1, -1, 430,
20622 : 431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
20623 : 441, 442, 443, 444, 445, 446, 447, 448, 449, 3,
20624 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
20625 : -1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
20626 : 24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
20627 : -1, -1, -1, 37, 38, -1, 40, 41, 42, -1,
20628 : 44, 45, 46, 47, 48, -1, 50, 51, -1, 53,
20629 : 54, 55, 56, 57, -1, -1, 60, 61, 62, 63,
20630 : 64, -1, 66, 67, 68, 69, 70, -1, -1, -1,
20631 : 74, 75, 76, 77, 78, -1, 80, 81, 82, -1,
20632 : 84, 85, 86, 87, 88, 89, -1, -1, 92, 93,
20633 : 94, -1, -1, -1, -1, -1, -1, -1, 102, 103,
20634 : 104, 105, 106, 107, 108, 109, 110, -1, 112, -1,
20635 : 114, 115, 116, 117, 118, 119, -1, 121, 122, 123,
20636 : 124, -1, -1, 127, 128, 129, 130, 131, -1, 133,
20637 : 134, 135, -1, 137, 138, 139, -1, 141, 142, 143,
20638 : 144, 145, 146, 147, 148, 149, -1, 151, -1, 153,
20639 : 154, 155, 156, -1, 158, -1, 160, -1, -1, -1,
20640 : 164, 165, 166, 167, -1, 169, 170, -1, 172, 173,
20641 : -1, 175, 176, 177, 178, 179, -1, 181, 182, 183,
20642 : 184, -1, 186, 187, 188, 189, 190, 191, -1, 193,
20643 : -1, 195, 196, 197, 198, 199, 200, 201, -1, 203,
20644 : -1, 205, -1, -1, 208, -1, 210, 211, 212, 213,
20645 : 214, -1, -1, 217, 218, -1, 220, -1, -1, 223,
20646 : 224, 225, -1, -1, 228, 229, 230, 231, 232, 233,
20647 : 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
20648 : 244, -1, 246, 247, 248, 249, 250, -1, 252, 253,
20649 : -1, 255, -1, 257, 258, 259, 260, 261, 262, -1,
20650 : 264, 265, -1, -1, 268, 269, 270, -1, -1, 273,
20651 : 274, -1, 276, -1, 278, 279, 280, 281, 282, 283,
20652 : 284, 285, 286, 287, -1, 289, 290, 291, 292, 293,
20653 : 294, 295, 296, -1, 298, 299, 300, 301, 302, 303,
20654 : 304, 305, 306, 307, 308, 309, 310, 311, -1, 313,
20655 : 314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
20656 : 324, -1, 326, 327, -1, 329, 330, 331, 332, 333,
20657 : 334, 335, 336, 337, 338, 339, 340, 341, -1, 343,
20658 : 344, 345, 346, 347, -1, 349, 350, 351, 352, 353,
20659 : -1, 355, 356, 357, 358, -1, 360, 361, 362, 363,
20660 : 364, 365, 366, 367, 368, 369, 370, 371, 372, -1,
20661 : 374, 375, -1, 377, -1, 379, 380, 381, 382, 383,
20662 : -1, 385, 386, -1, -1, 389, 390, 391, 392, 393,
20663 : -1, 395, 396, 397, 398, 399, 400, 401, -1, -1,
20664 : 404, 405, 406, 407, 408, -1, -1, 411, 412, 413,
20665 : 414, 415, 416, 417, -1, 419, -1, 421, 422, 423,
20666 : 424, -1, -1, 427, -1, -1, 430, 431, 432, 433,
20667 : 434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
20668 : 444, 445, 446, 447, 448, 449, 3, -1, -1, -1,
20669 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
20670 : -1, 18, 19, 20, 21, 22, 23, 24, 25, -1,
20671 : 27, 28, 29, -1, -1, -1, -1, -1, -1, -1,
20672 : 37, 38, -1, 40, 41, 42, -1, 44, 45, 46,
20673 : 47, 48, -1, 50, 51, -1, 53, 54, 55, 56,
20674 : 57, -1, -1, 60, 61, 62, 63, 64, -1, 66,
20675 : 67, 68, 69, 70, -1, -1, -1, 74, 75, 76,
20676 : 77, 78, -1, 80, 81, 82, -1, 84, 85, 86,
20677 : 87, 88, 89, -1, -1, 92, 93, 94, -1, -1,
20678 : -1, -1, -1, -1, -1, 102, 103, 104, 105, 106,
20679 : 107, 108, 109, 110, -1, 112, -1, 114, 115, 116,
20680 : 117, 118, 119, -1, 121, 122, 123, 124, -1, -1,
20681 : 127, 128, 129, 130, 131, -1, 133, 134, 135, -1,
20682 : 137, 138, 139, -1, 141, 142, 143, 144, 145, 146,
20683 : 147, 148, 149, -1, 151, -1, 153, 154, 155, 156,
20684 : -1, 158, -1, 160, -1, -1, -1, 164, 165, 166,
20685 : 167, -1, 169, 170, -1, 172, 173, -1, 175, 176,
20686 : 177, 178, 179, -1, 181, 182, 183, 184, -1, 186,
20687 : 187, 188, 189, 190, 191, -1, 193, -1, 195, 196,
20688 : 197, 198, 199, 200, 201, -1, 203, -1, 205, -1,
20689 : -1, 208, -1, 210, 211, 212, 213, 214, -1, -1,
20690 : 217, 218, -1, 220, -1, -1, 223, 224, 225, -1,
20691 : -1, 228, 229, 230, 231, 232, 233, 234, 235, 236,
20692 : 237, 238, 239, 240, 241, 242, 243, 244, -1, 246,
20693 : 247, 248, 249, 250, -1, 252, 253, -1, 255, -1,
20694 : 257, 258, 259, 260, 261, 262, -1, 264, 265, -1,
20695 : -1, 268, 269, 270, -1, -1, 273, 274, -1, 276,
20696 : -1, 278, 279, 280, 281, 282, 283, 284, 285, 286,
20697 : 287, -1, 289, 290, 291, 292, 293, 294, 295, 296,
20698 : -1, 298, 299, 300, 301, 302, 303, 304, 305, 306,
20699 : 307, 308, 309, 310, 311, -1, 313, 314, 315, 316,
20700 : 317, 318, 319, 320, 321, 322, 323, 324, -1, 326,
20701 : 327, -1, 329, 330, 331, 332, 333, 334, 335, 336,
20702 : 337, 338, 339, 340, 341, -1, 343, 344, 345, 346,
20703 : 347, -1, 349, 350, 351, 352, 353, -1, 355, 356,
20704 : 357, 358, -1, 360, 361, 362, 363, 364, 365, 366,
20705 : 367, 368, 369, 370, 371, 372, -1, 374, 375, -1,
20706 : 377, -1, 379, 380, 381, 382, 383, -1, 385, 386,
20707 : -1, -1, 389, 390, 391, 392, 393, -1, 395, 396,
20708 : 397, 398, 399, 400, 401, -1, -1, 404, 405, 406,
20709 : 407, 408, -1, -1, 411, 412, 413, 414, 415, 416,
20710 : 417, -1, 419, -1, 421, 422, 423, 424, -1, -1,
20711 : 427, -1, -1, 430, 431, 432, 433, 434, 435, 436,
20712 : 437, 438, 439, 440, 441, 442, 443, 444, 445, 446,
20713 : 447, 448, 449, 3, -1, -1, -1, -1, -1, -1,
20714 : -1, -1, -1, -1, -1, -1, -1, -1, 18, 19,
20715 : 20, 21, 22, 23, 24, 25, -1, 27, 28, 29,
20716 : -1, -1, -1, -1, -1, -1, -1, 37, 38, -1,
20717 : 40, 41, 42, -1, 44, 45, 46, 47, 48, -1,
20718 : 50, 51, -1, 53, 54, 55, 56, 57, -1, -1,
20719 : 60, 61, 62, 63, 64, -1, 66, 67, 68, 69,
20720 : 70, -1, -1, -1, 74, 75, 76, 77, 78, -1,
20721 : 80, 81, 82, -1, 84, 85, 86, 87, 88, 89,
20722 : -1, -1, 92, 93, 94, -1, -1, -1, -1, -1,
20723 : -1, -1, 102, 103, 104, 105, 106, 107, 108, 109,
20724 : 110, -1, 112, -1, 114, 115, 116, 117, 118, 119,
20725 : -1, 121, 122, 123, 124, -1, -1, 127, 128, 129,
20726 : 130, 131, -1, 133, 134, 135, -1, 137, 138, 139,
20727 : -1, 141, 142, 143, 144, 145, 146, 147, 148, 149,
20728 : -1, 151, -1, 153, 154, 155, 156, -1, 158, -1,
20729 : 160, -1, -1, -1, 164, 165, 166, 167, -1, 169,
20730 : 170, -1, 172, 173, -1, 175, 176, 177, 178, 179,
20731 : -1, 181, 182, 183, 184, -1, 186, 187, 188, 189,
20732 : 190, 191, -1, 193, -1, 195, 196, 197, 198, 199,
20733 : 200, 201, -1, 203, -1, 205, -1, -1, 208, -1,
20734 : 210, 211, 212, 213, 214, -1, -1, 217, 218, -1,
20735 : 220, -1, -1, 223, 224, 225, -1, -1, 228, 229,
20736 : 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
20737 : 240, 241, 242, 243, 244, -1, 246, 247, 248, 249,
20738 : 250, -1, 252, 253, -1, 255, -1, 257, 258, 259,
20739 : 260, 261, 262, -1, 264, 265, -1, -1, 268, 269,
20740 : 270, -1, -1, 273, 274, -1, 276, -1, 278, 279,
20741 : 280, 281, 282, 283, 284, 285, 286, 287, -1, 289,
20742 : 290, 291, 292, 293, 294, 295, 296, -1, 298, 299,
20743 : 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
20744 : 310, 311, -1, 313, 314, 315, 316, 317, 318, 319,
20745 : 320, 321, 322, 323, 324, -1, 326, 327, -1, 329,
20746 : 330, 331, 332, 333, 334, 335, 336, 337, 338, 339,
20747 : 340, 341, -1, 343, 344, 345, 346, 347, -1, 349,
20748 : 350, 351, 352, 353, -1, 355, 356, 357, 358, -1,
20749 : 360, 361, 362, 363, 364, 365, 366, 367, 368, 369,
20750 : 370, 371, 372, -1, 374, 375, -1, 377, -1, 379,
20751 : 380, 381, 382, 383, -1, 385, 386, -1, -1, 389,
20752 : 390, 391, 392, 393, -1, 395, 396, 397, 398, 399,
20753 : 400, 401, -1, -1, 404, 405, 406, 407, 408, -1,
20754 : -1, 411, 412, 413, 414, 415, 416, 417, -1, 419,
20755 : -1, 421, 422, 423, 424, -1, -1, 427, -1, -1,
20756 : 430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
20757 : 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
20758 : 3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
20759 : -1, -1, -1, -1, -1, 18, 19, 20, 21, 22,
20760 : 23, 24, 25, -1, 27, 28, 29, -1, -1, -1,
20761 : -1, -1, -1, -1, 37, 38, -1, 40, 41, 42,
20762 : -1, 44, 45, 46, 47, 48, -1, 50, 51, -1,
20763 : 53, 54, 55, 56, 57, -1, -1, 60, 61, 62,
20764 : 63, 64, -1, 66, 67, 68, 69, 70, -1, -1,
20765 : -1, 74, 75, 76, 77, 78, -1, 80, 81, 82,
20766 : -1, 84, 85, 86, 87, 88, 89, -1, -1, 92,
20767 : 93, 94, -1, -1, -1, -1, -1, -1, -1, 102,
20768 : 103, 104, 105, 106, 107, 108, 109, 110, -1, 112,
20769 : -1, 114, 115, 116, 117, 118, 119, -1, 121, 122,
20770 : 123, 124, -1, -1, 127, 128, 129, 130, 131, -1,
20771 : 133, 134, 135, -1, 137, 138, 139, -1, 141, 142,
20772 : 143, 144, 145, 146, 147, 148, 149, -1, 151, -1,
20773 : 153, 154, 155, 156, -1, 158, -1, 160, -1, -1,
20774 : -1, 164, 165, 166, 167, -1, 169, 170, -1, 172,
20775 : 173, -1, 175, 176, 177, 178, 179, -1, 181, 182,
20776 : 183, 184, -1, 186, 187, 188, 189, 190, 191, -1,
20777 : 193, -1, 195, 196, 197, 198, 199, 200, 201, -1,
20778 : 203, -1, 205, -1, -1, 208, -1, 210, 211, 212,
20779 : 213, 214, -1, -1, 217, 218, -1, 220, -1, -1,
20780 : 223, 224, 225, -1, -1, 228, 229, 230, 231, 232,
20781 : 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
20782 : 243, 244, -1, 246, 247, 248, 249, 250, -1, 252,
20783 : 253, -1, 255, -1, 257, 258, 259, 260, 261, 262,
20784 : -1, 264, 265, -1, -1, 268, 269, 270, -1, -1,
20785 : 273, 274, -1, 276, -1, 278, 279, 280, 281, 282,
20786 : 283, 284, 285, 286, 287, -1, 289, 290, 291, 292,
20787 : 293, 294, 295, 296, -1, 298, 299, 300, 301, 302,
20788 : 303, 304, 305, 306, 307, 308, 309, 310, 311, -1,
20789 : 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
20790 : 323, 324, -1, 326, 327, -1, 329, 330, 331, 332,
20791 : 333, 334, 335, 336, 337, 338, 339, 340, 341, -1,
20792 : 343, 344, 345, 346, 347, -1, 349, 350, 351, 352,
20793 : 353, -1, 355, 356, 357, 358, -1, 360, 361, 362,
20794 : 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
20795 : -1, 374, 375, -1, 377, -1, 379, 380, 381, 382,
20796 : 383, -1, 385, 386, -1, -1, 389, 390, 391, 392,
20797 : 393, -1, 395, 396, 397, 398, 399, 400, 401, -1,
20798 : -1, 404, 405, 406, 407, 408, -1, -1, 411, 412,
20799 : 413, 414, 415, 416, 417, -1, 419, -1, 421, 422,
20800 : 423, 424, -1, -1, 427, -1, -1, 430, 431, 432,
20801 : 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
20802 : 443, 444, 445, 446, 447, 448, 449, 3, -1, -1,
20803 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
20804 : -1, -1, 18, 19, 20, 21, 22, 23, 24, 25,
20805 : -1, 27, 28, 29, -1, -1, -1, -1, -1, -1,
20806 : -1, 37, 38, -1, 40, 41, 42, -1, 44, 45,
20807 : 46, 47, 48, -1, 50, 51, -1, 53, 54, 55,
20808 : 56, 57, -1, -1, 60, 61, 62, 63, 64, -1,
20809 : 66, 67, 68, 69, 70, -1, -1, -1, 74, 75,
20810 : 76, 77, 78, -1, 80, 81, 82, -1, 84, 85,
20811 : 86, 87, 88, 89, -1, -1, 92, 93, 94, -1,
20812 : -1, -1, -1, -1, -1, -1, 102, 103, 104, 105,
20813 : 106, 107, 108, 109, 110, -1, 112, -1, 114, 115,
20814 : 116, 117, 118, 119, -1, 121, 122, 123, 124, -1,
20815 : -1, 127, 128, 129, 130, 131, -1, 133, 134, 135,
20816 : -1, 137, 138, 139, -1, 141, 142, 143, 144, 145,
20817 : 146, 147, 148, 149, -1, 151, -1, 153, 154, 155,
20818 : 156, -1, 158, -1, 160, -1, -1, -1, 164, 165,
20819 : 166, 167, -1, 169, 170, -1, 172, 173, -1, 175,
20820 : 176, 177, 178, 179, -1, 181, 182, 183, 184, -1,
20821 : 186, 187, 188, 189, 190, 191, -1, 193, -1, 195,
20822 : 196, 197, 198, 199, 200, 201, -1, 203, -1, 205,
20823 : -1, -1, 208, -1, 210, 211, 212, 213, 214, -1,
20824 : -1, 217, 218, -1, 220, -1, -1, 223, 224, 225,
20825 : -1, -1, 228, 229, 230, 231, 232, 233, 234, 235,
20826 : 236, 237, 238, 239, 240, 241, 242, 243, 244, -1,
20827 : 246, 247, 248, 249, 250, -1, 252, 253, -1, 255,
20828 : -1, 257, 258, 259, 260, 261, 262, -1, 264, 265,
20829 : -1, -1, 268, 269, 270, -1, -1, 273, 274, -1,
20830 : 276, -1, 278, 279, 280, 281, 282, 283, 284, 285,
20831 : 286, 287, -1, 289, 290, 291, 292, 293, 294, 295,
20832 : 296, -1, 298, 299, 300, 301, 302, 303, 304, 305,
20833 : 306, 307, 308, 309, 310, 311, -1, 313, 314, 315,
20834 : 316, 317, 318, 319, 320, 321, 322, 323, 324, -1,
20835 : 326, 327, -1, 329, 330, 331, 332, 333, 334, 335,
20836 : 336, 337, 338, 339, 340, 341, -1, 343, 344, 345,
20837 : 346, 347, -1, 349, 350, 351, 352, 353, -1, 355,
20838 : 356, 357, 358, -1, 360, 361, 362, 363, 364, 365,
20839 : 366, 367, 368, 369, 370, 371, 372, -1, 374, 375,
20840 : -1, 377, -1, 379, 380, 381, 382, 383, -1, 385,
20841 : 386, -1, -1, 389, 390, 391, 392, 393, -1, 395,
20842 : 396, 397, 398, 399, 400, 401, -1, -1, 404, 405,
20843 : 406, 407, 408, -1, -1, 411, 412, 413, 414, 415,
20844 : 416, 417, -1, 419, -1, 421, 422, 423, 424, -1,
20845 : -1, 427, -1, -1, 430, 431, 432, 433, 434, 435,
20846 : 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
20847 : 446, 447, 448, 449, 3, -1, -1, -1, -1, -1,
20848 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
20849 : 19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
20850 : 29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
20851 : -1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
20852 : -1, 50, 51, -1, 53, 54, 55, 56, 57, -1,
20853 : -1, 60, 61, 62, 63, 64, -1, 66, 67, 68,
20854 : 69, 70, -1, -1, -1, 74, 75, 76, 77, 78,
20855 : -1, 80, 81, 82, -1, 84, 85, 86, 87, 88,
20856 : 89, -1, -1, 92, 93, 94, -1, -1, -1, -1,
20857 : -1, -1, -1, 102, 103, 104, 105, 106, 107, 108,
20858 : 109, 110, -1, 112, -1, 114, 115, 116, 117, 118,
20859 : 119, -1, 121, 122, 123, 124, -1, -1, 127, 128,
20860 : 129, 130, 131, -1, 133, 134, 135, -1, 137, 138,
20861 : 139, -1, 141, 142, 143, 144, 145, 146, 147, 148,
20862 : 149, -1, 151, -1, 153, 154, 155, 156, -1, 158,
20863 : -1, 160, -1, -1, -1, 164, 165, 166, 167, -1,
20864 : 169, 170, -1, 172, 173, -1, 175, 176, 177, 178,
20865 : 179, -1, 181, 182, 183, 184, -1, 186, 187, 188,
20866 : 189, 190, 191, -1, 193, -1, 195, 196, 197, 198,
20867 : 199, 200, 201, -1, 203, -1, 205, -1, -1, 208,
20868 : -1, 210, 211, 212, 213, 214, -1, -1, 217, 218,
20869 : -1, 220, -1, -1, 223, 224, 225, -1, -1, 228,
20870 : 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
20871 : 239, 240, 241, 242, 243, 244, -1, 246, 247, 248,
20872 : 249, 250, -1, 252, 253, -1, 255, -1, 257, 258,
20873 : 259, 260, 261, 262, -1, 264, 265, -1, -1, 268,
20874 : 269, 270, -1, -1, 273, 274, -1, 276, -1, 278,
20875 : 279, 280, 281, 282, 283, 284, 285, 286, 287, -1,
20876 : 289, 290, 291, 292, 293, 294, 295, 296, -1, 298,
20877 : 299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
20878 : 309, 310, 311, -1, 313, 314, 315, 316, 317, 318,
20879 : 319, 320, 321, 322, 323, 324, -1, 326, 327, -1,
20880 : 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
20881 : 339, 340, 341, -1, 343, 344, 345, 346, 347, -1,
20882 : 349, 350, 351, 352, 353, -1, 355, 356, 357, 358,
20883 : -1, 360, 361, 362, 363, 364, 365, 366, 367, 368,
20884 : 369, 370, 371, 372, -1, 374, 375, -1, 377, -1,
20885 : 379, 380, 381, 382, 383, -1, 385, 386, -1, -1,
20886 : 389, 390, 391, 392, 393, -1, 395, 396, 397, 398,
20887 : 399, 400, 401, -1, -1, 404, 405, 406, 407, 408,
20888 : -1, -1, 411, 412, 413, 414, 415, 416, 417, -1,
20889 : 419, -1, 421, 422, 423, 424, -1, -1, 427, -1,
20890 : -1, 430, 431, 432, 433, 434, 435, 436, 437, 438,
20891 : 439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
20892 : 449, 3, -1, -1, -1, -1, -1, -1, -1, -1,
20893 : -1, -1, -1, -1, -1, -1, 18, 19, 20, 21,
20894 : 22, 23, 24, 25, -1, 27, 28, 29, -1, -1,
20895 : -1, -1, -1, -1, -1, 37, 38, -1, 40, 41,
20896 : 42, -1, 44, 45, 46, 47, 48, -1, 50, 51,
20897 : -1, 53, 54, 55, 56, 57, -1, -1, 60, 61,
20898 : 62, 63, 64, -1, 66, 67, 68, 69, 70, -1,
20899 : -1, -1, 74, 75, 76, 77, 78, -1, 80, 81,
20900 : 82, -1, 84, 85, 86, 87, 88, 89, -1, -1,
20901 : 92, 93, 94, -1, -1, -1, -1, -1, -1, -1,
20902 : 102, 103, 104, 105, 106, 107, 108, 109, 110, -1,
20903 : 112, -1, 114, 115, 116, 117, 118, 119, -1, 121,
20904 : 122, 123, 124, -1, -1, 127, 128, 129, 130, 131,
20905 : -1, 133, 134, 135, -1, 137, 138, 139, -1, 141,
20906 : 142, 143, 144, 145, 146, 147, 148, 149, -1, 151,
20907 : -1, 153, 154, 155, 156, -1, 158, -1, 160, -1,
20908 : -1, -1, 164, 165, 166, 167, -1, 169, 170, -1,
20909 : 172, 173, -1, 175, 176, 177, 178, 179, -1, 181,
20910 : 182, 183, 184, -1, 186, 187, 188, 189, 190, 191,
20911 : -1, 193, -1, 195, 196, 197, 198, 199, 200, 201,
20912 : -1, 203, -1, 205, -1, -1, 208, -1, 210, 211,
20913 : 212, 213, 214, -1, -1, 217, 218, -1, 220, -1,
20914 : -1, 223, 224, 225, -1, -1, 228, 229, 230, 231,
20915 : 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
20916 : 242, 243, 244, -1, 246, 247, 248, 249, 250, -1,
20917 : 252, 253, -1, 255, -1, 257, 258, 259, 260, 261,
20918 : 262, -1, 264, 265, -1, -1, 268, 269, 270, -1,
20919 : -1, 273, 274, -1, 276, -1, 278, 279, 280, 281,
20920 : 282, 283, 284, 285, 286, 287, -1, 289, 290, 291,
20921 : 292, 293, 294, 295, 296, -1, 298, 299, 300, 301,
20922 : 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
20923 : -1, 313, 314, 315, 316, 317, 318, 319, 320, 321,
20924 : 322, 323, 324, -1, 326, 327, -1, 329, 330, 331,
20925 : 332, 333, 334, 335, 336, 337, 338, 339, 340, 341,
20926 : -1, 343, 344, 345, 346, 347, -1, 349, 350, 351,
20927 : 352, 353, -1, 355, 356, 357, 358, -1, 360, 361,
20928 : 362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
20929 : 372, -1, 374, 375, -1, 377, -1, 379, 380, 381,
20930 : 382, 383, -1, 385, 386, -1, -1, 389, 390, 391,
20931 : 392, 393, -1, 395, 396, 397, 398, 399, 400, 401,
20932 : -1, -1, 404, 405, 406, 407, 408, -1, -1, 411,
20933 : 412, 413, 414, 415, 416, 417, -1, 419, -1, 421,
20934 : 422, 423, 424, -1, -1, 427, -1, -1, 430, 431,
20935 : 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
20936 : 442, 443, 444, 445, 446, 447, 448, 449, 3, -1,
20937 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
20938 : -1, -1, -1, 18, 19, 20, 21, 22, 23, 24,
20939 : 25, -1, 27, 28, 29, -1, -1, -1, -1, -1,
20940 : -1, -1, 37, 38, -1, 40, 41, 42, -1, 44,
20941 : 45, 46, 47, 48, -1, 50, 51, -1, 53, 54,
20942 : 55, 56, 57, -1, -1, 60, 61, 62, 63, 64,
20943 : -1, 66, 67, 68, 69, 70, -1, -1, -1, 74,
20944 : 75, 76, 77, 78, -1, 80, 81, 82, -1, 84,
20945 : 85, 86, 87, 88, 89, -1, -1, 92, 93, 94,
20946 : -1, -1, -1, -1, -1, -1, -1, 102, 103, 104,
20947 : 105, 106, 107, 108, 109, 110, -1, 112, -1, 114,
20948 : 115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
20949 : -1, -1, 127, 128, 129, 130, 131, -1, 133, 134,
20950 : 135, -1, 137, 138, 139, -1, 141, 142, 143, 144,
20951 : 145, 146, 147, 148, 149, -1, 151, -1, 153, 154,
20952 : 155, 156, -1, 158, -1, 160, -1, -1, -1, 164,
20953 : 165, 166, 167, -1, 169, 170, -1, 172, 173, -1,
20954 : 175, 176, 177, 178, 179, -1, 181, 182, 183, 184,
20955 : -1, 186, 187, 188, 189, 190, 191, -1, 193, -1,
20956 : 195, 196, 197, 198, 199, 200, 201, -1, 203, -1,
20957 : 205, -1, -1, 208, -1, 210, 211, 212, 213, 214,
20958 : -1, -1, 217, 218, -1, 220, -1, -1, 223, 224,
20959 : 225, -1, -1, 228, 229, 230, 231, 232, 233, 234,
20960 : 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
20961 : -1, 246, 247, 248, 249, 250, -1, 252, 253, -1,
20962 : 255, -1, 257, 258, 259, 260, 261, 262, -1, 264,
20963 : 265, -1, -1, 268, 269, 270, -1, -1, 273, 274,
20964 : -1, 276, -1, 278, 279, 280, 281, 282, 283, 284,
20965 : 285, 286, 287, -1, 289, 290, 291, 292, 293, 294,
20966 : 295, 296, -1, 298, 299, 300, 301, 302, 303, 304,
20967 : 305, 306, 307, 308, 309, 310, 311, -1, 313, 314,
20968 : 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
20969 : -1, 326, 327, -1, 329, 330, 331, 332, 333, 334,
20970 : 335, 336, 337, 338, 339, 340, 341, -1, 343, 344,
20971 : 345, 346, 347, -1, 349, 350, 351, 352, 353, -1,
20972 : 355, 356, 357, 358, -1, 360, 361, 362, 363, 364,
20973 : 365, 366, 367, 368, 369, 370, 371, 372, -1, 374,
20974 : 375, -1, 377, -1, 379, 380, 381, 382, 383, -1,
20975 : 385, 386, -1, -1, 389, 390, 391, 392, 393, -1,
20976 : 395, 396, 397, 398, 399, 400, 401, -1, -1, 404,
20977 : 405, 406, 407, 408, -1, -1, 411, 412, 413, 414,
20978 : 415, 416, 417, -1, 419, -1, 421, 422, 423, 424,
20979 : -1, -1, 427, -1, -1, 430, 431, 432, 433, 434,
20980 : 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
20981 : 445, 446, 447, 448, 449, 3, -1, -1, -1, -1,
20982 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
20983 : 18, 19, 20, 21, 22, 23, 24, 25, -1, 27,
20984 : 28, 29, -1, -1, -1, -1, -1, -1, -1, 37,
20985 : 38, -1, 40, 41, 42, -1, 44, 45, 46, 47,
20986 : 48, -1, 50, 51, -1, 53, 54, 55, 56, 57,
20987 : -1, -1, 60, 61, 62, 63, 64, -1, 66, 67,
20988 : 68, 69, 70, -1, -1, -1, 74, 75, 76, 77,
20989 : 78, -1, 80, 81, 82, -1, 84, 85, 86, 87,
20990 : 88, 89, -1, -1, 92, 93, 94, -1, -1, -1,
20991 : -1, -1, -1, -1, 102, 103, 104, 105, 106, 107,
20992 : 108, 109, 110, -1, 112, -1, 114, 115, 116, 117,
20993 : 118, 119, -1, 121, 122, 123, 124, -1, -1, 127,
20994 : 128, 129, 130, 131, -1, 133, 134, 135, -1, 137,
20995 : 138, 139, -1, 141, 142, 143, 144, 145, 146, 147,
20996 : 148, 149, -1, 151, -1, 153, 154, 155, 156, -1,
20997 : 158, -1, 160, -1, -1, -1, 164, 165, 166, 167,
20998 : -1, 169, 170, -1, 172, 173, -1, 175, 176, 177,
20999 : 178, 179, -1, 181, 182, 183, 184, -1, 186, 187,
21000 : 188, 189, 190, 191, -1, 193, -1, 195, 196, 197,
21001 : 198, 199, 200, 201, -1, 203, -1, 205, -1, -1,
21002 : 208, -1, 210, 211, 212, 213, 214, -1, -1, 217,
21003 : 218, -1, 220, -1, -1, 223, 224, 225, -1, -1,
21004 : 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
21005 : 238, 239, 240, 241, 242, 243, 244, -1, 246, 247,
21006 : 248, 249, 250, -1, 252, 253, -1, 255, -1, 257,
21007 : 258, 259, 260, 261, 262, -1, 264, 265, -1, -1,
21008 : 268, 269, 270, -1, -1, 273, 274, -1, 276, -1,
21009 : 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
21010 : -1, 289, 290, 291, 292, 293, 294, 295, 296, -1,
21011 : 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
21012 : 308, 309, 310, 311, -1, 313, 314, 315, 316, 317,
21013 : 318, 319, 320, 321, 322, 323, 324, -1, 326, 327,
21014 : -1, 329, 330, 331, 332, 333, 334, 335, 336, 337,
21015 : 338, 339, 340, 341, -1, 343, 344, 345, 346, 347,
21016 : -1, 349, 350, 351, 352, 353, -1, 355, 356, 357,
21017 : 358, -1, 360, 361, 362, 363, 364, 365, 366, 367,
21018 : 368, 369, 370, 371, 372, -1, 374, 375, -1, 377,
21019 : -1, 379, 380, 381, 382, 383, -1, 385, 386, -1,
21020 : -1, 389, 390, 391, 392, 393, -1, 395, 396, 397,
21021 : 398, 399, 400, 401, -1, -1, 404, 405, 406, 407,
21022 : 408, -1, -1, 411, 412, 413, 414, 415, 416, 417,
21023 : -1, 419, -1, 421, 422, 423, 424, -1, -1, 427,
21024 : -1, -1, 430, 431, 432, 433, 434, 435, 436, 437,
21025 : 438, 439, 440, 441, 442, 443, 444, 445, 446, 447,
21026 : 448, 449, 3, -1, -1, -1, -1, -1, -1, -1,
21027 : -1, -1, -1, -1, -1, -1, -1, 18, 19, 20,
21028 : 21, 22, 23, 24, 25, -1, 27, 28, 29, -1,
21029 : -1, -1, -1, -1, -1, -1, 37, 38, -1, 40,
21030 : 41, 42, -1, 44, 45, 46, 47, 48, -1, 50,
21031 : 51, -1, 53, 54, 55, 56, 57, -1, -1, 60,
21032 : 61, 62, 63, 64, -1, 66, 67, 68, 69, 70,
21033 : -1, -1, -1, 74, 75, 76, 77, 78, -1, 80,
21034 : 81, 82, -1, 84, 85, 86, 87, 88, 89, -1,
21035 : -1, 92, 93, 94, -1, -1, -1, -1, -1, -1,
21036 : -1, 102, 103, 104, 105, 106, 107, 108, 109, 110,
21037 : -1, 112, -1, 114, 115, 116, 117, 118, 119, -1,
21038 : 121, 122, 123, 124, -1, -1, 127, 128, 129, 130,
21039 : 131, -1, 133, 134, 135, -1, 137, 138, 139, -1,
21040 : 141, 142, 143, 144, 145, 146, 147, 148, 149, -1,
21041 : 151, -1, 153, 154, 155, 156, -1, 158, -1, 160,
21042 : -1, -1, -1, 164, 165, 166, 167, -1, 169, 170,
21043 : -1, 172, 173, -1, 175, 176, 177, 178, 179, -1,
21044 : 181, 182, 183, 184, -1, 186, 187, 188, 189, 190,
21045 : 191, -1, 193, -1, 195, 196, 197, 198, 199, 200,
21046 : 201, -1, 203, -1, 205, -1, -1, 208, -1, 210,
21047 : 211, 212, 213, 214, -1, -1, 217, 218, -1, 220,
21048 : -1, -1, 223, 224, 225, -1, -1, 228, 229, 230,
21049 : 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
21050 : 241, 242, 243, 244, -1, 246, 247, 248, 249, 250,
21051 : -1, 252, 253, -1, 255, -1, 257, 258, 259, 260,
21052 : 261, 262, -1, 264, 265, -1, -1, 268, 269, 270,
21053 : -1, -1, 273, 274, -1, 276, -1, 278, 279, 280,
21054 : 281, 282, 283, 284, 285, 286, 287, -1, 289, 290,
21055 : 291, 292, 293, 294, 295, 296, -1, 298, 299, 300,
21056 : 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
21057 : 311, -1, 313, 314, 315, 316, 317, 318, 319, 320,
21058 : 321, 322, 323, 324, -1, 326, 327, -1, 329, 330,
21059 : 331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
21060 : 341, -1, 343, 344, 345, 346, 347, -1, 349, 350,
21061 : 351, 352, 353, -1, 355, 356, 357, 358, -1, 360,
21062 : 361, 362, 363, 364, 365, 366, 367, 368, 369, 370,
21063 : 371, 372, -1, 374, 375, -1, 377, -1, 379, 380,
21064 : 381, 382, 383, -1, 385, 386, -1, -1, 389, 390,
21065 : 391, 392, 393, -1, 395, 396, 397, 398, 399, 400,
21066 : 401, -1, -1, 404, 405, 406, 407, 408, -1, -1,
21067 : 411, 412, 413, 414, 415, 416, 417, -1, 419, -1,
21068 : 421, 422, 423, 424, -1, -1, 427, -1, -1, 430,
21069 : 431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
21070 : 441, 442, 443, 444, 445, 446, 447, 448, 449, 3,
21071 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
21072 : -1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
21073 : 24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
21074 : -1, 35, -1, 37, 38, -1, 40, 41, 42, -1,
21075 : 44, 45, 46, 47, 48, -1, 50, 51, -1, 53,
21076 : 54, 55, 56, 57, -1, -1, 60, 61, 62, 63,
21077 : 64, -1, 66, 67, 68, 69, 70, -1, -1, -1,
21078 : 74, 75, 76, 77, 78, -1, 80, 81, 82, -1,
21079 : 84, 85, 86, 87, 88, 89, -1, -1, 92, 93,
21080 : 94, -1, -1, -1, -1, -1, -1, -1, 102, 103,
21081 : 104, 105, 106, 107, 108, 109, 110, -1, 112, -1,
21082 : 114, 115, 116, 117, 118, 119, -1, 121, 122, 123,
21083 : 124, -1, -1, 127, 128, 129, 130, 131, -1, 133,
21084 : 134, 135, -1, 137, 138, 139, -1, 141, 142, 143,
21085 : 144, 145, 146, 147, 148, 149, -1, 151, -1, 153,
21086 : 154, 155, 156, -1, 158, -1, 160, -1, -1, -1,
21087 : 164, 165, 166, 167, -1, 169, 170, -1, 172, 173,
21088 : -1, 175, 176, 177, 178, 179, -1, 181, 182, 183,
21089 : 184, -1, 186, 187, 188, 189, 190, 191, -1, 193,
21090 : -1, 195, 196, 197, 198, 199, 200, 201, -1, 203,
21091 : -1, 205, -1, -1, 208, -1, 210, 211, 212, 213,
21092 : 214, -1, -1, 217, 218, -1, 220, -1, -1, 223,
21093 : 224, 225, -1, -1, 228, 229, 230, 231, 232, 233,
21094 : 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
21095 : 244, -1, 246, 247, 248, 249, 250, -1, 252, 253,
21096 : -1, 255, -1, 257, 258, 259, 260, 261, 262, -1,
21097 : 264, 265, -1, -1, 268, 269, 270, -1, -1, 273,
21098 : 274, -1, 276, -1, 278, 279, 280, 281, 282, 283,
21099 : 284, 285, 286, 287, -1, 289, 290, 291, 292, 293,
21100 : 294, 295, 296, -1, 298, 299, 300, 301, 302, 303,
21101 : 304, 305, 306, 307, 308, 309, 310, 311, -1, 313,
21102 : 314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
21103 : 324, -1, 326, 327, -1, 329, 330, 331, 332, 333,
21104 : 334, 335, 336, 337, 338, 339, 340, 341, -1, 343,
21105 : 344, 345, 346, 347, -1, -1, 350, 351, 352, 353,
21106 : -1, 355, 356, 357, 358, -1, 360, 361, 362, 363,
21107 : 364, 365, 366, 367, 368, 369, 370, 371, 372, -1,
21108 : 374, 375, -1, 377, -1, 379, 380, 381, 382, 383,
21109 : -1, 385, 386, -1, -1, 389, 390, 391, 392, 393,
21110 : -1, 395, 396, 397, 398, 399, 400, 401, -1, -1,
21111 : 404, 405, 406, 407, 408, -1, -1, 411, 412, 413,
21112 : 414, 415, 416, 417, -1, 419, -1, 421, 422, 423,
21113 : 424, -1, -1, 427, -1, -1, 430, 431, 432, 433,
21114 : 434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
21115 : 444, 445, 446, 447, 448, 449, 3, -1, -1, -1,
21116 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
21117 : -1, 18, 19, 20, 21, 22, 23, 24, 25, -1,
21118 : 27, 28, 29, -1, -1, -1, -1, -1, -1, -1,
21119 : 37, 38, -1, 40, 41, 42, -1, 44, 45, 46,
21120 : 47, 48, -1, 50, 51, -1, 53, 54, 55, 56,
21121 : 57, -1, -1, 60, 61, 62, 63, 64, -1, 66,
21122 : 67, 68, 69, 70, -1, -1, -1, 74, 75, 76,
21123 : 77, 78, -1, 80, 81, 82, -1, 84, 85, 86,
21124 : 87, 88, 89, -1, -1, 92, 93, 94, -1, -1,
21125 : -1, -1, -1, -1, -1, 102, 103, 104, 105, 106,
21126 : 107, 108, 109, 110, -1, 112, -1, 114, 115, 116,
21127 : 117, 118, 119, -1, 121, 122, 123, 124, -1, -1,
21128 : 127, 128, 129, 130, 131, -1, 133, 134, 135, -1,
21129 : 137, 138, 139, -1, 141, 142, 143, 144, 145, 146,
21130 : 147, 148, 149, -1, 151, -1, 153, 154, 155, 156,
21131 : -1, 158, -1, 160, -1, -1, -1, 164, 165, 166,
21132 : 167, -1, 169, 170, -1, 172, 173, -1, 175, 176,
21133 : 177, 178, 179, -1, 181, 182, 183, 184, -1, 186,
21134 : 187, 188, 189, 190, 191, -1, 193, -1, 195, 196,
21135 : 197, 198, 199, 200, 201, -1, 203, -1, 205, -1,
21136 : -1, 208, -1, 210, 211, 212, 213, 214, -1, -1,
21137 : 217, 218, -1, 220, -1, -1, 223, 224, 225, -1,
21138 : -1, 228, 229, 230, 231, 232, 233, 234, 235, 236,
21139 : 237, 238, 239, 240, 241, 242, 243, 244, -1, 246,
21140 : 247, 248, 249, 250, -1, 252, 253, -1, 255, -1,
21141 : 257, 258, 259, 260, 261, 262, -1, 264, 265, -1,
21142 : -1, 268, 269, 270, -1, -1, 273, 274, -1, 276,
21143 : -1, 278, 279, 280, 281, 282, 283, 284, 285, 286,
21144 : 287, -1, 289, 290, 291, 292, 293, 294, 295, 296,
21145 : -1, 298, 299, 300, 301, 302, 303, 304, 305, 306,
21146 : 307, 308, 309, 310, 311, -1, 313, 314, 315, 316,
21147 : 317, 318, 319, 320, 321, 322, 323, 324, -1, 326,
21148 : 327, -1, 329, 330, 331, 332, 333, 334, 335, 336,
21149 : 337, 338, 339, 340, 341, -1, 343, 344, 345, 346,
21150 : 347, -1, 349, 350, 351, 352, 353, -1, 355, 356,
21151 : 357, 358, -1, 360, 361, 362, 363, 364, 365, 366,
21152 : 367, 368, 369, 370, 371, 372, -1, 374, 375, -1,
21153 : 377, -1, 379, 380, 381, 382, 383, -1, 385, 386,
21154 : -1, -1, 389, 390, 391, 392, 393, -1, 395, 396,
21155 : 397, 398, 399, 400, 401, -1, -1, 404, 405, 406,
21156 : 407, 408, -1, -1, 411, 412, 413, 414, 415, 416,
21157 : 417, -1, 419, -1, 421, 422, 423, 424, -1, -1,
21158 : 427, -1, -1, 430, 431, 432, 433, 434, 435, 436,
21159 : 437, 438, 439, 440, 441, 442, 443, 444, 445, 446,
21160 : 447, 448, 449, 3, -1, -1, -1, -1, -1, -1,
21161 : -1, -1, -1, -1, -1, -1, -1, -1, 18, 19,
21162 : 20, 21, 22, 23, 24, 25, -1, 27, 28, 29,
21163 : -1, -1, -1, -1, -1, -1, -1, 37, 38, -1,
21164 : 40, 41, 42, -1, 44, 45, 46, 47, 48, -1,
21165 : 50, 51, -1, 53, 54, 55, 56, 57, -1, -1,
21166 : 60, 61, 62, 63, 64, -1, 66, 67, 68, 69,
21167 : 70, -1, -1, -1, 74, 75, 76, 77, 78, -1,
21168 : 80, 81, 82, -1, 84, 85, 86, 87, 88, 89,
21169 : -1, -1, 92, 93, 94, -1, -1, -1, -1, -1,
21170 : -1, -1, 102, 103, 104, 105, 106, 107, 108, 109,
21171 : 110, -1, 112, -1, 114, 115, 116, 117, 118, 119,
21172 : -1, 121, 122, 123, 124, -1, -1, 127, 128, 129,
21173 : 130, 131, -1, 133, 134, 135, -1, 137, 138, 139,
21174 : -1, 141, 142, 143, 144, 145, 146, 147, 148, 149,
21175 : -1, 151, -1, 153, 154, 155, 156, -1, 158, -1,
21176 : 160, -1, -1, -1, 164, 165, 166, 167, -1, 169,
21177 : 170, -1, 172, 173, -1, 175, 176, 177, 178, 179,
21178 : -1, 181, 182, 183, 184, -1, 186, 187, 188, 189,
21179 : 190, 191, -1, 193, -1, 195, 196, 197, 198, 199,
21180 : 200, 201, -1, 203, -1, 205, -1, -1, 208, -1,
21181 : 210, 211, 212, 213, 214, -1, -1, 217, 218, -1,
21182 : 220, -1, -1, 223, 224, 225, -1, -1, 228, 229,
21183 : 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
21184 : 240, 241, 242, 243, 244, -1, 246, 247, 248, 249,
21185 : 250, -1, 252, 253, -1, 255, -1, 257, 258, 259,
21186 : 260, 261, 262, -1, 264, 265, -1, -1, 268, 269,
21187 : 270, -1, -1, 273, 274, -1, 276, -1, 278, 279,
21188 : 280, 281, 282, 283, 284, 285, 286, 287, -1, 289,
21189 : 290, 291, 292, 293, 294, 295, 296, -1, 298, 299,
21190 : 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
21191 : 310, 311, -1, 313, 314, 315, 316, 317, 318, 319,
21192 : 320, 321, 322, 323, 324, -1, 326, 327, -1, 329,
21193 : 330, 331, 332, 333, 334, 335, 336, 337, 338, 339,
21194 : 340, 341, -1, 343, 344, 345, 346, 347, -1, 349,
21195 : 350, 351, 352, 353, -1, 355, 356, 357, 358, -1,
21196 : 360, 361, 362, 363, 364, 365, 366, 367, 368, 369,
21197 : 370, 371, 372, -1, 374, 375, -1, 377, -1, 379,
21198 : 380, 381, 382, 383, -1, 385, 386, -1, -1, 389,
21199 : 390, 391, 392, 393, -1, 395, 396, 397, 398, 399,
21200 : 400, 401, -1, -1, 404, 405, 406, 407, 408, -1,
21201 : -1, 411, 412, 413, 414, 415, 416, 417, -1, 419,
21202 : -1, 421, 422, 423, 424, -1, -1, 427, -1, -1,
21203 : 430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
21204 : 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
21205 : 3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
21206 : -1, -1, -1, -1, -1, 18, 19, 20, 21, 22,
21207 : 23, 24, 25, -1, 27, 28, 29, -1, -1, -1,
21208 : -1, -1, -1, -1, 37, 38, -1, 40, 41, 42,
21209 : -1, 44, 45, 46, 47, 48, -1, 50, 51, -1,
21210 : 53, 54, 55, 56, 57, -1, -1, 60, 61, 62,
21211 : 63, 64, -1, 66, 67, 68, 69, 70, -1, -1,
21212 : -1, 74, 75, 76, 77, 78, -1, 80, 81, 82,
21213 : -1, 84, 85, 86, 87, 88, 89, -1, -1, 92,
21214 : 93, 94, -1, -1, -1, -1, -1, -1, -1, 102,
21215 : 103, 104, 105, 106, 107, 108, 109, 110, -1, 112,
21216 : -1, 114, 115, 116, 117, 118, 119, -1, 121, 122,
21217 : 123, 124, -1, -1, 127, 128, 129, 130, 131, -1,
21218 : 133, 134, 135, -1, 137, 138, 139, -1, 141, 142,
21219 : 143, 144, 145, 146, 147, 148, 149, -1, 151, -1,
21220 : 153, 154, 155, 156, -1, 158, -1, 160, -1, -1,
21221 : -1, 164, 165, 166, 167, -1, 169, 170, -1, 172,
21222 : 173, -1, 175, 176, 177, 178, 179, -1, 181, 182,
21223 : 183, 184, -1, 186, 187, 188, 189, 190, 191, -1,
21224 : 193, -1, 195, 196, 197, 198, 199, 200, 201, -1,
21225 : 203, -1, 205, -1, -1, 208, -1, 210, 211, 212,
21226 : 213, 214, -1, -1, 217, 218, -1, 220, -1, -1,
21227 : 223, 224, 225, -1, -1, 228, 229, 230, 231, 232,
21228 : 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
21229 : 243, 244, -1, 246, 247, 248, 249, 250, -1, 252,
21230 : 253, -1, 255, -1, 257, 258, 259, 260, 261, 262,
21231 : -1, 264, 265, -1, -1, 268, 269, 270, -1, -1,
21232 : 273, 274, -1, 276, -1, 278, 279, 280, 281, 282,
21233 : 283, 284, 285, 286, 287, -1, 289, 290, 291, 292,
21234 : 293, 294, 295, 296, -1, 298, 299, 300, 301, 302,
21235 : 303, 304, 305, 306, 307, 308, 309, 310, 311, -1,
21236 : 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
21237 : 323, 324, -1, 326, 327, -1, 329, 330, 331, 332,
21238 : 333, 334, 335, 336, 337, 338, 339, 340, 341, -1,
21239 : 343, 344, 345, 346, 347, -1, 349, 350, 351, 352,
21240 : 353, -1, 355, 356, 357, 358, -1, 360, 361, 362,
21241 : 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
21242 : -1, 374, 375, -1, 377, -1, 379, 380, 381, 382,
21243 : 383, -1, 385, 386, -1, -1, 389, 390, 391, 392,
21244 : 393, -1, 395, 396, 397, 398, 399, 400, 401, -1,
21245 : -1, 404, 405, 406, 407, 408, -1, -1, 411, 412,
21246 : 413, 414, 415, 416, 417, -1, 419, -1, 421, 422,
21247 : 423, 424, -1, -1, 427, -1, -1, 430, 431, 432,
21248 : 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
21249 : 443, 444, 445, 446, 447, 448, 449, 3, -1, -1,
21250 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
21251 : -1, -1, 18, 19, 20, 21, 22, 23, 24, 25,
21252 : -1, 27, 28, 29, -1, -1, -1, -1, -1, -1,
21253 : -1, 37, 38, -1, 40, 41, 42, -1, 44, 45,
21254 : 46, 47, 48, -1, 50, 51, -1, 53, 54, 55,
21255 : 56, 57, -1, -1, 60, 61, 62, 63, 64, -1,
21256 : 66, 67, 68, 69, 70, -1, -1, -1, 74, 75,
21257 : 76, 77, 78, -1, 80, 81, 82, -1, 84, 85,
21258 : 86, 87, 88, 89, -1, -1, 92, 93, 94, -1,
21259 : -1, -1, -1, -1, -1, -1, 102, 103, 104, 105,
21260 : 106, 107, 108, 109, 110, -1, 112, -1, 114, 115,
21261 : 116, 117, 118, 119, -1, 121, 122, 123, 124, -1,
21262 : -1, 127, 128, 129, 130, 131, -1, 133, 134, 135,
21263 : -1, 137, 138, 139, -1, 141, 142, 143, 144, 145,
21264 : 146, 147, 148, 149, -1, 151, -1, 153, 154, 155,
21265 : 156, -1, 158, -1, 160, -1, -1, -1, 164, 165,
21266 : 166, 167, -1, 169, 170, -1, 172, 173, -1, 175,
21267 : 176, 177, 178, 179, -1, 181, 182, 183, 184, -1,
21268 : 186, 187, 188, 189, 190, 191, -1, 193, -1, 195,
21269 : 196, 197, 198, 199, 200, 201, -1, 203, -1, 205,
21270 : -1, -1, 208, -1, 210, 211, 212, 213, 214, -1,
21271 : -1, 217, 218, -1, 220, -1, -1, 223, 224, 225,
21272 : -1, -1, 228, 229, 230, 231, 232, 233, 234, 235,
21273 : 236, 237, 238, 239, 240, 241, 242, 243, 244, -1,
21274 : 246, 247, 248, 249, 250, -1, 252, 253, -1, 255,
21275 : -1, 257, 258, 259, 260, 261, 262, -1, 264, 265,
21276 : -1, -1, 268, 269, 270, -1, -1, 273, 274, -1,
21277 : 276, -1, 278, 279, 280, 281, 282, 283, 284, 285,
21278 : 286, 287, -1, 289, 290, 291, 292, 293, 294, 295,
21279 : 296, -1, 298, 299, 300, 301, 302, 303, 304, 305,
21280 : 306, 307, 308, 309, 310, 311, -1, 313, 314, 315,
21281 : 316, 317, 318, 319, 320, 321, 322, 323, 324, -1,
21282 : 326, 327, -1, 329, 330, 331, 332, 333, 334, 335,
21283 : 336, 337, 338, 339, 340, 341, -1, 343, 344, 345,
21284 : 346, 347, -1, 349, 350, 351, 352, 353, -1, 355,
21285 : 356, 357, 358, -1, 360, 361, 362, 363, 364, 365,
21286 : 366, 367, 368, 369, 370, 371, 372, -1, 374, 375,
21287 : -1, 377, -1, 379, 380, 381, 382, 383, -1, 385,
21288 : 386, -1, -1, 389, 390, 391, 392, 393, -1, 395,
21289 : 396, 397, 398, 399, 400, 401, -1, -1, 404, 405,
21290 : 406, 407, 408, -1, -1, 411, 412, 413, 414, 415,
21291 : 416, 417, -1, 419, -1, 421, 422, 423, 424, -1,
21292 : -1, 427, -1, -1, 430, 431, 432, 433, 434, 435,
21293 : 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
21294 : 446, 447, 448, 449, 3, -1, -1, -1, -1, -1,
21295 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
21296 : 19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
21297 : 29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
21298 : -1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
21299 : -1, 50, 51, -1, 53, 54, 55, 56, 57, -1,
21300 : -1, 60, 61, 62, 63, 64, -1, 66, 67, 68,
21301 : 69, 70, -1, -1, -1, 74, 75, 76, 77, 78,
21302 : -1, 80, 81, 82, -1, 84, 85, 86, 87, 88,
21303 : 89, -1, -1, 92, 93, 94, -1, -1, -1, -1,
21304 : -1, -1, -1, 102, 103, 104, 105, 106, 107, 108,
21305 : 109, 110, -1, 112, -1, 114, 115, 116, 117, 118,
21306 : 119, -1, 121, 122, 123, 124, -1, -1, 127, 128,
21307 : 129, 130, 131, -1, 133, 134, 135, -1, 137, 138,
21308 : 139, -1, 141, 142, 143, 144, 145, 146, 147, 148,
21309 : 149, -1, 151, -1, 153, 154, 155, 156, -1, 158,
21310 : -1, 160, -1, -1, -1, 164, 165, 166, 167, -1,
21311 : 169, 170, -1, 172, 173, -1, 175, 176, 177, 178,
21312 : 179, -1, 181, 182, 183, 184, -1, 186, 187, 188,
21313 : 189, 190, 191, -1, 193, -1, 195, 196, 197, 198,
21314 : 199, 200, 201, -1, 203, -1, 205, -1, -1, 208,
21315 : -1, 210, 211, 212, 213, 214, -1, -1, 217, 218,
21316 : -1, 220, -1, -1, 223, 224, 225, -1, -1, 228,
21317 : 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
21318 : 239, 240, 241, 242, 243, 244, -1, 246, 247, 248,
21319 : 249, 250, -1, 252, 253, -1, 255, -1, 257, 258,
21320 : 259, 260, 261, 262, -1, 264, 265, -1, -1, 268,
21321 : 269, 270, -1, -1, 273, 274, -1, 276, -1, 278,
21322 : 279, 280, 281, 282, 283, 284, 285, 286, 287, -1,
21323 : 289, 290, 291, 292, 293, 294, 295, 296, -1, 298,
21324 : 299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
21325 : 309, 310, 311, -1, 313, 314, 315, 316, 317, 318,
21326 : 319, 320, 321, 322, 323, 324, -1, 326, 327, -1,
21327 : 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
21328 : 339, 340, 341, -1, 343, 344, 345, 346, 347, -1,
21329 : 349, 350, 351, 352, 353, -1, 355, 356, 357, 358,
21330 : -1, 360, 361, 362, 363, 364, 365, 366, 367, 368,
21331 : 369, 370, 371, 372, -1, 374, 375, -1, 377, -1,
21332 : 379, 380, 381, 382, 383, -1, 385, 386, -1, -1,
21333 : 389, 390, 391, 392, 393, -1, 395, 396, 397, 398,
21334 : 399, 400, 401, -1, -1, 404, 405, 406, 407, 408,
21335 : -1, -1, 411, 412, 413, 414, 415, 416, 417, -1,
21336 : 419, -1, 421, 422, 423, 424, -1, -1, 427, -1,
21337 : -1, 430, 431, 432, 433, 434, 435, 436, 437, 438,
21338 : 439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
21339 : 449, 3, -1, -1, -1, -1, -1, -1, -1, -1,
21340 : -1, -1, -1, -1, -1, -1, 18, 19, 20, 21,
21341 : 22, 23, 24, 25, -1, 27, 28, 29, -1, -1,
21342 : -1, -1, -1, -1, -1, 37, 38, -1, 40, 41,
21343 : 42, -1, 44, 45, 46, 47, 48, -1, 50, 51,
21344 : -1, 53, 54, 55, 56, 57, -1, -1, 60, 61,
21345 : 62, 63, 64, -1, 66, 67, 68, 69, 70, -1,
21346 : -1, -1, 74, 75, 76, 77, 78, -1, 80, 81,
21347 : 82, -1, 84, 85, 86, 87, 88, 89, -1, -1,
21348 : 92, 93, 94, -1, -1, -1, -1, -1, -1, -1,
21349 : 102, 103, 104, 105, 106, 107, 108, 109, 110, -1,
21350 : 112, -1, 114, 115, 116, 117, 118, 119, -1, 121,
21351 : 122, 123, 124, -1, -1, 127, 128, 129, 130, 131,
21352 : -1, 133, 134, 135, -1, 137, 138, 139, -1, 141,
21353 : 142, 143, 144, 145, 146, 147, 148, 149, -1, 151,
21354 : -1, 153, 154, 155, 156, -1, 158, -1, 160, -1,
21355 : -1, -1, 164, 165, 166, 167, -1, 169, 170, -1,
21356 : 172, 173, -1, 175, 176, 177, 178, 179, -1, 181,
21357 : 182, 183, 184, -1, 186, 187, 188, 189, 190, 191,
21358 : -1, 193, -1, 195, 196, 197, 198, 199, 200, 201,
21359 : -1, 203, -1, 205, -1, -1, 208, -1, 210, 211,
21360 : 212, 213, 214, -1, -1, 217, 218, -1, 220, -1,
21361 : -1, 223, 224, 225, -1, -1, 228, 229, 230, 231,
21362 : 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
21363 : 242, 243, 244, -1, 246, 247, 248, 249, 250, -1,
21364 : 252, 253, -1, 255, -1, 257, 258, 259, 260, 261,
21365 : 262, -1, 264, 265, -1, -1, 268, 269, 270, -1,
21366 : -1, 273, 274, -1, 276, -1, 278, 279, 280, 281,
21367 : 282, 283, 284, 285, 286, 287, -1, 289, 290, 291,
21368 : 292, 293, 294, 295, 296, -1, 298, 299, 300, 301,
21369 : 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
21370 : -1, 313, 314, 315, 316, 317, 318, 319, 320, 321,
21371 : 322, 323, 324, -1, 326, 327, -1, 329, 330, 331,
21372 : 332, 333, 334, 335, 336, 337, 338, 339, 340, 341,
21373 : -1, 343, 344, 345, 346, 347, -1, 349, 350, 351,
21374 : 352, 353, -1, 355, 356, 357, 358, -1, 360, 361,
21375 : 362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
21376 : 372, -1, 374, 375, -1, 377, -1, 379, 380, 381,
21377 : 382, 383, -1, 385, 386, -1, -1, 389, 390, 391,
21378 : 392, 393, -1, 395, 396, 397, 398, 399, 400, 401,
21379 : -1, -1, 404, 405, 406, 407, 408, -1, -1, 411,
21380 : 412, 413, 414, 415, 416, 417, -1, 419, -1, 421,
21381 : 422, 423, 424, -1, -1, 427, -1, -1, 430, 431,
21382 : 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
21383 : 442, 443, 444, 445, 446, 447, 448, 449, 3, -1,
21384 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
21385 : -1, -1, -1, 18, 19, 20, 21, 22, 23, 24,
21386 : 25, -1, 27, 28, 29, -1, -1, -1, -1, -1,
21387 : -1, -1, 37, 38, -1, 40, 41, 42, -1, 44,
21388 : 45, 46, 47, 48, -1, 50, 51, -1, 53, 54,
21389 : 55, 56, 57, -1, -1, 60, 61, 62, 63, 64,
21390 : -1, 66, 67, 68, 69, 70, -1, -1, -1, 74,
21391 : 75, 76, 77, 78, -1, 80, 81, 82, -1, 84,
21392 : 85, 86, 87, 88, 89, -1, -1, 92, 93, 94,
21393 : -1, -1, -1, -1, -1, -1, -1, 102, 103, 104,
21394 : 105, 106, 107, 108, 109, 110, -1, 112, -1, 114,
21395 : 115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
21396 : -1, -1, 127, 128, 129, 130, 131, -1, 133, 134,
21397 : 135, -1, 137, 138, 139, -1, 141, 142, 143, 144,
21398 : 145, 146, 147, 148, 149, -1, 151, -1, 153, 154,
21399 : 155, 156, -1, 158, -1, 160, -1, -1, -1, 164,
21400 : 165, 166, 167, -1, 169, 170, -1, 172, 173, -1,
21401 : 175, 176, 177, 178, 179, -1, 181, 182, 183, 184,
21402 : -1, 186, 187, 188, 189, 190, 191, -1, 193, -1,
21403 : 195, 196, 197, 198, 199, 200, 201, -1, 203, -1,
21404 : 205, -1, -1, 208, -1, 210, 211, 212, 213, 214,
21405 : -1, -1, 217, 218, -1, 220, -1, -1, 223, 224,
21406 : 225, -1, -1, 228, 229, 230, 231, 232, 233, 234,
21407 : 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
21408 : -1, 246, 247, 248, 249, 250, -1, 252, 253, -1,
21409 : 255, -1, 257, 258, 259, 260, 261, 262, -1, 264,
21410 : 265, -1, -1, 268, 269, 270, -1, -1, 273, 274,
21411 : -1, 276, -1, 278, 279, 280, 281, 282, 283, 284,
21412 : 285, 286, 287, -1, 289, 290, 291, 292, 293, 294,
21413 : 295, 296, -1, 298, 299, 300, 301, 302, 303, 304,
21414 : 305, 306, 307, 308, 309, 310, 311, -1, 313, 314,
21415 : 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
21416 : -1, 326, 327, -1, 329, 330, 331, 332, 333, 334,
21417 : 335, 336, 337, 338, 339, 340, 341, -1, 343, 344,
21418 : 345, 346, 347, -1, 349, 350, 351, 352, 353, -1,
21419 : 355, 356, 357, 358, -1, 360, 361, 362, 363, 364,
21420 : 365, 366, 367, 368, 369, 370, 371, 372, -1, 374,
21421 : 375, -1, 377, -1, 379, 380, 381, 382, 383, -1,
21422 : 385, 386, -1, -1, 389, 390, 391, 392, 393, -1,
21423 : 395, 396, 397, 398, 399, 400, 401, -1, -1, 404,
21424 : 405, 406, 407, 408, -1, -1, 411, 412, 413, 414,
21425 : 415, 416, 417, -1, 419, -1, 421, 422, 423, 424,
21426 : -1, -1, 427, -1, -1, 430, 431, 432, 433, 434,
21427 : 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
21428 : 445, 446, 447, 448, 449, 3, -1, -1, -1, -1,
21429 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
21430 : 18, 19, 20, 21, 22, 23, 24, 25, -1, 27,
21431 : 28, 29, -1, -1, -1, -1, -1, -1, -1, 37,
21432 : 38, -1, 40, 41, 42, -1, 44, 45, 46, 47,
21433 : 48, -1, 50, 51, -1, 53, 54, 55, 56, 57,
21434 : -1, -1, 60, 61, 62, 63, 64, -1, 66, 67,
21435 : 68, 69, 70, -1, -1, -1, 74, 75, 76, 77,
21436 : 78, -1, 80, 81, 82, -1, 84, 85, 86, 87,
21437 : 88, 89, -1, -1, 92, 93, 94, -1, -1, -1,
21438 : -1, -1, -1, -1, 102, 103, 104, 105, 106, 107,
21439 : 108, 109, 110, -1, 112, -1, 114, 115, 116, 117,
21440 : 118, 119, -1, 121, 122, 123, 124, -1, -1, 127,
21441 : 128, 129, 130, 131, -1, 133, 134, 135, -1, 137,
21442 : 138, 139, -1, 141, 142, 143, 144, 145, 146, 147,
21443 : 148, 149, -1, 151, -1, 153, 154, 155, 156, -1,
21444 : 158, -1, 160, -1, -1, -1, 164, 165, 166, 167,
21445 : -1, 169, 170, -1, 172, 173, -1, 175, 176, 177,
21446 : 178, 179, -1, 181, 182, 183, 184, -1, 186, 187,
21447 : 188, 189, 190, 191, -1, 193, -1, 195, 196, 197,
21448 : 198, 199, 200, 201, -1, 203, -1, 205, -1, -1,
21449 : 208, -1, 210, 211, 212, 213, 214, -1, -1, 217,
21450 : 218, -1, 220, -1, -1, 223, 224, 225, -1, -1,
21451 : 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
21452 : 238, 239, 240, 241, 242, 243, 244, -1, 246, 247,
21453 : 248, 249, 250, -1, 252, 253, -1, 255, -1, 257,
21454 : 258, 259, 260, 261, 262, -1, 264, 265, -1, -1,
21455 : 268, 269, 270, -1, -1, 273, 274, -1, 276, -1,
21456 : 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
21457 : -1, 289, 290, 291, 292, 293, 294, 295, 296, -1,
21458 : 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
21459 : 308, 309, 310, 311, -1, 313, 314, 315, 316, 317,
21460 : 318, 319, 320, 321, 322, 323, 324, -1, 326, 327,
21461 : -1, 329, 330, 331, 332, 333, 334, 335, 336, 337,
21462 : 338, 339, 340, 341, -1, 343, 344, 345, 346, 347,
21463 : -1, 349, 350, 351, 352, 353, -1, 355, 356, 357,
21464 : 358, -1, 360, 361, 362, 363, 364, 365, 366, 367,
21465 : 368, 369, 370, 371, 372, -1, 374, 375, -1, 377,
21466 : -1, 379, 380, 381, 382, 383, -1, 385, 386, -1,
21467 : -1, 389, 390, 391, 392, 393, -1, 395, 396, 397,
21468 : 398, 399, 400, 401, -1, -1, 404, 405, 406, 407,
21469 : 408, -1, -1, 411, 412, 413, 414, 415, 416, 417,
21470 : -1, 419, -1, 421, 422, 423, 424, -1, -1, 427,
21471 : -1, -1, 430, 431, 432, 433, 434, 435, 436, 437,
21472 : 438, 439, 440, 441, 442, 443, 444, 445, 446, 447,
21473 : 448, 449, 3, -1, -1, -1, -1, -1, -1, -1,
21474 : -1, -1, -1, -1, -1, -1, -1, 18, 19, 20,
21475 : 21, 22, 23, 24, 25, -1, 27, 28, 29, -1,
21476 : -1, -1, -1, -1, -1, -1, 37, 38, -1, 40,
21477 : 41, 42, -1, 44, 45, 46, 47, 48, -1, 50,
21478 : 51, -1, 53, 54, 55, 56, 57, -1, -1, 60,
21479 : 61, 62, 63, 64, -1, 66, 67, 68, 69, 70,
21480 : -1, -1, -1, 74, 75, 76, 77, 78, -1, 80,
21481 : 81, 82, -1, 84, 85, 86, 87, 88, 89, -1,
21482 : -1, 92, 93, 94, -1, -1, -1, -1, -1, -1,
21483 : -1, 102, 103, 104, 105, 106, 107, 108, 109, 110,
21484 : -1, 112, -1, 114, 115, 116, 117, 118, 119, -1,
21485 : 121, 122, 123, 124, -1, -1, 127, 128, 129, 130,
21486 : 131, -1, 133, 134, 135, -1, 137, 138, 139, -1,
21487 : 141, 142, 143, 144, 145, 146, 147, 148, 149, -1,
21488 : 151, -1, 153, 154, 155, 156, -1, 158, -1, 160,
21489 : -1, -1, -1, 164, 165, 166, 167, -1, 169, 170,
21490 : -1, 172, 173, -1, 175, 176, 177, 178, 179, -1,
21491 : 181, 182, 183, 184, -1, 186, 187, 188, 189, 190,
21492 : 191, -1, 193, -1, 195, 196, 197, 198, 199, 200,
21493 : 201, -1, 203, -1, 205, -1, -1, 208, -1, 210,
21494 : 211, 212, 213, 214, -1, -1, 217, 218, -1, 220,
21495 : -1, -1, 223, 224, 225, -1, -1, 228, 229, 230,
21496 : 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
21497 : 241, 242, 243, 244, -1, 246, 247, 248, 249, 250,
21498 : -1, 252, 253, -1, 255, -1, 257, 258, 259, 260,
21499 : 261, 262, -1, 264, 265, -1, -1, 268, 269, 270,
21500 : -1, -1, 273, 274, -1, 276, -1, 278, 279, 280,
21501 : 281, 282, 283, 284, 285, 286, 287, -1, 289, 290,
21502 : 291, 292, 293, 294, 295, 296, -1, 298, 299, 300,
21503 : 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
21504 : 311, -1, 313, 314, 315, 316, 317, 318, 319, 320,
21505 : 321, 322, 323, 324, -1, 326, 327, -1, 329, 330,
21506 : 331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
21507 : 341, -1, 343, 344, 345, 346, 347, -1, 349, 350,
21508 : 351, 352, 353, -1, 355, 356, 357, 358, -1, 360,
21509 : 361, 362, 363, 364, 365, 366, 367, 368, 369, 370,
21510 : 371, 372, -1, 374, 375, -1, 377, -1, 379, 380,
21511 : 381, 382, 383, -1, 385, 386, -1, -1, 389, 390,
21512 : 391, 392, 393, -1, 395, 396, 397, 398, 399, 400,
21513 : 401, -1, -1, 404, 405, 406, 407, 408, -1, -1,
21514 : 411, 412, 413, 414, 415, 416, 417, -1, 419, -1,
21515 : 421, 422, 423, 424, -1, -1, 427, -1, -1, 430,
21516 : 431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
21517 : 441, 442, 443, 444, 445, 446, 447, 448, 449, 3,
21518 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
21519 : -1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
21520 : 24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
21521 : -1, -1, -1, 37, 38, -1, 40, 41, 42, -1,
21522 : 44, 45, 46, 47, 48, -1, 50, 51, -1, 53,
21523 : 54, 55, 56, 57, -1, -1, 60, 61, 62, 63,
21524 : 64, -1, 66, 67, 68, 69, 70, -1, -1, -1,
21525 : 74, 75, 76, 77, 78, -1, 80, 81, 82, -1,
21526 : 84, 85, 86, 87, 88, 89, -1, -1, 92, 93,
21527 : 94, -1, -1, -1, -1, -1, -1, -1, 102, 103,
21528 : 104, 105, 106, 107, 108, 109, 110, -1, 112, -1,
21529 : 114, 115, 116, 117, 118, 119, -1, 121, 122, 123,
21530 : 124, -1, -1, 127, 128, 129, 130, 131, -1, 133,
21531 : 134, 135, -1, 137, 138, 139, -1, 141, 142, 143,
21532 : 144, 145, 146, 147, 148, 149, -1, 151, -1, 153,
21533 : 154, 155, 156, -1, 158, -1, 160, -1, -1, -1,
21534 : 164, 165, 166, 167, -1, 169, 170, -1, 172, 173,
21535 : -1, 175, 176, 177, 178, 179, -1, 181, 182, 183,
21536 : 184, -1, 186, 187, 188, 189, 190, 191, -1, 193,
21537 : -1, 195, 196, 197, 198, 199, 200, 201, -1, 203,
21538 : -1, 205, -1, -1, 208, -1, 210, 211, 212, 213,
21539 : 214, -1, -1, 217, 218, -1, 220, -1, -1, 223,
21540 : 224, 225, -1, -1, 228, 229, 230, 231, 232, 233,
21541 : 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
21542 : 244, -1, 246, 247, 248, 249, 250, -1, 252, 253,
21543 : -1, 255, -1, 257, 258, 259, 260, 261, 262, -1,
21544 : 264, 265, -1, -1, 268, 269, 270, -1, -1, 273,
21545 : 274, -1, 276, -1, 278, 279, 280, 281, 282, 283,
21546 : 284, 285, 286, 287, -1, 289, 290, 291, 292, 293,
21547 : 294, 295, 296, -1, 298, 299, 300, 301, 302, 303,
21548 : 304, 305, 306, 307, 308, 309, 310, 311, -1, 313,
21549 : 314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
21550 : 324, -1, 326, 327, -1, 329, 330, 331, 332, 333,
21551 : 334, 335, 336, 337, 338, 339, 340, 341, -1, 343,
21552 : 344, 345, 346, 347, -1, 349, 350, 351, 352, 353,
21553 : -1, 355, 356, 357, 358, -1, 360, 361, 362, 363,
21554 : 364, 365, 366, 367, 368, 369, 370, 371, 372, -1,
21555 : 374, 375, -1, 377, -1, 379, 380, 381, 382, 383,
21556 : -1, 385, 386, -1, -1, 389, 390, 391, 392, 393,
21557 : -1, 395, 396, 397, 398, 399, 400, 401, -1, -1,
21558 : 404, 405, 406, 407, 408, -1, -1, 411, 412, 413,
21559 : 414, 415, 416, 417, -1, 419, -1, 421, 422, 423,
21560 : 424, -1, -1, 427, -1, -1, 430, 431, 432, 433,
21561 : 434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
21562 : 444, 445, 446, 447, 448, 449, 3, -1, -1, -1,
21563 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
21564 : -1, 18, 19, 20, 21, 22, 23, 24, 25, -1,
21565 : 27, 28, 29, -1, -1, -1, -1, -1, -1, -1,
21566 : 37, 38, -1, 40, 41, 42, -1, 44, 45, 46,
21567 : 47, 48, -1, 50, 51, -1, 53, 54, 55, 56,
21568 : 57, -1, -1, 60, 61, 62, 63, 64, -1, 66,
21569 : 67, 68, 69, 70, -1, -1, -1, 74, 75, 76,
21570 : 77, 78, -1, 80, 81, 82, -1, 84, 85, 86,
21571 : 87, 88, 89, -1, -1, 92, 93, 94, -1, -1,
21572 : -1, -1, -1, -1, -1, 102, 103, 104, 105, 106,
21573 : 107, 108, 109, 110, -1, 112, -1, 114, 115, 116,
21574 : 117, 118, 119, -1, 121, 122, 123, 124, -1, -1,
21575 : 127, 128, 129, 130, 131, -1, 133, 134, 135, -1,
21576 : 137, 138, 139, -1, 141, 142, 143, 144, 145, 146,
21577 : 147, 148, 149, -1, 151, -1, 153, 154, 155, 156,
21578 : -1, 158, -1, 160, -1, -1, -1, 164, 165, 166,
21579 : 167, -1, 169, 170, -1, 172, 173, -1, 175, 176,
21580 : 177, 178, 179, -1, 181, 182, 183, 184, -1, 186,
21581 : 187, 188, 189, 190, 191, -1, 193, -1, 195, 196,
21582 : 197, 198, 199, 200, 201, -1, 203, -1, 205, -1,
21583 : -1, 208, -1, 210, 211, 212, 213, 214, -1, -1,
21584 : 217, 218, -1, 220, -1, -1, 223, 224, 225, -1,
21585 : -1, 228, 229, 230, 231, 232, 233, 234, 235, 236,
21586 : 237, 238, 239, 240, 241, 242, 243, 244, -1, 246,
21587 : 247, 248, 249, 250, -1, 252, 253, -1, 255, -1,
21588 : 257, 258, 259, 260, 261, 262, -1, 264, 265, -1,
21589 : -1, 268, 269, 270, -1, -1, 273, 274, -1, 276,
21590 : -1, 278, 279, 280, 281, 282, 283, 284, 285, 286,
21591 : 287, -1, 289, 290, 291, 292, 293, 294, 295, 296,
21592 : -1, 298, 299, 300, 301, 302, 303, 304, 305, 306,
21593 : 307, 308, 309, 310, 311, -1, 313, 314, 315, 316,
21594 : 317, 318, 319, 320, 321, 322, 323, 324, -1, 326,
21595 : 327, -1, 329, 330, 331, 332, 333, 334, 335, 336,
21596 : 337, 338, 339, 340, 341, -1, 343, 344, 345, 346,
21597 : 347, -1, 349, 350, 351, 352, 353, -1, 355, 356,
21598 : 357, 358, -1, 360, 361, 362, 363, 364, 365, 366,
21599 : 367, 368, 369, 370, 371, 372, -1, 374, 375, -1,
21600 : 377, -1, 379, 380, 381, 382, 383, -1, 385, 386,
21601 : -1, -1, 389, 390, 391, 392, 393, -1, 395, 396,
21602 : 397, 398, 399, 400, 401, -1, -1, 404, 405, 406,
21603 : 407, 408, -1, -1, 411, 412, 413, 414, 415, 416,
21604 : 417, -1, 419, -1, 421, 422, 423, 424, -1, -1,
21605 : 427, -1, -1, 430, 431, 432, 433, 434, 435, 436,
21606 : 437, 438, 439, 440, 441, 442, 443, 444, 445, 446,
21607 : 447, 448, 449, 3, -1, -1, -1, -1, -1, -1,
21608 : -1, -1, -1, -1, -1, -1, -1, -1, 18, 19,
21609 : 20, 21, 22, 23, 24, 25, -1, 27, 28, 29,
21610 : -1, -1, -1, -1, -1, -1, -1, 37, 38, -1,
21611 : 40, 41, 42, -1, 44, 45, 46, 47, 48, -1,
21612 : 50, 51, -1, 53, 54, 55, 56, 57, -1, -1,
21613 : 60, 61, 62, 63, 64, -1, 66, 67, 68, 69,
21614 : 70, -1, -1, -1, 74, 75, 76, 77, 78, -1,
21615 : 80, 81, 82, -1, 84, 85, 86, 87, 88, 89,
21616 : -1, -1, 92, 93, 94, -1, -1, -1, -1, -1,
21617 : -1, -1, 102, 103, 104, 105, 106, 107, 108, 109,
21618 : 110, -1, 112, -1, 114, 115, 116, 117, 118, 119,
21619 : -1, 121, 122, 123, 124, -1, -1, 127, 128, 129,
21620 : 130, 131, -1, 133, 134, 135, -1, 137, 138, 139,
21621 : -1, 141, 142, 143, 144, 145, 146, 147, 148, 149,
21622 : -1, 151, -1, 153, 154, 155, 156, -1, 158, -1,
21623 : 160, -1, -1, -1, 164, 165, 166, 167, -1, 169,
21624 : 170, -1, 172, 173, -1, 175, 176, 177, 178, 179,
21625 : -1, 181, 182, 183, 184, -1, 186, 187, 188, 189,
21626 : 190, 191, -1, 193, -1, 195, 196, 197, 198, 199,
21627 : 200, 201, -1, 203, -1, 205, -1, -1, 208, -1,
21628 : 210, 211, 212, 213, 214, -1, -1, 217, 218, -1,
21629 : 220, -1, -1, 223, 224, 225, -1, -1, 228, 229,
21630 : 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
21631 : 240, 241, 242, 243, 244, -1, 246, 247, 248, 249,
21632 : 250, -1, 252, 253, -1, 255, -1, 257, 258, 259,
21633 : 260, 261, 262, -1, 264, 265, -1, -1, 268, 269,
21634 : 270, -1, -1, 273, 274, -1, 276, -1, 278, 279,
21635 : 280, 281, 282, 283, 284, 285, 286, 287, -1, 289,
21636 : 290, 291, 292, 293, 294, 295, 296, -1, 298, 299,
21637 : 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
21638 : 310, 311, -1, 313, 314, 315, 316, 317, 318, 319,
21639 : 320, 321, 322, 323, 324, -1, 326, 327, -1, 329,
21640 : 330, 331, 332, 333, 334, 335, 336, 337, 338, 339,
21641 : 340, 341, -1, 343, 344, 345, 346, 347, -1, 349,
21642 : 350, 351, 352, 353, -1, 355, 356, 357, 358, -1,
21643 : 360, 361, 362, 363, 364, 365, 366, 367, 368, 369,
21644 : 370, 371, 372, -1, 374, 375, -1, 377, -1, 379,
21645 : 380, 381, 382, 383, -1, 385, 386, -1, -1, 389,
21646 : 390, 391, 392, 393, -1, 395, 396, 397, 398, 399,
21647 : 400, 401, -1, -1, 404, 405, 406, 407, 408, -1,
21648 : -1, 411, 412, 413, 414, 415, 416, 417, -1, 419,
21649 : -1, 421, 422, 423, 424, -1, -1, 427, -1, -1,
21650 : 430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
21651 : 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
21652 : 3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
21653 : -1, -1, -1, -1, -1, 18, 19, 20, 21, 22,
21654 : 23, 24, 25, -1, 27, 28, 29, -1, -1, -1,
21655 : -1, -1, -1, -1, 37, 38, -1, 40, 41, 42,
21656 : -1, 44, 45, 46, 47, 48, -1, 50, 51, -1,
21657 : 53, 54, 55, 56, 57, -1, -1, 60, 61, 62,
21658 : 63, 64, -1, 66, 67, 68, 69, 70, -1, -1,
21659 : -1, 74, 75, 76, 77, 78, -1, 80, 81, 82,
21660 : -1, 84, 85, 86, 87, 88, 89, -1, -1, 92,
21661 : 93, 94, -1, -1, -1, -1, -1, -1, -1, 102,
21662 : 103, 104, 105, 106, 107, 108, 109, 110, -1, 112,
21663 : -1, 114, 115, 116, 117, 118, 119, -1, 121, 122,
21664 : 123, 124, -1, -1, 127, 128, 129, 130, 131, -1,
21665 : 133, 134, 135, -1, 137, 138, 139, -1, 141, 142,
21666 : 143, 144, 145, 146, 147, 148, 149, -1, 151, -1,
21667 : 153, 154, 155, 156, -1, 158, -1, 160, -1, -1,
21668 : -1, 164, 165, 166, 167, -1, 169, 170, -1, 172,
21669 : 173, -1, 175, 176, 177, 178, 179, -1, 181, 182,
21670 : 183, 184, -1, 186, 187, 188, 189, 190, 191, -1,
21671 : 193, -1, 195, 196, 197, 198, 199, 200, 201, -1,
21672 : 203, -1, 205, -1, -1, 208, -1, 210, 211, 212,
21673 : 213, 214, -1, -1, 217, 218, -1, 220, -1, -1,
21674 : 223, 224, 225, -1, -1, 228, 229, 230, 231, 232,
21675 : 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
21676 : 243, 244, -1, 246, 247, 248, 249, 250, -1, 252,
21677 : 253, -1, 255, -1, 257, 258, 259, 260, 261, 262,
21678 : -1, 264, 265, -1, -1, 268, 269, 270, -1, -1,
21679 : 273, 274, -1, 276, -1, 278, 279, 280, 281, 282,
21680 : 283, 284, 285, 286, 287, -1, 289, 290, 291, 292,
21681 : 293, 294, 295, 296, -1, 298, 299, 300, 301, 302,
21682 : 303, 304, 305, 306, 307, 308, 309, 310, 311, -1,
21683 : 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
21684 : 323, 324, -1, 326, 327, -1, 329, 330, 331, 332,
21685 : 333, 334, 335, 336, 337, 338, 339, 340, 341, -1,
21686 : 343, 344, 345, 346, 347, -1, 349, 350, 351, 352,
21687 : 353, -1, 355, 356, 357, 358, -1, 360, 361, 362,
21688 : 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
21689 : -1, 374, 375, -1, 377, -1, 379, 380, 381, 382,
21690 : 383, -1, 385, 386, -1, -1, 389, 390, 391, 392,
21691 : 393, -1, 395, 396, 397, 398, 399, 400, 401, -1,
21692 : -1, 404, 405, 406, 407, 408, -1, -1, 411, 412,
21693 : 413, 414, 415, 416, 417, -1, 419, -1, 421, 422,
21694 : 423, 424, -1, -1, 427, -1, -1, 430, 431, 432,
21695 : 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
21696 : 443, 444, 445, 446, 447, 448, 449, 3, -1, -1,
21697 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
21698 : -1, -1, 18, 19, 20, 21, 22, 23, 24, 25,
21699 : -1, 27, 28, 29, -1, -1, -1, -1, -1, -1,
21700 : -1, 37, 38, -1, 40, 41, 42, 43, 44, 45,
21701 : 46, -1, 48, 49, 50, 51, -1, 53, 54, 55,
21702 : 56, 57, -1, -1, 60, 61, 62, 63, 64, -1,
21703 : 66, 67, 68, 69, -1, -1, 72, -1, 74, 75,
21704 : 76, 77, 78, 79, 80, 81, 82, -1, 84, 85,
21705 : 86, 87, 88, 89, -1, 91, 92, 93, 94, -1,
21706 : -1, -1, 98, -1, -1, -1, 102, 103, 104, 105,
21707 : 106, 107, 108, 109, 110, -1, 112, -1, 114, 115,
21708 : 116, 117, 118, 119, -1, 121, 122, 123, 124, -1,
21709 : -1, 127, 128, 129, 130, 131, -1, 133, 134, 135,
21710 : -1, 137, 138, 139, -1, 141, 142, 143, 144, -1,
21711 : 146, 147, 148, -1, -1, 151, -1, 153, 154, 155,
21712 : 156, -1, 158, -1, 160, 161, -1, 163, 164, 165,
21713 : 166, 167, -1, 169, -1, -1, -1, 173, -1, 175,
21714 : 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
21715 : 186, 187, 188, 189, 190, 191, -1, 193, 194, 195,
21716 : 196, 197, 198, 199, 200, 201, -1, 203, -1, 205,
21717 : 206, 207, 208, 209, 210, 211, 212, 213, 214, -1,
21718 : -1, 217, -1, 219, 220, 221, -1, 223, 224, 225,
21719 : -1, -1, 228, 229, 230, 231, 232, 233, 234, 235,
21720 : 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
21721 : 246, 247, 248, 249, -1, -1, 252, 253, 254, 255,
21722 : -1, -1, 258, 259, 260, 261, 262, -1, 264, 265,
21723 : -1, -1, 268, 269, 270, -1, -1, 273, 274, 275,
21724 : 276, 277, -1, 279, 280, 281, 282, 283, 284, 285,
21725 : 286, 287, -1, 289, 290, -1, 292, -1, 294, 295,
21726 : 296, -1, 298, 299, 300, 301, 302, 303, 304, 305,
21727 : 306, 307, 308, 309, 310, 311, -1, 313, 314, 315,
21728 : 316, 317, 318, 319, 320, 321, 322, 323, 324, -1,
21729 : 326, 327, 328, 329, 330, 331, -1, 333, 334, 335,
21730 : 336, 337, 338, 339, 340, 341, -1, 343, 344, 345,
21731 : 346, 347, -1, 349, 350, 351, 352, 353, 354, 355,
21732 : 356, 357, 358, -1, 360, 361, 362, 363, 364, 365,
21733 : 366, 367, 368, 369, 370, 371, -1, -1, 374, 375,
21734 : -1, 377, 378, 379, 380, 381, 382, 383, -1, 385,
21735 : 386, -1, -1, 389, 390, -1, 392, -1, -1, 395,
21736 : 396, 397, 398, 399, 400, 401, -1, -1, 404, 405,
21737 : 406, 407, 408, -1, -1, 411, 412, 413, 414, 415,
21738 : -1, 417, 418, 419, 420, 421, 422, 423, 424, -1,
21739 : -1, 427, -1, -1, 430, 431, 432, 433, 434, 435,
21740 : 3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
21741 : -1, 447, 448, 449, -1, 18, 19, 20, 21, 22,
21742 : 23, 24, 25, -1, 27, 28, 29, -1, -1, -1,
21743 : -1, -1, -1, -1, 37, 38, -1, 40, 41, 42,
21744 : -1, 44, 45, 46, 47, 48, -1, 50, 51, -1,
21745 : 53, 54, 55, 56, 57, -1, -1, 60, 61, 62,
21746 : 63, 64, -1, 66, 67, 68, 69, 70, -1, -1,
21747 : -1, 74, 75, 76, 77, 78, -1, 80, 81, 82,
21748 : -1, 84, 85, 86, 87, 88, 89, -1, -1, 92,
21749 : 93, 94, -1, -1, -1, -1, -1, -1, -1, 102,
21750 : 103, 104, 105, 106, 107, 108, 109, 110, -1, 112,
21751 : -1, 114, 115, 116, 117, 118, 119, -1, 121, 122,
21752 : 123, 124, -1, -1, 127, 128, 129, 130, 131, -1,
21753 : 133, 134, 135, -1, 137, 138, 139, -1, 141, 142,
21754 : 143, 144, 145, 146, 147, 148, 149, -1, 151, -1,
21755 : 153, 154, 155, 156, -1, 158, -1, 160, -1, -1,
21756 : -1, 164, 165, 166, 167, -1, 169, 170, -1, 172,
21757 : 173, -1, 175, 176, 177, 178, 179, -1, 181, 182,
21758 : 183, 184, -1, 186, 187, 188, 189, 190, 191, -1,
21759 : 193, -1, 195, 196, 197, 198, 199, 200, 201, -1,
21760 : 203, -1, 205, -1, -1, 208, -1, 210, 211, 212,
21761 : 213, 214, -1, -1, 217, 218, -1, 220, -1, -1,
21762 : 223, 224, 225, -1, -1, 228, 229, 230, 231, 232,
21763 : 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
21764 : 243, 244, -1, 246, 247, 248, 249, 250, -1, 252,
21765 : 253, -1, 255, -1, 257, 258, 259, 260, 261, 262,
21766 : -1, 264, 265, -1, -1, 268, 269, 270, -1, -1,
21767 : 273, 274, -1, 276, -1, 278, 279, 280, 281, 282,
21768 : 283, 284, -1, 286, 287, -1, 289, 290, 291, 292,
21769 : 293, 294, 295, 296, -1, 298, 299, 300, 301, 302,
21770 : 303, 304, -1, 306, 307, 308, 309, 310, 311, -1,
21771 : 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
21772 : 323, 324, -1, 326, 327, -1, 329, 330, 331, 332,
21773 : -1, 334, 335, 336, 337, 338, 339, 340, 341, -1,
21774 : 343, 344, 345, 346, 347, -1, 349, 350, 351, 352,
21775 : 353, -1, 355, 356, 357, 358, -1, 360, 361, 362,
21776 : 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
21777 : -1, 374, 375, -1, 377, -1, 379, 380, 381, 382,
21778 : 383, -1, 385, 386, -1, -1, 389, 390, 391, 392,
21779 : 393, -1, 395, 396, 397, 398, 399, 400, 401, -1,
21780 : -1, 404, 405, 406, 407, 408, -1, -1, 411, 412,
21781 : 413, 414, 415, 416, 417, -1, 419, -1, 421, 422,
21782 : 423, 424, -1, -1, 427, -1, -1, 430, 431, 432,
21783 : 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
21784 : 443, 444, 445, 446, 447, 448, 449, 3, -1, -1,
21785 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
21786 : -1, -1, 18, 19, 20, 21, 22, 23, 24, 25,
21787 : -1, 27, 28, 29, -1, -1, -1, -1, -1, -1,
21788 : -1, 37, 38, -1, 40, 41, 42, 43, 44, 45,
21789 : 46, -1, 48, 49, 50, 51, -1, 53, 54, 55,
21790 : 56, 57, -1, -1, 60, 61, 62, 63, 64, -1,
21791 : 66, 67, 68, 69, -1, -1, 72, -1, 74, 75,
21792 : 76, 77, 78, 79, 80, 81, 82, -1, 84, 85,
21793 : 86, 87, 88, 89, -1, 91, 92, 93, 94, -1,
21794 : -1, -1, 98, -1, -1, -1, 102, 103, 104, 105,
21795 : 106, 107, 108, 109, 110, -1, 112, -1, 114, 115,
21796 : 116, 117, 118, 119, -1, 121, 122, 123, 124, -1,
21797 : -1, 127, 128, 129, 130, 131, -1, 133, 134, 135,
21798 : -1, 137, 138, 139, -1, 141, 142, 143, 144, -1,
21799 : 146, 147, 148, -1, -1, 151, -1, 153, 154, 155,
21800 : 156, -1, 158, -1, 160, 161, -1, 163, 164, 165,
21801 : 166, 167, -1, 169, -1, -1, -1, 173, -1, 175,
21802 : 176, 177, 178, 179, 180, 181, 182, 183, 184, -1,
21803 : 186, 187, 188, 189, 190, 191, -1, 193, 194, -1,
21804 : 196, 197, 198, 199, 200, 201, -1, 203, -1, 205,
21805 : 206, 207, 208, 209, 210, 211, 212, 213, 214, -1,
21806 : -1, 217, -1, 219, 220, 221, -1, 223, 224, 225,
21807 : -1, -1, 228, 229, 230, 231, 232, 233, 234, 235,
21808 : 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
21809 : 246, 247, 248, 249, -1, -1, 252, 253, 254, 255,
21810 : 256, -1, 258, 259, 260, 261, 262, -1, 264, 265,
21811 : -1, -1, 268, 269, 270, -1, -1, 273, -1, 275,
21812 : 276, 277, -1, 279, 280, 281, 282, 283, 284, 285,
21813 : 286, 287, -1, 289, 290, -1, 292, -1, 294, 295,
21814 : 296, -1, 298, 299, 300, 301, 302, 303, 304, 305,
21815 : 306, 307, 308, 309, 310, 311, -1, 313, 314, 315,
21816 : 316, 317, 318, 319, 320, 321, 322, 323, 324, -1,
21817 : 326, 327, 328, 329, 330, 331, -1, 333, 334, 335,
21818 : 336, 337, 338, 339, 340, 341, -1, 343, 344, 345,
21819 : 346, 347, -1, 349, 350, 351, 352, 353, 354, 355,
21820 : 356, 357, 358, -1, 360, 361, 362, 363, 364, 365,
21821 : 366, 367, 368, 369, 370, 371, -1, -1, 374, 375,
21822 : 376, 377, 378, 379, 380, 381, 382, 383, -1, 385,
21823 : 386, -1, -1, 389, 390, -1, 392, -1, -1, 395,
21824 : 396, 397, 398, 399, 400, 401, -1, -1, 404, 405,
21825 : 406, 407, 408, -1, -1, 411, 412, 413, 414, 415,
21826 : -1, 417, -1, 419, 420, 421, 422, 423, 424, -1,
21827 : -1, 427, -1, -1, 430, 431, 432, 433, 434, 435,
21828 : 3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
21829 : -1, 447, 448, 449, -1, 18, 19, 20, 21, 22,
21830 : 23, 24, 25, -1, 27, 28, 29, -1, -1, -1,
21831 : -1, -1, -1, -1, 37, 38, -1, 40, 41, 42,
21832 : 43, 44, 45, 46, -1, 48, 49, 50, 51, -1,
21833 : 53, 54, 55, 56, 57, -1, -1, 60, 61, 62,
21834 : 63, 64, -1, 66, 67, 68, 69, -1, -1, 72,
21835 : -1, 74, 75, 76, 77, 78, 79, 80, 81, 82,
21836 : -1, 84, 85, 86, 87, 88, 89, -1, 91, 92,
21837 : 93, 94, -1, -1, -1, 98, -1, -1, -1, 102,
21838 : 103, 104, 105, 106, 107, 108, 109, 110, -1, 112,
21839 : -1, 114, 115, 116, 117, 118, 119, -1, 121, 122,
21840 : 123, 124, -1, -1, 127, 128, 129, 130, 131, -1,
21841 : 133, 134, 135, -1, 137, 138, 139, -1, 141, 142,
21842 : 143, 144, -1, 146, 147, 148, -1, -1, 151, -1,
21843 : 153, 154, 155, 156, -1, 158, -1, 160, 161, -1,
21844 : 163, 164, 165, 166, 167, -1, 169, -1, -1, -1,
21845 : 173, -1, 175, 176, 177, 178, 179, 180, 181, 182,
21846 : 183, 184, -1, 186, 187, 188, 189, 190, 191, -1,
21847 : 193, 194, -1, 196, 197, 198, 199, 200, 201, -1,
21848 : 203, -1, 205, 206, 207, 208, 209, 210, 211, 212,
21849 : 213, 214, -1, -1, 217, -1, 219, 220, 221, -1,
21850 : 223, 224, 225, -1, -1, 228, 229, 230, 231, 232,
21851 : 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
21852 : 243, 244, 245, 246, 247, 248, 249, 250, -1, 252,
21853 : 253, 254, 255, -1, -1, 258, 259, 260, 261, 262,
21854 : -1, 264, 265, -1, -1, 268, 269, 270, -1, -1,
21855 : 273, -1, 275, 276, 277, -1, 279, 280, 281, 282,
21856 : 283, 284, 285, 286, 287, -1, 289, 290, -1, 292,
21857 : -1, 294, 295, 296, -1, 298, 299, 300, 301, 302,
21858 : 303, 304, 305, 306, 307, 308, 309, 310, 311, -1,
21859 : 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
21860 : 323, 324, -1, 326, 327, 328, 329, 330, 331, -1,
21861 : 333, 334, 335, 336, 337, 338, 339, 340, 341, -1,
21862 : 343, 344, 345, 346, 347, -1, 349, 350, 351, 352,
21863 : 353, 354, 355, 356, 357, 358, -1, 360, 361, 362,
21864 : 363, 364, 365, 366, 367, 368, 369, 370, 371, -1,
21865 : -1, 374, 375, -1, 377, 378, 379, 380, 381, 382,
21866 : 383, -1, 385, 386, -1, -1, 389, 390, -1, 392,
21867 : -1, -1, 395, 396, 397, 398, 399, 400, 401, -1,
21868 : -1, 404, 405, 406, 407, 408, -1, -1, 411, 412,
21869 : 413, 414, 415, -1, 417, -1, 419, 420, 421, 422,
21870 : 423, 424, -1, -1, 427, -1, -1, 430, 431, 432,
21871 : 433, 434, 435, 3, -1, -1, -1, -1, -1, -1,
21872 : -1, -1, -1, -1, 447, 448, 449, -1, 18, 19,
21873 : 20, 21, 22, 23, 24, 25, -1, 27, 28, 29,
21874 : -1, -1, -1, -1, -1, -1, -1, 37, 38, -1,
21875 : 40, 41, 42, 43, 44, 45, 46, -1, 48, 49,
21876 : 50, 51, -1, 53, 54, 55, 56, 57, -1, -1,
21877 : 60, 61, 62, 63, 64, -1, 66, 67, 68, 69,
21878 : -1, -1, 72, -1, 74, 75, 76, 77, 78, 79,
21879 : 80, 81, 82, -1, 84, 85, 86, 87, 88, 89,
21880 : -1, 91, 92, 93, 94, -1, -1, -1, 98, -1,
21881 : -1, -1, 102, 103, 104, 105, 106, 107, 108, 109,
21882 : 110, -1, 112, -1, 114, 115, 116, 117, 118, 119,
21883 : -1, 121, 122, 123, 124, -1, -1, 127, 128, 129,
21884 : 130, 131, -1, 133, 134, 135, -1, 137, 138, 139,
21885 : -1, 141, 142, 143, 144, -1, 146, 147, 148, -1,
21886 : -1, 151, -1, 153, 154, 155, 156, -1, 158, -1,
21887 : 160, 161, -1, 163, 164, 165, 166, 167, -1, 169,
21888 : -1, -1, -1, 173, -1, 175, 176, 177, 178, 179,
21889 : 180, 181, 182, 183, 184, -1, 186, 187, 188, 189,
21890 : 190, 191, -1, 193, 194, -1, 196, 197, 198, 199,
21891 : 200, 201, -1, 203, -1, 205, 206, 207, 208, 209,
21892 : 210, 211, 212, 213, 214, -1, -1, 217, -1, 219,
21893 : 220, 221, -1, 223, 224, 225, -1, -1, 228, 229,
21894 : 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
21895 : 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
21896 : 250, -1, 252, 253, 254, 255, -1, -1, 258, 259,
21897 : 260, 261, 262, -1, 264, 265, -1, -1, 268, 269,
21898 : 270, -1, -1, 273, -1, 275, 276, 277, -1, 279,
21899 : 280, 281, 282, 283, 284, 285, 286, 287, -1, 289,
21900 : 290, -1, 292, -1, 294, 295, 296, -1, 298, 299,
21901 : 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
21902 : 310, 311, -1, 313, 314, 315, 316, 317, 318, 319,
21903 : 320, 321, 322, 323, 324, -1, 326, 327, 328, 329,
21904 : 330, 331, -1, 333, 334, 335, 336, 337, 338, 339,
21905 : 340, 341, -1, 343, 344, 345, 346, 347, -1, 349,
21906 : 350, 351, 352, 353, 354, 355, 356, 357, 358, -1,
21907 : 360, 361, 362, 363, 364, 365, 366, 367, 368, 369,
21908 : 370, 371, -1, -1, 374, 375, -1, 377, 378, 379,
21909 : 380, 381, 382, 383, -1, 385, 386, -1, -1, 389,
21910 : 390, -1, 392, -1, -1, 395, 396, 397, 398, 399,
21911 : 400, 401, -1, -1, 404, 405, 406, 407, 408, -1,
21912 : -1, 411, 412, 413, 414, 415, -1, 417, -1, 419,
21913 : 420, 421, 422, 423, 424, -1, -1, 427, -1, -1,
21914 : 430, 431, 432, 433, 434, 435, 3, -1, -1, -1,
21915 : -1, -1, -1, -1, -1, -1, -1, 447, 448, 449,
21916 : -1, 18, 19, 20, 21, 22, 23, 24, 25, -1,
21917 : 27, 28, 29, -1, -1, -1, -1, -1, -1, -1,
21918 : 37, 38, -1, 40, 41, 42, 43, 44, 45, 46,
21919 : -1, 48, 49, 50, 51, -1, 53, 54, 55, 56,
21920 : 57, -1, -1, 60, 61, 62, 63, 64, -1, 66,
21921 : 67, 68, 69, -1, -1, 72, -1, 74, 75, 76,
21922 : 77, 78, 79, 80, 81, 82, -1, 84, 85, 86,
21923 : 87, 88, 89, -1, 91, 92, 93, 94, -1, -1,
21924 : -1, 98, -1, -1, -1, 102, 103, 104, 105, 106,
21925 : 107, 108, 109, 110, -1, 112, -1, 114, 115, 116,
21926 : 117, 118, 119, -1, 121, 122, 123, 124, -1, -1,
21927 : 127, 128, 129, 130, 131, -1, 133, 134, 135, -1,
21928 : 137, 138, 139, -1, 141, 142, 143, 144, -1, 146,
21929 : 147, 148, -1, -1, 151, -1, 153, 154, 155, 156,
21930 : 157, 158, -1, 160, 161, -1, 163, 164, 165, 166,
21931 : 167, -1, 169, -1, -1, -1, 173, -1, 175, 176,
21932 : 177, 178, 179, 180, 181, 182, 183, 184, -1, 186,
21933 : 187, 188, 189, 190, 191, -1, 193, 194, -1, 196,
21934 : 197, 198, 199, 200, 201, -1, 203, -1, 205, 206,
21935 : 207, 208, 209, 210, 211, 212, 213, 214, -1, -1,
21936 : 217, -1, 219, 220, 221, -1, 223, 224, 225, -1,
21937 : -1, 228, 229, 230, 231, 232, 233, 234, 235, 236,
21938 : 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
21939 : 247, 248, 249, -1, -1, 252, 253, 254, 255, -1,
21940 : -1, 258, 259, 260, 261, 262, -1, 264, 265, -1,
21941 : -1, 268, 269, 270, -1, -1, 273, -1, 275, 276,
21942 : 277, -1, 279, 280, 281, 282, 283, 284, 285, 286,
21943 : 287, -1, 289, 290, -1, 292, -1, 294, 295, 296,
21944 : -1, 298, 299, 300, 301, 302, 303, 304, 305, 306,
21945 : 307, 308, 309, 310, 311, -1, 313, 314, 315, 316,
21946 : 317, 318, 319, 320, 321, 322, 323, 324, -1, 326,
21947 : 327, 328, 329, 330, 331, -1, 333, 334, 335, 336,
21948 : 337, 338, 339, 340, 341, -1, 343, 344, 345, 346,
21949 : 347, -1, 349, 350, 351, 352, 353, 354, 355, 356,
21950 : 357, 358, -1, 360, 361, 362, 363, 364, 365, 366,
21951 : 367, 368, 369, 370, 371, -1, -1, 374, 375, -1,
21952 : 377, 378, 379, 380, 381, 382, 383, -1, 385, 386,
21953 : -1, -1, 389, 390, -1, 392, -1, -1, 395, 396,
21954 : 397, 398, 399, 400, 401, -1, -1, 404, 405, 406,
21955 : 407, 408, -1, -1, 411, 412, 413, 414, 415, -1,
21956 : 417, -1, 419, 420, 421, 422, 423, 424, -1, -1,
21957 : 427, -1, -1, 430, 431, 432, 433, 434, 435, 3,
21958 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
21959 : 447, 448, 449, -1, 18, 19, 20, 21, 22, 23,
21960 : 24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
21961 : -1, -1, -1, 37, 38, -1, 40, 41, 42, 43,
21962 : 44, 45, 46, -1, 48, 49, 50, 51, -1, 53,
21963 : 54, 55, 56, 57, -1, -1, 60, 61, 62, 63,
21964 : 64, -1, 66, 67, 68, 69, -1, -1, 72, -1,
21965 : 74, 75, 76, 77, 78, 79, 80, 81, 82, -1,
21966 : 84, 85, 86, 87, 88, 89, -1, 91, 92, 93,
21967 : 94, -1, -1, -1, 98, -1, -1, -1, 102, 103,
21968 : 104, 105, 106, 107, 108, 109, 110, -1, 112, -1,
21969 : 114, 115, 116, 117, 118, 119, -1, 121, 122, 123,
21970 : 124, -1, -1, 127, 128, 129, 130, 131, -1, 133,
21971 : 134, 135, -1, 137, 138, 139, -1, 141, 142, 143,
21972 : 144, -1, 146, 147, 148, -1, -1, 151, -1, 153,
21973 : 154, 155, 156, -1, 158, -1, 160, 161, -1, 163,
21974 : 164, 165, 166, 167, -1, 169, -1, -1, -1, 173,
21975 : -1, 175, 176, 177, 178, 179, 180, 181, 182, 183,
21976 : 184, -1, 186, 187, 188, 189, 190, 191, -1, 193,
21977 : 194, -1, 196, 197, 198, 199, 200, 201, -1, 203,
21978 : -1, 205, 206, 207, 208, 209, 210, 211, 212, 213,
21979 : 214, -1, -1, 217, -1, 219, 220, 221, -1, 223,
21980 : 224, 225, -1, -1, 228, 229, 230, 231, 232, 233,
21981 : 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
21982 : 244, 245, 246, 247, 248, 249, -1, -1, 252, 253,
21983 : 254, 255, -1, -1, 258, 259, 260, 261, 262, -1,
21984 : 264, 265, -1, -1, 268, 269, 270, -1, -1, 273,
21985 : -1, 275, 276, 277, -1, 279, 280, 281, 282, 283,
21986 : 284, 285, 286, 287, -1, 289, 290, -1, 292, -1,
21987 : 294, 295, 296, -1, 298, 299, 300, 301, 302, 303,
21988 : 304, 305, 306, 307, 308, 309, 310, 311, -1, 313,
21989 : 314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
21990 : 324, -1, 326, 327, 328, 329, 330, 331, -1, 333,
21991 : 334, 335, 336, 337, 338, 339, 340, 341, -1, 343,
21992 : 344, 345, 346, 347, -1, 349, 350, 351, 352, 353,
21993 : 354, 355, 356, 357, 358, -1, 360, 361, 362, 363,
21994 : 364, 365, 366, 367, 368, 369, 370, 371, -1, -1,
21995 : 374, 375, -1, 377, 378, 379, 380, 381, 382, 383,
21996 : -1, 385, 386, -1, -1, 389, 390, -1, 392, -1,
21997 : -1, 395, 396, 397, 398, 399, 400, 401, -1, -1,
21998 : 404, 405, 406, 407, 408, -1, -1, 411, 412, 413,
21999 : 414, 415, -1, 417, -1, 419, 420, 421, 422, 423,
22000 : 424, -1, -1, 427, -1, -1, 430, 431, 432, 433,
22001 : 434, 435, 3, -1, -1, -1, -1, -1, -1, -1,
22002 : -1, -1, -1, 447, 448, 449, -1, 18, 19, 20,
22003 : 21, 22, 23, 24, 25, -1, 27, 28, 29, -1,
22004 : -1, -1, -1, -1, -1, -1, 37, 38, -1, 40,
22005 : 41, 42, 43, 44, 45, 46, -1, 48, 49, 50,
22006 : 51, -1, 53, 54, 55, 56, 57, -1, -1, 60,
22007 : 61, 62, 63, 64, -1, 66, 67, 68, 69, -1,
22008 : -1, 72, -1, 74, 75, 76, 77, 78, 79, 80,
22009 : 81, 82, -1, 84, 85, 86, 87, 88, 89, -1,
22010 : 91, 92, 93, 94, -1, -1, -1, 98, -1, -1,
22011 : -1, 102, 103, 104, 105, 106, 107, 108, 109, 110,
22012 : -1, 112, -1, 114, 115, 116, 117, 118, 119, -1,
22013 : 121, 122, 123, 124, -1, -1, 127, 128, 129, 130,
22014 : 131, -1, 133, 134, 135, -1, 137, 138, 139, -1,
22015 : 141, 142, 143, 144, -1, 146, 147, 148, -1, -1,
22016 : 151, -1, 153, 154, 155, 156, -1, 158, -1, 160,
22017 : 161, -1, 163, 164, 165, 166, 167, -1, 169, -1,
22018 : -1, -1, 173, -1, 175, 176, 177, 178, 179, 180,
22019 : 181, 182, 183, 184, -1, 186, 187, 188, 189, 190,
22020 : 191, -1, 193, 194, -1, 196, 197, 198, 199, 200,
22021 : 201, -1, 203, -1, 205, 206, 207, 208, 209, 210,
22022 : 211, 212, 213, 214, -1, -1, 217, -1, 219, 220,
22023 : 221, -1, 223, 224, 225, -1, -1, 228, 229, 230,
22024 : 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
22025 : 241, 242, 243, 244, 245, 246, 247, 248, 249, -1,
22026 : -1, 252, 253, 254, 255, -1, -1, 258, 259, 260,
22027 : 261, 262, -1, 264, 265, -1, -1, 268, 269, 270,
22028 : -1, -1, 273, -1, 275, 276, 277, -1, 279, 280,
22029 : 281, 282, 283, 284, 285, 286, 287, -1, 289, 290,
22030 : -1, 292, -1, 294, 295, 296, -1, 298, 299, 300,
22031 : 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
22032 : 311, -1, 313, 314, 315, 316, 317, 318, 319, 320,
22033 : 321, 322, 323, 324, -1, 326, 327, 328, 329, 330,
22034 : 331, -1, 333, 334, 335, 336, 337, 338, 339, 340,
22035 : 341, -1, 343, 344, 345, 346, 347, -1, 349, 350,
22036 : 351, 352, 353, 354, 355, 356, 357, 358, -1, 360,
22037 : 361, 362, 363, 364, 365, 366, 367, 368, 369, 370,
22038 : 371, -1, -1, 374, 375, -1, 377, 378, 379, 380,
22039 : 381, 382, 383, -1, 385, 386, -1, -1, 389, 390,
22040 : -1, 392, -1, -1, 395, 396, 397, 398, 399, 400,
22041 : 401, -1, -1, 404, 405, 406, 407, 408, -1, -1,
22042 : 411, 412, 413, 414, 415, -1, 417, -1, 419, 420,
22043 : 421, 422, 423, 424, -1, -1, 427, -1, -1, 430,
22044 : 431, 432, 433, 434, 435, 3, -1, -1, -1, -1,
22045 : -1, -1, -1, -1, -1, -1, 447, 448, 449, -1,
22046 : 18, 19, 20, 21, 22, 23, 24, 25, -1, 27,
22047 : 28, 29, -1, -1, -1, -1, -1, -1, -1, 37,
22048 : 38, -1, 40, 41, 42, 43, 44, 45, 46, -1,
22049 : 48, 49, 50, 51, -1, 53, 54, 55, 56, 57,
22050 : -1, -1, 60, 61, 62, 63, 64, -1, 66, 67,
22051 : 68, 69, -1, -1, 72, -1, 74, 75, 76, 77,
22052 : 78, 79, 80, 81, 82, -1, 84, 85, 86, 87,
22053 : 88, 89, -1, 91, 92, 93, 94, -1, -1, -1,
22054 : 98, -1, -1, -1, 102, 103, 104, 105, 106, 107,
22055 : 108, 109, 110, -1, 112, -1, 114, 115, 116, 117,
22056 : 118, 119, -1, 121, 122, 123, 124, -1, -1, 127,
22057 : 128, 129, 130, 131, -1, 133, 134, 135, -1, 137,
22058 : 138, 139, -1, 141, 142, 143, 144, -1, 146, 147,
22059 : 148, -1, -1, 151, -1, 153, 154, 155, 156, -1,
22060 : 158, -1, 160, 161, -1, 163, 164, 165, 166, 167,
22061 : -1, 169, -1, -1, -1, 173, -1, 175, 176, 177,
22062 : 178, 179, 180, 181, 182, 183, 184, -1, 186, 187,
22063 : 188, 189, 190, 191, -1, 193, 194, -1, 196, 197,
22064 : 198, 199, 200, 201, -1, 203, -1, 205, 206, 207,
22065 : 208, 209, 210, 211, 212, 213, 214, -1, -1, 217,
22066 : -1, 219, 220, 221, -1, 223, 224, 225, -1, -1,
22067 : 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
22068 : 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
22069 : 248, 249, -1, -1, 252, 253, 254, 255, -1, -1,
22070 : 258, 259, 260, 261, 262, -1, 264, 265, -1, -1,
22071 : 268, 269, 270, -1, -1, 273, -1, 275, 276, 277,
22072 : -1, 279, 280, 281, 282, 283, 284, 285, 286, 287,
22073 : -1, 289, 290, -1, 292, -1, 294, 295, 296, -1,
22074 : 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
22075 : 308, 309, 310, 311, -1, 313, 314, 315, 316, 317,
22076 : 318, 319, 320, 321, 322, 323, 324, -1, 326, 327,
22077 : 328, 329, 330, 331, -1, 333, 334, 335, 336, 337,
22078 : 338, 339, 340, 341, -1, 343, 344, 345, 346, 347,
22079 : -1, 349, 350, 351, 352, 353, 354, 355, 356, 357,
22080 : 358, -1, 360, 361, 362, 363, 364, 365, 366, 367,
22081 : 368, 369, 370, 371, -1, -1, 374, 375, -1, 377,
22082 : 378, 379, 380, 381, 382, 383, -1, 385, 386, -1,
22083 : -1, 389, 390, -1, 392, -1, -1, 395, 396, 397,
22084 : 398, 399, 400, 401, -1, -1, 404, 405, 406, 407,
22085 : 408, -1, -1, 411, 412, 413, 414, 415, -1, 417,
22086 : -1, 419, 420, 421, 422, 423, 424, -1, -1, 427,
22087 : -1, -1, 430, 431, 432, 433, 434, 435, 3, -1,
22088 : -1, -1, -1, -1, -1, -1, -1, -1, -1, 447,
22089 : 448, 449, -1, 18, 19, 20, 21, 22, 23, 24,
22090 : 25, -1, 27, 28, 29, -1, -1, -1, -1, -1,
22091 : -1, -1, 37, 38, -1, 40, 41, 42, 43, 44,
22092 : 45, 46, -1, 48, 49, 50, 51, -1, 53, 54,
22093 : 55, 56, 57, -1, -1, 60, 61, 62, 63, 64,
22094 : -1, 66, 67, 68, 69, -1, -1, 72, -1, 74,
22095 : 75, 76, 77, 78, 79, 80, 81, 82, -1, 84,
22096 : 85, 86, 87, 88, 89, -1, 91, 92, 93, 94,
22097 : -1, -1, -1, 98, -1, -1, -1, 102, 103, 104,
22098 : 105, 106, 107, 108, 109, 110, -1, 112, -1, 114,
22099 : 115, 116, 117, 118, 119, -1, 121, 122, 123, 124,
22100 : -1, -1, 127, 128, 129, 130, 131, -1, 133, 134,
22101 : 135, -1, 137, 138, 139, -1, 141, 142, 143, 144,
22102 : -1, 146, 147, 148, -1, -1, 151, -1, 153, 154,
22103 : 155, 156, -1, 158, -1, 160, 161, -1, 163, 164,
22104 : 165, 166, 167, -1, 169, -1, -1, -1, 173, -1,
22105 : 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
22106 : -1, 186, 187, 188, 189, 190, 191, -1, 193, 194,
22107 : -1, 196, 197, 198, 199, 200, 201, -1, 203, -1,
22108 : 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
22109 : -1, -1, 217, -1, 219, 220, 221, -1, 223, 224,
22110 : 225, -1, -1, 228, 229, 230, 231, 232, 233, 234,
22111 : 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
22112 : 245, 246, 247, 248, 249, -1, -1, 252, 253, 254,
22113 : 255, -1, -1, 258, 259, 260, 261, 262, -1, 264,
22114 : 265, -1, -1, 268, 269, 270, -1, -1, 273, -1,
22115 : 275, 276, 277, -1, 279, 280, 281, 282, 283, 284,
22116 : 285, 286, 287, -1, 289, 290, -1, 292, -1, 294,
22117 : 295, 296, -1, 298, 299, 300, 301, 302, 303, 304,
22118 : 305, 306, 307, 308, 309, 310, 311, -1, 313, 314,
22119 : 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
22120 : -1, 326, 327, 328, 329, 330, 331, -1, 333, 334,
22121 : 335, 336, 337, 338, 339, 340, 341, -1, 343, 344,
22122 : 345, 346, 347, -1, 349, 350, 351, 352, 353, 354,
22123 : 355, 356, 357, 358, -1, 360, 361, 362, 363, 364,
22124 : 365, 366, 367, 368, 369, 370, 371, -1, -1, 374,
22125 : 375, -1, 377, 378, 379, 380, 381, 382, 383, -1,
22126 : 385, 386, -1, -1, 389, 390, -1, 392, -1, -1,
22127 : 395, 396, 397, 398, 399, 400, 401, -1, -1, 404,
22128 : 405, 406, 407, 408, -1, -1, 411, 412, 413, 414,
22129 : 415, -1, 417, -1, 419, 420, 421, 422, 423, 424,
22130 : -1, -1, 427, -1, -1, 430, 431, 432, 433, 434,
22131 : 435, 3, -1, -1, -1, -1, -1, -1, -1, -1,
22132 : -1, -1, 447, 448, 449, -1, 18, 19, 20, 21,
22133 : 22, 23, 24, 25, -1, 27, 28, 29, -1, -1,
22134 : -1, -1, -1, -1, -1, 37, 38, -1, 40, 41,
22135 : 42, 43, 44, 45, 46, -1, 48, 49, 50, 51,
22136 : -1, 53, 54, 55, 56, 57, -1, -1, 60, 61,
22137 : 62, 63, 64, -1, 66, 67, 68, 69, -1, -1,
22138 : 72, -1, 74, 75, 76, 77, 78, 79, 80, 81,
22139 : 82, -1, 84, 85, 86, 87, 88, 89, -1, 91,
22140 : 92, 93, 94, -1, -1, -1, 98, -1, -1, -1,
22141 : 102, 103, 104, 105, 106, 107, 108, 109, 110, -1,
22142 : 112, -1, 114, 115, 116, 117, 118, 119, -1, 121,
22143 : 122, 123, 124, -1, -1, 127, 128, 129, 130, 131,
22144 : -1, 133, 134, 135, -1, 137, 138, 139, -1, 141,
22145 : 142, 143, 144, -1, 146, 147, 148, -1, -1, 151,
22146 : -1, 153, 154, 155, 156, -1, 158, -1, 160, 161,
22147 : -1, 163, 164, 165, 166, 167, -1, 169, -1, -1,
22148 : -1, 173, -1, 175, 176, 177, 178, 179, 180, 181,
22149 : 182, 183, 184, -1, 186, 187, 188, 189, 190, 191,
22150 : -1, 193, 194, -1, 196, 197, 198, 199, 200, 201,
22151 : -1, 203, -1, 205, 206, 207, 208, 209, 210, 211,
22152 : 212, 213, 214, -1, -1, 217, -1, 219, 220, 221,
22153 : -1, 223, 224, 225, -1, -1, 228, 229, 230, 231,
22154 : 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
22155 : 242, 243, 244, 245, 246, 247, 248, 249, -1, -1,
22156 : 252, 253, 254, 255, -1, -1, 258, 259, 260, 261,
22157 : 262, -1, 264, 265, -1, -1, 268, 269, 270, -1,
22158 : -1, 273, -1, 275, 276, 277, -1, 279, 280, 281,
22159 : 282, 283, 284, 285, 286, 287, -1, 289, 290, -1,
22160 : 292, -1, 294, 295, 296, -1, 298, 299, 300, 301,
22161 : 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
22162 : -1, 313, 314, 315, 316, 317, 318, 319, 320, 321,
22163 : 322, 323, 324, -1, 326, 327, 328, 329, 330, 331,
22164 : -1, 333, 334, 335, 336, 337, 338, 339, 340, 341,
22165 : -1, 343, 344, 345, 346, 347, -1, 349, 350, -1,
22166 : 352, 353, 354, 355, 356, 357, 358, -1, 360, 361,
22167 : 362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
22168 : -1, -1, 374, 375, -1, 377, 378, 379, 380, 381,
22169 : 382, 383, -1, 385, 386, -1, -1, 389, 390, -1,
22170 : 392, -1, -1, 395, 396, 397, 398, 399, 400, 401,
22171 : -1, -1, 404, 405, 406, 407, 408, -1, -1, 411,
22172 : 412, 413, 414, 415, -1, 417, -1, 419, 420, 421,
22173 : 422, 423, 424, -1, -1, 427, -1, -1, 430, 431,
22174 : 432, 433, 434, 435, 3, -1, -1, -1, -1, -1,
22175 : -1, -1, -1, -1, -1, 447, 448, 449, -1, 18,
22176 : 19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
22177 : 29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
22178 : -1, 40, 41, 42, 43, 44, 45, 46, -1, -1,
22179 : 49, -1, -1, -1, 53, 54, 55, 56, 57, -1,
22180 : -1, 60, 61, -1, -1, 64, -1, 66, 67, 68,
22181 : 69, -1, -1, 72, -1, 74, 75, 76, 77, 78,
22182 : 79, 80, 81, 82, -1, 84, 85, 86, 87, 88,
22183 : 89, -1, 91, 92, 93, 94, -1, -1, -1, 98,
22184 : -1, -1, -1, 102, 103, 104, 105, 106, 107, -1,
22185 : -1, 110, -1, 112, -1, 114, 115, 116, 117, 118,
22186 : 119, -1, 121, 122, 123, 124, -1, -1, 127, 128,
22187 : 129, 130, 131, -1, 133, 134, 135, -1, 137, 138,
22188 : 139, -1, 141, 142, 143, 144, -1, 146, 147, 148,
22189 : -1, -1, 151, -1, 153, 154, -1, 156, -1, 158,
22190 : -1, 160, 161, -1, 163, 164, 165, 166, 167, -1,
22191 : 169, -1, -1, -1, 173, -1, 175, 176, 177, 178,
22192 : 179, 180, 181, 182, 183, 184, -1, 186, 187, 188,
22193 : 189, 190, 191, -1, 193, 194, -1, 196, 197, 198,
22194 : 199, -1, -1, -1, -1, -1, 205, 206, 207, 208,
22195 : 209, 210, 211, 212, 213, 214, -1, -1, 217, -1,
22196 : 219, 220, 221, -1, 223, 224, 225, -1, -1, 228,
22197 : 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
22198 : 239, 240, 241, 242, 243, -1, 245, -1, 247, 248,
22199 : 249, -1, -1, 252, 253, 254, 255, -1, -1, 258,
22200 : -1, 260, 261, 262, -1, 264, 265, -1, -1, 268,
22201 : 269, 270, -1, -1, 273, -1, 275, 276, 277, -1,
22202 : 279, 280, 281, 282, 283, 284, 285, 286, 287, -1,
22203 : 289, 290, -1, 292, -1, 294, 295, 296, -1, 298,
22204 : 299, 300, 301, 302, 303, 304, 305, 306, -1, 308,
22205 : 309, 310, 311, -1, 313, 314, 315, 316, 317, 318,
22206 : 319, 320, 321, 322, 323, 324, -1, 326, 327, 328,
22207 : 329, 330, 331, -1, 333, 334, 335, 336, 337, 338,
22208 : 339, 340, 341, -1, 343, 344, 345, 346, 347, -1,
22209 : 349, 350, -1, 352, 353, 354, 355, 356, -1, 358,
22210 : -1, 360, 361, 362, 363, 364, 365, 366, 367, 368,
22211 : 369, 370, 371, -1, -1, 374, 375, -1, 377, 378,
22212 : 379, 380, 381, 382, 383, -1, -1, -1, -1, -1,
22213 : 389, 390, -1, 392, -1, -1, 395, 396, 397, 398,
22214 : 399, 400, 401, -1, -1, 404, 405, 406, 407, 408,
22215 : -1, -1, 411, 412, 413, 414, 415, -1, -1, -1,
22216 : 419, 420, 421, 422, 423, 424, -1, -1, 427, -1,
22217 : -1, 430, 431, 432, 433, 434, 435, 3, -1, -1,
22218 : -1, -1, -1, -1, -1, -1, -1, -1, 447, 448,
22219 : 449, -1, 18, 19, 20, 21, 22, 23, 24, 25,
22220 : -1, 27, 28, 29, -1, -1, -1, -1, -1, -1,
22221 : -1, 37, 38, -1, 40, 41, 42, -1, 44, 45,
22222 : 46, -1, -1, -1, -1, -1, -1, 53, 54, 55,
22223 : 56, 57, -1, -1, 60, 61, -1, -1, 64, -1,
22224 : 66, 67, 68, 69, -1, -1, -1, -1, 74, 75,
22225 : 76, 77, 78, -1, 80, 81, 82, -1, 84, 85,
22226 : 86, 87, 88, 89, -1, -1, 92, 93, 94, -1,
22227 : -1, -1, -1, -1, -1, -1, 102, 103, 104, 105,
22228 : 106, 107, -1, -1, 110, -1, 112, -1, 114, 115,
22229 : 116, 117, 118, 119, -1, 121, 122, 123, 124, -1,
22230 : -1, 127, 128, 129, 130, 131, -1, 133, 134, 135,
22231 : -1, 137, 138, 139, -1, 141, 142, 143, 144, -1,
22232 : 146, 147, 148, -1, -1, 151, -1, 153, 154, -1,
22233 : 156, -1, 158, -1, 160, -1, -1, -1, 164, 165,
22234 : 166, 167, -1, 169, -1, -1, -1, 173, -1, 175,
22235 : 176, 177, 178, 179, -1, 181, 182, 183, 184, -1,
22236 : 186, 187, 188, 189, 190, 191, -1, 193, -1, -1,
22237 : 196, 197, 198, 199, -1, -1, -1, -1, -1, 205,
22238 : -1, -1, 208, -1, 210, 211, 212, 213, 214, -1,
22239 : -1, 217, -1, -1, 220, -1, -1, 223, 224, 225,
22240 : -1, -1, 228, 229, 230, 231, 232, 233, 234, 235,
22241 : 236, 237, 238, 239, 240, 241, 242, 243, -1, -1,
22242 : -1, 247, 248, 249, -1, -1, 252, 253, -1, 255,
22243 : -1, -1, 258, -1, 260, 261, 262, -1, 264, 265,
22244 : -1, -1, 268, 269, 270, -1, -1, 273, -1, -1,
22245 : 276, -1, -1, 279, 280, 281, 282, 283, 284, 285,
22246 : 286, 287, -1, 289, 290, -1, 292, -1, 294, 295,
22247 : 296, -1, 298, 299, 300, 301, 302, 303, 304, 305,
22248 : 306, -1, 308, 309, 310, 311, -1, 313, 314, 315,
22249 : 316, 317, 318, 319, 320, 321, 322, 323, 324, -1,
22250 : 326, 327, -1, 329, 330, 331, -1, 333, 334, 335,
22251 : 336, 337, 338, 339, 340, 341, -1, 343, 344, 345,
22252 : 346, 347, -1, 349, 350, -1, 352, 353, -1, 355,
22253 : 356, -1, 358, -1, 360, 361, 362, 363, 364, 365,
22254 : 366, 367, 368, 369, 370, 371, -1, -1, 374, 375,
22255 : -1, 377, -1, 379, 380, 381, 382, 383, -1, -1,
22256 : -1, -1, -1, 389, 390, -1, 392, -1, -1, 395,
22257 : 396, 397, 398, 399, 400, 401, -1, -1, 404, 405,
22258 : 406, 407, 408, -1, -1, 411, 412, 413, 414, 415,
22259 : -1, -1, -1, 419, -1, 421, 422, 423, 424, -1,
22260 : -1, 427, -1, -1, 430, 431, 432, 433, 434, 435,
22261 : -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
22262 : -1, 447, 448, 449
22263 : };
22264 :
22265 : /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
22266 : symbol of state STATE-NUM. */
22267 : static const yytype_uint16 yystos[] =
22268 : {
22269 : 0, 18, 28, 30, 31, 46, 66, 68, 69, 75,
22270 : 77, 88, 90, 107, 110, 124, 126, 130, 136, 144,
22271 : 146, 152, 168, 184, 223, 224, 229, 241, 253, 295,
22272 : 308, 314, 315, 317, 322, 327, 330, 335, 341, 342,
22273 : 349, 353, 363, 376, 395, 405, 411, 416, 429, 452,
22274 : 466, 473, 474, 475, 476, 482, 483, 485, 486, 487,
22275 : 488, 490, 494, 506, 511, 512, 515, 516, 517, 537,
22276 : 540, 541, 557, 600, 601, 604, 607, 608, 609, 617,
22277 : 623, 625, 627, 628, 631, 634, 635, 639, 648, 652,
22278 : 653, 654, 655, 658, 660, 661, 662, 663, 671, 672,
22279 : 691, 695, 697, 698, 699, 709, 711, 718, 719, 722,
22280 : 723, 724, 725, 726, 734, 736, 740, 745, 749, 750,
22281 : 758, 759, 762, 767, 778, 805, 808, 809, 810, 815,
22282 : 818, 820, 822, 824, 825, 830, 831, 834, 835, 836,
22283 : 840, 841, 844, 845, 848, 849, 850, 857, 859, 860,
22284 : 861, 866, 868, 869, 875, 876, 877, 878, 879, 880,
22285 : 881, 883, 884, 886, 887, 889, 892, 893, 898, 904,
22286 : 907, 909, 910, 919, 921, 926, 931, 935, 936, 937,
22287 : 938, 939, 940, 943, 978, 389, 432, 862, 25, 72,
22288 : 87, 105, 111, 128, 139, 147, 159, 164, 171, 188,
22289 : 213, 234, 268, 290, 300, 303, 329, 334, 336, 343,
22290 : 346, 365, 371, 375, 376, 379, 383, 392, 397, 409,
22291 : 422, 624, 862, 3, 18, 19, 20, 21, 22, 23,
22292 : 24, 25, 26, 27, 28, 29, 37, 38, 40, 41,
22293 : 42, 44, 45, 46, 47, 48, 50, 51, 53, 54,
22294 : 55, 56, 57, 60, 61, 62, 63, 64, 66, 67,
22295 : 68, 69, 70, 74, 75, 76, 77, 78, 80, 81,
22296 : 82, 84, 85, 86, 87, 88, 89, 92, 93, 94,
22297 : 102, 103, 104, 105, 106, 107, 108, 109, 110, 112,
22298 : 114, 115, 116, 117, 118, 119, 121, 122, 123, 124,
22299 : 127, 128, 129, 130, 131, 133, 134, 135, 137, 138,
22300 : 139, 141, 142, 143, 144, 145, 146, 147, 148, 149,
22301 : 151, 153, 154, 155, 156, 158, 160, 164, 165, 166,
22302 : 167, 169, 170, 172, 173, 175, 176, 177, 178, 179,
22303 : 181, 182, 183, 184, 186, 187, 188, 189, 190, 191,
22304 : 193, 195, 196, 197, 198, 199, 200, 201, 203, 205,
22305 : 208, 210, 211, 212, 213, 214, 217, 218, 220, 223,
22306 : 224, 225, 228, 229, 230, 231, 232, 233, 234, 235,
22307 : 236, 237, 238, 239, 240, 241, 242, 243, 244, 246,
22308 : 247, 248, 249, 250, 252, 253, 255, 257, 258, 259,
22309 : 260, 261, 262, 264, 265, 268, 269, 270, 273, 274,
22310 : 276, 278, 279, 280, 281, 282, 283, 284, 285, 286,
22311 : 287, 289, 290, 291, 292, 293, 294, 295, 296, 298,
22312 : 299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
22313 : 309, 310, 311, 313, 314, 315, 316, 317, 318, 319,
22314 : 320, 321, 322, 323, 324, 326, 327, 329, 330, 331,
22315 : 332, 333, 334, 335, 336, 337, 338, 339, 340, 341,
22316 : 343, 344, 345, 346, 347, 349, 350, 351, 352, 353,
22317 : 355, 356, 357, 358, 360, 361, 362, 363, 364, 365,
22318 : 366, 367, 368, 369, 370, 371, 372, 374, 375, 377,
22319 : 379, 380, 381, 382, 383, 385, 386, 389, 390, 391,
22320 : 392, 393, 395, 396, 397, 398, 399, 400, 401, 404,
22321 : 405, 406, 407, 408, 411, 412, 413, 414, 415, 416,
22322 : 417, 419, 421, 422, 423, 424, 427, 430, 431, 432,
22323 : 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
22324 : 443, 444, 445, 446, 447, 448, 449, 932, 1103, 1117,
22325 : 1121, 1122, 420, 894, 266, 296, 862, 49, 466, 548,
22326 : 20, 25, 37, 59, 72, 83, 105, 111, 128, 139,
22327 : 147, 159, 167, 171, 225, 268, 271, 290, 303, 329,
22328 : 336, 346, 365, 371, 379, 380, 382, 383, 392, 397,
22329 : 403, 406, 409, 558, 606, 714, 768, 779, 26, 295,
22330 : 1103, 932, 26, 289, 344, 380, 382, 5, 212, 816,
22331 : 817, 1112, 20, 25, 37, 59, 72, 87, 105, 128,
22332 : 139, 147, 159, 164, 171, 188, 234, 268, 280, 290,
22333 : 303, 329, 334, 336, 343, 346, 365, 371, 376, 379,
22334 : 383, 390, 392, 397, 409, 422, 624, 727, 728, 729,
22335 : 862, 1103, 90, 420, 466, 601, 604, 607, 893, 899,
22336 : 907, 910, 919, 926, 931, 935, 9, 19, 26, 44,
22337 : 154, 160, 162, 185, 214, 248, 298, 316, 457, 458,
22338 : 746, 747, 932, 1111, 1113, 26, 90, 312, 342, 751,
22339 : 752, 753, 1117, 159, 1117, 1108, 1112, 376, 946, 746,
22340 : 1117, 389, 1103, 280, 234, 105, 188, 336, 375, 376,
22341 : 466, 826, 827, 335, 1117, 26, 347, 385, 389, 498,
22342 : 507, 508, 1117, 23, 168, 751, 752, 296, 862, 1117,
22343 : 211, 26, 125, 948, 949, 60, 84, 225, 243, 329,
22344 : 336, 347, 385, 389, 435, 495, 496, 497, 498, 26,
22345 : 347, 385, 389, 498, 389, 267, 989, 1101, 1117, 946,
22346 : 459, 1117, 163, 466, 895, 466, 310, 941, 942, 1103,
22347 : 941, 936, 937, 940, 0, 469, 894, 140, 202, 272,
22348 : 402, 950, 951, 936, 938, 939, 116, 198, 408, 470,
22349 : 3, 43, 49, 72, 79, 91, 98, 161, 163, 180,
22350 : 194, 206, 207, 209, 219, 221, 245, 254, 275, 277,
22351 : 328, 354, 378, 420, 795, 1109, 1117, 1118, 1121, 1123,
22352 : 731, 1117, 731, 1104, 1117, 299, 731, 392, 1103, 104,
22353 : 376, 783, 1109, 1117, 1123, 3, 101, 348, 1114, 1115,
22354 : 1119, 1121, 1122, 1123, 26, 179, 1101, 260, 422, 8,
22355 : 15, 16, 17, 67, 151, 453, 454, 455, 457, 458,
22356 : 459, 460, 461, 462, 812, 814, 1065, 1066, 1117, 179,
22357 : 1103, 1103, 26, 1114, 1115, 1103, 1103, 179, 1101, 1103,
22358 : 731, 1103, 322, 349, 26, 179, 989, 1103, 339, 1103,
22359 : 731, 26, 232, 1114, 1115, 179, 1101, 212, 113, 208,
22360 : 251, 306, 863, 864, 865, 1101, 1107, 1117, 20, 25,
22361 : 59, 72, 73, 83, 87, 105, 128, 139, 147, 159,
22362 : 164, 188, 213, 234, 268, 290, 303, 329, 334, 336,
22363 : 343, 346, 365, 371, 376, 379, 383, 390, 392, 397,
22364 : 422, 624, 737, 738, 1112, 906, 910, 919, 926, 935,
22365 : 1101, 236, 1109, 1103, 466, 179, 731, 392, 1104, 731,
22366 : 392, 179, 1103, 104, 376, 380, 382, 1114, 1115, 380,
22367 : 382, 67, 151, 812, 320, 1103, 1103, 1114, 179, 491,
22368 : 1117, 179, 1103, 179, 731, 1103, 1103, 339, 1103, 731,
22369 : 232, 1114, 310, 343, 376, 422, 234, 87, 188, 164,
22370 : 334, 390, 396, 618, 26, 1103, 933, 505, 1112, 1119,
22371 : 817, 236, 179, 795, 796, 1103, 179, 821, 179, 1104,
22372 : 3, 48, 50, 51, 62, 63, 108, 109, 129, 155,
22373 : 179, 200, 201, 203, 244, 246, 259, 307, 351, 357,
22374 : 385, 386, 417, 733, 1011, 1013, 1015, 1017, 1019, 1021,
22375 : 1022, 1023, 1025, 1026, 1027, 1029, 1030, 1118, 1121, 392,
22376 : 104, 376, 179, 782, 783, 179, 1115, 1116, 79, 422,
22377 : 67, 151, 179, 813, 814, 53, 179, 1116, 179, 1103,
22378 : 179, 1103, 339, 821, 179, 733, 179, 232, 1116, 212,
22379 : 179, 730, 731, 179, 1102, 1103, 179, 1103, 466, 908,
22380 : 558, 899, 416, 893, 900, 901, 902, 1119, 894, 1113,
22381 : 747, 748, 26, 748, 1113, 748, 26, 748, 1113, 748,
22382 : 748, 748, 1113, 1111, 1111, 932, 748, 299, 466, 466,
22383 : 578, 578, 578, 266, 387, 470, 578, 336, 989, 990,
22384 : 470, 858, 1112, 466, 905, 53, 422, 420, 828, 829,
22385 : 1101, 1103, 1117, 43, 449, 208, 468, 269, 269, 266,
22386 : 162, 1112, 387, 157, 741, 266, 4, 6, 7, 8,
22387 : 10, 34, 48, 50, 51, 58, 59, 62, 63, 70,
22388 : 72, 95, 96, 97, 98, 99, 100, 101, 108, 109,
22389 : 111, 145, 149, 150, 155, 170, 172, 200, 201, 203,
22390 : 218, 226, 227, 244, 246, 251, 256, 257, 259, 268,
22391 : 278, 291, 307, 332, 348, 357, 372, 385, 386, 391,
22392 : 393, 394, 403, 409, 417, 437, 438, 439, 440, 442,
22393 : 443, 444, 445, 450, 457, 458, 459, 466, 936, 1014,
22394 : 1017, 1020, 1021, 1022, 1024, 1025, 1026, 1029, 1030, 1034,
22395 : 1036, 1037, 1038, 1040, 1061, 1062, 1063, 1067, 1086, 1091,
22396 : 1098, 1099, 1109, 1110, 1111, 1112, 1117, 1097, 1098, 1112,
22397 : 26, 513, 1100, 1101, 347, 495, 111, 504, 1112, 505,
22398 : 1112, 43, 64, 495, 449, 358, 864, 269, 162, 387,
22399 : 455, 43, 449, 208, 865, 466, 1101, 459, 464, 468,
22400 : 1092, 1094, 990, 3, 161, 163, 420, 890, 891, 893,
22401 : 161, 896, 1034, 1070, 941, 470, 466, 897, 467, 467,
22402 : 475, 1101, 26, 125, 947, 947, 53, 947, 152, 157,
22403 : 222, 263, 954, 956, 957, 972, 974, 975, 976, 950,
22404 : 951, 162, 204, 989, 991, 466, 281, 318, 349, 466,
22405 : 793, 1094, 281, 314, 318, 349, 468, 732, 281, 318,
22406 : 349, 3, 82, 134, 228, 281, 318, 349, 379, 381,
22407 : 429, 506, 509, 870, 871, 872, 873, 763, 22, 130,
22408 : 281, 318, 349, 413, 521, 1103, 22, 130, 349, 408,
22409 : 489, 433, 179, 989, 55, 89, 119, 148, 182, 217,
22410 : 251, 281, 282, 318, 326, 333, 341, 349, 361, 369,
22411 : 424, 506, 510, 798, 806, 466, 780, 1094, 318, 489,
22412 : 185, 145, 22, 28, 69, 119, 123, 130, 133, 158,
22413 : 190, 249, 251, 261, 270, 281, 318, 321, 322, 349,
22414 : 413, 518, 520, 642, 4, 457, 458, 615, 1113, 26,
22415 : 179, 1101, 731, 731, 466, 811, 281, 349, 468, 145,
22416 : 266, 22, 130, 281, 318, 349, 185, 484, 318, 429,
22417 : 452, 477, 484, 266, 281, 318, 145, 35, 54, 103,
22418 : 187, 235, 238, 249, 280, 318, 323, 343, 349, 363,
22419 : 518, 612, 613, 281, 318, 421, 642, 650, 281, 318,
22420 : 349, 82, 123, 133, 281, 314, 318, 349, 508, 496,
22421 : 498, 185, 145, 41, 121, 318, 349, 518, 519, 281,
22422 : 318, 322, 349, 80, 122, 283, 381, 266, 22, 28,
22423 : 130, 281, 318, 349, 538, 539, 484, 157, 318, 477,
22424 : 484, 145, 318, 349, 518, 1103, 220, 113, 267, 434,
22425 : 470, 863, 410, 888, 266, 236, 795, 466, 1103, 1011,
22426 : 392, 104, 376, 783, 260, 422, 67, 151, 814, 1103,
22427 : 1103, 339, 157, 1103, 1011, 212, 731, 1103, 467, 578,
22428 : 1103, 466, 704, 793, 65, 1011, 251, 162, 466, 700,
22429 : 1103, 477, 35, 882, 1103, 251, 477, 433, 179, 1101,
22430 : 477, 731, 731, 700, 406, 558, 266, 157, 842, 843,
22431 : 477, 251, 43, 492, 251, 397, 649, 251, 897, 82,
22432 : 281, 626, 80, 122, 283, 381, 24, 45, 199, 673,
22433 : 35, 700, 157, 179, 477, 422, 179, 1101, 179, 602,
22434 : 1101, 1101, 422, 731, 79, 769, 1109, 1103, 157, 624,
22435 : 49, 102, 197, 249, 338, 145, 56, 324, 470, 522,
22436 : 522, 145, 466, 145, 419, 1028, 1028, 1028, 466, 1016,
22437 : 1016, 293, 466, 1018, 145, 62, 63, 1028, 1016, 1013,
22438 : 431, 452, 466, 1031, 466, 1031, 470, 522, 34, 1012,
22439 : 466, 106, 177, 237, 240, 340, 447, 466, 1032, 1033,
22440 : 732, 1016, 433, 145, 470, 522, 145, 470, 179, 730,
22441 : 179, 731, 179, 731, 145, 470, 522, 1116, 145, 145,
22442 : 522, 145, 80, 122, 283, 381, 157, 145, 522, 145,
22443 : 157, 179, 179, 505, 145, 470, 522, 145, 470, 522,
22444 : 145, 266, 1070, 376, 467, 470, 150, 266, 394, 502,
22445 : 505, 615, 903, 899, 748, 932, 748, 932, 748, 932,
22446 : 748, 932, 748, 932, 932, 932, 748, 932, 466, 579,
22447 : 580, 1117, 579, 26, 105, 128, 159, 164, 212, 213,
22448 : 336, 343, 376, 379, 397, 754, 1100, 1116, 753, 1103,
22449 : 185, 470, 922, 1112, 1011, 1073, 35, 1116, 769, 467,
22450 : 470, 220, 1117, 157, 157, 754, 1116, 335, 1117, 505,
22451 : 266, 466, 1095, 464, 936, 1074, 1034, 1090, 466, 466,
22452 : 157, 466, 466, 936, 466, 466, 466, 466, 466, 466,
22453 : 1034, 466, 466, 466, 466, 466, 466, 466, 466, 936,
22454 : 466, 466, 466, 466, 466, 466, 466, 466, 1034, 1034,
22455 : 1034, 936, 1034, 1070, 1094, 1112, 466, 1112, 3, 8,
22456 : 11, 15, 16, 17, 32, 35, 40, 47, 71, 180,
22457 : 185, 206, 207, 221, 254, 268, 271, 354, 450, 453,
22458 : 454, 455, 457, 458, 459, 460, 461, 462, 1065, 1067,
22459 : 1069, 430, 1049, 277, 1034, 204, 470, 944, 466, 1112,
22460 : 1094, 944, 114, 181, 514, 470, 64, 111, 505, 35,
22461 : 3, 111, 225, 503, 615, 1030, 1112, 1112, 85, 127,
22462 : 1046, 94, 111, 499, 500, 502, 615, 111, 499, 220,
22463 : 1101, 1034, 1093, 3, 26, 30, 31, 32, 33, 34,
22464 : 35, 36, 39, 52, 58, 59, 65, 71, 73, 83,
22465 : 90, 95, 96, 97, 99, 100, 101, 111, 113, 120,
22466 : 125, 126, 132, 136, 140, 150, 152, 157, 159, 162,
22467 : 168, 171, 174, 185, 192, 202, 204, 215, 216, 222,
22468 : 226, 227, 251, 256, 263, 266, 267, 271, 272, 288,
22469 : 297, 312, 325, 342, 348, 359, 373, 376, 384, 387,
22470 : 388, 394, 402, 403, 409, 410, 418, 425, 426, 428,
22471 : 429, 459, 1106, 1120, 1121, 1122, 1123, 1124, 1092, 86,
22472 : 323, 735, 467, 470, 894, 467, 470, 942, 1102, 35,
22473 : 897, 938, 938, 952, 953, 1034, 938, 154, 248, 963,
22474 : 210, 249, 306, 352, 408, 26, 958, 1034, 959, 961,
22475 : 1034, 1036, 972, 973, 957, 956, 954, 955, 157, 975,
22476 : 261, 977, 954, 972, 991, 911, 1101, 35, 1117, 349,
22477 : 1070, 387, 387, 336, 185, 195, 272, 274, 351, 418,
22478 : 459, 786, 787, 788, 790, 792, 794, 1011, 1118, 387,
22479 : 421, 387, 336, 1106, 468, 387, 387, 336, 222, 387,
22480 : 387, 379, 495, 281, 870, 872, 455, 874, 157, 168,
22481 : 185, 327, 764, 765, 65, 83, 141, 159, 297, 403,
22482 : 575, 576, 83, 111, 251, 387, 83, 387, 111, 251,
22483 : 336, 83, 123, 133, 281, 318, 696, 336, 632, 20,
22484 : 25, 59, 72, 87, 128, 139, 159, 164, 234, 268,
22485 : 336, 343, 346, 376, 383, 390, 397, 422, 624, 1103,
22486 : 145, 318, 349, 518, 266, 615, 266, 341, 217, 387,
22487 : 1117, 387, 256, 615, 115, 205, 336, 347, 389, 497,
22488 : 324, 349, 798, 807, 467, 781, 786, 387, 409, 379,
22489 : 1101, 73, 141, 179, 565, 575, 1117, 73, 83, 832,
22490 : 266, 266, 332, 334, 392, 83, 832, 29, 321, 332,
22491 : 334, 392, 332, 1101, 158, 190, 261, 731, 466, 387,
22492 : 387, 178, 466, 526, 231, 379, 406, 429, 431, 526,
22493 : 83, 470, 4, 4, 281, 185, 145, 119, 318, 349,
22494 : 518, 410, 410, 250, 1011, 387, 336, 466, 812, 1103,
22495 : 1101, 376, 376, 387, 387, 376, 700, 105, 349, 509,
22496 : 387, 479, 509, 1101, 387, 387, 1101, 1013, 615, 53,
22497 : 614, 615, 615, 103, 235, 238, 53, 387, 477, 242,
22498 : 336, 477, 249, 613, 387, 387, 256, 1112, 642, 387,
22499 : 387, 336, 1112, 387, 303, 387, 303, 700, 379, 989,
22500 : 285, 285, 83, 387, 832, 336, 387, 387, 526, 526,
22501 : 731, 731, 731, 731, 1101, 42, 415, 42, 42, 387,
22502 : 42, 387, 415, 336, 470, 509, 409, 659, 1115, 387,
22503 : 479, 509, 1101, 387, 336, 281, 318, 306, 319, 345,
22504 : 501, 863, 1107, 1117, 1101, 206, 1011, 266, 206, 433,
22505 : 206, 615, 731, 731, 206, 266, 266, 80, 122, 283,
22506 : 381, 1011, 266, 206, 206, 206, 387, 429, 549, 397,
22507 : 3, 705, 706, 700, 466, 35, 145, 731, 701, 702,
22508 : 1120, 24, 870, 1011, 266, 145, 629, 1103, 251, 285,
22509 : 466, 478, 714, 410, 310, 422, 1101, 26, 376, 429,
22510 : 802, 478, 145, 1115, 90, 168, 493, 557, 608, 672,
22511 : 749, 767, 866, 145, 1112, 650, 651, 145, 266, 1112,
22512 : 1115, 228, 731, 731, 731, 731, 261, 116, 198, 395,
22513 : 408, 674, 675, 137, 305, 466, 659, 251, 478, 1101,
22514 : 251, 610, 612, 251, 35, 261, 285, 466, 578, 578,
22515 : 179, 605, 1101, 157, 179, 770, 1107, 466, 784, 35,
22516 : 1011, 212, 429, 431, 934, 338, 796, 795, 1011, 1104,
22517 : 466, 1070, 1111, 733, 1028, 1028, 34, 1012, 385, 385,
22518 : 1111, 1111, 1011, 464, 464, 1111, 387, 387, 387, 466,
22519 : 387, 1111, 1016, 782, 783, 1116, 1115, 145, 522, 145,
22520 : 410, 145, 410, 813, 814, 522, 1116, 1103, 1103, 1011,
22521 : 733, 1116, 659, 145, 145, 522, 730, 731, 1102, 1103,
22522 : 1103, 731, 467, 179, 1101, 899, 901, 932, 932, 932,
22523 : 932, 932, 932, 579, 467, 470, 467, 165, 344, 377,
22524 : 1102, 730, 104, 346, 782, 1102, 260, 1102, 1100, 1100,
22525 : 1102, 730, 387, 429, 760, 140, 222, 656, 657, 20,
22526 : 143, 332, 352, 923, 989, 255, 924, 467, 470, 906,
22527 : 387, 1101, 826, 827, 829, 752, 751, 752, 162, 169,
22528 : 761, 1117, 25, 73, 105, 128, 139, 159, 164, 213,
22529 : 234, 303, 329, 336, 343, 371, 376, 379, 397, 422,
22530 : 624, 742, 743, 1070, 1092, 465, 1070, 1074, 1075, 425,
22531 : 1087, 1088, 1034, 1070, 466, 1111, 1111, 3, 106, 177,
22532 : 237, 240, 340, 447, 1076, 1077, 1112, 1070, 1070, 1070,
22533 : 1111, 1111, 1034, 812, 1034, 1078, 332, 457, 458, 466,
22534 : 1035, 1036, 1067, 1080, 467, 1070, 1034, 1070, 1081, 1034,
22535 : 52, 162, 216, 388, 1034, 1070, 1084, 1070, 242, 1036,
22536 : 1034, 1044, 1045, 1046, 242, 1034, 1046, 467, 470, 1111,
22537 : 1032, 1011, 1034, 1034, 1034, 1034, 1120, 385, 39, 373,
22538 : 1096, 731, 1034, 466, 936, 1085, 125, 127, 150, 251,
22539 : 256, 261, 394, 404, 1034, 466, 1034, 387, 47, 180,
22540 : 185, 221, 354, 1034, 1034, 1034, 1034, 1034, 1034, 1034,
22541 : 1034, 1034, 1034, 26, 33, 359, 1064, 171, 153, 1050,
22542 : 332, 466, 1061, 167, 225, 376, 380, 382, 406, 945,
22543 : 1101, 1099, 162, 979, 26, 125, 418, 459, 467, 788,
22544 : 1034, 1071, 1072, 1118, 979, 1101, 389, 466, 1112, 470,
22545 : 467, 465, 471, 178, 178, 522, 1101, 891, 892, 1101,
22546 : 1034, 467, 466, 470, 36, 120, 410, 776, 466, 960,
22547 : 1113, 352, 210, 267, 470, 332, 333, 962, 1100, 255,
22548 : 356, 925, 973, 955, 410, 920, 111, 279, 466, 912,
22549 : 935, 35, 1117, 466, 927, 928, 929, 1117, 467, 1115,
22550 : 1103, 1103, 274, 53, 1118, 467, 788, 790, 787, 790,
22551 : 1118, 272, 467, 470, 732, 1115, 1103, 1103, 1106, 1115,
22552 : 1103, 1103, 1115, 1104, 1103, 111, 502, 1113, 329, 409,
22553 : 751, 336, 168, 751, 466, 1103, 410, 771, 210, 210,
22554 : 410, 466, 599, 179, 1103, 256, 1115, 1103, 1103, 1034,
22555 : 256, 1103, 1103, 29, 321, 387, 387, 1103, 387, 633,
22556 : 236, 795, 466, 731, 731, 1011, 392, 104, 376, 783,
22557 : 422, 67, 151, 814, 1103, 731, 1103, 731, 339, 157,
22558 : 1011, 731, 212, 173, 249, 281, 318, 414, 636, 637,
22559 : 638, 989, 387, 832, 336, 256, 147, 115, 205, 1115,
22560 : 1103, 266, 1103, 467, 470, 1114, 1116, 1103, 318, 518,
22561 : 179, 565, 251, 1011, 1103, 1117, 1103, 147, 220, 1103,
22562 : 26, 409, 1103, 179, 1103, 179, 1117, 334, 392, 334,
22563 : 392, 220, 1103, 26, 409, 1103, 220, 332, 1101, 22,
22564 : 130, 349, 643, 644, 645, 646, 1120, 1115, 1103, 111,
22565 : 163, 252, 410, 525, 528, 529, 1120, 1103, 264, 69,
22566 : 264, 1103, 520, 387, 379, 1101, 266, 387, 832, 336,
22567 : 1105, 1117, 1105, 470, 467, 470, 1115, 1103, 837, 838,
22568 : 1120, 266, 318, 387, 667, 990, 990, 1115, 1103, 990,
22569 : 1104, 1114, 3, 82, 135, 190, 287, 401, 409, 412,
22570 : 480, 318, 1115, 1103, 318, 349, 518, 612, 615, 731,
22571 : 1103, 615, 731, 1103, 615, 1115, 1103, 1115, 1103, 1103,
22572 : 1115, 802, 1103, 846, 847, 1120, 1103, 318, 349, 518,
22573 : 519, 1101, 1101, 1103, 1103, 1103, 1103, 1115, 1103, 22,
22574 : 28, 130, 281, 318, 349, 281, 318, 349, 700, 318,
22575 : 349, 318, 349, 119, 318, 1003, 1117, 179, 710, 1117,
22576 : 179, 1117, 1115, 1103, 1103, 1112, 1103, 22, 539, 346,
22577 : 1114, 318, 349, 518, 1103, 1103, 387, 387, 78, 400,
22578 : 306, 256, 739, 1112, 35, 128, 731, 739, 739, 206,
22579 : 410, 410, 739, 731, 731, 212, 731, 739, 739, 739,
22580 : 302, 543, 264, 162, 387, 542, 188, 455, 467, 470,
22581 : 1034, 1011, 731, 467, 470, 455, 674, 567, 1120, 1103,
22582 : 56, 162, 336, 421, 630, 637, 638, 145, 261, 221,
22583 : 559, 561, 563, 565, 572, 575, 23, 185, 329, 374,
22584 : 480, 481, 157, 1105, 422, 1101, 35, 668, 377, 990,
22585 : 700, 491, 1117, 492, 271, 558, 1103, 159, 731, 1070,
22586 : 303, 1112, 700, 700, 700, 700, 261, 266, 271, 466,
22587 : 700, 1001, 1002, 1003, 346, 145, 466, 145, 145, 144,
22588 : 935, 731, 261, 559, 1117, 429, 431, 595, 429, 527,
22589 : 251, 35, 578, 1112, 251, 266, 467, 785, 786, 791,
22590 : 35, 212, 326, 390, 428, 797, 798, 799, 266, 212,
22591 : 505, 176, 176, 157, 522, 35, 1070, 467, 467, 522,
22592 : 464, 449, 449, 467, 467, 1111, 465, 1111, 467, 177,
22593 : 237, 1033, 237, 1033, 1033, 1111, 240, 467, 522, 730,
22594 : 731, 1105, 731, 1105, 522, 522, 212, 522, 346, 157,
22595 : 505, 522, 522, 266, 522, 251, 467, 580, 185, 185,
22596 : 185, 433, 1102, 615, 616, 171, 755, 756, 1115, 23,
22597 : 761, 387, 466, 162, 143, 352, 143, 352, 332, 408,
22598 : 239, 1011, 1115, 429, 603, 1101, 1103, 162, 266, 755,
22599 : 53, 522, 795, 1011, 392, 376, 783, 260, 422, 1011,
22600 : 212, 731, 1103, 467, 465, 465, 470, 1034, 132, 1088,
22601 : 1089, 35, 467, 1034, 467, 467, 467, 162, 467, 467,
22602 : 467, 467, 467, 470, 467, 288, 1079, 467, 466, 1035,
22603 : 1035, 1070, 11, 15, 16, 17, 185, 206, 268, 453,
22604 : 454, 455, 457, 458, 459, 460, 461, 462, 1067, 1035,
22605 : 467, 467, 157, 162, 1082, 1083, 467, 35, 1084, 1070,
22606 : 1084, 1084, 162, 467, 467, 1120, 286, 1048, 35, 467,
22607 : 470, 1034, 1120, 470, 1034, 1095, 1034, 467, 449, 1035,
22608 : 1035, 138, 1070, 162, 125, 127, 150, 256, 261, 394,
22609 : 404, 466, 138, 812, 1034, 373, 1096, 1034, 1085, 1034,
22610 : 387, 466, 936, 466, 466, 276, 1054, 466, 1070, 380,
22611 : 382, 380, 382, 1101, 946, 946, 946, 215, 333, 446,
22612 : 466, 936, 980, 981, 982, 989, 994, 1004, 1037, 1039,
22613 : 1040, 1109, 1117, 426, 999, 1071, 1071, 1072, 467, 13,
22614 : 14, 470, 950, 951, 999, 864, 1111, 1032, 500, 1034,
22615 : 1093, 897, 906, 953, 268, 1065, 1068, 451, 777, 1034,
22616 : 962, 408, 959, 230, 980, 426, 1000, 416, 375, 409,
22617 : 913, 914, 915, 1117, 266, 916, 1117, 929, 930, 470,
22618 : 979, 455, 1095, 794, 732, 790, 790, 53, 792, 461,
22619 : 1116, 1116, 266, 1102, 269, 266, 1034, 576, 1105, 466,
22620 : 466, 466, 599, 188, 579, 689, 145, 522, 387, 1115,
22621 : 1103, 505, 1103, 1011, 1103, 433, 731, 731, 731, 731,
22622 : 80, 122, 283, 381, 1011, 1103, 619, 1103, 173, 414,
22623 : 387, 387, 619, 636, 642, 318, 349, 518, 1103, 1103,
22624 : 1103, 196, 1103, 256, 786, 280, 349, 387, 251, 145,
22625 : 270, 640, 689, 22, 130, 322, 323, 349, 521, 530,
22626 : 531, 642, 833, 1103, 341, 145, 522, 145, 522, 1103,
22627 : 1103, 1103, 1103, 341, 341, 220, 645, 646, 645, 467,
22628 : 470, 647, 1112, 188, 467, 470, 455, 468, 1115, 1103,
22629 : 318, 349, 518, 147, 1103, 1103, 1103, 281, 318, 349,
22630 : 22, 130, 281, 318, 349, 1011, 250, 1011, 467, 470,
22631 : 455, 1101, 387, 1116, 410, 664, 222, 287, 256, 1112,
22632 : 287, 1116, 407, 387, 387, 336, 470, 802, 280, 349,
22633 : 83, 387, 832, 336, 157, 532, 387, 387, 232, 232,
22634 : 232, 387, 387, 336, 387, 387, 336, 387, 336, 387,
22635 : 336, 266, 387, 522, 1011, 251, 1112, 349, 833, 145,
22636 : 522, 387, 387, 1103, 387, 336, 1115, 1103, 1011, 731,
22637 : 206, 739, 1105, 1105, 206, 206, 1103, 206, 366, 367,
22638 : 544, 1112, 543, 173, 250, 268, 457, 458, 615, 703,
22639 : 790, 1068, 1112, 1124, 3, 706, 467, 467, 162, 700,
22640 : 702, 703, 266, 65, 71, 83, 111, 113, 166, 192,
22641 : 251, 256, 297, 312, 403, 568, 569, 571, 144, 425,
22642 : 477, 505, 1103, 505, 640, 1101, 1101, 1101, 467, 470,
22643 : 1116, 171, 329, 1116, 1111, 397, 1101, 578, 3, 157,
22644 : 669, 43, 492, 320, 376, 649, 104, 897, 162, 846,
22645 : 527, 579, 1101, 675, 707, 708, 1112, 467, 470, 1103,
22646 : 157, 579, 1101, 602, 1101, 1103, 603, 466, 560, 1101,
22647 : 467, 264, 526, 264, 266, 596, 526, 35, 145, 935,
22648 : 527, 387, 145, 1101, 467, 470, 111, 455, 800, 1112,
22649 : 505, 376, 789, 790, 157, 801, 799, 802, 116, 198,
22650 : 342, 408, 855, 1103, 173, 935, 1011, 467, 1111, 1031,
22651 : 1031, 465, 465, 467, 522, 410, 522, 410, 522, 1103,
22652 : 1103, 659, 522, 731, 145, 336, 336, 336, 1102, 470,
22653 : 1115, 429, 470, 757, 269, 990, 346, 143, 143, 104,
22654 : 249, 1116, 754, 522, 1115, 206, 206, 206, 615, 206,
22655 : 206, 206, 1074, 384, 1034, 136, 1011, 467, 1034, 1034,
22656 : 1034, 1082, 467, 1070, 470, 1011, 1035, 1035, 1035, 1035,
22657 : 125, 127, 251, 261, 1035, 1035, 1035, 1035, 1035, 1035,
22658 : 1035, 1035, 1035, 1035, 1034, 1034, 1083, 1082, 1011, 467,
22659 : 467, 467, 1070, 467, 470, 53, 1036, 467, 1120, 1045,
22660 : 294, 370, 1047, 467, 470, 421, 1041, 35, 467, 1112,
22661 : 1034, 32, 32, 1034, 467, 1034, 162, 466, 1073, 1034,
22662 : 467, 138, 1035, 1035, 138, 138, 1034, 1034, 951, 426,
22663 : 466, 1055, 1117, 467, 1070, 470, 946, 946, 946, 946,
22664 : 1101, 1101, 1101, 936, 994, 1004, 162, 466, 936, 981,
22665 : 982, 35, 983, 984, 1117, 470, 91, 163, 194, 209,
22666 : 219, 245, 328, 986, 984, 35, 983, 985, 1117, 984,
22667 : 452, 998, 466, 1094, 1034, 171, 964, 470, 950, 950,
22668 : 950, 1034, 1034, 418, 1072, 467, 964, 467, 465, 467,
22669 : 466, 777, 154, 214, 467, 267, 94, 1034, 325, 918,
22670 : 415, 467, 470, 1095, 81, 918, 467, 470, 928, 1000,
22671 : 1034, 467, 461, 794, 397, 165, 337, 344, 377, 398,
22672 : 766, 157, 766, 467, 466, 582, 583, 773, 1039, 1117,
22673 : 579, 579, 689, 1107, 467, 113, 192, 249, 251, 690,
22674 : 1103, 1103, 35, 1103, 410, 410, 731, 731, 731, 731,
22675 : 212, 732, 1115, 1103, 387, 832, 336, 387, 196, 53,
22676 : 379, 1103, 145, 565, 466, 567, 166, 178, 251, 526,
22677 : 477, 104, 166, 251, 365, 368, 526, 613, 349, 531,
22678 : 397, 1103, 1117, 341, 644, 1103, 529, 703, 1120, 280,
22679 : 349, 387, 832, 336, 1103, 387, 387, 387, 336, 164,
22680 : 268, 368, 712, 713, 164, 268, 720, 721, 387, 387,
22681 : 336, 467, 467, 467, 838, 250, 615, 790, 839, 1068,
22682 : 1112, 1124, 318, 1103, 466, 429, 665, 1113, 1112, 1112,
22683 : 1112, 1103, 1103, 1103, 847, 53, 379, 1103, 1103, 1103,
22684 : 1103, 416, 1103, 1103, 157, 157, 320, 157, 179, 1115,
22685 : 1103, 1103, 1115, 1103, 1103, 1103, 1103, 1103, 1103, 147,
22686 : 1103, 71, 523, 145, 24, 45, 397, 1117, 1103, 1112,
22687 : 642, 1103, 1103, 467, 206, 739, 206, 206, 739, 739,
22688 : 206, 739, 477, 544, 619, 689, 429, 431, 731, 1101,
22689 : 466, 731, 1103, 1035, 29, 53, 570, 114, 181, 113,
22690 : 256, 210, 1101, 802, 301, 692, 693, 1117, 629, 285,
22691 : 466, 560, 573, 191, 589, 563, 1116, 1116, 1011, 466,
22692 : 527, 26, 116, 198, 342, 408, 670, 387, 666, 1115,
22693 : 179, 1101, 651, 433, 266, 980, 802, 313, 676, 467,
22694 : 470, 1003, 640, 659, 467, 610, 35, 261, 285, 466,
22695 : 908, 562, 564, 566, 575, 1117, 285, 590, 591, 560,
22696 : 589, 77, 379, 597, 935, 605, 603, 597, 1112, 1107,
22697 : 771, 791, 1034, 1034, 470, 466, 797, 397, 470, 387,
22698 : 466, 619, 467, 465, 1105, 1105, 522, 346, 522, 1102,
22699 : 1102, 1102, 615, 168, 756, 467, 1103, 104, 761, 162,
22700 : 256, 744, 1112, 744, 744, 206, 744, 744, 744, 1034,
22701 : 467, 467, 1083, 467, 1034, 162, 125, 127, 261, 466,
22702 : 467, 436, 1043, 1070, 311, 53, 427, 427, 467, 1034,
22703 : 249, 1034, 470, 1042, 1013, 1034, 1034, 1034, 1073, 467,
22704 : 1034, 32, 32, 1034, 1034, 138, 467, 467, 1034, 1056,
22705 : 1117, 467, 1034, 1101, 1101, 1101, 1101, 984, 985, 984,
22706 : 466, 441, 1036, 467, 1117, 466, 981, 209, 275, 987,
22707 : 981, 987, 209, 986, 987, 209, 378, 992, 466, 1117,
22708 : 466, 273, 1071, 53, 174, 971, 467, 467, 467, 1072,
22709 : 1112, 971, 1112, 812, 261, 1098, 935, 279, 935, 915,
22710 : 266, 466, 917, 455, 929, 918, 397, 467, 387, 751,
22711 : 162, 689, 1034, 467, 470, 429, 71, 774, 774, 467,
22712 : 467, 802, 114, 181, 190, 113, 412, 522, 1011, 1105,
22713 : 1105, 1103, 1103, 1103, 1103, 1103, 1116, 1103, 565, 641,
22714 : 645, 570, 179, 256, 615, 570, 256, 1113, 1117, 1011,
22715 : 522, 522, 455, 53, 379, 1103, 1103, 1103, 1103, 1115,
22716 : 1103, 1103, 1111, 1111, 1011, 470, 1111, 1111, 470, 1115,
22717 : 1103, 1103, 387, 1034, 65, 1116, 1103, 387, 387, 162,
22718 : 185, 1102, 1102, 731, 1102, 145, 1103, 731, 1112, 1112,
22719 : 1011, 522, 522, 206, 739, 739, 739, 739, 466, 545,
22720 : 546, 410, 550, 551, 164, 195, 164, 162, 688, 1034,
22721 : 251, 569, 111, 35, 802, 578, 410, 598, 1109, 32,
22722 : 144, 185, 261, 559, 532, 142, 186, 466, 346, 410,
22723 : 579, 35, 1116, 664, 492, 251, 466, 159, 1103, 1070,
22724 : 247, 265, 677, 678, 679, 157, 682, 1112, 346, 527,
22725 : 935, 731, 261, 559, 603, 467, 470, 429, 567, 53,
22726 : 595, 532, 590, 116, 130, 294, 1103, 429, 867, 35,
22727 : 162, 266, 466, 1112, 788, 803, 804, 1118, 802, 1011,
22728 : 157, 1101, 162, 387, 823, 193, 620, 522, 522, 522,
22729 : 1103, 269, 204, 522, 755, 744, 467, 1035, 162, 466,
22730 : 1073, 466, 467, 470, 467, 1036, 311, 467, 415, 362,
22731 : 467, 467, 467, 1034, 1034, 1034, 467, 285, 1057, 467,
22732 : 995, 996, 1039, 466, 1048, 983, 466, 1102, 981, 266,
22733 : 410, 988, 981, 209, 981, 1109, 1002, 466, 1002, 1117,
22734 : 950, 93, 172, 331, 466, 965, 966, 967, 968, 969,
22735 : 970, 1034, 1034, 428, 1051, 950, 1051, 467, 932, 913,
22736 : 83, 772, 773, 126, 1034, 755, 266, 755, 467, 802,
22737 : 583, 268, 812, 731, 731, 775, 775, 312, 802, 598,
22738 : 467, 387, 349, 924, 467, 470, 35, 145, 523, 703,
22739 : 1116, 1103, 387, 466, 783, 812, 814, 713, 466, 466,
22740 : 721, 1103, 467, 466, 349, 924, 1103, 1103, 466, 466,
22741 : 429, 452, 885, 320, 885, 885, 157, 523, 739, 552,
22742 : 553, 1120, 49, 92, 117, 134, 138, 158, 161, 175,
22743 : 256, 264, 304, 547, 477, 118, 783, 35, 819, 819,
22744 : 1101, 689, 467, 178, 598, 233, 581, 188, 466, 693,
22745 : 301, 466, 1101, 467, 346, 26, 76, 84, 112, 178,
22746 : 189, 368, 574, 574, 1100, 1103, 1105, 467, 935, 665,
22747 : 145, 104, 640, 162, 678, 332, 376, 680, 131, 683,
22748 : 425, 685, 1103, 35, 603, 560, 1101, 467, 564, 270,
22749 : 3, 592, 1121, 596, 590, 595, 333, 333, 57, 65,
22750 : 225, 935, 731, 1101, 772, 790, 467, 470, 397, 999,
22751 : 360, 360, 467, 619, 249, 414, 621, 622, 1103, 522,
22752 : 1035, 1073, 467, 1044, 1070, 53, 249, 448, 53, 950,
22753 : 467, 470, 35, 997, 111, 1009, 1010, 1035, 74, 1102,
22754 : 467, 1034, 466, 981, 988, 466, 467, 1002, 467, 467,
22755 : 466, 350, 466, 467, 470, 1052, 1053, 1117, 467, 415,
22756 : 1103, 467, 470, 252, 408, 757, 766, 522, 774, 598,
22757 : 466, 776, 776, 1101, 598, 689, 1103, 379, 645, 178,
22758 : 410, 524, 349, 924, 1103, 1073, 157, 716, 716, 1073,
22759 : 1073, 1034, 379, 235, 238, 256, 533, 535, 536, 615,
22760 : 1112, 533, 534, 730, 731, 730, 731, 1102, 522, 467,
22761 : 470, 459, 466, 502, 554, 615, 882, 1112, 882, 251,
22762 : 256, 304, 882, 882, 545, 1112, 819, 38, 183, 157,
22763 : 249, 577, 466, 611, 163, 284, 355, 266, 585, 586,
22764 : 587, 379, 467, 1109, 5, 694, 560, 589, 1103, 467,
22765 : 640, 151, 715, 527, 867, 1101, 433, 980, 882, 332,
22766 : 364, 684, 466, 144, 640, 935, 590, 560, 589, 567,
22767 : 466, 597, 595, 596, 65, 269, 65, 603, 771, 467,
22768 : 797, 803, 1011, 126, 429, 429, 414, 619, 640, 467,
22769 : 467, 467, 311, 415, 1070, 305, 333, 1058, 998, 995,
22770 : 466, 1035, 467, 470, 35, 1005, 1006, 1117, 467, 1102,
22771 : 1070, 467, 1070, 466, 1070, 966, 470, 35, 935, 999,
22772 : 773, 349, 162, 775, 426, 584, 812, 777, 777, 578,
22773 : 689, 1103, 611, 1034, 379, 467, 272, 339, 309, 717,
22774 : 717, 467, 467, 467, 1103, 467, 470, 467, 470, 885,
22775 : 553, 502, 555, 556, 1112, 1112, 256, 579, 459, 579,
22776 : 1112, 1112, 131, 190, 612, 116, 408, 266, 587, 266,
22777 : 586, 1103, 466, 467, 470, 532, 346, 640, 731, 35,
22778 : 35, 466, 1103, 681, 1117, 1034, 301, 867, 595, 532,
22779 : 590, 466, 593, 594, 1039, 1117, 596, 597, 269, 269,
22780 : 466, 527, 802, 27, 199, 856, 164, 164, 47, 94,
22781 : 399, 1034, 1059, 1060, 1059, 467, 1002, 470, 1010, 1120,
22782 : 467, 470, 157, 1011, 467, 467, 467, 965, 467, 1053,
22783 : 1055, 927, 755, 776, 466, 689, 467, 581, 924, 1103,
22784 : 783, 53, 924, 387, 536, 533, 731, 467, 470, 579,
22785 : 332, 467, 56, 249, 324, 349, 588, 588, 467, 5,
22786 : 346, 1103, 712, 935, 640, 467, 1109, 596, 590, 595,
22787 : 1034, 467, 470, 774, 774, 597, 772, 597, 252, 466,
22788 : 851, 853, 857, 910, 919, 926, 935, 783, 783, 1060,
22789 : 332, 156, 292, 156, 292, 467, 1036, 1006, 273, 3,
22790 : 111, 251, 256, 1007, 1008, 319, 993, 467, 999, 522,
22791 : 777, 1034, 585, 924, 731, 466, 556, 685, 21, 111,
22792 : 256, 1103, 640, 867, 466, 597, 595, 596, 467, 594,
22793 : 775, 775, 467, 999, 852, 853, 854, 936, 937, 470,
22794 : 470, 32, 1048, 1035, 1035, 256, 1008, 466, 467, 689,
22795 : 535, 144, 640, 4, 686, 687, 1111, 1112, 1120, 596,
22796 : 597, 774, 527, 467, 469, 387, 162, 1060, 74, 1034,
22797 : 467, 301, 467, 470, 597, 775, 597, 854, 360, 360,
22798 : 1005, 467, 1109, 687, 999, 429, 429, 467, 466, 164,
22799 : 164, 686, 783, 783, 467
22800 : };
22801 :
22802 : /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
22803 : static const yytype_uint16 yyr1[] =
22804 : {
22805 : 0, 472, 473, 474, 474, 475, 475, 475, 475, 475,
22806 : 475, 475, 475, 475, 475, 475, 475, 475, 475, 475,
22807 : 475, 475, 475, 475, 475, 475, 475, 475, 475, 475,
22808 : 475, 475, 475, 475, 475, 475, 475, 475, 475, 475,
22809 : 475, 475, 475, 475, 475, 475, 475, 475, 475, 475,
22810 : 475, 475, 475, 475, 475, 475, 475, 475, 475, 475,
22811 : 475, 475, 475, 475, 475, 475, 475, 475, 475, 475,
22812 : 475, 475, 475, 475, 475, 475, 475, 475, 475, 475,
22813 : 475, 475, 475, 475, 475, 475, 475, 475, 475, 475,
22814 : 475, 475, 475, 475, 475, 475, 475, 475, 475, 475,
22815 : 475, 475, 475, 475, 475, 475, 475, 475, 475, 475,
22816 : 475, 475, 475, 475, 475, 475, 475, 475, 475, 475,
22817 : 475, 475, 475, 475, 475, 475, 475, 475, 475, 476,
22818 : 477, 477, 477, 478, 478, 479, 479, 480, 480, 480,
22819 : 480, 480, 480, 480, 480, 480, 481, 481, 481, 481,
22820 : 481, 481, 482, 483, 483, 484, 484, 485, 485, 485,
22821 : 485, 486, 486, 486, 486, 486, 486, 487, 488, 489,
22822 : 489, 490, 490, 490, 490, 491, 491, 492, 492, 493,
22823 : 493, 493, 493, 493, 493, 494, 494, 494, 495, 495,
22824 : 495, 496, 496, 496, 496, 497, 497, 497, 497, 497,
22825 : 497, 497, 497, 497, 497, 497, 498, 498, 499, 499,
22826 : 500, 500, 501, 501, 501, 501, 502, 502, 502, 502,
22827 : 503, 503, 503, 503, 503, 503, 503, 504, 504, 504,
22828 : 505, 505, 506, 507, 507, 507, 507, 508, 508, 509,
22829 : 509, 510, 510, 511, 511, 511, 511, 511, 512, 513,
22830 : 513, 514, 514, 515, 516, 516, 516, 516, 516, 517,
22831 : 517, 517, 517, 517, 517, 517, 517, 517, 517, 517,
22832 : 517, 517, 517, 517, 517, 517, 517, 518, 518, 519,
22833 : 519, 520, 520, 520, 520, 520, 520, 520, 520, 520,
22834 : 520, 520, 520, 520, 520, 520, 520, 520, 520, 520,
22835 : 520, 520, 520, 520, 520, 520, 520, 520, 520, 520,
22836 : 520, 520, 520, 520, 520, 520, 520, 520, 520, 520,
22837 : 520, 520, 520, 520, 520, 520, 520, 520, 520, 520,
22838 : 520, 520, 520, 520, 520, 520, 520, 521, 521, 522,
22839 : 522, 522, 523, 523, 524, 524, 525, 525, 525, 525,
22840 : 526, 527, 527, 528, 528, 529, 529, 529, 529, 530,
22841 : 530, 531, 531, 531, 531, 532, 532, 533, 533, 533,
22842 : 534, 534, 535, 535, 536, 536, 536, 537, 538, 538,
22843 : 539, 539, 539, 539, 540, 540, 541, 541, 542, 542,
22844 : 543, 543, 544, 544, 544, 545, 545, 546, 546, 547,
22845 : 547, 547, 547, 547, 547, 547, 547, 547, 547, 547,
22846 : 547, 547, 547, 548, 548, 549, 549, 550, 550, 551,
22847 : 551, 552, 552, 553, 554, 554, 554, 554, 554, 555,
22848 : 555, 556, 557, 557, 557, 557, 557, 557, 558, 558,
22849 : 558, 558, 558, 558, 558, 558, 559, 559, 560, 560,
22850 : 561, 561, 562, 562, 563, 563, 563, 564, 564, 565,
22851 : 566, 566, 567, 567, 568, 568, 568, 568, 569, 569,
22852 : 569, 569, 569, 569, 569, 569, 570, 570, 571, 571,
22853 : 571, 571, 572, 573, 573, 573, 574, 574, 574, 574,
22854 : 574, 574, 574, 575, 575, 576, 576, 576, 576, 576,
22855 : 576, 576, 577, 577, 578, 578, 579, 579, 580, 581,
22856 : 581, 581, 581, 582, 582, 583, 583, 584, 584, 585,
22857 : 585, 585, 585, 585, 586, 587, 588, 588, 588, 588,
22858 : 588, 589, 589, 590, 590, 591, 592, 592, 593, 593,
22859 : 594, 594, 594, 595, 595, 595, 595, 596, 596, 596,
22860 : 596, 597, 597, 598, 598, 599, 600, 600, 601, 601,
22861 : 602, 603, 603, 603, 604, 604, 605, 606, 606, 607,
22862 : 608, 608, 609, 609, 610, 610, 611, 611, 612, 612,
22863 : 613, 613, 613, 613, 613, 613, 613, 613, 613, 613,
22864 : 613, 613, 613, 613, 614, 614, 615, 615, 615, 615,
22865 : 616, 616, 617, 617, 618, 618, 619, 619, 620, 620,
22866 : 621, 621, 622, 622, 623, 623, 624, 624, 625, 626,
22867 : 626, 627, 627, 628, 628, 629, 629, 630, 630, 630,
22868 : 630, 631, 632, 632, 633, 634, 634, 634, 634, 634,
22869 : 634, 634, 634, 634, 634, 634, 634, 634, 634, 634,
22870 : 634, 634, 634, 634, 634, 634, 634, 634, 634, 634,
22871 : 634, 635, 636, 636, 636, 636, 637, 637, 638, 638,
22872 : 639, 639, 640, 640, 641, 641, 642, 643, 643, 644,
22873 : 644, 644, 644, 645, 646, 647, 648, 648, 649, 649,
22874 : 650, 650, 651, 651, 652, 652, 652, 653, 653, 653,
22875 : 653, 654, 654, 655, 656, 656, 657, 657, 658, 658,
22876 : 659, 659, 660, 660, 661, 662, 663, 664, 664, 665,
22877 : 665, 666, 666, 667, 667, 668, 668, 669, 669, 670,
22878 : 670, 670, 670, 670, 671, 672, 672, 673, 673, 673,
22879 : 674, 674, 675, 675, 675, 675, 675, 676, 676, 677,
22880 : 677, 678, 679, 679, 680, 680, 681, 682, 682, 683,
22881 : 683, 684, 684, 685, 685, 686, 686, 686, 687, 687,
22882 : 687, 687, 688, 688, 689, 689, 690, 690, 690, 690,
22883 : 690, 690, 691, 691, 692, 692, 693, 694, 694, 695,
22884 : 696, 696, 696, 696, 697, 698, 699, 699, 699, 699,
22885 : 699, 699, 699, 699, 699, 699, 699, 699, 699, 699,
22886 : 699, 699, 700, 701, 701, 702, 702, 703, 703, 703,
22887 : 703, 703, 703, 704, 705, 705, 706, 707, 707, 708,
22888 : 708, 709, 709, 709, 709, 710, 710, 711, 712, 712,
22889 : 713, 713, 713, 713, 713, 714, 714, 715, 715, 716,
22890 : 716, 716, 717, 717, 718, 719, 719, 720, 720, 721,
22891 : 721, 722, 722, 723, 723, 724, 725, 726, 726, 726,
22892 : 726, 726, 726, 726, 726, 726, 726, 726, 726, 727,
22893 : 727, 727, 727, 727, 727, 727, 727, 727, 727, 727,
22894 : 727, 727, 728, 728, 728, 728, 728, 728, 728, 729,
22895 : 729, 729, 730, 730, 731, 731, 732, 732, 733, 733,
22896 : 734, 735, 735, 735, 736, 736, 736, 736, 736, 736,
22897 : 736, 736, 736, 736, 736, 736, 736, 736, 736, 736,
22898 : 736, 737, 737, 737, 737, 737, 737, 737, 737, 737,
22899 : 737, 737, 737, 737, 737, 738, 738, 738, 738, 738,
22900 : 738, 738, 738, 738, 738, 738, 738, 739, 739, 740,
22901 : 740, 740, 740, 740, 740, 740, 741, 741, 742, 742,
22902 : 742, 742, 742, 742, 743, 743, 743, 743, 743, 743,
22903 : 743, 743, 744, 744, 745, 745, 746, 746, 746, 746,
22904 : 746, 746, 746, 746, 746, 746, 746, 746, 746, 746,
22905 : 746, 746, 747, 747, 748, 748, 749, 750, 750, 751,
22906 : 751, 751, 751, 751, 752, 752, 753, 753, 753, 753,
22907 : 754, 754, 754, 754, 754, 754, 754, 754, 754, 754,
22908 : 754, 754, 754, 754, 754, 754, 755, 755, 756, 756,
22909 : 757, 757, 758, 759, 759, 760, 760, 761, 761, 762,
22910 : 763, 763, 764, 764, 764, 765, 765, 765, 766, 766,
22911 : 766, 766, 766, 767, 767, 768, 768, 769, 769, 770,
22912 : 770, 771, 771, 772, 772, 773, 773, 773, 774, 774,
22913 : 775, 775, 776, 776, 776, 777, 777, 777, 778, 778,
22914 : 778, 779, 779, 780, 780, 781, 781, 782, 782, 783,
22915 : 783, 783, 783, 784, 784, 785, 785, 786, 786, 786,
22916 : 786, 786, 787, 787, 787, 787, 787, 788, 789, 790,
22917 : 790, 790, 791, 791, 791, 792, 793, 793, 793, 793,
22918 : 794, 794, 795, 796, 796, 797, 797, 798, 798, 798,
22919 : 798, 798, 798, 798, 798, 798, 798, 798, 798, 798,
22920 : 798, 798, 798, 799, 799, 799, 799, 799, 800, 800,
22921 : 801, 801, 802, 802, 803, 804, 804, 805, 806, 806,
22922 : 807, 807, 808, 808, 809, 809, 810, 810, 811, 811,
22923 : 811, 811, 812, 812, 813, 813, 814, 815, 816, 816,
22924 : 817, 817, 818, 818, 818, 819, 819, 819, 820, 821,
22925 : 821, 822, 823, 823, 823, 823, 824, 825, 825, 825,
22926 : 825, 826, 826, 827, 827, 827, 828, 828, 829, 830,
22927 : 830, 831, 831, 831, 831, 831, 831, 831, 831, 831,
22928 : 831, 831, 831, 831, 831, 831, 831, 831, 831, 831,
22929 : 831, 831, 831, 831, 831, 831, 831, 831, 831, 831,
22930 : 831, 831, 831, 831, 831, 831, 831, 831, 831, 831,
22931 : 831, 831, 831, 831, 831, 831, 831, 831, 831, 831,
22932 : 831, 831, 832, 832, 833, 833, 834, 834, 834, 834,
22933 : 835, 835, 835, 835, 835, 835, 835, 835, 835, 835,
22934 : 835, 835, 835, 835, 835, 835, 835, 835, 835, 835,
22935 : 835, 835, 835, 835, 835, 836, 837, 837, 838, 838,
22936 : 839, 839, 839, 839, 839, 840, 840, 840, 840, 840,
22937 : 840, 840, 840, 840, 840, 840, 840, 840, 840, 840,
22938 : 840, 840, 840, 840, 840, 840, 840, 841, 842, 842,
22939 : 843, 843, 844, 844, 844, 844, 845, 846, 846, 847,
22940 : 848, 848, 848, 848, 848, 848, 849, 849, 850, 851,
22941 : 851, 851, 852, 852, 853, 853, 853, 853, 853, 854,
22942 : 854, 855, 855, 855, 855, 856, 856, 856, 857, 858,
22943 : 858, 859, 860, 860, 861, 861, 861, 861, 861, 861,
22944 : 861, 861, 861, 861, 861, 861, 861, 861, 862, 862,
22945 : 862, 863, 863, 863, 863, 863, 864, 864, 864, 865,
22946 : 865, 866, 866, 866, 866, 867, 867, 867, 867, 868,
22947 : 869, 870, 870, 871, 871, 872, 872, 872, 873, 873,
22948 : 873, 873, 873, 873, 873, 874, 874, 875, 875, 875,
22949 : 876, 877, 877, 878, 879, 879, 880, 881, 881, 881,
22950 : 881, 881, 881, 881, 882, 882, 883, 884, 884, 884,
22951 : 884, 884, 884, 885, 885, 886, 887, 887, 887, 888,
22952 : 888, 889, 889, 889, 889, 889, 890, 890, 891, 891,
22953 : 891, 891, 891, 892, 892, 893, 893, 894, 894, 895,
22954 : 895, 896, 896, 897, 897, 898, 898, 898, 898, 899,
22955 : 899, 899, 899, 899, 899, 899, 899, 899, 900, 900,
22956 : 901, 902, 902, 903, 903, 903, 904, 905, 905, 906,
22957 : 906, 906, 906, 907, 907, 908, 908, 909, 909, 909,
22958 : 909, 910, 911, 911, 912, 912, 912, 912, 912, 913,
22959 : 913, 914, 914, 915, 916, 916, 916, 917, 917, 917,
22960 : 918, 918, 919, 920, 920, 921, 922, 922, 923, 923,
22961 : 923, 923, 923, 923, 923, 923, 924, 924, 925, 925,
22962 : 925, 926, 927, 927, 928, 928, 929, 930, 930, 931,
22963 : 932, 933, 933, 933, 933, 933, 934, 934, 934, 935,
22964 : 935, 936, 936, 937, 937, 937, 937, 937, 937, 937,
22965 : 937, 938, 938, 939, 939, 939, 939, 939, 939, 939,
22966 : 940, 940, 940, 941, 941, 942, 943, 943, 944, 944,
22967 : 945, 945, 945, 945, 945, 945, 945, 945, 945, 946,
22968 : 946, 947, 947, 947, 948, 948, 949, 949, 950, 950,
22969 : 951, 952, 952, 953, 953, 954, 954, 954, 954, 955,
22970 : 955, 956, 956, 956, 957, 957, 958, 958, 959, 960,
22971 : 960, 960, 961, 962, 962, 963, 963, 964, 964, 965,
22972 : 965, 966, 966, 966, 966, 966, 967, 968, 969, 970,
22973 : 971, 971, 972, 972, 973, 973, 974, 974, 975, 976,
22974 : 976, 976, 976, 977, 977, 978, 978, 979, 979, 980,
22975 : 980, 981, 981, 981, 981, 981, 981, 981, 981, 981,
22976 : 981, 982, 982, 982, 982, 982, 982, 983, 983, 983,
22977 : 983, 984, 984, 985, 985, 985, 985, 985, 986, 986,
22978 : 986, 986, 987, 987, 988, 988, 989, 989, 989, 989,
22979 : 990, 990, 991, 991, 991, 992, 993, 993, 994, 994,
22980 : 995, 996, 996, 997, 997, 998, 998, 999, 999, 1000,
22981 : 1000, 1000, 1001, 1001, 1002, 1002, 1003, 1004, 1004, 1005,
22982 : 1005, 1006, 1006, 1006, 1007, 1007, 1008, 1008, 1008, 1008,
22983 : 1009, 1009, 1010, 1010, 1011, 1011, 1011, 1011, 1011, 1011,
22984 : 1012, 1012, 1012, 1013, 1013, 1013, 1013, 1013, 1013, 1013,
22985 : 1014, 1014, 1014, 1014, 1015, 1015, 1016, 1016, 1017, 1017,
22986 : 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1018,
22987 : 1018, 1019, 1019, 1020, 1020, 1021, 1022, 1023, 1023, 1024,
22988 : 1024, 1025, 1026, 1027, 1027, 1027, 1027, 1027, 1027, 1028,
22989 : 1028, 1029, 1029, 1029, 1029, 1030, 1031, 1031, 1031, 1032,
22990 : 1032, 1032, 1032, 1032, 1032, 1032, 1032, 1032, 1032, 1032,
22991 : 1032, 1032, 1032, 1033, 1033, 1034, 1034, 1034, 1034, 1034,
22992 : 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034,
22993 : 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034,
22994 : 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034,
22995 : 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034,
22996 : 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034,
22997 : 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1035,
22998 : 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035,
22999 : 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035,
23000 : 1035, 1035, 1035, 1035, 1036, 1036, 1036, 1036, 1036, 1036,
23001 : 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1037, 1037,
23002 : 1037, 1037, 1037, 1037, 1037, 1038, 1038, 1039, 1039, 1040,
23003 : 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040,
23004 : 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040,
23005 : 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040,
23006 : 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040,
23007 : 1040, 1041, 1041, 1042, 1042, 1042, 1042, 1043, 1044, 1044,
23008 : 1045, 1045, 1046, 1046, 1047, 1047, 1047, 1048, 1048, 1048,
23009 : 1048, 1049, 1049, 1050, 1050, 1051, 1051, 1052, 1052, 1053,
23010 : 1054, 1054, 1054, 1055, 1056, 1056, 1057, 1057, 1058, 1058,
23011 : 1058, 1059, 1059, 1060, 1060, 1060, 1060, 1060, 1061, 1061,
23012 : 1061, 1062, 1062, 1063, 1064, 1064, 1064, 1065, 1065, 1066,
23013 : 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066,
23014 : 1066, 1067, 1067, 1068, 1068, 1069, 1069, 1069, 1069, 1069,
23015 : 1069, 1070, 1070, 1071, 1071, 1072, 1072, 1072, 1073, 1073,
23016 : 1074, 1074, 1074, 1075, 1075, 1076, 1076, 1077, 1077, 1077,
23017 : 1077, 1077, 1077, 1077, 1077, 1078, 1078, 1079, 1080, 1080,
23018 : 1081, 1081, 1081, 1081, 1081, 1081, 1082, 1083, 1084, 1084,
23019 : 1084, 1085, 1085, 1086, 1087, 1087, 1088, 1089, 1089, 1090,
23020 : 1090, 1091, 1091, 1092, 1092, 1092, 1092, 1093, 1093, 1094,
23021 : 1094, 1095, 1095, 1096, 1096, 1097, 1097, 1098, 1098, 1099,
23022 : 1099, 1099, 1099, 1100, 1100, 1101, 1101, 1102, 1102, 1103,
23023 : 1104, 1105, 1106, 1107, 1108, 1109, 1109, 1110, 1110, 1110,
23024 : 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110,
23025 : 1111, 1112, 1113, 1113, 1113, 1114, 1115, 1115, 1115, 1116,
23026 : 1116, 1117, 1117, 1117, 1118, 1118, 1118, 1119, 1119, 1119,
23027 : 1119, 1120, 1120, 1120, 1120, 1120, 1121, 1121, 1121, 1121,
23028 : 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121,
23029 : 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121,
23030 : 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121,
23031 : 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121,
23032 : 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121,
23033 : 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121,
23034 : 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121,
23035 : 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121,
23036 : 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121,
23037 : 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121,
23038 : 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121,
23039 : 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121,
23040 : 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121,
23041 : 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121,
23042 : 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121,
23043 : 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121,
23044 : 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121,
23045 : 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121,
23046 : 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121,
23047 : 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121,
23048 : 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121,
23049 : 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121,
23050 : 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121,
23051 : 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121,
23052 : 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121,
23053 : 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121,
23054 : 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121,
23055 : 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1122, 1122,
23056 : 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122,
23057 : 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122,
23058 : 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122,
23059 : 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122,
23060 : 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1123, 1123,
23061 : 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123,
23062 : 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123,
23063 : 1123, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124,
23064 : 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124,
23065 : 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124,
23066 : 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124,
23067 : 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124,
23068 : 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124,
23069 : 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124,
23070 : 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124
23071 : };
23072 :
23073 : /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
23074 : static const yytype_uint8 yyr2[] =
23075 : {
23076 : 0, 2, 1, 3, 1, 1, 1, 1, 1, 1,
23077 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
23078 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
23079 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
23080 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
23081 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
23082 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
23083 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
23084 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
23085 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
23086 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
23087 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
23088 : 1, 1, 1, 1, 1, 1, 1, 1, 0, 5,
23089 : 1, 1, 0, 2, 0, 2, 0, 2, 2, 3,
23090 : 3, 1, 3, 3, 2, 1, 1, 2, 2, 2,
23091 : 3, 3, 5, 5, 5, 0, 3, 5, 5, 5,
23092 : 5, 3, 5, 3, 5, 3, 5, 5, 6, 1,
23093 : 1, 6, 4, 9, 7, 1, 0, 2, 0, 1,
23094 : 1, 1, 1, 1, 1, 2, 3, 3, 2, 5,
23095 : 1, 3, 3, 3, 3, 1, 3, 3, 2, 2,
23096 : 2, 2, 3, 3, 3, 3, 1, 3, 1, 3,
23097 : 1, 1, 2, 2, 2, 1, 1, 1, 1, 1,
23098 : 1, 1, 3, 5, 1, 1, 1, 1, 1, 0,
23099 : 1, 1, 2, 1, 2, 3, 2, 1, 1, 2,
23100 : 1, 2, 1, 2, 3, 4, 3, 2, 4, 1,
23101 : 1, 1, 1, 1, 2, 2, 2, 2, 2, 4,
23102 : 6, 4, 6, 10, 13, 4, 6, 10, 13, 4,
23103 : 6, 4, 6, 5, 7, 11, 14, 1, 3, 4,
23104 : 3, 2, 5, 3, 6, 4, 6, 6, 6, 5,
23105 : 5, 6, 9, 4, 5, 7, 6, 4, 8, 4,
23106 : 2, 4, 3, 6, 4, 3, 3, 3, 3, 2,
23107 : 2, 3, 4, 4, 3, 3, 3, 3, 3, 3,
23108 : 4, 4, 3, 2, 3, 2, 2, 3, 3, 2,
23109 : 2, 3, 4, 4, 4, 5, 1, 3, 2, 1,
23110 : 1, 0, 2, 0, 2, 0, 1, 1, 1, 3,
23111 : 3, 2, 0, 1, 3, 3, 1, 5, 3, 1,
23112 : 2, 1, 3, 2, 3, 6, 10, 1, 1, 1,
23113 : 1, 3, 1, 3, 1, 1, 1, 4, 1, 3,
23114 : 4, 6, 4, 8, 2, 2, 11, 9, 1, 1,
23115 : 1, 0, 1, 1, 1, 1, 3, 2, 0, 1,
23116 : 1, 1, 3, 3, 1, 1, 3, 3, 3, 3,
23117 : 4, 3, 2, 1, 0, 2, 0, 3, 0, 1,
23118 : 0, 1, 3, 2, 1, 1, 1, 3, 0, 1,
23119 : 3, 1, 12, 15, 11, 14, 13, 16, 1, 1,
23120 : 2, 2, 2, 2, 1, 0, 1, 0, 3, 0,
23121 : 1, 3, 1, 3, 1, 1, 1, 1, 1, 4,
23122 : 2, 4, 2, 0, 3, 1, 1, 2, 2, 1,
23123 : 3, 4, 5, 2, 5, 5, 1, 2, 1, 2,
23124 : 2, 2, 3, 3, 3, 0, 1, 1, 1, 1,
23125 : 1, 1, 1, 3, 1, 5, 7, 3, 8, 4,
23126 : 9, 11, 2, 0, 3, 0, 1, 3, 1, 2,
23127 : 2, 2, 0, 1, 3, 3, 6, 4, 0, 1,
23128 : 1, 2, 2, 0, 3, 3, 2, 1, 1, 2,
23129 : 2, 4, 0, 1, 0, 6, 1, 1, 1, 3,
23130 : 3, 3, 5, 2, 2, 2, 0, 3, 4, 4,
23131 : 0, 2, 0, 4, 0, 3, 8, 11, 7, 10,
23132 : 5, 2, 3, 0, 8, 11, 4, 1, 0, 6,
23133 : 5, 8, 4, 6, 1, 0, 3, 0, 1, 2,
23134 : 2, 2, 1, 2, 3, 2, 2, 2, 2, 3,
23135 : 3, 3, 1, 3, 1, 0, 1, 2, 2, 1,
23136 : 1, 3, 6, 10, 1, 0, 1, 2, 2, 0,
23137 : 2, 2, 1, 0, 5, 7, 1, 0, 7, 2,
23138 : 0, 3, 5, 5, 8, 2, 0, 2, 2, 2,
23139 : 1, 5, 2, 0, 2, 7, 6, 10, 6, 6,
23140 : 6, 6, 7, 6, 9, 9, 6, 7, 6, 8,
23141 : 8, 8, 8, 6, 6, 7, 7, 8, 6, 9,
23142 : 6, 7, 2, 2, 2, 2, 1, 2, 1, 0,
23143 : 7, 6, 4, 0, 1, 3, 4, 1, 3, 1,
23144 : 2, 2, 2, 2, 1, 1, 10, 13, 2, 0,
23145 : 2, 2, 1, 0, 5, 4, 4, 11, 14, 12,
23146 : 15, 5, 7, 11, 2, 1, 4, 0, 8, 11,
23147 : 1, 1, 7, 9, 8, 10, 8, 4, 0, 5,
23148 : 0, 2, 0, 2, 0, 2, 0, 2, 0, 1,
23149 : 1, 1, 1, 1, 8, 16, 20, 1, 1, 2,
23150 : 1, 3, 1, 1, 1, 3, 1, 2, 0, 1,
23151 : 2, 4, 1, 1, 1, 1, 1, 3, 0, 1,
23152 : 0, 1, 1, 4, 0, 1, 3, 0, 1, 1,
23153 : 1, 1, 2, 0, 0, 2, 2, 1, 2, 2,
23154 : 2, 2, 11, 13, 1, 3, 5, 1, 3, 5,
23155 : 1, 2, 2, 1, 8, 4, 5, 4, 4, 4,
23156 : 3, 7, 8, 6, 6, 6, 6, 6, 4, 7,
23157 : 5, 8, 3, 1, 3, 3, 1, 1, 1, 1,
23158 : 1, 1, 1, 3, 1, 3, 3, 1, 0, 1,
23159 : 3, 7, 9, 9, 8, 3, 0, 13, 1, 3,
23160 : 5, 5, 3, 6, 2, 1, 0, 2, 0, 2,
23161 : 4, 0, 1, 0, 6, 8, 8, 1, 3, 5,
23162 : 5, 7, 9, 7, 9, 5, 6, 6, 4, 6,
23163 : 4, 6, 8, 4, 6, 4, 6, 5, 7, 1,
23164 : 1, 1, 2, 1, 2, 1, 1, 1, 3, 3,
23165 : 3, 3, 2, 2, 1, 3, 1, 1, 1, 1,
23166 : 1, 1, 1, 3, 1, 2, 2, 3, 1, 3,
23167 : 5, 2, 2, 0, 6, 6, 6, 6, 6, 6,
23168 : 6, 8, 9, 8, 8, 9, 8, 9, 9, 7,
23169 : 10, 1, 1, 1, 1, 1, 1, 2, 1, 1,
23170 : 2, 3, 3, 3, 3, 2, 1, 2, 1, 3,
23171 : 2, 1, 1, 1, 1, 1, 1, 1, 1, 8,
23172 : 8, 8, 8, 8, 8, 9, 2, 0, 1, 2,
23173 : 1, 1, 1, 2, 1, 2, 2, 1, 1, 1,
23174 : 1, 1, 1, 1, 2, 2, 1, 2, 3, 3,
23175 : 3, 3, 4, 4, 3, 3, 3, 4, 4, 3,
23176 : 4, 4, 1, 1, 1, 0, 7, 7, 10, 1,
23177 : 1, 2, 4, 5, 1, 3, 2, 2, 2, 2,
23178 : 1, 2, 2, 4, 3, 2, 2, 2, 2, 3,
23179 : 2, 2, 2, 5, 5, 5, 1, 3, 1, 2,
23180 : 3, 0, 6, 6, 9, 3, 0, 3, 0, 5,
23181 : 2, 0, 3, 3, 3, 7, 7, 10, 1, 1,
23182 : 1, 1, 1, 14, 17, 1, 0, 1, 0, 1,
23183 : 0, 2, 0, 1, 3, 5, 5, 7, 2, 0,
23184 : 1, 0, 1, 1, 0, 2, 2, 0, 9, 12,
23185 : 7, 2, 0, 3, 2, 1, 3, 1, 3, 2,
23186 : 1, 1, 2, 3, 2, 1, 3, 3, 3, 2,
23187 : 2, 1, 1, 1, 1, 2, 1, 1, 1, 1,
23188 : 4, 5, 1, 3, 3, 1, 3, 3, 5, 6,
23189 : 1, 3, 2, 1, 3, 1, 2, 4, 5, 1,
23190 : 1, 1, 1, 3, 3, 2, 2, 1, 2, 2,
23191 : 2, 1, 2, 2, 2, 2, 1, 1, 1, 3,
23192 : 3, 5, 2, 0, 2, 1, 3, 5, 1, 2,
23193 : 1, 0, 4, 6, 4, 6, 4, 6, 3, 5,
23194 : 5, 5, 1, 3, 1, 3, 2, 2, 1, 2,
23195 : 1, 2, 11, 10, 10, 2, 2, 0, 9, 2,
23196 : 0, 10, 11, 11, 5, 5, 8, 3, 3, 6,
23197 : 6, 1, 1, 1, 1, 1, 1, 3, 1, 5,
23198 : 5, 6, 6, 6, 6, 6, 8, 8, 6, 6,
23199 : 7, 9, 9, 8, 10, 6, 6, 6, 6, 6,
23200 : 8, 6, 8, 6, 8, 7, 9, 6, 8, 7,
23201 : 9, 8, 10, 9, 11, 8, 10, 9, 11, 8,
23202 : 8, 7, 6, 6, 6, 6, 8, 8, 8, 8,
23203 : 6, 9, 1, 0, 2, 0, 7, 9, 8, 7,
23204 : 6, 6, 6, 6, 6, 6, 6, 9, 9, 6,
23205 : 8, 6, 8, 8, 8, 8, 6, 8, 6, 8,
23206 : 7, 9, 7, 9, 6, 7, 1, 3, 3, 3,
23207 : 1, 1, 1, 1, 1, 6, 6, 6, 6, 6,
23208 : 6, 7, 7, 6, 9, 9, 6, 6, 6, 6,
23209 : 8, 8, 8, 6, 7, 6, 6, 5, 1, 0,
23210 : 3, 3, 5, 6, 6, 6, 8, 1, 3, 1,
23211 : 5, 5, 6, 7, 4, 4, 4, 6, 13, 1,
23212 : 1, 3, 3, 1, 1, 1, 1, 1, 1, 1,
23213 : 0, 1, 1, 1, 1, 1, 1, 0, 3, 2,
23214 : 0, 2, 2, 2, 2, 3, 3, 2, 2, 2,
23215 : 2, 3, 2, 5, 4, 3, 3, 3, 1, 1,
23216 : 0, 3, 2, 2, 1, 2, 1, 3, 2, 1,
23217 : 0, 9, 11, 12, 14, 3, 4, 4, 0, 2,
23218 : 5, 1, 0, 1, 2, 3, 3, 3, 1, 2,
23219 : 1, 1, 1, 1, 1, 1, 0, 5, 4, 6,
23220 : 4, 3, 5, 5, 4, 4, 6, 4, 6, 6,
23221 : 5, 7, 9, 6, 1, 0, 6, 11, 11, 11,
23222 : 13, 9, 11, 1, 1, 10, 4, 2, 5, 2,
23223 : 0, 4, 5, 5, 4, 6, 1, 3, 1, 1,
23224 : 1, 1, 1, 2, 4, 1, 1, 1, 0, 1,
23225 : 0, 1, 0, 3, 0, 2, 4, 3, 5, 1,
23226 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 3,
23227 : 2, 1, 1, 1, 1, 0, 5, 3, 0, 1,
23228 : 1, 1, 1, 3, 9, 3, 0, 2, 3, 2,
23229 : 3, 7, 1, 3, 1, 4, 4, 7, 2, 1,
23230 : 1, 1, 3, 2, 8, 5, 0, 4, 3, 0,
23231 : 2, 0, 7, 2, 0, 5, 3, 0, 2, 2,
23232 : 2, 3, 1, 3, 1, 2, 1, 0, 1, 2,
23233 : 0, 8, 1, 3, 3, 5, 2, 1, 3, 7,
23234 : 1, 0, 3, 2, 2, 2, 0, 2, 2, 1,
23235 : 1, 3, 3, 1, 2, 4, 4, 2, 3, 5,
23236 : 5, 1, 1, 9, 9, 1, 2, 4, 4, 4,
23237 : 2, 2, 3, 1, 3, 6, 1, 0, 2, 0,
23238 : 3, 3, 4, 4, 4, 4, 3, 2, 1, 1,
23239 : 0, 1, 1, 0, 1, 5, 1, 0, 1, 0,
23240 : 3, 1, 3, 4, 3, 2, 2, 1, 1, 1,
23241 : 0, 2, 4, 5, 2, 3, 1, 1, 1, 1,
23242 : 3, 0, 1, 1, 1, 1, 1, 3, 0, 1,
23243 : 3, 1, 1, 1, 1, 1, 2, 4, 4, 5,
23244 : 2, 0, 1, 3, 1, 0, 1, 2, 3, 2,
23245 : 4, 2, 3, 2, 0, 4, 5, 2, 0, 1,
23246 : 3, 2, 3, 2, 3, 2, 3, 2, 3, 1,
23247 : 4, 3, 4, 5, 4, 5, 4, 5, 2, 4,
23248 : 1, 1, 0, 1, 4, 5, 4, 0, 2, 2,
23249 : 2, 1, 1, 0, 4, 2, 1, 2, 2, 4,
23250 : 1, 3, 1, 2, 3, 6, 4, 0, 2, 6,
23251 : 2, 1, 3, 4, 0, 2, 0, 2, 0, 2,
23252 : 4, 0, 1, 0, 1, 3, 3, 7, 12, 1,
23253 : 3, 2, 3, 3, 1, 2, 2, 2, 2, 1,
23254 : 1, 3, 3, 2, 2, 3, 5, 6, 2, 3,
23255 : 3, 4, 0, 1, 1, 1, 1, 1, 2, 4,
23256 : 1, 1, 1, 1, 2, 3, 3, 0, 1, 1,
23257 : 1, 1, 1, 2, 2, 2, 2, 2, 1, 3,
23258 : 0, 1, 1, 1, 1, 5, 2, 1, 1, 1,
23259 : 1, 4, 1, 2, 2, 1, 3, 3, 2, 1,
23260 : 0, 5, 2, 5, 2, 1, 3, 3, 0, 1,
23261 : 1, 1, 1, 1, 1, 3, 3, 3, 3, 3,
23262 : 3, 3, 0, 1, 4, 1, 3, 3, 5, 2,
23263 : 2, 3, 3, 3, 3, 3, 3, 3, 3, 3,
23264 : 3, 3, 3, 3, 2, 2, 3, 3, 2, 2,
23265 : 3, 5, 4, 6, 3, 5, 4, 6, 4, 6,
23266 : 5, 7, 3, 2, 4, 2, 3, 3, 4, 3,
23267 : 4, 3, 4, 5, 6, 6, 7, 6, 7, 6,
23268 : 7, 3, 4, 4, 6, 2, 3, 4, 1, 1,
23269 : 3, 2, 2, 3, 3, 3, 3, 3, 3, 3,
23270 : 3, 3, 3, 3, 3, 3, 2, 2, 5, 6,
23271 : 6, 7, 3, 4, 1, 1, 2, 4, 1, 1,
23272 : 1, 2, 2, 2, 2, 1, 1, 4, 3, 5,
23273 : 6, 8, 6, 6, 4, 4, 1, 1, 1, 5,
23274 : 1, 1, 4, 1, 4, 1, 4, 1, 4, 1,
23275 : 1, 1, 1, 1, 1, 6, 4, 4, 4, 4,
23276 : 6, 5, 5, 5, 4, 6, 4, 4, 4, 4,
23277 : 5, 7, 7, 9, 5, 4, 6, 5, 7, 7,
23278 : 7, 2, 3, 3, 3, 4, 0, 4, 1, 3,
23279 : 3, 1, 1, 1, 2, 2, 0, 2, 4, 4,
23280 : 6, 5, 0, 5, 0, 2, 0, 1, 3, 3,
23281 : 2, 2, 0, 6, 1, 0, 3, 0, 2, 2,
23282 : 0, 1, 4, 2, 2, 2, 2, 2, 4, 3,
23283 : 5, 4, 3, 5, 1, 1, 1, 1, 1, 1,
23284 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
23285 : 1, 1, 4, 1, 4, 1, 4, 1, 2, 1,
23286 : 2, 1, 3, 1, 3, 1, 3, 3, 1, 3,
23287 : 3, 3, 2, 1, 3, 3, 0, 1, 1, 1,
23288 : 1, 1, 1, 1, 1, 4, 3, 2, 3, 0,
23289 : 3, 3, 2, 2, 1, 0, 2, 2, 3, 2,
23290 : 1, 1, 3, 5, 1, 2, 4, 2, 0, 1,
23291 : 0, 1, 2, 2, 2, 3, 5, 1, 0, 1,
23292 : 2, 0, 2, 1, 0, 1, 0, 1, 3, 3,
23293 : 2, 1, 1, 1, 3, 1, 2, 1, 3, 1,
23294 : 1, 1, 1, 1, 1, 1, 2, 1, 1, 1,
23295 : 1, 1, 2, 6, 2, 3, 5, 1, 1, 1,
23296 : 1, 1, 1, 2, 2, 1, 1, 1, 1, 1,
23297 : 3, 1, 1, 1, 1, 1, 1, 1, 1, 1,
23298 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
23299 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
23300 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
23301 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
23302 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
23303 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
23304 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
23305 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
23306 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
23307 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
23308 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
23309 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
23310 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
23311 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
23312 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
23313 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
23314 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
23315 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
23316 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
23317 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
23318 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
23319 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
23320 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
23321 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
23322 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
23323 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
23324 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
23325 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
23326 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
23327 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
23328 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
23329 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
23330 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
23331 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
23332 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
23333 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
23334 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
23335 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
23336 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
23337 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
23338 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
23339 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
23340 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
23341 : 1, 1, 1, 1, 1, 1, 1, 1
23342 : };
23343 :
23344 :
23345 : #define yyerrok (yyerrstatus = 0)
23346 : #define yyclearin (yychar = YYEMPTY)
23347 : #define YYEMPTY (-2)
23348 : #define YYEOF 0
23349 :
23350 : #define YYACCEPT goto yyacceptlab
23351 : #define YYABORT goto yyabortlab
23352 : #define YYERROR goto yyerrorlab
23353 :
23354 :
23355 : #define YYRECOVERING() (!!yyerrstatus)
23356 :
23357 : #define YYBACKUP(Token, Value) \
23358 : do \
23359 : if (yychar == YYEMPTY) \
23360 : { \
23361 : yychar = (Token); \
23362 : yylval = (Value); \
23363 : YYPOPSTACK (yylen); \
23364 : yystate = *yyssp; \
23365 : goto yybackup; \
23366 : } \
23367 : else \
23368 : { \
23369 : yyerror (&yylloc, yyscanner, YY_("syntax error: cannot back up")); \
23370 : YYERROR; \
23371 : } \
23372 : while (0)
23373 :
23374 : /* Error token number */
23375 : #define YYTERROR 1
23376 : #define YYERRCODE 256
23377 :
23378 :
23379 : /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
23380 : If N is 0, then set CURRENT to the empty location which ends
23381 : the previous symbol: RHS[0] (always defined). */
23382 :
23383 : #ifndef YYLLOC_DEFAULT
23384 : # define YYLLOC_DEFAULT(Current, Rhs, N) \
23385 : do \
23386 : if (N) \
23387 : { \
23388 : (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
23389 : (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
23390 : (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
23391 : (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
23392 : } \
23393 : else \
23394 : { \
23395 : (Current).first_line = (Current).last_line = \
23396 : YYRHSLOC (Rhs, 0).last_line; \
23397 : (Current).first_column = (Current).last_column = \
23398 : YYRHSLOC (Rhs, 0).last_column; \
23399 : } \
23400 : while (0)
23401 : #endif
23402 :
23403 : #define YYRHSLOC(Rhs, K) ((Rhs)[K])
23404 :
23405 :
23406 : /* Enable debugging if requested. */
23407 : #if YYDEBUG
23408 :
23409 : # ifndef YYFPRINTF
23410 : # include <stdio.h> /* INFRINGES ON USER NAME SPACE */
23411 : # define YYFPRINTF fprintf
23412 : # endif
23413 :
23414 : # define YYDPRINTF(Args) \
23415 : do { \
23416 : if (yydebug) \
23417 : YYFPRINTF Args; \
23418 : } while (0)
23419 :
23420 :
23421 : /* YY_LOCATION_PRINT -- Print the location on the stream.
23422 : This macro was not mandated originally: define only if we know
23423 : we won't break user code: when these are the locations we know. */
23424 :
23425 : #ifndef YY_LOCATION_PRINT
23426 : # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
23427 :
23428 : /* Print *YYLOCP on YYO. Private, do not rely on its existence. */
23429 :
23430 : YY_ATTRIBUTE_UNUSED
23431 : static unsigned
23432 : yy_location_print_ (FILE *yyo, YYLTYPE const * const yylocp)
23433 : {
23434 : unsigned res = 0;
23435 : int end_col = 0 != yylocp->last_column ? yylocp->last_column - 1 : 0;
23436 : if (0 <= yylocp->first_line)
23437 : {
23438 : res += YYFPRINTF (yyo, "%d", yylocp->first_line);
23439 : if (0 <= yylocp->first_column)
23440 : res += YYFPRINTF (yyo, ".%d", yylocp->first_column);
23441 : }
23442 : if (0 <= yylocp->last_line)
23443 : {
23444 : if (yylocp->first_line < yylocp->last_line)
23445 : {
23446 : res += YYFPRINTF (yyo, "-%d", yylocp->last_line);
23447 : if (0 <= end_col)
23448 : res += YYFPRINTF (yyo, ".%d", end_col);
23449 : }
23450 : else if (0 <= end_col && yylocp->first_column < end_col)
23451 : res += YYFPRINTF (yyo, "-%d", end_col);
23452 : }
23453 : return res;
23454 : }
23455 :
23456 : # define YY_LOCATION_PRINT(File, Loc) \
23457 : yy_location_print_ (File, &(Loc))
23458 :
23459 : # else
23460 : # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
23461 : # endif
23462 : #endif
23463 :
23464 :
23465 : # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
23466 : do { \
23467 : if (yydebug) \
23468 : { \
23469 : YYFPRINTF (stderr, "%s ", Title); \
23470 : yy_symbol_print (stderr, \
23471 : Type, Value, Location, yyscanner); \
23472 : YYFPRINTF (stderr, "\n"); \
23473 : } \
23474 : } while (0)
23475 :
23476 :
23477 : /*----------------------------------------.
23478 : | Print this symbol's value on YYOUTPUT. |
23479 : `----------------------------------------*/
23480 :
23481 : static void
23482 : yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, core_yyscan_t yyscanner)
23483 : {
23484 : FILE *yyo = yyoutput;
23485 : YYUSE (yyo);
23486 : YYUSE (yylocationp);
23487 : YYUSE (yyscanner);
23488 : if (!yyvaluep)
23489 : return;
23490 : # ifdef YYPRINT
23491 : if (yytype < YYNTOKENS)
23492 : YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
23493 : # endif
23494 : YYUSE (yytype);
23495 : }
23496 :
23497 :
23498 : /*--------------------------------.
23499 : | Print this symbol on YYOUTPUT. |
23500 : `--------------------------------*/
23501 :
23502 : static void
23503 : yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, core_yyscan_t yyscanner)
23504 : {
23505 : YYFPRINTF (yyoutput, "%s %s (",
23506 : yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
23507 :
23508 : YY_LOCATION_PRINT (yyoutput, *yylocationp);
23509 : YYFPRINTF (yyoutput, ": ");
23510 : yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, yyscanner);
23511 : YYFPRINTF (yyoutput, ")");
23512 : }
23513 :
23514 : /*------------------------------------------------------------------.
23515 : | yy_stack_print -- Print the state stack from its BOTTOM up to its |
23516 : | TOP (included). |
23517 : `------------------------------------------------------------------*/
23518 :
23519 : static void
23520 : yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
23521 : {
23522 : YYFPRINTF (stderr, "Stack now");
23523 : for (; yybottom <= yytop; yybottom++)
23524 : {
23525 : int yybot = *yybottom;
23526 : YYFPRINTF (stderr, " %d", yybot);
23527 : }
23528 : YYFPRINTF (stderr, "\n");
23529 : }
23530 :
23531 : # define YY_STACK_PRINT(Bottom, Top) \
23532 : do { \
23533 : if (yydebug) \
23534 : yy_stack_print ((Bottom), (Top)); \
23535 : } while (0)
23536 :
23537 :
23538 : /*------------------------------------------------.
23539 : | Report that the YYRULE is going to be reduced. |
23540 : `------------------------------------------------*/
23541 :
23542 : static void
23543 : yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, YYLTYPE *yylsp, int yyrule, core_yyscan_t yyscanner)
23544 : {
23545 : unsigned long int yylno = yyrline[yyrule];
23546 : int yynrhs = yyr2[yyrule];
23547 : int yyi;
23548 : YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
23549 : yyrule - 1, yylno);
23550 : /* The symbols being reduced. */
23551 : for (yyi = 0; yyi < yynrhs; yyi++)
23552 : {
23553 : YYFPRINTF (stderr, " $%d = ", yyi + 1);
23554 : yy_symbol_print (stderr,
23555 : yystos[yyssp[yyi + 1 - yynrhs]],
23556 : &(yyvsp[(yyi + 1) - (yynrhs)])
23557 : , &(yylsp[(yyi + 1) - (yynrhs)]) , yyscanner);
23558 : YYFPRINTF (stderr, "\n");
23559 : }
23560 : }
23561 :
23562 : # define YY_REDUCE_PRINT(Rule) \
23563 : do { \
23564 : if (yydebug) \
23565 : yy_reduce_print (yyssp, yyvsp, yylsp, Rule, yyscanner); \
23566 : } while (0)
23567 :
23568 : /* Nonzero means print parse trace. It is left uninitialized so that
23569 : multiple parsers can coexist. */
23570 : int yydebug;
23571 : #else /* !YYDEBUG */
23572 : # define YYDPRINTF(Args)
23573 : # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
23574 : # define YY_STACK_PRINT(Bottom, Top)
23575 : # define YY_REDUCE_PRINT(Rule)
23576 : #endif /* !YYDEBUG */
23577 :
23578 :
23579 : /* YYINITDEPTH -- initial size of the parser's stacks. */
23580 : #ifndef YYINITDEPTH
23581 : # define YYINITDEPTH 200
23582 : #endif
23583 :
23584 : /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
23585 : if the built-in stack extension method is used).
23586 :
23587 : Do not make this value too large; the results are undefined if
23588 : YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
23589 : evaluated with infinite-precision integer arithmetic. */
23590 :
23591 : #ifndef YYMAXDEPTH
23592 : # define YYMAXDEPTH 10000
23593 : #endif
23594 :
23595 :
23596 : #if YYERROR_VERBOSE
23597 :
23598 : # ifndef yystrlen
23599 : # if defined __GLIBC__ && defined _STRING_H
23600 : # define yystrlen strlen
23601 : # else
23602 : /* Return the length of YYSTR. */
23603 : static YYSIZE_T
23604 : yystrlen (const char *yystr)
23605 : {
23606 : YYSIZE_T yylen;
23607 : for (yylen = 0; yystr[yylen]; yylen++)
23608 : continue;
23609 : return yylen;
23610 : }
23611 : # endif
23612 : # endif
23613 :
23614 : # ifndef yystpcpy
23615 : # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
23616 : # define yystpcpy stpcpy
23617 : # else
23618 : /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
23619 : YYDEST. */
23620 : static char *
23621 : yystpcpy (char *yydest, const char *yysrc)
23622 : {
23623 : char *yyd = yydest;
23624 : const char *yys = yysrc;
23625 :
23626 : while ((*yyd++ = *yys++) != '\0')
23627 : continue;
23628 :
23629 : return yyd - 1;
23630 : }
23631 : # endif
23632 : # endif
23633 :
23634 : # ifndef yytnamerr
23635 : /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
23636 : quotes and backslashes, so that it's suitable for yyerror. The
23637 : heuristic is that double-quoting is unnecessary unless the string
23638 : contains an apostrophe, a comma, or backslash (other than
23639 : backslash-backslash). YYSTR is taken from yytname. If YYRES is
23640 : null, do not copy; instead, return the length of what the result
23641 : would have been. */
23642 : static YYSIZE_T
23643 : yytnamerr (char *yyres, const char *yystr)
23644 : {
23645 : if (*yystr == '"')
23646 : {
23647 : YYSIZE_T yyn = 0;
23648 : char const *yyp = yystr;
23649 :
23650 : for (;;)
23651 : switch (*++yyp)
23652 : {
23653 : case '\'':
23654 : case ',':
23655 : goto do_not_strip_quotes;
23656 :
23657 : case '\\':
23658 : if (*++yyp != '\\')
23659 : goto do_not_strip_quotes;
23660 : /* Fall through. */
23661 : default:
23662 : if (yyres)
23663 : yyres[yyn] = *yyp;
23664 : yyn++;
23665 : break;
23666 :
23667 : case '"':
23668 : if (yyres)
23669 : yyres[yyn] = '\0';
23670 : return yyn;
23671 : }
23672 : do_not_strip_quotes: ;
23673 : }
23674 :
23675 : if (! yyres)
23676 : return yystrlen (yystr);
23677 :
23678 : return yystpcpy (yyres, yystr) - yyres;
23679 : }
23680 : # endif
23681 :
23682 : /* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
23683 : about the unexpected token YYTOKEN for the state stack whose top is
23684 : YYSSP.
23685 :
23686 : Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is
23687 : not large enough to hold the message. In that case, also set
23688 : *YYMSG_ALLOC to the required number of bytes. Return 2 if the
23689 : required number of bytes is too large to store. */
23690 : static int
23691 : yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
23692 : yytype_int16 *yyssp, int yytoken)
23693 : {
23694 : YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
23695 : YYSIZE_T yysize = yysize0;
23696 : enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
23697 : /* Internationalized format string. */
23698 : const char *yyformat = YY_NULLPTR;
23699 : /* Arguments of yyformat. */
23700 : char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
23701 : /* Number of reported tokens (one for the "unexpected", one per
23702 : "expected"). */
23703 : int yycount = 0;
23704 :
23705 : /* There are many possibilities here to consider:
23706 : - If this state is a consistent state with a default action, then
23707 : the only way this function was invoked is if the default action
23708 : is an error action. In that case, don't check for expected
23709 : tokens because there are none.
23710 : - The only way there can be no lookahead present (in yychar) is if
23711 : this state is a consistent state with a default action. Thus,
23712 : detecting the absence of a lookahead is sufficient to determine
23713 : that there is no unexpected or expected token to report. In that
23714 : case, just report a simple "syntax error".
23715 : - Don't assume there isn't a lookahead just because this state is a
23716 : consistent state with a default action. There might have been a
23717 : previous inconsistent state, consistent state with a non-default
23718 : action, or user semantic action that manipulated yychar.
23719 : - Of course, the expected token list depends on states to have
23720 : correct lookahead information, and it depends on the parser not
23721 : to perform extra reductions after fetching a lookahead from the
23722 : scanner and before detecting a syntax error. Thus, state merging
23723 : (from LALR or IELR) and default reductions corrupt the expected
23724 : token list. However, the list is correct for canonical LR with
23725 : one exception: it will still contain any token that will not be
23726 : accepted due to an error action in a later state.
23727 : */
23728 : if (yytoken != YYEMPTY)
23729 : {
23730 : int yyn = yypact[*yyssp];
23731 : yyarg[yycount++] = yytname[yytoken];
23732 : if (!yypact_value_is_default (yyn))
23733 : {
23734 : /* Start YYX at -YYN if negative to avoid negative indexes in
23735 : YYCHECK. In other words, skip the first -YYN actions for
23736 : this state because they are default actions. */
23737 : int yyxbegin = yyn < 0 ? -yyn : 0;
23738 : /* Stay within bounds of both yycheck and yytname. */
23739 : int yychecklim = YYLAST - yyn + 1;
23740 : int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
23741 : int yyx;
23742 :
23743 : for (yyx = yyxbegin; yyx < yyxend; ++yyx)
23744 : if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
23745 : && !yytable_value_is_error (yytable[yyx + yyn]))
23746 : {
23747 : if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
23748 : {
23749 : yycount = 1;
23750 : yysize = yysize0;
23751 : break;
23752 : }
23753 : yyarg[yycount++] = yytname[yyx];
23754 : {
23755 : YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
23756 : if (! (yysize <= yysize1
23757 : && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
23758 : return 2;
23759 : yysize = yysize1;
23760 : }
23761 : }
23762 : }
23763 : }
23764 :
23765 : switch (yycount)
23766 : {
23767 : # define YYCASE_(N, S) \
23768 : case N: \
23769 : yyformat = S; \
23770 : break
23771 : YYCASE_(0, YY_("syntax error"));
23772 : YYCASE_(1, YY_("syntax error, unexpected %s"));
23773 : YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
23774 : YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
23775 : YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
23776 : YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
23777 : # undef YYCASE_
23778 : }
23779 :
23780 : {
23781 : YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
23782 : if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
23783 : return 2;
23784 : yysize = yysize1;
23785 : }
23786 :
23787 : if (*yymsg_alloc < yysize)
23788 : {
23789 : *yymsg_alloc = 2 * yysize;
23790 : if (! (yysize <= *yymsg_alloc
23791 : && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
23792 : *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
23793 : return 1;
23794 : }
23795 :
23796 : /* Avoid sprintf, as that infringes on the user's name space.
23797 : Don't have undefined behavior even if the translation
23798 : produced a string with the wrong number of "%s"s. */
23799 : {
23800 : char *yyp = *yymsg;
23801 : int yyi = 0;
23802 : while ((*yyp = *yyformat) != '\0')
23803 : if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
23804 : {
23805 : yyp += yytnamerr (yyp, yyarg[yyi++]);
23806 : yyformat += 2;
23807 : }
23808 : else
23809 : {
23810 : yyp++;
23811 : yyformat++;
23812 : }
23813 : }
23814 : return 0;
23815 : }
23816 : #endif /* YYERROR_VERBOSE */
23817 :
23818 : /*-----------------------------------------------.
23819 : | Release the memory associated to this symbol. |
23820 : `-----------------------------------------------*/
23821 :
23822 : static void
23823 75358 : yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp, core_yyscan_t yyscanner)
23824 : {
23825 : YYUSE (yyvaluep);
23826 : YYUSE (yylocationp);
23827 : YYUSE (yyscanner);
23828 75358 : if (!yymsg)
23829 0 : yymsg = "Deleting";
23830 : YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
23831 :
23832 : YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
23833 : YYUSE (yytype);
23834 : YY_IGNORE_MAYBE_UNINITIALIZED_END
23835 75358 : }
23836 :
23837 :
23838 :
23839 :
23840 : /*----------.
23841 : | yyparse. |
23842 : `----------*/
23843 :
23844 : int
23845 37812 : yyparse (core_yyscan_t yyscanner)
23846 : {
23847 : /* The lookahead symbol. */
23848 : int yychar;
23849 :
23850 :
23851 : /* The semantic value of the lookahead symbol. */
23852 : /* Default value used for initialization, for pacifying older GCCs
23853 : or non-GCC compilers. */
23854 : YY_INITIAL_VALUE (static YYSTYPE yyval_default;)
23855 : YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
23856 :
23857 : /* Location data for the lookahead symbol. */
23858 : static YYLTYPE yyloc_default
23859 : # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
23860 : = { 1, 1, 1, 1 }
23861 : # endif
23862 : ;
23863 37812 : YYLTYPE yylloc = yyloc_default;
23864 :
23865 : /* Number of syntax errors so far. */
23866 : int yynerrs;
23867 :
23868 : int yystate;
23869 : /* Number of tokens to shift before error messages enabled. */
23870 : int yyerrstatus;
23871 :
23872 : /* The stacks and their tools:
23873 : 'yyss': related to states.
23874 : 'yyvs': related to semantic values.
23875 : 'yyls': related to locations.
23876 :
23877 : Refer to the stacks through separate pointers, to allow yyoverflow
23878 : to reallocate them elsewhere. */
23879 :
23880 : /* The state stack. */
23881 : yytype_int16 yyssa[YYINITDEPTH];
23882 : yytype_int16 *yyss;
23883 : yytype_int16 *yyssp;
23884 :
23885 : /* The semantic value stack. */
23886 : YYSTYPE yyvsa[YYINITDEPTH];
23887 : YYSTYPE *yyvs;
23888 : YYSTYPE *yyvsp;
23889 :
23890 : /* The location stack. */
23891 : YYLTYPE yylsa[YYINITDEPTH];
23892 : YYLTYPE *yyls;
23893 : YYLTYPE *yylsp;
23894 :
23895 : /* The locations where the error started and ended. */
23896 : YYLTYPE yyerror_range[3];
23897 :
23898 : YYSIZE_T yystacksize;
23899 :
23900 : int yyn;
23901 : int yyresult;
23902 : /* Lookahead token as an internal (translated) token number. */
23903 37812 : int yytoken = 0;
23904 : /* The variables used to return semantic value and location from the
23905 : action routines. */
23906 : YYSTYPE yyval;
23907 : YYLTYPE yyloc;
23908 :
23909 : #if YYERROR_VERBOSE
23910 : /* Buffer for error messages, and its allocated size. */
23911 : char yymsgbuf[128];
23912 : char *yymsg = yymsgbuf;
23913 : YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
23914 : #endif
23915 :
23916 : #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
23917 :
23918 : /* The number of symbols on the RHS of the reduced rule.
23919 : Keep to zero when no symbol should be popped. */
23920 37812 : int yylen = 0;
23921 :
23922 37812 : yyssp = yyss = yyssa;
23923 37812 : yyvsp = yyvs = yyvsa;
23924 37812 : yylsp = yyls = yylsa;
23925 37812 : yystacksize = YYINITDEPTH;
23926 :
23927 : YYDPRINTF ((stderr, "Starting parse\n"));
23928 :
23929 37812 : yystate = 0;
23930 37812 : yyerrstatus = 0;
23931 37812 : yynerrs = 0;
23932 37812 : yychar = YYEMPTY; /* Cause a token to be read. */
23933 37812 : yylsp[0] = yylloc;
23934 37812 : goto yysetstate;
23935 :
23936 : /*------------------------------------------------------------.
23937 : | yynewstate -- Push a new state, which is found in yystate. |
23938 : `------------------------------------------------------------*/
23939 : yynewstate:
23940 : /* In all cases, when you get here, the value and location stacks
23941 : have just been pushed. So pushing a state here evens the stacks. */
23942 2480604 : yyssp++;
23943 :
23944 : yysetstate:
23945 2518416 : *yyssp = yystate;
23946 :
23947 2518416 : if (yyss + yystacksize - 1 <= yyssp)
23948 : {
23949 : /* Get the current used size of the three stacks, in elements. */
23950 0 : YYSIZE_T yysize = yyssp - yyss + 1;
23951 :
23952 : #ifdef yyoverflow
23953 : {
23954 : /* Give user a chance to reallocate the stack. Use copies of
23955 : these so that the &'s don't force the real ones into
23956 : memory. */
23957 : YYSTYPE *yyvs1 = yyvs;
23958 : yytype_int16 *yyss1 = yyss;
23959 : YYLTYPE *yyls1 = yyls;
23960 :
23961 : /* Each stack pointer address is followed by the size of the
23962 : data in use in that stack, in bytes. This used to be a
23963 : conditional around just the two extra args, but that might
23964 : be undefined if yyoverflow is a macro. */
23965 : yyoverflow (YY_("memory exhausted"),
23966 : &yyss1, yysize * sizeof (*yyssp),
23967 : &yyvs1, yysize * sizeof (*yyvsp),
23968 : &yyls1, yysize * sizeof (*yylsp),
23969 : &yystacksize);
23970 :
23971 : yyls = yyls1;
23972 : yyss = yyss1;
23973 : yyvs = yyvs1;
23974 : }
23975 : #else /* no yyoverflow */
23976 : # ifndef YYSTACK_RELOCATE
23977 : goto yyexhaustedlab;
23978 : # else
23979 : /* Extend the stack our own way. */
23980 0 : if (YYMAXDEPTH <= yystacksize)
23981 0 : goto yyexhaustedlab;
23982 0 : yystacksize *= 2;
23983 0 : if (YYMAXDEPTH < yystacksize)
23984 0 : yystacksize = YYMAXDEPTH;
23985 :
23986 : {
23987 0 : yytype_int16 *yyss1 = yyss;
23988 0 : union yyalloc *yyptr =
23989 0 : (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
23990 0 : if (! yyptr)
23991 0 : goto yyexhaustedlab;
23992 0 : YYSTACK_RELOCATE (yyss_alloc, yyss);
23993 0 : YYSTACK_RELOCATE (yyvs_alloc, yyvs);
23994 0 : YYSTACK_RELOCATE (yyls_alloc, yyls);
23995 : # undef YYSTACK_RELOCATE
23996 0 : if (yyss1 != yyssa)
23997 0 : YYSTACK_FREE (yyss1);
23998 : }
23999 : # endif
24000 : #endif /* no yyoverflow */
24001 :
24002 0 : yyssp = yyss + yysize - 1;
24003 0 : yyvsp = yyvs + yysize - 1;
24004 0 : yylsp = yyls + yysize - 1;
24005 :
24006 : YYDPRINTF ((stderr, "Stack size increased to %lu\n",
24007 : (unsigned long int) yystacksize));
24008 :
24009 0 : if (yyss + yystacksize - 1 <= yyssp)
24010 0 : YYABORT;
24011 : }
24012 :
24013 : YYDPRINTF ((stderr, "Entering state %d\n", yystate));
24014 :
24015 2518416 : if (yystate == YYFINAL)
24016 37679 : YYACCEPT;
24017 :
24018 2480737 : goto yybackup;
24019 :
24020 : /*-----------.
24021 : | yybackup. |
24022 : `-----------*/
24023 : yybackup:
24024 :
24025 : /* Do appropriate processing given the current state. Read a
24026 : lookahead token if we need one and don't already have one. */
24027 :
24028 : /* First try to decide what to do without reference to lookahead token. */
24029 2480737 : yyn = yypact[yystate];
24030 2480737 : if (yypact_value_is_default (yyn))
24031 999918 : goto yydefault;
24032 :
24033 : /* Not known => get a lookahead token if don't already have one. */
24034 :
24035 : /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
24036 1480819 : if (yychar == YYEMPTY)
24037 : {
24038 : YYDPRINTF ((stderr, "Reading a token: "));
24039 649024 : yychar = yylex (&yylval, &yylloc, yyscanner);
24040 : }
24041 :
24042 1480810 : if (yychar <= YYEOF)
24043 : {
24044 213284 : yychar = yytoken = YYEOF;
24045 : YYDPRINTF ((stderr, "Now at end of input.\n"));
24046 : }
24047 : else
24048 : {
24049 1267526 : yytoken = YYTRANSLATE (yychar);
24050 : YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
24051 : }
24052 :
24053 : /* If the proper action on seeing token YYTOKEN is to reduce or to
24054 : detect an error, take that action. */
24055 1480810 : yyn += yytoken;
24056 1480810 : if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
24057 : goto yydefault;
24058 702676 : yyn = yytable[yyn];
24059 702676 : if (yyn <= 0)
24060 : {
24061 53763 : if (yytable_value_is_error (yyn))
24062 0 : goto yyerrlab;
24063 53763 : yyn = -yyn;
24064 53763 : goto yyreduce;
24065 : }
24066 :
24067 : /* Count tokens shifted since error; after three, turn off error
24068 : status. */
24069 648913 : if (yyerrstatus)
24070 0 : yyerrstatus--;
24071 :
24072 : /* Shift the lookahead token. */
24073 : YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
24074 :
24075 : /* Discard the shifted token. */
24076 648913 : yychar = YYEMPTY;
24077 :
24078 648913 : yystate = yyn;
24079 : YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
24080 648913 : *++yyvsp = yylval;
24081 : YY_IGNORE_MAYBE_UNINITIALIZED_END
24082 648913 : *++yylsp = yylloc;
24083 648913 : goto yynewstate;
24084 :
24085 :
24086 : /*-----------------------------------------------------------.
24087 : | yydefault -- do the default action for the current state. |
24088 : `-----------------------------------------------------------*/
24089 : yydefault:
24090 1778052 : yyn = yydefact[yystate];
24091 1778052 : if (yyn == 0)
24092 99 : goto yyerrlab;
24093 1777953 : goto yyreduce;
24094 :
24095 :
24096 : /*-----------------------------.
24097 : | yyreduce -- Do a reduction. |
24098 : `-----------------------------*/
24099 : yyreduce:
24100 : /* yyn is the number of a rule to reduce with. */
24101 1831716 : yylen = yyr2[yyn];
24102 :
24103 : /* If YYLEN is nonzero, implement the default value of the action:
24104 : '$$ = $1'.
24105 :
24106 : Otherwise, the following line sets YYVAL to garbage.
24107 : This behavior is undocumented and Bison
24108 : users should not rely upon it. Assigning to YYVAL
24109 : unconditionally makes the parser a bit smaller, and it avoids a
24110 : GCC warning that YYVAL may be used uninitialized. */
24111 1831716 : yyval = yyvsp[1-yylen];
24112 :
24113 : /* Default location. */
24114 1831716 : YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
24115 : YY_REDUCE_PRINT (yyn);
24116 1831716 : switch (yyn)
24117 : {
24118 : case 2:
24119 : #line 776 "gram.y" /* yacc.c:1646 */
24120 : {
24121 : pg_yyget_extra(yyscanner)->parsetree = (yyvsp[0].list);
24122 : }
24123 : #line 24124 "gram.c" /* yacc.c:1646 */
24124 37685 : break;
24125 :
24126 : case 3:
24127 : #line 792 "gram.y" /* yacc.c:1646 */
24128 : {
24129 : if ((yyvsp[-2].list) != NIL)
24130 : {
24131 : /* update length of previous stmt */
24132 : updateRawStmtEnd(llast_node(RawStmt, (yyvsp[-2].list)), (yylsp[-1]));
24133 : }
24134 : if ((yyvsp[0].node) != NULL)
24135 : (yyval.list) = lappend((yyvsp[-2].list), makeRawStmt((yyvsp[0].node), (yylsp[-1]) + 1));
24136 : else
24137 : (yyval.list) = (yyvsp[-2].list);
24138 : }
24139 : #line 24140 "gram.c" /* yacc.c:1646 */
24140 27655 : break;
24141 :
24142 : case 4:
24143 : #line 804 "gram.y" /* yacc.c:1646 */
24144 : {
24145 : if ((yyvsp[0].node) != NULL)
24146 : (yyval.list) = list_make1(makeRawStmt((yyvsp[0].node), 0));
24147 : else
24148 : (yyval.list) = NIL;
24149 : }
24150 : #line 24151 "gram.c" /* yacc.c:1646 */
24151 37685 : break;
24152 :
24153 : case 128:
24154 : #line 937 "gram.y" /* yacc.c:1646 */
24155 : { (yyval.node) = NULL; }
24156 : #line 24157 "gram.c" /* yacc.c:1646 */
24157 27146 : break;
24158 :
24159 : case 129:
24160 : #line 948 "gram.y" /* yacc.c:1646 */
24161 : {
24162 : CreateRoleStmt *n = makeNode(CreateRoleStmt);
24163 : n->stmt_type = ROLESTMT_ROLE;
24164 : n->role = (yyvsp[-2].str);
24165 : n->options = (yyvsp[0].list);
24166 : (yyval.node) = (Node *)n;
24167 : }
24168 : #line 24169 "gram.c" /* yacc.c:1646 */
24169 76 : break;
24170 :
24171 : case 130:
24172 : #line 958 "gram.y" /* yacc.c:1646 */
24173 : {}
24174 : #line 24175 "gram.c" /* yacc.c:1646 */
24175 104 : break;
24176 :
24177 : case 131:
24178 : #line 959 "gram.y" /* yacc.c:1646 */
24179 : {}
24180 : #line 24181 "gram.c" /* yacc.c:1646 */
24181 0 : break;
24182 :
24183 : case 132:
24184 : #line 960 "gram.y" /* yacc.c:1646 */
24185 : {}
24186 : #line 24187 "gram.c" /* yacc.c:1646 */
24187 315 : break;
24188 :
24189 : case 133:
24190 : #line 969 "gram.y" /* yacc.c:1646 */
24191 : { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
24192 : #line 24193 "gram.c" /* yacc.c:1646 */
24193 54 : break;
24194 :
24195 : case 134:
24196 : #line 970 "gram.y" /* yacc.c:1646 */
24197 : { (yyval.list) = NIL; }
24198 : #line 24199 "gram.c" /* yacc.c:1646 */
24199 118 : break;
24200 :
24201 : case 135:
24202 : #line 974 "gram.y" /* yacc.c:1646 */
24203 : { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
24204 : #line 24205 "gram.c" /* yacc.c:1646 */
24205 49 : break;
24206 :
24207 : case 136:
24208 : #line 975 "gram.y" /* yacc.c:1646 */
24209 : { (yyval.list) = NIL; }
24210 : #line 24211 "gram.c" /* yacc.c:1646 */
24211 49 : break;
24212 :
24213 : case 137:
24214 : #line 980 "gram.y" /* yacc.c:1646 */
24215 : {
24216 : (yyval.defelt) = makeDefElem("password",
24217 : (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
24218 : }
24219 : #line 24220 "gram.c" /* yacc.c:1646 */
24220 11 : break;
24221 :
24222 : case 138:
24223 : #line 985 "gram.y" /* yacc.c:1646 */
24224 : {
24225 : (yyval.defelt) = makeDefElem("password", NULL, (yylsp[-1]));
24226 : }
24227 : #line 24228 "gram.c" /* yacc.c:1646 */
24228 1 : break;
24229 :
24230 : case 139:
24231 : #line 989 "gram.y" /* yacc.c:1646 */
24232 : {
24233 : /*
24234 : * These days, passwords are always stored in encrypted
24235 : * form, so there is no difference between PASSWORD and
24236 : * ENCRYPTED PASSWORD.
24237 : */
24238 : (yyval.defelt) = makeDefElem("password",
24239 : (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
24240 : }
24241 : #line 24242 "gram.c" /* yacc.c:1646 */
24242 0 : break;
24243 :
24244 : case 140:
24245 : #line 999 "gram.y" /* yacc.c:1646 */
24246 : {
24247 : ereport(ERROR,
24248 : (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
24249 : errmsg("UNENCRYPTED PASSWORD is no longer supported"),
24250 : errhint("Remove UNENCRYPTED to store the password in encrypted form instead."),
24251 : parser_errposition((yylsp[-2]))));
24252 : }
24253 : #line 24254 "gram.c" /* yacc.c:1646 */
24254 : break;
24255 :
24256 : case 141:
24257 : #line 1007 "gram.y" /* yacc.c:1646 */
24258 : {
24259 : (yyval.defelt) = makeDefElem("inherit", (Node *)makeInteger(TRUE), (yylsp[0]));
24260 : }
24261 : #line 24262 "gram.c" /* yacc.c:1646 */
24262 1 : break;
24263 :
24264 : case 142:
24265 : #line 1011 "gram.y" /* yacc.c:1646 */
24266 : {
24267 : (yyval.defelt) = makeDefElem("connectionlimit", (Node *)makeInteger((yyvsp[0].ival)), (yylsp[-2]));
24268 : }
24269 : #line 24270 "gram.c" /* yacc.c:1646 */
24270 0 : break;
24271 :
24272 : case 143:
24273 : #line 1015 "gram.y" /* yacc.c:1646 */
24274 : {
24275 : (yyval.defelt) = makeDefElem("validUntil", (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
24276 : }
24277 : #line 24278 "gram.c" /* yacc.c:1646 */
24278 0 : break;
24279 :
24280 : case 144:
24281 : #line 1020 "gram.y" /* yacc.c:1646 */
24282 : {
24283 : (yyval.defelt) = makeDefElem("rolemembers", (Node *)(yyvsp[0].list), (yylsp[-1]));
24284 : }
24285 : #line 24286 "gram.c" /* yacc.c:1646 */
24286 1 : break;
24287 :
24288 : case 145:
24289 : #line 1024 "gram.y" /* yacc.c:1646 */
24290 : {
24291 : /*
24292 : * We handle identifiers that aren't parser keywords with
24293 : * the following special-case codes, to avoid bloating the
24294 : * size of the main parser.
24295 : */
24296 : if (strcmp((yyvsp[0].str), "superuser") == 0)
24297 : (yyval.defelt) = makeDefElem("superuser", (Node *)makeInteger(TRUE), (yylsp[0]));
24298 : else if (strcmp((yyvsp[0].str), "nosuperuser") == 0)
24299 : (yyval.defelt) = makeDefElem("superuser", (Node *)makeInteger(FALSE), (yylsp[0]));
24300 : else if (strcmp((yyvsp[0].str), "createrole") == 0)
24301 : (yyval.defelt) = makeDefElem("createrole", (Node *)makeInteger(TRUE), (yylsp[0]));
24302 : else if (strcmp((yyvsp[0].str), "nocreaterole") == 0)
24303 : (yyval.defelt) = makeDefElem("createrole", (Node *)makeInteger(FALSE), (yylsp[0]));
24304 : else if (strcmp((yyvsp[0].str), "replication") == 0)
24305 : (yyval.defelt) = makeDefElem("isreplication", (Node *)makeInteger(TRUE), (yylsp[0]));
24306 : else if (strcmp((yyvsp[0].str), "noreplication") == 0)
24307 : (yyval.defelt) = makeDefElem("isreplication", (Node *)makeInteger(FALSE), (yylsp[0]));
24308 : else if (strcmp((yyvsp[0].str), "createdb") == 0)
24309 : (yyval.defelt) = makeDefElem("createdb", (Node *)makeInteger(TRUE), (yylsp[0]));
24310 : else if (strcmp((yyvsp[0].str), "nocreatedb") == 0)
24311 : (yyval.defelt) = makeDefElem("createdb", (Node *)makeInteger(FALSE), (yylsp[0]));
24312 : else if (strcmp((yyvsp[0].str), "login") == 0)
24313 : (yyval.defelt) = makeDefElem("canlogin", (Node *)makeInteger(TRUE), (yylsp[0]));
24314 : else if (strcmp((yyvsp[0].str), "nologin") == 0)
24315 : (yyval.defelt) = makeDefElem("canlogin", (Node *)makeInteger(FALSE), (yylsp[0]));
24316 : else if (strcmp((yyvsp[0].str), "bypassrls") == 0)
24317 : (yyval.defelt) = makeDefElem("bypassrls", (Node *)makeInteger(TRUE), (yylsp[0]));
24318 : else if (strcmp((yyvsp[0].str), "nobypassrls") == 0)
24319 : (yyval.defelt) = makeDefElem("bypassrls", (Node *)makeInteger(FALSE), (yylsp[0]));
24320 : else if (strcmp((yyvsp[0].str), "noinherit") == 0)
24321 : {
24322 : /*
24323 : * Note that INHERIT is a keyword, so it's handled by main parser, but
24324 : * NOINHERIT is handled here.
24325 : */
24326 : (yyval.defelt) = makeDefElem("inherit", (Node *)makeInteger(FALSE), (yylsp[0]));
24327 : }
24328 : else
24329 : ereport(ERROR,
24330 : (errcode(ERRCODE_SYNTAX_ERROR),
24331 : errmsg("unrecognized role option \"%s\"", (yyvsp[0].str)),
24332 : parser_errposition((yylsp[0]))));
24333 : }
24334 : #line 24335 "gram.c" /* yacc.c:1646 */
24335 87 : break;
24336 :
24337 : case 146:
24338 : #line 1071 "gram.y" /* yacc.c:1646 */
24339 : { (yyval.defelt) = (yyvsp[0].defelt); }
24340 : #line 24341 "gram.c" /* yacc.c:1646 */
24341 52 : break;
24342 :
24343 : case 147:
24344 : #line 1074 "gram.y" /* yacc.c:1646 */
24345 : {
24346 : (yyval.defelt) = makeDefElem("sysid", (Node *)makeInteger((yyvsp[0].ival)), (yylsp[-1]));
24347 : }
24348 : #line 24349 "gram.c" /* yacc.c:1646 */
24349 0 : break;
24350 :
24351 : case 148:
24352 : #line 1078 "gram.y" /* yacc.c:1646 */
24353 : {
24354 : (yyval.defelt) = makeDefElem("adminmembers", (Node *)(yyvsp[0].list), (yylsp[-1]));
24355 : }
24356 : #line 24357 "gram.c" /* yacc.c:1646 */
24357 0 : break;
24358 :
24359 : case 149:
24360 : #line 1082 "gram.y" /* yacc.c:1646 */
24361 : {
24362 : (yyval.defelt) = makeDefElem("rolemembers", (Node *)(yyvsp[0].list), (yylsp[-1]));
24363 : }
24364 : #line 24365 "gram.c" /* yacc.c:1646 */
24365 0 : break;
24366 :
24367 : case 150:
24368 : #line 1086 "gram.y" /* yacc.c:1646 */
24369 : {
24370 : (yyval.defelt) = makeDefElem("addroleto", (Node *)(yyvsp[0].list), (yylsp[-2]));
24371 : }
24372 : #line 24373 "gram.c" /* yacc.c:1646 */
24373 2 : break;
24374 :
24375 : case 151:
24376 : #line 1090 "gram.y" /* yacc.c:1646 */
24377 : {
24378 : (yyval.defelt) = makeDefElem("addroleto", (Node *)(yyvsp[0].list), (yylsp[-2]));
24379 : }
24380 : #line 24381 "gram.c" /* yacc.c:1646 */
24381 0 : break;
24382 :
24383 : case 152:
24384 : #line 1104 "gram.y" /* yacc.c:1646 */
24385 : {
24386 : CreateRoleStmt *n = makeNode(CreateRoleStmt);
24387 : n->stmt_type = ROLESTMT_USER;
24388 : n->role = (yyvsp[-2].str);
24389 : n->options = (yyvsp[0].list);
24390 : (yyval.node) = (Node *)n;
24391 : }
24392 : #line 24393 "gram.c" /* yacc.c:1646 */
24393 38 : break;
24394 :
24395 : case 153:
24396 : #line 1122 "gram.y" /* yacc.c:1646 */
24397 : {
24398 : AlterRoleStmt *n = makeNode(AlterRoleStmt);
24399 : n->role = (yyvsp[-2].rolespec);
24400 : n->action = +1; /* add, if there are members */
24401 : n->options = (yyvsp[0].list);
24402 : (yyval.node) = (Node *)n;
24403 : }
24404 : #line 24405 "gram.c" /* yacc.c:1646 */
24405 31 : break;
24406 :
24407 : case 154:
24408 : #line 1130 "gram.y" /* yacc.c:1646 */
24409 : {
24410 : AlterRoleStmt *n = makeNode(AlterRoleStmt);
24411 : n->role = (yyvsp[-2].rolespec);
24412 : n->action = +1; /* add, if there are members */
24413 : n->options = (yyvsp[0].list);
24414 : (yyval.node) = (Node *)n;
24415 : }
24416 : #line 24417 "gram.c" /* yacc.c:1646 */
24417 18 : break;
24418 :
24419 : case 155:
24420 : #line 1140 "gram.y" /* yacc.c:1646 */
24421 : { (yyval.str) = NULL; }
24422 : #line 24423 "gram.c" /* yacc.c:1646 */
24423 30 : break;
24424 :
24425 : case 156:
24426 : #line 1141 "gram.y" /* yacc.c:1646 */
24427 : { (yyval.str) = (yyvsp[0].str); }
24428 : #line 24429 "gram.c" /* yacc.c:1646 */
24429 0 : break;
24430 :
24431 : case 157:
24432 : #line 1146 "gram.y" /* yacc.c:1646 */
24433 : {
24434 : AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
24435 : n->role = (yyvsp[-2].rolespec);
24436 : n->database = (yyvsp[-1].str);
24437 : n->setstmt = (yyvsp[0].vsetstmt);
24438 : (yyval.node) = (Node *)n;
24439 : }
24440 : #line 24441 "gram.c" /* yacc.c:1646 */
24441 12 : break;
24442 :
24443 : case 158:
24444 : #line 1154 "gram.y" /* yacc.c:1646 */
24445 : {
24446 : AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
24447 : n->role = NULL;
24448 : n->database = (yyvsp[-1].str);
24449 : n->setstmt = (yyvsp[0].vsetstmt);
24450 : (yyval.node) = (Node *)n;
24451 : }
24452 : #line 24453 "gram.c" /* yacc.c:1646 */
24453 2 : break;
24454 :
24455 : case 159:
24456 : #line 1162 "gram.y" /* yacc.c:1646 */
24457 : {
24458 : AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
24459 : n->role = (yyvsp[-2].rolespec);
24460 : n->database = (yyvsp[-1].str);
24461 : n->setstmt = (yyvsp[0].vsetstmt);
24462 : (yyval.node) = (Node *)n;
24463 : }
24464 : #line 24465 "gram.c" /* yacc.c:1646 */
24465 12 : break;
24466 :
24467 : case 160:
24468 : #line 1170 "gram.y" /* yacc.c:1646 */
24469 : {
24470 : AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
24471 : n->role = NULL;
24472 : n->database = (yyvsp[-1].str);
24473 : n->setstmt = (yyvsp[0].vsetstmt);
24474 : (yyval.node) = (Node *)n;
24475 : }
24476 : #line 24477 "gram.c" /* yacc.c:1646 */
24477 2 : break;
24478 :
24479 : case 161:
24480 : #line 1191 "gram.y" /* yacc.c:1646 */
24481 : {
24482 : DropRoleStmt *n = makeNode(DropRoleStmt);
24483 : n->missing_ok = FALSE;
24484 : n->roles = (yyvsp[0].list);
24485 : (yyval.node) = (Node *)n;
24486 : }
24487 : #line 24488 "gram.c" /* yacc.c:1646 */
24488 65 : break;
24489 :
24490 : case 162:
24491 : #line 1198 "gram.y" /* yacc.c:1646 */
24492 : {
24493 : DropRoleStmt *n = makeNode(DropRoleStmt);
24494 : n->missing_ok = TRUE;
24495 : n->roles = (yyvsp[0].list);
24496 : (yyval.node) = (Node *)n;
24497 : }
24498 : #line 24499 "gram.c" /* yacc.c:1646 */
24499 18 : break;
24500 :
24501 : case 163:
24502 : #line 1205 "gram.y" /* yacc.c:1646 */
24503 : {
24504 : DropRoleStmt *n = makeNode(DropRoleStmt);
24505 : n->missing_ok = FALSE;
24506 : n->roles = (yyvsp[0].list);
24507 : (yyval.node) = (Node *)n;
24508 : }
24509 : #line 24510 "gram.c" /* yacc.c:1646 */
24510 45 : break;
24511 :
24512 : case 164:
24513 : #line 1212 "gram.y" /* yacc.c:1646 */
24514 : {
24515 : DropRoleStmt *n = makeNode(DropRoleStmt);
24516 : n->roles = (yyvsp[0].list);
24517 : n->missing_ok = TRUE;
24518 : (yyval.node) = (Node *)n;
24519 : }
24520 : #line 24521 "gram.c" /* yacc.c:1646 */
24521 6 : break;
24522 :
24523 : case 165:
24524 : #line 1219 "gram.y" /* yacc.c:1646 */
24525 : {
24526 : DropRoleStmt *n = makeNode(DropRoleStmt);
24527 : n->missing_ok = FALSE;
24528 : n->roles = (yyvsp[0].list);
24529 : (yyval.node) = (Node *)n;
24530 : }
24531 : #line 24532 "gram.c" /* yacc.c:1646 */
24532 6 : break;
24533 :
24534 : case 166:
24535 : #line 1226 "gram.y" /* yacc.c:1646 */
24536 : {
24537 : DropRoleStmt *n = makeNode(DropRoleStmt);
24538 : n->missing_ok = TRUE;
24539 : n->roles = (yyvsp[0].list);
24540 : (yyval.node) = (Node *)n;
24541 : }
24542 : #line 24543 "gram.c" /* yacc.c:1646 */
24543 1 : break;
24544 :
24545 : case 167:
24546 : #line 1243 "gram.y" /* yacc.c:1646 */
24547 : {
24548 : CreateRoleStmt *n = makeNode(CreateRoleStmt);
24549 : n->stmt_type = ROLESTMT_GROUP;
24550 : n->role = (yyvsp[-2].str);
24551 : n->options = (yyvsp[0].list);
24552 : (yyval.node) = (Node *)n;
24553 : }
24554 : #line 24555 "gram.c" /* yacc.c:1646 */
24555 4 : break;
24556 :
24557 : case 168:
24558 : #line 1261 "gram.y" /* yacc.c:1646 */
24559 : {
24560 : AlterRoleStmt *n = makeNode(AlterRoleStmt);
24561 : n->role = (yyvsp[-3].rolespec);
24562 : n->action = (yyvsp[-2].ival);
24563 : n->options = list_make1(makeDefElem("rolemembers",
24564 : (Node *)(yyvsp[0].list), (yylsp[0])));
24565 : (yyval.node) = (Node *)n;
24566 : }
24567 : #line 24568 "gram.c" /* yacc.c:1646 */
24568 3 : break;
24569 :
24570 : case 169:
24571 : #line 1271 "gram.y" /* yacc.c:1646 */
24572 : { (yyval.ival) = +1; }
24573 : #line 24574 "gram.c" /* yacc.c:1646 */
24574 2 : break;
24575 :
24576 : case 170:
24577 : #line 1272 "gram.y" /* yacc.c:1646 */
24578 : { (yyval.ival) = -1; }
24579 : #line 24580 "gram.c" /* yacc.c:1646 */
24580 1 : break;
24581 :
24582 : case 171:
24583 : #line 1284 "gram.y" /* yacc.c:1646 */
24584 : {
24585 : CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
24586 : /* One can omit the schema name or the authorization id. */
24587 : n->schemaname = (yyvsp[-3].str);
24588 : n->authrole = (yyvsp[-1].rolespec);
24589 : n->schemaElts = (yyvsp[0].list);
24590 : n->if_not_exists = false;
24591 : (yyval.node) = (Node *)n;
24592 : }
24593 : #line 24594 "gram.c" /* yacc.c:1646 */
24594 12 : break;
24595 :
24596 : case 172:
24597 : #line 1294 "gram.y" /* yacc.c:1646 */
24598 : {
24599 : CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
24600 : /* ...but not both */
24601 : n->schemaname = (yyvsp[-1].str);
24602 : n->authrole = NULL;
24603 : n->schemaElts = (yyvsp[0].list);
24604 : n->if_not_exists = false;
24605 : (yyval.node) = (Node *)n;
24606 : }
24607 : #line 24608 "gram.c" /* yacc.c:1646 */
24608 41 : break;
24609 :
24610 : case 173:
24611 : #line 1304 "gram.y" /* yacc.c:1646 */
24612 : {
24613 : CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
24614 : /* schema name can be omitted here, too */
24615 : n->schemaname = (yyvsp[-3].str);
24616 : n->authrole = (yyvsp[-1].rolespec);
24617 : if ((yyvsp[0].list) != NIL)
24618 : ereport(ERROR,
24619 : (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
24620 : errmsg("CREATE SCHEMA IF NOT EXISTS cannot include schema elements"),
24621 : parser_errposition((yylsp[0]))));
24622 : n->schemaElts = (yyvsp[0].list);
24623 : n->if_not_exists = true;
24624 : (yyval.node) = (Node *)n;
24625 : }
24626 : #line 24627 "gram.c" /* yacc.c:1646 */
24627 8 : break;
24628 :
24629 : case 174:
24630 : #line 1319 "gram.y" /* yacc.c:1646 */
24631 : {
24632 : CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
24633 : /* ...but not here */
24634 : n->schemaname = (yyvsp[-1].str);
24635 : n->authrole = NULL;
24636 : if ((yyvsp[0].list) != NIL)
24637 : ereport(ERROR,
24638 : (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
24639 : errmsg("CREATE SCHEMA IF NOT EXISTS cannot include schema elements"),
24640 : parser_errposition((yylsp[0]))));
24641 : n->schemaElts = (yyvsp[0].list);
24642 : n->if_not_exists = true;
24643 : (yyval.node) = (Node *)n;
24644 : }
24645 : #line 24646 "gram.c" /* yacc.c:1646 */
24646 1 : break;
24647 :
24648 : case 175:
24649 : #line 1336 "gram.y" /* yacc.c:1646 */
24650 : { (yyval.str) = (yyvsp[0].str); }
24651 : #line 24652 "gram.c" /* yacc.c:1646 */
24652 26 : break;
24653 :
24654 : case 176:
24655 : #line 1337 "gram.y" /* yacc.c:1646 */
24656 : { (yyval.str) = NULL; }
24657 : #line 24658 "gram.c" /* yacc.c:1646 */
24658 0 : break;
24659 :
24660 : case 177:
24661 : #line 1342 "gram.y" /* yacc.c:1646 */
24662 : {
24663 : if ((yyloc) < 0) /* see comments for YYLLOC_DEFAULT */
24664 : (yyloc) = (yylsp[0]);
24665 : (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node));
24666 : }
24667 : #line 24668 "gram.c" /* yacc.c:1646 */
24668 12 : break;
24669 :
24670 : case 178:
24671 : #line 1348 "gram.y" /* yacc.c:1646 */
24672 : { (yyval.list) = NIL; }
24673 : #line 24674 "gram.c" /* yacc.c:1646 */
24674 63 : break;
24675 :
24676 : case 185:
24677 : #line 1376 "gram.y" /* yacc.c:1646 */
24678 : {
24679 : VariableSetStmt *n = (yyvsp[0].vsetstmt);
24680 : n->is_local = false;
24681 : (yyval.node) = (Node *) n;
24682 : }
24683 : #line 24684 "gram.c" /* yacc.c:1646 */
24684 722 : break;
24685 :
24686 : case 186:
24687 : #line 1382 "gram.y" /* yacc.c:1646 */
24688 : {
24689 : VariableSetStmt *n = (yyvsp[0].vsetstmt);
24690 : n->is_local = true;
24691 : (yyval.node) = (Node *) n;
24692 : }
24693 : #line 24694 "gram.c" /* yacc.c:1646 */
24694 33 : break;
24695 :
24696 : case 187:
24697 : #line 1388 "gram.y" /* yacc.c:1646 */
24698 : {
24699 : VariableSetStmt *n = (yyvsp[0].vsetstmt);
24700 : n->is_local = false;
24701 : (yyval.node) = (Node *) n;
24702 : }
24703 : #line 24704 "gram.c" /* yacc.c:1646 */
24704 11 : break;
24705 :
24706 : case 188:
24707 : #line 1397 "gram.y" /* yacc.c:1646 */
24708 : {
24709 : VariableSetStmt *n = makeNode(VariableSetStmt);
24710 : n->kind = VAR_SET_MULTI;
24711 : n->name = "TRANSACTION";
24712 : n->args = (yyvsp[0].list);
24713 : (yyval.vsetstmt) = n;
24714 : }
24715 : #line 24716 "gram.c" /* yacc.c:1646 */
24716 18 : break;
24717 :
24718 : case 189:
24719 : #line 1405 "gram.y" /* yacc.c:1646 */
24720 : {
24721 : VariableSetStmt *n = makeNode(VariableSetStmt);
24722 : n->kind = VAR_SET_MULTI;
24723 : n->name = "SESSION CHARACTERISTICS";
24724 : n->args = (yyvsp[0].list);
24725 : (yyval.vsetstmt) = n;
24726 : }
24727 : #line 24728 "gram.c" /* yacc.c:1646 */
24728 2 : break;
24729 :
24730 : case 191:
24731 : #line 1417 "gram.y" /* yacc.c:1646 */
24732 : {
24733 : VariableSetStmt *n = makeNode(VariableSetStmt);
24734 : n->kind = VAR_SET_VALUE;
24735 : n->name = (yyvsp[-2].str);
24736 : n->args = (yyvsp[0].list);
24737 : (yyval.vsetstmt) = n;
24738 : }
24739 : #line 24740 "gram.c" /* yacc.c:1646 */
24740 200 : break;
24741 :
24742 : case 192:
24743 : #line 1425 "gram.y" /* yacc.c:1646 */
24744 : {
24745 : VariableSetStmt *n = makeNode(VariableSetStmt);
24746 : n->kind = VAR_SET_VALUE;
24747 : n->name = (yyvsp[-2].str);
24748 : n->args = (yyvsp[0].list);
24749 : (yyval.vsetstmt) = n;
24750 : }
24751 : #line 24752 "gram.c" /* yacc.c:1646 */
24752 252 : break;
24753 :
24754 : case 193:
24755 : #line 1433 "gram.y" /* yacc.c:1646 */
24756 : {
24757 : VariableSetStmt *n = makeNode(VariableSetStmt);
24758 : n->kind = VAR_SET_DEFAULT;
24759 : n->name = (yyvsp[-2].str);
24760 : (yyval.vsetstmt) = n;
24761 : }
24762 : #line 24763 "gram.c" /* yacc.c:1646 */
24763 4 : break;
24764 :
24765 : case 194:
24766 : #line 1440 "gram.y" /* yacc.c:1646 */
24767 : {
24768 : VariableSetStmt *n = makeNode(VariableSetStmt);
24769 : n->kind = VAR_SET_DEFAULT;
24770 : n->name = (yyvsp[-2].str);
24771 : (yyval.vsetstmt) = n;
24772 : }
24773 : #line 24774 "gram.c" /* yacc.c:1646 */
24774 0 : break;
24775 :
24776 : case 195:
24777 : #line 1448 "gram.y" /* yacc.c:1646 */
24778 : {(yyval.vsetstmt) = (yyvsp[0].vsetstmt);}
24779 : #line 24780 "gram.c" /* yacc.c:1646 */
24780 456 : break;
24781 :
24782 : case 196:
24783 : #line 1450 "gram.y" /* yacc.c:1646 */
24784 : {
24785 : VariableSetStmt *n = makeNode(VariableSetStmt);
24786 : n->kind = VAR_SET_CURRENT;
24787 : n->name = (yyvsp[-2].str);
24788 : (yyval.vsetstmt) = n;
24789 : }
24790 : #line 24791 "gram.c" /* yacc.c:1646 */
24791 0 : break;
24792 :
24793 : case 197:
24794 : #line 1458 "gram.y" /* yacc.c:1646 */
24795 : {
24796 : VariableSetStmt *n = makeNode(VariableSetStmt);
24797 : n->kind = VAR_SET_VALUE;
24798 : n->name = "timezone";
24799 : if ((yyvsp[0].node) != NULL)
24800 : n->args = list_make1((yyvsp[0].node));
24801 : else
24802 : n->kind = VAR_SET_DEFAULT;
24803 : (yyval.vsetstmt) = n;
24804 : }
24805 : #line 24806 "gram.c" /* yacc.c:1646 */
24806 7 : break;
24807 :
24808 : case 198:
24809 : #line 1469 "gram.y" /* yacc.c:1646 */
24810 : {
24811 : ereport(ERROR,
24812 : (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
24813 : errmsg("current database cannot be changed"),
24814 : parser_errposition((yylsp[0]))));
24815 : (yyval.vsetstmt) = NULL; /*not reached*/
24816 : }
24817 : #line 24818 "gram.c" /* yacc.c:1646 */
24818 : break;
24819 :
24820 : case 199:
24821 : #line 1477 "gram.y" /* yacc.c:1646 */
24822 : {
24823 : VariableSetStmt *n = makeNode(VariableSetStmt);
24824 : n->kind = VAR_SET_VALUE;
24825 : n->name = "search_path";
24826 : n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
24827 : (yyval.vsetstmt) = n;
24828 : }
24829 : #line 24830 "gram.c" /* yacc.c:1646 */
24830 0 : break;
24831 :
24832 : case 200:
24833 : #line 1485 "gram.y" /* yacc.c:1646 */
24834 : {
24835 : VariableSetStmt *n = makeNode(VariableSetStmt);
24836 : n->kind = VAR_SET_VALUE;
24837 : n->name = "client_encoding";
24838 : if ((yyvsp[0].str) != NULL)
24839 : n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
24840 : else
24841 : n->kind = VAR_SET_DEFAULT;
24842 : (yyval.vsetstmt) = n;
24843 : }
24844 : #line 24845 "gram.c" /* yacc.c:1646 */
24845 0 : break;
24846 :
24847 : case 201:
24848 : #line 1496 "gram.y" /* yacc.c:1646 */
24849 : {
24850 : VariableSetStmt *n = makeNode(VariableSetStmt);
24851 : n->kind = VAR_SET_VALUE;
24852 : n->name = "role";
24853 : n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
24854 : (yyval.vsetstmt) = n;
24855 : }
24856 : #line 24857 "gram.c" /* yacc.c:1646 */
24857 75 : break;
24858 :
24859 : case 202:
24860 : #line 1504 "gram.y" /* yacc.c:1646 */
24861 : {
24862 : VariableSetStmt *n = makeNode(VariableSetStmt);
24863 : n->kind = VAR_SET_VALUE;
24864 : n->name = "session_authorization";
24865 : n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
24866 : (yyval.vsetstmt) = n;
24867 : }
24868 : #line 24869 "gram.c" /* yacc.c:1646 */
24869 237 : break;
24870 :
24871 : case 203:
24872 : #line 1512 "gram.y" /* yacc.c:1646 */
24873 : {
24874 : VariableSetStmt *n = makeNode(VariableSetStmt);
24875 : n->kind = VAR_SET_DEFAULT;
24876 : n->name = "session_authorization";
24877 : (yyval.vsetstmt) = n;
24878 : }
24879 : #line 24880 "gram.c" /* yacc.c:1646 */
24880 0 : break;
24881 :
24882 : case 204:
24883 : #line 1519 "gram.y" /* yacc.c:1646 */
24884 : {
24885 : VariableSetStmt *n = makeNode(VariableSetStmt);
24886 : n->kind = VAR_SET_VALUE;
24887 : n->name = "xmloption";
24888 : n->args = list_make1(makeStringConst((yyvsp[0].ival) == XMLOPTION_DOCUMENT ? "DOCUMENT" : "CONTENT", (yylsp[0])));
24889 : (yyval.vsetstmt) = n;
24890 : }
24891 : #line 24892 "gram.c" /* yacc.c:1646 */
24892 2 : break;
24893 :
24894 : case 205:
24895 : #line 1528 "gram.y" /* yacc.c:1646 */
24896 : {
24897 : VariableSetStmt *n = makeNode(VariableSetStmt);
24898 : n->kind = VAR_SET_MULTI;
24899 : n->name = "TRANSACTION SNAPSHOT";
24900 : n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
24901 : (yyval.vsetstmt) = n;
24902 : }
24903 : #line 24904 "gram.c" /* yacc.c:1646 */
24904 0 : break;
24905 :
24906 : case 206:
24907 : #line 1537 "gram.y" /* yacc.c:1646 */
24908 : { (yyval.str) = (yyvsp[0].str); }
24909 : #line 24910 "gram.c" /* yacc.c:1646 */
24910 695 : break;
24911 :
24912 : case 207:
24913 : #line 1539 "gram.y" /* yacc.c:1646 */
24914 : { (yyval.str) = psprintf("%s.%s", (yyvsp[-2].str), (yyvsp[0].str)); }
24915 : #line 24916 "gram.c" /* yacc.c:1646 */
24916 15 : break;
24917 :
24918 : case 208:
24919 : #line 1542 "gram.y" /* yacc.c:1646 */
24920 : { (yyval.list) = list_make1((yyvsp[0].node)); }
24921 : #line 24922 "gram.c" /* yacc.c:1646 */
24922 452 : break;
24923 :
24924 : case 209:
24925 : #line 1543 "gram.y" /* yacc.c:1646 */
24926 : { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
24927 : #line 24928 "gram.c" /* yacc.c:1646 */
24928 11 : break;
24929 :
24930 : case 210:
24931 : #line 1547 "gram.y" /* yacc.c:1646 */
24932 : { (yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0])); }
24933 : #line 24934 "gram.c" /* yacc.c:1646 */
24934 406 : break;
24935 :
24936 : case 211:
24937 : #line 1549 "gram.y" /* yacc.c:1646 */
24938 : { (yyval.node) = makeAConst((yyvsp[0].value), (yylsp[0])); }
24939 : #line 24940 "gram.c" /* yacc.c:1646 */
24940 57 : break;
24941 :
24942 : case 212:
24943 : #line 1552 "gram.y" /* yacc.c:1646 */
24944 : { (yyval.str) = "read uncommitted"; }
24945 : #line 24946 "gram.c" /* yacc.c:1646 */
24946 0 : break;
24947 :
24948 : case 213:
24949 : #line 1553 "gram.y" /* yacc.c:1646 */
24950 : { (yyval.str) = "read committed"; }
24951 : #line 24952 "gram.c" /* yacc.c:1646 */
24952 2 : break;
24953 :
24954 : case 214:
24955 : #line 1554 "gram.y" /* yacc.c:1646 */
24956 : { (yyval.str) = "repeatable read"; }
24957 : #line 24958 "gram.c" /* yacc.c:1646 */
24958 3 : break;
24959 :
24960 : case 215:
24961 : #line 1555 "gram.y" /* yacc.c:1646 */
24962 : { (yyval.str) = "serializable"; }
24963 : #line 24964 "gram.c" /* yacc.c:1646 */
24964 13 : break;
24965 :
24966 : case 216:
24967 : #line 1559 "gram.y" /* yacc.c:1646 */
24968 : { (yyval.str) = "true"; }
24969 : #line 24970 "gram.c" /* yacc.c:1646 */
24970 10 : break;
24971 :
24972 : case 217:
24973 : #line 1560 "gram.y" /* yacc.c:1646 */
24974 : { (yyval.str) = "false"; }
24975 : #line 24976 "gram.c" /* yacc.c:1646 */
24976 19 : break;
24977 :
24978 : case 218:
24979 : #line 1561 "gram.y" /* yacc.c:1646 */
24980 : { (yyval.str) = "on"; }
24981 : #line 24982 "gram.c" /* yacc.c:1646 */
24982 75 : break;
24983 :
24984 : case 219:
24985 : #line 1567 "gram.y" /* yacc.c:1646 */
24986 : { (yyval.str) = (yyvsp[0].str); }
24987 : #line 24988 "gram.c" /* yacc.c:1646 */
24988 983 : break;
24989 :
24990 : case 220:
24991 : #line 1580 "gram.y" /* yacc.c:1646 */
24992 : {
24993 : (yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0]));
24994 : }
24995 : #line 24996 "gram.c" /* yacc.c:1646 */
24996 3 : break;
24997 :
24998 : case 221:
24999 : #line 1584 "gram.y" /* yacc.c:1646 */
25000 : {
25001 : (yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0]));
25002 : }
25003 : #line 25004 "gram.c" /* yacc.c:1646 */
25004 0 : break;
25005 :
25006 : case 222:
25007 : #line 1588 "gram.y" /* yacc.c:1646 */
25008 : {
25009 : TypeName *t = (yyvsp[-2].typnam);
25010 : if ((yyvsp[0].list) != NIL)
25011 : {
25012 : A_Const *n = (A_Const *) linitial((yyvsp[0].list));
25013 : if ((n->val.val.ival & ~(INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE))) != 0)
25014 : ereport(ERROR,
25015 : (errcode(ERRCODE_SYNTAX_ERROR),
25016 : errmsg("time zone interval must be HOUR or HOUR TO MINUTE"),
25017 : parser_errposition((yylsp[0]))));
25018 : }
25019 : t->typmods = (yyvsp[0].list);
25020 : (yyval.node) = makeStringConstCast((yyvsp[-1].str), (yylsp[-1]), t);
25021 : }
25022 : #line 25023 "gram.c" /* yacc.c:1646 */
25023 0 : break;
25024 :
25025 : case 223:
25026 : #line 1603 "gram.y" /* yacc.c:1646 */
25027 : {
25028 : TypeName *t = (yyvsp[-4].typnam);
25029 : t->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1),
25030 : makeIntConst((yyvsp[-2].ival), (yylsp[-2])));
25031 : (yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t);
25032 : }
25033 : #line 25034 "gram.c" /* yacc.c:1646 */
25034 0 : break;
25035 :
25036 : case 224:
25037 : #line 1609 "gram.y" /* yacc.c:1646 */
25038 : { (yyval.node) = makeAConst((yyvsp[0].value), (yylsp[0])); }
25039 : #line 25040 "gram.c" /* yacc.c:1646 */
25040 4 : break;
25041 :
25042 : case 225:
25043 : #line 1610 "gram.y" /* yacc.c:1646 */
25044 : { (yyval.node) = NULL; }
25045 : #line 25046 "gram.c" /* yacc.c:1646 */
25046 0 : break;
25047 :
25048 : case 226:
25049 : #line 1611 "gram.y" /* yacc.c:1646 */
25050 : { (yyval.node) = NULL; }
25051 : #line 25052 "gram.c" /* yacc.c:1646 */
25052 0 : break;
25053 :
25054 : case 227:
25055 : #line 1615 "gram.y" /* yacc.c:1646 */
25056 : { (yyval.str) = (yyvsp[0].str); }
25057 : #line 25058 "gram.c" /* yacc.c:1646 */
25058 0 : break;
25059 :
25060 : case 228:
25061 : #line 1616 "gram.y" /* yacc.c:1646 */
25062 : { (yyval.str) = NULL; }
25063 : #line 25064 "gram.c" /* yacc.c:1646 */
25064 0 : break;
25065 :
25066 : case 229:
25067 : #line 1617 "gram.y" /* yacc.c:1646 */
25068 : { (yyval.str) = NULL; }
25069 : #line 25070 "gram.c" /* yacc.c:1646 */
25070 0 : break;
25071 :
25072 : case 230:
25073 : #line 1621 "gram.y" /* yacc.c:1646 */
25074 : { (yyval.str) = (yyvsp[0].str); }
25075 : #line 25076 "gram.c" /* yacc.c:1646 */
25076 1926 : break;
25077 :
25078 : case 231:
25079 : #line 1622 "gram.y" /* yacc.c:1646 */
25080 : { (yyval.str) = (yyvsp[0].str); }
25081 : #line 25082 "gram.c" /* yacc.c:1646 */
25082 147 : break;
25083 :
25084 : case 232:
25085 : #line 1626 "gram.y" /* yacc.c:1646 */
25086 : { (yyval.node) = (Node *) (yyvsp[0].vsetstmt); }
25087 : #line 25088 "gram.c" /* yacc.c:1646 */
25088 234 : break;
25089 :
25090 : case 233:
25091 : #line 1630 "gram.y" /* yacc.c:1646 */
25092 : { (yyval.vsetstmt) = (yyvsp[0].vsetstmt); }
25093 : #line 25094 "gram.c" /* yacc.c:1646 */
25094 178 : break;
25095 :
25096 : case 234:
25097 : #line 1632 "gram.y" /* yacc.c:1646 */
25098 : {
25099 : VariableSetStmt *n = makeNode(VariableSetStmt);
25100 : n->kind = VAR_RESET;
25101 : n->name = "timezone";
25102 : (yyval.vsetstmt) = n;
25103 : }
25104 : #line 25105 "gram.c" /* yacc.c:1646 */
25105 2 : break;
25106 :
25107 : case 235:
25108 : #line 1639 "gram.y" /* yacc.c:1646 */
25109 : {
25110 : VariableSetStmt *n = makeNode(VariableSetStmt);
25111 : n->kind = VAR_RESET;
25112 : n->name = "transaction_isolation";
25113 : (yyval.vsetstmt) = n;
25114 : }
25115 : #line 25116 "gram.c" /* yacc.c:1646 */
25116 0 : break;
25117 :
25118 : case 236:
25119 : #line 1646 "gram.y" /* yacc.c:1646 */
25120 : {
25121 : VariableSetStmt *n = makeNode(VariableSetStmt);
25122 : n->kind = VAR_RESET;
25123 : n->name = "session_authorization";
25124 : (yyval.vsetstmt) = n;
25125 : }
25126 : #line 25127 "gram.c" /* yacc.c:1646 */
25127 54 : break;
25128 :
25129 : case 237:
25130 : #line 1656 "gram.y" /* yacc.c:1646 */
25131 : {
25132 : VariableSetStmt *n = makeNode(VariableSetStmt);
25133 : n->kind = VAR_RESET;
25134 : n->name = (yyvsp[0].str);
25135 : (yyval.vsetstmt) = n;
25136 : }
25137 : #line 25138 "gram.c" /* yacc.c:1646 */
25138 176 : break;
25139 :
25140 : case 238:
25141 : #line 1663 "gram.y" /* yacc.c:1646 */
25142 : {
25143 : VariableSetStmt *n = makeNode(VariableSetStmt);
25144 : n->kind = VAR_RESET_ALL;
25145 : (yyval.vsetstmt) = n;
25146 : }
25147 : #line 25148 "gram.c" /* yacc.c:1646 */
25148 2 : break;
25149 :
25150 : case 239:
25151 : #line 1672 "gram.y" /* yacc.c:1646 */
25152 : { (yyval.vsetstmt) = (yyvsp[0].vsetstmt); }
25153 : #line 25154 "gram.c" /* yacc.c:1646 */
25154 24 : break;
25155 :
25156 : case 240:
25157 : #line 1673 "gram.y" /* yacc.c:1646 */
25158 : { (yyval.vsetstmt) = (VariableSetStmt *) (yyvsp[0].node); }
25159 : #line 25160 "gram.c" /* yacc.c:1646 */
25160 10 : break;
25161 :
25162 : case 241:
25163 : #line 1678 "gram.y" /* yacc.c:1646 */
25164 : { (yyval.vsetstmt) = (yyvsp[0].vsetstmt); }
25165 : #line 25166 "gram.c" /* yacc.c:1646 */
25166 7 : break;
25167 :
25168 : case 242:
25169 : #line 1679 "gram.y" /* yacc.c:1646 */
25170 : { (yyval.vsetstmt) = (VariableSetStmt *) (yyvsp[0].node); }
25171 : #line 25172 "gram.c" /* yacc.c:1646 */
25172 2 : break;
25173 :
25174 : case 243:
25175 : #line 1685 "gram.y" /* yacc.c:1646 */
25176 : {
25177 : VariableShowStmt *n = makeNode(VariableShowStmt);
25178 : n->name = (yyvsp[0].str);
25179 : (yyval.node) = (Node *) n;
25180 : }
25181 : #line 25182 "gram.c" /* yacc.c:1646 */
25182 63 : break;
25183 :
25184 : case 244:
25185 : #line 1691 "gram.y" /* yacc.c:1646 */
25186 : {
25187 : VariableShowStmt *n = makeNode(VariableShowStmt);
25188 : n->name = "timezone";
25189 : (yyval.node) = (Node *) n;
25190 : }
25191 : #line 25192 "gram.c" /* yacc.c:1646 */
25192 1 : break;
25193 :
25194 : case 245:
25195 : #line 1697 "gram.y" /* yacc.c:1646 */
25196 : {
25197 : VariableShowStmt *n = makeNode(VariableShowStmt);
25198 : n->name = "transaction_isolation";
25199 : (yyval.node) = (Node *) n;
25200 : }
25201 : #line 25202 "gram.c" /* yacc.c:1646 */
25202 0 : break;
25203 :
25204 : case 246:
25205 : #line 1703 "gram.y" /* yacc.c:1646 */
25206 : {
25207 : VariableShowStmt *n = makeNode(VariableShowStmt);
25208 : n->name = "session_authorization";
25209 : (yyval.node) = (Node *) n;
25210 : }
25211 : #line 25212 "gram.c" /* yacc.c:1646 */
25212 0 : break;
25213 :
25214 : case 247:
25215 : #line 1709 "gram.y" /* yacc.c:1646 */
25216 : {
25217 : VariableShowStmt *n = makeNode(VariableShowStmt);
25218 : n->name = "all";
25219 : (yyval.node) = (Node *) n;
25220 : }
25221 : #line 25222 "gram.c" /* yacc.c:1646 */
25222 0 : break;
25223 :
25224 : case 248:
25225 : #line 1719 "gram.y" /* yacc.c:1646 */
25226 : {
25227 : ConstraintsSetStmt *n = makeNode(ConstraintsSetStmt);
25228 : n->constraints = (yyvsp[-1].list);
25229 : n->deferred = (yyvsp[0].boolean);
25230 : (yyval.node) = (Node *) n;
25231 : }
25232 : #line 25233 "gram.c" /* yacc.c:1646 */
25233 12 : break;
25234 :
25235 : case 249:
25236 : #line 1728 "gram.y" /* yacc.c:1646 */
25237 : { (yyval.list) = NIL; }
25238 : #line 25239 "gram.c" /* yacc.c:1646 */
25239 11 : break;
25240 :
25241 : case 250:
25242 : #line 1729 "gram.y" /* yacc.c:1646 */
25243 : { (yyval.list) = (yyvsp[0].list); }
25244 : #line 25245 "gram.c" /* yacc.c:1646 */
25245 1 : break;
25246 :
25247 : case 251:
25248 : #line 1733 "gram.y" /* yacc.c:1646 */
25249 : { (yyval.boolean) = TRUE; }
25250 : #line 25251 "gram.c" /* yacc.c:1646 */
25251 5 : break;
25252 :
25253 : case 252:
25254 : #line 1734 "gram.y" /* yacc.c:1646 */
25255 : { (yyval.boolean) = FALSE; }
25256 : #line 25257 "gram.c" /* yacc.c:1646 */
25257 7 : break;
25258 :
25259 : case 253:
25260 : #line 1743 "gram.y" /* yacc.c:1646 */
25261 : {
25262 : CheckPointStmt *n = makeNode(CheckPointStmt);
25263 : (yyval.node) = (Node *)n;
25264 : }
25265 : #line 25266 "gram.c" /* yacc.c:1646 */
25266 0 : break;
25267 :
25268 : case 254:
25269 : #line 1758 "gram.y" /* yacc.c:1646 */
25270 : {
25271 : DiscardStmt *n = makeNode(DiscardStmt);
25272 : n->target = DISCARD_ALL;
25273 : (yyval.node) = (Node *) n;
25274 : }
25275 : #line 25276 "gram.c" /* yacc.c:1646 */
25276 1 : break;
25277 :
25278 : case 255:
25279 : #line 1764 "gram.y" /* yacc.c:1646 */
25280 : {
25281 : DiscardStmt *n = makeNode(DiscardStmt);
25282 : n->target = DISCARD_TEMP;
25283 : (yyval.node) = (Node *) n;
25284 : }
25285 : #line 25286 "gram.c" /* yacc.c:1646 */
25286 1 : break;
25287 :
25288 : case 256:
25289 : #line 1770 "gram.y" /* yacc.c:1646 */
25290 : {
25291 : DiscardStmt *n = makeNode(DiscardStmt);
25292 : n->target = DISCARD_TEMP;
25293 : (yyval.node) = (Node *) n;
25294 : }
25295 : #line 25296 "gram.c" /* yacc.c:1646 */
25296 0 : break;
25297 :
25298 : case 257:
25299 : #line 1776 "gram.y" /* yacc.c:1646 */
25300 : {
25301 : DiscardStmt *n = makeNode(DiscardStmt);
25302 : n->target = DISCARD_PLANS;
25303 : (yyval.node) = (Node *) n;
25304 : }
25305 : #line 25306 "gram.c" /* yacc.c:1646 */
25306 0 : break;
25307 :
25308 : case 258:
25309 : #line 1782 "gram.y" /* yacc.c:1646 */
25310 : {
25311 : DiscardStmt *n = makeNode(DiscardStmt);
25312 : n->target = DISCARD_SEQUENCES;
25313 : (yyval.node) = (Node *) n;
25314 : }
25315 : #line 25316 "gram.c" /* yacc.c:1646 */
25316 2 : break;
25317 :
25318 : case 259:
25319 : #line 1801 "gram.y" /* yacc.c:1646 */
25320 : {
25321 : AlterTableStmt *n = makeNode(AlterTableStmt);
25322 : n->relation = (yyvsp[-1].range);
25323 : n->cmds = (yyvsp[0].list);
25324 : n->relkind = OBJECT_TABLE;
25325 : n->missing_ok = false;
25326 : (yyval.node) = (Node *)n;
25327 : }
25328 : #line 25329 "gram.c" /* yacc.c:1646 */
25329 778 : break;
25330 :
25331 : case 260:
25332 : #line 1810 "gram.y" /* yacc.c:1646 */
25333 : {
25334 : AlterTableStmt *n = makeNode(AlterTableStmt);
25335 : n->relation = (yyvsp[-1].range);
25336 : n->cmds = (yyvsp[0].list);
25337 : n->relkind = OBJECT_TABLE;
25338 : n->missing_ok = true;
25339 : (yyval.node) = (Node *)n;
25340 : }
25341 : #line 25342 "gram.c" /* yacc.c:1646 */
25342 9 : break;
25343 :
25344 : case 261:
25345 : #line 1819 "gram.y" /* yacc.c:1646 */
25346 : {
25347 : AlterTableStmt *n = makeNode(AlterTableStmt);
25348 : n->relation = (yyvsp[-1].range);
25349 : n->cmds = list_make1((yyvsp[0].node));
25350 : n->relkind = OBJECT_TABLE;
25351 : n->missing_ok = false;
25352 : (yyval.node) = (Node *)n;
25353 : }
25354 : #line 25355 "gram.c" /* yacc.c:1646 */
25355 69 : break;
25356 :
25357 : case 262:
25358 : #line 1828 "gram.y" /* yacc.c:1646 */
25359 : {
25360 : AlterTableStmt *n = makeNode(AlterTableStmt);
25361 : n->relation = (yyvsp[-1].range);
25362 : n->cmds = list_make1((yyvsp[0].node));
25363 : n->relkind = OBJECT_TABLE;
25364 : n->missing_ok = true;
25365 : (yyval.node) = (Node *)n;
25366 : }
25367 : #line 25368 "gram.c" /* yacc.c:1646 */
25368 0 : break;
25369 :
25370 : case 263:
25371 : #line 1837 "gram.y" /* yacc.c:1646 */
25372 : {
25373 : AlterTableMoveAllStmt *n =
25374 : makeNode(AlterTableMoveAllStmt);
25375 : n->orig_tablespacename = (yyvsp[-4].str);
25376 : n->objtype = OBJECT_TABLE;
25377 : n->roles = NIL;
25378 : n->new_tablespacename = (yyvsp[-1].str);
25379 : n->nowait = (yyvsp[0].boolean);
25380 : (yyval.node) = (Node *)n;
25381 : }
25382 : #line 25383 "gram.c" /* yacc.c:1646 */
25383 2 : break;
25384 :
25385 : case 264:
25386 : #line 1848 "gram.y" /* yacc.c:1646 */
25387 : {
25388 : AlterTableMoveAllStmt *n =
25389 : makeNode(AlterTableMoveAllStmt);
25390 : n->orig_tablespacename = (yyvsp[-7].str);
25391 : n->objtype = OBJECT_TABLE;
25392 : n->roles = (yyvsp[-4].list);
25393 : n->new_tablespacename = (yyvsp[-1].str);
25394 : n->nowait = (yyvsp[0].boolean);
25395 : (yyval.node) = (Node *)n;
25396 : }
25397 : #line 25398 "gram.c" /* yacc.c:1646 */
25398 0 : break;
25399 :
25400 : case 265:
25401 : #line 1859 "gram.y" /* yacc.c:1646 */
25402 : {
25403 : AlterTableStmt *n = makeNode(AlterTableStmt);
25404 : n->relation = (yyvsp[-1].range);
25405 : n->cmds = (yyvsp[0].list);
25406 : n->relkind = OBJECT_INDEX;
25407 : n->missing_ok = false;
25408 : (yyval.node) = (Node *)n;
25409 : }
25410 : #line 25411 "gram.c" /* yacc.c:1646 */
25411 5 : break;
25412 :
25413 : case 266:
25414 : #line 1868 "gram.y" /* yacc.c:1646 */
25415 : {
25416 : AlterTableStmt *n = makeNode(AlterTableStmt);
25417 : n->relation = (yyvsp[-1].range);
25418 : n->cmds = (yyvsp[0].list);
25419 : n->relkind = OBJECT_INDEX;
25420 : n->missing_ok = true;
25421 : (yyval.node) = (Node *)n;
25422 : }
25423 : #line 25424 "gram.c" /* yacc.c:1646 */
25424 0 : break;
25425 :
25426 : case 267:
25427 : #line 1877 "gram.y" /* yacc.c:1646 */
25428 : {
25429 : AlterTableMoveAllStmt *n =
25430 : makeNode(AlterTableMoveAllStmt);
25431 : n->orig_tablespacename = (yyvsp[-4].str);
25432 : n->objtype = OBJECT_INDEX;
25433 : n->roles = NIL;
25434 : n->new_tablespacename = (yyvsp[-1].str);
25435 : n->nowait = (yyvsp[0].boolean);
25436 : (yyval.node) = (Node *)n;
25437 : }
25438 : #line 25439 "gram.c" /* yacc.c:1646 */
25439 1 : break;
25440 :
25441 : case 268:
25442 : #line 1888 "gram.y" /* yacc.c:1646 */
25443 : {
25444 : AlterTableMoveAllStmt *n =
25445 : makeNode(AlterTableMoveAllStmt);
25446 : n->orig_tablespacename = (yyvsp[-7].str);
25447 : n->objtype = OBJECT_INDEX;
25448 : n->roles = (yyvsp[-4].list);
25449 : n->new_tablespacename = (yyvsp[-1].str);
25450 : n->nowait = (yyvsp[0].boolean);
25451 : (yyval.node) = (Node *)n;
25452 : }
25453 : #line 25454 "gram.c" /* yacc.c:1646 */
25454 0 : break;
25455 :
25456 : case 269:
25457 : #line 1899 "gram.y" /* yacc.c:1646 */
25458 : {
25459 : AlterTableStmt *n = makeNode(AlterTableStmt);
25460 : n->relation = (yyvsp[-1].range);
25461 : n->cmds = (yyvsp[0].list);
25462 : n->relkind = OBJECT_SEQUENCE;
25463 : n->missing_ok = false;
25464 : (yyval.node) = (Node *)n;
25465 : }
25466 : #line 25467 "gram.c" /* yacc.c:1646 */
25467 0 : break;
25468 :
25469 : case 270:
25470 : #line 1908 "gram.y" /* yacc.c:1646 */
25471 : {
25472 : AlterTableStmt *n = makeNode(AlterTableStmt);
25473 : n->relation = (yyvsp[-1].range);
25474 : n->cmds = (yyvsp[0].list);
25475 : n->relkind = OBJECT_SEQUENCE;
25476 : n->missing_ok = true;
25477 : (yyval.node) = (Node *)n;
25478 : }
25479 : #line 25480 "gram.c" /* yacc.c:1646 */
25480 0 : break;
25481 :
25482 : case 271:
25483 : #line 1917 "gram.y" /* yacc.c:1646 */
25484 : {
25485 : AlterTableStmt *n = makeNode(AlterTableStmt);
25486 : n->relation = (yyvsp[-1].range);
25487 : n->cmds = (yyvsp[0].list);
25488 : n->relkind = OBJECT_VIEW;
25489 : n->missing_ok = false;
25490 : (yyval.node) = (Node *)n;
25491 : }
25492 : #line 25493 "gram.c" /* yacc.c:1646 */
25493 13 : break;
25494 :
25495 : case 272:
25496 : #line 1926 "gram.y" /* yacc.c:1646 */
25497 : {
25498 : AlterTableStmt *n = makeNode(AlterTableStmt);
25499 : n->relation = (yyvsp[-1].range);
25500 : n->cmds = (yyvsp[0].list);
25501 : n->relkind = OBJECT_VIEW;
25502 : n->missing_ok = true;
25503 : (yyval.node) = (Node *)n;
25504 : }
25505 : #line 25506 "gram.c" /* yacc.c:1646 */
25506 0 : break;
25507 :
25508 : case 273:
25509 : #line 1935 "gram.y" /* yacc.c:1646 */
25510 : {
25511 : AlterTableStmt *n = makeNode(AlterTableStmt);
25512 : n->relation = (yyvsp[-1].range);
25513 : n->cmds = (yyvsp[0].list);
25514 : n->relkind = OBJECT_MATVIEW;
25515 : n->missing_ok = false;
25516 : (yyval.node) = (Node *)n;
25517 : }
25518 : #line 25519 "gram.c" /* yacc.c:1646 */
25519 0 : break;
25520 :
25521 : case 274:
25522 : #line 1944 "gram.y" /* yacc.c:1646 */
25523 : {
25524 : AlterTableStmt *n = makeNode(AlterTableStmt);
25525 : n->relation = (yyvsp[-1].range);
25526 : n->cmds = (yyvsp[0].list);
25527 : n->relkind = OBJECT_MATVIEW;
25528 : n->missing_ok = true;
25529 : (yyval.node) = (Node *)n;
25530 : }
25531 : #line 25532 "gram.c" /* yacc.c:1646 */
25532 0 : break;
25533 :
25534 : case 275:
25535 : #line 1953 "gram.y" /* yacc.c:1646 */
25536 : {
25537 : AlterTableMoveAllStmt *n =
25538 : makeNode(AlterTableMoveAllStmt);
25539 : n->orig_tablespacename = (yyvsp[-4].str);
25540 : n->objtype = OBJECT_MATVIEW;
25541 : n->roles = NIL;
25542 : n->new_tablespacename = (yyvsp[-1].str);
25543 : n->nowait = (yyvsp[0].boolean);
25544 : (yyval.node) = (Node *)n;
25545 : }
25546 : #line 25547 "gram.c" /* yacc.c:1646 */
25547 0 : break;
25548 :
25549 : case 276:
25550 : #line 1964 "gram.y" /* yacc.c:1646 */
25551 : {
25552 : AlterTableMoveAllStmt *n =
25553 : makeNode(AlterTableMoveAllStmt);
25554 : n->orig_tablespacename = (yyvsp[-7].str);
25555 : n->objtype = OBJECT_MATVIEW;
25556 : n->roles = (yyvsp[-4].list);
25557 : n->new_tablespacename = (yyvsp[-1].str);
25558 : n->nowait = (yyvsp[0].boolean);
25559 : (yyval.node) = (Node *)n;
25560 : }
25561 : #line 25562 "gram.c" /* yacc.c:1646 */
25562 0 : break;
25563 :
25564 : case 277:
25565 : #line 1977 "gram.y" /* yacc.c:1646 */
25566 : { (yyval.list) = list_make1((yyvsp[0].node)); }
25567 : #line 25568 "gram.c" /* yacc.c:1646 */
25568 866 : break;
25569 :
25570 : case 278:
25571 : #line 1978 "gram.y" /* yacc.c:1646 */
25572 : { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
25573 : #line 25574 "gram.c" /* yacc.c:1646 */
25574 16 : break;
25575 :
25576 : case 279:
25577 : #line 1984 "gram.y" /* yacc.c:1646 */
25578 : {
25579 : AlterTableCmd *n = makeNode(AlterTableCmd);
25580 : PartitionCmd *cmd = makeNode(PartitionCmd);
25581 :
25582 : n->subtype = AT_AttachPartition;
25583 : cmd->name = (yyvsp[-1].range);
25584 : cmd->bound = (yyvsp[0].partboundspec);
25585 : n->def = (Node *) cmd;
25586 :
25587 : (yyval.node) = (Node *) n;
25588 : }
25589 : #line 25590 "gram.c" /* yacc.c:1646 */
25590 57 : break;
25591 :
25592 : case 280:
25593 : #line 1997 "gram.y" /* yacc.c:1646 */
25594 : {
25595 : AlterTableCmd *n = makeNode(AlterTableCmd);
25596 : PartitionCmd *cmd = makeNode(PartitionCmd);
25597 :
25598 : n->subtype = AT_DetachPartition;
25599 : cmd->name = (yyvsp[0].range);
25600 : cmd->bound = NULL;
25601 : n->def = (Node *) cmd;
25602 :
25603 : (yyval.node) = (Node *) n;
25604 : }
25605 : #line 25606 "gram.c" /* yacc.c:1646 */
25606 12 : break;
25607 :
25608 : case 281:
25609 : #line 2013 "gram.y" /* yacc.c:1646 */
25610 : {
25611 : AlterTableCmd *n = makeNode(AlterTableCmd);
25612 : n->subtype = AT_AddColumn;
25613 : n->def = (yyvsp[0].node);
25614 : n->missing_ok = false;
25615 : (yyval.node) = (Node *)n;
25616 : }
25617 : #line 25618 "gram.c" /* yacc.c:1646 */
25618 15 : break;
25619 :
25620 : case 282:
25621 : #line 2022 "gram.y" /* yacc.c:1646 */
25622 : {
25623 : AlterTableCmd *n = makeNode(AlterTableCmd);
25624 : n->subtype = AT_AddColumn;
25625 : n->def = (yyvsp[0].node);
25626 : n->missing_ok = true;
25627 : (yyval.node) = (Node *)n;
25628 : }
25629 : #line 25630 "gram.c" /* yacc.c:1646 */
25630 0 : break;
25631 :
25632 : case 283:
25633 : #line 2031 "gram.y" /* yacc.c:1646 */
25634 : {
25635 : AlterTableCmd *n = makeNode(AlterTableCmd);
25636 : n->subtype = AT_AddColumn;
25637 : n->def = (yyvsp[0].node);
25638 : n->missing_ok = false;
25639 : (yyval.node) = (Node *)n;
25640 : }
25641 : #line 25642 "gram.c" /* yacc.c:1646 */
25642 126 : break;
25643 :
25644 : case 284:
25645 : #line 2040 "gram.y" /* yacc.c:1646 */
25646 : {
25647 : AlterTableCmd *n = makeNode(AlterTableCmd);
25648 : n->subtype = AT_AddColumn;
25649 : n->def = (yyvsp[0].node);
25650 : n->missing_ok = true;
25651 : (yyval.node) = (Node *)n;
25652 : }
25653 : #line 25654 "gram.c" /* yacc.c:1646 */
25654 6 : break;
25655 :
25656 : case 285:
25657 : #line 2049 "gram.y" /* yacc.c:1646 */
25658 : {
25659 : AlterTableCmd *n = makeNode(AlterTableCmd);
25660 : n->subtype = AT_ColumnDefault;
25661 : n->name = (yyvsp[-1].str);
25662 : n->def = (yyvsp[0].node);
25663 : (yyval.node) = (Node *)n;
25664 : }
25665 : #line 25666 "gram.c" /* yacc.c:1646 */
25666 31 : break;
25667 :
25668 : case 286:
25669 : #line 2058 "gram.y" /* yacc.c:1646 */
25670 : {
25671 : AlterTableCmd *n = makeNode(AlterTableCmd);
25672 : n->subtype = AT_DropNotNull;
25673 : n->name = (yyvsp[-3].str);
25674 : (yyval.node) = (Node *)n;
25675 : }
25676 : #line 25677 "gram.c" /* yacc.c:1646 */
25677 19 : break;
25678 :
25679 : case 287:
25680 : #line 2066 "gram.y" /* yacc.c:1646 */
25681 : {
25682 : AlterTableCmd *n = makeNode(AlterTableCmd);
25683 : n->subtype = AT_SetNotNull;
25684 : n->name = (yyvsp[-3].str);
25685 : (yyval.node) = (Node *)n;
25686 : }
25687 : #line 25688 "gram.c" /* yacc.c:1646 */
25688 28 : break;
25689 :
25690 : case 288:
25691 : #line 2074 "gram.y" /* yacc.c:1646 */
25692 : {
25693 : AlterTableCmd *n = makeNode(AlterTableCmd);
25694 : n->subtype = AT_SetStatistics;
25695 : n->name = (yyvsp[-3].str);
25696 : n->def = (Node *) makeInteger((yyvsp[0].ival));
25697 : (yyval.node) = (Node *)n;
25698 : }
25699 : #line 25700 "gram.c" /* yacc.c:1646 */
25700 9 : break;
25701 :
25702 : case 289:
25703 : #line 2083 "gram.y" /* yacc.c:1646 */
25704 : {
25705 : AlterTableCmd *n = makeNode(AlterTableCmd);
25706 : n->subtype = AT_SetOptions;
25707 : n->name = (yyvsp[-2].str);
25708 : n->def = (Node *) (yyvsp[0].list);
25709 : (yyval.node) = (Node *)n;
25710 : }
25711 : #line 25712 "gram.c" /* yacc.c:1646 */
25712 4 : break;
25713 :
25714 : case 290:
25715 : #line 2092 "gram.y" /* yacc.c:1646 */
25716 : {
25717 : AlterTableCmd *n = makeNode(AlterTableCmd);
25718 : n->subtype = AT_ResetOptions;
25719 : n->name = (yyvsp[-2].str);
25720 : n->def = (Node *) (yyvsp[0].list);
25721 : (yyval.node) = (Node *)n;
25722 : }
25723 : #line 25724 "gram.c" /* yacc.c:1646 */
25724 1 : break;
25725 :
25726 : case 291:
25727 : #line 2101 "gram.y" /* yacc.c:1646 */
25728 : {
25729 : AlterTableCmd *n = makeNode(AlterTableCmd);
25730 : n->subtype = AT_SetStorage;
25731 : n->name = (yyvsp[-3].str);
25732 : n->def = (Node *) makeString((yyvsp[0].str));
25733 : (yyval.node) = (Node *)n;
25734 : }
25735 : #line 25736 "gram.c" /* yacc.c:1646 */
25736 14 : break;
25737 :
25738 : case 292:
25739 : #line 2110 "gram.y" /* yacc.c:1646 */
25740 : {
25741 : AlterTableCmd *n = makeNode(AlterTableCmd);
25742 : Constraint *c = makeNode(Constraint);
25743 :
25744 : c->contype = CONSTR_IDENTITY;
25745 : c->generated_when = (yyvsp[-3].ival);
25746 : c->options = (yyvsp[0].list);
25747 : c->location = (yylsp[-4]);
25748 :
25749 : n->subtype = AT_AddIdentity;
25750 : n->name = (yyvsp[-6].str);
25751 : n->def = (Node *) c;
25752 :
25753 : (yyval.node) = (Node *)n;
25754 : }
25755 : #line 25756 "gram.c" /* yacc.c:1646 */
25756 7 : break;
25757 :
25758 : case 293:
25759 : #line 2127 "gram.y" /* yacc.c:1646 */
25760 : {
25761 : AlterTableCmd *n = makeNode(AlterTableCmd);
25762 : n->subtype = AT_SetIdentity;
25763 : n->name = (yyvsp[-1].str);
25764 : n->def = (Node *) (yyvsp[0].list);
25765 : (yyval.node) = (Node *)n;
25766 : }
25767 : #line 25768 "gram.c" /* yacc.c:1646 */
25768 4 : break;
25769 :
25770 : case 294:
25771 : #line 2136 "gram.y" /* yacc.c:1646 */
25772 : {
25773 : AlterTableCmd *n = makeNode(AlterTableCmd);
25774 : n->subtype = AT_DropIdentity;
25775 : n->name = (yyvsp[-2].str);
25776 : n->missing_ok = false;
25777 : (yyval.node) = (Node *)n;
25778 : }
25779 : #line 25780 "gram.c" /* yacc.c:1646 */
25780 3 : break;
25781 :
25782 : case 295:
25783 : #line 2145 "gram.y" /* yacc.c:1646 */
25784 : {
25785 : AlterTableCmd *n = makeNode(AlterTableCmd);
25786 : n->subtype = AT_DropIdentity;
25787 : n->name = (yyvsp[-4].str);
25788 : n->missing_ok = true;
25789 : (yyval.node) = (Node *)n;
25790 : }
25791 : #line 25792 "gram.c" /* yacc.c:1646 */
25792 1 : break;
25793 :
25794 : case 296:
25795 : #line 2154 "gram.y" /* yacc.c:1646 */
25796 : {
25797 : AlterTableCmd *n = makeNode(AlterTableCmd);
25798 : n->subtype = AT_DropColumn;
25799 : n->name = (yyvsp[-1].str);
25800 : n->behavior = (yyvsp[0].dbehavior);
25801 : n->missing_ok = TRUE;
25802 : (yyval.node) = (Node *)n;
25803 : }
25804 : #line 25805 "gram.c" /* yacc.c:1646 */
25805 3 : break;
25806 :
25807 : case 297:
25808 : #line 2164 "gram.y" /* yacc.c:1646 */
25809 : {
25810 : AlterTableCmd *n = makeNode(AlterTableCmd);
25811 : n->subtype = AT_DropColumn;
25812 : n->name = (yyvsp[-1].str);
25813 : n->behavior = (yyvsp[0].dbehavior);
25814 : n->missing_ok = FALSE;
25815 : (yyval.node) = (Node *)n;
25816 : }
25817 : #line 25818 "gram.c" /* yacc.c:1646 */
25818 97 : break;
25819 :
25820 : case 298:
25821 : #line 2177 "gram.y" /* yacc.c:1646 */
25822 : {
25823 : AlterTableCmd *n = makeNode(AlterTableCmd);
25824 : ColumnDef *def = makeNode(ColumnDef);
25825 : n->subtype = AT_AlterColumnType;
25826 : n->name = (yyvsp[-5].str);
25827 : n->def = (Node *) def;
25828 : /* We only use these fields of the ColumnDef node */
25829 : def->typeName = (yyvsp[-2].typnam);
25830 : def->collClause = (CollateClause *) (yyvsp[-1].node);
25831 : def->raw_default = (yyvsp[0].node);
25832 : def->location = (yylsp[-5]);
25833 : (yyval.node) = (Node *)n;
25834 : }
25835 : #line 25836 "gram.c" /* yacc.c:1646 */
25836 61 : break;
25837 :
25838 : case 299:
25839 : #line 2192 "gram.y" /* yacc.c:1646 */
25840 : {
25841 : AlterTableCmd *n = makeNode(AlterTableCmd);
25842 : n->subtype = AT_AlterColumnGenericOptions;
25843 : n->name = (yyvsp[-1].str);
25844 : n->def = (Node *) (yyvsp[0].list);
25845 : (yyval.node) = (Node *)n;
25846 : }
25847 : #line 25848 "gram.c" /* yacc.c:1646 */
25848 7 : break;
25849 :
25850 : case 300:
25851 : #line 2201 "gram.y" /* yacc.c:1646 */
25852 : {
25853 : AlterTableCmd *n = makeNode(AlterTableCmd);
25854 : n->subtype = AT_AddConstraint;
25855 : n->def = (yyvsp[0].node);
25856 : (yyval.node) = (Node *)n;
25857 : }
25858 : #line 25859 "gram.c" /* yacc.c:1646 */
25859 173 : break;
25860 :
25861 : case 301:
25862 : #line 2209 "gram.y" /* yacc.c:1646 */
25863 : {
25864 : AlterTableCmd *n = makeNode(AlterTableCmd);
25865 : Constraint *c = makeNode(Constraint);
25866 : n->subtype = AT_AlterConstraint;
25867 : n->def = (Node *) c;
25868 : c->contype = CONSTR_FOREIGN; /* others not supported, yet */
25869 : c->conname = (yyvsp[-1].str);
25870 : processCASbits((yyvsp[0].ival), (yylsp[0]), "ALTER CONSTRAINT statement",
25871 : &c->deferrable,
25872 : &c->initdeferred,
25873 : NULL, NULL, yyscanner);
25874 : (yyval.node) = (Node *)n;
25875 : }
25876 : #line 25877 "gram.c" /* yacc.c:1646 */
25877 6 : break;
25878 :
25879 : case 302:
25880 : #line 2224 "gram.y" /* yacc.c:1646 */
25881 : {
25882 : AlterTableCmd *n = makeNode(AlterTableCmd);
25883 : n->subtype = AT_ValidateConstraint;
25884 : n->name = (yyvsp[0].str);
25885 : (yyval.node) = (Node *)n;
25886 : }
25887 : #line 25888 "gram.c" /* yacc.c:1646 */
25888 15 : break;
25889 :
25890 : case 303:
25891 : #line 2232 "gram.y" /* yacc.c:1646 */
25892 : {
25893 : AlterTableCmd *n = makeNode(AlterTableCmd);
25894 : n->subtype = AT_DropConstraint;
25895 : n->name = (yyvsp[-1].str);
25896 : n->behavior = (yyvsp[0].dbehavior);
25897 : n->missing_ok = TRUE;
25898 : (yyval.node) = (Node *)n;
25899 : }
25900 : #line 25901 "gram.c" /* yacc.c:1646 */
25901 3 : break;
25902 :
25903 : case 304:
25904 : #line 2242 "gram.y" /* yacc.c:1646 */
25905 : {
25906 : AlterTableCmd *n = makeNode(AlterTableCmd);
25907 : n->subtype = AT_DropConstraint;
25908 : n->name = (yyvsp[-1].str);
25909 : n->behavior = (yyvsp[0].dbehavior);
25910 : n->missing_ok = FALSE;
25911 : (yyval.node) = (Node *)n;
25912 : }
25913 : #line 25914 "gram.c" /* yacc.c:1646 */
25914 45 : break;
25915 :
25916 : case 305:
25917 : #line 2252 "gram.y" /* yacc.c:1646 */
25918 : {
25919 : AlterTableCmd *n = makeNode(AlterTableCmd);
25920 : n->subtype = AT_AddOids;
25921 : (yyval.node) = (Node *)n;
25922 : }
25923 : #line 25924 "gram.c" /* yacc.c:1646 */
25924 9 : break;
25925 :
25926 : case 306:
25927 : #line 2259 "gram.y" /* yacc.c:1646 */
25928 : {
25929 : AlterTableCmd *n = makeNode(AlterTableCmd);
25930 : n->subtype = AT_DropOids;
25931 : (yyval.node) = (Node *)n;
25932 : }
25933 : #line 25934 "gram.c" /* yacc.c:1646 */
25934 10 : break;
25935 :
25936 : case 307:
25937 : #line 2266 "gram.y" /* yacc.c:1646 */
25938 : {
25939 : AlterTableCmd *n = makeNode(AlterTableCmd);
25940 : n->subtype = AT_ClusterOn;
25941 : n->name = (yyvsp[0].str);
25942 : (yyval.node) = (Node *)n;
25943 : }
25944 : #line 25945 "gram.c" /* yacc.c:1646 */
25945 3 : break;
25946 :
25947 : case 308:
25948 : #line 2274 "gram.y" /* yacc.c:1646 */
25949 : {
25950 : AlterTableCmd *n = makeNode(AlterTableCmd);
25951 : n->subtype = AT_DropCluster;
25952 : n->name = NULL;
25953 : (yyval.node) = (Node *)n;
25954 : }
25955 : #line 25956 "gram.c" /* yacc.c:1646 */
25956 2 : break;
25957 :
25958 : case 309:
25959 : #line 2282 "gram.y" /* yacc.c:1646 */
25960 : {
25961 : AlterTableCmd *n = makeNode(AlterTableCmd);
25962 : n->subtype = AT_SetLogged;
25963 : (yyval.node) = (Node *)n;
25964 : }
25965 : #line 25966 "gram.c" /* yacc.c:1646 */
25966 4 : break;
25967 :
25968 : case 310:
25969 : #line 2289 "gram.y" /* yacc.c:1646 */
25970 : {
25971 : AlterTableCmd *n = makeNode(AlterTableCmd);
25972 : n->subtype = AT_SetUnLogged;
25973 : (yyval.node) = (Node *)n;
25974 : }
25975 : #line 25976 "gram.c" /* yacc.c:1646 */
25976 5 : break;
25977 :
25978 : case 311:
25979 : #line 2296 "gram.y" /* yacc.c:1646 */
25980 : {
25981 : AlterTableCmd *n = makeNode(AlterTableCmd);
25982 : n->subtype = AT_EnableTrig;
25983 : n->name = (yyvsp[0].str);
25984 : (yyval.node) = (Node *)n;
25985 : }
25986 : #line 25987 "gram.c" /* yacc.c:1646 */
25987 2 : break;
25988 :
25989 : case 312:
25990 : #line 2304 "gram.y" /* yacc.c:1646 */
25991 : {
25992 : AlterTableCmd *n = makeNode(AlterTableCmd);
25993 : n->subtype = AT_EnableAlwaysTrig;
25994 : n->name = (yyvsp[0].str);
25995 : (yyval.node) = (Node *)n;
25996 : }
25997 : #line 25998 "gram.c" /* yacc.c:1646 */
25998 0 : break;
25999 :
26000 : case 313:
26001 : #line 2312 "gram.y" /* yacc.c:1646 */
26002 : {
26003 : AlterTableCmd *n = makeNode(AlterTableCmd);
26004 : n->subtype = AT_EnableReplicaTrig;
26005 : n->name = (yyvsp[0].str);
26006 : (yyval.node) = (Node *)n;
26007 : }
26008 : #line 26009 "gram.c" /* yacc.c:1646 */
26009 0 : break;
26010 :
26011 : case 314:
26012 : #line 2320 "gram.y" /* yacc.c:1646 */
26013 : {
26014 : AlterTableCmd *n = makeNode(AlterTableCmd);
26015 : n->subtype = AT_EnableTrigAll;
26016 : (yyval.node) = (Node *)n;
26017 : }
26018 : #line 26019 "gram.c" /* yacc.c:1646 */
26019 0 : break;
26020 :
26021 : case 315:
26022 : #line 2327 "gram.y" /* yacc.c:1646 */
26023 : {
26024 : AlterTableCmd *n = makeNode(AlterTableCmd);
26025 : n->subtype = AT_EnableTrigUser;
26026 : (yyval.node) = (Node *)n;
26027 : }
26028 : #line 26029 "gram.c" /* yacc.c:1646 */
26029 0 : break;
26030 :
26031 : case 316:
26032 : #line 2334 "gram.y" /* yacc.c:1646 */
26033 : {
26034 : AlterTableCmd *n = makeNode(AlterTableCmd);
26035 : n->subtype = AT_DisableTrig;
26036 : n->name = (yyvsp[0].str);
26037 : (yyval.node) = (Node *)n;
26038 : }
26039 : #line 26040 "gram.c" /* yacc.c:1646 */
26040 2 : break;
26041 :
26042 : case 317:
26043 : #line 2342 "gram.y" /* yacc.c:1646 */
26044 : {
26045 : AlterTableCmd *n = makeNode(AlterTableCmd);
26046 : n->subtype = AT_DisableTrigAll;
26047 : (yyval.node) = (Node *)n;
26048 : }
26049 : #line 26050 "gram.c" /* yacc.c:1646 */
26050 1 : break;
26051 :
26052 : case 318:
26053 : #line 2349 "gram.y" /* yacc.c:1646 */
26054 : {
26055 : AlterTableCmd *n = makeNode(AlterTableCmd);
26056 : n->subtype = AT_DisableTrigUser;
26057 : (yyval.node) = (Node *)n;
26058 : }
26059 : #line 26060 "gram.c" /* yacc.c:1646 */
26060 1 : break;
26061 :
26062 : case 319:
26063 : #line 2356 "gram.y" /* yacc.c:1646 */
26064 : {
26065 : AlterTableCmd *n = makeNode(AlterTableCmd);
26066 : n->subtype = AT_EnableRule;
26067 : n->name = (yyvsp[0].str);
26068 : (yyval.node) = (Node *)n;
26069 : }
26070 : #line 26071 "gram.c" /* yacc.c:1646 */
26071 0 : break;
26072 :
26073 : case 320:
26074 : #line 2364 "gram.y" /* yacc.c:1646 */
26075 : {
26076 : AlterTableCmd *n = makeNode(AlterTableCmd);
26077 : n->subtype = AT_EnableAlwaysRule;
26078 : n->name = (yyvsp[0].str);
26079 : (yyval.node) = (Node *)n;
26080 : }
26081 : #line 26082 "gram.c" /* yacc.c:1646 */
26082 0 : break;
26083 :
26084 : case 321:
26085 : #line 2372 "gram.y" /* yacc.c:1646 */
26086 : {
26087 : AlterTableCmd *n = makeNode(AlterTableCmd);
26088 : n->subtype = AT_EnableReplicaRule;
26089 : n->name = (yyvsp[0].str);
26090 : (yyval.node) = (Node *)n;
26091 : }
26092 : #line 26093 "gram.c" /* yacc.c:1646 */
26093 0 : break;
26094 :
26095 : case 322:
26096 : #line 2380 "gram.y" /* yacc.c:1646 */
26097 : {
26098 : AlterTableCmd *n = makeNode(AlterTableCmd);
26099 : n->subtype = AT_DisableRule;
26100 : n->name = (yyvsp[0].str);
26101 : (yyval.node) = (Node *)n;
26102 : }
26103 : #line 26104 "gram.c" /* yacc.c:1646 */
26104 0 : break;
26105 :
26106 : case 323:
26107 : #line 2388 "gram.y" /* yacc.c:1646 */
26108 : {
26109 : AlterTableCmd *n = makeNode(AlterTableCmd);
26110 : n->subtype = AT_AddInherit;
26111 : n->def = (Node *) (yyvsp[0].range);
26112 : (yyval.node) = (Node *)n;
26113 : }
26114 : #line 26115 "gram.c" /* yacc.c:1646 */
26115 25 : break;
26116 :
26117 : case 324:
26118 : #line 2396 "gram.y" /* yacc.c:1646 */
26119 : {
26120 : AlterTableCmd *n = makeNode(AlterTableCmd);
26121 : n->subtype = AT_DropInherit;
26122 : n->def = (Node *) (yyvsp[0].range);
26123 : (yyval.node) = (Node *)n;
26124 : }
26125 : #line 26126 "gram.c" /* yacc.c:1646 */
26126 5 : break;
26127 :
26128 : case 325:
26129 : #line 2404 "gram.y" /* yacc.c:1646 */
26130 : {
26131 : AlterTableCmd *n = makeNode(AlterTableCmd);
26132 : TypeName *def = makeTypeNameFromNameList((yyvsp[0].list));
26133 : def->location = (yylsp[0]);
26134 : n->subtype = AT_AddOf;
26135 : n->def = (Node *) def;
26136 : (yyval.node) = (Node *)n;
26137 : }
26138 : #line 26139 "gram.c" /* yacc.c:1646 */
26139 9 : break;
26140 :
26141 : case 326:
26142 : #line 2414 "gram.y" /* yacc.c:1646 */
26143 : {
26144 : AlterTableCmd *n = makeNode(AlterTableCmd);
26145 : n->subtype = AT_DropOf;
26146 : (yyval.node) = (Node *)n;
26147 : }
26148 : #line 26149 "gram.c" /* yacc.c:1646 */
26149 1 : break;
26150 :
26151 : case 327:
26152 : #line 2421 "gram.y" /* yacc.c:1646 */
26153 : {
26154 : AlterTableCmd *n = makeNode(AlterTableCmd);
26155 : n->subtype = AT_ChangeOwner;
26156 : n->newowner = (yyvsp[0].rolespec);
26157 : (yyval.node) = (Node *)n;
26158 : }
26159 : #line 26160 "gram.c" /* yacc.c:1646 */
26160 18 : break;
26161 :
26162 : case 328:
26163 : #line 2429 "gram.y" /* yacc.c:1646 */
26164 : {
26165 : AlterTableCmd *n = makeNode(AlterTableCmd);
26166 : n->subtype = AT_SetTableSpace;
26167 : n->name = (yyvsp[0].str);
26168 : (yyval.node) = (Node *)n;
26169 : }
26170 : #line 26171 "gram.c" /* yacc.c:1646 */
26171 3 : break;
26172 :
26173 : case 329:
26174 : #line 2437 "gram.y" /* yacc.c:1646 */
26175 : {
26176 : AlterTableCmd *n = makeNode(AlterTableCmd);
26177 : n->subtype = AT_SetRelOptions;
26178 : n->def = (Node *)(yyvsp[0].list);
26179 : (yyval.node) = (Node *)n;
26180 : }
26181 : #line 26182 "gram.c" /* yacc.c:1646 */
26182 23 : break;
26183 :
26184 : case 330:
26185 : #line 2445 "gram.y" /* yacc.c:1646 */
26186 : {
26187 : AlterTableCmd *n = makeNode(AlterTableCmd);
26188 : n->subtype = AT_ResetRelOptions;
26189 : n->def = (Node *)(yyvsp[0].list);
26190 : (yyval.node) = (Node *)n;
26191 : }
26192 : #line 26193 "gram.c" /* yacc.c:1646 */
26193 11 : break;
26194 :
26195 : case 331:
26196 : #line 2453 "gram.y" /* yacc.c:1646 */
26197 : {
26198 : AlterTableCmd *n = makeNode(AlterTableCmd);
26199 : n->subtype = AT_ReplicaIdentity;
26200 : n->def = (yyvsp[0].node);
26201 : (yyval.node) = (Node *)n;
26202 : }
26203 : #line 26204 "gram.c" /* yacc.c:1646 */
26204 15 : break;
26205 :
26206 : case 332:
26207 : #line 2461 "gram.y" /* yacc.c:1646 */
26208 : {
26209 : AlterTableCmd *n = makeNode(AlterTableCmd);
26210 : n->subtype = AT_EnableRowSecurity;
26211 : (yyval.node) = (Node *)n;
26212 : }
26213 : #line 26214 "gram.c" /* yacc.c:1646 */
26214 37 : break;
26215 :
26216 : case 333:
26217 : #line 2468 "gram.y" /* yacc.c:1646 */
26218 : {
26219 : AlterTableCmd *n = makeNode(AlterTableCmd);
26220 : n->subtype = AT_DisableRowSecurity;
26221 : (yyval.node) = (Node *)n;
26222 : }
26223 : #line 26224 "gram.c" /* yacc.c:1646 */
26224 2 : break;
26225 :
26226 : case 334:
26227 : #line 2475 "gram.y" /* yacc.c:1646 */
26228 : {
26229 : AlterTableCmd *n = makeNode(AlterTableCmd);
26230 : n->subtype = AT_ForceRowSecurity;
26231 : (yyval.node) = (Node *)n;
26232 : }
26233 : #line 26234 "gram.c" /* yacc.c:1646 */
26234 10 : break;
26235 :
26236 : case 335:
26237 : #line 2482 "gram.y" /* yacc.c:1646 */
26238 : {
26239 : AlterTableCmd *n = makeNode(AlterTableCmd);
26240 : n->subtype = AT_NoForceRowSecurity;
26241 : (yyval.node) = (Node *)n;
26242 : }
26243 : #line 26244 "gram.c" /* yacc.c:1646 */
26244 4 : break;
26245 :
26246 : case 336:
26247 : #line 2488 "gram.y" /* yacc.c:1646 */
26248 : {
26249 : AlterTableCmd *n = makeNode(AlterTableCmd);
26250 : n->subtype = AT_GenericOptions;
26251 : n->def = (Node *)(yyvsp[0].list);
26252 : (yyval.node) = (Node *) n;
26253 : }
26254 : #line 26255 "gram.c" /* yacc.c:1646 */
26255 2 : break;
26256 :
26257 : case 337:
26258 : #line 2497 "gram.y" /* yacc.c:1646 */
26259 : { (yyval.node) = (yyvsp[0].node); }
26260 : #line 26261 "gram.c" /* yacc.c:1646 */
26261 22 : break;
26262 :
26263 : case 338:
26264 : #line 2498 "gram.y" /* yacc.c:1646 */
26265 : { (yyval.node) = NULL; }
26266 : #line 26267 "gram.c" /* yacc.c:1646 */
26267 11 : break;
26268 :
26269 : case 339:
26270 : #line 2502 "gram.y" /* yacc.c:1646 */
26271 : { (yyval.dbehavior) = DROP_CASCADE; }
26272 : #line 26273 "gram.c" /* yacc.c:1646 */
26273 166 : break;
26274 :
26275 : case 340:
26276 : #line 2503 "gram.y" /* yacc.c:1646 */
26277 : { (yyval.dbehavior) = DROP_RESTRICT; }
26278 : #line 26279 "gram.c" /* yacc.c:1646 */
26279 23 : break;
26280 :
26281 : case 341:
26282 : #line 2504 "gram.y" /* yacc.c:1646 */
26283 : { (yyval.dbehavior) = DROP_RESTRICT; /* default */ }
26284 : #line 26285 "gram.c" /* yacc.c:1646 */
26285 1633 : break;
26286 :
26287 : case 342:
26288 : #line 2509 "gram.y" /* yacc.c:1646 */
26289 : {
26290 : CollateClause *n = makeNode(CollateClause);
26291 : n->arg = NULL;
26292 : n->collname = (yyvsp[0].list);
26293 : n->location = (yylsp[-1]);
26294 : (yyval.node) = (Node *) n;
26295 : }
26296 : #line 26297 "gram.c" /* yacc.c:1646 */
26297 1 : break;
26298 :
26299 : case 343:
26300 : #line 2516 "gram.y" /* yacc.c:1646 */
26301 : { (yyval.node) = NULL; }
26302 : #line 26303 "gram.c" /* yacc.c:1646 */
26303 316 : break;
26304 :
26305 : case 344:
26306 : #line 2520 "gram.y" /* yacc.c:1646 */
26307 : { (yyval.node) = (yyvsp[0].node); }
26308 : #line 26309 "gram.c" /* yacc.c:1646 */
26309 17 : break;
26310 :
26311 : case 345:
26312 : #line 2521 "gram.y" /* yacc.c:1646 */
26313 : { (yyval.node) = NULL; }
26314 : #line 26315 "gram.c" /* yacc.c:1646 */
26315 44 : break;
26316 :
26317 : case 346:
26318 : #line 2526 "gram.y" /* yacc.c:1646 */
26319 : {
26320 : ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
26321 : n->identity_type = REPLICA_IDENTITY_NOTHING;
26322 : n->name = NULL;
26323 : (yyval.node) = (Node *) n;
26324 : }
26325 : #line 26326 "gram.c" /* yacc.c:1646 */
26326 1 : break;
26327 :
26328 : case 347:
26329 : #line 2533 "gram.y" /* yacc.c:1646 */
26330 : {
26331 : ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
26332 : n->identity_type = REPLICA_IDENTITY_FULL;
26333 : n->name = NULL;
26334 : (yyval.node) = (Node *) n;
26335 : }
26336 : #line 26337 "gram.c" /* yacc.c:1646 */
26337 1 : break;
26338 :
26339 : case 348:
26340 : #line 2540 "gram.y" /* yacc.c:1646 */
26341 : {
26342 : ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
26343 : n->identity_type = REPLICA_IDENTITY_DEFAULT;
26344 : n->name = NULL;
26345 : (yyval.node) = (Node *) n;
26346 : }
26347 : #line 26348 "gram.c" /* yacc.c:1646 */
26348 1 : break;
26349 :
26350 : case 349:
26351 : #line 2547 "gram.y" /* yacc.c:1646 */
26352 : {
26353 : ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
26354 : n->identity_type = REPLICA_IDENTITY_INDEX;
26355 : n->name = (yyvsp[0].str);
26356 : (yyval.node) = (Node *) n;
26357 : }
26358 : #line 26359 "gram.c" /* yacc.c:1646 */
26359 12 : break;
26360 :
26361 : case 350:
26362 : #line 2556 "gram.y" /* yacc.c:1646 */
26363 : { (yyval.list) = (yyvsp[-1].list); }
26364 : #line 26365 "gram.c" /* yacc.c:1646 */
26365 117 : break;
26366 :
26367 : case 351:
26368 : #line 2559 "gram.y" /* yacc.c:1646 */
26369 : { (yyval.list) = (yyvsp[0].list); }
26370 : #line 26371 "gram.c" /* yacc.c:1646 */
26371 48 : break;
26372 :
26373 : case 352:
26374 : #line 2560 "gram.y" /* yacc.c:1646 */
26375 : { (yyval.list) = NIL; }
26376 : #line 26377 "gram.c" /* yacc.c:1646 */
26377 702 : break;
26378 :
26379 : case 353:
26380 : #line 2564 "gram.y" /* yacc.c:1646 */
26381 : { (yyval.list) = list_make1((yyvsp[0].defelt)); }
26382 : #line 26383 "gram.c" /* yacc.c:1646 */
26383 117 : break;
26384 :
26385 : case 354:
26386 : #line 2565 "gram.y" /* yacc.c:1646 */
26387 : { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
26388 : #line 26389 "gram.c" /* yacc.c:1646 */
26389 17 : break;
26390 :
26391 : case 355:
26392 : #line 2571 "gram.y" /* yacc.c:1646 */
26393 : {
26394 : (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *) (yyvsp[0].node), (yylsp[-2]));
26395 : }
26396 : #line 26397 "gram.c" /* yacc.c:1646 */
26397 100 : break;
26398 :
26399 : case 356:
26400 : #line 2575 "gram.y" /* yacc.c:1646 */
26401 : {
26402 : (yyval.defelt) = makeDefElem((yyvsp[0].str), NULL, (yylsp[0]));
26403 : }
26404 : #line 26405 "gram.c" /* yacc.c:1646 */
26405 26 : break;
26406 :
26407 : case 357:
26408 : #line 2579 "gram.y" /* yacc.c:1646 */
26409 : {
26410 : (yyval.defelt) = makeDefElemExtended((yyvsp[-4].str), (yyvsp[-2].str), (Node *) (yyvsp[0].node),
26411 : DEFELEM_UNSPEC, (yylsp[-4]));
26412 : }
26413 : #line 26414 "gram.c" /* yacc.c:1646 */
26414 7 : break;
26415 :
26416 : case 358:
26417 : #line 2584 "gram.y" /* yacc.c:1646 */
26418 : {
26419 : (yyval.defelt) = makeDefElemExtended((yyvsp[-2].str), (yyvsp[0].str), NULL, DEFELEM_UNSPEC, (yylsp[-2]));
26420 : }
26421 : #line 26422 "gram.c" /* yacc.c:1646 */
26422 1 : break;
26423 :
26424 : case 359:
26425 : #line 2591 "gram.y" /* yacc.c:1646 */
26426 : { (yyval.list) = list_make1((yyvsp[0].defelt)); }
26427 : #line 26428 "gram.c" /* yacc.c:1646 */
26428 4 : break;
26429 :
26430 : case 360:
26431 : #line 2593 "gram.y" /* yacc.c:1646 */
26432 : { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
26433 : #line 26434 "gram.c" /* yacc.c:1646 */
26434 3 : break;
26435 :
26436 : case 361:
26437 : #line 2598 "gram.y" /* yacc.c:1646 */
26438 : {
26439 : (yyval.defelt) = makeDefElem("restart", NULL, (yylsp[0]));
26440 : }
26441 : #line 26442 "gram.c" /* yacc.c:1646 */
26442 2 : break;
26443 :
26444 : case 362:
26445 : #line 2602 "gram.y" /* yacc.c:1646 */
26446 : {
26447 : (yyval.defelt) = makeDefElem("restart", (Node *)(yyvsp[0].value), (yylsp[-2]));
26448 : }
26449 : #line 26450 "gram.c" /* yacc.c:1646 */
26450 0 : break;
26451 :
26452 : case 363:
26453 : #line 2606 "gram.y" /* yacc.c:1646 */
26454 : {
26455 : if (strcmp((yyvsp[0].defelt)->defname, "as") == 0 ||
26456 : strcmp((yyvsp[0].defelt)->defname, "restart") == 0 ||
26457 : strcmp((yyvsp[0].defelt)->defname, "owned_by") == 0)
26458 : ereport(ERROR,
26459 : (errcode(ERRCODE_SYNTAX_ERROR),
26460 : errmsg("sequence option \"%s\" not supported here", (yyvsp[0].defelt)->defname),
26461 : parser_errposition((yylsp[0]))));
26462 : (yyval.defelt) = (yyvsp[0].defelt);
26463 : }
26464 : #line 26465 "gram.c" /* yacc.c:1646 */
26465 3 : break;
26466 :
26467 : case 364:
26468 : #line 2617 "gram.y" /* yacc.c:1646 */
26469 : {
26470 : (yyval.defelt) = makeDefElem("generated", (Node *) makeInteger((yyvsp[0].ival)), (yylsp[-2]));
26471 : }
26472 : #line 26473 "gram.c" /* yacc.c:1646 */
26473 2 : break;
26474 :
26475 : case 365:
26476 : #line 2625 "gram.y" /* yacc.c:1646 */
26477 : {
26478 : PartitionBoundSpec *n = makeNode(PartitionBoundSpec);
26479 :
26480 : n->strategy = PARTITION_STRATEGY_LIST;
26481 : n->listdatums = (yyvsp[-1].list);
26482 : n->location = (yylsp[-3]);
26483 :
26484 : (yyval.partboundspec) = n;
26485 : }
26486 : #line 26487 "gram.c" /* yacc.c:1646 */
26487 106 : break;
26488 :
26489 : case 366:
26490 : #line 2637 "gram.y" /* yacc.c:1646 */
26491 : {
26492 : PartitionBoundSpec *n = makeNode(PartitionBoundSpec);
26493 :
26494 : n->strategy = PARTITION_STRATEGY_RANGE;
26495 : n->lowerdatums = (yyvsp[-5].list);
26496 : n->upperdatums = (yyvsp[-1].list);
26497 : n->location = (yylsp[-7]);
26498 :
26499 : (yyval.partboundspec) = n;
26500 : }
26501 : #line 26502 "gram.c" /* yacc.c:1646 */
26502 90 : break;
26503 :
26504 : case 367:
26505 : #line 2650 "gram.y" /* yacc.c:1646 */
26506 : { (yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0])); }
26507 : #line 26508 "gram.c" /* yacc.c:1646 */
26508 83 : break;
26509 :
26510 : case 368:
26511 : #line 2651 "gram.y" /* yacc.c:1646 */
26512 : { (yyval.node) = makeAConst((yyvsp[0].value), (yylsp[0])); }
26513 : #line 26514 "gram.c" /* yacc.c:1646 */
26514 301 : break;
26515 :
26516 : case 369:
26517 : #line 2652 "gram.y" /* yacc.c:1646 */
26518 : { (yyval.node) = makeNullAConst((yylsp[0])); }
26519 : #line 26520 "gram.c" /* yacc.c:1646 */
26520 8 : break;
26521 :
26522 : case 370:
26523 : #line 2656 "gram.y" /* yacc.c:1646 */
26524 : { (yyval.list) = list_make1((yyvsp[0].node)); }
26525 : #line 26526 "gram.c" /* yacc.c:1646 */
26526 107 : break;
26527 :
26528 : case 371:
26529 : #line 2658 "gram.y" /* yacc.c:1646 */
26530 : { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
26531 : #line 26532 "gram.c" /* yacc.c:1646 */
26532 13 : break;
26533 :
26534 : case 372:
26535 : #line 2662 "gram.y" /* yacc.c:1646 */
26536 : { (yyval.list) = list_make1((yyvsp[0].node)); }
26537 : #line 26538 "gram.c" /* yacc.c:1646 */
26538 180 : break;
26539 :
26540 : case 373:
26541 : #line 2664 "gram.y" /* yacc.c:1646 */
26542 : { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
26543 : #line 26544 "gram.c" /* yacc.c:1646 */
26544 134 : break;
26545 :
26546 : case 374:
26547 : #line 2669 "gram.y" /* yacc.c:1646 */
26548 : {
26549 : PartitionRangeDatum *n = makeNode(PartitionRangeDatum);
26550 :
26551 : n->kind = PARTITION_RANGE_DATUM_MINVALUE;
26552 : n->value = NULL;
26553 : n->location = (yylsp[0]);
26554 :
26555 : (yyval.node) = (Node *) n;
26556 : }
26557 : #line 26558 "gram.c" /* yacc.c:1646 */
26558 24 : break;
26559 :
26560 : case 375:
26561 : #line 2679 "gram.y" /* yacc.c:1646 */
26562 : {
26563 : PartitionRangeDatum *n = makeNode(PartitionRangeDatum);
26564 :
26565 : n->kind = PARTITION_RANGE_DATUM_MAXVALUE;
26566 : n->value = NULL;
26567 : n->location = (yylsp[0]);
26568 :
26569 : (yyval.node) = (Node *) n;
26570 : }
26571 : #line 26572 "gram.c" /* yacc.c:1646 */
26572 18 : break;
26573 :
26574 : case 376:
26575 : #line 2689 "gram.y" /* yacc.c:1646 */
26576 : {
26577 : PartitionRangeDatum *n = makeNode(PartitionRangeDatum);
26578 :
26579 : n->kind = PARTITION_RANGE_DATUM_VALUE;
26580 : n->value = (yyvsp[0].node);
26581 : n->location = (yylsp[0]);
26582 :
26583 : (yyval.node) = (Node *) n;
26584 : }
26585 : #line 26586 "gram.c" /* yacc.c:1646 */
26586 272 : break;
26587 :
26588 : case 377:
26589 : #line 2709 "gram.y" /* yacc.c:1646 */
26590 : {
26591 : AlterTableStmt *n = makeNode(AlterTableStmt);
26592 :
26593 : /* can't use qualified_name, sigh */
26594 : n->relation = makeRangeVarFromAnyName((yyvsp[-1].list), (yylsp[-1]), yyscanner);
26595 : n->cmds = (yyvsp[0].list);
26596 : n->relkind = OBJECT_TYPE;
26597 : (yyval.node) = (Node *)n;
26598 : }
26599 : #line 26600 "gram.c" /* yacc.c:1646 */
26600 24 : break;
26601 :
26602 : case 378:
26603 : #line 2721 "gram.y" /* yacc.c:1646 */
26604 : { (yyval.list) = list_make1((yyvsp[0].node)); }
26605 : #line 26606 "gram.c" /* yacc.c:1646 */
26606 24 : break;
26607 :
26608 : case 379:
26609 : #line 2722 "gram.y" /* yacc.c:1646 */
26610 : { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
26611 : #line 26612 "gram.c" /* yacc.c:1646 */
26612 2 : break;
26613 :
26614 : case 380:
26615 : #line 2728 "gram.y" /* yacc.c:1646 */
26616 : {
26617 : AlterTableCmd *n = makeNode(AlterTableCmd);
26618 : n->subtype = AT_AddColumn;
26619 : n->def = (yyvsp[-1].node);
26620 : n->behavior = (yyvsp[0].dbehavior);
26621 : (yyval.node) = (Node *)n;
26622 : }
26623 : #line 26624 "gram.c" /* yacc.c:1646 */
26624 9 : break;
26625 :
26626 : case 381:
26627 : #line 2737 "gram.y" /* yacc.c:1646 */
26628 : {
26629 : AlterTableCmd *n = makeNode(AlterTableCmd);
26630 : n->subtype = AT_DropColumn;
26631 : n->name = (yyvsp[-1].str);
26632 : n->behavior = (yyvsp[0].dbehavior);
26633 : n->missing_ok = TRUE;
26634 : (yyval.node) = (Node *)n;
26635 : }
26636 : #line 26637 "gram.c" /* yacc.c:1646 */
26637 1 : break;
26638 :
26639 : case 382:
26640 : #line 2747 "gram.y" /* yacc.c:1646 */
26641 : {
26642 : AlterTableCmd *n = makeNode(AlterTableCmd);
26643 : n->subtype = AT_DropColumn;
26644 : n->name = (yyvsp[-1].str);
26645 : n->behavior = (yyvsp[0].dbehavior);
26646 : n->missing_ok = FALSE;
26647 : (yyval.node) = (Node *)n;
26648 : }
26649 : #line 26650 "gram.c" /* yacc.c:1646 */
26650 7 : break;
26651 :
26652 : case 383:
26653 : #line 2757 "gram.y" /* yacc.c:1646 */
26654 : {
26655 : AlterTableCmd *n = makeNode(AlterTableCmd);
26656 : ColumnDef *def = makeNode(ColumnDef);
26657 : n->subtype = AT_AlterColumnType;
26658 : n->name = (yyvsp[-5].str);
26659 : n->def = (Node *) def;
26660 : n->behavior = (yyvsp[0].dbehavior);
26661 : /* We only use these fields of the ColumnDef node */
26662 : def->typeName = (yyvsp[-2].typnam);
26663 : def->collClause = (CollateClause *) (yyvsp[-1].node);
26664 : def->raw_default = NULL;
26665 : def->location = (yylsp[-5]);
26666 : (yyval.node) = (Node *)n;
26667 : }
26668 : #line 26669 "gram.c" /* yacc.c:1646 */
26669 9 : break;
26670 :
26671 : case 384:
26672 : #line 2783 "gram.y" /* yacc.c:1646 */
26673 : {
26674 : ClosePortalStmt *n = makeNode(ClosePortalStmt);
26675 : n->portalname = (yyvsp[0].str);
26676 : (yyval.node) = (Node *)n;
26677 : }
26678 : #line 26679 "gram.c" /* yacc.c:1646 */
26679 40 : break;
26680 :
26681 : case 385:
26682 : #line 2789 "gram.y" /* yacc.c:1646 */
26683 : {
26684 : ClosePortalStmt *n = makeNode(ClosePortalStmt);
26685 : n->portalname = NULL;
26686 : (yyval.node) = (Node *)n;
26687 : }
26688 : #line 26689 "gram.c" /* yacc.c:1646 */
26689 2 : break;
26690 :
26691 : case 386:
26692 : #line 2823 "gram.y" /* yacc.c:1646 */
26693 : {
26694 : CopyStmt *n = makeNode(CopyStmt);
26695 : n->relation = (yyvsp[-8].range);
26696 : n->query = NULL;
26697 : n->attlist = (yyvsp[-7].list);
26698 : n->is_from = (yyvsp[-5].boolean);
26699 : n->is_program = (yyvsp[-4].boolean);
26700 : n->filename = (yyvsp[-3].str);
26701 :
26702 : if (n->is_program && n->filename == NULL)
26703 : ereport(ERROR,
26704 : (errcode(ERRCODE_SYNTAX_ERROR),
26705 : errmsg("STDIN/STDOUT not allowed with PROGRAM"),
26706 : parser_errposition((yylsp[-3]))));
26707 :
26708 : n->options = NIL;
26709 : /* Concatenate user-supplied flags */
26710 : if ((yyvsp[-9].defelt))
26711 : n->options = lappend(n->options, (yyvsp[-9].defelt));
26712 : if ((yyvsp[-6].defelt))
26713 : n->options = lappend(n->options, (yyvsp[-6].defelt));
26714 : if ((yyvsp[-2].defelt))
26715 : n->options = lappend(n->options, (yyvsp[-2].defelt));
26716 : if ((yyvsp[0].list))
26717 : n->options = list_concat(n->options, (yyvsp[0].list));
26718 : (yyval.node) = (Node *)n;
26719 : }
26720 : #line 26721 "gram.c" /* yacc.c:1646 */
26721 182 : break;
26722 :
26723 : case 387:
26724 : #line 2851 "gram.y" /* yacc.c:1646 */
26725 : {
26726 : CopyStmt *n = makeNode(CopyStmt);
26727 : n->relation = NULL;
26728 : n->query = (yyvsp[-6].node);
26729 : n->attlist = NIL;
26730 : n->is_from = false;
26731 : n->is_program = (yyvsp[-3].boolean);
26732 : n->filename = (yyvsp[-2].str);
26733 : n->options = (yyvsp[0].list);
26734 :
26735 : if (n->is_program && n->filename == NULL)
26736 : ereport(ERROR,
26737 : (errcode(ERRCODE_SYNTAX_ERROR),
26738 : errmsg("STDIN/STDOUT not allowed with PROGRAM"),
26739 : parser_errposition((yylsp[-4]))));
26740 :
26741 : (yyval.node) = (Node *)n;
26742 : }
26743 : #line 26744 "gram.c" /* yacc.c:1646 */
26744 45 : break;
26745 :
26746 : case 388:
26747 : #line 2872 "gram.y" /* yacc.c:1646 */
26748 : { (yyval.boolean) = TRUE; }
26749 : #line 26750 "gram.c" /* yacc.c:1646 */
26750 124 : break;
26751 :
26752 : case 389:
26753 : #line 2873 "gram.y" /* yacc.c:1646 */
26754 : { (yyval.boolean) = FALSE; }
26755 : #line 26756 "gram.c" /* yacc.c:1646 */
26756 58 : break;
26757 :
26758 : case 390:
26759 : #line 2877 "gram.y" /* yacc.c:1646 */
26760 : { (yyval.boolean) = TRUE; }
26761 : #line 26762 "gram.c" /* yacc.c:1646 */
26762 0 : break;
26763 :
26764 : case 391:
26765 : #line 2878 "gram.y" /* yacc.c:1646 */
26766 : { (yyval.boolean) = FALSE; }
26767 : #line 26768 "gram.c" /* yacc.c:1646 */
26768 227 : break;
26769 :
26770 : case 392:
26771 : #line 2887 "gram.y" /* yacc.c:1646 */
26772 : { (yyval.str) = (yyvsp[0].str); }
26773 : #line 26774 "gram.c" /* yacc.c:1646 */
26774 39 : break;
26775 :
26776 : case 393:
26777 : #line 2888 "gram.y" /* yacc.c:1646 */
26778 : { (yyval.str) = NULL; }
26779 : #line 26780 "gram.c" /* yacc.c:1646 */
26780 91 : break;
26781 :
26782 : case 394:
26783 : #line 2889 "gram.y" /* yacc.c:1646 */
26784 : { (yyval.str) = NULL; }
26785 : #line 26786 "gram.c" /* yacc.c:1646 */
26786 97 : break;
26787 :
26788 : case 395:
26789 : #line 2892 "gram.y" /* yacc.c:1646 */
26790 : { (yyval.list) = (yyvsp[0].list); }
26791 : #line 26792 "gram.c" /* yacc.c:1646 */
26792 211 : break;
26793 :
26794 : case 396:
26795 : #line 2893 "gram.y" /* yacc.c:1646 */
26796 : { (yyval.list) = (yyvsp[-1].list); }
26797 : #line 26798 "gram.c" /* yacc.c:1646 */
26798 16 : break;
26799 :
26800 : case 397:
26801 : #line 2898 "gram.y" /* yacc.c:1646 */
26802 : { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
26803 : #line 26804 "gram.c" /* yacc.c:1646 */
26804 76 : break;
26805 :
26806 : case 398:
26807 : #line 2899 "gram.y" /* yacc.c:1646 */
26808 : { (yyval.list) = NIL; }
26809 : #line 26810 "gram.c" /* yacc.c:1646 */
26810 211 : break;
26811 :
26812 : case 399:
26813 : #line 2904 "gram.y" /* yacc.c:1646 */
26814 : {
26815 : (yyval.defelt) = makeDefElem("format", (Node *)makeString("binary"), (yylsp[0]));
26816 : }
26817 : #line 26818 "gram.c" /* yacc.c:1646 */
26818 0 : break;
26819 :
26820 : case 400:
26821 : #line 2908 "gram.y" /* yacc.c:1646 */
26822 : {
26823 : (yyval.defelt) = makeDefElem("oids", (Node *)makeInteger(TRUE), (yylsp[0]));
26824 : }
26825 : #line 26826 "gram.c" /* yacc.c:1646 */
26826 3 : break;
26827 :
26828 : case 401:
26829 : #line 2912 "gram.y" /* yacc.c:1646 */
26830 : {
26831 : (yyval.defelt) = makeDefElem("freeze", (Node *)makeInteger(TRUE), (yylsp[0]));
26832 : }
26833 : #line 26834 "gram.c" /* yacc.c:1646 */
26834 7 : break;
26835 :
26836 : case 402:
26837 : #line 2916 "gram.y" /* yacc.c:1646 */
26838 : {
26839 : (yyval.defelt) = makeDefElem("delimiter", (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
26840 : }
26841 : #line 26842 "gram.c" /* yacc.c:1646 */
26842 20 : break;
26843 :
26844 : case 403:
26845 : #line 2920 "gram.y" /* yacc.c:1646 */
26846 : {
26847 : (yyval.defelt) = makeDefElem("null", (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
26848 : }
26849 : #line 26850 "gram.c" /* yacc.c:1646 */
26850 8 : break;
26851 :
26852 : case 404:
26853 : #line 2924 "gram.y" /* yacc.c:1646 */
26854 : {
26855 : (yyval.defelt) = makeDefElem("format", (Node *)makeString("csv"), (yylsp[0]));
26856 : }
26857 : #line 26858 "gram.c" /* yacc.c:1646 */
26858 24 : break;
26859 :
26860 : case 405:
26861 : #line 2928 "gram.y" /* yacc.c:1646 */
26862 : {
26863 : (yyval.defelt) = makeDefElem("header", (Node *)makeInteger(TRUE), (yylsp[0]));
26864 : }
26865 : #line 26866 "gram.c" /* yacc.c:1646 */
26866 3 : break;
26867 :
26868 : case 406:
26869 : #line 2932 "gram.y" /* yacc.c:1646 */
26870 : {
26871 : (yyval.defelt) = makeDefElem("quote", (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
26872 : }
26873 : #line 26874 "gram.c" /* yacc.c:1646 */
26874 3 : break;
26875 :
26876 : case 407:
26877 : #line 2936 "gram.y" /* yacc.c:1646 */
26878 : {
26879 : (yyval.defelt) = makeDefElem("escape", (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
26880 : }
26881 : #line 26882 "gram.c" /* yacc.c:1646 */
26882 3 : break;
26883 :
26884 : case 408:
26885 : #line 2940 "gram.y" /* yacc.c:1646 */
26886 : {
26887 : (yyval.defelt) = makeDefElem("force_quote", (Node *)(yyvsp[0].list), (yylsp[-2]));
26888 : }
26889 : #line 26890 "gram.c" /* yacc.c:1646 */
26890 2 : break;
26891 :
26892 : case 409:
26893 : #line 2944 "gram.y" /* yacc.c:1646 */
26894 : {
26895 : (yyval.defelt) = makeDefElem("force_quote", (Node *)makeNode(A_Star), (yylsp[-2]));
26896 : }
26897 : #line 26898 "gram.c" /* yacc.c:1646 */
26898 1 : break;
26899 :
26900 : case 410:
26901 : #line 2948 "gram.y" /* yacc.c:1646 */
26902 : {
26903 : (yyval.defelt) = makeDefElem("force_not_null", (Node *)(yyvsp[0].list), (yylsp[-3]));
26904 : }
26905 : #line 26906 "gram.c" /* yacc.c:1646 */
26906 0 : break;
26907 :
26908 : case 411:
26909 : #line 2952 "gram.y" /* yacc.c:1646 */
26910 : {
26911 : (yyval.defelt) = makeDefElem("force_null", (Node *)(yyvsp[0].list), (yylsp[-2]));
26912 : }
26913 : #line 26914 "gram.c" /* yacc.c:1646 */
26914 0 : break;
26915 :
26916 : case 412:
26917 : #line 2956 "gram.y" /* yacc.c:1646 */
26918 : {
26919 : (yyval.defelt) = makeDefElem("encoding", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
26920 : }
26921 : #line 26922 "gram.c" /* yacc.c:1646 */
26922 2 : break;
26923 :
26924 : case 413:
26925 : #line 2965 "gram.y" /* yacc.c:1646 */
26926 : {
26927 : (yyval.defelt) = makeDefElem("format", (Node *)makeString("binary"), (yylsp[0]));
26928 : }
26929 : #line 26930 "gram.c" /* yacc.c:1646 */
26930 2 : break;
26931 :
26932 : case 414:
26933 : #line 2968 "gram.y" /* yacc.c:1646 */
26934 : { (yyval.defelt) = NULL; }
26935 : #line 26936 "gram.c" /* yacc.c:1646 */
26936 180 : break;
26937 :
26938 : case 415:
26939 : #line 2973 "gram.y" /* yacc.c:1646 */
26940 : {
26941 : (yyval.defelt) = makeDefElem("oids", (Node *)makeInteger(TRUE), (yylsp[-1]));
26942 : }
26943 : #line 26944 "gram.c" /* yacc.c:1646 */
26944 0 : break;
26945 :
26946 : case 416:
26947 : #line 2976 "gram.y" /* yacc.c:1646 */
26948 : { (yyval.defelt) = NULL; }
26949 : #line 26950 "gram.c" /* yacc.c:1646 */
26950 182 : break;
26951 :
26952 : case 417:
26953 : #line 2981 "gram.y" /* yacc.c:1646 */
26954 : {
26955 : (yyval.defelt) = makeDefElem("delimiter", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
26956 : }
26957 : #line 26958 "gram.c" /* yacc.c:1646 */
26958 0 : break;
26959 :
26960 : case 418:
26961 : #line 2984 "gram.y" /* yacc.c:1646 */
26962 : { (yyval.defelt) = NULL; }
26963 : #line 26964 "gram.c" /* yacc.c:1646 */
26964 182 : break;
26965 :
26966 : case 419:
26967 : #line 2988 "gram.y" /* yacc.c:1646 */
26968 : {}
26969 : #line 26970 "gram.c" /* yacc.c:1646 */
26970 0 : break;
26971 :
26972 : case 420:
26973 : #line 2989 "gram.y" /* yacc.c:1646 */
26974 : {}
26975 : #line 26976 "gram.c" /* yacc.c:1646 */
26976 0 : break;
26977 :
26978 : case 421:
26979 : #line 2995 "gram.y" /* yacc.c:1646 */
26980 : {
26981 : (yyval.list) = list_make1((yyvsp[0].defelt));
26982 : }
26983 : #line 26984 "gram.c" /* yacc.c:1646 */
26984 16 : break;
26985 :
26986 : case 422:
26987 : #line 2999 "gram.y" /* yacc.c:1646 */
26988 : {
26989 : (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
26990 : }
26991 : #line 26992 "gram.c" /* yacc.c:1646 */
26992 18 : break;
26993 :
26994 : case 423:
26995 : #line 3006 "gram.y" /* yacc.c:1646 */
26996 : {
26997 : (yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1]));
26998 : }
26999 : #line 27000 "gram.c" /* yacc.c:1646 */
27000 34 : break;
27001 :
27002 : case 424:
27003 : #line 3012 "gram.y" /* yacc.c:1646 */
27004 : { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
27005 : #line 27006 "gram.c" /* yacc.c:1646 */
27006 19 : break;
27007 :
27008 : case 425:
27009 : #line 3013 "gram.y" /* yacc.c:1646 */
27010 : { (yyval.node) = (Node *) (yyvsp[0].value); }
27011 : #line 27012 "gram.c" /* yacc.c:1646 */
27012 0 : break;
27013 :
27014 : case 426:
27015 : #line 3014 "gram.y" /* yacc.c:1646 */
27016 : { (yyval.node) = (Node *) makeNode(A_Star); }
27017 : #line 27018 "gram.c" /* yacc.c:1646 */
27018 2 : break;
27019 :
27020 : case 427:
27021 : #line 3015 "gram.y" /* yacc.c:1646 */
27022 : { (yyval.node) = (Node *) (yyvsp[-1].list); }
27023 : #line 27024 "gram.c" /* yacc.c:1646 */
27024 10 : break;
27025 :
27026 : case 428:
27027 : #line 3016 "gram.y" /* yacc.c:1646 */
27028 : { (yyval.node) = NULL; }
27029 : #line 27030 "gram.c" /* yacc.c:1646 */
27030 3 : break;
27031 :
27032 : case 429:
27033 : #line 3021 "gram.y" /* yacc.c:1646 */
27034 : {
27035 : (yyval.list) = list_make1((yyvsp[0].node));
27036 : }
27037 : #line 27038 "gram.c" /* yacc.c:1646 */
27038 10 : break;
27039 :
27040 : case 430:
27041 : #line 3025 "gram.y" /* yacc.c:1646 */
27042 : {
27043 : (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
27044 : }
27045 : #line 27046 "gram.c" /* yacc.c:1646 */
27046 2 : break;
27047 :
27048 : case 431:
27049 : #line 3032 "gram.y" /* yacc.c:1646 */
27050 : { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
27051 : #line 27052 "gram.c" /* yacc.c:1646 */
27052 12 : break;
27053 :
27054 : case 432:
27055 : #line 3045 "gram.y" /* yacc.c:1646 */
27056 : {
27057 : CreateStmt *n = makeNode(CreateStmt);
27058 : (yyvsp[-8].range)->relpersistence = (yyvsp[-10].ival);
27059 : n->relation = (yyvsp[-8].range);
27060 : n->tableElts = (yyvsp[-6].list);
27061 : n->inhRelations = (yyvsp[-4].list);
27062 : n->partspec = (yyvsp[-3].partspec);
27063 : n->ofTypename = NULL;
27064 : n->constraints = NIL;
27065 : n->options = (yyvsp[-2].list);
27066 : n->oncommit = (yyvsp[-1].oncommit);
27067 : n->tablespacename = (yyvsp[0].str);
27068 : n->if_not_exists = false;
27069 : (yyval.node) = (Node *)n;
27070 : }
27071 : #line 27072 "gram.c" /* yacc.c:1646 */
27072 1347 : break;
27073 :
27074 : case 433:
27075 : #line 3063 "gram.y" /* yacc.c:1646 */
27076 : {
27077 : CreateStmt *n = makeNode(CreateStmt);
27078 : (yyvsp[-8].range)->relpersistence = (yyvsp[-13].ival);
27079 : n->relation = (yyvsp[-8].range);
27080 : n->tableElts = (yyvsp[-6].list);
27081 : n->inhRelations = (yyvsp[-4].list);
27082 : n->partspec = (yyvsp[-3].partspec);
27083 : n->ofTypename = NULL;
27084 : n->constraints = NIL;
27085 : n->options = (yyvsp[-2].list);
27086 : n->oncommit = (yyvsp[-1].oncommit);
27087 : n->tablespacename = (yyvsp[0].str);
27088 : n->if_not_exists = true;
27089 : (yyval.node) = (Node *)n;
27090 : }
27091 : #line 27092 "gram.c" /* yacc.c:1646 */
27092 3 : break;
27093 :
27094 : case 434:
27095 : #line 3081 "gram.y" /* yacc.c:1646 */
27096 : {
27097 : CreateStmt *n = makeNode(CreateStmt);
27098 : (yyvsp[-7].range)->relpersistence = (yyvsp[-9].ival);
27099 : n->relation = (yyvsp[-7].range);
27100 : n->tableElts = (yyvsp[-4].list);
27101 : n->inhRelations = NIL;
27102 : n->partspec = (yyvsp[-3].partspec);
27103 : n->ofTypename = makeTypeNameFromNameList((yyvsp[-5].list));
27104 : n->ofTypename->location = (yylsp[-5]);
27105 : n->constraints = NIL;
27106 : n->options = (yyvsp[-2].list);
27107 : n->oncommit = (yyvsp[-1].oncommit);
27108 : n->tablespacename = (yyvsp[0].str);
27109 : n->if_not_exists = false;
27110 : (yyval.node) = (Node *)n;
27111 : }
27112 : #line 27113 "gram.c" /* yacc.c:1646 */
27113 16 : break;
27114 :
27115 : case 435:
27116 : #line 3100 "gram.y" /* yacc.c:1646 */
27117 : {
27118 : CreateStmt *n = makeNode(CreateStmt);
27119 : (yyvsp[-7].range)->relpersistence = (yyvsp[-12].ival);
27120 : n->relation = (yyvsp[-7].range);
27121 : n->tableElts = (yyvsp[-4].list);
27122 : n->inhRelations = NIL;
27123 : n->partspec = (yyvsp[-3].partspec);
27124 : n->ofTypename = makeTypeNameFromNameList((yyvsp[-5].list));
27125 : n->ofTypename->location = (yylsp[-5]);
27126 : n->constraints = NIL;
27127 : n->options = (yyvsp[-2].list);
27128 : n->oncommit = (yyvsp[-1].oncommit);
27129 : n->tablespacename = (yyvsp[0].str);
27130 : n->if_not_exists = true;
27131 : (yyval.node) = (Node *)n;
27132 : }
27133 : #line 27134 "gram.c" /* yacc.c:1646 */
27134 1 : break;
27135 :
27136 : case 436:
27137 : #line 3119 "gram.y" /* yacc.c:1646 */
27138 : {
27139 : CreateStmt *n = makeNode(CreateStmt);
27140 : (yyvsp[-9].range)->relpersistence = (yyvsp[-11].ival);
27141 : n->relation = (yyvsp[-9].range);
27142 : n->tableElts = (yyvsp[-5].list);
27143 : n->inhRelations = list_make1((yyvsp[-6].range));
27144 : n->partbound = (yyvsp[-4].partboundspec);
27145 : n->partspec = (yyvsp[-3].partspec);
27146 : n->ofTypename = NULL;
27147 : n->constraints = NIL;
27148 : n->options = (yyvsp[-2].list);
27149 : n->oncommit = (yyvsp[-1].oncommit);
27150 : n->tablespacename = (yyvsp[0].str);
27151 : n->if_not_exists = false;
27152 : (yyval.node) = (Node *)n;
27153 : }
27154 : #line 27155 "gram.c" /* yacc.c:1646 */
27155 138 : break;
27156 :
27157 : case 437:
27158 : #line 3138 "gram.y" /* yacc.c:1646 */
27159 : {
27160 : CreateStmt *n = makeNode(CreateStmt);
27161 : (yyvsp[-9].range)->relpersistence = (yyvsp[-14].ival);
27162 : n->relation = (yyvsp[-9].range);
27163 : n->tableElts = (yyvsp[-5].list);
27164 : n->inhRelations = list_make1((yyvsp[-6].range));
27165 : n->partbound = (yyvsp[-4].partboundspec);
27166 : n->partspec = (yyvsp[-3].partspec);
27167 : n->ofTypename = NULL;
27168 : n->constraints = NIL;
27169 : n->options = (yyvsp[-2].list);
27170 : n->oncommit = (yyvsp[-1].oncommit);
27171 : n->tablespacename = (yyvsp[0].str);
27172 : n->if_not_exists = true;
27173 : (yyval.node) = (Node *)n;
27174 : }
27175 : #line 27176 "gram.c" /* yacc.c:1646 */
27176 0 : break;
27177 :
27178 : case 438:
27179 : #line 3167 "gram.y" /* yacc.c:1646 */
27180 : { (yyval.ival) = RELPERSISTENCE_TEMP; }
27181 : #line 27182 "gram.c" /* yacc.c:1646 */
27182 29 : break;
27183 :
27184 : case 439:
27185 : #line 3168 "gram.y" /* yacc.c:1646 */
27186 : { (yyval.ival) = RELPERSISTENCE_TEMP; }
27187 : #line 27188 "gram.c" /* yacc.c:1646 */
27188 269 : break;
27189 :
27190 : case 440:
27191 : #line 3169 "gram.y" /* yacc.c:1646 */
27192 : { (yyval.ival) = RELPERSISTENCE_TEMP; }
27193 : #line 27194 "gram.c" /* yacc.c:1646 */
27194 0 : break;
27195 :
27196 : case 441:
27197 : #line 3170 "gram.y" /* yacc.c:1646 */
27198 : { (yyval.ival) = RELPERSISTENCE_TEMP; }
27199 : #line 27200 "gram.c" /* yacc.c:1646 */
27200 0 : break;
27201 :
27202 : case 442:
27203 : #line 3172 "gram.y" /* yacc.c:1646 */
27204 : {
27205 : ereport(WARNING,
27206 : (errmsg("GLOBAL is deprecated in temporary table creation"),
27207 : parser_errposition((yylsp[-1]))));
27208 : (yyval.ival) = RELPERSISTENCE_TEMP;
27209 : }
27210 : #line 27211 "gram.c" /* yacc.c:1646 */
27211 0 : break;
27212 :
27213 : case 443:
27214 : #line 3179 "gram.y" /* yacc.c:1646 */
27215 : {
27216 : ereport(WARNING,
27217 : (errmsg("GLOBAL is deprecated in temporary table creation"),
27218 : parser_errposition((yylsp[-1]))));
27219 : (yyval.ival) = RELPERSISTENCE_TEMP;
27220 : }
27221 : #line 27222 "gram.c" /* yacc.c:1646 */
27222 0 : break;
27223 :
27224 : case 444:
27225 : #line 3185 "gram.y" /* yacc.c:1646 */
27226 : { (yyval.ival) = RELPERSISTENCE_UNLOGGED; }
27227 : #line 27228 "gram.c" /* yacc.c:1646 */
27228 8 : break;
27229 :
27230 : case 445:
27231 : #line 3186 "gram.y" /* yacc.c:1646 */
27232 : { (yyval.ival) = RELPERSISTENCE_PERMANENT; }
27233 : #line 27234 "gram.c" /* yacc.c:1646 */
27234 1777 : break;
27235 :
27236 : case 446:
27237 : #line 3190 "gram.y" /* yacc.c:1646 */
27238 : { (yyval.list) = (yyvsp[0].list); }
27239 : #line 27240 "gram.c" /* yacc.c:1646 */
27240 1303 : break;
27241 :
27242 : case 447:
27243 : #line 3191 "gram.y" /* yacc.c:1646 */
27244 : { (yyval.list) = NIL; }
27245 : #line 27246 "gram.c" /* yacc.c:1646 */
27246 65 : break;
27247 :
27248 : case 448:
27249 : #line 3195 "gram.y" /* yacc.c:1646 */
27250 : { (yyval.list) = (yyvsp[-1].list); }
27251 : #line 27252 "gram.c" /* yacc.c:1646 */
27252 9 : break;
27253 :
27254 : case 449:
27255 : #line 3196 "gram.y" /* yacc.c:1646 */
27256 : { (yyval.list) = NIL; }
27257 : #line 27258 "gram.c" /* yacc.c:1646 */
27258 150 : break;
27259 :
27260 : case 450:
27261 : #line 3201 "gram.y" /* yacc.c:1646 */
27262 : {
27263 : (yyval.list) = list_make1((yyvsp[0].node));
27264 : }
27265 : #line 27266 "gram.c" /* yacc.c:1646 */
27266 1309 : break;
27267 :
27268 : case 451:
27269 : #line 3205 "gram.y" /* yacc.c:1646 */
27270 : {
27271 : (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
27272 : }
27273 : #line 27274 "gram.c" /* yacc.c:1646 */
27274 1317 : break;
27275 :
27276 : case 452:
27277 : #line 3212 "gram.y" /* yacc.c:1646 */
27278 : {
27279 : (yyval.list) = list_make1((yyvsp[0].node));
27280 : }
27281 : #line 27282 "gram.c" /* yacc.c:1646 */
27282 9 : break;
27283 :
27284 : case 453:
27285 : #line 3216 "gram.y" /* yacc.c:1646 */
27286 : {
27287 : (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
27288 : }
27289 : #line 27290 "gram.c" /* yacc.c:1646 */
27290 9 : break;
27291 :
27292 : case 454:
27293 : #line 3222 "gram.y" /* yacc.c:1646 */
27294 : { (yyval.node) = (yyvsp[0].node); }
27295 : #line 27296 "gram.c" /* yacc.c:1646 */
27296 2443 : break;
27297 :
27298 : case 455:
27299 : #line 3223 "gram.y" /* yacc.c:1646 */
27300 : { (yyval.node) = (yyvsp[0].node); }
27301 : #line 27302 "gram.c" /* yacc.c:1646 */
27302 50 : break;
27303 :
27304 : case 456:
27305 : #line 3224 "gram.y" /* yacc.c:1646 */
27306 : { (yyval.node) = (yyvsp[0].node); }
27307 : #line 27308 "gram.c" /* yacc.c:1646 */
27308 133 : break;
27309 :
27310 : case 457:
27311 : #line 3228 "gram.y" /* yacc.c:1646 */
27312 : { (yyval.node) = (yyvsp[0].node); }
27313 : #line 27314 "gram.c" /* yacc.c:1646 */
27314 12 : break;
27315 :
27316 : case 458:
27317 : #line 3229 "gram.y" /* yacc.c:1646 */
27318 : { (yyval.node) = (yyvsp[0].node); }
27319 : #line 27320 "gram.c" /* yacc.c:1646 */
27320 6 : break;
27321 :
27322 : case 459:
27323 : #line 3233 "gram.y" /* yacc.c:1646 */
27324 : {
27325 : ColumnDef *n = makeNode(ColumnDef);
27326 : n->colname = (yyvsp[-3].str);
27327 : n->typeName = (yyvsp[-2].typnam);
27328 : n->inhcount = 0;
27329 : n->is_local = true;
27330 : n->is_not_null = false;
27331 : n->is_from_type = false;
27332 : n->is_from_parent = false;
27333 : n->storage = 0;
27334 : n->raw_default = NULL;
27335 : n->cooked_default = NULL;
27336 : n->collOid = InvalidOid;
27337 : n->fdwoptions = (yyvsp[-1].list);
27338 : SplitColQualList((yyvsp[0].list), &n->constraints, &n->collClause,
27339 : yyscanner);
27340 : n->location = (yylsp[-3]);
27341 : (yyval.node) = (Node *)n;
27342 : }
27343 : #line 27344 "gram.c" /* yacc.c:1646 */
27344 2590 : break;
27345 :
27346 : case 460:
27347 : #line 3255 "gram.y" /* yacc.c:1646 */
27348 : {
27349 : ColumnDef *n = makeNode(ColumnDef);
27350 : n->colname = (yyvsp[-1].str);
27351 : n->typeName = NULL;
27352 : n->inhcount = 0;
27353 : n->is_local = true;
27354 : n->is_not_null = false;
27355 : n->is_from_type = false;
27356 : n->is_from_parent = false;
27357 : n->storage = 0;
27358 : n->raw_default = NULL;
27359 : n->cooked_default = NULL;
27360 : n->collOid = InvalidOid;
27361 : SplitColQualList((yyvsp[0].list), &n->constraints, &n->collClause,
27362 : yyscanner);
27363 : n->location = (yylsp[-1]);
27364 : (yyval.node) = (Node *)n;
27365 : }
27366 : #line 27367 "gram.c" /* yacc.c:1646 */
27367 5 : break;
27368 :
27369 : case 461:
27370 : #line 3274 "gram.y" /* yacc.c:1646 */
27371 : {
27372 : ColumnDef *n = makeNode(ColumnDef);
27373 : n->colname = (yyvsp[-3].str);
27374 : n->typeName = NULL;
27375 : n->inhcount = 0;
27376 : n->is_local = true;
27377 : n->is_not_null = false;
27378 : n->is_from_type = false;
27379 : n->is_from_parent = false;
27380 : n->storage = 0;
27381 : n->raw_default = NULL;
27382 : n->cooked_default = NULL;
27383 : n->collOid = InvalidOid;
27384 : SplitColQualList((yyvsp[0].list), &n->constraints, &n->collClause,
27385 : yyscanner);
27386 : n->location = (yylsp[-3]);
27387 : (yyval.node) = (Node *)n;
27388 : }
27389 : #line 27390 "gram.c" /* yacc.c:1646 */
27390 7 : break;
27391 :
27392 : case 462:
27393 : #line 3295 "gram.y" /* yacc.c:1646 */
27394 : { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
27395 : #line 27396 "gram.c" /* yacc.c:1646 */
27396 600 : break;
27397 :
27398 : case 463:
27399 : #line 3296 "gram.y" /* yacc.c:1646 */
27400 : { (yyval.list) = NIL; }
27401 : #line 27402 "gram.c" /* yacc.c:1646 */
27402 2688 : break;
27403 :
27404 : case 464:
27405 : #line 3301 "gram.y" /* yacc.c:1646 */
27406 : {
27407 : Constraint *n = castNode(Constraint, (yyvsp[0].node));
27408 : n->conname = (yyvsp[-1].str);
27409 : n->location = (yylsp[-2]);
27410 : (yyval.node) = (Node *) n;
27411 : }
27412 : #line 27413 "gram.c" /* yacc.c:1646 */
27413 18 : break;
27414 :
27415 : case 465:
27416 : #line 3307 "gram.y" /* yacc.c:1646 */
27417 : { (yyval.node) = (yyvsp[0].node); }
27418 : #line 27419 "gram.c" /* yacc.c:1646 */
27419 553 : break;
27420 :
27421 : case 466:
27422 : #line 3308 "gram.y" /* yacc.c:1646 */
27423 : { (yyval.node) = (yyvsp[0].node); }
27424 : #line 27425 "gram.c" /* yacc.c:1646 */
27425 12 : break;
27426 :
27427 : case 467:
27428 : #line 3310 "gram.y" /* yacc.c:1646 */
27429 : {
27430 : /*
27431 : * Note: the CollateClause is momentarily included in
27432 : * the list built by ColQualList, but we split it out
27433 : * again in SplitColQualList.
27434 : */
27435 : CollateClause *n = makeNode(CollateClause);
27436 : n->arg = NULL;
27437 : n->collname = (yyvsp[0].list);
27438 : n->location = (yylsp[-1]);
27439 : (yyval.node) = (Node *) n;
27440 : }
27441 : #line 27442 "gram.c" /* yacc.c:1646 */
27442 17 : break;
27443 :
27444 : case 468:
27445 : #line 3341 "gram.y" /* yacc.c:1646 */
27446 : {
27447 : Constraint *n = makeNode(Constraint);
27448 : n->contype = CONSTR_NOTNULL;
27449 : n->location = (yylsp[-1]);
27450 : (yyval.node) = (Node *)n;
27451 : }
27452 : #line 27453 "gram.c" /* yacc.c:1646 */
27453 131 : break;
27454 :
27455 : case 469:
27456 : #line 3348 "gram.y" /* yacc.c:1646 */
27457 : {
27458 : Constraint *n = makeNode(Constraint);
27459 : n->contype = CONSTR_NULL;
27460 : n->location = (yylsp[0]);
27461 : (yyval.node) = (Node *)n;
27462 : }
27463 : #line 27464 "gram.c" /* yacc.c:1646 */
27464 1 : break;
27465 :
27466 : case 470:
27467 : #line 3355 "gram.y" /* yacc.c:1646 */
27468 : {
27469 : Constraint *n = makeNode(Constraint);
27470 : n->contype = CONSTR_UNIQUE;
27471 : n->location = (yylsp[-2]);
27472 : n->keys = NULL;
27473 : n->options = (yyvsp[-1].list);
27474 : n->indexname = NULL;
27475 : n->indexspace = (yyvsp[0].str);
27476 : (yyval.node) = (Node *)n;
27477 : }
27478 : #line 27479 "gram.c" /* yacc.c:1646 */
27479 37 : break;
27480 :
27481 : case 471:
27482 : #line 3366 "gram.y" /* yacc.c:1646 */
27483 : {
27484 : Constraint *n = makeNode(Constraint);
27485 : n->contype = CONSTR_PRIMARY;
27486 : n->location = (yylsp[-3]);
27487 : n->keys = NULL;
27488 : n->options = (yyvsp[-1].list);
27489 : n->indexname = NULL;
27490 : n->indexspace = (yyvsp[0].str);
27491 : (yyval.node) = (Node *)n;
27492 : }
27493 : #line 27494 "gram.c" /* yacc.c:1646 */
27494 178 : break;
27495 :
27496 : case 472:
27497 : #line 3377 "gram.y" /* yacc.c:1646 */
27498 : {
27499 : Constraint *n = makeNode(Constraint);
27500 : n->contype = CONSTR_CHECK;
27501 : n->location = (yylsp[-4]);
27502 : n->is_no_inherit = (yyvsp[0].boolean);
27503 : n->raw_expr = (yyvsp[-2].node);
27504 : n->cooked_expr = NULL;
27505 : n->skip_validation = false;
27506 : n->initially_valid = true;
27507 : (yyval.node) = (Node *)n;
27508 : }
27509 : #line 27510 "gram.c" /* yacc.c:1646 */
27510 59 : break;
27511 :
27512 : case 473:
27513 : #line 3389 "gram.y" /* yacc.c:1646 */
27514 : {
27515 : Constraint *n = makeNode(Constraint);
27516 : n->contype = CONSTR_DEFAULT;
27517 : n->location = (yylsp[-1]);
27518 : n->raw_expr = (yyvsp[0].node);
27519 : n->cooked_expr = NULL;
27520 : (yyval.node) = (Node *)n;
27521 : }
27522 : #line 27523 "gram.c" /* yacc.c:1646 */
27523 92 : break;
27524 :
27525 : case 474:
27526 : #line 3398 "gram.y" /* yacc.c:1646 */
27527 : {
27528 : Constraint *n = makeNode(Constraint);
27529 : n->contype = CONSTR_IDENTITY;
27530 : n->generated_when = (yyvsp[-3].ival);
27531 : n->options = (yyvsp[0].list);
27532 : n->location = (yylsp[-4]);
27533 : (yyval.node) = (Node *)n;
27534 : }
27535 : #line 27536 "gram.c" /* yacc.c:1646 */
27536 17 : break;
27537 :
27538 : case 475:
27539 : #line 3407 "gram.y" /* yacc.c:1646 */
27540 : {
27541 : Constraint *n = makeNode(Constraint);
27542 : n->contype = CONSTR_FOREIGN;
27543 : n->location = (yylsp[-4]);
27544 : n->pktable = (yyvsp[-3].range);
27545 : n->fk_attrs = NIL;
27546 : n->pk_attrs = (yyvsp[-2].list);
27547 : n->fk_matchtype = (yyvsp[-1].ival);
27548 : n->fk_upd_action = (char) ((yyvsp[0].ival) >> 8);
27549 : n->fk_del_action = (char) ((yyvsp[0].ival) & 0xFF);
27550 : n->skip_validation = false;
27551 : n->initially_valid = true;
27552 : (yyval.node) = (Node *)n;
27553 : }
27554 : #line 27555 "gram.c" /* yacc.c:1646 */
27555 56 : break;
27556 :
27557 : case 476:
27558 : #line 3424 "gram.y" /* yacc.c:1646 */
27559 : { (yyval.ival) = ATTRIBUTE_IDENTITY_ALWAYS; }
27560 : #line 27561 "gram.c" /* yacc.c:1646 */
27561 17 : break;
27562 :
27563 : case 477:
27564 : #line 3425 "gram.y" /* yacc.c:1646 */
27565 : { (yyval.ival) = ATTRIBUTE_IDENTITY_BY_DEFAULT; }
27566 : #line 27567 "gram.c" /* yacc.c:1646 */
27567 9 : break;
27568 :
27569 : case 478:
27570 : #line 3445 "gram.y" /* yacc.c:1646 */
27571 : {
27572 : Constraint *n = makeNode(Constraint);
27573 : n->contype = CONSTR_ATTR_DEFERRABLE;
27574 : n->location = (yylsp[0]);
27575 : (yyval.node) = (Node *)n;
27576 : }
27577 : #line 27578 "gram.c" /* yacc.c:1646 */
27578 8 : break;
27579 :
27580 : case 479:
27581 : #line 3452 "gram.y" /* yacc.c:1646 */
27582 : {
27583 : Constraint *n = makeNode(Constraint);
27584 : n->contype = CONSTR_ATTR_NOT_DEFERRABLE;
27585 : n->location = (yylsp[-1]);
27586 : (yyval.node) = (Node *)n;
27587 : }
27588 : #line 27589 "gram.c" /* yacc.c:1646 */
27589 0 : break;
27590 :
27591 : case 480:
27592 : #line 3459 "gram.y" /* yacc.c:1646 */
27593 : {
27594 : Constraint *n = makeNode(Constraint);
27595 : n->contype = CONSTR_ATTR_DEFERRED;
27596 : n->location = (yylsp[-1]);
27597 : (yyval.node) = (Node *)n;
27598 : }
27599 : #line 27600 "gram.c" /* yacc.c:1646 */
27600 4 : break;
27601 :
27602 : case 481:
27603 : #line 3466 "gram.y" /* yacc.c:1646 */
27604 : {
27605 : Constraint *n = makeNode(Constraint);
27606 : n->contype = CONSTR_ATTR_IMMEDIATE;
27607 : n->location = (yylsp[-1]);
27608 : (yyval.node) = (Node *)n;
27609 : }
27610 : #line 27611 "gram.c" /* yacc.c:1646 */
27611 0 : break;
27612 :
27613 : case 482:
27614 : #line 3477 "gram.y" /* yacc.c:1646 */
27615 : {
27616 : TableLikeClause *n = makeNode(TableLikeClause);
27617 : n->relation = (yyvsp[-1].range);
27618 : n->options = (yyvsp[0].ival);
27619 : (yyval.node) = (Node *)n;
27620 : }
27621 : #line 27622 "gram.c" /* yacc.c:1646 */
27622 50 : break;
27623 :
27624 : case 483:
27625 : #line 3486 "gram.y" /* yacc.c:1646 */
27626 : { (yyval.ival) = (yyvsp[-2].ival) | (yyvsp[0].ival); }
27627 : #line 27628 "gram.c" /* yacc.c:1646 */
27628 20 : break;
27629 :
27630 : case 484:
27631 : #line 3487 "gram.y" /* yacc.c:1646 */
27632 : { (yyval.ival) = (yyvsp[-2].ival) & ~(yyvsp[0].ival); }
27633 : #line 27634 "gram.c" /* yacc.c:1646 */
27634 0 : break;
27635 :
27636 : case 485:
27637 : #line 3488 "gram.y" /* yacc.c:1646 */
27638 : { (yyval.ival) = 0; }
27639 : #line 27640 "gram.c" /* yacc.c:1646 */
27640 50 : break;
27641 :
27642 : case 486:
27643 : #line 3492 "gram.y" /* yacc.c:1646 */
27644 : { (yyval.ival) = CREATE_TABLE_LIKE_DEFAULTS; }
27645 : #line 27646 "gram.c" /* yacc.c:1646 */
27646 1 : break;
27647 :
27648 : case 487:
27649 : #line 3493 "gram.y" /* yacc.c:1646 */
27650 : { (yyval.ival) = CREATE_TABLE_LIKE_CONSTRAINTS; }
27651 : #line 27652 "gram.c" /* yacc.c:1646 */
27652 5 : break;
27653 :
27654 : case 488:
27655 : #line 3494 "gram.y" /* yacc.c:1646 */
27656 : { (yyval.ival) = CREATE_TABLE_LIKE_IDENTITY; }
27657 : #line 27658 "gram.c" /* yacc.c:1646 */
27658 1 : break;
27659 :
27660 : case 489:
27661 : #line 3495 "gram.y" /* yacc.c:1646 */
27662 : { (yyval.ival) = CREATE_TABLE_LIKE_INDEXES; }
27663 : #line 27664 "gram.c" /* yacc.c:1646 */
27664 3 : break;
27665 :
27666 : case 490:
27667 : #line 3496 "gram.y" /* yacc.c:1646 */
27668 : { (yyval.ival) = CREATE_TABLE_LIKE_STORAGE; }
27669 : #line 27670 "gram.c" /* yacc.c:1646 */
27670 4 : break;
27671 :
27672 : case 491:
27673 : #line 3497 "gram.y" /* yacc.c:1646 */
27674 : { (yyval.ival) = CREATE_TABLE_LIKE_COMMENTS; }
27675 : #line 27676 "gram.c" /* yacc.c:1646 */
27676 4 : break;
27677 :
27678 : case 492:
27679 : #line 3498 "gram.y" /* yacc.c:1646 */
27680 : { (yyval.ival) = CREATE_TABLE_LIKE_ALL; }
27681 : #line 27682 "gram.c" /* yacc.c:1646 */
27682 2 : break;
27683 :
27684 : case 493:
27685 : #line 3508 "gram.y" /* yacc.c:1646 */
27686 : {
27687 : Constraint *n = castNode(Constraint, (yyvsp[0].node));
27688 : n->conname = (yyvsp[-1].str);
27689 : n->location = (yylsp[-2]);
27690 : (yyval.node) = (Node *) n;
27691 : }
27692 : #line 27693 "gram.c" /* yacc.c:1646 */
27693 173 : break;
27694 :
27695 : case 494:
27696 : #line 3514 "gram.y" /* yacc.c:1646 */
27697 : { (yyval.node) = (yyvsp[0].node); }
27698 : #line 27699 "gram.c" /* yacc.c:1646 */
27699 155 : break;
27700 :
27701 : case 495:
27702 : #line 3519 "gram.y" /* yacc.c:1646 */
27703 : {
27704 : Constraint *n = makeNode(Constraint);
27705 : n->contype = CONSTR_CHECK;
27706 : n->location = (yylsp[-4]);
27707 : n->raw_expr = (yyvsp[-2].node);
27708 : n->cooked_expr = NULL;
27709 : processCASbits((yyvsp[0].ival), (yylsp[0]), "CHECK",
27710 : NULL, NULL, &n->skip_validation,
27711 : &n->is_no_inherit, yyscanner);
27712 : n->initially_valid = !n->skip_validation;
27713 : (yyval.node) = (Node *)n;
27714 : }
27715 : #line 27716 "gram.c" /* yacc.c:1646 */
27716 121 : break;
27717 :
27718 : case 496:
27719 : #line 3533 "gram.y" /* yacc.c:1646 */
27720 : {
27721 : Constraint *n = makeNode(Constraint);
27722 : n->contype = CONSTR_UNIQUE;
27723 : n->location = (yylsp[-6]);
27724 : n->keys = (yyvsp[-4].list);
27725 : n->options = (yyvsp[-2].list);
27726 : n->indexname = NULL;
27727 : n->indexspace = (yyvsp[-1].str);
27728 : processCASbits((yyvsp[0].ival), (yylsp[0]), "UNIQUE",
27729 : &n->deferrable, &n->initdeferred, NULL,
27730 : NULL, yyscanner);
27731 : (yyval.node) = (Node *)n;
27732 : }
27733 : #line 27734 "gram.c" /* yacc.c:1646 */
27734 30 : break;
27735 :
27736 : case 497:
27737 : #line 3547 "gram.y" /* yacc.c:1646 */
27738 : {
27739 : Constraint *n = makeNode(Constraint);
27740 : n->contype = CONSTR_UNIQUE;
27741 : n->location = (yylsp[-2]);
27742 : n->keys = NIL;
27743 : n->options = NIL;
27744 : n->indexname = (yyvsp[-1].str);
27745 : n->indexspace = NULL;
27746 : processCASbits((yyvsp[0].ival), (yylsp[0]), "UNIQUE",
27747 : &n->deferrable, &n->initdeferred, NULL,
27748 : NULL, yyscanner);
27749 : (yyval.node) = (Node *)n;
27750 : }
27751 : #line 27752 "gram.c" /* yacc.c:1646 */
27752 0 : break;
27753 :
27754 : case 498:
27755 : #line 3562 "gram.y" /* yacc.c:1646 */
27756 : {
27757 : Constraint *n = makeNode(Constraint);
27758 : n->contype = CONSTR_PRIMARY;
27759 : n->location = (yylsp[-7]);
27760 : n->keys = (yyvsp[-4].list);
27761 : n->options = (yyvsp[-2].list);
27762 : n->indexname = NULL;
27763 : n->indexspace = (yyvsp[-1].str);
27764 : processCASbits((yyvsp[0].ival), (yylsp[0]), "PRIMARY KEY",
27765 : &n->deferrable, &n->initdeferred, NULL,
27766 : NULL, yyscanner);
27767 : (yyval.node) = (Node *)n;
27768 : }
27769 : #line 27770 "gram.c" /* yacc.c:1646 */
27770 80 : break;
27771 :
27772 : case 499:
27773 : #line 3576 "gram.y" /* yacc.c:1646 */
27774 : {
27775 : Constraint *n = makeNode(Constraint);
27776 : n->contype = CONSTR_PRIMARY;
27777 : n->location = (yylsp[-3]);
27778 : n->keys = NIL;
27779 : n->options = NIL;
27780 : n->indexname = (yyvsp[-1].str);
27781 : n->indexspace = NULL;
27782 : processCASbits((yyvsp[0].ival), (yylsp[0]), "PRIMARY KEY",
27783 : &n->deferrable, &n->initdeferred, NULL,
27784 : NULL, yyscanner);
27785 : (yyval.node) = (Node *)n;
27786 : }
27787 : #line 27788 "gram.c" /* yacc.c:1646 */
27788 2 : break;
27789 :
27790 : case 500:
27791 : #line 3592 "gram.y" /* yacc.c:1646 */
27792 : {
27793 : Constraint *n = makeNode(Constraint);
27794 : n->contype = CONSTR_EXCLUSION;
27795 : n->location = (yylsp[-8]);
27796 : n->access_method = (yyvsp[-7].str);
27797 : n->exclusions = (yyvsp[-5].list);
27798 : n->options = (yyvsp[-3].list);
27799 : n->indexname = NULL;
27800 : n->indexspace = (yyvsp[-2].str);
27801 : n->where_clause = (yyvsp[-1].node);
27802 : processCASbits((yyvsp[0].ival), (yylsp[0]), "EXCLUDE",
27803 : &n->deferrable, &n->initdeferred, NULL,
27804 : NULL, yyscanner);
27805 : (yyval.node) = (Node *)n;
27806 : }
27807 : #line 27808 "gram.c" /* yacc.c:1646 */
27808 10 : break;
27809 :
27810 : case 501:
27811 : #line 3609 "gram.y" /* yacc.c:1646 */
27812 : {
27813 : Constraint *n = makeNode(Constraint);
27814 : n->contype = CONSTR_FOREIGN;
27815 : n->location = (yylsp[-10]);
27816 : n->pktable = (yyvsp[-4].range);
27817 : n->fk_attrs = (yyvsp[-7].list);
27818 : n->pk_attrs = (yyvsp[-3].list);
27819 : n->fk_matchtype = (yyvsp[-2].ival);
27820 : n->fk_upd_action = (char) ((yyvsp[-1].ival) >> 8);
27821 : n->fk_del_action = (char) ((yyvsp[-1].ival) & 0xFF);
27822 : processCASbits((yyvsp[0].ival), (yylsp[0]), "FOREIGN KEY",
27823 : &n->deferrable, &n->initdeferred,
27824 : &n->skip_validation, NULL,
27825 : yyscanner);
27826 : n->initially_valid = !n->skip_validation;
27827 : (yyval.node) = (Node *)n;
27828 : }
27829 : #line 27830 "gram.c" /* yacc.c:1646 */
27830 85 : break;
27831 :
27832 : case 502:
27833 : #line 3628 "gram.y" /* yacc.c:1646 */
27834 : { (yyval.boolean) = TRUE; }
27835 : #line 27836 "gram.c" /* yacc.c:1646 */
27836 1 : break;
27837 :
27838 : case 503:
27839 : #line 3629 "gram.y" /* yacc.c:1646 */
27840 : { (yyval.boolean) = FALSE; }
27841 : #line 27842 "gram.c" /* yacc.c:1646 */
27842 58 : break;
27843 :
27844 : case 504:
27845 : #line 3633 "gram.y" /* yacc.c:1646 */
27846 : { (yyval.list) = (yyvsp[-1].list); }
27847 : #line 27848 "gram.c" /* yacc.c:1646 */
27848 171 : break;
27849 :
27850 : case 505:
27851 : #line 3634 "gram.y" /* yacc.c:1646 */
27852 : { (yyval.list) = NIL; }
27853 : #line 27854 "gram.c" /* yacc.c:1646 */
27854 990 : break;
27855 :
27856 : case 506:
27857 : #line 3638 "gram.y" /* yacc.c:1646 */
27858 : { (yyval.list) = list_make1((yyvsp[0].node)); }
27859 : #line 27860 "gram.c" /* yacc.c:1646 */
27860 384 : break;
27861 :
27862 : case 507:
27863 : #line 3639 "gram.y" /* yacc.c:1646 */
27864 : { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
27865 : #line 27866 "gram.c" /* yacc.c:1646 */
27866 252 : break;
27867 :
27868 : case 508:
27869 : #line 3643 "gram.y" /* yacc.c:1646 */
27870 : {
27871 : (yyval.node) = (Node *) makeString((yyvsp[0].str));
27872 : }
27873 : #line 27874 "gram.c" /* yacc.c:1646 */
27874 636 : break;
27875 :
27876 : case 509:
27877 : #line 3649 "gram.y" /* yacc.c:1646 */
27878 : {
27879 : (yyval.ival) = FKCONSTR_MATCH_FULL;
27880 : }
27881 : #line 27882 "gram.c" /* yacc.c:1646 */
27882 12 : break;
27883 :
27884 : case 510:
27885 : #line 3653 "gram.y" /* yacc.c:1646 */
27886 : {
27887 : ereport(ERROR,
27888 : (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
27889 : errmsg("MATCH PARTIAL not yet implemented"),
27890 : parser_errposition((yylsp[-1]))));
27891 : (yyval.ival) = FKCONSTR_MATCH_PARTIAL;
27892 : }
27893 : #line 27894 "gram.c" /* yacc.c:1646 */
27894 : break;
27895 :
27896 : case 511:
27897 : #line 3661 "gram.y" /* yacc.c:1646 */
27898 : {
27899 : (yyval.ival) = FKCONSTR_MATCH_SIMPLE;
27900 : }
27901 : #line 27902 "gram.c" /* yacc.c:1646 */
27902 0 : break;
27903 :
27904 : case 512:
27905 : #line 3665 "gram.y" /* yacc.c:1646 */
27906 : {
27907 : (yyval.ival) = FKCONSTR_MATCH_SIMPLE;
27908 : }
27909 : #line 27910 "gram.c" /* yacc.c:1646 */
27910 129 : break;
27911 :
27912 : case 513:
27913 : #line 3671 "gram.y" /* yacc.c:1646 */
27914 : { (yyval.list) = list_make1((yyvsp[0].list)); }
27915 : #line 27916 "gram.c" /* yacc.c:1646 */
27916 10 : break;
27917 :
27918 : case 514:
27919 : #line 3673 "gram.y" /* yacc.c:1646 */
27920 : { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].list)); }
27921 : #line 27922 "gram.c" /* yacc.c:1646 */
27922 4 : break;
27923 :
27924 : case 515:
27925 : #line 3677 "gram.y" /* yacc.c:1646 */
27926 : {
27927 : (yyval.list) = list_make2((yyvsp[-2].ielem), (yyvsp[0].list));
27928 : }
27929 : #line 27930 "gram.c" /* yacc.c:1646 */
27930 14 : break;
27931 :
27932 : case 516:
27933 : #line 3682 "gram.y" /* yacc.c:1646 */
27934 : {
27935 : (yyval.list) = list_make2((yyvsp[-5].ielem), (yyvsp[-1].list));
27936 : }
27937 : #line 27938 "gram.c" /* yacc.c:1646 */
27938 0 : break;
27939 :
27940 : case 517:
27941 : #line 3688 "gram.y" /* yacc.c:1646 */
27942 : { (yyval.node) = (yyvsp[-1].node); }
27943 : #line 27944 "gram.c" /* yacc.c:1646 */
27944 1 : break;
27945 :
27946 : case 518:
27947 : #line 3689 "gram.y" /* yacc.c:1646 */
27948 : { (yyval.node) = NULL; }
27949 : #line 27950 "gram.c" /* yacc.c:1646 */
27950 9 : break;
27951 :
27952 : case 519:
27953 : #line 3700 "gram.y" /* yacc.c:1646 */
27954 : { (yyval.ival) = ((yyvsp[0].ival) << 8) | (FKCONSTR_ACTION_NOACTION & 0xFF); }
27955 : #line 27956 "gram.c" /* yacc.c:1646 */
27956 3 : break;
27957 :
27958 : case 520:
27959 : #line 3702 "gram.y" /* yacc.c:1646 */
27960 : { (yyval.ival) = (FKCONSTR_ACTION_NOACTION << 8) | ((yyvsp[0].ival) & 0xFF); }
27961 : #line 27962 "gram.c" /* yacc.c:1646 */
27962 3 : break;
27963 :
27964 : case 521:
27965 : #line 3704 "gram.y" /* yacc.c:1646 */
27966 : { (yyval.ival) = ((yyvsp[-1].ival) << 8) | ((yyvsp[0].ival) & 0xFF); }
27967 : #line 27968 "gram.c" /* yacc.c:1646 */
27968 6 : break;
27969 :
27970 : case 522:
27971 : #line 3706 "gram.y" /* yacc.c:1646 */
27972 : { (yyval.ival) = ((yyvsp[0].ival) << 8) | ((yyvsp[-1].ival) & 0xFF); }
27973 : #line 27974 "gram.c" /* yacc.c:1646 */
27974 12 : break;
27975 :
27976 : case 523:
27977 : #line 3708 "gram.y" /* yacc.c:1646 */
27978 : { (yyval.ival) = (FKCONSTR_ACTION_NOACTION << 8) | (FKCONSTR_ACTION_NOACTION & 0xFF); }
27979 : #line 27980 "gram.c" /* yacc.c:1646 */
27980 117 : break;
27981 :
27982 : case 524:
27983 : #line 3711 "gram.y" /* yacc.c:1646 */
27984 : { (yyval.ival) = (yyvsp[0].ival); }
27985 : #line 27986 "gram.c" /* yacc.c:1646 */
27986 21 : break;
27987 :
27988 : case 525:
27989 : #line 3714 "gram.y" /* yacc.c:1646 */
27990 : { (yyval.ival) = (yyvsp[0].ival); }
27991 : #line 27992 "gram.c" /* yacc.c:1646 */
27992 21 : break;
27993 :
27994 : case 526:
27995 : #line 3718 "gram.y" /* yacc.c:1646 */
27996 : { (yyval.ival) = FKCONSTR_ACTION_NOACTION; }
27997 : #line 27998 "gram.c" /* yacc.c:1646 */
27998 7 : break;
27999 :
28000 : case 527:
28001 : #line 3719 "gram.y" /* yacc.c:1646 */
28002 : { (yyval.ival) = FKCONSTR_ACTION_RESTRICT; }
28003 : #line 28004 "gram.c" /* yacc.c:1646 */
28004 1 : break;
28005 :
28006 : case 528:
28007 : #line 3720 "gram.y" /* yacc.c:1646 */
28008 : { (yyval.ival) = FKCONSTR_ACTION_CASCADE; }
28009 : #line 28010 "gram.c" /* yacc.c:1646 */
28010 18 : break;
28011 :
28012 : case 529:
28013 : #line 3721 "gram.y" /* yacc.c:1646 */
28014 : { (yyval.ival) = FKCONSTR_ACTION_SETNULL; }
28015 : #line 28016 "gram.c" /* yacc.c:1646 */
28016 11 : break;
28017 :
28018 : case 530:
28019 : #line 3722 "gram.y" /* yacc.c:1646 */
28020 : { (yyval.ival) = FKCONSTR_ACTION_SETDEFAULT; }
28021 : #line 28022 "gram.c" /* yacc.c:1646 */
28022 5 : break;
28023 :
28024 : case 531:
28025 : #line 3725 "gram.y" /* yacc.c:1646 */
28026 : { (yyval.list) = (yyvsp[-1].list); }
28027 : #line 28028 "gram.c" /* yacc.c:1646 */
28028 146 : break;
28029 :
28030 : case 532:
28031 : #line 3726 "gram.y" /* yacc.c:1646 */
28032 : { (yyval.list) = NIL; }
28033 : #line 28034 "gram.c" /* yacc.c:1646 */
28034 1219 : break;
28035 :
28036 : case 533:
28037 : #line 3730 "gram.y" /* yacc.c:1646 */
28038 : { (yyval.partspec) = (yyvsp[0].partspec); }
28039 : #line 28040 "gram.c" /* yacc.c:1646 */
28040 98 : break;
28041 :
28042 : case 534:
28043 : #line 3731 "gram.y" /* yacc.c:1646 */
28044 : { (yyval.partspec) = NULL; }
28045 : #line 28046 "gram.c" /* yacc.c:1646 */
28046 1407 : break;
28047 :
28048 : case 535:
28049 : #line 3735 "gram.y" /* yacc.c:1646 */
28050 : {
28051 : PartitionSpec *n = makeNode(PartitionSpec);
28052 :
28053 : n->strategy = (yyvsp[-3].str);
28054 : n->partParams = (yyvsp[-1].list);
28055 : n->location = (yylsp[-5]);
28056 :
28057 : (yyval.partspec) = n;
28058 : }
28059 : #line 28060 "gram.c" /* yacc.c:1646 */
28060 98 : break;
28061 :
28062 : case 536:
28063 : #line 3746 "gram.y" /* yacc.c:1646 */
28064 : { (yyval.str) = (yyvsp[0].str); }
28065 : #line 28066 "gram.c" /* yacc.c:1646 */
28066 48 : break;
28067 :
28068 : case 537:
28069 : #line 3747 "gram.y" /* yacc.c:1646 */
28070 : { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
28071 : #line 28072 "gram.c" /* yacc.c:1646 */
28072 50 : break;
28073 :
28074 : case 538:
28075 : #line 3750 "gram.y" /* yacc.c:1646 */
28076 : { (yyval.list) = list_make1((yyvsp[0].partelem)); }
28077 : #line 28078 "gram.c" /* yacc.c:1646 */
28078 98 : break;
28079 :
28080 : case 539:
28081 : #line 3751 "gram.y" /* yacc.c:1646 */
28082 : { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].partelem)); }
28083 : #line 28084 "gram.c" /* yacc.c:1646 */
28084 21 : break;
28085 :
28086 : case 540:
28087 : #line 3755 "gram.y" /* yacc.c:1646 */
28088 : {
28089 : PartitionElem *n = makeNode(PartitionElem);
28090 :
28091 : n->name = (yyvsp[-2].str);
28092 : n->expr = NULL;
28093 : n->collation = (yyvsp[-1].list);
28094 : n->opclass = (yyvsp[0].list);
28095 : n->location = (yylsp[-2]);
28096 : (yyval.partelem) = n;
28097 : }
28098 : #line 28099 "gram.c" /* yacc.c:1646 */
28099 98 : break;
28100 :
28101 : case 541:
28102 : #line 3766 "gram.y" /* yacc.c:1646 */
28103 : {
28104 : PartitionElem *n = makeNode(PartitionElem);
28105 :
28106 : n->name = NULL;
28107 : n->expr = (yyvsp[-2].node);
28108 : n->collation = (yyvsp[-1].list);
28109 : n->opclass = (yyvsp[0].list);
28110 : n->location = (yylsp[-2]);
28111 : (yyval.partelem) = n;
28112 : }
28113 : #line 28114 "gram.c" /* yacc.c:1646 */
28114 9 : break;
28115 :
28116 : case 542:
28117 : #line 3777 "gram.y" /* yacc.c:1646 */
28118 : {
28119 : PartitionElem *n = makeNode(PartitionElem);
28120 :
28121 : n->name = NULL;
28122 : n->expr = (yyvsp[-3].node);
28123 : n->collation = (yyvsp[-1].list);
28124 : n->opclass = (yyvsp[0].list);
28125 : n->location = (yylsp[-4]);
28126 : (yyval.partelem) = n;
28127 : }
28128 : #line 28129 "gram.c" /* yacc.c:1646 */
28129 12 : break;
28130 :
28131 : case 543:
28132 : #line 3790 "gram.y" /* yacc.c:1646 */
28133 : { (yyval.list) = (yyvsp[0].list); }
28134 : #line 28135 "gram.c" /* yacc.c:1646 */
28135 26 : break;
28136 :
28137 : case 544:
28138 : #line 3791 "gram.y" /* yacc.c:1646 */
28139 : { (yyval.list) = list_make1(makeDefElem("oids", (Node *) makeInteger(true), (yylsp[-1]))); }
28140 : #line 28141 "gram.c" /* yacc.c:1646 */
28141 29 : break;
28142 :
28143 : case 545:
28144 : #line 3792 "gram.y" /* yacc.c:1646 */
28145 : { (yyval.list) = list_make1(makeDefElem("oids", (Node *) makeInteger(false), (yylsp[-1]))); }
28146 : #line 28147 "gram.c" /* yacc.c:1646 */
28147 22 : break;
28148 :
28149 : case 546:
28150 : #line 3793 "gram.y" /* yacc.c:1646 */
28151 : { (yyval.list) = NIL; }
28152 : #line 28153 "gram.c" /* yacc.c:1646 */
28153 1501 : break;
28154 :
28155 : case 547:
28156 : #line 3796 "gram.y" /* yacc.c:1646 */
28157 : { (yyval.oncommit) = ONCOMMIT_DROP; }
28158 : #line 28159 "gram.c" /* yacc.c:1646 */
28159 2 : break;
28160 :
28161 : case 548:
28162 : #line 3797 "gram.y" /* yacc.c:1646 */
28163 : { (yyval.oncommit) = ONCOMMIT_DELETE_ROWS; }
28164 : #line 28165 "gram.c" /* yacc.c:1646 */
28165 8 : break;
28166 :
28167 : case 549:
28168 : #line 3798 "gram.y" /* yacc.c:1646 */
28169 : { (yyval.oncommit) = ONCOMMIT_PRESERVE_ROWS; }
28170 : #line 28171 "gram.c" /* yacc.c:1646 */
28171 0 : break;
28172 :
28173 : case 550:
28174 : #line 3799 "gram.y" /* yacc.c:1646 */
28175 : { (yyval.oncommit) = ONCOMMIT_NOOP; }
28176 : #line 28177 "gram.c" /* yacc.c:1646 */
28177 1568 : break;
28178 :
28179 : case 551:
28180 : #line 3802 "gram.y" /* yacc.c:1646 */
28181 : { (yyval.str) = (yyvsp[0].str); }
28182 : #line 28183 "gram.c" /* yacc.c:1646 */
28183 22 : break;
28184 :
28185 : case 552:
28186 : #line 3803 "gram.y" /* yacc.c:1646 */
28187 : { (yyval.str) = NULL; }
28188 : #line 28189 "gram.c" /* yacc.c:1646 */
28189 1882 : break;
28190 :
28191 : case 553:
28192 : #line 3806 "gram.y" /* yacc.c:1646 */
28193 : { (yyval.str) = (yyvsp[0].str); }
28194 : #line 28195 "gram.c" /* yacc.c:1646 */
28195 0 : break;
28196 :
28197 : case 554:
28198 : #line 3807 "gram.y" /* yacc.c:1646 */
28199 : { (yyval.str) = NULL; }
28200 : #line 28201 "gram.c" /* yacc.c:1646 */
28201 335 : break;
28202 :
28203 : case 555:
28204 : #line 3810 "gram.y" /* yacc.c:1646 */
28205 : { (yyval.str) = (yyvsp[0].str); }
28206 : #line 28207 "gram.c" /* yacc.c:1646 */
28207 2 : break;
28208 :
28209 : case 556:
28210 : #line 3830 "gram.y" /* yacc.c:1646 */
28211 : {
28212 : CreateStatsStmt *n = makeNode(CreateStatsStmt);
28213 : n->defnames = (yyvsp[-5].list);
28214 : n->stat_types = (yyvsp[-4].list);
28215 : n->exprs = (yyvsp[-2].list);
28216 : n->relations = (yyvsp[0].list);
28217 : n->if_not_exists = false;
28218 : (yyval.node) = (Node *)n;
28219 : }
28220 : #line 28221 "gram.c" /* yacc.c:1646 */
28221 29 : break;
28222 :
28223 : case 557:
28224 : #line 3841 "gram.y" /* yacc.c:1646 */
28225 : {
28226 : CreateStatsStmt *n = makeNode(CreateStatsStmt);
28227 : n->defnames = (yyvsp[-5].list);
28228 : n->stat_types = (yyvsp[-4].list);
28229 : n->exprs = (yyvsp[-2].list);
28230 : n->relations = (yyvsp[0].list);
28231 : n->if_not_exists = true;
28232 : (yyval.node) = (Node *)n;
28233 : }
28234 : #line 28235 "gram.c" /* yacc.c:1646 */
28235 2 : break;
28236 :
28237 : case 558:
28238 : #line 3864 "gram.y" /* yacc.c:1646 */
28239 : {
28240 : CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
28241 : ctas->query = (yyvsp[-1].node);
28242 : ctas->into = (yyvsp[-3].into);
28243 : ctas->relkind = OBJECT_TABLE;
28244 : ctas->is_select_into = false;
28245 : ctas->if_not_exists = false;
28246 : /* cram additional flags into the IntoClause */
28247 : (yyvsp[-3].into)->rel->relpersistence = (yyvsp[-5].ival);
28248 : (yyvsp[-3].into)->skipData = !((yyvsp[0].boolean));
28249 : (yyval.node) = (Node *) ctas;
28250 : }
28251 : #line 28252 "gram.c" /* yacc.c:1646 */
28252 68 : break;
28253 :
28254 : case 559:
28255 : #line 3877 "gram.y" /* yacc.c:1646 */
28256 : {
28257 : CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
28258 : ctas->query = (yyvsp[-1].node);
28259 : ctas->into = (yyvsp[-3].into);
28260 : ctas->relkind = OBJECT_TABLE;
28261 : ctas->is_select_into = false;
28262 : ctas->if_not_exists = true;
28263 : /* cram additional flags into the IntoClause */
28264 : (yyvsp[-3].into)->rel->relpersistence = (yyvsp[-8].ival);
28265 : (yyvsp[-3].into)->skipData = !((yyvsp[0].boolean));
28266 : (yyval.node) = (Node *) ctas;
28267 : }
28268 : #line 28269 "gram.c" /* yacc.c:1646 */
28269 1 : break;
28270 :
28271 : case 560:
28272 : #line 3893 "gram.y" /* yacc.c:1646 */
28273 : {
28274 : (yyval.into) = makeNode(IntoClause);
28275 : (yyval.into)->rel = (yyvsp[-4].range);
28276 : (yyval.into)->colNames = (yyvsp[-3].list);
28277 : (yyval.into)->options = (yyvsp[-2].list);
28278 : (yyval.into)->onCommit = (yyvsp[-1].oncommit);
28279 : (yyval.into)->tableSpaceName = (yyvsp[0].str);
28280 : (yyval.into)->viewQuery = NULL;
28281 : (yyval.into)->skipData = false; /* might get changed later */
28282 : }
28283 : #line 28284 "gram.c" /* yacc.c:1646 */
28284 73 : break;
28285 :
28286 : case 561:
28287 : #line 3906 "gram.y" /* yacc.c:1646 */
28288 : { (yyval.boolean) = TRUE; }
28289 : #line 28290 "gram.c" /* yacc.c:1646 */
28290 0 : break;
28291 :
28292 : case 562:
28293 : #line 3907 "gram.y" /* yacc.c:1646 */
28294 : { (yyval.boolean) = FALSE; }
28295 : #line 28296 "gram.c" /* yacc.c:1646 */
28296 14 : break;
28297 :
28298 : case 563:
28299 : #line 3908 "gram.y" /* yacc.c:1646 */
28300 : { (yyval.boolean) = TRUE; }
28301 : #line 28302 "gram.c" /* yacc.c:1646 */
28302 116 : break;
28303 :
28304 : case 564:
28305 : #line 3921 "gram.y" /* yacc.c:1646 */
28306 : {
28307 : CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
28308 : ctas->query = (yyvsp[-1].node);
28309 : ctas->into = (yyvsp[-3].into);
28310 : ctas->relkind = OBJECT_MATVIEW;
28311 : ctas->is_select_into = false;
28312 : ctas->if_not_exists = false;
28313 : /* cram additional flags into the IntoClause */
28314 : (yyvsp[-3].into)->rel->relpersistence = (yyvsp[-6].ival);
28315 : (yyvsp[-3].into)->skipData = !((yyvsp[0].boolean));
28316 : (yyval.node) = (Node *) ctas;
28317 : }
28318 : #line 28319 "gram.c" /* yacc.c:1646 */
28319 35 : break;
28320 :
28321 : case 565:
28322 : #line 3934 "gram.y" /* yacc.c:1646 */
28323 : {
28324 : CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
28325 : ctas->query = (yyvsp[-1].node);
28326 : ctas->into = (yyvsp[-3].into);
28327 : ctas->relkind = OBJECT_MATVIEW;
28328 : ctas->is_select_into = false;
28329 : ctas->if_not_exists = true;
28330 : /* cram additional flags into the IntoClause */
28331 : (yyvsp[-3].into)->rel->relpersistence = (yyvsp[-9].ival);
28332 : (yyvsp[-3].into)->skipData = !((yyvsp[0].boolean));
28333 : (yyval.node) = (Node *) ctas;
28334 : }
28335 : #line 28336 "gram.c" /* yacc.c:1646 */
28336 1 : break;
28337 :
28338 : case 566:
28339 : #line 3950 "gram.y" /* yacc.c:1646 */
28340 : {
28341 : (yyval.into) = makeNode(IntoClause);
28342 : (yyval.into)->rel = (yyvsp[-3].range);
28343 : (yyval.into)->colNames = (yyvsp[-2].list);
28344 : (yyval.into)->options = (yyvsp[-1].list);
28345 : (yyval.into)->onCommit = ONCOMMIT_NOOP;
28346 : (yyval.into)->tableSpaceName = (yyvsp[0].str);
28347 : (yyval.into)->viewQuery = NULL; /* filled at analysis time */
28348 : (yyval.into)->skipData = false; /* might get changed later */
28349 : }
28350 : #line 28351 "gram.c" /* yacc.c:1646 */
28351 36 : break;
28352 :
28353 : case 567:
28354 : #line 3962 "gram.y" /* yacc.c:1646 */
28355 : { (yyval.ival) = RELPERSISTENCE_UNLOGGED; }
28356 : #line 28357 "gram.c" /* yacc.c:1646 */
28357 0 : break;
28358 :
28359 : case 568:
28360 : #line 3963 "gram.y" /* yacc.c:1646 */
28361 : { (yyval.ival) = RELPERSISTENCE_PERMANENT; }
28362 : #line 28363 "gram.c" /* yacc.c:1646 */
28363 36 : break;
28364 :
28365 : case 569:
28366 : #line 3976 "gram.y" /* yacc.c:1646 */
28367 : {
28368 : RefreshMatViewStmt *n = makeNode(RefreshMatViewStmt);
28369 : n->concurrent = (yyvsp[-2].boolean);
28370 : n->relation = (yyvsp[-1].range);
28371 : n->skipData = !((yyvsp[0].boolean));
28372 : (yyval.node) = (Node *) n;
28373 : }
28374 : #line 28375 "gram.c" /* yacc.c:1646 */
28375 21 : break;
28376 :
28377 : case 570:
28378 : #line 3996 "gram.y" /* yacc.c:1646 */
28379 : {
28380 : CreateSeqStmt *n = makeNode(CreateSeqStmt);
28381 : (yyvsp[-1].range)->relpersistence = (yyvsp[-3].ival);
28382 : n->sequence = (yyvsp[-1].range);
28383 : n->options = (yyvsp[0].list);
28384 : n->ownerId = InvalidOid;
28385 : n->if_not_exists = false;
28386 : (yyval.node) = (Node *)n;
28387 : }
28388 : #line 28389 "gram.c" /* yacc.c:1646 */
28389 67 : break;
28390 :
28391 : case 571:
28392 : #line 4006 "gram.y" /* yacc.c:1646 */
28393 : {
28394 : CreateSeqStmt *n = makeNode(CreateSeqStmt);
28395 : (yyvsp[-1].range)->relpersistence = (yyvsp[-6].ival);
28396 : n->sequence = (yyvsp[-1].range);
28397 : n->options = (yyvsp[0].list);
28398 : n->ownerId = InvalidOid;
28399 : n->if_not_exists = true;
28400 : (yyval.node) = (Node *)n;
28401 : }
28402 : #line 28403 "gram.c" /* yacc.c:1646 */
28403 1 : break;
28404 :
28405 : case 572:
28406 : #line 4019 "gram.y" /* yacc.c:1646 */
28407 : {
28408 : AlterSeqStmt *n = makeNode(AlterSeqStmt);
28409 : n->sequence = (yyvsp[-1].range);
28410 : n->options = (yyvsp[0].list);
28411 : n->missing_ok = false;
28412 : (yyval.node) = (Node *)n;
28413 : }
28414 : #line 28415 "gram.c" /* yacc.c:1646 */
28415 23 : break;
28416 :
28417 : case 573:
28418 : #line 4027 "gram.y" /* yacc.c:1646 */
28419 : {
28420 : AlterSeqStmt *n = makeNode(AlterSeqStmt);
28421 : n->sequence = (yyvsp[-1].range);
28422 : n->options = (yyvsp[0].list);
28423 : n->missing_ok = true;
28424 : (yyval.node) = (Node *)n;
28425 : }
28426 : #line 28427 "gram.c" /* yacc.c:1646 */
28427 2 : break;
28428 :
28429 : case 574:
28430 : #line 4037 "gram.y" /* yacc.c:1646 */
28431 : { (yyval.list) = (yyvsp[0].list); }
28432 : #line 28433 "gram.c" /* yacc.c:1646 */
28433 29 : break;
28434 :
28435 : case 575:
28436 : #line 4038 "gram.y" /* yacc.c:1646 */
28437 : { (yyval.list) = NIL; }
28438 : #line 28439 "gram.c" /* yacc.c:1646 */
28439 39 : break;
28440 :
28441 : case 576:
28442 : #line 4041 "gram.y" /* yacc.c:1646 */
28443 : { (yyval.list) = (yyvsp[-1].list); }
28444 : #line 28445 "gram.c" /* yacc.c:1646 */
28445 2 : break;
28446 :
28447 : case 577:
28448 : #line 4042 "gram.y" /* yacc.c:1646 */
28449 : { (yyval.list) = NIL; }
28450 : #line 28451 "gram.c" /* yacc.c:1646 */
28451 22 : break;
28452 :
28453 : case 578:
28454 : #line 4045 "gram.y" /* yacc.c:1646 */
28455 : { (yyval.list) = list_make1((yyvsp[0].defelt)); }
28456 : #line 28457 "gram.c" /* yacc.c:1646 */
28457 56 : break;
28458 :
28459 : case 579:
28460 : #line 4046 "gram.y" /* yacc.c:1646 */
28461 : { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
28462 : #line 28463 "gram.c" /* yacc.c:1646 */
28463 39 : break;
28464 :
28465 : case 580:
28466 : #line 4050 "gram.y" /* yacc.c:1646 */
28467 : {
28468 : (yyval.defelt) = makeDefElem("as", (Node *)(yyvsp[0].typnam), (yylsp[-1]));
28469 : }
28470 : #line 28471 "gram.c" /* yacc.c:1646 */
28471 24 : break;
28472 :
28473 : case 581:
28474 : #line 4054 "gram.y" /* yacc.c:1646 */
28475 : {
28476 : (yyval.defelt) = makeDefElem("cache", (Node *)(yyvsp[0].value), (yylsp[-1]));
28477 : }
28478 : #line 28479 "gram.c" /* yacc.c:1646 */
28479 2 : break;
28480 :
28481 : case 582:
28482 : #line 4058 "gram.y" /* yacc.c:1646 */
28483 : {
28484 : (yyval.defelt) = makeDefElem("cycle", (Node *)makeInteger(TRUE), (yylsp[0]));
28485 : }
28486 : #line 28487 "gram.c" /* yacc.c:1646 */
28487 5 : break;
28488 :
28489 : case 583:
28490 : #line 4062 "gram.y" /* yacc.c:1646 */
28491 : {
28492 : (yyval.defelt) = makeDefElem("cycle", (Node *)makeInteger(FALSE), (yylsp[-1]));
28493 : }
28494 : #line 28495 "gram.c" /* yacc.c:1646 */
28495 2 : break;
28496 :
28497 : case 584:
28498 : #line 4066 "gram.y" /* yacc.c:1646 */
28499 : {
28500 : (yyval.defelt) = makeDefElem("increment", (Node *)(yyvsp[0].value), (yylsp[-2]));
28501 : }
28502 : #line 28503 "gram.c" /* yacc.c:1646 */
28503 17 : break;
28504 :
28505 : case 585:
28506 : #line 4070 "gram.y" /* yacc.c:1646 */
28507 : {
28508 : (yyval.defelt) = makeDefElem("maxvalue", (Node *)(yyvsp[0].value), (yylsp[-1]));
28509 : }
28510 : #line 28511 "gram.c" /* yacc.c:1646 */
28511 9 : break;
28512 :
28513 : case 586:
28514 : #line 4074 "gram.y" /* yacc.c:1646 */
28515 : {
28516 : (yyval.defelt) = makeDefElem("minvalue", (Node *)(yyvsp[0].value), (yylsp[-1]));
28517 : }
28518 : #line 28519 "gram.c" /* yacc.c:1646 */
28519 10 : break;
28520 :
28521 : case 587:
28522 : #line 4078 "gram.y" /* yacc.c:1646 */
28523 : {
28524 : (yyval.defelt) = makeDefElem("maxvalue", NULL, (yylsp[-1]));
28525 : }
28526 : #line 28527 "gram.c" /* yacc.c:1646 */
28527 0 : break;
28528 :
28529 : case 588:
28530 : #line 4082 "gram.y" /* yacc.c:1646 */
28531 : {
28532 : (yyval.defelt) = makeDefElem("minvalue", NULL, (yylsp[-1]));
28533 : }
28534 : #line 28535 "gram.c" /* yacc.c:1646 */
28535 0 : break;
28536 :
28537 : case 589:
28538 : #line 4086 "gram.y" /* yacc.c:1646 */
28539 : {
28540 : (yyval.defelt) = makeDefElem("owned_by", (Node *)(yyvsp[0].list), (yylsp[-2]));
28541 : }
28542 : #line 28543 "gram.c" /* yacc.c:1646 */
28543 7 : break;
28544 :
28545 : case 590:
28546 : #line 4090 "gram.y" /* yacc.c:1646 */
28547 : {
28548 : /* not documented, only used by pg_dump */
28549 : (yyval.defelt) = makeDefElem("sequence_name", (Node *)(yyvsp[0].list), (yylsp[-2]));
28550 : }
28551 : #line 28552 "gram.c" /* yacc.c:1646 */
28552 0 : break;
28553 :
28554 : case 591:
28555 : #line 4095 "gram.y" /* yacc.c:1646 */
28556 : {
28557 : (yyval.defelt) = makeDefElem("start", (Node *)(yyvsp[0].value), (yylsp[-2]));
28558 : }
28559 : #line 28560 "gram.c" /* yacc.c:1646 */
28560 12 : break;
28561 :
28562 : case 592:
28563 : #line 4099 "gram.y" /* yacc.c:1646 */
28564 : {
28565 : (yyval.defelt) = makeDefElem("restart", NULL, (yylsp[0]));
28566 : }
28567 : #line 28568 "gram.c" /* yacc.c:1646 */
28568 1 : break;
28569 :
28570 : case 593:
28571 : #line 4103 "gram.y" /* yacc.c:1646 */
28572 : {
28573 : (yyval.defelt) = makeDefElem("restart", (Node *)(yyvsp[0].value), (yylsp[-2]));
28574 : }
28575 : #line 28576 "gram.c" /* yacc.c:1646 */
28576 9 : break;
28577 :
28578 : case 594:
28579 : #line 4108 "gram.y" /* yacc.c:1646 */
28580 : {}
28581 : #line 28582 "gram.c" /* yacc.c:1646 */
28582 14 : break;
28583 :
28584 : case 595:
28585 : #line 4109 "gram.y" /* yacc.c:1646 */
28586 : {}
28587 : #line 28588 "gram.c" /* yacc.c:1646 */
28588 3 : break;
28589 :
28590 : case 596:
28591 : #line 4113 "gram.y" /* yacc.c:1646 */
28592 : { (yyval.value) = makeFloat((yyvsp[0].str)); }
28593 : #line 28594 "gram.c" /* yacc.c:1646 */
28594 15 : break;
28595 :
28596 : case 597:
28597 : #line 4114 "gram.y" /* yacc.c:1646 */
28598 : { (yyval.value) = makeFloat((yyvsp[0].str)); }
28599 : #line 28600 "gram.c" /* yacc.c:1646 */
28600 0 : break;
28601 :
28602 : case 598:
28603 : #line 4116 "gram.y" /* yacc.c:1646 */
28604 : {
28605 : (yyval.value) = makeFloat((yyvsp[0].str));
28606 : doNegateFloat((yyval.value));
28607 : }
28608 : #line 28609 "gram.c" /* yacc.c:1646 */
28609 1 : break;
28610 :
28611 : case 599:
28612 : #line 4120 "gram.y" /* yacc.c:1646 */
28613 : { (yyval.value) = makeInteger((yyvsp[0].ival)); }
28614 : #line 28615 "gram.c" /* yacc.c:1646 */
28615 512 : break;
28616 :
28617 : case 600:
28618 : #line 4123 "gram.y" /* yacc.c:1646 */
28619 : { (yyval.list) = list_make1((yyvsp[0].value)); }
28620 : #line 28621 "gram.c" /* yacc.c:1646 */
28621 12 : break;
28622 :
28623 : case 601:
28624 : #line 4124 "gram.y" /* yacc.c:1646 */
28625 : { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].value)); }
28626 : #line 28627 "gram.c" /* yacc.c:1646 */
28627 1 : break;
28628 :
28629 : case 602:
28630 : #line 4137 "gram.y" /* yacc.c:1646 */
28631 : {
28632 : CreatePLangStmt *n = makeNode(CreatePLangStmt);
28633 : n->replace = (yyvsp[-4].boolean);
28634 : n->plname = (yyvsp[0].str);
28635 : /* parameters are all to be supplied by system */
28636 : n->plhandler = NIL;
28637 : n->plinline = NIL;
28638 : n->plvalidator = NIL;
28639 : n->pltrusted = false;
28640 : (yyval.node) = (Node *)n;
28641 : }
28642 : #line 28643 "gram.c" /* yacc.c:1646 */
28643 1 : break;
28644 :
28645 : case 603:
28646 : #line 4150 "gram.y" /* yacc.c:1646 */
28647 : {
28648 : CreatePLangStmt *n = makeNode(CreatePLangStmt);
28649 : n->replace = (yyvsp[-8].boolean);
28650 : n->plname = (yyvsp[-4].str);
28651 : n->plhandler = (yyvsp[-2].list);
28652 : n->plinline = (yyvsp[-1].list);
28653 : n->plvalidator = (yyvsp[0].list);
28654 : n->pltrusted = (yyvsp[-7].boolean);
28655 : (yyval.node) = (Node *)n;
28656 : }
28657 : #line 28658 "gram.c" /* yacc.c:1646 */
28658 2 : break;
28659 :
28660 : case 604:
28661 : #line 4163 "gram.y" /* yacc.c:1646 */
28662 : { (yyval.boolean) = TRUE; }
28663 : #line 28664 "gram.c" /* yacc.c:1646 */
28664 0 : break;
28665 :
28666 : case 605:
28667 : #line 4164 "gram.y" /* yacc.c:1646 */
28668 : { (yyval.boolean) = FALSE; }
28669 : #line 28670 "gram.c" /* yacc.c:1646 */
28670 4 : break;
28671 :
28672 : case 606:
28673 : #line 4172 "gram.y" /* yacc.c:1646 */
28674 : { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
28675 : #line 28676 "gram.c" /* yacc.c:1646 */
28676 8 : break;
28677 :
28678 : case 607:
28679 : #line 4173 "gram.y" /* yacc.c:1646 */
28680 : { (yyval.list) = lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)); }
28681 : #line 28682 "gram.c" /* yacc.c:1646 */
28682 0 : break;
28683 :
28684 : case 608:
28685 : #line 4177 "gram.y" /* yacc.c:1646 */
28686 : { (yyval.list) = (yyvsp[0].list); }
28687 : #line 28688 "gram.c" /* yacc.c:1646 */
28688 0 : break;
28689 :
28690 : case 609:
28691 : #line 4178 "gram.y" /* yacc.c:1646 */
28692 : { (yyval.list) = NIL; }
28693 : #line 28694 "gram.c" /* yacc.c:1646 */
28694 2 : break;
28695 :
28696 : case 610:
28697 : #line 4182 "gram.y" /* yacc.c:1646 */
28698 : { (yyval.list) = (yyvsp[0].list); }
28699 : #line 28700 "gram.c" /* yacc.c:1646 */
28700 0 : break;
28701 :
28702 : case 611:
28703 : #line 4183 "gram.y" /* yacc.c:1646 */
28704 : { (yyval.list) = NIL; }
28705 : #line 28706 "gram.c" /* yacc.c:1646 */
28706 0 : break;
28707 :
28708 : case 612:
28709 : #line 4187 "gram.y" /* yacc.c:1646 */
28710 : { (yyval.list) = (yyvsp[0].list); }
28711 : #line 28712 "gram.c" /* yacc.c:1646 */
28712 0 : break;
28713 :
28714 : case 613:
28715 : #line 4188 "gram.y" /* yacc.c:1646 */
28716 : { (yyval.list) = NIL; }
28717 : #line 28718 "gram.c" /* yacc.c:1646 */
28718 2 : break;
28719 :
28720 : case 614:
28721 : #line 4193 "gram.y" /* yacc.c:1646 */
28722 : {
28723 : DropStmt *n = makeNode(DropStmt);
28724 : n->removeType = OBJECT_LANGUAGE;
28725 : n->objects = list_make1(makeString((yyvsp[-1].str)));
28726 : n->behavior = (yyvsp[0].dbehavior);
28727 : n->missing_ok = false;
28728 : n->concurrent = false;
28729 : (yyval.node) = (Node *)n;
28730 : }
28731 : #line 28732 "gram.c" /* yacc.c:1646 */
28732 3 : break;
28733 :
28734 : case 615:
28735 : #line 4203 "gram.y" /* yacc.c:1646 */
28736 : {
28737 : DropStmt *n = makeNode(DropStmt);
28738 : n->removeType = OBJECT_LANGUAGE;
28739 : n->objects = list_make1(makeString((yyvsp[-1].str)));
28740 : n->behavior = (yyvsp[0].dbehavior);
28741 : n->missing_ok = true;
28742 : n->concurrent = false;
28743 : (yyval.node) = (Node *)n;
28744 : }
28745 : #line 28746 "gram.c" /* yacc.c:1646 */
28746 1 : break;
28747 :
28748 : case 616:
28749 : #line 4215 "gram.y" /* yacc.c:1646 */
28750 : {}
28751 : #line 28752 "gram.c" /* yacc.c:1646 */
28752 2 : break;
28753 :
28754 : case 617:
28755 : #line 4216 "gram.y" /* yacc.c:1646 */
28756 : {}
28757 : #line 28758 "gram.c" /* yacc.c:1646 */
28758 18 : break;
28759 :
28760 : case 618:
28761 : #line 4227 "gram.y" /* yacc.c:1646 */
28762 : {
28763 : CreateTableSpaceStmt *n = makeNode(CreateTableSpaceStmt);
28764 : n->tablespacename = (yyvsp[-4].str);
28765 : n->owner = (yyvsp[-3].rolespec);
28766 : n->location = (yyvsp[-1].str);
28767 : n->options = (yyvsp[0].list);
28768 : (yyval.node) = (Node *) n;
28769 : }
28770 : #line 28771 "gram.c" /* yacc.c:1646 */
28771 4 : break;
28772 :
28773 : case 619:
28774 : #line 4237 "gram.y" /* yacc.c:1646 */
28775 : { (yyval.rolespec) = (yyvsp[0].rolespec); }
28776 : #line 28777 "gram.c" /* yacc.c:1646 */
28777 0 : break;
28778 :
28779 : case 620:
28780 : #line 4238 "gram.y" /* yacc.c:1646 */
28781 : { (yyval.rolespec) = NULL; }
28782 : #line 28783 "gram.c" /* yacc.c:1646 */
28783 4 : break;
28784 :
28785 : case 621:
28786 : #line 4252 "gram.y" /* yacc.c:1646 */
28787 : {
28788 : DropTableSpaceStmt *n = makeNode(DropTableSpaceStmt);
28789 : n->tablespacename = (yyvsp[0].str);
28790 : n->missing_ok = false;
28791 : (yyval.node) = (Node *) n;
28792 : }
28793 : #line 28794 "gram.c" /* yacc.c:1646 */
28794 3 : break;
28795 :
28796 : case 622:
28797 : #line 4259 "gram.y" /* yacc.c:1646 */
28798 : {
28799 : DropTableSpaceStmt *n = makeNode(DropTableSpaceStmt);
28800 : n->tablespacename = (yyvsp[0].str);
28801 : n->missing_ok = true;
28802 : (yyval.node) = (Node *) n;
28803 : }
28804 : #line 28805 "gram.c" /* yacc.c:1646 */
28805 0 : break;
28806 :
28807 : case 623:
28808 : #line 4276 "gram.y" /* yacc.c:1646 */
28809 : {
28810 : CreateExtensionStmt *n = makeNode(CreateExtensionStmt);
28811 : n->extname = (yyvsp[-2].str);
28812 : n->if_not_exists = false;
28813 : n->options = (yyvsp[0].list);
28814 : (yyval.node) = (Node *) n;
28815 : }
28816 : #line 28817 "gram.c" /* yacc.c:1646 */
28817 1 : break;
28818 :
28819 : case 624:
28820 : #line 4284 "gram.y" /* yacc.c:1646 */
28821 : {
28822 : CreateExtensionStmt *n = makeNode(CreateExtensionStmt);
28823 : n->extname = (yyvsp[-2].str);
28824 : n->if_not_exists = true;
28825 : n->options = (yyvsp[0].list);
28826 : (yyval.node) = (Node *) n;
28827 : }
28828 : #line 28829 "gram.c" /* yacc.c:1646 */
28829 0 : break;
28830 :
28831 : case 625:
28832 : #line 4295 "gram.y" /* yacc.c:1646 */
28833 : { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
28834 : #line 28835 "gram.c" /* yacc.c:1646 */
28835 0 : break;
28836 :
28837 : case 626:
28838 : #line 4297 "gram.y" /* yacc.c:1646 */
28839 : { (yyval.list) = NIL; }
28840 : #line 28841 "gram.c" /* yacc.c:1646 */
28841 1 : break;
28842 :
28843 : case 627:
28844 : #line 4302 "gram.y" /* yacc.c:1646 */
28845 : {
28846 : (yyval.defelt) = makeDefElem("schema", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
28847 : }
28848 : #line 28849 "gram.c" /* yacc.c:1646 */
28849 0 : break;
28850 :
28851 : case 628:
28852 : #line 4306 "gram.y" /* yacc.c:1646 */
28853 : {
28854 : (yyval.defelt) = makeDefElem("new_version", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
28855 : }
28856 : #line 28857 "gram.c" /* yacc.c:1646 */
28857 0 : break;
28858 :
28859 : case 629:
28860 : #line 4310 "gram.y" /* yacc.c:1646 */
28861 : {
28862 : (yyval.defelt) = makeDefElem("old_version", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
28863 : }
28864 : #line 28865 "gram.c" /* yacc.c:1646 */
28865 0 : break;
28866 :
28867 : case 630:
28868 : #line 4314 "gram.y" /* yacc.c:1646 */
28869 : {
28870 : (yyval.defelt) = makeDefElem("cascade", (Node *)makeInteger(TRUE), (yylsp[0]));
28871 : }
28872 : #line 28873 "gram.c" /* yacc.c:1646 */
28873 0 : break;
28874 :
28875 : case 631:
28876 : #line 4326 "gram.y" /* yacc.c:1646 */
28877 : {
28878 : AlterExtensionStmt *n = makeNode(AlterExtensionStmt);
28879 : n->extname = (yyvsp[-2].str);
28880 : n->options = (yyvsp[0].list);
28881 : (yyval.node) = (Node *) n;
28882 : }
28883 : #line 28884 "gram.c" /* yacc.c:1646 */
28884 0 : break;
28885 :
28886 : case 632:
28887 : #line 4336 "gram.y" /* yacc.c:1646 */
28888 : { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
28889 : #line 28890 "gram.c" /* yacc.c:1646 */
28890 0 : break;
28891 :
28892 : case 633:
28893 : #line 4338 "gram.y" /* yacc.c:1646 */
28894 : { (yyval.list) = NIL; }
28895 : #line 28896 "gram.c" /* yacc.c:1646 */
28896 0 : break;
28897 :
28898 : case 634:
28899 : #line 4343 "gram.y" /* yacc.c:1646 */
28900 : {
28901 : (yyval.defelt) = makeDefElem("new_version", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
28902 : }
28903 : #line 28904 "gram.c" /* yacc.c:1646 */
28904 0 : break;
28905 :
28906 : case 635:
28907 : #line 4356 "gram.y" /* yacc.c:1646 */
28908 : {
28909 : AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
28910 : n->extname = (yyvsp[-4].str);
28911 : n->action = (yyvsp[-3].ival);
28912 : n->objtype = OBJECT_ACCESS_METHOD;
28913 : n->object = (Node *) makeString((yyvsp[0].str));
28914 : (yyval.node) = (Node *)n;
28915 : }
28916 : #line 28917 "gram.c" /* yacc.c:1646 */
28917 0 : break;
28918 :
28919 : case 636:
28920 : #line 4365 "gram.y" /* yacc.c:1646 */
28921 : {
28922 : AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
28923 : n->extname = (yyvsp[-3].str);
28924 : n->action = (yyvsp[-2].ival);
28925 : n->objtype = OBJECT_AGGREGATE;
28926 : n->object = (Node *) (yyvsp[0].objwithargs);
28927 : (yyval.node) = (Node *)n;
28928 : }
28929 : #line 28930 "gram.c" /* yacc.c:1646 */
28930 0 : break;
28931 :
28932 : case 637:
28933 : #line 4374 "gram.y" /* yacc.c:1646 */
28934 : {
28935 : AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
28936 : n->extname = (yyvsp[-7].str);
28937 : n->action = (yyvsp[-6].ival);
28938 : n->objtype = OBJECT_CAST;
28939 : n->object = (Node *) list_make2((yyvsp[-3].typnam), (yyvsp[-1].typnam));
28940 : (yyval.node) = (Node *) n;
28941 : }
28942 : #line 28943 "gram.c" /* yacc.c:1646 */
28943 0 : break;
28944 :
28945 : case 638:
28946 : #line 4383 "gram.y" /* yacc.c:1646 */
28947 : {
28948 : AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
28949 : n->extname = (yyvsp[-3].str);
28950 : n->action = (yyvsp[-2].ival);
28951 : n->objtype = OBJECT_COLLATION;
28952 : n->object = (Node *) (yyvsp[0].list);
28953 : (yyval.node) = (Node *)n;
28954 : }
28955 : #line 28956 "gram.c" /* yacc.c:1646 */
28956 0 : break;
28957 :
28958 : case 639:
28959 : #line 4392 "gram.y" /* yacc.c:1646 */
28960 : {
28961 : AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
28962 : n->extname = (yyvsp[-3].str);
28963 : n->action = (yyvsp[-2].ival);
28964 : n->objtype = OBJECT_CONVERSION;
28965 : n->object = (Node *) (yyvsp[0].list);
28966 : (yyval.node) = (Node *)n;
28967 : }
28968 : #line 28969 "gram.c" /* yacc.c:1646 */
28969 0 : break;
28970 :
28971 : case 640:
28972 : #line 4401 "gram.y" /* yacc.c:1646 */
28973 : {
28974 : AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
28975 : n->extname = (yyvsp[-3].str);
28976 : n->action = (yyvsp[-2].ival);
28977 : n->objtype = OBJECT_DOMAIN;
28978 : n->object = (Node *) (yyvsp[0].typnam);
28979 : (yyval.node) = (Node *)n;
28980 : }
28981 : #line 28982 "gram.c" /* yacc.c:1646 */
28982 0 : break;
28983 :
28984 : case 641:
28985 : #line 4410 "gram.y" /* yacc.c:1646 */
28986 : {
28987 : AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
28988 : n->extname = (yyvsp[-3].str);
28989 : n->action = (yyvsp[-2].ival);
28990 : n->objtype = OBJECT_FUNCTION;
28991 : n->object = (Node *) (yyvsp[0].objwithargs);
28992 : (yyval.node) = (Node *)n;
28993 : }
28994 : #line 28995 "gram.c" /* yacc.c:1646 */
28995 0 : break;
28996 :
28997 : case 642:
28998 : #line 4419 "gram.y" /* yacc.c:1646 */
28999 : {
29000 : AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
29001 : n->extname = (yyvsp[-4].str);
29002 : n->action = (yyvsp[-3].ival);
29003 : n->objtype = OBJECT_LANGUAGE;
29004 : n->object = (Node *) makeString((yyvsp[0].str));
29005 : (yyval.node) = (Node *)n;
29006 : }
29007 : #line 29008 "gram.c" /* yacc.c:1646 */
29008 0 : break;
29009 :
29010 : case 643:
29011 : #line 4428 "gram.y" /* yacc.c:1646 */
29012 : {
29013 : AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
29014 : n->extname = (yyvsp[-3].str);
29015 : n->action = (yyvsp[-2].ival);
29016 : n->objtype = OBJECT_OPERATOR;
29017 : n->object = (Node *) (yyvsp[0].objwithargs);
29018 : (yyval.node) = (Node *)n;
29019 : }
29020 : #line 29021 "gram.c" /* yacc.c:1646 */
29021 0 : break;
29022 :
29023 : case 644:
29024 : #line 4437 "gram.y" /* yacc.c:1646 */
29025 : {
29026 : AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
29027 : n->extname = (yyvsp[-6].str);
29028 : n->action = (yyvsp[-5].ival);
29029 : n->objtype = OBJECT_OPCLASS;
29030 : n->object = (Node *) lcons(makeString((yyvsp[0].str)), (yyvsp[-2].list));
29031 : (yyval.node) = (Node *)n;
29032 : }
29033 : #line 29034 "gram.c" /* yacc.c:1646 */
29034 0 : break;
29035 :
29036 : case 645:
29037 : #line 4446 "gram.y" /* yacc.c:1646 */
29038 : {
29039 : AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
29040 : n->extname = (yyvsp[-6].str);
29041 : n->action = (yyvsp[-5].ival);
29042 : n->objtype = OBJECT_OPFAMILY;
29043 : n->object = (Node *) lcons(makeString((yyvsp[0].str)), (yyvsp[-2].list));
29044 : (yyval.node) = (Node *)n;
29045 : }
29046 : #line 29047 "gram.c" /* yacc.c:1646 */
29047 0 : break;
29048 :
29049 : case 646:
29050 : #line 4455 "gram.y" /* yacc.c:1646 */
29051 : {
29052 : AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
29053 : n->extname = (yyvsp[-3].str);
29054 : n->action = (yyvsp[-2].ival);
29055 : n->objtype = OBJECT_SCHEMA;
29056 : n->object = (Node *) makeString((yyvsp[0].str));
29057 : (yyval.node) = (Node *)n;
29058 : }
29059 : #line 29060 "gram.c" /* yacc.c:1646 */
29060 0 : break;
29061 :
29062 : case 647:
29063 : #line 4464 "gram.y" /* yacc.c:1646 */
29064 : {
29065 : AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
29066 : n->extname = (yyvsp[-4].str);
29067 : n->action = (yyvsp[-3].ival);
29068 : n->objtype = OBJECT_EVENT_TRIGGER;
29069 : n->object = (Node *) makeString((yyvsp[0].str));
29070 : (yyval.node) = (Node *)n;
29071 : }
29072 : #line 29073 "gram.c" /* yacc.c:1646 */
29073 0 : break;
29074 :
29075 : case 648:
29076 : #line 4473 "gram.y" /* yacc.c:1646 */
29077 : {
29078 : AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
29079 : n->extname = (yyvsp[-3].str);
29080 : n->action = (yyvsp[-2].ival);
29081 : n->objtype = OBJECT_TABLE;
29082 : n->object = (Node *) (yyvsp[0].list);
29083 : (yyval.node) = (Node *)n;
29084 : }
29085 : #line 29086 "gram.c" /* yacc.c:1646 */
29086 0 : break;
29087 :
29088 : case 649:
29089 : #line 4482 "gram.y" /* yacc.c:1646 */
29090 : {
29091 : AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
29092 : n->extname = (yyvsp[-5].str);
29093 : n->action = (yyvsp[-4].ival);
29094 : n->objtype = OBJECT_TSPARSER;
29095 : n->object = (Node *) (yyvsp[0].list);
29096 : (yyval.node) = (Node *)n;
29097 : }
29098 : #line 29099 "gram.c" /* yacc.c:1646 */
29099 0 : break;
29100 :
29101 : case 650:
29102 : #line 4491 "gram.y" /* yacc.c:1646 */
29103 : {
29104 : AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
29105 : n->extname = (yyvsp[-5].str);
29106 : n->action = (yyvsp[-4].ival);
29107 : n->objtype = OBJECT_TSDICTIONARY;
29108 : n->object = (Node *) (yyvsp[0].list);
29109 : (yyval.node) = (Node *)n;
29110 : }
29111 : #line 29112 "gram.c" /* yacc.c:1646 */
29112 0 : break;
29113 :
29114 : case 651:
29115 : #line 4500 "gram.y" /* yacc.c:1646 */
29116 : {
29117 : AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
29118 : n->extname = (yyvsp[-5].str);
29119 : n->action = (yyvsp[-4].ival);
29120 : n->objtype = OBJECT_TSTEMPLATE;
29121 : n->object = (Node *) (yyvsp[0].list);
29122 : (yyval.node) = (Node *)n;
29123 : }
29124 : #line 29125 "gram.c" /* yacc.c:1646 */
29125 0 : break;
29126 :
29127 : case 652:
29128 : #line 4509 "gram.y" /* yacc.c:1646 */
29129 : {
29130 : AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
29131 : n->extname = (yyvsp[-5].str);
29132 : n->action = (yyvsp[-4].ival);
29133 : n->objtype = OBJECT_TSCONFIGURATION;
29134 : n->object = (Node *) (yyvsp[0].list);
29135 : (yyval.node) = (Node *)n;
29136 : }
29137 : #line 29138 "gram.c" /* yacc.c:1646 */
29138 0 : break;
29139 :
29140 : case 653:
29141 : #line 4518 "gram.y" /* yacc.c:1646 */
29142 : {
29143 : AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
29144 : n->extname = (yyvsp[-3].str);
29145 : n->action = (yyvsp[-2].ival);
29146 : n->objtype = OBJECT_SEQUENCE;
29147 : n->object = (Node *) (yyvsp[0].list);
29148 : (yyval.node) = (Node *)n;
29149 : }
29150 : #line 29151 "gram.c" /* yacc.c:1646 */
29151 0 : break;
29152 :
29153 : case 654:
29154 : #line 4527 "gram.y" /* yacc.c:1646 */
29155 : {
29156 : AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
29157 : n->extname = (yyvsp[-3].str);
29158 : n->action = (yyvsp[-2].ival);
29159 : n->objtype = OBJECT_VIEW;
29160 : n->object = (Node *) (yyvsp[0].list);
29161 : (yyval.node) = (Node *)n;
29162 : }
29163 : #line 29164 "gram.c" /* yacc.c:1646 */
29164 0 : break;
29165 :
29166 : case 655:
29167 : #line 4536 "gram.y" /* yacc.c:1646 */
29168 : {
29169 : AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
29170 : n->extname = (yyvsp[-4].str);
29171 : n->action = (yyvsp[-3].ival);
29172 : n->objtype = OBJECT_MATVIEW;
29173 : n->object = (Node *) (yyvsp[0].list);
29174 : (yyval.node) = (Node *)n;
29175 : }
29176 : #line 29177 "gram.c" /* yacc.c:1646 */
29177 0 : break;
29178 :
29179 : case 656:
29180 : #line 4545 "gram.y" /* yacc.c:1646 */
29181 : {
29182 : AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
29183 : n->extname = (yyvsp[-4].str);
29184 : n->action = (yyvsp[-3].ival);
29185 : n->objtype = OBJECT_FOREIGN_TABLE;
29186 : n->object = (Node *) (yyvsp[0].list);
29187 : (yyval.node) = (Node *)n;
29188 : }
29189 : #line 29190 "gram.c" /* yacc.c:1646 */
29190 0 : break;
29191 :
29192 : case 657:
29193 : #line 4554 "gram.y" /* yacc.c:1646 */
29194 : {
29195 : AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
29196 : n->extname = (yyvsp[-5].str);
29197 : n->action = (yyvsp[-4].ival);
29198 : n->objtype = OBJECT_FDW;
29199 : n->object = (Node *) makeString((yyvsp[0].str));
29200 : (yyval.node) = (Node *)n;
29201 : }
29202 : #line 29203 "gram.c" /* yacc.c:1646 */
29203 0 : break;
29204 :
29205 : case 658:
29206 : #line 4563 "gram.y" /* yacc.c:1646 */
29207 : {
29208 : AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
29209 : n->extname = (yyvsp[-3].str);
29210 : n->action = (yyvsp[-2].ival);
29211 : n->objtype = OBJECT_FOREIGN_SERVER;
29212 : n->object = (Node *) makeString((yyvsp[0].str));
29213 : (yyval.node) = (Node *)n;
29214 : }
29215 : #line 29216 "gram.c" /* yacc.c:1646 */
29216 0 : break;
29217 :
29218 : case 659:
29219 : #line 4572 "gram.y" /* yacc.c:1646 */
29220 : {
29221 : AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
29222 : n->extname = (yyvsp[-6].str);
29223 : n->action = (yyvsp[-5].ival);
29224 : n->objtype = OBJECT_TRANSFORM;
29225 : n->object = (Node *) list_make2((yyvsp[-2].typnam), makeString((yyvsp[0].str)));
29226 : (yyval.node) = (Node *)n;
29227 : }
29228 : #line 29229 "gram.c" /* yacc.c:1646 */
29229 0 : break;
29230 :
29231 : case 660:
29232 : #line 4581 "gram.y" /* yacc.c:1646 */
29233 : {
29234 : AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
29235 : n->extname = (yyvsp[-3].str);
29236 : n->action = (yyvsp[-2].ival);
29237 : n->objtype = OBJECT_TYPE;
29238 : n->object = (Node *) (yyvsp[0].typnam);
29239 : (yyval.node) = (Node *)n;
29240 : }
29241 : #line 29242 "gram.c" /* yacc.c:1646 */
29242 0 : break;
29243 :
29244 : case 661:
29245 : #line 4599 "gram.y" /* yacc.c:1646 */
29246 : {
29247 : CreateFdwStmt *n = makeNode(CreateFdwStmt);
29248 : n->fdwname = (yyvsp[-2].str);
29249 : n->func_options = (yyvsp[-1].list);
29250 : n->options = (yyvsp[0].list);
29251 : (yyval.node) = (Node *) n;
29252 : }
29253 : #line 29254 "gram.c" /* yacc.c:1646 */
29254 20 : break;
29255 :
29256 : case 662:
29257 : #line 4609 "gram.y" /* yacc.c:1646 */
29258 : { (yyval.defelt) = makeDefElem("handler", (Node *)(yyvsp[0].list), (yylsp[-1])); }
29259 : #line 29260 "gram.c" /* yacc.c:1646 */
29260 0 : break;
29261 :
29262 : case 663:
29263 : #line 4610 "gram.y" /* yacc.c:1646 */
29264 : { (yyval.defelt) = makeDefElem("handler", NULL, (yylsp[-1])); }
29265 : #line 29266 "gram.c" /* yacc.c:1646 */
29266 0 : break;
29267 :
29268 : case 664:
29269 : #line 4611 "gram.y" /* yacc.c:1646 */
29270 : { (yyval.defelt) = makeDefElem("validator", (Node *)(yyvsp[0].list), (yylsp[-1])); }
29271 : #line 29272 "gram.c" /* yacc.c:1646 */
29272 5 : break;
29273 :
29274 : case 665:
29275 : #line 4612 "gram.y" /* yacc.c:1646 */
29276 : { (yyval.defelt) = makeDefElem("validator", NULL, (yylsp[-1])); }
29277 : #line 29278 "gram.c" /* yacc.c:1646 */
29278 1 : break;
29279 :
29280 : case 666:
29281 : #line 4616 "gram.y" /* yacc.c:1646 */
29282 : { (yyval.list) = list_make1((yyvsp[0].defelt)); }
29283 : #line 29284 "gram.c" /* yacc.c:1646 */
29284 6 : break;
29285 :
29286 : case 667:
29287 : #line 4617 "gram.y" /* yacc.c:1646 */
29288 : { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
29289 : #line 29290 "gram.c" /* yacc.c:1646 */
29290 0 : break;
29291 :
29292 : case 668:
29293 : #line 4621 "gram.y" /* yacc.c:1646 */
29294 : { (yyval.list) = (yyvsp[0].list); }
29295 : #line 29296 "gram.c" /* yacc.c:1646 */
29296 3 : break;
29297 :
29298 : case 669:
29299 : #line 4622 "gram.y" /* yacc.c:1646 */
29300 : { (yyval.list) = NIL; }
29301 : #line 29302 "gram.c" /* yacc.c:1646 */
29302 30 : break;
29303 :
29304 : case 670:
29305 : #line 4633 "gram.y" /* yacc.c:1646 */
29306 : {
29307 : AlterFdwStmt *n = makeNode(AlterFdwStmt);
29308 : n->fdwname = (yyvsp[-2].str);
29309 : n->func_options = (yyvsp[-1].list);
29310 : n->options = (yyvsp[0].list);
29311 : (yyval.node) = (Node *) n;
29312 : }
29313 : #line 29314 "gram.c" /* yacc.c:1646 */
29314 12 : break;
29315 :
29316 : case 671:
29317 : #line 4641 "gram.y" /* yacc.c:1646 */
29318 : {
29319 : AlterFdwStmt *n = makeNode(AlterFdwStmt);
29320 : n->fdwname = (yyvsp[-1].str);
29321 : n->func_options = (yyvsp[0].list);
29322 : n->options = NIL;
29323 : (yyval.node) = (Node *) n;
29324 : }
29325 : #line 29326 "gram.c" /* yacc.c:1646 */
29326 3 : break;
29327 :
29328 : case 672:
29329 : #line 4652 "gram.y" /* yacc.c:1646 */
29330 : { (yyval.list) = (yyvsp[-1].list); }
29331 : #line 29332 "gram.c" /* yacc.c:1646 */
29332 55 : break;
29333 :
29334 : case 673:
29335 : #line 4653 "gram.y" /* yacc.c:1646 */
29336 : { (yyval.list) = NIL; }
29337 : #line 29338 "gram.c" /* yacc.c:1646 */
29338 2665 : break;
29339 :
29340 : case 674:
29341 : #line 4658 "gram.y" /* yacc.c:1646 */
29342 : {
29343 : (yyval.list) = list_make1((yyvsp[0].defelt));
29344 : }
29345 : #line 29346 "gram.c" /* yacc.c:1646 */
29346 55 : break;
29347 :
29348 : case 675:
29349 : #line 4662 "gram.y" /* yacc.c:1646 */
29350 : {
29351 : (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
29352 : }
29353 : #line 29354 "gram.c" /* yacc.c:1646 */
29354 35 : break;
29355 :
29356 : case 676:
29357 : #line 4669 "gram.y" /* yacc.c:1646 */
29358 : { (yyval.list) = (yyvsp[-1].list); }
29359 : #line 29360 "gram.c" /* yacc.c:1646 */
29360 47 : break;
29361 :
29362 : case 677:
29363 : #line 4674 "gram.y" /* yacc.c:1646 */
29364 : {
29365 : (yyval.list) = list_make1((yyvsp[0].defelt));
29366 : }
29367 : #line 29368 "gram.c" /* yacc.c:1646 */
29368 47 : break;
29369 :
29370 : case 678:
29371 : #line 4678 "gram.y" /* yacc.c:1646 */
29372 : {
29373 : (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
29374 : }
29375 : #line 29376 "gram.c" /* yacc.c:1646 */
29376 19 : break;
29377 :
29378 : case 679:
29379 : #line 4685 "gram.y" /* yacc.c:1646 */
29380 : {
29381 : (yyval.defelt) = (yyvsp[0].defelt);
29382 : }
29383 : #line 29384 "gram.c" /* yacc.c:1646 */
29384 18 : break;
29385 :
29386 : case 680:
29387 : #line 4689 "gram.y" /* yacc.c:1646 */
29388 : {
29389 : (yyval.defelt) = (yyvsp[0].defelt);
29390 : (yyval.defelt)->defaction = DEFELEM_SET;
29391 : }
29392 : #line 29393 "gram.c" /* yacc.c:1646 */
29393 17 : break;
29394 :
29395 : case 681:
29396 : #line 4694 "gram.y" /* yacc.c:1646 */
29397 : {
29398 : (yyval.defelt) = (yyvsp[0].defelt);
29399 : (yyval.defelt)->defaction = DEFELEM_ADD;
29400 : }
29401 : #line 29402 "gram.c" /* yacc.c:1646 */
29402 19 : break;
29403 :
29404 : case 682:
29405 : #line 4699 "gram.y" /* yacc.c:1646 */
29406 : {
29407 : (yyval.defelt) = makeDefElemExtended(NULL, (yyvsp[0].str), NULL, DEFELEM_DROP, (yylsp[0]));
29408 : }
29409 : #line 29410 "gram.c" /* yacc.c:1646 */
29410 12 : break;
29411 :
29412 : case 683:
29413 : #line 4706 "gram.y" /* yacc.c:1646 */
29414 : {
29415 : (yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1]));
29416 : }
29417 : #line 29418 "gram.c" /* yacc.c:1646 */
29418 144 : break;
29419 :
29420 : case 684:
29421 : #line 4712 "gram.y" /* yacc.c:1646 */
29422 : { (yyval.str) = (yyvsp[0].str); }
29423 : #line 29424 "gram.c" /* yacc.c:1646 */
29424 156 : break;
29425 :
29426 : case 685:
29427 : #line 4717 "gram.y" /* yacc.c:1646 */
29428 : { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
29429 : #line 29430 "gram.c" /* yacc.c:1646 */
29430 144 : break;
29431 :
29432 : case 686:
29433 : #line 4729 "gram.y" /* yacc.c:1646 */
29434 : {
29435 : CreateForeignServerStmt *n = makeNode(CreateForeignServerStmt);
29436 : n->servername = (yyvsp[-7].str);
29437 : n->servertype = (yyvsp[-6].str);
29438 : n->version = (yyvsp[-5].str);
29439 : n->fdwname = (yyvsp[-1].str);
29440 : n->options = (yyvsp[0].list);
29441 : n->if_not_exists = false;
29442 : (yyval.node) = (Node *) n;
29443 : }
29444 : #line 29445 "gram.c" /* yacc.c:1646 */
29445 37 : break;
29446 :
29447 : case 687:
29448 : #line 4741 "gram.y" /* yacc.c:1646 */
29449 : {
29450 : CreateForeignServerStmt *n = makeNode(CreateForeignServerStmt);
29451 : n->servername = (yyvsp[-7].str);
29452 : n->servertype = (yyvsp[-6].str);
29453 : n->version = (yyvsp[-5].str);
29454 : n->fdwname = (yyvsp[-1].str);
29455 : n->options = (yyvsp[0].list);
29456 : n->if_not_exists = true;
29457 : (yyval.node) = (Node *) n;
29458 : }
29459 : #line 29460 "gram.c" /* yacc.c:1646 */
29460 1 : break;
29461 :
29462 : case 688:
29463 : #line 4754 "gram.y" /* yacc.c:1646 */
29464 : { (yyval.str) = (yyvsp[0].str); }
29465 : #line 29466 "gram.c" /* yacc.c:1646 */
29466 3 : break;
29467 :
29468 : case 689:
29469 : #line 4755 "gram.y" /* yacc.c:1646 */
29470 : { (yyval.str) = NULL; }
29471 : #line 29472 "gram.c" /* yacc.c:1646 */
29472 35 : break;
29473 :
29474 : case 690:
29475 : #line 4760 "gram.y" /* yacc.c:1646 */
29476 : { (yyval.str) = (yyvsp[0].str); }
29477 : #line 29478 "gram.c" /* yacc.c:1646 */
29478 11 : break;
29479 :
29480 : case 691:
29481 : #line 4761 "gram.y" /* yacc.c:1646 */
29482 : { (yyval.str) = NULL; }
29483 : #line 29484 "gram.c" /* yacc.c:1646 */
29484 0 : break;
29485 :
29486 : case 692:
29487 : #line 4765 "gram.y" /* yacc.c:1646 */
29488 : { (yyval.str) = (yyvsp[0].str); }
29489 : #line 29490 "gram.c" /* yacc.c:1646 */
29490 3 : break;
29491 :
29492 : case 693:
29493 : #line 4766 "gram.y" /* yacc.c:1646 */
29494 : { (yyval.str) = NULL; }
29495 : #line 29496 "gram.c" /* yacc.c:1646 */
29496 35 : break;
29497 :
29498 : case 694:
29499 : #line 4777 "gram.y" /* yacc.c:1646 */
29500 : {
29501 : AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
29502 : n->servername = (yyvsp[-2].str);
29503 : n->version = (yyvsp[-1].str);
29504 : n->options = (yyvsp[0].list);
29505 : n->has_version = true;
29506 : (yyval.node) = (Node *) n;
29507 : }
29508 : #line 29509 "gram.c" /* yacc.c:1646 */
29509 1 : break;
29510 :
29511 : case 695:
29512 : #line 4786 "gram.y" /* yacc.c:1646 */
29513 : {
29514 : AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
29515 : n->servername = (yyvsp[-1].str);
29516 : n->version = (yyvsp[0].str);
29517 : n->has_version = true;
29518 : (yyval.node) = (Node *) n;
29519 : }
29520 : #line 29521 "gram.c" /* yacc.c:1646 */
29521 7 : break;
29522 :
29523 : case 696:
29524 : #line 4794 "gram.y" /* yacc.c:1646 */
29525 : {
29526 : AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
29527 : n->servername = (yyvsp[-1].str);
29528 : n->options = (yyvsp[0].list);
29529 : (yyval.node) = (Node *) n;
29530 : }
29531 : #line 29532 "gram.c" /* yacc.c:1646 */
29532 5 : break;
29533 :
29534 : case 697:
29535 : #line 4813 "gram.y" /* yacc.c:1646 */
29536 : {
29537 : CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt);
29538 : (yyvsp[-7].range)->relpersistence = RELPERSISTENCE_PERMANENT;
29539 : n->base.relation = (yyvsp[-7].range);
29540 : n->base.tableElts = (yyvsp[-5].list);
29541 : n->base.inhRelations = (yyvsp[-3].list);
29542 : n->base.ofTypename = NULL;
29543 : n->base.constraints = NIL;
29544 : n->base.options = NIL;
29545 : n->base.oncommit = ONCOMMIT_NOOP;
29546 : n->base.tablespacename = NULL;
29547 : n->base.if_not_exists = false;
29548 : /* FDW-specific data */
29549 : n->servername = (yyvsp[-1].str);
29550 : n->options = (yyvsp[0].list);
29551 : (yyval.node) = (Node *) n;
29552 : }
29553 : #line 29554 "gram.c" /* yacc.c:1646 */
29554 14 : break;
29555 :
29556 : case 698:
29557 : #line 4833 "gram.y" /* yacc.c:1646 */
29558 : {
29559 : CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt);
29560 : (yyvsp[-7].range)->relpersistence = RELPERSISTENCE_PERMANENT;
29561 : n->base.relation = (yyvsp[-7].range);
29562 : n->base.tableElts = (yyvsp[-5].list);
29563 : n->base.inhRelations = (yyvsp[-3].list);
29564 : n->base.ofTypename = NULL;
29565 : n->base.constraints = NIL;
29566 : n->base.options = NIL;
29567 : n->base.oncommit = ONCOMMIT_NOOP;
29568 : n->base.tablespacename = NULL;
29569 : n->base.if_not_exists = true;
29570 : /* FDW-specific data */
29571 : n->servername = (yyvsp[-1].str);
29572 : n->options = (yyvsp[0].list);
29573 : (yyval.node) = (Node *) n;
29574 : }
29575 : #line 29576 "gram.c" /* yacc.c:1646 */
29576 0 : break;
29577 :
29578 : case 699:
29579 : #line 4853 "gram.y" /* yacc.c:1646 */
29580 : {
29581 : CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt);
29582 : (yyvsp[-8].range)->relpersistence = RELPERSISTENCE_PERMANENT;
29583 : n->base.relation = (yyvsp[-8].range);
29584 : n->base.inhRelations = list_make1((yyvsp[-5].range));
29585 : n->base.tableElts = (yyvsp[-4].list);
29586 : n->base.partbound = (yyvsp[-3].partboundspec);
29587 : n->base.ofTypename = NULL;
29588 : n->base.constraints = NIL;
29589 : n->base.options = NIL;
29590 : n->base.oncommit = ONCOMMIT_NOOP;
29591 : n->base.tablespacename = NULL;
29592 : n->base.if_not_exists = false;
29593 : /* FDW-specific data */
29594 : n->servername = (yyvsp[-1].str);
29595 : n->options = (yyvsp[0].list);
29596 : (yyval.node) = (Node *) n;
29597 : }
29598 : #line 29599 "gram.c" /* yacc.c:1646 */
29599 1 : break;
29600 :
29601 : case 700:
29602 : #line 4874 "gram.y" /* yacc.c:1646 */
29603 : {
29604 : CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt);
29605 : (yyvsp[-8].range)->relpersistence = RELPERSISTENCE_PERMANENT;
29606 : n->base.relation = (yyvsp[-8].range);
29607 : n->base.inhRelations = list_make1((yyvsp[-5].range));
29608 : n->base.tableElts = (yyvsp[-4].list);
29609 : n->base.partbound = (yyvsp[-3].partboundspec);
29610 : n->base.ofTypename = NULL;
29611 : n->base.constraints = NIL;
29612 : n->base.options = NIL;
29613 : n->base.oncommit = ONCOMMIT_NOOP;
29614 : n->base.tablespacename = NULL;
29615 : n->base.if_not_exists = true;
29616 : /* FDW-specific data */
29617 : n->servername = (yyvsp[-1].str);
29618 : n->options = (yyvsp[0].list);
29619 : (yyval.node) = (Node *) n;
29620 : }
29621 : #line 29622 "gram.c" /* yacc.c:1646 */
29622 0 : break;
29623 :
29624 : case 701:
29625 : #line 4903 "gram.y" /* yacc.c:1646 */
29626 : {
29627 : AlterTableStmt *n = makeNode(AlterTableStmt);
29628 : n->relation = (yyvsp[-1].range);
29629 : n->cmds = (yyvsp[0].list);
29630 : n->relkind = OBJECT_FOREIGN_TABLE;
29631 : n->missing_ok = false;
29632 : (yyval.node) = (Node *)n;
29633 : }
29634 : #line 29635 "gram.c" /* yacc.c:1646 */
29635 43 : break;
29636 :
29637 : case 702:
29638 : #line 4912 "gram.y" /* yacc.c:1646 */
29639 : {
29640 : AlterTableStmt *n = makeNode(AlterTableStmt);
29641 : n->relation = (yyvsp[-1].range);
29642 : n->cmds = (yyvsp[0].list);
29643 : n->relkind = OBJECT_FOREIGN_TABLE;
29644 : n->missing_ok = true;
29645 : (yyval.node) = (Node *)n;
29646 : }
29647 : #line 29648 "gram.c" /* yacc.c:1646 */
29648 18 : break;
29649 :
29650 : case 703:
29651 : #line 4934 "gram.y" /* yacc.c:1646 */
29652 : {
29653 : ImportForeignSchemaStmt *n = makeNode(ImportForeignSchemaStmt);
29654 : n->server_name = (yyvsp[-3].str);
29655 : n->remote_schema = (yyvsp[-7].str);
29656 : n->local_schema = (yyvsp[-1].str);
29657 : n->list_type = (yyvsp[-6].importqual)->type;
29658 : n->table_list = (yyvsp[-6].importqual)->table_names;
29659 : n->options = (yyvsp[0].list);
29660 : (yyval.node) = (Node *) n;
29661 : }
29662 : #line 29663 "gram.c" /* yacc.c:1646 */
29663 4 : break;
29664 :
29665 : case 704:
29666 : #line 4947 "gram.y" /* yacc.c:1646 */
29667 : { (yyval.ival) = FDW_IMPORT_SCHEMA_LIMIT_TO; }
29668 : #line 29669 "gram.c" /* yacc.c:1646 */
29669 1 : break;
29670 :
29671 : case 705:
29672 : #line 4948 "gram.y" /* yacc.c:1646 */
29673 : { (yyval.ival) = FDW_IMPORT_SCHEMA_EXCEPT; }
29674 : #line 29675 "gram.c" /* yacc.c:1646 */
29675 2 : break;
29676 :
29677 : case 706:
29678 : #line 4953 "gram.y" /* yacc.c:1646 */
29679 : {
29680 : ImportQual *n = (ImportQual *) palloc(sizeof(ImportQual));
29681 : n->type = (yyvsp[-3].ival);
29682 : n->table_names = (yyvsp[-1].list);
29683 : (yyval.importqual) = n;
29684 : }
29685 : #line 29686 "gram.c" /* yacc.c:1646 */
29686 3 : break;
29687 :
29688 : case 707:
29689 : #line 4960 "gram.y" /* yacc.c:1646 */
29690 : {
29691 : ImportQual *n = (ImportQual *) palloc(sizeof(ImportQual));
29692 : n->type = FDW_IMPORT_SCHEMA_ALL;
29693 : n->table_names = NIL;
29694 : (yyval.importqual) = n;
29695 : }
29696 : #line 29697 "gram.c" /* yacc.c:1646 */
29697 1 : break;
29698 :
29699 : case 708:
29700 : #line 4976 "gram.y" /* yacc.c:1646 */
29701 : {
29702 : CreateUserMappingStmt *n = makeNode(CreateUserMappingStmt);
29703 : n->user = (yyvsp[-3].rolespec);
29704 : n->servername = (yyvsp[-1].str);
29705 : n->options = (yyvsp[0].list);
29706 : n->if_not_exists = false;
29707 : (yyval.node) = (Node *) n;
29708 : }
29709 : #line 29710 "gram.c" /* yacc.c:1646 */
29710 43 : break;
29711 :
29712 : case 709:
29713 : #line 4985 "gram.y" /* yacc.c:1646 */
29714 : {
29715 : CreateUserMappingStmt *n = makeNode(CreateUserMappingStmt);
29716 : n->user = (yyvsp[-3].rolespec);
29717 : n->servername = (yyvsp[-1].str);
29718 : n->options = (yyvsp[0].list);
29719 : n->if_not_exists = true;
29720 : (yyval.node) = (Node *) n;
29721 : }
29722 : #line 29723 "gram.c" /* yacc.c:1646 */
29723 1 : break;
29724 :
29725 : case 710:
29726 : #line 4996 "gram.y" /* yacc.c:1646 */
29727 : { (yyval.rolespec) = (yyvsp[0].rolespec); }
29728 : #line 29729 "gram.c" /* yacc.c:1646 */
29729 83 : break;
29730 :
29731 : case 711:
29732 : #line 4997 "gram.y" /* yacc.c:1646 */
29733 : { (yyval.rolespec) = makeRoleSpec(ROLESPEC_CURRENT_USER, (yylsp[0])); }
29734 : #line 29735 "gram.c" /* yacc.c:1646 */
29735 11 : break;
29736 :
29737 : case 712:
29738 : #line 5010 "gram.y" /* yacc.c:1646 */
29739 : {
29740 : DropUserMappingStmt *n = makeNode(DropUserMappingStmt);
29741 : n->user = (yyvsp[-2].rolespec);
29742 : n->servername = (yyvsp[0].str);
29743 : n->missing_ok = false;
29744 : (yyval.node) = (Node *) n;
29745 : }
29746 : #line 29747 "gram.c" /* yacc.c:1646 */
29747 18 : break;
29748 :
29749 : case 713:
29750 : #line 5018 "gram.y" /* yacc.c:1646 */
29751 : {
29752 : DropUserMappingStmt *n = makeNode(DropUserMappingStmt);
29753 : n->user = (yyvsp[-2].rolespec);
29754 : n->servername = (yyvsp[0].str);
29755 : n->missing_ok = true;
29756 : (yyval.node) = (Node *) n;
29757 : }
29758 : #line 29759 "gram.c" /* yacc.c:1646 */
29759 12 : break;
29760 :
29761 : case 714:
29762 : #line 5035 "gram.y" /* yacc.c:1646 */
29763 : {
29764 : AlterUserMappingStmt *n = makeNode(AlterUserMappingStmt);
29765 : n->user = (yyvsp[-3].rolespec);
29766 : n->servername = (yyvsp[-1].str);
29767 : n->options = (yyvsp[0].list);
29768 : (yyval.node) = (Node *) n;
29769 : }
29770 : #line 29771 "gram.c" /* yacc.c:1646 */
29771 20 : break;
29772 :
29773 : case 715:
29774 : #line 5061 "gram.y" /* yacc.c:1646 */
29775 : {
29776 : CreatePolicyStmt *n = makeNode(CreatePolicyStmt);
29777 : n->policy_name = (yyvsp[-7].str);
29778 : n->table = (yyvsp[-5].range);
29779 : n->permissive = (yyvsp[-4].boolean);
29780 : n->cmd_name = (yyvsp[-3].str);
29781 : n->roles = (yyvsp[-2].list);
29782 : n->qual = (yyvsp[-1].node);
29783 : n->with_check = (yyvsp[0].node);
29784 : (yyval.node) = (Node *) n;
29785 : }
29786 : #line 29787 "gram.c" /* yacc.c:1646 */
29787 81 : break;
29788 :
29789 : case 716:
29790 : #line 5077 "gram.y" /* yacc.c:1646 */
29791 : {
29792 : AlterPolicyStmt *n = makeNode(AlterPolicyStmt);
29793 : n->policy_name = (yyvsp[-5].str);
29794 : n->table = (yyvsp[-3].range);
29795 : n->roles = (yyvsp[-2].list);
29796 : n->qual = (yyvsp[-1].node);
29797 : n->with_check = (yyvsp[0].node);
29798 : (yyval.node) = (Node *) n;
29799 : }
29800 : #line 29801 "gram.c" /* yacc.c:1646 */
29801 14 : break;
29802 :
29803 : case 717:
29804 : #line 5089 "gram.y" /* yacc.c:1646 */
29805 : { (yyval.node) = (yyvsp[-1].node); }
29806 : #line 29807 "gram.c" /* yacc.c:1646 */
29807 88 : break;
29808 :
29809 : case 718:
29810 : #line 5090 "gram.y" /* yacc.c:1646 */
29811 : { (yyval.node) = NULL; }
29812 : #line 29813 "gram.c" /* yacc.c:1646 */
29813 7 : break;
29814 :
29815 : case 719:
29816 : #line 5094 "gram.y" /* yacc.c:1646 */
29817 : { (yyval.node) = (yyvsp[-1].node); }
29818 : #line 29819 "gram.c" /* yacc.c:1646 */
29819 12 : break;
29820 :
29821 : case 720:
29822 : #line 5095 "gram.y" /* yacc.c:1646 */
29823 : { (yyval.node) = NULL; }
29824 : #line 29825 "gram.c" /* yacc.c:1646 */
29825 83 : break;
29826 :
29827 : case 721:
29828 : #line 5099 "gram.y" /* yacc.c:1646 */
29829 : { (yyval.list) = (yyvsp[0].list); }
29830 : #line 29831 "gram.c" /* yacc.c:1646 */
29831 15 : break;
29832 :
29833 : case 722:
29834 : #line 5100 "gram.y" /* yacc.c:1646 */
29835 : { (yyval.list) = list_make1(makeRoleSpec(ROLESPEC_PUBLIC, -1)); }
29836 : #line 29837 "gram.c" /* yacc.c:1646 */
29837 66 : break;
29838 :
29839 : case 723:
29840 : #line 5104 "gram.y" /* yacc.c:1646 */
29841 : { (yyval.list) = (yyvsp[0].list); }
29842 : #line 29843 "gram.c" /* yacc.c:1646 */
29843 2 : break;
29844 :
29845 : case 724:
29846 : #line 5105 "gram.y" /* yacc.c:1646 */
29847 : { (yyval.list) = NULL; }
29848 : #line 29849 "gram.c" /* yacc.c:1646 */
29849 12 : break;
29850 :
29851 : case 725:
29852 : #line 5110 "gram.y" /* yacc.c:1646 */
29853 : {
29854 : if (strcmp((yyvsp[0].str), "permissive") == 0)
29855 : (yyval.boolean) = true;
29856 : else if (strcmp((yyvsp[0].str), "restrictive") == 0)
29857 : (yyval.boolean) = false;
29858 : else
29859 : ereport(ERROR,
29860 : (errcode(ERRCODE_SYNTAX_ERROR),
29861 : errmsg("unrecognized row security option \"%s\"", (yyvsp[0].str)),
29862 : errhint("Only PERMISSIVE or RESTRICTIVE policies are supported currently."),
29863 : parser_errposition((yylsp[0]))));
29864 :
29865 : }
29866 : #line 29867 "gram.c" /* yacc.c:1646 */
29867 7 : break;
29868 :
29869 : case 726:
29870 : #line 5123 "gram.y" /* yacc.c:1646 */
29871 : { (yyval.boolean) = true; }
29872 : #line 29873 "gram.c" /* yacc.c:1646 */
29873 74 : break;
29874 :
29875 : case 727:
29876 : #line 5127 "gram.y" /* yacc.c:1646 */
29877 : { (yyval.str) = (yyvsp[0].str); }
29878 : #line 29879 "gram.c" /* yacc.c:1646 */
29879 36 : break;
29880 :
29881 : case 728:
29882 : #line 5128 "gram.y" /* yacc.c:1646 */
29883 : { (yyval.str) = "all"; }
29884 : #line 29885 "gram.c" /* yacc.c:1646 */
29885 45 : break;
29886 :
29887 : case 729:
29888 : #line 5132 "gram.y" /* yacc.c:1646 */
29889 : { (yyval.str) = "all"; }
29890 : #line 29891 "gram.c" /* yacc.c:1646 */
29891 7 : break;
29892 :
29893 : case 730:
29894 : #line 5133 "gram.y" /* yacc.c:1646 */
29895 : { (yyval.str) = "select"; }
29896 : #line 29897 "gram.c" /* yacc.c:1646 */
29897 11 : break;
29898 :
29899 : case 731:
29900 : #line 5134 "gram.y" /* yacc.c:1646 */
29901 : { (yyval.str) = "insert"; }
29902 : #line 29903 "gram.c" /* yacc.c:1646 */
29903 5 : break;
29904 :
29905 : case 732:
29906 : #line 5135 "gram.y" /* yacc.c:1646 */
29907 : { (yyval.str) = "update"; }
29908 : #line 29909 "gram.c" /* yacc.c:1646 */
29909 8 : break;
29910 :
29911 : case 733:
29912 : #line 5136 "gram.y" /* yacc.c:1646 */
29913 : { (yyval.str) = "delete"; }
29914 : #line 29915 "gram.c" /* yacc.c:1646 */
29915 5 : break;
29916 :
29917 : case 734:
29918 : #line 5147 "gram.y" /* yacc.c:1646 */
29919 : {
29920 : CreateAmStmt *n = makeNode(CreateAmStmt);
29921 : n->amname = (yyvsp[-4].str);
29922 : n->handler_name = (yyvsp[0].list);
29923 : n->amtype = AMTYPE_INDEX;
29924 : (yyval.node) = (Node *) n;
29925 : }
29926 : #line 29927 "gram.c" /* yacc.c:1646 */
29927 1 : break;
29928 :
29929 : case 735:
29930 : #line 5167 "gram.y" /* yacc.c:1646 */
29931 : {
29932 : CreateTrigStmt *n = makeNode(CreateTrigStmt);
29933 : n->trigname = (yyvsp[-13].str);
29934 : n->relation = (yyvsp[-9].range);
29935 : n->funcname = (yyvsp[-3].list);
29936 : n->args = (yyvsp[-1].list);
29937 : n->row = (yyvsp[-7].boolean);
29938 : n->timing = (yyvsp[-12].ival);
29939 : n->events = intVal(linitial((yyvsp[-11].list)));
29940 : n->columns = (List *) lsecond((yyvsp[-11].list));
29941 : n->whenClause = (yyvsp[-6].node);
29942 : n->transitionRels = (yyvsp[-8].list);
29943 : n->isconstraint = FALSE;
29944 : n->deferrable = FALSE;
29945 : n->initdeferred = FALSE;
29946 : n->constrrel = NULL;
29947 : (yyval.node) = (Node *)n;
29948 : }
29949 : #line 29950 "gram.c" /* yacc.c:1646 */
29950 207 : break;
29951 :
29952 : case 736:
29953 : #line 5189 "gram.y" /* yacc.c:1646 */
29954 : {
29955 : CreateTrigStmt *n = makeNode(CreateTrigStmt);
29956 : n->trigname = (yyvsp[-16].str);
29957 : n->relation = (yyvsp[-12].range);
29958 : n->funcname = (yyvsp[-3].list);
29959 : n->args = (yyvsp[-1].list);
29960 : n->row = TRUE;
29961 : n->timing = TRIGGER_TYPE_AFTER;
29962 : n->events = intVal(linitial((yyvsp[-14].list)));
29963 : n->columns = (List *) lsecond((yyvsp[-14].list));
29964 : n->whenClause = (yyvsp[-6].node);
29965 : n->transitionRels = NIL;
29966 : n->isconstraint = TRUE;
29967 : processCASbits((yyvsp[-10].ival), (yylsp[-10]), "TRIGGER",
29968 : &n->deferrable, &n->initdeferred, NULL,
29969 : NULL, yyscanner);
29970 : n->constrrel = (yyvsp[-11].range);
29971 : (yyval.node) = (Node *)n;
29972 : }
29973 : #line 29974 "gram.c" /* yacc.c:1646 */
29974 1 : break;
29975 :
29976 : case 737:
29977 : #line 5211 "gram.y" /* yacc.c:1646 */
29978 : { (yyval.ival) = TRIGGER_TYPE_BEFORE; }
29979 : #line 29980 "gram.c" /* yacc.c:1646 */
29980 92 : break;
29981 :
29982 : case 738:
29983 : #line 5212 "gram.y" /* yacc.c:1646 */
29984 : { (yyval.ival) = TRIGGER_TYPE_AFTER; }
29985 : #line 29986 "gram.c" /* yacc.c:1646 */
29986 99 : break;
29987 :
29988 : case 739:
29989 : #line 5213 "gram.y" /* yacc.c:1646 */
29990 : { (yyval.ival) = TRIGGER_TYPE_INSTEAD; }
29991 : #line 29992 "gram.c" /* yacc.c:1646 */
29992 18 : break;
29993 :
29994 : case 740:
29995 : #line 5218 "gram.y" /* yacc.c:1646 */
29996 : { (yyval.list) = (yyvsp[0].list); }
29997 : #line 29998 "gram.c" /* yacc.c:1646 */
29998 210 : break;
29999 :
30000 : case 741:
30001 : #line 5220 "gram.y" /* yacc.c:1646 */
30002 : {
30003 : int events1 = intVal(linitial((yyvsp[-2].list)));
30004 : int events2 = intVal(linitial((yyvsp[0].list)));
30005 : List *columns1 = (List *) lsecond((yyvsp[-2].list));
30006 : List *columns2 = (List *) lsecond((yyvsp[0].list));
30007 :
30008 : if (events1 & events2)
30009 : parser_yyerror("duplicate trigger events specified");
30010 : /*
30011 : * concat'ing the columns lists loses information about
30012 : * which columns went with which event, but so long as
30013 : * only UPDATE carries columns and we disallow multiple
30014 : * UPDATE items, it doesn't matter. Command execution
30015 : * should just ignore the columns for non-UPDATE events.
30016 : */
30017 : (yyval.list) = list_make2(makeInteger(events1 | events2),
30018 : list_concat(columns1, columns2));
30019 : }
30020 : #line 30021 "gram.c" /* yacc.c:1646 */
30021 78 : break;
30022 :
30023 : case 742:
30024 : #line 5242 "gram.y" /* yacc.c:1646 */
30025 : { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_INSERT), NIL); }
30026 : #line 30027 "gram.c" /* yacc.c:1646 */
30027 109 : break;
30028 :
30029 : case 743:
30030 : #line 5244 "gram.y" /* yacc.c:1646 */
30031 : { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_DELETE), NIL); }
30032 : #line 30033 "gram.c" /* yacc.c:1646 */
30033 59 : break;
30034 :
30035 : case 744:
30036 : #line 5246 "gram.y" /* yacc.c:1646 */
30037 : { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_UPDATE), NIL); }
30038 : #line 30039 "gram.c" /* yacc.c:1646 */
30039 105 : break;
30040 :
30041 : case 745:
30042 : #line 5248 "gram.y" /* yacc.c:1646 */
30043 : { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_UPDATE), (yyvsp[0].list)); }
30044 : #line 30045 "gram.c" /* yacc.c:1646 */
30045 11 : break;
30046 :
30047 : case 746:
30048 : #line 5250 "gram.y" /* yacc.c:1646 */
30049 : { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_TRUNCATE), NIL); }
30050 : #line 30051 "gram.c" /* yacc.c:1646 */
30051 5 : break;
30052 :
30053 : case 747:
30054 : #line 5254 "gram.y" /* yacc.c:1646 */
30055 : { (yyval.list) = (yyvsp[0].list); }
30056 : #line 30057 "gram.c" /* yacc.c:1646 */
30057 45 : break;
30058 :
30059 : case 748:
30060 : #line 5255 "gram.y" /* yacc.c:1646 */
30061 : { (yyval.list) = NIL; }
30062 : #line 30063 "gram.c" /* yacc.c:1646 */
30063 162 : break;
30064 :
30065 : case 749:
30066 : #line 5259 "gram.y" /* yacc.c:1646 */
30067 : { (yyval.list) = list_make1((yyvsp[0].node)); }
30068 : #line 30069 "gram.c" /* yacc.c:1646 */
30069 45 : break;
30070 :
30071 : case 750:
30072 : #line 5260 "gram.y" /* yacc.c:1646 */
30073 : { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
30074 : #line 30075 "gram.c" /* yacc.c:1646 */
30075 14 : break;
30076 :
30077 : case 751:
30078 : #line 5265 "gram.y" /* yacc.c:1646 */
30079 : {
30080 : TriggerTransition *n = makeNode(TriggerTransition);
30081 : n->name = (yyvsp[0].str);
30082 : n->isNew = (yyvsp[-3].boolean);
30083 : n->isTable = (yyvsp[-2].boolean);
30084 : (yyval.node) = (Node *)n;
30085 : }
30086 : #line 30087 "gram.c" /* yacc.c:1646 */
30087 59 : break;
30088 :
30089 : case 752:
30090 : #line 5275 "gram.y" /* yacc.c:1646 */
30091 : { (yyval.boolean) = TRUE; }
30092 : #line 30093 "gram.c" /* yacc.c:1646 */
30093 34 : break;
30094 :
30095 : case 753:
30096 : #line 5276 "gram.y" /* yacc.c:1646 */
30097 : { (yyval.boolean) = FALSE; }
30098 : #line 30099 "gram.c" /* yacc.c:1646 */
30099 25 : break;
30100 :
30101 : case 754:
30102 : #line 5280 "gram.y" /* yacc.c:1646 */
30103 : { (yyval.boolean) = TRUE; }
30104 : #line 30105 "gram.c" /* yacc.c:1646 */
30105 59 : break;
30106 :
30107 : case 755:
30108 : #line 5289 "gram.y" /* yacc.c:1646 */
30109 : { (yyval.boolean) = FALSE; }
30110 : #line 30111 "gram.c" /* yacc.c:1646 */
30111 0 : break;
30112 :
30113 : case 756:
30114 : #line 5293 "gram.y" /* yacc.c:1646 */
30115 : { (yyval.str) = (yyvsp[0].str); }
30116 : #line 30117 "gram.c" /* yacc.c:1646 */
30117 59 : break;
30118 :
30119 : case 757:
30120 : #line 5298 "gram.y" /* yacc.c:1646 */
30121 : {
30122 : (yyval.boolean) = (yyvsp[0].boolean);
30123 : }
30124 : #line 30125 "gram.c" /* yacc.c:1646 */
30125 203 : break;
30126 :
30127 : case 758:
30128 : #line 5302 "gram.y" /* yacc.c:1646 */
30129 : {
30130 : /*
30131 : * If ROW/STATEMENT not specified, default to
30132 : * STATEMENT, per SQL
30133 : */
30134 : (yyval.boolean) = FALSE;
30135 : }
30136 : #line 30137 "gram.c" /* yacc.c:1646 */
30137 4 : break;
30138 :
30139 : case 759:
30140 : #line 5312 "gram.y" /* yacc.c:1646 */
30141 : {}
30142 : #line 30143 "gram.c" /* yacc.c:1646 */
30143 203 : break;
30144 :
30145 : case 760:
30146 : #line 5313 "gram.y" /* yacc.c:1646 */
30147 : {}
30148 : #line 30149 "gram.c" /* yacc.c:1646 */
30149 0 : break;
30150 :
30151 : case 761:
30152 : #line 5317 "gram.y" /* yacc.c:1646 */
30153 : { (yyval.boolean) = TRUE; }
30154 : #line 30155 "gram.c" /* yacc.c:1646 */
30155 130 : break;
30156 :
30157 : case 762:
30158 : #line 5318 "gram.y" /* yacc.c:1646 */
30159 : { (yyval.boolean) = FALSE; }
30160 : #line 30161 "gram.c" /* yacc.c:1646 */
30161 73 : break;
30162 :
30163 : case 763:
30164 : #line 5322 "gram.y" /* yacc.c:1646 */
30165 : { (yyval.node) = (yyvsp[-1].node); }
30166 : #line 30167 "gram.c" /* yacc.c:1646 */
30167 13 : break;
30168 :
30169 : case 764:
30170 : #line 5323 "gram.y" /* yacc.c:1646 */
30171 : { (yyval.node) = NULL; }
30172 : #line 30173 "gram.c" /* yacc.c:1646 */
30173 195 : break;
30174 :
30175 : case 765:
30176 : #line 5327 "gram.y" /* yacc.c:1646 */
30177 : { (yyval.list) = list_make1((yyvsp[0].value)); }
30178 : #line 30179 "gram.c" /* yacc.c:1646 */
30179 71 : break;
30180 :
30181 : case 766:
30182 : #line 5328 "gram.y" /* yacc.c:1646 */
30183 : { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].value)); }
30184 : #line 30185 "gram.c" /* yacc.c:1646 */
30185 29 : break;
30186 :
30187 : case 767:
30188 : #line 5329 "gram.y" /* yacc.c:1646 */
30189 : { (yyval.list) = NIL; }
30190 : #line 30191 "gram.c" /* yacc.c:1646 */
30191 137 : break;
30192 :
30193 : case 768:
30194 : #line 5334 "gram.y" /* yacc.c:1646 */
30195 : {
30196 : (yyval.value) = makeString(psprintf("%d", (yyvsp[0].ival)));
30197 : }
30198 : #line 30199 "gram.c" /* yacc.c:1646 */
30199 5 : break;
30200 :
30201 : case 769:
30202 : #line 5337 "gram.y" /* yacc.c:1646 */
30203 : { (yyval.value) = makeString((yyvsp[0].str)); }
30204 : #line 30205 "gram.c" /* yacc.c:1646 */
30205 0 : break;
30206 :
30207 : case 770:
30208 : #line 5338 "gram.y" /* yacc.c:1646 */
30209 : { (yyval.value) = makeString((yyvsp[0].str)); }
30210 : #line 30211 "gram.c" /* yacc.c:1646 */
30211 89 : break;
30212 :
30213 : case 771:
30214 : #line 5339 "gram.y" /* yacc.c:1646 */
30215 : { (yyval.value) = makeString((yyvsp[0].str)); }
30216 : #line 30217 "gram.c" /* yacc.c:1646 */
30217 6 : break;
30218 :
30219 : case 772:
30220 : #line 5343 "gram.y" /* yacc.c:1646 */
30221 : { (yyval.range) = (yyvsp[0].range); }
30222 : #line 30223 "gram.c" /* yacc.c:1646 */
30223 0 : break;
30224 :
30225 : case 773:
30226 : #line 5344 "gram.y" /* yacc.c:1646 */
30227 : { (yyval.range) = NULL; }
30228 : #line 30229 "gram.c" /* yacc.c:1646 */
30229 1 : break;
30230 :
30231 : case 774:
30232 : #line 5349 "gram.y" /* yacc.c:1646 */
30233 : { (yyval.ival) = 0; }
30234 : #line 30235 "gram.c" /* yacc.c:1646 */
30235 336 : break;
30236 :
30237 : case 775:
30238 : #line 5351 "gram.y" /* yacc.c:1646 */
30239 : {
30240 : /*
30241 : * We must complain about conflicting options.
30242 : * We could, but choose not to, complain about redundant
30243 : * options (ie, where $2's bit is already set in $1).
30244 : */
30245 : int newspec = (yyvsp[-1].ival) | (yyvsp[0].ival);
30246 :
30247 : /* special message for this case */
30248 : if ((newspec & (CAS_NOT_DEFERRABLE | CAS_INITIALLY_DEFERRED)) == (CAS_NOT_DEFERRABLE | CAS_INITIALLY_DEFERRED))
30249 : ereport(ERROR,
30250 : (errcode(ERRCODE_SYNTAX_ERROR),
30251 : errmsg("constraint declared INITIALLY DEFERRED must be DEFERRABLE"),
30252 : parser_errposition((yylsp[0]))));
30253 : /* generic message for other conflicts */
30254 : if ((newspec & (CAS_NOT_DEFERRABLE | CAS_DEFERRABLE)) == (CAS_NOT_DEFERRABLE | CAS_DEFERRABLE) ||
30255 : (newspec & (CAS_INITIALLY_IMMEDIATE | CAS_INITIALLY_DEFERRED)) == (CAS_INITIALLY_IMMEDIATE | CAS_INITIALLY_DEFERRED))
30256 : ereport(ERROR,
30257 : (errcode(ERRCODE_SYNTAX_ERROR),
30258 : errmsg("conflicting constraint properties"),
30259 : parser_errposition((yylsp[0]))));
30260 : (yyval.ival) = newspec;
30261 : }
30262 : #line 30263 "gram.c" /* yacc.c:1646 */
30263 54 : break;
30264 :
30265 : case 776:
30266 : #line 5377 "gram.y" /* yacc.c:1646 */
30267 : { (yyval.ival) = CAS_NOT_DEFERRABLE; }
30268 : #line 30269 "gram.c" /* yacc.c:1646 */
30269 6 : break;
30270 :
30271 : case 777:
30272 : #line 5378 "gram.y" /* yacc.c:1646 */
30273 : { (yyval.ival) = CAS_DEFERRABLE; }
30274 : #line 30275 "gram.c" /* yacc.c:1646 */
30275 10 : break;
30276 :
30277 : case 778:
30278 : #line 5379 "gram.y" /* yacc.c:1646 */
30279 : { (yyval.ival) = CAS_INITIALLY_IMMEDIATE; }
30280 : #line 30281 "gram.c" /* yacc.c:1646 */
30281 3 : break;
30282 :
30283 : case 779:
30284 : #line 5380 "gram.y" /* yacc.c:1646 */
30285 : { (yyval.ival) = CAS_INITIALLY_DEFERRED; }
30286 : #line 30287 "gram.c" /* yacc.c:1646 */
30287 6 : break;
30288 :
30289 : case 780:
30290 : #line 5381 "gram.y" /* yacc.c:1646 */
30291 : { (yyval.ival) = CAS_NOT_VALID; }
30292 : #line 30293 "gram.c" /* yacc.c:1646 */
30293 16 : break;
30294 :
30295 : case 781:
30296 : #line 5382 "gram.y" /* yacc.c:1646 */
30297 : { (yyval.ival) = CAS_NO_INHERIT; }
30298 : #line 30299 "gram.c" /* yacc.c:1646 */
30299 14 : break;
30300 :
30301 : case 782:
30302 : #line 5397 "gram.y" /* yacc.c:1646 */
30303 : {
30304 : CreateEventTrigStmt *n = makeNode(CreateEventTrigStmt);
30305 : n->trigname = (yyvsp[-7].str);
30306 : n->eventname = (yyvsp[-5].str);
30307 : n->whenclause = NULL;
30308 : n->funcname = (yyvsp[-2].list);
30309 : (yyval.node) = (Node *)n;
30310 : }
30311 : #line 30312 "gram.c" /* yacc.c:1646 */
30312 8 : break;
30313 :
30314 : case 783:
30315 : #line 5408 "gram.y" /* yacc.c:1646 */
30316 : {
30317 : CreateEventTrigStmt *n = makeNode(CreateEventTrigStmt);
30318 : n->trigname = (yyvsp[-9].str);
30319 : n->eventname = (yyvsp[-7].str);
30320 : n->whenclause = (yyvsp[-5].list);
30321 : n->funcname = (yyvsp[-2].list);
30322 : (yyval.node) = (Node *)n;
30323 : }
30324 : #line 30325 "gram.c" /* yacc.c:1646 */
30325 13 : break;
30326 :
30327 : case 784:
30328 : #line 5420 "gram.y" /* yacc.c:1646 */
30329 : { (yyval.list) = list_make1((yyvsp[0].defelt)); }
30330 : #line 30331 "gram.c" /* yacc.c:1646 */
30331 13 : break;
30332 :
30333 : case 785:
30334 : #line 5422 "gram.y" /* yacc.c:1646 */
30335 : { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
30336 : #line 30337 "gram.c" /* yacc.c:1646 */
30337 1 : break;
30338 :
30339 : case 786:
30340 : #line 5427 "gram.y" /* yacc.c:1646 */
30341 : { (yyval.defelt) = makeDefElem((yyvsp[-4].str), (Node *) (yyvsp[-1].list), (yylsp[-4])); }
30342 : #line 30343 "gram.c" /* yacc.c:1646 */
30343 14 : break;
30344 :
30345 : case 787:
30346 : #line 5432 "gram.y" /* yacc.c:1646 */
30347 : { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
30348 : #line 30349 "gram.c" /* yacc.c:1646 */
30349 14 : break;
30350 :
30351 : case 788:
30352 : #line 5434 "gram.y" /* yacc.c:1646 */
30353 : { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
30354 : #line 30355 "gram.c" /* yacc.c:1646 */
30355 11 : break;
30356 :
30357 : case 789:
30358 : #line 5439 "gram.y" /* yacc.c:1646 */
30359 : {
30360 : AlterEventTrigStmt *n = makeNode(AlterEventTrigStmt);
30361 : n->trigname = (yyvsp[-1].str);
30362 : n->tgenabled = (yyvsp[0].chr);
30363 : (yyval.node) = (Node *) n;
30364 : }
30365 : #line 30366 "gram.c" /* yacc.c:1646 */
30366 4 : break;
30367 :
30368 : case 790:
30369 : #line 5448 "gram.y" /* yacc.c:1646 */
30370 : { (yyval.chr) = TRIGGER_FIRES_ON_ORIGIN; }
30371 : #line 30372 "gram.c" /* yacc.c:1646 */
30372 1 : break;
30373 :
30374 : case 791:
30375 : #line 5449 "gram.y" /* yacc.c:1646 */
30376 : { (yyval.chr) = TRIGGER_FIRES_ON_REPLICA; }
30377 : #line 30378 "gram.c" /* yacc.c:1646 */
30378 1 : break;
30379 :
30380 : case 792:
30381 : #line 5450 "gram.y" /* yacc.c:1646 */
30382 : { (yyval.chr) = TRIGGER_FIRES_ALWAYS; }
30383 : #line 30384 "gram.c" /* yacc.c:1646 */
30384 1 : break;
30385 :
30386 : case 793:
30387 : #line 5451 "gram.y" /* yacc.c:1646 */
30388 : { (yyval.chr) = TRIGGER_DISABLED; }
30389 : #line 30390 "gram.c" /* yacc.c:1646 */
30390 1 : break;
30391 :
30392 : case 794:
30393 : #line 5465 "gram.y" /* yacc.c:1646 */
30394 : {
30395 : CreateTrigStmt *n = makeNode(CreateTrigStmt);
30396 : n->trigname = (yyvsp[-5].str);
30397 : n->args = list_make1((yyvsp[-2].node));
30398 : n->isconstraint = TRUE;
30399 : processCASbits((yyvsp[0].ival), (yylsp[0]), "ASSERTION",
30400 : &n->deferrable, &n->initdeferred, NULL,
30401 : NULL, yyscanner);
30402 :
30403 : ereport(ERROR,
30404 : (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
30405 : errmsg("CREATE ASSERTION is not yet implemented")));
30406 :
30407 : (yyval.node) = (Node *)n;
30408 : }
30409 : #line 30410 "gram.c" /* yacc.c:1646 */
30410 : break;
30411 :
30412 : case 795:
30413 : #line 5484 "gram.y" /* yacc.c:1646 */
30414 : {
30415 : DropStmt *n = makeNode(DropStmt);
30416 : n->objects = NIL;
30417 : n->behavior = (yyvsp[0].dbehavior);
30418 : n->removeType = OBJECT_TRIGGER; /* XXX */
30419 : ereport(ERROR,
30420 : (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
30421 : errmsg("DROP ASSERTION is not yet implemented")));
30422 : (yyval.node) = (Node *) n;
30423 : }
30424 : #line 30425 "gram.c" /* yacc.c:1646 */
30425 : break;
30426 :
30427 : case 796:
30428 : #line 5506 "gram.y" /* yacc.c:1646 */
30429 : {
30430 : DefineStmt *n = makeNode(DefineStmt);
30431 : n->kind = OBJECT_AGGREGATE;
30432 : n->oldstyle = false;
30433 : n->defnames = (yyvsp[-2].list);
30434 : n->args = (yyvsp[-1].list);
30435 : n->definition = (yyvsp[0].list);
30436 : (yyval.node) = (Node *)n;
30437 : }
30438 : #line 30439 "gram.c" /* yacc.c:1646 */
30439 61 : break;
30440 :
30441 : case 797:
30442 : #line 5516 "gram.y" /* yacc.c:1646 */
30443 : {
30444 : /* old-style (pre-8.2) syntax for CREATE AGGREGATE */
30445 : DefineStmt *n = makeNode(DefineStmt);
30446 : n->kind = OBJECT_AGGREGATE;
30447 : n->oldstyle = true;
30448 : n->defnames = (yyvsp[-1].list);
30449 : n->args = NIL;
30450 : n->definition = (yyvsp[0].list);
30451 : (yyval.node) = (Node *)n;
30452 : }
30453 : #line 30454 "gram.c" /* yacc.c:1646 */
30454 58 : break;
30455 :
30456 : case 798:
30457 : #line 5527 "gram.y" /* yacc.c:1646 */
30458 : {
30459 : DefineStmt *n = makeNode(DefineStmt);
30460 : n->kind = OBJECT_OPERATOR;
30461 : n->oldstyle = false;
30462 : n->defnames = (yyvsp[-1].list);
30463 : n->args = NIL;
30464 : n->definition = (yyvsp[0].list);
30465 : (yyval.node) = (Node *)n;
30466 : }
30467 : #line 30468 "gram.c" /* yacc.c:1646 */
30468 38 : break;
30469 :
30470 : case 799:
30471 : #line 5537 "gram.y" /* yacc.c:1646 */
30472 : {
30473 : DefineStmt *n = makeNode(DefineStmt);
30474 : n->kind = OBJECT_TYPE;
30475 : n->oldstyle = false;
30476 : n->defnames = (yyvsp[-1].list);
30477 : n->args = NIL;
30478 : n->definition = (yyvsp[0].list);
30479 : (yyval.node) = (Node *)n;
30480 : }
30481 : #line 30482 "gram.c" /* yacc.c:1646 */
30482 9 : break;
30483 :
30484 : case 800:
30485 : #line 5547 "gram.y" /* yacc.c:1646 */
30486 : {
30487 : /* Shell type (identified by lack of definition) */
30488 : DefineStmt *n = makeNode(DefineStmt);
30489 : n->kind = OBJECT_TYPE;
30490 : n->oldstyle = false;
30491 : n->defnames = (yyvsp[0].list);
30492 : n->args = NIL;
30493 : n->definition = NIL;
30494 : (yyval.node) = (Node *)n;
30495 : }
30496 : #line 30497 "gram.c" /* yacc.c:1646 */
30497 9 : break;
30498 :
30499 : case 801:
30500 : #line 5558 "gram.y" /* yacc.c:1646 */
30501 : {
30502 : CompositeTypeStmt *n = makeNode(CompositeTypeStmt);
30503 :
30504 : /* can't use qualified_name, sigh */
30505 : n->typevar = makeRangeVarFromAnyName((yyvsp[-4].list), (yylsp[-4]), yyscanner);
30506 : n->coldeflist = (yyvsp[-1].list);
30507 : (yyval.node) = (Node *)n;
30508 : }
30509 : #line 30510 "gram.c" /* yacc.c:1646 */
30510 51 : break;
30511 :
30512 : case 802:
30513 : #line 5567 "gram.y" /* yacc.c:1646 */
30514 : {
30515 : CreateEnumStmt *n = makeNode(CreateEnumStmt);
30516 : n->typeName = (yyvsp[-5].list);
30517 : n->vals = (yyvsp[-1].list);
30518 : (yyval.node) = (Node *)n;
30519 : }
30520 : #line 30521 "gram.c" /* yacc.c:1646 */
30521 15 : break;
30522 :
30523 : case 803:
30524 : #line 5574 "gram.y" /* yacc.c:1646 */
30525 : {
30526 : CreateRangeStmt *n = makeNode(CreateRangeStmt);
30527 : n->typeName = (yyvsp[-3].list);
30528 : n->params = (yyvsp[0].list);
30529 : (yyval.node) = (Node *)n;
30530 : }
30531 : #line 30532 "gram.c" /* yacc.c:1646 */
30532 10 : break;
30533 :
30534 : case 804:
30535 : #line 5581 "gram.y" /* yacc.c:1646 */
30536 : {
30537 : DefineStmt *n = makeNode(DefineStmt);
30538 : n->kind = OBJECT_TSPARSER;
30539 : n->args = NIL;
30540 : n->defnames = (yyvsp[-1].list);
30541 : n->definition = (yyvsp[0].list);
30542 : (yyval.node) = (Node *)n;
30543 : }
30544 : #line 30545 "gram.c" /* yacc.c:1646 */
30545 5 : break;
30546 :
30547 : case 805:
30548 : #line 5590 "gram.y" /* yacc.c:1646 */
30549 : {
30550 : DefineStmt *n = makeNode(DefineStmt);
30551 : n->kind = OBJECT_TSDICTIONARY;
30552 : n->args = NIL;
30553 : n->defnames = (yyvsp[-1].list);
30554 : n->definition = (yyvsp[0].list);
30555 : (yyval.node) = (Node *)n;
30556 : }
30557 : #line 30558 "gram.c" /* yacc.c:1646 */
30558 28 : break;
30559 :
30560 : case 806:
30561 : #line 5599 "gram.y" /* yacc.c:1646 */
30562 : {
30563 : DefineStmt *n = makeNode(DefineStmt);
30564 : n->kind = OBJECT_TSTEMPLATE;
30565 : n->args = NIL;
30566 : n->defnames = (yyvsp[-1].list);
30567 : n->definition = (yyvsp[0].list);
30568 : (yyval.node) = (Node *)n;
30569 : }
30570 : #line 30571 "gram.c" /* yacc.c:1646 */
30571 6 : break;
30572 :
30573 : case 807:
30574 : #line 5608 "gram.y" /* yacc.c:1646 */
30575 : {
30576 : DefineStmt *n = makeNode(DefineStmt);
30577 : n->kind = OBJECT_TSCONFIGURATION;
30578 : n->args = NIL;
30579 : n->defnames = (yyvsp[-1].list);
30580 : n->definition = (yyvsp[0].list);
30581 : (yyval.node) = (Node *)n;
30582 : }
30583 : #line 30584 "gram.c" /* yacc.c:1646 */
30584 26 : break;
30585 :
30586 : case 808:
30587 : #line 5617 "gram.y" /* yacc.c:1646 */
30588 : {
30589 : DefineStmt *n = makeNode(DefineStmt);
30590 : n->kind = OBJECT_COLLATION;
30591 : n->args = NIL;
30592 : n->defnames = (yyvsp[-1].list);
30593 : n->definition = (yyvsp[0].list);
30594 : (yyval.node) = (Node *)n;
30595 : }
30596 : #line 30597 "gram.c" /* yacc.c:1646 */
30597 1 : break;
30598 :
30599 : case 809:
30600 : #line 5626 "gram.y" /* yacc.c:1646 */
30601 : {
30602 : DefineStmt *n = makeNode(DefineStmt);
30603 : n->kind = OBJECT_COLLATION;
30604 : n->args = NIL;
30605 : n->defnames = (yyvsp[-1].list);
30606 : n->definition = (yyvsp[0].list);
30607 : n->if_not_exists = true;
30608 : (yyval.node) = (Node *)n;
30609 : }
30610 : #line 30611 "gram.c" /* yacc.c:1646 */
30611 0 : break;
30612 :
30613 : case 810:
30614 : #line 5636 "gram.y" /* yacc.c:1646 */
30615 : {
30616 : DefineStmt *n = makeNode(DefineStmt);
30617 : n->kind = OBJECT_COLLATION;
30618 : n->args = NIL;
30619 : n->defnames = (yyvsp[-2].list);
30620 : n->definition = list_make1(makeDefElem("from", (Node *) (yyvsp[0].list), (yylsp[0])));
30621 : (yyval.node) = (Node *)n;
30622 : }
30623 : #line 30624 "gram.c" /* yacc.c:1646 */
30624 2 : break;
30625 :
30626 : case 811:
30627 : #line 5645 "gram.y" /* yacc.c:1646 */
30628 : {
30629 : DefineStmt *n = makeNode(DefineStmt);
30630 : n->kind = OBJECT_COLLATION;
30631 : n->args = NIL;
30632 : n->defnames = (yyvsp[-2].list);
30633 : n->definition = list_make1(makeDefElem("from", (Node *) (yyvsp[0].list), (yylsp[0])));
30634 : n->if_not_exists = true;
30635 : (yyval.node) = (Node *)n;
30636 : }
30637 : #line 30638 "gram.c" /* yacc.c:1646 */
30638 0 : break;
30639 :
30640 : case 812:
30641 : #line 5656 "gram.y" /* yacc.c:1646 */
30642 : { (yyval.list) = (yyvsp[-1].list); }
30643 : #line 30644 "gram.c" /* yacc.c:1646 */
30644 212 : break;
30645 :
30646 : case 813:
30647 : #line 5659 "gram.y" /* yacc.c:1646 */
30648 : { (yyval.list) = list_make1((yyvsp[0].defelt)); }
30649 : #line 30650 "gram.c" /* yacc.c:1646 */
30650 212 : break;
30651 :
30652 : case 814:
30653 : #line 5660 "gram.y" /* yacc.c:1646 */
30654 : { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
30655 : #line 30656 "gram.c" /* yacc.c:1646 */
30656 355 : break;
30657 :
30658 : case 815:
30659 : #line 5664 "gram.y" /* yacc.c:1646 */
30660 : {
30661 : (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *) (yyvsp[0].node), (yylsp[-2]));
30662 : }
30663 : #line 30664 "gram.c" /* yacc.c:1646 */
30664 551 : break;
30665 :
30666 : case 816:
30667 : #line 5668 "gram.y" /* yacc.c:1646 */
30668 : {
30669 : (yyval.defelt) = makeDefElem((yyvsp[0].str), NULL, (yylsp[0]));
30670 : }
30671 : #line 30672 "gram.c" /* yacc.c:1646 */
30672 16 : break;
30673 :
30674 : case 817:
30675 : #line 5674 "gram.y" /* yacc.c:1646 */
30676 : { (yyval.node) = (Node *)(yyvsp[0].typnam); }
30677 : #line 30678 "gram.c" /* yacc.c:1646 */
30678 673 : break;
30679 :
30680 : case 818:
30681 : #line 5675 "gram.y" /* yacc.c:1646 */
30682 : { (yyval.node) = (Node *)makeString(pstrdup((yyvsp[0].keyword))); }
30683 : #line 30684 "gram.c" /* yacc.c:1646 */
30684 60 : break;
30685 :
30686 : case 819:
30687 : #line 5676 "gram.y" /* yacc.c:1646 */
30688 : { (yyval.node) = (Node *)(yyvsp[0].list); }
30689 : #line 30690 "gram.c" /* yacc.c:1646 */
30690 14 : break;
30691 :
30692 : case 820:
30693 : #line 5677 "gram.y" /* yacc.c:1646 */
30694 : { (yyval.node) = (Node *)(yyvsp[0].value); }
30695 : #line 30696 "gram.c" /* yacc.c:1646 */
30696 77 : break;
30697 :
30698 : case 821:
30699 : #line 5678 "gram.y" /* yacc.c:1646 */
30700 : { (yyval.node) = (Node *)makeString((yyvsp[0].str)); }
30701 : #line 30702 "gram.c" /* yacc.c:1646 */
30702 90 : break;
30703 :
30704 : case 822:
30705 : #line 5679 "gram.y" /* yacc.c:1646 */
30706 : { (yyval.node) = (Node *)makeString(pstrdup((yyvsp[0].keyword))); }
30707 : #line 30708 "gram.c" /* yacc.c:1646 */
30708 8 : break;
30709 :
30710 : case 823:
30711 : #line 5682 "gram.y" /* yacc.c:1646 */
30712 : { (yyval.list) = (yyvsp[-1].list); }
30713 : #line 30714 "gram.c" /* yacc.c:1646 */
30714 58 : break;
30715 :
30716 : case 824:
30717 : #line 5685 "gram.y" /* yacc.c:1646 */
30718 : { (yyval.list) = list_make1((yyvsp[0].defelt)); }
30719 : #line 30720 "gram.c" /* yacc.c:1646 */
30720 58 : break;
30721 :
30722 : case 825:
30723 : #line 5686 "gram.y" /* yacc.c:1646 */
30724 : { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
30725 : #line 30726 "gram.c" /* yacc.c:1646 */
30726 206 : break;
30727 :
30728 : case 826:
30729 : #line 5695 "gram.y" /* yacc.c:1646 */
30730 : {
30731 : (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *)(yyvsp[0].node), (yylsp[-2]));
30732 : }
30733 : #line 30734 "gram.c" /* yacc.c:1646 */
30734 264 : break;
30735 :
30736 : case 827:
30737 : #line 5701 "gram.y" /* yacc.c:1646 */
30738 : { (yyval.list) = (yyvsp[0].list); }
30739 : #line 30740 "gram.c" /* yacc.c:1646 */
30740 15 : break;
30741 :
30742 : case 828:
30743 : #line 5702 "gram.y" /* yacc.c:1646 */
30744 : { (yyval.list) = NIL; }
30745 : #line 30746 "gram.c" /* yacc.c:1646 */
30746 0 : break;
30747 :
30748 : case 829:
30749 : #line 5706 "gram.y" /* yacc.c:1646 */
30750 : { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
30751 : #line 30752 "gram.c" /* yacc.c:1646 */
30752 15 : break;
30753 :
30754 : case 830:
30755 : #line 5708 "gram.y" /* yacc.c:1646 */
30756 : { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
30757 : #line 30758 "gram.c" /* yacc.c:1646 */
30758 29 : break;
30759 :
30760 : case 831:
30761 : #line 5719 "gram.y" /* yacc.c:1646 */
30762 : {
30763 : AlterEnumStmt *n = makeNode(AlterEnumStmt);
30764 : n->typeName = (yyvsp[-4].list);
30765 : n->oldVal = NULL;
30766 : n->newVal = (yyvsp[0].str);
30767 : n->newValNeighbor = NULL;
30768 : n->newValIsAfter = true;
30769 : n->skipIfNewValExists = (yyvsp[-1].boolean);
30770 : (yyval.node) = (Node *) n;
30771 : }
30772 : #line 30773 "gram.c" /* yacc.c:1646 */
30773 9 : break;
30774 :
30775 : case 832:
30776 : #line 5730 "gram.y" /* yacc.c:1646 */
30777 : {
30778 : AlterEnumStmt *n = makeNode(AlterEnumStmt);
30779 : n->typeName = (yyvsp[-6].list);
30780 : n->oldVal = NULL;
30781 : n->newVal = (yyvsp[-2].str);
30782 : n->newValNeighbor = (yyvsp[0].str);
30783 : n->newValIsAfter = false;
30784 : n->skipIfNewValExists = (yyvsp[-3].boolean);
30785 : (yyval.node) = (Node *) n;
30786 : }
30787 : #line 30788 "gram.c" /* yacc.c:1646 */
30788 32 : break;
30789 :
30790 : case 833:
30791 : #line 5741 "gram.y" /* yacc.c:1646 */
30792 : {
30793 : AlterEnumStmt *n = makeNode(AlterEnumStmt);
30794 : n->typeName = (yyvsp[-6].list);
30795 : n->oldVal = NULL;
30796 : n->newVal = (yyvsp[-2].str);
30797 : n->newValNeighbor = (yyvsp[0].str);
30798 : n->newValIsAfter = true;
30799 : n->skipIfNewValExists = (yyvsp[-3].boolean);
30800 : (yyval.node) = (Node *) n;
30801 : }
30802 : #line 30803 "gram.c" /* yacc.c:1646 */
30803 3 : break;
30804 :
30805 : case 834:
30806 : #line 5752 "gram.y" /* yacc.c:1646 */
30807 : {
30808 : AlterEnumStmt *n = makeNode(AlterEnumStmt);
30809 : n->typeName = (yyvsp[-5].list);
30810 : n->oldVal = (yyvsp[-2].str);
30811 : n->newVal = (yyvsp[0].str);
30812 : n->newValNeighbor = NULL;
30813 : n->newValIsAfter = false;
30814 : n->skipIfNewValExists = false;
30815 : (yyval.node) = (Node *) n;
30816 : }
30817 : #line 30818 "gram.c" /* yacc.c:1646 */
30818 3 : break;
30819 :
30820 : case 835:
30821 : #line 5764 "gram.y" /* yacc.c:1646 */
30822 : { (yyval.boolean) = true; }
30823 : #line 30824 "gram.c" /* yacc.c:1646 */
30824 2 : break;
30825 :
30826 : case 836:
30827 : #line 5765 "gram.y" /* yacc.c:1646 */
30828 : { (yyval.boolean) = false; }
30829 : #line 30830 "gram.c" /* yacc.c:1646 */
30830 42 : break;
30831 :
30832 : case 837:
30833 : #line 5783 "gram.y" /* yacc.c:1646 */
30834 : {
30835 : CreateOpClassStmt *n = makeNode(CreateOpClassStmt);
30836 : n->opclassname = (yyvsp[-9].list);
30837 : n->isDefault = (yyvsp[-8].boolean);
30838 : n->datatype = (yyvsp[-5].typnam);
30839 : n->amname = (yyvsp[-3].str);
30840 : n->opfamilyname = (yyvsp[-2].list);
30841 : n->items = (yyvsp[0].list);
30842 : (yyval.node) = (Node *) n;
30843 : }
30844 : #line 30845 "gram.c" /* yacc.c:1646 */
30845 6 : break;
30846 :
30847 : case 838:
30848 : #line 5796 "gram.y" /* yacc.c:1646 */
30849 : { (yyval.list) = list_make1((yyvsp[0].node)); }
30850 : #line 30851 "gram.c" /* yacc.c:1646 */
30851 39 : break;
30852 :
30853 : case 839:
30854 : #line 5797 "gram.y" /* yacc.c:1646 */
30855 : { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
30856 : #line 30857 "gram.c" /* yacc.c:1646 */
30857 49 : break;
30858 :
30859 : case 840:
30860 : #line 5802 "gram.y" /* yacc.c:1646 */
30861 : {
30862 : CreateOpClassItem *n = makeNode(CreateOpClassItem);
30863 : ObjectWithArgs *owa = makeNode(ObjectWithArgs);
30864 : owa->objname = (yyvsp[-2].list);
30865 : owa->objargs = NIL;
30866 : n->itemtype = OPCLASS_ITEM_OPERATOR;
30867 : n->name = owa;
30868 : n->number = (yyvsp[-3].ival);
30869 : n->order_family = (yyvsp[-1].list);
30870 : (yyval.node) = (Node *) n;
30871 : }
30872 : #line 30873 "gram.c" /* yacc.c:1646 */
30873 15 : break;
30874 :
30875 : case 841:
30876 : #line 5815 "gram.y" /* yacc.c:1646 */
30877 : {
30878 : CreateOpClassItem *n = makeNode(CreateOpClassItem);
30879 : n->itemtype = OPCLASS_ITEM_OPERATOR;
30880 : n->name = (yyvsp[-2].objwithargs);
30881 : n->number = (yyvsp[-3].ival);
30882 : n->order_family = (yyvsp[-1].list);
30883 : (yyval.node) = (Node *) n;
30884 : }
30885 : #line 30886 "gram.c" /* yacc.c:1646 */
30886 45 : break;
30887 :
30888 : case 842:
30889 : #line 5824 "gram.y" /* yacc.c:1646 */
30890 : {
30891 : CreateOpClassItem *n = makeNode(CreateOpClassItem);
30892 : n->itemtype = OPCLASS_ITEM_FUNCTION;
30893 : n->name = (yyvsp[0].objwithargs);
30894 : n->number = (yyvsp[-1].ival);
30895 : (yyval.node) = (Node *) n;
30896 : }
30897 : #line 30898 "gram.c" /* yacc.c:1646 */
30898 23 : break;
30899 :
30900 : case 843:
30901 : #line 5832 "gram.y" /* yacc.c:1646 */
30902 : {
30903 : CreateOpClassItem *n = makeNode(CreateOpClassItem);
30904 : n->itemtype = OPCLASS_ITEM_FUNCTION;
30905 : n->name = (yyvsp[0].objwithargs);
30906 : n->number = (yyvsp[-4].ival);
30907 : n->class_args = (yyvsp[-2].list);
30908 : (yyval.node) = (Node *) n;
30909 : }
30910 : #line 30911 "gram.c" /* yacc.c:1646 */
30911 0 : break;
30912 :
30913 : case 844:
30914 : #line 5841 "gram.y" /* yacc.c:1646 */
30915 : {
30916 : CreateOpClassItem *n = makeNode(CreateOpClassItem);
30917 : n->itemtype = OPCLASS_ITEM_STORAGETYPE;
30918 : n->storedtype = (yyvsp[0].typnam);
30919 : (yyval.node) = (Node *) n;
30920 : }
30921 : #line 30922 "gram.c" /* yacc.c:1646 */
30922 5 : break;
30923 :
30924 : case 845:
30925 : #line 5849 "gram.y" /* yacc.c:1646 */
30926 : { (yyval.boolean) = TRUE; }
30927 : #line 30928 "gram.c" /* yacc.c:1646 */
30928 136 : break;
30929 :
30930 : case 846:
30931 : #line 5850 "gram.y" /* yacc.c:1646 */
30932 : { (yyval.boolean) = FALSE; }
30933 : #line 30934 "gram.c" /* yacc.c:1646 */
30934 12 : break;
30935 :
30936 : case 847:
30937 : #line 5853 "gram.y" /* yacc.c:1646 */
30938 : { (yyval.list) = (yyvsp[0].list); }
30939 : #line 30940 "gram.c" /* yacc.c:1646 */
30940 0 : break;
30941 :
30942 : case 848:
30943 : #line 5854 "gram.y" /* yacc.c:1646 */
30944 : { (yyval.list) = NIL; }
30945 : #line 30946 "gram.c" /* yacc.c:1646 */
30946 6 : break;
30947 :
30948 : case 849:
30949 : #line 5857 "gram.y" /* yacc.c:1646 */
30950 : { (yyval.list) = NIL; }
30951 : #line 30952 "gram.c" /* yacc.c:1646 */
30952 0 : break;
30953 :
30954 : case 850:
30955 : #line 5858 "gram.y" /* yacc.c:1646 */
30956 : { (yyval.list) = (yyvsp[0].list); }
30957 : #line 30958 "gram.c" /* yacc.c:1646 */
30958 3 : break;
30959 :
30960 : case 851:
30961 : #line 5859 "gram.y" /* yacc.c:1646 */
30962 : { (yyval.list) = NIL; }
30963 : #line 30964 "gram.c" /* yacc.c:1646 */
30964 57 : break;
30965 :
30966 : case 852:
30967 : #line 5863 "gram.y" /* yacc.c:1646 */
30968 : {
30969 : /*
30970 : * RECHECK no longer does anything in opclass definitions,
30971 : * but we still accept it to ease porting of old database
30972 : * dumps.
30973 : */
30974 : ereport(NOTICE,
30975 : (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
30976 : errmsg("RECHECK is no longer required"),
30977 : errhint("Update your data type."),
30978 : parser_errposition((yylsp[0]))));
30979 : (yyval.boolean) = TRUE;
30980 : }
30981 : #line 30982 "gram.c" /* yacc.c:1646 */
30982 0 : break;
30983 :
30984 : case 853:
30985 : #line 5876 "gram.y" /* yacc.c:1646 */
30986 : { (yyval.boolean) = FALSE; }
30987 : #line 30988 "gram.c" /* yacc.c:1646 */
30988 60 : break;
30989 :
30990 : case 854:
30991 : #line 5882 "gram.y" /* yacc.c:1646 */
30992 : {
30993 : CreateOpFamilyStmt *n = makeNode(CreateOpFamilyStmt);
30994 : n->opfamilyname = (yyvsp[-2].list);
30995 : n->amname = (yyvsp[0].str);
30996 : (yyval.node) = (Node *) n;
30997 : }
30998 : #line 30999 "gram.c" /* yacc.c:1646 */
30999 20 : break;
31000 :
31001 : case 855:
31002 : #line 5892 "gram.y" /* yacc.c:1646 */
31003 : {
31004 : AlterOpFamilyStmt *n = makeNode(AlterOpFamilyStmt);
31005 : n->opfamilyname = (yyvsp[-4].list);
31006 : n->amname = (yyvsp[-2].str);
31007 : n->isDrop = false;
31008 : n->items = (yyvsp[0].list);
31009 : (yyval.node) = (Node *) n;
31010 : }
31011 : #line 31012 "gram.c" /* yacc.c:1646 */
31012 33 : break;
31013 :
31014 : case 856:
31015 : #line 5901 "gram.y" /* yacc.c:1646 */
31016 : {
31017 : AlterOpFamilyStmt *n = makeNode(AlterOpFamilyStmt);
31018 : n->opfamilyname = (yyvsp[-4].list);
31019 : n->amname = (yyvsp[-2].str);
31020 : n->isDrop = true;
31021 : n->items = (yyvsp[0].list);
31022 : (yyval.node) = (Node *) n;
31023 : }
31024 : #line 31025 "gram.c" /* yacc.c:1646 */
31025 5 : break;
31026 :
31027 : case 857:
31028 : #line 5912 "gram.y" /* yacc.c:1646 */
31029 : { (yyval.list) = list_make1((yyvsp[0].node)); }
31030 : #line 31031 "gram.c" /* yacc.c:1646 */
31031 5 : break;
31032 :
31033 : case 858:
31034 : #line 5913 "gram.y" /* yacc.c:1646 */
31035 : { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
31036 : #line 31037 "gram.c" /* yacc.c:1646 */
31037 5 : break;
31038 :
31039 : case 859:
31040 : #line 5918 "gram.y" /* yacc.c:1646 */
31041 : {
31042 : CreateOpClassItem *n = makeNode(CreateOpClassItem);
31043 : n->itemtype = OPCLASS_ITEM_OPERATOR;
31044 : n->number = (yyvsp[-3].ival);
31045 : n->class_args = (yyvsp[-1].list);
31046 : (yyval.node) = (Node *) n;
31047 : }
31048 : #line 31049 "gram.c" /* yacc.c:1646 */
31049 8 : break;
31050 :
31051 : case 860:
31052 : #line 5926 "gram.y" /* yacc.c:1646 */
31053 : {
31054 : CreateOpClassItem *n = makeNode(CreateOpClassItem);
31055 : n->itemtype = OPCLASS_ITEM_FUNCTION;
31056 : n->number = (yyvsp[-3].ival);
31057 : n->class_args = (yyvsp[-1].list);
31058 : (yyval.node) = (Node *) n;
31059 : }
31060 : #line 31061 "gram.c" /* yacc.c:1646 */
31061 2 : break;
31062 :
31063 : case 861:
31064 : #line 5938 "gram.y" /* yacc.c:1646 */
31065 : {
31066 : DropStmt *n = makeNode(DropStmt);
31067 : n->objects = list_make1(lcons(makeString((yyvsp[-1].str)), (yyvsp[-3].list)));
31068 : n->removeType = OBJECT_OPCLASS;
31069 : n->behavior = (yyvsp[0].dbehavior);
31070 : n->missing_ok = false;
31071 : n->concurrent = false;
31072 : (yyval.node) = (Node *) n;
31073 : }
31074 : #line 31075 "gram.c" /* yacc.c:1646 */
31075 2 : break;
31076 :
31077 : case 862:
31078 : #line 5948 "gram.y" /* yacc.c:1646 */
31079 : {
31080 : DropStmt *n = makeNode(DropStmt);
31081 : n->objects = list_make1(lcons(makeString((yyvsp[-1].str)), (yyvsp[-3].list)));
31082 : n->removeType = OBJECT_OPCLASS;
31083 : n->behavior = (yyvsp[0].dbehavior);
31084 : n->missing_ok = true;
31085 : n->concurrent = false;
31086 : (yyval.node) = (Node *) n;
31087 : }
31088 : #line 31089 "gram.c" /* yacc.c:1646 */
31089 3 : break;
31090 :
31091 : case 863:
31092 : #line 5961 "gram.y" /* yacc.c:1646 */
31093 : {
31094 : DropStmt *n = makeNode(DropStmt);
31095 : n->objects = list_make1(lcons(makeString((yyvsp[-1].str)), (yyvsp[-3].list)));
31096 : n->removeType = OBJECT_OPFAMILY;
31097 : n->behavior = (yyvsp[0].dbehavior);
31098 : n->missing_ok = false;
31099 : n->concurrent = false;
31100 : (yyval.node) = (Node *) n;
31101 : }
31102 : #line 31103 "gram.c" /* yacc.c:1646 */
31103 17 : break;
31104 :
31105 : case 864:
31106 : #line 5971 "gram.y" /* yacc.c:1646 */
31107 : {
31108 : DropStmt *n = makeNode(DropStmt);
31109 : n->objects = list_make1(lcons(makeString((yyvsp[-1].str)), (yyvsp[-3].list)));
31110 : n->removeType = OBJECT_OPFAMILY;
31111 : n->behavior = (yyvsp[0].dbehavior);
31112 : n->missing_ok = true;
31113 : n->concurrent = false;
31114 : (yyval.node) = (Node *) n;
31115 : }
31116 : #line 31117 "gram.c" /* yacc.c:1646 */
31117 3 : break;
31118 :
31119 : case 865:
31120 : #line 5993 "gram.y" /* yacc.c:1646 */
31121 : {
31122 : DropOwnedStmt *n = makeNode(DropOwnedStmt);
31123 : n->roles = (yyvsp[-1].list);
31124 : n->behavior = (yyvsp[0].dbehavior);
31125 : (yyval.node) = (Node *)n;
31126 : }
31127 : #line 31128 "gram.c" /* yacc.c:1646 */
31128 16 : break;
31129 :
31130 : case 866:
31131 : #line 6003 "gram.y" /* yacc.c:1646 */
31132 : {
31133 : ReassignOwnedStmt *n = makeNode(ReassignOwnedStmt);
31134 : n->roles = (yyvsp[-2].list);
31135 : n->newrole = (yyvsp[0].rolespec);
31136 : (yyval.node) = (Node *)n;
31137 : }
31138 : #line 31139 "gram.c" /* yacc.c:1646 */
31139 4 : break;
31140 :
31141 : case 867:
31142 : #line 6021 "gram.y" /* yacc.c:1646 */
31143 : {
31144 : DropStmt *n = makeNode(DropStmt);
31145 : n->removeType = (yyvsp[-4].objtype);
31146 : n->missing_ok = TRUE;
31147 : n->objects = (yyvsp[-1].list);
31148 : n->behavior = (yyvsp[0].dbehavior);
31149 : n->concurrent = false;
31150 : (yyval.node) = (Node *)n;
31151 : }
31152 : #line 31153 "gram.c" /* yacc.c:1646 */
31153 47 : break;
31154 :
31155 : case 868:
31156 : #line 6031 "gram.y" /* yacc.c:1646 */
31157 : {
31158 : DropStmt *n = makeNode(DropStmt);
31159 : n->removeType = (yyvsp[-2].objtype);
31160 : n->missing_ok = FALSE;
31161 : n->objects = (yyvsp[-1].list);
31162 : n->behavior = (yyvsp[0].dbehavior);
31163 : n->concurrent = false;
31164 : (yyval.node) = (Node *)n;
31165 : }
31166 : #line 31167 "gram.c" /* yacc.c:1646 */
31167 796 : break;
31168 :
31169 : case 869:
31170 : #line 6041 "gram.y" /* yacc.c:1646 */
31171 : {
31172 : DropStmt *n = makeNode(DropStmt);
31173 : n->removeType = (yyvsp[-4].objtype);
31174 : n->missing_ok = TRUE;
31175 : n->objects = (yyvsp[-1].list);
31176 : n->behavior = (yyvsp[0].dbehavior);
31177 : n->concurrent = false;
31178 : (yyval.node) = (Node *)n;
31179 : }
31180 : #line 31181 "gram.c" /* yacc.c:1646 */
31181 11 : break;
31182 :
31183 : case 870:
31184 : #line 6051 "gram.y" /* yacc.c:1646 */
31185 : {
31186 : DropStmt *n = makeNode(DropStmt);
31187 : n->removeType = (yyvsp[-2].objtype);
31188 : n->missing_ok = FALSE;
31189 : n->objects = (yyvsp[-1].list);
31190 : n->behavior = (yyvsp[0].dbehavior);
31191 : n->concurrent = false;
31192 : (yyval.node) = (Node *)n;
31193 : }
31194 : #line 31195 "gram.c" /* yacc.c:1646 */
31195 90 : break;
31196 :
31197 : case 871:
31198 : #line 6061 "gram.y" /* yacc.c:1646 */
31199 : {
31200 : DropStmt *n = makeNode(DropStmt);
31201 : n->removeType = (yyvsp[-4].objtype);
31202 : n->objects = list_make1(lappend((yyvsp[-1].list), makeString((yyvsp[-3].str))));
31203 : n->behavior = (yyvsp[0].dbehavior);
31204 : n->missing_ok = false;
31205 : n->concurrent = false;
31206 : (yyval.node) = (Node *) n;
31207 : }
31208 : #line 31209 "gram.c" /* yacc.c:1646 */
31209 94 : break;
31210 :
31211 : case 872:
31212 : #line 6071 "gram.y" /* yacc.c:1646 */
31213 : {
31214 : DropStmt *n = makeNode(DropStmt);
31215 : n->removeType = (yyvsp[-6].objtype);
31216 : n->objects = list_make1(lappend((yyvsp[-1].list), makeString((yyvsp[-3].str))));
31217 : n->behavior = (yyvsp[0].dbehavior);
31218 : n->missing_ok = true;
31219 : n->concurrent = false;
31220 : (yyval.node) = (Node *) n;
31221 : }
31222 : #line 31223 "gram.c" /* yacc.c:1646 */
31223 8 : break;
31224 :
31225 : case 873:
31226 : #line 6081 "gram.y" /* yacc.c:1646 */
31227 : {
31228 : DropStmt *n = makeNode(DropStmt);
31229 : n->removeType = OBJECT_TYPE;
31230 : n->missing_ok = FALSE;
31231 : n->objects = (yyvsp[-1].list);
31232 : n->behavior = (yyvsp[0].dbehavior);
31233 : n->concurrent = false;
31234 : (yyval.node) = (Node *) n;
31235 : }
31236 : #line 31237 "gram.c" /* yacc.c:1646 */
31237 41 : break;
31238 :
31239 : case 874:
31240 : #line 6091 "gram.y" /* yacc.c:1646 */
31241 : {
31242 : DropStmt *n = makeNode(DropStmt);
31243 : n->removeType = OBJECT_TYPE;
31244 : n->missing_ok = TRUE;
31245 : n->objects = (yyvsp[-1].list);
31246 : n->behavior = (yyvsp[0].dbehavior);
31247 : n->concurrent = false;
31248 : (yyval.node) = (Node *) n;
31249 : }
31250 : #line 31251 "gram.c" /* yacc.c:1646 */
31251 3 : break;
31252 :
31253 : case 875:
31254 : #line 6101 "gram.y" /* yacc.c:1646 */
31255 : {
31256 : DropStmt *n = makeNode(DropStmt);
31257 : n->removeType = OBJECT_DOMAIN;
31258 : n->missing_ok = FALSE;
31259 : n->objects = (yyvsp[-1].list);
31260 : n->behavior = (yyvsp[0].dbehavior);
31261 : n->concurrent = false;
31262 : (yyval.node) = (Node *) n;
31263 : }
31264 : #line 31265 "gram.c" /* yacc.c:1646 */
31265 47 : break;
31266 :
31267 : case 876:
31268 : #line 6111 "gram.y" /* yacc.c:1646 */
31269 : {
31270 : DropStmt *n = makeNode(DropStmt);
31271 : n->removeType = OBJECT_DOMAIN;
31272 : n->missing_ok = TRUE;
31273 : n->objects = (yyvsp[-1].list);
31274 : n->behavior = (yyvsp[0].dbehavior);
31275 : n->concurrent = false;
31276 : (yyval.node) = (Node *) n;
31277 : }
31278 : #line 31279 "gram.c" /* yacc.c:1646 */
31279 3 : break;
31280 :
31281 : case 877:
31282 : #line 6121 "gram.y" /* yacc.c:1646 */
31283 : {
31284 : DropStmt *n = makeNode(DropStmt);
31285 : n->removeType = OBJECT_INDEX;
31286 : n->missing_ok = FALSE;
31287 : n->objects = (yyvsp[-1].list);
31288 : n->behavior = (yyvsp[0].dbehavior);
31289 : n->concurrent = true;
31290 : (yyval.node) = (Node *)n;
31291 : }
31292 : #line 31293 "gram.c" /* yacc.c:1646 */
31293 7 : break;
31294 :
31295 : case 878:
31296 : #line 6131 "gram.y" /* yacc.c:1646 */
31297 : {
31298 : DropStmt *n = makeNode(DropStmt);
31299 : n->removeType = OBJECT_INDEX;
31300 : n->missing_ok = TRUE;
31301 : n->objects = (yyvsp[-1].list);
31302 : n->behavior = (yyvsp[0].dbehavior);
31303 : n->concurrent = true;
31304 : (yyval.node) = (Node *)n;
31305 : }
31306 : #line 31307 "gram.c" /* yacc.c:1646 */
31307 2 : break;
31308 :
31309 : case 879:
31310 : #line 6144 "gram.y" /* yacc.c:1646 */
31311 : { (yyval.objtype) = OBJECT_TABLE; }
31312 : #line 31313 "gram.c" /* yacc.c:1646 */
31313 640 : break;
31314 :
31315 : case 880:
31316 : #line 6145 "gram.y" /* yacc.c:1646 */
31317 : { (yyval.objtype) = OBJECT_SEQUENCE; }
31318 : #line 31319 "gram.c" /* yacc.c:1646 */
31319 23 : break;
31320 :
31321 : case 881:
31322 : #line 6146 "gram.y" /* yacc.c:1646 */
31323 : { (yyval.objtype) = OBJECT_VIEW; }
31324 : #line 31325 "gram.c" /* yacc.c:1646 */
31325 83 : break;
31326 :
31327 : case 882:
31328 : #line 6147 "gram.y" /* yacc.c:1646 */
31329 : { (yyval.objtype) = OBJECT_MATVIEW; }
31330 : #line 31331 "gram.c" /* yacc.c:1646 */
31331 5 : break;
31332 :
31333 : case 883:
31334 : #line 6148 "gram.y" /* yacc.c:1646 */
31335 : { (yyval.objtype) = OBJECT_INDEX; }
31336 : #line 31337 "gram.c" /* yacc.c:1646 */
31337 57 : break;
31338 :
31339 : case 884:
31340 : #line 6149 "gram.y" /* yacc.c:1646 */
31341 : { (yyval.objtype) = OBJECT_FOREIGN_TABLE; }
31342 : #line 31343 "gram.c" /* yacc.c:1646 */
31343 10 : break;
31344 :
31345 : case 885:
31346 : #line 6150 "gram.y" /* yacc.c:1646 */
31347 : { (yyval.objtype) = OBJECT_COLLATION; }
31348 : #line 31349 "gram.c" /* yacc.c:1646 */
31349 4 : break;
31350 :
31351 : case 886:
31352 : #line 6151 "gram.y" /* yacc.c:1646 */
31353 : { (yyval.objtype) = OBJECT_CONVERSION; }
31354 : #line 31355 "gram.c" /* yacc.c:1646 */
31355 6 : break;
31356 :
31357 : case 887:
31358 : #line 6152 "gram.y" /* yacc.c:1646 */
31359 : { (yyval.objtype) = OBJECT_STATISTIC_EXT; }
31360 : #line 31361 "gram.c" /* yacc.c:1646 */
31361 4 : break;
31362 :
31363 : case 888:
31364 : #line 6153 "gram.y" /* yacc.c:1646 */
31365 : { (yyval.objtype) = OBJECT_TSPARSER; }
31366 : #line 31367 "gram.c" /* yacc.c:1646 */
31367 3 : break;
31368 :
31369 : case 889:
31370 : #line 6154 "gram.y" /* yacc.c:1646 */
31371 : { (yyval.objtype) = OBJECT_TSDICTIONARY; }
31372 : #line 31373 "gram.c" /* yacc.c:1646 */
31373 4 : break;
31374 :
31375 : case 890:
31376 : #line 6155 "gram.y" /* yacc.c:1646 */
31377 : { (yyval.objtype) = OBJECT_TSTEMPLATE; }
31378 : #line 31379 "gram.c" /* yacc.c:1646 */
31379 3 : break;
31380 :
31381 : case 891:
31382 : #line 6156 "gram.y" /* yacc.c:1646 */
31383 : { (yyval.objtype) = OBJECT_TSCONFIGURATION; }
31384 : #line 31385 "gram.c" /* yacc.c:1646 */
31385 4 : break;
31386 :
31387 : case 892:
31388 : #line 6161 "gram.y" /* yacc.c:1646 */
31389 : { (yyval.objtype) = OBJECT_ACCESS_METHOD; }
31390 : #line 31391 "gram.c" /* yacc.c:1646 */
31391 4 : break;
31392 :
31393 : case 893:
31394 : #line 6162 "gram.y" /* yacc.c:1646 */
31395 : { (yyval.objtype) = OBJECT_EVENT_TRIGGER; }
31396 : #line 31397 "gram.c" /* yacc.c:1646 */
31397 12 : break;
31398 :
31399 : case 894:
31400 : #line 6163 "gram.y" /* yacc.c:1646 */
31401 : { (yyval.objtype) = OBJECT_EXTENSION; }
31402 : #line 31403 "gram.c" /* yacc.c:1646 */
31403 2 : break;
31404 :
31405 : case 895:
31406 : #line 6164 "gram.y" /* yacc.c:1646 */
31407 : { (yyval.objtype) = OBJECT_FDW; }
31408 : #line 31409 "gram.c" /* yacc.c:1646 */
31409 20 : break;
31410 :
31411 : case 896:
31412 : #line 6165 "gram.y" /* yacc.c:1646 */
31413 : { (yyval.objtype) = OBJECT_PUBLICATION; }
31414 : #line 31415 "gram.c" /* yacc.c:1646 */
31415 7 : break;
31416 :
31417 : case 897:
31418 : #line 6166 "gram.y" /* yacc.c:1646 */
31419 : { (yyval.objtype) = OBJECT_SCHEMA; }
31420 : #line 31421 "gram.c" /* yacc.c:1646 */
31421 39 : break;
31422 :
31423 : case 898:
31424 : #line 6167 "gram.y" /* yacc.c:1646 */
31425 : { (yyval.objtype) = OBJECT_FOREIGN_SERVER; }
31426 : #line 31427 "gram.c" /* yacc.c:1646 */
31427 17 : break;
31428 :
31429 : case 899:
31430 : #line 6172 "gram.y" /* yacc.c:1646 */
31431 : { (yyval.objtype) = OBJECT_POLICY; }
31432 : #line 31433 "gram.c" /* yacc.c:1646 */
31433 17 : break;
31434 :
31435 : case 900:
31436 : #line 6173 "gram.y" /* yacc.c:1646 */
31437 : { (yyval.objtype) = OBJECT_RULE; }
31438 : #line 31439 "gram.c" /* yacc.c:1646 */
31439 33 : break;
31440 :
31441 : case 901:
31442 : #line 6174 "gram.y" /* yacc.c:1646 */
31443 : { (yyval.objtype) = OBJECT_TRIGGER; }
31444 : #line 31445 "gram.c" /* yacc.c:1646 */
31445 54 : break;
31446 :
31447 : case 902:
31448 : #line 6178 "gram.y" /* yacc.c:1646 */
31449 : { (yyval.list) = list_make1((yyvsp[0].list)); }
31450 : #line 31451 "gram.c" /* yacc.c:1646 */
31451 915 : break;
31452 :
31453 : case 903:
31454 : #line 6179 "gram.y" /* yacc.c:1646 */
31455 : { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].list)); }
31456 : #line 31457 "gram.c" /* yacc.c:1646 */
31457 108 : break;
31458 :
31459 : case 904:
31460 : #line 6182 "gram.y" /* yacc.c:1646 */
31461 : { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
31462 : #line 31463 "gram.c" /* yacc.c:1646 */
31463 2051 : break;
31464 :
31465 : case 905:
31466 : #line 6183 "gram.y" /* yacc.c:1646 */
31467 : { (yyval.list) = lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)); }
31468 : #line 31469 "gram.c" /* yacc.c:1646 */
31469 388 : break;
31470 :
31471 : case 906:
31472 : #line 6187 "gram.y" /* yacc.c:1646 */
31473 : { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
31474 : #line 31475 "gram.c" /* yacc.c:1646 */
31475 2668 : break;
31476 :
31477 : case 907:
31478 : #line 6189 "gram.y" /* yacc.c:1646 */
31479 : { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
31480 : #line 31481 "gram.c" /* yacc.c:1646 */
31481 0 : break;
31482 :
31483 : case 908:
31484 : #line 6193 "gram.y" /* yacc.c:1646 */
31485 : { (yyval.list) = list_make1((yyvsp[0].typnam)); }
31486 : #line 31487 "gram.c" /* yacc.c:1646 */
31487 94 : break;
31488 :
31489 : case 909:
31490 : #line 6194 "gram.y" /* yacc.c:1646 */
31491 : { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].typnam)); }
31492 : #line 31493 "gram.c" /* yacc.c:1646 */
31493 0 : break;
31494 :
31495 : case 910:
31496 : #line 6205 "gram.y" /* yacc.c:1646 */
31497 : {
31498 : TruncateStmt *n = makeNode(TruncateStmt);
31499 : n->relations = (yyvsp[-2].list);
31500 : n->restart_seqs = (yyvsp[-1].boolean);
31501 : n->behavior = (yyvsp[0].dbehavior);
31502 : (yyval.node) = (Node *)n;
31503 : }
31504 : #line 31505 "gram.c" /* yacc.c:1646 */
31505 70 : break;
31506 :
31507 : case 911:
31508 : #line 6215 "gram.y" /* yacc.c:1646 */
31509 : { (yyval.boolean) = false; }
31510 : #line 31511 "gram.c" /* yacc.c:1646 */
31511 0 : break;
31512 :
31513 : case 912:
31514 : #line 6216 "gram.y" /* yacc.c:1646 */
31515 : { (yyval.boolean) = true; }
31516 : #line 31517 "gram.c" /* yacc.c:1646 */
31517 3 : break;
31518 :
31519 : case 913:
31520 : #line 6217 "gram.y" /* yacc.c:1646 */
31521 : { (yyval.boolean) = false; }
31522 : #line 31523 "gram.c" /* yacc.c:1646 */
31523 67 : break;
31524 :
31525 : case 914:
31526 : #line 6252 "gram.y" /* yacc.c:1646 */
31527 : {
31528 : CommentStmt *n = makeNode(CommentStmt);
31529 : n->objtype = (yyvsp[-3].objtype);
31530 : n->object = (Node *) (yyvsp[-2].list);
31531 : n->comment = (yyvsp[0].str);
31532 : (yyval.node) = (Node *) n;
31533 : }
31534 : #line 31535 "gram.c" /* yacc.c:1646 */
31535 204 : break;
31536 :
31537 : case 915:
31538 : #line 6260 "gram.y" /* yacc.c:1646 */
31539 : {
31540 : CommentStmt *n = makeNode(CommentStmt);
31541 : n->objtype = (yyvsp[-3].objtype);
31542 : n->object = (Node *) makeString((yyvsp[-2].str));
31543 : n->comment = (yyvsp[0].str);
31544 : (yyval.node) = (Node *) n;
31545 : }
31546 : #line 31547 "gram.c" /* yacc.c:1646 */
31547 8 : break;
31548 :
31549 : case 916:
31550 : #line 6268 "gram.y" /* yacc.c:1646 */
31551 : {
31552 : CommentStmt *n = makeNode(CommentStmt);
31553 : n->objtype = OBJECT_TYPE;
31554 : n->object = (Node *) (yyvsp[-2].typnam);
31555 : n->comment = (yyvsp[0].str);
31556 : (yyval.node) = (Node *) n;
31557 : }
31558 : #line 31559 "gram.c" /* yacc.c:1646 */
31559 3 : break;
31560 :
31561 : case 917:
31562 : #line 6276 "gram.y" /* yacc.c:1646 */
31563 : {
31564 : CommentStmt *n = makeNode(CommentStmt);
31565 : n->objtype = OBJECT_DOMAIN;
31566 : n->object = (Node *) (yyvsp[-2].typnam);
31567 : n->comment = (yyvsp[0].str);
31568 : (yyval.node) = (Node *) n;
31569 : }
31570 : #line 31571 "gram.c" /* yacc.c:1646 */
31571 1 : break;
31572 :
31573 : case 918:
31574 : #line 6284 "gram.y" /* yacc.c:1646 */
31575 : {
31576 : CommentStmt *n = makeNode(CommentStmt);
31577 : n->objtype = OBJECT_AGGREGATE;
31578 : n->object = (Node *) (yyvsp[-2].objwithargs);
31579 : n->comment = (yyvsp[0].str);
31580 : (yyval.node) = (Node *) n;
31581 : }
31582 : #line 31583 "gram.c" /* yacc.c:1646 */
31583 6 : break;
31584 :
31585 : case 919:
31586 : #line 6292 "gram.y" /* yacc.c:1646 */
31587 : {
31588 : CommentStmt *n = makeNode(CommentStmt);
31589 : n->objtype = OBJECT_FUNCTION;
31590 : n->object = (Node *) (yyvsp[-2].objwithargs);
31591 : n->comment = (yyvsp[0].str);
31592 : (yyval.node) = (Node *) n;
31593 : }
31594 : #line 31595 "gram.c" /* yacc.c:1646 */
31595 137 : break;
31596 :
31597 : case 920:
31598 : #line 6300 "gram.y" /* yacc.c:1646 */
31599 : {
31600 : CommentStmt *n = makeNode(CommentStmt);
31601 : n->objtype = OBJECT_OPERATOR;
31602 : n->object = (Node *) (yyvsp[-2].objwithargs);
31603 : n->comment = (yyvsp[0].str);
31604 : (yyval.node) = (Node *) n;
31605 : }
31606 : #line 31607 "gram.c" /* yacc.c:1646 */
31607 1 : break;
31608 :
31609 : case 921:
31610 : #line 6308 "gram.y" /* yacc.c:1646 */
31611 : {
31612 : CommentStmt *n = makeNode(CommentStmt);
31613 : n->objtype = OBJECT_TABCONSTRAINT;
31614 : n->object = (Node *) lappend((yyvsp[-2].list), makeString((yyvsp[-4].str)));
31615 : n->comment = (yyvsp[0].str);
31616 : (yyval.node) = (Node *) n;
31617 : }
31618 : #line 31619 "gram.c" /* yacc.c:1646 */
31619 12 : break;
31620 :
31621 : case 922:
31622 : #line 6316 "gram.y" /* yacc.c:1646 */
31623 : {
31624 : CommentStmt *n = makeNode(CommentStmt);
31625 : n->objtype = OBJECT_DOMCONSTRAINT;
31626 : /*
31627 : * should use Typename not any_name in the production, but
31628 : * there's a shift/reduce conflict if we do that, so fix it
31629 : * up here.
31630 : */
31631 : n->object = (Node *) list_make2(makeTypeNameFromNameList((yyvsp[-2].list)), makeString((yyvsp[-5].str)));
31632 : n->comment = (yyvsp[0].str);
31633 : (yyval.node) = (Node *) n;
31634 : }
31635 : #line 31636 "gram.c" /* yacc.c:1646 */
31636 4 : break;
31637 :
31638 : case 923:
31639 : #line 6329 "gram.y" /* yacc.c:1646 */
31640 : {
31641 : CommentStmt *n = makeNode(CommentStmt);
31642 : n->objtype = OBJECT_POLICY;
31643 : n->object = (Node *) lappend((yyvsp[-2].list), makeString((yyvsp[-4].str)));
31644 : n->comment = (yyvsp[0].str);
31645 : (yyval.node) = (Node *) n;
31646 : }
31647 : #line 31648 "gram.c" /* yacc.c:1646 */
31648 0 : break;
31649 :
31650 : case 924:
31651 : #line 6337 "gram.y" /* yacc.c:1646 */
31652 : {
31653 : CommentStmt *n = makeNode(CommentStmt);
31654 : n->objtype = OBJECT_RULE;
31655 : n->object = (Node *) lappend((yyvsp[-2].list), makeString((yyvsp[-4].str)));
31656 : n->comment = (yyvsp[0].str);
31657 : (yyval.node) = (Node *) n;
31658 : }
31659 : #line 31660 "gram.c" /* yacc.c:1646 */
31660 3 : break;
31661 :
31662 : case 925:
31663 : #line 6345 "gram.y" /* yacc.c:1646 */
31664 : {
31665 : CommentStmt *n = makeNode(CommentStmt);
31666 : n->objtype = OBJECT_TRANSFORM;
31667 : n->object = (Node *) list_make2((yyvsp[-4].typnam), makeString((yyvsp[-2].str)));
31668 : n->comment = (yyvsp[0].str);
31669 : (yyval.node) = (Node *) n;
31670 : }
31671 : #line 31672 "gram.c" /* yacc.c:1646 */
31672 0 : break;
31673 :
31674 : case 926:
31675 : #line 6353 "gram.y" /* yacc.c:1646 */
31676 : {
31677 : CommentStmt *n = makeNode(CommentStmt);
31678 : n->objtype = OBJECT_TRIGGER;
31679 : n->object = (Node *) lappend((yyvsp[-2].list), makeString((yyvsp[-4].str)));
31680 : n->comment = (yyvsp[0].str);
31681 : (yyval.node) = (Node *) n;
31682 : }
31683 : #line 31684 "gram.c" /* yacc.c:1646 */
31684 3 : break;
31685 :
31686 : case 927:
31687 : #line 6361 "gram.y" /* yacc.c:1646 */
31688 : {
31689 : CommentStmt *n = makeNode(CommentStmt);
31690 : n->objtype = OBJECT_OPCLASS;
31691 : n->object = (Node *) lcons(makeString((yyvsp[-2].str)), (yyvsp[-4].list));
31692 : n->comment = (yyvsp[0].str);
31693 : (yyval.node) = (Node *) n;
31694 : }
31695 : #line 31696 "gram.c" /* yacc.c:1646 */
31696 0 : break;
31697 :
31698 : case 928:
31699 : #line 6369 "gram.y" /* yacc.c:1646 */
31700 : {
31701 : CommentStmt *n = makeNode(CommentStmt);
31702 : n->objtype = OBJECT_OPFAMILY;
31703 : n->object = (Node *) lcons(makeString((yyvsp[-2].str)), (yyvsp[-4].list));
31704 : n->comment = (yyvsp[0].str);
31705 : (yyval.node) = (Node *) n;
31706 : }
31707 : #line 31708 "gram.c" /* yacc.c:1646 */
31708 0 : break;
31709 :
31710 : case 929:
31711 : #line 6377 "gram.y" /* yacc.c:1646 */
31712 : {
31713 : CommentStmt *n = makeNode(CommentStmt);
31714 : n->objtype = OBJECT_LARGEOBJECT;
31715 : n->object = (Node *) (yyvsp[-2].value);
31716 : n->comment = (yyvsp[0].str);
31717 : (yyval.node) = (Node *) n;
31718 : }
31719 : #line 31720 "gram.c" /* yacc.c:1646 */
31720 2 : break;
31721 :
31722 : case 930:
31723 : #line 6385 "gram.y" /* yacc.c:1646 */
31724 : {
31725 : CommentStmt *n = makeNode(CommentStmt);
31726 : n->objtype = OBJECT_CAST;
31727 : n->object = (Node *) list_make2((yyvsp[-5].typnam), (yyvsp[-3].typnam));
31728 : n->comment = (yyvsp[0].str);
31729 : (yyval.node) = (Node *) n;
31730 : }
31731 : #line 31732 "gram.c" /* yacc.c:1646 */
31732 0 : break;
31733 :
31734 : case 931:
31735 : #line 6396 "gram.y" /* yacc.c:1646 */
31736 : { (yyval.objtype) = OBJECT_COLUMN; }
31737 : #line 31738 "gram.c" /* yacc.c:1646 */
31738 16 : break;
31739 :
31740 : case 932:
31741 : #line 6397 "gram.y" /* yacc.c:1646 */
31742 : { (yyval.objtype) = OBJECT_INDEX; }
31743 : #line 31744 "gram.c" /* yacc.c:1646 */
31744 8 : break;
31745 :
31746 : case 933:
31747 : #line 6398 "gram.y" /* yacc.c:1646 */
31748 : { (yyval.objtype) = OBJECT_SEQUENCE; }
31749 : #line 31750 "gram.c" /* yacc.c:1646 */
31750 3 : break;
31751 :
31752 : case 934:
31753 : #line 6399 "gram.y" /* yacc.c:1646 */
31754 : { (yyval.objtype) = OBJECT_STATISTIC_EXT; }
31755 : #line 31756 "gram.c" /* yacc.c:1646 */
31756 0 : break;
31757 :
31758 : case 935:
31759 : #line 6400 "gram.y" /* yacc.c:1646 */
31760 : { (yyval.objtype) = OBJECT_TABLE; }
31761 : #line 31762 "gram.c" /* yacc.c:1646 */
31762 5 : break;
31763 :
31764 : case 936:
31765 : #line 6401 "gram.y" /* yacc.c:1646 */
31766 : { (yyval.objtype) = OBJECT_VIEW; }
31767 : #line 31768 "gram.c" /* yacc.c:1646 */
31768 3 : break;
31769 :
31770 : case 937:
31771 : #line 6402 "gram.y" /* yacc.c:1646 */
31772 : { (yyval.objtype) = OBJECT_MATVIEW; }
31773 : #line 31774 "gram.c" /* yacc.c:1646 */
31774 0 : break;
31775 :
31776 : case 938:
31777 : #line 6403 "gram.y" /* yacc.c:1646 */
31778 : { (yyval.objtype) = OBJECT_COLLATION; }
31779 : #line 31780 "gram.c" /* yacc.c:1646 */
31780 0 : break;
31781 :
31782 : case 939:
31783 : #line 6404 "gram.y" /* yacc.c:1646 */
31784 : { (yyval.objtype) = OBJECT_CONVERSION; }
31785 : #line 31786 "gram.c" /* yacc.c:1646 */
31786 135 : break;
31787 :
31788 : case 940:
31789 : #line 6405 "gram.y" /* yacc.c:1646 */
31790 : { (yyval.objtype) = OBJECT_FOREIGN_TABLE; }
31791 : #line 31792 "gram.c" /* yacc.c:1646 */
31792 3 : break;
31793 :
31794 : case 941:
31795 : #line 6406 "gram.y" /* yacc.c:1646 */
31796 : { (yyval.objtype) = OBJECT_TSCONFIGURATION; }
31797 : #line 31798 "gram.c" /* yacc.c:1646 */
31798 15 : break;
31799 :
31800 : case 942:
31801 : #line 6407 "gram.y" /* yacc.c:1646 */
31802 : { (yyval.objtype) = OBJECT_TSDICTIONARY; }
31803 : #line 31804 "gram.c" /* yacc.c:1646 */
31804 15 : break;
31805 :
31806 : case 943:
31807 : #line 6408 "gram.y" /* yacc.c:1646 */
31808 : { (yyval.objtype) = OBJECT_TSPARSER; }
31809 : #line 31810 "gram.c" /* yacc.c:1646 */
31810 0 : break;
31811 :
31812 : case 944:
31813 : #line 6409 "gram.y" /* yacc.c:1646 */
31814 : { (yyval.objtype) = OBJECT_TSTEMPLATE; }
31815 : #line 31816 "gram.c" /* yacc.c:1646 */
31816 1 : break;
31817 :
31818 : case 945:
31819 : #line 6414 "gram.y" /* yacc.c:1646 */
31820 : { (yyval.objtype) = OBJECT_ACCESS_METHOD; }
31821 : #line 31822 "gram.c" /* yacc.c:1646 */
31822 0 : break;
31823 :
31824 : case 946:
31825 : #line 6415 "gram.y" /* yacc.c:1646 */
31826 : { (yyval.objtype) = OBJECT_DATABASE; }
31827 : #line 31828 "gram.c" /* yacc.c:1646 */
31828 2 : break;
31829 :
31830 : case 947:
31831 : #line 6416 "gram.y" /* yacc.c:1646 */
31832 : { (yyval.objtype) = OBJECT_EVENT_TRIGGER; }
31833 : #line 31834 "gram.c" /* yacc.c:1646 */
31834 1 : break;
31835 :
31836 : case 948:
31837 : #line 6417 "gram.y" /* yacc.c:1646 */
31838 : { (yyval.objtype) = OBJECT_EXTENSION; }
31839 : #line 31840 "gram.c" /* yacc.c:1646 */
31840 0 : break;
31841 :
31842 : case 949:
31843 : #line 6418 "gram.y" /* yacc.c:1646 */
31844 : { (yyval.objtype) = OBJECT_FDW; }
31845 : #line 31846 "gram.c" /* yacc.c:1646 */
31846 1 : break;
31847 :
31848 : case 950:
31849 : #line 6419 "gram.y" /* yacc.c:1646 */
31850 : { (yyval.objtype) = OBJECT_LANGUAGE; }
31851 : #line 31852 "gram.c" /* yacc.c:1646 */
31852 1 : break;
31853 :
31854 : case 951:
31855 : #line 6420 "gram.y" /* yacc.c:1646 */
31856 : { (yyval.objtype) = OBJECT_PUBLICATION; }
31857 : #line 31858 "gram.c" /* yacc.c:1646 */
31858 1 : break;
31859 :
31860 : case 952:
31861 : #line 6421 "gram.y" /* yacc.c:1646 */
31862 : { (yyval.objtype) = OBJECT_ROLE; }
31863 : #line 31864 "gram.c" /* yacc.c:1646 */
31864 0 : break;
31865 :
31866 : case 953:
31867 : #line 6422 "gram.y" /* yacc.c:1646 */
31868 : { (yyval.objtype) = OBJECT_SCHEMA; }
31869 : #line 31870 "gram.c" /* yacc.c:1646 */
31870 0 : break;
31871 :
31872 : case 954:
31873 : #line 6423 "gram.y" /* yacc.c:1646 */
31874 : { (yyval.objtype) = OBJECT_FOREIGN_SERVER; }
31875 : #line 31876 "gram.c" /* yacc.c:1646 */
31876 1 : break;
31877 :
31878 : case 955:
31879 : #line 6424 "gram.y" /* yacc.c:1646 */
31880 : { (yyval.objtype) = OBJECT_SUBSCRIPTION; }
31881 : #line 31882 "gram.c" /* yacc.c:1646 */
31882 1 : break;
31883 :
31884 : case 956:
31885 : #line 6425 "gram.y" /* yacc.c:1646 */
31886 : { (yyval.objtype) = OBJECT_TABLESPACE; }
31887 : #line 31888 "gram.c" /* yacc.c:1646 */
31888 0 : break;
31889 :
31890 : case 957:
31891 : #line 6429 "gram.y" /* yacc.c:1646 */
31892 : { (yyval.str) = (yyvsp[0].str); }
31893 : #line 31894 "gram.c" /* yacc.c:1646 */
31894 368 : break;
31895 :
31896 : case 958:
31897 : #line 6430 "gram.y" /* yacc.c:1646 */
31898 : { (yyval.str) = NULL; }
31899 : #line 31900 "gram.c" /* yacc.c:1646 */
31900 16 : break;
31901 :
31902 : case 959:
31903 : #line 6446 "gram.y" /* yacc.c:1646 */
31904 : {
31905 : SecLabelStmt *n = makeNode(SecLabelStmt);
31906 : n->provider = (yyvsp[-5].str);
31907 : n->objtype = (yyvsp[-3].objtype);
31908 : n->object = (Node *) (yyvsp[-2].list);
31909 : n->label = (yyvsp[0].str);
31910 : (yyval.node) = (Node *) n;
31911 : }
31912 : #line 31913 "gram.c" /* yacc.c:1646 */
31913 4 : break;
31914 :
31915 : case 960:
31916 : #line 6456 "gram.y" /* yacc.c:1646 */
31917 : {
31918 : SecLabelStmt *n = makeNode(SecLabelStmt);
31919 : n->provider = (yyvsp[-5].str);
31920 : n->objtype = (yyvsp[-3].objtype);
31921 : n->object = (Node *) makeString((yyvsp[-2].str));
31922 : n->label = (yyvsp[0].str);
31923 : (yyval.node) = (Node *) n;
31924 : }
31925 : #line 31926 "gram.c" /* yacc.c:1646 */
31926 4 : break;
31927 :
31928 : case 961:
31929 : #line 6466 "gram.y" /* yacc.c:1646 */
31930 : {
31931 : SecLabelStmt *n = makeNode(SecLabelStmt);
31932 : n->provider = (yyvsp[-5].str);
31933 : n->objtype = OBJECT_TYPE;
31934 : n->object = (Node *) (yyvsp[-2].typnam);
31935 : n->label = (yyvsp[0].str);
31936 : (yyval.node) = (Node *) n;
31937 : }
31938 : #line 31939 "gram.c" /* yacc.c:1646 */
31939 0 : break;
31940 :
31941 : case 962:
31942 : #line 6476 "gram.y" /* yacc.c:1646 */
31943 : {
31944 : SecLabelStmt *n = makeNode(SecLabelStmt);
31945 : n->provider = (yyvsp[-5].str);
31946 : n->objtype = OBJECT_DOMAIN;
31947 : n->object = (Node *) (yyvsp[-2].typnam);
31948 : n->label = (yyvsp[0].str);
31949 : (yyval.node) = (Node *) n;
31950 : }
31951 : #line 31952 "gram.c" /* yacc.c:1646 */
31952 0 : break;
31953 :
31954 : case 963:
31955 : #line 6486 "gram.y" /* yacc.c:1646 */
31956 : {
31957 : SecLabelStmt *n = makeNode(SecLabelStmt);
31958 : n->provider = (yyvsp[-5].str);
31959 : n->objtype = OBJECT_AGGREGATE;
31960 : n->object = (Node *) (yyvsp[-2].objwithargs);
31961 : n->label = (yyvsp[0].str);
31962 : (yyval.node) = (Node *) n;
31963 : }
31964 : #line 31965 "gram.c" /* yacc.c:1646 */
31965 0 : break;
31966 :
31967 : case 964:
31968 : #line 6496 "gram.y" /* yacc.c:1646 */
31969 : {
31970 : SecLabelStmt *n = makeNode(SecLabelStmt);
31971 : n->provider = (yyvsp[-5].str);
31972 : n->objtype = OBJECT_FUNCTION;
31973 : n->object = (Node *) (yyvsp[-2].objwithargs);
31974 : n->label = (yyvsp[0].str);
31975 : (yyval.node) = (Node *) n;
31976 : }
31977 : #line 31978 "gram.c" /* yacc.c:1646 */
31978 0 : break;
31979 :
31980 : case 965:
31981 : #line 6506 "gram.y" /* yacc.c:1646 */
31982 : {
31983 : SecLabelStmt *n = makeNode(SecLabelStmt);
31984 : n->provider = (yyvsp[-6].str);
31985 : n->objtype = OBJECT_LARGEOBJECT;
31986 : n->object = (Node *) (yyvsp[-2].value);
31987 : n->label = (yyvsp[0].str);
31988 : (yyval.node) = (Node *) n;
31989 : }
31990 : #line 31991 "gram.c" /* yacc.c:1646 */
31991 0 : break;
31992 :
31993 : case 966:
31994 : #line 6516 "gram.y" /* yacc.c:1646 */
31995 : { (yyval.str) = (yyvsp[0].str); }
31996 : #line 31997 "gram.c" /* yacc.c:1646 */
31997 2 : break;
31998 :
31999 : case 967:
32000 : #line 6517 "gram.y" /* yacc.c:1646 */
32001 : { (yyval.str) = NULL; }
32002 : #line 32003 "gram.c" /* yacc.c:1646 */
32003 6 : break;
32004 :
32005 : case 968:
32006 : #line 6522 "gram.y" /* yacc.c:1646 */
32007 : { (yyval.objtype) = OBJECT_COLUMN; }
32008 : #line 32009 "gram.c" /* yacc.c:1646 */
32009 0 : break;
32010 :
32011 : case 969:
32012 : #line 6523 "gram.y" /* yacc.c:1646 */
32013 : { (yyval.objtype) = OBJECT_FOREIGN_TABLE; }
32014 : #line 32015 "gram.c" /* yacc.c:1646 */
32015 0 : break;
32016 :
32017 : case 970:
32018 : #line 6524 "gram.y" /* yacc.c:1646 */
32019 : { (yyval.objtype) = OBJECT_SEQUENCE; }
32020 : #line 32021 "gram.c" /* yacc.c:1646 */
32021 0 : break;
32022 :
32023 : case 971:
32024 : #line 6525 "gram.y" /* yacc.c:1646 */
32025 : { (yyval.objtype) = OBJECT_TABLE; }
32026 : #line 32027 "gram.c" /* yacc.c:1646 */
32027 4 : break;
32028 :
32029 : case 972:
32030 : #line 6526 "gram.y" /* yacc.c:1646 */
32031 : { (yyval.objtype) = OBJECT_VIEW; }
32032 : #line 32033 "gram.c" /* yacc.c:1646 */
32033 0 : break;
32034 :
32035 : case 973:
32036 : #line 6527 "gram.y" /* yacc.c:1646 */
32037 : { (yyval.objtype) = OBJECT_MATVIEW; }
32038 : #line 32039 "gram.c" /* yacc.c:1646 */
32039 0 : break;
32040 :
32041 : case 974:
32042 : #line 6532 "gram.y" /* yacc.c:1646 */
32043 : { (yyval.objtype) = OBJECT_DATABASE; }
32044 : #line 32045 "gram.c" /* yacc.c:1646 */
32045 0 : break;
32046 :
32047 : case 975:
32048 : #line 6533 "gram.y" /* yacc.c:1646 */
32049 : { (yyval.objtype) = OBJECT_EVENT_TRIGGER; }
32050 : #line 32051 "gram.c" /* yacc.c:1646 */
32051 0 : break;
32052 :
32053 : case 976:
32054 : #line 6534 "gram.y" /* yacc.c:1646 */
32055 : { (yyval.objtype) = OBJECT_LANGUAGE; }
32056 : #line 32057 "gram.c" /* yacc.c:1646 */
32057 0 : break;
32058 :
32059 : case 977:
32060 : #line 6535 "gram.y" /* yacc.c:1646 */
32061 : { (yyval.objtype) = OBJECT_PUBLICATION; }
32062 : #line 32063 "gram.c" /* yacc.c:1646 */
32063 0 : break;
32064 :
32065 : case 978:
32066 : #line 6536 "gram.y" /* yacc.c:1646 */
32067 : { (yyval.objtype) = OBJECT_ROLE; }
32068 : #line 32069 "gram.c" /* yacc.c:1646 */
32069 4 : break;
32070 :
32071 : case 979:
32072 : #line 6537 "gram.y" /* yacc.c:1646 */
32073 : { (yyval.objtype) = OBJECT_SCHEMA; }
32074 : #line 32075 "gram.c" /* yacc.c:1646 */
32075 0 : break;
32076 :
32077 : case 980:
32078 : #line 6538 "gram.y" /* yacc.c:1646 */
32079 : { (yyval.objtype) = OBJECT_SUBSCRIPTION; }
32080 : #line 32081 "gram.c" /* yacc.c:1646 */
32081 0 : break;
32082 :
32083 : case 981:
32084 : #line 6539 "gram.y" /* yacc.c:1646 */
32085 : { (yyval.objtype) = OBJECT_TABLESPACE; }
32086 : #line 32087 "gram.c" /* yacc.c:1646 */
32087 0 : break;
32088 :
32089 : case 982:
32090 : #line 6542 "gram.y" /* yacc.c:1646 */
32091 : { (yyval.str) = (yyvsp[0].str); }
32092 : #line 32093 "gram.c" /* yacc.c:1646 */
32093 8 : break;
32094 :
32095 : case 983:
32096 : #line 6543 "gram.y" /* yacc.c:1646 */
32097 : { (yyval.str) = NULL; }
32098 : #line 32099 "gram.c" /* yacc.c:1646 */
32099 0 : break;
32100 :
32101 : case 984:
32102 : #line 6554 "gram.y" /* yacc.c:1646 */
32103 : {
32104 : FetchStmt *n = (FetchStmt *) (yyvsp[0].node);
32105 : n->ismove = FALSE;
32106 : (yyval.node) = (Node *)n;
32107 : }
32108 : #line 32109 "gram.c" /* yacc.c:1646 */
32109 197 : break;
32110 :
32111 : case 985:
32112 : #line 6560 "gram.y" /* yacc.c:1646 */
32113 : {
32114 : FetchStmt *n = (FetchStmt *) (yyvsp[0].node);
32115 : n->ismove = TRUE;
32116 : (yyval.node) = (Node *)n;
32117 : }
32118 : #line 32119 "gram.c" /* yacc.c:1646 */
32119 6 : break;
32120 :
32121 : case 986:
32122 : #line 6568 "gram.y" /* yacc.c:1646 */
32123 : {
32124 : FetchStmt *n = makeNode(FetchStmt);
32125 : n->portalname = (yyvsp[0].str);
32126 : n->direction = FETCH_FORWARD;
32127 : n->howMany = 1;
32128 : (yyval.node) = (Node *)n;
32129 : }
32130 : #line 32131 "gram.c" /* yacc.c:1646 */
32131 8 : break;
32132 :
32133 : case 987:
32134 : #line 6576 "gram.y" /* yacc.c:1646 */
32135 : {
32136 : FetchStmt *n = makeNode(FetchStmt);
32137 : n->portalname = (yyvsp[0].str);
32138 : n->direction = FETCH_FORWARD;
32139 : n->howMany = 1;
32140 : (yyval.node) = (Node *)n;
32141 : }
32142 : #line 32143 "gram.c" /* yacc.c:1646 */
32143 10 : break;
32144 :
32145 : case 988:
32146 : #line 6584 "gram.y" /* yacc.c:1646 */
32147 : {
32148 : FetchStmt *n = makeNode(FetchStmt);
32149 : n->portalname = (yyvsp[0].str);
32150 : n->direction = FETCH_FORWARD;
32151 : n->howMany = 1;
32152 : (yyval.node) = (Node *)n;
32153 : }
32154 : #line 32155 "gram.c" /* yacc.c:1646 */
32155 21 : break;
32156 :
32157 : case 989:
32158 : #line 6592 "gram.y" /* yacc.c:1646 */
32159 : {
32160 : FetchStmt *n = makeNode(FetchStmt);
32161 : n->portalname = (yyvsp[0].str);
32162 : n->direction = FETCH_BACKWARD;
32163 : n->howMany = 1;
32164 : (yyval.node) = (Node *)n;
32165 : }
32166 : #line 32167 "gram.c" /* yacc.c:1646 */
32167 4 : break;
32168 :
32169 : case 990:
32170 : #line 6600 "gram.y" /* yacc.c:1646 */
32171 : {
32172 : FetchStmt *n = makeNode(FetchStmt);
32173 : n->portalname = (yyvsp[0].str);
32174 : n->direction = FETCH_ABSOLUTE;
32175 : n->howMany = 1;
32176 : (yyval.node) = (Node *)n;
32177 : }
32178 : #line 32179 "gram.c" /* yacc.c:1646 */
32179 3 : break;
32180 :
32181 : case 991:
32182 : #line 6608 "gram.y" /* yacc.c:1646 */
32183 : {
32184 : FetchStmt *n = makeNode(FetchStmt);
32185 : n->portalname = (yyvsp[0].str);
32186 : n->direction = FETCH_ABSOLUTE;
32187 : n->howMany = -1;
32188 : (yyval.node) = (Node *)n;
32189 : }
32190 : #line 32191 "gram.c" /* yacc.c:1646 */
32191 0 : break;
32192 :
32193 : case 992:
32194 : #line 6616 "gram.y" /* yacc.c:1646 */
32195 : {
32196 : FetchStmt *n = makeNode(FetchStmt);
32197 : n->portalname = (yyvsp[0].str);
32198 : n->direction = FETCH_ABSOLUTE;
32199 : n->howMany = (yyvsp[-2].ival);
32200 : (yyval.node) = (Node *)n;
32201 : }
32202 : #line 32203 "gram.c" /* yacc.c:1646 */
32203 4 : break;
32204 :
32205 : case 993:
32206 : #line 6624 "gram.y" /* yacc.c:1646 */
32207 : {
32208 : FetchStmt *n = makeNode(FetchStmt);
32209 : n->portalname = (yyvsp[0].str);
32210 : n->direction = FETCH_RELATIVE;
32211 : n->howMany = (yyvsp[-2].ival);
32212 : (yyval.node) = (Node *)n;
32213 : }
32214 : #line 32215 "gram.c" /* yacc.c:1646 */
32215 5 : break;
32216 :
32217 : case 994:
32218 : #line 6632 "gram.y" /* yacc.c:1646 */
32219 : {
32220 : FetchStmt *n = makeNode(FetchStmt);
32221 : n->portalname = (yyvsp[0].str);
32222 : n->direction = FETCH_FORWARD;
32223 : n->howMany = (yyvsp[-2].ival);
32224 : (yyval.node) = (Node *)n;
32225 : }
32226 : #line 32227 "gram.c" /* yacc.c:1646 */
32227 44 : break;
32228 :
32229 : case 995:
32230 : #line 6640 "gram.y" /* yacc.c:1646 */
32231 : {
32232 : FetchStmt *n = makeNode(FetchStmt);
32233 : n->portalname = (yyvsp[0].str);
32234 : n->direction = FETCH_FORWARD;
32235 : n->howMany = FETCH_ALL;
32236 : (yyval.node) = (Node *)n;
32237 : }
32238 : #line 32239 "gram.c" /* yacc.c:1646 */
32239 36 : break;
32240 :
32241 : case 996:
32242 : #line 6648 "gram.y" /* yacc.c:1646 */
32243 : {
32244 : FetchStmt *n = makeNode(FetchStmt);
32245 : n->portalname = (yyvsp[0].str);
32246 : n->direction = FETCH_FORWARD;
32247 : n->howMany = 1;
32248 : (yyval.node) = (Node *)n;
32249 : }
32250 : #line 32251 "gram.c" /* yacc.c:1646 */
32251 0 : break;
32252 :
32253 : case 997:
32254 : #line 6656 "gram.y" /* yacc.c:1646 */
32255 : {
32256 : FetchStmt *n = makeNode(FetchStmt);
32257 : n->portalname = (yyvsp[0].str);
32258 : n->direction = FETCH_FORWARD;
32259 : n->howMany = (yyvsp[-2].ival);
32260 : (yyval.node) = (Node *)n;
32261 : }
32262 : #line 32263 "gram.c" /* yacc.c:1646 */
32263 21 : break;
32264 :
32265 : case 998:
32266 : #line 6664 "gram.y" /* yacc.c:1646 */
32267 : {
32268 : FetchStmt *n = makeNode(FetchStmt);
32269 : n->portalname = (yyvsp[0].str);
32270 : n->direction = FETCH_FORWARD;
32271 : n->howMany = FETCH_ALL;
32272 : (yyval.node) = (Node *)n;
32273 : }
32274 : #line 32275 "gram.c" /* yacc.c:1646 */
32275 1 : break;
32276 :
32277 : case 999:
32278 : #line 6672 "gram.y" /* yacc.c:1646 */
32279 : {
32280 : FetchStmt *n = makeNode(FetchStmt);
32281 : n->portalname = (yyvsp[0].str);
32282 : n->direction = FETCH_BACKWARD;
32283 : n->howMany = 1;
32284 : (yyval.node) = (Node *)n;
32285 : }
32286 : #line 32287 "gram.c" /* yacc.c:1646 */
32287 1 : break;
32288 :
32289 : case 1000:
32290 : #line 6680 "gram.y" /* yacc.c:1646 */
32291 : {
32292 : FetchStmt *n = makeNode(FetchStmt);
32293 : n->portalname = (yyvsp[0].str);
32294 : n->direction = FETCH_BACKWARD;
32295 : n->howMany = (yyvsp[-2].ival);
32296 : (yyval.node) = (Node *)n;
32297 : }
32298 : #line 32299 "gram.c" /* yacc.c:1646 */
32299 34 : break;
32300 :
32301 : case 1001:
32302 : #line 6688 "gram.y" /* yacc.c:1646 */
32303 : {
32304 : FetchStmt *n = makeNode(FetchStmt);
32305 : n->portalname = (yyvsp[0].str);
32306 : n->direction = FETCH_BACKWARD;
32307 : n->howMany = FETCH_ALL;
32308 : (yyval.node) = (Node *)n;
32309 : }
32310 : #line 32311 "gram.c" /* yacc.c:1646 */
32311 11 : break;
32312 :
32313 : case 1002:
32314 : #line 6697 "gram.y" /* yacc.c:1646 */
32315 : {}
32316 : #line 32317 "gram.c" /* yacc.c:1646 */
32317 104 : break;
32318 :
32319 : case 1003:
32320 : #line 6698 "gram.y" /* yacc.c:1646 */
32321 : {}
32322 : #line 32323 "gram.c" /* yacc.c:1646 */
32323 91 : break;
32324 :
32325 : case 1004:
32326 : #line 6701 "gram.y" /* yacc.c:1646 */
32327 : {}
32328 : #line 32329 "gram.c" /* yacc.c:1646 */
32329 185 : break;
32330 :
32331 : case 1005:
32332 : #line 6702 "gram.y" /* yacc.c:1646 */
32333 : {}
32334 : #line 32335 "gram.c" /* yacc.c:1646 */
32335 0 : break;
32336 :
32337 : case 1006:
32338 : #line 6714 "gram.y" /* yacc.c:1646 */
32339 : {
32340 : GrantStmt *n = makeNode(GrantStmt);
32341 : n->is_grant = true;
32342 : n->privileges = (yyvsp[-5].list);
32343 : n->targtype = ((yyvsp[-3].privtarget))->targtype;
32344 : n->objtype = ((yyvsp[-3].privtarget))->objtype;
32345 : n->objects = ((yyvsp[-3].privtarget))->objs;
32346 : n->grantees = (yyvsp[-1].list);
32347 : n->grant_option = (yyvsp[0].boolean);
32348 : (yyval.node) = (Node*)n;
32349 : }
32350 : #line 32351 "gram.c" /* yacc.c:1646 */
32351 246 : break;
32352 :
32353 : case 1007:
32354 : #line 6730 "gram.y" /* yacc.c:1646 */
32355 : {
32356 : GrantStmt *n = makeNode(GrantStmt);
32357 : n->is_grant = false;
32358 : n->grant_option = false;
32359 : n->privileges = (yyvsp[-5].list);
32360 : n->targtype = ((yyvsp[-3].privtarget))->targtype;
32361 : n->objtype = ((yyvsp[-3].privtarget))->objtype;
32362 : n->objects = ((yyvsp[-3].privtarget))->objs;
32363 : n->grantees = (yyvsp[-1].list);
32364 : n->behavior = (yyvsp[0].dbehavior);
32365 : (yyval.node) = (Node *)n;
32366 : }
32367 : #line 32368 "gram.c" /* yacc.c:1646 */
32368 112 : break;
32369 :
32370 : case 1008:
32371 : #line 6744 "gram.y" /* yacc.c:1646 */
32372 : {
32373 : GrantStmt *n = makeNode(GrantStmt);
32374 : n->is_grant = false;
32375 : n->grant_option = true;
32376 : n->privileges = (yyvsp[-5].list);
32377 : n->targtype = ((yyvsp[-3].privtarget))->targtype;
32378 : n->objtype = ((yyvsp[-3].privtarget))->objtype;
32379 : n->objects = ((yyvsp[-3].privtarget))->objs;
32380 : n->grantees = (yyvsp[-1].list);
32381 : n->behavior = (yyvsp[0].dbehavior);
32382 : (yyval.node) = (Node *)n;
32383 : }
32384 : #line 32385 "gram.c" /* yacc.c:1646 */
32385 1 : break;
32386 :
32387 : case 1009:
32388 : #line 6769 "gram.y" /* yacc.c:1646 */
32389 : { (yyval.list) = (yyvsp[0].list); }
32390 : #line 32391 "gram.c" /* yacc.c:1646 */
32391 270 : break;
32392 :
32393 : case 1010:
32394 : #line 6771 "gram.y" /* yacc.c:1646 */
32395 : { (yyval.list) = NIL; }
32396 : #line 32397 "gram.c" /* yacc.c:1646 */
32397 76 : break;
32398 :
32399 : case 1011:
32400 : #line 6773 "gram.y" /* yacc.c:1646 */
32401 : { (yyval.list) = NIL; }
32402 : #line 32403 "gram.c" /* yacc.c:1646 */
32403 36 : break;
32404 :
32405 : case 1012:
32406 : #line 6775 "gram.y" /* yacc.c:1646 */
32407 : {
32408 : AccessPriv *n = makeNode(AccessPriv);
32409 : n->priv_name = NULL;
32410 : n->cols = (yyvsp[-1].list);
32411 : (yyval.list) = list_make1(n);
32412 : }
32413 : #line 32414 "gram.c" /* yacc.c:1646 */
32414 3 : break;
32415 :
32416 : case 1013:
32417 : #line 6782 "gram.y" /* yacc.c:1646 */
32418 : {
32419 : AccessPriv *n = makeNode(AccessPriv);
32420 : n->priv_name = NULL;
32421 : n->cols = (yyvsp[-1].list);
32422 : (yyval.list) = list_make1(n);
32423 : }
32424 : #line 32425 "gram.c" /* yacc.c:1646 */
32425 0 : break;
32426 :
32427 : case 1014:
32428 : #line 6790 "gram.y" /* yacc.c:1646 */
32429 : { (yyval.list) = list_make1((yyvsp[0].accesspriv)); }
32430 : #line 32431 "gram.c" /* yacc.c:1646 */
32431 292 : break;
32432 :
32433 : case 1015:
32434 : #line 6791 "gram.y" /* yacc.c:1646 */
32435 : { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].accesspriv)); }
32436 : #line 32437 "gram.c" /* yacc.c:1646 */
32437 19 : break;
32438 :
32439 : case 1016:
32440 : #line 6795 "gram.y" /* yacc.c:1646 */
32441 : {
32442 : AccessPriv *n = makeNode(AccessPriv);
32443 : n->priv_name = pstrdup((yyvsp[-1].keyword));
32444 : n->cols = (yyvsp[0].list);
32445 : (yyval.accesspriv) = n;
32446 : }
32447 : #line 32448 "gram.c" /* yacc.c:1646 */
32448 140 : break;
32449 :
32450 : case 1017:
32451 : #line 6802 "gram.y" /* yacc.c:1646 */
32452 : {
32453 : AccessPriv *n = makeNode(AccessPriv);
32454 : n->priv_name = pstrdup((yyvsp[-1].keyword));
32455 : n->cols = (yyvsp[0].list);
32456 : (yyval.accesspriv) = n;
32457 : }
32458 : #line 32459 "gram.c" /* yacc.c:1646 */
32459 1 : break;
32460 :
32461 : case 1018:
32462 : #line 6809 "gram.y" /* yacc.c:1646 */
32463 : {
32464 : AccessPriv *n = makeNode(AccessPriv);
32465 : n->priv_name = pstrdup((yyvsp[-1].keyword));
32466 : n->cols = (yyvsp[0].list);
32467 : (yyval.accesspriv) = n;
32468 : }
32469 : #line 32470 "gram.c" /* yacc.c:1646 */
32470 6 : break;
32471 :
32472 : case 1019:
32473 : #line 6816 "gram.y" /* yacc.c:1646 */
32474 : {
32475 : AccessPriv *n = makeNode(AccessPriv);
32476 : n->priv_name = (yyvsp[-1].str);
32477 : n->cols = (yyvsp[0].list);
32478 : (yyval.accesspriv) = n;
32479 : }
32480 : #line 32481 "gram.c" /* yacc.c:1646 */
32481 164 : break;
32482 :
32483 : case 1020:
32484 : #line 6830 "gram.y" /* yacc.c:1646 */
32485 : {
32486 : PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
32487 : n->targtype = ACL_TARGET_OBJECT;
32488 : n->objtype = ACL_OBJECT_RELATION;
32489 : n->objs = (yyvsp[0].list);
32490 : (yyval.privtarget) = n;
32491 : }
32492 : #line 32493 "gram.c" /* yacc.c:1646 */
32493 213 : break;
32494 :
32495 : case 1021:
32496 : #line 6838 "gram.y" /* yacc.c:1646 */
32497 : {
32498 : PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
32499 : n->targtype = ACL_TARGET_OBJECT;
32500 : n->objtype = ACL_OBJECT_RELATION;
32501 : n->objs = (yyvsp[0].list);
32502 : (yyval.privtarget) = n;
32503 : }
32504 : #line 32505 "gram.c" /* yacc.c:1646 */
32505 11 : break;
32506 :
32507 : case 1022:
32508 : #line 6846 "gram.y" /* yacc.c:1646 */
32509 : {
32510 : PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
32511 : n->targtype = ACL_TARGET_OBJECT;
32512 : n->objtype = ACL_OBJECT_SEQUENCE;
32513 : n->objs = (yyvsp[0].list);
32514 : (yyval.privtarget) = n;
32515 : }
32516 : #line 32517 "gram.c" /* yacc.c:1646 */
32517 0 : break;
32518 :
32519 : case 1023:
32520 : #line 6854 "gram.y" /* yacc.c:1646 */
32521 : {
32522 : PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
32523 : n->targtype = ACL_TARGET_OBJECT;
32524 : n->objtype = ACL_OBJECT_FDW;
32525 : n->objs = (yyvsp[0].list);
32526 : (yyval.privtarget) = n;
32527 : }
32528 : #line 32529 "gram.c" /* yacc.c:1646 */
32529 14 : break;
32530 :
32531 : case 1024:
32532 : #line 6862 "gram.y" /* yacc.c:1646 */
32533 : {
32534 : PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
32535 : n->targtype = ACL_TARGET_OBJECT;
32536 : n->objtype = ACL_OBJECT_FOREIGN_SERVER;
32537 : n->objs = (yyvsp[0].list);
32538 : (yyval.privtarget) = n;
32539 : }
32540 : #line 32541 "gram.c" /* yacc.c:1646 */
32541 11 : break;
32542 :
32543 : case 1025:
32544 : #line 6870 "gram.y" /* yacc.c:1646 */
32545 : {
32546 : PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
32547 : n->targtype = ACL_TARGET_OBJECT;
32548 : n->objtype = ACL_OBJECT_FUNCTION;
32549 : n->objs = (yyvsp[0].list);
32550 : (yyval.privtarget) = n;
32551 : }
32552 : #line 32553 "gram.c" /* yacc.c:1646 */
32553 64 : break;
32554 :
32555 : case 1026:
32556 : #line 6878 "gram.y" /* yacc.c:1646 */
32557 : {
32558 : PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
32559 : n->targtype = ACL_TARGET_OBJECT;
32560 : n->objtype = ACL_OBJECT_DATABASE;
32561 : n->objs = (yyvsp[0].list);
32562 : (yyval.privtarget) = n;
32563 : }
32564 : #line 32565 "gram.c" /* yacc.c:1646 */
32565 5 : break;
32566 :
32567 : case 1027:
32568 : #line 6886 "gram.y" /* yacc.c:1646 */
32569 : {
32570 : PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
32571 : n->targtype = ACL_TARGET_OBJECT;
32572 : n->objtype = ACL_OBJECT_DOMAIN;
32573 : n->objs = (yyvsp[0].list);
32574 : (yyval.privtarget) = n;
32575 : }
32576 : #line 32577 "gram.c" /* yacc.c:1646 */
32577 3 : break;
32578 :
32579 : case 1028:
32580 : #line 6894 "gram.y" /* yacc.c:1646 */
32581 : {
32582 : PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
32583 : n->targtype = ACL_TARGET_OBJECT;
32584 : n->objtype = ACL_OBJECT_LANGUAGE;
32585 : n->objs = (yyvsp[0].list);
32586 : (yyval.privtarget) = n;
32587 : }
32588 : #line 32589 "gram.c" /* yacc.c:1646 */
32589 6 : break;
32590 :
32591 : case 1029:
32592 : #line 6902 "gram.y" /* yacc.c:1646 */
32593 : {
32594 : PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
32595 : n->targtype = ACL_TARGET_OBJECT;
32596 : n->objtype = ACL_OBJECT_LARGEOBJECT;
32597 : n->objs = (yyvsp[0].list);
32598 : (yyval.privtarget) = n;
32599 : }
32600 : #line 32601 "gram.c" /* yacc.c:1646 */
32601 12 : break;
32602 :
32603 : case 1030:
32604 : #line 6910 "gram.y" /* yacc.c:1646 */
32605 : {
32606 : PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
32607 : n->targtype = ACL_TARGET_OBJECT;
32608 : n->objtype = ACL_OBJECT_NAMESPACE;
32609 : n->objs = (yyvsp[0].list);
32610 : (yyval.privtarget) = n;
32611 : }
32612 : #line 32613 "gram.c" /* yacc.c:1646 */
32613 13 : break;
32614 :
32615 : case 1031:
32616 : #line 6918 "gram.y" /* yacc.c:1646 */
32617 : {
32618 : PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
32619 : n->targtype = ACL_TARGET_OBJECT;
32620 : n->objtype = ACL_OBJECT_TABLESPACE;
32621 : n->objs = (yyvsp[0].list);
32622 : (yyval.privtarget) = n;
32623 : }
32624 : #line 32625 "gram.c" /* yacc.c:1646 */
32625 0 : break;
32626 :
32627 : case 1032:
32628 : #line 6926 "gram.y" /* yacc.c:1646 */
32629 : {
32630 : PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
32631 : n->targtype = ACL_TARGET_OBJECT;
32632 : n->objtype = ACL_OBJECT_TYPE;
32633 : n->objs = (yyvsp[0].list);
32634 : (yyval.privtarget) = n;
32635 : }
32636 : #line 32637 "gram.c" /* yacc.c:1646 */
32637 12 : break;
32638 :
32639 : case 1033:
32640 : #line 6934 "gram.y" /* yacc.c:1646 */
32641 : {
32642 : PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
32643 : n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
32644 : n->objtype = ACL_OBJECT_RELATION;
32645 : n->objs = (yyvsp[0].list);
32646 : (yyval.privtarget) = n;
32647 : }
32648 : #line 32649 "gram.c" /* yacc.c:1646 */
32649 2 : break;
32650 :
32651 : case 1034:
32652 : #line 6942 "gram.y" /* yacc.c:1646 */
32653 : {
32654 : PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
32655 : n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
32656 : n->objtype = ACL_OBJECT_SEQUENCE;
32657 : n->objs = (yyvsp[0].list);
32658 : (yyval.privtarget) = n;
32659 : }
32660 : #line 32661 "gram.c" /* yacc.c:1646 */
32661 0 : break;
32662 :
32663 : case 1035:
32664 : #line 6950 "gram.y" /* yacc.c:1646 */
32665 : {
32666 : PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
32667 : n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
32668 : n->objtype = ACL_OBJECT_FUNCTION;
32669 : n->objs = (yyvsp[0].list);
32670 : (yyval.privtarget) = n;
32671 : }
32672 : #line 32673 "gram.c" /* yacc.c:1646 */
32673 1 : break;
32674 :
32675 : case 1036:
32676 : #line 6961 "gram.y" /* yacc.c:1646 */
32677 : { (yyval.list) = list_make1((yyvsp[0].rolespec)); }
32678 : #line 32679 "gram.c" /* yacc.c:1646 */
32679 377 : break;
32680 :
32681 : case 1037:
32682 : #line 6962 "gram.y" /* yacc.c:1646 */
32683 : { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].rolespec)); }
32684 : #line 32685 "gram.c" /* yacc.c:1646 */
32685 12 : break;
32686 :
32687 : case 1038:
32688 : #line 6966 "gram.y" /* yacc.c:1646 */
32689 : { (yyval.rolespec) = (yyvsp[0].rolespec); }
32690 : #line 32691 "gram.c" /* yacc.c:1646 */
32691 385 : break;
32692 :
32693 : case 1039:
32694 : #line 6967 "gram.y" /* yacc.c:1646 */
32695 : { (yyval.rolespec) = (yyvsp[0].rolespec); }
32696 : #line 32697 "gram.c" /* yacc.c:1646 */
32697 4 : break;
32698 :
32699 : case 1040:
32700 : #line 6972 "gram.y" /* yacc.c:1646 */
32701 : { (yyval.boolean) = TRUE; }
32702 : #line 32703 "gram.c" /* yacc.c:1646 */
32703 10 : break;
32704 :
32705 : case 1041:
32706 : #line 6973 "gram.y" /* yacc.c:1646 */
32707 : { (yyval.boolean) = FALSE; }
32708 : #line 32709 "gram.c" /* yacc.c:1646 */
32709 246 : break;
32710 :
32711 : case 1042:
32712 : #line 6984 "gram.y" /* yacc.c:1646 */
32713 : {
32714 : GrantRoleStmt *n = makeNode(GrantRoleStmt);
32715 : n->is_grant = true;
32716 : n->granted_roles = (yyvsp[-4].list);
32717 : n->grantee_roles = (yyvsp[-2].list);
32718 : n->admin_opt = (yyvsp[-1].boolean);
32719 : n->grantor = (yyvsp[0].rolespec);
32720 : (yyval.node) = (Node*)n;
32721 : }
32722 : #line 32723 "gram.c" /* yacc.c:1646 */
32723 20 : break;
32724 :
32725 : case 1043:
32726 : #line 6997 "gram.y" /* yacc.c:1646 */
32727 : {
32728 : GrantRoleStmt *n = makeNode(GrantRoleStmt);
32729 : n->is_grant = false;
32730 : n->admin_opt = false;
32731 : n->granted_roles = (yyvsp[-4].list);
32732 : n->grantee_roles = (yyvsp[-2].list);
32733 : n->behavior = (yyvsp[0].dbehavior);
32734 : (yyval.node) = (Node*)n;
32735 : }
32736 : #line 32737 "gram.c" /* yacc.c:1646 */
32737 2 : break;
32738 :
32739 : case 1044:
32740 : #line 7007 "gram.y" /* yacc.c:1646 */
32741 : {
32742 : GrantRoleStmt *n = makeNode(GrantRoleStmt);
32743 : n->is_grant = false;
32744 : n->admin_opt = true;
32745 : n->granted_roles = (yyvsp[-4].list);
32746 : n->grantee_roles = (yyvsp[-2].list);
32747 : n->behavior = (yyvsp[0].dbehavior);
32748 : (yyval.node) = (Node*)n;
32749 : }
32750 : #line 32751 "gram.c" /* yacc.c:1646 */
32751 0 : break;
32752 :
32753 : case 1045:
32754 : #line 7018 "gram.y" /* yacc.c:1646 */
32755 : { (yyval.boolean) = TRUE; }
32756 : #line 32757 "gram.c" /* yacc.c:1646 */
32757 1 : break;
32758 :
32759 : case 1046:
32760 : #line 7019 "gram.y" /* yacc.c:1646 */
32761 : { (yyval.boolean) = FALSE; }
32762 : #line 32763 "gram.c" /* yacc.c:1646 */
32763 19 : break;
32764 :
32765 : case 1047:
32766 : #line 7022 "gram.y" /* yacc.c:1646 */
32767 : { (yyval.rolespec) = (yyvsp[0].rolespec); }
32768 : #line 32769 "gram.c" /* yacc.c:1646 */
32769 0 : break;
32770 :
32771 : case 1048:
32772 : #line 7023 "gram.y" /* yacc.c:1646 */
32773 : { (yyval.rolespec) = NULL; }
32774 : #line 32775 "gram.c" /* yacc.c:1646 */
32775 22 : break;
32776 :
32777 : case 1049:
32778 : #line 7034 "gram.y" /* yacc.c:1646 */
32779 : {
32780 : AlterDefaultPrivilegesStmt *n = makeNode(AlterDefaultPrivilegesStmt);
32781 : n->options = (yyvsp[-1].list);
32782 : n->action = (GrantStmt *) (yyvsp[0].node);
32783 : (yyval.node) = (Node*)n;
32784 : }
32785 : #line 32786 "gram.c" /* yacc.c:1646 */
32786 18 : break;
32787 :
32788 : case 1050:
32789 : #line 7043 "gram.y" /* yacc.c:1646 */
32790 : { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
32791 : #line 32792 "gram.c" /* yacc.c:1646 */
32792 16 : break;
32793 :
32794 : case 1051:
32795 : #line 7044 "gram.y" /* yacc.c:1646 */
32796 : { (yyval.list) = NIL; }
32797 : #line 32798 "gram.c" /* yacc.c:1646 */
32798 18 : break;
32799 :
32800 : case 1052:
32801 : #line 7049 "gram.y" /* yacc.c:1646 */
32802 : {
32803 : (yyval.defelt) = makeDefElem("schemas", (Node *)(yyvsp[0].list), (yylsp[-2]));
32804 : }
32805 : #line 32806 "gram.c" /* yacc.c:1646 */
32806 8 : break;
32807 :
32808 : case 1053:
32809 : #line 7053 "gram.y" /* yacc.c:1646 */
32810 : {
32811 : (yyval.defelt) = makeDefElem("roles", (Node *)(yyvsp[0].list), (yylsp[-2]));
32812 : }
32813 : #line 32814 "gram.c" /* yacc.c:1646 */
32814 8 : break;
32815 :
32816 : case 1054:
32817 : #line 7057 "gram.y" /* yacc.c:1646 */
32818 : {
32819 : (yyval.defelt) = makeDefElem("roles", (Node *)(yyvsp[0].list), (yylsp[-2]));
32820 : }
32821 : #line 32822 "gram.c" /* yacc.c:1646 */
32822 0 : break;
32823 :
32824 : case 1055:
32825 : #line 7069 "gram.y" /* yacc.c:1646 */
32826 : {
32827 : GrantStmt *n = makeNode(GrantStmt);
32828 : n->is_grant = true;
32829 : n->privileges = (yyvsp[-5].list);
32830 : n->targtype = ACL_TARGET_DEFAULTS;
32831 : n->objtype = (yyvsp[-3].ival);
32832 : n->objects = NIL;
32833 : n->grantees = (yyvsp[-1].list);
32834 : n->grant_option = (yyvsp[0].boolean);
32835 : (yyval.node) = (Node*)n;
32836 : }
32837 : #line 32838 "gram.c" /* yacc.c:1646 */
32838 10 : break;
32839 :
32840 : case 1056:
32841 : #line 7082 "gram.y" /* yacc.c:1646 */
32842 : {
32843 : GrantStmt *n = makeNode(GrantStmt);
32844 : n->is_grant = false;
32845 : n->grant_option = false;
32846 : n->privileges = (yyvsp[-5].list);
32847 : n->targtype = ACL_TARGET_DEFAULTS;
32848 : n->objtype = (yyvsp[-3].ival);
32849 : n->objects = NIL;
32850 : n->grantees = (yyvsp[-1].list);
32851 : n->behavior = (yyvsp[0].dbehavior);
32852 : (yyval.node) = (Node *)n;
32853 : }
32854 : #line 32855 "gram.c" /* yacc.c:1646 */
32855 8 : break;
32856 :
32857 : case 1057:
32858 : #line 7096 "gram.y" /* yacc.c:1646 */
32859 : {
32860 : GrantStmt *n = makeNode(GrantStmt);
32861 : n->is_grant = false;
32862 : n->grant_option = true;
32863 : n->privileges = (yyvsp[-5].list);
32864 : n->targtype = ACL_TARGET_DEFAULTS;
32865 : n->objtype = (yyvsp[-3].ival);
32866 : n->objects = NIL;
32867 : n->grantees = (yyvsp[-1].list);
32868 : n->behavior = (yyvsp[0].dbehavior);
32869 : (yyval.node) = (Node *)n;
32870 : }
32871 : #line 32872 "gram.c" /* yacc.c:1646 */
32872 0 : break;
32873 :
32874 : case 1058:
32875 : #line 7111 "gram.y" /* yacc.c:1646 */
32876 : { (yyval.ival) = ACL_OBJECT_RELATION; }
32877 : #line 32878 "gram.c" /* yacc.c:1646 */
32878 9 : break;
32879 :
32880 : case 1059:
32881 : #line 7112 "gram.y" /* yacc.c:1646 */
32882 : { (yyval.ival) = ACL_OBJECT_FUNCTION; }
32883 : #line 32884 "gram.c" /* yacc.c:1646 */
32884 2 : break;
32885 :
32886 : case 1060:
32887 : #line 7113 "gram.y" /* yacc.c:1646 */
32888 : { (yyval.ival) = ACL_OBJECT_SEQUENCE; }
32889 : #line 32890 "gram.c" /* yacc.c:1646 */
32890 0 : break;
32891 :
32892 : case 1061:
32893 : #line 7114 "gram.y" /* yacc.c:1646 */
32894 : { (yyval.ival) = ACL_OBJECT_TYPE; }
32895 : #line 32896 "gram.c" /* yacc.c:1646 */
32896 2 : break;
32897 :
32898 : case 1062:
32899 : #line 7115 "gram.y" /* yacc.c:1646 */
32900 : { (yyval.ival) = ACL_OBJECT_NAMESPACE; }
32901 : #line 32902 "gram.c" /* yacc.c:1646 */
32902 5 : break;
32903 :
32904 : case 1063:
32905 : #line 7130 "gram.y" /* yacc.c:1646 */
32906 : {
32907 : IndexStmt *n = makeNode(IndexStmt);
32908 : n->unique = (yyvsp[-12].boolean);
32909 : n->concurrent = (yyvsp[-10].boolean);
32910 : n->idxname = (yyvsp[-9].str);
32911 : n->relation = (yyvsp[-7].range);
32912 : n->accessMethod = (yyvsp[-6].str);
32913 : n->indexParams = (yyvsp[-4].list);
32914 : n->options = (yyvsp[-2].list);
32915 : n->tableSpace = (yyvsp[-1].str);
32916 : n->whereClause = (yyvsp[0].node);
32917 : n->excludeOpNames = NIL;
32918 : n->idxcomment = NULL;
32919 : n->indexOid = InvalidOid;
32920 : n->oldNode = InvalidOid;
32921 : n->primary = false;
32922 : n->isconstraint = false;
32923 : n->deferrable = false;
32924 : n->initdeferred = false;
32925 : n->transformed = false;
32926 : n->if_not_exists = false;
32927 : (yyval.node) = (Node *)n;
32928 : }
32929 : #line 32930 "gram.c" /* yacc.c:1646 */
32930 287 : break;
32931 :
32932 : case 1064:
32933 : #line 7156 "gram.y" /* yacc.c:1646 */
32934 : {
32935 : IndexStmt *n = makeNode(IndexStmt);
32936 : n->unique = (yyvsp[-15].boolean);
32937 : n->concurrent = (yyvsp[-13].boolean);
32938 : n->idxname = (yyvsp[-9].str);
32939 : n->relation = (yyvsp[-7].range);
32940 : n->accessMethod = (yyvsp[-6].str);
32941 : n->indexParams = (yyvsp[-4].list);
32942 : n->options = (yyvsp[-2].list);
32943 : n->tableSpace = (yyvsp[-1].str);
32944 : n->whereClause = (yyvsp[0].node);
32945 : n->excludeOpNames = NIL;
32946 : n->idxcomment = NULL;
32947 : n->indexOid = InvalidOid;
32948 : n->oldNode = InvalidOid;
32949 : n->primary = false;
32950 : n->isconstraint = false;
32951 : n->deferrable = false;
32952 : n->initdeferred = false;
32953 : n->transformed = false;
32954 : n->if_not_exists = true;
32955 : (yyval.node) = (Node *)n;
32956 : }
32957 : #line 32958 "gram.c" /* yacc.c:1646 */
32958 3 : break;
32959 :
32960 : case 1065:
32961 : #line 7182 "gram.y" /* yacc.c:1646 */
32962 : { (yyval.boolean) = TRUE; }
32963 : #line 32964 "gram.c" /* yacc.c:1646 */
32964 81 : break;
32965 :
32966 : case 1066:
32967 : #line 7183 "gram.y" /* yacc.c:1646 */
32968 : { (yyval.boolean) = FALSE; }
32969 : #line 32970 "gram.c" /* yacc.c:1646 */
32970 210 : break;
32971 :
32972 : case 1067:
32973 : #line 7187 "gram.y" /* yacc.c:1646 */
32974 : { (yyval.boolean) = TRUE; }
32975 : #line 32976 "gram.c" /* yacc.c:1646 */
32976 17 : break;
32977 :
32978 : case 1068:
32979 : #line 7188 "gram.y" /* yacc.c:1646 */
32980 : { (yyval.boolean) = FALSE; }
32981 : #line 32982 "gram.c" /* yacc.c:1646 */
32982 295 : break;
32983 :
32984 : case 1069:
32985 : #line 7192 "gram.y" /* yacc.c:1646 */
32986 : { (yyval.str) = (yyvsp[0].str); }
32987 : #line 32988 "gram.c" /* yacc.c:1646 */
32988 261 : break;
32989 :
32990 : case 1070:
32991 : #line 7193 "gram.y" /* yacc.c:1646 */
32992 : { (yyval.str) = NULL; }
32993 : #line 32994 "gram.c" /* yacc.c:1646 */
32994 26 : break;
32995 :
32996 : case 1071:
32997 : #line 7197 "gram.y" /* yacc.c:1646 */
32998 : { (yyval.str) = (yyvsp[0].str); }
32999 : #line 33000 "gram.c" /* yacc.c:1646 */
33000 128 : break;
33001 :
33002 : case 1072:
33003 : #line 7198 "gram.y" /* yacc.c:1646 */
33004 : { (yyval.str) = DEFAULT_INDEX_TYPE; }
33005 : #line 33006 "gram.c" /* yacc.c:1646 */
33006 172 : break;
33007 :
33008 : case 1073:
33009 : #line 7201 "gram.y" /* yacc.c:1646 */
33010 : { (yyval.list) = list_make1((yyvsp[0].ielem)); }
33011 : #line 33012 "gram.c" /* yacc.c:1646 */
33012 448 : break;
33013 :
33014 : case 1074:
33015 : #line 7202 "gram.y" /* yacc.c:1646 */
33016 : { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].ielem)); }
33017 : #line 33018 "gram.c" /* yacc.c:1646 */
33018 132 : break;
33019 :
33020 : case 1075:
33021 : #line 7211 "gram.y" /* yacc.c:1646 */
33022 : {
33023 : (yyval.ielem) = makeNode(IndexElem);
33024 : (yyval.ielem)->name = (yyvsp[-4].str);
33025 : (yyval.ielem)->expr = NULL;
33026 : (yyval.ielem)->indexcolname = NULL;
33027 : (yyval.ielem)->collation = (yyvsp[-3].list);
33028 : (yyval.ielem)->opclass = (yyvsp[-2].list);
33029 : (yyval.ielem)->ordering = (yyvsp[-1].ival);
33030 : (yyval.ielem)->nulls_ordering = (yyvsp[0].ival);
33031 : }
33032 : #line 33033 "gram.c" /* yacc.c:1646 */
33033 535 : break;
33034 :
33035 : case 1076:
33036 : #line 7222 "gram.y" /* yacc.c:1646 */
33037 : {
33038 : (yyval.ielem) = makeNode(IndexElem);
33039 : (yyval.ielem)->name = NULL;
33040 : (yyval.ielem)->expr = (yyvsp[-4].node);
33041 : (yyval.ielem)->indexcolname = NULL;
33042 : (yyval.ielem)->collation = (yyvsp[-3].list);
33043 : (yyval.ielem)->opclass = (yyvsp[-2].list);
33044 : (yyval.ielem)->ordering = (yyvsp[-1].ival);
33045 : (yyval.ielem)->nulls_ordering = (yyvsp[0].ival);
33046 : }
33047 : #line 33048 "gram.c" /* yacc.c:1646 */
33048 37 : break;
33049 :
33050 : case 1077:
33051 : #line 7233 "gram.y" /* yacc.c:1646 */
33052 : {
33053 : (yyval.ielem) = makeNode(IndexElem);
33054 : (yyval.ielem)->name = NULL;
33055 : (yyval.ielem)->expr = (yyvsp[-5].node);
33056 : (yyval.ielem)->indexcolname = NULL;
33057 : (yyval.ielem)->collation = (yyvsp[-3].list);
33058 : (yyval.ielem)->opclass = (yyvsp[-2].list);
33059 : (yyval.ielem)->ordering = (yyvsp[-1].ival);
33060 : (yyval.ielem)->nulls_ordering = (yyvsp[0].ival);
33061 : }
33062 : #line 33063 "gram.c" /* yacc.c:1646 */
33063 22 : break;
33064 :
33065 : case 1078:
33066 : #line 7245 "gram.y" /* yacc.c:1646 */
33067 : { (yyval.list) = (yyvsp[0].list); }
33068 : #line 33069 "gram.c" /* yacc.c:1646 */
33069 16 : break;
33070 :
33071 : case 1079:
33072 : #line 7246 "gram.y" /* yacc.c:1646 */
33073 : { (yyval.list) = NIL; }
33074 : #line 33075 "gram.c" /* yacc.c:1646 */
33075 697 : break;
33076 :
33077 : case 1080:
33078 : #line 7249 "gram.y" /* yacc.c:1646 */
33079 : { (yyval.list) = (yyvsp[0].list); }
33080 : #line 33081 "gram.c" /* yacc.c:1646 */
33081 66 : break;
33082 :
33083 : case 1081:
33084 : #line 7250 "gram.y" /* yacc.c:1646 */
33085 : { (yyval.list) = NIL; }
33086 : #line 33087 "gram.c" /* yacc.c:1646 */
33087 647 : break;
33088 :
33089 : case 1082:
33090 : #line 7253 "gram.y" /* yacc.c:1646 */
33091 : { (yyval.ival) = SORTBY_ASC; }
33092 : #line 33093 "gram.c" /* yacc.c:1646 */
33093 20 : break;
33094 :
33095 : case 1083:
33096 : #line 7254 "gram.y" /* yacc.c:1646 */
33097 : { (yyval.ival) = SORTBY_DESC; }
33098 : #line 33099 "gram.c" /* yacc.c:1646 */
33099 121 : break;
33100 :
33101 : case 1084:
33102 : #line 7255 "gram.y" /* yacc.c:1646 */
33103 : { (yyval.ival) = SORTBY_DEFAULT; }
33104 : #line 33105 "gram.c" /* yacc.c:1646 */
33105 4214 : break;
33106 :
33107 : case 1085:
33108 : #line 7258 "gram.y" /* yacc.c:1646 */
33109 : { (yyval.ival) = SORTBY_NULLS_FIRST; }
33110 : #line 33111 "gram.c" /* yacc.c:1646 */
33111 10 : break;
33112 :
33113 : case 1086:
33114 : #line 7259 "gram.y" /* yacc.c:1646 */
33115 : { (yyval.ival) = SORTBY_NULLS_LAST; }
33116 : #line 33117 "gram.c" /* yacc.c:1646 */
33117 10 : break;
33118 :
33119 : case 1087:
33120 : #line 7260 "gram.y" /* yacc.c:1646 */
33121 : { (yyval.ival) = SORTBY_NULLS_DEFAULT; }
33122 : #line 33123 "gram.c" /* yacc.c:1646 */
33123 4367 : break;
33124 :
33125 : case 1088:
33126 : #line 7278 "gram.y" /* yacc.c:1646 */
33127 : {
33128 : CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
33129 : n->replace = (yyvsp[-7].boolean);
33130 : n->funcname = (yyvsp[-5].list);
33131 : n->parameters = (yyvsp[-4].list);
33132 : n->returnType = (yyvsp[-2].typnam);
33133 : n->options = (yyvsp[-1].list);
33134 : n->withClause = (yyvsp[0].list);
33135 : (yyval.node) = (Node *)n;
33136 : }
33137 : #line 33138 "gram.c" /* yacc.c:1646 */
33138 730 : break;
33139 :
33140 : case 1089:
33141 : #line 7290 "gram.y" /* yacc.c:1646 */
33142 : {
33143 : CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
33144 : n->replace = (yyvsp[-10].boolean);
33145 : n->funcname = (yyvsp[-8].list);
33146 : n->parameters = mergeTableFuncParameters((yyvsp[-7].list), (yyvsp[-3].list));
33147 : n->returnType = TableFuncTypeName((yyvsp[-3].list));
33148 : n->returnType->location = (yylsp[-5]);
33149 : n->options = (yyvsp[-1].list);
33150 : n->withClause = (yyvsp[0].list);
33151 : (yyval.node) = (Node *)n;
33152 : }
33153 : #line 33154 "gram.c" /* yacc.c:1646 */
33154 17 : break;
33155 :
33156 : case 1090:
33157 : #line 7303 "gram.y" /* yacc.c:1646 */
33158 : {
33159 : CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
33160 : n->replace = (yyvsp[-5].boolean);
33161 : n->funcname = (yyvsp[-3].list);
33162 : n->parameters = (yyvsp[-2].list);
33163 : n->returnType = NULL;
33164 : n->options = (yyvsp[-1].list);
33165 : n->withClause = (yyvsp[0].list);
33166 : (yyval.node) = (Node *)n;
33167 : }
33168 : #line 33169 "gram.c" /* yacc.c:1646 */
33169 20 : break;
33170 :
33171 : case 1091:
33172 : #line 7316 "gram.y" /* yacc.c:1646 */
33173 : { (yyval.boolean) = TRUE; }
33174 : #line 33175 "gram.c" /* yacc.c:1646 */
33175 320 : break;
33176 :
33177 : case 1092:
33178 : #line 7317 "gram.y" /* yacc.c:1646 */
33179 : { (yyval.boolean) = FALSE; }
33180 : #line 33181 "gram.c" /* yacc.c:1646 */
33181 553 : break;
33182 :
33183 : case 1093:
33184 : #line 7320 "gram.y" /* yacc.c:1646 */
33185 : { (yyval.list) = (yyvsp[-1].list); }
33186 : #line 33187 "gram.c" /* yacc.c:1646 */
33187 364 : break;
33188 :
33189 : case 1094:
33190 : #line 7321 "gram.y" /* yacc.c:1646 */
33191 : { (yyval.list) = NIL; }
33192 : #line 33193 "gram.c" /* yacc.c:1646 */
33193 110 : break;
33194 :
33195 : case 1095:
33196 : #line 7325 "gram.y" /* yacc.c:1646 */
33197 : { (yyval.list) = list_make1((yyvsp[0].fun_param)); }
33198 : #line 33199 "gram.c" /* yacc.c:1646 */
33199 364 : break;
33200 :
33201 : case 1096:
33202 : #line 7326 "gram.y" /* yacc.c:1646 */
33203 : { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param)); }
33204 : #line 33205 "gram.c" /* yacc.c:1646 */
33205 608 : break;
33206 :
33207 : case 1097:
33208 : #line 7330 "gram.y" /* yacc.c:1646 */
33209 : { (yyval.list) = list_make1((yyvsp[0].objwithargs)); }
33210 : #line 33211 "gram.c" /* yacc.c:1646 */
33211 272 : break;
33212 :
33213 : case 1098:
33214 : #line 7332 "gram.y" /* yacc.c:1646 */
33215 : { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].objwithargs)); }
33216 : #line 33217 "gram.c" /* yacc.c:1646 */
33217 4 : break;
33218 :
33219 : case 1099:
33220 : #line 7337 "gram.y" /* yacc.c:1646 */
33221 : {
33222 : ObjectWithArgs *n = makeNode(ObjectWithArgs);
33223 : n->objname = (yyvsp[-1].list);
33224 : n->objargs = extractArgTypes((yyvsp[0].list));
33225 : (yyval.objwithargs) = n;
33226 : }
33227 : #line 33228 "gram.c" /* yacc.c:1646 */
33228 474 : break;
33229 :
33230 : case 1100:
33231 : #line 7349 "gram.y" /* yacc.c:1646 */
33232 : {
33233 : ObjectWithArgs *n = makeNode(ObjectWithArgs);
33234 : n->objname = list_make1(makeString(pstrdup((yyvsp[0].keyword))));
33235 : n->args_unspecified = true;
33236 : (yyval.objwithargs) = n;
33237 : }
33238 : #line 33239 "gram.c" /* yacc.c:1646 */
33239 0 : break;
33240 :
33241 : case 1101:
33242 : #line 7356 "gram.y" /* yacc.c:1646 */
33243 : {
33244 : ObjectWithArgs *n = makeNode(ObjectWithArgs);
33245 : n->objname = list_make1(makeString((yyvsp[0].str)));
33246 : n->args_unspecified = true;
33247 : (yyval.objwithargs) = n;
33248 : }
33249 : #line 33250 "gram.c" /* yacc.c:1646 */
33250 3 : break;
33251 :
33252 : case 1102:
33253 : #line 7363 "gram.y" /* yacc.c:1646 */
33254 : {
33255 : ObjectWithArgs *n = makeNode(ObjectWithArgs);
33256 : n->objname = check_func_name(lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)),
33257 : yyscanner);
33258 : n->args_unspecified = true;
33259 : (yyval.objwithargs) = n;
33260 : }
33261 : #line 33262 "gram.c" /* yacc.c:1646 */
33262 0 : break;
33263 :
33264 : case 1103:
33265 : #line 7377 "gram.y" /* yacc.c:1646 */
33266 : { (yyval.list) = (yyvsp[-1].list); }
33267 : #line 33268 "gram.c" /* yacc.c:1646 */
33268 511 : break;
33269 :
33270 : case 1104:
33271 : #line 7378 "gram.y" /* yacc.c:1646 */
33272 : { (yyval.list) = NIL; }
33273 : #line 33274 "gram.c" /* yacc.c:1646 */
33274 256 : break;
33275 :
33276 : case 1105:
33277 : #line 7382 "gram.y" /* yacc.c:1646 */
33278 : { (yyval.list) = list_make1((yyvsp[0].fun_param)); }
33279 : #line 33280 "gram.c" /* yacc.c:1646 */
33280 511 : break;
33281 :
33282 : case 1106:
33283 : #line 7384 "gram.y" /* yacc.c:1646 */
33284 : { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param)); }
33285 : #line 33286 "gram.c" /* yacc.c:1646 */
33286 780 : break;
33287 :
33288 : case 1107:
33289 : #line 7399 "gram.y" /* yacc.c:1646 */
33290 : {
33291 : FunctionParameter *n = makeNode(FunctionParameter);
33292 : n->name = (yyvsp[-1].str);
33293 : n->argType = (yyvsp[0].typnam);
33294 : n->mode = (yyvsp[-2].fun_param_mode);
33295 : n->defexpr = NULL;
33296 : (yyval.fun_param) = n;
33297 : }
33298 : #line 33299 "gram.c" /* yacc.c:1646 */
33299 131 : break;
33300 :
33301 : case 1108:
33302 : #line 7408 "gram.y" /* yacc.c:1646 */
33303 : {
33304 : FunctionParameter *n = makeNode(FunctionParameter);
33305 : n->name = (yyvsp[-2].str);
33306 : n->argType = (yyvsp[0].typnam);
33307 : n->mode = (yyvsp[-1].fun_param_mode);
33308 : n->defexpr = NULL;
33309 : (yyval.fun_param) = n;
33310 : }
33311 : #line 33312 "gram.c" /* yacc.c:1646 */
33312 6 : break;
33313 :
33314 : case 1109:
33315 : #line 7417 "gram.y" /* yacc.c:1646 */
33316 : {
33317 : FunctionParameter *n = makeNode(FunctionParameter);
33318 : n->name = (yyvsp[-1].str);
33319 : n->argType = (yyvsp[0].typnam);
33320 : n->mode = FUNC_PARAM_IN;
33321 : n->defexpr = NULL;
33322 : (yyval.fun_param) = n;
33323 : }
33324 : #line 33325 "gram.c" /* yacc.c:1646 */
33325 171 : break;
33326 :
33327 : case 1110:
33328 : #line 7426 "gram.y" /* yacc.c:1646 */
33329 : {
33330 : FunctionParameter *n = makeNode(FunctionParameter);
33331 : n->name = NULL;
33332 : n->argType = (yyvsp[0].typnam);
33333 : n->mode = (yyvsp[-1].fun_param_mode);
33334 : n->defexpr = NULL;
33335 : (yyval.fun_param) = n;
33336 : }
33337 : #line 33338 "gram.c" /* yacc.c:1646 */
33338 24 : break;
33339 :
33340 : case 1111:
33341 : #line 7435 "gram.y" /* yacc.c:1646 */
33342 : {
33343 : FunctionParameter *n = makeNode(FunctionParameter);
33344 : n->name = NULL;
33345 : n->argType = (yyvsp[0].typnam);
33346 : n->mode = FUNC_PARAM_IN;
33347 : n->defexpr = NULL;
33348 : (yyval.fun_param) = n;
33349 : }
33350 : #line 33351 "gram.c" /* yacc.c:1646 */
33351 2032 : break;
33352 :
33353 : case 1112:
33354 : #line 7446 "gram.y" /* yacc.c:1646 */
33355 : { (yyval.fun_param_mode) = FUNC_PARAM_IN; }
33356 : #line 33357 "gram.c" /* yacc.c:1646 */
33357 37 : break;
33358 :
33359 : case 1113:
33360 : #line 7447 "gram.y" /* yacc.c:1646 */
33361 : { (yyval.fun_param_mode) = FUNC_PARAM_OUT; }
33362 : #line 33363 "gram.c" /* yacc.c:1646 */
33363 95 : break;
33364 :
33365 : case 1114:
33366 : #line 7448 "gram.y" /* yacc.c:1646 */
33367 : { (yyval.fun_param_mode) = FUNC_PARAM_INOUT; }
33368 : #line 33369 "gram.c" /* yacc.c:1646 */
33369 9 : break;
33370 :
33371 : case 1115:
33372 : #line 7449 "gram.y" /* yacc.c:1646 */
33373 : { (yyval.fun_param_mode) = FUNC_PARAM_INOUT; }
33374 : #line 33375 "gram.c" /* yacc.c:1646 */
33375 0 : break;
33376 :
33377 : case 1116:
33378 : #line 7450 "gram.y" /* yacc.c:1646 */
33379 : { (yyval.fun_param_mode) = FUNC_PARAM_VARIADIC; }
33380 : #line 33381 "gram.c" /* yacc.c:1646 */
33381 20 : break;
33382 :
33383 : case 1118:
33384 : #line 7461 "gram.y" /* yacc.c:1646 */
33385 : {
33386 : /* We can catch over-specified results here if we want to,
33387 : * but for now better to silently swallow typmod, etc.
33388 : * - thomas 2000-03-22
33389 : */
33390 : (yyval.typnam) = (yyvsp[0].typnam);
33391 : }
33392 : #line 33393 "gram.c" /* yacc.c:1646 */
33393 730 : break;
33394 :
33395 : case 1119:
33396 : #line 7475 "gram.y" /* yacc.c:1646 */
33397 : { (yyval.typnam) = (yyvsp[0].typnam); }
33398 : #line 33399 "gram.c" /* yacc.c:1646 */
33399 3804 : break;
33400 :
33401 : case 1120:
33402 : #line 7477 "gram.y" /* yacc.c:1646 */
33403 : {
33404 : (yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[-3].str)), (yyvsp[-2].list)));
33405 : (yyval.typnam)->pct_type = true;
33406 : (yyval.typnam)->location = (yylsp[-3]);
33407 : }
33408 : #line 33409 "gram.c" /* yacc.c:1646 */
33409 3 : break;
33410 :
33411 : case 1121:
33412 : #line 7483 "gram.y" /* yacc.c:1646 */
33413 : {
33414 : (yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[-3].str)), (yyvsp[-2].list)));
33415 : (yyval.typnam)->pct_type = true;
33416 : (yyval.typnam)->setof = TRUE;
33417 : (yyval.typnam)->location = (yylsp[-3]);
33418 : }
33419 : #line 33420 "gram.c" /* yacc.c:1646 */
33420 1 : break;
33421 :
33422 : case 1122:
33423 : #line 7493 "gram.y" /* yacc.c:1646 */
33424 : {
33425 : (yyval.fun_param) = (yyvsp[0].fun_param);
33426 : }
33427 : #line 33428 "gram.c" /* yacc.c:1646 */
33428 1230 : break;
33429 :
33430 : case 1123:
33431 : #line 7497 "gram.y" /* yacc.c:1646 */
33432 : {
33433 : (yyval.fun_param) = (yyvsp[-2].fun_param);
33434 : (yyval.fun_param)->defexpr = (yyvsp[0].node);
33435 : }
33436 : #line 33437 "gram.c" /* yacc.c:1646 */
33437 31 : break;
33438 :
33439 : case 1124:
33440 : #line 7502 "gram.y" /* yacc.c:1646 */
33441 : {
33442 : (yyval.fun_param) = (yyvsp[-2].fun_param);
33443 : (yyval.fun_param)->defexpr = (yyvsp[0].node);
33444 : }
33445 : #line 33446 "gram.c" /* yacc.c:1646 */
33446 30 : break;
33447 :
33448 : case 1125:
33449 : #line 7510 "gram.y" /* yacc.c:1646 */
33450 : {
33451 : if (!((yyvsp[0].fun_param)->mode == FUNC_PARAM_IN ||
33452 : (yyvsp[0].fun_param)->mode == FUNC_PARAM_VARIADIC))
33453 : ereport(ERROR,
33454 : (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
33455 : errmsg("aggregates cannot have output arguments"),
33456 : parser_errposition((yylsp[0]))));
33457 : (yyval.fun_param) = (yyvsp[0].fun_param);
33458 : }
33459 : #line 33460 "gram.c" /* yacc.c:1646 */
33460 101 : break;
33461 :
33462 : case 1126:
33463 : #line 7551 "gram.y" /* yacc.c:1646 */
33464 : {
33465 : (yyval.list) = list_make2(NIL, makeInteger(-1));
33466 : }
33467 : #line 33468 "gram.c" /* yacc.c:1646 */
33468 17 : break;
33469 :
33470 : case 1127:
33471 : #line 7555 "gram.y" /* yacc.c:1646 */
33472 : {
33473 : (yyval.list) = list_make2((yyvsp[-1].list), makeInteger(-1));
33474 : }
33475 : #line 33476 "gram.c" /* yacc.c:1646 */
33476 84 : break;
33477 :
33478 : case 1128:
33479 : #line 7559 "gram.y" /* yacc.c:1646 */
33480 : {
33481 : (yyval.list) = list_make2((yyvsp[-1].list), makeInteger(0));
33482 : }
33483 : #line 33484 "gram.c" /* yacc.c:1646 */
33484 0 : break;
33485 :
33486 : case 1129:
33487 : #line 7563 "gram.y" /* yacc.c:1646 */
33488 : {
33489 : /* this is the only case requiring consistency checking */
33490 : (yyval.list) = makeOrderedSetArgs((yyvsp[-4].list), (yyvsp[-1].list), yyscanner);
33491 : }
33492 : #line 33493 "gram.c" /* yacc.c:1646 */
33493 4 : break;
33494 :
33495 : case 1130:
33496 : #line 7570 "gram.y" /* yacc.c:1646 */
33497 : { (yyval.list) = list_make1((yyvsp[0].fun_param)); }
33498 : #line 33499 "gram.c" /* yacc.c:1646 */
33499 92 : break;
33500 :
33501 : case 1131:
33502 : #line 7571 "gram.y" /* yacc.c:1646 */
33503 : { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param)); }
33504 : #line 33505 "gram.c" /* yacc.c:1646 */
33505 9 : break;
33506 :
33507 : case 1132:
33508 : #line 7576 "gram.y" /* yacc.c:1646 */
33509 : {
33510 : ObjectWithArgs *n = makeNode(ObjectWithArgs);
33511 : n->objname = (yyvsp[-1].list);
33512 : n->objargs = extractAggrArgTypes((yyvsp[0].list));
33513 : (yyval.objwithargs) = n;
33514 : }
33515 : #line 33516 "gram.c" /* yacc.c:1646 */
33516 44 : break;
33517 :
33518 : case 1133:
33519 : #line 7585 "gram.y" /* yacc.c:1646 */
33520 : { (yyval.list) = list_make1((yyvsp[0].objwithargs)); }
33521 : #line 33522 "gram.c" /* yacc.c:1646 */
33522 12 : break;
33523 :
33524 : case 1134:
33525 : #line 7587 "gram.y" /* yacc.c:1646 */
33526 : { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].objwithargs)); }
33527 : #line 33528 "gram.c" /* yacc.c:1646 */
33528 0 : break;
33529 :
33530 : case 1135:
33531 : #line 7592 "gram.y" /* yacc.c:1646 */
33532 : { (yyval.list) = list_make1((yyvsp[0].defelt)); }
33533 : #line 33534 "gram.c" /* yacc.c:1646 */
33534 767 : break;
33535 :
33536 : case 1136:
33537 : #line 7593 "gram.y" /* yacc.c:1646 */
33538 : { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
33539 : #line 33540 "gram.c" /* yacc.c:1646 */
33540 1288 : break;
33541 :
33542 : case 1137:
33543 : #line 7601 "gram.y" /* yacc.c:1646 */
33544 : {
33545 : (yyval.defelt) = makeDefElem("strict", (Node *)makeInteger(FALSE), (yylsp[-3]));
33546 : }
33547 : #line 33548 "gram.c" /* yacc.c:1646 */
33548 5 : break;
33549 :
33550 : case 1138:
33551 : #line 7605 "gram.y" /* yacc.c:1646 */
33552 : {
33553 : (yyval.defelt) = makeDefElem("strict", (Node *)makeInteger(TRUE), (yylsp[-4]));
33554 : }
33555 : #line 33556 "gram.c" /* yacc.c:1646 */
33556 12 : break;
33557 :
33558 : case 1139:
33559 : #line 7609 "gram.y" /* yacc.c:1646 */
33560 : {
33561 : (yyval.defelt) = makeDefElem("strict", (Node *)makeInteger(TRUE), (yylsp[0]));
33562 : }
33563 : #line 33564 "gram.c" /* yacc.c:1646 */
33564 201 : break;
33565 :
33566 : case 1140:
33567 : #line 7613 "gram.y" /* yacc.c:1646 */
33568 : {
33569 : (yyval.defelt) = makeDefElem("volatility", (Node *)makeString("immutable"), (yylsp[0]));
33570 : }
33571 : #line 33572 "gram.c" /* yacc.c:1646 */
33572 88 : break;
33573 :
33574 : case 1141:
33575 : #line 7617 "gram.y" /* yacc.c:1646 */
33576 : {
33577 : (yyval.defelt) = makeDefElem("volatility", (Node *)makeString("stable"), (yylsp[0]));
33578 : }
33579 : #line 33580 "gram.c" /* yacc.c:1646 */
33580 22 : break;
33581 :
33582 : case 1142:
33583 : #line 7621 "gram.y" /* yacc.c:1646 */
33584 : {
33585 : (yyval.defelt) = makeDefElem("volatility", (Node *)makeString("volatile"), (yylsp[0]));
33586 : }
33587 : #line 33588 "gram.c" /* yacc.c:1646 */
33588 19 : break;
33589 :
33590 : case 1143:
33591 : #line 7625 "gram.y" /* yacc.c:1646 */
33592 : {
33593 : (yyval.defelt) = makeDefElem("security", (Node *)makeInteger(TRUE), (yylsp[-2]));
33594 : }
33595 : #line 33596 "gram.c" /* yacc.c:1646 */
33596 0 : break;
33597 :
33598 : case 1144:
33599 : #line 7629 "gram.y" /* yacc.c:1646 */
33600 : {
33601 : (yyval.defelt) = makeDefElem("security", (Node *)makeInteger(FALSE), (yylsp[-2]));
33602 : }
33603 : #line 33604 "gram.c" /* yacc.c:1646 */
33604 0 : break;
33605 :
33606 : case 1145:
33607 : #line 7633 "gram.y" /* yacc.c:1646 */
33608 : {
33609 : (yyval.defelt) = makeDefElem("security", (Node *)makeInteger(TRUE), (yylsp[-1]));
33610 : }
33611 : #line 33612 "gram.c" /* yacc.c:1646 */
33612 5 : break;
33613 :
33614 : case 1146:
33615 : #line 7637 "gram.y" /* yacc.c:1646 */
33616 : {
33617 : (yyval.defelt) = makeDefElem("security", (Node *)makeInteger(FALSE), (yylsp[-1]));
33618 : }
33619 : #line 33620 "gram.c" /* yacc.c:1646 */
33620 2 : break;
33621 :
33622 : case 1147:
33623 : #line 7641 "gram.y" /* yacc.c:1646 */
33624 : {
33625 : (yyval.defelt) = makeDefElem("leakproof", (Node *)makeInteger(TRUE), (yylsp[0]));
33626 : }
33627 : #line 33628 "gram.c" /* yacc.c:1646 */
33628 5 : break;
33629 :
33630 : case 1148:
33631 : #line 7645 "gram.y" /* yacc.c:1646 */
33632 : {
33633 : (yyval.defelt) = makeDefElem("leakproof", (Node *)makeInteger(FALSE), (yylsp[-1]));
33634 : }
33635 : #line 33636 "gram.c" /* yacc.c:1646 */
33636 2 : break;
33637 :
33638 : case 1149:
33639 : #line 7649 "gram.y" /* yacc.c:1646 */
33640 : {
33641 : (yyval.defelt) = makeDefElem("cost", (Node *)(yyvsp[0].value), (yylsp[-1]));
33642 : }
33643 : #line 33644 "gram.c" /* yacc.c:1646 */
33644 9 : break;
33645 :
33646 : case 1150:
33647 : #line 7653 "gram.y" /* yacc.c:1646 */
33648 : {
33649 : (yyval.defelt) = makeDefElem("rows", (Node *)(yyvsp[0].value), (yylsp[-1]));
33650 : }
33651 : #line 33652 "gram.c" /* yacc.c:1646 */
33652 5 : break;
33653 :
33654 : case 1151:
33655 : #line 7657 "gram.y" /* yacc.c:1646 */
33656 : {
33657 : /* we abuse the normal content of a DefElem here */
33658 : (yyval.defelt) = makeDefElem("set", (Node *)(yyvsp[0].vsetstmt), (yylsp[0]));
33659 : }
33660 : #line 33661 "gram.c" /* yacc.c:1646 */
33661 9 : break;
33662 :
33663 : case 1152:
33664 : #line 7662 "gram.y" /* yacc.c:1646 */
33665 : {
33666 : (yyval.defelt) = makeDefElem("parallel", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
33667 : }
33668 : #line 33669 "gram.c" /* yacc.c:1646 */
33669 155 : break;
33670 :
33671 : case 1153:
33672 : #line 7669 "gram.y" /* yacc.c:1646 */
33673 : {
33674 : (yyval.defelt) = makeDefElem("as", (Node *)(yyvsp[0].list), (yylsp[-1]));
33675 : }
33676 : #line 33677 "gram.c" /* yacc.c:1646 */
33677 767 : break;
33678 :
33679 : case 1154:
33680 : #line 7673 "gram.y" /* yacc.c:1646 */
33681 : {
33682 : (yyval.defelt) = makeDefElem("language", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
33683 : }
33684 : #line 33685 "gram.c" /* yacc.c:1646 */
33685 767 : break;
33686 :
33687 : case 1155:
33688 : #line 7677 "gram.y" /* yacc.c:1646 */
33689 : {
33690 : (yyval.defelt) = makeDefElem("transform", (Node *)(yyvsp[0].list), (yylsp[-1]));
33691 : }
33692 : #line 33693 "gram.c" /* yacc.c:1646 */
33693 0 : break;
33694 :
33695 : case 1156:
33696 : #line 7681 "gram.y" /* yacc.c:1646 */
33697 : {
33698 : (yyval.defelt) = makeDefElem("window", (Node *)makeInteger(TRUE), (yylsp[0]));
33699 : }
33700 : #line 33701 "gram.c" /* yacc.c:1646 */
33701 1 : break;
33702 :
33703 : case 1157:
33704 : #line 7685 "gram.y" /* yacc.c:1646 */
33705 : {
33706 : (yyval.defelt) = (yyvsp[0].defelt);
33707 : }
33708 : #line 33709 "gram.c" /* yacc.c:1646 */
33709 520 : break;
33710 :
33711 : case 1158:
33712 : #line 7690 "gram.y" /* yacc.c:1646 */
33713 : { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
33714 : #line 33715 "gram.c" /* yacc.c:1646 */
33715 631 : break;
33716 :
33717 : case 1159:
33718 : #line 7692 "gram.y" /* yacc.c:1646 */
33719 : {
33720 : (yyval.list) = list_make2(makeString((yyvsp[-2].str)), makeString((yyvsp[0].str)));
33721 : }
33722 : #line 33723 "gram.c" /* yacc.c:1646 */
33723 136 : break;
33724 :
33725 : case 1160:
33726 : #line 7698 "gram.y" /* yacc.c:1646 */
33727 : { (yyval.list) = list_make1((yyvsp[0].typnam)); }
33728 : #line 33729 "gram.c" /* yacc.c:1646 */
33729 0 : break;
33730 :
33731 : case 1161:
33732 : #line 7699 "gram.y" /* yacc.c:1646 */
33733 : { (yyval.list) = lappend((yyvsp[-4].list), (yyvsp[0].typnam)); }
33734 : #line 33735 "gram.c" /* yacc.c:1646 */
33735 0 : break;
33736 :
33737 : case 1162:
33738 : #line 7703 "gram.y" /* yacc.c:1646 */
33739 : { (yyval.list) = (yyvsp[0].list); }
33740 : #line 33741 "gram.c" /* yacc.c:1646 */
33741 20 : break;
33742 :
33743 : case 1163:
33744 : #line 7704 "gram.y" /* yacc.c:1646 */
33745 : { (yyval.list) = NIL; }
33746 : #line 33747 "gram.c" /* yacc.c:1646 */
33747 1113 : break;
33748 :
33749 : case 1164:
33750 : #line 7708 "gram.y" /* yacc.c:1646 */
33751 : {
33752 : FunctionParameter *n = makeNode(FunctionParameter);
33753 : n->name = (yyvsp[-1].str);
33754 : n->argType = (yyvsp[0].typnam);
33755 : n->mode = FUNC_PARAM_TABLE;
33756 : n->defexpr = NULL;
33757 : (yyval.fun_param) = n;
33758 : }
33759 : #line 33760 "gram.c" /* yacc.c:1646 */
33760 35 : break;
33761 :
33762 : case 1165:
33763 : #line 7720 "gram.y" /* yacc.c:1646 */
33764 : {
33765 : (yyval.list) = list_make1((yyvsp[0].fun_param));
33766 : }
33767 : #line 33768 "gram.c" /* yacc.c:1646 */
33768 17 : break;
33769 :
33770 : case 1166:
33771 : #line 7724 "gram.y" /* yacc.c:1646 */
33772 : {
33773 : (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param));
33774 : }
33775 : #line 33776 "gram.c" /* yacc.c:1646 */
33776 18 : break;
33777 :
33778 : case 1167:
33779 : #line 7739 "gram.y" /* yacc.c:1646 */
33780 : {
33781 : AlterFunctionStmt *n = makeNode(AlterFunctionStmt);
33782 : n->func = (yyvsp[-2].objwithargs);
33783 : n->actions = (yyvsp[-1].list);
33784 : (yyval.node) = (Node *) n;
33785 : }
33786 : #line 33787 "gram.c" /* yacc.c:1646 */
33787 19 : break;
33788 :
33789 : case 1168:
33790 : #line 7749 "gram.y" /* yacc.c:1646 */
33791 : { (yyval.list) = list_make1((yyvsp[0].defelt)); }
33792 : #line 33793 "gram.c" /* yacc.c:1646 */
33793 19 : break;
33794 :
33795 : case 1169:
33796 : #line 7750 "gram.y" /* yacc.c:1646 */
33797 : { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
33798 : #line 33799 "gram.c" /* yacc.c:1646 */
33799 0 : break;
33800 :
33801 : case 1172:
33802 : #line 7772 "gram.y" /* yacc.c:1646 */
33803 : {
33804 : DropStmt *n = makeNode(DropStmt);
33805 : n->removeType = OBJECT_FUNCTION;
33806 : n->objects = (yyvsp[-1].list);
33807 : n->behavior = (yyvsp[0].dbehavior);
33808 : n->missing_ok = false;
33809 : n->concurrent = false;
33810 : (yyval.node) = (Node *)n;
33811 : }
33812 : #line 33813 "gram.c" /* yacc.c:1646 */
33813 203 : break;
33814 :
33815 : case 1173:
33816 : #line 7782 "gram.y" /* yacc.c:1646 */
33817 : {
33818 : DropStmt *n = makeNode(DropStmt);
33819 : n->removeType = OBJECT_FUNCTION;
33820 : n->objects = (yyvsp[-1].list);
33821 : n->behavior = (yyvsp[0].dbehavior);
33822 : n->missing_ok = true;
33823 : n->concurrent = false;
33824 : (yyval.node) = (Node *)n;
33825 : }
33826 : #line 33827 "gram.c" /* yacc.c:1646 */
33827 5 : break;
33828 :
33829 : case 1174:
33830 : #line 7795 "gram.y" /* yacc.c:1646 */
33831 : {
33832 : DropStmt *n = makeNode(DropStmt);
33833 : n->removeType = OBJECT_AGGREGATE;
33834 : n->objects = (yyvsp[-1].list);
33835 : n->behavior = (yyvsp[0].dbehavior);
33836 : n->missing_ok = false;
33837 : n->concurrent = false;
33838 : (yyval.node) = (Node *)n;
33839 : }
33840 : #line 33841 "gram.c" /* yacc.c:1646 */
33841 7 : break;
33842 :
33843 : case 1175:
33844 : #line 7805 "gram.y" /* yacc.c:1646 */
33845 : {
33846 : DropStmt *n = makeNode(DropStmt);
33847 : n->removeType = OBJECT_AGGREGATE;
33848 : n->objects = (yyvsp[-1].list);
33849 : n->behavior = (yyvsp[0].dbehavior);
33850 : n->missing_ok = true;
33851 : n->concurrent = false;
33852 : (yyval.node) = (Node *)n;
33853 : }
33854 : #line 33855 "gram.c" /* yacc.c:1646 */
33855 5 : break;
33856 :
33857 : case 1176:
33858 : #line 7818 "gram.y" /* yacc.c:1646 */
33859 : {
33860 : DropStmt *n = makeNode(DropStmt);
33861 : n->removeType = OBJECT_OPERATOR;
33862 : n->objects = (yyvsp[-1].list);
33863 : n->behavior = (yyvsp[0].dbehavior);
33864 : n->missing_ok = false;
33865 : n->concurrent = false;
33866 : (yyval.node) = (Node *)n;
33867 : }
33868 : #line 33869 "gram.c" /* yacc.c:1646 */
33869 11 : break;
33870 :
33871 : case 1177:
33872 : #line 7828 "gram.y" /* yacc.c:1646 */
33873 : {
33874 : DropStmt *n = makeNode(DropStmt);
33875 : n->removeType = OBJECT_OPERATOR;
33876 : n->objects = (yyvsp[-1].list);
33877 : n->behavior = (yyvsp[0].dbehavior);
33878 : n->missing_ok = true;
33879 : n->concurrent = false;
33880 : (yyval.node) = (Node *)n;
33881 : }
33882 : #line 33883 "gram.c" /* yacc.c:1646 */
33883 5 : break;
33884 :
33885 : case 1178:
33886 : #line 7841 "gram.y" /* yacc.c:1646 */
33887 : {
33888 : ereport(ERROR,
33889 : (errcode(ERRCODE_SYNTAX_ERROR),
33890 : errmsg("missing argument"),
33891 : errhint("Use NONE to denote the missing argument of a unary operator."),
33892 : parser_errposition((yylsp[0]))));
33893 : }
33894 : #line 33895 "gram.c" /* yacc.c:1646 */
33895 : break;
33896 :
33897 : case 1179:
33898 : #line 7849 "gram.y" /* yacc.c:1646 */
33899 : { (yyval.list) = list_make2((yyvsp[-3].typnam), (yyvsp[-1].typnam)); }
33900 : #line 33901 "gram.c" /* yacc.c:1646 */
33901 79 : break;
33902 :
33903 : case 1180:
33904 : #line 7851 "gram.y" /* yacc.c:1646 */
33905 : { (yyval.list) = list_make2(NULL, (yyvsp[-1].typnam)); }
33906 : #line 33907 "gram.c" /* yacc.c:1646 */
33907 2 : break;
33908 :
33909 : case 1181:
33910 : #line 7853 "gram.y" /* yacc.c:1646 */
33911 : { (yyval.list) = list_make2((yyvsp[-3].typnam), NULL); }
33912 : #line 33913 "gram.c" /* yacc.c:1646 */
33913 1 : break;
33914 :
33915 : case 1182:
33916 : #line 7858 "gram.y" /* yacc.c:1646 */
33917 : { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
33918 : #line 33919 "gram.c" /* yacc.c:1646 */
33919 425 : break;
33920 :
33921 : case 1183:
33922 : #line 7860 "gram.y" /* yacc.c:1646 */
33923 : { (yyval.list) = lcons(makeString((yyvsp[-2].str)), (yyvsp[0].list)); }
33924 : #line 33925 "gram.c" /* yacc.c:1646 */
33925 275 : break;
33926 :
33927 : case 1184:
33928 : #line 7864 "gram.y" /* yacc.c:1646 */
33929 : { (yyval.list) = list_make1((yyvsp[0].objwithargs)); }
33930 : #line 33931 "gram.c" /* yacc.c:1646 */
33931 16 : break;
33932 :
33933 : case 1185:
33934 : #line 7866 "gram.y" /* yacc.c:1646 */
33935 : { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].objwithargs)); }
33936 : #line 33937 "gram.c" /* yacc.c:1646 */
33937 0 : break;
33938 :
33939 : case 1186:
33940 : #line 7871 "gram.y" /* yacc.c:1646 */
33941 : {
33942 : ObjectWithArgs *n = makeNode(ObjectWithArgs);
33943 : n->objname = (yyvsp[-1].list);
33944 : n->objargs = (yyvsp[0].list);
33945 : (yyval.objwithargs) = n;
33946 : }
33947 : #line 33948 "gram.c" /* yacc.c:1646 */
33948 82 : break;
33949 :
33950 : case 1187:
33951 : #line 7889 "gram.y" /* yacc.c:1646 */
33952 : {
33953 : DoStmt *n = makeNode(DoStmt);
33954 : n->args = (yyvsp[0].list);
33955 : (yyval.node) = (Node *)n;
33956 : }
33957 : #line 33958 "gram.c" /* yacc.c:1646 */
33958 40 : break;
33959 :
33960 : case 1188:
33961 : #line 7897 "gram.y" /* yacc.c:1646 */
33962 : { (yyval.list) = list_make1((yyvsp[0].defelt)); }
33963 : #line 33964 "gram.c" /* yacc.c:1646 */
33964 40 : break;
33965 :
33966 : case 1189:
33967 : #line 7898 "gram.y" /* yacc.c:1646 */
33968 : { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
33969 : #line 33970 "gram.c" /* yacc.c:1646 */
33970 2 : break;
33971 :
33972 : case 1190:
33973 : #line 7903 "gram.y" /* yacc.c:1646 */
33974 : {
33975 : (yyval.defelt) = makeDefElem("as", (Node *)makeString((yyvsp[0].str)), (yylsp[0]));
33976 : }
33977 : #line 33978 "gram.c" /* yacc.c:1646 */
33978 40 : break;
33979 :
33980 : case 1191:
33981 : #line 7907 "gram.y" /* yacc.c:1646 */
33982 : {
33983 : (yyval.defelt) = makeDefElem("language", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
33984 : }
33985 : #line 33986 "gram.c" /* yacc.c:1646 */
33986 2 : break;
33987 :
33988 : case 1192:
33989 : #line 7920 "gram.y" /* yacc.c:1646 */
33990 : {
33991 : CreateCastStmt *n = makeNode(CreateCastStmt);
33992 : n->sourcetype = (yyvsp[-7].typnam);
33993 : n->targettype = (yyvsp[-5].typnam);
33994 : n->func = (yyvsp[-1].objwithargs);
33995 : n->context = (CoercionContext) (yyvsp[0].ival);
33996 : n->inout = false;
33997 : (yyval.node) = (Node *)n;
33998 : }
33999 : #line 34000 "gram.c" /* yacc.c:1646 */
34000 4 : break;
34001 :
34002 : case 1193:
34003 : #line 7931 "gram.y" /* yacc.c:1646 */
34004 : {
34005 : CreateCastStmt *n = makeNode(CreateCastStmt);
34006 : n->sourcetype = (yyvsp[-6].typnam);
34007 : n->targettype = (yyvsp[-4].typnam);
34008 : n->func = NULL;
34009 : n->context = (CoercionContext) (yyvsp[0].ival);
34010 : n->inout = false;
34011 : (yyval.node) = (Node *)n;
34012 : }
34013 : #line 34014 "gram.c" /* yacc.c:1646 */
34014 6 : break;
34015 :
34016 : case 1194:
34017 : #line 7942 "gram.y" /* yacc.c:1646 */
34018 : {
34019 : CreateCastStmt *n = makeNode(CreateCastStmt);
34020 : n->sourcetype = (yyvsp[-6].typnam);
34021 : n->targettype = (yyvsp[-4].typnam);
34022 : n->func = NULL;
34023 : n->context = (CoercionContext) (yyvsp[0].ival);
34024 : n->inout = true;
34025 : (yyval.node) = (Node *)n;
34026 : }
34027 : #line 34028 "gram.c" /* yacc.c:1646 */
34028 1 : break;
34029 :
34030 : case 1195:
34031 : #line 7953 "gram.y" /* yacc.c:1646 */
34032 : { (yyval.ival) = COERCION_IMPLICIT; }
34033 : #line 34034 "gram.c" /* yacc.c:1646 */
34034 2 : break;
34035 :
34036 : case 1196:
34037 : #line 7954 "gram.y" /* yacc.c:1646 */
34038 : { (yyval.ival) = COERCION_ASSIGNMENT; }
34039 : #line 34040 "gram.c" /* yacc.c:1646 */
34040 1 : break;
34041 :
34042 : case 1197:
34043 : #line 7955 "gram.y" /* yacc.c:1646 */
34044 : { (yyval.ival) = COERCION_EXPLICIT; }
34045 : #line 34046 "gram.c" /* yacc.c:1646 */
34046 8 : break;
34047 :
34048 : case 1198:
34049 : #line 7960 "gram.y" /* yacc.c:1646 */
34050 : {
34051 : DropStmt *n = makeNode(DropStmt);
34052 : n->removeType = OBJECT_CAST;
34053 : n->objects = list_make1(list_make2((yyvsp[-4].typnam), (yyvsp[-2].typnam)));
34054 : n->behavior = (yyvsp[0].dbehavior);
34055 : n->missing_ok = (yyvsp[-6].boolean);
34056 : n->concurrent = false;
34057 : (yyval.node) = (Node *)n;
34058 : }
34059 : #line 34060 "gram.c" /* yacc.c:1646 */
34060 9 : break;
34061 :
34062 : case 1199:
34063 : #line 7971 "gram.y" /* yacc.c:1646 */
34064 : { (yyval.boolean) = TRUE; }
34065 : #line 34066 "gram.c" /* yacc.c:1646 */
34066 5 : break;
34067 :
34068 : case 1200:
34069 : #line 7972 "gram.y" /* yacc.c:1646 */
34070 : { (yyval.boolean) = FALSE; }
34071 : #line 34072 "gram.c" /* yacc.c:1646 */
34072 4 : break;
34073 :
34074 : case 1201:
34075 : #line 7983 "gram.y" /* yacc.c:1646 */
34076 : {
34077 : CreateTransformStmt *n = makeNode(CreateTransformStmt);
34078 : n->replace = (yyvsp[-8].boolean);
34079 : n->type_name = (yyvsp[-5].typnam);
34080 : n->lang = (yyvsp[-3].str);
34081 : n->fromsql = linitial((yyvsp[-1].list));
34082 : n->tosql = lsecond((yyvsp[-1].list));
34083 : (yyval.node) = (Node *)n;
34084 : }
34085 : #line 34086 "gram.c" /* yacc.c:1646 */
34086 1 : break;
34087 :
34088 : case 1202:
34089 : #line 7995 "gram.y" /* yacc.c:1646 */
34090 : {
34091 : (yyval.list) = list_make2((yyvsp[-6].objwithargs), (yyvsp[0].objwithargs));
34092 : }
34093 : #line 34094 "gram.c" /* yacc.c:1646 */
34094 1 : break;
34095 :
34096 : case 1203:
34097 : #line 7999 "gram.y" /* yacc.c:1646 */
34098 : {
34099 : (yyval.list) = list_make2((yyvsp[0].objwithargs), (yyvsp[-6].objwithargs));
34100 : }
34101 : #line 34102 "gram.c" /* yacc.c:1646 */
34102 0 : break;
34103 :
34104 : case 1204:
34105 : #line 8003 "gram.y" /* yacc.c:1646 */
34106 : {
34107 : (yyval.list) = list_make2((yyvsp[0].objwithargs), NULL);
34108 : }
34109 : #line 34110 "gram.c" /* yacc.c:1646 */
34110 0 : break;
34111 :
34112 : case 1205:
34113 : #line 8007 "gram.y" /* yacc.c:1646 */
34114 : {
34115 : (yyval.list) = list_make2(NULL, (yyvsp[0].objwithargs));
34116 : }
34117 : #line 34118 "gram.c" /* yacc.c:1646 */
34118 0 : break;
34119 :
34120 : case 1206:
34121 : #line 8014 "gram.y" /* yacc.c:1646 */
34122 : {
34123 : DropStmt *n = makeNode(DropStmt);
34124 : n->removeType = OBJECT_TRANSFORM;
34125 : n->objects = list_make1(list_make2((yyvsp[-3].typnam), makeString((yyvsp[-1].str))));
34126 : n->behavior = (yyvsp[0].dbehavior);
34127 : n->missing_ok = (yyvsp[-5].boolean);
34128 : (yyval.node) = (Node *)n;
34129 : }
34130 : #line 34131 "gram.c" /* yacc.c:1646 */
34131 0 : break;
34132 :
34133 : case 1207:
34134 : #line 8034 "gram.y" /* yacc.c:1646 */
34135 : {
34136 : ReindexStmt *n = makeNode(ReindexStmt);
34137 : n->kind = (yyvsp[-1].ival);
34138 : n->relation = (yyvsp[0].range);
34139 : n->name = NULL;
34140 : n->options = 0;
34141 : (yyval.node) = (Node *)n;
34142 : }
34143 : #line 34144 "gram.c" /* yacc.c:1646 */
34144 5 : break;
34145 :
34146 : case 1208:
34147 : #line 8043 "gram.y" /* yacc.c:1646 */
34148 : {
34149 : ReindexStmt *n = makeNode(ReindexStmt);
34150 : n->kind = (yyvsp[-1].ival);
34151 : n->name = (yyvsp[0].str);
34152 : n->relation = NULL;
34153 : n->options = 0;
34154 : (yyval.node) = (Node *)n;
34155 : }
34156 : #line 34157 "gram.c" /* yacc.c:1646 */
34157 5 : break;
34158 :
34159 : case 1209:
34160 : #line 8052 "gram.y" /* yacc.c:1646 */
34161 : {
34162 : ReindexStmt *n = makeNode(ReindexStmt);
34163 : n->kind = (yyvsp[-1].ival);
34164 : n->relation = (yyvsp[0].range);
34165 : n->name = NULL;
34166 : n->options = (yyvsp[-3].ival);
34167 : (yyval.node) = (Node *)n;
34168 : }
34169 : #line 34170 "gram.c" /* yacc.c:1646 */
34170 1 : break;
34171 :
34172 : case 1210:
34173 : #line 8061 "gram.y" /* yacc.c:1646 */
34174 : {
34175 : ReindexStmt *n = makeNode(ReindexStmt);
34176 : n->kind = (yyvsp[-1].ival);
34177 : n->name = (yyvsp[0].str);
34178 : n->relation = NULL;
34179 : n->options = (yyvsp[-3].ival);
34180 : (yyval.node) = (Node *)n;
34181 : }
34182 : #line 34183 "gram.c" /* yacc.c:1646 */
34183 0 : break;
34184 :
34185 : case 1211:
34186 : #line 8071 "gram.y" /* yacc.c:1646 */
34187 : { (yyval.ival) = REINDEX_OBJECT_INDEX; }
34188 : #line 34189 "gram.c" /* yacc.c:1646 */
34189 3 : break;
34190 :
34191 : case 1212:
34192 : #line 8072 "gram.y" /* yacc.c:1646 */
34193 : { (yyval.ival) = REINDEX_OBJECT_TABLE; }
34194 : #line 34195 "gram.c" /* yacc.c:1646 */
34195 3 : break;
34196 :
34197 : case 1213:
34198 : #line 8075 "gram.y" /* yacc.c:1646 */
34199 : { (yyval.ival) = REINDEX_OBJECT_SCHEMA; }
34200 : #line 34201 "gram.c" /* yacc.c:1646 */
34201 5 : break;
34202 :
34203 : case 1214:
34204 : #line 8076 "gram.y" /* yacc.c:1646 */
34205 : { (yyval.ival) = REINDEX_OBJECT_SYSTEM; }
34206 : #line 34207 "gram.c" /* yacc.c:1646 */
34207 0 : break;
34208 :
34209 : case 1215:
34210 : #line 8077 "gram.y" /* yacc.c:1646 */
34211 : { (yyval.ival) = REINDEX_OBJECT_DATABASE; }
34212 : #line 34213 "gram.c" /* yacc.c:1646 */
34213 0 : break;
34214 :
34215 : case 1216:
34216 : #line 8080 "gram.y" /* yacc.c:1646 */
34217 : { (yyval.ival) = (yyvsp[0].ival); }
34218 : #line 34219 "gram.c" /* yacc.c:1646 */
34219 1 : break;
34220 :
34221 : case 1217:
34222 : #line 8081 "gram.y" /* yacc.c:1646 */
34223 : { (yyval.ival) = (yyvsp[-2].ival) | (yyvsp[0].ival); }
34224 : #line 34225 "gram.c" /* yacc.c:1646 */
34225 0 : break;
34226 :
34227 : case 1218:
34228 : #line 8084 "gram.y" /* yacc.c:1646 */
34229 : { (yyval.ival) = REINDEXOPT_VERBOSE; }
34230 : #line 34231 "gram.c" /* yacc.c:1646 */
34231 1 : break;
34232 :
34233 : case 1219:
34234 : #line 8095 "gram.y" /* yacc.c:1646 */
34235 : {
34236 : AlterTableSpaceOptionsStmt *n =
34237 : makeNode(AlterTableSpaceOptionsStmt);
34238 : n->tablespacename = (yyvsp[-2].str);
34239 : n->options = (yyvsp[0].list);
34240 : n->isReset = FALSE;
34241 : (yyval.node) = (Node *)n;
34242 : }
34243 : #line 34244 "gram.c" /* yacc.c:1646 */
34244 2 : break;
34245 :
34246 : case 1220:
34247 : #line 8104 "gram.y" /* yacc.c:1646 */
34248 : {
34249 : AlterTableSpaceOptionsStmt *n =
34250 : makeNode(AlterTableSpaceOptionsStmt);
34251 : n->tablespacename = (yyvsp[-2].str);
34252 : n->options = (yyvsp[0].list);
34253 : n->isReset = TRUE;
34254 : (yyval.node) = (Node *)n;
34255 : }
34256 : #line 34257 "gram.c" /* yacc.c:1646 */
34257 2 : break;
34258 :
34259 : case 1221:
34260 : #line 8121 "gram.y" /* yacc.c:1646 */
34261 : {
34262 : RenameStmt *n = makeNode(RenameStmt);
34263 : n->renameType = OBJECT_AGGREGATE;
34264 : n->object = (Node *) (yyvsp[-3].objwithargs);
34265 : n->newname = (yyvsp[0].str);
34266 : n->missing_ok = false;
34267 : (yyval.node) = (Node *)n;
34268 : }
34269 : #line 34270 "gram.c" /* yacc.c:1646 */
34270 7 : break;
34271 :
34272 : case 1222:
34273 : #line 8130 "gram.y" /* yacc.c:1646 */
34274 : {
34275 : RenameStmt *n = makeNode(RenameStmt);
34276 : n->renameType = OBJECT_COLLATION;
34277 : n->object = (Node *) (yyvsp[-3].list);
34278 : n->newname = (yyvsp[0].str);
34279 : n->missing_ok = false;
34280 : (yyval.node) = (Node *)n;
34281 : }
34282 : #line 34283 "gram.c" /* yacc.c:1646 */
34283 0 : break;
34284 :
34285 : case 1223:
34286 : #line 8139 "gram.y" /* yacc.c:1646 */
34287 : {
34288 : RenameStmt *n = makeNode(RenameStmt);
34289 : n->renameType = OBJECT_CONVERSION;
34290 : n->object = (Node *) (yyvsp[-3].list);
34291 : n->newname = (yyvsp[0].str);
34292 : n->missing_ok = false;
34293 : (yyval.node) = (Node *)n;
34294 : }
34295 : #line 34296 "gram.c" /* yacc.c:1646 */
34296 4 : break;
34297 :
34298 : case 1224:
34299 : #line 8148 "gram.y" /* yacc.c:1646 */
34300 : {
34301 : RenameStmt *n = makeNode(RenameStmt);
34302 : n->renameType = OBJECT_DATABASE;
34303 : n->subname = (yyvsp[-3].str);
34304 : n->newname = (yyvsp[0].str);
34305 : n->missing_ok = false;
34306 : (yyval.node) = (Node *)n;
34307 : }
34308 : #line 34309 "gram.c" /* yacc.c:1646 */
34309 0 : break;
34310 :
34311 : case 1225:
34312 : #line 8157 "gram.y" /* yacc.c:1646 */
34313 : {
34314 : RenameStmt *n = makeNode(RenameStmt);
34315 : n->renameType = OBJECT_DOMAIN;
34316 : n->object = (Node *) (yyvsp[-3].list);
34317 : n->newname = (yyvsp[0].str);
34318 : n->missing_ok = false;
34319 : (yyval.node) = (Node *)n;
34320 : }
34321 : #line 34322 "gram.c" /* yacc.c:1646 */
34322 1 : break;
34323 :
34324 : case 1226:
34325 : #line 8166 "gram.y" /* yacc.c:1646 */
34326 : {
34327 : RenameStmt *n = makeNode(RenameStmt);
34328 : n->renameType = OBJECT_DOMCONSTRAINT;
34329 : n->object = (Node *) (yyvsp[-5].list);
34330 : n->subname = (yyvsp[-2].str);
34331 : n->newname = (yyvsp[0].str);
34332 : (yyval.node) = (Node *)n;
34333 : }
34334 : #line 34335 "gram.c" /* yacc.c:1646 */
34335 1 : break;
34336 :
34337 : case 1227:
34338 : #line 8175 "gram.y" /* yacc.c:1646 */
34339 : {
34340 : RenameStmt *n = makeNode(RenameStmt);
34341 : n->renameType = OBJECT_FDW;
34342 : n->object = (Node *) makeString((yyvsp[-3].str));
34343 : n->newname = (yyvsp[0].str);
34344 : n->missing_ok = false;
34345 : (yyval.node) = (Node *)n;
34346 : }
34347 : #line 34348 "gram.c" /* yacc.c:1646 */
34348 4 : break;
34349 :
34350 : case 1228:
34351 : #line 8184 "gram.y" /* yacc.c:1646 */
34352 : {
34353 : RenameStmt *n = makeNode(RenameStmt);
34354 : n->renameType = OBJECT_FUNCTION;
34355 : n->object = (Node *) (yyvsp[-3].objwithargs);
34356 : n->newname = (yyvsp[0].str);
34357 : n->missing_ok = false;
34358 : (yyval.node) = (Node *)n;
34359 : }
34360 : #line 34361 "gram.c" /* yacc.c:1646 */
34361 4 : break;
34362 :
34363 : case 1229:
34364 : #line 8193 "gram.y" /* yacc.c:1646 */
34365 : {
34366 : RenameStmt *n = makeNode(RenameStmt);
34367 : n->renameType = OBJECT_ROLE;
34368 : n->subname = (yyvsp[-3].str);
34369 : n->newname = (yyvsp[0].str);
34370 : n->missing_ok = false;
34371 : (yyval.node) = (Node *)n;
34372 : }
34373 : #line 34374 "gram.c" /* yacc.c:1646 */
34374 0 : break;
34375 :
34376 : case 1230:
34377 : #line 8202 "gram.y" /* yacc.c:1646 */
34378 : {
34379 : RenameStmt *n = makeNode(RenameStmt);
34380 : n->renameType = OBJECT_LANGUAGE;
34381 : n->object = (Node *) makeString((yyvsp[-3].str));
34382 : n->newname = (yyvsp[0].str);
34383 : n->missing_ok = false;
34384 : (yyval.node) = (Node *)n;
34385 : }
34386 : #line 34387 "gram.c" /* yacc.c:1646 */
34387 3 : break;
34388 :
34389 : case 1231:
34390 : #line 8211 "gram.y" /* yacc.c:1646 */
34391 : {
34392 : RenameStmt *n = makeNode(RenameStmt);
34393 : n->renameType = OBJECT_OPCLASS;
34394 : n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
34395 : n->newname = (yyvsp[0].str);
34396 : n->missing_ok = false;
34397 : (yyval.node) = (Node *)n;
34398 : }
34399 : #line 34400 "gram.c" /* yacc.c:1646 */
34400 4 : break;
34401 :
34402 : case 1232:
34403 : #line 8220 "gram.y" /* yacc.c:1646 */
34404 : {
34405 : RenameStmt *n = makeNode(RenameStmt);
34406 : n->renameType = OBJECT_OPFAMILY;
34407 : n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
34408 : n->newname = (yyvsp[0].str);
34409 : n->missing_ok = false;
34410 : (yyval.node) = (Node *)n;
34411 : }
34412 : #line 34413 "gram.c" /* yacc.c:1646 */
34413 4 : break;
34414 :
34415 : case 1233:
34416 : #line 8229 "gram.y" /* yacc.c:1646 */
34417 : {
34418 : RenameStmt *n = makeNode(RenameStmt);
34419 : n->renameType = OBJECT_POLICY;
34420 : n->relation = (yyvsp[-3].range);
34421 : n->subname = (yyvsp[-5].str);
34422 : n->newname = (yyvsp[0].str);
34423 : n->missing_ok = false;
34424 : (yyval.node) = (Node *)n;
34425 : }
34426 : #line 34427 "gram.c" /* yacc.c:1646 */
34427 3 : break;
34428 :
34429 : case 1234:
34430 : #line 8239 "gram.y" /* yacc.c:1646 */
34431 : {
34432 : RenameStmt *n = makeNode(RenameStmt);
34433 : n->renameType = OBJECT_POLICY;
34434 : n->relation = (yyvsp[-3].range);
34435 : n->subname = (yyvsp[-5].str);
34436 : n->newname = (yyvsp[0].str);
34437 : n->missing_ok = true;
34438 : (yyval.node) = (Node *)n;
34439 : }
34440 : #line 34441 "gram.c" /* yacc.c:1646 */
34441 0 : break;
34442 :
34443 : case 1235:
34444 : #line 8249 "gram.y" /* yacc.c:1646 */
34445 : {
34446 : RenameStmt *n = makeNode(RenameStmt);
34447 : n->renameType = OBJECT_PUBLICATION;
34448 : n->object = (Node *) makeString((yyvsp[-3].str));
34449 : n->newname = (yyvsp[0].str);
34450 : n->missing_ok = false;
34451 : (yyval.node) = (Node *)n;
34452 : }
34453 : #line 34454 "gram.c" /* yacc.c:1646 */
34454 3 : break;
34455 :
34456 : case 1236:
34457 : #line 8258 "gram.y" /* yacc.c:1646 */
34458 : {
34459 : RenameStmt *n = makeNode(RenameStmt);
34460 : n->renameType = OBJECT_SCHEMA;
34461 : n->subname = (yyvsp[-3].str);
34462 : n->newname = (yyvsp[0].str);
34463 : n->missing_ok = false;
34464 : (yyval.node) = (Node *)n;
34465 : }
34466 : #line 34467 "gram.c" /* yacc.c:1646 */
34467 1 : break;
34468 :
34469 : case 1237:
34470 : #line 8267 "gram.y" /* yacc.c:1646 */
34471 : {
34472 : RenameStmt *n = makeNode(RenameStmt);
34473 : n->renameType = OBJECT_FOREIGN_SERVER;
34474 : n->object = (Node *) makeString((yyvsp[-3].str));
34475 : n->newname = (yyvsp[0].str);
34476 : n->missing_ok = false;
34477 : (yyval.node) = (Node *)n;
34478 : }
34479 : #line 34480 "gram.c" /* yacc.c:1646 */
34480 4 : break;
34481 :
34482 : case 1238:
34483 : #line 8276 "gram.y" /* yacc.c:1646 */
34484 : {
34485 : RenameStmt *n = makeNode(RenameStmt);
34486 : n->renameType = OBJECT_SUBSCRIPTION;
34487 : n->object = (Node *) makeString((yyvsp[-3].str));
34488 : n->newname = (yyvsp[0].str);
34489 : n->missing_ok = false;
34490 : (yyval.node) = (Node *)n;
34491 : }
34492 : #line 34493 "gram.c" /* yacc.c:1646 */
34493 3 : break;
34494 :
34495 : case 1239:
34496 : #line 8285 "gram.y" /* yacc.c:1646 */
34497 : {
34498 : RenameStmt *n = makeNode(RenameStmt);
34499 : n->renameType = OBJECT_TABLE;
34500 : n->relation = (yyvsp[-3].range);
34501 : n->subname = NULL;
34502 : n->newname = (yyvsp[0].str);
34503 : n->missing_ok = false;
34504 : (yyval.node) = (Node *)n;
34505 : }
34506 : #line 34507 "gram.c" /* yacc.c:1646 */
34507 20 : break;
34508 :
34509 : case 1240:
34510 : #line 8295 "gram.y" /* yacc.c:1646 */
34511 : {
34512 : RenameStmt *n = makeNode(RenameStmt);
34513 : n->renameType = OBJECT_TABLE;
34514 : n->relation = (yyvsp[-3].range);
34515 : n->subname = NULL;
34516 : n->newname = (yyvsp[0].str);
34517 : n->missing_ok = true;
34518 : (yyval.node) = (Node *)n;
34519 : }
34520 : #line 34521 "gram.c" /* yacc.c:1646 */
34521 0 : break;
34522 :
34523 : case 1241:
34524 : #line 8305 "gram.y" /* yacc.c:1646 */
34525 : {
34526 : RenameStmt *n = makeNode(RenameStmt);
34527 : n->renameType = OBJECT_SEQUENCE;
34528 : n->relation = (yyvsp[-3].range);
34529 : n->subname = NULL;
34530 : n->newname = (yyvsp[0].str);
34531 : n->missing_ok = false;
34532 : (yyval.node) = (Node *)n;
34533 : }
34534 : #line 34535 "gram.c" /* yacc.c:1646 */
34535 0 : break;
34536 :
34537 : case 1242:
34538 : #line 8315 "gram.y" /* yacc.c:1646 */
34539 : {
34540 : RenameStmt *n = makeNode(RenameStmt);
34541 : n->renameType = OBJECT_SEQUENCE;
34542 : n->relation = (yyvsp[-3].range);
34543 : n->subname = NULL;
34544 : n->newname = (yyvsp[0].str);
34545 : n->missing_ok = true;
34546 : (yyval.node) = (Node *)n;
34547 : }
34548 : #line 34549 "gram.c" /* yacc.c:1646 */
34549 0 : break;
34550 :
34551 : case 1243:
34552 : #line 8325 "gram.y" /* yacc.c:1646 */
34553 : {
34554 : RenameStmt *n = makeNode(RenameStmt);
34555 : n->renameType = OBJECT_VIEW;
34556 : n->relation = (yyvsp[-3].range);
34557 : n->subname = NULL;
34558 : n->newname = (yyvsp[0].str);
34559 : n->missing_ok = false;
34560 : (yyval.node) = (Node *)n;
34561 : }
34562 : #line 34563 "gram.c" /* yacc.c:1646 */
34563 0 : break;
34564 :
34565 : case 1244:
34566 : #line 8335 "gram.y" /* yacc.c:1646 */
34567 : {
34568 : RenameStmt *n = makeNode(RenameStmt);
34569 : n->renameType = OBJECT_VIEW;
34570 : n->relation = (yyvsp[-3].range);
34571 : n->subname = NULL;
34572 : n->newname = (yyvsp[0].str);
34573 : n->missing_ok = true;
34574 : (yyval.node) = (Node *)n;
34575 : }
34576 : #line 34577 "gram.c" /* yacc.c:1646 */
34577 0 : break;
34578 :
34579 : case 1245:
34580 : #line 8345 "gram.y" /* yacc.c:1646 */
34581 : {
34582 : RenameStmt *n = makeNode(RenameStmt);
34583 : n->renameType = OBJECT_MATVIEW;
34584 : n->relation = (yyvsp[-3].range);
34585 : n->subname = NULL;
34586 : n->newname = (yyvsp[0].str);
34587 : n->missing_ok = false;
34588 : (yyval.node) = (Node *)n;
34589 : }
34590 : #line 34591 "gram.c" /* yacc.c:1646 */
34591 0 : break;
34592 :
34593 : case 1246:
34594 : #line 8355 "gram.y" /* yacc.c:1646 */
34595 : {
34596 : RenameStmt *n = makeNode(RenameStmt);
34597 : n->renameType = OBJECT_MATVIEW;
34598 : n->relation = (yyvsp[-3].range);
34599 : n->subname = NULL;
34600 : n->newname = (yyvsp[0].str);
34601 : n->missing_ok = true;
34602 : (yyval.node) = (Node *)n;
34603 : }
34604 : #line 34605 "gram.c" /* yacc.c:1646 */
34605 0 : break;
34606 :
34607 : case 1247:
34608 : #line 8365 "gram.y" /* yacc.c:1646 */
34609 : {
34610 : RenameStmt *n = makeNode(RenameStmt);
34611 : n->renameType = OBJECT_INDEX;
34612 : n->relation = (yyvsp[-3].range);
34613 : n->subname = NULL;
34614 : n->newname = (yyvsp[0].str);
34615 : n->missing_ok = false;
34616 : (yyval.node) = (Node *)n;
34617 : }
34618 : #line 34619 "gram.c" /* yacc.c:1646 */
34619 3 : break;
34620 :
34621 : case 1248:
34622 : #line 8375 "gram.y" /* yacc.c:1646 */
34623 : {
34624 : RenameStmt *n = makeNode(RenameStmt);
34625 : n->renameType = OBJECT_INDEX;
34626 : n->relation = (yyvsp[-3].range);
34627 : n->subname = NULL;
34628 : n->newname = (yyvsp[0].str);
34629 : n->missing_ok = true;
34630 : (yyval.node) = (Node *)n;
34631 : }
34632 : #line 34633 "gram.c" /* yacc.c:1646 */
34633 2 : break;
34634 :
34635 : case 1249:
34636 : #line 8385 "gram.y" /* yacc.c:1646 */
34637 : {
34638 : RenameStmt *n = makeNode(RenameStmt);
34639 : n->renameType = OBJECT_FOREIGN_TABLE;
34640 : n->relation = (yyvsp[-3].range);
34641 : n->subname = NULL;
34642 : n->newname = (yyvsp[0].str);
34643 : n->missing_ok = false;
34644 : (yyval.node) = (Node *)n;
34645 : }
34646 : #line 34647 "gram.c" /* yacc.c:1646 */
34647 1 : break;
34648 :
34649 : case 1250:
34650 : #line 8395 "gram.y" /* yacc.c:1646 */
34651 : {
34652 : RenameStmt *n = makeNode(RenameStmt);
34653 : n->renameType = OBJECT_FOREIGN_TABLE;
34654 : n->relation = (yyvsp[-3].range);
34655 : n->subname = NULL;
34656 : n->newname = (yyvsp[0].str);
34657 : n->missing_ok = true;
34658 : (yyval.node) = (Node *)n;
34659 : }
34660 : #line 34661 "gram.c" /* yacc.c:1646 */
34661 1 : break;
34662 :
34663 : case 1251:
34664 : #line 8405 "gram.y" /* yacc.c:1646 */
34665 : {
34666 : RenameStmt *n = makeNode(RenameStmt);
34667 : n->renameType = OBJECT_COLUMN;
34668 : n->relationType = OBJECT_TABLE;
34669 : n->relation = (yyvsp[-5].range);
34670 : n->subname = (yyvsp[-2].str);
34671 : n->newname = (yyvsp[0].str);
34672 : n->missing_ok = false;
34673 : (yyval.node) = (Node *)n;
34674 : }
34675 : #line 34676 "gram.c" /* yacc.c:1646 */
34676 34 : break;
34677 :
34678 : case 1252:
34679 : #line 8416 "gram.y" /* yacc.c:1646 */
34680 : {
34681 : RenameStmt *n = makeNode(RenameStmt);
34682 : n->renameType = OBJECT_COLUMN;
34683 : n->relationType = OBJECT_TABLE;
34684 : n->relation = (yyvsp[-5].range);
34685 : n->subname = (yyvsp[-2].str);
34686 : n->newname = (yyvsp[0].str);
34687 : n->missing_ok = true;
34688 : (yyval.node) = (Node *)n;
34689 : }
34690 : #line 34691 "gram.c" /* yacc.c:1646 */
34691 4 : break;
34692 :
34693 : case 1253:
34694 : #line 8427 "gram.y" /* yacc.c:1646 */
34695 : {
34696 : RenameStmt *n = makeNode(RenameStmt);
34697 : n->renameType = OBJECT_COLUMN;
34698 : n->relationType = OBJECT_MATVIEW;
34699 : n->relation = (yyvsp[-5].range);
34700 : n->subname = (yyvsp[-2].str);
34701 : n->newname = (yyvsp[0].str);
34702 : n->missing_ok = false;
34703 : (yyval.node) = (Node *)n;
34704 : }
34705 : #line 34706 "gram.c" /* yacc.c:1646 */
34706 0 : break;
34707 :
34708 : case 1254:
34709 : #line 8438 "gram.y" /* yacc.c:1646 */
34710 : {
34711 : RenameStmt *n = makeNode(RenameStmt);
34712 : n->renameType = OBJECT_COLUMN;
34713 : n->relationType = OBJECT_MATVIEW;
34714 : n->relation = (yyvsp[-5].range);
34715 : n->subname = (yyvsp[-2].str);
34716 : n->newname = (yyvsp[0].str);
34717 : n->missing_ok = true;
34718 : (yyval.node) = (Node *)n;
34719 : }
34720 : #line 34721 "gram.c" /* yacc.c:1646 */
34721 0 : break;
34722 :
34723 : case 1255:
34724 : #line 8449 "gram.y" /* yacc.c:1646 */
34725 : {
34726 : RenameStmt *n = makeNode(RenameStmt);
34727 : n->renameType = OBJECT_TABCONSTRAINT;
34728 : n->relation = (yyvsp[-5].range);
34729 : n->subname = (yyvsp[-2].str);
34730 : n->newname = (yyvsp[0].str);
34731 : n->missing_ok = false;
34732 : (yyval.node) = (Node *)n;
34733 : }
34734 : #line 34735 "gram.c" /* yacc.c:1646 */
34735 9 : break;
34736 :
34737 : case 1256:
34738 : #line 8459 "gram.y" /* yacc.c:1646 */
34739 : {
34740 : RenameStmt *n = makeNode(RenameStmt);
34741 : n->renameType = OBJECT_TABCONSTRAINT;
34742 : n->relation = (yyvsp[-5].range);
34743 : n->subname = (yyvsp[-2].str);
34744 : n->newname = (yyvsp[0].str);
34745 : n->missing_ok = true;
34746 : (yyval.node) = (Node *)n;
34747 : }
34748 : #line 34749 "gram.c" /* yacc.c:1646 */
34749 1 : break;
34750 :
34751 : case 1257:
34752 : #line 8469 "gram.y" /* yacc.c:1646 */
34753 : {
34754 : RenameStmt *n = makeNode(RenameStmt);
34755 : n->renameType = OBJECT_COLUMN;
34756 : n->relationType = OBJECT_FOREIGN_TABLE;
34757 : n->relation = (yyvsp[-5].range);
34758 : n->subname = (yyvsp[-2].str);
34759 : n->newname = (yyvsp[0].str);
34760 : n->missing_ok = false;
34761 : (yyval.node) = (Node *)n;
34762 : }
34763 : #line 34764 "gram.c" /* yacc.c:1646 */
34764 1 : break;
34765 :
34766 : case 1258:
34767 : #line 8480 "gram.y" /* yacc.c:1646 */
34768 : {
34769 : RenameStmt *n = makeNode(RenameStmt);
34770 : n->renameType = OBJECT_COLUMN;
34771 : n->relationType = OBJECT_FOREIGN_TABLE;
34772 : n->relation = (yyvsp[-5].range);
34773 : n->subname = (yyvsp[-2].str);
34774 : n->newname = (yyvsp[0].str);
34775 : n->missing_ok = true;
34776 : (yyval.node) = (Node *)n;
34777 : }
34778 : #line 34779 "gram.c" /* yacc.c:1646 */
34779 1 : break;
34780 :
34781 : case 1259:
34782 : #line 8491 "gram.y" /* yacc.c:1646 */
34783 : {
34784 : RenameStmt *n = makeNode(RenameStmt);
34785 : n->renameType = OBJECT_RULE;
34786 : n->relation = (yyvsp[-3].range);
34787 : n->subname = (yyvsp[-5].str);
34788 : n->newname = (yyvsp[0].str);
34789 : n->missing_ok = false;
34790 : (yyval.node) = (Node *)n;
34791 : }
34792 : #line 34793 "gram.c" /* yacc.c:1646 */
34793 5 : break;
34794 :
34795 : case 1260:
34796 : #line 8501 "gram.y" /* yacc.c:1646 */
34797 : {
34798 : RenameStmt *n = makeNode(RenameStmt);
34799 : n->renameType = OBJECT_TRIGGER;
34800 : n->relation = (yyvsp[-3].range);
34801 : n->subname = (yyvsp[-5].str);
34802 : n->newname = (yyvsp[0].str);
34803 : n->missing_ok = false;
34804 : (yyval.node) = (Node *)n;
34805 : }
34806 : #line 34807 "gram.c" /* yacc.c:1646 */
34807 0 : break;
34808 :
34809 : case 1261:
34810 : #line 8511 "gram.y" /* yacc.c:1646 */
34811 : {
34812 : RenameStmt *n = makeNode(RenameStmt);
34813 : n->renameType = OBJECT_EVENT_TRIGGER;
34814 : n->object = (Node *) makeString((yyvsp[-3].str));
34815 : n->newname = (yyvsp[0].str);
34816 : (yyval.node) = (Node *)n;
34817 : }
34818 : #line 34819 "gram.c" /* yacc.c:1646 */
34819 2 : break;
34820 :
34821 : case 1262:
34822 : #line 8519 "gram.y" /* yacc.c:1646 */
34823 : {
34824 : RenameStmt *n = makeNode(RenameStmt);
34825 : n->renameType = OBJECT_ROLE;
34826 : n->subname = (yyvsp[-3].str);
34827 : n->newname = (yyvsp[0].str);
34828 : n->missing_ok = false;
34829 : (yyval.node) = (Node *)n;
34830 : }
34831 : #line 34832 "gram.c" /* yacc.c:1646 */
34832 3 : break;
34833 :
34834 : case 1263:
34835 : #line 8528 "gram.y" /* yacc.c:1646 */
34836 : {
34837 : RenameStmt *n = makeNode(RenameStmt);
34838 : n->renameType = OBJECT_ROLE;
34839 : n->subname = (yyvsp[-3].str);
34840 : n->newname = (yyvsp[0].str);
34841 : n->missing_ok = false;
34842 : (yyval.node) = (Node *)n;
34843 : }
34844 : #line 34845 "gram.c" /* yacc.c:1646 */
34845 0 : break;
34846 :
34847 : case 1264:
34848 : #line 8537 "gram.y" /* yacc.c:1646 */
34849 : {
34850 : RenameStmt *n = makeNode(RenameStmt);
34851 : n->renameType = OBJECT_TABLESPACE;
34852 : n->subname = (yyvsp[-3].str);
34853 : n->newname = (yyvsp[0].str);
34854 : n->missing_ok = false;
34855 : (yyval.node) = (Node *)n;
34856 : }
34857 : #line 34858 "gram.c" /* yacc.c:1646 */
34858 1 : break;
34859 :
34860 : case 1265:
34861 : #line 8546 "gram.y" /* yacc.c:1646 */
34862 : {
34863 : RenameStmt *n = makeNode(RenameStmt);
34864 : n->renameType = OBJECT_STATISTIC_EXT;
34865 : n->object = (Node *) (yyvsp[-3].list);
34866 : n->newname = (yyvsp[0].str);
34867 : n->missing_ok = false;
34868 : (yyval.node) = (Node *)n;
34869 : }
34870 : #line 34871 "gram.c" /* yacc.c:1646 */
34871 4 : break;
34872 :
34873 : case 1266:
34874 : #line 8555 "gram.y" /* yacc.c:1646 */
34875 : {
34876 : RenameStmt *n = makeNode(RenameStmt);
34877 : n->renameType = OBJECT_TSPARSER;
34878 : n->object = (Node *) (yyvsp[-3].list);
34879 : n->newname = (yyvsp[0].str);
34880 : n->missing_ok = false;
34881 : (yyval.node) = (Node *)n;
34882 : }
34883 : #line 34884 "gram.c" /* yacc.c:1646 */
34884 2 : break;
34885 :
34886 : case 1267:
34887 : #line 8564 "gram.y" /* yacc.c:1646 */
34888 : {
34889 : RenameStmt *n = makeNode(RenameStmt);
34890 : n->renameType = OBJECT_TSDICTIONARY;
34891 : n->object = (Node *) (yyvsp[-3].list);
34892 : n->newname = (yyvsp[0].str);
34893 : n->missing_ok = false;
34894 : (yyval.node) = (Node *)n;
34895 : }
34896 : #line 34897 "gram.c" /* yacc.c:1646 */
34897 4 : break;
34898 :
34899 : case 1268:
34900 : #line 8573 "gram.y" /* yacc.c:1646 */
34901 : {
34902 : RenameStmt *n = makeNode(RenameStmt);
34903 : n->renameType = OBJECT_TSTEMPLATE;
34904 : n->object = (Node *) (yyvsp[-3].list);
34905 : n->newname = (yyvsp[0].str);
34906 : n->missing_ok = false;
34907 : (yyval.node) = (Node *)n;
34908 : }
34909 : #line 34910 "gram.c" /* yacc.c:1646 */
34910 2 : break;
34911 :
34912 : case 1269:
34913 : #line 8582 "gram.y" /* yacc.c:1646 */
34914 : {
34915 : RenameStmt *n = makeNode(RenameStmt);
34916 : n->renameType = OBJECT_TSCONFIGURATION;
34917 : n->object = (Node *) (yyvsp[-3].list);
34918 : n->newname = (yyvsp[0].str);
34919 : n->missing_ok = false;
34920 : (yyval.node) = (Node *)n;
34921 : }
34922 : #line 34923 "gram.c" /* yacc.c:1646 */
34923 4 : break;
34924 :
34925 : case 1270:
34926 : #line 8591 "gram.y" /* yacc.c:1646 */
34927 : {
34928 : RenameStmt *n = makeNode(RenameStmt);
34929 : n->renameType = OBJECT_TYPE;
34930 : n->object = (Node *) (yyvsp[-3].list);
34931 : n->newname = (yyvsp[0].str);
34932 : n->missing_ok = false;
34933 : (yyval.node) = (Node *)n;
34934 : }
34935 : #line 34936 "gram.c" /* yacc.c:1646 */
34936 2 : break;
34937 :
34938 : case 1271:
34939 : #line 8600 "gram.y" /* yacc.c:1646 */
34940 : {
34941 : RenameStmt *n = makeNode(RenameStmt);
34942 : n->renameType = OBJECT_ATTRIBUTE;
34943 : n->relationType = OBJECT_TYPE;
34944 : n->relation = makeRangeVarFromAnyName((yyvsp[-6].list), (yylsp[-6]), yyscanner);
34945 : n->subname = (yyvsp[-3].str);
34946 : n->newname = (yyvsp[-1].str);
34947 : n->behavior = (yyvsp[0].dbehavior);
34948 : n->missing_ok = false;
34949 : (yyval.node) = (Node *)n;
34950 : }
34951 : #line 34952 "gram.c" /* yacc.c:1646 */
34952 4 : break;
34953 :
34954 : case 1272:
34955 : #line 8613 "gram.y" /* yacc.c:1646 */
34956 : { (yyval.ival) = COLUMN; }
34957 : #line 34958 "gram.c" /* yacc.c:1646 */
34958 235 : break;
34959 :
34960 : case 1273:
34961 : #line 8614 "gram.y" /* yacc.c:1646 */
34962 : { (yyval.ival) = 0; }
34963 : #line 34964 "gram.c" /* yacc.c:1646 */
34964 94 : break;
34965 :
34966 : case 1274:
34967 : #line 8617 "gram.y" /* yacc.c:1646 */
34968 : { (yyval.ival) = 1; }
34969 : #line 34970 "gram.c" /* yacc.c:1646 */
34970 14 : break;
34971 :
34972 : case 1275:
34973 : #line 8618 "gram.y" /* yacc.c:1646 */
34974 : { (yyval.ival) = 0; }
34975 : #line 34976 "gram.c" /* yacc.c:1646 */
34976 56 : break;
34977 :
34978 : case 1276:
34979 : #line 8629 "gram.y" /* yacc.c:1646 */
34980 : {
34981 : AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
34982 : n->objectType = OBJECT_FUNCTION;
34983 : n->object = (Node *) (yyvsp[-4].objwithargs);
34984 : n->extname = makeString((yyvsp[0].str));
34985 : (yyval.node) = (Node *)n;
34986 : }
34987 : #line 34988 "gram.c" /* yacc.c:1646 */
34988 0 : break;
34989 :
34990 : case 1277:
34991 : #line 8637 "gram.y" /* yacc.c:1646 */
34992 : {
34993 : AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
34994 : n->objectType = OBJECT_TRIGGER;
34995 : n->relation = (yyvsp[-4].range);
34996 : n->object = (Node *) list_make1(makeString((yyvsp[-6].str)));
34997 : n->extname = makeString((yyvsp[0].str));
34998 : (yyval.node) = (Node *)n;
34999 : }
35000 : #line 35001 "gram.c" /* yacc.c:1646 */
35001 0 : break;
35002 :
35003 : case 1278:
35004 : #line 8646 "gram.y" /* yacc.c:1646 */
35005 : {
35006 : AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
35007 : n->objectType = OBJECT_MATVIEW;
35008 : n->relation = (yyvsp[-4].range);
35009 : n->extname = makeString((yyvsp[0].str));
35010 : (yyval.node) = (Node *)n;
35011 : }
35012 : #line 35013 "gram.c" /* yacc.c:1646 */
35013 0 : break;
35014 :
35015 : case 1279:
35016 : #line 8654 "gram.y" /* yacc.c:1646 */
35017 : {
35018 : AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
35019 : n->objectType = OBJECT_INDEX;
35020 : n->relation = (yyvsp[-4].range);
35021 : n->extname = makeString((yyvsp[0].str));
35022 : (yyval.node) = (Node *)n;
35023 : }
35024 : #line 35025 "gram.c" /* yacc.c:1646 */
35025 0 : break;
35026 :
35027 : case 1280:
35028 : #line 8671 "gram.y" /* yacc.c:1646 */
35029 : {
35030 : AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
35031 : n->objectType = OBJECT_AGGREGATE;
35032 : n->object = (Node *) (yyvsp[-3].objwithargs);
35033 : n->newschema = (yyvsp[0].str);
35034 : n->missing_ok = false;
35035 : (yyval.node) = (Node *)n;
35036 : }
35037 : #line 35038 "gram.c" /* yacc.c:1646 */
35038 4 : break;
35039 :
35040 : case 1281:
35041 : #line 8680 "gram.y" /* yacc.c:1646 */
35042 : {
35043 : AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
35044 : n->objectType = OBJECT_COLLATION;
35045 : n->object = (Node *) (yyvsp[-3].list);
35046 : n->newschema = (yyvsp[0].str);
35047 : n->missing_ok = false;
35048 : (yyval.node) = (Node *)n;
35049 : }
35050 : #line 35051 "gram.c" /* yacc.c:1646 */
35051 0 : break;
35052 :
35053 : case 1282:
35054 : #line 8689 "gram.y" /* yacc.c:1646 */
35055 : {
35056 : AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
35057 : n->objectType = OBJECT_CONVERSION;
35058 : n->object = (Node *) (yyvsp[-3].list);
35059 : n->newschema = (yyvsp[0].str);
35060 : n->missing_ok = false;
35061 : (yyval.node) = (Node *)n;
35062 : }
35063 : #line 35064 "gram.c" /* yacc.c:1646 */
35064 4 : break;
35065 :
35066 : case 1283:
35067 : #line 8698 "gram.y" /* yacc.c:1646 */
35068 : {
35069 : AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
35070 : n->objectType = OBJECT_DOMAIN;
35071 : n->object = (Node *) (yyvsp[-3].list);
35072 : n->newschema = (yyvsp[0].str);
35073 : n->missing_ok = false;
35074 : (yyval.node) = (Node *)n;
35075 : }
35076 : #line 35077 "gram.c" /* yacc.c:1646 */
35077 1 : break;
35078 :
35079 : case 1284:
35080 : #line 8707 "gram.y" /* yacc.c:1646 */
35081 : {
35082 : AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
35083 : n->objectType = OBJECT_EXTENSION;
35084 : n->object = (Node *) makeString((yyvsp[-3].str));
35085 : n->newschema = (yyvsp[0].str);
35086 : n->missing_ok = false;
35087 : (yyval.node) = (Node *)n;
35088 : }
35089 : #line 35090 "gram.c" /* yacc.c:1646 */
35090 0 : break;
35091 :
35092 : case 1285:
35093 : #line 8716 "gram.y" /* yacc.c:1646 */
35094 : {
35095 : AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
35096 : n->objectType = OBJECT_FUNCTION;
35097 : n->object = (Node *) (yyvsp[-3].objwithargs);
35098 : n->newschema = (yyvsp[0].str);
35099 : n->missing_ok = false;
35100 : (yyval.node) = (Node *)n;
35101 : }
35102 : #line 35103 "gram.c" /* yacc.c:1646 */
35103 6 : break;
35104 :
35105 : case 1286:
35106 : #line 8725 "gram.y" /* yacc.c:1646 */
35107 : {
35108 : AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
35109 : n->objectType = OBJECT_OPERATOR;
35110 : n->object = (Node *) (yyvsp[-3].objwithargs);
35111 : n->newschema = (yyvsp[0].str);
35112 : n->missing_ok = false;
35113 : (yyval.node) = (Node *)n;
35114 : }
35115 : #line 35116 "gram.c" /* yacc.c:1646 */
35116 3 : break;
35117 :
35118 : case 1287:
35119 : #line 8734 "gram.y" /* yacc.c:1646 */
35120 : {
35121 : AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
35122 : n->objectType = OBJECT_OPCLASS;
35123 : n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
35124 : n->newschema = (yyvsp[0].str);
35125 : n->missing_ok = false;
35126 : (yyval.node) = (Node *)n;
35127 : }
35128 : #line 35129 "gram.c" /* yacc.c:1646 */
35129 4 : break;
35130 :
35131 : case 1288:
35132 : #line 8743 "gram.y" /* yacc.c:1646 */
35133 : {
35134 : AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
35135 : n->objectType = OBJECT_OPFAMILY;
35136 : n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
35137 : n->newschema = (yyvsp[0].str);
35138 : n->missing_ok = false;
35139 : (yyval.node) = (Node *)n;
35140 : }
35141 : #line 35142 "gram.c" /* yacc.c:1646 */
35142 4 : break;
35143 :
35144 : case 1289:
35145 : #line 8752 "gram.y" /* yacc.c:1646 */
35146 : {
35147 : AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
35148 : n->objectType = OBJECT_TABLE;
35149 : n->relation = (yyvsp[-3].range);
35150 : n->newschema = (yyvsp[0].str);
35151 : n->missing_ok = false;
35152 : (yyval.node) = (Node *)n;
35153 : }
35154 : #line 35155 "gram.c" /* yacc.c:1646 */
35155 8 : break;
35156 :
35157 : case 1290:
35158 : #line 8761 "gram.y" /* yacc.c:1646 */
35159 : {
35160 : AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
35161 : n->objectType = OBJECT_TABLE;
35162 : n->relation = (yyvsp[-3].range);
35163 : n->newschema = (yyvsp[0].str);
35164 : n->missing_ok = true;
35165 : (yyval.node) = (Node *)n;
35166 : }
35167 : #line 35168 "gram.c" /* yacc.c:1646 */
35168 2 : break;
35169 :
35170 : case 1291:
35171 : #line 8770 "gram.y" /* yacc.c:1646 */
35172 : {
35173 : AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
35174 : n->objectType = OBJECT_STATISTIC_EXT;
35175 : n->object = (Node *) (yyvsp[-3].list);
35176 : n->newschema = (yyvsp[0].str);
35177 : n->missing_ok = false;
35178 : (yyval.node) = (Node *)n;
35179 : }
35180 : #line 35181 "gram.c" /* yacc.c:1646 */
35181 3 : break;
35182 :
35183 : case 1292:
35184 : #line 8779 "gram.y" /* yacc.c:1646 */
35185 : {
35186 : AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
35187 : n->objectType = OBJECT_TSPARSER;
35188 : n->object = (Node *) (yyvsp[-3].list);
35189 : n->newschema = (yyvsp[0].str);
35190 : n->missing_ok = false;
35191 : (yyval.node) = (Node *)n;
35192 : }
35193 : #line 35194 "gram.c" /* yacc.c:1646 */
35194 3 : break;
35195 :
35196 : case 1293:
35197 : #line 8788 "gram.y" /* yacc.c:1646 */
35198 : {
35199 : AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
35200 : n->objectType = OBJECT_TSDICTIONARY;
35201 : n->object = (Node *) (yyvsp[-3].list);
35202 : n->newschema = (yyvsp[0].str);
35203 : n->missing_ok = false;
35204 : (yyval.node) = (Node *)n;
35205 : }
35206 : #line 35207 "gram.c" /* yacc.c:1646 */
35207 4 : break;
35208 :
35209 : case 1294:
35210 : #line 8797 "gram.y" /* yacc.c:1646 */
35211 : {
35212 : AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
35213 : n->objectType = OBJECT_TSTEMPLATE;
35214 : n->object = (Node *) (yyvsp[-3].list);
35215 : n->newschema = (yyvsp[0].str);
35216 : n->missing_ok = false;
35217 : (yyval.node) = (Node *)n;
35218 : }
35219 : #line 35220 "gram.c" /* yacc.c:1646 */
35220 3 : break;
35221 :
35222 : case 1295:
35223 : #line 8806 "gram.y" /* yacc.c:1646 */
35224 : {
35225 : AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
35226 : n->objectType = OBJECT_TSCONFIGURATION;
35227 : n->object = (Node *) (yyvsp[-3].list);
35228 : n->newschema = (yyvsp[0].str);
35229 : n->missing_ok = false;
35230 : (yyval.node) = (Node *)n;
35231 : }
35232 : #line 35233 "gram.c" /* yacc.c:1646 */
35233 4 : break;
35234 :
35235 : case 1296:
35236 : #line 8815 "gram.y" /* yacc.c:1646 */
35237 : {
35238 : AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
35239 : n->objectType = OBJECT_SEQUENCE;
35240 : n->relation = (yyvsp[-3].range);
35241 : n->newschema = (yyvsp[0].str);
35242 : n->missing_ok = false;
35243 : (yyval.node) = (Node *)n;
35244 : }
35245 : #line 35246 "gram.c" /* yacc.c:1646 */
35246 0 : break;
35247 :
35248 : case 1297:
35249 : #line 8824 "gram.y" /* yacc.c:1646 */
35250 : {
35251 : AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
35252 : n->objectType = OBJECT_SEQUENCE;
35253 : n->relation = (yyvsp[-3].range);
35254 : n->newschema = (yyvsp[0].str);
35255 : n->missing_ok = true;
35256 : (yyval.node) = (Node *)n;
35257 : }
35258 : #line 35259 "gram.c" /* yacc.c:1646 */
35259 0 : break;
35260 :
35261 : case 1298:
35262 : #line 8833 "gram.y" /* yacc.c:1646 */
35263 : {
35264 : AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
35265 : n->objectType = OBJECT_VIEW;
35266 : n->relation = (yyvsp[-3].range);
35267 : n->newschema = (yyvsp[0].str);
35268 : n->missing_ok = false;
35269 : (yyval.node) = (Node *)n;
35270 : }
35271 : #line 35272 "gram.c" /* yacc.c:1646 */
35272 0 : break;
35273 :
35274 : case 1299:
35275 : #line 8842 "gram.y" /* yacc.c:1646 */
35276 : {
35277 : AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
35278 : n->objectType = OBJECT_VIEW;
35279 : n->relation = (yyvsp[-3].range);
35280 : n->newschema = (yyvsp[0].str);
35281 : n->missing_ok = true;
35282 : (yyval.node) = (Node *)n;
35283 : }
35284 : #line 35285 "gram.c" /* yacc.c:1646 */
35285 0 : break;
35286 :
35287 : case 1300:
35288 : #line 8851 "gram.y" /* yacc.c:1646 */
35289 : {
35290 : AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
35291 : n->objectType = OBJECT_MATVIEW;
35292 : n->relation = (yyvsp[-3].range);
35293 : n->newschema = (yyvsp[0].str);
35294 : n->missing_ok = false;
35295 : (yyval.node) = (Node *)n;
35296 : }
35297 : #line 35298 "gram.c" /* yacc.c:1646 */
35298 1 : break;
35299 :
35300 : case 1301:
35301 : #line 8860 "gram.y" /* yacc.c:1646 */
35302 : {
35303 : AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
35304 : n->objectType = OBJECT_MATVIEW;
35305 : n->relation = (yyvsp[-3].range);
35306 : n->newschema = (yyvsp[0].str);
35307 : n->missing_ok = true;
35308 : (yyval.node) = (Node *)n;
35309 : }
35310 : #line 35311 "gram.c" /* yacc.c:1646 */
35311 0 : break;
35312 :
35313 : case 1302:
35314 : #line 8869 "gram.y" /* yacc.c:1646 */
35315 : {
35316 : AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
35317 : n->objectType = OBJECT_FOREIGN_TABLE;
35318 : n->relation = (yyvsp[-3].range);
35319 : n->newschema = (yyvsp[0].str);
35320 : n->missing_ok = false;
35321 : (yyval.node) = (Node *)n;
35322 : }
35323 : #line 35324 "gram.c" /* yacc.c:1646 */
35324 1 : break;
35325 :
35326 : case 1303:
35327 : #line 8878 "gram.y" /* yacc.c:1646 */
35328 : {
35329 : AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
35330 : n->objectType = OBJECT_FOREIGN_TABLE;
35331 : n->relation = (yyvsp[-3].range);
35332 : n->newschema = (yyvsp[0].str);
35333 : n->missing_ok = true;
35334 : (yyval.node) = (Node *)n;
35335 : }
35336 : #line 35337 "gram.c" /* yacc.c:1646 */
35337 1 : break;
35338 :
35339 : case 1304:
35340 : #line 8887 "gram.y" /* yacc.c:1646 */
35341 : {
35342 : AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
35343 : n->objectType = OBJECT_TYPE;
35344 : n->object = (Node *) (yyvsp[-3].list);
35345 : n->newschema = (yyvsp[0].str);
35346 : n->missing_ok = false;
35347 : (yyval.node) = (Node *)n;
35348 : }
35349 : #line 35350 "gram.c" /* yacc.c:1646 */
35350 2 : break;
35351 :
35352 : case 1305:
35353 : #line 8905 "gram.y" /* yacc.c:1646 */
35354 : {
35355 : AlterOperatorStmt *n = makeNode(AlterOperatorStmt);
35356 : n->opername = (yyvsp[-4].objwithargs);
35357 : n->options = (yyvsp[-1].list);
35358 : (yyval.node) = (Node *)n;
35359 : }
35360 : #line 35361 "gram.c" /* yacc.c:1646 */
35361 13 : break;
35362 :
35363 : case 1306:
35364 : #line 8913 "gram.y" /* yacc.c:1646 */
35365 : { (yyval.list) = list_make1((yyvsp[0].defelt)); }
35366 : #line 35367 "gram.c" /* yacc.c:1646 */
35367 13 : break;
35368 :
35369 : case 1307:
35370 : #line 8914 "gram.y" /* yacc.c:1646 */
35371 : { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
35372 : #line 35373 "gram.c" /* yacc.c:1646 */
35373 2 : break;
35374 :
35375 : case 1308:
35376 : #line 8918 "gram.y" /* yacc.c:1646 */
35377 : { (yyval.defelt) = makeDefElem((yyvsp[-2].str), NULL, (yylsp[-2])); }
35378 : #line 35379 "gram.c" /* yacc.c:1646 */
35379 5 : break;
35380 :
35381 : case 1309:
35382 : #line 8920 "gram.y" /* yacc.c:1646 */
35383 : { (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *) (yyvsp[0].node), (yylsp[-2])); }
35384 : #line 35385 "gram.c" /* yacc.c:1646 */
35385 10 : break;
35386 :
35387 : case 1310:
35388 : #line 8925 "gram.y" /* yacc.c:1646 */
35389 : { (yyval.node) = (Node *)(yyvsp[0].typnam); }
35390 : #line 35391 "gram.c" /* yacc.c:1646 */
35391 6 : break;
35392 :
35393 : case 1311:
35394 : #line 8926 "gram.y" /* yacc.c:1646 */
35395 : { (yyval.node) = (Node *)makeString(pstrdup((yyvsp[0].keyword))); }
35396 : #line 35397 "gram.c" /* yacc.c:1646 */
35397 0 : break;
35398 :
35399 : case 1312:
35400 : #line 8927 "gram.y" /* yacc.c:1646 */
35401 : { (yyval.node) = (Node *)(yyvsp[0].list); }
35402 : #line 35403 "gram.c" /* yacc.c:1646 */
35403 4 : break;
35404 :
35405 : case 1313:
35406 : #line 8928 "gram.y" /* yacc.c:1646 */
35407 : { (yyval.node) = (Node *)(yyvsp[0].value); }
35408 : #line 35409 "gram.c" /* yacc.c:1646 */
35409 0 : break;
35410 :
35411 : case 1314:
35412 : #line 8929 "gram.y" /* yacc.c:1646 */
35413 : { (yyval.node) = (Node *)makeString((yyvsp[0].str)); }
35414 : #line 35415 "gram.c" /* yacc.c:1646 */
35415 0 : break;
35416 :
35417 : case 1315:
35418 : #line 8939 "gram.y" /* yacc.c:1646 */
35419 : {
35420 : AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
35421 : n->objectType = OBJECT_AGGREGATE;
35422 : n->object = (Node *) (yyvsp[-3].objwithargs);
35423 : n->newowner = (yyvsp[0].rolespec);
35424 : (yyval.node) = (Node *)n;
35425 : }
35426 : #line 35427 "gram.c" /* yacc.c:1646 */
35427 13 : break;
35428 :
35429 : case 1316:
35430 : #line 8947 "gram.y" /* yacc.c:1646 */
35431 : {
35432 : AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
35433 : n->objectType = OBJECT_COLLATION;
35434 : n->object = (Node *) (yyvsp[-3].list);
35435 : n->newowner = (yyvsp[0].rolespec);
35436 : (yyval.node) = (Node *)n;
35437 : }
35438 : #line 35439 "gram.c" /* yacc.c:1646 */
35439 0 : break;
35440 :
35441 : case 1317:
35442 : #line 8955 "gram.y" /* yacc.c:1646 */
35443 : {
35444 : AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
35445 : n->objectType = OBJECT_CONVERSION;
35446 : n->object = (Node *) (yyvsp[-3].list);
35447 : n->newowner = (yyvsp[0].rolespec);
35448 : (yyval.node) = (Node *)n;
35449 : }
35450 : #line 35451 "gram.c" /* yacc.c:1646 */
35451 4 : break;
35452 :
35453 : case 1318:
35454 : #line 8963 "gram.y" /* yacc.c:1646 */
35455 : {
35456 : AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
35457 : n->objectType = OBJECT_DATABASE;
35458 : n->object = (Node *) makeString((yyvsp[-3].str));
35459 : n->newowner = (yyvsp[0].rolespec);
35460 : (yyval.node) = (Node *)n;
35461 : }
35462 : #line 35463 "gram.c" /* yacc.c:1646 */
35463 0 : break;
35464 :
35465 : case 1319:
35466 : #line 8971 "gram.y" /* yacc.c:1646 */
35467 : {
35468 : AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
35469 : n->objectType = OBJECT_DOMAIN;
35470 : n->object = (Node *) (yyvsp[-3].list);
35471 : n->newowner = (yyvsp[0].rolespec);
35472 : (yyval.node) = (Node *)n;
35473 : }
35474 : #line 35475 "gram.c" /* yacc.c:1646 */
35475 0 : break;
35476 :
35477 : case 1320:
35478 : #line 8979 "gram.y" /* yacc.c:1646 */
35479 : {
35480 : AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
35481 : n->objectType = OBJECT_FUNCTION;
35482 : n->object = (Node *) (yyvsp[-3].objwithargs);
35483 : n->newowner = (yyvsp[0].rolespec);
35484 : (yyval.node) = (Node *)n;
35485 : }
35486 : #line 35487 "gram.c" /* yacc.c:1646 */
35487 6 : break;
35488 :
35489 : case 1321:
35490 : #line 8987 "gram.y" /* yacc.c:1646 */
35491 : {
35492 : AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
35493 : n->objectType = OBJECT_LANGUAGE;
35494 : n->object = (Node *) makeString((yyvsp[-3].str));
35495 : n->newowner = (yyvsp[0].rolespec);
35496 : (yyval.node) = (Node *)n;
35497 : }
35498 : #line 35499 "gram.c" /* yacc.c:1646 */
35499 5 : break;
35500 :
35501 : case 1322:
35502 : #line 8995 "gram.y" /* yacc.c:1646 */
35503 : {
35504 : AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
35505 : n->objectType = OBJECT_LARGEOBJECT;
35506 : n->object = (Node *) (yyvsp[-3].value);
35507 : n->newowner = (yyvsp[0].rolespec);
35508 : (yyval.node) = (Node *)n;
35509 : }
35510 : #line 35511 "gram.c" /* yacc.c:1646 */
35511 1 : break;
35512 :
35513 : case 1323:
35514 : #line 9003 "gram.y" /* yacc.c:1646 */
35515 : {
35516 : AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
35517 : n->objectType = OBJECT_OPERATOR;
35518 : n->object = (Node *) (yyvsp[-3].objwithargs);
35519 : n->newowner = (yyvsp[0].rolespec);
35520 : (yyval.node) = (Node *)n;
35521 : }
35522 : #line 35523 "gram.c" /* yacc.c:1646 */
35523 4 : break;
35524 :
35525 : case 1324:
35526 : #line 9011 "gram.y" /* yacc.c:1646 */
35527 : {
35528 : AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
35529 : n->objectType = OBJECT_OPCLASS;
35530 : n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
35531 : n->newowner = (yyvsp[0].rolespec);
35532 : (yyval.node) = (Node *)n;
35533 : }
35534 : #line 35535 "gram.c" /* yacc.c:1646 */
35535 8 : break;
35536 :
35537 : case 1325:
35538 : #line 9019 "gram.y" /* yacc.c:1646 */
35539 : {
35540 : AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
35541 : n->objectType = OBJECT_OPFAMILY;
35542 : n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
35543 : n->newowner = (yyvsp[0].rolespec);
35544 : (yyval.node) = (Node *)n;
35545 : }
35546 : #line 35547 "gram.c" /* yacc.c:1646 */
35547 8 : break;
35548 :
35549 : case 1326:
35550 : #line 9027 "gram.y" /* yacc.c:1646 */
35551 : {
35552 : AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
35553 : n->objectType = OBJECT_SCHEMA;
35554 : n->object = (Node *) makeString((yyvsp[-3].str));
35555 : n->newowner = (yyvsp[0].rolespec);
35556 : (yyval.node) = (Node *)n;
35557 : }
35558 : #line 35559 "gram.c" /* yacc.c:1646 */
35559 1 : break;
35560 :
35561 : case 1327:
35562 : #line 9035 "gram.y" /* yacc.c:1646 */
35563 : {
35564 : AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
35565 : n->objectType = OBJECT_TYPE;
35566 : n->object = (Node *) (yyvsp[-3].list);
35567 : n->newowner = (yyvsp[0].rolespec);
35568 : (yyval.node) = (Node *)n;
35569 : }
35570 : #line 35571 "gram.c" /* yacc.c:1646 */
35571 0 : break;
35572 :
35573 : case 1328:
35574 : #line 9043 "gram.y" /* yacc.c:1646 */
35575 : {
35576 : AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
35577 : n->objectType = OBJECT_TABLESPACE;
35578 : n->object = (Node *) makeString((yyvsp[-3].str));
35579 : n->newowner = (yyvsp[0].rolespec);
35580 : (yyval.node) = (Node *)n;
35581 : }
35582 : #line 35583 "gram.c" /* yacc.c:1646 */
35583 1 : break;
35584 :
35585 : case 1329:
35586 : #line 9051 "gram.y" /* yacc.c:1646 */
35587 : {
35588 : AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
35589 : n->objectType = OBJECT_STATISTIC_EXT;
35590 : n->object = (Node *) (yyvsp[-3].list);
35591 : n->newowner = (yyvsp[0].rolespec);
35592 : (yyval.node) = (Node *)n;
35593 : }
35594 : #line 35595 "gram.c" /* yacc.c:1646 */
35595 4 : break;
35596 :
35597 : case 1330:
35598 : #line 9059 "gram.y" /* yacc.c:1646 */
35599 : {
35600 : AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
35601 : n->objectType = OBJECT_TSDICTIONARY;
35602 : n->object = (Node *) (yyvsp[-3].list);
35603 : n->newowner = (yyvsp[0].rolespec);
35604 : (yyval.node) = (Node *)n;
35605 : }
35606 : #line 35607 "gram.c" /* yacc.c:1646 */
35607 4 : break;
35608 :
35609 : case 1331:
35610 : #line 9067 "gram.y" /* yacc.c:1646 */
35611 : {
35612 : AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
35613 : n->objectType = OBJECT_TSCONFIGURATION;
35614 : n->object = (Node *) (yyvsp[-3].list);
35615 : n->newowner = (yyvsp[0].rolespec);
35616 : (yyval.node) = (Node *)n;
35617 : }
35618 : #line 35619 "gram.c" /* yacc.c:1646 */
35619 4 : break;
35620 :
35621 : case 1332:
35622 : #line 9075 "gram.y" /* yacc.c:1646 */
35623 : {
35624 : AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
35625 : n->objectType = OBJECT_FDW;
35626 : n->object = (Node *) makeString((yyvsp[-3].str));
35627 : n->newowner = (yyvsp[0].rolespec);
35628 : (yyval.node) = (Node *)n;
35629 : }
35630 : #line 35631 "gram.c" /* yacc.c:1646 */
35631 3 : break;
35632 :
35633 : case 1333:
35634 : #line 9083 "gram.y" /* yacc.c:1646 */
35635 : {
35636 : AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
35637 : n->objectType = OBJECT_FOREIGN_SERVER;
35638 : n->object = (Node *) makeString((yyvsp[-3].str));
35639 : n->newowner = (yyvsp[0].rolespec);
35640 : (yyval.node) = (Node *)n;
35641 : }
35642 : #line 35643 "gram.c" /* yacc.c:1646 */
35643 11 : break;
35644 :
35645 : case 1334:
35646 : #line 9091 "gram.y" /* yacc.c:1646 */
35647 : {
35648 : AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
35649 : n->objectType = OBJECT_EVENT_TRIGGER;
35650 : n->object = (Node *) makeString((yyvsp[-3].str));
35651 : n->newowner = (yyvsp[0].rolespec);
35652 : (yyval.node) = (Node *)n;
35653 : }
35654 : #line 35655 "gram.c" /* yacc.c:1646 */
35655 2 : break;
35656 :
35657 : case 1335:
35658 : #line 9099 "gram.y" /* yacc.c:1646 */
35659 : {
35660 : AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
35661 : n->objectType = OBJECT_PUBLICATION;
35662 : n->object = (Node *) makeString((yyvsp[-3].str));
35663 : n->newowner = (yyvsp[0].rolespec);
35664 : (yyval.node) = (Node *)n;
35665 : }
35666 : #line 35667 "gram.c" /* yacc.c:1646 */
35667 1 : break;
35668 :
35669 : case 1336:
35670 : #line 9107 "gram.y" /* yacc.c:1646 */
35671 : {
35672 : AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
35673 : n->objectType = OBJECT_SUBSCRIPTION;
35674 : n->object = (Node *) makeString((yyvsp[-3].str));
35675 : n->newowner = (yyvsp[0].rolespec);
35676 : (yyval.node) = (Node *)n;
35677 : }
35678 : #line 35679 "gram.c" /* yacc.c:1646 */
35679 2 : break;
35680 :
35681 : case 1337:
35682 : #line 9125 "gram.y" /* yacc.c:1646 */
35683 : {
35684 : CreatePublicationStmt *n = makeNode(CreatePublicationStmt);
35685 : n->pubname = (yyvsp[-2].str);
35686 : n->options = (yyvsp[0].list);
35687 : if ((yyvsp[-1].node) != NULL)
35688 : {
35689 : /* FOR TABLE */
35690 : if (IsA((yyvsp[-1].node), List))
35691 : n->tables = (List *)(yyvsp[-1].node);
35692 : /* FOR ALL TABLES */
35693 : else
35694 : n->for_all_tables = TRUE;
35695 : }
35696 : (yyval.node) = (Node *)n;
35697 : }
35698 : #line 35699 "gram.c" /* yacc.c:1646 */
35699 13 : break;
35700 :
35701 : case 1338:
35702 : #line 9143 "gram.y" /* yacc.c:1646 */
35703 : { (yyval.node) = (yyvsp[0].node); }
35704 : #line 35705 "gram.c" /* yacc.c:1646 */
35705 7 : break;
35706 :
35707 : case 1339:
35708 : #line 9144 "gram.y" /* yacc.c:1646 */
35709 : { (yyval.node) = NULL; }
35710 : #line 35711 "gram.c" /* yacc.c:1646 */
35711 6 : break;
35712 :
35713 : case 1340:
35714 : #line 9149 "gram.y" /* yacc.c:1646 */
35715 : {
35716 : (yyval.node) = (Node *) (yyvsp[0].list);
35717 : }
35718 : #line 35719 "gram.c" /* yacc.c:1646 */
35719 6 : break;
35720 :
35721 : case 1341:
35722 : #line 9153 "gram.y" /* yacc.c:1646 */
35723 : {
35724 : (yyval.node) = (Node *) makeInteger(TRUE);
35725 : }
35726 : #line 35727 "gram.c" /* yacc.c:1646 */
35727 1 : break;
35728 :
35729 : case 1342:
35730 : #line 9173 "gram.y" /* yacc.c:1646 */
35731 : {
35732 : AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
35733 : n->pubname = (yyvsp[-2].str);
35734 : n->options = (yyvsp[0].list);
35735 : (yyval.node) = (Node *)n;
35736 : }
35737 : #line 35738 "gram.c" /* yacc.c:1646 */
35738 3 : break;
35739 :
35740 : case 1343:
35741 : #line 9180 "gram.y" /* yacc.c:1646 */
35742 : {
35743 : AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
35744 : n->pubname = (yyvsp[-3].str);
35745 : n->tables = (yyvsp[0].list);
35746 : n->tableAction = DEFELEM_ADD;
35747 : (yyval.node) = (Node *)n;
35748 : }
35749 : #line 35750 "gram.c" /* yacc.c:1646 */
35750 9 : break;
35751 :
35752 : case 1344:
35753 : #line 9188 "gram.y" /* yacc.c:1646 */
35754 : {
35755 : AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
35756 : n->pubname = (yyvsp[-3].str);
35757 : n->tables = (yyvsp[0].list);
35758 : n->tableAction = DEFELEM_SET;
35759 : (yyval.node) = (Node *)n;
35760 : }
35761 : #line 35762 "gram.c" /* yacc.c:1646 */
35762 2 : break;
35763 :
35764 : case 1345:
35765 : #line 9196 "gram.y" /* yacc.c:1646 */
35766 : {
35767 : AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
35768 : n->pubname = (yyvsp[-3].str);
35769 : n->tables = (yyvsp[0].list);
35770 : n->tableAction = DEFELEM_DROP;
35771 : (yyval.node) = (Node *)n;
35772 : }
35773 : #line 35774 "gram.c" /* yacc.c:1646 */
35774 3 : break;
35775 :
35776 : case 1346:
35777 : #line 9213 "gram.y" /* yacc.c:1646 */
35778 : {
35779 : CreateSubscriptionStmt *n =
35780 : makeNode(CreateSubscriptionStmt);
35781 : n->subname = (yyvsp[-5].str);
35782 : n->conninfo = (yyvsp[-3].str);
35783 : n->publication = (yyvsp[-1].list);
35784 : n->options = (yyvsp[0].list);
35785 : (yyval.node) = (Node *)n;
35786 : }
35787 : #line 35788 "gram.c" /* yacc.c:1646 */
35788 16 : break;
35789 :
35790 : case 1347:
35791 : #line 9226 "gram.y" /* yacc.c:1646 */
35792 : {
35793 : (yyval.list) = list_make1((yyvsp[0].value));
35794 : }
35795 : #line 35796 "gram.c" /* yacc.c:1646 */
35796 17 : break;
35797 :
35798 : case 1348:
35799 : #line 9230 "gram.y" /* yacc.c:1646 */
35800 : {
35801 : (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].value));
35802 : }
35803 : #line 35804 "gram.c" /* yacc.c:1646 */
35804 3 : break;
35805 :
35806 : case 1349:
35807 : #line 9236 "gram.y" /* yacc.c:1646 */
35808 : { (yyval.value) = makeString((yyvsp[0].str)); }
35809 : #line 35810 "gram.c" /* yacc.c:1646 */
35810 20 : break;
35811 :
35812 : case 1350:
35813 : #line 9246 "gram.y" /* yacc.c:1646 */
35814 : {
35815 : AlterSubscriptionStmt *n =
35816 : makeNode(AlterSubscriptionStmt);
35817 : n->kind = ALTER_SUBSCRIPTION_OPTIONS;
35818 : n->subname = (yyvsp[-2].str);
35819 : n->options = (yyvsp[0].list);
35820 : (yyval.node) = (Node *)n;
35821 : }
35822 : #line 35823 "gram.c" /* yacc.c:1646 */
35823 5 : break;
35824 :
35825 : case 1351:
35826 : #line 9255 "gram.y" /* yacc.c:1646 */
35827 : {
35828 : AlterSubscriptionStmt *n =
35829 : makeNode(AlterSubscriptionStmt);
35830 : n->kind = ALTER_SUBSCRIPTION_CONNECTION;
35831 : n->subname = (yyvsp[-2].str);
35832 : n->conninfo = (yyvsp[0].str);
35833 : (yyval.node) = (Node *)n;
35834 : }
35835 : #line 35836 "gram.c" /* yacc.c:1646 */
35836 3 : break;
35837 :
35838 : case 1352:
35839 : #line 9264 "gram.y" /* yacc.c:1646 */
35840 : {
35841 : AlterSubscriptionStmt *n =
35842 : makeNode(AlterSubscriptionStmt);
35843 : n->kind = ALTER_SUBSCRIPTION_REFRESH;
35844 : n->subname = (yyvsp[-3].str);
35845 : n->options = (yyvsp[0].list);
35846 : (yyval.node) = (Node *)n;
35847 : }
35848 : #line 35849 "gram.c" /* yacc.c:1646 */
35849 1 : break;
35850 :
35851 : case 1353:
35852 : #line 9273 "gram.y" /* yacc.c:1646 */
35853 : {
35854 : AlterSubscriptionStmt *n =
35855 : makeNode(AlterSubscriptionStmt);
35856 : n->kind = ALTER_SUBSCRIPTION_PUBLICATION;
35857 : n->subname = (yyvsp[-4].str);
35858 : n->publication = (yyvsp[-1].list);
35859 : n->options = (yyvsp[0].list);
35860 : (yyval.node) = (Node *)n;
35861 : }
35862 : #line 35863 "gram.c" /* yacc.c:1646 */
35863 1 : break;
35864 :
35865 : case 1354:
35866 : #line 9283 "gram.y" /* yacc.c:1646 */
35867 : {
35868 : AlterSubscriptionStmt *n =
35869 : makeNode(AlterSubscriptionStmt);
35870 : n->kind = ALTER_SUBSCRIPTION_ENABLED;
35871 : n->subname = (yyvsp[-1].str);
35872 : n->options = list_make1(makeDefElem("enabled",
35873 : (Node *)makeInteger(TRUE), (yylsp[-3])));
35874 : (yyval.node) = (Node *)n;
35875 : }
35876 : #line 35877 "gram.c" /* yacc.c:1646 */
35877 2 : break;
35878 :
35879 : case 1355:
35880 : #line 9293 "gram.y" /* yacc.c:1646 */
35881 : {
35882 : AlterSubscriptionStmt *n =
35883 : makeNode(AlterSubscriptionStmt);
35884 : n->kind = ALTER_SUBSCRIPTION_ENABLED;
35885 : n->subname = (yyvsp[-1].str);
35886 : n->options = list_make1(makeDefElem("enabled",
35887 : (Node *)makeInteger(FALSE), (yylsp[-3])));
35888 : (yyval.node) = (Node *)n;
35889 : }
35890 : #line 35891 "gram.c" /* yacc.c:1646 */
35891 1 : break;
35892 :
35893 : case 1356:
35894 : #line 9311 "gram.y" /* yacc.c:1646 */
35895 : {
35896 : DropSubscriptionStmt *n = makeNode(DropSubscriptionStmt);
35897 : n->subname = (yyvsp[-1].str);
35898 : n->missing_ok = false;
35899 : n->behavior = (yyvsp[0].dbehavior);
35900 : (yyval.node) = (Node *) n;
35901 : }
35902 : #line 35903 "gram.c" /* yacc.c:1646 */
35903 5 : break;
35904 :
35905 : case 1357:
35906 : #line 9319 "gram.y" /* yacc.c:1646 */
35907 : {
35908 : DropSubscriptionStmt *n = makeNode(DropSubscriptionStmt);
35909 : n->subname = (yyvsp[-1].str);
35910 : n->missing_ok = true;
35911 : n->behavior = (yyvsp[0].dbehavior);
35912 : (yyval.node) = (Node *) n;
35913 : }
35914 : #line 35915 "gram.c" /* yacc.c:1646 */
35915 1 : break;
35916 :
35917 : case 1358:
35918 : #line 9337 "gram.y" /* yacc.c:1646 */
35919 : {
35920 : RuleStmt *n = makeNode(RuleStmt);
35921 : n->replace = (yyvsp[-11].boolean);
35922 : n->relation = (yyvsp[-4].range);
35923 : n->rulename = (yyvsp[-9].str);
35924 : n->whereClause = (yyvsp[-3].node);
35925 : n->event = (yyvsp[-6].ival);
35926 : n->instead = (yyvsp[-1].boolean);
35927 : n->actions = (yyvsp[0].list);
35928 : (yyval.node) = (Node *)n;
35929 : }
35930 : #line 35931 "gram.c" /* yacc.c:1646 */
35931 101 : break;
35932 :
35933 : case 1359:
35934 : #line 9351 "gram.y" /* yacc.c:1646 */
35935 : { (yyval.list) = NIL; }
35936 : #line 35937 "gram.c" /* yacc.c:1646 */
35937 8 : break;
35938 :
35939 : case 1360:
35940 : #line 9352 "gram.y" /* yacc.c:1646 */
35941 : { (yyval.list) = list_make1((yyvsp[0].node)); }
35942 : #line 35943 "gram.c" /* yacc.c:1646 */
35943 87 : break;
35944 :
35945 : case 1361:
35946 : #line 9353 "gram.y" /* yacc.c:1646 */
35947 : { (yyval.list) = (yyvsp[-1].list); }
35948 : #line 35949 "gram.c" /* yacc.c:1646 */
35949 6 : break;
35950 :
35951 : case 1362:
35952 : #line 9359 "gram.y" /* yacc.c:1646 */
35953 : { if ((yyvsp[0].node) != NULL)
35954 : (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
35955 : else
35956 : (yyval.list) = (yyvsp[-2].list);
35957 : }
35958 : #line 35959 "gram.c" /* yacc.c:1646 */
35959 8 : break;
35960 :
35961 : case 1363:
35962 : #line 9365 "gram.y" /* yacc.c:1646 */
35963 : { if ((yyvsp[0].node) != NULL)
35964 : (yyval.list) = list_make1((yyvsp[0].node));
35965 : else
35966 : (yyval.list) = NIL;
35967 : }
35968 : #line 35969 "gram.c" /* yacc.c:1646 */
35969 6 : break;
35970 :
35971 : case 1369:
35972 : #line 9381 "gram.y" /* yacc.c:1646 */
35973 : { (yyval.node) = (yyvsp[0].node); }
35974 : #line 35975 "gram.c" /* yacc.c:1646 */
35975 12 : break;
35976 :
35977 : case 1370:
35978 : #line 9382 "gram.y" /* yacc.c:1646 */
35979 : { (yyval.node) = NULL; }
35980 : #line 35981 "gram.c" /* yacc.c:1646 */
35981 2 : break;
35982 :
35983 : case 1371:
35984 : #line 9385 "gram.y" /* yacc.c:1646 */
35985 : { (yyval.ival) = CMD_SELECT; }
35986 : #line 35987 "gram.c" /* yacc.c:1646 */
35987 6 : break;
35988 :
35989 : case 1372:
35990 : #line 9386 "gram.y" /* yacc.c:1646 */
35991 : { (yyval.ival) = CMD_UPDATE; }
35992 : #line 35993 "gram.c" /* yacc.c:1646 */
35993 26 : break;
35994 :
35995 : case 1373:
35996 : #line 9387 "gram.y" /* yacc.c:1646 */
35997 : { (yyval.ival) = CMD_DELETE; }
35998 : #line 35999 "gram.c" /* yacc.c:1646 */
35999 18 : break;
36000 :
36001 : case 1374:
36002 : #line 9388 "gram.y" /* yacc.c:1646 */
36003 : { (yyval.ival) = CMD_INSERT; }
36004 : #line 36005 "gram.c" /* yacc.c:1646 */
36005 51 : break;
36006 :
36007 : case 1375:
36008 : #line 9392 "gram.y" /* yacc.c:1646 */
36009 : { (yyval.boolean) = TRUE; }
36010 : #line 36011 "gram.c" /* yacc.c:1646 */
36011 78 : break;
36012 :
36013 : case 1376:
36014 : #line 9393 "gram.y" /* yacc.c:1646 */
36015 : { (yyval.boolean) = FALSE; }
36016 : #line 36017 "gram.c" /* yacc.c:1646 */
36017 13 : break;
36018 :
36019 : case 1377:
36020 : #line 9394 "gram.y" /* yacc.c:1646 */
36021 : { (yyval.boolean) = FALSE; }
36022 : #line 36023 "gram.c" /* yacc.c:1646 */
36023 10 : break;
36024 :
36025 : case 1378:
36026 : #line 9407 "gram.y" /* yacc.c:1646 */
36027 : {
36028 : NotifyStmt *n = makeNode(NotifyStmt);
36029 : n->conditionname = (yyvsp[-1].str);
36030 : n->payload = (yyvsp[0].str);
36031 : (yyval.node) = (Node *)n;
36032 : }
36033 : #line 36034 "gram.c" /* yacc.c:1646 */
36034 2 : break;
36035 :
36036 : case 1379:
36037 : #line 9416 "gram.y" /* yacc.c:1646 */
36038 : { (yyval.str) = (yyvsp[0].str); }
36039 : #line 36040 "gram.c" /* yacc.c:1646 */
36040 0 : break;
36041 :
36042 : case 1380:
36043 : #line 9417 "gram.y" /* yacc.c:1646 */
36044 : { (yyval.str) = NULL; }
36045 : #line 36046 "gram.c" /* yacc.c:1646 */
36046 2 : break;
36047 :
36048 : case 1381:
36049 : #line 9421 "gram.y" /* yacc.c:1646 */
36050 : {
36051 : ListenStmt *n = makeNode(ListenStmt);
36052 : n->conditionname = (yyvsp[0].str);
36053 : (yyval.node) = (Node *)n;
36054 : }
36055 : #line 36056 "gram.c" /* yacc.c:1646 */
36056 2 : break;
36057 :
36058 : case 1382:
36059 : #line 9430 "gram.y" /* yacc.c:1646 */
36060 : {
36061 : UnlistenStmt *n = makeNode(UnlistenStmt);
36062 : n->conditionname = (yyvsp[0].str);
36063 : (yyval.node) = (Node *)n;
36064 : }
36065 : #line 36066 "gram.c" /* yacc.c:1646 */
36066 1 : break;
36067 :
36068 : case 1383:
36069 : #line 9436 "gram.y" /* yacc.c:1646 */
36070 : {
36071 : UnlistenStmt *n = makeNode(UnlistenStmt);
36072 : n->conditionname = NULL;
36073 : (yyval.node) = (Node *)n;
36074 : }
36075 : #line 36076 "gram.c" /* yacc.c:1646 */
36076 1 : break;
36077 :
36078 : case 1384:
36079 : #line 9455 "gram.y" /* yacc.c:1646 */
36080 : {
36081 : TransactionStmt *n = makeNode(TransactionStmt);
36082 : n->kind = TRANS_STMT_ROLLBACK;
36083 : n->options = NIL;
36084 : (yyval.node) = (Node *)n;
36085 : }
36086 : #line 36087 "gram.c" /* yacc.c:1646 */
36087 4 : break;
36088 :
36089 : case 1385:
36090 : #line 9462 "gram.y" /* yacc.c:1646 */
36091 : {
36092 : TransactionStmt *n = makeNode(TransactionStmt);
36093 : n->kind = TRANS_STMT_BEGIN;
36094 : n->options = (yyvsp[0].list);
36095 : (yyval.node) = (Node *)n;
36096 : }
36097 : #line 36098 "gram.c" /* yacc.c:1646 */
36098 305 : break;
36099 :
36100 : case 1386:
36101 : #line 9469 "gram.y" /* yacc.c:1646 */
36102 : {
36103 : TransactionStmt *n = makeNode(TransactionStmt);
36104 : n->kind = TRANS_STMT_START;
36105 : n->options = (yyvsp[0].list);
36106 : (yyval.node) = (Node *)n;
36107 : }
36108 : #line 36109 "gram.c" /* yacc.c:1646 */
36109 3 : break;
36110 :
36111 : case 1387:
36112 : #line 9476 "gram.y" /* yacc.c:1646 */
36113 : {
36114 : TransactionStmt *n = makeNode(TransactionStmt);
36115 : n->kind = TRANS_STMT_COMMIT;
36116 : n->options = NIL;
36117 : (yyval.node) = (Node *)n;
36118 : }
36119 : #line 36120 "gram.c" /* yacc.c:1646 */
36120 147 : break;
36121 :
36122 : case 1388:
36123 : #line 9483 "gram.y" /* yacc.c:1646 */
36124 : {
36125 : TransactionStmt *n = makeNode(TransactionStmt);
36126 : n->kind = TRANS_STMT_COMMIT;
36127 : n->options = NIL;
36128 : (yyval.node) = (Node *)n;
36129 : }
36130 : #line 36131 "gram.c" /* yacc.c:1646 */
36131 15 : break;
36132 :
36133 : case 1389:
36134 : #line 9490 "gram.y" /* yacc.c:1646 */
36135 : {
36136 : TransactionStmt *n = makeNode(TransactionStmt);
36137 : n->kind = TRANS_STMT_ROLLBACK;
36138 : n->options = NIL;
36139 : (yyval.node) = (Node *)n;
36140 : }
36141 : #line 36142 "gram.c" /* yacc.c:1646 */
36142 137 : break;
36143 :
36144 : case 1390:
36145 : #line 9497 "gram.y" /* yacc.c:1646 */
36146 : {
36147 : TransactionStmt *n = makeNode(TransactionStmt);
36148 : n->kind = TRANS_STMT_SAVEPOINT;
36149 : n->options = list_make1(makeDefElem("savepoint_name",
36150 : (Node *)makeString((yyvsp[0].str)), (yylsp[-1])));
36151 : (yyval.node) = (Node *)n;
36152 : }
36153 : #line 36154 "gram.c" /* yacc.c:1646 */
36154 73 : break;
36155 :
36156 : case 1391:
36157 : #line 9505 "gram.y" /* yacc.c:1646 */
36158 : {
36159 : TransactionStmt *n = makeNode(TransactionStmt);
36160 : n->kind = TRANS_STMT_RELEASE;
36161 : n->options = list_make1(makeDefElem("savepoint_name",
36162 : (Node *)makeString((yyvsp[0].str)), (yylsp[-2])));
36163 : (yyval.node) = (Node *)n;
36164 : }
36165 : #line 36166 "gram.c" /* yacc.c:1646 */
36166 16 : break;
36167 :
36168 : case 1392:
36169 : #line 9513 "gram.y" /* yacc.c:1646 */
36170 : {
36171 : TransactionStmt *n = makeNode(TransactionStmt);
36172 : n->kind = TRANS_STMT_RELEASE;
36173 : n->options = list_make1(makeDefElem("savepoint_name",
36174 : (Node *)makeString((yyvsp[0].str)), (yylsp[-1])));
36175 : (yyval.node) = (Node *)n;
36176 : }
36177 : #line 36178 "gram.c" /* yacc.c:1646 */
36178 1 : break;
36179 :
36180 : case 1393:
36181 : #line 9521 "gram.y" /* yacc.c:1646 */
36182 : {
36183 : TransactionStmt *n = makeNode(TransactionStmt);
36184 : n->kind = TRANS_STMT_ROLLBACK_TO;
36185 : n->options = list_make1(makeDefElem("savepoint_name",
36186 : (Node *)makeString((yyvsp[0].str)), (yylsp[-4])));
36187 : (yyval.node) = (Node *)n;
36188 : }
36189 : #line 36190 "gram.c" /* yacc.c:1646 */
36190 22 : break;
36191 :
36192 : case 1394:
36193 : #line 9529 "gram.y" /* yacc.c:1646 */
36194 : {
36195 : TransactionStmt *n = makeNode(TransactionStmt);
36196 : n->kind = TRANS_STMT_ROLLBACK_TO;
36197 : n->options = list_make1(makeDefElem("savepoint_name",
36198 : (Node *)makeString((yyvsp[0].str)), (yylsp[-3])));
36199 : (yyval.node) = (Node *)n;
36200 : }
36201 : #line 36202 "gram.c" /* yacc.c:1646 */
36202 29 : break;
36203 :
36204 : case 1395:
36205 : #line 9537 "gram.y" /* yacc.c:1646 */
36206 : {
36207 : TransactionStmt *n = makeNode(TransactionStmt);
36208 : n->kind = TRANS_STMT_PREPARE;
36209 : n->gid = (yyvsp[0].str);
36210 : (yyval.node) = (Node *)n;
36211 : }
36212 : #line 36213 "gram.c" /* yacc.c:1646 */
36213 8 : break;
36214 :
36215 : case 1396:
36216 : #line 9544 "gram.y" /* yacc.c:1646 */
36217 : {
36218 : TransactionStmt *n = makeNode(TransactionStmt);
36219 : n->kind = TRANS_STMT_COMMIT_PREPARED;
36220 : n->gid = (yyvsp[0].str);
36221 : (yyval.node) = (Node *)n;
36222 : }
36223 : #line 36224 "gram.c" /* yacc.c:1646 */
36224 3 : break;
36225 :
36226 : case 1397:
36227 : #line 9551 "gram.y" /* yacc.c:1646 */
36228 : {
36229 : TransactionStmt *n = makeNode(TransactionStmt);
36230 : n->kind = TRANS_STMT_ROLLBACK_PREPARED;
36231 : n->gid = (yyvsp[0].str);
36232 : (yyval.node) = (Node *)n;
36233 : }
36234 : #line 36235 "gram.c" /* yacc.c:1646 */
36235 3 : break;
36236 :
36237 : case 1398:
36238 : #line 9559 "gram.y" /* yacc.c:1646 */
36239 : {}
36240 : #line 36241 "gram.c" /* yacc.c:1646 */
36241 2 : break;
36242 :
36243 : case 1399:
36244 : #line 9560 "gram.y" /* yacc.c:1646 */
36245 : {}
36246 : #line 36247 "gram.c" /* yacc.c:1646 */
36247 44 : break;
36248 :
36249 : case 1400:
36250 : #line 9561 "gram.y" /* yacc.c:1646 */
36251 : {}
36252 : #line 36253 "gram.c" /* yacc.c:1646 */
36253 613 : break;
36254 :
36255 : case 1401:
36256 : #line 9566 "gram.y" /* yacc.c:1646 */
36257 : { (yyval.defelt) = makeDefElem("transaction_isolation",
36258 : makeStringConst((yyvsp[0].str), (yylsp[0])), (yylsp[-2])); }
36259 : #line 36260 "gram.c" /* yacc.c:1646 */
36260 18 : break;
36261 :
36262 : case 1402:
36263 : #line 9569 "gram.y" /* yacc.c:1646 */
36264 : { (yyval.defelt) = makeDefElem("transaction_read_only",
36265 : makeIntConst(TRUE, (yylsp[-1])), (yylsp[-1])); }
36266 : #line 36267 "gram.c" /* yacc.c:1646 */
36267 12 : break;
36268 :
36269 : case 1403:
36270 : #line 9572 "gram.y" /* yacc.c:1646 */
36271 : { (yyval.defelt) = makeDefElem("transaction_read_only",
36272 : makeIntConst(FALSE, (yylsp[-1])), (yylsp[-1])); }
36273 : #line 36274 "gram.c" /* yacc.c:1646 */
36274 9 : break;
36275 :
36276 : case 1404:
36277 : #line 9575 "gram.y" /* yacc.c:1646 */
36278 : { (yyval.defelt) = makeDefElem("transaction_deferrable",
36279 : makeIntConst(TRUE, (yylsp[0])), (yylsp[0])); }
36280 : #line 36281 "gram.c" /* yacc.c:1646 */
36281 1 : break;
36282 :
36283 : case 1405:
36284 : #line 9578 "gram.y" /* yacc.c:1646 */
36285 : { (yyval.defelt) = makeDefElem("transaction_deferrable",
36286 : makeIntConst(FALSE, (yylsp[-1])), (yylsp[-1])); }
36287 : #line 36288 "gram.c" /* yacc.c:1646 */
36288 0 : break;
36289 :
36290 : case 1406:
36291 : #line 9585 "gram.y" /* yacc.c:1646 */
36292 : { (yyval.list) = list_make1((yyvsp[0].defelt)); }
36293 : #line 36294 "gram.c" /* yacc.c:1646 */
36294 38 : break;
36295 :
36296 : case 1407:
36297 : #line 9587 "gram.y" /* yacc.c:1646 */
36298 : { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
36299 : #line 36300 "gram.c" /* yacc.c:1646 */
36300 2 : break;
36301 :
36302 : case 1408:
36303 : #line 9589 "gram.y" /* yacc.c:1646 */
36304 : { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
36305 : #line 36306 "gram.c" /* yacc.c:1646 */
36306 0 : break;
36307 :
36308 : case 1410:
36309 : #line 9595 "gram.y" /* yacc.c:1646 */
36310 : { (yyval.list) = NIL; }
36311 : #line 36312 "gram.c" /* yacc.c:1646 */
36312 290 : break;
36313 :
36314 : case 1411:
36315 : #line 9609 "gram.y" /* yacc.c:1646 */
36316 : {
36317 : ViewStmt *n = makeNode(ViewStmt);
36318 : n->view = (yyvsp[-5].range);
36319 : n->view->relpersistence = (yyvsp[-7].ival);
36320 : n->aliases = (yyvsp[-4].list);
36321 : n->query = (yyvsp[-1].node);
36322 : n->replace = false;
36323 : n->options = (yyvsp[-3].list);
36324 : n->withCheckOption = (yyvsp[0].ival);
36325 : (yyval.node) = (Node *) n;
36326 : }
36327 : #line 36328 "gram.c" /* yacc.c:1646 */
36328 393 : break;
36329 :
36330 : case 1412:
36331 : #line 9622 "gram.y" /* yacc.c:1646 */
36332 : {
36333 : ViewStmt *n = makeNode(ViewStmt);
36334 : n->view = (yyvsp[-5].range);
36335 : n->view->relpersistence = (yyvsp[-7].ival);
36336 : n->aliases = (yyvsp[-4].list);
36337 : n->query = (yyvsp[-1].node);
36338 : n->replace = true;
36339 : n->options = (yyvsp[-3].list);
36340 : n->withCheckOption = (yyvsp[0].ival);
36341 : (yyval.node) = (Node *) n;
36342 : }
36343 : #line 36344 "gram.c" /* yacc.c:1646 */
36344 25 : break;
36345 :
36346 : case 1413:
36347 : #line 9635 "gram.y" /* yacc.c:1646 */
36348 : {
36349 : ViewStmt *n = makeNode(ViewStmt);
36350 : n->view = (yyvsp[-7].range);
36351 : n->view->relpersistence = (yyvsp[-10].ival);
36352 : n->aliases = (yyvsp[-5].list);
36353 : n->query = makeRecursiveViewSelect(n->view->relname, n->aliases, (yyvsp[-1].node));
36354 : n->replace = false;
36355 : n->options = (yyvsp[-3].list);
36356 : n->withCheckOption = (yyvsp[0].ival);
36357 : if (n->withCheckOption != NO_CHECK_OPTION)
36358 : ereport(ERROR,
36359 : (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
36360 : errmsg("WITH CHECK OPTION not supported on recursive views"),
36361 : parser_errposition((yylsp[0]))));
36362 : (yyval.node) = (Node *) n;
36363 : }
36364 : #line 36365 "gram.c" /* yacc.c:1646 */
36365 1 : break;
36366 :
36367 : case 1414:
36368 : #line 9653 "gram.y" /* yacc.c:1646 */
36369 : {
36370 : ViewStmt *n = makeNode(ViewStmt);
36371 : n->view = (yyvsp[-7].range);
36372 : n->view->relpersistence = (yyvsp[-10].ival);
36373 : n->aliases = (yyvsp[-5].list);
36374 : n->query = makeRecursiveViewSelect(n->view->relname, n->aliases, (yyvsp[-1].node));
36375 : n->replace = true;
36376 : n->options = (yyvsp[-3].list);
36377 : n->withCheckOption = (yyvsp[0].ival);
36378 : if (n->withCheckOption != NO_CHECK_OPTION)
36379 : ereport(ERROR,
36380 : (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
36381 : errmsg("WITH CHECK OPTION not supported on recursive views"),
36382 : parser_errposition((yylsp[0]))));
36383 : (yyval.node) = (Node *) n;
36384 : }
36385 : #line 36386 "gram.c" /* yacc.c:1646 */
36386 1 : break;
36387 :
36388 : case 1415:
36389 : #line 9672 "gram.y" /* yacc.c:1646 */
36390 : { (yyval.ival) = CASCADED_CHECK_OPTION; }
36391 : #line 36392 "gram.c" /* yacc.c:1646 */
36392 13 : break;
36393 :
36394 : case 1416:
36395 : #line 9673 "gram.y" /* yacc.c:1646 */
36396 : { (yyval.ival) = CASCADED_CHECK_OPTION; }
36397 : #line 36398 "gram.c" /* yacc.c:1646 */
36398 1 : break;
36399 :
36400 : case 1417:
36401 : #line 9674 "gram.y" /* yacc.c:1646 */
36402 : { (yyval.ival) = LOCAL_CHECK_OPTION; }
36403 : #line 36404 "gram.c" /* yacc.c:1646 */
36404 4 : break;
36405 :
36406 : case 1418:
36407 : #line 9675 "gram.y" /* yacc.c:1646 */
36408 : { (yyval.ival) = NO_CHECK_OPTION; }
36409 : #line 36410 "gram.c" /* yacc.c:1646 */
36410 402 : break;
36411 :
36412 : case 1419:
36413 : #line 9686 "gram.y" /* yacc.c:1646 */
36414 : {
36415 : LoadStmt *n = makeNode(LoadStmt);
36416 : n->filename = (yyvsp[0].str);
36417 : (yyval.node) = (Node *)n;
36418 : }
36419 : #line 36420 "gram.c" /* yacc.c:1646 */
36420 1 : break;
36421 :
36422 : case 1420:
36423 : #line 9702 "gram.y" /* yacc.c:1646 */
36424 : {
36425 : CreatedbStmt *n = makeNode(CreatedbStmt);
36426 : n->dbname = (yyvsp[-2].str);
36427 : n->options = (yyvsp[0].list);
36428 : (yyval.node) = (Node *)n;
36429 : }
36430 : #line 36431 "gram.c" /* yacc.c:1646 */
36431 3 : break;
36432 :
36433 : case 1421:
36434 : #line 9711 "gram.y" /* yacc.c:1646 */
36435 : { (yyval.list) = (yyvsp[0].list); }
36436 : #line 36437 "gram.c" /* yacc.c:1646 */
36437 2 : break;
36438 :
36439 : case 1422:
36440 : #line 9712 "gram.y" /* yacc.c:1646 */
36441 : { (yyval.list) = NIL; }
36442 : #line 36443 "gram.c" /* yacc.c:1646 */
36443 1 : break;
36444 :
36445 : case 1423:
36446 : #line 9716 "gram.y" /* yacc.c:1646 */
36447 : { (yyval.list) = list_make1((yyvsp[0].defelt)); }
36448 : #line 36449 "gram.c" /* yacc.c:1646 */
36449 2 : break;
36450 :
36451 : case 1424:
36452 : #line 9717 "gram.y" /* yacc.c:1646 */
36453 : { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
36454 : #line 36455 "gram.c" /* yacc.c:1646 */
36455 1 : break;
36456 :
36457 : case 1425:
36458 : #line 9722 "gram.y" /* yacc.c:1646 */
36459 : {
36460 : (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *)makeInteger((yyvsp[0].ival)), (yylsp[-2]));
36461 : }
36462 : #line 36463 "gram.c" /* yacc.c:1646 */
36463 0 : break;
36464 :
36465 : case 1426:
36466 : #line 9726 "gram.y" /* yacc.c:1646 */
36467 : {
36468 : (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
36469 : }
36470 : #line 36471 "gram.c" /* yacc.c:1646 */
36471 3 : break;
36472 :
36473 : case 1427:
36474 : #line 9730 "gram.y" /* yacc.c:1646 */
36475 : {
36476 : (yyval.defelt) = makeDefElem((yyvsp[-2].str), NULL, (yylsp[-2]));
36477 : }
36478 : #line 36479 "gram.c" /* yacc.c:1646 */
36479 0 : break;
36480 :
36481 : case 1428:
36482 : #line 9747 "gram.y" /* yacc.c:1646 */
36483 : { (yyval.str) = (yyvsp[0].str); }
36484 : #line 36485 "gram.c" /* yacc.c:1646 */
36485 2 : break;
36486 :
36487 : case 1429:
36488 : #line 9748 "gram.y" /* yacc.c:1646 */
36489 : { (yyval.str) = pstrdup("connection_limit"); }
36490 : #line 36491 "gram.c" /* yacc.c:1646 */
36491 0 : break;
36492 :
36493 : case 1430:
36494 : #line 9749 "gram.y" /* yacc.c:1646 */
36495 : { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
36496 : #line 36497 "gram.c" /* yacc.c:1646 */
36497 0 : break;
36498 :
36499 : case 1431:
36500 : #line 9750 "gram.y" /* yacc.c:1646 */
36501 : { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
36502 : #line 36503 "gram.c" /* yacc.c:1646 */
36503 0 : break;
36504 :
36505 : case 1432:
36506 : #line 9751 "gram.y" /* yacc.c:1646 */
36507 : { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
36508 : #line 36509 "gram.c" /* yacc.c:1646 */
36509 0 : break;
36510 :
36511 : case 1433:
36512 : #line 9752 "gram.y" /* yacc.c:1646 */
36513 : { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
36514 : #line 36515 "gram.c" /* yacc.c:1646 */
36515 0 : break;
36516 :
36517 : case 1434:
36518 : #line 9753 "gram.y" /* yacc.c:1646 */
36519 : { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
36520 : #line 36521 "gram.c" /* yacc.c:1646 */
36521 1 : break;
36522 :
36523 : case 1435:
36524 : #line 9760 "gram.y" /* yacc.c:1646 */
36525 : {}
36526 : #line 36527 "gram.c" /* yacc.c:1646 */
36527 3 : break;
36528 :
36529 : case 1436:
36530 : #line 9761 "gram.y" /* yacc.c:1646 */
36531 : {}
36532 : #line 36533 "gram.c" /* yacc.c:1646 */
36533 0 : break;
36534 :
36535 : case 1437:
36536 : #line 9773 "gram.y" /* yacc.c:1646 */
36537 : {
36538 : AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
36539 : n->dbname = (yyvsp[-2].str);
36540 : n->options = (yyvsp[0].list);
36541 : (yyval.node) = (Node *)n;
36542 : }
36543 : #line 36544 "gram.c" /* yacc.c:1646 */
36544 0 : break;
36545 :
36546 : case 1438:
36547 : #line 9780 "gram.y" /* yacc.c:1646 */
36548 : {
36549 : AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
36550 : n->dbname = (yyvsp[-1].str);
36551 : n->options = (yyvsp[0].list);
36552 : (yyval.node) = (Node *)n;
36553 : }
36554 : #line 36555 "gram.c" /* yacc.c:1646 */
36555 0 : break;
36556 :
36557 : case 1439:
36558 : #line 9787 "gram.y" /* yacc.c:1646 */
36559 : {
36560 : AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
36561 : n->dbname = (yyvsp[-3].str);
36562 : n->options = list_make1(makeDefElem("tablespace",
36563 : (Node *)makeString((yyvsp[0].str)), (yylsp[0])));
36564 : (yyval.node) = (Node *)n;
36565 : }
36566 : #line 36567 "gram.c" /* yacc.c:1646 */
36567 0 : break;
36568 :
36569 : case 1440:
36570 : #line 9798 "gram.y" /* yacc.c:1646 */
36571 : {
36572 : AlterDatabaseSetStmt *n = makeNode(AlterDatabaseSetStmt);
36573 : n->dbname = (yyvsp[-1].str);
36574 : n->setstmt = (yyvsp[0].vsetstmt);
36575 : (yyval.node) = (Node *)n;
36576 : }
36577 : #line 36578 "gram.c" /* yacc.c:1646 */
36578 6 : break;
36579 :
36580 : case 1441:
36581 : #line 9815 "gram.y" /* yacc.c:1646 */
36582 : {
36583 : DropdbStmt *n = makeNode(DropdbStmt);
36584 : n->dbname = (yyvsp[0].str);
36585 : n->missing_ok = FALSE;
36586 : (yyval.node) = (Node *)n;
36587 : }
36588 : #line 36589 "gram.c" /* yacc.c:1646 */
36589 0 : break;
36590 :
36591 : case 1442:
36592 : #line 9822 "gram.y" /* yacc.c:1646 */
36593 : {
36594 : DropdbStmt *n = makeNode(DropdbStmt);
36595 : n->dbname = (yyvsp[0].str);
36596 : n->missing_ok = TRUE;
36597 : (yyval.node) = (Node *)n;
36598 : }
36599 : #line 36600 "gram.c" /* yacc.c:1646 */
36600 0 : break;
36601 :
36602 : case 1443:
36603 : #line 9838 "gram.y" /* yacc.c:1646 */
36604 : {
36605 : AlterCollationStmt *n = makeNode(AlterCollationStmt);
36606 : n->collname = (yyvsp[-2].list);
36607 : (yyval.node) = (Node *)n;
36608 : }
36609 : #line 36610 "gram.c" /* yacc.c:1646 */
36610 0 : break;
36611 :
36612 : case 1444:
36613 : #line 9855 "gram.y" /* yacc.c:1646 */
36614 : {
36615 : AlterSystemStmt *n = makeNode(AlterSystemStmt);
36616 : n->setstmt = (yyvsp[0].vsetstmt);
36617 : (yyval.node) = (Node *)n;
36618 : }
36619 : #line 36620 "gram.c" /* yacc.c:1646 */
36620 0 : break;
36621 :
36622 : case 1445:
36623 : #line 9861 "gram.y" /* yacc.c:1646 */
36624 : {
36625 : AlterSystemStmt *n = makeNode(AlterSystemStmt);
36626 : n->setstmt = (yyvsp[0].vsetstmt);
36627 : (yyval.node) = (Node *)n;
36628 : }
36629 : #line 36630 "gram.c" /* yacc.c:1646 */
36630 0 : break;
36631 :
36632 : case 1446:
36633 : #line 9877 "gram.y" /* yacc.c:1646 */
36634 : {
36635 : CreateDomainStmt *n = makeNode(CreateDomainStmt);
36636 : n->domainname = (yyvsp[-3].list);
36637 : n->typeName = (yyvsp[-1].typnam);
36638 : SplitColQualList((yyvsp[0].list), &n->constraints, &n->collClause,
36639 : yyscanner);
36640 : (yyval.node) = (Node *)n;
36641 : }
36642 : #line 36643 "gram.c" /* yacc.c:1646 */
36643 77 : break;
36644 :
36645 : case 1447:
36646 : #line 9890 "gram.y" /* yacc.c:1646 */
36647 : {
36648 : AlterDomainStmt *n = makeNode(AlterDomainStmt);
36649 : n->subtype = 'T';
36650 : n->typeName = (yyvsp[-1].list);
36651 : n->def = (yyvsp[0].node);
36652 : (yyval.node) = (Node *)n;
36653 : }
36654 : #line 36655 "gram.c" /* yacc.c:1646 */
36655 2 : break;
36656 :
36657 : case 1448:
36658 : #line 9899 "gram.y" /* yacc.c:1646 */
36659 : {
36660 : AlterDomainStmt *n = makeNode(AlterDomainStmt);
36661 : n->subtype = 'N';
36662 : n->typeName = (yyvsp[-3].list);
36663 : (yyval.node) = (Node *)n;
36664 : }
36665 : #line 36666 "gram.c" /* yacc.c:1646 */
36666 2 : break;
36667 :
36668 : case 1449:
36669 : #line 9907 "gram.y" /* yacc.c:1646 */
36670 : {
36671 : AlterDomainStmt *n = makeNode(AlterDomainStmt);
36672 : n->subtype = 'O';
36673 : n->typeName = (yyvsp[-3].list);
36674 : (yyval.node) = (Node *)n;
36675 : }
36676 : #line 36677 "gram.c" /* yacc.c:1646 */
36677 4 : break;
36678 :
36679 : case 1450:
36680 : #line 9915 "gram.y" /* yacc.c:1646 */
36681 : {
36682 : AlterDomainStmt *n = makeNode(AlterDomainStmt);
36683 : n->subtype = 'C';
36684 : n->typeName = (yyvsp[-2].list);
36685 : n->def = (yyvsp[0].node);
36686 : (yyval.node) = (Node *)n;
36687 : }
36688 : #line 36689 "gram.c" /* yacc.c:1646 */
36689 16 : break;
36690 :
36691 : case 1451:
36692 : #line 9924 "gram.y" /* yacc.c:1646 */
36693 : {
36694 : AlterDomainStmt *n = makeNode(AlterDomainStmt);
36695 : n->subtype = 'X';
36696 : n->typeName = (yyvsp[-4].list);
36697 : n->name = (yyvsp[-1].str);
36698 : n->behavior = (yyvsp[0].dbehavior);
36699 : n->missing_ok = false;
36700 : (yyval.node) = (Node *)n;
36701 : }
36702 : #line 36703 "gram.c" /* yacc.c:1646 */
36703 5 : break;
36704 :
36705 : case 1452:
36706 : #line 9935 "gram.y" /* yacc.c:1646 */
36707 : {
36708 : AlterDomainStmt *n = makeNode(AlterDomainStmt);
36709 : n->subtype = 'X';
36710 : n->typeName = (yyvsp[-6].list);
36711 : n->name = (yyvsp[-1].str);
36712 : n->behavior = (yyvsp[0].dbehavior);
36713 : n->missing_ok = true;
36714 : (yyval.node) = (Node *)n;
36715 : }
36716 : #line 36717 "gram.c" /* yacc.c:1646 */
36717 1 : break;
36718 :
36719 : case 1453:
36720 : #line 9946 "gram.y" /* yacc.c:1646 */
36721 : {
36722 : AlterDomainStmt *n = makeNode(AlterDomainStmt);
36723 : n->subtype = 'V';
36724 : n->typeName = (yyvsp[-3].list);
36725 : n->name = (yyvsp[0].str);
36726 : (yyval.node) = (Node *)n;
36727 : }
36728 : #line 36729 "gram.c" /* yacc.c:1646 */
36729 2 : break;
36730 :
36731 : case 1454:
36732 : #line 9955 "gram.y" /* yacc.c:1646 */
36733 : {}
36734 : #line 36735 "gram.c" /* yacc.c:1646 */
36735 120 : break;
36736 :
36737 : case 1455:
36738 : #line 9956 "gram.y" /* yacc.c:1646 */
36739 : {}
36740 : #line 36741 "gram.c" /* yacc.c:1646 */
36741 50 : break;
36742 :
36743 : case 1456:
36744 : #line 9968 "gram.y" /* yacc.c:1646 */
36745 : {
36746 : AlterTSDictionaryStmt *n = makeNode(AlterTSDictionaryStmt);
36747 : n->dictname = (yyvsp[-1].list);
36748 : n->options = (yyvsp[0].list);
36749 : (yyval.node) = (Node *)n;
36750 : }
36751 : #line 36752 "gram.c" /* yacc.c:1646 */
36752 0 : break;
36753 :
36754 : case 1457:
36755 : #line 9978 "gram.y" /* yacc.c:1646 */
36756 : {
36757 : AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
36758 : n->kind = ALTER_TSCONFIG_ADD_MAPPING;
36759 : n->cfgname = (yyvsp[-6].list);
36760 : n->tokentype = (yyvsp[-2].list);
36761 : n->dicts = (yyvsp[0].list);
36762 : n->override = false;
36763 : n->replace = false;
36764 : (yyval.node) = (Node*)n;
36765 : }
36766 : #line 36767 "gram.c" /* yacc.c:1646 */
36767 45 : break;
36768 :
36769 : case 1458:
36770 : #line 9989 "gram.y" /* yacc.c:1646 */
36771 : {
36772 : AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
36773 : n->kind = ALTER_TSCONFIG_ALTER_MAPPING_FOR_TOKEN;
36774 : n->cfgname = (yyvsp[-6].list);
36775 : n->tokentype = (yyvsp[-2].list);
36776 : n->dicts = (yyvsp[0].list);
36777 : n->override = true;
36778 : n->replace = false;
36779 : (yyval.node) = (Node*)n;
36780 : }
36781 : #line 36782 "gram.c" /* yacc.c:1646 */
36782 3 : break;
36783 :
36784 : case 1459:
36785 : #line 10000 "gram.y" /* yacc.c:1646 */
36786 : {
36787 : AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
36788 : n->kind = ALTER_TSCONFIG_REPLACE_DICT;
36789 : n->cfgname = (yyvsp[-6].list);
36790 : n->tokentype = NIL;
36791 : n->dicts = list_make2((yyvsp[-2].list),(yyvsp[0].list));
36792 : n->override = false;
36793 : n->replace = true;
36794 : (yyval.node) = (Node*)n;
36795 : }
36796 : #line 36797 "gram.c" /* yacc.c:1646 */
36797 3 : break;
36798 :
36799 : case 1460:
36800 : #line 10011 "gram.y" /* yacc.c:1646 */
36801 : {
36802 : AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
36803 : n->kind = ALTER_TSCONFIG_REPLACE_DICT_FOR_TOKEN;
36804 : n->cfgname = (yyvsp[-8].list);
36805 : n->tokentype = (yyvsp[-4].list);
36806 : n->dicts = list_make2((yyvsp[-2].list),(yyvsp[0].list));
36807 : n->override = false;
36808 : n->replace = true;
36809 : (yyval.node) = (Node*)n;
36810 : }
36811 : #line 36812 "gram.c" /* yacc.c:1646 */
36812 0 : break;
36813 :
36814 : case 1461:
36815 : #line 10022 "gram.y" /* yacc.c:1646 */
36816 : {
36817 : AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
36818 : n->kind = ALTER_TSCONFIG_DROP_MAPPING;
36819 : n->cfgname = (yyvsp[-4].list);
36820 : n->tokentype = (yyvsp[0].list);
36821 : n->missing_ok = false;
36822 : (yyval.node) = (Node*)n;
36823 : }
36824 : #line 36825 "gram.c" /* yacc.c:1646 */
36825 0 : break;
36826 :
36827 : case 1462:
36828 : #line 10031 "gram.y" /* yacc.c:1646 */
36829 : {
36830 : AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
36831 : n->kind = ALTER_TSCONFIG_DROP_MAPPING;
36832 : n->cfgname = (yyvsp[-6].list);
36833 : n->tokentype = (yyvsp[0].list);
36834 : n->missing_ok = true;
36835 : (yyval.node) = (Node*)n;
36836 : }
36837 : #line 36838 "gram.c" /* yacc.c:1646 */
36838 0 : break;
36839 :
36840 : case 1463:
36841 : #line 10042 "gram.y" /* yacc.c:1646 */
36842 : {}
36843 : #line 36844 "gram.c" /* yacc.c:1646 */
36844 51 : break;
36845 :
36846 : case 1464:
36847 : #line 10043 "gram.y" /* yacc.c:1646 */
36848 : {}
36849 : #line 36850 "gram.c" /* yacc.c:1646 */
36850 0 : break;
36851 :
36852 : case 1465:
36853 : #line 10059 "gram.y" /* yacc.c:1646 */
36854 : {
36855 : CreateConversionStmt *n = makeNode(CreateConversionStmt);
36856 : n->conversion_name = (yyvsp[-6].list);
36857 : n->for_encoding_name = (yyvsp[-4].str);
36858 : n->to_encoding_name = (yyvsp[-2].str);
36859 : n->func_name = (yyvsp[0].list);
36860 : n->def = (yyvsp[-8].boolean);
36861 : (yyval.node) = (Node *)n;
36862 : }
36863 : #line 36864 "gram.c" /* yacc.c:1646 */
36864 142 : break;
36865 :
36866 : case 1466:
36867 : #line 10081 "gram.y" /* yacc.c:1646 */
36868 : {
36869 : ClusterStmt *n = makeNode(ClusterStmt);
36870 : n->relation = (yyvsp[-1].range);
36871 : n->indexname = (yyvsp[0].str);
36872 : n->verbose = (yyvsp[-2].boolean);
36873 : (yyval.node) = (Node*)n;
36874 : }
36875 : #line 36876 "gram.c" /* yacc.c:1646 */
36876 7 : break;
36877 :
36878 : case 1467:
36879 : #line 10089 "gram.y" /* yacc.c:1646 */
36880 : {
36881 : ClusterStmt *n = makeNode(ClusterStmt);
36882 : n->relation = NULL;
36883 : n->indexname = NULL;
36884 : n->verbose = (yyvsp[0].boolean);
36885 : (yyval.node) = (Node*)n;
36886 : }
36887 : #line 36888 "gram.c" /* yacc.c:1646 */
36888 1 : break;
36889 :
36890 : case 1468:
36891 : #line 10098 "gram.y" /* yacc.c:1646 */
36892 : {
36893 : ClusterStmt *n = makeNode(ClusterStmt);
36894 : n->relation = (yyvsp[0].range);
36895 : n->indexname = (yyvsp[-2].str);
36896 : n->verbose = (yyvsp[-3].boolean);
36897 : (yyval.node) = (Node*)n;
36898 : }
36899 : #line 36900 "gram.c" /* yacc.c:1646 */
36900 3 : break;
36901 :
36902 : case 1469:
36903 : #line 10108 "gram.y" /* yacc.c:1646 */
36904 : { (yyval.str) = (yyvsp[0].str); }
36905 : #line 36906 "gram.c" /* yacc.c:1646 */
36906 4 : break;
36907 :
36908 : case 1470:
36909 : #line 10109 "gram.y" /* yacc.c:1646 */
36910 : { (yyval.str) = NULL; }
36911 : #line 36912 "gram.c" /* yacc.c:1646 */
36912 3 : break;
36913 :
36914 : case 1471:
36915 : #line 10122 "gram.y" /* yacc.c:1646 */
36916 : {
36917 : VacuumStmt *n = makeNode(VacuumStmt);
36918 : n->options = VACOPT_VACUUM;
36919 : if ((yyvsp[-2].boolean))
36920 : n->options |= VACOPT_FULL;
36921 : if ((yyvsp[-1].boolean))
36922 : n->options |= VACOPT_FREEZE;
36923 : if ((yyvsp[0].boolean))
36924 : n->options |= VACOPT_VERBOSE;
36925 : n->relation = NULL;
36926 : n->va_cols = NIL;
36927 : (yyval.node) = (Node *)n;
36928 : }
36929 : #line 36930 "gram.c" /* yacc.c:1646 */
36930 2 : break;
36931 :
36932 : case 1472:
36933 : #line 10136 "gram.y" /* yacc.c:1646 */
36934 : {
36935 : VacuumStmt *n = makeNode(VacuumStmt);
36936 : n->options = VACOPT_VACUUM;
36937 : if ((yyvsp[-3].boolean))
36938 : n->options |= VACOPT_FULL;
36939 : if ((yyvsp[-2].boolean))
36940 : n->options |= VACOPT_FREEZE;
36941 : if ((yyvsp[-1].boolean))
36942 : n->options |= VACOPT_VERBOSE;
36943 : n->relation = (yyvsp[0].range);
36944 : n->va_cols = NIL;
36945 : (yyval.node) = (Node *)n;
36946 : }
36947 : #line 36948 "gram.c" /* yacc.c:1646 */
36948 22 : break;
36949 :
36950 : case 1473:
36951 : #line 10150 "gram.y" /* yacc.c:1646 */
36952 : {
36953 : VacuumStmt *n = (VacuumStmt *) (yyvsp[0].node);
36954 : n->options |= VACOPT_VACUUM;
36955 : if ((yyvsp[-3].boolean))
36956 : n->options |= VACOPT_FULL;
36957 : if ((yyvsp[-2].boolean))
36958 : n->options |= VACOPT_FREEZE;
36959 : if ((yyvsp[-1].boolean))
36960 : n->options |= VACOPT_VERBOSE;
36961 : (yyval.node) = (Node *)n;
36962 : }
36963 : #line 36964 "gram.c" /* yacc.c:1646 */
36964 17 : break;
36965 :
36966 : case 1474:
36967 : #line 10162 "gram.y" /* yacc.c:1646 */
36968 : {
36969 : VacuumStmt *n = makeNode(VacuumStmt);
36970 : n->options = VACOPT_VACUUM | (yyvsp[-1].ival);
36971 : n->relation = NULL;
36972 : n->va_cols = NIL;
36973 : (yyval.node) = (Node *) n;
36974 : }
36975 : #line 36976 "gram.c" /* yacc.c:1646 */
36976 0 : break;
36977 :
36978 : case 1475:
36979 : #line 10170 "gram.y" /* yacc.c:1646 */
36980 : {
36981 : VacuumStmt *n = makeNode(VacuumStmt);
36982 : n->options = VACOPT_VACUUM | (yyvsp[-3].ival);
36983 : n->relation = (yyvsp[-1].range);
36984 : n->va_cols = (yyvsp[0].list);
36985 : if (n->va_cols != NIL) /* implies analyze */
36986 : n->options |= VACOPT_ANALYZE;
36987 : (yyval.node) = (Node *) n;
36988 : }
36989 : #line 36990 "gram.c" /* yacc.c:1646 */
36990 7 : break;
36991 :
36992 : case 1476:
36993 : #line 10182 "gram.y" /* yacc.c:1646 */
36994 : { (yyval.ival) = (yyvsp[0].ival); }
36995 : #line 36996 "gram.c" /* yacc.c:1646 */
36996 7 : break;
36997 :
36998 : case 1477:
36999 : #line 10183 "gram.y" /* yacc.c:1646 */
37000 : { (yyval.ival) = (yyvsp[-2].ival) | (yyvsp[0].ival); }
37001 : #line 37002 "gram.c" /* yacc.c:1646 */
37002 2 : break;
37003 :
37004 : case 1478:
37005 : #line 10187 "gram.y" /* yacc.c:1646 */
37006 : { (yyval.ival) = VACOPT_ANALYZE; }
37007 : #line 37008 "gram.c" /* yacc.c:1646 */
37008 2 : break;
37009 :
37010 : case 1479:
37011 : #line 10188 "gram.y" /* yacc.c:1646 */
37012 : { (yyval.ival) = VACOPT_VERBOSE; }
37013 : #line 37014 "gram.c" /* yacc.c:1646 */
37014 0 : break;
37015 :
37016 : case 1480:
37017 : #line 10189 "gram.y" /* yacc.c:1646 */
37018 : { (yyval.ival) = VACOPT_FREEZE; }
37019 : #line 37020 "gram.c" /* yacc.c:1646 */
37020 2 : break;
37021 :
37022 : case 1481:
37023 : #line 10190 "gram.y" /* yacc.c:1646 */
37024 : { (yyval.ival) = VACOPT_FULL; }
37025 : #line 37026 "gram.c" /* yacc.c:1646 */
37026 4 : break;
37027 :
37028 : case 1482:
37029 : #line 10192 "gram.y" /* yacc.c:1646 */
37030 : {
37031 : if (strcmp((yyvsp[0].str), "disable_page_skipping") == 0)
37032 : (yyval.ival) = VACOPT_DISABLE_PAGE_SKIPPING;
37033 : else
37034 : ereport(ERROR,
37035 : (errcode(ERRCODE_SYNTAX_ERROR),
37036 : errmsg("unrecognized VACUUM option \"%s\"", (yyvsp[0].str)),
37037 : parser_errposition((yylsp[0]))));
37038 : }
37039 : #line 37040 "gram.c" /* yacc.c:1646 */
37040 1 : break;
37041 :
37042 : case 1483:
37043 : #line 10205 "gram.y" /* yacc.c:1646 */
37044 : {
37045 : VacuumStmt *n = makeNode(VacuumStmt);
37046 : n->options = VACOPT_ANALYZE;
37047 : if ((yyvsp[0].boolean))
37048 : n->options |= VACOPT_VERBOSE;
37049 : n->relation = NULL;
37050 : n->va_cols = NIL;
37051 : (yyval.node) = (Node *)n;
37052 : }
37053 : #line 37054 "gram.c" /* yacc.c:1646 */
37054 1 : break;
37055 :
37056 : case 1484:
37057 : #line 10215 "gram.y" /* yacc.c:1646 */
37058 : {
37059 : VacuumStmt *n = makeNode(VacuumStmt);
37060 : n->options = VACOPT_ANALYZE;
37061 : if ((yyvsp[-2].boolean))
37062 : n->options |= VACOPT_VERBOSE;
37063 : n->relation = (yyvsp[-1].range);
37064 : n->va_cols = (yyvsp[0].list);
37065 : (yyval.node) = (Node *)n;
37066 : }
37067 : #line 37068 "gram.c" /* yacc.c:1646 */
37068 102 : break;
37069 :
37070 : case 1485:
37071 : #line 10227 "gram.y" /* yacc.c:1646 */
37072 : {}
37073 : #line 37074 "gram.c" /* yacc.c:1646 */
37074 113 : break;
37075 :
37076 : case 1486:
37077 : #line 10228 "gram.y" /* yacc.c:1646 */
37078 : {}
37079 : #line 37080 "gram.c" /* yacc.c:1646 */
37080 0 : break;
37081 :
37082 : case 1487:
37083 : #line 10232 "gram.y" /* yacc.c:1646 */
37084 : { (yyval.boolean) = TRUE; }
37085 : #line 37086 "gram.c" /* yacc.c:1646 */
37086 0 : break;
37087 :
37088 : case 1488:
37089 : #line 10233 "gram.y" /* yacc.c:1646 */
37090 : { (yyval.boolean) = FALSE; }
37091 : #line 37092 "gram.c" /* yacc.c:1646 */
37092 156 : break;
37093 :
37094 : case 1489:
37095 : #line 10236 "gram.y" /* yacc.c:1646 */
37096 : { (yyval.boolean) = TRUE; }
37097 : #line 37098 "gram.c" /* yacc.c:1646 */
37098 8 : break;
37099 :
37100 : case 1490:
37101 : #line 10237 "gram.y" /* yacc.c:1646 */
37102 : { (yyval.boolean) = FALSE; }
37103 : #line 37104 "gram.c" /* yacc.c:1646 */
37104 33 : break;
37105 :
37106 : case 1491:
37107 : #line 10240 "gram.y" /* yacc.c:1646 */
37108 : { (yyval.boolean) = TRUE; }
37109 : #line 37110 "gram.c" /* yacc.c:1646 */
37110 3 : break;
37111 :
37112 : case 1492:
37113 : #line 10241 "gram.y" /* yacc.c:1646 */
37114 : { (yyval.boolean) = FALSE; }
37115 : #line 37116 "gram.c" /* yacc.c:1646 */
37116 38 : break;
37117 :
37118 : case 1493:
37119 : #line 10245 "gram.y" /* yacc.c:1646 */
37120 : { (yyval.list) = (yyvsp[-1].list); }
37121 : #line 37122 "gram.c" /* yacc.c:1646 */
37122 94 : break;
37123 :
37124 : case 1494:
37125 : #line 10246 "gram.y" /* yacc.c:1646 */
37126 : { (yyval.list) = NIL; }
37127 : #line 37128 "gram.c" /* yacc.c:1646 */
37128 225 : break;
37129 :
37130 : case 1495:
37131 : #line 10260 "gram.y" /* yacc.c:1646 */
37132 : {
37133 : ExplainStmt *n = makeNode(ExplainStmt);
37134 : n->query = (yyvsp[0].node);
37135 : n->options = NIL;
37136 : (yyval.node) = (Node *) n;
37137 : }
37138 : #line 37139 "gram.c" /* yacc.c:1646 */
37139 497 : break;
37140 :
37141 : case 1496:
37142 : #line 10267 "gram.y" /* yacc.c:1646 */
37143 : {
37144 : ExplainStmt *n = makeNode(ExplainStmt);
37145 : n->query = (yyvsp[0].node);
37146 : n->options = list_make1(makeDefElem("analyze", NULL, (yylsp[-2])));
37147 : if ((yyvsp[-1].boolean))
37148 : n->options = lappend(n->options,
37149 : makeDefElem("verbose", NULL, (yylsp[-1])));
37150 : (yyval.node) = (Node *) n;
37151 : }
37152 : #line 37153 "gram.c" /* yacc.c:1646 */
37153 1 : break;
37154 :
37155 : case 1497:
37156 : #line 10277 "gram.y" /* yacc.c:1646 */
37157 : {
37158 : ExplainStmt *n = makeNode(ExplainStmt);
37159 : n->query = (yyvsp[0].node);
37160 : n->options = list_make1(makeDefElem("verbose", NULL, (yylsp[-1])));
37161 : (yyval.node) = (Node *) n;
37162 : }
37163 : #line 37164 "gram.c" /* yacc.c:1646 */
37164 2 : break;
37165 :
37166 : case 1498:
37167 : #line 10284 "gram.y" /* yacc.c:1646 */
37168 : {
37169 : ExplainStmt *n = makeNode(ExplainStmt);
37170 : n->query = (yyvsp[0].node);
37171 : n->options = (yyvsp[-2].list);
37172 : (yyval.node) = (Node *) n;
37173 : }
37174 : #line 37175 "gram.c" /* yacc.c:1646 */
37175 625 : break;
37176 :
37177 : case 1508:
37178 : #line 10306 "gram.y" /* yacc.c:1646 */
37179 : {
37180 : (yyval.list) = list_make1((yyvsp[0].defelt));
37181 : }
37182 : #line 37183 "gram.c" /* yacc.c:1646 */
37183 625 : break;
37184 :
37185 : case 1509:
37186 : #line 10310 "gram.y" /* yacc.c:1646 */
37187 : {
37188 : (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
37189 : }
37190 : #line 37191 "gram.c" /* yacc.c:1646 */
37191 111 : break;
37192 :
37193 : case 1510:
37194 : #line 10317 "gram.y" /* yacc.c:1646 */
37195 : {
37196 : (yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1]));
37197 : }
37198 : #line 37199 "gram.c" /* yacc.c:1646 */
37199 736 : break;
37200 :
37201 : case 1511:
37202 : #line 10323 "gram.y" /* yacc.c:1646 */
37203 : { (yyval.str) = (yyvsp[0].str); }
37204 : #line 37205 "gram.c" /* yacc.c:1646 */
37205 729 : break;
37206 :
37207 : case 1512:
37208 : #line 10324 "gram.y" /* yacc.c:1646 */
37209 : { (yyval.str) = "analyze"; }
37210 : #line 37211 "gram.c" /* yacc.c:1646 */
37211 7 : break;
37212 :
37213 : case 1513:
37214 : #line 10328 "gram.y" /* yacc.c:1646 */
37215 : { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
37216 : #line 37217 "gram.c" /* yacc.c:1646 */
37217 647 : break;
37218 :
37219 : case 1514:
37220 : #line 10329 "gram.y" /* yacc.c:1646 */
37221 : { (yyval.node) = (Node *) (yyvsp[0].value); }
37222 : #line 37223 "gram.c" /* yacc.c:1646 */
37223 0 : break;
37224 :
37225 : case 1515:
37226 : #line 10330 "gram.y" /* yacc.c:1646 */
37227 : { (yyval.node) = NULL; }
37228 : #line 37229 "gram.c" /* yacc.c:1646 */
37229 89 : break;
37230 :
37231 : case 1516:
37232 : #line 10341 "gram.y" /* yacc.c:1646 */
37233 : {
37234 : PrepareStmt *n = makeNode(PrepareStmt);
37235 : n->name = (yyvsp[-3].str);
37236 : n->argtypes = (yyvsp[-2].list);
37237 : n->query = (yyvsp[0].node);
37238 : (yyval.node) = (Node *) n;
37239 : }
37240 : #line 37241 "gram.c" /* yacc.c:1646 */
37241 37 : break;
37242 :
37243 : case 1517:
37244 : #line 10350 "gram.y" /* yacc.c:1646 */
37245 : { (yyval.list) = (yyvsp[-1].list); }
37246 : #line 37247 "gram.c" /* yacc.c:1646 */
37247 13 : break;
37248 :
37249 : case 1518:
37250 : #line 10351 "gram.y" /* yacc.c:1646 */
37251 : { (yyval.list) = NIL; }
37252 : #line 37253 "gram.c" /* yacc.c:1646 */
37253 24 : break;
37254 :
37255 : case 1523:
37256 : #line 10369 "gram.y" /* yacc.c:1646 */
37257 : {
37258 : ExecuteStmt *n = makeNode(ExecuteStmt);
37259 : n->name = (yyvsp[-1].str);
37260 : n->params = (yyvsp[0].list);
37261 : (yyval.node) = (Node *) n;
37262 : }
37263 : #line 37264 "gram.c" /* yacc.c:1646 */
37264 154 : break;
37265 :
37266 : case 1524:
37267 : #line 10377 "gram.y" /* yacc.c:1646 */
37268 : {
37269 : CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
37270 : ExecuteStmt *n = makeNode(ExecuteStmt);
37271 : n->name = (yyvsp[-2].str);
37272 : n->params = (yyvsp[-1].list);
37273 : ctas->query = (Node *) n;
37274 : ctas->into = (yyvsp[-5].into);
37275 : ctas->relkind = OBJECT_TABLE;
37276 : ctas->is_select_into = false;
37277 : /* cram additional flags into the IntoClause */
37278 : (yyvsp[-5].into)->rel->relpersistence = (yyvsp[-7].ival);
37279 : (yyvsp[-5].into)->skipData = !((yyvsp[0].boolean));
37280 : (yyval.node) = (Node *) ctas;
37281 : }
37282 : #line 37283 "gram.c" /* yacc.c:1646 */
37283 4 : break;
37284 :
37285 : case 1525:
37286 : #line 10393 "gram.y" /* yacc.c:1646 */
37287 : { (yyval.list) = (yyvsp[-1].list); }
37288 : #line 37289 "gram.c" /* yacc.c:1646 */
37289 33 : break;
37290 :
37291 : case 1526:
37292 : #line 10394 "gram.y" /* yacc.c:1646 */
37293 : { (yyval.list) = NIL; }
37294 : #line 37295 "gram.c" /* yacc.c:1646 */
37295 125 : break;
37296 :
37297 : case 1527:
37298 : #line 10405 "gram.y" /* yacc.c:1646 */
37299 : {
37300 : DeallocateStmt *n = makeNode(DeallocateStmt);
37301 : n->name = (yyvsp[0].str);
37302 : (yyval.node) = (Node *) n;
37303 : }
37304 : #line 37305 "gram.c" /* yacc.c:1646 */
37305 4 : break;
37306 :
37307 : case 1528:
37308 : #line 10411 "gram.y" /* yacc.c:1646 */
37309 : {
37310 : DeallocateStmt *n = makeNode(DeallocateStmt);
37311 : n->name = (yyvsp[0].str);
37312 : (yyval.node) = (Node *) n;
37313 : }
37314 : #line 37315 "gram.c" /* yacc.c:1646 */
37315 3 : break;
37316 :
37317 : case 1529:
37318 : #line 10417 "gram.y" /* yacc.c:1646 */
37319 : {
37320 : DeallocateStmt *n = makeNode(DeallocateStmt);
37321 : n->name = NULL;
37322 : (yyval.node) = (Node *) n;
37323 : }
37324 : #line 37325 "gram.c" /* yacc.c:1646 */
37325 1 : break;
37326 :
37327 : case 1530:
37328 : #line 10423 "gram.y" /* yacc.c:1646 */
37329 : {
37330 : DeallocateStmt *n = makeNode(DeallocateStmt);
37331 : n->name = NULL;
37332 : (yyval.node) = (Node *) n;
37333 : }
37334 : #line 37335 "gram.c" /* yacc.c:1646 */
37335 0 : break;
37336 :
37337 : case 1531:
37338 : #line 10440 "gram.y" /* yacc.c:1646 */
37339 : {
37340 : (yyvsp[-2].istmt)->relation = (yyvsp[-3].range);
37341 : (yyvsp[-2].istmt)->onConflictClause = (yyvsp[-1].onconflict);
37342 : (yyvsp[-2].istmt)->returningList = (yyvsp[0].list);
37343 : (yyvsp[-2].istmt)->withClause = (yyvsp[-6].with);
37344 : (yyval.node) = (Node *) (yyvsp[-2].istmt);
37345 : }
37346 : #line 37347 "gram.c" /* yacc.c:1646 */
37347 3702 : break;
37348 :
37349 : case 1532:
37350 : #line 10457 "gram.y" /* yacc.c:1646 */
37351 : {
37352 : (yyval.range) = (yyvsp[0].range);
37353 : }
37354 : #line 37355 "gram.c" /* yacc.c:1646 */
37355 3686 : break;
37356 :
37357 : case 1533:
37358 : #line 10461 "gram.y" /* yacc.c:1646 */
37359 : {
37360 : (yyvsp[-2].range)->alias = makeAlias((yyvsp[0].str), NIL);
37361 : (yyval.range) = (yyvsp[-2].range);
37362 : }
37363 : #line 37364 "gram.c" /* yacc.c:1646 */
37364 16 : break;
37365 :
37366 : case 1534:
37367 : #line 10469 "gram.y" /* yacc.c:1646 */
37368 : {
37369 : (yyval.istmt) = makeNode(InsertStmt);
37370 : (yyval.istmt)->cols = NIL;
37371 : (yyval.istmt)->selectStmt = (yyvsp[0].node);
37372 : }
37373 : #line 37374 "gram.c" /* yacc.c:1646 */
37374 2836 : break;
37375 :
37376 : case 1535:
37377 : #line 10475 "gram.y" /* yacc.c:1646 */
37378 : {
37379 : (yyval.istmt) = makeNode(InsertStmt);
37380 : (yyval.istmt)->cols = NIL;
37381 : (yyval.istmt)->override = (yyvsp[-2].ival);
37382 : (yyval.istmt)->selectStmt = (yyvsp[0].node);
37383 : }
37384 : #line 37385 "gram.c" /* yacc.c:1646 */
37385 4 : break;
37386 :
37387 : case 1536:
37388 : #line 10482 "gram.y" /* yacc.c:1646 */
37389 : {
37390 : (yyval.istmt) = makeNode(InsertStmt);
37391 : (yyval.istmt)->cols = (yyvsp[-2].list);
37392 : (yyval.istmt)->selectStmt = (yyvsp[0].node);
37393 : }
37394 : #line 37395 "gram.c" /* yacc.c:1646 */
37395 768 : break;
37396 :
37397 : case 1537:
37398 : #line 10488 "gram.y" /* yacc.c:1646 */
37399 : {
37400 : (yyval.istmt) = makeNode(InsertStmt);
37401 : (yyval.istmt)->cols = (yyvsp[-5].list);
37402 : (yyval.istmt)->override = (yyvsp[-2].ival);
37403 : (yyval.istmt)->selectStmt = (yyvsp[0].node);
37404 : }
37405 : #line 37406 "gram.c" /* yacc.c:1646 */
37406 0 : break;
37407 :
37408 : case 1538:
37409 : #line 10495 "gram.y" /* yacc.c:1646 */
37410 : {
37411 : (yyval.istmt) = makeNode(InsertStmt);
37412 : (yyval.istmt)->cols = NIL;
37413 : (yyval.istmt)->selectStmt = NULL;
37414 : }
37415 : #line 37416 "gram.c" /* yacc.c:1646 */
37416 94 : break;
37417 :
37418 : case 1539:
37419 : #line 10503 "gram.y" /* yacc.c:1646 */
37420 : { (yyval.ival) = OVERRIDING_USER_VALUE; }
37421 : #line 37422 "gram.c" /* yacc.c:1646 */
37422 2 : break;
37423 :
37424 : case 1540:
37425 : #line 10504 "gram.y" /* yacc.c:1646 */
37426 : { (yyval.ival) = OVERRIDING_SYSTEM_VALUE; }
37427 : #line 37428 "gram.c" /* yacc.c:1646 */
37428 2 : break;
37429 :
37430 : case 1541:
37431 : #line 10509 "gram.y" /* yacc.c:1646 */
37432 : { (yyval.list) = list_make1((yyvsp[0].target)); }
37433 : #line 37434 "gram.c" /* yacc.c:1646 */
37434 768 : break;
37435 :
37436 : case 1542:
37437 : #line 10511 "gram.y" /* yacc.c:1646 */
37438 : { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
37439 : #line 37440 "gram.c" /* yacc.c:1646 */
37440 535 : break;
37441 :
37442 : case 1543:
37443 : #line 10516 "gram.y" /* yacc.c:1646 */
37444 : {
37445 : (yyval.target) = makeNode(ResTarget);
37446 : (yyval.target)->name = (yyvsp[-1].str);
37447 : (yyval.target)->indirection = check_indirection((yyvsp[0].list), yyscanner);
37448 : (yyval.target)->val = NULL;
37449 : (yyval.target)->location = (yylsp[-1]);
37450 : }
37451 : #line 37452 "gram.c" /* yacc.c:1646 */
37452 1303 : break;
37453 :
37454 : case 1544:
37455 : #line 10527 "gram.y" /* yacc.c:1646 */
37456 : {
37457 : (yyval.onconflict) = makeNode(OnConflictClause);
37458 : (yyval.onconflict)->action = ONCONFLICT_UPDATE;
37459 : (yyval.onconflict)->infer = (yyvsp[-5].infer);
37460 : (yyval.onconflict)->targetList = (yyvsp[-1].list);
37461 : (yyval.onconflict)->whereClause = (yyvsp[0].node);
37462 : (yyval.onconflict)->location = (yylsp[-7]);
37463 : }
37464 : #line 37465 "gram.c" /* yacc.c:1646 */
37465 139 : break;
37466 :
37467 : case 1545:
37468 : #line 10537 "gram.y" /* yacc.c:1646 */
37469 : {
37470 : (yyval.onconflict) = makeNode(OnConflictClause);
37471 : (yyval.onconflict)->action = ONCONFLICT_NOTHING;
37472 : (yyval.onconflict)->infer = (yyvsp[-2].infer);
37473 : (yyval.onconflict)->targetList = NIL;
37474 : (yyval.onconflict)->whereClause = NULL;
37475 : (yyval.onconflict)->location = (yylsp[-4]);
37476 : }
37477 : #line 37478 "gram.c" /* yacc.c:1646 */
37478 33 : break;
37479 :
37480 : case 1546:
37481 : #line 10546 "gram.y" /* yacc.c:1646 */
37482 : {
37483 : (yyval.onconflict) = NULL;
37484 : }
37485 : #line 37486 "gram.c" /* yacc.c:1646 */
37486 3530 : break;
37487 :
37488 : case 1547:
37489 : #line 10553 "gram.y" /* yacc.c:1646 */
37490 : {
37491 : (yyval.infer) = makeNode(InferClause);
37492 : (yyval.infer)->indexElems = (yyvsp[-2].list);
37493 : (yyval.infer)->whereClause = (yyvsp[0].node);
37494 : (yyval.infer)->conname = NULL;
37495 : (yyval.infer)->location = (yylsp[-3]);
37496 : }
37497 : #line 37498 "gram.c" /* yacc.c:1646 */
37498 158 : break;
37499 :
37500 : case 1548:
37501 : #line 10562 "gram.y" /* yacc.c:1646 */
37502 : {
37503 : (yyval.infer) = makeNode(InferClause);
37504 : (yyval.infer)->indexElems = NIL;
37505 : (yyval.infer)->whereClause = NULL;
37506 : (yyval.infer)->conname = (yyvsp[0].str);
37507 : (yyval.infer)->location = (yylsp[-2]);
37508 : }
37509 : #line 37510 "gram.c" /* yacc.c:1646 */
37510 5 : break;
37511 :
37512 : case 1549:
37513 : #line 10570 "gram.y" /* yacc.c:1646 */
37514 : {
37515 : (yyval.infer) = NULL;
37516 : }
37517 : #line 37518 "gram.c" /* yacc.c:1646 */
37518 9 : break;
37519 :
37520 : case 1550:
37521 : #line 10576 "gram.y" /* yacc.c:1646 */
37522 : { (yyval.list) = (yyvsp[0].list); }
37523 : #line 37524 "gram.c" /* yacc.c:1646 */
37524 240 : break;
37525 :
37526 : case 1551:
37527 : #line 10577 "gram.y" /* yacc.c:1646 */
37528 : { (yyval.list) = NIL; }
37529 : #line 37530 "gram.c" /* yacc.c:1646 */
37530 4388 : break;
37531 :
37532 : case 1552:
37533 : #line 10590 "gram.y" /* yacc.c:1646 */
37534 : {
37535 : DeleteStmt *n = makeNode(DeleteStmt);
37536 : n->relation = (yyvsp[-3].range);
37537 : n->usingClause = (yyvsp[-2].list);
37538 : n->whereClause = (yyvsp[-1].node);
37539 : n->returningList = (yyvsp[0].list);
37540 : n->withClause = (yyvsp[-6].with);
37541 : (yyval.node) = (Node *)n;
37542 : }
37543 : #line 37544 "gram.c" /* yacc.c:1646 */
37544 351 : break;
37545 :
37546 : case 1553:
37547 : #line 10602 "gram.y" /* yacc.c:1646 */
37548 : { (yyval.list) = (yyvsp[0].list); }
37549 : #line 37550 "gram.c" /* yacc.c:1646 */
37550 14 : break;
37551 :
37552 : case 1554:
37553 : #line 10603 "gram.y" /* yacc.c:1646 */
37554 : { (yyval.list) = NIL; }
37555 : #line 37556 "gram.c" /* yacc.c:1646 */
37556 337 : break;
37557 :
37558 : case 1555:
37559 : #line 10615 "gram.y" /* yacc.c:1646 */
37560 : {
37561 : LockStmt *n = makeNode(LockStmt);
37562 :
37563 : n->relations = (yyvsp[-2].list);
37564 : n->mode = (yyvsp[-1].ival);
37565 : n->nowait = (yyvsp[0].boolean);
37566 : (yyval.node) = (Node *)n;
37567 : }
37568 : #line 37569 "gram.c" /* yacc.c:1646 */
37569 40 : break;
37570 :
37571 : case 1556:
37572 : #line 10625 "gram.y" /* yacc.c:1646 */
37573 : { (yyval.ival) = (yyvsp[-1].ival); }
37574 : #line 37575 "gram.c" /* yacc.c:1646 */
37575 39 : break;
37576 :
37577 : case 1557:
37578 : #line 10626 "gram.y" /* yacc.c:1646 */
37579 : { (yyval.ival) = AccessExclusiveLock; }
37580 : #line 37581 "gram.c" /* yacc.c:1646 */
37581 1 : break;
37582 :
37583 : case 1558:
37584 : #line 10629 "gram.y" /* yacc.c:1646 */
37585 : { (yyval.ival) = AccessShareLock; }
37586 : #line 37587 "gram.c" /* yacc.c:1646 */
37587 9 : break;
37588 :
37589 : case 1559:
37590 : #line 10630 "gram.y" /* yacc.c:1646 */
37591 : { (yyval.ival) = RowShareLock; }
37592 : #line 37593 "gram.c" /* yacc.c:1646 */
37593 2 : break;
37594 :
37595 : case 1560:
37596 : #line 10631 "gram.y" /* yacc.c:1646 */
37597 : { (yyval.ival) = RowExclusiveLock; }
37598 : #line 37599 "gram.c" /* yacc.c:1646 */
37599 7 : break;
37600 :
37601 : case 1561:
37602 : #line 10632 "gram.y" /* yacc.c:1646 */
37603 : { (yyval.ival) = ShareUpdateExclusiveLock; }
37604 : #line 37605 "gram.c" /* yacc.c:1646 */
37605 2 : break;
37606 :
37607 : case 1562:
37608 : #line 10633 "gram.y" /* yacc.c:1646 */
37609 : { (yyval.ival) = ShareLock; }
37610 : #line 37611 "gram.c" /* yacc.c:1646 */
37611 2 : break;
37612 :
37613 : case 1563:
37614 : #line 10634 "gram.y" /* yacc.c:1646 */
37615 : { (yyval.ival) = ShareRowExclusiveLock; }
37616 : #line 37617 "gram.c" /* yacc.c:1646 */
37617 2 : break;
37618 :
37619 : case 1564:
37620 : #line 10635 "gram.y" /* yacc.c:1646 */
37621 : { (yyval.ival) = ExclusiveLock; }
37622 : #line 37623 "gram.c" /* yacc.c:1646 */
37623 3 : break;
37624 :
37625 : case 1565:
37626 : #line 10636 "gram.y" /* yacc.c:1646 */
37627 : { (yyval.ival) = AccessExclusiveLock; }
37628 : #line 37629 "gram.c" /* yacc.c:1646 */
37629 12 : break;
37630 :
37631 : case 1566:
37632 : #line 10639 "gram.y" /* yacc.c:1646 */
37633 : { (yyval.boolean) = TRUE; }
37634 : #line 37635 "gram.c" /* yacc.c:1646 */
37635 10 : break;
37636 :
37637 : case 1567:
37638 : #line 10640 "gram.y" /* yacc.c:1646 */
37639 : { (yyval.boolean) = FALSE; }
37640 : #line 37641 "gram.c" /* yacc.c:1646 */
37641 33 : break;
37642 :
37643 : case 1568:
37644 : #line 10644 "gram.y" /* yacc.c:1646 */
37645 : { (yyval.ival) = LockWaitError; }
37646 : #line 37647 "gram.c" /* yacc.c:1646 */
37647 0 : break;
37648 :
37649 : case 1569:
37650 : #line 10645 "gram.y" /* yacc.c:1646 */
37651 : { (yyval.ival) = LockWaitSkip; }
37652 : #line 37653 "gram.c" /* yacc.c:1646 */
37653 0 : break;
37654 :
37655 : case 1570:
37656 : #line 10646 "gram.y" /* yacc.c:1646 */
37657 : { (yyval.ival) = LockWaitBlock; }
37658 : #line 37659 "gram.c" /* yacc.c:1646 */
37659 138 : break;
37660 :
37661 : case 1571:
37662 : #line 10662 "gram.y" /* yacc.c:1646 */
37663 : {
37664 : UpdateStmt *n = makeNode(UpdateStmt);
37665 : n->relation = (yyvsp[-5].range);
37666 : n->targetList = (yyvsp[-3].list);
37667 : n->fromClause = (yyvsp[-2].list);
37668 : n->whereClause = (yyvsp[-1].node);
37669 : n->returningList = (yyvsp[0].list);
37670 : n->withClause = (yyvsp[-7].with);
37671 : (yyval.node) = (Node *)n;
37672 : }
37673 : #line 37674 "gram.c" /* yacc.c:1646 */
37674 575 : break;
37675 :
37676 : case 1572:
37677 : #line 10675 "gram.y" /* yacc.c:1646 */
37678 : { (yyval.list) = (yyvsp[0].list); }
37679 : #line 37680 "gram.c" /* yacc.c:1646 */
37680 714 : break;
37681 :
37682 : case 1573:
37683 : #line 10676 "gram.y" /* yacc.c:1646 */
37684 : { (yyval.list) = list_concat((yyvsp[-2].list),(yyvsp[0].list)); }
37685 : #line 37686 "gram.c" /* yacc.c:1646 */
37686 109 : break;
37687 :
37688 : case 1574:
37689 : #line 10681 "gram.y" /* yacc.c:1646 */
37690 : {
37691 : (yyvsp[-2].target)->val = (Node *) (yyvsp[0].node);
37692 : (yyval.list) = list_make1((yyvsp[-2].target));
37693 : }
37694 : #line 37695 "gram.c" /* yacc.c:1646 */
37695 808 : break;
37696 :
37697 : case 1575:
37698 : #line 10686 "gram.y" /* yacc.c:1646 */
37699 : {
37700 : int ncolumns = list_length((yyvsp[-3].list));
37701 : int i = 1;
37702 : ListCell *col_cell;
37703 :
37704 : /* Create a MultiAssignRef source for each target */
37705 : foreach(col_cell, (yyvsp[-3].list))
37706 : {
37707 : ResTarget *res_col = (ResTarget *) lfirst(col_cell);
37708 : MultiAssignRef *r = makeNode(MultiAssignRef);
37709 :
37710 : r->source = (Node *) (yyvsp[0].node);
37711 : r->colno = i;
37712 : r->ncolumns = ncolumns;
37713 : res_col->val = (Node *) r;
37714 : i++;
37715 : }
37716 :
37717 : (yyval.list) = (yyvsp[-3].list);
37718 : }
37719 : #line 37720 "gram.c" /* yacc.c:1646 */
37720 15 : break;
37721 :
37722 : case 1576:
37723 : #line 10710 "gram.y" /* yacc.c:1646 */
37724 : {
37725 : (yyval.target) = makeNode(ResTarget);
37726 : (yyval.target)->name = (yyvsp[-1].str);
37727 : (yyval.target)->indirection = check_indirection((yyvsp[0].list), yyscanner);
37728 : (yyval.target)->val = NULL; /* upper production sets this */
37729 : (yyval.target)->location = (yylsp[-1]);
37730 : }
37731 : #line 37732 "gram.c" /* yacc.c:1646 */
37732 839 : break;
37733 :
37734 : case 1577:
37735 : #line 10720 "gram.y" /* yacc.c:1646 */
37736 : { (yyval.list) = list_make1((yyvsp[0].target)); }
37737 : #line 37738 "gram.c" /* yacc.c:1646 */
37738 15 : break;
37739 :
37740 : case 1578:
37741 : #line 10721 "gram.y" /* yacc.c:1646 */
37742 : { (yyval.list) = lappend((yyvsp[-2].list),(yyvsp[0].target)); }
37743 : #line 37744 "gram.c" /* yacc.c:1646 */
37744 16 : break;
37745 :
37746 : case 1579:
37747 : #line 10732 "gram.y" /* yacc.c:1646 */
37748 : {
37749 : DeclareCursorStmt *n = makeNode(DeclareCursorStmt);
37750 : n->portalname = (yyvsp[-5].str);
37751 : /* currently we always set FAST_PLAN option */
37752 : n->options = (yyvsp[-4].ival) | (yyvsp[-2].ival) | CURSOR_OPT_FAST_PLAN;
37753 : n->query = (yyvsp[0].node);
37754 : (yyval.node) = (Node *)n;
37755 : }
37756 : #line 37757 "gram.c" /* yacc.c:1646 */
37757 103 : break;
37758 :
37759 : case 1580:
37760 : #line 10742 "gram.y" /* yacc.c:1646 */
37761 : { (yyval.str) = (yyvsp[0].str); }
37762 : #line 37763 "gram.c" /* yacc.c:1646 */
37763 384 : break;
37764 :
37765 : case 1581:
37766 : #line 10745 "gram.y" /* yacc.c:1646 */
37767 : { (yyval.ival) = 0; }
37768 : #line 37769 "gram.c" /* yacc.c:1646 */
37769 103 : break;
37770 :
37771 : case 1582:
37772 : #line 10746 "gram.y" /* yacc.c:1646 */
37773 : { (yyval.ival) = (yyvsp[-2].ival) | CURSOR_OPT_NO_SCROLL; }
37774 : #line 37775 "gram.c" /* yacc.c:1646 */
37775 13 : break;
37776 :
37777 : case 1583:
37778 : #line 10747 "gram.y" /* yacc.c:1646 */
37779 : { (yyval.ival) = (yyvsp[-1].ival) | CURSOR_OPT_SCROLL; }
37780 : #line 37781 "gram.c" /* yacc.c:1646 */
37781 30 : break;
37782 :
37783 : case 1584:
37784 : #line 10748 "gram.y" /* yacc.c:1646 */
37785 : { (yyval.ival) = (yyvsp[-1].ival) | CURSOR_OPT_BINARY; }
37786 : #line 37787 "gram.c" /* yacc.c:1646 */
37787 1 : break;
37788 :
37789 : case 1585:
37790 : #line 10749 "gram.y" /* yacc.c:1646 */
37791 : { (yyval.ival) = (yyvsp[-1].ival) | CURSOR_OPT_INSENSITIVE; }
37792 : #line 37793 "gram.c" /* yacc.c:1646 */
37793 0 : break;
37794 :
37795 : case 1586:
37796 : #line 10752 "gram.y" /* yacc.c:1646 */
37797 : { (yyval.ival) = 0; }
37798 : #line 37799 "gram.c" /* yacc.c:1646 */
37799 95 : break;
37800 :
37801 : case 1587:
37802 : #line 10753 "gram.y" /* yacc.c:1646 */
37803 : { (yyval.ival) = CURSOR_OPT_HOLD; }
37804 : #line 37805 "gram.c" /* yacc.c:1646 */
37805 7 : break;
37806 :
37807 : case 1588:
37808 : #line 10754 "gram.y" /* yacc.c:1646 */
37809 : { (yyval.ival) = 0; }
37810 : #line 37811 "gram.c" /* yacc.c:1646 */
37811 1 : break;
37812 :
37813 : case 1591:
37814 : #line 10807 "gram.y" /* yacc.c:1646 */
37815 : { (yyval.node) = (yyvsp[-1].node); }
37816 : #line 37817 "gram.c" /* yacc.c:1646 */
37817 2652 : break;
37818 :
37819 : case 1592:
37820 : #line 10808 "gram.y" /* yacc.c:1646 */
37821 : { (yyval.node) = (yyvsp[-1].node); }
37822 : #line 37823 "gram.c" /* yacc.c:1646 */
37823 22 : break;
37824 :
37825 : case 1593:
37826 : #line 10823 "gram.y" /* yacc.c:1646 */
37827 : { (yyval.node) = (yyvsp[0].node); }
37828 : #line 37829 "gram.c" /* yacc.c:1646 */
37829 26042 : break;
37830 :
37831 : case 1594:
37832 : #line 10825 "gram.y" /* yacc.c:1646 */
37833 : {
37834 : insertSelectOptions((SelectStmt *) (yyvsp[-1].node), (yyvsp[0].list), NIL,
37835 : NULL, NULL, NULL,
37836 : yyscanner);
37837 : (yyval.node) = (yyvsp[-1].node);
37838 : }
37839 : #line 37840 "gram.c" /* yacc.c:1646 */
37840 2742 : break;
37841 :
37842 : case 1595:
37843 : #line 10832 "gram.y" /* yacc.c:1646 */
37844 : {
37845 : insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[-1].list),
37846 : list_nth((yyvsp[0].list), 0), list_nth((yyvsp[0].list), 1),
37847 : NULL,
37848 : yyscanner);
37849 : (yyval.node) = (yyvsp[-3].node);
37850 : }
37851 : #line 37852 "gram.c" /* yacc.c:1646 */
37852 138 : break;
37853 :
37854 : case 1596:
37855 : #line 10840 "gram.y" /* yacc.c:1646 */
37856 : {
37857 : insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[0].list),
37858 : list_nth((yyvsp[-1].list), 0), list_nth((yyvsp[-1].list), 1),
37859 : NULL,
37860 : yyscanner);
37861 : (yyval.node) = (yyvsp[-3].node);
37862 : }
37863 : #line 37864 "gram.c" /* yacc.c:1646 */
37864 227 : break;
37865 :
37866 : case 1597:
37867 : #line 10848 "gram.y" /* yacc.c:1646 */
37868 : {
37869 : insertSelectOptions((SelectStmt *) (yyvsp[0].node), NULL, NIL,
37870 : NULL, NULL,
37871 : (yyvsp[-1].with),
37872 : yyscanner);
37873 : (yyval.node) = (yyvsp[0].node);
37874 : }
37875 : #line 37876 "gram.c" /* yacc.c:1646 */
37876 98 : break;
37877 :
37878 : case 1598:
37879 : #line 10856 "gram.y" /* yacc.c:1646 */
37880 : {
37881 : insertSelectOptions((SelectStmt *) (yyvsp[-1].node), (yyvsp[0].list), NIL,
37882 : NULL, NULL,
37883 : (yyvsp[-2].with),
37884 : yyscanner);
37885 : (yyval.node) = (yyvsp[-1].node);
37886 : }
37887 : #line 37888 "gram.c" /* yacc.c:1646 */
37888 17 : break;
37889 :
37890 : case 1599:
37891 : #line 10864 "gram.y" /* yacc.c:1646 */
37892 : {
37893 : insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[-1].list),
37894 : list_nth((yyvsp[0].list), 0), list_nth((yyvsp[0].list), 1),
37895 : (yyvsp[-4].with),
37896 : yyscanner);
37897 : (yyval.node) = (yyvsp[-3].node);
37898 : }
37899 : #line 37900 "gram.c" /* yacc.c:1646 */
37900 0 : break;
37901 :
37902 : case 1600:
37903 : #line 10872 "gram.y" /* yacc.c:1646 */
37904 : {
37905 : insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[0].list),
37906 : list_nth((yyvsp[-1].list), 0), list_nth((yyvsp[-1].list), 1),
37907 : (yyvsp[-4].with),
37908 : yyscanner);
37909 : (yyval.node) = (yyvsp[-3].node);
37910 : }
37911 : #line 37912 "gram.c" /* yacc.c:1646 */
37912 6 : break;
37913 :
37914 : case 1601:
37915 : #line 10882 "gram.y" /* yacc.c:1646 */
37916 : { (yyval.node) = (yyvsp[0].node); }
37917 : #line 37918 "gram.c" /* yacc.c:1646 */
37918 4188 : break;
37919 :
37920 : case 1602:
37921 : #line 10883 "gram.y" /* yacc.c:1646 */
37922 : { (yyval.node) = (yyvsp[0].node); }
37923 : #line 37924 "gram.c" /* yacc.c:1646 */
37924 36 : break;
37925 :
37926 : case 1603:
37927 : #line 10913 "gram.y" /* yacc.c:1646 */
37928 : {
37929 : SelectStmt *n = makeNode(SelectStmt);
37930 : n->targetList = (yyvsp[-6].list);
37931 : n->intoClause = (yyvsp[-5].into);
37932 : n->fromClause = (yyvsp[-4].list);
37933 : n->whereClause = (yyvsp[-3].node);
37934 : n->groupClause = (yyvsp[-2].list);
37935 : n->havingClause = (yyvsp[-1].node);
37936 : n->windowClause = (yyvsp[0].list);
37937 : (yyval.node) = (Node *)n;
37938 : }
37939 : #line 37940 "gram.c" /* yacc.c:1646 */
37940 25944 : break;
37941 :
37942 : case 1604:
37943 : #line 10927 "gram.y" /* yacc.c:1646 */
37944 : {
37945 : SelectStmt *n = makeNode(SelectStmt);
37946 : n->distinctClause = (yyvsp[-7].list);
37947 : n->targetList = (yyvsp[-6].list);
37948 : n->intoClause = (yyvsp[-5].into);
37949 : n->fromClause = (yyvsp[-4].list);
37950 : n->whereClause = (yyvsp[-3].node);
37951 : n->groupClause = (yyvsp[-2].list);
37952 : n->havingClause = (yyvsp[-1].node);
37953 : n->windowClause = (yyvsp[0].list);
37954 : (yyval.node) = (Node *)n;
37955 : }
37956 : #line 37957 "gram.c" /* yacc.c:1646 */
37957 68 : break;
37958 :
37959 : case 1605:
37960 : #line 10939 "gram.y" /* yacc.c:1646 */
37961 : { (yyval.node) = (yyvsp[0].node); }
37962 : #line 37963 "gram.c" /* yacc.c:1646 */
37963 3707 : break;
37964 :
37965 : case 1606:
37966 : #line 10941 "gram.y" /* yacc.c:1646 */
37967 : {
37968 : /* same as SELECT * FROM relation_expr */
37969 : ColumnRef *cr = makeNode(ColumnRef);
37970 : ResTarget *rt = makeNode(ResTarget);
37971 : SelectStmt *n = makeNode(SelectStmt);
37972 :
37973 : cr->fields = list_make1(makeNode(A_Star));
37974 : cr->location = -1;
37975 :
37976 : rt->name = NULL;
37977 : rt->indirection = NIL;
37978 : rt->val = (Node *)cr;
37979 : rt->location = -1;
37980 :
37981 : n->targetList = list_make1(rt);
37982 : n->fromClause = list_make1((yyvsp[0].range));
37983 : (yyval.node) = (Node *)n;
37984 : }
37985 : #line 37986 "gram.c" /* yacc.c:1646 */
37986 13 : break;
37987 :
37988 : case 1607:
37989 : #line 10960 "gram.y" /* yacc.c:1646 */
37990 : {
37991 : (yyval.node) = makeSetOp(SETOP_UNION, (yyvsp[-1].boolean), (yyvsp[-3].node), (yyvsp[0].node));
37992 : }
37993 : #line 37994 "gram.c" /* yacc.c:1646 */
37994 449 : break;
37995 :
37996 : case 1608:
37997 : #line 10964 "gram.y" /* yacc.c:1646 */
37998 : {
37999 : (yyval.node) = makeSetOp(SETOP_INTERSECT, (yyvsp[-1].boolean), (yyvsp[-3].node), (yyvsp[0].node));
38000 : }
38001 : #line 38002 "gram.c" /* yacc.c:1646 */
38002 19 : break;
38003 :
38004 : case 1609:
38005 : #line 10968 "gram.y" /* yacc.c:1646 */
38006 : {
38007 : (yyval.node) = makeSetOp(SETOP_EXCEPT, (yyvsp[-1].boolean), (yyvsp[-3].node), (yyvsp[0].node));
38008 : }
38009 : #line 38010 "gram.c" /* yacc.c:1646 */
38010 30 : break;
38011 :
38012 : case 1610:
38013 : #line 10985 "gram.y" /* yacc.c:1646 */
38014 : {
38015 : (yyval.with) = makeNode(WithClause);
38016 : (yyval.with)->ctes = (yyvsp[0].list);
38017 : (yyval.with)->recursive = false;
38018 : (yyval.with)->location = (yylsp[-1]);
38019 : }
38020 : #line 38021 "gram.c" /* yacc.c:1646 */
38021 81 : break;
38022 :
38023 : case 1611:
38024 : #line 10992 "gram.y" /* yacc.c:1646 */
38025 : {
38026 : (yyval.with) = makeNode(WithClause);
38027 : (yyval.with)->ctes = (yyvsp[0].list);
38028 : (yyval.with)->recursive = false;
38029 : (yyval.with)->location = (yylsp[-1]);
38030 : }
38031 : #line 38032 "gram.c" /* yacc.c:1646 */
38032 1 : break;
38033 :
38034 : case 1612:
38035 : #line 10999 "gram.y" /* yacc.c:1646 */
38036 : {
38037 : (yyval.with) = makeNode(WithClause);
38038 : (yyval.with)->ctes = (yyvsp[0].list);
38039 : (yyval.with)->recursive = true;
38040 : (yyval.with)->location = (yylsp[-2]);
38041 : }
38042 : #line 38043 "gram.c" /* yacc.c:1646 */
38043 67 : break;
38044 :
38045 : case 1613:
38046 : #line 11008 "gram.y" /* yacc.c:1646 */
38047 : { (yyval.list) = list_make1((yyvsp[0].node)); }
38048 : #line 38049 "gram.c" /* yacc.c:1646 */
38049 149 : break;
38050 :
38051 : case 1614:
38052 : #line 11009 "gram.y" /* yacc.c:1646 */
38053 : { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
38054 : #line 38055 "gram.c" /* yacc.c:1646 */
38055 27 : break;
38056 :
38057 : case 1615:
38058 : #line 11013 "gram.y" /* yacc.c:1646 */
38059 : {
38060 : CommonTableExpr *n = makeNode(CommonTableExpr);
38061 : n->ctename = (yyvsp[-5].str);
38062 : n->aliascolnames = (yyvsp[-4].list);
38063 : n->ctequery = (yyvsp[-1].node);
38064 : n->location = (yylsp[-5]);
38065 : (yyval.node) = (Node *) n;
38066 : }
38067 : #line 38068 "gram.c" /* yacc.c:1646 */
38068 176 : break;
38069 :
38070 : case 1616:
38071 : #line 11024 "gram.y" /* yacc.c:1646 */
38072 : { (yyval.with) = (yyvsp[0].with); }
38073 : #line 38074 "gram.c" /* yacc.c:1646 */
38074 28 : break;
38075 :
38076 : case 1617:
38077 : #line 11025 "gram.y" /* yacc.c:1646 */
38078 : { (yyval.with) = NULL; }
38079 : #line 38080 "gram.c" /* yacc.c:1646 */
38080 4605 : break;
38081 :
38082 : case 1618:
38083 : #line 11030 "gram.y" /* yacc.c:1646 */
38084 : {
38085 : (yyval.into) = makeNode(IntoClause);
38086 : (yyval.into)->rel = (yyvsp[0].range);
38087 : (yyval.into)->colNames = NIL;
38088 : (yyval.into)->options = NIL;
38089 : (yyval.into)->onCommit = ONCOMMIT_NOOP;
38090 : (yyval.into)->tableSpaceName = NULL;
38091 : (yyval.into)->viewQuery = NULL;
38092 : (yyval.into)->skipData = false;
38093 : }
38094 : #line 38095 "gram.c" /* yacc.c:1646 */
38095 24 : break;
38096 :
38097 : case 1619:
38098 : #line 11041 "gram.y" /* yacc.c:1646 */
38099 : { (yyval.into) = NULL; }
38100 : #line 38101 "gram.c" /* yacc.c:1646 */
38101 25989 : break;
38102 :
38103 : case 1620:
38104 : #line 11050 "gram.y" /* yacc.c:1646 */
38105 : {
38106 : (yyval.range) = (yyvsp[0].range);
38107 : (yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
38108 : }
38109 : #line 38110 "gram.c" /* yacc.c:1646 */
38110 0 : break;
38111 :
38112 : case 1621:
38113 : #line 11055 "gram.y" /* yacc.c:1646 */
38114 : {
38115 : (yyval.range) = (yyvsp[0].range);
38116 : (yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
38117 : }
38118 : #line 38119 "gram.c" /* yacc.c:1646 */
38119 1 : break;
38120 :
38121 : case 1622:
38122 : #line 11060 "gram.y" /* yacc.c:1646 */
38123 : {
38124 : (yyval.range) = (yyvsp[0].range);
38125 : (yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
38126 : }
38127 : #line 38128 "gram.c" /* yacc.c:1646 */
38128 0 : break;
38129 :
38130 : case 1623:
38131 : #line 11065 "gram.y" /* yacc.c:1646 */
38132 : {
38133 : (yyval.range) = (yyvsp[0].range);
38134 : (yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
38135 : }
38136 : #line 38137 "gram.c" /* yacc.c:1646 */
38137 0 : break;
38138 :
38139 : case 1624:
38140 : #line 11070 "gram.y" /* yacc.c:1646 */
38141 : {
38142 : ereport(WARNING,
38143 : (errmsg("GLOBAL is deprecated in temporary table creation"),
38144 : parser_errposition((yylsp[-3]))));
38145 : (yyval.range) = (yyvsp[0].range);
38146 : (yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
38147 : }
38148 : #line 38149 "gram.c" /* yacc.c:1646 */
38149 0 : break;
38150 :
38151 : case 1625:
38152 : #line 11078 "gram.y" /* yacc.c:1646 */
38153 : {
38154 : ereport(WARNING,
38155 : (errmsg("GLOBAL is deprecated in temporary table creation"),
38156 : parser_errposition((yylsp[-3]))));
38157 : (yyval.range) = (yyvsp[0].range);
38158 : (yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
38159 : }
38160 : #line 38161 "gram.c" /* yacc.c:1646 */
38161 0 : break;
38162 :
38163 : case 1626:
38164 : #line 11086 "gram.y" /* yacc.c:1646 */
38165 : {
38166 : (yyval.range) = (yyvsp[0].range);
38167 : (yyval.range)->relpersistence = RELPERSISTENCE_UNLOGGED;
38168 : }
38169 : #line 38170 "gram.c" /* yacc.c:1646 */
38170 0 : break;
38171 :
38172 : case 1627:
38173 : #line 11091 "gram.y" /* yacc.c:1646 */
38174 : {
38175 : (yyval.range) = (yyvsp[0].range);
38176 : (yyval.range)->relpersistence = RELPERSISTENCE_PERMANENT;
38177 : }
38178 : #line 38179 "gram.c" /* yacc.c:1646 */
38179 12 : break;
38180 :
38181 : case 1628:
38182 : #line 11096 "gram.y" /* yacc.c:1646 */
38183 : {
38184 : (yyval.range) = (yyvsp[0].range);
38185 : (yyval.range)->relpersistence = RELPERSISTENCE_PERMANENT;
38186 : }
38187 : #line 38188 "gram.c" /* yacc.c:1646 */
38188 11 : break;
38189 :
38190 : case 1629:
38191 : #line 11102 "gram.y" /* yacc.c:1646 */
38192 : {}
38193 : #line 38194 "gram.c" /* yacc.c:1646 */
38194 56 : break;
38195 :
38196 : case 1630:
38197 : #line 11103 "gram.y" /* yacc.c:1646 */
38198 : {}
38199 : #line 38200 "gram.c" /* yacc.c:1646 */
38200 55 : break;
38201 :
38202 : case 1631:
38203 : #line 11107 "gram.y" /* yacc.c:1646 */
38204 : { (yyval.boolean) = TRUE; }
38205 : #line 38206 "gram.c" /* yacc.c:1646 */
38206 387 : break;
38207 :
38208 : case 1632:
38209 : #line 11108 "gram.y" /* yacc.c:1646 */
38210 : { (yyval.boolean) = FALSE; }
38211 : #line 38212 "gram.c" /* yacc.c:1646 */
38212 0 : break;
38213 :
38214 : case 1633:
38215 : #line 11109 "gram.y" /* yacc.c:1646 */
38216 : { (yyval.boolean) = FALSE; }
38217 : #line 38218 "gram.c" /* yacc.c:1646 */
38218 111 : break;
38219 :
38220 : case 1634:
38221 : #line 11116 "gram.y" /* yacc.c:1646 */
38222 : { (yyval.list) = list_make1(NIL); }
38223 : #line 38224 "gram.c" /* yacc.c:1646 */
38224 58 : break;
38225 :
38226 : case 1635:
38227 : #line 11117 "gram.y" /* yacc.c:1646 */
38228 : { (yyval.list) = (yyvsp[-1].list); }
38229 : #line 38230 "gram.c" /* yacc.c:1646 */
38230 11 : break;
38231 :
38232 : case 1636:
38233 : #line 11121 "gram.y" /* yacc.c:1646 */
38234 : { (yyval.list) = NIL;}
38235 : #line 38236 "gram.c" /* yacc.c:1646 */
38236 0 : break;
38237 :
38238 : case 1637:
38239 : #line 11122 "gram.y" /* yacc.c:1646 */
38240 : { (yyval.list) = NIL; }
38241 : #line 38242 "gram.c" /* yacc.c:1646 */
38242 25949 : break;
38243 :
38244 : case 1638:
38245 : #line 11126 "gram.y" /* yacc.c:1646 */
38246 : { (yyval.list) = (yyvsp[0].list);}
38247 : #line 38248 "gram.c" /* yacc.c:1646 */
38248 281 : break;
38249 :
38250 : case 1639:
38251 : #line 11127 "gram.y" /* yacc.c:1646 */
38252 : { (yyval.list) = NIL; }
38253 : #line 38254 "gram.c" /* yacc.c:1646 */
38254 11267 : break;
38255 :
38256 : case 1640:
38257 : #line 11131 "gram.y" /* yacc.c:1646 */
38258 : { (yyval.list) = (yyvsp[0].list); }
38259 : #line 38260 "gram.c" /* yacc.c:1646 */
38260 3077 : break;
38261 :
38262 : case 1641:
38263 : #line 11135 "gram.y" /* yacc.c:1646 */
38264 : { (yyval.list) = list_make1((yyvsp[0].sortby)); }
38265 : #line 38266 "gram.c" /* yacc.c:1646 */
38266 3077 : break;
38267 :
38268 : case 1642:
38269 : #line 11136 "gram.y" /* yacc.c:1646 */
38270 : { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].sortby)); }
38271 : #line 38272 "gram.c" /* yacc.c:1646 */
38272 716 : break;
38273 :
38274 : case 1643:
38275 : #line 11140 "gram.y" /* yacc.c:1646 */
38276 : {
38277 : (yyval.sortby) = makeNode(SortBy);
38278 : (yyval.sortby)->node = (yyvsp[-3].node);
38279 : (yyval.sortby)->sortby_dir = SORTBY_USING;
38280 : (yyval.sortby)->sortby_nulls = (yyvsp[0].ival);
38281 : (yyval.sortby)->useOp = (yyvsp[-1].list);
38282 : (yyval.sortby)->location = (yylsp[-1]);
38283 : }
38284 : #line 38285 "gram.c" /* yacc.c:1646 */
38285 32 : break;
38286 :
38287 : case 1644:
38288 : #line 11149 "gram.y" /* yacc.c:1646 */
38289 : {
38290 : (yyval.sortby) = makeNode(SortBy);
38291 : (yyval.sortby)->node = (yyvsp[-2].node);
38292 : (yyval.sortby)->sortby_dir = (yyvsp[-1].ival);
38293 : (yyval.sortby)->sortby_nulls = (yyvsp[0].ival);
38294 : (yyval.sortby)->useOp = NIL;
38295 : (yyval.sortby)->location = -1; /* no operator */
38296 : }
38297 : #line 38298 "gram.c" /* yacc.c:1646 */
38298 3761 : break;
38299 :
38300 : case 1645:
38301 : #line 11161 "gram.y" /* yacc.c:1646 */
38302 : { (yyval.list) = list_make2((yyvsp[0].node), (yyvsp[-1].node)); }
38303 : #line 38304 "gram.c" /* yacc.c:1646 */
38304 10 : break;
38305 :
38306 : case 1646:
38307 : #line 11162 "gram.y" /* yacc.c:1646 */
38308 : { (yyval.list) = list_make2((yyvsp[-1].node), (yyvsp[0].node)); }
38309 : #line 38310 "gram.c" /* yacc.c:1646 */
38310 1 : break;
38311 :
38312 : case 1647:
38313 : #line 11163 "gram.y" /* yacc.c:1646 */
38314 : { (yyval.list) = list_make2(NULL, (yyvsp[0].node)); }
38315 : #line 38316 "gram.c" /* yacc.c:1646 */
38316 187 : break;
38317 :
38318 : case 1648:
38319 : #line 11164 "gram.y" /* yacc.c:1646 */
38320 : { (yyval.list) = list_make2((yyvsp[0].node), NULL); }
38321 : #line 38322 "gram.c" /* yacc.c:1646 */
38322 35 : break;
38323 :
38324 : case 1649:
38325 : #line 11168 "gram.y" /* yacc.c:1646 */
38326 : { (yyval.list) = (yyvsp[0].list); }
38327 : #line 38328 "gram.c" /* yacc.c:1646 */
38328 0 : break;
38329 :
38330 : case 1650:
38331 : #line 11169 "gram.y" /* yacc.c:1646 */
38332 : { (yyval.list) = list_make2(NULL,NULL); }
38333 : #line 38334 "gram.c" /* yacc.c:1646 */
38334 138 : break;
38335 :
38336 : case 1651:
38337 : #line 11174 "gram.y" /* yacc.c:1646 */
38338 : { (yyval.node) = (yyvsp[0].node); }
38339 : #line 38340 "gram.c" /* yacc.c:1646 */
38340 198 : break;
38341 :
38342 : case 1652:
38343 : #line 11176 "gram.y" /* yacc.c:1646 */
38344 : {
38345 : /* Disabled because it was too confusing, bjm 2002-02-18 */
38346 : ereport(ERROR,
38347 : (errcode(ERRCODE_SYNTAX_ERROR),
38348 : errmsg("LIMIT #,# syntax is not supported"),
38349 : errhint("Use separate LIMIT and OFFSET clauses."),
38350 : parser_errposition((yylsp[-3]))));
38351 : }
38352 : #line 38353 "gram.c" /* yacc.c:1646 */
38353 : break;
38354 :
38355 : case 1653:
38356 : #line 11186 "gram.y" /* yacc.c:1646 */
38357 : { (yyval.node) = (yyvsp[-2].node); }
38358 : #line 38359 "gram.c" /* yacc.c:1646 */
38359 0 : break;
38360 :
38361 : case 1654:
38362 : #line 11191 "gram.y" /* yacc.c:1646 */
38363 : { (yyval.node) = (yyvsp[0].node); }
38364 : #line 38365 "gram.c" /* yacc.c:1646 */
38365 46 : break;
38366 :
38367 : case 1655:
38368 : #line 11194 "gram.y" /* yacc.c:1646 */
38369 : { (yyval.node) = (yyvsp[-1].node); }
38370 : #line 38371 "gram.c" /* yacc.c:1646 */
38371 0 : break;
38372 :
38373 : case 1656:
38374 : #line 11198 "gram.y" /* yacc.c:1646 */
38375 : { (yyval.node) = (yyvsp[0].node); }
38376 : #line 38377 "gram.c" /* yacc.c:1646 */
38377 198 : break;
38378 :
38379 : case 1657:
38380 : #line 11200 "gram.y" /* yacc.c:1646 */
38381 : {
38382 : /* LIMIT ALL is represented as a NULL constant */
38383 : (yyval.node) = makeNullAConst((yylsp[0]));
38384 : }
38385 : #line 38386 "gram.c" /* yacc.c:1646 */
38386 0 : break;
38387 :
38388 : case 1658:
38389 : #line 11207 "gram.y" /* yacc.c:1646 */
38390 : { (yyval.node) = (yyvsp[0].node); }
38391 : #line 38392 "gram.c" /* yacc.c:1646 */
38392 46 : break;
38393 :
38394 : case 1659:
38395 : #line 11217 "gram.y" /* yacc.c:1646 */
38396 : { (yyval.node) = makeIntConst((yyvsp[0].ival), (yylsp[0])); }
38397 : #line 38398 "gram.c" /* yacc.c:1646 */
38398 0 : break;
38399 :
38400 : case 1660:
38401 : #line 11218 "gram.y" /* yacc.c:1646 */
38402 : { (yyval.node) = (yyvsp[-1].node); }
38403 : #line 38404 "gram.c" /* yacc.c:1646 */
38404 0 : break;
38405 :
38406 : case 1661:
38407 : #line 11219 "gram.y" /* yacc.c:1646 */
38408 : { (yyval.node) = makeIntConst(1, -1); }
38409 : #line 38410 "gram.c" /* yacc.c:1646 */
38410 0 : break;
38411 :
38412 : case 1662:
38413 : #line 11227 "gram.y" /* yacc.c:1646 */
38414 : { (yyval.node) = (yyvsp[0].node); }
38415 : #line 38416 "gram.c" /* yacc.c:1646 */
38416 0 : break;
38417 :
38418 : case 1663:
38419 : #line 11231 "gram.y" /* yacc.c:1646 */
38420 : { (yyval.ival) = 0; }
38421 : #line 38422 "gram.c" /* yacc.c:1646 */
38422 0 : break;
38423 :
38424 : case 1664:
38425 : #line 11232 "gram.y" /* yacc.c:1646 */
38426 : { (yyval.ival) = 0; }
38427 : #line 38428 "gram.c" /* yacc.c:1646 */
38428 0 : break;
38429 :
38430 : case 1665:
38431 : #line 11235 "gram.y" /* yacc.c:1646 */
38432 : { (yyval.ival) = 0; }
38433 : #line 38434 "gram.c" /* yacc.c:1646 */
38434 0 : break;
38435 :
38436 : case 1666:
38437 : #line 11236 "gram.y" /* yacc.c:1646 */
38438 : { (yyval.ival) = 0; }
38439 : #line 38440 "gram.c" /* yacc.c:1646 */
38440 0 : break;
38441 :
38442 : case 1667:
38443 : #line 11261 "gram.y" /* yacc.c:1646 */
38444 : { (yyval.list) = (yyvsp[0].list); }
38445 : #line 38446 "gram.c" /* yacc.c:1646 */
38446 312 : break;
38447 :
38448 : case 1668:
38449 : #line 11262 "gram.y" /* yacc.c:1646 */
38450 : { (yyval.list) = NIL; }
38451 : #line 38452 "gram.c" /* yacc.c:1646 */
38452 25700 : break;
38453 :
38454 : case 1669:
38455 : #line 11266 "gram.y" /* yacc.c:1646 */
38456 : { (yyval.list) = list_make1((yyvsp[0].node)); }
38457 : #line 38458 "gram.c" /* yacc.c:1646 */
38458 380 : break;
38459 :
38460 : case 1670:
38461 : #line 11267 "gram.y" /* yacc.c:1646 */
38462 : { (yyval.list) = lappend((yyvsp[-2].list),(yyvsp[0].node)); }
38463 : #line 38464 "gram.c" /* yacc.c:1646 */
38464 191 : break;
38465 :
38466 : case 1671:
38467 : #line 11271 "gram.y" /* yacc.c:1646 */
38468 : { (yyval.node) = (yyvsp[0].node); }
38469 : #line 38470 "gram.c" /* yacc.c:1646 */
38470 422 : break;
38471 :
38472 : case 1672:
38473 : #line 11272 "gram.y" /* yacc.c:1646 */
38474 : { (yyval.node) = (yyvsp[0].node); }
38475 : #line 38476 "gram.c" /* yacc.c:1646 */
38476 32 : break;
38477 :
38478 : case 1673:
38479 : #line 11273 "gram.y" /* yacc.c:1646 */
38480 : { (yyval.node) = (yyvsp[0].node); }
38481 : #line 38482 "gram.c" /* yacc.c:1646 */
38482 23 : break;
38483 :
38484 : case 1674:
38485 : #line 11274 "gram.y" /* yacc.c:1646 */
38486 : { (yyval.node) = (yyvsp[0].node); }
38487 : #line 38488 "gram.c" /* yacc.c:1646 */
38488 26 : break;
38489 :
38490 : case 1675:
38491 : #line 11275 "gram.y" /* yacc.c:1646 */
38492 : { (yyval.node) = (yyvsp[0].node); }
38493 : #line 38494 "gram.c" /* yacc.c:1646 */
38494 68 : break;
38495 :
38496 : case 1676:
38497 : #line 11280 "gram.y" /* yacc.c:1646 */
38498 : {
38499 : (yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_EMPTY, NIL, (yylsp[-1]));
38500 : }
38501 : #line 38502 "gram.c" /* yacc.c:1646 */
38502 32 : break;
38503 :
38504 : case 1677:
38505 : #line 11293 "gram.y" /* yacc.c:1646 */
38506 : {
38507 : (yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_ROLLUP, (yyvsp[-1].list), (yylsp[-3]));
38508 : }
38509 : #line 38510 "gram.c" /* yacc.c:1646 */
38510 26 : break;
38511 :
38512 : case 1678:
38513 : #line 11300 "gram.y" /* yacc.c:1646 */
38514 : {
38515 : (yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_CUBE, (yyvsp[-1].list), (yylsp[-3]));
38516 : }
38517 : #line 38518 "gram.c" /* yacc.c:1646 */
38518 23 : break;
38519 :
38520 : case 1679:
38521 : #line 11307 "gram.y" /* yacc.c:1646 */
38522 : {
38523 : (yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_SETS, (yyvsp[-1].list), (yylsp[-4]));
38524 : }
38525 : #line 38526 "gram.c" /* yacc.c:1646 */
38526 68 : break;
38527 :
38528 : case 1680:
38529 : #line 11313 "gram.y" /* yacc.c:1646 */
38530 : { (yyval.node) = (yyvsp[0].node); }
38531 : #line 38532 "gram.c" /* yacc.c:1646 */
38532 31 : break;
38533 :
38534 : case 1681:
38535 : #line 11314 "gram.y" /* yacc.c:1646 */
38536 : { (yyval.node) = NULL; }
38537 : #line 38538 "gram.c" /* yacc.c:1646 */
38538 25981 : break;
38539 :
38540 : case 1682:
38541 : #line 11318 "gram.y" /* yacc.c:1646 */
38542 : { (yyval.list) = (yyvsp[0].list); }
38543 : #line 38544 "gram.c" /* yacc.c:1646 */
38544 138 : break;
38545 :
38546 : case 1683:
38547 : #line 11319 "gram.y" /* yacc.c:1646 */
38548 : { (yyval.list) = NIL; }
38549 : #line 38550 "gram.c" /* yacc.c:1646 */
38550 0 : break;
38551 :
38552 : case 1684:
38553 : #line 11323 "gram.y" /* yacc.c:1646 */
38554 : { (yyval.list) = (yyvsp[0].list); }
38555 : #line 38556 "gram.c" /* yacc.c:1646 */
38556 0 : break;
38557 :
38558 : case 1685:
38559 : #line 11324 "gram.y" /* yacc.c:1646 */
38560 : { (yyval.list) = NIL; }
38561 : #line 38562 "gram.c" /* yacc.c:1646 */
38562 233 : break;
38563 :
38564 : case 1686:
38565 : #line 11328 "gram.y" /* yacc.c:1646 */
38566 : { (yyval.list) = list_make1((yyvsp[0].node)); }
38567 : #line 38568 "gram.c" /* yacc.c:1646 */
38568 138 : break;
38569 :
38570 : case 1687:
38571 : #line 11329 "gram.y" /* yacc.c:1646 */
38572 : { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
38573 : #line 38574 "gram.c" /* yacc.c:1646 */
38574 0 : break;
38575 :
38576 : case 1688:
38577 : #line 11334 "gram.y" /* yacc.c:1646 */
38578 : {
38579 : LockingClause *n = makeNode(LockingClause);
38580 : n->lockedRels = (yyvsp[-1].list);
38581 : n->strength = (yyvsp[-2].ival);
38582 : n->waitPolicy = (yyvsp[0].ival);
38583 : (yyval.node) = (Node *) n;
38584 : }
38585 : #line 38586 "gram.c" /* yacc.c:1646 */
38586 138 : break;
38587 :
38588 : case 1689:
38589 : #line 11344 "gram.y" /* yacc.c:1646 */
38590 : { (yyval.ival) = LCS_FORUPDATE; }
38591 : #line 38592 "gram.c" /* yacc.c:1646 */
38592 17 : break;
38593 :
38594 : case 1690:
38595 : #line 11345 "gram.y" /* yacc.c:1646 */
38596 : { (yyval.ival) = LCS_FORNOKEYUPDATE; }
38597 : #line 38598 "gram.c" /* yacc.c:1646 */
38598 1 : break;
38599 :
38600 : case 1691:
38601 : #line 11346 "gram.y" /* yacc.c:1646 */
38602 : { (yyval.ival) = LCS_FORSHARE; }
38603 : #line 38604 "gram.c" /* yacc.c:1646 */
38604 7 : break;
38605 :
38606 : case 1692:
38607 : #line 11347 "gram.y" /* yacc.c:1646 */
38608 : { (yyval.ival) = LCS_FORKEYSHARE; }
38609 : #line 38610 "gram.c" /* yacc.c:1646 */
38610 113 : break;
38611 :
38612 : case 1693:
38613 : #line 11351 "gram.y" /* yacc.c:1646 */
38614 : { (yyval.list) = (yyvsp[0].list); }
38615 : #line 38616 "gram.c" /* yacc.c:1646 */
38616 114 : break;
38617 :
38618 : case 1694:
38619 : #line 11352 "gram.y" /* yacc.c:1646 */
38620 : { (yyval.list) = NIL; }
38621 : #line 38622 "gram.c" /* yacc.c:1646 */
38622 24 : break;
38623 :
38624 : case 1695:
38625 : #line 11363 "gram.y" /* yacc.c:1646 */
38626 : {
38627 : SelectStmt *n = makeNode(SelectStmt);
38628 : n->valuesLists = list_make1((yyvsp[-1].list));
38629 : (yyval.node) = (Node *) n;
38630 : }
38631 : #line 38632 "gram.c" /* yacc.c:1646 */
38632 3707 : break;
38633 :
38634 : case 1696:
38635 : #line 11369 "gram.y" /* yacc.c:1646 */
38636 : {
38637 : SelectStmt *n = (SelectStmt *) (yyvsp[-4].node);
38638 : n->valuesLists = lappend(n->valuesLists, (yyvsp[-1].list));
38639 : (yyval.node) = (Node *) n;
38640 : }
38641 : #line 38642 "gram.c" /* yacc.c:1646 */
38642 1472 : break;
38643 :
38644 : case 1697:
38645 : #line 11386 "gram.y" /* yacc.c:1646 */
38646 : { (yyval.list) = (yyvsp[0].list); }
38647 : #line 38648 "gram.c" /* yacc.c:1646 */
38648 13153 : break;
38649 :
38650 : case 1698:
38651 : #line 11387 "gram.y" /* yacc.c:1646 */
38652 : { (yyval.list) = NIL; }
38653 : #line 38654 "gram.c" /* yacc.c:1646 */
38654 13434 : break;
38655 :
38656 : case 1699:
38657 : #line 11391 "gram.y" /* yacc.c:1646 */
38658 : { (yyval.list) = list_make1((yyvsp[0].node)); }
38659 : #line 38660 "gram.c" /* yacc.c:1646 */
38660 13198 : break;
38661 :
38662 : case 1700:
38663 : #line 11392 "gram.y" /* yacc.c:1646 */
38664 : { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
38665 : #line 38666 "gram.c" /* yacc.c:1646 */
38666 1411 : break;
38667 :
38668 : case 1701:
38669 : #line 11399 "gram.y" /* yacc.c:1646 */
38670 : {
38671 : (yyvsp[-1].range)->alias = (yyvsp[0].alias);
38672 : (yyval.node) = (Node *) (yyvsp[-1].range);
38673 : }
38674 : #line 38675 "gram.c" /* yacc.c:1646 */
38675 14335 : break;
38676 :
38677 : case 1702:
38678 : #line 11404 "gram.y" /* yacc.c:1646 */
38679 : {
38680 : RangeTableSample *n = (RangeTableSample *) (yyvsp[0].node);
38681 : (yyvsp[-2].range)->alias = (yyvsp[-1].alias);
38682 : /* relation_expr goes inside the RangeTableSample node */
38683 : n->relation = (Node *) (yyvsp[-2].range);
38684 : (yyval.node) = (Node *) n;
38685 : }
38686 : #line 38687 "gram.c" /* yacc.c:1646 */
38687 33 : break;
38688 :
38689 : case 1703:
38690 : #line 11412 "gram.y" /* yacc.c:1646 */
38691 : {
38692 : RangeFunction *n = (RangeFunction *) (yyvsp[-1].node);
38693 : n->alias = linitial((yyvsp[0].list));
38694 : n->coldeflist = lsecond((yyvsp[0].list));
38695 : (yyval.node) = (Node *) n;
38696 : }
38697 : #line 38698 "gram.c" /* yacc.c:1646 */
38698 1296 : break;
38699 :
38700 : case 1704:
38701 : #line 11419 "gram.y" /* yacc.c:1646 */
38702 : {
38703 : RangeFunction *n = (RangeFunction *) (yyvsp[-1].node);
38704 : n->lateral = true;
38705 : n->alias = linitial((yyvsp[0].list));
38706 : n->coldeflist = lsecond((yyvsp[0].list));
38707 : (yyval.node) = (Node *) n;
38708 : }
38709 : #line 38710 "gram.c" /* yacc.c:1646 */
38710 9 : break;
38711 :
38712 : case 1705:
38713 : #line 11427 "gram.y" /* yacc.c:1646 */
38714 : {
38715 : RangeTableFunc *n = (RangeTableFunc *) (yyvsp[-1].node);
38716 : n->alias = (yyvsp[0].alias);
38717 : (yyval.node) = (Node *) n;
38718 : }
38719 : #line 38720 "gram.c" /* yacc.c:1646 */
38720 8 : break;
38721 :
38722 : case 1706:
38723 : #line 11433 "gram.y" /* yacc.c:1646 */
38724 : {
38725 : RangeTableFunc *n = (RangeTableFunc *) (yyvsp[-1].node);
38726 : n->lateral = true;
38727 : n->alias = (yyvsp[0].alias);
38728 : (yyval.node) = (Node *) n;
38729 : }
38730 : #line 38731 "gram.c" /* yacc.c:1646 */
38731 22 : break;
38732 :
38733 : case 1707:
38734 : #line 11440 "gram.y" /* yacc.c:1646 */
38735 : {
38736 : RangeSubselect *n = makeNode(RangeSubselect);
38737 : n->lateral = false;
38738 : n->subquery = (yyvsp[-1].node);
38739 : n->alias = (yyvsp[0].alias);
38740 : /*
38741 : * The SQL spec does not permit a subselect
38742 : * (<derived_table>) without an alias clause,
38743 : * so we don't either. This avoids the problem
38744 : * of needing to invent a unique refname for it.
38745 : * That could be surmounted if there's sufficient
38746 : * popular demand, but for now let's just implement
38747 : * the spec and see if anyone complains.
38748 : * However, it does seem like a good idea to emit
38749 : * an error message that's better than "syntax error".
38750 : */
38751 : if ((yyvsp[0].alias) == NULL)
38752 : {
38753 : if (IsA((yyvsp[-1].node), SelectStmt) &&
38754 : ((SelectStmt *) (yyvsp[-1].node))->valuesLists)
38755 : ereport(ERROR,
38756 : (errcode(ERRCODE_SYNTAX_ERROR),
38757 : errmsg("VALUES in FROM must have an alias"),
38758 : errhint("For example, FROM (VALUES ...) [AS] foo."),
38759 : parser_errposition((yylsp[-1]))));
38760 : else
38761 : ereport(ERROR,
38762 : (errcode(ERRCODE_SYNTAX_ERROR),
38763 : errmsg("subquery in FROM must have an alias"),
38764 : errhint("For example, FROM (SELECT ...) [AS] foo."),
38765 : parser_errposition((yylsp[-1]))));
38766 : }
38767 : (yyval.node) = (Node *) n;
38768 : }
38769 : #line 38770 "gram.c" /* yacc.c:1646 */
38770 731 : break;
38771 :
38772 : case 1708:
38773 : #line 11475 "gram.y" /* yacc.c:1646 */
38774 : {
38775 : RangeSubselect *n = makeNode(RangeSubselect);
38776 : n->lateral = true;
38777 : n->subquery = (yyvsp[-1].node);
38778 : n->alias = (yyvsp[0].alias);
38779 : /* same comment as above */
38780 : if ((yyvsp[0].alias) == NULL)
38781 : {
38782 : if (IsA((yyvsp[-1].node), SelectStmt) &&
38783 : ((SelectStmt *) (yyvsp[-1].node))->valuesLists)
38784 : ereport(ERROR,
38785 : (errcode(ERRCODE_SYNTAX_ERROR),
38786 : errmsg("VALUES in FROM must have an alias"),
38787 : errhint("For example, FROM (VALUES ...) [AS] foo."),
38788 : parser_errposition((yylsp[-1]))));
38789 : else
38790 : ereport(ERROR,
38791 : (errcode(ERRCODE_SYNTAX_ERROR),
38792 : errmsg("subquery in FROM must have an alias"),
38793 : errhint("For example, FROM (SELECT ...) [AS] foo."),
38794 : parser_errposition((yylsp[-1]))));
38795 : }
38796 : (yyval.node) = (Node *) n;
38797 : }
38798 : #line 38799 "gram.c" /* yacc.c:1646 */
38799 87 : break;
38800 :
38801 : case 1709:
38802 : #line 11500 "gram.y" /* yacc.c:1646 */
38803 : {
38804 : (yyval.node) = (Node *) (yyvsp[0].jexpr);
38805 : }
38806 : #line 38807 "gram.c" /* yacc.c:1646 */
38807 1902 : break;
38808 :
38809 : case 1710:
38810 : #line 11504 "gram.y" /* yacc.c:1646 */
38811 : {
38812 : (yyvsp[-2].jexpr)->alias = (yyvsp[0].alias);
38813 : (yyval.node) = (Node *) (yyvsp[-2].jexpr);
38814 : }
38815 : #line 38816 "gram.c" /* yacc.c:1646 */
38816 10 : break;
38817 :
38818 : case 1711:
38819 : #line 11530 "gram.y" /* yacc.c:1646 */
38820 : {
38821 : (yyval.jexpr) = (yyvsp[-1].jexpr);
38822 : }
38823 : #line 38824 "gram.c" /* yacc.c:1646 */
38824 43 : break;
38825 :
38826 : case 1712:
38827 : #line 11534 "gram.y" /* yacc.c:1646 */
38828 : {
38829 : /* CROSS JOIN is same as unqualified inner join */
38830 : JoinExpr *n = makeNode(JoinExpr);
38831 : n->jointype = JOIN_INNER;
38832 : n->isNatural = FALSE;
38833 : n->larg = (yyvsp[-3].node);
38834 : n->rarg = (yyvsp[0].node);
38835 : n->usingClause = NIL;
38836 : n->quals = NULL;
38837 : (yyval.jexpr) = n;
38838 : }
38839 : #line 38840 "gram.c" /* yacc.c:1646 */
38840 27 : break;
38841 :
38842 : case 1713:
38843 : #line 11546 "gram.y" /* yacc.c:1646 */
38844 : {
38845 : JoinExpr *n = makeNode(JoinExpr);
38846 : n->jointype = (yyvsp[-3].jtype);
38847 : n->isNatural = FALSE;
38848 : n->larg = (yyvsp[-4].node);
38849 : n->rarg = (yyvsp[-1].node);
38850 : if ((yyvsp[0].node) != NULL && IsA((yyvsp[0].node), List))
38851 : n->usingClause = (List *) (yyvsp[0].node); /* USING clause */
38852 : else
38853 : n->quals = (yyvsp[0].node); /* ON clause */
38854 : (yyval.jexpr) = n;
38855 : }
38856 : #line 38857 "gram.c" /* yacc.c:1646 */
38857 1007 : break;
38858 :
38859 : case 1714:
38860 : #line 11559 "gram.y" /* yacc.c:1646 */
38861 : {
38862 : /* letting join_type reduce to empty doesn't work */
38863 : JoinExpr *n = makeNode(JoinExpr);
38864 : n->jointype = JOIN_INNER;
38865 : n->isNatural = FALSE;
38866 : n->larg = (yyvsp[-3].node);
38867 : n->rarg = (yyvsp[-1].node);
38868 : if ((yyvsp[0].node) != NULL && IsA((yyvsp[0].node), List))
38869 : n->usingClause = (List *) (yyvsp[0].node); /* USING clause */
38870 : else
38871 : n->quals = (yyvsp[0].node); /* ON clause */
38872 : (yyval.jexpr) = n;
38873 : }
38874 : #line 38875 "gram.c" /* yacc.c:1646 */
38875 838 : break;
38876 :
38877 : case 1715:
38878 : #line 11573 "gram.y" /* yacc.c:1646 */
38879 : {
38880 : JoinExpr *n = makeNode(JoinExpr);
38881 : n->jointype = (yyvsp[-2].jtype);
38882 : n->isNatural = TRUE;
38883 : n->larg = (yyvsp[-4].node);
38884 : n->rarg = (yyvsp[0].node);
38885 : n->usingClause = NIL; /* figure out which columns later... */
38886 : n->quals = NULL; /* fill later */
38887 : (yyval.jexpr) = n;
38888 : }
38889 : #line 38890 "gram.c" /* yacc.c:1646 */
38890 13 : break;
38891 :
38892 : case 1716:
38893 : #line 11584 "gram.y" /* yacc.c:1646 */
38894 : {
38895 : /* letting join_type reduce to empty doesn't work */
38896 : JoinExpr *n = makeNode(JoinExpr);
38897 : n->jointype = JOIN_INNER;
38898 : n->isNatural = TRUE;
38899 : n->larg = (yyvsp[-3].node);
38900 : n->rarg = (yyvsp[0].node);
38901 : n->usingClause = NIL; /* figure out which columns later... */
38902 : n->quals = NULL; /* fill later */
38903 : (yyval.jexpr) = n;
38904 : }
38905 : #line 38906 "gram.c" /* yacc.c:1646 */
38906 27 : break;
38907 :
38908 : case 1717:
38909 : #line 11599 "gram.y" /* yacc.c:1646 */
38910 : {
38911 : (yyval.alias) = makeNode(Alias);
38912 : (yyval.alias)->aliasname = (yyvsp[-3].str);
38913 : (yyval.alias)->colnames = (yyvsp[-1].list);
38914 : }
38915 : #line 38916 "gram.c" /* yacc.c:1646 */
38916 144 : break;
38917 :
38918 : case 1718:
38919 : #line 11605 "gram.y" /* yacc.c:1646 */
38920 : {
38921 : (yyval.alias) = makeNode(Alias);
38922 : (yyval.alias)->aliasname = (yyvsp[0].str);
38923 : }
38924 : #line 38925 "gram.c" /* yacc.c:1646 */
38925 571 : break;
38926 :
38927 : case 1719:
38928 : #line 11610 "gram.y" /* yacc.c:1646 */
38929 : {
38930 : (yyval.alias) = makeNode(Alias);
38931 : (yyval.alias)->aliasname = (yyvsp[-3].str);
38932 : (yyval.alias)->colnames = (yyvsp[-1].list);
38933 : }
38934 : #line 38935 "gram.c" /* yacc.c:1646 */
38935 584 : break;
38936 :
38937 : case 1720:
38938 : #line 11616 "gram.y" /* yacc.c:1646 */
38939 : {
38940 : (yyval.alias) = makeNode(Alias);
38941 : (yyval.alias)->aliasname = (yyvsp[0].str);
38942 : }
38943 : #line 38944 "gram.c" /* yacc.c:1646 */
38944 7520 : break;
38945 :
38946 : case 1721:
38947 : #line 11622 "gram.y" /* yacc.c:1646 */
38948 : { (yyval.alias) = (yyvsp[0].alias); }
38949 : #line 38950 "gram.c" /* yacc.c:1646 */
38950 7869 : break;
38951 :
38952 : case 1722:
38953 : #line 11623 "gram.y" /* yacc.c:1646 */
38954 : { (yyval.alias) = NULL; }
38955 : #line 38956 "gram.c" /* yacc.c:1646 */
38956 7347 : break;
38957 :
38958 : case 1723:
38959 : #line 11632 "gram.y" /* yacc.c:1646 */
38960 : {
38961 : (yyval.list) = list_make2((yyvsp[0].alias), NIL);
38962 : }
38963 : #line 38964 "gram.c" /* yacc.c:1646 */
38964 940 : break;
38965 :
38966 : case 1724:
38967 : #line 11636 "gram.y" /* yacc.c:1646 */
38968 : {
38969 : (yyval.list) = list_make2(NULL, (yyvsp[-1].list));
38970 : }
38971 : #line 38972 "gram.c" /* yacc.c:1646 */
38972 6 : break;
38973 :
38974 : case 1725:
38975 : #line 11640 "gram.y" /* yacc.c:1646 */
38976 : {
38977 : Alias *a = makeNode(Alias);
38978 : a->aliasname = (yyvsp[-3].str);
38979 : (yyval.list) = list_make2(a, (yyvsp[-1].list));
38980 : }
38981 : #line 38982 "gram.c" /* yacc.c:1646 */
38982 32 : break;
38983 :
38984 : case 1726:
38985 : #line 11646 "gram.y" /* yacc.c:1646 */
38986 : {
38987 : Alias *a = makeNode(Alias);
38988 : a->aliasname = (yyvsp[-3].str);
38989 : (yyval.list) = list_make2(a, (yyvsp[-1].list));
38990 : }
38991 : #line 38992 "gram.c" /* yacc.c:1646 */
38992 0 : break;
38993 :
38994 : case 1727:
38995 : #line 11652 "gram.y" /* yacc.c:1646 */
38996 : {
38997 : (yyval.list) = list_make2(NULL, NIL);
38998 : }
38999 : #line 39000 "gram.c" /* yacc.c:1646 */
39000 327 : break;
39001 :
39002 : case 1728:
39003 : #line 11657 "gram.y" /* yacc.c:1646 */
39004 : { (yyval.jtype) = JOIN_FULL; }
39005 : #line 39006 "gram.c" /* yacc.c:1646 */
39006 37 : break;
39007 :
39008 : case 1729:
39009 : #line 11658 "gram.y" /* yacc.c:1646 */
39010 : { (yyval.jtype) = JOIN_LEFT; }
39011 : #line 39012 "gram.c" /* yacc.c:1646 */
39012 909 : break;
39013 :
39014 : case 1730:
39015 : #line 11659 "gram.y" /* yacc.c:1646 */
39016 : { (yyval.jtype) = JOIN_RIGHT; }
39017 : #line 39018 "gram.c" /* yacc.c:1646 */
39018 19 : break;
39019 :
39020 : case 1731:
39021 : #line 11660 "gram.y" /* yacc.c:1646 */
39022 : { (yyval.jtype) = JOIN_INNER; }
39023 : #line 39024 "gram.c" /* yacc.c:1646 */
39024 55 : break;
39025 :
39026 : case 1732:
39027 : #line 11664 "gram.y" /* yacc.c:1646 */
39028 : { (yyval.node) = NULL; }
39029 : #line 39030 "gram.c" /* yacc.c:1646 */
39030 36 : break;
39031 :
39032 : case 1733:
39033 : #line 11665 "gram.y" /* yacc.c:1646 */
39034 : { (yyval.node) = NULL; }
39035 : #line 39036 "gram.c" /* yacc.c:1646 */
39036 929 : break;
39037 :
39038 : case 1734:
39039 : #line 11677 "gram.y" /* yacc.c:1646 */
39040 : { (yyval.node) = (Node *) (yyvsp[-1].list); }
39041 : #line 39042 "gram.c" /* yacc.c:1646 */
39042 62 : break;
39043 :
39044 : case 1735:
39045 : #line 11678 "gram.y" /* yacc.c:1646 */
39046 : { (yyval.node) = (yyvsp[0].node); }
39047 : #line 39048 "gram.c" /* yacc.c:1646 */
39048 1783 : break;
39049 :
39050 : case 1736:
39051 : #line 11684 "gram.y" /* yacc.c:1646 */
39052 : {
39053 : /* inheritance query, implicitly */
39054 : (yyval.range) = (yyvsp[0].range);
39055 : (yyval.range)->inh = true;
39056 : (yyval.range)->alias = NULL;
39057 : }
39058 : #line 39059 "gram.c" /* yacc.c:1646 */
39059 16176 : break;
39060 :
39061 : case 1737:
39062 : #line 11691 "gram.y" /* yacc.c:1646 */
39063 : {
39064 : /* inheritance query, explicitly */
39065 : (yyval.range) = (yyvsp[-1].range);
39066 : (yyval.range)->inh = true;
39067 : (yyval.range)->alias = NULL;
39068 : }
39069 : #line 39070 "gram.c" /* yacc.c:1646 */
39070 30 : break;
39071 :
39072 : case 1738:
39073 : #line 11698 "gram.y" /* yacc.c:1646 */
39074 : {
39075 : /* no inheritance */
39076 : (yyval.range) = (yyvsp[0].range);
39077 : (yyval.range)->inh = false;
39078 : (yyval.range)->alias = NULL;
39079 : }
39080 : #line 39081 "gram.c" /* yacc.c:1646 */
39081 269 : break;
39082 :
39083 : case 1739:
39084 : #line 11705 "gram.y" /* yacc.c:1646 */
39085 : {
39086 : /* no inheritance, SQL99-style syntax */
39087 : (yyval.range) = (yyvsp[-1].range);
39088 : (yyval.range)->inh = false;
39089 : (yyval.range)->alias = NULL;
39090 : }
39091 : #line 39092 "gram.c" /* yacc.c:1646 */
39092 0 : break;
39093 :
39094 : case 1740:
39095 : #line 11715 "gram.y" /* yacc.c:1646 */
39096 : { (yyval.list) = list_make1((yyvsp[0].range)); }
39097 : #line 39098 "gram.c" /* yacc.c:1646 */
39098 133 : break;
39099 :
39100 : case 1741:
39101 : #line 11716 "gram.y" /* yacc.c:1646 */
39102 : { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].range)); }
39103 : #line 39104 "gram.c" /* yacc.c:1646 */
39104 30 : break;
39105 :
39106 : case 1742:
39107 : #line 11730 "gram.y" /* yacc.c:1646 */
39108 : {
39109 : (yyval.range) = (yyvsp[0].range);
39110 : }
39111 : #line 39112 "gram.c" /* yacc.c:1646 */
39112 906 : break;
39113 :
39114 : case 1743:
39115 : #line 11734 "gram.y" /* yacc.c:1646 */
39116 : {
39117 : Alias *alias = makeNode(Alias);
39118 : alias->aliasname = (yyvsp[0].str);
39119 : (yyvsp[-1].range)->alias = alias;
39120 : (yyval.range) = (yyvsp[-1].range);
39121 : }
39122 : #line 39123 "gram.c" /* yacc.c:1646 */
39123 16 : break;
39124 :
39125 : case 1744:
39126 : #line 11741 "gram.y" /* yacc.c:1646 */
39127 : {
39128 : Alias *alias = makeNode(Alias);
39129 : alias->aliasname = (yyvsp[0].str);
39130 : (yyvsp[-2].range)->alias = alias;
39131 : (yyval.range) = (yyvsp[-2].range);
39132 : }
39133 : #line 39134 "gram.c" /* yacc.c:1646 */
39134 4 : break;
39135 :
39136 : case 1745:
39137 : #line 11754 "gram.y" /* yacc.c:1646 */
39138 : {
39139 : RangeTableSample *n = makeNode(RangeTableSample);
39140 : /* n->relation will be filled in later */
39141 : n->method = (yyvsp[-4].list);
39142 : n->args = (yyvsp[-2].list);
39143 : n->repeatable = (yyvsp[0].node);
39144 : n->location = (yylsp[-4]);
39145 : (yyval.node) = (Node *) n;
39146 : }
39147 : #line 39148 "gram.c" /* yacc.c:1646 */
39148 33 : break;
39149 :
39150 : case 1746:
39151 : #line 11766 "gram.y" /* yacc.c:1646 */
39152 : { (yyval.node) = (Node *) (yyvsp[-1].node); }
39153 : #line 39154 "gram.c" /* yacc.c:1646 */
39154 15 : break;
39155 :
39156 : case 1747:
39157 : #line 11767 "gram.y" /* yacc.c:1646 */
39158 : { (yyval.node) = NULL; }
39159 : #line 39160 "gram.c" /* yacc.c:1646 */
39160 18 : break;
39161 :
39162 : case 1748:
39163 : #line 11783 "gram.y" /* yacc.c:1646 */
39164 : {
39165 : RangeFunction *n = makeNode(RangeFunction);
39166 : n->lateral = false;
39167 : n->ordinality = (yyvsp[0].boolean);
39168 : n->is_rowsfrom = false;
39169 : n->functions = list_make1(list_make2((yyvsp[-1].node), NIL));
39170 : /* alias and coldeflist are set by table_ref production */
39171 : (yyval.node) = (Node *) n;
39172 : }
39173 : #line 39174 "gram.c" /* yacc.c:1646 */
39174 1284 : break;
39175 :
39176 : case 1749:
39177 : #line 11793 "gram.y" /* yacc.c:1646 */
39178 : {
39179 : RangeFunction *n = makeNode(RangeFunction);
39180 : n->lateral = false;
39181 : n->ordinality = (yyvsp[0].boolean);
39182 : n->is_rowsfrom = true;
39183 : n->functions = (yyvsp[-2].list);
39184 : /* alias and coldeflist are set by table_ref production */
39185 : (yyval.node) = (Node *) n;
39186 : }
39187 : #line 39188 "gram.c" /* yacc.c:1646 */
39188 22 : break;
39189 :
39190 : case 1750:
39191 : #line 11805 "gram.y" /* yacc.c:1646 */
39192 : { (yyval.list) = list_make2((yyvsp[-1].node), (yyvsp[0].list)); }
39193 : #line 39194 "gram.c" /* yacc.c:1646 */
39194 53 : break;
39195 :
39196 : case 1751:
39197 : #line 11809 "gram.y" /* yacc.c:1646 */
39198 : { (yyval.list) = list_make1((yyvsp[0].list)); }
39199 : #line 39200 "gram.c" /* yacc.c:1646 */
39200 22 : break;
39201 :
39202 : case 1752:
39203 : #line 11810 "gram.y" /* yacc.c:1646 */
39204 : { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].list)); }
39205 : #line 39206 "gram.c" /* yacc.c:1646 */
39206 31 : break;
39207 :
39208 : case 1753:
39209 : #line 11813 "gram.y" /* yacc.c:1646 */
39210 : { (yyval.list) = (yyvsp[-1].list); }
39211 : #line 39212 "gram.c" /* yacc.c:1646 */
39212 9 : break;
39213 :
39214 : case 1754:
39215 : #line 11814 "gram.y" /* yacc.c:1646 */
39216 : { (yyval.list) = NIL; }
39217 : #line 39218 "gram.c" /* yacc.c:1646 */
39218 44 : break;
39219 :
39220 : case 1755:
39221 : #line 11817 "gram.y" /* yacc.c:1646 */
39222 : { (yyval.boolean) = true; }
39223 : #line 39224 "gram.c" /* yacc.c:1646 */
39224 61 : break;
39225 :
39226 : case 1756:
39227 : #line 11818 "gram.y" /* yacc.c:1646 */
39228 : { (yyval.boolean) = false; }
39229 : #line 39230 "gram.c" /* yacc.c:1646 */
39230 1245 : break;
39231 :
39232 : case 1757:
39233 : #line 11823 "gram.y" /* yacc.c:1646 */
39234 : { (yyval.node) = (yyvsp[0].node); }
39235 : #line 39236 "gram.c" /* yacc.c:1646 */
39236 7995 : break;
39237 :
39238 : case 1758:
39239 : #line 11824 "gram.y" /* yacc.c:1646 */
39240 : { (yyval.node) = NULL; }
39241 : #line 39242 "gram.c" /* yacc.c:1646 */
39242 18705 : break;
39243 :
39244 : case 1759:
39245 : #line 11829 "gram.y" /* yacc.c:1646 */
39246 : { (yyval.node) = (yyvsp[0].node); }
39247 : #line 39248 "gram.c" /* yacc.c:1646 */
39248 582 : break;
39249 :
39250 : case 1760:
39251 : #line 11831 "gram.y" /* yacc.c:1646 */
39252 : {
39253 : CurrentOfExpr *n = makeNode(CurrentOfExpr);
39254 : /* cvarno is filled in by parse analysis */
39255 : n->cursor_name = (yyvsp[0].str);
39256 : n->cursor_param = 0;
39257 : (yyval.node) = (Node *) n;
39258 : }
39259 : #line 39260 "gram.c" /* yacc.c:1646 */
39260 38 : break;
39261 :
39262 : case 1761:
39263 : #line 11838 "gram.y" /* yacc.c:1646 */
39264 : { (yyval.node) = NULL; }
39265 : #line 39266 "gram.c" /* yacc.c:1646 */
39266 306 : break;
39267 :
39268 : case 1762:
39269 : #line 11843 "gram.y" /* yacc.c:1646 */
39270 : { (yyval.list) = (yyvsp[0].list); }
39271 : #line 39272 "gram.c" /* yacc.c:1646 */
39272 50 : break;
39273 :
39274 : case 1763:
39275 : #line 11844 "gram.y" /* yacc.c:1646 */
39276 : { (yyval.list) = NIL; }
39277 : #line 39278 "gram.c" /* yacc.c:1646 */
39278 1 : break;
39279 :
39280 : case 1764:
39281 : #line 11849 "gram.y" /* yacc.c:1646 */
39282 : {
39283 : (yyval.list) = list_make1((yyvsp[0].node));
39284 : }
39285 : #line 39286 "gram.c" /* yacc.c:1646 */
39286 97 : break;
39287 :
39288 : case 1765:
39289 : #line 11853 "gram.y" /* yacc.c:1646 */
39290 : {
39291 : (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
39292 : }
39293 : #line 39294 "gram.c" /* yacc.c:1646 */
39294 141 : break;
39295 :
39296 : case 1766:
39297 : #line 11859 "gram.y" /* yacc.c:1646 */
39298 : {
39299 : ColumnDef *n = makeNode(ColumnDef);
39300 : n->colname = (yyvsp[-2].str);
39301 : n->typeName = (yyvsp[-1].typnam);
39302 : n->inhcount = 0;
39303 : n->is_local = true;
39304 : n->is_not_null = false;
39305 : n->is_from_type = false;
39306 : n->is_from_parent = false;
39307 : n->storage = 0;
39308 : n->raw_default = NULL;
39309 : n->cooked_default = NULL;
39310 : n->collClause = (CollateClause *) (yyvsp[0].node);
39311 : n->collOid = InvalidOid;
39312 : n->constraints = NIL;
39313 : n->location = (yylsp[-2]);
39314 : (yyval.node) = (Node *)n;
39315 : }
39316 : #line 39317 "gram.c" /* yacc.c:1646 */
39317 247 : break;
39318 :
39319 : case 1767:
39320 : #line 11884 "gram.y" /* yacc.c:1646 */
39321 : {
39322 : RangeTableFunc *n = makeNode(RangeTableFunc);
39323 : n->rowexpr = (yyvsp[-4].node);
39324 : n->docexpr = (yyvsp[-3].node);
39325 : n->columns = (yyvsp[-1].list);
39326 : n->namespaces = NIL;
39327 : n->location = (yylsp[-6]);
39328 : (yyval.node) = (Node *)n;
39329 : }
39330 : #line 39331 "gram.c" /* yacc.c:1646 */
39331 27 : break;
39332 :
39333 : case 1768:
39334 : #line 11895 "gram.y" /* yacc.c:1646 */
39335 : {
39336 : RangeTableFunc *n = makeNode(RangeTableFunc);
39337 : n->rowexpr = (yyvsp[-4].node);
39338 : n->docexpr = (yyvsp[-3].node);
39339 : n->columns = (yyvsp[-1].list);
39340 : n->namespaces = (yyvsp[-7].list);
39341 : n->location = (yylsp[-11]);
39342 : (yyval.node) = (Node *)n;
39343 : }
39344 : #line 39345 "gram.c" /* yacc.c:1646 */
39345 3 : break;
39346 :
39347 : case 1769:
39348 : #line 11906 "gram.y" /* yacc.c:1646 */
39349 : { (yyval.list) = list_make1((yyvsp[0].node)); }
39350 : #line 39351 "gram.c" /* yacc.c:1646 */
39351 30 : break;
39352 :
39353 : case 1770:
39354 : #line 11907 "gram.y" /* yacc.c:1646 */
39355 : { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
39356 : #line 39357 "gram.c" /* yacc.c:1646 */
39357 79 : break;
39358 :
39359 : case 1771:
39360 : #line 11912 "gram.y" /* yacc.c:1646 */
39361 : {
39362 : RangeTableFuncCol *fc = makeNode(RangeTableFuncCol);
39363 :
39364 : fc->colname = (yyvsp[-1].str);
39365 : fc->for_ordinality = false;
39366 : fc->typeName = (yyvsp[0].typnam);
39367 : fc->is_not_null = false;
39368 : fc->colexpr = NULL;
39369 : fc->coldefexpr = NULL;
39370 : fc->location = (yylsp[-1]);
39371 :
39372 : (yyval.node) = (Node *) fc;
39373 : }
39374 : #line 39375 "gram.c" /* yacc.c:1646 */
39375 30 : break;
39376 :
39377 : case 1772:
39378 : #line 11926 "gram.y" /* yacc.c:1646 */
39379 : {
39380 : RangeTableFuncCol *fc = makeNode(RangeTableFuncCol);
39381 : ListCell *option;
39382 : bool nullability_seen = false;
39383 :
39384 : fc->colname = (yyvsp[-2].str);
39385 : fc->typeName = (yyvsp[-1].typnam);
39386 : fc->for_ordinality = false;
39387 : fc->is_not_null = false;
39388 : fc->colexpr = NULL;
39389 : fc->coldefexpr = NULL;
39390 : fc->location = (yylsp[-2]);
39391 :
39392 : foreach(option, (yyvsp[0].list))
39393 : {
39394 : DefElem *defel = (DefElem *) lfirst(option);
39395 :
39396 : if (strcmp(defel->defname, "default") == 0)
39397 : {
39398 : if (fc->coldefexpr != NULL)
39399 : ereport(ERROR,
39400 : (errcode(ERRCODE_SYNTAX_ERROR),
39401 : errmsg("only one DEFAULT value is allowed"),
39402 : parser_errposition(defel->location)));
39403 : fc->coldefexpr = defel->arg;
39404 : }
39405 : else if (strcmp(defel->defname, "path") == 0)
39406 : {
39407 : if (fc->colexpr != NULL)
39408 : ereport(ERROR,
39409 : (errcode(ERRCODE_SYNTAX_ERROR),
39410 : errmsg("only one PATH value per column is allowed"),
39411 : parser_errposition(defel->location)));
39412 : fc->colexpr = defel->arg;
39413 : }
39414 : else if (strcmp(defel->defname, "is_not_null") == 0)
39415 : {
39416 : if (nullability_seen)
39417 : ereport(ERROR,
39418 : (errcode(ERRCODE_SYNTAX_ERROR),
39419 : errmsg("conflicting or redundant NULL / NOT NULL declarations for column \"%s\"", fc->colname),
39420 : parser_errposition(defel->location)));
39421 : fc->is_not_null = intVal(defel->arg);
39422 : nullability_seen = true;
39423 : }
39424 : else
39425 : {
39426 : ereport(ERROR,
39427 : (errcode(ERRCODE_SYNTAX_ERROR),
39428 : errmsg("unrecognized column option \"%s\"",
39429 : defel->defname),
39430 : parser_errposition(defel->location)));
39431 : }
39432 : }
39433 : (yyval.node) = (Node *) fc;
39434 : }
39435 : #line 39436 "gram.c" /* yacc.c:1646 */
39436 69 : break;
39437 :
39438 : case 1773:
39439 : #line 11983 "gram.y" /* yacc.c:1646 */
39440 : {
39441 : RangeTableFuncCol *fc = makeNode(RangeTableFuncCol);
39442 :
39443 : fc->colname = (yyvsp[-2].str);
39444 : fc->for_ordinality = true;
39445 : /* other fields are ignored, initialized by makeNode */
39446 : fc->location = (yylsp[-2]);
39447 :
39448 : (yyval.node) = (Node *) fc;
39449 : }
39450 : #line 39451 "gram.c" /* yacc.c:1646 */
39451 10 : break;
39452 :
39453 : case 1774:
39454 : #line 11997 "gram.y" /* yacc.c:1646 */
39455 : { (yyval.list) = list_make1((yyvsp[0].defelt)); }
39456 : #line 39457 "gram.c" /* yacc.c:1646 */
39457 69 : break;
39458 :
39459 : case 1775:
39460 : #line 11999 "gram.y" /* yacc.c:1646 */
39461 : { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
39462 : #line 39463 "gram.c" /* yacc.c:1646 */
39463 18 : break;
39464 :
39465 : case 1776:
39466 : #line 12004 "gram.y" /* yacc.c:1646 */
39467 : { (yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1])); }
39468 : #line 39469 "gram.c" /* yacc.c:1646 */
39469 69 : break;
39470 :
39471 : case 1777:
39472 : #line 12006 "gram.y" /* yacc.c:1646 */
39473 : { (yyval.defelt) = makeDefElem("default", (yyvsp[0].node), (yylsp[-1])); }
39474 : #line 39475 "gram.c" /* yacc.c:1646 */
39475 9 : break;
39476 :
39477 : case 1778:
39478 : #line 12008 "gram.y" /* yacc.c:1646 */
39479 : { (yyval.defelt) = makeDefElem("is_not_null", (Node *) makeInteger(true), (yylsp[-1])); }
39480 : #line 39481 "gram.c" /* yacc.c:1646 */
39481 9 : break;
39482 :
39483 : case 1779:
39484 : #line 12010 "gram.y" /* yacc.c:1646 */
39485 : { (yyval.defelt) = makeDefElem("is_not_null", (Node *) makeInteger(false), (yylsp[0])); }
39486 : #line 39487 "gram.c" /* yacc.c:1646 */
39487 0 : break;
39488 :
39489 : case 1780:
39490 : #line 12015 "gram.y" /* yacc.c:1646 */
39491 : { (yyval.list) = list_make1((yyvsp[0].target)); }
39492 : #line 39493 "gram.c" /* yacc.c:1646 */
39493 3 : break;
39494 :
39495 : case 1781:
39496 : #line 12017 "gram.y" /* yacc.c:1646 */
39497 : { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
39498 : #line 39499 "gram.c" /* yacc.c:1646 */
39499 0 : break;
39500 :
39501 : case 1782:
39502 : #line 12022 "gram.y" /* yacc.c:1646 */
39503 : {
39504 : (yyval.target) = makeNode(ResTarget);
39505 : (yyval.target)->name = (yyvsp[0].str);
39506 : (yyval.target)->indirection = NIL;
39507 : (yyval.target)->val = (yyvsp[-2].node);
39508 : (yyval.target)->location = (yylsp[-2]);
39509 : }
39510 : #line 39511 "gram.c" /* yacc.c:1646 */
39511 2 : break;
39512 :
39513 : case 1783:
39514 : #line 12030 "gram.y" /* yacc.c:1646 */
39515 : {
39516 : (yyval.target) = makeNode(ResTarget);
39517 : (yyval.target)->name = NULL;
39518 : (yyval.target)->indirection = NIL;
39519 : (yyval.target)->val = (yyvsp[0].node);
39520 : (yyval.target)->location = (yylsp[-1]);
39521 : }
39522 : #line 39523 "gram.c" /* yacc.c:1646 */
39523 1 : break;
39524 :
39525 : case 1784:
39526 : #line 12050 "gram.y" /* yacc.c:1646 */
39527 : {
39528 : (yyval.typnam) = (yyvsp[-1].typnam);
39529 : (yyval.typnam)->arrayBounds = (yyvsp[0].list);
39530 : }
39531 : #line 39532 "gram.c" /* yacc.c:1646 */
39532 15201 : break;
39533 :
39534 : case 1785:
39535 : #line 12055 "gram.y" /* yacc.c:1646 */
39536 : {
39537 : (yyval.typnam) = (yyvsp[-1].typnam);
39538 : (yyval.typnam)->arrayBounds = (yyvsp[0].list);
39539 : (yyval.typnam)->setof = TRUE;
39540 : }
39541 : #line 39542 "gram.c" /* yacc.c:1646 */
39542 63 : break;
39543 :
39544 : case 1786:
39545 : #line 12062 "gram.y" /* yacc.c:1646 */
39546 : {
39547 : (yyval.typnam) = (yyvsp[-4].typnam);
39548 : (yyval.typnam)->arrayBounds = list_make1(makeInteger((yyvsp[-1].ival)));
39549 : }
39550 : #line 39551 "gram.c" /* yacc.c:1646 */
39551 1 : break;
39552 :
39553 : case 1787:
39554 : #line 12067 "gram.y" /* yacc.c:1646 */
39555 : {
39556 : (yyval.typnam) = (yyvsp[-4].typnam);
39557 : (yyval.typnam)->arrayBounds = list_make1(makeInteger((yyvsp[-1].ival)));
39558 : (yyval.typnam)->setof = TRUE;
39559 : }
39560 : #line 39561 "gram.c" /* yacc.c:1646 */
39561 0 : break;
39562 :
39563 : case 1788:
39564 : #line 12073 "gram.y" /* yacc.c:1646 */
39565 : {
39566 : (yyval.typnam) = (yyvsp[-1].typnam);
39567 : (yyval.typnam)->arrayBounds = list_make1(makeInteger(-1));
39568 : }
39569 : #line 39570 "gram.c" /* yacc.c:1646 */
39570 0 : break;
39571 :
39572 : case 1789:
39573 : #line 12078 "gram.y" /* yacc.c:1646 */
39574 : {
39575 : (yyval.typnam) = (yyvsp[-1].typnam);
39576 : (yyval.typnam)->arrayBounds = list_make1(makeInteger(-1));
39577 : (yyval.typnam)->setof = TRUE;
39578 : }
39579 : #line 39580 "gram.c" /* yacc.c:1646 */
39580 0 : break;
39581 :
39582 : case 1790:
39583 : #line 12087 "gram.y" /* yacc.c:1646 */
39584 : { (yyval.list) = lappend((yyvsp[-2].list), makeInteger(-1)); }
39585 : #line 39586 "gram.c" /* yacc.c:1646 */
39586 383 : break;
39587 :
39588 : case 1791:
39589 : #line 12089 "gram.y" /* yacc.c:1646 */
39590 : { (yyval.list) = lappend((yyvsp[-3].list), makeInteger((yyvsp[-1].ival))); }
39591 : #line 39592 "gram.c" /* yacc.c:1646 */
39592 7 : break;
39593 :
39594 : case 1792:
39595 : #line 12091 "gram.y" /* yacc.c:1646 */
39596 : { (yyval.list) = NIL; }
39597 : #line 39598 "gram.c" /* yacc.c:1646 */
39598 15264 : break;
39599 :
39600 : case 1793:
39601 : #line 12095 "gram.y" /* yacc.c:1646 */
39602 : { (yyval.typnam) = (yyvsp[0].typnam); }
39603 : #line 39604 "gram.c" /* yacc.c:1646 */
39604 10894 : break;
39605 :
39606 : case 1794:
39607 : #line 12096 "gram.y" /* yacc.c:1646 */
39608 : { (yyval.typnam) = (yyvsp[0].typnam); }
39609 : #line 39610 "gram.c" /* yacc.c:1646 */
39610 3740 : break;
39611 :
39612 : case 1795:
39613 : #line 12097 "gram.y" /* yacc.c:1646 */
39614 : { (yyval.typnam) = (yyvsp[0].typnam); }
39615 : #line 39616 "gram.c" /* yacc.c:1646 */
39616 222 : break;
39617 :
39618 : case 1796:
39619 : #line 12098 "gram.y" /* yacc.c:1646 */
39620 : { (yyval.typnam) = (yyvsp[0].typnam); }
39621 : #line 39622 "gram.c" /* yacc.c:1646 */
39622 208 : break;
39623 :
39624 : case 1797:
39625 : #line 12099 "gram.y" /* yacc.c:1646 */
39626 : { (yyval.typnam) = (yyvsp[0].typnam); }
39627 : #line 39628 "gram.c" /* yacc.c:1646 */
39628 177 : break;
39629 :
39630 : case 1798:
39631 : #line 12101 "gram.y" /* yacc.c:1646 */
39632 : {
39633 : (yyval.typnam) = (yyvsp[-1].typnam);
39634 : (yyval.typnam)->typmods = (yyvsp[0].list);
39635 : }
39636 : #line 39637 "gram.c" /* yacc.c:1646 */
39637 53 : break;
39638 :
39639 : case 1799:
39640 : #line 12106 "gram.y" /* yacc.c:1646 */
39641 : {
39642 : (yyval.typnam) = (yyvsp[-3].typnam);
39643 : (yyval.typnam)->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1),
39644 : makeIntConst((yyvsp[-1].ival), (yylsp[-1])));
39645 : }
39646 : #line 39647 "gram.c" /* yacc.c:1646 */
39647 0 : break;
39648 :
39649 : case 1800:
39650 : #line 12125 "gram.y" /* yacc.c:1646 */
39651 : { (yyval.typnam) = (yyvsp[0].typnam); }
39652 : #line 39653 "gram.c" /* yacc.c:1646 */
39653 4 : break;
39654 :
39655 : case 1801:
39656 : #line 12126 "gram.y" /* yacc.c:1646 */
39657 : { (yyval.typnam) = (yyvsp[0].typnam); }
39658 : #line 39659 "gram.c" /* yacc.c:1646 */
39659 0 : break;
39660 :
39661 : case 1802:
39662 : #line 12127 "gram.y" /* yacc.c:1646 */
39663 : { (yyval.typnam) = (yyvsp[0].typnam); }
39664 : #line 39665 "gram.c" /* yacc.c:1646 */
39665 5 : break;
39666 :
39667 : case 1803:
39668 : #line 12128 "gram.y" /* yacc.c:1646 */
39669 : { (yyval.typnam) = (yyvsp[0].typnam); }
39670 : #line 39671 "gram.c" /* yacc.c:1646 */
39671 209 : break;
39672 :
39673 : case 1804:
39674 : #line 12140 "gram.y" /* yacc.c:1646 */
39675 : {
39676 : (yyval.typnam) = makeTypeName((yyvsp[-1].str));
39677 : (yyval.typnam)->typmods = (yyvsp[0].list);
39678 : (yyval.typnam)->location = (yylsp[-1]);
39679 : }
39680 : #line 39681 "gram.c" /* yacc.c:1646 */
39681 8618 : break;
39682 :
39683 : case 1805:
39684 : #line 12146 "gram.y" /* yacc.c:1646 */
39685 : {
39686 : (yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[-2].str)), (yyvsp[-1].list)));
39687 : (yyval.typnam)->typmods = (yyvsp[0].list);
39688 : (yyval.typnam)->location = (yylsp[-2]);
39689 : }
39690 : #line 39691 "gram.c" /* yacc.c:1646 */
39691 2276 : break;
39692 :
39693 : case 1806:
39694 : #line 12153 "gram.y" /* yacc.c:1646 */
39695 : { (yyval.list) = (yyvsp[-1].list); }
39696 : #line 39697 "gram.c" /* yacc.c:1646 */
39697 60 : break;
39698 :
39699 : case 1807:
39700 : #line 12154 "gram.y" /* yacc.c:1646 */
39701 : { (yyval.list) = NIL; }
39702 : #line 39703 "gram.c" /* yacc.c:1646 */
39703 11091 : break;
39704 :
39705 : case 1808:
39706 : #line 12161 "gram.y" /* yacc.c:1646 */
39707 : {
39708 : (yyval.typnam) = SystemTypeName("int4");
39709 : (yyval.typnam)->location = (yylsp[0]);
39710 : }
39711 : #line 39712 "gram.c" /* yacc.c:1646 */
39712 1990 : break;
39713 :
39714 : case 1809:
39715 : #line 12166 "gram.y" /* yacc.c:1646 */
39716 : {
39717 : (yyval.typnam) = SystemTypeName("int4");
39718 : (yyval.typnam)->location = (yylsp[0]);
39719 : }
39720 : #line 39721 "gram.c" /* yacc.c:1646 */
39721 1176 : break;
39722 :
39723 : case 1810:
39724 : #line 12171 "gram.y" /* yacc.c:1646 */
39725 : {
39726 : (yyval.typnam) = SystemTypeName("int2");
39727 : (yyval.typnam)->location = (yylsp[0]);
39728 : }
39729 : #line 39730 "gram.c" /* yacc.c:1646 */
39730 43 : break;
39731 :
39732 : case 1811:
39733 : #line 12176 "gram.y" /* yacc.c:1646 */
39734 : {
39735 : (yyval.typnam) = SystemTypeName("int8");
39736 : (yyval.typnam)->location = (yylsp[0]);
39737 : }
39738 : #line 39739 "gram.c" /* yacc.c:1646 */
39739 106 : break;
39740 :
39741 : case 1812:
39742 : #line 12181 "gram.y" /* yacc.c:1646 */
39743 : {
39744 : (yyval.typnam) = SystemTypeName("float4");
39745 : (yyval.typnam)->location = (yylsp[0]);
39746 : }
39747 : #line 39748 "gram.c" /* yacc.c:1646 */
39748 4 : break;
39749 :
39750 : case 1813:
39751 : #line 12186 "gram.y" /* yacc.c:1646 */
39752 : {
39753 : (yyval.typnam) = (yyvsp[0].typnam);
39754 : (yyval.typnam)->location = (yylsp[-1]);
39755 : }
39756 : #line 39757 "gram.c" /* yacc.c:1646 */
39757 41 : break;
39758 :
39759 : case 1814:
39760 : #line 12191 "gram.y" /* yacc.c:1646 */
39761 : {
39762 : (yyval.typnam) = SystemTypeName("float8");
39763 : (yyval.typnam)->location = (yylsp[-1]);
39764 : }
39765 : #line 39766 "gram.c" /* yacc.c:1646 */
39766 9 : break;
39767 :
39768 : case 1815:
39769 : #line 12196 "gram.y" /* yacc.c:1646 */
39770 : {
39771 : (yyval.typnam) = SystemTypeName("numeric");
39772 : (yyval.typnam)->typmods = (yyvsp[0].list);
39773 : (yyval.typnam)->location = (yylsp[-1]);
39774 : }
39775 : #line 39776 "gram.c" /* yacc.c:1646 */
39776 2 : break;
39777 :
39778 : case 1816:
39779 : #line 12202 "gram.y" /* yacc.c:1646 */
39780 : {
39781 : (yyval.typnam) = SystemTypeName("numeric");
39782 : (yyval.typnam)->typmods = (yyvsp[0].list);
39783 : (yyval.typnam)->location = (yylsp[-1]);
39784 : }
39785 : #line 39786 "gram.c" /* yacc.c:1646 */
39786 0 : break;
39787 :
39788 : case 1817:
39789 : #line 12208 "gram.y" /* yacc.c:1646 */
39790 : {
39791 : (yyval.typnam) = SystemTypeName("numeric");
39792 : (yyval.typnam)->typmods = (yyvsp[0].list);
39793 : (yyval.typnam)->location = (yylsp[-1]);
39794 : }
39795 : #line 39796 "gram.c" /* yacc.c:1646 */
39796 255 : break;
39797 :
39798 : case 1818:
39799 : #line 12214 "gram.y" /* yacc.c:1646 */
39800 : {
39801 : (yyval.typnam) = SystemTypeName("bool");
39802 : (yyval.typnam)->location = (yylsp[0]);
39803 : }
39804 : #line 39805 "gram.c" /* yacc.c:1646 */
39805 118 : break;
39806 :
39807 : case 1819:
39808 : #line 12221 "gram.y" /* yacc.c:1646 */
39809 : {
39810 : /*
39811 : * Check FLOAT() precision limits assuming IEEE floating
39812 : * types - thomas 1997-09-18
39813 : */
39814 : if ((yyvsp[-1].ival) < 1)
39815 : ereport(ERROR,
39816 : (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
39817 : errmsg("precision for type float must be at least 1 bit"),
39818 : parser_errposition((yylsp[-1]))));
39819 : else if ((yyvsp[-1].ival) <= 24)
39820 : (yyval.typnam) = SystemTypeName("float4");
39821 : else if ((yyvsp[-1].ival) <= 53)
39822 : (yyval.typnam) = SystemTypeName("float8");
39823 : else
39824 : ereport(ERROR,
39825 : (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
39826 : errmsg("precision for type float must be less than 54 bits"),
39827 : parser_errposition((yylsp[-1]))));
39828 : }
39829 : #line 39830 "gram.c" /* yacc.c:1646 */
39830 0 : break;
39831 :
39832 : case 1820:
39833 : #line 12242 "gram.y" /* yacc.c:1646 */
39834 : {
39835 : (yyval.typnam) = SystemTypeName("float8");
39836 : }
39837 : #line 39838 "gram.c" /* yacc.c:1646 */
39838 41 : break;
39839 :
39840 : case 1821:
39841 : #line 12252 "gram.y" /* yacc.c:1646 */
39842 : {
39843 : (yyval.typnam) = (yyvsp[0].typnam);
39844 : }
39845 : #line 39846 "gram.c" /* yacc.c:1646 */
39846 222 : break;
39847 :
39848 : case 1822:
39849 : #line 12256 "gram.y" /* yacc.c:1646 */
39850 : {
39851 : (yyval.typnam) = (yyvsp[0].typnam);
39852 : }
39853 : #line 39854 "gram.c" /* yacc.c:1646 */
39854 0 : break;
39855 :
39856 : case 1823:
39857 : #line 12264 "gram.y" /* yacc.c:1646 */
39858 : {
39859 : (yyval.typnam) = (yyvsp[0].typnam);
39860 : }
39861 : #line 39862 "gram.c" /* yacc.c:1646 */
39862 0 : break;
39863 :
39864 : case 1824:
39865 : #line 12268 "gram.y" /* yacc.c:1646 */
39866 : {
39867 : (yyval.typnam) = (yyvsp[0].typnam);
39868 : (yyval.typnam)->typmods = NIL;
39869 : }
39870 : #line 39871 "gram.c" /* yacc.c:1646 */
39871 0 : break;
39872 :
39873 : case 1825:
39874 : #line 12276 "gram.y" /* yacc.c:1646 */
39875 : {
39876 : char *typname;
39877 :
39878 : typname = (yyvsp[-3].boolean) ? "varbit" : "bit";
39879 : (yyval.typnam) = SystemTypeName(typname);
39880 : (yyval.typnam)->typmods = (yyvsp[-1].list);
39881 : (yyval.typnam)->location = (yylsp[-4]);
39882 : }
39883 : #line 39884 "gram.c" /* yacc.c:1646 */
39884 222 : break;
39885 :
39886 : case 1826:
39887 : #line 12288 "gram.y" /* yacc.c:1646 */
39888 : {
39889 : /* bit defaults to bit(1), varbit to no limit */
39890 : if ((yyvsp[0].boolean))
39891 : {
39892 : (yyval.typnam) = SystemTypeName("varbit");
39893 : }
39894 : else
39895 : {
39896 : (yyval.typnam) = SystemTypeName("bit");
39897 : (yyval.typnam)->typmods = list_make1(makeIntConst(1, -1));
39898 : }
39899 : (yyval.typnam)->location = (yylsp[-1]);
39900 : }
39901 : #line 39902 "gram.c" /* yacc.c:1646 */
39902 0 : break;
39903 :
39904 : case 1827:
39905 : #line 12309 "gram.y" /* yacc.c:1646 */
39906 : {
39907 : (yyval.typnam) = (yyvsp[0].typnam);
39908 : }
39909 : #line 39910 "gram.c" /* yacc.c:1646 */
39910 128 : break;
39911 :
39912 : case 1828:
39913 : #line 12313 "gram.y" /* yacc.c:1646 */
39914 : {
39915 : (yyval.typnam) = (yyvsp[0].typnam);
39916 : }
39917 : #line 39918 "gram.c" /* yacc.c:1646 */
39918 80 : break;
39919 :
39920 : case 1829:
39921 : #line 12319 "gram.y" /* yacc.c:1646 */
39922 : {
39923 : (yyval.typnam) = (yyvsp[0].typnam);
39924 : }
39925 : #line 39926 "gram.c" /* yacc.c:1646 */
39926 2 : break;
39927 :
39928 : case 1830:
39929 : #line 12323 "gram.y" /* yacc.c:1646 */
39930 : {
39931 : /* Length was not specified so allow to be unrestricted.
39932 : * This handles problems with fixed-length (bpchar) strings
39933 : * which in column definitions must default to a length
39934 : * of one, but should not be constrained if the length
39935 : * was not specified.
39936 : */
39937 : (yyval.typnam) = (yyvsp[0].typnam);
39938 : (yyval.typnam)->typmods = NIL;
39939 : }
39940 : #line 39941 "gram.c" /* yacc.c:1646 */
39941 3 : break;
39942 :
39943 : case 1831:
39944 : #line 12336 "gram.y" /* yacc.c:1646 */
39945 : {
39946 : (yyval.typnam) = SystemTypeName((yyvsp[-3].str));
39947 : (yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[-1].ival), (yylsp[-1])));
39948 : (yyval.typnam)->location = (yylsp[-3]);
39949 : }
39950 : #line 39951 "gram.c" /* yacc.c:1646 */
39951 130 : break;
39952 :
39953 : case 1832:
39954 : #line 12344 "gram.y" /* yacc.c:1646 */
39955 : {
39956 : (yyval.typnam) = SystemTypeName((yyvsp[0].str));
39957 : /* char defaults to char(1), varchar to no limit */
39958 : if (strcmp((yyvsp[0].str), "bpchar") == 0)
39959 : (yyval.typnam)->typmods = list_make1(makeIntConst(1, -1));
39960 : (yyval.typnam)->location = (yylsp[0]);
39961 : }
39962 : #line 39963 "gram.c" /* yacc.c:1646 */
39963 83 : break;
39964 :
39965 : case 1833:
39966 : #line 12354 "gram.y" /* yacc.c:1646 */
39967 : { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
39968 : #line 39969 "gram.c" /* yacc.c:1646 */
39969 6 : break;
39970 :
39971 : case 1834:
39972 : #line 12356 "gram.y" /* yacc.c:1646 */
39973 : { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
39974 : #line 39975 "gram.c" /* yacc.c:1646 */
39975 113 : break;
39976 :
39977 : case 1835:
39978 : #line 12358 "gram.y" /* yacc.c:1646 */
39979 : { (yyval.str) = "varchar"; }
39980 : #line 39981 "gram.c" /* yacc.c:1646 */
39981 94 : break;
39982 :
39983 : case 1836:
39984 : #line 12360 "gram.y" /* yacc.c:1646 */
39985 : { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
39986 : #line 39987 "gram.c" /* yacc.c:1646 */
39987 0 : break;
39988 :
39989 : case 1837:
39990 : #line 12362 "gram.y" /* yacc.c:1646 */
39991 : { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
39992 : #line 39993 "gram.c" /* yacc.c:1646 */
39993 0 : break;
39994 :
39995 : case 1838:
39996 : #line 12364 "gram.y" /* yacc.c:1646 */
39997 : { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
39998 : #line 39999 "gram.c" /* yacc.c:1646 */
39999 0 : break;
40000 :
40001 : case 1839:
40002 : #line 12368 "gram.y" /* yacc.c:1646 */
40003 : { (yyval.boolean) = TRUE; }
40004 : #line 40005 "gram.c" /* yacc.c:1646 */
40005 13 : break;
40006 :
40007 : case 1840:
40008 : #line 12369 "gram.y" /* yacc.c:1646 */
40009 : { (yyval.boolean) = FALSE; }
40010 : #line 40011 "gram.c" /* yacc.c:1646 */
40011 328 : break;
40012 :
40013 : case 1841:
40014 : #line 12377 "gram.y" /* yacc.c:1646 */
40015 : {
40016 : if ((yyvsp[0].boolean))
40017 : (yyval.typnam) = SystemTypeName("timestamptz");
40018 : else
40019 : (yyval.typnam) = SystemTypeName("timestamp");
40020 : (yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[-2].ival), (yylsp[-2])));
40021 : (yyval.typnam)->location = (yylsp[-4]);
40022 : }
40023 : #line 40024 "gram.c" /* yacc.c:1646 */
40024 7 : break;
40025 :
40026 : case 1842:
40027 : #line 12386 "gram.y" /* yacc.c:1646 */
40028 : {
40029 : if ((yyvsp[0].boolean))
40030 : (yyval.typnam) = SystemTypeName("timestamptz");
40031 : else
40032 : (yyval.typnam) = SystemTypeName("timestamp");
40033 : (yyval.typnam)->location = (yylsp[-1]);
40034 : }
40035 : #line 40036 "gram.c" /* yacc.c:1646 */
40036 300 : break;
40037 :
40038 : case 1843:
40039 : #line 12394 "gram.y" /* yacc.c:1646 */
40040 : {
40041 : if ((yyvsp[0].boolean))
40042 : (yyval.typnam) = SystemTypeName("timetz");
40043 : else
40044 : (yyval.typnam) = SystemTypeName("time");
40045 : (yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[-2].ival), (yylsp[-2])));
40046 : (yyval.typnam)->location = (yylsp[-4]);
40047 : }
40048 : #line 40049 "gram.c" /* yacc.c:1646 */
40049 2 : break;
40050 :
40051 : case 1844:
40052 : #line 12403 "gram.y" /* yacc.c:1646 */
40053 : {
40054 : if ((yyvsp[0].boolean))
40055 : (yyval.typnam) = SystemTypeName("timetz");
40056 : else
40057 : (yyval.typnam) = SystemTypeName("time");
40058 : (yyval.typnam)->location = (yylsp[-1]);
40059 : }
40060 : #line 40061 "gram.c" /* yacc.c:1646 */
40061 77 : break;
40062 :
40063 : case 1845:
40064 : #line 12414 "gram.y" /* yacc.c:1646 */
40065 : {
40066 : (yyval.typnam) = SystemTypeName("interval");
40067 : (yyval.typnam)->location = (yylsp[0]);
40068 : }
40069 : #line 40070 "gram.c" /* yacc.c:1646 */
40070 246 : break;
40071 :
40072 : case 1846:
40073 : #line 12421 "gram.y" /* yacc.c:1646 */
40074 : { (yyval.boolean) = TRUE; }
40075 : #line 40076 "gram.c" /* yacc.c:1646 */
40076 118 : break;
40077 :
40078 : case 1847:
40079 : #line 12422 "gram.y" /* yacc.c:1646 */
40080 : { (yyval.boolean) = FALSE; }
40081 : #line 40082 "gram.c" /* yacc.c:1646 */
40082 128 : break;
40083 :
40084 : case 1848:
40085 : #line 12423 "gram.y" /* yacc.c:1646 */
40086 : { (yyval.boolean) = FALSE; }
40087 : #line 40088 "gram.c" /* yacc.c:1646 */
40088 140 : break;
40089 :
40090 : case 1849:
40091 : #line 12428 "gram.y" /* yacc.c:1646 */
40092 : { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(YEAR), (yylsp[0]))); }
40093 : #line 40094 "gram.c" /* yacc.c:1646 */
40094 2 : break;
40095 :
40096 : case 1850:
40097 : #line 12430 "gram.y" /* yacc.c:1646 */
40098 : { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MONTH), (yylsp[0]))); }
40099 : #line 40100 "gram.c" /* yacc.c:1646 */
40100 3 : break;
40101 :
40102 : case 1851:
40103 : #line 12432 "gram.y" /* yacc.c:1646 */
40104 : { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY), (yylsp[0]))); }
40105 : #line 40106 "gram.c" /* yacc.c:1646 */
40106 3 : break;
40107 :
40108 : case 1852:
40109 : #line 12434 "gram.y" /* yacc.c:1646 */
40110 : { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(HOUR), (yylsp[0]))); }
40111 : #line 40112 "gram.c" /* yacc.c:1646 */
40112 2 : break;
40113 :
40114 : case 1853:
40115 : #line 12436 "gram.y" /* yacc.c:1646 */
40116 : { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MINUTE), (yylsp[0]))); }
40117 : #line 40118 "gram.c" /* yacc.c:1646 */
40118 2 : break;
40119 :
40120 : case 1854:
40121 : #line 12438 "gram.y" /* yacc.c:1646 */
40122 : { (yyval.list) = (yyvsp[0].list); }
40123 : #line 40124 "gram.c" /* yacc.c:1646 */
40124 4 : break;
40125 :
40126 : case 1855:
40127 : #line 12440 "gram.y" /* yacc.c:1646 */
40128 : {
40129 : (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(YEAR) |
40130 : INTERVAL_MASK(MONTH), (yylsp[-2])));
40131 : }
40132 : #line 40133 "gram.c" /* yacc.c:1646 */
40133 3 : break;
40134 :
40135 : case 1856:
40136 : #line 12445 "gram.y" /* yacc.c:1646 */
40137 : {
40138 : (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY) |
40139 : INTERVAL_MASK(HOUR), (yylsp[-2])));
40140 : }
40141 : #line 40142 "gram.c" /* yacc.c:1646 */
40142 4 : break;
40143 :
40144 : case 1857:
40145 : #line 12450 "gram.y" /* yacc.c:1646 */
40146 : {
40147 : (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY) |
40148 : INTERVAL_MASK(HOUR) |
40149 : INTERVAL_MASK(MINUTE), (yylsp[-2])));
40150 : }
40151 : #line 40152 "gram.c" /* yacc.c:1646 */
40152 4 : break;
40153 :
40154 : case 1858:
40155 : #line 12456 "gram.y" /* yacc.c:1646 */
40156 : {
40157 : (yyval.list) = (yyvsp[0].list);
40158 : linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(DAY) |
40159 : INTERVAL_MASK(HOUR) |
40160 : INTERVAL_MASK(MINUTE) |
40161 : INTERVAL_MASK(SECOND), (yylsp[-2]));
40162 : }
40163 : #line 40164 "gram.c" /* yacc.c:1646 */
40164 8 : break;
40165 :
40166 : case 1859:
40167 : #line 12464 "gram.y" /* yacc.c:1646 */
40168 : {
40169 : (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(HOUR) |
40170 : INTERVAL_MASK(MINUTE), (yylsp[-2])));
40171 : }
40172 : #line 40173 "gram.c" /* yacc.c:1646 */
40173 3 : break;
40174 :
40175 : case 1860:
40176 : #line 12469 "gram.y" /* yacc.c:1646 */
40177 : {
40178 : (yyval.list) = (yyvsp[0].list);
40179 : linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(HOUR) |
40180 : INTERVAL_MASK(MINUTE) |
40181 : INTERVAL_MASK(SECOND), (yylsp[-2]));
40182 : }
40183 : #line 40184 "gram.c" /* yacc.c:1646 */
40184 6 : break;
40185 :
40186 : case 1861:
40187 : #line 12476 "gram.y" /* yacc.c:1646 */
40188 : {
40189 : (yyval.list) = (yyvsp[0].list);
40190 : linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(MINUTE) |
40191 : INTERVAL_MASK(SECOND), (yylsp[-2]));
40192 : }
40193 : #line 40194 "gram.c" /* yacc.c:1646 */
40194 11 : break;
40195 :
40196 : case 1862:
40197 : #line 12482 "gram.y" /* yacc.c:1646 */
40198 : { (yyval.list) = NIL; }
40199 : #line 40200 "gram.c" /* yacc.c:1646 */
40200 189 : break;
40201 :
40202 : case 1863:
40203 : #line 12487 "gram.y" /* yacc.c:1646 */
40204 : {
40205 : (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(SECOND), (yylsp[0])));
40206 : }
40207 : #line 40208 "gram.c" /* yacc.c:1646 */
40208 17 : break;
40209 :
40210 : case 1864:
40211 : #line 12491 "gram.y" /* yacc.c:1646 */
40212 : {
40213 : (yyval.list) = list_make2(makeIntConst(INTERVAL_MASK(SECOND), (yylsp[-3])),
40214 : makeIntConst((yyvsp[-1].ival), (yylsp[-1])));
40215 : }
40216 : #line 40217 "gram.c" /* yacc.c:1646 */
40217 12 : break;
40218 :
40219 : case 1865:
40220 : #line 12526 "gram.y" /* yacc.c:1646 */
40221 : { (yyval.node) = (yyvsp[0].node); }
40222 : #line 40223 "gram.c" /* yacc.c:1646 */
40223 120622 : break;
40224 :
40225 : case 1866:
40226 : #line 12528 "gram.y" /* yacc.c:1646 */
40227 : { (yyval.node) = makeTypeCast((yyvsp[-2].node), (yyvsp[0].typnam), (yylsp[-1])); }
40228 : #line 40229 "gram.c" /* yacc.c:1646 */
40229 7237 : break;
40230 :
40231 : case 1867:
40232 : #line 12530 "gram.y" /* yacc.c:1646 */
40233 : {
40234 : CollateClause *n = makeNode(CollateClause);
40235 : n->arg = (yyvsp[-2].node);
40236 : n->collname = (yyvsp[0].list);
40237 : n->location = (yylsp[-1]);
40238 : (yyval.node) = (Node *) n;
40239 : }
40240 : #line 40241 "gram.c" /* yacc.c:1646 */
40241 40 : break;
40242 :
40243 : case 1868:
40244 : #line 12538 "gram.y" /* yacc.c:1646 */
40245 : {
40246 : (yyval.node) = (Node *) makeFuncCall(SystemFuncName("timezone"),
40247 : list_make2((yyvsp[0].node), (yyvsp[-4].node)),
40248 : (yylsp[-3]));
40249 : }
40250 : #line 40251 "gram.c" /* yacc.c:1646 */
40251 60 : break;
40252 :
40253 : case 1869:
40254 : #line 12553 "gram.y" /* yacc.c:1646 */
40255 : { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[0].node), (yylsp[-1])); }
40256 : #line 40257 "gram.c" /* yacc.c:1646 */
40257 1 : break;
40258 :
40259 : case 1870:
40260 : #line 12555 "gram.y" /* yacc.c:1646 */
40261 : { (yyval.node) = doNegate((yyvsp[0].node), (yylsp[-1])); }
40262 : #line 40263 "gram.c" /* yacc.c:1646 */
40263 578 : break;
40264 :
40265 : case 1871:
40266 : #line 12557 "gram.y" /* yacc.c:1646 */
40267 : { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
40268 : #line 40269 "gram.c" /* yacc.c:1646 */
40269 704 : break;
40270 :
40271 : case 1872:
40272 : #line 12559 "gram.y" /* yacc.c:1646 */
40273 : { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "-", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
40274 : #line 40275 "gram.c" /* yacc.c:1646 */
40275 222 : break;
40276 :
40277 : case 1873:
40278 : #line 12561 "gram.y" /* yacc.c:1646 */
40279 : { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "*", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
40280 : #line 40281 "gram.c" /* yacc.c:1646 */
40281 226 : break;
40282 :
40283 : case 1874:
40284 : #line 12563 "gram.y" /* yacc.c:1646 */
40285 : { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "/", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
40286 : #line 40287 "gram.c" /* yacc.c:1646 */
40287 201 : break;
40288 :
40289 : case 1875:
40290 : #line 12565 "gram.y" /* yacc.c:1646 */
40291 : { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
40292 : #line 40293 "gram.c" /* yacc.c:1646 */
40293 67 : break;
40294 :
40295 : case 1876:
40296 : #line 12567 "gram.y" /* yacc.c:1646 */
40297 : { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
40298 : #line 40299 "gram.c" /* yacc.c:1646 */
40299 38 : break;
40300 :
40301 : case 1877:
40302 : #line 12569 "gram.y" /* yacc.c:1646 */
40303 : { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
40304 : #line 40305 "gram.c" /* yacc.c:1646 */
40305 586 : break;
40306 :
40307 : case 1878:
40308 : #line 12571 "gram.y" /* yacc.c:1646 */
40309 : { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
40310 : #line 40311 "gram.c" /* yacc.c:1646 */
40311 861 : break;
40312 :
40313 : case 1879:
40314 : #line 12573 "gram.y" /* yacc.c:1646 */
40315 : { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
40316 : #line 40317 "gram.c" /* yacc.c:1646 */
40317 10488 : break;
40318 :
40319 : case 1880:
40320 : #line 12575 "gram.y" /* yacc.c:1646 */
40321 : { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
40322 : #line 40323 "gram.c" /* yacc.c:1646 */
40323 244 : break;
40324 :
40325 : case 1881:
40326 : #line 12577 "gram.y" /* yacc.c:1646 */
40327 : { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
40328 : #line 40329 "gram.c" /* yacc.c:1646 */
40329 297 : break;
40330 :
40331 : case 1882:
40332 : #line 12579 "gram.y" /* yacc.c:1646 */
40333 : { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<>", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
40334 : #line 40335 "gram.c" /* yacc.c:1646 */
40335 1138 : break;
40336 :
40337 : case 1883:
40338 : #line 12582 "gram.y" /* yacc.c:1646 */
40339 : { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
40340 : #line 40341 "gram.c" /* yacc.c:1646 */
40341 3453 : break;
40342 :
40343 : case 1884:
40344 : #line 12584 "gram.y" /* yacc.c:1646 */
40345 : { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), NULL, (yyvsp[0].node), (yylsp[-1])); }
40346 : #line 40347 "gram.c" /* yacc.c:1646 */
40347 27 : break;
40348 :
40349 : case 1885:
40350 : #line 12586 "gram.y" /* yacc.c:1646 */
40351 : { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[0].list), (yyvsp[-1].node), NULL, (yylsp[0])); }
40352 : #line 40353 "gram.c" /* yacc.c:1646 */
40353 1 : break;
40354 :
40355 : case 1886:
40356 : #line 12589 "gram.y" /* yacc.c:1646 */
40357 : { (yyval.node) = makeAndExpr((yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
40358 : #line 40359 "gram.c" /* yacc.c:1646 */
40359 5747 : break;
40360 :
40361 : case 1887:
40362 : #line 12591 "gram.y" /* yacc.c:1646 */
40363 : { (yyval.node) = makeOrExpr((yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
40364 : #line 40365 "gram.c" /* yacc.c:1646 */
40365 436 : break;
40366 :
40367 : case 1888:
40368 : #line 12593 "gram.y" /* yacc.c:1646 */
40369 : { (yyval.node) = makeNotExpr((yyvsp[0].node), (yylsp[-1])); }
40370 : #line 40371 "gram.c" /* yacc.c:1646 */
40371 896 : break;
40372 :
40373 : case 1889:
40374 : #line 12595 "gram.y" /* yacc.c:1646 */
40375 : { (yyval.node) = makeNotExpr((yyvsp[0].node), (yylsp[-1])); }
40376 : #line 40377 "gram.c" /* yacc.c:1646 */
40377 0 : break;
40378 :
40379 : case 1890:
40380 : #line 12598 "gram.y" /* yacc.c:1646 */
40381 : {
40382 : (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "~~",
40383 : (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1]));
40384 : }
40385 : #line 40386 "gram.c" /* yacc.c:1646 */
40386 133 : break;
40387 :
40388 : case 1891:
40389 : #line 12603 "gram.y" /* yacc.c:1646 */
40390 : {
40391 : FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
40392 : list_make2((yyvsp[-2].node), (yyvsp[0].node)),
40393 : (yylsp[-3]));
40394 : (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "~~",
40395 : (yyvsp[-4].node), (Node *) n, (yylsp[-3]));
40396 : }
40397 : #line 40398 "gram.c" /* yacc.c:1646 */
40398 15 : break;
40399 :
40400 : case 1892:
40401 : #line 12611 "gram.y" /* yacc.c:1646 */
40402 : {
40403 : (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "!~~",
40404 : (yyvsp[-3].node), (yyvsp[0].node), (yylsp[-2]));
40405 : }
40406 : #line 40407 "gram.c" /* yacc.c:1646 */
40407 17 : break;
40408 :
40409 : case 1893:
40410 : #line 12616 "gram.y" /* yacc.c:1646 */
40411 : {
40412 : FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
40413 : list_make2((yyvsp[-2].node), (yyvsp[0].node)),
40414 : (yylsp[-4]));
40415 : (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "!~~",
40416 : (yyvsp[-5].node), (Node *) n, (yylsp[-4]));
40417 : }
40418 : #line 40419 "gram.c" /* yacc.c:1646 */
40419 15 : break;
40420 :
40421 : case 1894:
40422 : #line 12624 "gram.y" /* yacc.c:1646 */
40423 : {
40424 : (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "~~*",
40425 : (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1]));
40426 : }
40427 : #line 40428 "gram.c" /* yacc.c:1646 */
40428 4 : break;
40429 :
40430 : case 1895:
40431 : #line 12629 "gram.y" /* yacc.c:1646 */
40432 : {
40433 : FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
40434 : list_make2((yyvsp[-2].node), (yyvsp[0].node)),
40435 : (yylsp[-3]));
40436 : (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "~~*",
40437 : (yyvsp[-4].node), (Node *) n, (yylsp[-3]));
40438 : }
40439 : #line 40440 "gram.c" /* yacc.c:1646 */
40440 0 : break;
40441 :
40442 : case 1896:
40443 : #line 12637 "gram.y" /* yacc.c:1646 */
40444 : {
40445 : (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "!~~*",
40446 : (yyvsp[-3].node), (yyvsp[0].node), (yylsp[-2]));
40447 : }
40448 : #line 40449 "gram.c" /* yacc.c:1646 */
40449 4 : break;
40450 :
40451 : case 1897:
40452 : #line 12642 "gram.y" /* yacc.c:1646 */
40453 : {
40454 : FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
40455 : list_make2((yyvsp[-2].node), (yyvsp[0].node)),
40456 : (yylsp[-4]));
40457 : (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "!~~*",
40458 : (yyvsp[-5].node), (Node *) n, (yylsp[-4]));
40459 : }
40460 : #line 40461 "gram.c" /* yacc.c:1646 */
40461 0 : break;
40462 :
40463 : case 1898:
40464 : #line 12651 "gram.y" /* yacc.c:1646 */
40465 : {
40466 : FuncCall *n = makeFuncCall(SystemFuncName("similar_escape"),
40467 : list_make2((yyvsp[0].node), makeNullAConst(-1)),
40468 : (yylsp[-2]));
40469 : (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "~",
40470 : (yyvsp[-3].node), (Node *) n, (yylsp[-2]));
40471 : }
40472 : #line 40473 "gram.c" /* yacc.c:1646 */
40473 0 : break;
40474 :
40475 : case 1899:
40476 : #line 12659 "gram.y" /* yacc.c:1646 */
40477 : {
40478 : FuncCall *n = makeFuncCall(SystemFuncName("similar_escape"),
40479 : list_make2((yyvsp[-2].node), (yyvsp[0].node)),
40480 : (yylsp[-4]));
40481 : (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "~",
40482 : (yyvsp[-5].node), (Node *) n, (yylsp[-4]));
40483 : }
40484 : #line 40485 "gram.c" /* yacc.c:1646 */
40485 0 : break;
40486 :
40487 : case 1900:
40488 : #line 12667 "gram.y" /* yacc.c:1646 */
40489 : {
40490 : FuncCall *n = makeFuncCall(SystemFuncName("similar_escape"),
40491 : list_make2((yyvsp[0].node), makeNullAConst(-1)),
40492 : (yylsp[-3]));
40493 : (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "!~",
40494 : (yyvsp[-4].node), (Node *) n, (yylsp[-3]));
40495 : }
40496 : #line 40497 "gram.c" /* yacc.c:1646 */
40497 0 : break;
40498 :
40499 : case 1901:
40500 : #line 12675 "gram.y" /* yacc.c:1646 */
40501 : {
40502 : FuncCall *n = makeFuncCall(SystemFuncName("similar_escape"),
40503 : list_make2((yyvsp[-2].node), (yyvsp[0].node)),
40504 : (yylsp[-5]));
40505 : (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "!~",
40506 : (yyvsp[-6].node), (Node *) n, (yylsp[-5]));
40507 : }
40508 : #line 40509 "gram.c" /* yacc.c:1646 */
40509 0 : break;
40510 :
40511 : case 1902:
40512 : #line 12693 "gram.y" /* yacc.c:1646 */
40513 : {
40514 : NullTest *n = makeNode(NullTest);
40515 : n->arg = (Expr *) (yyvsp[-2].node);
40516 : n->nulltesttype = IS_NULL;
40517 : n->location = (yylsp[-1]);
40518 : (yyval.node) = (Node *)n;
40519 : }
40520 : #line 40521 "gram.c" /* yacc.c:1646 */
40521 264 : break;
40522 :
40523 : case 1903:
40524 : #line 12701 "gram.y" /* yacc.c:1646 */
40525 : {
40526 : NullTest *n = makeNode(NullTest);
40527 : n->arg = (Expr *) (yyvsp[-1].node);
40528 : n->nulltesttype = IS_NULL;
40529 : n->location = (yylsp[0]);
40530 : (yyval.node) = (Node *)n;
40531 : }
40532 : #line 40533 "gram.c" /* yacc.c:1646 */
40533 16 : break;
40534 :
40535 : case 1904:
40536 : #line 12709 "gram.y" /* yacc.c:1646 */
40537 : {
40538 : NullTest *n = makeNode(NullTest);
40539 : n->arg = (Expr *) (yyvsp[-3].node);
40540 : n->nulltesttype = IS_NOT_NULL;
40541 : n->location = (yylsp[-2]);
40542 : (yyval.node) = (Node *)n;
40543 : }
40544 : #line 40545 "gram.c" /* yacc.c:1646 */
40545 198 : break;
40546 :
40547 : case 1905:
40548 : #line 12717 "gram.y" /* yacc.c:1646 */
40549 : {
40550 : NullTest *n = makeNode(NullTest);
40551 : n->arg = (Expr *) (yyvsp[-1].node);
40552 : n->nulltesttype = IS_NOT_NULL;
40553 : n->location = (yylsp[0]);
40554 : (yyval.node) = (Node *)n;
40555 : }
40556 : #line 40557 "gram.c" /* yacc.c:1646 */
40557 1 : break;
40558 :
40559 : case 1906:
40560 : #line 12725 "gram.y" /* yacc.c:1646 */
40561 : {
40562 : if (list_length((yyvsp[-2].list)) != 2)
40563 : ereport(ERROR,
40564 : (errcode(ERRCODE_SYNTAX_ERROR),
40565 : errmsg("wrong number of parameters on left side of OVERLAPS expression"),
40566 : parser_errposition((yylsp[-2]))));
40567 : if (list_length((yyvsp[0].list)) != 2)
40568 : ereport(ERROR,
40569 : (errcode(ERRCODE_SYNTAX_ERROR),
40570 : errmsg("wrong number of parameters on right side of OVERLAPS expression"),
40571 : parser_errposition((yylsp[0]))));
40572 : (yyval.node) = (Node *) makeFuncCall(SystemFuncName("overlaps"),
40573 : list_concat((yyvsp[-2].list), (yyvsp[0].list)),
40574 : (yylsp[-1]));
40575 : }
40576 : #line 40577 "gram.c" /* yacc.c:1646 */
40577 27 : break;
40578 :
40579 : case 1907:
40580 : #line 12741 "gram.y" /* yacc.c:1646 */
40581 : {
40582 : BooleanTest *b = makeNode(BooleanTest);
40583 : b->arg = (Expr *) (yyvsp[-2].node);
40584 : b->booltesttype = IS_TRUE;
40585 : b->location = (yylsp[-1]);
40586 : (yyval.node) = (Node *)b;
40587 : }
40588 : #line 40589 "gram.c" /* yacc.c:1646 */
40589 4 : break;
40590 :
40591 : case 1908:
40592 : #line 12749 "gram.y" /* yacc.c:1646 */
40593 : {
40594 : BooleanTest *b = makeNode(BooleanTest);
40595 : b->arg = (Expr *) (yyvsp[-3].node);
40596 : b->booltesttype = IS_NOT_TRUE;
40597 : b->location = (yylsp[-2]);
40598 : (yyval.node) = (Node *)b;
40599 : }
40600 : #line 40601 "gram.c" /* yacc.c:1646 */
40601 4 : break;
40602 :
40603 : case 1909:
40604 : #line 12757 "gram.y" /* yacc.c:1646 */
40605 : {
40606 : BooleanTest *b = makeNode(BooleanTest);
40607 : b->arg = (Expr *) (yyvsp[-2].node);
40608 : b->booltesttype = IS_FALSE;
40609 : b->location = (yylsp[-1]);
40610 : (yyval.node) = (Node *)b;
40611 : }
40612 : #line 40613 "gram.c" /* yacc.c:1646 */
40613 4 : break;
40614 :
40615 : case 1910:
40616 : #line 12765 "gram.y" /* yacc.c:1646 */
40617 : {
40618 : BooleanTest *b = makeNode(BooleanTest);
40619 : b->arg = (Expr *) (yyvsp[-3].node);
40620 : b->booltesttype = IS_NOT_FALSE;
40621 : b->location = (yylsp[-2]);
40622 : (yyval.node) = (Node *)b;
40623 : }
40624 : #line 40625 "gram.c" /* yacc.c:1646 */
40625 4 : break;
40626 :
40627 : case 1911:
40628 : #line 12773 "gram.y" /* yacc.c:1646 */
40629 : {
40630 : BooleanTest *b = makeNode(BooleanTest);
40631 : b->arg = (Expr *) (yyvsp[-2].node);
40632 : b->booltesttype = IS_UNKNOWN;
40633 : b->location = (yylsp[-1]);
40634 : (yyval.node) = (Node *)b;
40635 : }
40636 : #line 40637 "gram.c" /* yacc.c:1646 */
40637 1 : break;
40638 :
40639 : case 1912:
40640 : #line 12781 "gram.y" /* yacc.c:1646 */
40641 : {
40642 : BooleanTest *b = makeNode(BooleanTest);
40643 : b->arg = (Expr *) (yyvsp[-3].node);
40644 : b->booltesttype = IS_NOT_UNKNOWN;
40645 : b->location = (yylsp[-2]);
40646 : (yyval.node) = (Node *)b;
40647 : }
40648 : #line 40649 "gram.c" /* yacc.c:1646 */
40649 1 : break;
40650 :
40651 : case 1913:
40652 : #line 12789 "gram.y" /* yacc.c:1646 */
40653 : {
40654 : (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", (yyvsp[-4].node), (yyvsp[0].node), (yylsp[-3]));
40655 : }
40656 : #line 40657 "gram.c" /* yacc.c:1646 */
40657 32 : break;
40658 :
40659 : case 1914:
40660 : #line 12793 "gram.y" /* yacc.c:1646 */
40661 : {
40662 : (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_DISTINCT, "=", (yyvsp[-5].node), (yyvsp[0].node), (yylsp[-4]));
40663 : }
40664 : #line 40665 "gram.c" /* yacc.c:1646 */
40665 8 : break;
40666 :
40667 : case 1915:
40668 : #line 12797 "gram.y" /* yacc.c:1646 */
40669 : {
40670 : (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "=", (yyvsp[-5].node), (Node *) (yyvsp[-1].list), (yylsp[-4]));
40671 : }
40672 : #line 40673 "gram.c" /* yacc.c:1646 */
40673 8 : break;
40674 :
40675 : case 1916:
40676 : #line 12801 "gram.y" /* yacc.c:1646 */
40677 : {
40678 : (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "<>", (yyvsp[-6].node), (Node *) (yyvsp[-1].list), (yylsp[-5]));
40679 : }
40680 : #line 40681 "gram.c" /* yacc.c:1646 */
40681 0 : break;
40682 :
40683 : case 1917:
40684 : #line 12805 "gram.y" /* yacc.c:1646 */
40685 : {
40686 : (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_BETWEEN,
40687 : "BETWEEN",
40688 : (yyvsp[-5].node),
40689 : (Node *) list_make2((yyvsp[-2].node), (yyvsp[0].node)),
40690 : (yylsp[-4]));
40691 : }
40692 : #line 40693 "gram.c" /* yacc.c:1646 */
40693 40 : break;
40694 :
40695 : case 1918:
40696 : #line 12813 "gram.y" /* yacc.c:1646 */
40697 : {
40698 : (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_BETWEEN,
40699 : "NOT BETWEEN",
40700 : (yyvsp[-6].node),
40701 : (Node *) list_make2((yyvsp[-2].node), (yyvsp[0].node)),
40702 : (yylsp[-5]));
40703 : }
40704 : #line 40705 "gram.c" /* yacc.c:1646 */
40705 1 : break;
40706 :
40707 : case 1919:
40708 : #line 12821 "gram.y" /* yacc.c:1646 */
40709 : {
40710 : (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_BETWEEN_SYM,
40711 : "BETWEEN SYMMETRIC",
40712 : (yyvsp[-5].node),
40713 : (Node *) list_make2((yyvsp[-2].node), (yyvsp[0].node)),
40714 : (yylsp[-4]));
40715 : }
40716 : #line 40717 "gram.c" /* yacc.c:1646 */
40717 0 : break;
40718 :
40719 : case 1920:
40720 : #line 12829 "gram.y" /* yacc.c:1646 */
40721 : {
40722 : (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_BETWEEN_SYM,
40723 : "NOT BETWEEN SYMMETRIC",
40724 : (yyvsp[-6].node),
40725 : (Node *) list_make2((yyvsp[-2].node), (yyvsp[0].node)),
40726 : (yylsp[-5]));
40727 : }
40728 : #line 40729 "gram.c" /* yacc.c:1646 */
40729 0 : break;
40730 :
40731 : case 1921:
40732 : #line 12837 "gram.y" /* yacc.c:1646 */
40733 : {
40734 : /* in_expr returns a SubLink or a list of a_exprs */
40735 : if (IsA((yyvsp[0].node), SubLink))
40736 : {
40737 : /* generate foo = ANY (subquery) */
40738 : SubLink *n = (SubLink *) (yyvsp[0].node);
40739 : n->subLinkType = ANY_SUBLINK;
40740 : n->subLinkId = 0;
40741 : n->testexpr = (yyvsp[-2].node);
40742 : n->operName = NIL; /* show it's IN not = ANY */
40743 : n->location = (yylsp[-1]);
40744 : (yyval.node) = (Node *)n;
40745 : }
40746 : else
40747 : {
40748 : /* generate scalar IN expression */
40749 : (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_IN, "=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1]));
40750 : }
40751 : }
40752 : #line 40753 "gram.c" /* yacc.c:1646 */
40753 345 : break;
40754 :
40755 : case 1922:
40756 : #line 12857 "gram.y" /* yacc.c:1646 */
40757 : {
40758 : /* in_expr returns a SubLink or a list of a_exprs */
40759 : if (IsA((yyvsp[0].node), SubLink))
40760 : {
40761 : /* generate NOT (foo = ANY (subquery)) */
40762 : /* Make an = ANY node */
40763 : SubLink *n = (SubLink *) (yyvsp[0].node);
40764 : n->subLinkType = ANY_SUBLINK;
40765 : n->subLinkId = 0;
40766 : n->testexpr = (yyvsp[-3].node);
40767 : n->operName = NIL; /* show it's IN not = ANY */
40768 : n->location = (yylsp[-2]);
40769 : /* Stick a NOT on top; must have same parse location */
40770 : (yyval.node) = makeNotExpr((Node *) n, (yylsp[-2]));
40771 : }
40772 : else
40773 : {
40774 : /* generate scalar NOT IN expression */
40775 : (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_IN, "<>", (yyvsp[-3].node), (yyvsp[0].node), (yylsp[-2]));
40776 : }
40777 : }
40778 : #line 40779 "gram.c" /* yacc.c:1646 */
40779 40 : break;
40780 :
40781 : case 1923:
40782 : #line 12879 "gram.y" /* yacc.c:1646 */
40783 : {
40784 : SubLink *n = makeNode(SubLink);
40785 : n->subLinkType = (yyvsp[-1].ival);
40786 : n->subLinkId = 0;
40787 : n->testexpr = (yyvsp[-3].node);
40788 : n->operName = (yyvsp[-2].list);
40789 : n->subselect = (yyvsp[0].node);
40790 : n->location = (yylsp[-2]);
40791 : (yyval.node) = (Node *)n;
40792 : }
40793 : #line 40794 "gram.c" /* yacc.c:1646 */
40794 15 : break;
40795 :
40796 : case 1924:
40797 : #line 12890 "gram.y" /* yacc.c:1646 */
40798 : {
40799 : if ((yyvsp[-3].ival) == ANY_SUBLINK)
40800 : (yyval.node) = (Node *) makeA_Expr(AEXPR_OP_ANY, (yyvsp[-4].list), (yyvsp[-5].node), (yyvsp[-1].node), (yylsp[-4]));
40801 : else
40802 : (yyval.node) = (Node *) makeA_Expr(AEXPR_OP_ALL, (yyvsp[-4].list), (yyvsp[-5].node), (yyvsp[-1].node), (yylsp[-4]));
40803 : }
40804 : #line 40805 "gram.c" /* yacc.c:1646 */
40805 241 : break;
40806 :
40807 : case 1925:
40808 : #line 12897 "gram.y" /* yacc.c:1646 */
40809 : {
40810 : /* Not sure how to get rid of the parentheses
40811 : * but there are lots of shift/reduce errors without them.
40812 : *
40813 : * Should be able to implement this by plopping the entire
40814 : * select into a node, then transforming the target expressions
40815 : * from whatever they are into count(*), and testing the
40816 : * entire result equal to one.
40817 : * But, will probably implement a separate node in the executor.
40818 : */
40819 : ereport(ERROR,
40820 : (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
40821 : errmsg("UNIQUE predicate is not yet implemented"),
40822 : parser_errposition((yylsp[-1]))));
40823 : }
40824 : #line 40825 "gram.c" /* yacc.c:1646 */
40825 : break;
40826 :
40827 : case 1926:
40828 : #line 12913 "gram.y" /* yacc.c:1646 */
40829 : {
40830 : (yyval.node) = makeXmlExpr(IS_DOCUMENT, NULL, NIL,
40831 : list_make1((yyvsp[-2].node)), (yylsp[-1]));
40832 : }
40833 : #line 40834 "gram.c" /* yacc.c:1646 */
40834 2 : break;
40835 :
40836 : case 1927:
40837 : #line 12918 "gram.y" /* yacc.c:1646 */
40838 : {
40839 : (yyval.node) = makeNotExpr(makeXmlExpr(IS_DOCUMENT, NULL, NIL,
40840 : list_make1((yyvsp[-3].node)), (yylsp[-2])),
40841 : (yylsp[-2]));
40842 : }
40843 : #line 40844 "gram.c" /* yacc.c:1646 */
40844 3 : break;
40845 :
40846 : case 1928:
40847 : #line 12924 "gram.y" /* yacc.c:1646 */
40848 : {
40849 : /*
40850 : * The SQL spec only allows DEFAULT in "contextually typed
40851 : * expressions", but for us, it's easier to allow it in
40852 : * any a_expr and then throw error during parse analysis
40853 : * if it's in an inappropriate context. This way also
40854 : * lets us say something smarter than "syntax error".
40855 : */
40856 : SetToDefault *n = makeNode(SetToDefault);
40857 : /* parse analysis will fill in the rest */
40858 : n->location = (yylsp[0]);
40859 : (yyval.node) = (Node *)n;
40860 : }
40861 : #line 40862 "gram.c" /* yacc.c:1646 */
40862 44 : break;
40863 :
40864 : case 1929:
40865 : #line 12949 "gram.y" /* yacc.c:1646 */
40866 : { (yyval.node) = (yyvsp[0].node); }
40867 : #line 40868 "gram.c" /* yacc.c:1646 */
40868 313 : break;
40869 :
40870 : case 1930:
40871 : #line 12951 "gram.y" /* yacc.c:1646 */
40872 : { (yyval.node) = makeTypeCast((yyvsp[-2].node), (yyvsp[0].typnam), (yylsp[-1])); }
40873 : #line 40874 "gram.c" /* yacc.c:1646 */
40874 12 : break;
40875 :
40876 : case 1931:
40877 : #line 12953 "gram.y" /* yacc.c:1646 */
40878 : { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[0].node), (yylsp[-1])); }
40879 : #line 40880 "gram.c" /* yacc.c:1646 */
40880 0 : break;
40881 :
40882 : case 1932:
40883 : #line 12955 "gram.y" /* yacc.c:1646 */
40884 : { (yyval.node) = doNegate((yyvsp[0].node), (yylsp[-1])); }
40885 : #line 40886 "gram.c" /* yacc.c:1646 */
40886 7 : break;
40887 :
40888 : case 1933:
40889 : #line 12957 "gram.y" /* yacc.c:1646 */
40890 : { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
40891 : #line 40892 "gram.c" /* yacc.c:1646 */
40892 3 : break;
40893 :
40894 : case 1934:
40895 : #line 12959 "gram.y" /* yacc.c:1646 */
40896 : { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "-", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
40897 : #line 40898 "gram.c" /* yacc.c:1646 */
40898 2 : break;
40899 :
40900 : case 1935:
40901 : #line 12961 "gram.y" /* yacc.c:1646 */
40902 : { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "*", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
40903 : #line 40904 "gram.c" /* yacc.c:1646 */
40904 2 : break;
40905 :
40906 : case 1936:
40907 : #line 12963 "gram.y" /* yacc.c:1646 */
40908 : { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "/", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
40909 : #line 40910 "gram.c" /* yacc.c:1646 */
40910 0 : break;
40911 :
40912 : case 1937:
40913 : #line 12965 "gram.y" /* yacc.c:1646 */
40914 : { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
40915 : #line 40916 "gram.c" /* yacc.c:1646 */
40916 0 : break;
40917 :
40918 : case 1938:
40919 : #line 12967 "gram.y" /* yacc.c:1646 */
40920 : { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
40921 : #line 40922 "gram.c" /* yacc.c:1646 */
40922 0 : break;
40923 :
40924 : case 1939:
40925 : #line 12969 "gram.y" /* yacc.c:1646 */
40926 : { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
40927 : #line 40928 "gram.c" /* yacc.c:1646 */
40928 0 : break;
40929 :
40930 : case 1940:
40931 : #line 12971 "gram.y" /* yacc.c:1646 */
40932 : { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
40933 : #line 40934 "gram.c" /* yacc.c:1646 */
40934 0 : break;
40935 :
40936 : case 1941:
40937 : #line 12973 "gram.y" /* yacc.c:1646 */
40938 : { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
40939 : #line 40940 "gram.c" /* yacc.c:1646 */
40940 0 : break;
40941 :
40942 : case 1942:
40943 : #line 12975 "gram.y" /* yacc.c:1646 */
40944 : { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
40945 : #line 40946 "gram.c" /* yacc.c:1646 */
40946 0 : break;
40947 :
40948 : case 1943:
40949 : #line 12977 "gram.y" /* yacc.c:1646 */
40950 : { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
40951 : #line 40952 "gram.c" /* yacc.c:1646 */
40952 0 : break;
40953 :
40954 : case 1944:
40955 : #line 12979 "gram.y" /* yacc.c:1646 */
40956 : { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<>", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
40957 : #line 40958 "gram.c" /* yacc.c:1646 */
40958 0 : break;
40959 :
40960 : case 1945:
40961 : #line 12981 "gram.y" /* yacc.c:1646 */
40962 : { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
40963 : #line 40964 "gram.c" /* yacc.c:1646 */
40964 2 : break;
40965 :
40966 : case 1946:
40967 : #line 12983 "gram.y" /* yacc.c:1646 */
40968 : { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), NULL, (yyvsp[0].node), (yylsp[-1])); }
40969 : #line 40970 "gram.c" /* yacc.c:1646 */
40970 0 : break;
40971 :
40972 : case 1947:
40973 : #line 12985 "gram.y" /* yacc.c:1646 */
40974 : { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[0].list), (yyvsp[-1].node), NULL, (yylsp[0])); }
40975 : #line 40976 "gram.c" /* yacc.c:1646 */
40976 0 : break;
40977 :
40978 : case 1948:
40979 : #line 12987 "gram.y" /* yacc.c:1646 */
40980 : {
40981 : (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", (yyvsp[-4].node), (yyvsp[0].node), (yylsp[-3]));
40982 : }
40983 : #line 40984 "gram.c" /* yacc.c:1646 */
40984 0 : break;
40985 :
40986 : case 1949:
40987 : #line 12991 "gram.y" /* yacc.c:1646 */
40988 : {
40989 : (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_DISTINCT, "=", (yyvsp[-5].node), (yyvsp[0].node), (yylsp[-4]));
40990 : }
40991 : #line 40992 "gram.c" /* yacc.c:1646 */
40992 0 : break;
40993 :
40994 : case 1950:
40995 : #line 12995 "gram.y" /* yacc.c:1646 */
40996 : {
40997 : (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "=", (yyvsp[-5].node), (Node *) (yyvsp[-1].list), (yylsp[-4]));
40998 : }
40999 : #line 41000 "gram.c" /* yacc.c:1646 */
41000 0 : break;
41001 :
41002 : case 1951:
41003 : #line 12999 "gram.y" /* yacc.c:1646 */
41004 : {
41005 : (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "<>", (yyvsp[-6].node), (Node *) (yyvsp[-1].list), (yylsp[-5]));
41006 : }
41007 : #line 41008 "gram.c" /* yacc.c:1646 */
41008 0 : break;
41009 :
41010 : case 1952:
41011 : #line 13003 "gram.y" /* yacc.c:1646 */
41012 : {
41013 : (yyval.node) = makeXmlExpr(IS_DOCUMENT, NULL, NIL,
41014 : list_make1((yyvsp[-2].node)), (yylsp[-1]));
41015 : }
41016 : #line 41017 "gram.c" /* yacc.c:1646 */
41017 0 : break;
41018 :
41019 : case 1953:
41020 : #line 13008 "gram.y" /* yacc.c:1646 */
41021 : {
41022 : (yyval.node) = makeNotExpr(makeXmlExpr(IS_DOCUMENT, NULL, NIL,
41023 : list_make1((yyvsp[-3].node)), (yylsp[-2])),
41024 : (yylsp[-2]));
41025 : }
41026 : #line 41027 "gram.c" /* yacc.c:1646 */
41027 0 : break;
41028 :
41029 : case 1954:
41030 : #line 13023 "gram.y" /* yacc.c:1646 */
41031 : { (yyval.node) = (yyvsp[0].node); }
41032 : #line 41033 "gram.c" /* yacc.c:1646 */
41033 51266 : break;
41034 :
41035 : case 1955:
41036 : #line 13024 "gram.y" /* yacc.c:1646 */
41037 : { (yyval.node) = (yyvsp[0].node); }
41038 : #line 41039 "gram.c" /* yacc.c:1646 */
41039 44784 : break;
41040 :
41041 : case 1956:
41042 : #line 13026 "gram.y" /* yacc.c:1646 */
41043 : {
41044 : ParamRef *p = makeNode(ParamRef);
41045 : p->number = (yyvsp[-1].ival);
41046 : p->location = (yylsp[-1]);
41047 : if ((yyvsp[0].list))
41048 : {
41049 : A_Indirection *n = makeNode(A_Indirection);
41050 : n->arg = (Node *) p;
41051 : n->indirection = check_indirection((yyvsp[0].list), yyscanner);
41052 : (yyval.node) = (Node *) n;
41053 : }
41054 : else
41055 : (yyval.node) = (Node *) p;
41056 : }
41057 : #line 41058 "gram.c" /* yacc.c:1646 */
41058 2421 : break;
41059 :
41060 : case 1957:
41061 : #line 13041 "gram.y" /* yacc.c:1646 */
41062 : {
41063 : if ((yyvsp[0].list))
41064 : {
41065 : A_Indirection *n = makeNode(A_Indirection);
41066 : n->arg = (yyvsp[-2].node);
41067 : n->indirection = check_indirection((yyvsp[0].list), yyscanner);
41068 : (yyval.node) = (Node *)n;
41069 : }
41070 : else if (operator_precedence_warning)
41071 : {
41072 : /*
41073 : * If precedence warnings are enabled, insert
41074 : * AEXPR_PAREN nodes wrapping all explicitly
41075 : * parenthesized subexpressions; this prevents bogus
41076 : * warnings from being issued when the ordering has
41077 : * been forced by parentheses. Take care that an
41078 : * AEXPR_PAREN node has the same exprLocation as its
41079 : * child, so as not to cause surprising changes in
41080 : * error cursor positioning.
41081 : *
41082 : * In principle we should not be relying on a GUC to
41083 : * decide whether to insert AEXPR_PAREN nodes.
41084 : * However, since they have no effect except to
41085 : * suppress warnings, it's probably safe enough; and
41086 : * we'd just as soon not waste cycles on dummy parse
41087 : * nodes if we don't have to.
41088 : */
41089 : (yyval.node) = (Node *) makeA_Expr(AEXPR_PAREN, NIL, (yyvsp[-2].node), NULL,
41090 : exprLocation((yyvsp[-2].node)));
41091 : }
41092 : else
41093 : (yyval.node) = (yyvsp[-2].node);
41094 : }
41095 : #line 41096 "gram.c" /* yacc.c:1646 */
41096 1884 : break;
41097 :
41098 : case 1958:
41099 : #line 13075 "gram.y" /* yacc.c:1646 */
41100 : { (yyval.node) = (yyvsp[0].node); }
41101 : #line 41102 "gram.c" /* yacc.c:1646 */
41102 1034 : break;
41103 :
41104 : case 1959:
41105 : #line 13077 "gram.y" /* yacc.c:1646 */
41106 : { (yyval.node) = (yyvsp[0].node); }
41107 : #line 41108 "gram.c" /* yacc.c:1646 */
41108 17045 : break;
41109 :
41110 : case 1960:
41111 : #line 13079 "gram.y" /* yacc.c:1646 */
41112 : {
41113 : SubLink *n = makeNode(SubLink);
41114 : n->subLinkType = EXPR_SUBLINK;
41115 : n->subLinkId = 0;
41116 : n->testexpr = NULL;
41117 : n->operName = NIL;
41118 : n->subselect = (yyvsp[0].node);
41119 : n->location = (yylsp[0]);
41120 : (yyval.node) = (Node *)n;
41121 : }
41122 : #line 41123 "gram.c" /* yacc.c:1646 */
41123 961 : break;
41124 :
41125 : case 1961:
41126 : #line 13090 "gram.y" /* yacc.c:1646 */
41127 : {
41128 : /*
41129 : * Because the select_with_parens nonterminal is designed
41130 : * to "eat" as many levels of parens as possible, the
41131 : * '(' a_expr ')' opt_indirection production above will
41132 : * fail to match a sub-SELECT with indirection decoration;
41133 : * the sub-SELECT won't be regarded as an a_expr as long
41134 : * as there are parens around it. To support applying
41135 : * subscripting or field selection to a sub-SELECT result,
41136 : * we need this redundant-looking production.
41137 : */
41138 : SubLink *n = makeNode(SubLink);
41139 : A_Indirection *a = makeNode(A_Indirection);
41140 : n->subLinkType = EXPR_SUBLINK;
41141 : n->subLinkId = 0;
41142 : n->testexpr = NULL;
41143 : n->operName = NIL;
41144 : n->subselect = (yyvsp[-1].node);
41145 : n->location = (yylsp[-1]);
41146 : a->arg = (Node *)n;
41147 : a->indirection = check_indirection((yyvsp[0].list), yyscanner);
41148 : (yyval.node) = (Node *)a;
41149 : }
41150 : #line 41151 "gram.c" /* yacc.c:1646 */
41151 3 : break;
41152 :
41153 : case 1962:
41154 : #line 13114 "gram.y" /* yacc.c:1646 */
41155 : {
41156 : SubLink *n = makeNode(SubLink);
41157 : n->subLinkType = EXISTS_SUBLINK;
41158 : n->subLinkId = 0;
41159 : n->testexpr = NULL;
41160 : n->operName = NIL;
41161 : n->subselect = (yyvsp[0].node);
41162 : n->location = (yylsp[-1]);
41163 : (yyval.node) = (Node *)n;
41164 : }
41165 : #line 41166 "gram.c" /* yacc.c:1646 */
41166 283 : break;
41167 :
41168 : case 1963:
41169 : #line 13125 "gram.y" /* yacc.c:1646 */
41170 : {
41171 : SubLink *n = makeNode(SubLink);
41172 : n->subLinkType = ARRAY_SUBLINK;
41173 : n->subLinkId = 0;
41174 : n->testexpr = NULL;
41175 : n->operName = NIL;
41176 : n->subselect = (yyvsp[0].node);
41177 : n->location = (yylsp[-1]);
41178 : (yyval.node) = (Node *)n;
41179 : }
41180 : #line 41181 "gram.c" /* yacc.c:1646 */
41181 439 : break;
41182 :
41183 : case 1964:
41184 : #line 13136 "gram.y" /* yacc.c:1646 */
41185 : {
41186 : A_ArrayExpr *n = castNode(A_ArrayExpr, (yyvsp[0].node));
41187 : /* point outermost A_ArrayExpr to the ARRAY keyword */
41188 : n->location = (yylsp[-1]);
41189 : (yyval.node) = (Node *)n;
41190 : }
41191 : #line 41192 "gram.c" /* yacc.c:1646 */
41192 495 : break;
41193 :
41194 : case 1965:
41195 : #line 13143 "gram.y" /* yacc.c:1646 */
41196 : {
41197 : RowExpr *r = makeNode(RowExpr);
41198 : r->args = (yyvsp[0].list);
41199 : r->row_typeid = InvalidOid; /* not analyzed yet */
41200 : r->colnames = NIL; /* to be filled in during analysis */
41201 : r->row_format = COERCE_EXPLICIT_CALL; /* abuse */
41202 : r->location = (yylsp[0]);
41203 : (yyval.node) = (Node *)r;
41204 : }
41205 : #line 41206 "gram.c" /* yacc.c:1646 */
41206 202 : break;
41207 :
41208 : case 1966:
41209 : #line 13153 "gram.y" /* yacc.c:1646 */
41210 : {
41211 : RowExpr *r = makeNode(RowExpr);
41212 : r->args = (yyvsp[0].list);
41213 : r->row_typeid = InvalidOid; /* not analyzed yet */
41214 : r->colnames = NIL; /* to be filled in during analysis */
41215 : r->row_format = COERCE_IMPLICIT_CAST; /* abuse */
41216 : r->location = (yylsp[0]);
41217 : (yyval.node) = (Node *)r;
41218 : }
41219 : #line 41220 "gram.c" /* yacc.c:1646 */
41220 153 : break;
41221 :
41222 : case 1967:
41223 : #line 13163 "gram.y" /* yacc.c:1646 */
41224 : {
41225 : GroupingFunc *g = makeNode(GroupingFunc);
41226 : g->args = (yyvsp[-1].list);
41227 : g->location = (yylsp[-3]);
41228 : (yyval.node) = (Node *)g;
41229 : }
41230 : #line 41231 "gram.c" /* yacc.c:1646 */
41231 41 : break;
41232 :
41233 : case 1968:
41234 : #line 13172 "gram.y" /* yacc.c:1646 */
41235 : {
41236 : (yyval.node) = (Node *) makeFuncCall((yyvsp[-2].list), NIL, (yylsp[-2]));
41237 : }
41238 : #line 41239 "gram.c" /* yacc.c:1646 */
41239 5106 : break;
41240 :
41241 : case 1969:
41242 : #line 13176 "gram.y" /* yacc.c:1646 */
41243 : {
41244 : FuncCall *n = makeFuncCall((yyvsp[-4].list), (yyvsp[-2].list), (yylsp[-4]));
41245 : n->agg_order = (yyvsp[-1].list);
41246 : (yyval.node) = (Node *)n;
41247 : }
41248 : #line 41249 "gram.c" /* yacc.c:1646 */
41249 10927 : break;
41250 :
41251 : case 1970:
41252 : #line 13182 "gram.y" /* yacc.c:1646 */
41253 : {
41254 : FuncCall *n = makeFuncCall((yyvsp[-5].list), list_make1((yyvsp[-2].node)), (yylsp[-5]));
41255 : n->func_variadic = TRUE;
41256 : n->agg_order = (yyvsp[-1].list);
41257 : (yyval.node) = (Node *)n;
41258 : }
41259 : #line 41260 "gram.c" /* yacc.c:1646 */
41260 18 : break;
41261 :
41262 : case 1971:
41263 : #line 13189 "gram.y" /* yacc.c:1646 */
41264 : {
41265 : FuncCall *n = makeFuncCall((yyvsp[-7].list), lappend((yyvsp[-5].list), (yyvsp[-2].node)), (yylsp[-7]));
41266 : n->func_variadic = TRUE;
41267 : n->agg_order = (yyvsp[-1].list);
41268 : (yyval.node) = (Node *)n;
41269 : }
41270 : #line 41271 "gram.c" /* yacc.c:1646 */
41271 15 : break;
41272 :
41273 : case 1972:
41274 : #line 13196 "gram.y" /* yacc.c:1646 */
41275 : {
41276 : FuncCall *n = makeFuncCall((yyvsp[-5].list), (yyvsp[-2].list), (yylsp[-5]));
41277 : n->agg_order = (yyvsp[-1].list);
41278 : /* Ideally we'd mark the FuncCall node to indicate
41279 : * "must be an aggregate", but there's no provision
41280 : * for that in FuncCall at the moment.
41281 : */
41282 : (yyval.node) = (Node *)n;
41283 : }
41284 : #line 41285 "gram.c" /* yacc.c:1646 */
41285 0 : break;
41286 :
41287 : case 1973:
41288 : #line 13206 "gram.y" /* yacc.c:1646 */
41289 : {
41290 : FuncCall *n = makeFuncCall((yyvsp[-5].list), (yyvsp[-2].list), (yylsp[-5]));
41291 : n->agg_order = (yyvsp[-1].list);
41292 : n->agg_distinct = TRUE;
41293 : (yyval.node) = (Node *)n;
41294 : }
41295 : #line 41296 "gram.c" /* yacc.c:1646 */
41296 47 : break;
41297 :
41298 : case 1974:
41299 : #line 13213 "gram.y" /* yacc.c:1646 */
41300 : {
41301 : /*
41302 : * We consider AGGREGATE(*) to invoke a parameterless
41303 : * aggregate. This does the right thing for COUNT(*),
41304 : * and there are no other aggregates in SQL that accept
41305 : * '*' as parameter.
41306 : *
41307 : * The FuncCall node is also marked agg_star = true,
41308 : * so that later processing can detect what the argument
41309 : * really was.
41310 : */
41311 : FuncCall *n = makeFuncCall((yyvsp[-3].list), NIL, (yylsp[-3]));
41312 : n->agg_star = TRUE;
41313 : (yyval.node) = (Node *)n;
41314 : }
41315 : #line 41316 "gram.c" /* yacc.c:1646 */
41316 685 : break;
41317 :
41318 : case 1975:
41319 : #line 13241 "gram.y" /* yacc.c:1646 */
41320 : {
41321 : FuncCall *n = (FuncCall *) (yyvsp[-3].node);
41322 : /*
41323 : * The order clause for WITHIN GROUP and the one for
41324 : * plain-aggregate ORDER BY share a field, so we have to
41325 : * check here that at most one is present. We also check
41326 : * for DISTINCT and VARIADIC here to give a better error
41327 : * location. Other consistency checks are deferred to
41328 : * parse analysis.
41329 : */
41330 : if ((yyvsp[-2].list) != NIL)
41331 : {
41332 : if (n->agg_order != NIL)
41333 : ereport(ERROR,
41334 : (errcode(ERRCODE_SYNTAX_ERROR),
41335 : errmsg("cannot use multiple ORDER BY clauses with WITHIN GROUP"),
41336 : parser_errposition((yylsp[-2]))));
41337 : if (n->agg_distinct)
41338 : ereport(ERROR,
41339 : (errcode(ERRCODE_SYNTAX_ERROR),
41340 : errmsg("cannot use DISTINCT with WITHIN GROUP"),
41341 : parser_errposition((yylsp[-2]))));
41342 : if (n->func_variadic)
41343 : ereport(ERROR,
41344 : (errcode(ERRCODE_SYNTAX_ERROR),
41345 : errmsg("cannot use VARIADIC with WITHIN GROUP"),
41346 : parser_errposition((yylsp[-2]))));
41347 : n->agg_order = (yyvsp[-2].list);
41348 : n->agg_within_group = TRUE;
41349 : }
41350 : n->agg_filter = (yyvsp[-1].node);
41351 : n->over = (yyvsp[0].windef);
41352 : (yyval.node) = (Node *) n;
41353 : }
41354 : #line 41355 "gram.c" /* yacc.c:1646 */
41355 15420 : break;
41356 :
41357 : case 1976:
41358 : #line 13276 "gram.y" /* yacc.c:1646 */
41359 : { (yyval.node) = (yyvsp[0].node); }
41360 : #line 41361 "gram.c" /* yacc.c:1646 */
41361 1625 : break;
41362 :
41363 : case 1977:
41364 : #line 13286 "gram.y" /* yacc.c:1646 */
41365 : { (yyval.node) = (yyvsp[0].node); }
41366 : #line 41367 "gram.c" /* yacc.c:1646 */
41367 1375 : break;
41368 :
41369 : case 1978:
41370 : #line 13287 "gram.y" /* yacc.c:1646 */
41371 : { (yyval.node) = (yyvsp[0].node); }
41372 : #line 41373 "gram.c" /* yacc.c:1646 */
41373 8 : break;
41374 :
41375 : case 1979:
41376 : #line 13295 "gram.y" /* yacc.c:1646 */
41377 : {
41378 : (yyval.node) = (Node *) makeFuncCall(SystemFuncName("pg_collation_for"),
41379 : list_make1((yyvsp[-1].node)),
41380 : (yylsp[-4]));
41381 : }
41382 : #line 41383 "gram.c" /* yacc.c:1646 */
41383 5 : break;
41384 :
41385 : case 1980:
41386 : #line 13301 "gram.y" /* yacc.c:1646 */
41387 : {
41388 : (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_DATE, -1, (yylsp[0]));
41389 : }
41390 : #line 41391 "gram.c" /* yacc.c:1646 */
41391 6 : break;
41392 :
41393 : case 1981:
41394 : #line 13305 "gram.y" /* yacc.c:1646 */
41395 : {
41396 : (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIME, -1, (yylsp[0]));
41397 : }
41398 : #line 41399 "gram.c" /* yacc.c:1646 */
41399 1 : break;
41400 :
41401 : case 1982:
41402 : #line 13309 "gram.y" /* yacc.c:1646 */
41403 : {
41404 : (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIME_N, (yyvsp[-1].ival), (yylsp[-3]));
41405 : }
41406 : #line 41407 "gram.c" /* yacc.c:1646 */
41407 0 : break;
41408 :
41409 : case 1983:
41410 : #line 13313 "gram.y" /* yacc.c:1646 */
41411 : {
41412 : (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIMESTAMP, -1, (yylsp[0]));
41413 : }
41414 : #line 41415 "gram.c" /* yacc.c:1646 */
41415 2 : break;
41416 :
41417 : case 1984:
41418 : #line 13317 "gram.y" /* yacc.c:1646 */
41419 : {
41420 : (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIMESTAMP_N, (yyvsp[-1].ival), (yylsp[-3]));
41421 : }
41422 : #line 41423 "gram.c" /* yacc.c:1646 */
41423 2 : break;
41424 :
41425 : case 1985:
41426 : #line 13321 "gram.y" /* yacc.c:1646 */
41427 : {
41428 : (yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIME, -1, (yylsp[0]));
41429 : }
41430 : #line 41431 "gram.c" /* yacc.c:1646 */
41431 1 : break;
41432 :
41433 : case 1986:
41434 : #line 13325 "gram.y" /* yacc.c:1646 */
41435 : {
41436 : (yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIME_N, (yyvsp[-1].ival), (yylsp[-3]));
41437 : }
41438 : #line 41439 "gram.c" /* yacc.c:1646 */
41439 0 : break;
41440 :
41441 : case 1987:
41442 : #line 13329 "gram.y" /* yacc.c:1646 */
41443 : {
41444 : (yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIMESTAMP, -1, (yylsp[0]));
41445 : }
41446 : #line 41447 "gram.c" /* yacc.c:1646 */
41447 1 : break;
41448 :
41449 : case 1988:
41450 : #line 13333 "gram.y" /* yacc.c:1646 */
41451 : {
41452 : (yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIMESTAMP_N, (yyvsp[-1].ival), (yylsp[-3]));
41453 : }
41454 : #line 41455 "gram.c" /* yacc.c:1646 */
41455 1 : break;
41456 :
41457 : case 1989:
41458 : #line 13337 "gram.y" /* yacc.c:1646 */
41459 : {
41460 : (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_ROLE, -1, (yylsp[0]));
41461 : }
41462 : #line 41463 "gram.c" /* yacc.c:1646 */
41463 0 : break;
41464 :
41465 : case 1990:
41466 : #line 13341 "gram.y" /* yacc.c:1646 */
41467 : {
41468 : (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_USER, -1, (yylsp[0]));
41469 : }
41470 : #line 41471 "gram.c" /* yacc.c:1646 */
41471 80 : break;
41472 :
41473 : case 1991:
41474 : #line 13345 "gram.y" /* yacc.c:1646 */
41475 : {
41476 : (yyval.node) = makeSQLValueFunction(SVFOP_SESSION_USER, -1, (yylsp[0]));
41477 : }
41478 : #line 41479 "gram.c" /* yacc.c:1646 */
41479 27 : break;
41480 :
41481 : case 1992:
41482 : #line 13349 "gram.y" /* yacc.c:1646 */
41483 : {
41484 : (yyval.node) = makeSQLValueFunction(SVFOP_USER, -1, (yylsp[0]));
41485 : }
41486 : #line 41487 "gram.c" /* yacc.c:1646 */
41487 0 : break;
41488 :
41489 : case 1993:
41490 : #line 13353 "gram.y" /* yacc.c:1646 */
41491 : {
41492 : (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_CATALOG, -1, (yylsp[0]));
41493 : }
41494 : #line 41495 "gram.c" /* yacc.c:1646 */
41495 1 : break;
41496 :
41497 : case 1994:
41498 : #line 13357 "gram.y" /* yacc.c:1646 */
41499 : {
41500 : (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_SCHEMA, -1, (yylsp[0]));
41501 : }
41502 : #line 41503 "gram.c" /* yacc.c:1646 */
41503 3 : break;
41504 :
41505 : case 1995:
41506 : #line 13361 "gram.y" /* yacc.c:1646 */
41507 : { (yyval.node) = makeTypeCast((yyvsp[-3].node), (yyvsp[-1].typnam), (yylsp[-5])); }
41508 : #line 41509 "gram.c" /* yacc.c:1646 */
41509 756 : break;
41510 :
41511 : case 1996:
41512 : #line 13363 "gram.y" /* yacc.c:1646 */
41513 : {
41514 : (yyval.node) = (Node *) makeFuncCall(SystemFuncName("date_part"), (yyvsp[-1].list), (yylsp[-3]));
41515 : }
41516 : #line 41517 "gram.c" /* yacc.c:1646 */
41517 81 : break;
41518 :
41519 : case 1997:
41520 : #line 13367 "gram.y" /* yacc.c:1646 */
41521 : {
41522 : /* overlay(A PLACING B FROM C FOR D) is converted to
41523 : * overlay(A, B, C, D)
41524 : * overlay(A PLACING B FROM C) is converted to
41525 : * overlay(A, B, C)
41526 : */
41527 : (yyval.node) = (Node *) makeFuncCall(SystemFuncName("overlay"), (yyvsp[-1].list), (yylsp[-3]));
41528 : }
41529 : #line 41530 "gram.c" /* yacc.c:1646 */
41530 11 : break;
41531 :
41532 : case 1998:
41533 : #line 13376 "gram.y" /* yacc.c:1646 */
41534 : {
41535 : /* position(A in B) is converted to position(B, A) */
41536 : (yyval.node) = (Node *) makeFuncCall(SystemFuncName("position"), (yyvsp[-1].list), (yylsp[-3]));
41537 : }
41538 : #line 41539 "gram.c" /* yacc.c:1646 */
41539 45 : break;
41540 :
41541 : case 1999:
41542 : #line 13381 "gram.y" /* yacc.c:1646 */
41543 : {
41544 : /* substring(A from B for C) is converted to
41545 : * substring(A, B, C) - thomas 2000-11-28
41546 : */
41547 : (yyval.node) = (Node *) makeFuncCall(SystemFuncName("substring"), (yyvsp[-1].list), (yylsp[-3]));
41548 : }
41549 : #line 41550 "gram.c" /* yacc.c:1646 */
41550 281 : break;
41551 :
41552 : case 2000:
41553 : #line 13388 "gram.y" /* yacc.c:1646 */
41554 : {
41555 : /* TREAT(expr AS target) converts expr of a particular type to target,
41556 : * which is defined to be a subtype of the original expression.
41557 : * In SQL99, this is intended for use with structured UDTs,
41558 : * but let's make this a generally useful form allowing stronger
41559 : * coercions than are handled by implicit casting.
41560 : *
41561 : * Convert SystemTypeName() to SystemFuncName() even though
41562 : * at the moment they result in the same thing.
41563 : */
41564 : (yyval.node) = (Node *) makeFuncCall(SystemFuncName(((Value *)llast((yyvsp[-1].typnam)->names))->val.str),
41565 : list_make1((yyvsp[-3].node)),
41566 : (yylsp[-5]));
41567 : }
41568 : #line 41569 "gram.c" /* yacc.c:1646 */
41569 0 : break;
41570 :
41571 : case 2001:
41572 : #line 13403 "gram.y" /* yacc.c:1646 */
41573 : {
41574 : /* various trim expressions are defined in SQL
41575 : * - thomas 1997-07-19
41576 : */
41577 : (yyval.node) = (Node *) makeFuncCall(SystemFuncName("btrim"), (yyvsp[-1].list), (yylsp[-4]));
41578 : }
41579 : #line 41580 "gram.c" /* yacc.c:1646 */
41580 2 : break;
41581 :
41582 : case 2002:
41583 : #line 13410 "gram.y" /* yacc.c:1646 */
41584 : {
41585 : (yyval.node) = (Node *) makeFuncCall(SystemFuncName("ltrim"), (yyvsp[-1].list), (yylsp[-4]));
41586 : }
41587 : #line 41588 "gram.c" /* yacc.c:1646 */
41588 1 : break;
41589 :
41590 : case 2003:
41591 : #line 13414 "gram.y" /* yacc.c:1646 */
41592 : {
41593 : (yyval.node) = (Node *) makeFuncCall(SystemFuncName("rtrim"), (yyvsp[-1].list), (yylsp[-4]));
41594 : }
41595 : #line 41596 "gram.c" /* yacc.c:1646 */
41596 56 : break;
41597 :
41598 : case 2004:
41599 : #line 13418 "gram.y" /* yacc.c:1646 */
41600 : {
41601 : (yyval.node) = (Node *) makeFuncCall(SystemFuncName("btrim"), (yyvsp[-1].list), (yylsp[-3]));
41602 : }
41603 : #line 41604 "gram.c" /* yacc.c:1646 */
41604 13 : break;
41605 :
41606 : case 2005:
41607 : #line 13422 "gram.y" /* yacc.c:1646 */
41608 : {
41609 : (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NULLIF, "=", (yyvsp[-3].node), (yyvsp[-1].node), (yylsp[-5]));
41610 : }
41611 : #line 41612 "gram.c" /* yacc.c:1646 */
41612 11 : break;
41613 :
41614 : case 2006:
41615 : #line 13426 "gram.y" /* yacc.c:1646 */
41616 : {
41617 : CoalesceExpr *c = makeNode(CoalesceExpr);
41618 : c->args = (yyvsp[-1].list);
41619 : c->location = (yylsp[-3]);
41620 : (yyval.node) = (Node *)c;
41621 : }
41622 : #line 41623 "gram.c" /* yacc.c:1646 */
41623 127 : break;
41624 :
41625 : case 2007:
41626 : #line 13433 "gram.y" /* yacc.c:1646 */
41627 : {
41628 : MinMaxExpr *v = makeNode(MinMaxExpr);
41629 : v->args = (yyvsp[-1].list);
41630 : v->op = IS_GREATEST;
41631 : v->location = (yylsp[-3]);
41632 : (yyval.node) = (Node *)v;
41633 : }
41634 : #line 41635 "gram.c" /* yacc.c:1646 */
41635 9 : break;
41636 :
41637 : case 2008:
41638 : #line 13441 "gram.y" /* yacc.c:1646 */
41639 : {
41640 : MinMaxExpr *v = makeNode(MinMaxExpr);
41641 : v->args = (yyvsp[-1].list);
41642 : v->op = IS_LEAST;
41643 : v->location = (yylsp[-3]);
41644 : (yyval.node) = (Node *)v;
41645 : }
41646 : #line 41647 "gram.c" /* yacc.c:1646 */
41647 7 : break;
41648 :
41649 : case 2009:
41650 : #line 13449 "gram.y" /* yacc.c:1646 */
41651 : {
41652 : (yyval.node) = makeXmlExpr(IS_XMLCONCAT, NULL, NIL, (yyvsp[-1].list), (yylsp[-3]));
41653 : }
41654 : #line 41655 "gram.c" /* yacc.c:1646 */
41655 10 : break;
41656 :
41657 : case 2010:
41658 : #line 13453 "gram.y" /* yacc.c:1646 */
41659 : {
41660 : (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-1].str), NIL, NIL, (yylsp[-4]));
41661 : }
41662 : #line 41663 "gram.c" /* yacc.c:1646 */
41663 0 : break;
41664 :
41665 : case 2011:
41666 : #line 13457 "gram.y" /* yacc.c:1646 */
41667 : {
41668 : (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-3].str), (yyvsp[-1].list), NIL, (yylsp[-6]));
41669 : }
41670 : #line 41671 "gram.c" /* yacc.c:1646 */
41671 6 : break;
41672 :
41673 : case 2012:
41674 : #line 13461 "gram.y" /* yacc.c:1646 */
41675 : {
41676 : (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-3].str), NIL, (yyvsp[-1].list), (yylsp[-6]));
41677 : }
41678 : #line 41679 "gram.c" /* yacc.c:1646 */
41679 19 : break;
41680 :
41681 : case 2013:
41682 : #line 13465 "gram.y" /* yacc.c:1646 */
41683 : {
41684 : (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-5].str), (yyvsp[-3].list), (yyvsp[-1].list), (yylsp[-8]));
41685 : }
41686 : #line 41687 "gram.c" /* yacc.c:1646 */
41687 3 : break;
41688 :
41689 : case 2014:
41690 : #line 13469 "gram.y" /* yacc.c:1646 */
41691 : {
41692 : /* xmlexists(A PASSING [BY REF] B [BY REF]) is
41693 : * converted to xmlexists(A, B)*/
41694 : (yyval.node) = (Node *) makeFuncCall(SystemFuncName("xmlexists"), list_make2((yyvsp[-2].node), (yyvsp[-1].node)), (yylsp[-4]));
41695 : }
41696 : #line 41697 "gram.c" /* yacc.c:1646 */
41697 8 : break;
41698 :
41699 : case 2015:
41700 : #line 13475 "gram.y" /* yacc.c:1646 */
41701 : {
41702 : (yyval.node) = makeXmlExpr(IS_XMLFOREST, NULL, (yyvsp[-1].list), NIL, (yylsp[-3]));
41703 : }
41704 : #line 41705 "gram.c" /* yacc.c:1646 */
41705 5 : break;
41706 :
41707 : case 2016:
41708 : #line 13479 "gram.y" /* yacc.c:1646 */
41709 : {
41710 : XmlExpr *x = (XmlExpr *)
41711 : makeXmlExpr(IS_XMLPARSE, NULL, NIL,
41712 : list_make2((yyvsp[-2].node), makeBoolAConst((yyvsp[-1].boolean), -1)),
41713 : (yylsp[-5]));
41714 : x->xmloption = (yyvsp[-3].ival);
41715 : (yyval.node) = (Node *)x;
41716 : }
41717 : #line 41718 "gram.c" /* yacc.c:1646 */
41718 23 : break;
41719 :
41720 : case 2017:
41721 : #line 13488 "gram.y" /* yacc.c:1646 */
41722 : {
41723 : (yyval.node) = makeXmlExpr(IS_XMLPI, (yyvsp[-1].str), NULL, NIL, (yylsp[-4]));
41724 : }
41725 : #line 41726 "gram.c" /* yacc.c:1646 */
41726 5 : break;
41727 :
41728 : case 2018:
41729 : #line 13492 "gram.y" /* yacc.c:1646 */
41730 : {
41731 : (yyval.node) = makeXmlExpr(IS_XMLPI, (yyvsp[-3].str), NULL, list_make1((yyvsp[-1].node)), (yylsp[-6]));
41732 : }
41733 : #line 41734 "gram.c" /* yacc.c:1646 */
41734 8 : break;
41735 :
41736 : case 2019:
41737 : #line 13496 "gram.y" /* yacc.c:1646 */
41738 : {
41739 : (yyval.node) = makeXmlExpr(IS_XMLROOT, NULL, NIL,
41740 : list_make3((yyvsp[-4].node), (yyvsp[-2].node), (yyvsp[-1].node)), (yylsp[-6]));
41741 : }
41742 : #line 41743 "gram.c" /* yacc.c:1646 */
41743 11 : break;
41744 :
41745 : case 2020:
41746 : #line 13501 "gram.y" /* yacc.c:1646 */
41747 : {
41748 : XmlSerialize *n = makeNode(XmlSerialize);
41749 : n->xmloption = (yyvsp[-4].ival);
41750 : n->expr = (yyvsp[-3].node);
41751 : n->typeName = (yyvsp[-1].typnam);
41752 : n->location = (yylsp[-6]);
41753 : (yyval.node) = (Node *)n;
41754 : }
41755 : #line 41756 "gram.c" /* yacc.c:1646 */
41756 5 : break;
41757 :
41758 : case 2021:
41759 : #line 13515 "gram.y" /* yacc.c:1646 */
41760 : { (yyval.node) = (yyvsp[0].node); }
41761 : #line 41762 "gram.c" /* yacc.c:1646 */
41762 4 : break;
41763 :
41764 : case 2022:
41765 : #line 13517 "gram.y" /* yacc.c:1646 */
41766 : { (yyval.node) = makeNullAConst(-1); }
41767 : #line 41768 "gram.c" /* yacc.c:1646 */
41768 7 : break;
41769 :
41770 : case 2023:
41771 : #line 13521 "gram.y" /* yacc.c:1646 */
41772 : { (yyval.node) = makeIntConst(XML_STANDALONE_YES, -1); }
41773 : #line 41774 "gram.c" /* yacc.c:1646 */
41774 4 : break;
41775 :
41776 : case 2024:
41777 : #line 13523 "gram.y" /* yacc.c:1646 */
41778 : { (yyval.node) = makeIntConst(XML_STANDALONE_NO, -1); }
41779 : #line 41780 "gram.c" /* yacc.c:1646 */
41780 2 : break;
41781 :
41782 : case 2025:
41783 : #line 13525 "gram.y" /* yacc.c:1646 */
41784 : { (yyval.node) = makeIntConst(XML_STANDALONE_NO_VALUE, -1); }
41785 : #line 41786 "gram.c" /* yacc.c:1646 */
41786 2 : break;
41787 :
41788 : case 2026:
41789 : #line 13527 "gram.y" /* yacc.c:1646 */
41790 : { (yyval.node) = makeIntConst(XML_STANDALONE_OMITTED, -1); }
41791 : #line 41792 "gram.c" /* yacc.c:1646 */
41792 3 : break;
41793 :
41794 : case 2027:
41795 : #line 13530 "gram.y" /* yacc.c:1646 */
41796 : { (yyval.list) = (yyvsp[-1].list); }
41797 : #line 41798 "gram.c" /* yacc.c:1646 */
41798 9 : break;
41799 :
41800 : case 2028:
41801 : #line 13533 "gram.y" /* yacc.c:1646 */
41802 : { (yyval.list) = list_make1((yyvsp[0].target)); }
41803 : #line 41804 "gram.c" /* yacc.c:1646 */
41804 14 : break;
41805 :
41806 : case 2029:
41807 : #line 13534 "gram.y" /* yacc.c:1646 */
41808 : { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
41809 : #line 41810 "gram.c" /* yacc.c:1646 */
41810 23 : break;
41811 :
41812 : case 2030:
41813 : #line 13538 "gram.y" /* yacc.c:1646 */
41814 : {
41815 : (yyval.target) = makeNode(ResTarget);
41816 : (yyval.target)->name = (yyvsp[0].str);
41817 : (yyval.target)->indirection = NIL;
41818 : (yyval.target)->val = (Node *) (yyvsp[-2].node);
41819 : (yyval.target)->location = (yylsp[-2]);
41820 : }
41821 : #line 41822 "gram.c" /* yacc.c:1646 */
41822 16 : break;
41823 :
41824 : case 2031:
41825 : #line 13546 "gram.y" /* yacc.c:1646 */
41826 : {
41827 : (yyval.target) = makeNode(ResTarget);
41828 : (yyval.target)->name = NULL;
41829 : (yyval.target)->indirection = NIL;
41830 : (yyval.target)->val = (Node *) (yyvsp[0].node);
41831 : (yyval.target)->location = (yylsp[0]);
41832 : }
41833 : #line 41834 "gram.c" /* yacc.c:1646 */
41834 21 : break;
41835 :
41836 : case 2032:
41837 : #line 13555 "gram.y" /* yacc.c:1646 */
41838 : { (yyval.ival) = XMLOPTION_DOCUMENT; }
41839 : #line 41840 "gram.c" /* yacc.c:1646 */
41840 14 : break;
41841 :
41842 : case 2033:
41843 : #line 13556 "gram.y" /* yacc.c:1646 */
41844 : { (yyval.ival) = XMLOPTION_CONTENT; }
41845 : #line 41846 "gram.c" /* yacc.c:1646 */
41846 16 : break;
41847 :
41848 : case 2034:
41849 : #line 13559 "gram.y" /* yacc.c:1646 */
41850 : { (yyval.boolean) = TRUE; }
41851 : #line 41852 "gram.c" /* yacc.c:1646 */
41852 0 : break;
41853 :
41854 : case 2035:
41855 : #line 13560 "gram.y" /* yacc.c:1646 */
41856 : { (yyval.boolean) = FALSE; }
41857 : #line 41858 "gram.c" /* yacc.c:1646 */
41858 0 : break;
41859 :
41860 : case 2036:
41861 : #line 13561 "gram.y" /* yacc.c:1646 */
41862 : { (yyval.boolean) = FALSE; }
41863 : #line 41864 "gram.c" /* yacc.c:1646 */
41864 23 : break;
41865 :
41866 : case 2037:
41867 : #line 13567 "gram.y" /* yacc.c:1646 */
41868 : {
41869 : (yyval.node) = (yyvsp[0].node);
41870 : }
41871 : #line 41872 "gram.c" /* yacc.c:1646 */
41872 31 : break;
41873 :
41874 : case 2038:
41875 : #line 13571 "gram.y" /* yacc.c:1646 */
41876 : {
41877 : (yyval.node) = (yyvsp[-2].node);
41878 : }
41879 : #line 41880 "gram.c" /* yacc.c:1646 */
41880 0 : break;
41881 :
41882 : case 2039:
41883 : #line 13575 "gram.y" /* yacc.c:1646 */
41884 : {
41885 : (yyval.node) = (yyvsp[0].node);
41886 : }
41887 : #line 41888 "gram.c" /* yacc.c:1646 */
41888 6 : break;
41889 :
41890 : case 2040:
41891 : #line 13579 "gram.y" /* yacc.c:1646 */
41892 : {
41893 : (yyval.node) = (yyvsp[-2].node);
41894 : }
41895 : #line 41896 "gram.c" /* yacc.c:1646 */
41896 1 : break;
41897 :
41898 : case 2041:
41899 : #line 13589 "gram.y" /* yacc.c:1646 */
41900 : { (yyval.list) = (yyvsp[-1].list); }
41901 : #line 41902 "gram.c" /* yacc.c:1646 */
41902 37 : break;
41903 :
41904 : case 2042:
41905 : #line 13590 "gram.y" /* yacc.c:1646 */
41906 : { (yyval.list) = NIL; }
41907 : #line 41908 "gram.c" /* yacc.c:1646 */
41908 15386 : break;
41909 :
41910 : case 2043:
41911 : #line 13594 "gram.y" /* yacc.c:1646 */
41912 : { (yyval.node) = (yyvsp[-1].node); }
41913 : #line 41914 "gram.c" /* yacc.c:1646 */
41914 20 : break;
41915 :
41916 : case 2044:
41917 : #line 13595 "gram.y" /* yacc.c:1646 */
41918 : { (yyval.node) = NULL; }
41919 : #line 41920 "gram.c" /* yacc.c:1646 */
41920 15403 : break;
41921 :
41922 : case 2045:
41923 : #line 13603 "gram.y" /* yacc.c:1646 */
41924 : { (yyval.list) = (yyvsp[0].list); }
41925 : #line 41926 "gram.c" /* yacc.c:1646 */
41926 17 : break;
41927 :
41928 : case 2046:
41929 : #line 13604 "gram.y" /* yacc.c:1646 */
41930 : { (yyval.list) = NIL; }
41931 : #line 41932 "gram.c" /* yacc.c:1646 */
41932 25995 : break;
41933 :
41934 : case 2047:
41935 : #line 13608 "gram.y" /* yacc.c:1646 */
41936 : { (yyval.list) = list_make1((yyvsp[0].windef)); }
41937 : #line 41938 "gram.c" /* yacc.c:1646 */
41938 17 : break;
41939 :
41940 : case 2048:
41941 : #line 13610 "gram.y" /* yacc.c:1646 */
41942 : { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].windef)); }
41943 : #line 41944 "gram.c" /* yacc.c:1646 */
41944 2 : break;
41945 :
41946 : case 2049:
41947 : #line 13615 "gram.y" /* yacc.c:1646 */
41948 : {
41949 : WindowDef *n = (yyvsp[0].windef);
41950 : n->name = (yyvsp[-2].str);
41951 : (yyval.windef) = n;
41952 : }
41953 : #line 41954 "gram.c" /* yacc.c:1646 */
41954 19 : break;
41955 :
41956 : case 2050:
41957 : #line 13623 "gram.y" /* yacc.c:1646 */
41958 : { (yyval.windef) = (yyvsp[0].windef); }
41959 : #line 41960 "gram.c" /* yacc.c:1646 */
41960 150 : break;
41961 :
41962 : case 2051:
41963 : #line 13625 "gram.y" /* yacc.c:1646 */
41964 : {
41965 : WindowDef *n = makeNode(WindowDef);
41966 : n->name = (yyvsp[0].str);
41967 : n->refname = NULL;
41968 : n->partitionClause = NIL;
41969 : n->orderClause = NIL;
41970 : n->frameOptions = FRAMEOPTION_DEFAULTS;
41971 : n->startOffset = NULL;
41972 : n->endOffset = NULL;
41973 : n->location = (yylsp[0]);
41974 : (yyval.windef) = n;
41975 : }
41976 : #line 41977 "gram.c" /* yacc.c:1646 */
41977 31 : break;
41978 :
41979 : case 2052:
41980 : #line 13638 "gram.y" /* yacc.c:1646 */
41981 : { (yyval.windef) = NULL; }
41982 : #line 41983 "gram.c" /* yacc.c:1646 */
41983 15240 : break;
41984 :
41985 : case 2053:
41986 : #line 13643 "gram.y" /* yacc.c:1646 */
41987 : {
41988 : WindowDef *n = makeNode(WindowDef);
41989 : n->name = NULL;
41990 : n->refname = (yyvsp[-4].str);
41991 : n->partitionClause = (yyvsp[-3].list);
41992 : n->orderClause = (yyvsp[-2].list);
41993 : /* copy relevant fields of opt_frame_clause */
41994 : n->frameOptions = (yyvsp[-1].windef)->frameOptions;
41995 : n->startOffset = (yyvsp[-1].windef)->startOffset;
41996 : n->endOffset = (yyvsp[-1].windef)->endOffset;
41997 : n->location = (yylsp[-5]);
41998 : (yyval.windef) = n;
41999 : }
42000 : #line 42001 "gram.c" /* yacc.c:1646 */
42001 169 : break;
42002 :
42003 : case 2054:
42004 : #line 13668 "gram.y" /* yacc.c:1646 */
42005 : { (yyval.str) = (yyvsp[0].str); }
42006 : #line 42007 "gram.c" /* yacc.c:1646 */
42007 1 : break;
42008 :
42009 : case 2055:
42010 : #line 13669 "gram.y" /* yacc.c:1646 */
42011 : { (yyval.str) = NULL; }
42012 : #line 42013 "gram.c" /* yacc.c:1646 */
42013 170 : break;
42014 :
42015 : case 2056:
42016 : #line 13672 "gram.y" /* yacc.c:1646 */
42017 : { (yyval.list) = (yyvsp[0].list); }
42018 : #line 42019 "gram.c" /* yacc.c:1646 */
42019 56 : break;
42020 :
42021 : case 2057:
42022 : #line 13673 "gram.y" /* yacc.c:1646 */
42023 : { (yyval.list) = NIL; }
42024 : #line 42025 "gram.c" /* yacc.c:1646 */
42025 114 : break;
42026 :
42027 : case 2058:
42028 : #line 13685 "gram.y" /* yacc.c:1646 */
42029 : {
42030 : WindowDef *n = (yyvsp[0].windef);
42031 : n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_RANGE;
42032 : if (n->frameOptions & (FRAMEOPTION_START_VALUE_PRECEDING |
42033 : FRAMEOPTION_END_VALUE_PRECEDING))
42034 : ereport(ERROR,
42035 : (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
42036 : errmsg("RANGE PRECEDING is only supported with UNBOUNDED"),
42037 : parser_errposition((yylsp[-1]))));
42038 : if (n->frameOptions & (FRAMEOPTION_START_VALUE_FOLLOWING |
42039 : FRAMEOPTION_END_VALUE_FOLLOWING))
42040 : ereport(ERROR,
42041 : (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
42042 : errmsg("RANGE FOLLOWING is only supported with UNBOUNDED"),
42043 : parser_errposition((yylsp[-1]))));
42044 : (yyval.windef) = n;
42045 : }
42046 : #line 42047 "gram.c" /* yacc.c:1646 */
42047 9 : break;
42048 :
42049 : case 2059:
42050 : #line 13703 "gram.y" /* yacc.c:1646 */
42051 : {
42052 : WindowDef *n = (yyvsp[0].windef);
42053 : n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_ROWS;
42054 : (yyval.windef) = n;
42055 : }
42056 : #line 42057 "gram.c" /* yacc.c:1646 */
42057 60 : break;
42058 :
42059 : case 2060:
42060 : #line 13709 "gram.y" /* yacc.c:1646 */
42061 : {
42062 : WindowDef *n = makeNode(WindowDef);
42063 : n->frameOptions = FRAMEOPTION_DEFAULTS;
42064 : n->startOffset = NULL;
42065 : n->endOffset = NULL;
42066 : (yyval.windef) = n;
42067 : }
42068 : #line 42069 "gram.c" /* yacc.c:1646 */
42069 100 : break;
42070 :
42071 : case 2061:
42072 : #line 13719 "gram.y" /* yacc.c:1646 */
42073 : {
42074 : WindowDef *n = (yyvsp[0].windef);
42075 : /* reject invalid cases */
42076 : if (n->frameOptions & FRAMEOPTION_START_UNBOUNDED_FOLLOWING)
42077 : ereport(ERROR,
42078 : (errcode(ERRCODE_WINDOWING_ERROR),
42079 : errmsg("frame start cannot be UNBOUNDED FOLLOWING"),
42080 : parser_errposition((yylsp[0]))));
42081 : if (n->frameOptions & FRAMEOPTION_START_VALUE_FOLLOWING)
42082 : ereport(ERROR,
42083 : (errcode(ERRCODE_WINDOWING_ERROR),
42084 : errmsg("frame starting from following row cannot end with current row"),
42085 : parser_errposition((yylsp[0]))));
42086 : n->frameOptions |= FRAMEOPTION_END_CURRENT_ROW;
42087 : (yyval.windef) = n;
42088 : }
42089 : #line 42090 "gram.c" /* yacc.c:1646 */
42090 1 : break;
42091 :
42092 : case 2062:
42093 : #line 13736 "gram.y" /* yacc.c:1646 */
42094 : {
42095 : WindowDef *n1 = (yyvsp[-2].windef);
42096 : WindowDef *n2 = (yyvsp[0].windef);
42097 : /* form merged options */
42098 : int frameOptions = n1->frameOptions;
42099 : /* shift converts START_ options to END_ options */
42100 : frameOptions |= n2->frameOptions << 1;
42101 : frameOptions |= FRAMEOPTION_BETWEEN;
42102 : /* reject invalid cases */
42103 : if (frameOptions & FRAMEOPTION_START_UNBOUNDED_FOLLOWING)
42104 : ereport(ERROR,
42105 : (errcode(ERRCODE_WINDOWING_ERROR),
42106 : errmsg("frame start cannot be UNBOUNDED FOLLOWING"),
42107 : parser_errposition((yylsp[-2]))));
42108 : if (frameOptions & FRAMEOPTION_END_UNBOUNDED_PRECEDING)
42109 : ereport(ERROR,
42110 : (errcode(ERRCODE_WINDOWING_ERROR),
42111 : errmsg("frame end cannot be UNBOUNDED PRECEDING"),
42112 : parser_errposition((yylsp[0]))));
42113 : if ((frameOptions & FRAMEOPTION_START_CURRENT_ROW) &&
42114 : (frameOptions & FRAMEOPTION_END_VALUE_PRECEDING))
42115 : ereport(ERROR,
42116 : (errcode(ERRCODE_WINDOWING_ERROR),
42117 : errmsg("frame starting from current row cannot have preceding rows"),
42118 : parser_errposition((yylsp[0]))));
42119 : if ((frameOptions & FRAMEOPTION_START_VALUE_FOLLOWING) &&
42120 : (frameOptions & (FRAMEOPTION_END_VALUE_PRECEDING |
42121 : FRAMEOPTION_END_CURRENT_ROW)))
42122 : ereport(ERROR,
42123 : (errcode(ERRCODE_WINDOWING_ERROR),
42124 : errmsg("frame starting from following row cannot have preceding rows"),
42125 : parser_errposition((yylsp[0]))));
42126 : n1->frameOptions = frameOptions;
42127 : n1->endOffset = n2->startOffset;
42128 : (yyval.windef) = n1;
42129 : }
42130 : #line 42131 "gram.c" /* yacc.c:1646 */
42131 69 : break;
42132 :
42133 : case 2063:
42134 : #line 13781 "gram.y" /* yacc.c:1646 */
42135 : {
42136 : WindowDef *n = makeNode(WindowDef);
42137 : n->frameOptions = FRAMEOPTION_START_UNBOUNDED_PRECEDING;
42138 : n->startOffset = NULL;
42139 : n->endOffset = NULL;
42140 : (yyval.windef) = n;
42141 : }
42142 : #line 42143 "gram.c" /* yacc.c:1646 */
42143 10 : break;
42144 :
42145 : case 2064:
42146 : #line 13789 "gram.y" /* yacc.c:1646 */
42147 : {
42148 : WindowDef *n = makeNode(WindowDef);
42149 : n->frameOptions = FRAMEOPTION_START_UNBOUNDED_FOLLOWING;
42150 : n->startOffset = NULL;
42151 : n->endOffset = NULL;
42152 : (yyval.windef) = n;
42153 : }
42154 : #line 42155 "gram.c" /* yacc.c:1646 */
42155 45 : break;
42156 :
42157 : case 2065:
42158 : #line 13797 "gram.y" /* yacc.c:1646 */
42159 : {
42160 : WindowDef *n = makeNode(WindowDef);
42161 : n->frameOptions = FRAMEOPTION_START_CURRENT_ROW;
42162 : n->startOffset = NULL;
42163 : n->endOffset = NULL;
42164 : (yyval.windef) = n;
42165 : }
42166 : #line 42167 "gram.c" /* yacc.c:1646 */
42167 62 : break;
42168 :
42169 : case 2066:
42170 : #line 13805 "gram.y" /* yacc.c:1646 */
42171 : {
42172 : WindowDef *n = makeNode(WindowDef);
42173 : n->frameOptions = FRAMEOPTION_START_VALUE_PRECEDING;
42174 : n->startOffset = (yyvsp[-1].node);
42175 : n->endOffset = NULL;
42176 : (yyval.windef) = n;
42177 : }
42178 : #line 42179 "gram.c" /* yacc.c:1646 */
42179 13 : break;
42180 :
42181 : case 2067:
42182 : #line 13813 "gram.y" /* yacc.c:1646 */
42183 : {
42184 : WindowDef *n = makeNode(WindowDef);
42185 : n->frameOptions = FRAMEOPTION_START_VALUE_FOLLOWING;
42186 : n->startOffset = (yyvsp[-1].node);
42187 : n->endOffset = NULL;
42188 : (yyval.windef) = n;
42189 : }
42190 : #line 42191 "gram.c" /* yacc.c:1646 */
42191 9 : break;
42192 :
42193 : case 2068:
42194 : #line 13833 "gram.y" /* yacc.c:1646 */
42195 : { (yyval.list) = (yyvsp[-1].list); }
42196 : #line 42197 "gram.c" /* yacc.c:1646 */
42197 0 : break;
42198 :
42199 : case 2069:
42200 : #line 13834 "gram.y" /* yacc.c:1646 */
42201 : { (yyval.list) = NIL; }
42202 : #line 42203 "gram.c" /* yacc.c:1646 */
42203 0 : break;
42204 :
42205 : case 2070:
42206 : #line 13835 "gram.y" /* yacc.c:1646 */
42207 : { (yyval.list) = lappend((yyvsp[-3].list), (yyvsp[-1].node)); }
42208 : #line 42209 "gram.c" /* yacc.c:1646 */
42209 54 : break;
42210 :
42211 : case 2071:
42212 : #line 13838 "gram.y" /* yacc.c:1646 */
42213 : { (yyval.list) = (yyvsp[-1].list); }
42214 : #line 42215 "gram.c" /* yacc.c:1646 */
42215 198 : break;
42216 :
42217 : case 2072:
42218 : #line 13839 "gram.y" /* yacc.c:1646 */
42219 : { (yyval.list) = NIL; }
42220 : #line 42221 "gram.c" /* yacc.c:1646 */
42221 4 : break;
42222 :
42223 : case 2073:
42224 : #line 13842 "gram.y" /* yacc.c:1646 */
42225 : { (yyval.list) = lappend((yyvsp[-3].list), (yyvsp[-1].node)); }
42226 : #line 42227 "gram.c" /* yacc.c:1646 */
42227 153 : break;
42228 :
42229 : case 2074:
42230 : #line 13845 "gram.y" /* yacc.c:1646 */
42231 : { (yyval.ival) = ANY_SUBLINK; }
42232 : #line 42233 "gram.c" /* yacc.c:1646 */
42233 238 : break;
42234 :
42235 : case 2075:
42236 : #line 13846 "gram.y" /* yacc.c:1646 */
42237 : { (yyval.ival) = ANY_SUBLINK; }
42238 : #line 42239 "gram.c" /* yacc.c:1646 */
42239 0 : break;
42240 :
42241 : case 2076:
42242 : #line 13847 "gram.y" /* yacc.c:1646 */
42243 : { (yyval.ival) = ALL_SUBLINK; }
42244 : #line 42245 "gram.c" /* yacc.c:1646 */
42245 18 : break;
42246 :
42247 : case 2077:
42248 : #line 13850 "gram.y" /* yacc.c:1646 */
42249 : { (yyval.str) = (yyvsp[0].str); }
42250 : #line 42251 "gram.c" /* yacc.c:1646 */
42251 129 : break;
42252 :
42253 : case 2078:
42254 : #line 13851 "gram.y" /* yacc.c:1646 */
42255 : { (yyval.str) = (yyvsp[0].str); }
42256 : #line 42257 "gram.c" /* yacc.c:1646 */
42257 589 : break;
42258 :
42259 : case 2079:
42260 : #line 13854 "gram.y" /* yacc.c:1646 */
42261 : { (yyval.str) = "+"; }
42262 : #line 42263 "gram.c" /* yacc.c:1646 */
42263 4 : break;
42264 :
42265 : case 2080:
42266 : #line 13855 "gram.y" /* yacc.c:1646 */
42267 : { (yyval.str) = "-"; }
42268 : #line 42269 "gram.c" /* yacc.c:1646 */
42269 1 : break;
42270 :
42271 : case 2081:
42272 : #line 13856 "gram.y" /* yacc.c:1646 */
42273 : { (yyval.str) = "*"; }
42274 : #line 42275 "gram.c" /* yacc.c:1646 */
42275 2 : break;
42276 :
42277 : case 2082:
42278 : #line 13857 "gram.y" /* yacc.c:1646 */
42279 : { (yyval.str) = "/"; }
42280 : #line 42281 "gram.c" /* yacc.c:1646 */
42281 0 : break;
42282 :
42283 : case 2083:
42284 : #line 13858 "gram.y" /* yacc.c:1646 */
42285 : { (yyval.str) = "%"; }
42286 : #line 42287 "gram.c" /* yacc.c:1646 */
42287 0 : break;
42288 :
42289 : case 2084:
42290 : #line 13859 "gram.y" /* yacc.c:1646 */
42291 : { (yyval.str) = "^"; }
42292 : #line 42293 "gram.c" /* yacc.c:1646 */
42293 0 : break;
42294 :
42295 : case 2085:
42296 : #line 13860 "gram.y" /* yacc.c:1646 */
42297 : { (yyval.str) = "<"; }
42298 : #line 42299 "gram.c" /* yacc.c:1646 */
42299 38 : break;
42300 :
42301 : case 2086:
42302 : #line 13861 "gram.y" /* yacc.c:1646 */
42303 : { (yyval.str) = ">"; }
42304 : #line 42305 "gram.c" /* yacc.c:1646 */
42305 17 : break;
42306 :
42307 : case 2087:
42308 : #line 13862 "gram.y" /* yacc.c:1646 */
42309 : { (yyval.str) = "="; }
42310 : #line 42311 "gram.c" /* yacc.c:1646 */
42311 504 : break;
42312 :
42313 : case 2088:
42314 : #line 13863 "gram.y" /* yacc.c:1646 */
42315 : { (yyval.str) = "<="; }
42316 : #line 42317 "gram.c" /* yacc.c:1646 */
42317 5 : break;
42318 :
42319 : case 2089:
42320 : #line 13864 "gram.y" /* yacc.c:1646 */
42321 : { (yyval.str) = ">="; }
42322 : #line 42323 "gram.c" /* yacc.c:1646 */
42323 9 : break;
42324 :
42325 : case 2090:
42326 : #line 13865 "gram.y" /* yacc.c:1646 */
42327 : { (yyval.str) = "<>"; }
42328 : #line 42329 "gram.c" /* yacc.c:1646 */
42329 9 : break;
42330 :
42331 : case 2091:
42332 : #line 13869 "gram.y" /* yacc.c:1646 */
42333 : { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
42334 : #line 42335 "gram.c" /* yacc.c:1646 */
42335 3218 : break;
42336 :
42337 : case 2092:
42338 : #line 13871 "gram.y" /* yacc.c:1646 */
42339 : { (yyval.list) = (yyvsp[-1].list); }
42340 : #line 42341 "gram.c" /* yacc.c:1646 */
42341 265 : break;
42342 :
42343 : case 2093:
42344 : #line 13876 "gram.y" /* yacc.c:1646 */
42345 : { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
42346 : #line 42347 "gram.c" /* yacc.c:1646 */
42347 50 : break;
42348 :
42349 : case 2094:
42350 : #line 13878 "gram.y" /* yacc.c:1646 */
42351 : { (yyval.list) = (yyvsp[-1].list); }
42352 : #line 42353 "gram.c" /* yacc.c:1646 */
42353 0 : break;
42354 :
42355 : case 2095:
42356 : #line 13883 "gram.y" /* yacc.c:1646 */
42357 : { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
42358 : #line 42359 "gram.c" /* yacc.c:1646 */
42359 243 : break;
42360 :
42361 : case 2096:
42362 : #line 13885 "gram.y" /* yacc.c:1646 */
42363 : { (yyval.list) = (yyvsp[-1].list); }
42364 : #line 42365 "gram.c" /* yacc.c:1646 */
42365 5 : break;
42366 :
42367 : case 2097:
42368 : #line 13887 "gram.y" /* yacc.c:1646 */
42369 : { (yyval.list) = list_make1(makeString("~~")); }
42370 : #line 42371 "gram.c" /* yacc.c:1646 */
42371 4 : break;
42372 :
42373 : case 2098:
42374 : #line 13889 "gram.y" /* yacc.c:1646 */
42375 : { (yyval.list) = list_make1(makeString("!~~")); }
42376 : #line 42377 "gram.c" /* yacc.c:1646 */
42377 2 : break;
42378 :
42379 : case 2099:
42380 : #line 13891 "gram.y" /* yacc.c:1646 */
42381 : { (yyval.list) = list_make1(makeString("~~*")); }
42382 : #line 42383 "gram.c" /* yacc.c:1646 */
42383 2 : break;
42384 :
42385 : case 2100:
42386 : #line 13893 "gram.y" /* yacc.c:1646 */
42387 : { (yyval.list) = list_make1(makeString("!~~*")); }
42388 : #line 42389 "gram.c" /* yacc.c:1646 */
42389 0 : break;
42390 :
42391 : case 2101:
42392 : #line 13905 "gram.y" /* yacc.c:1646 */
42393 : {
42394 : (yyval.list) = list_make1((yyvsp[0].node));
42395 : }
42396 : #line 42397 "gram.c" /* yacc.c:1646 */
42397 7205 : break;
42398 :
42399 : case 2102:
42400 : #line 13909 "gram.y" /* yacc.c:1646 */
42401 : {
42402 : (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
42403 : }
42404 : #line 42405 "gram.c" /* yacc.c:1646 */
42405 7356 : break;
42406 :
42407 : case 2103:
42408 : #line 13916 "gram.y" /* yacc.c:1646 */
42409 : {
42410 : (yyval.list) = list_make1((yyvsp[0].node));
42411 : }
42412 : #line 42413 "gram.c" /* yacc.c:1646 */
42413 10989 : break;
42414 :
42415 : case 2104:
42416 : #line 13920 "gram.y" /* yacc.c:1646 */
42417 : {
42418 : (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
42419 : }
42420 : #line 42421 "gram.c" /* yacc.c:1646 */
42421 6807 : break;
42422 :
42423 : case 2105:
42424 : #line 13926 "gram.y" /* yacc.c:1646 */
42425 : {
42426 : (yyval.node) = (yyvsp[0].node);
42427 : }
42428 : #line 42429 "gram.c" /* yacc.c:1646 */
42429 17730 : break;
42430 :
42431 : case 2106:
42432 : #line 13930 "gram.y" /* yacc.c:1646 */
42433 : {
42434 : NamedArgExpr *na = makeNode(NamedArgExpr);
42435 : na->name = (yyvsp[-2].str);
42436 : na->arg = (Expr *) (yyvsp[0].node);
42437 : na->argnumber = -1; /* until determined */
42438 : na->location = (yylsp[-2]);
42439 : (yyval.node) = (Node *) na;
42440 : }
42441 : #line 42442 "gram.c" /* yacc.c:1646 */
42442 80 : break;
42443 :
42444 : case 2107:
42445 : #line 13939 "gram.y" /* yacc.c:1646 */
42446 : {
42447 : NamedArgExpr *na = makeNode(NamedArgExpr);
42448 : na->name = (yyvsp[-2].str);
42449 : na->arg = (Expr *) (yyvsp[0].node);
42450 : na->argnumber = -1; /* until determined */
42451 : na->location = (yylsp[-2]);
42452 : (yyval.node) = (Node *) na;
42453 : }
42454 : #line 42455 "gram.c" /* yacc.c:1646 */
42455 19 : break;
42456 :
42457 : case 2108:
42458 : #line 13949 "gram.y" /* yacc.c:1646 */
42459 : { (yyval.list) = list_make1((yyvsp[0].typnam)); }
42460 : #line 42461 "gram.c" /* yacc.c:1646 */
42461 31 : break;
42462 :
42463 : case 2109:
42464 : #line 13950 "gram.y" /* yacc.c:1646 */
42465 : { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].typnam)); }
42466 : #line 42467 "gram.c" /* yacc.c:1646 */
42467 18 : break;
42468 :
42469 : case 2110:
42470 : #line 13954 "gram.y" /* yacc.c:1646 */
42471 : {
42472 : (yyval.node) = makeAArrayExpr((yyvsp[-1].list), (yylsp[-2]));
42473 : }
42474 : #line 42475 "gram.c" /* yacc.c:1646 */
42475 521 : break;
42476 :
42477 : case 2111:
42478 : #line 13958 "gram.y" /* yacc.c:1646 */
42479 : {
42480 : (yyval.node) = makeAArrayExpr((yyvsp[-1].list), (yylsp[-2]));
42481 : }
42482 : #line 42483 "gram.c" /* yacc.c:1646 */
42483 48 : break;
42484 :
42485 : case 2112:
42486 : #line 13962 "gram.y" /* yacc.c:1646 */
42487 : {
42488 : (yyval.node) = makeAArrayExpr(NIL, (yylsp[-1]));
42489 : }
42490 : #line 42491 "gram.c" /* yacc.c:1646 */
42491 9 : break;
42492 :
42493 : case 2113:
42494 : #line 13967 "gram.y" /* yacc.c:1646 */
42495 : { (yyval.list) = list_make1((yyvsp[0].node)); }
42496 : #line 42497 "gram.c" /* yacc.c:1646 */
42497 48 : break;
42498 :
42499 : case 2114:
42500 : #line 13968 "gram.y" /* yacc.c:1646 */
42501 : { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
42502 : #line 42503 "gram.c" /* yacc.c:1646 */
42503 35 : break;
42504 :
42505 : case 2115:
42506 : #line 13974 "gram.y" /* yacc.c:1646 */
42507 : {
42508 : (yyval.list) = list_make2(makeStringConst((yyvsp[-2].str), (yylsp[-2])), (yyvsp[0].node));
42509 : }
42510 : #line 42511 "gram.c" /* yacc.c:1646 */
42511 81 : break;
42512 :
42513 : case 2116:
42514 : #line 13977 "gram.y" /* yacc.c:1646 */
42515 : { (yyval.list) = NIL; }
42516 : #line 42517 "gram.c" /* yacc.c:1646 */
42517 0 : break;
42518 :
42519 : case 2117:
42520 : #line 13984 "gram.y" /* yacc.c:1646 */
42521 : { (yyval.str) = (yyvsp[0].str); }
42522 : #line 42523 "gram.c" /* yacc.c:1646 */
42523 61 : break;
42524 :
42525 : case 2118:
42526 : #line 13985 "gram.y" /* yacc.c:1646 */
42527 : { (yyval.str) = "year"; }
42528 : #line 42529 "gram.c" /* yacc.c:1646 */
42529 6 : break;
42530 :
42531 : case 2119:
42532 : #line 13986 "gram.y" /* yacc.c:1646 */
42533 : { (yyval.str) = "month"; }
42534 : #line 42535 "gram.c" /* yacc.c:1646 */
42535 4 : break;
42536 :
42537 : case 2120:
42538 : #line 13987 "gram.y" /* yacc.c:1646 */
42539 : { (yyval.str) = "day"; }
42540 : #line 42541 "gram.c" /* yacc.c:1646 */
42541 1 : break;
42542 :
42543 : case 2121:
42544 : #line 13988 "gram.y" /* yacc.c:1646 */
42545 : { (yyval.str) = "hour"; }
42546 : #line 42547 "gram.c" /* yacc.c:1646 */
42547 7 : break;
42548 :
42549 : case 2122:
42550 : #line 13989 "gram.y" /* yacc.c:1646 */
42551 : { (yyval.str) = "minute"; }
42552 : #line 42553 "gram.c" /* yacc.c:1646 */
42553 1 : break;
42554 :
42555 : case 2123:
42556 : #line 13990 "gram.y" /* yacc.c:1646 */
42557 : { (yyval.str) = "second"; }
42558 : #line 42559 "gram.c" /* yacc.c:1646 */
42559 1 : break;
42560 :
42561 : case 2124:
42562 : #line 13991 "gram.y" /* yacc.c:1646 */
42563 : { (yyval.str) = (yyvsp[0].str); }
42564 : #line 42565 "gram.c" /* yacc.c:1646 */
42565 0 : break;
42566 :
42567 : case 2125:
42568 : #line 14002 "gram.y" /* yacc.c:1646 */
42569 : {
42570 : (yyval.list) = list_make4((yyvsp[-3].node), (yyvsp[-2].node), (yyvsp[-1].node), (yyvsp[0].node));
42571 : }
42572 : #line 42573 "gram.c" /* yacc.c:1646 */
42573 4 : break;
42574 :
42575 : case 2126:
42576 : #line 14006 "gram.y" /* yacc.c:1646 */
42577 : {
42578 : (yyval.list) = list_make3((yyvsp[-2].node), (yyvsp[-1].node), (yyvsp[0].node));
42579 : }
42580 : #line 42581 "gram.c" /* yacc.c:1646 */
42581 7 : break;
42582 :
42583 : case 2127:
42584 : #line 14013 "gram.y" /* yacc.c:1646 */
42585 : { (yyval.node) = (yyvsp[0].node); }
42586 : #line 42587 "gram.c" /* yacc.c:1646 */
42587 11 : break;
42588 :
42589 : case 2128:
42590 : #line 14019 "gram.y" /* yacc.c:1646 */
42591 : { (yyval.list) = list_make2((yyvsp[0].node), (yyvsp[-2].node)); }
42592 : #line 42593 "gram.c" /* yacc.c:1646 */
42593 45 : break;
42594 :
42595 : case 2129:
42596 : #line 14020 "gram.y" /* yacc.c:1646 */
42597 : { (yyval.list) = NIL; }
42598 : #line 42599 "gram.c" /* yacc.c:1646 */
42599 0 : break;
42600 :
42601 : case 2130:
42602 : #line 14037 "gram.y" /* yacc.c:1646 */
42603 : {
42604 : (yyval.list) = list_make3((yyvsp[-2].node), (yyvsp[-1].node), (yyvsp[0].node));
42605 : }
42606 : #line 42607 "gram.c" /* yacc.c:1646 */
42607 11 : break;
42608 :
42609 : case 2131:
42610 : #line 14041 "gram.y" /* yacc.c:1646 */
42611 : {
42612 : /* not legal per SQL99, but might as well allow it */
42613 : (yyval.list) = list_make3((yyvsp[-2].node), (yyvsp[0].node), (yyvsp[-1].node));
42614 : }
42615 : #line 42616 "gram.c" /* yacc.c:1646 */
42616 0 : break;
42617 :
42618 : case 2132:
42619 : #line 14046 "gram.y" /* yacc.c:1646 */
42620 : {
42621 : (yyval.list) = list_make2((yyvsp[-1].node), (yyvsp[0].node));
42622 : }
42623 : #line 42624 "gram.c" /* yacc.c:1646 */
42624 12 : break;
42625 :
42626 : case 2133:
42627 : #line 14050 "gram.y" /* yacc.c:1646 */
42628 : {
42629 : /*
42630 : * Since there are no cases where this syntax allows
42631 : * a textual FOR value, we forcibly cast the argument
42632 : * to int4. The possible matches in pg_proc are
42633 : * substring(text,int4) and substring(text,text),
42634 : * and we don't want the parser to choose the latter,
42635 : * which it is likely to do if the second argument
42636 : * is unknown or doesn't have an implicit cast to int4.
42637 : */
42638 : (yyval.list) = list_make3((yyvsp[-1].node), makeIntConst(1, -1),
42639 : makeTypeCast((yyvsp[0].node),
42640 : SystemTypeName("int4"), -1));
42641 : }
42642 : #line 42643 "gram.c" /* yacc.c:1646 */
42643 243 : break;
42644 :
42645 : case 2134:
42646 : #line 14065 "gram.y" /* yacc.c:1646 */
42647 : {
42648 : (yyval.list) = (yyvsp[0].list);
42649 : }
42650 : #line 42651 "gram.c" /* yacc.c:1646 */
42651 15 : break;
42652 :
42653 : case 2135:
42654 : #line 14069 "gram.y" /* yacc.c:1646 */
42655 : { (yyval.list) = NIL; }
42656 : #line 42657 "gram.c" /* yacc.c:1646 */
42657 0 : break;
42658 :
42659 : case 2136:
42660 : #line 14073 "gram.y" /* yacc.c:1646 */
42661 : { (yyval.node) = (yyvsp[0].node); }
42662 : #line 42663 "gram.c" /* yacc.c:1646 */
42663 34 : break;
42664 :
42665 : case 2137:
42666 : #line 14076 "gram.y" /* yacc.c:1646 */
42667 : { (yyval.node) = (yyvsp[0].node); }
42668 : #line 42669 "gram.c" /* yacc.c:1646 */
42669 258 : break;
42670 :
42671 : case 2138:
42672 : #line 14079 "gram.y" /* yacc.c:1646 */
42673 : { (yyval.list) = lappend((yyvsp[0].list), (yyvsp[-2].node)); }
42674 : #line 42675 "gram.c" /* yacc.c:1646 */
42675 56 : break;
42676 :
42677 : case 2139:
42678 : #line 14080 "gram.y" /* yacc.c:1646 */
42679 : { (yyval.list) = (yyvsp[0].list); }
42680 : #line 42681 "gram.c" /* yacc.c:1646 */
42681 4 : break;
42682 :
42683 : case 2140:
42684 : #line 14081 "gram.y" /* yacc.c:1646 */
42685 : { (yyval.list) = (yyvsp[0].list); }
42686 : #line 42687 "gram.c" /* yacc.c:1646 */
42687 12 : break;
42688 :
42689 : case 2141:
42690 : #line 14085 "gram.y" /* yacc.c:1646 */
42691 : {
42692 : SubLink *n = makeNode(SubLink);
42693 : n->subselect = (yyvsp[0].node);
42694 : /* other fields will be filled later */
42695 : (yyval.node) = (Node *)n;
42696 : }
42697 : #line 42698 "gram.c" /* yacc.c:1646 */
42698 86 : break;
42699 :
42700 : case 2142:
42701 : #line 14091 "gram.y" /* yacc.c:1646 */
42702 : { (yyval.node) = (Node *)(yyvsp[-1].list); }
42703 : #line 42704 "gram.c" /* yacc.c:1646 */
42704 299 : break;
42705 :
42706 : case 2143:
42707 : #line 14102 "gram.y" /* yacc.c:1646 */
42708 : {
42709 : CaseExpr *c = makeNode(CaseExpr);
42710 : c->casetype = InvalidOid; /* not analyzed yet */
42711 : c->arg = (Expr *) (yyvsp[-3].node);
42712 : c->args = (yyvsp[-2].list);
42713 : c->defresult = (Expr *) (yyvsp[-1].node);
42714 : c->location = (yylsp[-4]);
42715 : (yyval.node) = (Node *)c;
42716 : }
42717 : #line 42718 "gram.c" /* yacc.c:1646 */
42718 1034 : break;
42719 :
42720 : case 2144:
42721 : #line 14115 "gram.y" /* yacc.c:1646 */
42722 : { (yyval.list) = list_make1((yyvsp[0].node)); }
42723 : #line 42724 "gram.c" /* yacc.c:1646 */
42724 1034 : break;
42725 :
42726 : case 2145:
42727 : #line 14116 "gram.y" /* yacc.c:1646 */
42728 : { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
42729 : #line 42730 "gram.c" /* yacc.c:1646 */
42730 675 : break;
42731 :
42732 : case 2146:
42733 : #line 14121 "gram.y" /* yacc.c:1646 */
42734 : {
42735 : CaseWhen *w = makeNode(CaseWhen);
42736 : w->expr = (Expr *) (yyvsp[-2].node);
42737 : w->result = (Expr *) (yyvsp[0].node);
42738 : w->location = (yylsp[-3]);
42739 : (yyval.node) = (Node *)w;
42740 : }
42741 : #line 42742 "gram.c" /* yacc.c:1646 */
42742 1709 : break;
42743 :
42744 : case 2147:
42745 : #line 14131 "gram.y" /* yacc.c:1646 */
42746 : { (yyval.node) = (yyvsp[0].node); }
42747 : #line 42748 "gram.c" /* yacc.c:1646 */
42748 823 : break;
42749 :
42750 : case 2148:
42751 : #line 14132 "gram.y" /* yacc.c:1646 */
42752 : { (yyval.node) = NULL; }
42753 : #line 42754 "gram.c" /* yacc.c:1646 */
42754 211 : break;
42755 :
42756 : case 2149:
42757 : #line 14135 "gram.y" /* yacc.c:1646 */
42758 : { (yyval.node) = (yyvsp[0].node); }
42759 : #line 42760 "gram.c" /* yacc.c:1646 */
42760 207 : break;
42761 :
42762 : case 2150:
42763 : #line 14136 "gram.y" /* yacc.c:1646 */
42764 : { (yyval.node) = NULL; }
42765 : #line 42766 "gram.c" /* yacc.c:1646 */
42766 827 : break;
42767 :
42768 : case 2151:
42769 : #line 14140 "gram.y" /* yacc.c:1646 */
42770 : {
42771 : (yyval.node) = makeColumnRef((yyvsp[0].str), NIL, (yylsp[0]), yyscanner);
42772 : }
42773 : #line 42774 "gram.c" /* yacc.c:1646 */
42774 22672 : break;
42775 :
42776 : case 2152:
42777 : #line 14144 "gram.y" /* yacc.c:1646 */
42778 : {
42779 : (yyval.node) = makeColumnRef((yyvsp[-1].str), (yyvsp[0].list), (yylsp[-1]), yyscanner);
42780 : }
42781 : #line 42782 "gram.c" /* yacc.c:1646 */
42782 28594 : break;
42783 :
42784 : case 2153:
42785 : #line 14151 "gram.y" /* yacc.c:1646 */
42786 : {
42787 : (yyval.node) = (Node *) makeString((yyvsp[0].str));
42788 : }
42789 : #line 42790 "gram.c" /* yacc.c:1646 */
42790 38042 : break;
42791 :
42792 : case 2154:
42793 : #line 14155 "gram.y" /* yacc.c:1646 */
42794 : {
42795 : (yyval.node) = (Node *) makeNode(A_Star);
42796 : }
42797 : #line 42798 "gram.c" /* yacc.c:1646 */
42798 401 : break;
42799 :
42800 : case 2155:
42801 : #line 14159 "gram.y" /* yacc.c:1646 */
42802 : {
42803 : A_Indices *ai = makeNode(A_Indices);
42804 : ai->is_slice = false;
42805 : ai->lidx = NULL;
42806 : ai->uidx = (yyvsp[-1].node);
42807 : (yyval.node) = (Node *) ai;
42808 : }
42809 : #line 42810 "gram.c" /* yacc.c:1646 */
42810 454 : break;
42811 :
42812 : case 2156:
42813 : #line 14167 "gram.y" /* yacc.c:1646 */
42814 : {
42815 : A_Indices *ai = makeNode(A_Indices);
42816 : ai->is_slice = true;
42817 : ai->lidx = (yyvsp[-3].node);
42818 : ai->uidx = (yyvsp[-1].node);
42819 : (yyval.node) = (Node *) ai;
42820 : }
42821 : #line 42822 "gram.c" /* yacc.c:1646 */
42822 77 : break;
42823 :
42824 : case 2157:
42825 : #line 14177 "gram.y" /* yacc.c:1646 */
42826 : { (yyval.node) = (yyvsp[0].node); }
42827 : #line 42828 "gram.c" /* yacc.c:1646 */
42828 128 : break;
42829 :
42830 : case 2158:
42831 : #line 14178 "gram.y" /* yacc.c:1646 */
42832 : { (yyval.node) = NULL; }
42833 : #line 42834 "gram.c" /* yacc.c:1646 */
42834 26 : break;
42835 :
42836 : case 2159:
42837 : #line 14182 "gram.y" /* yacc.c:1646 */
42838 : { (yyval.list) = list_make1((yyvsp[0].node)); }
42839 : #line 42840 "gram.c" /* yacc.c:1646 */
42840 38409 : break;
42841 :
42842 : case 2160:
42843 : #line 14183 "gram.y" /* yacc.c:1646 */
42844 : { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
42845 : #line 42846 "gram.c" /* yacc.c:1646 */
42846 192 : break;
42847 :
42848 : case 2161:
42849 : #line 14187 "gram.y" /* yacc.c:1646 */
42850 : { (yyval.list) = NIL; }
42851 : #line 42852 "gram.c" /* yacc.c:1646 */
42852 6447 : break;
42853 :
42854 : case 2162:
42855 : #line 14188 "gram.y" /* yacc.c:1646 */
42856 : { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
42857 : #line 42858 "gram.c" /* yacc.c:1646 */
42858 373 : break;
42859 :
42860 : case 2165:
42861 : #line 14202 "gram.y" /* yacc.c:1646 */
42862 : { (yyval.list) = (yyvsp[0].list); }
42863 : #line 42864 "gram.c" /* yacc.c:1646 */
42864 25939 : break;
42865 :
42866 : case 2166:
42867 : #line 14203 "gram.y" /* yacc.c:1646 */
42868 : { (yyval.list) = NIL; }
42869 : #line 42870 "gram.c" /* yacc.c:1646 */
42870 6 : break;
42871 :
42872 : case 2167:
42873 : #line 14207 "gram.y" /* yacc.c:1646 */
42874 : { (yyval.list) = list_make1((yyvsp[0].target)); }
42875 : #line 42876 "gram.c" /* yacc.c:1646 */
42876 26248 : break;
42877 :
42878 : case 2168:
42879 : #line 14208 "gram.y" /* yacc.c:1646 */
42880 : { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
42881 : #line 42882 "gram.c" /* yacc.c:1646 */
42882 15015 : break;
42883 :
42884 : case 2169:
42885 : #line 14212 "gram.y" /* yacc.c:1646 */
42886 : {
42887 : (yyval.target) = makeNode(ResTarget);
42888 : (yyval.target)->name = (yyvsp[0].str);
42889 : (yyval.target)->indirection = NIL;
42890 : (yyval.target)->val = (Node *)(yyvsp[-2].node);
42891 : (yyval.target)->location = (yylsp[-2]);
42892 : }
42893 : #line 42894 "gram.c" /* yacc.c:1646 */
42894 5551 : break;
42895 :
42896 : case 2170:
42897 : #line 14228 "gram.y" /* yacc.c:1646 */
42898 : {
42899 : (yyval.target) = makeNode(ResTarget);
42900 : (yyval.target)->name = (yyvsp[0].str);
42901 : (yyval.target)->indirection = NIL;
42902 : (yyval.target)->val = (Node *)(yyvsp[-1].node);
42903 : (yyval.target)->location = (yylsp[-1]);
42904 : }
42905 : #line 42906 "gram.c" /* yacc.c:1646 */
42906 80 : break;
42907 :
42908 : case 2171:
42909 : #line 14236 "gram.y" /* yacc.c:1646 */
42910 : {
42911 : (yyval.target) = makeNode(ResTarget);
42912 : (yyval.target)->name = NULL;
42913 : (yyval.target)->indirection = NIL;
42914 : (yyval.target)->val = (Node *)(yyvsp[0].node);
42915 : (yyval.target)->location = (yylsp[0]);
42916 : }
42917 : #line 42918 "gram.c" /* yacc.c:1646 */
42918 32496 : break;
42919 :
42920 : case 2172:
42921 : #line 14244 "gram.y" /* yacc.c:1646 */
42922 : {
42923 : ColumnRef *n = makeNode(ColumnRef);
42924 : n->fields = list_make1(makeNode(A_Star));
42925 : n->location = (yylsp[0]);
42926 :
42927 : (yyval.target) = makeNode(ResTarget);
42928 : (yyval.target)->name = NULL;
42929 : (yyval.target)->indirection = NIL;
42930 : (yyval.target)->val = (Node *)n;
42931 : (yyval.target)->location = (yylsp[0]);
42932 : }
42933 : #line 42934 "gram.c" /* yacc.c:1646 */
42934 3136 : break;
42935 :
42936 : case 2173:
42937 : #line 14265 "gram.y" /* yacc.c:1646 */
42938 : { (yyval.list) = list_make1((yyvsp[0].range)); }
42939 : #line 42940 "gram.c" /* yacc.c:1646 */
42940 485 : break;
42941 :
42942 : case 2174:
42943 : #line 14266 "gram.y" /* yacc.c:1646 */
42944 : { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].range)); }
42945 : #line 42946 "gram.c" /* yacc.c:1646 */
42946 29 : break;
42947 :
42948 : case 2175:
42949 : #line 14278 "gram.y" /* yacc.c:1646 */
42950 : {
42951 : (yyval.range) = makeRangeVar(NULL, (yyvsp[0].str), (yylsp[0]));
42952 : }
42953 : #line 42954 "gram.c" /* yacc.c:1646 */
42954 18338 : break;
42955 :
42956 : case 2176:
42957 : #line 14282 "gram.y" /* yacc.c:1646 */
42958 : {
42959 : check_qualified_name((yyvsp[0].list), yyscanner);
42960 : (yyval.range) = makeRangeVar(NULL, NULL, (yylsp[-1]));
42961 : switch (list_length((yyvsp[0].list)))
42962 : {
42963 : case 1:
42964 : (yyval.range)->catalogname = NULL;
42965 : (yyval.range)->schemaname = (yyvsp[-1].str);
42966 : (yyval.range)->relname = strVal(linitial((yyvsp[0].list)));
42967 : break;
42968 : case 2:
42969 : (yyval.range)->catalogname = (yyvsp[-1].str);
42970 : (yyval.range)->schemaname = strVal(linitial((yyvsp[0].list)));
42971 : (yyval.range)->relname = strVal(lsecond((yyvsp[0].list)));
42972 : break;
42973 : default:
42974 : ereport(ERROR,
42975 : (errcode(ERRCODE_SYNTAX_ERROR),
42976 : errmsg("improper qualified name (too many dotted names): %s",
42977 : NameListToString(lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)))),
42978 : parser_errposition((yylsp[-1]))));
42979 : break;
42980 : }
42981 : }
42982 : #line 42983 "gram.c" /* yacc.c:1646 */
42983 6044 : break;
42984 :
42985 : case 2177:
42986 : #line 14309 "gram.y" /* yacc.c:1646 */
42987 : { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
42988 : #line 42989 "gram.c" /* yacc.c:1646 */
42989 1093 : break;
42990 :
42991 : case 2178:
42992 : #line 14311 "gram.y" /* yacc.c:1646 */
42993 : { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
42994 : #line 42995 "gram.c" /* yacc.c:1646 */
42995 776 : break;
42996 :
42997 : case 2179:
42998 : #line 14315 "gram.y" /* yacc.c:1646 */
42999 : { (yyval.str) = (yyvsp[0].str); }
43000 : #line 43001 "gram.c" /* yacc.c:1646 */
43001 4186 : break;
43002 :
43003 : case 2180:
43004 : #line 14318 "gram.y" /* yacc.c:1646 */
43005 : { (yyval.str) = (yyvsp[0].str); }
43006 : #line 43007 "gram.c" /* yacc.c:1646 */
43007 9 : break;
43008 :
43009 : case 2181:
43010 : #line 14321 "gram.y" /* yacc.c:1646 */
43011 : { (yyval.str) = (yyvsp[0].str); }
43012 : #line 43013 "gram.c" /* yacc.c:1646 */
43013 249 : break;
43014 :
43015 : case 2182:
43016 : #line 14323 "gram.y" /* yacc.c:1646 */
43017 : { (yyval.str) = (yyvsp[0].str); }
43018 : #line 43019 "gram.c" /* yacc.c:1646 */
43019 40710 : break;
43020 :
43021 : case 2183:
43022 : #line 14325 "gram.y" /* yacc.c:1646 */
43023 : { (yyval.str) = (yyvsp[0].str); }
43024 : #line 43025 "gram.c" /* yacc.c:1646 */
43025 273 : break;
43026 :
43027 : case 2184:
43028 : #line 14327 "gram.y" /* yacc.c:1646 */
43029 : { (yyval.str) = (yyvsp[0].str); }
43030 : #line 43031 "gram.c" /* yacc.c:1646 */
43031 1 : break;
43032 :
43033 : case 2185:
43034 : #line 14338 "gram.y" /* yacc.c:1646 */
43035 : { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
43036 : #line 43037 "gram.c" /* yacc.c:1646 */
43037 15395 : break;
43038 :
43039 : case 2186:
43040 : #line 14340 "gram.y" /* yacc.c:1646 */
43041 : {
43042 : (yyval.list) = check_func_name(lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)),
43043 : yyscanner);
43044 : }
43045 : #line 43046 "gram.c" /* yacc.c:1646 */
43046 3768 : break;
43047 :
43048 : case 2187:
43049 : #line 14351 "gram.y" /* yacc.c:1646 */
43050 : {
43051 : (yyval.node) = makeIntConst((yyvsp[0].ival), (yylsp[0]));
43052 : }
43053 : #line 43054 "gram.c" /* yacc.c:1646 */
43054 17263 : break;
43055 :
43056 : case 2188:
43057 : #line 14355 "gram.y" /* yacc.c:1646 */
43058 : {
43059 : (yyval.node) = makeFloatConst((yyvsp[0].str), (yylsp[0]));
43060 : }
43061 : #line 43062 "gram.c" /* yacc.c:1646 */
43062 825 : break;
43063 :
43064 : case 2189:
43065 : #line 14359 "gram.y" /* yacc.c:1646 */
43066 : {
43067 : (yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0]));
43068 : }
43069 : #line 43070 "gram.c" /* yacc.c:1646 */
43070 22134 : break;
43071 :
43072 : case 2190:
43073 : #line 14363 "gram.y" /* yacc.c:1646 */
43074 : {
43075 : (yyval.node) = makeBitStringConst((yyvsp[0].str), (yylsp[0]));
43076 : }
43077 : #line 43078 "gram.c" /* yacc.c:1646 */
43078 117 : break;
43079 :
43080 : case 2191:
43081 : #line 14367 "gram.y" /* yacc.c:1646 */
43082 : {
43083 : /* This is a bit constant per SQL99:
43084 : * Without Feature F511, "BIT data type",
43085 : * a <general literal> shall not be a
43086 : * <bit string literal> or a <hex string literal>.
43087 : */
43088 : (yyval.node) = makeBitStringConst((yyvsp[0].str), (yylsp[0]));
43089 : }
43090 : #line 43091 "gram.c" /* yacc.c:1646 */
43091 32 : break;
43092 :
43093 : case 2192:
43094 : #line 14376 "gram.y" /* yacc.c:1646 */
43095 : {
43096 : /* generic type 'literal' syntax */
43097 : TypeName *t = makeTypeNameFromNameList((yyvsp[-1].list));
43098 : t->location = (yylsp[-1]);
43099 : (yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t);
43100 : }
43101 : #line 43102 "gram.c" /* yacc.c:1646 */
43102 698 : break;
43103 :
43104 : case 2193:
43105 : #line 14383 "gram.y" /* yacc.c:1646 */
43106 : {
43107 : /* generic syntax with a type modifier */
43108 : TypeName *t = makeTypeNameFromNameList((yyvsp[-5].list));
43109 : ListCell *lc;
43110 :
43111 : /*
43112 : * We must use func_arg_list and opt_sort_clause in the
43113 : * production to avoid reduce/reduce conflicts, but we
43114 : * don't actually wish to allow NamedArgExpr in this
43115 : * context, nor ORDER BY.
43116 : */
43117 : foreach(lc, (yyvsp[-3].list))
43118 : {
43119 : NamedArgExpr *arg = (NamedArgExpr *) lfirst(lc);
43120 :
43121 : if (IsA(arg, NamedArgExpr))
43122 : ereport(ERROR,
43123 : (errcode(ERRCODE_SYNTAX_ERROR),
43124 : errmsg("type modifier cannot have parameter name"),
43125 : parser_errposition(arg->location)));
43126 : }
43127 : if ((yyvsp[-2].list) != NIL)
43128 : ereport(ERROR,
43129 : (errcode(ERRCODE_SYNTAX_ERROR),
43130 : errmsg("type modifier cannot have ORDER BY"),
43131 : parser_errposition((yylsp[-2]))));
43132 :
43133 : t->typmods = (yyvsp[-3].list);
43134 : t->location = (yylsp[-5]);
43135 : (yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t);
43136 : }
43137 : #line 43138 "gram.c" /* yacc.c:1646 */
43138 0 : break;
43139 :
43140 : case 2194:
43141 : #line 14415 "gram.y" /* yacc.c:1646 */
43142 : {
43143 : (yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), (yyvsp[-1].typnam));
43144 : }
43145 : #line 43146 "gram.c" /* yacc.c:1646 */
43146 218 : break;
43147 :
43148 : case 2195:
43149 : #line 14419 "gram.y" /* yacc.c:1646 */
43150 : {
43151 : TypeName *t = (yyvsp[-2].typnam);
43152 : t->typmods = (yyvsp[0].list);
43153 : (yyval.node) = makeStringConstCast((yyvsp[-1].str), (yylsp[-1]), t);
43154 : }
43155 : #line 43156 "gram.c" /* yacc.c:1646 */
43156 191 : break;
43157 :
43158 : case 2196:
43159 : #line 14425 "gram.y" /* yacc.c:1646 */
43160 : {
43161 : TypeName *t = (yyvsp[-4].typnam);
43162 : t->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1),
43163 : makeIntConst((yyvsp[-2].ival), (yylsp[-2])));
43164 : (yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t);
43165 : }
43166 : #line 43167 "gram.c" /* yacc.c:1646 */
43167 2 : break;
43168 :
43169 : case 2197:
43170 : #line 14432 "gram.y" /* yacc.c:1646 */
43171 : {
43172 : (yyval.node) = makeBoolAConst(TRUE, (yylsp[0]));
43173 : }
43174 : #line 43175 "gram.c" /* yacc.c:1646 */
43175 533 : break;
43176 :
43177 : case 2198:
43178 : #line 14436 "gram.y" /* yacc.c:1646 */
43179 : {
43180 : (yyval.node) = makeBoolAConst(FALSE, (yylsp[0]));
43181 : }
43182 : #line 43183 "gram.c" /* yacc.c:1646 */
43183 218 : break;
43184 :
43185 : case 2199:
43186 : #line 14440 "gram.y" /* yacc.c:1646 */
43187 : {
43188 : (yyval.node) = makeNullAConst((yylsp[0]));
43189 : }
43190 : #line 43191 "gram.c" /* yacc.c:1646 */
43191 2553 : break;
43192 :
43193 : case 2200:
43194 : #line 14445 "gram.y" /* yacc.c:1646 */
43195 : { (yyval.ival) = (yyvsp[0].ival); }
43196 : #line 43197 "gram.c" /* yacc.c:1646 */
43197 18154 : break;
43198 :
43199 : case 2201:
43200 : #line 14446 "gram.y" /* yacc.c:1646 */
43201 : { (yyval.str) = (yyvsp[0].str); }
43202 : #line 43203 "gram.c" /* yacc.c:1646 */
43203 25670 : break;
43204 :
43205 : case 2202:
43206 : #line 14448 "gram.y" /* yacc.c:1646 */
43207 : { (yyval.ival) = (yyvsp[0].ival); }
43208 : #line 43209 "gram.c" /* yacc.c:1646 */
43209 601 : break;
43210 :
43211 : case 2203:
43212 : #line 14449 "gram.y" /* yacc.c:1646 */
43213 : { (yyval.ival) = + (yyvsp[0].ival); }
43214 : #line 43215 "gram.c" /* yacc.c:1646 */
43215 0 : break;
43216 :
43217 : case 2204:
43218 : #line 14450 "gram.y" /* yacc.c:1646 */
43219 : { (yyval.ival) = - (yyvsp[0].ival); }
43220 : #line 43221 "gram.c" /* yacc.c:1646 */
43221 28 : break;
43222 :
43223 : case 2205:
43224 : #line 14455 "gram.y" /* yacc.c:1646 */
43225 : {
43226 : RoleSpec *spc = (RoleSpec *) (yyvsp[0].rolespec);
43227 : switch (spc->roletype)
43228 : {
43229 : case ROLESPEC_CSTRING:
43230 : (yyval.str) = spc->rolename;
43231 : break;
43232 : case ROLESPEC_PUBLIC:
43233 : ereport(ERROR,
43234 : (errcode(ERRCODE_RESERVED_NAME),
43235 : errmsg("role name \"%s\" is reserved",
43236 : "public"),
43237 : parser_errposition((yylsp[0]))));
43238 : case ROLESPEC_SESSION_USER:
43239 : ereport(ERROR,
43240 : (errcode(ERRCODE_RESERVED_NAME),
43241 : errmsg("%s cannot be used as a role name here",
43242 : "SESSION_USER"),
43243 : parser_errposition((yylsp[0]))));
43244 : case ROLESPEC_CURRENT_USER:
43245 : ereport(ERROR,
43246 : (errcode(ERRCODE_RESERVED_NAME),
43247 : errmsg("%s cannot be used as a role name here",
43248 : "CURRENT_USER"),
43249 : parser_errposition((yylsp[0]))));
43250 : }
43251 : }
43252 : #line 43253 "gram.c" /* yacc.c:1646 */
43253 124 : break;
43254 :
43255 : case 2206:
43256 : #line 14485 "gram.y" /* yacc.c:1646 */
43257 : {
43258 : /*
43259 : * "public" and "none" are not keywords, but they must
43260 : * be treated specially here.
43261 : */
43262 : RoleSpec *n;
43263 : if (strcmp((yyvsp[0].str), "public") == 0)
43264 : {
43265 : n = (RoleSpec *) makeRoleSpec(ROLESPEC_PUBLIC, (yylsp[0]));
43266 : n->roletype = ROLESPEC_PUBLIC;
43267 : }
43268 : else if (strcmp((yyvsp[0].str), "none") == 0)
43269 : {
43270 : ereport(ERROR,
43271 : (errcode(ERRCODE_RESERVED_NAME),
43272 : errmsg("role name \"%s\" is reserved",
43273 : "none"),
43274 : parser_errposition((yylsp[0]))));
43275 : }
43276 : else
43277 : {
43278 : n = makeRoleSpec(ROLESPEC_CSTRING, (yylsp[0]));
43279 : n->rolename = pstrdup((yyvsp[0].str));
43280 : }
43281 : (yyval.rolespec) = n;
43282 : }
43283 : #line 43284 "gram.c" /* yacc.c:1646 */
43284 984 : break;
43285 :
43286 : case 2207:
43287 : #line 14512 "gram.y" /* yacc.c:1646 */
43288 : {
43289 : (yyval.rolespec) = makeRoleSpec(ROLESPEC_CURRENT_USER, (yylsp[0]));
43290 : }
43291 : #line 43292 "gram.c" /* yacc.c:1646 */
43292 40 : break;
43293 :
43294 : case 2208:
43295 : #line 14516 "gram.y" /* yacc.c:1646 */
43296 : {
43297 : (yyval.rolespec) = makeRoleSpec(ROLESPEC_SESSION_USER, (yylsp[0]));
43298 : }
43299 : #line 43300 "gram.c" /* yacc.c:1646 */
43300 18 : break;
43301 :
43302 : case 2209:
43303 : #line 14522 "gram.y" /* yacc.c:1646 */
43304 : { (yyval.list) = list_make1((yyvsp[0].rolespec)); }
43305 : #line 43306 "gram.c" /* yacc.c:1646 */
43306 214 : break;
43307 :
43308 : case 2210:
43309 : #line 14524 "gram.y" /* yacc.c:1646 */
43310 : { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].rolespec)); }
43311 : #line 43312 "gram.c" /* yacc.c:1646 */
43312 28 : break;
43313 :
43314 : case 2211:
43315 : #line 14540 "gram.y" /* yacc.c:1646 */
43316 : { (yyval.str) = (yyvsp[0].str); }
43317 : #line 43318 "gram.c" /* yacc.c:1646 */
43318 102122 : break;
43319 :
43320 : case 2212:
43321 : #line 14541 "gram.y" /* yacc.c:1646 */
43322 : { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
43323 : #line 43324 "gram.c" /* yacc.c:1646 */
43324 1629 : break;
43325 :
43326 : case 2213:
43327 : #line 14542 "gram.y" /* yacc.c:1646 */
43328 : { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
43329 : #line 43330 "gram.c" /* yacc.c:1646 */
43330 56 : break;
43331 :
43332 : case 2214:
43333 : #line 14547 "gram.y" /* yacc.c:1646 */
43334 : { (yyval.str) = (yyvsp[0].str); }
43335 : #line 43336 "gram.c" /* yacc.c:1646 */
43336 25041 : break;
43337 :
43338 : case 2215:
43339 : #line 14548 "gram.y" /* yacc.c:1646 */
43340 : { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
43341 : #line 43342 "gram.c" /* yacc.c:1646 */
43342 1692 : break;
43343 :
43344 : case 2216:
43345 : #line 14549 "gram.y" /* yacc.c:1646 */
43346 : { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
43347 : #line 43348 "gram.c" /* yacc.c:1646 */
43348 2 : break;
43349 :
43350 : case 2217:
43351 : #line 14554 "gram.y" /* yacc.c:1646 */
43352 : { (yyval.str) = (yyvsp[0].str); }
43353 : #line 43354 "gram.c" /* yacc.c:1646 */
43354 2572 : break;
43355 :
43356 : case 2218:
43357 : #line 14555 "gram.y" /* yacc.c:1646 */
43358 : { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
43359 : #line 43360 "gram.c" /* yacc.c:1646 */
43360 986 : break;
43361 :
43362 : case 2219:
43363 : #line 14556 "gram.y" /* yacc.c:1646 */
43364 : { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
43365 : #line 43366 "gram.c" /* yacc.c:1646 */
43366 8 : break;
43367 :
43368 : case 2220:
43369 : #line 14557 "gram.y" /* yacc.c:1646 */
43370 : { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
43371 : #line 43372 "gram.c" /* yacc.c:1646 */
43372 86 : break;
43373 :
43374 : case 2221:
43375 : #line 14563 "gram.y" /* yacc.c:1646 */
43376 : { (yyval.str) = (yyvsp[0].str); }
43377 : #line 43378 "gram.c" /* yacc.c:1646 */
43378 45990 : break;
43379 :
43380 : case 2222:
43381 : #line 14564 "gram.y" /* yacc.c:1646 */
43382 : { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
43383 : #line 43384 "gram.c" /* yacc.c:1646 */
43384 1158 : break;
43385 :
43386 : case 2223:
43387 : #line 14565 "gram.y" /* yacc.c:1646 */
43388 : { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
43389 : #line 43390 "gram.c" /* yacc.c:1646 */
43390 11 : break;
43391 :
43392 : case 2224:
43393 : #line 14566 "gram.y" /* yacc.c:1646 */
43394 : { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
43395 : #line 43396 "gram.c" /* yacc.c:1646 */
43396 20 : break;
43397 :
43398 : case 2225:
43399 : #line 14567 "gram.y" /* yacc.c:1646 */
43400 : { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
43401 : #line 43402 "gram.c" /* yacc.c:1646 */
43402 103 : break;
43403 :
43404 :
43405 : #line 43406 "gram.c" /* yacc.c:1646 */
43406 73470 : default: break;
43407 : }
43408 : /* User semantic actions sometimes alter yychar, and that requires
43409 : that yytoken be updated with the new translation. We take the
43410 : approach of translating immediately before every use of yytoken.
43411 : One alternative is translating here after every semantic action,
43412 : but that translation would be missed if the semantic action invokes
43413 : YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
43414 : if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an
43415 : incorrect destructor might then be invoked immediately. In the
43416 : case of YYERROR or YYBACKUP, subsequent parser actions might lead
43417 : to an incorrect destructor call or verbose syntax error message
43418 : before the lookahead is translated. */
43419 : YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
43420 :
43421 1831691 : YYPOPSTACK (yylen);
43422 1831691 : yylen = 0;
43423 : YY_STACK_PRINT (yyss, yyssp);
43424 :
43425 1831691 : *++yyvsp = yyval;
43426 1831691 : *++yylsp = yyloc;
43427 :
43428 : /* Now 'shift' the result of the reduction. Determine what state
43429 : that goes to, based on the state we popped back to and the rule
43430 : number reduced by. */
43431 :
43432 1831691 : yyn = yyr1[yyn];
43433 :
43434 1831691 : yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
43435 1831691 : if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
43436 810082 : yystate = yytable[yystate];
43437 : else
43438 1021609 : yystate = yydefgoto[yyn - YYNTOKENS];
43439 :
43440 1831691 : goto yynewstate;
43441 :
43442 :
43443 : /*--------------------------------------.
43444 : | yyerrlab -- here on detecting error. |
43445 : `--------------------------------------*/
43446 : yyerrlab:
43447 : /* Make sure we have latest lookahead translation. See comments at
43448 : user semantic actions for why this is necessary. */
43449 99 : yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
43450 :
43451 : /* If not already recovering from an error, report this error. */
43452 99 : if (!yyerrstatus)
43453 : {
43454 99 : ++yynerrs;
43455 : #if ! YYERROR_VERBOSE
43456 99 : yyerror (&yylloc, yyscanner, YY_("syntax error"));
43457 : #else
43458 : # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
43459 : yyssp, yytoken)
43460 : {
43461 : char const *yymsgp = YY_("syntax error");
43462 : int yysyntax_error_status;
43463 : yysyntax_error_status = YYSYNTAX_ERROR;
43464 : if (yysyntax_error_status == 0)
43465 : yymsgp = yymsg;
43466 : else if (yysyntax_error_status == 1)
43467 : {
43468 : if (yymsg != yymsgbuf)
43469 : YYSTACK_FREE (yymsg);
43470 : yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
43471 : if (!yymsg)
43472 : {
43473 : yymsg = yymsgbuf;
43474 : yymsg_alloc = sizeof yymsgbuf;
43475 : yysyntax_error_status = 2;
43476 : }
43477 : else
43478 : {
43479 : yysyntax_error_status = YYSYNTAX_ERROR;
43480 : yymsgp = yymsg;
43481 : }
43482 : }
43483 : yyerror (&yylloc, yyscanner, yymsgp);
43484 : if (yysyntax_error_status == 2)
43485 : goto yyexhaustedlab;
43486 : }
43487 : # undef YYSYNTAX_ERROR
43488 : #endif
43489 : }
43490 :
43491 0 : yyerror_range[1] = yylloc;
43492 :
43493 0 : if (yyerrstatus == 3)
43494 : {
43495 : /* If just tried and failed to reuse lookahead token after an
43496 : error, discard it. */
43497 :
43498 0 : if (yychar <= YYEOF)
43499 : {
43500 : /* Return failure if at end of input. */
43501 0 : if (yychar == YYEOF)
43502 0 : YYABORT;
43503 : }
43504 : else
43505 : {
43506 0 : yydestruct ("Error: discarding",
43507 : yytoken, &yylval, &yylloc, yyscanner);
43508 0 : yychar = YYEMPTY;
43509 : }
43510 : }
43511 :
43512 : /* Else will try to reuse lookahead token after shifting the error
43513 : token. */
43514 0 : goto yyerrlab1;
43515 :
43516 :
43517 : /*---------------------------------------------------.
43518 : | yyerrorlab -- error raised explicitly by YYERROR. |
43519 : `---------------------------------------------------*/
43520 : yyerrorlab:
43521 :
43522 : /* Pacify compilers like GCC when the user code never invokes
43523 : YYERROR and the label yyerrorlab therefore never appears in user
43524 : code. */
43525 : if (/*CONSTCOND*/ 0)
43526 : goto yyerrorlab;
43527 :
43528 : yyerror_range[1] = yylsp[1-yylen];
43529 : /* Do not reclaim the symbols of the rule whose action triggered
43530 : this YYERROR. */
43531 : YYPOPSTACK (yylen);
43532 : yylen = 0;
43533 : YY_STACK_PRINT (yyss, yyssp);
43534 : yystate = *yyssp;
43535 : goto yyerrlab1;
43536 :
43537 :
43538 : /*-------------------------------------------------------------.
43539 : | yyerrlab1 -- common code for both syntax error and YYERROR. |
43540 : `-------------------------------------------------------------*/
43541 : yyerrlab1:
43542 0 : yyerrstatus = 3; /* Each real token shifted decrements this. */
43543 :
43544 : for (;;)
43545 : {
43546 0 : yyn = yypact[yystate];
43547 0 : if (!yypact_value_is_default (yyn))
43548 : {
43549 0 : yyn += YYTERROR;
43550 0 : if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
43551 : {
43552 0 : yyn = yytable[yyn];
43553 0 : if (0 < yyn)
43554 0 : break;
43555 : }
43556 : }
43557 :
43558 : /* Pop the current state because it cannot handle the error token. */
43559 0 : if (yyssp == yyss)
43560 0 : YYABORT;
43561 :
43562 0 : yyerror_range[1] = *yylsp;
43563 0 : yydestruct ("Error: popping",
43564 0 : yystos[yystate], yyvsp, yylsp, yyscanner);
43565 0 : YYPOPSTACK (1);
43566 0 : yystate = *yyssp;
43567 : YY_STACK_PRINT (yyss, yyssp);
43568 0 : }
43569 :
43570 : YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
43571 0 : *++yyvsp = yylval;
43572 : YY_IGNORE_MAYBE_UNINITIALIZED_END
43573 :
43574 0 : yyerror_range[2] = yylloc;
43575 : /* Using YYLLOC is tempting, but would change the location of
43576 : the lookahead. YYLOC is available though. */
43577 0 : YYLLOC_DEFAULT (yyloc, yyerror_range, 2);
43578 0 : *++yylsp = yyloc;
43579 :
43580 : /* Shift the error token. */
43581 : YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
43582 :
43583 0 : yystate = yyn;
43584 0 : goto yynewstate;
43585 :
43586 :
43587 : /*-------------------------------------.
43588 : | yyacceptlab -- YYACCEPT comes here. |
43589 : `-------------------------------------*/
43590 : yyacceptlab:
43591 37679 : yyresult = 0;
43592 37679 : goto yyreturn;
43593 :
43594 : /*-----------------------------------.
43595 : | yyabortlab -- YYABORT comes here. |
43596 : `-----------------------------------*/
43597 : yyabortlab:
43598 0 : yyresult = 1;
43599 0 : goto yyreturn;
43600 :
43601 : #if !defined yyoverflow || YYERROR_VERBOSE
43602 : /*-------------------------------------------------.
43603 : | yyexhaustedlab -- memory exhaustion comes here. |
43604 : `-------------------------------------------------*/
43605 : yyexhaustedlab:
43606 0 : yyerror (&yylloc, yyscanner, YY_("memory exhausted"));
43607 0 : yyresult = 2;
43608 : /* Fall through. */
43609 : #endif
43610 :
43611 : yyreturn:
43612 37679 : if (yychar != YYEMPTY)
43613 : {
43614 : /* Make sure we have latest lookahead translation. See comments at
43615 : user semantic actions for why this is necessary. */
43616 0 : yytoken = YYTRANSLATE (yychar);
43617 0 : yydestruct ("Cleanup: discarding lookahead",
43618 : yytoken, &yylval, &yylloc, yyscanner);
43619 : }
43620 : /* Do not reclaim the symbols of the rule whose action triggered
43621 : this YYABORT or YYACCEPT. */
43622 37679 : YYPOPSTACK (yylen);
43623 : YY_STACK_PRINT (yyss, yyssp);
43624 150716 : while (yyssp != yyss)
43625 : {
43626 75358 : yydestruct ("Cleanup: popping",
43627 75358 : yystos[*yyssp], yyvsp, yylsp, yyscanner);
43628 75358 : YYPOPSTACK (1);
43629 : }
43630 : #ifndef yyoverflow
43631 37679 : if (yyss != yyssa)
43632 0 : YYSTACK_FREE (yyss);
43633 : #endif
43634 : #if YYERROR_VERBOSE
43635 : if (yymsg != yymsgbuf)
43636 : YYSTACK_FREE (yymsg);
43637 : #endif
43638 37679 : return yyresult;
43639 : }
43640 : #line 15056 "gram.y" /* yacc.c:1906 */
43641 :
43642 :
43643 : /*
43644 : * The signature of this function is required by bison. However, we
43645 : * ignore the passed yylloc and instead use the last token position
43646 : * available from the scanner.
43647 : */
43648 : static void
43649 : base_yyerror(YYLTYPE *yylloc, core_yyscan_t yyscanner, const char *msg)
43650 : {
43651 : parser_yyerror(msg);
43652 : }
43653 :
43654 : static RawStmt *
43655 : makeRawStmt(Node *stmt, int stmt_location)
43656 : {
43657 : RawStmt *rs = makeNode(RawStmt);
43658 :
43659 : rs->stmt = stmt;
43660 : rs->stmt_location = stmt_location;
43661 : rs->stmt_len = 0; /* might get changed later */
43662 : return rs;
43663 : }
43664 :
43665 : /* Adjust a RawStmt to reflect that it doesn't run to the end of the string */
43666 : static void
43667 : updateRawStmtEnd(RawStmt *rs, int end_location)
43668 : {
43669 : /*
43670 : * If we already set the length, don't change it. This is for situations
43671 : * like "select foo ;; select bar" where the same statement will be last
43672 : * in the string for more than one semicolon.
43673 : */
43674 : if (rs->stmt_len > 0)
43675 : return;
43676 :
43677 : /* OK, update length of RawStmt */
43678 : rs->stmt_len = end_location - rs->stmt_location;
43679 : }
43680 :
43681 : static Node *
43682 : makeColumnRef(char *colname, List *indirection,
43683 : int location, core_yyscan_t yyscanner)
43684 : {
43685 : /*
43686 : * Generate a ColumnRef node, with an A_Indirection node added if there
43687 : * is any subscripting in the specified indirection list. However,
43688 : * any field selection at the start of the indirection list must be
43689 : * transposed into the "fields" part of the ColumnRef node.
43690 : */
43691 : ColumnRef *c = makeNode(ColumnRef);
43692 : int nfields = 0;
43693 : ListCell *l;
43694 :
43695 : c->location = location;
43696 : foreach(l, indirection)
43697 : {
43698 : if (IsA(lfirst(l), A_Indices))
43699 : {
43700 : A_Indirection *i = makeNode(A_Indirection);
43701 :
43702 : if (nfields == 0)
43703 : {
43704 : /* easy case - all indirection goes to A_Indirection */
43705 : c->fields = list_make1(makeString(colname));
43706 : i->indirection = check_indirection(indirection, yyscanner);
43707 : }
43708 : else
43709 : {
43710 : /* got to split the list in two */
43711 : i->indirection = check_indirection(list_copy_tail(indirection,
43712 : nfields),
43713 : yyscanner);
43714 : indirection = list_truncate(indirection, nfields);
43715 : c->fields = lcons(makeString(colname), indirection);
43716 : }
43717 : i->arg = (Node *) c;
43718 : return (Node *) i;
43719 : }
43720 : else if (IsA(lfirst(l), A_Star))
43721 : {
43722 : /* We only allow '*' at the end of a ColumnRef */
43723 : if (lnext(l) != NULL)
43724 : parser_yyerror("improper use of \"*\"");
43725 : }
43726 : nfields++;
43727 : }
43728 : /* No subscripting, so all indirection gets added to field list */
43729 : c->fields = lcons(makeString(colname), indirection);
43730 : return (Node *) c;
43731 : }
43732 :
43733 : static Node *
43734 : makeTypeCast(Node *arg, TypeName *typename, int location)
43735 : {
43736 : TypeCast *n = makeNode(TypeCast);
43737 : n->arg = arg;
43738 : n->typeName = typename;
43739 : n->location = location;
43740 : return (Node *) n;
43741 : }
43742 :
43743 : static Node *
43744 : makeStringConst(char *str, int location)
43745 : {
43746 : A_Const *n = makeNode(A_Const);
43747 :
43748 : n->val.type = T_String;
43749 : n->val.val.str = str;
43750 : n->location = location;
43751 :
43752 : return (Node *)n;
43753 : }
43754 :
43755 : static Node *
43756 : makeStringConstCast(char *str, int location, TypeName *typename)
43757 : {
43758 : Node *s = makeStringConst(str, location);
43759 :
43760 : return makeTypeCast(s, typename, -1);
43761 : }
43762 :
43763 : static Node *
43764 : makeIntConst(int val, int location)
43765 : {
43766 : A_Const *n = makeNode(A_Const);
43767 :
43768 : n->val.type = T_Integer;
43769 : n->val.val.ival = val;
43770 : n->location = location;
43771 :
43772 : return (Node *)n;
43773 : }
43774 :
43775 : static Node *
43776 : makeFloatConst(char *str, int location)
43777 : {
43778 : A_Const *n = makeNode(A_Const);
43779 :
43780 : n->val.type = T_Float;
43781 : n->val.val.str = str;
43782 : n->location = location;
43783 :
43784 : return (Node *)n;
43785 : }
43786 :
43787 : static Node *
43788 : makeBitStringConst(char *str, int location)
43789 : {
43790 : A_Const *n = makeNode(A_Const);
43791 :
43792 : n->val.type = T_BitString;
43793 : n->val.val.str = str;
43794 : n->location = location;
43795 :
43796 : return (Node *)n;
43797 : }
43798 :
43799 : static Node *
43800 : makeNullAConst(int location)
43801 : {
43802 : A_Const *n = makeNode(A_Const);
43803 :
43804 : n->val.type = T_Null;
43805 : n->location = location;
43806 :
43807 : return (Node *)n;
43808 : }
43809 :
43810 : static Node *
43811 : makeAConst(Value *v, int location)
43812 : {
43813 : Node *n;
43814 :
43815 : switch (v->type)
43816 : {
43817 : case T_Float:
43818 : n = makeFloatConst(v->val.str, location);
43819 : break;
43820 :
43821 : case T_Integer:
43822 : n = makeIntConst(v->val.ival, location);
43823 : break;
43824 :
43825 : case T_String:
43826 : default:
43827 : n = makeStringConst(v->val.str, location);
43828 : break;
43829 : }
43830 :
43831 : return n;
43832 : }
43833 :
43834 : /* makeBoolAConst()
43835 : * Create an A_Const string node and put it inside a boolean cast.
43836 : */
43837 : static Node *
43838 : makeBoolAConst(bool state, int location)
43839 : {
43840 : A_Const *n = makeNode(A_Const);
43841 :
43842 : n->val.type = T_String;
43843 : n->val.val.str = (state ? "t" : "f");
43844 : n->location = location;
43845 :
43846 : return makeTypeCast((Node *)n, SystemTypeName("bool"), -1);
43847 : }
43848 :
43849 : /* makeRoleSpec
43850 : * Create a RoleSpec with the given type
43851 : */
43852 : static RoleSpec *
43853 : makeRoleSpec(RoleSpecType type, int location)
43854 : {
43855 : RoleSpec *spec = makeNode(RoleSpec);
43856 :
43857 : spec->roletype = type;
43858 : spec->location = location;
43859 :
43860 : return spec;
43861 : }
43862 :
43863 : /* check_qualified_name --- check the result of qualified_name production
43864 : *
43865 : * It's easiest to let the grammar production for qualified_name allow
43866 : * subscripts and '*', which we then must reject here.
43867 : */
43868 : static void
43869 : check_qualified_name(List *names, core_yyscan_t yyscanner)
43870 : {
43871 : ListCell *i;
43872 :
43873 : foreach(i, names)
43874 : {
43875 : if (!IsA(lfirst(i), String))
43876 : parser_yyerror("syntax error");
43877 : }
43878 : }
43879 :
43880 : /* check_func_name --- check the result of func_name production
43881 : *
43882 : * It's easiest to let the grammar production for func_name allow subscripts
43883 : * and '*', which we then must reject here.
43884 : */
43885 : static List *
43886 : check_func_name(List *names, core_yyscan_t yyscanner)
43887 : {
43888 : ListCell *i;
43889 :
43890 : foreach(i, names)
43891 : {
43892 : if (!IsA(lfirst(i), String))
43893 : parser_yyerror("syntax error");
43894 : }
43895 : return names;
43896 : }
43897 :
43898 : /* check_indirection --- check the result of indirection production
43899 : *
43900 : * We only allow '*' at the end of the list, but it's hard to enforce that
43901 : * in the grammar, so do it here.
43902 : */
43903 : static List *
43904 : check_indirection(List *indirection, core_yyscan_t yyscanner)
43905 : {
43906 : ListCell *l;
43907 :
43908 : foreach(l, indirection)
43909 : {
43910 : if (IsA(lfirst(l), A_Star))
43911 : {
43912 : if (lnext(l) != NULL)
43913 : parser_yyerror("improper use of \"*\"");
43914 : }
43915 : }
43916 : return indirection;
43917 : }
43918 :
43919 : /* extractArgTypes()
43920 : * Given a list of FunctionParameter nodes, extract a list of just the
43921 : * argument types (TypeNames) for input parameters only. This is what
43922 : * is needed to look up an existing function, which is what is wanted by
43923 : * the productions that use this call.
43924 : */
43925 : static List *
43926 : extractArgTypes(List *parameters)
43927 : {
43928 : List *result = NIL;
43929 : ListCell *i;
43930 :
43931 : foreach(i, parameters)
43932 : {
43933 : FunctionParameter *p = (FunctionParameter *) lfirst(i);
43934 :
43935 : if (p->mode != FUNC_PARAM_OUT && p->mode != FUNC_PARAM_TABLE)
43936 : result = lappend(result, p->argType);
43937 : }
43938 : return result;
43939 : }
43940 :
43941 : /* extractAggrArgTypes()
43942 : * As above, but work from the output of the aggr_args production.
43943 : */
43944 : static List *
43945 : extractAggrArgTypes(List *aggrargs)
43946 : {
43947 : Assert(list_length(aggrargs) == 2);
43948 : return extractArgTypes((List *) linitial(aggrargs));
43949 : }
43950 :
43951 : /* makeOrderedSetArgs()
43952 : * Build the result of the aggr_args production (which see the comments for).
43953 : * This handles only the case where both given lists are nonempty, so that
43954 : * we have to deal with multiple VARIADIC arguments.
43955 : */
43956 : static List *
43957 : makeOrderedSetArgs(List *directargs, List *orderedargs,
43958 : core_yyscan_t yyscanner)
43959 : {
43960 : FunctionParameter *lastd = (FunctionParameter *) llast(directargs);
43961 : int ndirectargs;
43962 :
43963 : /* No restriction unless last direct arg is VARIADIC */
43964 : if (lastd->mode == FUNC_PARAM_VARIADIC)
43965 : {
43966 : FunctionParameter *firsto = (FunctionParameter *) linitial(orderedargs);
43967 :
43968 : /*
43969 : * We ignore the names, though the aggr_arg production allows them;
43970 : * it doesn't allow default values, so those need not be checked.
43971 : */
43972 : if (list_length(orderedargs) != 1 ||
43973 : firsto->mode != FUNC_PARAM_VARIADIC ||
43974 : !equal(lastd->argType, firsto->argType))
43975 : ereport(ERROR,
43976 : (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
43977 : errmsg("an ordered-set aggregate with a VARIADIC direct argument must have one VARIADIC aggregated argument of the same data type"),
43978 : parser_errposition(exprLocation((Node *) firsto))));
43979 :
43980 : /* OK, drop the duplicate VARIADIC argument from the internal form */
43981 : orderedargs = NIL;
43982 : }
43983 :
43984 : /* don't merge into the next line, as list_concat changes directargs */
43985 : ndirectargs = list_length(directargs);
43986 :
43987 : return list_make2(list_concat(directargs, orderedargs),
43988 : makeInteger(ndirectargs));
43989 : }
43990 :
43991 : /* insertSelectOptions()
43992 : * Insert ORDER BY, etc into an already-constructed SelectStmt.
43993 : *
43994 : * This routine is just to avoid duplicating code in SelectStmt productions.
43995 : */
43996 : static void
43997 : insertSelectOptions(SelectStmt *stmt,
43998 : List *sortClause, List *lockingClause,
43999 : Node *limitOffset, Node *limitCount,
44000 : WithClause *withClause,
44001 : core_yyscan_t yyscanner)
44002 : {
44003 : Assert(IsA(stmt, SelectStmt));
44004 :
44005 : /*
44006 : * Tests here are to reject constructs like
44007 : * (SELECT foo ORDER BY bar) ORDER BY baz
44008 : */
44009 : if (sortClause)
44010 : {
44011 : if (stmt->sortClause)
44012 : ereport(ERROR,
44013 : (errcode(ERRCODE_SYNTAX_ERROR),
44014 : errmsg("multiple ORDER BY clauses not allowed"),
44015 : parser_errposition(exprLocation((Node *) sortClause))));
44016 : stmt->sortClause = sortClause;
44017 : }
44018 : /* We can handle multiple locking clauses, though */
44019 : stmt->lockingClause = list_concat(stmt->lockingClause, lockingClause);
44020 : if (limitOffset)
44021 : {
44022 : if (stmt->limitOffset)
44023 : ereport(ERROR,
44024 : (errcode(ERRCODE_SYNTAX_ERROR),
44025 : errmsg("multiple OFFSET clauses not allowed"),
44026 : parser_errposition(exprLocation(limitOffset))));
44027 : stmt->limitOffset = limitOffset;
44028 : }
44029 : if (limitCount)
44030 : {
44031 : if (stmt->limitCount)
44032 : ereport(ERROR,
44033 : (errcode(ERRCODE_SYNTAX_ERROR),
44034 : errmsg("multiple LIMIT clauses not allowed"),
44035 : parser_errposition(exprLocation(limitCount))));
44036 : stmt->limitCount = limitCount;
44037 : }
44038 : if (withClause)
44039 : {
44040 : if (stmt->withClause)
44041 : ereport(ERROR,
44042 : (errcode(ERRCODE_SYNTAX_ERROR),
44043 : errmsg("multiple WITH clauses not allowed"),
44044 : parser_errposition(exprLocation((Node *) withClause))));
44045 : stmt->withClause = withClause;
44046 : }
44047 : }
44048 :
44049 : static Node *
44050 : makeSetOp(SetOperation op, bool all, Node *larg, Node *rarg)
44051 : {
44052 : SelectStmt *n = makeNode(SelectStmt);
44053 :
44054 : n->op = op;
44055 : n->all = all;
44056 : n->larg = (SelectStmt *) larg;
44057 : n->rarg = (SelectStmt *) rarg;
44058 : return (Node *) n;
44059 : }
44060 :
44061 : /* SystemFuncName()
44062 : * Build a properly-qualified reference to a built-in function.
44063 : */
44064 : List *
44065 : SystemFuncName(char *name)
44066 : {
44067 : return list_make2(makeString("pg_catalog"), makeString(name));
44068 : }
44069 :
44070 : /* SystemTypeName()
44071 : * Build a properly-qualified reference to a built-in type.
44072 : *
44073 : * typmod is defaulted, but may be changed afterwards by caller.
44074 : * Likewise for the location.
44075 : */
44076 : TypeName *
44077 : SystemTypeName(char *name)
44078 : {
44079 : return makeTypeNameFromNameList(list_make2(makeString("pg_catalog"),
44080 : makeString(name)));
44081 : }
44082 :
44083 : /* doNegate()
44084 : * Handle negation of a numeric constant.
44085 : *
44086 : * Formerly, we did this here because the optimizer couldn't cope with
44087 : * indexquals that looked like "var = -4" --- it wants "var = const"
44088 : * and a unary minus operator applied to a constant didn't qualify.
44089 : * As of Postgres 7.0, that problem doesn't exist anymore because there
44090 : * is a constant-subexpression simplifier in the optimizer. However,
44091 : * there's still a good reason for doing this here, which is that we can
44092 : * postpone committing to a particular internal representation for simple
44093 : * negative constants. It's better to leave "-123.456" in string form
44094 : * until we know what the desired type is.
44095 : */
44096 : static Node *
44097 : doNegate(Node *n, int location)
44098 : {
44099 : if (IsA(n, A_Const))
44100 : {
44101 : A_Const *con = (A_Const *)n;
44102 :
44103 : /* report the constant's location as that of the '-' sign */
44104 : con->location = location;
44105 :
44106 : if (con->val.type == T_Integer)
44107 : {
44108 : con->val.val.ival = -con->val.val.ival;
44109 : return n;
44110 : }
44111 : if (con->val.type == T_Float)
44112 : {
44113 : doNegateFloat(&con->val);
44114 : return n;
44115 : }
44116 : }
44117 :
44118 : return (Node *) makeSimpleA_Expr(AEXPR_OP, "-", NULL, n, location);
44119 : }
44120 :
44121 : static void
44122 : doNegateFloat(Value *v)
44123 : {
44124 : char *oldval = v->val.str;
44125 :
44126 : Assert(IsA(v, Float));
44127 : if (*oldval == '+')
44128 : oldval++;
44129 : if (*oldval == '-')
44130 : v->val.str = oldval+1; /* just strip the '-' */
44131 : else
44132 : v->val.str = psprintf("-%s", oldval);
44133 : }
44134 :
44135 : static Node *
44136 : makeAndExpr(Node *lexpr, Node *rexpr, int location)
44137 : {
44138 : Node *lexp = lexpr;
44139 :
44140 : /* Look through AEXPR_PAREN nodes so they don't affect flattening */
44141 : while (IsA(lexp, A_Expr) &&
44142 : ((A_Expr *) lexp)->kind == AEXPR_PAREN)
44143 : lexp = ((A_Expr *) lexp)->lexpr;
44144 : /* Flatten "a AND b AND c ..." to a single BoolExpr on sight */
44145 : if (IsA(lexp, BoolExpr))
44146 : {
44147 : BoolExpr *blexpr = (BoolExpr *) lexp;
44148 :
44149 : if (blexpr->boolop == AND_EXPR)
44150 : {
44151 : blexpr->args = lappend(blexpr->args, rexpr);
44152 : return (Node *) blexpr;
44153 : }
44154 : }
44155 : return (Node *) makeBoolExpr(AND_EXPR, list_make2(lexpr, rexpr), location);
44156 : }
44157 :
44158 : static Node *
44159 : makeOrExpr(Node *lexpr, Node *rexpr, int location)
44160 : {
44161 : Node *lexp = lexpr;
44162 :
44163 : /* Look through AEXPR_PAREN nodes so they don't affect flattening */
44164 : while (IsA(lexp, A_Expr) &&
44165 : ((A_Expr *) lexp)->kind == AEXPR_PAREN)
44166 : lexp = ((A_Expr *) lexp)->lexpr;
44167 : /* Flatten "a OR b OR c ..." to a single BoolExpr on sight */
44168 : if (IsA(lexp, BoolExpr))
44169 : {
44170 : BoolExpr *blexpr = (BoolExpr *) lexp;
44171 :
44172 : if (blexpr->boolop == OR_EXPR)
44173 : {
44174 : blexpr->args = lappend(blexpr->args, rexpr);
44175 : return (Node *) blexpr;
44176 : }
44177 : }
44178 : return (Node *) makeBoolExpr(OR_EXPR, list_make2(lexpr, rexpr), location);
44179 : }
44180 :
44181 : static Node *
44182 : makeNotExpr(Node *expr, int location)
44183 : {
44184 : return (Node *) makeBoolExpr(NOT_EXPR, list_make1(expr), location);
44185 : }
44186 :
44187 : static Node *
44188 : makeAArrayExpr(List *elements, int location)
44189 : {
44190 : A_ArrayExpr *n = makeNode(A_ArrayExpr);
44191 :
44192 : n->elements = elements;
44193 : n->location = location;
44194 : return (Node *) n;
44195 : }
44196 :
44197 : static Node *
44198 : makeSQLValueFunction(SQLValueFunctionOp op, int32 typmod, int location)
44199 : {
44200 : SQLValueFunction *svf = makeNode(SQLValueFunction);
44201 :
44202 : svf->op = op;
44203 : /* svf->type will be filled during parse analysis */
44204 : svf->typmod = typmod;
44205 : svf->location = location;
44206 : return (Node *) svf;
44207 : }
44208 :
44209 : static Node *
44210 : makeXmlExpr(XmlExprOp op, char *name, List *named_args, List *args,
44211 : int location)
44212 : {
44213 : XmlExpr *x = makeNode(XmlExpr);
44214 :
44215 : x->op = op;
44216 : x->name = name;
44217 : /*
44218 : * named_args is a list of ResTarget; it'll be split apart into separate
44219 : * expression and name lists in transformXmlExpr().
44220 : */
44221 : x->named_args = named_args;
44222 : x->arg_names = NIL;
44223 : x->args = args;
44224 : /* xmloption, if relevant, must be filled in by caller */
44225 : /* type and typmod will be filled in during parse analysis */
44226 : x->type = InvalidOid; /* marks the node as not analyzed */
44227 : x->location = location;
44228 : return (Node *) x;
44229 : }
44230 :
44231 : /*
44232 : * Merge the input and output parameters of a table function.
44233 : */
44234 : static List *
44235 : mergeTableFuncParameters(List *func_args, List *columns)
44236 : {
44237 : ListCell *lc;
44238 :
44239 : /* Explicit OUT and INOUT parameters shouldn't be used in this syntax */
44240 : foreach(lc, func_args)
44241 : {
44242 : FunctionParameter *p = (FunctionParameter *) lfirst(lc);
44243 :
44244 : if (p->mode != FUNC_PARAM_IN && p->mode != FUNC_PARAM_VARIADIC)
44245 : ereport(ERROR,
44246 : (errcode(ERRCODE_SYNTAX_ERROR),
44247 : errmsg("OUT and INOUT arguments aren't allowed in TABLE functions")));
44248 : }
44249 :
44250 : return list_concat(func_args, columns);
44251 : }
44252 :
44253 : /*
44254 : * Determine return type of a TABLE function. A single result column
44255 : * returns setof that column's type; otherwise return setof record.
44256 : */
44257 : static TypeName *
44258 : TableFuncTypeName(List *columns)
44259 : {
44260 : TypeName *result;
44261 :
44262 : if (list_length(columns) == 1)
44263 : {
44264 : FunctionParameter *p = (FunctionParameter *) linitial(columns);
44265 :
44266 : result = copyObject(p->argType);
44267 : }
44268 : else
44269 : result = SystemTypeName("record");
44270 :
44271 : result->setof = true;
44272 :
44273 : return result;
44274 : }
44275 :
44276 : /*
44277 : * Convert a list of (dotted) names to a RangeVar (like
44278 : * makeRangeVarFromNameList, but with position support). The
44279 : * "AnyName" refers to the any_name production in the grammar.
44280 : */
44281 : static RangeVar *
44282 : makeRangeVarFromAnyName(List *names, int position, core_yyscan_t yyscanner)
44283 : {
44284 : RangeVar *r = makeNode(RangeVar);
44285 :
44286 : switch (list_length(names))
44287 : {
44288 : case 1:
44289 : r->catalogname = NULL;
44290 : r->schemaname = NULL;
44291 : r->relname = strVal(linitial(names));
44292 : break;
44293 : case 2:
44294 : r->catalogname = NULL;
44295 : r->schemaname = strVal(linitial(names));
44296 : r->relname = strVal(lsecond(names));
44297 : break;
44298 : case 3:
44299 : r->catalogname = strVal(linitial(names));
44300 : r->schemaname = strVal(lsecond(names));
44301 : r->relname = strVal(lthird(names));
44302 : break;
44303 : default:
44304 : ereport(ERROR,
44305 : (errcode(ERRCODE_SYNTAX_ERROR),
44306 : errmsg("improper qualified name (too many dotted names): %s",
44307 : NameListToString(names)),
44308 : parser_errposition(position)));
44309 : break;
44310 : }
44311 :
44312 : r->relpersistence = RELPERSISTENCE_PERMANENT;
44313 : r->location = position;
44314 :
44315 : return r;
44316 : }
44317 :
44318 : /* Separate Constraint nodes from COLLATE clauses in a ColQualList */
44319 : static void
44320 : SplitColQualList(List *qualList,
44321 : List **constraintList, CollateClause **collClause,
44322 : core_yyscan_t yyscanner)
44323 : {
44324 : ListCell *cell;
44325 : ListCell *prev;
44326 : ListCell *next;
44327 :
44328 : *collClause = NULL;
44329 : prev = NULL;
44330 : for (cell = list_head(qualList); cell; cell = next)
44331 : {
44332 : Node *n = (Node *) lfirst(cell);
44333 :
44334 : next = lnext(cell);
44335 : if (IsA(n, Constraint))
44336 : {
44337 : /* keep it in list */
44338 : prev = cell;
44339 : continue;
44340 : }
44341 : if (IsA(n, CollateClause))
44342 : {
44343 : CollateClause *c = (CollateClause *) n;
44344 :
44345 : if (*collClause)
44346 : ereport(ERROR,
44347 : (errcode(ERRCODE_SYNTAX_ERROR),
44348 : errmsg("multiple COLLATE clauses not allowed"),
44349 : parser_errposition(c->location)));
44350 : *collClause = c;
44351 : }
44352 : else
44353 : elog(ERROR, "unexpected node type %d", (int) n->type);
44354 : /* remove non-Constraint nodes from qualList */
44355 : qualList = list_delete_cell(qualList, cell, prev);
44356 : }
44357 : *constraintList = qualList;
44358 : }
44359 :
44360 : /*
44361 : * Process result of ConstraintAttributeSpec, and set appropriate bool flags
44362 : * in the output command node. Pass NULL for any flags the particular
44363 : * command doesn't support.
44364 : */
44365 : static void
44366 : processCASbits(int cas_bits, int location, const char *constrType,
44367 : bool *deferrable, bool *initdeferred, bool *not_valid,
44368 : bool *no_inherit, core_yyscan_t yyscanner)
44369 : {
44370 : /* defaults */
44371 : if (deferrable)
44372 : *deferrable = false;
44373 : if (initdeferred)
44374 : *initdeferred = false;
44375 : if (not_valid)
44376 : *not_valid = false;
44377 :
44378 : if (cas_bits & (CAS_DEFERRABLE | CAS_INITIALLY_DEFERRED))
44379 : {
44380 : if (deferrable)
44381 : *deferrable = true;
44382 : else
44383 : ereport(ERROR,
44384 : (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
44385 : /* translator: %s is CHECK, UNIQUE, or similar */
44386 : errmsg("%s constraints cannot be marked DEFERRABLE",
44387 : constrType),
44388 : parser_errposition(location)));
44389 : }
44390 :
44391 : if (cas_bits & CAS_INITIALLY_DEFERRED)
44392 : {
44393 : if (initdeferred)
44394 : *initdeferred = true;
44395 : else
44396 : ereport(ERROR,
44397 : (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
44398 : /* translator: %s is CHECK, UNIQUE, or similar */
44399 : errmsg("%s constraints cannot be marked DEFERRABLE",
44400 : constrType),
44401 : parser_errposition(location)));
44402 : }
44403 :
44404 : if (cas_bits & CAS_NOT_VALID)
44405 : {
44406 : if (not_valid)
44407 : *not_valid = true;
44408 : else
44409 : ereport(ERROR,
44410 : (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
44411 : /* translator: %s is CHECK, UNIQUE, or similar */
44412 : errmsg("%s constraints cannot be marked NOT VALID",
44413 : constrType),
44414 : parser_errposition(location)));
44415 : }
44416 :
44417 : if (cas_bits & CAS_NO_INHERIT)
44418 : {
44419 : if (no_inherit)
44420 : *no_inherit = true;
44421 : else
44422 : ereport(ERROR,
44423 : (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
44424 : /* translator: %s is CHECK, UNIQUE, or similar */
44425 : errmsg("%s constraints cannot be marked NO INHERIT",
44426 : constrType),
44427 : parser_errposition(location)));
44428 : }
44429 : }
44430 :
44431 : /*----------
44432 : * Recursive view transformation
44433 : *
44434 : * Convert
44435 : *
44436 : * CREATE RECURSIVE VIEW relname (aliases) AS query
44437 : *
44438 : * to
44439 : *
44440 : * CREATE VIEW relname (aliases) AS
44441 : * WITH RECURSIVE relname (aliases) AS (query)
44442 : * SELECT aliases FROM relname
44443 : *
44444 : * Actually, just the WITH ... part, which is then inserted into the original
44445 : * view definition as the query.
44446 : * ----------
44447 : */
44448 : static Node *
44449 : makeRecursiveViewSelect(char *relname, List *aliases, Node *query)
44450 : {
44451 : SelectStmt *s = makeNode(SelectStmt);
44452 : WithClause *w = makeNode(WithClause);
44453 : CommonTableExpr *cte = makeNode(CommonTableExpr);
44454 : List *tl = NIL;
44455 : ListCell *lc;
44456 :
44457 : /* create common table expression */
44458 : cte->ctename = relname;
44459 : cte->aliascolnames = aliases;
44460 : cte->ctequery = query;
44461 : cte->location = -1;
44462 :
44463 : /* create WITH clause and attach CTE */
44464 : w->recursive = true;
44465 : w->ctes = list_make1(cte);
44466 : w->location = -1;
44467 :
44468 : /* create target list for the new SELECT from the alias list of the
44469 : * recursive view specification */
44470 : foreach (lc, aliases)
44471 : {
44472 : ResTarget *rt = makeNode(ResTarget);
44473 :
44474 : rt->name = NULL;
44475 : rt->indirection = NIL;
44476 : rt->val = makeColumnRef(strVal(lfirst(lc)), NIL, -1, 0);
44477 : rt->location = -1;
44478 :
44479 : tl = lappend(tl, rt);
44480 : }
44481 :
44482 : /* create new SELECT combining WITH clause, target list, and fake FROM
44483 : * clause */
44484 : s->withClause = w;
44485 : s->targetList = tl;
44486 : s->fromClause = list_make1(makeRangeVar(NULL, relname, -1));
44487 :
44488 : return (Node *) s;
44489 : }
44490 :
44491 : /* parser_init()
44492 : * Initialize to parse one query string
44493 : */
44494 : void
44495 : parser_init(base_yy_extra_type *yyext)
44496 : {
44497 : yyext->parsetree = NIL; /* in case grammar forgets to set it */
44498 : }
|