1 /* A Bison parser, made by GNU Bison 3.3.2.  */
2 
3 /* Bison implementation for Yacc-like parsers in C
4 
5    Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation,
6    Inc.
7 
8    This program is free software: you can redistribute it and/or modify
9    it under the terms of the GNU General Public License as published by
10    the Free Software Foundation, either version 3 of the License, or
11    (at your option) any later version.
12 
13    This program is distributed in the hope that it will be useful,
14    but WITHOUT ANY WARRANTY; without even the implied warranty of
15    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16    GNU General Public License for more details.
17 
18    You should have received a copy of the GNU General Public License
19    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
20 
21 /* As a special exception, you may create a larger work that contains
22    part or all of the Bison parser skeleton and distribute that work
23    under terms of your choice, so long as that work isn't itself a
24    parser generator using the skeleton or a modified version thereof
25    as a parser skeleton.  Alternatively, if you modify or redistribute
26    the parser skeleton itself, you may (at your option) remove this
27    special exception, which will cause the skeleton and the resulting
28    Bison output files to be licensed under the GNU General Public
29    License without this special exception.
30 
31    This special exception was added by the Free Software Foundation in
32    version 2.2 of Bison.  */
33 
34 /* C LALR(1) parser skeleton written by Richard Stallman, by
35    simplifying the original so-called "semantic" parser.  */
36 
37 /* All symbols defined below should begin with yy or YY, to avoid
38    infringing on user name space.  This should be done even for local
39    variables, as they might otherwise be expanded by user macros.
40    There are some unavoidable exceptions within include files to
41    define necessary library symbols; they are noted "INFRINGES ON
42    USER NAME SPACE" below.  */
43 
44 /* Undocumented macros, especially those whose name start with YY_,
45    are private implementation details.  Do not rely on them.  */
46 
47 /* Identify Bison output.  */
48 #define YYBISON 1
49 
50 /* Bison version.  */
51 #define YYBISON_VERSION "3.3.2"
52 
53 /* Skeleton name.  */
54 #define YYSKELETON_NAME "yacc.c"
55 
56 /* Pure parsers.  */
57 #define YYPURE 1
58 
59 /* Push parsers.  */
60 #define YYPUSH 0
61 
62 /* Pull parsers.  */
63 #define YYPULL 1
64 
65 
66 /* Substitute the variable and function names.  */
67 #define yyparse         base_yyparse
68 #define yylex           base_yylex
69 #define yyerror         base_yyerror
70 #define yydebug         base_yydebug
71 #define yynerrs         base_yynerrs
72 
73 
74 /* First part of user prologue.  */
75 #line 1 "gram.y" /* yacc.c:337  */
76 
77 
78 /*#define YYDEBUG 1*/
79 /*-------------------------------------------------------------------------
80  *
81  * gram.y
82  *	  POSTGRESQL BISON rules/actions
83  *
84  * Portions Copyright (c) 1996-2020, PostgreSQL Global Development Group
85  * Portions Copyright (c) 1994, Regents of the University of California
86  *
87  *
88  * IDENTIFICATION
89  *	  src/backend/parser/gram.y
90  *
91  * HISTORY
92  *	  AUTHOR			DATE			MAJOR EVENT
93  *	  Andrew Yu			Sept, 1994		POSTQUEL to SQL conversion
94  *	  Andrew Yu			Oct, 1994		lispy code conversion
95  *
96  * NOTES
97  *	  CAPITALS are used to represent terminal symbols.
98  *	  non-capitals are used to represent non-terminals.
99  *
100  *	  In general, nothing in this file should initiate database accesses
101  *	  nor depend on changeable state (such as SET variables).  If you do
102  *	  database accesses, your code will fail when we have aborted the
103  *	  current transaction and are just parsing commands to find the next
104  *	  ROLLBACK or COMMIT.  If you make use of SET variables, then you
105  *	  will do the wrong thing in multi-query strings like this:
106  *			SET constraint_exclusion TO off; SELECT * FROM foo;
107  *	  because the entire string is parsed by gram.y before the SET gets
108  *	  executed.  Anything that depends on the database or changeable state
109  *	  should be handled during parse analysis so that it happens at the
110  *	  right time not the wrong time.
111  *
112  * WARNINGS
113  *	  If you use a list, make sure the datum is a node so that the printing
114  *	  routines work.
115  *
116  *	  Sometimes we assign constants to makeStrings. Make sure we don't free
117  *	  those.
118  *
119  *-------------------------------------------------------------------------
120  */
121 #include "postgres.h"
122 
123 #include <ctype.h>
124 #include <limits.h>
125 
126 #include "access/tableam.h"
127 #include "catalog/index.h"
128 #include "catalog/namespace.h"
129 #include "catalog/pg_am.h"
130 #include "catalog/pg_trigger.h"
131 #include "commands/defrem.h"
132 #include "commands/trigger.h"
133 #include "nodes/makefuncs.h"
134 #include "nodes/nodeFuncs.h"
135 #include "parser/gramparse.h"
136 #include "parser/parser.h"
137 #include "parser/parse_expr.h"
138 #include "storage/lmgr.h"
139 #include "utils/date.h"
140 #include "utils/datetime.h"
141 #include "utils/numeric.h"
142 #include "utils/xml.h"
143 
144 
145 /*
146  * Location tracking support --- simpler than bison's default, since we only
147  * want to track the start position not the end position of each nonterminal.
148  */
149 #define YYLLOC_DEFAULT(Current, Rhs, N) \
150 	do { \
151 		if ((N) > 0) \
152 			(Current) = (Rhs)[1]; \
153 		else \
154 			(Current) = (-1); \
155 	} while (0)
156 
157 /*
158  * The above macro assigns -1 (unknown) as the parse location of any
159  * nonterminal that was reduced from an empty rule, or whose leftmost
160  * component was reduced from an empty rule.  This is problematic
161  * for nonterminals defined like
162  *		OptFooList: / * EMPTY * / { ... } | OptFooList Foo { ... } ;
163  * because we'll set -1 as the location during the first reduction and then
164  * copy it during each subsequent reduction, leaving us with -1 for the
165  * location even when the list is not empty.  To fix that, do this in the
166  * action for the nonempty rule(s):
167  *		if (@$ < 0) @$ = @2;
168  * (Although we have many nonterminals that follow this pattern, we only
169  * bother with fixing @$ like this when the nonterminal's parse location
170  * is actually referenced in some rule.)
171  *
172  * A cleaner answer would be to make YYLLOC_DEFAULT scan all the Rhs
173  * locations until it's found one that's not -1.  Then we'd get a correct
174  * location for any nonterminal that isn't entirely empty.  But this way
175  * would add overhead to every rule reduction, and so far there's not been
176  * a compelling reason to pay that overhead.
177  */
178 
179 /*
180  * Bison doesn't allocate anything that needs to live across parser calls,
181  * so we can easily have it use palloc instead of malloc.  This prevents
182  * memory leaks if we error out during parsing.  Note this only works with
183  * bison >= 2.0.  However, in bison 1.875 the default is to use alloca()
184  * if possible, so there's not really much problem anyhow, at least if
185  * you're building with gcc.
186  */
187 #define YYMALLOC palloc
188 #define YYFREE   pfree
189 
190 /* Private struct for the result of privilege_target production */
191 typedef struct PrivTarget
192 {
193 	GrantTargetType targtype;
194 	ObjectType	objtype;
195 	List	   *objs;
196 } PrivTarget;
197 
198 /* Private struct for the result of import_qualification production */
199 typedef struct ImportQual
200 {
201 	ImportForeignSchemaType type;
202 	List	   *table_names;
203 } ImportQual;
204 
205 /* Private struct for the result of opt_select_limit production */
206 typedef struct SelectLimit
207 {
208 	Node *limitOffset;
209 	Node *limitCount;
210 	LimitOption limitOption;
211 } SelectLimit;
212 
213 /* ConstraintAttributeSpec yields an integer bitmask of these flags: */
214 #define CAS_NOT_DEFERRABLE			0x01
215 #define CAS_DEFERRABLE				0x02
216 #define CAS_INITIALLY_IMMEDIATE		0x04
217 #define CAS_INITIALLY_DEFERRED		0x08
218 #define CAS_NOT_VALID				0x10
219 #define CAS_NO_INHERIT				0x20
220 
221 
222 #define parser_yyerror(msg)  scanner_yyerror(msg, yyscanner)
223 #define parser_errposition(pos)  scanner_errposition(pos, yyscanner)
224 
225 static void base_yyerror(YYLTYPE *yylloc, core_yyscan_t yyscanner,
226 						 const char *msg);
227 static RawStmt *makeRawStmt(Node *stmt, int stmt_location);
228 static void updateRawStmtEnd(RawStmt *rs, int end_location);
229 static Node *makeColumnRef(char *colname, List *indirection,
230 						   int location, core_yyscan_t yyscanner);
231 static Node *makeTypeCast(Node *arg, TypeName *typename, int location);
232 static Node *makeStringConst(char *str, int location);
233 static Node *makeStringConstCast(char *str, int location, TypeName *typename);
234 static Node *makeIntConst(int val, int location);
235 static Node *makeFloatConst(char *str, int location);
236 static Node *makeBitStringConst(char *str, int location);
237 static Node *makeNullAConst(int location);
238 static Node *makeAConst(Value *v, int location);
239 static Node *makeBoolAConst(bool state, int location);
240 static RoleSpec *makeRoleSpec(RoleSpecType type, int location);
241 static void check_qualified_name(List *names, core_yyscan_t yyscanner);
242 static List *check_func_name(List *names, core_yyscan_t yyscanner);
243 static List *check_indirection(List *indirection, core_yyscan_t yyscanner);
244 static List *extractArgTypes(List *parameters);
245 static List *extractAggrArgTypes(List *aggrargs);
246 static List *makeOrderedSetArgs(List *directargs, List *orderedargs,
247 								core_yyscan_t yyscanner);
248 static void insertSelectOptions(SelectStmt *stmt,
249 								List *sortClause, List *lockingClause,
250 								SelectLimit *limitClause,
251 								WithClause *withClause,
252 								core_yyscan_t yyscanner);
253 static Node *makeSetOp(SetOperation op, bool all, Node *larg, Node *rarg);
254 static Node *doNegate(Node *n, int location);
255 static void doNegateFloat(Value *v);
256 static Node *makeAndExpr(Node *lexpr, Node *rexpr, int location);
257 static Node *makeOrExpr(Node *lexpr, Node *rexpr, int location);
258 static Node *makeNotExpr(Node *expr, int location);
259 static Node *makeAArrayExpr(List *elements, int location);
260 static Node *makeSQLValueFunction(SQLValueFunctionOp op, int32 typmod,
261 								  int location);
262 static Node *makeXmlExpr(XmlExprOp op, char *name, List *named_args,
263 						 List *args, int location);
264 static List *mergeTableFuncParameters(List *func_args, List *columns);
265 static TypeName *TableFuncTypeName(List *columns);
266 static RangeVar *makeRangeVarFromAnyName(List *names, int position, core_yyscan_t yyscanner);
267 static void SplitColQualList(List *qualList,
268 							 List **constraintList, CollateClause **collClause,
269 							 core_yyscan_t yyscanner);
270 static void processCASbits(int cas_bits, int location, const char *constrType,
271 			   bool *deferrable, bool *initdeferred, bool *not_valid,
272 			   bool *no_inherit, core_yyscan_t yyscanner);
273 static Node *makeRecursiveViewSelect(char *relname, List *aliases, Node *query);
274 
275 
276 #line 277 "gram.c" /* yacc.c:337  */
277 # ifndef YY_NULLPTR
278 #  if defined __cplusplus
279 #   if 201103L <= __cplusplus
280 #    define YY_NULLPTR nullptr
281 #   else
282 #    define YY_NULLPTR 0
283 #   endif
284 #  else
285 #   define YY_NULLPTR ((void*)0)
286 #  endif
287 # endif
288 
289 /* Enabling verbose error messages.  */
290 #ifdef YYERROR_VERBOSE
291 # undef YYERROR_VERBOSE
292 # define YYERROR_VERBOSE 1
293 #else
294 # define YYERROR_VERBOSE 0
295 #endif
296 
297 /* In a future release of Bison, this section will be replaced
298    by #include "gram.h".  */
299 #ifndef YY_BASE_YY_GRAM_H_INCLUDED
300 # define YY_BASE_YY_GRAM_H_INCLUDED
301 /* Debug traces.  */
302 #ifndef YYDEBUG
303 # define YYDEBUG 0
304 #endif
305 #if YYDEBUG
306 extern int base_yydebug;
307 #endif
308 
309 /* Token type.  */
310 #ifndef YYTOKENTYPE
311 # define YYTOKENTYPE
312   enum yytokentype
313   {
314     IDENT = 258,
315     UIDENT = 259,
316     FCONST = 260,
317     SCONST = 261,
318     USCONST = 262,
319     BCONST = 263,
320     XCONST = 264,
321     Op = 265,
322     ICONST = 266,
323     PARAM = 267,
324     TYPECAST = 268,
325     DOT_DOT = 269,
326     COLON_EQUALS = 270,
327     EQUALS_GREATER = 271,
328     LESS_EQUALS = 272,
329     GREATER_EQUALS = 273,
330     NOT_EQUALS = 274,
331     ABORT_P = 275,
332     ABSOLUTE_P = 276,
333     ACCESS = 277,
334     ACTION = 278,
335     ADD_P = 279,
336     ADMIN = 280,
337     AFTER = 281,
338     AGGREGATE = 282,
339     ALL = 283,
340     ALSO = 284,
341     ALTER = 285,
342     ALWAYS = 286,
343     ANALYSE = 287,
344     ANALYZE = 288,
345     AND = 289,
346     ANY = 290,
347     ARRAY = 291,
348     AS = 292,
349     ASC = 293,
350     ASSERTION = 294,
351     ASSIGNMENT = 295,
352     ASYMMETRIC = 296,
353     AT = 297,
354     ATTACH = 298,
355     ATTRIBUTE = 299,
356     AUTHORIZATION = 300,
357     BACKWARD = 301,
358     BEFORE = 302,
359     BEGIN_P = 303,
360     BETWEEN = 304,
361     BIGINT = 305,
362     BINARY = 306,
363     BIT = 307,
364     BOOLEAN_P = 308,
365     BOTH = 309,
366     BY = 310,
367     CACHE = 311,
368     CALL = 312,
369     CALLED = 313,
370     CASCADE = 314,
371     CASCADED = 315,
372     CASE = 316,
373     CAST = 317,
374     CATALOG_P = 318,
375     CHAIN = 319,
376     CHAR_P = 320,
377     CHARACTER = 321,
378     CHARACTERISTICS = 322,
379     CHECK = 323,
380     CHECKPOINT = 324,
381     CLASS = 325,
382     CLOSE = 326,
383     CLUSTER = 327,
384     COALESCE = 328,
385     COLLATE = 329,
386     COLLATION = 330,
387     COLUMN = 331,
388     COLUMNS = 332,
389     COMMENT = 333,
390     COMMENTS = 334,
391     COMMIT = 335,
392     COMMITTED = 336,
393     CONCURRENTLY = 337,
394     CONFIGURATION = 338,
395     CONFLICT = 339,
396     CONNECTION = 340,
397     CONSTRAINT = 341,
398     CONSTRAINTS = 342,
399     CONTENT_P = 343,
400     CONTINUE_P = 344,
401     CONVERSION_P = 345,
402     COPY = 346,
403     COST = 347,
404     CREATE = 348,
405     CROSS = 349,
406     CSV = 350,
407     CUBE = 351,
408     CURRENT_P = 352,
409     CURRENT_CATALOG = 353,
410     CURRENT_DATE = 354,
411     CURRENT_ROLE = 355,
412     CURRENT_SCHEMA = 356,
413     CURRENT_TIME = 357,
414     CURRENT_TIMESTAMP = 358,
415     CURRENT_USER = 359,
416     CURSOR = 360,
417     CYCLE = 361,
418     DATA_P = 362,
419     DATABASE = 363,
420     DAY_P = 364,
421     DEALLOCATE = 365,
422     DEC = 366,
423     DECIMAL_P = 367,
424     DECLARE = 368,
425     DEFAULT = 369,
426     DEFAULTS = 370,
427     DEFERRABLE = 371,
428     DEFERRED = 372,
429     DEFINER = 373,
430     DELETE_P = 374,
431     DELIMITER = 375,
432     DELIMITERS = 376,
433     DEPENDS = 377,
434     DESC = 378,
435     DETACH = 379,
436     DICTIONARY = 380,
437     DISABLE_P = 381,
438     DISCARD = 382,
439     DISTINCT = 383,
440     DO = 384,
441     DOCUMENT_P = 385,
442     DOMAIN_P = 386,
443     DOUBLE_P = 387,
444     DROP = 388,
445     EACH = 389,
446     ELSE = 390,
447     ENABLE_P = 391,
448     ENCODING = 392,
449     ENCRYPTED = 393,
450     END_P = 394,
451     ENUM_P = 395,
452     ESCAPE = 396,
453     EVENT = 397,
454     EXCEPT = 398,
455     EXCLUDE = 399,
456     EXCLUDING = 400,
457     EXCLUSIVE = 401,
458     EXECUTE = 402,
459     EXISTS = 403,
460     EXPLAIN = 404,
461     EXPRESSION = 405,
462     EXTENSION = 406,
463     EXTERNAL = 407,
464     EXTRACT = 408,
465     FALSE_P = 409,
466     FAMILY = 410,
467     FETCH = 411,
468     FILTER = 412,
469     FIRST_P = 413,
470     FLOAT_P = 414,
471     FOLLOWING = 415,
472     FOR = 416,
473     FORCE = 417,
474     FOREIGN = 418,
475     FORWARD = 419,
476     FREEZE = 420,
477     FROM = 421,
478     FULL = 422,
479     FUNCTION = 423,
480     FUNCTIONS = 424,
481     GENERATED = 425,
482     GLOBAL = 426,
483     GRANT = 427,
484     GRANTED = 428,
485     GREATEST = 429,
486     GROUP_P = 430,
487     GROUPING = 431,
488     GROUPS = 432,
489     HANDLER = 433,
490     HAVING = 434,
491     HEADER_P = 435,
492     HOLD = 436,
493     HOUR_P = 437,
494     IDENTITY_P = 438,
495     IF_P = 439,
496     ILIKE = 440,
497     IMMEDIATE = 441,
498     IMMUTABLE = 442,
499     IMPLICIT_P = 443,
500     IMPORT_P = 444,
501     IN_P = 445,
502     INCLUDE = 446,
503     INCLUDING = 447,
504     INCREMENT = 448,
505     INDEX = 449,
506     INDEXES = 450,
507     INHERIT = 451,
508     INHERITS = 452,
509     INITIALLY = 453,
510     INLINE_P = 454,
511     INNER_P = 455,
512     INOUT = 456,
513     INPUT_P = 457,
514     INSENSITIVE = 458,
515     INSERT = 459,
516     INSTEAD = 460,
517     INT_P = 461,
518     INTEGER = 462,
519     INTERSECT = 463,
520     INTERVAL = 464,
521     INTO = 465,
522     INVOKER = 466,
523     IS = 467,
524     ISNULL = 468,
525     ISOLATION = 469,
526     JOIN = 470,
527     KEY = 471,
528     LABEL = 472,
529     LANGUAGE = 473,
530     LARGE_P = 474,
531     LAST_P = 475,
532     LATERAL_P = 476,
533     LEADING = 477,
534     LEAKPROOF = 478,
535     LEAST = 479,
536     LEFT = 480,
537     LEVEL = 481,
538     LIKE = 482,
539     LIMIT = 483,
540     LISTEN = 484,
541     LOAD = 485,
542     LOCAL = 486,
543     LOCALTIME = 487,
544     LOCALTIMESTAMP = 488,
545     LOCATION = 489,
546     LOCK_P = 490,
547     LOCKED = 491,
548     LOGGED = 492,
549     MAPPING = 493,
550     MATCH = 494,
551     MATERIALIZED = 495,
552     MAXVALUE = 496,
553     METHOD = 497,
554     MINUTE_P = 498,
555     MINVALUE = 499,
556     MODE = 500,
557     MONTH_P = 501,
558     MOVE = 502,
559     NAME_P = 503,
560     NAMES = 504,
561     NATIONAL = 505,
562     NATURAL = 506,
563     NCHAR = 507,
564     NEW = 508,
565     NEXT = 509,
566     NFC = 510,
567     NFD = 511,
568     NFKC = 512,
569     NFKD = 513,
570     NO = 514,
571     NONE = 515,
572     NORMALIZE = 516,
573     NORMALIZED = 517,
574     NOT = 518,
575     NOTHING = 519,
576     NOTIFY = 520,
577     NOTNULL = 521,
578     NOWAIT = 522,
579     NULL_P = 523,
580     NULLIF = 524,
581     NULLS_P = 525,
582     NUMERIC = 526,
583     OBJECT_P = 527,
584     OF = 528,
585     OFF = 529,
586     OFFSET = 530,
587     OIDS = 531,
588     OLD = 532,
589     ON = 533,
590     ONLY = 534,
591     OPERATOR = 535,
592     OPTION = 536,
593     OPTIONS = 537,
594     OR = 538,
595     ORDER = 539,
596     ORDINALITY = 540,
597     OTHERS = 541,
598     OUT_P = 542,
599     OUTER_P = 543,
600     OVER = 544,
601     OVERLAPS = 545,
602     OVERLAY = 546,
603     OVERRIDING = 547,
604     OWNED = 548,
605     OWNER = 549,
606     PARALLEL = 550,
607     PARSER = 551,
608     PARTIAL = 552,
609     PARTITION = 553,
610     PASSING = 554,
611     PASSWORD = 555,
612     PLACING = 556,
613     PLANS = 557,
614     POLICY = 558,
615     POSITION = 559,
616     PRECEDING = 560,
617     PRECISION = 561,
618     PRESERVE = 562,
619     PREPARE = 563,
620     PREPARED = 564,
621     PRIMARY = 565,
622     PRIOR = 566,
623     PRIVILEGES = 567,
624     PROCEDURAL = 568,
625     PROCEDURE = 569,
626     PROCEDURES = 570,
627     PROGRAM = 571,
628     PUBLICATION = 572,
629     QUOTE = 573,
630     RANGE = 574,
631     READ = 575,
632     REAL = 576,
633     REASSIGN = 577,
634     RECHECK = 578,
635     RECURSIVE = 579,
636     REF = 580,
637     REFERENCES = 581,
638     REFERENCING = 582,
639     REFRESH = 583,
640     REINDEX = 584,
641     RELATIVE_P = 585,
642     RELEASE = 586,
643     RENAME = 587,
644     REPEATABLE = 588,
645     REPLACE = 589,
646     REPLICA = 590,
647     RESET = 591,
648     RESTART = 592,
649     RESTRICT = 593,
650     RETURNING = 594,
651     RETURNS = 595,
652     REVOKE = 596,
653     RIGHT = 597,
654     ROLE = 598,
655     ROLLBACK = 599,
656     ROLLUP = 600,
657     ROUTINE = 601,
658     ROUTINES = 602,
659     ROW = 603,
660     ROWS = 604,
661     RULE = 605,
662     SAVEPOINT = 606,
663     SCHEMA = 607,
664     SCHEMAS = 608,
665     SCROLL = 609,
666     SEARCH = 610,
667     SECOND_P = 611,
668     SECURITY = 612,
669     SELECT = 613,
670     SEQUENCE = 614,
671     SEQUENCES = 615,
672     SERIALIZABLE = 616,
673     SERVER = 617,
674     SESSION = 618,
675     SESSION_USER = 619,
676     SET = 620,
677     SETS = 621,
678     SETOF = 622,
679     SHARE = 623,
680     SHOW = 624,
681     SIMILAR = 625,
682     SIMPLE = 626,
683     SKIP = 627,
684     SMALLINT = 628,
685     SNAPSHOT = 629,
686     SOME = 630,
687     SQL_P = 631,
688     STABLE = 632,
689     STANDALONE_P = 633,
690     START = 634,
691     STATEMENT = 635,
692     STATISTICS = 636,
693     STDIN = 637,
694     STDOUT = 638,
695     STORAGE = 639,
696     STORED = 640,
697     STRICT_P = 641,
698     STRIP_P = 642,
699     SUBSCRIPTION = 643,
700     SUBSTRING = 644,
701     SUPPORT = 645,
702     SYMMETRIC = 646,
703     SYSID = 647,
704     SYSTEM_P = 648,
705     TABLE = 649,
706     TABLES = 650,
707     TABLESAMPLE = 651,
708     TABLESPACE = 652,
709     TEMP = 653,
710     TEMPLATE = 654,
711     TEMPORARY = 655,
712     TEXT_P = 656,
713     THEN = 657,
714     TIES = 658,
715     TIME = 659,
716     TIMESTAMP = 660,
717     TO = 661,
718     TRAILING = 662,
719     TRANSACTION = 663,
720     TRANSFORM = 664,
721     TREAT = 665,
722     TRIGGER = 666,
723     TRIM = 667,
724     TRUE_P = 668,
725     TRUNCATE = 669,
726     TRUSTED = 670,
727     TYPE_P = 671,
728     TYPES_P = 672,
729     UESCAPE = 673,
730     UNBOUNDED = 674,
731     UNCOMMITTED = 675,
732     UNENCRYPTED = 676,
733     UNION = 677,
734     UNIQUE = 678,
735     UNKNOWN = 679,
736     UNLISTEN = 680,
737     UNLOGGED = 681,
738     UNTIL = 682,
739     UPDATE = 683,
740     USER = 684,
741     USING = 685,
742     VACUUM = 686,
743     VALID = 687,
744     VALIDATE = 688,
745     VALIDATOR = 689,
746     VALUE_P = 690,
747     VALUES = 691,
748     VARCHAR = 692,
749     VARIADIC = 693,
750     VARYING = 694,
751     VERBOSE = 695,
752     VERSION_P = 696,
753     VIEW = 697,
754     VIEWS = 698,
755     VOLATILE = 699,
756     WHEN = 700,
757     WHERE = 701,
758     WHITESPACE_P = 702,
759     WINDOW = 703,
760     WITH = 704,
761     WITHIN = 705,
762     WITHOUT = 706,
763     WORK = 707,
764     WRAPPER = 708,
765     WRITE = 709,
766     XML_P = 710,
767     XMLATTRIBUTES = 711,
768     XMLCONCAT = 712,
769     XMLELEMENT = 713,
770     XMLEXISTS = 714,
771     XMLFOREST = 715,
772     XMLNAMESPACES = 716,
773     XMLPARSE = 717,
774     XMLPI = 718,
775     XMLROOT = 719,
776     XMLSERIALIZE = 720,
777     XMLTABLE = 721,
778     YEAR_P = 722,
779     YES_P = 723,
780     ZONE = 724,
781     NOT_LA = 725,
782     NULLS_LA = 726,
783     WITH_LA = 727,
784     POSTFIXOP = 728,
785     UMINUS = 729
786   };
787 #endif
788 
789 /* Value type.  */
790 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
791 
792 union YYSTYPE
793 {
794 #line 211 "gram.y" /* yacc.c:352  */
795 
796 	core_YYSTYPE		core_yystype;
797 	/* these fields must match core_YYSTYPE: */
798 	int					ival;
799 	char				*str;
800 	const char			*keyword;
801 
802 	char				chr;
803 	bool				boolean;
804 	JoinType			jtype;
805 	DropBehavior		dbehavior;
806 	OnCommitAction		oncommit;
807 	List				*list;
808 	Node				*node;
809 	Value				*value;
810 	ObjectType			objtype;
811 	TypeName			*typnam;
812 	FunctionParameter   *fun_param;
813 	FunctionParameterMode fun_param_mode;
814 	ObjectWithArgs		*objwithargs;
815 	DefElem				*defelt;
816 	SortBy				*sortby;
817 	WindowDef			*windef;
818 	JoinExpr			*jexpr;
819 	IndexElem			*ielem;
820 	Alias				*alias;
821 	RangeVar			*range;
822 	IntoClause			*into;
823 	WithClause			*with;
824 	InferClause			*infer;
825 	OnConflictClause	*onconflict;
826 	A_Indices			*aind;
827 	ResTarget			*target;
828 	struct PrivTarget	*privtarget;
829 	AccessPriv			*accesspriv;
830 	struct ImportQual	*importqual;
831 	InsertStmt			*istmt;
832 	VariableSetStmt		*vsetstmt;
833 	PartitionElem		*partelem;
834 	PartitionSpec		*partspec;
835 	PartitionBoundSpec	*partboundspec;
836 	RoleSpec			*rolespec;
837 	struct SelectLimit	*selectlimit;
838 
839 #line 840 "gram.c" /* yacc.c:352  */
840 };
841 
842 typedef union YYSTYPE YYSTYPE;
843 # define YYSTYPE_IS_TRIVIAL 1
844 # define YYSTYPE_IS_DECLARED 1
845 #endif
846 
847 /* Location type.  */
848 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
849 typedef struct YYLTYPE YYLTYPE;
850 struct YYLTYPE
851 {
852   int first_line;
853   int first_column;
854   int last_line;
855   int last_column;
856 };
857 # define YYLTYPE_IS_DECLARED 1
858 # define YYLTYPE_IS_TRIVIAL 1
859 #endif
860 
861 
862 
863 int base_yyparse (core_yyscan_t yyscanner);
864 
865 #endif /* !YY_BASE_YY_GRAM_H_INCLUDED  */
866 
867 
868 
869 #ifdef short
870 # undef short
871 #endif
872 
873 #ifdef YYTYPE_UINT8
874 typedef YYTYPE_UINT8 yytype_uint8;
875 #else
876 typedef unsigned char yytype_uint8;
877 #endif
878 
879 #ifdef YYTYPE_INT8
880 typedef YYTYPE_INT8 yytype_int8;
881 #else
882 typedef signed char yytype_int8;
883 #endif
884 
885 #ifdef YYTYPE_UINT16
886 typedef YYTYPE_UINT16 yytype_uint16;
887 #else
888 typedef unsigned short yytype_uint16;
889 #endif
890 
891 #ifdef YYTYPE_INT16
892 typedef YYTYPE_INT16 yytype_int16;
893 #else
894 typedef short yytype_int16;
895 #endif
896 
897 #ifndef YYSIZE_T
898 # ifdef __SIZE_TYPE__
899 #  define YYSIZE_T __SIZE_TYPE__
900 # elif defined size_t
901 #  define YYSIZE_T size_t
902 # elif ! defined YYSIZE_T
903 #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
904 #  define YYSIZE_T size_t
905 # else
906 #  define YYSIZE_T unsigned
907 # endif
908 #endif
909 
910 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
911 
912 #ifndef YY_
913 # if defined YYENABLE_NLS && YYENABLE_NLS
914 #  if ENABLE_NLS
915 #   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
916 #   define YY_(Msgid) dgettext ("bison-runtime", Msgid)
917 #  endif
918 # endif
919 # ifndef YY_
920 #  define YY_(Msgid) Msgid
921 # endif
922 #endif
923 
924 #ifndef YY_ATTRIBUTE
925 # if (defined __GNUC__                                               \
926       && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__)))  \
927      || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
928 #  define YY_ATTRIBUTE(Spec) __attribute__(Spec)
929 # else
930 #  define YY_ATTRIBUTE(Spec) /* empty */
931 # endif
932 #endif
933 
934 #ifndef YY_ATTRIBUTE_PURE
935 # define YY_ATTRIBUTE_PURE   YY_ATTRIBUTE ((__pure__))
936 #endif
937 
938 #ifndef YY_ATTRIBUTE_UNUSED
939 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
940 #endif
941 
942 /* Suppress unused-variable warnings by "using" E.  */
943 #if ! defined lint || defined __GNUC__
944 # define YYUSE(E) ((void) (E))
945 #else
946 # define YYUSE(E) /* empty */
947 #endif
948 
949 #if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
950 /* Suppress an incorrect diagnostic about yylval being uninitialized.  */
951 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
952     _Pragma ("GCC diagnostic push") \
953     _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
954     _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
955 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
956     _Pragma ("GCC diagnostic pop")
957 #else
958 # define YY_INITIAL_VALUE(Value) Value
959 #endif
960 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
961 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
962 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
963 #endif
964 #ifndef YY_INITIAL_VALUE
965 # define YY_INITIAL_VALUE(Value) /* Nothing. */
966 #endif
967 
968 
969 #if ! defined yyoverflow || YYERROR_VERBOSE
970 
971 /* The parser invokes alloca or malloc; define the necessary symbols.  */
972 
973 # ifdef YYSTACK_USE_ALLOCA
974 #  if YYSTACK_USE_ALLOCA
975 #   ifdef __GNUC__
976 #    define YYSTACK_ALLOC __builtin_alloca
977 #   elif defined __BUILTIN_VA_ARG_INCR
978 #    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
979 #   elif defined _AIX
980 #    define YYSTACK_ALLOC __alloca
981 #   elif defined _MSC_VER
982 #    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
983 #    define alloca _alloca
984 #   else
985 #    define YYSTACK_ALLOC alloca
986 #    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
987 #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
988       /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
989 #     ifndef EXIT_SUCCESS
990 #      define EXIT_SUCCESS 0
991 #     endif
992 #    endif
993 #   endif
994 #  endif
995 # endif
996 
997 # ifdef YYSTACK_ALLOC
998    /* Pacify GCC's 'empty if-body' warning.  */
999 #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
1000 #  ifndef YYSTACK_ALLOC_MAXIMUM
1001     /* The OS might guarantee only one guard page at the bottom of the stack,
1002        and a page size can be as small as 4096 bytes.  So we cannot safely
1003        invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
1004        to allow for a few compiler-allocated temporary stack slots.  */
1005 #   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
1006 #  endif
1007 # else
1008 #  define YYSTACK_ALLOC YYMALLOC
1009 #  define YYSTACK_FREE YYFREE
1010 #  ifndef YYSTACK_ALLOC_MAXIMUM
1011 #   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
1012 #  endif
1013 #  if (defined __cplusplus && ! defined EXIT_SUCCESS \
1014        && ! ((defined YYMALLOC || defined malloc) \
1015              && (defined YYFREE || defined free)))
1016 #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
1017 #   ifndef EXIT_SUCCESS
1018 #    define EXIT_SUCCESS 0
1019 #   endif
1020 #  endif
1021 #  ifndef YYMALLOC
1022 #   define YYMALLOC malloc
1023 #   if ! defined malloc && ! defined EXIT_SUCCESS
1024 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
1025 #   endif
1026 #  endif
1027 #  ifndef YYFREE
1028 #   define YYFREE free
1029 #   if ! defined free && ! defined EXIT_SUCCESS
1030 void free (void *); /* INFRINGES ON USER NAME SPACE */
1031 #   endif
1032 #  endif
1033 # endif
1034 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
1035 
1036 
1037 #if (! defined yyoverflow \
1038      && (! defined __cplusplus \
1039          || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \
1040              && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
1041 
1042 /* A type that is properly aligned for any stack member.  */
1043 union yyalloc
1044 {
1045   yytype_int16 yyss_alloc;
1046   YYSTYPE yyvs_alloc;
1047   YYLTYPE yyls_alloc;
1048 };
1049 
1050 /* The size of the maximum gap between one aligned stack and the next.  */
1051 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
1052 
1053 /* The size of an array large to enough to hold all stacks, each with
1054    N elements.  */
1055 # define YYSTACK_BYTES(N) \
1056      ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \
1057       + 2 * YYSTACK_GAP_MAXIMUM)
1058 
1059 # define YYCOPY_NEEDED 1
1060 
1061 /* Relocate STACK from its old location to the new one.  The
1062    local variables YYSIZE and YYSTACKSIZE give the old and new number of
1063    elements in the stack, and YYPTR gives the new location of the
1064    stack.  Advance YYPTR to a properly aligned location for the next
1065    stack.  */
1066 # define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
1067     do                                                                  \
1068       {                                                                 \
1069         YYSIZE_T yynewbytes;                                            \
1070         YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
1071         Stack = &yyptr->Stack_alloc;                                    \
1072         yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
1073         yyptr += yynewbytes / sizeof (*yyptr);                          \
1074       }                                                                 \
1075     while (0)
1076 
1077 #endif
1078 
1079 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
1080 /* Copy COUNT objects from SRC to DST.  The source and destination do
1081    not overlap.  */
1082 # ifndef YYCOPY
1083 #  if defined __GNUC__ && 1 < __GNUC__
1084 #   define YYCOPY(Dst, Src, Count) \
1085       __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
1086 #  else
1087 #   define YYCOPY(Dst, Src, Count)              \
1088       do                                        \
1089         {                                       \
1090           YYSIZE_T yyi;                         \
1091           for (yyi = 0; yyi < (Count); yyi++)   \
1092             (Dst)[yyi] = (Src)[yyi];            \
1093         }                                       \
1094       while (0)
1095 #  endif
1096 # endif
1097 #endif /* !YYCOPY_NEEDED */
1098 
1099 /* YYFINAL -- State number of the termination state.  */
1100 #define YYFINAL  837
1101 /* YYLAST -- Last index in YYTABLE.  */
1102 #define YYLAST   104224
1103 
1104 /* YYNTOKENS -- Number of terminals.  */
1105 #define YYNTOKENS  492
1106 /* YYNNTS -- Number of nonterminals.  */
1107 #define YYNNTS  673
1108 /* YYNRULES -- Number of rules.  */
1109 #define YYNRULES  2760
1110 /* YYNSTATES -- Number of states.  */
1111 #define YYNSTATES  5558
1112 
1113 #define YYUNDEFTOK  2
1114 #define YYMAXUTOK   729
1115 
1116 /* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
1117    as returned by yylex, with out-of-bounds checking.  */
1118 #define YYTRANSLATE(YYX)                                                \
1119   ((unsigned) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
1120 
1121 /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
1122    as returned by yylex.  */
1123 static const yytype_uint16 yytranslate[] =
1124 {
1125        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1126        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1127        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1128        2,     2,     2,     2,     2,     2,     2,   481,     2,     2,
1129      486,   487,   479,   477,   490,   478,   488,   480,     2,     2,
1130        2,     2,     2,     2,     2,     2,     2,     2,   491,   489,
1131      473,   475,   474,     2,     2,     2,     2,     2,     2,     2,
1132        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1133        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1134        2,   484,     2,   485,   482,     2,     2,     2,     2,     2,
1135        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1136        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1137        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1138        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1139        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1140        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1141        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1142        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1143        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1144        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1145        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1146        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1147        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1148        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1149        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1150        2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
1151        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
1152       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
1153       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
1154       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
1155       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
1156       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
1157       65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
1158       75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
1159       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
1160       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
1161      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
1162      115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
1163      125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
1164      135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
1165      145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
1166      155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
1167      165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
1168      175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
1169      185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
1170      195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
1171      205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
1172      215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
1173      225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
1174      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
1175      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
1176      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
1177      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
1178      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
1179      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
1180      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
1181      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
1182      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
1183      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
1184      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
1185      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
1186      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
1187      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
1188      375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
1189      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
1190      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
1191      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
1192      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
1193      425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
1194      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
1195      445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
1196      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
1197      465,   466,   467,   468,   469,   470,   471,   472,   476,   483
1198 };
1199 
1200 #if YYDEBUG
1201   /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
1202 static const yytype_uint16 yyrline[] =
1203 {
1204        0,   804,   804,   820,   832,   842,   843,   844,   845,   846,
1205      847,   848,   849,   850,   851,   852,   853,   854,   855,   856,
1206      857,   858,   859,   860,   861,   862,   863,   864,   865,   866,
1207      867,   868,   869,   870,   871,   872,   873,   874,   875,   876,
1208      877,   878,   879,   880,   881,   882,   883,   884,   885,   886,
1209      887,   888,   889,   890,   891,   892,   893,   894,   895,   896,
1210      897,   898,   899,   900,   901,   902,   903,   904,   905,   906,
1211      907,   908,   909,   910,   911,   912,   913,   914,   915,   916,
1212      917,   918,   919,   920,   921,   922,   923,   924,   925,   926,
1213      927,   928,   929,   930,   931,   932,   933,   934,   935,   936,
1214      937,   938,   939,   940,   941,   942,   943,   944,   945,   946,
1215      947,   948,   949,   950,   951,   952,   953,   954,   955,   956,
1216      957,   958,   959,   960,   961,   962,   963,   964,   965,   966,
1217      968,   977,   992,  1003,  1004,  1005,  1014,  1015,  1019,  1020,
1218     1024,  1029,  1033,  1043,  1051,  1055,  1059,  1064,  1068,  1116,
1219     1118,  1122,  1126,  1130,  1134,  1148,  1166,  1174,  1185,  1186,
1220     1190,  1198,  1206,  1214,  1235,  1242,  1249,  1256,  1263,  1270,
1221     1287,  1305,  1316,  1317,  1328,  1338,  1348,  1363,  1381,  1382,
1222     1386,  1393,  1401,  1402,  1403,  1404,  1405,  1406,  1420,  1426,
1223     1432,  1441,  1449,  1457,  1461,  1469,  1477,  1484,  1494,  1495,
1224     1503,  1514,  1522,  1530,  1541,  1549,  1557,  1564,  1573,  1583,
1225     1584,  1588,  1589,  1592,  1594,  1598,  1599,  1600,  1601,  1605,
1226     1606,  1607,  1613,  1625,  1629,  1633,  1648,  1655,  1656,  1657,
1227     1661,  1662,  1663,  1667,  1668,  1672,  1676,  1677,  1684,  1691,
1228     1701,  1708,  1718,  1719,  1724,  1725,  1730,  1736,  1742,  1748,
1229     1754,  1764,  1774,  1775,  1779,  1780,  1788,  1803,  1809,  1815,
1230     1821,  1827,  1846,  1855,  1864,  1873,  1882,  1893,  1904,  1913,
1231     1922,  1931,  1942,  1953,  1962,  1971,  1980,  1989,  1998,  2007,
1232     2018,  2032,  2033,  2038,  2051,  2067,  2083,  2092,  2101,  2110,
1233     2119,  2128,  2136,  2144,  2152,  2161,  2170,  2186,  2195,  2204,
1234     2213,  2230,  2239,  2248,  2257,  2267,  2280,  2295,  2304,  2312,
1235     2327,  2335,  2345,  2355,  2362,  2370,  2378,  2385,  2392,  2400,
1236     2408,  2416,  2423,  2430,  2438,  2445,  2452,  2460,  2468,  2476,
1237     2484,  2492,  2500,  2510,  2517,  2525,  2533,  2541,  2549,  2557,
1238     2564,  2571,  2578,  2584,  2594,  2595,  2599,  2600,  2601,  2605,
1239     2613,  2617,  2618,  2622,  2629,  2636,  2643,  2653,  2656,  2657,
1240     2661,  2662,  2667,  2671,  2675,  2680,  2687,  2689,  2694,  2698,
1241     2702,  2713,  2721,  2774,  2787,  2801,  2813,  2820,  2824,  2838,
1242     2851,  2852,  2857,  2866,  2876,  2886,  2912,  2918,  2951,  2986,
1243     3008,  3009,  3013,  3014,  3023,  3024,  3025,  3028,  3029,  3034,
1244     3035,  3039,  3043,  3047,  3051,  3055,  3059,  3063,  3067,  3071,
1245     3075,  3079,  3083,  3087,  3096,  3100,  3104,  3108,  3112,  3113,
1246     3118,  3122,  3129,  3136,  3137,  3138,  3139,  3140,  3144,  3148,
1247     3156,  3167,  3186,  3205,  3225,  3245,  3265,  3298,  3299,  3300,
1248     3301,  3302,  3309,  3316,  3317,  3321,  3322,  3326,  3327,  3331,
1249     3335,  3342,  3346,  3353,  3354,  3355,  3359,  3360,  3363,  3384,
1250     3402,  3423,  3424,  3428,  3435,  3436,  3437,  3468,  3475,  3482,
1251     3493,  3504,  3516,  3525,  3534,  3557,  3575,  3576,  3595,  3602,
1252     3609,  3616,  3627,  3638,  3639,  3640,  3644,  3645,  3646,  3647,
1253     3648,  3649,  3650,  3651,  3652,  3661,  3668,  3672,  3685,  3701,
1254     3716,  3732,  3747,  3766,  3787,  3788,  3792,  3793,  3797,  3798,
1255     3801,  3807,  3808,  3811,  3815,  3823,  3828,  3834,  3835,  3839,
1256     3844,  3851,  3852,  3862,  3864,  3866,  3868,  3871,  3874,  3877,
1257     3881,  3882,  3883,  3884,  3885,  3888,  3889,  3893,  3894,  3897,
1258     3909,  3910,  3913,  3924,  3935,  3949,  3950,  3955,  3956,  3957,
1259     3960,  3961,  3962,  3963,  3966,  3967,  3970,  3971,  3974,  3992,
1260     4004,  4028,  4036,  4057,  4070,  4086,  4102,  4103,  4104,  4116,
1261     4129,  4145,  4159,  4160,  4172,  4192,  4202,  4215,  4223,  4234,
1262     4235,  4238,  4239,  4242,  4243,  4246,  4250,  4254,  4258,  4262,
1263     4266,  4270,  4274,  4278,  4282,  4286,  4291,  4295,  4299,  4305,
1264     4306,  4310,  4311,  4312,  4317,  4320,  4321,  4333,  4348,  4363,
1265     4364,  4372,  4373,  4377,  4378,  4382,  4383,  4387,  4388,  4392,
1266     4402,  4415,  4416,  4426,  4437,  4438,  4451,  4458,  4475,  4483,
1267     4494,  4497,  4501,  4505,  4509,  4516,  4528,  4538,  4541,  4545,
1268     4558,  4567,  4576,  4585,  4594,  4603,  4612,  4621,  4630,  4639,
1269     4648,  4657,  4666,  4675,  4684,  4693,  4702,  4711,  4720,  4729,
1270     4738,  4747,  4756,  4765,  4774,  4783,  4792,  4801,  4819,  4830,
1271     4831,  4832,  4833,  4837,  4838,  4842,  4843,  4853,  4861,  4873,
1272     4874,  4878,  4882,  4890,  4894,  4898,  4905,  4909,  4914,  4919,
1273     4926,  4933,  4938,  4948,  4960,  4975,  4976,  4981,  4982,  4986,
1274     4987,  4997,  5006,  5014,  5031,  5051,  5071,  5092,  5123,  5132,
1275     5153,  5168,  5169,  5173,  5181,  5196,  5205,  5217,  5218,  5230,
1276     5238,  5255,  5279,  5296,  5310,  5311,  5315,  5316,  5320,  5321,
1277     5325,  5326,  5330,  5344,  5348,  5349,  5353,  5354,  5355,  5356,
1278     5357,  5367,  5378,  5379,  5390,  5411,  5437,  5438,  5439,  5443,
1279     5445,  5467,  5469,  5471,  5473,  5475,  5480,  5481,  5485,  5486,
1280     5490,  5501,  5502,  5506,  5515,  5519,  5523,  5528,  5538,  5539,
1281     5543,  5544,  5548,  5549,  5553,  5554,  5558,  5559,  5560,  5564,
1282     5568,  5569,  5570,  5574,  5575,  5580,  5581,  5608,  5609,  5610,
1283     5611,  5612,  5613,  5626,  5636,  5650,  5652,  5657,  5662,  5664,
1284     5669,  5679,  5680,  5681,  5682,  5693,  5712,  5723,  5735,  5745,
1285     5755,  5766,  5775,  5782,  5789,  5798,  5807,  5816,  5825,  5834,
1286     5844,  5853,  5865,  5868,  5869,  5872,  5876,  5883,  5884,  5885,
1287     5886,  5887,  5888,  5891,  5894,  5895,  5903,  5910,  5911,  5914,
1288     5916,  5927,  5938,  5949,  5960,  5973,  5974,  5990,  6005,  6006,
1289     6010,  6022,  6032,  6040,  6049,  6058,  6059,  6062,  6063,  6066,
1290     6067,  6068,  6071,  6085,  6090,  6100,  6109,  6121,  6122,  6126,
1291     6134,  6146,  6156,  6169,  6179,  6201,  6211,  6229,  6239,  6249,
1292     6259,  6269,  6279,  6289,  6299,  6309,  6319,  6329,  6339,  6353,
1293     6354,  6355,  6356,  6357,  6358,  6359,  6360,  6361,  6362,  6363,
1294     6364,  6365,  6370,  6371,  6372,  6373,  6374,  6375,  6376,  6381,
1295     6382,  6383,  6387,  6388,  6391,  6392,  6395,  6397,  6402,  6403,
1296     6414,  6425,  6426,  6427,  6461,  6469,  6477,  6485,  6493,  6501,
1297     6509,  6517,  6525,  6538,  6546,  6554,  6562,  6570,  6578,  6586,
1298     6594,  6602,  6610,  6622,  6623,  6624,  6625,  6626,  6627,  6628,
1299     6629,  6630,  6631,  6632,  6633,  6634,  6635,  6640,  6641,  6642,
1300     6643,  6644,  6645,  6646,  6647,  6648,  6649,  6650,  6651,  6655,
1301     6656,  6670,  6680,  6690,  6700,  6710,  6720,  6730,  6740,  6750,
1302     6762,  6763,  6768,  6769,  6770,  6771,  6772,  6773,  6778,  6779,
1303     6780,  6781,  6782,  6783,  6784,  6785,  6788,  6789,  6799,  6805,
1304     6813,  6821,  6829,  6837,  6845,  6853,  6861,  6869,  6877,  6885,
1305     6893,  6901,  6909,  6917,  6925,  6933,  6943,  6944,  6947,  6948,
1306     6958,  6974,  6988,  7014,  7016,  7018,  7020,  7027,  7036,  7037,
1307     7040,  7047,  7054,  7061,  7075,  7083,  7091,  7099,  7107,  7115,
1308     7123,  7131,  7139,  7147,  7155,  7163,  7171,  7179,  7187,  7195,
1309     7203,  7211,  7219,  7227,  7239,  7240,  7244,  7245,  7250,  7251,
1310     7261,  7274,  7284,  7296,  7297,  7300,  7301,  7311,  7321,  7322,
1311     7326,  7330,  7334,  7345,  7358,  7372,  7389,  7390,  7391,  7392,
1312     7393,  7394,  7406,  7436,  7469,  7470,  7474,  7475,  7479,  7480,
1313     7484,  7485,  7488,  7489,  7494,  7506,  7525,  7530,  7535,  7542,
1314     7543,  7546,  7547,  7550,  7551,  7554,  7555,  7558,  7559,  7560,
1315     7563,  7564,  7565,  7581,  7593,  7606,  7618,  7633,  7634,  7637,
1316     7638,  7642,  7643,  7647,  7648,  7653,  7665,  7672,  7679,  7694,
1317     7695,  7699,  7700,  7715,  7724,  7733,  7742,  7751,  7763,  7764,
1318     7765,  7766,  7767,  7773,  7777,  7792,  7793,  7799,  7809,  7813,
1319     7818,  7826,  7867,  7871,  7875,  7879,  7887,  7888,  7892,  7902,
1320     7903,  7909,  7910,  7917,  7921,  7925,  7929,  7933,  7937,  7941,
1321     7945,  7949,  7953,  7957,  7961,  7965,  7969,  7973,  7977,  7982,
1322     7989,  7993,  7997,  8001,  8005,  8011,  8012,  8019,  8020,  8024,
1323     8025,  8028,  8040,  8044,  8059,  8067,  8075,  8087,  8088,  8093,
1324     8094,  8111,  8121,  8131,  8141,  8151,  8161,  8174,  8184,  8197,
1325     8207,  8220,  8228,  8230,  8232,  8237,  8239,  8244,  8245,  8250,
1326     8268,  8277,  8278,  8282,  8286,  8298,  8309,  8320,  8333,  8334,
1327     8335,  8339,  8351,  8352,  8362,  8374,  8378,  8382,  8386,  8393,
1328     8413,  8423,  8433,  8443,  8455,  8456,  8459,  8460,  8461,  8464,
1329     8465,  8468,  8478,  8487,  8504,  8513,  8522,  8531,  8540,  8549,
1330     8558,  8567,  8576,  8585,  8594,  8603,  8612,  8622,  8632,  8641,
1331     8650,  8659,  8668,  8677,  8686,  8696,  8706,  8716,  8726,  8736,
1332     8746,  8756,  8766,  8776,  8786,  8796,  8806,  8817,  8828,  8839,
1333     8850,  8861,  8872,  8882,  8892,  8903,  8914,  8924,  8934,  8942,
1334     8951,  8960,  8969,  8978,  8987,  8996,  9005,  9014,  9023,  9037,
1335     9038,  9041,  9042,  9052,  9061,  9070,  9079,  9089,  9098,  9109,
1336     9110,  9120,  9129,  9138,  9147,  9156,  9165,  9174,  9183,  9192,
1337     9201,  9210,  9219,  9228,  9237,  9246,  9255,  9264,  9273,  9282,
1338     9291,  9300,  9309,  9318,  9327,  9336,  9345,  9354,  9372,  9381,
1339     9382,  9385,  9387,  9393,  9394,  9395,  9396,  9397,  9409,  9424,
1340     9432,  9440,  9448,  9456,  9464,  9472,  9480,  9488,  9496,  9504,
1341     9512,  9520,  9528,  9536,  9544,  9552,  9560,  9568,  9576,  9584,
1342     9592,  9600,  9608,  9626,  9645,  9646,  9650,  9654,  9674,  9681,
1343     9689,  9697,  9714,  9727,  9731,  9738,  9747,  9756,  9765,  9774,
1344     9784,  9794,  9812,  9820,  9836,  9853,  9854,  9855,  9860,  9866,
1345     9875,  9876,  9877,  9878,  9879,  9883,  9884,  9887,  9888,  9889,
1346     9890,  9894,  9895,  9896,  9908,  9918,  9919,  9922,  9931,  9937,
1347     9956,  9964,  9971,  9978,  9986,  9994, 10002, 10009, 10016, 10023,
1348    10030, 10037, 10044, 10051, 10060, 10061, 10062, 10066, 10069, 10072,
1349    10075, 10078, 10085, 10087, 10089, 10094, 10096, 10100, 10101, 10102,
1350    10114, 10127, 10140, 10158, 10179, 10180, 10181, 10182, 10192, 10208,
1351    10218, 10219, 10223, 10224, 10228, 10232, 10236, 10254, 10255, 10256,
1352    10257, 10258, 10259, 10260, 10267, 10268, 10279, 10286, 10293, 10304,
1353    10321, 10329, 10337, 10345, 10356, 10360, 10371, 10383, 10400, 10406,
1354    10422, 10435, 10444, 10452, 10460, 10469, 10480, 10491, 10501, 10502,
1355    10513, 10523, 10534, 10545, 10556, 10567, 10576, 10588, 10589, 10603,
1356    10626, 10636, 10647, 10660, 10661, 10673, 10693, 10703, 10714, 10725,
1357    10729, 10736, 10737, 10741, 10748, 10749, 10753, 10754, 10755, 10759,
1358    10760, 10764, 10765, 10768, 10769, 10772, 10773, 10777, 10778, 10782,
1359    10789, 10791, 10796, 10797, 10810, 10817, 10827, 10834, 10844, 10845,
1360    10846, 10847, 10848, 10849, 10850, 10851, 10852, 10856, 10860, 10867,
1361    10874, 10875, 10879, 10880, 10881, 10891, 10901, 10902, 10906, 10907,
1362    10908, 10909, 10919, 10926, 10943, 10962, 10963, 10973, 10979, 10985,
1363    10991, 11007, 11025, 11029, 11037, 11043, 11050, 11056, 11063, 11072,
1364    11073, 11077, 11079, 11084, 11095, 11105, 11115, 11121, 11130, 11139,
1365    11145, 11146, 11157, 11171, 11172, 11183, 11194, 11195, 11198, 11199,
1366    11200, 11201, 11202, 11203, 11204, 11205, 11208, 11209, 11213, 11214,
1367    11215, 11226, 11244, 11245, 11249, 11254, 11278, 11289, 11290, 11300,
1368    11311, 11314, 11315, 11316, 11317, 11318, 11321, 11322, 11323, 11371,
1369    11372, 11376, 11377, 11392, 11393, 11400, 11408, 11416, 11424, 11432,
1370    11440, 11451, 11452, 11479, 11493, 11508, 11509, 11528, 11532, 11536,
1371    11553, 11560, 11567, 11577, 11578, 11581, 11594, 11595, 11596, 11600,
1372    11601, 11605, 11617, 11625, 11630, 11635, 11640, 11645, 11653, 11661,
1373    11666, 11671, 11678, 11679, 11683, 11684, 11685, 11692, 11693, 11697,
1374    11698, 11702, 11703, 11707, 11711, 11712, 11715, 11724, 11737, 11742,
1375    11747, 11751, 11762, 11763, 11767, 11775, 11791, 11799, 11807, 11815,
1376    11826, 11829, 11834, 11835, 11843, 11863, 11864, 11866, 11871, 11872,
1377    11876, 11877, 11880, 11881, 11906, 11907, 11911, 11912, 11916, 11917,
1378    11918, 11919, 11920, 11924, 11937, 11944, 11951, 11958, 11959, 11963,
1379    11964, 11968, 11969, 11973, 11974, 11978, 11989, 11990, 11991, 11992,
1380    11996, 11997, 12007, 12013, 12031, 12032, 12036, 12037, 12043, 12048,
1381    12056, 12063, 12071, 12077, 12084, 12119, 12144, 12148, 12174, 12178,
1382    12190, 12203, 12217, 12228, 12243, 12249, 12254, 12260, 12267, 12268,
1383    12276, 12280, 12284, 12290, 12297, 12302, 12303, 12304, 12305, 12309,
1384    12310, 12322, 12323, 12328, 12335, 12342, 12349, 12360, 12361, 12374,
1385    12378, 12385, 12398, 12411, 12412, 12427, 12437, 12449, 12454, 12455,
1386    12458, 12459, 12462, 12463, 12468, 12469, 12474, 12475, 12483, 12488,
1387    12489, 12493, 12497, 12503, 12527, 12537, 12550, 12551, 12555, 12569,
1388    12626, 12640, 12642, 12647, 12649, 12651, 12653, 12658, 12660, 12665,
1389    12673, 12693, 12698, 12705, 12710, 12716, 12721, 12730, 12732, 12735,
1390    12739, 12740, 12741, 12742, 12743, 12744, 12749, 12769, 12770, 12771,
1391    12772, 12783, 12789, 12797, 12798, 12804, 12809, 12814, 12819, 12824,
1392    12829, 12834, 12839, 12845, 12851, 12857, 12864, 12886, 12895, 12899,
1393    12907, 12911, 12919, 12931, 12952, 12956, 12962, 12966, 12979, 12987,
1394    12997, 12999, 13001, 13003, 13005, 13007, 13012, 13013, 13020, 13029,
1395    13037, 13046, 13057, 13065, 13066, 13067, 13071, 13073, 13075, 13077,
1396    13079, 13081, 13083, 13088, 13093, 13099, 13107, 13112, 13119, 13126,
1397    13130, 13134, 13170, 13171, 13173, 13181, 13196, 13198, 13200, 13202,
1398    13204, 13206, 13208, 13210, 13212, 13214, 13216, 13218, 13220, 13222,
1399    13225, 13227, 13229, 13232, 13234, 13236, 13238, 13241, 13246, 13254,
1400    13259, 13267, 13272, 13280, 13285, 13294, 13302, 13310, 13318, 13336,
1401    13344, 13352, 13360, 13368, 13384, 13392, 13400, 13408, 13416, 13424,
1402    13432, 13436, 13440, 13444, 13448, 13456, 13464, 13472, 13480, 13500,
1403    13522, 13533, 13540, 13556, 13561, 13567, 13571, 13575, 13579, 13583,
1404    13608, 13610, 13612, 13614, 13616, 13618, 13620, 13622, 13624, 13626,
1405    13628, 13630, 13632, 13634, 13636, 13638, 13640, 13642, 13644, 13646,
1406    13650, 13654, 13658, 13662, 13667, 13683, 13684, 13685, 13700, 13734,
1407    13736, 13738, 13749, 13773, 13784, 13795, 13802, 13812, 13822, 13831,
1408    13835, 13841, 13848, 13855, 13865, 13872, 13900, 13935, 13946, 13947,
1409    13954, 13960, 13964, 13968, 13972, 13976, 13980, 13984, 13988, 13992,
1410    13996, 14000, 14004, 14008, 14012, 14016, 14020, 14022, 14026, 14030,
1411    14034, 14043, 14048, 14055, 14070, 14077, 14081, 14085, 14089, 14093,
1412    14100, 14108, 14116, 14120, 14124, 14128, 14132, 14136, 14142, 14146,
1413    14155, 14159, 14163, 14168, 14182, 14184, 14188, 14190, 14192, 14195,
1414    14198, 14201, 14202, 14205, 14213, 14223, 14224, 14227, 14228, 14229,
1415    14234, 14238, 14242, 14246, 14253, 14254, 14262, 14263, 14267, 14268,
1416    14276, 14277, 14281, 14282, 14287, 14295, 14297, 14311, 14314, 14341,
1417    14342, 14345, 14346, 14354, 14361, 14368, 14376, 14385, 14402, 14447,
1418    14455, 14463, 14471, 14479, 14490, 14491, 14492, 14493, 14494, 14508,
1419    14509, 14510, 14513, 14514, 14517, 14520, 14521, 14522, 14525, 14526,
1420    14529, 14530, 14531, 14532, 14533, 14534, 14535, 14536, 14537, 14538,
1421    14539, 14540, 14543, 14545, 14550, 14552, 14557, 14559, 14561, 14563,
1422    14565, 14567, 14579, 14583, 14590, 14594, 14600, 14604, 14613, 14624,
1423    14625, 14628, 14632, 14636, 14642, 14643, 14648, 14652, 14659, 14660,
1424    14661, 14662, 14663, 14664, 14665, 14666, 14670, 14671, 14672, 14673,
1425    14683, 14687, 14694, 14701, 14702, 14718, 14722, 14727, 14731, 14746,
1426    14751, 14755, 14758, 14761, 14762, 14763, 14766, 14773, 14783, 14797,
1427    14798, 14802, 14813, 14814, 14817, 14818, 14821, 14825, 14832, 14836,
1428    14840, 14848, 14859, 14860, 14864, 14865, 14869, 14870, 14873, 14874,
1429    14884, 14885, 14889, 14890, 14893, 14909, 14917, 14925, 14947, 14948,
1430    14959, 14963, 14990, 14992, 14997, 15000, 15003, 15005, 15007, 15009,
1431    15019, 15021, 15032, 15036, 15040, 15044, 15048, 15057, 15064, 15096,
1432    15100, 15106, 15113, 15117, 15121, 15127, 15128, 15130, 15131, 15132,
1433    15136, 15169, 15196, 15200, 15206, 15208, 15225, 15226, 15227, 15232,
1434    15233, 15234, 15239, 15240, 15241, 15242, 15248, 15249, 15250, 15251,
1435    15252, 15272, 15273, 15274, 15275, 15276, 15277, 15278, 15279, 15280,
1436    15281, 15282, 15283, 15284, 15285, 15286, 15287, 15288, 15289, 15290,
1437    15291, 15292, 15293, 15294, 15295, 15296, 15297, 15298, 15299, 15300,
1438    15301, 15302, 15303, 15304, 15305, 15306, 15307, 15308, 15309, 15310,
1439    15311, 15312, 15313, 15314, 15315, 15316, 15317, 15318, 15319, 15320,
1440    15321, 15322, 15323, 15324, 15325, 15326, 15327, 15328, 15329, 15330,
1441    15331, 15332, 15333, 15334, 15335, 15336, 15337, 15338, 15339, 15340,
1442    15341, 15342, 15343, 15344, 15345, 15346, 15347, 15348, 15349, 15350,
1443    15351, 15352, 15353, 15354, 15355, 15356, 15357, 15358, 15359, 15360,
1444    15361, 15362, 15363, 15364, 15365, 15366, 15367, 15368, 15369, 15370,
1445    15371, 15372, 15373, 15374, 15375, 15376, 15377, 15378, 15379, 15380,
1446    15381, 15382, 15383, 15384, 15385, 15386, 15387, 15388, 15389, 15390,
1447    15391, 15392, 15393, 15394, 15395, 15396, 15397, 15398, 15399, 15400,
1448    15401, 15402, 15403, 15404, 15405, 15406, 15407, 15408, 15409, 15410,
1449    15411, 15412, 15413, 15414, 15415, 15416, 15417, 15418, 15419, 15420,
1450    15421, 15422, 15423, 15424, 15425, 15426, 15427, 15428, 15429, 15430,
1451    15431, 15432, 15433, 15434, 15435, 15436, 15437, 15438, 15439, 15440,
1452    15441, 15442, 15443, 15444, 15445, 15446, 15447, 15448, 15449, 15450,
1453    15451, 15452, 15453, 15454, 15455, 15456, 15457, 15458, 15459, 15460,
1454    15461, 15462, 15463, 15464, 15465, 15466, 15467, 15468, 15469, 15470,
1455    15471, 15472, 15473, 15474, 15475, 15476, 15477, 15478, 15479, 15480,
1456    15481, 15482, 15483, 15484, 15485, 15486, 15487, 15488, 15489, 15490,
1457    15491, 15492, 15493, 15494, 15495, 15496, 15497, 15498, 15499, 15500,
1458    15501, 15502, 15503, 15504, 15505, 15506, 15507, 15508, 15509, 15510,
1459    15511, 15512, 15513, 15514, 15515, 15516, 15517, 15518, 15519, 15520,
1460    15521, 15522, 15523, 15524, 15525, 15526, 15527, 15528, 15529, 15530,
1461    15531, 15532, 15533, 15534, 15535, 15536, 15537, 15538, 15539, 15540,
1462    15541, 15542, 15543, 15544, 15545, 15546, 15547, 15548, 15549, 15550,
1463    15551, 15552, 15553, 15554, 15555, 15556, 15557, 15558, 15559, 15560,
1464    15561, 15562, 15563, 15564, 15565, 15566, 15567, 15568, 15569, 15570,
1465    15584, 15585, 15586, 15587, 15588, 15589, 15590, 15591, 15592, 15593,
1466    15594, 15595, 15596, 15597, 15598, 15599, 15600, 15601, 15602, 15603,
1467    15604, 15605, 15606, 15607, 15608, 15609, 15610, 15611, 15612, 15613,
1468    15614, 15615, 15616, 15617, 15618, 15619, 15620, 15621, 15622, 15623,
1469    15624, 15625, 15626, 15627, 15628, 15629, 15630, 15631, 15632, 15633,
1470    15634, 15648, 15649, 15650, 15651, 15652, 15653, 15654, 15655, 15656,
1471    15657, 15658, 15659, 15660, 15661, 15662, 15663, 15664, 15665, 15666,
1472    15667, 15668, 15669, 15670, 15680, 15681, 15682, 15683, 15684, 15685,
1473    15686, 15687, 15688, 15689, 15690, 15691, 15692, 15693, 15694, 15695,
1474    15696, 15697, 15698, 15699, 15700, 15701, 15702, 15703, 15704, 15705,
1475    15706, 15707, 15708, 15709, 15710, 15711, 15712, 15713, 15714, 15715,
1476    15716, 15717, 15718, 15719, 15720, 15721, 15722, 15723, 15724, 15725,
1477    15726, 15727, 15728, 15729, 15730, 15731, 15732, 15733, 15734, 15735,
1478    15736, 15737, 15738, 15739, 15740, 15741, 15742, 15743, 15744, 15745,
1479    15746, 15747, 15748, 15749, 15750, 15751, 15752, 15753, 15754, 15755,
1480    15756
1481 };
1482 #endif
1483 
1484 #if YYDEBUG || YYERROR_VERBOSE || 0
1485 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
1486    First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
1487 static const char *const yytname[] =
1488 {
1489   "$end", "error", "$undefined", "IDENT", "UIDENT", "FCONST", "SCONST",
1490   "USCONST", "BCONST", "XCONST", "Op", "ICONST", "PARAM", "TYPECAST",
1491   "DOT_DOT", "COLON_EQUALS", "EQUALS_GREATER", "LESS_EQUALS",
1492   "GREATER_EQUALS", "NOT_EQUALS", "ABORT_P", "ABSOLUTE_P", "ACCESS",
1493   "ACTION", "ADD_P", "ADMIN", "AFTER", "AGGREGATE", "ALL", "ALSO", "ALTER",
1494   "ALWAYS", "ANALYSE", "ANALYZE", "AND", "ANY", "ARRAY", "AS", "ASC",
1495   "ASSERTION", "ASSIGNMENT", "ASYMMETRIC", "AT", "ATTACH", "ATTRIBUTE",
1496   "AUTHORIZATION", "BACKWARD", "BEFORE", "BEGIN_P", "BETWEEN", "BIGINT",
1497   "BINARY", "BIT", "BOOLEAN_P", "BOTH", "BY", "CACHE", "CALL", "CALLED",
1498   "CASCADE", "CASCADED", "CASE", "CAST", "CATALOG_P", "CHAIN", "CHAR_P",
1499   "CHARACTER", "CHARACTERISTICS", "CHECK", "CHECKPOINT", "CLASS", "CLOSE",
1500   "CLUSTER", "COALESCE", "COLLATE", "COLLATION", "COLUMN", "COLUMNS",
1501   "COMMENT", "COMMENTS", "COMMIT", "COMMITTED", "CONCURRENTLY",
1502   "CONFIGURATION", "CONFLICT", "CONNECTION", "CONSTRAINT", "CONSTRAINTS",
1503   "CONTENT_P", "CONTINUE_P", "CONVERSION_P", "COPY", "COST", "CREATE",
1504   "CROSS", "CSV", "CUBE", "CURRENT_P", "CURRENT_CATALOG", "CURRENT_DATE",
1505   "CURRENT_ROLE", "CURRENT_SCHEMA", "CURRENT_TIME", "CURRENT_TIMESTAMP",
1506   "CURRENT_USER", "CURSOR", "CYCLE", "DATA_P", "DATABASE", "DAY_P",
1507   "DEALLOCATE", "DEC", "DECIMAL_P", "DECLARE", "DEFAULT", "DEFAULTS",
1508   "DEFERRABLE", "DEFERRED", "DEFINER", "DELETE_P", "DELIMITER",
1509   "DELIMITERS", "DEPENDS", "DESC", "DETACH", "DICTIONARY", "DISABLE_P",
1510   "DISCARD", "DISTINCT", "DO", "DOCUMENT_P", "DOMAIN_P", "DOUBLE_P",
1511   "DROP", "EACH", "ELSE", "ENABLE_P", "ENCODING", "ENCRYPTED", "END_P",
1512   "ENUM_P", "ESCAPE", "EVENT", "EXCEPT", "EXCLUDE", "EXCLUDING",
1513   "EXCLUSIVE", "EXECUTE", "EXISTS", "EXPLAIN", "EXPRESSION", "EXTENSION",
1514   "EXTERNAL", "EXTRACT", "FALSE_P", "FAMILY", "FETCH", "FILTER", "FIRST_P",
1515   "FLOAT_P", "FOLLOWING", "FOR", "FORCE", "FOREIGN", "FORWARD", "FREEZE",
1516   "FROM", "FULL", "FUNCTION", "FUNCTIONS", "GENERATED", "GLOBAL", "GRANT",
1517   "GRANTED", "GREATEST", "GROUP_P", "GROUPING", "GROUPS", "HANDLER",
1518   "HAVING", "HEADER_P", "HOLD", "HOUR_P", "IDENTITY_P", "IF_P", "ILIKE",
1519   "IMMEDIATE", "IMMUTABLE", "IMPLICIT_P", "IMPORT_P", "IN_P", "INCLUDE",
1520   "INCLUDING", "INCREMENT", "INDEX", "INDEXES", "INHERIT", "INHERITS",
1521   "INITIALLY", "INLINE_P", "INNER_P", "INOUT", "INPUT_P", "INSENSITIVE",
1522   "INSERT", "INSTEAD", "INT_P", "INTEGER", "INTERSECT", "INTERVAL", "INTO",
1523   "INVOKER", "IS", "ISNULL", "ISOLATION", "JOIN", "KEY", "LABEL",
1524   "LANGUAGE", "LARGE_P", "LAST_P", "LATERAL_P", "LEADING", "LEAKPROOF",
1525   "LEAST", "LEFT", "LEVEL", "LIKE", "LIMIT", "LISTEN", "LOAD", "LOCAL",
1526   "LOCALTIME", "LOCALTIMESTAMP", "LOCATION", "LOCK_P", "LOCKED", "LOGGED",
1527   "MAPPING", "MATCH", "MATERIALIZED", "MAXVALUE", "METHOD", "MINUTE_P",
1528   "MINVALUE", "MODE", "MONTH_P", "MOVE", "NAME_P", "NAMES", "NATIONAL",
1529   "NATURAL", "NCHAR", "NEW", "NEXT", "NFC", "NFD", "NFKC", "NFKD", "NO",
1530   "NONE", "NORMALIZE", "NORMALIZED", "NOT", "NOTHING", "NOTIFY", "NOTNULL",
1531   "NOWAIT", "NULL_P", "NULLIF", "NULLS_P", "NUMERIC", "OBJECT_P", "OF",
1532   "OFF", "OFFSET", "OIDS", "OLD", "ON", "ONLY", "OPERATOR", "OPTION",
1533   "OPTIONS", "OR", "ORDER", "ORDINALITY", "OTHERS", "OUT_P", "OUTER_P",
1534   "OVER", "OVERLAPS", "OVERLAY", "OVERRIDING", "OWNED", "OWNER",
1535   "PARALLEL", "PARSER", "PARTIAL", "PARTITION", "PASSING", "PASSWORD",
1536   "PLACING", "PLANS", "POLICY", "POSITION", "PRECEDING", "PRECISION",
1537   "PRESERVE", "PREPARE", "PREPARED", "PRIMARY", "PRIOR", "PRIVILEGES",
1538   "PROCEDURAL", "PROCEDURE", "PROCEDURES", "PROGRAM", "PUBLICATION",
1539   "QUOTE", "RANGE", "READ", "REAL", "REASSIGN", "RECHECK", "RECURSIVE",
1540   "REF", "REFERENCES", "REFERENCING", "REFRESH", "REINDEX", "RELATIVE_P",
1541   "RELEASE", "RENAME", "REPEATABLE", "REPLACE", "REPLICA", "RESET",
1542   "RESTART", "RESTRICT", "RETURNING", "RETURNS", "REVOKE", "RIGHT", "ROLE",
1543   "ROLLBACK", "ROLLUP", "ROUTINE", "ROUTINES", "ROW", "ROWS", "RULE",
1544   "SAVEPOINT", "SCHEMA", "SCHEMAS", "SCROLL", "SEARCH", "SECOND_P",
1545   "SECURITY", "SELECT", "SEQUENCE", "SEQUENCES", "SERIALIZABLE", "SERVER",
1546   "SESSION", "SESSION_USER", "SET", "SETS", "SETOF", "SHARE", "SHOW",
1547   "SIMILAR", "SIMPLE", "SKIP", "SMALLINT", "SNAPSHOT", "SOME", "SQL_P",
1548   "STABLE", "STANDALONE_P", "START", "STATEMENT", "STATISTICS", "STDIN",
1549   "STDOUT", "STORAGE", "STORED", "STRICT_P", "STRIP_P", "SUBSCRIPTION",
1550   "SUBSTRING", "SUPPORT", "SYMMETRIC", "SYSID", "SYSTEM_P", "TABLE",
1551   "TABLES", "TABLESAMPLE", "TABLESPACE", "TEMP", "TEMPLATE", "TEMPORARY",
1552   "TEXT_P", "THEN", "TIES", "TIME", "TIMESTAMP", "TO", "TRAILING",
1553   "TRANSACTION", "TRANSFORM", "TREAT", "TRIGGER", "TRIM", "TRUE_P",
1554   "TRUNCATE", "TRUSTED", "TYPE_P", "TYPES_P", "UESCAPE", "UNBOUNDED",
1555   "UNCOMMITTED", "UNENCRYPTED", "UNION", "UNIQUE", "UNKNOWN", "UNLISTEN",
1556   "UNLOGGED", "UNTIL", "UPDATE", "USER", "USING", "VACUUM", "VALID",
1557   "VALIDATE", "VALIDATOR", "VALUE_P", "VALUES", "VARCHAR", "VARIADIC",
1558   "VARYING", "VERBOSE", "VERSION_P", "VIEW", "VIEWS", "VOLATILE", "WHEN",
1559   "WHERE", "WHITESPACE_P", "WINDOW", "WITH", "WITHIN", "WITHOUT", "WORK",
1560   "WRAPPER", "WRITE", "XML_P", "XMLATTRIBUTES", "XMLCONCAT", "XMLELEMENT",
1561   "XMLEXISTS", "XMLFOREST", "XMLNAMESPACES", "XMLPARSE", "XMLPI",
1562   "XMLROOT", "XMLSERIALIZE", "XMLTABLE", "YEAR_P", "YES_P", "ZONE",
1563   "NOT_LA", "NULLS_LA", "WITH_LA", "'<'", "'>'", "'='", "POSTFIXOP", "'+'",
1564   "'-'", "'*'", "'/'", "'%'", "'^'", "UMINUS", "'['", "']'", "'('", "')'",
1565   "'.'", "';'", "','", "':'", "$accept", "stmtblock", "stmtmulti", "stmt",
1566   "CallStmt", "CreateRoleStmt", "opt_with", "OptRoleList",
1567   "AlterOptRoleList", "AlterOptRoleElem", "CreateOptRoleElem",
1568   "CreateUserStmt", "AlterRoleStmt", "opt_in_database", "AlterRoleSetStmt",
1569   "DropRoleStmt", "CreateGroupStmt", "AlterGroupStmt", "add_drop",
1570   "CreateSchemaStmt", "OptSchemaName", "OptSchemaEltList", "schema_stmt",
1571   "VariableSetStmt", "set_rest", "generic_set", "set_rest_more",
1572   "var_name", "var_list", "var_value", "iso_level",
1573   "opt_boolean_or_string", "zone_value", "opt_encoding",
1574   "NonReservedWord_or_Sconst", "VariableResetStmt", "reset_rest",
1575   "generic_reset", "SetResetClause", "FunctionSetResetClause",
1576   "VariableShowStmt", "ConstraintsSetStmt", "constraints_set_list",
1577   "constraints_set_mode", "CheckPointStmt", "DiscardStmt",
1578   "AlterTableStmt", "alter_table_cmds", "partition_cmd",
1579   "index_partition_cmd", "alter_table_cmd", "alter_column_default",
1580   "opt_drop_behavior", "opt_collate_clause", "alter_using",
1581   "replica_identity", "reloptions", "opt_reloptions", "reloption_list",
1582   "reloption_elem", "alter_identity_column_option_list",
1583   "alter_identity_column_option", "PartitionBoundSpec",
1584   "hash_partbound_elem", "hash_partbound", "AlterCompositeTypeStmt",
1585   "alter_type_cmds", "alter_type_cmd", "ClosePortalStmt", "CopyStmt",
1586   "copy_from", "opt_program", "copy_file_name", "copy_options",
1587   "copy_opt_list", "copy_opt_item", "opt_binary", "copy_delimiter",
1588   "opt_using", "copy_generic_opt_list", "copy_generic_opt_elem",
1589   "copy_generic_opt_arg", "copy_generic_opt_arg_list",
1590   "copy_generic_opt_arg_list_item", "CreateStmt", "OptTemp",
1591   "OptTableElementList", "OptTypedTableElementList", "TableElementList",
1592   "TypedTableElementList", "TableElement", "TypedTableElement",
1593   "columnDef", "columnOptions", "ColQualList", "ColConstraint",
1594   "ColConstraintElem", "generated_when", "ConstraintAttr",
1595   "TableLikeClause", "TableLikeOptionList", "TableLikeOption",
1596   "TableConstraint", "ConstraintElem", "opt_no_inherit", "opt_column_list",
1597   "columnList", "columnElem", "opt_c_include", "key_match",
1598   "ExclusionConstraintList", "ExclusionConstraintElem",
1599   "ExclusionWhereClause", "key_actions", "key_update", "key_delete",
1600   "key_action", "OptInherit", "OptPartitionSpec", "PartitionSpec",
1601   "part_params", "part_elem", "table_access_method_clause", "OptWith",
1602   "OnCommitOption", "OptTableSpace", "OptConsTableSpace", "ExistingIndex",
1603   "CreateStatsStmt", "AlterStatsStmt", "CreateAsStmt", "create_as_target",
1604   "opt_with_data", "CreateMatViewStmt", "create_mv_target", "OptNoLog",
1605   "RefreshMatViewStmt", "CreateSeqStmt", "AlterSeqStmt", "OptSeqOptList",
1606   "OptParenthesizedSeqOptList", "SeqOptList", "SeqOptElem", "opt_by",
1607   "NumericOnly", "NumericOnly_list", "CreatePLangStmt", "opt_trusted",
1608   "handler_name", "opt_inline_handler", "validator_clause",
1609   "opt_validator", "DropPLangStmt", "opt_procedural",
1610   "CreateTableSpaceStmt", "OptTableSpaceOwner", "DropTableSpaceStmt",
1611   "CreateExtensionStmt", "create_extension_opt_list",
1612   "create_extension_opt_item", "AlterExtensionStmt",
1613   "alter_extension_opt_list", "alter_extension_opt_item",
1614   "AlterExtensionContentsStmt", "CreateFdwStmt", "fdw_option",
1615   "fdw_options", "opt_fdw_options", "AlterFdwStmt",
1616   "create_generic_options", "generic_option_list", "alter_generic_options",
1617   "alter_generic_option_list", "alter_generic_option_elem",
1618   "generic_option_elem", "generic_option_name", "generic_option_arg",
1619   "CreateForeignServerStmt", "opt_type", "foreign_server_version",
1620   "opt_foreign_server_version", "AlterForeignServerStmt",
1621   "CreateForeignTableStmt", "AlterForeignTableStmt",
1622   "ImportForeignSchemaStmt", "import_qualification_type",
1623   "import_qualification", "CreateUserMappingStmt", "auth_ident",
1624   "DropUserMappingStmt", "AlterUserMappingStmt", "CreatePolicyStmt",
1625   "AlterPolicyStmt", "RowSecurityOptionalExpr",
1626   "RowSecurityOptionalWithCheck", "RowSecurityDefaultToRole",
1627   "RowSecurityOptionalToRole", "RowSecurityDefaultPermissive",
1628   "RowSecurityDefaultForCmd", "row_security_cmd", "CreateAmStmt",
1629   "am_type", "CreateTrigStmt", "TriggerActionTime", "TriggerEvents",
1630   "TriggerOneEvent", "TriggerReferencing", "TriggerTransitions",
1631   "TriggerTransition", "TransitionOldOrNew", "TransitionRowOrTable",
1632   "TransitionRelName", "TriggerForSpec", "TriggerForOptEach",
1633   "TriggerForType", "TriggerWhen", "FUNCTION_or_PROCEDURE",
1634   "TriggerFuncArgs", "TriggerFuncArg", "OptConstrFromTable",
1635   "ConstraintAttributeSpec", "ConstraintAttributeElem",
1636   "CreateEventTrigStmt", "event_trigger_when_list",
1637   "event_trigger_when_item", "event_trigger_value_list",
1638   "AlterEventTrigStmt", "enable_trigger", "CreateAssertionStmt",
1639   "DefineStmt", "definition", "def_list", "def_elem", "def_arg",
1640   "old_aggr_definition", "old_aggr_list", "old_aggr_elem",
1641   "opt_enum_val_list", "enum_val_list", "AlterEnumStmt",
1642   "opt_if_not_exists", "CreateOpClassStmt", "opclass_item_list",
1643   "opclass_item", "opt_default", "opt_opfamily", "opclass_purpose",
1644   "opt_recheck", "CreateOpFamilyStmt", "AlterOpFamilyStmt",
1645   "opclass_drop_list", "opclass_drop", "DropOpClassStmt",
1646   "DropOpFamilyStmt", "DropOwnedStmt", "ReassignOwnedStmt", "DropStmt",
1647   "drop_type_any_name", "drop_type_name", "drop_type_name_on_any_name",
1648   "any_name_list", "any_name", "attrs", "type_name_list", "TruncateStmt",
1649   "opt_restart_seqs", "CommentStmt", "comment_type_any_name",
1650   "comment_type_name", "comment_text", "SecLabelStmt", "opt_provider",
1651   "security_label_type_any_name", "security_label_type_name",
1652   "security_label", "FetchStmt", "fetch_args", "from_in", "opt_from_in",
1653   "GrantStmt", "RevokeStmt", "privileges", "privilege_list", "privilege",
1654   "privilege_target", "grantee_list", "grantee", "opt_grant_grant_option",
1655   "GrantRoleStmt", "RevokeRoleStmt", "opt_grant_admin_option",
1656   "opt_granted_by", "AlterDefaultPrivilegesStmt", "DefACLOptionList",
1657   "DefACLOption", "DefACLAction", "defacl_privilege_target", "IndexStmt",
1658   "opt_unique", "opt_concurrently", "opt_index_name",
1659   "access_method_clause", "index_params", "index_elem_options",
1660   "index_elem", "opt_include", "index_including_params", "opt_collate",
1661   "opt_class", "opt_asc_desc", "opt_nulls_order", "CreateFunctionStmt",
1662   "opt_or_replace", "func_args", "func_args_list",
1663   "function_with_argtypes_list", "function_with_argtypes",
1664   "func_args_with_defaults", "func_args_with_defaults_list", "func_arg",
1665   "arg_class", "param_name", "func_return", "func_type",
1666   "func_arg_with_default", "aggr_arg", "aggr_args", "aggr_args_list",
1667   "aggregate_with_argtypes", "aggregate_with_argtypes_list",
1668   "createfunc_opt_list", "common_func_opt_item", "createfunc_opt_item",
1669   "func_as", "transform_type_list", "opt_definition", "table_func_column",
1670   "table_func_column_list", "AlterFunctionStmt", "alterfunc_opt_list",
1671   "opt_restrict", "RemoveFuncStmt", "RemoveAggrStmt", "RemoveOperStmt",
1672   "oper_argtypes", "any_operator", "operator_with_argtypes_list",
1673   "operator_with_argtypes", "DoStmt", "dostmt_opt_list", "dostmt_opt_item",
1674   "CreateCastStmt", "cast_context", "DropCastStmt", "opt_if_exists",
1675   "CreateTransformStmt", "transform_element_list", "DropTransformStmt",
1676   "ReindexStmt", "reindex_target_type", "reindex_target_multitable",
1677   "reindex_option_list", "reindex_option_elem", "AlterTblSpcStmt",
1678   "RenameStmt", "opt_column", "opt_set_data", "AlterObjectDependsStmt",
1679   "opt_no", "AlterObjectSchemaStmt", "AlterOperatorStmt",
1680   "operator_def_list", "operator_def_elem", "operator_def_arg",
1681   "AlterTypeStmt", "AlterOwnerStmt", "CreatePublicationStmt",
1682   "opt_publication_for_tables", "publication_for_tables",
1683   "AlterPublicationStmt", "CreateSubscriptionStmt",
1684   "publication_name_list", "publication_name_item",
1685   "AlterSubscriptionStmt", "DropSubscriptionStmt", "RuleStmt",
1686   "RuleActionList", "RuleActionMulti", "RuleActionStmt",
1687   "RuleActionStmtOrEmpty", "event", "opt_instead", "NotifyStmt",
1688   "notify_payload", "ListenStmt", "UnlistenStmt", "TransactionStmt",
1689   "opt_transaction", "transaction_mode_item", "transaction_mode_list",
1690   "transaction_mode_list_or_empty", "opt_transaction_chain", "ViewStmt",
1691   "opt_check_option", "LoadStmt", "CreatedbStmt", "createdb_opt_list",
1692   "createdb_opt_items", "createdb_opt_item", "createdb_opt_name",
1693   "opt_equal", "AlterDatabaseStmt", "AlterDatabaseSetStmt", "DropdbStmt",
1694   "drop_option_list", "drop_option", "AlterCollationStmt",
1695   "AlterSystemStmt", "CreateDomainStmt", "AlterDomainStmt", "opt_as",
1696   "AlterTSDictionaryStmt", "AlterTSConfigurationStmt", "any_with",
1697   "CreateConversionStmt", "ClusterStmt", "cluster_index_specification",
1698   "VacuumStmt", "AnalyzeStmt", "vac_analyze_option_list",
1699   "analyze_keyword", "vac_analyze_option_elem", "vac_analyze_option_name",
1700   "vac_analyze_option_arg", "opt_analyze", "opt_verbose", "opt_full",
1701   "opt_freeze", "opt_name_list", "vacuum_relation", "vacuum_relation_list",
1702   "opt_vacuum_relation_list", "ExplainStmt", "ExplainableStmt",
1703   "explain_option_list", "explain_option_elem", "explain_option_name",
1704   "explain_option_arg", "PrepareStmt", "prep_type_clause",
1705   "PreparableStmt", "ExecuteStmt", "execute_param_clause",
1706   "DeallocateStmt", "InsertStmt", "insert_target", "insert_rest",
1707   "override_kind", "insert_column_list", "insert_column_item",
1708   "opt_on_conflict", "opt_conf_expr", "returning_clause", "DeleteStmt",
1709   "using_clause", "LockStmt", "opt_lock", "lock_type", "opt_nowait",
1710   "opt_nowait_or_skip", "UpdateStmt", "set_clause_list", "set_clause",
1711   "set_target", "set_target_list", "DeclareCursorStmt", "cursor_name",
1712   "cursor_options", "opt_hold", "SelectStmt", "select_with_parens",
1713   "select_no_parens", "select_clause", "simple_select", "with_clause",
1714   "cte_list", "common_table_expr", "opt_materialized", "opt_with_clause",
1715   "into_clause", "OptTempTableName", "opt_table", "all_or_distinct",
1716   "distinct_clause", "opt_all_clause", "opt_sort_clause", "sort_clause",
1717   "sortby_list", "sortby", "select_limit", "opt_select_limit",
1718   "limit_clause", "offset_clause", "select_limit_value",
1719   "select_offset_value", "select_fetch_first_value", "I_or_F_const",
1720   "row_or_rows", "first_or_next", "group_clause", "group_by_list",
1721   "group_by_item", "empty_grouping_set", "rollup_clause", "cube_clause",
1722   "grouping_sets_clause", "having_clause", "for_locking_clause",
1723   "opt_for_locking_clause", "for_locking_items", "for_locking_item",
1724   "for_locking_strength", "locked_rels_list", "values_clause",
1725   "from_clause", "from_list", "table_ref", "joined_table", "alias_clause",
1726   "opt_alias_clause", "func_alias_clause", "join_type", "join_outer",
1727   "join_qual", "relation_expr", "relation_expr_list",
1728   "relation_expr_opt_alias", "tablesample_clause", "opt_repeatable_clause",
1729   "func_table", "rowsfrom_item", "rowsfrom_list", "opt_col_def_list",
1730   "opt_ordinality", "where_clause", "where_or_current_clause",
1731   "OptTableFuncElementList", "TableFuncElementList", "TableFuncElement",
1732   "xmltable", "xmltable_column_list", "xmltable_column_el",
1733   "xmltable_column_option_list", "xmltable_column_option_el",
1734   "xml_namespace_list", "xml_namespace_el", "Typename", "opt_array_bounds",
1735   "SimpleTypename", "ConstTypename", "GenericType", "opt_type_modifiers",
1736   "Numeric", "opt_float", "Bit", "ConstBit", "BitWithLength",
1737   "BitWithoutLength", "Character", "ConstCharacter", "CharacterWithLength",
1738   "CharacterWithoutLength", "character", "opt_varying", "ConstDatetime",
1739   "ConstInterval", "opt_timezone", "opt_interval", "interval_second",
1740   "a_expr", "b_expr", "c_expr", "func_application", "func_expr",
1741   "func_expr_windowless", "func_expr_common_subexpr", "xml_root_version",
1742   "opt_xml_root_standalone", "xml_attributes", "xml_attribute_list",
1743   "xml_attribute_el", "document_or_content", "xml_whitespace_option",
1744   "xmlexists_argument", "xml_passing_mech", "within_group_clause",
1745   "filter_clause", "window_clause", "window_definition_list",
1746   "window_definition", "over_clause", "window_specification",
1747   "opt_existing_window_name", "opt_partition_clause", "opt_frame_clause",
1748   "frame_extent", "frame_bound", "opt_window_exclusion_clause", "row",
1749   "explicit_row", "implicit_row", "sub_type", "all_Op", "MathOp",
1750   "qual_Op", "qual_all_Op", "subquery_Op", "expr_list", "func_arg_list",
1751   "func_arg_expr", "type_list", "array_expr", "array_expr_list",
1752   "extract_list", "extract_arg", "unicode_normal_form", "overlay_list",
1753   "overlay_placing", "position_list", "substr_list", "substr_from",
1754   "substr_for", "trim_list", "in_expr", "case_expr", "when_clause_list",
1755   "when_clause", "case_default", "case_arg", "columnref", "indirection_el",
1756   "opt_slice_bound", "indirection", "opt_indirection", "opt_asymmetric",
1757   "opt_target_list", "target_list", "target_el", "qualified_name_list",
1758   "qualified_name", "name_list", "name", "database_name", "access_method",
1759   "attr_name", "index_name", "file_name", "func_name", "AexprConst",
1760   "Iconst", "Sconst", "SignedIconst", "RoleId", "RoleSpec", "role_list",
1761   "ColId", "type_function_name", "NonReservedWord", "ColLabel",
1762   "unreserved_keyword", "col_name_keyword", "type_func_name_keyword",
1763   "reserved_keyword", YY_NULLPTR
1764 };
1765 #endif
1766 
1767 # ifdef YYPRINT
1768 /* YYTOKNUM[NUM] -- (External) token number corresponding to the
1769    (internal) symbol number NUM (which must be that of a token).  */
1770 static const yytype_uint16 yytoknum[] =
1771 {
1772        0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
1773      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
1774      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
1775      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
1776      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
1777      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
1778      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
1779      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
1780      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
1781      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
1782      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
1783      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
1784      375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
1785      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
1786      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
1787      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
1788      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
1789      425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
1790      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
1791      445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
1792      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
1793      465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
1794      475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
1795      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
1796      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
1797      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
1798      515,   516,   517,   518,   519,   520,   521,   522,   523,   524,
1799      525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
1800      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
1801      545,   546,   547,   548,   549,   550,   551,   552,   553,   554,
1802      555,   556,   557,   558,   559,   560,   561,   562,   563,   564,
1803      565,   566,   567,   568,   569,   570,   571,   572,   573,   574,
1804      575,   576,   577,   578,   579,   580,   581,   582,   583,   584,
1805      585,   586,   587,   588,   589,   590,   591,   592,   593,   594,
1806      595,   596,   597,   598,   599,   600,   601,   602,   603,   604,
1807      605,   606,   607,   608,   609,   610,   611,   612,   613,   614,
1808      615,   616,   617,   618,   619,   620,   621,   622,   623,   624,
1809      625,   626,   627,   628,   629,   630,   631,   632,   633,   634,
1810      635,   636,   637,   638,   639,   640,   641,   642,   643,   644,
1811      645,   646,   647,   648,   649,   650,   651,   652,   653,   654,
1812      655,   656,   657,   658,   659,   660,   661,   662,   663,   664,
1813      665,   666,   667,   668,   669,   670,   671,   672,   673,   674,
1814      675,   676,   677,   678,   679,   680,   681,   682,   683,   684,
1815      685,   686,   687,   688,   689,   690,   691,   692,   693,   694,
1816      695,   696,   697,   698,   699,   700,   701,   702,   703,   704,
1817      705,   706,   707,   708,   709,   710,   711,   712,   713,   714,
1818      715,   716,   717,   718,   719,   720,   721,   722,   723,   724,
1819      725,   726,   727,    60,    62,    61,   728,    43,    45,    42,
1820       47,    37,    94,   729,    91,    93,    40,    41,    46,    59,
1821       44,    58
1822 };
1823 # endif
1824 
1825 #define YYPACT_NINF -4993
1826 
1827 #define yypact_value_is_default(Yystate) \
1828   (!!((Yystate) == (-4993)))
1829 
1830 #define YYTABLE_NINF -2667
1831 
1832 #define yytable_value_is_error(Yytable_value) \
1833   (!!((Yytable_value) == (-2667)))
1834 
1835   /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1836      STATE-NUM.  */
1837 static const int yypact[] =
1838 {
1839    10132,    32, 18235, -4993, -4993,    32, 62332, -4993, 70271,   483,
1840      742,    82,   185, 16685, 70738, 78210,   752,   906, 15953,    32,
1841    78210,  1045, 53458, 67469,  1057, 78210,  1131,   930, 53458, 78210,
1842    78677,  1043,  1115,   965, 79144, 71205, 66068,   721, 78210,  1165,
1843      919, 79611, 71672,  1049, 72139,   930, 49732,   362,   980, 80078,
1844    78210,  1457,  1482,  1070, -4993, -4993, -4993, -4993, -4993, -4993,
1845    -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
1846    -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
1847    -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
1848    -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
1849    -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
1850    -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
1851    -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
1852    -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
1853    -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
1854    -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
1855    -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
1856        3, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
1857    -4993,  1982, -4993,  1496,  2118,  1257,   991,  1080, -4993, -4993,
1858     1640, 62332, 78210, 78210, 78210,  1440, 78210,  1349, 78210,   505,
1859    62332, 58129, 72606,  1576,  1413, 45960, 80545, -4993, 62332, 78210,
1860    56261, 62332, 78210, 78210, 81012, 78210, 81479, 78210,  1864, 68870,
1861    78210,  1618, 78210, 78210, 56728, 81946,  1765,  1234,   286, -4993,
1862    -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
1863    -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
1864    -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
1865    -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
1866    -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
1867    -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
1868    -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
1869    -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
1870    -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
1871    -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
1872    -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
1873    -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
1874    -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
1875    -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
1876    -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
1877    -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
1878    -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
1879    -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
1880    -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
1881    -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
1882    -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
1883    -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
1884    -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
1885    -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
1886    -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
1887    -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
1888    -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
1889    -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
1890    -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
1891    -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
1892    -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
1893    -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
1894    -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
1895    -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
1896    -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
1897    -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
1898    -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
1899    -4993, -4993, -4993,  1536,  1613, -4993,   290, -4993, -4993, -4993,
1900    -4993, -4993, -4993, -4993, -4993, -4993, 78210, 17439,  1131,  1640,
1901    -4993,  1457, 78210,  1833, 78210,  1659, 82413,  1754, 78210, -4993,
1902    78210,  1784, 82880,   806,  1990, 58129,  2122, 46433,  1939, 78210,
1903    78210, 58129, 83347, 83814, 84281, 78210, 78210, -4993, -4993,  1904,
1904    78210, 78210, -4993,  2064, 58596,  1577,  2092,  2197,  2154,   794,
1905    -4993, 73073, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
1906    61398,   906, -4993, -4993,  2132, 62799,  2205, -4993, -4993, 84748,
1907   101490,  1989, -4993,   824, 63266, 59063,  2330,  2014, 46906,  2384,
1908    -4993, 63733, -4993, 59530, 64200, -4993, -4993, -4993, -4993, -4993,
1909    85215, -4993, 85682,  2105,  2205, -4993,101943, 59997, -4993,  2258,
1910    86149, 86616, 87083,  1640,  1986,  1651,  2507, 41735, -4993, -4993,
1911    -4993,   483, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
1912      326,   291,   220,   207,   255, -4993, -4993,   221,   227,   233,
1913      326,  2471,  2471, -4993, 78210, -4993, -4993,   291,    62,  2005,
1914     2005,  2005,  2223,   908, -4993,  2005,  2156, -4993, -4993, -4993,
1915    -4993, 72139, -4993,  2023,  1131,  2067,  2502,  2141, -4993, -4993,
1916    -4993, -4993, -4993,  2139,  2516,  2516, 78210, -4993, -4993,  2546,
1917     2177,  2428,  2167, -4993, -4993, -4993,  2419,  2425,  2404,   161,
1918     1131,   259, -4993,  2528, -4993,  2433, 28449, 28449,  1131, 73540,
1919    87550,   226, 61398,  1131, 74007,  2227,  1520,  2459, -4993, -4993,
1920    -4993,   739, -4993,  2726,  2315,  2592,  2167,  1234, 43136, -4993,
1921     2338,  1613, 72139, -4993, -4993, -4993, 60464,  2657, 30365, 78210,
1922     2337, -4993,  2347,  2337,  2354,  2369,  1257, -4993, 10132, 60464,
1923    78210,  1142,  1142,  2854,  1142,  1656,  1706, -4993,  2186, -4993,
1924     2748,  2708, 72139,  2437,   308, -4993,  1850,  2438,  1796,  2431,
1925     1978,  1035, -4993, -4993,   912, 78210,   453,  2481, 74474,  5152,
1926     2465,  1613,  2467, -4993, -4993, -4993,  2625,   384, -4993, -4993,
1927    -4993, -4993,  2769,  2819,  6309,   263, 74941, -4993, -4993, -4993,
1928    -4993, 78210, 78210, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
1929    -4993, -4993,  2485,  1469, -4993, -4993,  2487,  2832,  2704,  6322,
1930     1007,  2791,  2675,  1175,  9600,  2731,  1662,  2863,  6659,  1401,
1931     2873,  1991,  1772, 75408, 78210,  2837,  2886,  6754,  1875,   851,
1932     2766,  1268,  2791,  2890,  2725,  1175,  2913,  7508, 78210, -4993,
1933     2844,  2952,   101, -4993,   272, -4993, 23225, 30365, 49265, -4993,
1934     1613,  2646,  2805,   822,  2845, 62332,  2611, -4993, -4993, 78210,
1935    -4993, -4993,102396,  2687, -4993,   837, 62332, -4993,  2838,  2662,
1936    47379, 78210, 62332, -4993, -4993, 62332, 78210, -4993, -4993, -4993,
1937    -4993, -4993, -4993, -4993,  2774,  2951, 78210,102396, -4993,  2917,
1938    78210, 78210, -4993, -4993,  2665, -4993, -4993, -4993, -4993,  2005,
1939    78210,  3076,102396,  2897,   373, 78210,    10,  3116, 78210,  2901,
1940       10,  2715, 88017, -4993, -4993,    10, -4993, -4993, -4993, 78210,
1941    78210,  2683,  1977,  2892,  3030,    10,  2934,  3153,  3157,  2940,
1942     2788,  2943,  2347,  3125,  2919,  1065,  1461,   197,  1878,    10,
1943     2773, 88484, 88951, 78210,  2775, 78210,  2516, 62332, 62332, 62332,
1944    78210,  3055, -4993,  2905, -4993, -4993,  1079, -4993, -4993, -4993,
1945    -4993, -4993,  3073, -4993,   169,  3074,  2741,  3089,  1388, -4993,
1946    -4993,  2800, -4993,  2800,  2800,  2754,  2754,  2935,  2756,  3095,
1947    -4993, -4993, -4993,   405,  2800,  2754, -4993,103302, -4993,  1713,
1948     1795, -4993,   190, -4993,  3212, -4993, -4993, -4993, -4993, -4993,
1949    -4993, -4993, -4993,  2764, -4993,   813,  2111, -4993, -4993,  2799,
1950    -4993,  3106,   194, -4993,  3107, -4993,  2767, 89418, -4993, 89885,
1951    90352,  3108,   292, -4993, 58129,  3112,   194,  3113,  2767,  3114,
1952      194,  3115,   848,  3120, -4993,  1111,  3118,  3128,   190,  3129,
1953     1997,  2767, 61865,  3132,   309, -4993,  3134,   319, -4993,  3135,
1954     3007, -4993, 30365, -4993,  2895, -4993,   980, -4993,  1738, -4993,
1955    52522, -4993,  2507,   291, -4993, 78210,   291, 78210,   291, 78210,
1956      291, 78210,   291, 78210, 78210, 78210,   291, -4993, -4993, -4993,
1957    78210,  2806, 78210, 78210, -4993, -4993, -4993, 67936, 58129, 68403,
1958    -4993, 78210, -4993,   413,  1131, -4993, -4993,102396,  3249, 58129,
1959     2516, -4993,  1891, -4993, -4993, 78210, 78210, -4993, -4993, -4993,
1960     3065, 78210,  3143,  3144, 67936, 58129, -4993, 90819, -4993, 61398,
1961     3028,  2821, -4993, -4993, -4993, -4993, -4993,  2079,  3302,   216,
1962     3303, 30365,  2825,   216,   216,  2826,  3152, -4993, -4993, -4993,
1963      310,  2828,  2840, -4993,   232,   232, -4993,  2855,  2860, -4993,
1964      240,  2861,  2864,  3312,  3322,   245,  2866,  2867,  2868,   405,
1965      216,  2869, 30365, -4993,  2870,   232,  2871,  2872,  2876,  3325,
1966     2877, -4993,  3334,  2880,   306,   338,  2885,  2887, -4993,  2855,
1967    -4993,   248,  2888,  2893,  2900,  2902,  2904,  2907,  2908,  2909,
1968    30365, 30365, 30365, -4993, 27007,  1613,  1131, -4993, -4993, -4993,
1969    -4993, -4993, -4993, -4993, -4993,   256,  5626, -4993,  2899, -4993,
1970    -4993,  3069, -4993, -4993, 30365, -4993, -4993,   690, -4993,   270,
1971    -4993, -4993, -4993,  1613,  3151,  2882, -4993, -4993,  1517,  2906,
1972    -4993,  1937, -4993, -4993, -4993, -4993, -4993, -4993, 60931,  3330,
1973    -4993,   419,  1131,   272,  2033,  3292, 51586, 52054, -4993, -4993,
1974     3171, -4993, 78210, -4993, -4993,  1613,   201,  1933, -4993, -4993,
1975    52522, -4993, -4993,   483, 15345,  1948,  2337, 78210, 78210,  3362,
1976    -4993, -4993, -4993,  1958, -4993,  2914, -4993,  2347, -4993, -4993,
1977     1257,  1257, 30365,  1257,  1415,  1127, 28928, 30844,  3250,  3137,
1978     1645,  1660,  3252, -4993,  3141,  1656,  1706, 72139, 78210, 91286,
1979     3051, 30365, -4993,  3355,  3014,  3016,  3071, 50666, -4993,  3019,
1980     2985,  3021,  3080, 54393,  2945,  3029,  3031,  3082, -4993,  3208,
1981    -4993, -4993,  3032,  3034, 91753, -4993, -4993,  1168, -4993, -4993,
1982    -4993,  1168, -4993,  2966,  1589,   450,  1402,  3036,   261,   802,
1983     3357, -4993,  1366, -4993, -4993,  3092, -4993,  4803, 78210,  3297,
1984     8314,  3168,   263,  3090, -4993, -4993, -4993,  3225,  3043, 78210,
1985     3045,  3188,   263,   297, 92220, -4993, -4993, 78210, -4993, -4993,
1986    -4993, -4993,  3717,  3335, 26101, -4993,  2006,  3052,  3033,  3062,
1987    78210, 65134,   387,  3162,  3183,    81,  1770,   214,  3117, 78210,
1988     1922,  3191, 78210,  2983,  3066,  3067,  3288,  2988,  1488,  3389,
1989     2986, -4993, -4993, -4993,  3356, -4993,  1743,  2284,  3185, -4993,
1990     3287,  3332,  8783,  3053,  3054,100131, -4993,  3075,    38, 47852,
1991    78210, 78210,  3079,  3081, 92687,  3717,  3364,  3097,  3102,  3083,
1992     3100,  1192,  3390,  1883,  3103, -4993, -4993, -4993,  1883,  3105,
1993     3126, 93154,  3717,  3386, 78210,  3127,  3130, 78210,103302,   263,
1994    -4993,  3457,   263,   263,  2129,  3458,  3131,   328,  3266,  1866,
1995       10,  2986,  1387, -4993,  3136,  3139,   322, -4993,  3237, 78210,
1996     3140,  3145,  1903,  1131, -4993, -4993,  3147,  3203,  3150,   941,
1997    -4993, -4993,  1638,  3146, 72139,  3233,  3240,  1922,   238,  1979,
1998     2986, -4993,  3155,  3156,  2988,  2988, 78210, 78210, 78210, 78210,
1999    78210,   213,  3496,  3497,  3158,   223,   569,  3057, -4993,  1883,
2000    57195,  3160, -4993,  1883, 78210,   379,  2103,  2986,  1842,   136,
2001    -4993, -4993, -4993,  1234, -4993, 30365, 30365, 30365,  3063, -4993,
2002     1724, 15345,    87, -4993,   288,  9333,  3085, -4993, -4993, -4993,
2003    -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
2004    -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
2005    -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
2006    -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
2007    -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
2008    -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
2009    -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
2010    -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
2011    -4993, -4993, -4993, 78210, -4993, 78210, -4993,  3345,102396,  3289,
2012     3358, -4993,  3138, -4993,  3367,   263, -4993, 78210, 78210,  3375,
2013     3310,  3377,  3381,  3317,  1446,102396,  3318,  3385, -4993,  3392,
2014     3401,  3192,   182,  3199,  3133,  3581,  3472, 78210, 54393, -4993,
2015     3597,  1168, -4993,102396,  3346,  3477, -4993, 78210,  3363,    54,
2016    -4993,  3513,  3198, -4993, -4993,    79, 78210,   249,  3180, -4993,
2017    -4993,  3482, 58129,   348,  3483,  1131,  3193,  3484,  3359,  1131,
2018    58129,  3399, 78210, 78210, 78210, 78210, -4993, -4993,  3368,  1017,
2019      646, -4993, 57195,  3373, -4993, 78210,  3379,  1387,  3383,  3607,
2020       86,  2005, 93621,  3487, 94088,  3164,  3165,  3165,  3615,102396,
2021     3436, -4993,  2173, -4993,  3301, -4993, 62332, -4993, -4993, 62332,
2022    -4993, -4993,102396, 78210,  3170, -4993,  3172, -4993, -4993, 30365,
2023    -4993, -4993, -4993,  2471, -4993,102396,  2800,  2800, -4993, -4993,
2024     3624,  3259,  3262,  2471, -4993,  2471, -4993,102396, -4993,  3186,
2025     3187,  2471,  3261,  3263,  3267, -4993,  3189,  3268,  2471, -4993,
2026    -4993,  2292, -4993, -4993, 62332, 62332, -4993, 58129, 58129,  3532,
2027      309,  3535,  3254,  3537,  3256, 47852, 47852, -4993,   323, 62332,
2028    -4993, 58129, 62332, -4993, 78210, -4993, 78210, -4993, -4993, -4993,
2029    -4993,102396,102396, -4993, 58129, 57195,  3539,  3540,   848, 78210,
2030    78210, -4993, 78210, 78210, -4993, 78210, 78210,  1962, 94555,  2507,
2031    60464, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, 78210,
2032    -4993, 78210, -4993, 78210, -4993, 78210, -4993, 78210, -4993, -4993,
2033    -4993, 78210, -4993, 78210,  2019, -4993, -4993,  2028,   165, 78210,
2034    78210,   234, 62332, 78210,  3417, 62332, 62332, 78210, 78210, 78210,
2035    78210, 78210,  3284,  2906,  1470, -4993,   271,   481, 72139,  3424,
2036    -4993, -4993,  2037,  1457,   962, 78210,  1438,  2139, -4993, -4993,
2037    -4993, -4993, 68403, 67469,  3526,   124, 78210, -4993, -4993,  6138,
2038    30365,  1613, 27965, -4993, -4993, 15345,  3248, 30365, 30365,  3210,
2039     2471,  2471, -4993,  1195, 30365, 30365, 30365,  2471,  2471, 30365,
2040     3565, 30365, 47852, 30365, 35634, 24195, 30365, 30365, 27486, -4993,
2041    30365,  3446, 37065, 30365,  2033,  3449, 30365,  2033,  3565,  3689,
2042     3689,  1949,  5659,  3213,  1613, -4993,  2471,   939, -4993,   295,
2043   102396, 30365, 30365, 30365, 30365, 54393,  3300,   262, 78210, 30365,
2044     3221,  2875, -4993, 30365, -4993,  3222, 30365,  3304,  1167, 30365,
2045    30365, 30365, 30365, 30365, 30365, 30365, 30365, 30365, -4993, 38466,
2046      370,  3534,  3554,   803,   545, 75875, 28449,  3546, 23225, -4993,
2047      279,  3546, -4993, -4993, -4993, 78210,  3330, -4993, -4993,  3305,
2048    -4993, -4993, -4993, -4993, -4993,   289, -4993, -4993, -4993, -4993,
2049    -4993, -4993, -4993,  3224, -4993, -4993, -4993, -4993,  3224, -4993,
2050     3228,  3533,  3536,   848, 78210, 60464, -4993, -4993, -4993,  2604,
2051    -4993, 30365, -4993,  2041,  2046, 78210, 78210, -4993,  3509, -4993,
2052     3230, -4993, 12583,  3509, -4993, -4993, 36110,  3350,  3505,  3443,
2053    -4993, -4993, -4993,  3234, 15345, 31323, 31323, -4993,  2312, 15345,
2054     2320, -4993, -4993, -4993, -4993, -4993, -4993,  1220, -4993, 78210,
2055      137,  3250,  1660,  3293,   768,  3688, 78210, -4993, 43603,  2043,
2056    -4993, 58129, 78210, 78210,  3439, -4993,  3673, -4993,103302, -4993,
2057     3242, -4993,102849, 98758, -4993, -4993,   833, -4993,   825, 58129,
2058    -4993, 78210, 78210, -4993, 54393, 58129, 78210, 78210, -4993, 58129,
2059    78210, 78210, -4993, -4993, -4993, -4993, -4993, 52990,   650, 67469,
2060     3378, 66535, -4993, -4993,  3245, 78210,  3306,  3516,  3518,    -3,
2061    -4993, -4993, 95022, -4993,  3467, 58129, 78210, 78210, 30365,  3469,
2062    78210, 78210, -4993,   280,  3333,  3336, -4993, 78210,  3338,  3499,
2063    62332,  3265, 78210, 78210,102396,  3327,   843, 62332,  3311, 48325,
2064    62332, 62332, 78210, 78210, 78210, 78210,  3393,  3586,102396, 78210,
2065     3541,  1498, 72139,   420,  2135,  2986,  3486, -4993,  1245, -4993,
2066    58129, -4993, 78210,  3474, -4993, -4993, -4993, 76342,  3712,  3384,
2067    -4993, -4993, -4993, 95489, -4993, -4993,  3485, -4993,  2047, -4993,
2068    58129, 58129, 78210,  9254, 95956,   489,  3501, -4993, -4993,102396,
2069    -4993, 78210, 76809, 78210, 78210,  3542, 78210, 69337, 96423, 96890,
2070     1590,  1674,  3543, 78210, 69804,  3544, -4993,  3412, 78210, -4993,
2071    -4993, 54860, 58129, 78210,   974, 54393, -4993, -4993, 78210, -4993,
2072      830, -4993, 78210,  4540,  3488, -4993, -4993,  3361,  3365, 78210,
2073      425,  2306,  2986,  3650, 78210, 78210,  3283,  2055, 58129, 78210,
2074    54393, -4993,  3503,  1019, 58129, 78210, 76342, -4993,  3504, 72139,
2075    72139, 58129, 78210, 72139, -4993, 78210, 87550, -4993, 58129,  1418,
2076    -4993, 58129, 78210, 76342, -4993,  3506,  3442, 58129, 78210,  7926,
2077    -4993, -4993, -4993,   263, -4993, -4993, -4993, -4993, -4993, 78210,
2078    78210,   263, 78210, 78210,   263,  1331, -4993, 58129, 78210, -4993,
2079    -4993, -4993,  3414, 58129, 78210, 78210,   326, -4993, 58129,  3180,
2080    78210, 54393, -4993, 78210,  6937, 78210, 78210, 78210, 78210, 78210,
2081    78210, 58129, 78210, -4993, -4993,  1544,  1103,   120,  1251,  1358,
2082    78210,  3596, 78210, 97357, 58129, 78210, 78210,  1131, 78210, 54393,
2083      383, -4993, -4993,  3423, -4993, 58129,  1418, -4993,  9388, 78210,
2084    78210, 78210,  3380,  3382,   189,  3470, -4993, -4993, -4993,   626,
2085      626,  3507, -4993, 30365, 30365, 29407,  3307, -4993, -4993, 30365,
2086    -4993, -4993, -4993,   961,  3752, 97824,   961, -4993,   961,  3585,
2087     3369,  3370,   961, 78210,   961,   961, 78210, -4993, -4993, -4993,
2088    -4993,  3575, 78210,   961,   961,   961,  3491, -4993, -4993,  3491,
2089      191, 30365,102396, 78210, -4993,  2060, -4993,  3328,  1017, -4993,
2090    -4993, 54393, 78210,   391,  1124,  3654,  3531, 65601,  1209,  3647,
2091    78210,  3371, 78210,  3773,  3416, 72139,  2683, -4993,  1209, 78210,
2092    -4993,  2310, 67469, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
2093    78210, -4993, -4993,  3651, 78210, 30365,  3500, -4993,  1131,  2683,
2094     2683,  2683,  2683, -4993, -4993, -4993, -4993,  3545,  1871, -4993,
2095     3339,  2683, 78210,  3454,  3674,  1209,  3340,  3676, -4993,  1387,
2096     3679,  1333, 78210,  3548, 65601,  3398,  3387,  3566,  3793,  2005,
2097     1131,  3569,  3555, -4993, 51126, -4993,  2683, 26554,  3838,  4916,
2098     3556,  3617, 61398,  3656,  3657,  3680, -4993,   169, -4993,  3803,
2099     1388,  3681, 30365,  2068,  3360,   190, -4993, -4993,  3366,  3187,
2100     3388,  3391,  3376,  3395, -4993,  2471,   204,  3400,   981,   797,
2101     3490,  2471,  3598,  3402, -4993,   194, -4993,  2767, -4993, 78210,
2102    -4993, 78210, 78210, 78210, 78210,   292, -4993, -4993,   194,  2767,
2103      194,   848, -4993,  3631,   190,  2767,  3489,  3693, 61398, -4993,
2104      309, -4993,   319, -4993,  3578,   848, -4993,  3595,  2005, -4993,
2105    -4993, -4993, -4993, -4993, -4993, -4993, -4993,  2077, -4993, 78210,
2106    -4993,  3672,  3675,  3677,  3682,  3683,  3374,  3403,  3413, 78210,
2107     3407,  3374,   263,  3407,  3407,  3374,  2906,  2906,  3374,  3403,
2108    57662,  3845,  3698, -4993,  3468,  3394,  3719,   203, -4993,   208,
2109     1212,  3633, -4993, -4993, -4993, -4993,102396, -4993, 58129,  3450,
2110     2516,  2516, -4993,   176,  3613,  3410, 57662,  3847,   848, -4993,
2111    62332, -4993, -4993,102396,  3492,  3511, 62332,  3634,  3466, 62332,
2112    -4993, -4993, 62332, -4993, -4993, -4993, -4993, -4993,102396, -4993,
2113     3691, 78210, 78210,  2088, -4993, -4993,  1694, -4993,  1830, 30365,
2114      433, -4993, 14087,  2098, 30365,  3425,  3426, -4993, -4993, -4993,
2115    -4993, -4993, -4993, -4993,  3427,  3744, -4993,  2124,  2125,  2143,
2116     3429,  3432,  5250,  2928,  3434, 14224,  3435,  3437, 35634, 35634,
2117    27007,   589, -4993, 35634,  3438,  3621,  2148, 12915,  3441,  3440,
2118    14461, 29886, 30365, 29886, 29886, 14732,  3441,  3451,  2169, 54393,
2119     3627, 14770,  2193, -4993, 30365, 54393,  4260, 30365, -4993, 30365,
2120     3452, -4993, -4993,  5785,  5785,  5785,  3565, -4993,  3459, -4993,
2121    35634, 35634, -4993,  2405, 27007, -4993, -4993,  3763, -4993, -4993,
2122    -4993, -4993, -4993, -4993, -4993,  2314, -4993,  3447, -4993, -4993,
2123     3685,  3022, 47852,  6328, 30365,   269, 30365,  3221, 30365,  3538,
2124     5785,  5785,  5785,   500,   500,   246,   246,   246,  1839,   545,
2125    -4993, -4993, -4993,  3455,  3456,  3462,  3648,  3463, 30365, -4993,
2126     2231,  2353, 78210,  2881,  3006,  3640, -4993, -4993, -4993, 39400,
2127     3510,    87,  3510, -4993,  1234,  2471,   939, 52522, -4993, -4993,
2128    -4993, -4993, -4993, -4993, -4993, 78210, 15345, -4993, -4993,  3705,
2129     3464, -4993, -4993, 30365, -4993, -4993,   935,  3481,   653,    98,
2130     2411,  2411,  2312,   104, -4993, -4993,  3525, -4993, 30365,  2376,
2131    -4993,  2418, -4993, -4993, -4993, -4993,  2906, -4993,  3721, -4993,
2132    -4993, -4993, 39400,  3512,  3523,  1327, 42669,  3684, -4993, 78210,
2133    -4993, 78210,   196, -4993,  3493, -4993, -4993, -4993, -4993, -4993,
2134    -4993, 98758,  2111, -4993,102849, -4993,102849, -4993,  2111,  3905,
2135    -4993, 98758,  1925, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
2136    -4993, -4993, -4993, -4993, -4993, -4993, 58129, 58129,  3686, 78210,
2137     3690,  3697, 30365,   909, 78210,  3475,  3480,  1267,  3769, 78210,
2138    -4993,  3819,   848, -4993, -4993,  3572, -4993, 15345, -4993, -4993,
2139    -4993, -4993, -4993, 58129, 78210, -4993, 61398, -4993, 78210, -4993,
2140   102396, -4993, -4993, -4993, 78210,  3528, 78210, -4993, 78210, 78210,
2141    78210, -4993, -4993, -4993, -4993, -4993, -4993, -4993,  1501,102396,
2142    -4993, -4993, 78210, 78210,   157,  3576,  3577, 78210, -4993,  1370,
2143     3237,  9495, 78210, 78210, 78210,  3782, -4993, -4993, -4993, -4993,
2144     3723, -4993,  3834, -4993, 98758, -4993,  2767,   149,  3583,  2986,
2145     3724, -4993,  3846,  3711, -4993,  3636,  1140, -4993, -4993,  3639,
2146    -4993, -4993, -4993, -4993,  3850,   848,  3854,   848, 78210, 78210,
2147    78210, 78210,  3646, -4993, -4993, -4993, -4993,  3649,  3778, -4993,
2148    54393, 54393, 54393,  2194, -4993, -4993,  1131, -4993, -4993, -4993,
2149    -4993, -4993, -4993,  3811, -4993,  2211, -4993,   -14, -4993, -4993,
2150    -4993, -4993, -4993,  3857, 58129, 78210, 10121, 78210, 78210, 78210,
2151     3732,  2030, -4993,  1022,102396, -4993,100584, -4993, -4993,  2225,
2152    -4993,  3547, 78210,  3609, 58129,  3587, -4993, -4993, -4993,  3867,
2153     3529,  3529, -4993, -4993,  3529, -4993, -4993, -4993,  3792,  3726,
2154    -4993,   979,  3727, 58129,  3594, -4993, -4993, -4993, -4993,  3872,
2155     3618, -4993, -4993,  3622,  2357,  2986,  1387, -4993, -4993, -4993,
2156    -4993, -4993, -4993, -4993, -4993, -4993,  3660, -4993, -4993, -4993,
2157    -4993, -4993, -4993, -4993,  1499, -4993, -4993,  1596,   382,  2633,
2158     2986, -4993,   332, -4993,  3623, -4993,  3625, -4993, -4993, -4993,
2159     3812,  3814,  3820,  3642,  3643,  3678,  3653,  3661,  3708, -4993,
2160     3662,  3718,  3665,  3725,  3667,  3953,   848,102396,  3813,  1131,
2161     3713,  3931,   848, -4993,  3692, -4993,  3694, -4993,  2244,  4036,
2162    -4993, 78210, -4993,   439,  2688,  2986, -4993,  3696, -4993, 58129,
2163    78210, -4993, -4993, -4993, 30365,  3600,  3604,  3605, 15345, 15345,
2164    30365, -4993, -4993, 15345,  3599, -4993, -4993, -4993,102396, 78210,
2165     3869, -4993, -4993,   961, 78210, 78210, -4993,  3871, -4993, -4993,
2166     3873, 78210,  3883, -4993, -4993, -4993, -4993,   482,   482, -4993,
2167    -4993,  3921,  5848,  3619,   386, -4993, 54393, 45007,  2066,  2082,
2168      152,    10, -4993, 61398, 78210, 61398, -4993,  1124,  3711, 78210,
2169    78210, 78210,  3628,  3620, -4993, -4993, -4993, -4993, 58129,   776,
2170    58129,  2471, -4993, -4993,  3701, -4993, 78210,  2005,  4105,  3948,
2171    -4993,  3529, -4993,  4069,  3157,   348,  3784,  1717,  2788,  4012,
2172     2347,   268, 54393,  3387, -4993, -4993, -4993, -4993, 78210, 78210,
2173     1017,  1131, -4993,  3645,  3630, -4993, 78210,  3960, 78210, 78210,
2174    78210, 78210,  3450,  3637, 78210,  3655,102396, 78210,  2309,  2988,
2175     4097,  3987,  1457,  3398,  3735,  3995, 72139,  3687,  2254, -4993,
2176    -4993, -4993,  2255,   159, -4993,  1131, 61398, 99678,  3986, -4993,
2177     4916, -4993, -4993,  4916,   212, 78210,  3972, -4993, -4993,  1457,
2178    -4993,102396,  3669, -4993,  2259, -4993,  2260, -4993, -4993, -4993,
2179     2471, -4993, -4993,  1879,  1879,  3666, -4993,  3699, -4993, -4993,
2180    -4993, -4993, -4993, -4993, -4993,  3670, -4993, -4993, -4993,   309,
2181     3728,   848,  3729,   848, -4993, -4993, -4993, -4993, 78210, -4993,
2182    78210, 57195,   848, -4993, -4993, 78210, -4993,  4015, -4993, -4993,
2183     3815,  3817,  3818,  3821,  3823, 78210,  3374, -4993,  3695, 58129,
2184     1639, -4993, -4993,  3884, -4993, -4993, 72139,  3809, -4993, -4993,
2185    -4993, -4993,  4030,  4031, -4993, -4993, -4993,   969, -4993, 78210,
2186    78210, 58129, 67936,   343, 58129, -4993,  3970,  3971, -4993, -4993,
2187     3974,   263, -4993,  3976,  3977,  3979, -4993,  3980,  3981, -4993,
2188    -4993, -4993,  3714, 14853, 30365, -4993,  4057,102396, -4993,  7033,
2189    -4993, -4993, -4993, 30365, -4993, -4993, -4993, -4993, -4993, -4993,
2190     2346, 30365, -4993, 30365,  4038, -4993, 24680,  4184,  4184,  3715,
2191   102396, 35634, 35634, 35634, 35634,  1551,  2871, 35634, 35634, 35634,
2192    35634, 35634, 35634, 35634, 35634, 35634, 36589,   604, -4993,  3916,
2193    30365, 30365,  4046,  4038, -4993,102396,  3722,  3441,  3731,  3733,
2194    30365, -4993, -4993,  2265, 37532,  3734, 54393, -4993, 30365, 13326,
2195     2272,  3770, 15491,  1613,  7527,  1131, 30365,  2170,  2600, 30365,
2196     2289, 30365,  4044, -4993, -4993, -4993, -4993,  3730, -4993, -4993,
2197     3963,102396, -4993, 30365,  3739,  4023, 35634, 35634,  4479, -4993,
2198     5300, 30365, 27007, -4993,  3507,  3776, 44070, -4993, 25165,  3737,
2199      930,   930,   930,   930, -4993, 78210, 78210, 78210, 39867,  4064,
2200     3745, 38933, 77276,  3742,   251, -4993, 77276, 77743, 77276, -4993,
2201     3761, -4993,  1613, 30365,  4059,  3748,  4059,   272,  3753, -4993,
2202    -4993, -4993, -4993,  1457, -4993,  3755, -4993,  3481,   274, -4993,
2203    -4993, -4993,   656, -4993,  3836, -4993, -4993, -4993,  3742, 31802,
2204     3903, -4993, -4993, -4993,  3808,  2303, -4993, -4993,  4160,  3903,
2205    -4993, -4993,  2317, 43603,  3512, 30365,  1613,  2329,  1985, -4993,
2206    -4993, 98758, -4993,  3829,  2767,  2767,  2093,  3374,  4085,  2093,
2207     7897, -4993, -4993, 40334, 78210, 78210, -4993, 78210,  2334,  1679,
2208    78210, -4993, 78210, -4993, -4993, -4993, -4993,  4212, -4993, 78210,
2209    -4993, -4993,  3822,  3824, 78210, 78210, 78210, 78210,  4035, -4993,
2210    -4993,  2431, -4993, -4993, 58129, 78210, -4993, -4993, -4993,   447,
2211     2749,  2986, -4993,  3849, -4993, -4993,  4058, 78210, -4993,  4204,
2212     3865, 78210,  4115, 78210,  3779, -4993,  1679,  3885,  4094,  1653,
2213     2988,   328,  3502, -4993,  1810, -4993, -4993,  3851, -4993, 78210,
2214    -4993, 78210, -4993, -4993, -4993, -4993, -4993, -4993, -4993,  3911,
2215    -4993, -4993, -4993, -4993, 54860, -4993, -4993, 78210, -4993, 54393,
2216    45007, 54393, 78210, -4993,  1614,   468,  2750,  2986, -4993,  3863,
2217    -4993,  4121,  3868,  3870,  3923,   738,   966,  3875,  3877,  3932,
2218     3806,  3827,  3828, -4993, 54393, 45487,  3964, 78210,  2767,  3830,
2219     3848, 78210,   326,  1131, -4993, -4993,  1131,  2767,  1131, 78210,
2220    78210, 78210, 78210,   326, 54393, -4993,  4240,  3901, 78210, 78210,
2221    78210, 78210, -4993,  3864, -4993, 78210, 78210,  4138,   723,  2137,
2222    58129, 78210, 78210, 58129, 78210, 78210, 78210, 78210, 78210, 78210,
2223    78210,  4027, -4993,  4227,  4158,  2076,  4201,  3902, 78210, -4993,
2224    78210,  1131, -4993,  3237, 78210, 78210, 78210, 78210, -4993, -4993,
2225    -4993, -4993, -4993,  3507, -4993,  3832,  4108,   961, -4993,  4110,
2226     4111,   961,   961,  4112,   961, -4993, -4993,    10, -4993,   457,
2227    78210, -4993,  2340, 78210, -4993, -4993, -4993,  3755,  1743,  2284,
2228    -4993, -4993, -4993, -4993, -4993, -4993, 78210,  3831, 78210, 78210,
2229    35634, -4993,  2220,  1668,   278, -4993,  4109, 78210,  3180, -4993,
2230    -4993, -4993,  1255, 78210, -4993, -4993, -4993, -4993, -4993,   632,
2231     3637, -4993,  4130, 65601,  2767, 58129, 58129,  2767, -4993,102396,
2232     3842,  3387, -4993,   224,  3924, 58129,   348,  1072, 98291,  3193,
2233     3876,  4053, 39400,  1499, -4993,  3843,  4005, -4993,  3852,  3853,
2234    -4993, -4993, 78210,  3711, 57195,  2341,  1387,  4299,    97,  1986,
2235    -4993, 67002,  4039,  3637,  4130, -4993,  2988,  4062,  4063, -4993,
2236     1457, 78210,  3450,  3387,  1131, 78210,  3306, 45007, -4993,  4337,
2237    -4993, 98758, 30365, 30365, -4993,  3855, -4993,  3856,  4916, -4993,
2238     3928,  3858, -4993, -4993, -4993, -4993, -4993,  3941,  3866, 78210,
2239    -4993,  3878,  3681, -4993,  3681, -4993,  3874, -4993, -4993, -4993,
2240    -4993, -4993, -4993, 78210, -4993, 78210, -4993,   848, -4993,  3988,
2241    -4993,   848, 78210, 78210, 78210, 78210, 78210, 78210,  3374,   263,
2242    -4993,  4179, 57662, -4993, -4993,  2342, 78210, -4993, -4993, -4993,
2243     4246, -4993, -4993,   124,  4188, -4993, -4993,   984,   984,   984,
2244     4143,   984,   984,   984,   984,   984, -4993, 30365, 15345, -4993,
2245     3881, -4993, 15345,  3882,  8484, 15345,  4046, -4993,  2360, 30365,
2246    -4993,  4294,  4294,  4294,  2751,  4190, -4993,  1419,  3886,  4294,
2247     4294,  4294,   491,   491,   211,   211,   211,  4184,   604, 15345,
2248    15345, -4993, -4993,  3888, -4993, -4993, -4993,  3441, -4993, 32281,
2249     1363,  4303, 37065, -4993, -4993, -4993,  3913,  3915,  3892, -4993,
2250    30365, 32760,  3880,103302,  4073, -4993,  1356, 30365, 30365,  3810,
2251    -4993,  6852, 30365,102396, -4993,  2361,  3810,   398, 30365,  2792,
2252     2842, 30365, 30365,  6243,  8712,  3893, 30365, 99211, -4993, -4993,
2253    -4993,  2367, 30365, 78210, 78210, 78210, 78210, -4993, -4993, -4993,
2254    77276, 77743, 77276,  3887, 37999, 25633,   251,  3894, 78210, -4993,
2255    -4993,  3897, 39400,  4149,  4083, -4993, 39400,  4083,  1916,  4083,
2256     4169,  3989, 44537, -4993, -4993,  3900, -4993,  4102, -4993,  2006,
2257    15345,  4334,  4213,  1131,  4213,  1131,  3904, 47852, -4993, -4993,
2258    -4993, -4993,  3991, -4993,  4123, 15345, 28449, -4993,  1457,  2815,
2259    78210,  1613,    75, -4993,  3922, 78210, -4993,  3903, 15345, -4993,
2260     3983,  2377, -4993, -4993, -4993, -4993, -4993, -4993, -4993,  3994,
2261    67469,  4235, -4993, 30365,  2381, -4993,  3954,  4328,   239,  2382,
2262     2387,  1679, -4993,  4214, -4993,  1782,  4208,   205, -4993,   848,
2263    -4993,102396, -4993, 78210, 78210, -4993, -4993, -4993, -4993, 78210,
2264     2945, -4993, -4993, 78210, 78210, 78210, 78210, -4993, -4993, 58129,
2265    78210, -4993, 78210, -4993, 54393,  2082,   326,  2220,  4222,  4223,
2266     4140, -4993,   263, -4993,  2220,  4141,   326, 78210, -4993, -4993,
2267     2757, -4993,102396,   848,   848, -4993, -4993, -4993, -4993, -4993,
2268     3935, -4993,  4357,  4016, 78210, 78210, 78210, 78210, 78210, 58129,
2269    78210, 78210,  2471,  2471,102396,  3925, -4993,  2471,  2471,  3926,
2270    -4993, 58129, 78210, 78210, -4993, -4993, -4993, -4993, -4993, -4993,
2271    -4993, -4993, -4993, -4993, -4993,  4008, -4993, 30365,  4351, -4993,
2272    -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
2273    -4993, 58129, 78210,  4014, -4993,  4017, -4993,   793, -4993, -4993,
2274    78210, 78210, 78210, 78210,  4273, -4993, -4993, -4993, -4993, -4993,
2275    -4993, -4993, -4993, -4993, -4993, -4993,  4271, 78210, -4993, -4993,
2276     1131,  1131,102396,   848,   848, -4993, -4993, -4993,  4018, -4993,
2277    -4993,  3938,  4216,   961, -4993,   961,   961, -4993, -4993,   961,
2278    -4993,  3943, -4993,    10,  4309, -4993,  1679,  1691,  4263, -4993,
2279     4266, 30365, -4993,  1607,  2751, -4993,  4319,  4398, -4993, -4993,
2280    -4993, -4993,  3180,  2005,  4006, -4993, -4993, 62332,  1326, -4993,
2281     4249,   391,  4167, 65601,   332,   303,  3957,  4082, -4993,  2767,
2282     2767,  4021, 78210,  4409, -4993, -4993, -4993, -4993, -4993, -4993,
2283    58129,  3587, -4993,  4185,   103,  4284, 78210, 30365,  3742, -4993,
2284     2016,  4291, -4993,  1131, -4993, -4993,  4093,  3387, -4993,  1377,
2285    78210,  4186, 65601,  3450,  2408, -4993, -4993, -4993,  4009,  4402,
2286     3398, -4993,   332,  4039, -4993, -4993,  4380,  4065,  4019,  4426,
2287    -4993,  4065,  4298,  4187,  3985, -4993,  3687, -4993, -4993, 15345,
2288    15345,  1131,103755,  4916,102396,  4305, 78210,   192,  4268,   848,
2289     2409, -4993, -4993,   848,   848, -4993, 78210, -4993,  3374,  3374,
2290     3374,  3374,  3374, -4993,  4193, -4993, -4993,  4259, -4993,   848,
2291    57662, -4993, -4993, -4993, -4993, -4993,   984, -4993, -4993, -4993,
2292    -4993, -4993, 15345, -4993, -4993, -4993, -4993, -4993,  9522, 35634,
2293     4310, -4993,  3992,102396, -4993,  3996,  2413,  2415, -4993, -4993,
2294     1363, -4993,  4303, -4993, -4993, -4993,  9696,  4042, 15345,  4116,
2295     3993,  4011,  3810,  3810,  6852,  2420, -4993,  3810, 30365, 30365,
2296     3810,  3810, 30365, -4993, -4993,  9857,  4197, -4993, -4993, 10201,
2297    -4993, -4993, -4993, -4993, -4993, -4993, -4993, 55327,  3997,  3627,
2298    77276,  4010, 78210,   251, 39400, -4993, -4993,  2274, -4993, 39400,
2299     4292, -4993, 39400, 62332, -4993, 78210,  4013, 78210, -4993, 33239,
2300    30365,  4060, -4993,  4060, -4993, -4993,  4022, -4993, 78210,  2882,
2301    -4993,  1327, -4993, -4993,  4420, 40334,  4381, 30365, -4993, -4993,
2302    -4993, -4993, 57662,  4233, 57662,  1679, 10677,  4214, 40334, 48798,
2303    78210, -4993, 78210, -4993,  4189,  4214,  4026,  3180, -4993, -4993,
2304    -4993, -4993, -4993, -4993,  4029, -4993, -4993, -4993, -4993,  4107,
2305    -4993, -4993,  1014,  3424, -4993,  2421, -4993, -4993,  4477,  4369,
2306     4370, -4993, -4993, -4993, -4993, -4993, -4993,  4227, -4993, -4993,
2307    45007, 58129, 78210, -4993,  4113, -4993, -4993, -4993, -4993, -4993,
2308    -4993, 42202, 47852, -4993,   738,  4034,  4037,   966, -4993, -4993,
2309    -4993, 78210, 11055,  4041,  1147,  3424, 78210, 78210,  4043,  4045,
2310     4048,  1619,  1353,  1886,  3374,  4361, 78210, -4993, -4993, -4993,
2311     4227, -4993, -4993, 78210, -4993,   961, -4993, -4993, -4993, -4993,
2312    54393, -4993,  2853,  3943,  1131, 62332,  4487,  4487, 78210, -4993,
2313    11195,  4257, -4993, -4993,   412,  4006,  4293,  4336, -4993,  4049,
2314    78210,  1255,  4050, 78210,  4051,  4175,  1412,  1412, 78210, 78210,
2315    78210,  2441,  1457,  2767,  3848,   348,  4393, 65601,  4435,  3711,
2316      345, -4993, -4993,  2016, -4993,   116,  4410,  4103, -4993, 78210,
2317     4510, 78210,  3450,  3637, 78210,  4067, -4993, -4993, 67002,  4267,
2318     2082, 78210,  2309,  4039,  3398,   942, 78210, -4993,  1550, -4993,
2319     1457, -4993, 78210, 72139, 40334, -4993,102849, -4993,  2442, -4993,
2320    -4993,  4134,  3510,  4176,  4180,  4068, 78210,   122, -4993, -4993,
2321    -4993, -4993, -4993, -4993, 78210, -4993,   343, -4993, -4993,  2903,
2322    35634,102396,  2462, 30365, -4993, 30365, -4993, -4993, -4993, -4993,
2323       59, -4993, -4993, -4993,  3810,  3810,  3810, -4993,  4496,  3507,
2324    -4993, -4993,  2468,  4520, 34676,  4481, -4993, 78210,  2474, -4993,
2325    30365,  4074, -4993, -4993, 39400,  2274,  4075,  2478, 78210,  2482,
2326   102396,  4079,   867,  4081, 23710,  4078, -4993, -4993, -4993, -4993,
2327    -4993, 15345, 15345, 78210, -4993, -4993, -4993, -4993,  4124, 78210,
2328     2501, -4993,   968, 15345,  1639,  2093,   343,  4328,  3180, -4993,
2329     4086, -4993, -4993,  2988,  1481, 78210,  3180, 78210,  4006, -4993,
2330    78210,  4172, -4993, -4993, 54393,  4388, -4993, -4993,  4145, -4993,
2331     1288,  3424, 78210,102396, -4993,   114,  4412, -4993,102396,102396,
2332    -4993, -4993, -4993, 30365,  4181, -4993, -4993, -4993, 30365, 30365,
2333    64667, -4993, -4993, 78210, 78210, 78210, 78210, 78210, -4993,   848,
2334    -4993, -4993,  2505, -4993, 41268, -4993, -4993,  3116,  1131,  3116,
2335     1763, -4993, -4993,  3116,  3116, -4993,  3510, -4993,  4487,  1102,
2336    -4993, -4993, -4993,  2138,  4317,  4091, 30365, -4993,   999,  4301,
2337     4183,  4095, -4993, 62332,  4579,  3637,  4130, 78210, -4993, -4993,
2338    -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993,  2509,
2339     3711,  4434,  3387,  4019, -4993, 78210,  4137, -4993, 39400, -4993,
2340    -4993, -4993,  3116, -4993,  1766,  4106,  4444,  3711,  1457,  1986,
2341    -4993,  4039,  3637,  4130, -4993, -4993,  4114,  4063,  3398,  2309,
2342     4245, -4993,  4253, -4993,  4527,  4324,  4530,  3450, -4993,  3306,
2343     2510, -4993,  4916,103755,102396,  4478,  4157,  4159, -4993, -4993,
2344     4177, 78210, -4993, -4993,  3711, -4993,  2903,  2530, -4993,  2532,
2345     2536,  4174, -4993, 30365,  1071,  3761, 55327,  4127, -4993, 35634,
2346     2538, -4993,  2213, 78210,  2549, -4993, 15345, 78210, -4993, -4993,
2347    30365, -4993,  2551, -4993, 30365,  4129, 30365, -4993, 33239,  4120,
2348    -4993,  4580,  1457, -4993,  3510, 40334, -4993,  4251, -4993,  4452,
2349    -4993, -4993,  4006, 47852,  1481,  3481,  2005,  4006,  2558, -4993,
2350    -4993, 78210, -4993,  4091, 30365, -4993,  4225, -4993, -4993,  2562,
2351     1560,  4300,  4300,  2568,  2575, 11332, 78210,  2579,  2601, -4993,
2352     2603,  2471,  3403,  1886,  3403, -4993,  3374, -4993, -4993, 54393,
2353    -4993, 55794, -4993, -4993, -4993,  1131, -4993,  1131,  4356, 78210,
2354    50199,  1131,  1131, -4993, -4993, -4993, -4993,  4491,  4430, -4993,
2355     1387, -4993, 11550, -4993, -4993, -4993,   465, -4993,  4349,  4350,
2356    78210, -4993,  4151, -4993,  2605,   332,  4269,  3711, -4993, -4993,
2357    78210,  4592,  4598, -4993,   862, 78210,  3742, 78210, -4993, -4993,
2358    -4993, 30365,  1255, -4993,  4019,  3450,  3398,   332,  4039,  2082,
2359    40801,  4065,  2309,  4063, -4993, -4993,  4358, -4993,  4359, -4993,
2360     4152,  4450,  4916, -4993, -4993,   346,  4474,  4475, -4993, -4993,
2361    -4993, -4993, -4993, -4993, -4993,  3441, 33718, 33718, 33718,  4161,
2362    -4993, -4993, 78210,  2751,  4155, 34676, 54393,  2616, -4993,101037,
2363    -4993,  2618,  2630, -4993,  2637, 33239,  2638, -4993, 78210,  4163,
2364    -4993, -4993, -4993, 43603, 57662,  4200,  4165,  3481, -4993,  4293,
2365    -4993, -4993,  1679,  3424, -4993, 15345, 78210, 62332,  4595, -4993,
2366    -4993, -4993, -4993, -4993, -4993, -4993,  3424,  4241, -4993, -4993,
2367    64667, -4993, 78210, -4993, -4993,  2655, -4993, -4993, -4993, 78210,
2368     3843, -4993,  3843, -4993, -4993,  4306, -4993,  1185,  4270,  1090,
2369     1090,  4534, -4993,  4229, -4993, -4993,  4171, -4993,  4654,  4312,
2370    78210, -4993, -4993,   738,  1457, 65601,  3711, -4993, -4993, 11687,
2371    62332, -4993, -4993,  2309,  4039,  3398, 30365,  2664, -4993,  4328,
2372      239, -4993,  4063,  4065, -4993, -4993, 40334,  4182,  3387, -4993,
2373    -4993,  2049, 62332, 62332, 35155,  4313,   236, 13605,  4518, -4993,
2374     4518,  4518, -4993,  2671, 37065, -4993, -4993, -4993, 78210,  4378,
2375     1013, -4993,  4332, -4993,  2690, -4993, -4993, -4993,     1,   343,
2376     4191, -4993, -4993, -4993,  4301,  1679, -4993,  3424, -4993, 78210,
2377    -4993,  4194, -4993, -4993, -4993, 55794,  3843,  4103, -4993, -4993,
2378    -4993,  4644, -4993,   275, -4993, -4993, -4993, -4993, 78210,  3711,
2379     3925,  4019, -4993, -4993,  4195,  4063,  3398,  2309, 11913, -4993,
2380    40801, 78210, 78210,  4065, -4993,  2692, 40334,  4065, -4993,  2981,
2381    -4993, -4993, -4993, -4993, -4993, -4993, -4993,  4198,  4199,  4638,
2382    -4993, -4993, -4993, -4993, -4993,  1404, -4993, -4993, -4993, -4993,
2383     3627, -4993, -4993, 35634, 35634,  4407, -4993,  1013, -4993,  4206,
2384    -4993, -4993, -4993, -4993, 30365,  1679, -4993, -4993, -4993, 30365,
2385    -4993,  4532, -4993, -4993, -4993,  3711, -4993, -4993, 53926,  4065,
2386     2309,  4063,  4328, -4993, -4993, -4993, -4993, -4993,  4450, -4993,
2387     2697,  3510,  2350, -4993, -4993,  2401,  2369,  4277,  4524, 34197,
2388     4346, -4993,  4411, -4993,  4607,  2751,  2751, -4993, -4993, 30365,
2389    12307,  1679,  2699,  1255, -4993, -4993,  2703, -4993, -4993, -4993,
2390    -4993, -4993,  4063,  4065, 78210,  3387, -4993, 40334, -4993, -4993,
2391     2981,  4323,  4325, -4993, -4993, -4993, 78210, 12439, -4993, -4993,
2392    62332, -4993, 53926,  4065, -4993, -4993,  4065, -4993, -4993,  4254,
2393     4255,  2705, -4993,  4219, -4993, -4993,  3510,  4539,  4543, -4993,
2394    53926, -4993, 62332, 62332,  2709, -4993, -4993, -4993
2395 };
2396 
2397   /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
2398      Performed when YYTABLE does not specify something else to do.  Zero
2399      means the default is an error.  */
2400 static const yytype_uint16 yydefact[] =
2401 {
2402     1680,  1446,   622,  1532,  1531,  1446,     0,   256,     0,  1542,
2403        0,  1446,   415,  1118,     0,     0,     0,     0,   622,  1446,
2404        0,  1680,     0,     0,     0,     0,     0,  1693,     0,     0,
2405        0,     0,     0,     0,     0,     0,     0,  1446,     0,     0,
2406     1700,     0,     0,     0,     0,  1693,     0,  1544,     0,     0,
2407        0,     0,     0,     2,     4,    39,    74,    75,    32,    31,
2408       93,    57,    18,    65,   127,   126,   128,    44,    40,    82,
2409       27,    29,    41,    45,    67,    69,    34,    47,    58,   105,
2410       66,    25,    64,    88,    70,    91,    52,    12,    13,    53,
2411       14,    54,    15,    55,    16,   101,    76,    94,    37,    63,
2412       24,    46,    72,    73,     5,    48,    80,    11,    59,    60,
2413       62,    85,    86,    87,   110,    89,   122,    43,   119,    98,
2414       99,   116,   100,   117,     9,   102,    56,    17,   113,   112,
2415      114,    83,    49,    84,    71,    92,   111,    28,   115,    19,
2416       20,    22,    23,    21,    61,    30,    68,    33,    90,   118,
2417      108,   104,   123,   121,   129,   106,    77,     7,     8,    95,
2418        6,    26,    51,    10,    36,    35,    50,    42,   125,    38,
2419     1542,    97,   109,    96,    78,   103,    81,   107,   124,    79,
2420      120,  1650,  1649,  1702,  1653,  1679,     0,  1665,  1445,  1444,
2421     1459,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2422        0,     0,     0,     0,     0,     0,     0,   621,     0,     0,
2423        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2424        0,     0,     0,     0,     0,     0,     0,  1456,  2296,  2311,
2425     2312,  2313,  2314,  2315,  2316,  2317,  2318,  2319,  2320,  2321,
2426     2322,  2323,  2324,  2325,  2326,  2661,  2327,  2328,  2329,  2610,
2427     2611,  2662,  2612,  2613,  2330,  2331,  2332,  2333,  2334,  2335,
2428     2336,  2337,  2614,  2615,  2338,  2339,  2340,  2341,  2342,  2616,
2429     2663,  2343,  2344,  2345,  2346,  2347,  2664,  2348,  2349,  2350,
2430     2351,  2352,  2353,  2354,  2355,  2356,  2665,  2357,  2358,  2359,
2431     2666,  2360,  2361,  2362,  2363,  2364,  2365,  2617,  2618,  2366,
2432     2367,  2368,  2369,  2370,  2371,  2372,  2373,  2374,  2375,  2376,
2433     2377,  2378,  2379,  2380,  2381,  2382,  2383,  2384,  2385,  2386,
2434     2387,  2388,  2389,  2390,  2391,  2392,  2619,  2393,  2394,  2395,
2435     2396,  2620,  2397,  2398,  2399,  2621,  2400,  2401,  2402,  2667,
2436     2668,  2403,  2404,  2405,  2406,  2407,  2622,  2623,  2408,  2409,
2437     2410,  2411,  2412,  2413,  2414,  2669,  2415,  2416,  2417,  2418,
2438     2419,  2420,  2421,  2422,  2423,  2424,  2425,  2426,  2670,  2624,
2439     2427,  2428,  2429,  2430,  2625,  2626,  2627,  2431,  2671,  2672,
2440     2432,  2673,  2433,  2434,  2435,  2436,  2437,  2438,  2628,  2674,
2441     2439,  2675,  2440,  2441,  2442,  2443,  2444,  2445,  2446,  2447,
2442     2448,  2449,  2450,  2451,  2452,  2453,  2454,  2455,  2456,  2457,
2443     2458,  2629,  2676,  2630,  2459,  2460,  2461,  2462,  2463,  2464,
2444     2465,  2631,  2632,  2466,  2467,  2468,  2677,  2469,  2633,  2470,
2445     2634,  2471,  2472,  2473,  2474,  2475,  2476,  2477,  2478,  2479,
2446     2480,  2635,  2678,  2481,  2679,  2636,  2482,  2483,  2484,  2485,
2447     2486,  2487,  2488,  2489,  2490,  2491,  2492,  2637,  2493,  2638,
2448     2496,  2494,  2495,  2497,  2498,  2499,  2500,  2501,  2502,  2503,
2449     2504,  2505,  2506,  2639,  2507,  2508,  2509,  2510,  2511,  2512,
2450     2513,  2514,  2515,  2516,  2517,  2518,  2519,  2520,  2521,  2522,
2451     2523,  2524,  2680,  2525,  2526,  2527,  2528,  2529,  2640,  2530,
2452     2531,  2532,  2533,  2534,  2535,  2536,  2537,  2538,  2539,  2540,
2453     2541,  2542,  2543,  2544,  2545,  2641,  2546,  2547,  2681,  2548,
2454     2549,  2642,  2550,  2551,  2552,  2553,  2554,  2555,  2556,  2557,
2455     2558,  2559,  2560,  2561,  2562,  2563,  2643,  2564,  2565,  2566,
2456     2567,  2682,  2568,  2569,  2570,  2571,  2572,  2573,  2644,  2645,
2457     2574,  2575,  2646,  2576,  2647,  2577,  2578,  2579,  2580,  2581,
2458     2582,  2583,  2584,  2585,  2586,  2587,  2588,  2589,  2590,  2591,
2459     2592,  2593,  2594,  2648,  2649,  2595,  2683,  2596,  2597,  2598,
2460     2599,  2600,  2601,  2602,  2603,  2604,  2605,  2606,  2650,  2651,
2461     2652,  2653,  2654,  2655,  2656,  2657,  2658,  2659,  2660,  2607,
2462     2608,  2609,   131,     0,     0,  2270,  2297,  2298,  2301,  2296,
2463      387,   386,  1640,  2264,  2297,  1541,  1521,   622,     0,  1459,
2464      414,  1680,     0,     0,     0,     0,     0,     0,     0,   855,
2465        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2466        0,     0,   179,     0,     0,     0,     0,   438,   437,     0,
2467        0,     0,  1084,   443,     0,     0,     0,     0,     0,   610,
2468     1589,  2494,  1587,  1641,   257,   260,   261,   258,   259,  2286,
2469        0,  1220,  1221,  1223,     0,     0,  1233,   895,   896,     0,
2470        0,     0,   904,     0,     0,     0,   893,     0,     0,     0,
2471      909,     0,   906,     0,     0,   910,   907,   890,   908,   897,
2472        0,   889,     0,     0,  1233,   911,     0,     0,   891,     0,
2473        0,     0,     0,  1459,  1586,   444,  1680,     0,  1563,  1564,
2474     1565,  1542,  1554,  1566,  1559,  1561,  1560,  1562,  1558,  2285,
2475     2312,  1019,  1019,  1019,  1019,  1016,  1017,  1019,  1019,  1019,
2476     2514,     0,     0,   998,     0,  1000,  2287,  1019,  1024,   507,
2477      507,   507,     0,  1023,  1028,   507,     0,  1427,  1468,  2269,
2478     1692,     0,   999,  1426,  2574,  1577,     0,     0,  1248,  1244,
2479     1246,  1247,  1245,     0,  1087,  1087,  2532,  1438,   241,  2543,
2480     2644,  2574,   240,   235,   236,   209,  2316,     0,     0,  1023,
2481        0,  1459,  1436,   981,  1699,  1697,     0,  2251,  2336,  2351,
2482     2442,   232,  2525,  2533,  2543,  2644,  2574,  2606,   188,   198,
2483      193,     0,   250,  2543,  2644,  2574,   246,  1456,     0,  1666,
2484     1803,  2260,     0,  1429,  1428,  1543,     0,  1546,     0,  2509,
2485     1670,  1673,  1548,  1671,  1662,     0,     0,     1,  1680,     0,
2486     1553,  1696,  1696,     0,  1696,     0,  1654,  1662,  1657,  1661,
2487        0,     0,     0,     0,     0,  1430,     0,     0,     0,   914,
2488        0,  1471,  2265,  1069,     0,     0,     0,     0,     0,  1320,
2489        0,  1127,  1126,  2302,  2292,  2293,     0,  2290,  2291,  2303,
2490     2304,  2305,     0,  2414,  1320,     0,     0,  2158,  2169,  2170,
2491     2171,  2340,  2397,  2166,  2167,  2168,  2160,  2161,  2162,  2163,
2492     2164,  2165,     0,     0,  1215,  2159,     0,  2414,     0,  1320,
2493        0,   158,     0,   135,  1320,     0,     0,  2414,     0,     0,
2494     2414,     0,     0,     0,     0,     0,  2414,     0,     0,     0,
2495        0,     0,   158,  2447,     0,   135,  2414,     0,     0,  1450,
2496        0,     0,     0,  1452,  1455,  1431,     0,  2243,     0,  2244,
2497     2271,  1524,     0,  2260,     0,     0,     0,   950,   943,     0,
2498      951,   958,     0,     0,   960,     0,     0,   944,     0,     0,
2499        0,     0,     0,   963,   964,     0,     0,   965,   945,   966,
2500      946,   967,   947,   968,     0,     0,     0,     0,   948,     0,
2501        0,     0,  1442,  1433,     0,  1579,  1581,  1580,  1578,   507,
2502        0,     0,     0,  2414,     0,     0,   135,  1509,     0,  2414,
2503      135,     0,     0,   442,   441,   135,  2290,   440,   439,  2340,
2504     2397,     0,  1117,     0,  1385,   135,  2414,     0,   181,  2414,
2505      696,  2414,  1548,     0,   625,     0,     0,   810,  2447,   135,
2506        0,     0,     0,     0,     0,     0,  1087,     0,     0,     0,
2507        0,     0,   609,   622,  1590,  1588,     0,  1224,   234,   233,
2508     1222,   902,  2414,  1159,   348,     0,     0,  2414,  1490,  2299,
2509     1878,  1907,  1885,  1907,  1907,  1874,  1874,  2380,  1887,  2414,
2510     1875,  1876,  1912,     0,  1907,  1874,  1879,     0,  1877,  1915,
2511     1915,  1902,   348,   918,  1859,  1860,  1861,  1862,  1888,  1889,
2512     1863,  1894,  1895,  1899,  1864,  1929,  1874,  2300,   903,     0,
2513      894,  2414,   348,  1123,  2414,  2294,   168,     0,   892,  2340,
2514     2397,  2414,   348,  1217,     0,  2414,   348,  2414,   164,  2414,
2515      348,  2414,   348,  2414,   626,     0,     0,  2414,   348,  2414,
2516     2447,   166,     0,  2414,   348,   912,  2414,   348,  2262,  2414,
2517        0,  1434,     0,  1582,     0,  1556,  2648,  1571,     0,  1567,
2518     1574,  1570,  1680,  1019,  1018,     0,  1019,     0,  1019,     0,
2519     1019,     0,  1019,     0,     0,     0,  1019,  2288,  2289,  1001,
2520        0,  1025,     0,     0,  1032,  1031,  1030,     0,     0,     0,
2521     1033,     0,  1807,  1617,     0,  1424,  1441,     0,     0,     0,
2522     1087,  1251,     0,  1249,  1086,     0,     0,  1437,   239,   237,
2523        0,     0,     0,     0,     0,     0,  1443,     0,  1435,     0,
2524        0,     0,  2273,  2275,  2276,  2172,  2246,     0,  2611,  2612,
2525     2613,  2235,     0,  2614,  2615,  2616,  2663,  2064,  2051,  2060,
2526     2065,  2052,  2054,  2061,  2617,  2618,  1999,  2619,  2620,  2283,
2527     2621,  2622,  2623,  2625,  2626,  2627,  2628,  2056,  2058,  2629,
2528     2630,  2632,     0,  2284,  2633,  2634,  2476,  2636,  2637,  2639,
2529     2640,  2062,  2642,  2643,  2644,  2645,  2646,  2647,  2282,     0,
2530     2063,  2649,  2651,  2652,  2653,  2654,  2656,  2657,  2658,  2659,
2531        0,     0,     0,  2257,     0,  2031,     0,  1867,  1868,  1890,
2532     1891,  1869,  1896,  1897,  1870,     0,  2256,  1932,  2117,  2030,
2533     2047,     0,  2036,  2037,     0,  2029,  2025,  1682,  2252,     0,
2534     2026,  2272,  2274,  2236,  1682,  2250,   201,   252,     0,   253,
2535     2258,  2543,   189,   231,   203,   230,   204,   202,     0,  2338,
2536      190,     0,     0,   191,     0,     0,     0,     0,   249,   247,
2537        0,  1432,     0,  1805,  1804,  2261,   923,     0,  1535,  1529,
2538     1538,  1534,  1545,  1542,  2182,     0,  1672,     0,     0,     0,
2539     1652,  1651,     3,     0,  1550,  1552,  1527,  1548,  1694,  1695,
2540        0,     0,     0,     0,     0,     0,     0,     0,  1752,  1710,
2541     1711,  1713,  1749,  1753,  1761,     0,  1658,     0,     0,  1809,
2542        0,     0,  1457,     0,     0,     0,     0,     0,  1158,     0,
2543        0,     0,     0,     0,   915,     0,     0,     0,  1477,     0,
2544     1479,  1480,  1481,     0,     0,  1482,  1483,  1471,   243,  1489,
2545     1487,  1470,  1472,  1485,     0,     0,     0,     0,     0,     0,
2546        0,  1501,     0,   172,   173,     0,   638,   622,     0,  2414,
2547        0,     0,     0,     0,  1166,  1173,  1319,     0,     0,     0,
2548        0,     0,     0,     0,     0,  1167,  1165,     0,  1168,   245,
2549     1178,  1197,  1200,     0,     0,  1125,  1128,     0,     0,     0,
2550        0,     0,  1310,     0,     0,     0,  1310,     0,     0,     0,
2551     1319,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2552      268,   270,   281,   343,     0,   601,     0,     0,     0,   604,
2553        0,  2414,  1320,     0,     0,     0,  1219,     0,     0,     0,
2554        0,     0,     0,     0,     0,  1200,     0,     0,     0,     0,
2555        0,     0,     0,     0,     0,   133,   134,   139,     0,     0,
2556        0,     0,  1200,     0,     0,     0,     0,     0,     0,     0,
2557      587,   600,     0,     0,     0,     0,     0,   597,     0,     0,
2558      135,   273,   577,   583,     0,     0,     0,   703,   702,     0,
2559        0,     0,     0,     0,  1401,  1400,     0,     0,     0,     0,
2560     1499,  1498,     0,     0,     0,     0,     0,     0,  1310,     0,
2561      262,   264,     0,     0,     0,     0,     0,     0,     0,     0,
2562        0,     0,     0,     0,     0,     0,     0,   379,   380,     0,
2563        0,     0,   139,     0,     0,  1310,     0,   275,     0,     0,
2564     1451,  1448,  1449,     0,  1454,     0,     0,     0,     0,  2039,
2565        0,  2186,  1702,  2184,  1143,  2242,     0,  2306,  2684,  2685,
2566     2686,  2687,  2688,  2689,  2690,  2691,  2692,  2693,  2694,  2695,
2567     2696,  2697,  2698,  2699,  2700,  2701,  2702,  2703,  2704,  2705,
2568     2706,  2707,  2708,  2709,  2710,  2711,  2712,  2713,  2714,  2715,
2569     2716,  2717,  2718,  2719,  2720,  2721,  2722,  2723,  2724,  2725,
2570     2726,  2727,  2728,  2729,  2730,  2731,  2732,  2733,  2734,  2735,
2571     2736,  2737,  2738,  2739,  2740,  2741,  2742,  2743,  2744,  2745,
2572     2746,  2747,  2748,  2749,  2750,  2751,  2752,  2753,  2754,  2755,
2573     2756,  2757,  2758,  2759,  2760,  2239,  2238,  2267,  2307,  2308,
2574     2309,  2310,  2245,     0,  1520,     0,   957,     0,     0,     0,
2575        0,   959,     0,   952,     0,     0,   949,  2340,  2397,     0,
2576        0,     0,     0,     0,     0,     0,     0,     0,   962,     0,
2577        0,     0,     0,     0,     0,     0,     0,     0,     0,   818,
2578        0,  1471,  1508,     0,     0,     0,   631,     0,  2414,     0,
2579      137,   856,     0,   808,   443,     0,     0,     0,  1190,  1384,
2580      137,     0,     0,   175,     0,     0,   700,     0,     0,     0,
2581        0,     0,     0,     0,     0,     0,   747,   746,     0,     0,
2582        0,   809,     0,     0,   137,     0,  2414,   580,  2414,     0,
2583      507,   507,     0,     0,  1089,     0,     0,     0,     0,     0,
2584        0,  1644,  1646,  1645,     0,  1643,     0,   346,   347,     0,
2585     1207,  1232,     0,     0,     0,  1906,  1893,  1901,  1900,     0,
2586     1883,  1882,  1881,     0,  1880,     0,  1907,  1907,  1905,  1884,
2587     1859,     0,     0,     0,  1911,     0,  1909,     0,   885,  1855,
2588     1851,     0,  1918,  1919,  1920,  1917,  1930,  1916,     0,  1865,
2589     1921,  1874,  1871,   905,     0,     0,  1201,     0,     0,  2414,
2590      348,  2414,     0,  2414,     0,     0,     0,  1209,   348,     0,
2591     1203,     0,     0,  1205,     0,  1402,     0,   901,   899,   898,
2592      900,     0,     0,   883,     0,     0,     0,  2414,   348,     0,
2593        0,   878,     0,     0,   880,     0,     0,     0,     0,  1680,
2594        0,   220,   221,   219,  1572,   222,  1573,  1569,  1555,     0,
2595     1009,     0,  1013,     0,  1004,     0,  1010,     0,  1005,  1002,
2596     1003,     0,  1008,     0,     0,   508,   510,     0,     0,  2363,
2597     2379,     0,  2403,  2435,  2436,  2500,  2528,  2533,  2539,     0,
2598     2568,  2579,     0,  1034,  1064,  1029,   714,     0,     0,  1627,
2599     1425,  2189,     0,  1680,     0,     0,     0,     0,  1240,  1241,
2600      238,   210,     0,     0,     0,  1066,  2532,  1440,   980,   622,
2601        0,  2027,     0,  2034,  2035,  2234,     0,     0,     0,     0,
2602        0,     0,  2033,  2197,     0,     0,     0,     0,     0,     0,
2603     1955,     0,     0,     0,  2214,     0,  2220,     0,     0,  1992,
2604        0,     0,     0,     0,     0,     0,     0,     0,  1956,  1936,
2605     1937,  2031,  2182,     0,  2032,  2279,     0,  1929,  2255,  2172,
2606        0,  2169,  2170,  2171,     0,     0,     0,  2249,     0,  2180,
2607        0,     0,  1970,  2178,  1972,     0,     0,     0,     0,  2166,
2608     2167,  2168,  2160,  2161,  2162,  2163,  2164,  2165,  2176,  1952,
2609        0,     0,  2119,     0,  1951,     0,     0,  1765,     0,  2277,
2610     2237,  1765,   254,   255,   251,     0,     0,   206,   205,     0,
2611      224,   228,   229,   200,   227,     0,   223,   208,  2106,  2105,
2612      207,   199,   196,   194,   211,   213,   214,   197,   195,   248,
2613        0,     0,     0,   348,  1553,     0,  1536,  1537,  1533,  1540,
2614     1762,     0,  1674,     0,  1678,  1553,     0,  1549,  1669,  1668,
2615     1703,  1704,  1109,  1667,  1732,  1733,     0,     0,     0,     0,
2616     1758,  1756,  1723,  1714,  1722,     0,     0,  1720,     0,  1724,
2617     1932,  1751,  1656,  1708,  1709,  1712,  1655,     0,  1754,     0,
2618     1630,  1752,  1713,  1614,     0,  1592,     0,  1810,     0,     0,
2619     1458,     0,     0,     0,  1138,  1140,     0,  1139,     0,  1142,
2620        0,  1151,     0,     0,  1137,  1156,     0,  1145,  1143,     0,
2621     1497,     0,     0,   916,     0,     0,     0,     0,  1478,     0,
2622        0,  2568,   242,  1481,  1486,  1473,  1484,     0,     0,     0,
2623        0,     0,  1068,  1067,     0,     0,  1091,     0,     0,     0,
2624     1504,   496,     0,   345,     0,     0,     0,     0,     0,     0,
2625        0,     0,   804,   801,     0,     0,   800,     0,   636,     0,
2626        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2627        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2628        0,   676,     0,  1310,     0,   708,     0,  1175,     0,  1174,
2629        0,  1179,     0,     0,  1176,  1171,  1172,  2533,  2543,  2574,
2630      244,  1177,  1199,     0,  1198,  1194,     0,  1120,     0,  1121,
2631        0,     0,     0,     0,     0,  2389,  2414,   286,   308,     0,
2632     1309,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2633        0,     0,     0,     0,     0,     0,   330,     0,     0,   333,
2634      332,     0,     0,     0,     0,     0,   337,   316,     0,   317,
2635        0,   336,     0,     0,     0,   602,   603,     0,     0,     0,
2636     1310,     0,   277,     0,     0,     0,     0,     0,     0,     0,
2637        0,  1216,     0,   731,     0,     0,  2533,  1195,     0,     0,
2638        0,     0,     0,     0,  1388,     0,     0,   161,     0,   156,
2639      160,     0,     0,  2533,  1196,     0,     0,     0,     0,     0,
2640      585,   586,   599,     0,   590,   591,   588,   592,   593,     0,
2641        0,     0,     0,     0,     0,     0,   584,     0,     0,   698,
2642      697,   701,     0,     0,     0,     0,     0,  1397,     0,  1190,
2643        0,     0,  1396,     0,     0,     0,     0,     0,     0,     0,
2644        0,     0,     0,  1253,  1252,     0,     0,     0,     0,  1320,
2645        0,   846,     0,     0,     0,     0,     0,     0,     0,     0,
2646        0,   163,   718,     0,   717,     0,   157,   162,     0,     0,
2647        0,     0,     0,     0,     0,     0,   218,  1447,  1453,  1702,
2648     1702,  1702,  2045,     0,     0,     0,     0,  1701,  2240,  2243,
2649     1523,  2268,  1522,     0,     0,     0,     0,   961,     0,     0,
2650        0,     0,     0,     0,     0,     0,     0,   953,   954,   955,
2651      956,     0,     0,     0,     0,     0,   393,   390,   391,   393,
2652        0,     0,     0,     0,   820,     0,   823,   826,     0,  1469,
2653      462,     0,     0,   628,   676,     0,     0,   446,   170,     0,
2654        0,     0,     0,   733,     0,     0,     0,  1383,   132,   179,
2655      181,   444,     0,   180,   182,   184,   185,   186,   183,   187,
2656        0,   695,   699,     0,     0,     0,     0,   624,     0,     0,
2657        0,     0,     0,   748,   752,   751,   755,   753,     0,   749,
2658        0,     0,  1830,     0,     0,   155,     0,     0,   575,   579,
2659        0,     0,     0,     0,   446,   546,   359,  2414,     0,   507,
2660        0,  2414,     0,  1088,     0,   807,     0,     0,     0,     0,
2661        0,     0,     0,     0,     0,     0,  1642,   348,  1160,     0,
2662     1491,     0,     0,     0,     0,   348,  1904,  1903,  1856,  1852,
2663        0,     0,     0,     0,   919,     0,     0,     0,     0,     0,
2664        0,     0,     0,     0,  1872,   348,  1124,   169,  2295,     0,
2665      887,     0,     0,     0,     0,   348,  1218,   875,   348,   165,
2666      348,   348,   627,     0,   348,   167,     0,     0,     0,   619,
2667      348,   913,   348,  2263,     0,   348,  1585,  2414,   507,  1557,
2668     1568,  1006,  1015,  1014,  1012,  1011,  1007,     0,  1026,     0,
2669      506,     0,     0,     0,     0,     0,  1042,  1043,     0,     0,
2670     1039,  1044,     0,  1040,  1041,  1046,  1036,  1035,  1047,  1048,
2671        0,     0,  1066,   712,     0,     0,     0,     0,  1624,     0,
2672     1622,     0,  1808,  1626,  1615,  1576,     0,  1575,     0,   568,
2673     1087,  1087,  1250,     0,     0,  1023,     0,     0,   348,  1439,
2674        0,   982,   988,     0,     0,     0,     0,     0,     0,     0,
2675      991,   992,     0,   993,   984,   994,   985,   995,     0,   986,
2676        0,     0,     0,     0,  2247,  2193,     0,  2194,     0,     0,
2677     2233,  2229,     0,     0,     0,     0,     0,  2198,  2201,  2202,
2678     2203,  2200,  2204,  2199,     0,     0,  2205,     0,     0,     0,
2679        0,     0,     0,     0,     0,     0,     0,  2640,     0,     0,
2680        0,     0,  2000,     0,     0,  2153,     0,  2182,  2219,     0,
2681        0,     0,     0,     0,     0,  2182,  2225,     0,     0,     0,
2682        0,  2104,     0,  2101,     0,     0,     0,     0,  2246,     0,
2683        0,  2280,  1933,  1947,  1948,  1949,  1953,  2254,     0,  2248,
2684        0,     0,  1934,  1961,     0,  2226,  1988,     0,  1993,  1976,
2685     2206,  2207,  2208,  2209,  1995,     0,  1969,     0,  1974,  1978,
2686        0,  1957,     0,  1954,     0,  2249,  2181,     0,  2179,     0,
2687     1944,  1945,  1946,  1938,  1939,  1940,  1941,  1942,  1943,  1950,
2688     2157,  2155,  2156,     0,     0,     0,  2127,     0,     0,  1973,
2689     2406,  2442,     0,  1693,  1693,  1693,  1681,  1691,  2253,     0,
2690     1825,  1702,  1825,  2259,     0,     0,  1929,     0,  1806,   921,
2691      922,   920,  1526,  1530,  1539,  1553,  2183,  1547,  1676,     0,
2692        0,  1528,  1551,     0,  1107,  1108,     0,  1112,  2640,  2530,
2693        0,     0,     0,     0,  1725,  1759,     0,  1750,     0,  2273,
2694     1726,  2272,  1727,  1730,  1731,  1721,  1760,  1628,     0,  1755,
2695     1660,  1659,     0,  1828,     0,     0,     0,  1606,  1594,     0,
2696     1811,     0,  1765,  1632,     0,  2246,  1763,  1359,  1254,  1321,
2697     1141,     0,  1874,  1152,     0,  1136,     0,  1135,  1874,     0,
2698     1153,     0,  1874,  1360,  1255,  1322,   917,  1361,  1256,  1323,
2699     1362,  1257,  1488,  1476,  1475,  1474,     0,     0,     0,     0,
2700        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2701      785,  2414,   348,  1502,  1363,     0,  1258,   344,  1503,  1324,
2702     1507,   803,   802,     0,     0,  1325,     0,   637,     0,   641,
2703        0,   643,   644,   645,     0,     0,     0,   646,     0,  2340,
2704     2397,   648,   651,   652,   653,   660,   665,   655,     0,     0,
2705      667,   661,     0,     0,     0,     0,     0,     0,   673,   678,
2706        0,     0,     0,     0,     0,     0,  1169,  1170,  1364,  1261,
2707        0,  1326,     0,  1119,     0,  1262,   171,     0,     0,   269,
2708     2414,   288,     0,   680,   785,     0,  1312,   285,   314,     0,
2709      329,   324,   325,   323,  2414,   348,  2414,   348,     0,     0,
2710        0,     0,     0,   326,   321,   322,   318,     0,     0,   331,
2711     2315,  2381,  2544,     0,   684,   686,     0,   691,   334,  1282,
2712      355,   354,   353,     0,   338,     0,   360,   363,   335,   315,
2713      313,   310,   282,     0,     0,     0,     0,     0,     0,     0,
2714        0,     0,  2266,     0,     0,  1211,     0,  1367,  1327,     0,
2715     1349,     0,     0,     0,     0,   725,  1370,  1268,  1330,     0,
2716     1389,  1391,  1381,  1269,  1390,   159,  1299,   148,     0,     0,
2717      144,     0,     0,     0,     0,   138,  1371,  1270,  1331,     0,
2718        0,  1372,  1271,     0,     0,   274,   578,   589,   594,  1276,
2719      598,   595,  1339,   596,  1379,  1272,     0,  1375,  1302,  1334,
2720      561,  1382,  1398,  1273,  1190,  1393,  1395,     0,  1310,     0,
2721      263,   265,     0,   284,     0,  1274,     0,  1332,  1374,  1301,
2722        0,     0,     0,     0,     0,     0,     0,     0,     0,  1510,
2723        0,     0,     0,     0,     0,     0,   348,     0,     0,     0,
2724     1312,  2414,   348,  1373,     0,  1307,     0,  1347,     0,     0,
2725      381,     0,  1300,  1310,     0,   276,  1278,     0,  1341,     0,
2726        0,   216,   215,   217,     0,     0,     0,     0,  2187,  2188,
2727        0,  2185,  2040,  2242,     0,   970,   928,   969,     0,  2379,
2728        0,   927,   929,     0,     0,     0,   930,     0,   934,   935,
2729        0,     0,     0,   926,   924,   925,   392,     0,     0,   742,
2730      743,     0,     0,     0,     0,   822,     0,     0,     0,  1500,
2731        0,   135,   635,     0,     0,     0,   630,   675,   680,     0,
2732        0,     0,     0,   445,   449,   453,   454,   455,     0,     0,
2733        0,     0,   149,   136,     0,   864,     0,   507,     0,   735,
2734     1387,  1386,  1189,     0,   181,   174,     0,     0,   696,     0,
2735     1548,     0,     0,   359,   817,   815,   814,   816,     0,     0,
2736        0,   838,   813,     0,  1829,  1831,     0,     0,     0,     0,
2737        0,     0,   568,   448,     0,     0,   510,     0,   549,     0,
2738        0,     0,     0,   546,     0,     0,     0,  2299,     0,   834,
2739      806,  1130,     0,  1148,  1131,     0,     0,     0,     0,  1183,
2740     1115,  1184,  1161,  1116,     0,     0,   607,  1647,  1648,     0,
2741     1208,     0,     0,  1496,     0,  1494,     0,  1873,  1886,   886,
2742        0,  1914,  1913,  1915,  1915,     0,  1857,     0,  1898,  1923,
2743     1924,  1925,  1926,  1927,  1928,     0,  1922,  1866,  1202,   348,
2744        0,   348,     0,   348,  1210,  1204,  1206,  1403,     0,   884,
2745        0,     0,   348,   877,   879,     0,   881,     0,  1027,   509,
2746        0,     0,     0,     0,     0,     0,  1038,   605,  1045,     0,
2747     1059,  1054,  1056,     0,  1060,   711,     0,     0,  1625,  1618,
2748     1620,  1619,     0,     0,  1616,  2190,   876,     0,   574,     0,
2749        0,     0,     0,   348,     0,  1061,     0,     0,   989,   983,
2750        0,     0,   987,     0,     0,     0,   990,     0,     0,  1698,
2751     2191,  2192,     0,     0,     0,  2230,     0,     0,  2079,     0,
2752     2053,  2055,  2067,     0,  2080,  2038,  2081,  2057,  2059,  2068,
2753        0,     0,  2173,     0,     0,  2070,     0,  2002,  2003,     0,
2754        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2755        0,     0,     0,     0,     0,     0,  2018,  2017,  2071,  2152,
2756        0,     0,  2217,  2218,  2072,     0,     0,  2224,     0,     0,
2757        0,  2077,  2082,     0,     0,     0,     0,  2088,     0,  2109,
2758        0,     0,     0,  2028,  2183,     0,     0,     0,     0,     0,
2759        0,     0,     0,  1994,  1977,  1997,  1971,     0,  1975,  1979,
2760        0,     0,  1996,     0,     0,  1965,     0,     0,  1963,  1989,
2761     1959,     0,     0,  1990,     0,     0,     0,  2046,     0,     0,
2762     1693,  1693,  1693,  1693,  1690,     0,     0,     0,     0,  2530,
2763     2660,     0,  1789,  1764,  1766,  1776,  1789,  1794,  1789,  2048,
2764     1823,  2049,  2260,     0,  1735,     0,  1735,   192,     0,   225,
2765      212,  1525,  1677,  1680,  1705,     0,  2174,  1112,     0,  1707,
2766     1729,  1728,     0,  1718,     0,  1757,  1715,  1629,  1613,     0,
2767     1611,  1598,  1600,  1599,     0,     0,  1601,  2246,     0,  1611,
2768     1593,  1637,     0,     0,  1828,     0,  1636,     0,  1874,  1133,
2769     1134,     0,  1157,     0,  1071,  1072,     0,  1070,     0,     0,
2770        0,   495,  1090,     0,     0,     0,   785,     0,     0,   499,
2771        0,  1505,     0,  1380,  1298,   639,   640,     0,   654,     0,
2772      663,   662,     0,     0,     0,     0,     0,     0,     0,   647,
2773      669,   611,   670,   672,     0,     0,   671,   674,   677,  1310,
2774        0,   709,  1284,     0,  1345,  1163,     0,     0,  1122,     0,
2775        0,     0,     0,     0,     0,   462,   309,     0,     0,     0,
2776        0,   368,     0,   290,   301,   366,   307,     0,   340,     0,
2777      312,     0,   305,   327,   319,   328,   320,   339,   341,     0,
2778      688,   689,   687,   683,     0,   690,   692,     0,   357,     0,
2779        0,     0,     0,  1366,     0,  1310,     0,   278,  1280,     0,
2780     1343,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2781        0,     0,     0,  1348,     0,     0,     0,     0,   730,     0,
2782      727,     0,     0,     0,   141,   140,     0,   147,     0,     0,
2783        0,     0,     0,     0,     0,  1399,     0,     0,     0,     0,
2784        0,     0,   375,     0,   283,     0,     0,     0,     0,     0,
2785        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2786        0,     0,   382,   350,     0,   841,     0,     0,     0,   384,
2787        0,     0,  1358,     0,     0,     0,     0,     0,  1365,  1263,
2788     2043,  2044,  2041,  1702,  2241,     0,     0,     0,   941,     0,
2789        0,     0,     0,     0,     0,   395,   396,   135,   394,   417,
2790        0,   785,     0,     0,   819,   824,   832,  2476,  2160,  2161,
2791      830,   825,   827,   829,   831,   828,     0,     0,     0,     0,
2792        0,   478,     0,     0,     0,   468,     0,     0,  1190,   461,
2793      464,   465,     0,     0,   631,   634,   632,   633,   668,     0,
2794      448,   485,   536,     0,   151,     0,     0,   152,   150,     0,
2795        0,   359,   732,     0,   729,     0,   177,   444,     0,   700,
2796        0,     0,     0,  1190,   623,   754,   757,   750,     0,   837,
2797      839,   811,     0,   680,     0,     0,   580,     0,   507,  1586,
2798      563,     0,   538,   448,   536,   545,     0,     0,   553,   358,
2799        0,     0,   568,   359,     0,     0,  1091,     0,   833,     0,
2800     1129,     0,     0,     0,  1180,  1185,  1181,     0,     0,  1144,
2801        0,  1182,  1162,  1419,  1420,  1417,  1418,     0,     0,     0,
2802     1639,     0,     0,  1492,     0,  1892,     0,  1910,  1908,  1853,
2803     1858,  1931,   888,     0,   871,     0,   873,   348,   719,     0,
2804      620,   348,     0,     0,     0,     0,     0,     0,  1037,     0,
2805     1057,     0,     0,  1020,  1063,     0,     0,  1623,  1621,   566,
2806        0,  1242,  1243,  1066,     0,  1021,  1065,     0,     0,     0,
2807        0,     0,     0,     0,     0,     0,  2195,     0,  2232,  2228,
2808        0,  2050,  2196,     0,     0,  2212,  2211,  2153,     0,     0,
2809     2001,  2013,  2014,  2015,  2213,     0,  2023,     0,     0,  2010,
2810     2011,  2012,  2004,  2005,  2006,  2007,  2008,  2009,  2016,  2222,
2811     2221,  2215,  2216,     0,  2074,  2075,  2076,  2223,  2083,     0,
2812     2330,  2110,     0,  2087,  2103,  2102,     0,     0,     0,  2090,
2813        0,     0,  2099,     0,  2154,  2281,  1935,     0,     0,  1962,
2814     2227,  1980,     0,     0,  1998,     0,  1958,  2173,     0,     0,
2815        0,     0,     0,  1967,     0,     0,     0,  2130,  2125,  2126,
2816     2150,     0,     0,     0,     0,     0,     0,  1684,  1683,  1689,
2817     1789,  1794,  1789,     0,     0,  1662,     0,  1776,     0,  1788,
2818     1774,  1787,     0,     0,  1800,  1798,     0,  1800,     0,  1800,
2819        0,  1768,     0,  1790,  1770,  1787,  1772,     0,  1815,  2261,
2820     1824,     0,  1748,  2040,  1748,     0,     0,     0,  1706,  1110,
2821     1111,  1716,     0,  1719,  2359,  1826,     0,  1612,     0,     0,
2822        0,  1603,  1609,  1591,     0,     0,  1633,  1611,  1634,  1154,
2823        0,     0,  1146,  1077,  1078,  1081,  1079,  1076,  1080,     0,
2824        0,     0,   785,     0,     0,   517,     0,  1104,  1104,     0,
2825        0,   501,   558,   512,   788,     0,     0,     0,   786,   348,
2826     1259,     0,   664,     0,     0,   659,   657,   656,   658,     0,
2827      612,  1378,  1260,     0,     0,     0,     0,  1164,  1313,     0,
2828        0,  1283,     0,   287,     0,   458,     0,     0,   293,   302,
2829        0,   298,     0,  1311,     0,     0,     0,     0,   297,   370,
2830        0,   367,     0,   348,   348,   342,   685,   356,   361,   362,
2831      365,  1318,     0,     0,     0,     0,     0,     0,     0,     0,
2832        0,     0,     0,     0,     0,   865,   848,     0,     0,   866,
2833      867,     0,     0,     0,  1213,  1214,  1212,  1350,  1351,  1356,
2834     1353,  1352,  1355,  1357,  1354,     0,  1266,     0,     0,   723,
2835     1314,   145,   142,   143,   146,  1315,  1296,  1277,  1340,   562,
2836     1394,     0,     0,     0,  1275,     0,  1333,     0,  1292,  1286,
2837        0,     0,     0,     0,     0,  1377,  1306,  1338,  1376,  1304,
2838     1336,  1303,  1335,  1305,  1337,  1297,     0,     0,  1833,   845,
2839        0,     0,     0,   348,   348,   844,   721,  1279,     0,  1342,
2840     1288,     0,     0,     0,   931,     0,     0,   933,   936,     0,
2841      938,   400,   418,   135,     0,   741,   805,     0,     0,   821,
2842      784,     0,   466,     0,   472,   476,     0,     0,   480,   481,
2843      479,   467,  1190,   507,   557,   774,   775,     0,     0,   795,
2844        0,   629,     0,   446,     0,   482,     0,     0,   450,   154,
2845      153,     0,     0,     0,   736,   740,   738,   737,   739,   734,
2846        0,   725,   181,  2414,     0,     0,     0,     0,   559,  1392,
2847        0,   767,   812,     0,  1832,   715,     0,   359,   576,     0,
2848        0,     0,   446,   568,     0,   451,   456,   457,   462,     0,
2849      546,   537,     0,   538,   547,   548,     0,   555,  1467,     0,
2850      569,   555,     0,     0,     0,   836,     0,   835,  1132,  1149,
2851     1150,     0,     0,  1113,     0,     0,     0,     0,   614,   348,
2852        0,  1495,  1854,   348,   348,  1239,     0,   882,  1051,  1052,
2853     1053,  1050,  1049,   606,     0,  1055,   713,     0,   567,   348,
2854        0,   997,   975,   996,   974,   976,     0,   978,   979,   973,
2855      971,   972,  2231,  2066,  2069,  2078,  2210,  2152,  2183,     0,
2856        0,  2024,     0,     0,  2073,  2650,     0,     0,  2114,  2115,
2857        0,  2111,  2112,  2107,  2108,  2089,     0,  2465,  2094,     0,
2858        0,     0,  1986,  1984,  1981,     0,  1982,  1966,     0,     0,
2859     1964,  1960,     0,  1991,  2116,     0,  2132,  2129,  2149,  2183,
2860     1688,  1687,  1686,  1685,  1775,  1771,  1773,     0,  2655,     0,
2861     1778,  1785,     0,  1767,     0,  1799,  1795,     0,  1796,     0,
2862        0,  1797,     0,     0,  1769,     0,  1785,     0,  1822,     0,
2863        0,  2121,  2278,  2121,   226,  1675,     0,  1717,     0,  1610,
2864     1595,     0,  1596,  1602,     0,     0,     0,     0,  1638,  1631,
2865     1147,  1155,     0,     0,     0,   497,     0,   512,     0,     0,
2866        0,  1097,  1106,  1096,     0,   512,     0,  1190,   790,   789,
2867      792,   787,   791,  1506,     0,   649,   650,   666,  1285,     0,
2868     1346,  1294,     0,  1627,   289,     0,   681,   296,     0,     0,
2869        0,   291,   369,   371,   292,   295,   299,   350,   311,   304,
2870        0,     0,     0,  1281,     0,  1344,  1290,  1317,  1368,  1264,
2871     1328,     0,     0,   854,     0,     0,     0,     0,  1369,  1265,
2872     1329,     0,     0,     0,     0,  1627,     0,     0,     0,     0,
2873        0,     0,     0,     0,  1515,     0,     0,   349,   843,   842,
2874      350,   383,  1308,     0,  2042,     0,   932,   939,   940,   937,
2875        0,   389,   397,   400,     0,     0,  1230,  1230,     0,   785,
2876        0,     0,   463,   477,     0,   557,   516,     0,   469,     0,
2877        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2878        0,     0,     0,   728,   727,   176,     0,   446,     0,   680,
2879        0,   761,   762,   756,   758,     0,   769,   773,   840,     0,
2880        0,     0,   568,   448,     0,     0,  1583,   447,     0,     0,
2881      459,     0,   549,   538,   546,     0,     0,   565,     0,  1460,
2882        0,   571,     0,     0,     0,  1186,     0,  1192,     0,  1143,
2883     1187,     0,  1825,     0,     0,     0,     0,   618,  1231,  1493,
2884      872,   874,   720,  1058,     0,  1062,   348,   977,  2154,  2019,
2885        0,     0,     0,     0,  2084,     0,  2085,  2113,  2091,  2095,
2886        0,  2092,  2093,  1983,  1987,  1985,  1968,  2118,     0,  1702,
2887     2151,  1818,     0,  1821,     0,     0,  1777,     0,     0,  1779,
2888        0,     0,  1781,  1783,     0,     0,     0,     0,     0,     0,
2889     2264,  2358,  2623,  2527,     0,  1734,  1736,  1739,  1741,  1740,
2890     1742,  1738,  1747,     0,  1664,  1663,  2175,  1827,     0,     0,
2891        0,  1092,     0,  1635,  1059,     0,   348,  1104,  1190,   518,
2892     2476,   519,  1103,  1105,  1109,     0,  1190,     0,   557,   642,
2893        0,     0,   271,   679,     0,     0,   294,   303,   352,   364,
2894        0,  1627,     0,     0,   852,   861,   861,   849,     0,     0,
2895      868,  1267,   724,     0,     0,   266,  1293,  1287,     0,     0,
2896        0,  1517,  1518,     0,     0,     0,     0,     0,  1316,   348,
2897     1289,   942,     0,   420,   427,   401,   405,  1509,     0,  1509,
2898        0,   402,   406,  1509,  1509,   399,  1825,   416,  1230,     0,
2899     1227,  1226,   783,     0,   505,   582,     0,   470,     0,   527,
2900        0,     0,   796,     0,     0,   448,   536,     0,   494,   486,
2901      487,   488,   490,   489,   491,   492,   493,   484,   483,     0,
2902      680,   858,   359,  1467,   722,     0,     0,   693,     0,   759,
2903      764,   763,  1509,   768,     0,     0,     0,   680,     0,  1586,
2904      564,   538,   448,   536,   452,   462,     0,   553,   546,   549,
2905        0,   550,     0,   554,     0,     0,     0,   568,  1519,  1091,
2906        0,  1191,     0,     0,     0,     0,     0,     0,  1234,   613,
2907        0,     0,   617,   608,   680,  1022,  2020,     0,  2021,     0,
2908        0,  2097,  2096,     0,  2136,  1823,     0,     0,  1817,     0,
2909        0,  1847,     0,     0,     0,  1786,  1802,     0,  1782,  1780,
2910        0,  1791,     0,  1793,     0,     0,     0,  1743,     0,  2120,
2911     2122,     0,     0,  1608,  1825,     0,  1605,     0,  1073,     0,
2912     1074,  1098,   557,     0,  1109,  1112,   507,   557,     0,   785,
2913     1295,     0,   682,   582,     0,   306,     0,   279,  1291,     0,
2914        0,   863,   863,     0,     0,     0,     0,     0,     0,   377,
2915        0,     0,  1511,     0,  1512,  1513,  1516,   385,   398,     0,
2916      425,     0,   423,   422,   424,     0,   413,     0,     0,     0,
2917        0,     0,     0,   388,  1225,  1229,  1228,     0,     0,   471,
2918        0,   473,     0,   513,   514,   515,     0,   475,   523,   524,
2919        0,   793,     0,   798,     0,     0,     0,   680,   535,   704,
2920        0,     0,     0,  1461,     0,     0,   560,     0,   770,   771,
2921      766,     0,     0,   716,  1467,   568,   546,     0,   538,   460,
2922        0,   555,   549,   553,   551,   552,     0,  1464,     0,   570,
2923        0,  1100,  1114,  1193,  1188,  1423,     0,     0,   616,   615,
2924      710,  2022,  2100,  2086,  2098,  2131,     0,     0,     0,     0,
2925     1816,  1819,     0,  1850,     0,     0,     0,     0,  1836,     0,
2926     1784,     0,     0,  1792,     0,     0,     0,  1737,     0,     0,
2927     1597,  1607,  1093,     0,     0,   522,     0,  1112,  1094,   516,
2928      785,   511,   498,  1627,   300,   351,     0,     0,     0,   859,
2929      862,   850,   851,   870,   869,   726,  1627,     0,   373,   372,
2930        0,   376,     0,   421,   430,     0,   428,   403,   408,     0,
2931      412,   410,   409,   404,   407,     0,   504,     0,     0,     0,
2932        0,     0,   525,     0,   526,   556,     0,   797,     0,     0,
2933        0,   706,   857,     0,     0,   446,   680,   760,   765,     0,
2934        0,  1462,  1584,   549,   538,   546,     0,     0,   540,  1104,
2935     1104,   433,   553,   555,  1465,  1466,     0,     0,   359,  1422,
2936     1421,  1680,     0,     0,  2610,  2359,  2582,     0,  2148,  2137,
2937     2148,  2148,  2128,     0,     0,  1848,  1849,  1834,     0,     0,
2938     1838,  1801,  1814,  1745,     0,  1744,  2123,  2124,  1825,   348,
2939        0,   785,   520,  1095,   527,   500,   272,  1627,   853,     0,
2940      267,     0,   378,  1514,   426,     0,   411,   773,   581,   474,
2941      532,     0,   531,     0,   529,   528,   794,   799,     0,   680,
2942      847,  1467,   694,   772,     0,   553,   546,   549,     0,   539,
2943        0,  1106,  1106,   555,   431,     0,     0,   555,  1405,  1680,
2944     1404,  1406,  1414,  1411,  1413,  1412,  1410,  1237,  1238,     0,
2945     2141,  2140,  2139,  2143,  2142,     0,  2135,  2133,  2134,  1820,
2946        0,  1837,  1840,     0,     0,     0,  1846,  1839,  1841,     0,
2947     1812,  1746,  1604,  1075,     0,   502,   785,   280,   860,     0,
2948      429,     0,   530,   534,   533,   680,   705,  1463,   778,   555,
2949      549,   553,  1104,   541,  1105,   543,   542,   435,  1100,  1101,
2950        0,  1825,     0,  1415,  1409,  1662,  1649,     0,     0,     0,
2951        0,  2145,     0,  2146,     0,  1843,  1844,  1845,  1842,     0,
2952        0,   503,     0,     0,   707,   780,     0,   776,   779,   781,
2953      782,   434,   553,   555,  1106,   359,  1099,     0,  1082,  1407,
2954     1680,     0,     0,  2138,  2144,  2147,     0,     0,   521,   374,
2955        0,   744,     0,   555,   432,   544,   555,  1102,  1408,     0,
2956        0,     0,  1813,     0,   777,   436,  1825,     0,     0,  1835,
2957      778,  1083,     0,     0,     0,  1235,  1236,   745
2958 };
2959 
2960   /* YYPGOTO[NTERM-NUM].  */
2961 static const yytype_int16 yypgoto[] =
2962 {
2963    -4993, -4993, -4993,  3862, -4993, -4993,  -911,   502,  3096, -1082,
2964    -4993, -4993, -4993,  1307, -4993, -4993, -4993, -4993,  3835, -4993,
2965     2184, -2445, -4993, -4993,   129,  3790, -1315,   110,  3372,  1829,
2966    -4993, -1149, -4993, -4993,  -577,   117, -4993,  3794,   480, -4993,
2967    -4993, -4993, -4993, -4993, -4993, -4993, -4993,  -620,  2307, -4993,
2968     2389,  1654,  6520, -2718, -4993, -4993, -1464, -3244, -4993,   954,
2969    -4993,   982, -4249,  -556, -4993, -4993, -4993,  2285, -4993, -4993,
2970    -4993,  2228,  1450,    -2, -4993, -4993, -4993, -4993, -4993, -4993,
2971     -396, -4993, -4993,  -640,   151,    53, -2466, -3783, -4993, -4993,
2972      826,   -40, -1428, -4993, -3614, -4993,   350, -3807, -4993, -4993,
2973    -4993,    -1, -1401,  1768, -4993,  -708, -1136,  2086, -2951,  -502,
2974    -4993,   125, -4993,  -616,  -404,  -398,  -523, -3830, -4315, -4993,
2975    -4993,  -630, -3273, -4623, -4766, -4326, -4144,  1794, -4993, -4993,
2976      153, -3159, -3237,   154,   812, -4993,   156,   164, -4993,   828,
2977     -327,  -912, -1541, -4993,  -841, -4993, -4993, -4993, -2955, -4993,
2978    -4993, -4993, -4993,    78, -4993, -4993, -4993, -4993,   873, -4993,
2979    -4993, -4993, -4993, -4993, -4993, -2724,  2275,  2279, -4993, -3182,
2980    -4993,  -869, -4993,  1024, -2989,  1703, -4993, -4993,  1467,  3889,
2981      861, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -1716, -4993,
2982    -4993, -4993, -4993,   363,    41, -4993, -4993, -4993, -4993, -4993,
2983    -4993, -4993,   172, -4993,  2298,  1471, -4993, -4993,    36, -4993,
2984    -4993, -4993, -4993, -4993, -4993,  -575, -4588,  -736,  -717, -4993,
2985    -2992, -4993, -4993, -4993,    66, -4993, -4993, -4993, -4993, -4993,
2986     -777, -4993,  1531, -3631, -4993, -4993,   839, -4993, -4993, -4993,
2987    -4993, -4993,  -494,   127,  3061, -4993,  -103,  -296, -4993, -4993,
2988    -4993,   131, -4993, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
2989    -1090, 11526,  -820,  -571, -4993, -4993, -4993, -4993, -4993, -2213,
2990    -4993, -4993, -4993, -4993, -3688, -4993,  4805,  2406,   360,   173,
2991    -4993,   -18,    52,  3658, -1145, -2662,   805,   -59, -4993, -4993,
2992    -4993, -2601, -4993, -4993, -4993, -4993, -3560,   174, -4993,  -637,
2993    -4993, -3843, -4633, -4027, -3606,  -639, -4993, -3585, -4992, -4009,
2994    -3528, -4993, -4993, -4993, -4993,  -567,  -152,  3023, -4993, -1419,
2995     2659,  -889, -4993, -2099,   857,  1882,  3037, -2783,  -113,  3018,
2996    -2525,  -605, -3258, -4993, -4993, -2347,  -198, -4993, -4993,  1553,
2997    -1063, -4993, -4993, -4993, -4993,  -628,  2968,  -204, -4993, -4993,
2998     4192, -4993, -4387, -4993,  4162, -4993, -4993, -4993, -4993,  2879,
2999     2891, -4993,  2894, -4993, -4993, -1412,  1636, -4993,  -773, -4993,
3000    -4993,  2430,  1076, -4993, -4993, -4993, -4993, -4993, -4993, -4993,
3001    -4993,  1532,  1060, -4993, -4993, -4993, -4993, -4993,  -462,  -638,
3002    -4993, -4993,   177, -4993, -4993, -4993, -4993,  2297,  -899,  -733,
3003     4070,   542,   179, -4745, -4993, -4993, -1098, -4993,  3453, -4993,
3004    -4993, -4993, -4993, -4993,   878,   881, -4993, -4993, -4993, -4993,
3005    -2877, -4993, -4993, -4471, -4993, -4993, -4993, -4993, -4993,  4052,
3006      108,  2777, -4993, -4993, -4993,   -44, -4993, -4993,  -965,  2762,
3007    -4993, -1921, -4993,  -593, -4993,  2970, -4993, -4993, -4993, -4993,
3008    -1892,   181, -3841, -4993,    12, -4993, -4993,   273, -4993,   695,
3009    -4993, -4993, -3494,    14, -4993, -4993, -4993, -4993, -4468, -4993,
3010       20,  -357,  1235, -2831, -4993,   183,    92, -4993, -4993,     2,
3011      287,   -43,   -53,   -39,     5,   109,  3530, -4993, -4993,  3579,
3012    -4993,   -29,  2050, -4993, -4993,  -817,  -173, -4993,  2001,  -648,
3013     2738,  3517,  3519, -4993,  1988,  2776, -1984, -1988, -4993,  1283,
3014     -335,  -177, -4993, -4993, -4993, -4993,   729,  -647,  2753, -4993,
3015     3524, -4993, -4993, -4993, -1937, -2853, -3498,  1306, -3475, -3400,
3016      767,   751, -1225,    55,   -41,  -757,  3527, -4993, -4993,  1314,
3017     -143, -4993, -4993,  -140, -2824,  1262, -4993, -4393, -2343,  1320,
3018     -597,  -428, -4993,  -516, -4993,  -300,  4915,  3086, -1050, -4993,
3019    -4993, -1015, 14671, -4993, -4993, -4993, 15189, 15544, -4993, -4993,
3020    16020, 16617, -4993,  -795, 16626, 14185, -1019, -1889,  -754, 12566,
3021    -1822,  -857,    57, -4993, -3304, -2697, -4993, -4993, -4993,   111,
3022     1383,   773, -4993, -4439, -3801, -4993, -4993,   329, -4993,  -305,
3023    -4993,  -303, -4993, -4993, -4993, -2432, -4944, -2472,  2874, -4993,
3024    -4993, -4993,  -201, -4993, 17717, -2766, -4993,  -393, -1386, -1522,
3025    -3469, -1894, -4993, -4993, -4993, -2669, -4993, -4993, -4993, -4993,
3026    -1249, -3336,  -427,  2101, -4993, -4993,  2200, -4993, -4993, -4993,
3027     -901,  2483,  -769, -2661,  2106, -4993,  -772,  2878,  -784, 12137,
3028     -689,  8861,  -536, -2277, -1252, -1647, -4993,  3743, -4993,  6707,
3029     6047,   -15,  -104,  4125,  -371,    -6, 14040,  -470,  -854,  4166,
3030    12085, 10164, -3190
3031 };
3032 
3033   /* YYDEFGOTO[NTERM-NUM].  */
3034 static const yytype_int16 yydefgoto[] =
3035 {
3036       -1,    52,    53,    54,    55,    56,  1537,  2518,  2369,  3312,
3037     3313,    57,    58,  1533,    59,    60,    61,    62,  1447,    63,
3038     1027,  1783,  2533,    64,  2202,   809,   810,   811,  2103,  2104,
3039     2457,  2105,  2093,  1334,  1925,  1469,   783,   784,  1429,  1470,
3040       66,    67,  1328,  2084,    68,    69,    70,  1500,  1591,  1501,
3041     1502,  1441,  1830,  4368,  5115,  3104,  2331,  3360,  3105,  3106,
3042     3744,  3745,  3824,  5129,  5130,    71,  1607,  1608,    72,    73,
3043     2499,  3277,  3877,  4731,  4732,  4965,   622,  4393,  4394,  4952,
3044     4953,  5143,  5285,  5286,  2534,  1775,  3355,  3962,  3303,  4464,
3045     3304,  4465,  3305,  4466,  3289,  3909,  3910,  4407,  3911,  3306,
3046     4425,  4997,  3307,  2221,  5159,  2575,  1947,  1945,  4647,  4979,
3047     4224,  4225,  5371,  5167,  5168,  5169,  5394,  4427,  4470,  4471,
3048     5327,  5328,  3358,  3968,  4477,  4797,  4748,  2990,    75,    76,
3049      718,  1809,  3468,   719,  2578,   656,   720,  2535,    81,  2568,
3050     5161,  2569,  1563,  2383,  3890,  3448,    82,  1053,  3710,  4817,
3051     5052,  5053,    83,   226,    84,  1791,    85,    86,  2513,  3296,
3052       87,  2238,  3007,    88,    89,  3038,  3039,  3040,    90,  3735,
3053     4665,  1503,  3093,  3094,  3095,  3096,  3765,    91,  1786,  2542,
3054     2543,    92,    93,    94,    95,  2695,  2696,    96,  2443,    97,
3055       98,    99,   100,  3800,  4329,  4441,  3135,  3319,  3934,  4439,
3056      101,  3281,  2536,  1799,  2558,  2559,  4451,  4773,  4774,  4775,
3057     5012,  5317,  4777,  5014,  5190,  5016,  4417,  5506,  5507,  4739,
3058     3689,  4238,   103,  4418,  4419,  5174,   104,  2236,   105,   106,
3059     1759,  2505,  2506,  3891,  2585,  3368,  3369,  3948,  3949,   107,
3060     3219,   108,  4305,  4306,   657,  5181,  5121,  5271,   109,   110,
3061     4309,  4310,   111,   112,   113,   114,   115,   710,   711,   712,
3062     1144,  1145,  2962,  1092,   116,  2113,   117,   990,   991,  3256,
3063      118,  1220,  2741,  2742,  4522,   119,   743,  1164,  1165,  2537,
3064      121,   752,  2715,   754,  1962,  3450,  3451,  4033,   122,   123,
3065     2692,  2718,   124,  1434,  2212,  2213,  4219,  2538,   658,  1205,
3066     2582,  2985,  4890,  4641,  4891,  5338,  5480,  4642,  4904,  2907,
3067     3639,   126,   659,  1475,  2288,  1112,  1113,  2588,  3372,  2181,
3068     2182,  2183,  3988,  2184,  3374,  2185,  1408,  2186,  1063,  1064,
3069     3380,  3381,  3382,  3984,  3991,  2527,  4807,  4808,   127,  1472,
3070     2285,   128,   129,   130,  1516,   902,  1122,  1123,   131,   671,
3071      672,   132,  4970,   133,  1066,   134,  4815,   135,   136,   774,
3072      775,  1202,  1203,   137,   138,  2302,  3747,   139,  1473,   140,
3073      141,  3129,  3130,  4321,   142,   143,   144,  1778,  1779,   145,
3074      146,  3184,  3185,   147,   148,   149,  5420,  5482,  5483,  5484,
3075     3997,  5341,  5422,  1195,   151,   152,   153,   190,   943,   944,
3076      945,   855,  2539,  4799,   155,   156,  1430,  1431,  1432,  1433,
3077     2207,   157,   158,   159,  3394,  3395,   160,   161,   162,   163,
3078     1763,   164,   165,  4943,   166,   167,  1724,   168,   169,  1357,
3079     1358,  1359,  1360,  2118,  2895,   616,   827,  1363,  1369,  1374,
3080     1375,  1376,   171,   722,  1158,  1159,  1160,  1927,   172,  1198,
3081      994,   723,  1153,   174,   724,  2164,  2937,  3654,  3655,  3656,
3082     3659,  4626,  4197,   725,  2933,   177,  1969,  2701,  2704,  2929,
3083      726,  2942,  2943,  2944,  3662,   727,   745,  1056,  2595,   728,
3084     1295,   182,   183,   184,   836,   830,   831,  2900,   186,  2077,
3085     2876,   761,  1380,   796,   797,   845,  2467,  2130,  2131,  2155,
3086     2156,  1389,  1390,  2143,  2147,  2148,  2920,  2913,  2136,  4182,
3087     4875,  4876,  4877,  4878,  4879,  4880,  4611,  2151,  2152,  1392,
3088     1393,  1394,  2160,   187,  2880,  3613,  3614,  3615,  4159,  4160,
3089     4174,  4170,  4596,  4862,  3616,  1193,  1400,  4604,  5450,  3617,
3090     4851,  4852,  5068,  4178,  3624,  3650,  3343,  3344,  3345,  3618,
3091     5237,  5238,  5447,  5448,  5070,  5071,  2187,  1860,  1094,  1296,
3092     1095,  1872,  1297,  1844,  1097,  1298,  1299,  1300,  1100,  1301,
3093     1302,  1303,  1103,  1836,  1304,  1305,  1854,  1869,  1870,  1364,
3094     5072,  1307,  1308,  1309,  3620,  1310,  4112,  4560,  4546,  2802,
3095     2803,  2100,  4108,  3555,  4102,  2072,  2866,  4884,  5089,  5090,
3096     3597,  4138,  4576,  4849,  5229,  5348,  5349,  5436,  1311,  1312,
3097     1313,  2863,  2068,   905,  1314,  3893,  2070,  2796,  1632,  1633,
3098     1972,  1994,  2748,  2764,  2765,  2840,  2776,  3514,  2784,  2789,
3099     3542,  3543,  2797,  2826,  1315,  2750,  2751,  3496,  1996,  1316,
3100      949,  1636,   950,  1991,  2821,  1324,  1317,  1318,  1963,   820,
3101     4858,  1148,   861,  3121,  1716,   952,   758,  1319,  1320,  1321,
3102     1322,  1509,   876,  1115,  1116,   613,   605,   878,  3097,   614,
3103      607,   608,  1721
3104 };
3105 
3106   /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
3107      positive, shift that token.  If negative, reduce the rule whose
3108      number is the opposite.  If YYTABLE_NINF, syntax error.  */
3109 static const yytype_int16 yytable[] =
3110 {
3111      604,   903,   180,   819,   904,   185,  1562,   747,   835,  1021,
3112      846,  1924,   175,   747,   176,  1329,   822,   755,   788,   757,
3113      178,  2396,  1147,   763,  1612,  1325,   185,  1880,   777,   785,
3114      755,  1395,   792,  2326,  2220,   785,   785,  1850,   821,  1414,
3115      824,  1184,  1185,  1186,  1508,  1624,  1944,  1190,   869,  1722,
3116     1567,  3302,  1355,  2297,  3473,  2289,   909,  1630,  3626,   914,
3117     1840,  1841,  3182,   602,  3383,  1356,   655,  1788,  3123,  1984,
3118     1849,  1856,  3736,  1343,  2309,   753,  2470,  4226,   856,  3648,
3119     2298,  2707,  3716,  2955,  2957,  3325,  2563,  3216,   789,  3944,
3120     3973,  3454,  1006,  1057,  1717,  1761,   709,  3895,  2747,  1766,
3121      611,  3760,  1476,  3762,  1770,  2461,   912,   663,   170,  4188,
3122     3661,  1504,  4125,  4156,  1780,  3960,  3918,    65,  4463,  4221,
3123      934,  4265,  3992,  1155,  1126,  3992,   840,  1130,  1804,   721,
3124     2423,  2424,   848,  4484,  4473,  1138,  1526,  4424,  1206,  4289,
3125     3637,  1543,  4173,  1068,  2882,   782,   849,  3563,  2811,  2280,
3126     4855,    74,   816,    77,    78,  4801,    79,  1834,  4794,   833,
3127     2925,  2193,  2922,  4983,    80,  4203,  3580,  2583,  3667,  5027,
3128      808,  5040,   102,   120,   125,  4755,  2419,   150,   927,   154,
3129     4472,   173,  3621,   179,  1355,   604,   859,   859,   862,  2646,
3130      859,  3957,  2781,  2892,   871,  4912,   821,  1388,  1391,   906,
3131     1059,  4643,   871,  2450,  2901,   871,  4091, -2399,   821,  2280,
3132      859,  2116,  4867,   821,  4869,   729,  4171,   859,  4176,   821,
3133    -2327, -2437, -1907,  4793,  3520,  1336,  2280, -2460,  1827,  1840,
3134     1841,   729,   669, -2497,  1800,  3621,   620,  4935, -1874,  2459,
3135     2460,  4945,  4946,  3315,  1773,  2310, -1887,  1161,  1166,  1827,
3136     1849, -1912,  4434,  1827, -1902, -2402,  1856,  2430,  5183,  2040,
3137     1801,  5201,   669,  3261,  1471,  3262,   729,  2435,  1505,  3266,
3138     3241,  3268,  3269,  3982,   729,  5120,   669,  2524,  1837,  1838,
3139     3273,  3274,  3275,  1170,  3666, -2271,  1871,   181,  2046,  1848,
3140     2111,  1752, -2299,   854, -2270,   669, -2300,  2717,  1561,  3912,
3141     4551, -2299, -2299,  2819,  1471, -2300, -2300,  1590,   181,  1471,
3142     2819,  3001, -1915,  4640,  2300,  3717, -2666,  1617,  5061,  1926,
3143     2048,  4651,  1128, -2158,  2417, -2666, -2666,  1215,   669,  2204,
3144    -2158,  3993,  1059,  -135,  2671,  3712,  1141,   729,   834,  -135,
3145     1333,  2678,  3471,  4435, -1915,  4163,  4485,  2226,  2497,  3458,
3146     4971,  1827,  2516,  4624,  3460,  3421,  1361,  3423,  4813,  2572,
3147     4524,  4525,  2879,  4527,  4528,  4529,  4530,  4531,  1827,  1361,
3148     4460,   843,  1402,   735,  1181,  5339,  2572, -1731,  1827,  4227,
3149     1621,  5050,  1827,  3643,  2573,  3279,   735,   735,   939,  5463,
3150     2349,   618, -2458,   735,  4410,  4461,  5431,   736,  2860,   735,
3151     5429,  2573,  1827,  2521,  2927,  2861,  5203,  3229,  1443,  1814,
3152      736,   736,  2127,  1602,  2693,  2275,  3994,   736,  4164,  5475,
3153     5476,   735,  2090,   736,  1505,   669, -2177,  2988,  4436,  2305,
3154      729,  2306,  4189, -2177,  3942,  1365,   904,  5333,  1837,  1838,
3155      188,  2531,  3729,   615,  1624,   736,  3822,  3623,  4756,  5321,
3156     3292,  4165,  3210,  5117,  1722,  2300,  2454,   735,  2300,  1535,
3157     4668,  3770,  2357,  2300,  5010,  1848,  4166,  4673,  3818,  2455,
3158     1846,  1847,   847,  2301,  3771,  5082,  4167,  1443,  5028,  2374,
3159     2672,   736,  1536,  2989,   189,  3211,   940,   904,   669,   839,
3160      188,  3663,  2307,  3823,  4190,  4757,  2300,  2456,  2380,  2694,
3161     2094,  2300,  4168,  2697,  3520,  2106,  2106,  1828,  2276,  2928,
3162     5011,  5008,  2673,  2040,  3730,  2300,  1603,  1444,  2214,  2117,
3163     2532,  2522,  5535,  2300,  2350,  2674,  2034,  5062,  1828,   825,
3164     2150,  1015,  1828,  2091,   189,   941,  2215,  1025,  2112,  1757,
3165     2517,  5432,  2046,  5464,  2300,  5523,  4411, -1731,  1182,  2311,
3166     1039,  5340,  3883,  3644,  2080,  1622,  5051,  3293,  2040,  1717,
3167     2675,  4625,  2312,  1975,  2313,  1908,  5413,  1403,  3494,  1928,
3168     3995,  3459,  2574,  3717,  2048,  1722,  3461,  2465,  -419,  5332,
3169     3895,  5154,  4437,  4462,  5299,  3280,  1444,  2046,  2498,  4767,
3170     2399,  3713,   942,  4169,  2216,  4975,  2679,  3913,  4814,  1225,
3171     1515,  4977,  3520,  1967,  5320,  4324,  3521,  3522,  3523,  3242,
3172      953,  2267,   867,  2217,  1878,  3002,   821,  3520,   859,  2048,
3173      859,  2274,   862,   998,   859,  2314,   185,  2698,  1082,  2436,
3174     1828,   906, -2458,   995,  3983,   996,  1028,  4652,   859,  5469,
3175     3996,   997,  1988,  2525,  2418,   859,  2391,  1828,  2431,  2394,
3176     2092,  1189,  4438,  2820,  4565,  1835,  5467,  1828,  2437,  1829,
3177     3586,  1828,  5282,  2509,  4593,  1217,  1189,  2227,  4597,   604,
3178    -2158,   621,  1059,   862,   835,  1396,  4173,  1162,   871,  2123,
3179     1857,  1828,   906,  1758,  1875,   871,  3663,  4433,   871,  3406,
3180     1059,  1968,  2881,  3535,  4231,   989, -2399,   741,   742,  2401,
3181     5405, -2458, -1907,  5415,   859,  5513,  5196,  3682,  2381, -2327,
3182    -2437,  2384,  2385,  4629, -2458,  1163, -2460,  1168,  1839,  1172,
3183     1192,   185, -2497,   947,  2458,  1176,  1843,   948,  2067,  4481,
3184     4536, -1912,   741,   742, -1902,  4480,  1630,  1630,  1630,  2343,
3185     1506,  1507,  2036,  3294, -2402,  2862,  5533,  2161,  2162,  1059,
3186     4584,  4837,  4586,  1888,  2364,   821,  2078,  1851,  2121,  1917,
3187     2218,  2088,  1623,   947,  5109, -2271,  1739,   948,  1154,   904,
3188     1207,  4455, -2299, -2177, -2270,  2885, -2300,  1535,  1852,  3524,
3189      664,  1192,  1886,   848,  5471,  2449,  2560,  3895,  3819,  1851,
3190     1323,  1323,  1853,   821,   785,  5376, -2666,   849,   785,  1910,
3191     1536,  3525,  2412,   741,   742,  -135,  -135,  2667,  5380,  1913,
3192     1852,  1399,   821,  1878,  1734,  2466,   821,  1964,  1445,  2650,
3193     1741,  1047,  1323,  1742,  1855,  1157,  3042,  1450,  1974,  2699,
3194     2265,  3117,  3295,  4032,   821,  2121,  1179,  3815,  4827,  5353,
3195      180,  4063,  1727,   185,  1985,  3854,   821,  5512,   826,  2700,
3196      175,  3043,   176,  4253,  4790,  3669,  2624,  3670,   178,  1758,
3197     2677, -1874,   821,  3957,  3875,  3876,  3061,  2284,  1059,  3526,
3198     5101,  2689,  1758,  2219,  4294,  5331,  1059,  1059,  2749,  3936,
3199      821,  1446,  2934,  5325,  4351,   859,   859,  4392,  4211,  4396,
3200     1059,  2351,  2342,  5300,  2479,  5105,  1506,  1507,  4976,   868,
3201     2075,  2033,  3109,  1968,  2507,  1345,  4302,  1827,   181,  5457,
3202      843,  3621,   669,  1011,  3621,  5530,  2228,   785,   785,  2984,
3203     2284,  2438,  1862,   615,  3642,  4395,  5309,  2922,  3118,  1332,
3204     4422,  1109, -1730,  1340,  1596,  4191,  1435,  2284,  1366, -1874,
3205     1323,  1323,  2966,  3251,  1732,   887,   170,   794,  5324,   604,
3206     3015,  3925,   888,   889,   890,    65,  3517,  3518,  5255,  4708,
3207      871,  3537,  1048,  5260,   906,  2561,   871,   669,  2280,   871,
3208     3532,  3533,  3534,  3535,  3631, -1091,  1597,  2214,  1428,  2064,
3209     2065,  2066,  2067,  4709,   859,   669,  3621,  3869,  3870,    74,
3210      669,    77,    78,  2976,    79,  1863,  4201,  3629,  3567,  3568,
3211     5021,  5494,    80,   181,   834,  3664,   821,  5414,  2169,  5406,
3212      102,   120,   125,   859,   859,   150,  5443,   154,  4303,   173,
3213      617,   179,  2062,  2063,  2064,  2065,  2066,  2067,  2396,  4322,
3214      790,  1527,  4226,   782,  1582,   821,   821,   821,  1418,   859,
3215     3412,   604,   604,   604,  4498,  1436,  3785,   795,  1862,  4919,
3216     3868,  2606,  2607,  2216,   665,  2439,  1864,  4352,  2974,  1865,
3217     2935,  5030,  3527,  3528,  3529,  2229,  3530,  3531,  3532,  3533,
3218     3534,  3535,  2217,   768,  4832,  5031,  4039,     3,     4,  2977,
3219     3965,  3530,  3531,  3532,  3533,  3534,  3535,  5477,  3100,  4448,
3220     2744,  5481,  1167,  1169,  1171,  5257,  4859,  1173,  1174,  1175,
3221    -2268,  4863, -1730,  2576,  4865,  4192,  3110,  1180,  1049, -1874,
3222      850,   859,   666,   859,   859,  4856,  3244,  2959,  4423,  3926,
3223     1419,  1863,  4304,   847,   670,   181,    40,  5444,  1850,   188,
3224     1821,  1820,  2562,  1722,  4307,  4460,  2554,   669,   715,  3516,
3225     1528,  3101,  5155,  5511,  1050,  1346,  1323,  1598,  1792,  5390,
3226      667,  2867,   668,  1866,  2230,  3786,  5176,  2782,    15,   769,
3227     4461,   993,    44,  3409,  3738,  2800,  5163,   185,  3373,  1866,
3228     1378,  1418,  1420,   189,  2686,  2687,  1946,  1946,  5195,  1722,
3229     2076,   821,  1864,   755,  1822,  1865,  1828,  5534,  3892,  1630,
3230     1793,  2817,    20,  5198,  1897,   851,  5210,  4792,  2757,   821,
3231     1012,   669,  5175,  1051,    48,  1981,  1437,  5545,   821,  1052,
3232     5546,  1987,  3147,  4780,  1347,  3635,  2845,    49,  1110,  2218,
3233      756,  2555,  1548,  2652,  3410,  1323,  4786,  1211,  4040,  3255,
3234     4635,  1733,  5096,  5085,  3308,  3992,  1898,  3016,  3102,  5197,
3235       50,  1549,  4710,   634,  1438,  3621,  4308,  3804,  5226,  5032,
3236     1599,   835,  4521,  1419,  2936,  1151,  1323,  1930,  2411,  1932,
3237     2676,  1934,  2034,  1936,  2681,  1938,  1939,  1940,  2685,  1421,
3238     1379,  2688,  1942,  3739,  2605,  4666,  5445,  1439,  3989,  2914,
3239     1867,  5446,  1823,  4853,  1323,  1323,  1323,  3155,  1323,  2868,
3240     5156,  1550,  1601,  2954,  3148,  1866,  5164,  2600,  1602,  1868,
3241    -1874,  1529,  3033,   636,  2758,  1420,   947,  2625,  1323, -1874,
3242      948,  1839, -1874,  1413,  1188, -1874,  3787,   770,   904,  2119,
3243     2960,  4227,  2638,  2961,   760,  2640,  2659,  2128,  2129,  1422,
3244     2133,  2644,  2219,  1218,  4227,  5099,   766,  1866,  1824,  1530,
3245     1717,   849,   849,  2137,   849,  1440,   821,  3149,  5315,  5391,
3246      939,  3133,  2846,  2005,  3788,   767,  1399,  2847,   771,   772,
3247     4750,  1794,  5057,  3046,  3155,  1532,  5078,  1423,  2708,  2040,
3248     5165,    35,  1531,    32,  4628,  2926,  1323,  2759,  1551,  4911,
3249     1323,  1323,   793,  3034,  2774,  2680,  2138,  3789,  2683,  2684,
3250     5227,   821,   821,  2167,  2848,  1323,  5097,  3206,  1189,  3309,
3251     1424,  1603,  1421,    40,  3103,  3150,  1867,  1899,   893,   894,
3252      895,  5199,   896,   897,   898,   899,   900,   901,   785,   852,
3253     5228,  3147,  1493,  4415,  1548,  3134,  1552,  1758,  5392,  1553,
3254     2048,  2556,  1425,  1825,  1426,  3207,  2137,  2386,  2760,    44,
3255     4988,  2761,  4519,  1549,  2395,  2557,  2603,  2139,   940,   181,
3256     1161,   773,  1878,  2271,  5119,  5393,  3047,   817,   785,  5123,
3257     5124,   859,  2203,  4493,  1795,  3621,   828,  3166,  3208,  3621,
3258      647,  3107,   648,  4751,   821,  2299,  3740,  3741,  1555,  2138,
3259     3351,    48,   837,   821,  1427,   716,   859,  1796,  2222,  5252,
3260     3895,  4989,  2232,  1550,    49,  2140,  3131,   941,  1774,  4990,
3261     4227,  5490,  2233,  3148,  1878,  3742,  2627, -2290,  1797,  3151,
3262     1900,  -158,  4934,   906,  1993,   821,  2223,    50,   785,  2904,
3263     2639,  5029,  1557,  1929,  4781,  2260,  1931,  4991,  1933,  2487,
3264     1935,   717,  1937,  2645,  2002,   785,  1941,  2849,   821,  3419,
3265     -158,   821,  3167,  2414,  1558,  5020,   768,  4540,  3033,  4541,
3266     3170,  2762,  3310,  3173,   942,  2141,  3149,  3186,  3037,   838,
3267     3462,  4414,  1604,   859,  1560,  1425,  2019,  1426,  3200,  4416,
3268      853,  2488,  2387,  2134,  3201,  2388,  1630,  5258,   821,  5491,
3269     1551,  2031,  4992,  3212,  3704,  3131,  2363,  5007,  2140,  1758,
3270      859,   859,   859,   859,   821,  4993,  4449,  2743,  4056,  2746,
3271     1605,  3311,  3140,  3141,  2905,  2753,  3144,  4994,   821,  4454,
3272     5034,  2767,  2768,  2769,  3150,    40,  3213,  1456,  5035,  1323,
3273     1323,  1323,  2786,  2788,  1535,  2396,  3705,  2798,  1552,  3034,
3274     3152,  1553,   769,  1606,  2082,  3728,   939,  1878,  3153,   841,
3275     3463,  3154,  3245,  3246,  3247,  1361,  2395,  1536,  2141,  3209,
3276     1428,    44,  -675,  5116,  4384,  1428,  3215,  3290,  4387,  4388,
3277     2234,  4390,  2763,  5492,  2971,  2224,  1798,   847,   847,  2135,
3278      847,  3892,  5388,  3059,   854,  3897,  3033,  3202,  1758,  4075,
3279     1555,  4076,  2636,  1493,   904,   904,  4898,  4944,  4548,  3392,
3280     3214,    40,  4542,    48,  4906,  1564,  4320,  2988,  2235,  4071,
3281     4072,  4073,  4074,  2083,   842,  4079,  4080,  4081,  4082,  4083,
3282     4084,  4085,  4086,  4087,  4088,  4019,  2598,  2471,  3151,   821,
3283     3652,  3900,  3251,  2626,  1557,  2327,  1428,    44,  3863,  5373,
3284     1428,   859,   859,  1565,   940,    40,  4503,  1059,  4504,  2463,
3285     2464,  4186,  2489,    51,  5411,  5412,  1558,  4973,  2335,  3322,
3286     2208,   859,   863,  3685,   729,  5202,  3653,  3034,  5182,  3165,
3287      865,  2209,  4853,  1517,  4129,  4130,  1560,  2223,  3321,    48,
3288      821,    44,  3334,  3335,  3336,  3337,  3820,  3902,  1878,  2210,
3289      843,  5036,    49,   941,  3342,  4408,   859,   859,   859,   859,
3290      770,  4227,  3035,  4995,  3190,  4234,  4996,  3706,  4549,   821,
3291     5209,  1384,  4941,  4268,  3037,    50,   821,  5493,  2471,  3370,
3292     5479,   904,  1384,    48,  4077,    40,  1384,  1385,  5179,    51,
3293      604,  3855,   634,   604,  4078,  4942,    49,   862,  3235,  3145,
3294     3036,   771,   772,  1323,  1518,  5193,  4269,  1535,  3203,  3152,
3295      942,  3447,  1566,  1913,  5268,  2490,  2300,  3153,   885,    50,
3296     3154,    44,  2040,  3688,  4409,   886,  2308,  1573,  4826,  4735,
3297     1536,  5049, -1701,    51,  3411,  3413,  3414, -1701,   871,   871,
3298     4741,  3363,  5220,  1386,  -135,  3905,  3204,  4235,  3892,   906,
3299      906,  2046,   636,   871,  1386,  2328,   871,  5514,  1386,  3816,
3300     3621,  -573,  4736,    48,  1342,  3969,  5329,  3621,  1574,  4648,
3301     3707,  1040,  3621,   859,   859,  3621,    49,  4292,  1575,  3205,
3302      859,  5537,   821,  2048,  2329,  5269,  4270,  3906,   844,  2691,
3303     3056,  2782,  2782,  5323,   185,  5112,  2782,  2702,  3621,    50,
3304     2211,  1387,  3037,  3907, -1701,  1387,  1041,  1946,  4236,  2330,
3305     3078,  3621,  4237,    51,   859,  3553,   871,  2624,  2526,   871,
3306      871,  3560,   821,   821,  3992,   859,  1545,  4754,  5322,  4918,
3307     1878,  3817,   821,  2782,  2782,  2714,  4655,  4656,  4649,   821,
3308     4894,  1042,  4896,   929,  2325,   998,   755,   755,   185,  4293,
3309     2719, -1701,  1338,   938,  1323,   995,  1323,   996,  5045,  3814,
3310     3446,  1323,  1323,   997,  1546,  5311,  4785,  4765,  1323,  1323,
3311     1323,  3079,  4949,  1323,  2086,  1323,   906,  1323,  1323,  1323,
3312     1323,  1323,  1323,  2367,  1323,  3386,  1323,  1323,  2370,  1043,
3313     1323,  2661,   946,  2662,  3080,  2663,  5148,  2664,  1157,  2665,
3314     3908,  5149,  4227,  2666,  2713,  1323,  1323,  1323,  1323,  1802,
3315     4232,  1040,   859,  1323,  1346,  3021,  2106,  1323,   904,   647,
3316     1323,   648,  5407,  1323,  1323,  1323,  1323,  1323,  1323,  1323,
3317     1323,  1323,  1803,  1323,  3625,  4745,  1576,  2740,  4941,   821,
3318     1323,  3432,  1323,  3469,  3470,  1000,  1041,   653,  4404,   821,
3319     5145,  5150,  5147,  4164,  2317,  3081,  5151,  5152,  4031,  2441,
3320     1409,  4942, -1662,  2447,  5417,  3017,  5219,   947,  3022,  3023,
3321     1577,   948,  4370,  2327,  1578, -1662,  5329,  3621,   821,  1913,
3322    -1662,  3938,  4227,  1347,  5188,  1323,  4165,  5262,  2318,   821,
3323      821,  2098,  1059,  4371,  1410, -1662,  1211,  3009,  1411,  4032,
3324     1323,  4599,  3668,  5470,  5402,  5187,  2452,  1579, -1662,  1323,
3325     1323,  4167,  5153, -1662,  1404,  1002,  5189,  3741,   634,  3339,
3326     3897,  3627,  3331,   821,  3340,  5186,  3898, -1662,  1905,  1043,
3327     2940,  1412,  2945,  2099,  1851,  1005,  2938,  3621,  3899,  1592,
3328     4726,  3718,  4727,  4728,  2453,  4280,  4729, -1662,  1059,  3490,
3329     1225,  1906,  1405,  3520,  2121,  1852,  3055,  3521,  3522,  3523,
3330    -1662,  2978,  2975,  2981,   862,  1008,  3900,  3746,  3901,  1853,
3331      923,  4279,  3945,   755,  4117,   755,   181,  1593,   636,  3396,
3332    -1662,  1594,  3955,  4227,  3584,  1406,  2327,  5466,  2393,    35,
3333     1538,  3041,  1323,  1225, -1662,  1919,  3520,  2894,  1920,   924,
3334     3521,  3522,  3523, -1662,   604,  2386,   859,   859,  4456,  1609,
3335     1595,   871,  1613,   906,   871,   871,  1851,   859,  2366,   859,
3336     5236,  4405,  3902,   859,  4234,  2405,   821, -1662,  4169,  1035,
3337      181, -1661,  4213,  2328,  3146,  4066, -1662,  1852,  5375,  4771,
3338     5251,  5536,  1415,  1022, -1661,  4406,  4271,   785,  4278, -1661,
3339     3903,  1855,  2528,  5504,  2406,  1570,  2898,  1045,  2299,  2336,
3340     3677,  2317,  2329,  4772,  4092,   729,  3066,   821,  4353,  5157,
3341     4908,  -444,   227,  3077,  -572,  4263,  2565,  4254,   619,  2899,
3342     1416,  3621,   821,  5418,    29,  3491,   713,  2330,  1192,  1192,
3343     3492,  4354,  1192,  1571,  3782,  2318, -1661,  4044,  4483,   841,
3344     1851,  2420,  1044,   821,   791,  4941,  4235,  2825,  3122,  3122,
3345     2327,  3232, -1702,  1417,  3896,  3904, -1661, -1702,  1046,  3340,
3346     3905,  1852,  2325,   821,   821,  1630,  1572,   821,  4942,   862,
3347      785,  1630,  3783,  4295,  3546,  3941,  3548,  3549,  4163,  3621,
3348     2387, -1662,  2327,  2388,  1061,   647,  2328,   648,  1976,  5455,
3349     3914,  1977,  3525,   859,  4007,  4008,   859,  3519,  1013,  1065,
3350     1014,  3180,  3906, -1661,   842,  3784,   627,  4236,  3621,  3547,
3351     1108,  4237, -1661,  1774, -1662,  2329,  3673,    40,  3907,   821,
3352      821,  1839,  1117,  2194, -1702,  2039,  3640,  1059,  2040,  -444,
3353     2114,  3721,   729,  2115,  3217,  3525,  3220,  3222,   744,  3695,
3354     2330,  3570,  2507,   947,   744,  2120,  1370,   948,  2121,  1124,
3355     4214,  4164,  3572,    44,  3573,  2125,  4215,  2046,  2115,  2656,
3356     3526,   181,  2121,  4216, -2667,  2451,  1118,  1323,  1323,  1323,
3357     1135, -1702,  1525,  1323,  5501,  2325,  4210,  1542,  3574,   859,
3358      843,  1839,  1152,  2194,  4165,  3599,  1142,   859,  3186,  2048,
3359      859,   634,   729,  5001,  1192,    48,   859,  3044,  4217,  4166,
3360      947,  1183, -2271,  3526,   948,  1323,  3777,   859,    49,  4167,
3361     2328,  1187,  4474,  3621, -1085,  3908,  2668,  3884,  1191,  2669,
3362     4218,  2299,  4951,  1194,  3122,  2670,   821,  5212,  2669,   821,
3363     1017,    50,  1018,  3324,  2705,  4168,   755,  2706,  2897,  2329,
3364     2946,  1913,  2328,  2121,  3053,  5419,  1059,  3054,   859,  1323,
3365    -1661,   636,  3125,  2327,  5452,  3126,  3569,  3285,  4229,  4230,
3366     3286,  5102,  4860,  1197,  2330,  3397,  3217,  1199,  2121,  5107,
3367     4467,  2329,  3373,  1992,  3438,    51,   859,  2669,  3356,  2830,
3368     2831,  2832,  2833,  3352,  3480,  3489,  3575,  3483,  2121,  1201,
3369     3484,  3892,  3576,  1200,  3327,  3498,  2330,  3577,  2121,  2325,
3370    -2667,  1208,  5369,  3326,  2327, -2667,  1323,  1839,  1204,  1413,
3371      715,  2830,  2831,  2832,  2833,  3674,  3675,  3476,   844,  3931,
3372     1225,  3504,  3505,  3520,  2121,  2121,  4169,  3521,  3522,  3523,
3373       15,  2325,  2593,   859,  2594,   859,  3122,   859,  3122,  3600,
3374     3506,  3601, -2667,  2121,  4118,  3539,     3,     4,  2121,  3621,
3375     4050,   904,  1210,  3527,  3528,  3529,  1209,  3530,  3531,  3532,
3376     3533,  3534,  3535,  2624,    20,  1211,  3552,  5518,  3119,  2121,
3377     2923,  2924,  2744,  1946,  2782,  2782,  2782,  2782, -1725, -1725,
3378     2782,  2782,  2782,  2782,  2782,  2782,  2782,  2782,  2782,  2782,
3379     3557,  3763,  1214,  3558,  3764,  2055,  3527,  3528,  3529,  1219,
3380     3530,  3531,  3532,  3533,  3534,  3535,  1341,  4101,  3768,  4035,
3381     1212,  3769,  4104,  2328,  4861,  3636,  1213,  5041,   647,  3812,
3382      648,  1221,  3793,  3621,   604,  3794,  3915,  4829,  3917,  3621,
3383      871,   650,  5551,   871, -1729, -1729,   871,  3578,  1624,  2782,
3384     2782,  3852,  2329,   652,  3794,   859,  1774,   835,  3579,  4279,
3385     1344,  3978,  3980,  1323,  3979,  3981,  4003,  4005,  1323,  4004,
3386     2121,  3602,  4098,  3603,  2328,  4099,  4028,  2330,  3966,  4109,
3387     3967,  1225,  4110,  3798,  3520,  2744, -1728, -1728,  3521,  3522,
3388     3523,  1348,  1323,  1323,  1323, -2667,  4120,  1323,  1839,  2121,
3389     2194,   835,  3807,  2329,  1349,  1323,  1323,  1323,  1323,  4397,
3390     4199,  4398,  2325,  4200,  1548,  5350,  5351,  2804,  1323,  3986,
3391     2807,  1323,  1225,  1323,  4204,  3520,  1350,  4205,  2330,  3521,
3392     3522,  3523,  3525,  1549,  1323,  1323,  4209,  1354,  1323,  2961,
3393     3621,  4233,  1362,  1059,  2669,  1059,  4568,  1367,  4457,  4516,
3394     4272,  2669,  1968,  1368,  4664,    32,   906,  5519,  1323,  5520,
3395     1323,  1370,  1323,  2325,  3605,  3606,  3607,  4537,  4566,  4785,
3396     2121,  2706,  1225,  4179,  4578,  3520,  1371,  2121,   181,  3521,
3397     3522,  3523,  1323,  1550,  4631,    40,   821,  2961,  4637,  4644,
3398     2327,  4638,  2669,  3622,  4645, -2667,  4569,  2669,  5437,  5438,
3399     3526, -2569,  2062,  2063,  2064,  2065,  2066,  2067,  1370,   821,
3400    -1650,  4250,  1381,   835,  1383,  4787,  4819,  1323,  4788,  4004,
3401     4834,    44,  4836,  4835,  4955,  2121,  1059,  4843,  4913,  1382,
3402     2706,  4914,  1323,  1225,  1397,  3107,  3520,  4290,  1398,  1413,
3403     3521,  3522,  3523,  1401,  1407,  2327,  3622,  4274,  5002,  5042,
3404     3657,  2669,  5043,  3660,  1448,  2945,  3619,  3924,  2039,  3927,
3405     3131,  2040,  4598,    48,  4601,  2041,  2042,  2043,  4956,  5058,
3406     1551,  1474,  2706, -2301,  4319,  5065,    49,  1477,  5066,  1479,
3407     3186,  5075,  2044,  3525,  1913,  5081,  4391,  1480,  3952,  5083,
3408     2046,  1515,  3952,  4957, -2569,  1519,  1323,  2047,  3122,    50,
3409     1520,  1532,  1521,  1946,  4376,  3821,  2327,  2327,  5094,  3619,
3410     4958,  5095,  5138,    51,  4959,  5139,  5178,  5211,  1552,  2085,
3411     5095,  1553,  2048,  2827,  3525,  2828, -2571,  1534,  5056,  1544,
3412      859,  1547,   859,   859,   859,  4960,  2395,  5221,  4961,  5222,
3413     2706,  1569,  3558,  5223, -2569,  5234,  2121,  1583,  5235,  2829,
3414     2328,  3526,  2039,  4962,  1584,  2040,  5240, -2569,  5243,  1913,
3415     3856,  3952, -2569,  2782,  1600,  5261,  4381, -2569,  2669,  5267,
3416     1555,  1610,  2706, -2569,  3525,  5273, -2569,  1611,  2706,  2329,
3417    -2569,  1614,  5274,  4561,  2046,  2706,  5277,  2031,  1620,  2121,
3418     1619, -2667,  3526,  3527,  3528,  3529,  1723,  3530,  3531,  3532,
3419     3533,  3534,  3535,  1725,  2330,  2328,  3636,  1726,  5278, -2569,
3420     5279,  2121,  5307,  5280,  1557,  5308,  2048,  1728,  1731, -2571,
3421     4043,  4255,  4296,  5357,  1736,  5361,  5358,  4621,  1913, -2569,
3422     1735,  2031,  1745,  2049,  2329, -2667,  1558,  5362,  2050,  2325,
3423     2121,  4963,  3526,  4068,  5363,  5365,   821,  2121,  2121,  1744,
3424     2830,  2831,  2832,  2833,  2825,  1748,  1560,  2834,  2835,  2330,
3425     2051,  2052,  5384,  2836,  1754,  5385,  2328,  2328,  2837, -2571,
3426     3593,  5409,  1751,  1762,  5410,  2053, -2569,  4097,  5439, -2569,
3427     1756,  3952, -2571,  3583,  1765, -2569,  3612, -2571,  1767,  1758,
3428     1776,  4964, -2571,    40,  2325,  2329,  2329,  5451, -2571,  5478,
3429     5088, -2571,  5095,  3526,  5516, -2571,  5529,  5517,  4513,  2121,
3430     5531,  1777,  5549,  5532,  2054,  5358,  5557,  1781,  1782,  5532,
3431     2330,  2330,  -178,  1784,  1785,  4141,  1787, -2667,  2055,    44,
3432     1789,  2056, -2667,  1790, -2571,  1805,  1819,  1812,   207,  3612,
3433    -2569,  1826,  1831,   834,  3527,  3528,  3529,  1832,  3530,  3531,
3434     3532,  3533,  3534,  3535, -2571,  2325,  2325,  1833,  1323,  1835,
3435     1839,  1842,  1843,  1845,  1323,  4552,    29,  5233,  1859, -2667,
3436     1861,    48,  1873,   859,  1874,  1877,  1885,  1878,  3122,  3122,
3437     1889,  1891,  1892,  1894,    49,  3527,  3528,  3529,  1896,  3530,
3438     3531,  3532,  3533,  3534,  3535,   760,  1902,  1904,  1722,  1901,
3439     1909, -2571,  1912,  1915, -2571,  1916,  1973,    50,  2838,  1918,
3440    -2571,  1980,  1943,   821,   821,   821,  4761,  4589,  2057,  2839,
3441     2744,    51,  2055, -2569,  1982,  1983,  1989,  1990, -1878, -1885,
3442      821,  1997,  1998,  1999,  2000,  3527,  3528,  3529, -1875,  3530,
3443     3531,  3532,  3533,  3534,  3535,  3976,  2001, -2569, -1876, -2569,
3444    -2569, -1879,  1946,   821,  4508,  4509,  4510,  4511,  4512,    40,
3445    -1877,    51,  1946,   821,   821, -2571,  2003,  2004,   821,  2071,
3446     2005,  3122,  2006,  2007,  2008,  2009,  2011,  2012,  2013,  2073,
3447      821,  2075,  2014,  2015,  3972, -2569,  2016,  2089, -2569, -2569,
3448    -2569,  2017,  2076,  2018,  2020,    44,  3527,  3528,  3529,  2021,
3449     3530,  3531,  3532,  3533,  3534,  3535,  2022,  4467,  2023,  2101,
3450     2024,  4000, -2667,  2025,  2026,  2027,  2085,  2109,  2058,  2124,
3451      760,  2059,  2060,  2061,  2126,  2062,  2063,  2064,  2065,  2066,
3452     2067,  1385,  1387,  2157,  2159,  1192,  2168,    48,  3511,  2170,
3453     2171,  4135,  2172,  2173,  4619,  2189,  2190,  2191, -2571,   859,
3454       49,  4672,  2192,  2194,  2197,  2195,  2198,  2196,  2199,  5104,
3455     2200,  2206,  2225,  2231,  2237,  2262,  2266,  2268,  2269,  2270,
3456      821,  2272, -2571,    50, -2571, -2571,  2273,  2286,  2290,  2292,
3457     2303,  2304,  2291,   821,  2319,  2315,   821,    51, -1416,  2321,
3458    -1416,  2324,  2322,  2323,  2325,  2332,  2333,  2338,  2334,  2337,
3459     2339,  2348,  4733,  2344,  2345,  2354,  2358,  2355,  1323,  2361,
3460    -2571,  2359, -2667, -2571, -2571, -2571,  2360,  1323,  2365,  2062,
3461     2063,  2064,  2065,  2066,  2067,  1323,  2362,  1323,  2375,  2368,
3462     1323,  2371,  2382,  2389,  2392,  1323,  1323,  1323,  1323,  1493,
3463     2409,  1323,  1323,  1323,  1323,  1323,  1323,  1323,  1323,  1323,
3464     1323,  2415,  2372,  2377,  1323,  1323,  2378,  2390,  2416,  1548,
3465     2432,  2433,  2397,  2413,  1323,  2398,  2403,  2440,  1323,   835,
3466     2462,  2404,  1323,  2408,  4429,  4430,  2410,  2473,  1549,  4616,
3467     1323,  2421,  2422,  1323,  2434,  1323,  2445,  2475,   835,  3636,
3468     2476,  4143,  4144,  4145,  4146,  2039,  2469,  1323,  2040,  2478,
3469     1323,  1323,  2041,  2042,  2043,  1323,  1323,  2482,  2483,  2484,
3470     4139,  2477,  1323,  2485,  3636,  2486,  2492,  2493,  2496,   821,
3471      821,   821,   604,  4806,  2494,  3622,  4161,  2046,  1550,  4273,
3472     4161,  4175,  4161,  2495,  2047,  2500,  2228,  1323,  2502,  2501,
3473     2503,  5495,  5496,  2508,  2511,  2512,  2515,   629,  2520,  2526,
3474     2529,  2540,  2544,  2548,  1566,   998,  2564,  2545,   185,  2048,
3475    -2587,  2553,  2567,  1323,  2571,   995,  2570,   996,  2580,   181,
3476     2584,  2587,  2590,   997,  2592,  2596,  2601,  2945,  2602,  1323,
3477     2608,  4711,  4712,  2610,  4714,  3619,  2611,  2618,  3619,  2619,
3478     2615,  2616,  4274,  2620,  2622,  2621,   181,  4228,  1946,  1946,
3479     2629,  2471,  2782,  2631,  2632,  2633,  2634,  2647,  2648,  2682,
3480     2690,  2703,  2716,  2749,  2799,  1551,  2754,  2805,   859,   859,
3481      859,   859,  2040,  2809,  2818,  4746,  4547,  2824,  2842,  2864,
3482     2844,  2865,  2879,  2884,  2887,  2888,  2889,   842,  2915,  2890,
3483     2903,  2916,  2917,  2932,  2918,  2939,  2950,  2299,  2951,  2953,
3484     2979,  2982,  2986, -2587,  2987,  2993,  2984,  2998,  3014,  3003,
3485     3619,  3008,  3004,  1552,  3006,  4284,  1553,  3029,  3028,   603,
3486     2049,  3010,  3050,  3018,  3045,  2050,  2396,  1338,  1342,  3032,
3487     3088,  2395,  3115,  3052,  3062,  4275,  3113,  3114,  3069,  3082,
3488     3087,  5108,  3120,  3124,  3160,  1451,  3636,  2051,  2052,  3176,
3489     3218,  3132,  3139, -2587,  3159,  3231,  3239,  4331,  3240,  3258,
3490     3243,   843,  2053,  3271,  3252,  1555, -2587,  3263,  4339,  3264,
3491     3265, -2587,  3299,  3287,  3300,  5142, -2587,  3276,  3314,  1452,
3492     3318,  3320, -2587,  3316,  3329, -2587,  3346,  3332,  3338, -2587,
3493     2039,  3354,  3347,  2040,  3349,  3341,  3348,  3350,  3357,  3361,
3494     3362,  2054,  3365,  3366,  3384,  3385,  3359,  3387,  3388,  1557,
3495     3391,  3389,  4373,  3393,  3416,  2055,  1866,  3398, -2587,  3428,
3496     3400,  3430,  2046,  5132,  3431,  5134,  3435,  3401,  3437, -2667,
3497     3402,  1558,  3440,  3403,  1913,  3441,  3445,  3442, -2587,  1453,
3498     3453,  2717,  3443,  3444,  3455,  3375,  4954,   859,  3464,  2031,
3499     3456,  1560,  3404,  4276,  2048,  3457,  4277,  3408,  4662,  3417,
3500      821,  3472,   859,  1910,  1323,  4150,  1451,  1875,  4155,  3467,
3501     1189,   821,  3474,  3478,  1454,  3479,  3481,  4420,  3482,  3486,
3502     3503, -2150,  3500,  3501,  3502, -2587,  3507,  2299, -2587,  3508,
3503      181,  3512,  3515,  3516, -2587,  3538,  3554,  3544,  3566,  3571,
3504     1452,  2121,   821,  3581,   857,  2057,  3622,  3596,  3551,  3565,
3505     1455,  3592,  3594,   870,  3591,  3632,  3217,  3582,  3595,  3598,
3506     3633,   870,  3638,  3645,   870,  4468,  3623,  3647,  3649,  3651,
3507     3671,  3683,  3658,  3687,  3676,   821,  3684,  3690,  3665,  2471,
3508     4704,  3678,  4478,  2782,  4999,  3679,  1323,  1323,  3692, -2587,
3509     1457,  3699,  3714,  3715,  3725,  3727,   904,  3732,  2325,  3731,
3510     1453,  3726,  5284,  3734,  3733, -2667,  3748,  2782,  3749,  3619,
3511    -2667,  3737,  3751,  3757,  3759,  3767,  3758,  3122,  3772,  3122,
3512     3781,  4901,  1459,  5290,  5292,  3797,   821,  3799,  3801,  1968,
3513     3802,  3808,  3795,  3809,  3810,  1454,  3803,  3806,  3811,  3825,
3514     3832,  3826,  5064,  2039,   760,  2058,  2040, -2667,  2059,  2060,
3515     2061,  3813,  2062,  2063,  2064,  2065,  2066,  2067,  3830,  3831,
3516     3827,  1323,  3828,    35,  4770,  2282,  3376,  1461,  3829,  3833,
3517     3835,  1455, -2587,  1323,  4925,  2046,  1462,  3834,  3836,  4763,
3518     3837,  3838, -2667,  3840,  1463,  3841,  3844,  3839,  3846,  3848,
3519     2430,  3867,  2283,  3871,  3864,  3872, -2587,  3860, -2587, -2587,
3520     2055,  3861,  3862,  1323,  1465,  3874,  1323,  2048,  3850,  3880,
3521     3851,  1457,  3857,  1466,  1323,  1323,  3882,  1467,  3932,  3933,
3522     3923,  1323,  1323,  5144,  3935,  3922,  1323,  3929,  3937,  3940,
3523     3952,  3954,  1323,  3961, -2587,  1323,  1323, -2587, -2587, -2587,
3524     1323,  4577,  3951,  1459,  3970,  3971,  1323,   821,   821,   821,
3525      821,  3974,  3964,  3975,  4161,  4175,  4161,  3990,  1323,  4161,
3526     3999,  4009,  4591,  5386,  4806,  4002,  3622,  4011,  4013,  4015,
3527     3622,  1468,  3977,  4022,  4128,  4034,  4606,  4023,  5074,  4024,
3528     4025,  4036,   606,  4026,    35,  4027,  4037,  4038,  3377,  5074,
3529    -2667,   906,  4047,  4048,  4010,  4029,  4049,  1462,  4051,  4052,
3530     1323,  4053,  4054,  4055,  3657,  1463,  4059,  3520,  1992,  2945,
3531     4620,  4622,  4633,  2283,  3541,  4069, -2149,  3540, -2667,  4094,
3532     4122,  4111,  2782, -2667,   755,  1465,  4123,  1323,  4095,  3619,
3533     4096,  4103,  4136,  3619,  1466,  4124,  4127,  4142,  1467,  3612,
3534     4153,  4154,  4162,  4177,  4181,  4183,  5284,  3122,  3122,  4193,
3535     4185,  4187,  4196,  4198,  4202,  4212,  4220,  3378,  5297,  4241,
3536    -2667,  4667,  4243,  4249,  4244,  4256,  2299,   181,  5136,  4259,
3537     4257,  4675,  4260,  4262,  4267,  4264,  4266,  4282,  4285,  4297,
3538     2039,  4676,  4298,  2040,  4299,  4301,  4300,  2041,  2042,  2043,
3539    -2667,  4311,  1468,  4312,  4313,  4954,  3379,  2062,  2063,  2064,
3540     2065,  2066,  2067,  4314,  2044,  4341,  4325,  4328,  4342,  4350,
3541     4347,  4367,  2046,  2055,  1225,  4366,  4369,  3520,  4273,  2047,
3542     4920, -2667, -2667, -2667,  4315,  4316,  4327,  4401,  4372,  4382,
3543     4383,  1323,  4385,  4386,  4389,  4412,   877,  4426,  4432,  4446,
3544     4440,  4447,  4450,  2669,  2048,   913,  4459,  4469,  4475,  4452,
3545     4486,  4476,  4492,  4453,  4494,  4491,   859,  4496,  4495,   935,
3546     4506,  4514,  4497,  4518,  4520,  4526,  4539,   606,  4550,  4502,
3547     4553,   859,  4554, -2151,  4594,  4499,   606,   879,  4533,  4534,
3548     4559,  4595,  4543,  4587,   606,  4544,   879,   606,  2782,  4555,
3549     4574,  4590,  5356,  4592,  4602,  4603,  4607,  4608,  5241,  4609,
3550      879,  4615,  4610, -2667,  4617,  1323,  4618,  4627,  5259,  4630,
3551     4632,  4634,  4640,  4639,  4650,  4646,  4669,  4670,  4671,  4674,
3552     4680,   604,  4681,  4682,  4701,  4694,  4697,  2299,   857,  4703,
3553     4706,  4715,  4716,  4707,  4723,  4724,  1946,   870,  4725,  4730,
3554     4734,  4737,  4738,  4743,   870,  4744,  4747,   870,   904,  4752,
3555     4753,  1323,  5060,  4758,  4759,  2049,  4762,  4768,  4766,  3612,
3556     2050,  4760,  4776,  3612,   859,  4779,  3356,  4791,  4789,  4784,
3557     4795,  4782,  4796,  4800,  4802,  4803,  4811,  4816,  4798,  4824,
3558     5131,  4804,  2051,  2052,  4823,  5256,  4830,  4839,  4831,  3636,
3559     4841,  2033,  4833,  4854,  1059,   181,   181,  2053,  4926,  2039,
3560      821,   904,  2040, -2667,  4840,  4848,  4857,  5440,  4842,  4868,
3561     2062,  2063,  2064,  2065,  2066,  2067,  4889,  4864,  4883,  4886,
3562     4892,  4895,  4907,  4910,  4915,  4905,  4909,  4916,  4917,  4922,
3563     4928,  2046,  4947,  4929,  4969,  4411,  2054,  4933, -2667,  4938,
3564     4980,  4939,  4978,  1323,  4940,  4981,  4984,  4987,  4986,  4924,
3565     2055,  5005,  5006,  2056,  5013,  5127,  5128,  5018,  5015,  5025,
3566     5044,  5063,  5046,  2048,  5023,  5048,  5047,  5067,  5073,  5092,
3567     5077,  5080,  1323,  1323,  1481,  5084,  1323,  5086,  5088,  5111,
3568     1482,  5113,  5103,  5120,  3526,  5114,  5158,  5160,  5126,  5166,
3569     5170,   604,  5171,  4968,  4161,  5173,  2782,  2782,  3622,  5180,
3570     5185,  5192,  5191,  3622,  5204,  5206,  3622,   604,  5208,  3217,
3571     5200,  4870,  5205,  1323,  1323,  5207,  5216,  5215,  5217,  5224,
3572     5248,  5218,  1484,  5232,  5510,  5245,  5253,  5249,  5254,  4228,
3573     4131,  1323,  5266,  5270,  5289,  5295,  5296,  5301,  5303,  5313,
3574     2057,  5310,  4228,   906,   859,  5314,   859,  5306,  5336,  5334,
3575     5335,  5337,  5342,  5343,  3619,  5354,  5370,  5381,  5352,  4137,
3576     5379,  3619,  5372,  5299,  5387,  5389,  3619,  5300,  5396,  3619,
3577     5397,  5430,  5435,  5442, -2667,  5449,  1485,  5462,  5416, -2667,
3578     5225,  1059,  5489,  1486,  5398,  5497,  1487,  5454,  5510,  5503,
3579     5459,  5468,  3619,  5521,  5526,   871,   906,  5242,  5487,  5488,
3580     5522,  5244,  5499,  5246,  5524,  3619,  5510,  5525,   857,  5539,
3581     1372,  5540,  1488,  5547,  5548,  5550, -2667,  5552,  2446,   870,
3582     4887,  5553,  1478,  3323,  1581,   870,  3630,  1580,   870,  2108,
3583     3743,  3191,  3112,  4288,  5382,  3230,  4281,  3278,  3879,   871,
3584     2058,  4966,   821,  2059,  2060,  2061,  1489,  2062,  2063,  2064,
3585     2065,  2066,  2067,  5283,  4420,  5460,   181,   821,  5024,  4428,
3586     3561,  3681,   821,  4742,  3122,  3439,  4998,  5374,  5456,  2055,
3587     1016,  2299,  5039,  4899,  5003,  5304,  1016, -2667, -2667, -2667,
3588     5302,  3530,  3531,  3532,  3533,  3534,  3535,  5395,   821,  1016,
3589     5473,  3686,  4468,  4479,  4458,  5026,  5264,  4421,  4286,  3297,
3590     1815,  1816,  1817,  3298,  3761,  3939,   859,   821,  4228,  1587,
3591     4445,   879,  5037,  1491,  4764,  5004,  3288,   879,  1568,  5009,
3592     5131,  3947,  5461,  1492,  5554,  5544,  4982,  3885,  4487,  5400,
3593      879,  4927,  1493,  5122,  1323,  2239,  5272,  1323,  4930,  1323,
3594     2240,   835,  2519,   762,  1494,  5098,   879,  4515,  4488,  5515,
3595     2589,   606,  2956,  3672,  2597,  5213,  1107,  1965,  1323, -2667,
3596      606,   879,  2586,  2635,  1323,  2710,  3847,   606,  3622,   879,
3597      606,  3619,  4870,  1060,  3943,  2241,  1136,  2711,  1323,  3228,
3598     4317,  2712,  1107,   879,  4340,  1496,  1497,  5091,  2242,  5421,
3599     4500,  3612,  5538,   879,  2205,  4501,  3612,  1351,  2902,  3612,
3600     2660,  1373,  2893,  2243,  4888,  4623,  5368,  2122,  4206,   821,
3601     2931,  1946,   904,  2081,  3634,  1498,  3646,  2154,  2153,  4184,
3602     5364,  5247,  2912,  4613,  2930,  1059,  2158,  4157,  4585,  4600,
3603     5079,  3619,  4151,  5231,  2163,  5230,  4207,  1323,  4152,  5541,
3604     5441,  5498,  1323,  1323,  2244,  5355,  2609,   859,   859,   859,
3605      859,  4105,  4885,  5366,  5059,  2245,  5367,  2869,  3589, -2667,
3606     3495,  3587,  3254,  3375,  2878,     0,  2062,  2063,  2064,  2065,
3607     2066,  2067,   606,   606,     0,     0,  2246,     0,   879,     0,
3608     1323,  2247,     0,  1499,  1451,     0,     0,   604,     0,     0,
3609        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3610        0,     0,   879,     0,   606,     0,     0,     0,     0,   821,
3611        0,     0,  3622,     0,     0,   879,     0,     0,  1452,     0,
3612        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3613     5194,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3614        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3615        0,     0,     0,  2248,     0,     0,     0,     0,     0,   181,
3616        0,     0,     0,     0,     0,     0,     0,  1323,     0,     0,
3617      604,     0,     0,  1323,     0,  3619,  5502,  5239,  1453,     0,
3618        0,     0,     0,     0,  1323,     0,     0,     0,  1323,     0,
3619     1323,     0,  1323,  2249,     0,     0,     0,   181,     0,  4228,
3620        0,     0,     0,     0,  5250,     0,     0,   906,     0,     0,
3621        0,     0,     0,  1454,     0,     0,     0,     0,  1323,     0,
3622        0,     0,   606,   606,  1718,  5378,   207,  2250,     0,     0,
3623        0,   606,     0,  3619,     0,     0,     0,     0,  1107,     0,
3624        0,     0,   606,     0,  3376,     0,     0,     0,   606,  1455,
3625        0,   606,     0,  1946,  1946,     0,     0,     0,     0,  2251,
3626        0,  3612,  3619,  1107,     0,  2252,     0,     0,     0,     0,
3627        0,  2031,  2253,     0,     0,  2254,     0,     0,  1107,     0,
3628        0,     0,     0,     0,   859,     0,     0,     0,     0,  1457,
3629        0,  5318,     0,     0,     0,  1323,     0,     0,     0,     0,
3630     5427,  5428,     0,     0,  5330,     0,     0,  2255,     0,     0,
3631        0,     0,     0,     0,  2256,     0,     0,     0,     0,     0,
3632     1451,  1459,  2257,   606,   606,   606,     0,     0,     0,  2258,
3633     1323,  1323,  1323,     0,     0,     0,  3217,     0,     0,  1323,
3634        0,     0,     0,     0,     0,     0,     0,     0,     0,  1323,
3635        0,     0,  5091,     0,  1452,  2259,     0,  2945,     0,     0,
3636        0,     0,    35,  1107,     0,     0,  1461,  3619,     0,     0,
3637     2039,   871,     0,  2040,     0,  1462,     0,  2041,  2042,  2043,
3638        0,     0,     0,  1463,     0,     0,   859,     0,     0,     0,
3639        0,  2283,     0,  1946,  2044,     0,     0,     0,     0,     0,
3640      879,     0,  2046,  1465,     0,  3612,     0,     0,     0,  2047,
3641        0,     0,  1466,     0,  1453,   181,  1467,     0,   879,  2299,
3642     2039,     0,     0,  2040,   604,     0,  5401,     0,   606,     0,
3643     1323,     0,     0,     0,  2048,  3378,   879,     0,     0,     0,
3644     4228,     0,     0,     0,     0,     0,   871,   871,  1323,  1454,
3645        0,     0,  2046,  5426,     0,     0,   185,     0,  1323, -2667,
3646        0,     0,  5239,  5423,   879,  5424,     0,     0,     0,     0,
3647     1468,  5425,     0,  1107,  3379,   879,     0,     0,     0,     0,
3648        0,     0,     0,   859,  2048,  1455,  5486,     0,     0,   181,
3649        0,   879,     0,     0,     0,   879,     0,     0,     0,     0,
3650        0,     0,     0,  3619,     0,     0,     0,   606,     0,     0,
3651     5555,  5556,     0,     0,  5330,   859,   859,     0,     0,     0,
3652     4228,  1456,     0,     0,     0,  1457,     0,     0,     0,     0,
3653        0,  5426,     0,     0,   185,     0,     0,     0,   606,     0,
3654        0,  5423,     0,  5424,     0,  2049,     0,  1323,  1323,  5425,
3655     2050,  4132,     0,     0,     0,     0,  1458,  1459,  1323,     0,
3656        0,     0,     0,  1323,     0,     0,   606,   606,   606,     0,
3657      606,     0,  2051,  2052,     0,     0,     0,  3619,     0,     0,
3658        0,     0,     0,  3619,     0,     0,     0,  2053,     0,     0,
3659      606,     0,     0,  1323,  1460, -2667,     0,     0,    35,     0,
3660    -2667,     0,  1461,  1323,     0,     0,     0,     0,     0,     0,
3661        0,  1462,     0,     0,   879,     0,     0,     0,   859,  1463,
3662        0,  4228,   879,   879,     0,     0,  2054,  1464,     0,     0,
3663     5239,     0,  5426,     0,   604,   185,   879, -2667,     0,  1465,
3664     2055,     0,  5423,  2056,  5424,     0,     0,     0,  1466,     0,
3665     5425,     0,  1467,     0,     0,     0,   871,   871,   606,     0,
3666        0,     0,   606,   606,     0,     0,     0,     0,     0,     0,
3667        0,     0,     0,     0,     0,     0,     0,   606,     0,   857,
3668        0,     0,   857,  1107,  3619,     0,     0,     0,     0,  1718,
3669     2055,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3670        0,     0,     0,     0,     0,  1093,  1468,     0,     0,     0,
3671        0,   181,     0,     0,     0,     0,     0,     0,     0,     0,
3672        0,     0,     0,     0,     0,     0,     0,   870,   870,     0,
3673     2057,  1093,     0,     0,     0,     0,     0,     0,   181,  2038,
3674        0,     0,   870,     0,     0,   870,  2039,     0,     0,  2040,
3675     1107,     0,     0,  2041,  2042,  2043,     0,     0,     0,     0,
3676        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3677     2044,     0,     0,  2045,     0,     0,     0,     0,  2046,  2039,
3678    -2667,     0,  2040,     0,     0,  2047,  2041,  2042,  2043,     0,
3679        0,  1107,     0,     0,     0,     0,     0,     0,     0,     0,
3680        0,     0,     0,  2044,     0,   870,     0,     0,   870,   870,
3681     2048,  2046,     0,     0,     0,     0,  5485,     0,  2047,     0,
3682        0,     0,     0,     0,  1107,     0,     0,     0,     0,     0,
3683     2058,     0,     0,  2059,  2060,  2061,     0,  2062,  2063,  2064,
3684     2065,  2066,  2067,  2048,     0,  2444,     0,  3509,     0,     0,
3685     3510,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3686        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3687        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3688    -2667,     0,     0,     0,     0,     0,   879,  2062,  2063,  2064,
3689     2065,  2066,  2067,     0,     0,     0,     0,     0,     0,     0,
3690        0,   606,   606,   606,     0,  2039,     0,     0,  2040,     0,
3691        0,     0, -2667, -2667, -2667,     0,     0,   181,     0,     0,
3692        0,  2049,     0,     0,     0,     0,  2050,     0,     0,     0,
3693        0,     0,     0,     0,     0,     0,     0,  2046,     0,     0,
3694        0,     0,     0,     0,  2047,     0,     0,     0,  2051,  2052,
3695        0,     0,     0,     0,  2049,     0,     0,     0,     0,  2050,
3696        0,     0,     0,  2053,     0,     0,     0,     0,  2039,  2048,
3697        0,  2040,     0,     0,     0,  2041,  2042,  2043,     0,     0,
3698        0,  2051,  2052,     0,     0,     0,     0,  1730,     0,     0,
3699        0,     0,  2044,     0,     0,     0,  2053,     0,     0,     0,
3700     2046,     0,  2054,     0,  1107,     0,     0,  2047,     0,     0,
3701        0,     0,  1747,     0,     0,     0,  2055,  2530,     0,  2056,
3702        0,  1107,     0,     0,     0,  2547,     0,  1755,     0,     0,
3703        0,     0,  2048,     0,  1718,  2054,     0,  2444,     0,  1107,
3704        0,     0,     0,     0,     0,     0,     0,     0,     0,  2055,
3705        0,     0,  2056,     0,     0,     0,     0,     0,   879,     0,
3706        0,     0,     0,     0,     0,     0,   879,     0,     0,     0,
3707        0,     0,     0,     0,     0,     0,     0,     0,   879,     0,
3708     2049,     0,     0,     0,     0,  2050,     0,     0,     0,     0,
3709        0,     0,     0,   857,     0,  1107,     0,     0,     0,     0,
3710      870,     0,   606,   870,   870,   606,  2057,     0,  1107,     0,
3711        0,     0,     0,  2628,     0,   606,     0,     0,     0,     0,
3712        0,  1107,  2053,     0,     0,     0,     0,     0,     0,     0,
3713        0,     0,     0,  1107,     0,     0,     0,     0,     0,  2057,
3714     2444,     0,     0,  2049,     0,     0,     0,     0,  2050,     0,
3715      606,   606,     0,   879,   879,     0,     0,     0,     0,     0,
3716        0,     0,     0,     0,     0,   606,     0,   879,   606,     0,
3717     2051,  2052,     0,     0,   673,  2055,     0,  1107,  1107,     0,
3718      879,   879,     0,   759,     0,  2053,     0,     0,     0,     0,
3719        0,     0,     0,     0,     0,     0,   879,     0,     0,     0,
3720        0,     0,     0,     0,     0,     0,  2058,     0,     0,  2059,
3721     2060,  2061,     0,  2062,  2063,  2064,  2065,  2066,  2067,     0,
3722        0,     0,  1971,     0,  2054,     0,     0,     0,   606,     0,
3723        0,   606,   606,     0,     0,     0,     0,     0,  2055,  2058,
3724        0,  2056,  2059,  2060,  2061,     0,  2062,  2063,  2064,  2065,
3725     2066,  2067,     0,     0,     0,     0,  2808,     0,     0,     0,
3726        0,     0,     0,     0,     0,  2057,   606,     0,   606,     0,
3727        0,     0,     0,   606,   606,  2720,     0,     0,     0,     0,
3728      606,   606,   606,     0,     0,   606,     0,   606,     0,   606,
3729      606,   606,   606,   606,   606,     0,   606,     0,   606,   606,
3730        0,     0,   606,     0,     0,     0,     0,     0,     0,     0,
3731        0,     0,     0,     0,     0,     0,  1107,   606,   606,   606,
3732      606,  1718,     0,     0,  2721,   606,     0,     0,  2057,   606,
3733        0,     0,   606,     0,     0,   606,   606,   606,   606,   606,
3734      606,   606,   606,   606,     0,   606,     0,     0,     0,     0,
3735        0,     0,   606,     0,   606,     0,  2722,     0,     0,     0,
3736        0,     0,     0,  2039,     0,  2058,  2040,     0, -2667, -2667,
3737    -2667,     0,  2062,  2063,  2064,  2065,  2066,  2067,     0,  2723,
3738        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3739     2724,   879,     0,     0,     0,  2046,     0,   606,     0,     0,
3740        0,     0, -2667,     0,     0,     0,  2947,     0,     0,     0,
3741        0,  2725,   606,     0,     0,     0,  2726,     0,     0,     0,
3742        0,   606,   606,     0,  2963,     0,     0,  2048,  2058,     0,
3743     2967,  2059,  2060,  2061,  2970,  2062,  2063,  2064,  2065,  2066,
3744     2067,     0,     0,  1481,     0,  3881,     0,   879,  2039,  1482,
3745        0,  2040,     0,     0,  1107,  2041,  2042,  2043,  1107,  1107,
3746     2994,     0,  1483,     0,     0,   879,     0,  2727,     0,     0,
3747     1718,   879,  2044,     0,     0,   879,     0,     0,     0,     0,
3748     2046,     0,     0,   879,     0,     0,     0,  2047,  2728,     0,
3749     1451,  1484,     0,     0,  4572,     0,     0,     0,     0,     0,
3750        0,   879,     0,     0,   606,  3048,     0,     0,     0,     0,
3751        0,     0,  2048,     0,     0,     0,   606,     0,     0,     0,
3752     1107,     0,     0,   606,  1452,  1016,   606,   606,     0,     0,
3753        0,     0,     0,     0,  1107,     0,     0,     0, -2667,     0,
3754     2347,     0,     0, -2667,     0,  1485,   879,     0,     0,     0,
3755        0,     0,  1486,     0,     0,  1487,     0,  3098,     0,     0,
3756        0,   207,  2729,     0,     0,  2730,   879,   879,     0,     0,
3757        0,     0,     0,   857,     0,  1107,     0,     0,     0,   870,
3758    -2667,  1488,   870,  3127,  1453,   870,     0,     0,     0,  3136,
3759        0,  2731,     0,     0,  2732,     0,  3142,  1718,   879,     0,
3760     2733,  1718,     0,  1016,     0,     0,  3156,  2734,     0,     0,
3761        0,     0,  3161,     0,     0,  1489,     0,     0,     0,  1454,
3762        0,     0,     0,  2049,   879,     0,  1718,     0,  2050,     0,
3763      879,     0,  3174,  2055,     0,     0,  2735,   879,  3177,     0,
3764        0,     0,  2736,  3181,   879,  2737,     0,   879,     0,     0,
3765     2051,  2052,     0,   879,     0,  1455,  3198,     0,     0,     0,
3766        0,     0,     0,     0,  2738,  2053,     0,     0,     0,  3223,
3767        0,     0,     0,   879,     0,     0,     0,     0,  1490,   879,
3768     1016,     0,  1491,     0,   879,     0,     0,  1718,     0,     0,
3769     2739,  1456,  1492,     0,     0,  1457,     0,   879,     0,     0,
3770        0,  1493,     0,     0,  2054,     0,     0,     0,     0,     0,
3771      879,     0,     0,  1494,     0,  1718,     0,     0,  2055,     0,
3772        0,   879,     0, -2667,     0,     0,  1522,  1459,     0,     0,
3773        0,     0,   603,     0,     0,     0,     0,     0,     0,   606,
3774      606,   606,     0,     0,     0,   606,     0,     0,     0,     0,
3775        0,  1495,     0,  2474,  1496,  1497,     0,     0,     0,     0,
3776        0,     0,     0,     0,  1523,     0,     0,     0,    35,     0,
3777     2491,     0,  1461,     0,     0,   992,     0,   606,  1107,     0,
3778        0,  1462,     0,     0,  1498,   603,     0,  1718,  2510,  1463,
3779        0,     0,     0,  1481,     0,     0,     0,  1524,     0,  1482,
3780        0,     0,     0,     0,     0,     0,  1548,     0,  2057,  1465,
3781        0,     0,     0,     0,     0,     0,     0,     0,  1466,     0,
3782        0,   606,  1467, -2667,     0,  1549,     0,  1058,   673,     0,
3783     2062,  2063,  2064,  2065,  2066,  2067,     0,     0,     0,   746,
3784        0,  1484,     0,     0,  2591,   746,     0,     0,     0,     0,
3785        0,     0,  1499,     0,     0,     0,     0,  2599,     0,     0,
3786     1107,     0,     0,  1107,     0,     0,     0,     0,   879,     0,
3787     1093,     0,     0,     0,     0,  1550,  1468,     0,   606,     0,
3788        0,     0,  2614,     0,     0,     0,     0,     0,  1481,     0,
3789        0,     0,     0,     0,  1482,  1485,     0,     0,     0,     0,
3790        0,     0,  1486,     0,     0,  1487,     0,  1585,  2058,     0,
3791        0,  2059,  2060,  2061,     0,  2062,  2063,  2064,  2065,  2066,
3792     2067,  1196,     0,     0,   879,  3452,  2643,  1093,     0,     0,
3793        0,  1488,     0,     0,     0,     0,  1484,     0,     0,     0,
3794        0,     0,     0,  3466,     0,     0,     0,  1216,     0,     0,
3795        0,  3452,     0,     0,     0,  1326,     0,     0,  1335,  1058,
3796     1337,     0,  1551,     0,     0,  1489,   879,     0,     0,     0,
3797        0,     0,  2039,     0,     0,  2040,     0,     0,     0,  2041,
3798     2042,  2043,  1107,     0,   879,     0,     0,     0,  1586,     0,
3799     1485,     0,   879,     0,     0,     0,   606,  1486,     0,  1107,
3800     1487,     0,   606,     0,  2046,   606,     0,     0,   606,     0,
3801     1552,  2047,     0,  1553,  1107,     0,     0,     0,     0,     0,
3802        0,     0,     0,     0,     0,   606,  1488,     0,  1554,     0,
3803      606,     0,  1491,     0,     0,     0,  2048,     0,     0,     0,
3804        0,     0,  1492,     0,     0,     0,     0,     0,     0,     0,
3805        0,  1493,     0,     0,   606,   606,   606,     0,     0,   606,
3806     1489,     0,  1555,  1494,     0,  2812,     0,   606,   606,   606,
3807      606,  1481,     0,     0,     0,  1718,     0,  1482,     0,     0,
3808      606,  1718,     0,   606,     0,   606,     0,     0,     0,     0,
3809     1585,     0,     0,     0,     0,     0,   606,   606,     0,     0,
3810      606,  1556,     0,     0,  1496,  1497,  1557,     0,     0,     0,
3811        0,     0,     0,     0,     0,     0,     0,     0,     0,  1484,
3812      606,     0,   606,  1587,   606,     0,     0,  1491,  1558,     0,
3813        0,     0,     0,     0,  1559,     0,     0,  1492,     0,     0,
3814        0,     0,     0,     0,   606,     0,  1493,  2049,  1560,     0,
3815        0,     0,  2050,  2039,     0,   606,  2040,     0,  1494,     0,
3816     2041,  2042,  2043,   879,     0,     0,     0,     0,     0,     0,
3817        0,  1586,     0,  1485, -2667, -2667,     0,  2044,     0,   606,
3818     1486,     0,     0,  1487,     0,  2046,     0,     0,     0,  2053,
3819        0,     0,  2047,     0,   606,     0,  1588,     0,     0,  1496,
3820     1497,     0,  1499,     0,     0,     0,     0,     0,   606,  1488,
3821        0,     0,     0,     0,     0,     0,     0,  2048,     0,     0,
3822        0,     0,     0,     0,     0,     0,     0,  1107, -2667,  1589,
3823     1107,     0,  1107,     0,     0,     0,     0,  1107,  3693,     0,
3824        0,     0,  2055,  1489,     0,     0,     0,     0,     0,     0,
3825        0,     0,   879,   879,     0,     0,     0,     0,   606,     0,
3826        0,     0,     0,     0,     0,     0,     0,     0,     0,  3013,
3827        0,     0,     0,     0,     0,     0,     0,     0,     0,   879,
3828        0,     0,   879,  3030,     0,     0,  1107,     0,     0,     0,
3829        0,     0,     0,     0,     0,     0,     0,  1499,     0,  1058,
3830        0,     0,     0,     0,     0,  1107,  1587,     0,     0,     0,
3831     1491,     0,     0,     0,     0,     0,     0,  1058,     0,     0,
3832     1492,     0,     0,     0,  3063,     0,     0,     0,  2049,  1493,
3833     1107,     0,  2057,  2050,     0,     0,     0,     0,     0,     0,
3834        0,  1494,     0,     0,     0,     0,     0,     0,     0,  3773,
3835        0,  1970,     0,     0,     0,  2051,  2052,     0,     0,     0,
3836        0,     0,     0,     0,     0,     0,  1718,  1718,  1718,     0,
3837     2053,     0,     0,     0,     0,     0,  1058,     0,     0,  3188,
3838        0,     0,  1496,  1497,     0,     0,     0,     0,     0,     0,
3839      879,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3840     1107,     0,  1107,     0,     0,     0,     0,     0,     0,  2054,
3841      879,     0,  3189,     0,     0,     0,     0,     0,     0,     0,
3842        0,     0,     0,  2055,     0,     0,  2056,     0,     0,   879,
3843        0,     0,  2058,     0,     0,  2059,  2060,  2061,     0,  2062,
3844     2063,  2064,  2065,  2066,  2067,     0,     0,     0,     0,     0,
3845        0,     0,     0,  2035,     0,     0,     0,     0,     0,     0,
3846        0,   603,  2037,     0,   603,     0,     0,     0,     0,     0,
3847        0,     0,     0,     0,  3858,     0,  2079,     0,     0,     0,
3848     1499,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3849        0,     0,     0,  1107,     0,  1058,     0,     0,  2096,  2097,
3850        0,     0,     0,  1058,  1058,     0,     0,     0,     0,     0,
3851        0,     0,     0,  2057,     0,   879,     0,  1058,     0,     0,
3852      606,     0,     0,     0,     0,     0,   606,  3283,     0,     0,
3853        0,     0,     0,     0,  1107,     0,   603,     0,     0,     0,
3854        0,     0,     0,     0,     0,     0,     0,   746,     0,   746,
3855        0,   746,     0,     0,     0,     0,     0,   746,  1177,  1178,
3856        0,     0,  1718,  1107,     0,     0,     0,     0,     0,   879,
3857        0,   879,     0,     0,     0,     0,     0,     0,     0,     0,
3858        0,     0,     0,     0,   879,     0,   879,     0,     0,     0,
3859        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3860        0,     0,     0,     0,     0,     0,     0,     0,  1718,     0,
3861        0,     0,     0,  2058,     0,     0,  2059,  2060,  2061,     0,
3862     2062,  2063,  2064,  2065,  2066,  2067,     0,     0,     0,     0,
3863     4061,     0,  1107,     0,     0,     0,     0,     0,     0,     0,
3864        0,     0,  1481,     0,     0,     0,     0,  2039,  1482,     0,
3865     2040,     0,   879,  1107,  2041,  2042,  2043,     0,     0,     0,
3866        0,     0,     0,     0,     0,     0,  2444,  1107,     0,     0,
3867        0,  2044,     0,     0,     0,     0,     0,     0,     0,  2046,
3868        0,     0,     0,     0,  4030,     0,  2047,     0,     0,     0,
3869     1484,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3870        0,     0,   746,     0,     0,     0,     0,   879,     0,  4046,
3871        0,  2048,     0,     0,     0,     0,     0,     0,     0,     0,
3872        0,     0,  1858,  2400,     0,   879,     0,     0,     0,     0,
3873     2407,  3465,     0,     0,     0,     0,     0,     0,     0,     0,
3874        0,     0,  1876,     0,  1485,     0,     0,   879,  3477,     0,
3875      879,  1486,  1887,     0,  1487,     0,  1890,     0,     0,     0,
3876     1893,     0,  1895,  3485,     0,     0,     0,     0,  1903,     0,
3877      606,     0,     0,  1107,  1911,     0,     0,  1914,     0,   606,
3878     1488,     0,     0,     0,     0,     0,     0,   606,     0,   606,
3879        0,     0,   606,     0,     0,   603,  1107,   606,   606,   606,
3880      606,     0,     0,   606,   606,   606,   606,   606,   606,   606,
3881      606,   606,   606,     0,  1489,     0,   606,   606,     0,     0,
3882        0,  1107,  2049,     0,     0,     0,   606,  2050,     0,     0,
3883      606,     0,  1718,     0,   606,     0,     0,     0,     0,     0,
3884        0,     0,   606,     0,     0,   606,     0,   606,     0,  2051,
3885     2052,     0,     0,     0,     0,     0,     0,  1107,     0,   606,
3886        0,     0,   606,   606,  2053,     0,     0,   606,   606,     0,
3887        0,     0,     0,     0,   606,     0,     0,  1587,     0,     0,
3888        0,  1491,     0,     0,   606,     0,     0,   606,     0,     0,
3889        0,  1492,     0,     0,     0,     0,     0,     0,     0,   606,
3890     1493,     0,     0,  2054,     0,     0,     0,     0,     0,     0,
3891        0,     0,  1494,     0,     0,     0,     0,  2055,     0,     0,
3892     2056,     0,     0,     0,     0,   606,     0,     0,     0,     0,
3893        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3894        0,   606,  2541,     0,     0,     0,  2546,  1107,     0,  4251,
3895     1615,     0,     0,  1496,  1497,     0,     0,     0,     0,   606,
3896        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3897        0,     0,     0,     0,     0,     0,     0,   746,     0,     0,
3898        0,     0,     0,  1616,     0,     0,     0,     0,     0,     0,
3899      879,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3900        0,     0,     0,     0,     0,     0,     0,  2057,     0,     0,
3901        0,     0,     0,     0,     0,   603,     0,  2039,     0,   603,
3902     2040,     0,     0,     0,  2041,  2042,  2043,     0,     0,     0,
3903        0,     0,     0,     0,     0,  3697,     0,     0,     0,     0,
3904     1718,  2044,     0,     0,     0,  1718,  1107,  1718,     0,  2046,
3905        0,  1499,     0,     0,  3708,     0,  2047,     0,     0,     0,
3906     1481,     0,     0,     0,     0,  4355,  1482,     0,  4358,     0,
3907     1718,  1107,     0,  1548,     0,     0,     0,     0,     0,     0,
3908        0,  2048,     0,     0,     0,     0,     0,     0,     0,     0,
3909     1718,     0,  1549,     0,     0,     0,     0,     0,     0,     0,
3910        0,     0,     0,     0,     0,     0,   879,  2058,  1484,   879,
3911     2059,  2060,  2061,     0,  2062,  2063,  2064,  2065,  2066,  2067,
3912        0,     0,     0,     0,  4114,     0,     0,     0,     0,     0,
3913        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3914        0,     0,  1550,     0,     0,     0,     0,     0,     0,  3790,
3915        0,  3792,     0,     0,     0,     0,     0,     0,   746,     0,
3916     2766,     0,  1485,   746,   746,     0,     0,     0,     0,  1486,
3917     4442,     0,  1487,     0,     0,     0,   606,   746,     0,     0,
3918        0,     0,     0,     0,     0,     0,     0,     0,     0,  2444,
3919        0,     0,  2049,     0,     0,     0,     0,  2050,  1488,     0,
3920        0,   879,   879,     0,     0,  1107,     0,     0,     0,     0,
3921        0,   879,     0,     0,     0,     0,     0,     0,   606,  2051,
3922     2052,     0,     0,     0,     0,     0,     0,     0,     0,  1551,
3923      879,     0,  1489,     0,  2053,     0,     0,     0,     0,     0,
3924        0,     0,  3843,     0,     0,     0,     0,     0,     0,     0,
3925        0,     0,  2886,  1107,     0,     0,     0,  1107,   606,   606,
3926        0,     0,     0,     0,     0,     0,     0,  3452,     0,   746,
3927     4749,     0,     0,  2054,     0,     0,     0,  1552,     0,   746,
3928     1553,     0,     0,  3865,     0,     0,     0,  2055,     0,     0,
3929     2056,     0,     0,     0,     0,  1554,     0,     0,     0,  1491,
3930        0,     0,     0,     0,     0,     0,     0,     0,   879,  1492,
3931        0,     0,     0,     0,     0,     0,     0,     0,  1493,     0,
3932        0,     0,     0,  1177,  1178,     0,     0,     0,     0,  1555,
3933     1494,     0,     0,   606,     0,     0,     0,     0,     0,     0,
3934        0,     0,     0,     0,     0,   606,     0,     0,     0,     0,
3935        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3936        0,     0,     0,     0,  1058,     0,   746,     0,  3163,   746,
3937      746,  1496,  1497,  1557,     0,   606,     0,  2057,   606,     0,
3938        0,  3063,     0,     0,     0,     0,   606,   606,     0,  1107,
3939        0,     0,     0,   606,   606,  1558,     0,     0,   606,  1107,
3940        0,  3164,     0,     0,   606,     0,     0,   606,   606,     0,
3941        0,     0,   606,     0,     0,  1560,  4001,     0,   606,     0,
3942        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3943      606,     0,     0,     0,  1337,     0,     0,     0,   606,     0,
3944      603,     0,   606,     0,     0,     0,     0,   603,  1481,     0,
3945        0,     0,   603,     0,  1482,   603,  4866,     0,     0,     0,
3946        0,     0,     0,     0,     0,     0,     0,     0,     0,  1499,
3947        0,     0,   606,     0,     0,     0,     0,  2058,   603,     0,
3948     2059,  2060,  2061,     0,  2062,  2063,  2064,  2065,  2066,  2067,
3949        0,   603,     0,     0,  4222,     0,  1484,     0,     0,   606,
3950        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3951     2630,     0,     0,  1337,     0,     0,     0,  1107,  2637,     0,
3952        0,     0,  4060,     0,     0,     0,     0,     0,     0,     0,
3953     1337,     0,     0,     0,  4688,   879,     0,     0,  2649,     0,
3954     1718,     0,     0,     0,   870,  4070,  4698,     0,     0,     0,
3955     1485,     0,   746,     0,     0,     0,     0,  1486,  1107,     0,
3956     1487,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3957     4093,     0,     0,     0,     0,   879,     0,     0,     0,     0,
3958     1107,     0,     0,     0,     0,     0,  1488,   879,   870,     0,
3959        0,     0,     0,     0,  3226,     0,     0,     0,     0,     0,
3960        0,     0,     0,   606,  2039,     0,  1971,  2040,     0,     0,
3961        0,  2041,  2042,  2043,     0,     0,     0,   879,     0,     0,
3962     1489,     0,     0,     0,     0,     0,     0,     0,  2044,     0,
3963     3257,     0,     0,  3257,     0,  3257,  2046,     0,     0,  3257,
3964        0,  3257,  3257,  2047,     0,     0,     0,     0,  1107,     0,
3965     3257,  3257,  3257,     0,     0,     0,     0,   603,     0,     0,
3966     2604,     0,     0,     0,     0,     0,     0,     0,  2048,     0,
3967     2612,     0,  2613,     0,     0,     0,     0,   606,  2617,     0,
3968        0,     0,     0,  1587,     0,  2623,     0,  1491,     0,     0,
3969        0,     0,     0,   606,     0,     0,     0,  1492,     0,     0,
3970        0,     0,     0,     0,     0,  3333,  1493,     0,     0,     0,
3971        0,     0,     0,     0,     0,     0,   879,   603,  1494,     0,
3972        0,     0,     0,   606,     0,     0,     0,     0,     0,     0,
3973        0,     0,     0,     0,     0,     0,     0,  3364,     0,     0,
3974        0,     0,     0,  2891,     0,     0,     0,     0,     0,  1058,
3975        0,     0,     0,     0,     0,  3452,  2263,     0,     0,  1496,
3976     1497,     0,     0,     0,     0,     0,     0,     0,  1107,     0,
3977     1107,     0,     0,     0,     0,     0,     0,     0,     0,  2049,
3978        0,     0,     0,     0,  2050,     0,     0,     0,     0,  2264,
3979        0,     0,     0,     0,     0,     0,   879,     0,     0,     0,
3980        0,     0,     0,     0,     0,  1058,  2051,  2052,     0,     0,
3981        0,     0,     0,     0,     0,   606,     0,  2755,  2756,  1107,
3982        0,  2053,     0,     0,  2770,  2771,     0,     0,     0,     0,
3983        0,     0,  2039,     0,     0,  2040,  5172,     0,     0,  2041,
3984     2042,  2043,     0,     0,   606,   606,     0,     0,   606,     0,
3985        0,     0,     0,  2810,     0,     0,  2044,  1499,     0,     0,
3986     2054,   603,     0,   606,  2046,     0,     0,  3452,     0,  3452,
3987      606,  2047,     0,     0,  2055,   606,     0,  2056,   606,   606,
3988        0,     0,     0,     0,     0,   606,   606,     0,     0,     0,
3989        0,     0,     0,     0,     0,     0,  2048,     0,     0,     0,
3990        0,   606,     0,   606,     0,     0,     0,     0,   879,     0,
3991      879,     0,     0,     0,   606,     0,     0,  1481,     0,   603,
3992        0,     0,     0,  1482,     0,     0,     0,     0,     0,     0,
3993        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3994        0,     0,     0,     0,     0,     0,     0,     0,   603,     0,
3995        0,     0,     0,     0,  4431,     0,  1107,   879,     0,     0,
3996        0,     0,  2921,  2921,  2057,  1484,     0,   606,     0,     0,
3997        0,     0,     0,     0,     0,     0,     0,     0,     0,   612,
3998        0,     0,     0,     0,     0,   662,   612,     0,     0,     0,
3999        0,   714,     0,   612,     0,     0,     0,     0,     0,   612,
4000        0,   765,     0,     0,     0,     0,  1718,  2049,     0,     0,
4001        0,   606,  2050,     0,     0,     0,     0,     0,     0,  1485,
4002      832,   832,     0,     0,   746,     0,  1486,     0,     0,  1487,
4003        0,     0,     0,     0,  2051,  2052,     0,     0,     0,     0,
4004        0,     0,     0,     0,  1058,     0,     0,     0,     0,  2053,
4005        0,     0,     0,   603,     0,  1488,     0,     0,     0,     0,
4006        0,     0,     0,     0,  2058,     0,     0,  2059,  2060,  2061,
4007        0,  2062,  2063,  2064,  2065,  2066,  2067,     0,     0,     0,
4008      606,  4535,  1107,     0,     0,     0,     0,     0,  2054,  1489,
4009        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4010        0,     0,  2055,     0,     0,  2056,   606,  1107,     0,   606,
4011        0,   606,     0,     0,     0,     0,     0,     0,     0,  3065,
4012      870,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4013      606,     0,     0,     0,     0,     0,   606,     0,     0,     0,
4014      606,     0,     0,     0,     0,     0,  1107,     0,  1971,     0,
4015      606,     0,  1490,     0,     0,     0,  1491,     0,     0,     0,
4016        0,     0,     0,  1058,     0,     0,  1492,     0,     0,   866,
4017        0,     0,     0,  5404,     0,  1493,     0,   908,     0,     0,
4018      910,     0,     0,   915,   916,     0,   919,  1494,   922,   603,
4019     1718,   928,  2057,   930,     0,   870,   870,     0,     0,  1107,
4020      746,     0,     0,     0,  1107,  1107,     0,     0,   746,   606,
4021        0,   746,     0,     0,   606,   606,   879,     0,     0,     0,
4022        0,     0,     0,   746,     0,  2340,     0,  3390,  1496,  1497,
4023      879,     0,     0,     0,     0,  3399,     0,     0,     0,     0,
4024        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4025        0,     0,   606,  3766,     0,  3418,     0,     0,  2341,   606,
4026        0,     0,     0,   603,     0,  3424,  4654,     0,  3425,   603,
4027     3426,  3427,     0,     0,  3429,     0,     0,     0,     0,     0,
4028     3433,     0,  3434,     0,   606,  3436,     0,     0,     0,     0,
4029        0,     0,  2058,     0,     0,  2059,  2060,  2061,     0,  2062,
4030     2063,  2064,  2065,  2066,  2067,     0,     0,  4677,  3805,  4573,
4031        0,     0,     0,     0,     0,     0,     0,     0,     0,  1107,
4032     1107,     0,     0,     0,     0,     0,  1499,     0,     0,  4693,
4033        0,     0,     0,     0,     0,     0,     0,     0,     0,   606,
4034        0,     0,   606,     0,     0,   606,     0,     0,  3475,     0,
4035        0,     0,     0,     0,     0,     0,   606,     0,     0,     0,
4036      606,     0,   606,     0,   606,     0,     0,     0,     0,     0,
4037      603,   606,     0,     0,     0,     0,  3845,     0,     0,     0,
4038        0,     0,     0,  5543,     0,     0,     0,     0,  1481,     0,
4039      606,     0,     0,     0,  1482,     0,     0,  4720,     0,     0,
4040        0,     0,     0,     0,     0,   870,   870,     0,     0,     0,
4041        0,     0,     0,     0,     0,  1718,     0,   879,     0,     0,
4042     3257,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4043        0,     0,  3405,  3407,  3878,  3878,  1484,     0,  3415,     0,
4044        0,     0,     0,     0,  3894,     0,     0,     0,     0,     0,
4045     1058,     0,  1058,  2039,     0,     0,  2040,     0,     0,     0,
4046     2041,  2042,  2043,     0,     0,     0,     0,   606,     0,     0,
4047        0,     0,     0,     0,     0,     0,   606,  2044,     0,     0,
4048        0,     0,     0,     0,     0,  2046,     0,     0,     0,  3452,
4049     1485,     0,  2047,     0,     0,     0,     0,  1486,  3950,   746,
4050     1487,     0,   606,   606,   606,     0,     0,     0,     0,     0,
4051        0,   606,  1718,     0,     0,  1107,     0,  2048,     0,  4810,
4052        0,   606,  1481,     0,     0,     0,  1488,     0,  1482,     0,
4053      879,     0,  3985,  1058,     0,     0,     0,     0,     0,     0,
4054        0,     0,     0,   606,     0,     0,     0,     0,     0,     0,
4055        0,     0,     0,     0,     0,     0,   879,     0,     0,     0,
4056     1489,     0,     0,     0,     0,     0,     0,     0,  1971,     0,
4057     1484,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4058        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4059        0,     0,     0,     0,     0,     0,   606,     0,     0,     0,
4060        0,     0,   606,  1010,     0,     0,     0,     0,     0,     0,
4061     1023,  1024,   606,     0,  1030,     0,  1033,  1034,   606,   606,
4062      606,  1036,  3691,  1587,  1485,     0,     0,  1491,  2049,  1481,
4063      606,  1486,  1055,  2050,  1487,  1482,     0,  1492,     0,     0,
4064        0,     0,  2039,     0,     0,  2040,  1493,     0,     0,  2041,
4065     2042,  2043,     0,     0,     0,  2051,  2052,     0,  1494,     0,
4066     1488,   879,     0,     0,     0,     0,  2044,     0,     0,     0,
4067     2053,  1132,     0,  1134,  2046,     0,     0,  1484,     0,     0,
4068        0,  2047,     0,  1150,     0,     0,   606,     0,     0,     0,
4069        0,     0,   606,     0,  1489,     0,  3058,     0,     0,  1496,
4070     1497,     0,  3628,     0,   746,  3750,  2048,  3752,     0,  2054,
4071        0,     0,     0,     0,     0,   612,     0,     0,     0,   606,
4072      606,     0,  4115,  2055,     0,     0,  2056,  3641,  3641,  1498,
4073      606,  1485,     0,     0,     0,   606,     0,     0,  1486,     0,
4074        0,  1487,     0,     0,  1718,     0,     0,     0,     0,     0,
4075        0,     0,     0,     0,     0,     0,     0,  1587,     0,     0,
4076        0,  1491,     0,     0,     0,   606,     0,  1488,  1451,     0,
4077        0,  1492,     0,     0,     0,   606,     0,     0,     0,     0,
4078     1493,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4079        0,     0,  1494,   606,     0,     0,     0,  1499,     0,     0,
4080      832,  1489,  1452,     0,     0,     0,   606,     0,  1718,     0,
4081        0,     0,     0,  2057,     0,     0,  2039,  2049,     0,  2040,
4082        0,     0,  2050,  2041,  2042,  2043,  1718,     0,   606,   606,
4083     3233,     0,     0,  1496,  1497,     0,  1442,     0,     0,     0,
4084     2044,     0,     0,     0,  2051,  2052,  3842,     0,  2046,     0,
4085        0,     0,  3849,     0,     0,  2047,  1971,     0,     0,  2053,
4086        0,     0,  1453,  3234,  1587,     0,     0,     0,  1491,     0,
4087        0,     0,     0,     0,     0,     0,     0,     0,  1492,     0,
4088     2048,     0,     0,     0,     0,     0,     0,  1493,     0,     0,
4089        0,     0,     0,     0,     0,  3843,     0,  1454,  2054,  1494,
4090        0,     0,     0,     0,     0,     0,     0,     0,     0,  1618,
4091        0,     0,  2055,  2058,     0,  2056,  2059,  2060,  2061,     0,
4092     2062,  2063,  2064,  2065,  2066,  2067,     0,  3894,  2468,     0,
4093     1729,  1499,     0,  1455,     0,     0,     0,  3719,     0,     0,
4094     1496,  1497,  1740,     0,     0,     0,     0,  1743,  1971,     0,
4095        0,     0,  4323,  1971,  1971,     0,     0,  1746,     0,     0,
4096     4332,     0,  1750,  4333,     0,  4334,     0,     0,     0,  1456,
4097     3720,  1753,     0,  1457,     0,     0,  1760,  2039,     0,  1764,
4098     2040,     0,     0,     0,  2041,  2042,  2043,     0,     0,     0,
4099        0,  2049,     0,     0,     0,     0,  2050,     0,     0,     0,
4100        0,  2044,  2057,     0,  1539,  1459,     0,     0,  4375,  2046,
4101        0,     0,     0,     0,     0,     0,  2047,     0,  2051,  2052,
4102        0,  1818,     0,     0,  3257,     0,     0,     0,  3257,  3257,
4103        0,  3257,     0,  2053,     0,     0,     0,     0,  1499,     0,
4104        0,  2048,  1540,     0,     0,     0,    35,     0,     0,  4012,
4105     1461,  4014,     0,  4016,     0,     0,     0,     0,     0,  1462,
4106        0,     0,  4020,     0,     0,     0,     0,  1463,     0,  5214,
4107        0,     0,  2054,     0,     0,  1541,     0,     0,     0,     0,
4108        0,     0,     0,     0,     0,     0,  2055,  1465,     0,  2056,
4109        0,     0,     0,     0,     0,     0,  1466,     0,     0,     0,
4110     1467,     0,  2058,  4045,   746,  2059,  2060,  2061,     0,  2062,
4111     2063,  2064,  2065,  2066,  2067,     0,     0,     0,     0,  4828,
4112        0,     0,     0,     0,     0,     0,     0,     0,  3928,     0,
4113        0,  4482,     0,     0,  3894,     0,   612,     0,   612,     0,
4114      612,     0,   612,     0,   612,   612,   612,     0,     0,     0,
4115        0,   612,  2049,     0,  1468,     0,     0,  2050,     0,     0,
4116        0,     0,  1966,     0,     0,     0,     0,     0,     0,     0,
4117        0,     0,     0,     0,     0,     0,  2057,  1979,     0,  2051,
4118     2052,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4119        0,     0,     0,     0,  2053,     0,     0,     0,     0,     0,
4120        0,     0,     0,     0,  4523,  4523,  4523,     0,  4523,  4523,
4121     4523,  4523,  4523,     0,     0,     0,     0,  4006,     0,     0,
4122        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4123        0,     0,     0,  2054,     0,     0,     0,     0,     0,     0,
4124        0,     0,  -130,     0,     0,     0,     0,  2055,     0,     0,
4125     2056,     0,     0,     0,     0,  1481,     0,     0,     0,     0,
4126        0,  1482,     1,     0,  5360,     0,     0,     0,     0,     0,
4127        0,     0,     2,     0,     3,     4,  2058,     0,     0,  2059,
4128     2060,  2061,     0,  2062,  2063,  2064,  2065,  2066,  2067,     0,
4129        5,     0,     0,  4838,     0,     0,     0,     0,   746,     6,
4130        0,     0,     0,  1484,     0,     0,     0,     0,     0,     0,
4131        0,     7,     0,     8,     9,     0,     0,     0,     0,     0,
4132       10,  2039,    11,     0,  2040,     0,     0,     0,  2041,  2042,
4133     2043,     0,     0,    12,     0,    13,     0,  2057,   832,     0,
4134     4612,     0,  4614,     0,     0,  2044,     0,     0,     0,     0,
4135        0,     0,    14,  2046,     0,    15,     0,  1485,     0,     0,
4136     2047,     0,     0,     0,  1486,     0,     0,  1487,     0,    16,
4137        0,    17,     0,     0,     0,    18,     0,     0,     0,     0,
4138        0,    19,     0,     0,     0,  2048,     0,     0,     0,    20,
4139        0,    21,     0,  1488,     0,     0,     0,     0,    22,     0,
4140        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4141        0,     0,     0,     0,    23,     0,     0,     0,     0,  2261,
4142        0,     0,     0,     0,     0,     0,     0,  1489,     0,     0,
4143        0,    24,     0,     0,     0,     0,     0,  2058,     0,     0,
4144     2059,  2060,  2061,     0,  2062,  2063,  2064,  2065,  2066,  2067,
4145        0,     0,     0,     0,  4847,     0,     0,     0,     0,     0,
4146        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4147        0,    25,    26,     0,   872,   881,     0,    27,     0,     0,
4148        0,     0,   872,     0,   881,   872,     0,     0,     0,    28,
4149     1587,  2352,     0,     0,  1491,     0,  2049,     0,   881,     0,
4150        0,  2050,     0,     0,  1492,     0,     0,    29,     0,     0,
4151        0,     0,     0,  1493,     0,     0,     0,     0,     0,     0,
4152        0,     0,     0,  2051,  2052,  1494,     0,  4718,  4719,     0,
4153        0,     0,     0,     0,     0,     0,     0,     0,  2053,     0,
4154     3257,     0,  3257,  3257,     0,     0,  3257,     0,     0,     0,
4155       30,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4156        0,     0,     0,  3775,    31,     0,  1496,  1497,     0,     0,
4157       32,    33,     0,    34,     0,     0,     0,  2054,    35,     0,
4158        0,     0,     0,    36,     0,     0,    37,   746,     0,     0,
4159        0,  2055,     0,    38,  2056,     0,  3776,     0,     0,    39,
4160       40,     0,     0,     0,     0,     0,     0,    41,     0,     0,
4161     4778,    42,   746,     0,     0,     0,     0,     0,     0,   746,
4162        0,    43,     0,     0,     0,     0,     0,     0,     0,     0,
4163      746,     0,     0,     0,     0,     0,    44,     0,     0,     0,
4164        0,     0,     0,     0,     0,     0,     0,  4505,  4805,     0,
4165        0,  4507,     0,     0,     0,     0,    45,     0,     0,     0,
4166        0,     0,     0,     0,  1499,     0,     0,    46,     0,     0,
4167        0,     0,     0,    47,     0,     0,     0,     0,    48,     0,
4168        0,  2057,     0,  4523,     0,     0,     0,     0,     0,     0,
4169        0,    49,     0,     0,     0,     0,     0,     0,     0,     0,
4170        0,     0,     0,     0,     0,  1177,  1178,     0,     0,     0,
4171        0,     0,     0,     0,    50,     0,     0,     0,     0,     0,
4172        0,     0,     0,     0,     0,     0,     0,     0,    51,     0,
4173        0,  -130,     0,     0,     0,     0,     0,     0,  2514,     0,
4174        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4175        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4176        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4177        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4178        0,  2058,     0,     0,  2059,  2060,  2061,     0,  2062,  2063,
4179     2064,  2065,  2066,  2067,   746,     0,     0,  2039,  4850,     0,
4180     2040,     0,     0,     0,  2041,  2042,  2043,     0,     0,     0,
4181        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4182        0,  2044,     0,     0,     0,     0,     0,     0,     0,  2046,
4183        0,     0,     0,     0,     0,     0,  2047,  3894,     0,     0,
4184        0,     0,     0,     0,     0,     0,   746,     0,     0,     0,
4185        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4186        0,  2048,     0,     0,     0,  2641,     0,  2642,     0,  4653,
4187        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4188        0,     0,  3257,     0,  2653,     0,  2654,     0,     0,     0,
4189        0,  4967,     0,     0,     0,     0,     0,     0,     0,     0,
4190      612,     0,   612,     0,   612,     0,   612,     0,   612,   881,
4191        0,     0,   612,  4678,  4679,   881,     0,     0,     0,     0,
4192        0,     0,     0,     0,     0,     0,     0,     0,   881,     0,
4193        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4194        0,     0,     0,     0,   881,     0,     0,     0,     0,     0,
4195        0,     0,     0,     0,     0,     0,     0,     0,   872,   881,
4196        0,     0,     0,     0,     0,   872,     0,   881,   872,     0,
4197        0,     0,  2049,     0,     0,     0,     0,  2050,     0,     0,
4198        0,   881,     0,     0,     0,     0,     0,     0,     0,     0,
4199        0,   881,     0,     0,     0,     0,     0,     0,     0,  2051,
4200     2052,     0,     0,  4721,  4722,     0,     0,     0,     0,     0,
4201        0,     0,     0,     0,  2053,     0,     0,     0,     0,     0,
4202        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4203        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4204        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4205        0,     0,     0,  2054,     0,     0,     0,     0,     0,     0,
4206        0,     0,     0,     0,     0,     0,     0,  2055,     0,     0,
4207     2056,     0,     0,     0,     0,     0,   881,     0,     0,     0,
4208        0,     0,     0,   746,     0,     0,     0,     0,     0,   746,
4209        0,     0,     0,   746,     0,     0,     0,     0,     0,     0,
4210      881,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4211        0,  1058,     0,   881,     0,  5146,     0,     0,     0,  4691,
4212     4692,     0,     0,     0,  4695,  4696,     0,     0,     0,  4818,
4213        0,     0,     0,  4820,  4821,     0,     0,     0,     0,     0,
4214        0,     0,     0,  2948,  2949,     0,     0,     0,     0,  4825,
4215        0,     0,     0,     0,     0,     0,     0,  2057,     0,     0,
4216        0,     0,  2964,  2965,     0,     0,     0,  2968,  2969,     0,
4217        0,     0,  2972,     0,     0,  2039,     0,     0,  2040,     0,
4218        0,     0,  2041,  2042,  2043,     0,  2983,     0,     0,     0,
4219        0,     0,     0,  2992,     0,     0,     0,  2995,  2996,  2044,
4220        0,  2999,  3000,     0,     0,     0,     0,  2046,  3005,     0,
4221        0,     0,     0,     0,  2047,     0,     0,     0,     0,     0,
4222        0,     0,  1720,  3024,     0,  3026,     0,     0,     0,     0,
4223        0,     0,     0,     0,     0,     0,     0,     0,     0,  2048,
4224      872,     0,     0,  3049,     0,     0,   872,     0,  3051,   872,
4225        0,     0,     0,     0,     0,     0,     0,  2058,     0,     0,
4226     2059,  2060,  2061,  3057,  2062,  2063,  2064,  2065,  2066,  2067,
4227        0,     0,  3064,     0,  4897,  3068,     0,  3070,  3073,  3075,
4228        0,     0,     0,     0,  3083,  3086,     0,     0,     0,     0,
4229        0,     0,     0,     0,  3099,     0,     0,     0,  1058,  3108,
4230        0,     0,  5287,  3111,  5288,     0,     0,     0,  5293,  5294,
4231        0,     0,     0,     0,     0,  2039,     0,     0,  2040,     0,
4232     3128,     0,  2041,  2042,  2043,     0,  3137,  3138,     0,     0,
4233        0,     0,     0,  3143,     0,     0,     0,     0,     0,  2044,
4234        0,     0,     0,  3157,  3158,     0,     0,  2046,     0,  3162,
4235     2049,     0,     0,     0,  2047,  2050,     0,     0,     0,     0,
4236        0,  3169,     0,     0,  3172,     0,     0,     0,     0,  3175,
4237        0,     0,     0,     0,     0,  3178,  3179,  2051,  2052,  2048,
4238        0,  3183,     0,     0,  3187,     0,     0,     0,  3194,  3195,
4239     3196,  3197,  2053,  3199,     0,     0,     0,     0,   881,     0,
4240        0,     0,     0,     0,     0,     0,  3224,  3225,     0,  3227,
4241        0,     0,     0,     0,     0,     0,   881,     0,     0,     0,
4242     3236,  3237,  3238,     0,     0,     0,     0,     0,     0,     0,
4243        0,  2054,     0,     0,   881,     0,     0,     0,     0,     0,
4244        0,     0,     0,     0,     0,  2055,     0,     0,  2056,     0,
4245        0,     0,  2039,     0,     0,  2040,  5055,     0,     0,  2041,
4246     2042,  2043,   881,     0,     0,     0,     0,     0,     0,     0,
4247        0,     0,     0,   881,     0,     0,  2044,     0,     0,     0,
4248        0,     0,     0,  3291,  2046,     0,     0,     0,     0,   881,
4249     2049,  2047,     0,   881,     0,  2050,     0,   746,     0,     0,
4250        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4251        0,  3328,     0,     0,     0,     0,  2048,  2051,  2052,     0,
4252        0,     0,     0,     0,     0,     0,  5100,     0,     0,     0,
4253        0,     0,  2053,     0,     0,  2057,     0,     0,     0,     0,
4254        0,     0,  1058,     0,     0,     0,     0,     0,     0,     0,
4255        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4256        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4257        0,  2054,     0,     0,     0,     0,     0,     0,     0,  5137,
4258        0,     0,     0,     0,     0,  2055,     0,     0,  2056,     0,
4259        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4260        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4261        0,     0,   881,     0,     0,     0,     0,     0,     0,     0,
4262      881,   881,     0,     0,     0,  5509,     0,  2049,     0,     0,
4263        0,     0,  2050,     0,   881,  2058,     0,     0,  2059,  2060,
4264     2061,     0,  2062,  2063,  2064,  2065,  2066,  2067,     0,     0,
4265        0,     0,  4932,     0,  2051,  2052,     0,     0,     0,     0,
4266        0,     0,     0,     0,     0,     0,     0,     0,     0,  2053,
4267     2039,     0,     0,  2040,     0,  2057,     0,  2041,  2042,  2043,
4268        0,     0,     0,     0,     0,     0,     0,  1720,     0,  5509,
4269        0,     0,     0,     0,  2044,     0,     0,     0,     0,     0,
4270        0,     0,  2046,     0,     0,     0,     0,  5509,  2054,  2047,
4271        0,     0,     0,  3488,     0,     0,     0,     0,     0,     0,
4272        0,     0,  2055,     0,     0,  2056,     0,     0,     0,     0,
4273        0,     0,     0,     0,  2048,     0,     0,     0,     0,     0,
4274        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4275        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4276        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4277        0,   746,     0,     0,     0,  2058,     0,     0,  2059,  2060,
4278     2061,     0,  2062,  2063,  2064,  2065,  2066,  2067,     0,     0,
4279        0,     0,  4974,     0,     0,     0,     0,     0,     0,     0,
4280        0,     0,     0,     0,     0,     0,     0,  2039,     0,     0,
4281     2040,     0,  2057,     0,  2041,  2042,  2043,     0,     0,     0,
4282        0,     0,     0,     0,     0,     0,     0,     0,   858,   860,
4283        0,  2044,   864,     0,     0,     0,     0,     0,     0,  2046,
4284        0,     0,     0,     0,     0,  2049,  2047,     0,     0,     0,
4285     2050,     0,   921,     0,     0,     0,     0,     0,     0,   931,
4286        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4287        0,  2048,  2051,  2052,     0,     0,     0,     0,     0,     0,
4288        0,     0,     0,     0,   881,     0,     0,  2053,     0,     0,
4289        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4290        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4291        0,     0,  2058,     0,     0,  2059,  2060,  2061,     0,  2062,
4292     2063,  2064,  2065,  2066,  2067,     0,  2054,     0,     0,  5275,
4293        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4294     2055,     0,     0,  2056,     0,     0,     0,     0,  5281,     0,
4295        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4296        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4297        0,     0,     0,     0,     0,  3694,     0,     0,     0,  3696,
4298        0,     0,  2049,     0,     0,  3698,     0,  2050,     0,     0,
4299        0,     0,     0,     0,     0,     0,     0,     0,     0,  5453,
4300        0,     0,     0,  3709,  3711,     0,     0,     0,  3711,  2051,
4301     2052,     0,     0,  3722,  3723,  3724,     0,     0,     0,     0,
4302        0,     0,     0,     0,  2053,     0,     0,     0,     0,     0,
4303     2057,     0,  1720,  2039,     0,     0,  2040,     0,     0,     0,
4304     2041,  2042,  2043,     0,     0,     0,     0,     0,     0,  3753,
4305     3754,  3755,  3756,     0,     0,     0,   881,  2044,     0,     0,
4306        0,     0,     0,  2054,   881,  2046,     0,     0,     0,     0,
4307        0,     0,  2047,     0,     0,     0,   881,  2055,     0,     0,
4308     2056,     0,     0,     0,     0,     0,  3774,     0,  3778,  3779,
4309     3780,     0,     0,     0,     0,     0,     0,  2048,     0,     0,
4310        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4311        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4312        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4313     2058,     0,     0,  2059,  2060,  2061,     0,  2062,  2063,  2064,
4314     2065,  2066,  2067,     0,     0,     0,     0,  5298,   872,   872,
4315        0,   881,   881,     0,     0,     0,     0,     0,     0,     0,
4316        0,     0,     0,   872,     0,   881,   872,  2057,     0,     0,
4317        0,     0,     0,     0,     0,     0,     0,     0,   881,   881,
4318        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4319        0,     0,     0,     0,   881,     0,     0,     0,     0,     0,
4320        0,     0,  3853,     0,     0,     0,     0,     0,  2049,     0,
4321        0,  3859,     0,  2050,     0,     0,     0,     0,     0,     0,
4322        0,     0,     0,     0,     0,     0,   872,     0,     0,   872,
4323      872,     0,     0,     0,     0,  2051,  2052,     0,     0,     0,
4324        0,     0,  3873,     0,     0,     0,     0,     0,     0,     0,
4325     2053,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4326     1001,     0,  1004,     0,     0,  3916,  1007,  2058,     0,     0,
4327     2059,  2060,  2061,     0,  2062,  2063,  2064,  2065,  2066,  2067,
4328     1032,     0,     0,     0,  5403,  5508,     0,  1037,     0,  2054,
4329        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4330        0,     0,     0,  2055,     0,     0,  2056,     0,     0,     0,
4331        0,     0,     0,     0,     0,     0,     0,  3953,     0,  1720,
4332        0,     0,  3959,     0,     0,     0,     0,     0,     0,     0,
4333        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4334        0,     0,     0,     0,     0,     0,     0,     0,     0,  5508,
4335        0,     0,     0,     0,     0,     0,  3998,     0,     0,     0,
4336        0,     0,     0,     0,     0,     0,     0,  5508,     0,     0,
4337        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4338        0,     0,     0,     0,     0,     0,     0,     0,     0,   881,
4339        0,     0,     0,  2057,     0,     0,   880,     0,     0,  4017,
4340        0,  4018,     0,     0,     0,   880,     0,     0,     0,     0,
4341        0,     0,     0,     0,     0,     0,     0,     0,     0,   880,
4342        0,     0,     0,     0,     0,     0,     0,  2039,     0,     0,
4343     2040,     0,     0,     0,  2041,  2042,  2043,     0,     0,     0,
4344        0,  4042,     0,     0,     0,   881,     0,     0,     0,   884,
4345        0,  2044,     0,     0,     0,     0,     0,     0,     0,  2046,
4346        0,   918,     0,   881,     0,     0,  2047,     0,  1720,   881,
4347        0,     0,   937,   881,     0,     0,     0,     0,     0,     0,
4348        0,   881,     0,     0,     0,     0,     0,     0,     0,     0,
4349        0,  2048,     0,  2058,     0,     0,  2059,  2060,  2061,   881,
4350     2062,  2063,  2064,  2065,  2066,  2067,     0,     0,     0,     0,
4351     5472,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4352        0,   872,     0,     0,   872,   872,     0,  1513,  1514,     0,
4353        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4354        0,     0,     0,     0,   881,     0,     0,     0,     0,     0,
4355        0,     0,     0,     0,     0,     0,     0,     0,     0,  2039,
4356        0,     0,  2040,     0,   881,   881,  2041,  2042,  2043,     0,
4357        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4358        0,     0,     0,  2044,     0,     0,     0,     0,     0,     0,
4359        0,  2046,     0,     0,     0,  1720,   881,     0,  2047,  1720,
4360        0,     0,  2049,     0,     0,     0,     0,  2050,     0,     0,
4361        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4362        0,     0,   881,  2048,  1720,     0,  1749,     0,   881,  2051,
4363     2052,     0,     0,     0,     0,   881,     0,     0,     0,     0,
4364        0,     0,   881,     0,  2053,   881,     0,     0,     0,     0,
4365        0,   881,     0,     0,     0,  1771,  1772,     0,     0,     0,
4366        0,  4239,     0,  4240,     0,     0,     0,     0,     0,     0,
4367     4242,   881,     0,     0,     0,     0,     0,   881,     0,     0,
4368        0,  1813,   881,  2054,     0,  1720,  4252,     0,     0,     0,
4369        0,     0,     0,     0,     0,   881,     0,  2055,  4258,     0,
4370     2056,     0,  4261,  2039,     0,     0,  2040,     0,   881,     0,
4371     2041,  2042,  2043,  1720,     0,     0,     0,     0,     0,   881,
4372     4283,     0,     0,     0,     0,     0,     0,  2044,     0,     0,
4373        0,  2904,     0,     0,  2049,  2046,     0,     0,  4287,  2050,
4374        0,     0,  2047,  4291,     0,     0,     0,     0,     0,     0,
4375        0,     0,     0,     0,     0,  1882,  1884,     0,     0,     0,
4376        0,  2051,  2052,     0,     0,     0,     0,  2048,  4326,     0,
4377        0,     0,  4330,     0,     0,     0,  2053,     0,     0,     0,
4378     4335,  4336,  4337,  4338,     0,  1720,     0,  2057,     0,  4343,
4379     4344,  4345,  4346,     0,     0,     0,  4348,  4349,     0,     0,
4380        0,     0,  4356,  4357,     0,  4359,  4360,  4361,  4362,  4363,
4381     4364,  4365,     0,     0,     0,  2054,  2905,     0,     0,     0,
4382        0,  4374,     0,     0,     0,  4377,  4378,  4379,  4380,  2055,
4383      880,     0,  2056,     0,     0,     0,   880,     0,     0,     0,
4384        0,     0,     0,     0,     0,     0,     0,     0,     0,   880,
4385        0,  3711,     0,     0,     0,     0,     0,     0,     0,     0,
4386        0,     0,     0,   951,     0,   880,   881,     0,     0,   999,
4387     4403,     0,     0,     0,     0,     0,     0,     0,  2049,     0,
4388      880,     0,     0,  2050,     0,     0,     0,  2058,   880,     0,
4389     2059,  2060,  2061,     0,  2062,  2063,  2064,  2065,  2066,  2067,
4390        0,     0,   880,     0,  5528,  2051,  2052,     0,     0,     0,
4391        0,     0,   880,     0,     0,     0,     0,     0,     0,  2057,
4392     2053,     0,   881,     0,     0,     0,     0,     0,     0,     0,
4393        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4394        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4395        0,     0,     0,     0,     0,     0,     0,     0,     0,  2054,
4396        0,     0,     0,     0,   881,     0,     0,     0,     0,     0,
4397     3711,     0,     0,  2055,     0,     0,  2056,     0,     0,     0,
4398        0,     0,   881,     0,     0,     0,     0,     0,     0,     0,
4399      881,     0,     0,     0,     0,     0,     0,   880,     0,     0,
4400      872,     0,     0,   872,     0,     0,   872,  4517,     0,     0,
4401        0,     0,     0,     0,     0,     0,     0,     0,     0,  2058,
4402        0,   880,  2059,  2060,  2061,     0,  2062,  2063,  2064,  2065,
4403     2066,  2067,     0,     0,   880,  2039,  5542,     0,  2040,     0,
4404        0,     0,  2041,  2042,  2043,     0,  1330,     0,     0,     0,
4405        0,     0,     0,     0,     0,     0,     0,     0,     0,  2044,
4406        0,     0,     0,  2057,     0,  1353,     0,  2046,     0,     0,
4407        0,     0,     0,  1720,  2047,     0,     0,     0,     0,  1720,
4408        0,     0,     0,     0,     0,     0,     0,  1377,     0,     0,
4409        0,     0,     0,     0,     0,     0,     0,     0,     0,  2048,
4410        0,     0,     0,  2281,     0,     0,     0,     0,     0,     0,
4411        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4412        0,     0,     0,  2906,     0,     0,     0,     0,  2320,     0,
4413        0,     0,     0,  1512,     0,     0,     0,     0,     0,     0,
4414        0,     0,     0,  1719,     0,     0,     0,     0,     0,     0,
4415        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4416        0,   881,     0,  2058,     0,     0,  2059,  2060,  2061,     0,
4417     2062,  2063,  2064,  2065,  2066,  2067,     0,     0,     0,     0,
4418        0,     0,     0,     0,     0,     0,  3540,     0,     0,     0,
4419        0,  3541,     0,     0,     0,     0,     0,     0,     0,     0,
4420        0,     0,     0,     0,     0,  2402,     0,     0,     0,     0,
4421     2049,     0,     0,     0,     0,  2050,     0,     0,     0,     0,
4422     4657,     0,     0,     0,  4658,  4659,  4660,  4661,     0,     0,
4423        0,  4663,  2425,  2426,  2427,  2428,     0,  2051,  2052,     0,
4424        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4425      881,   881,  2053,     0,     0,     0,     0,     0,     0,  1769,
4426        0,     0,     0,     0,     0,  4683,  4684,  4685,  4686,  4687,
4427        0,  4689,  4690,     0,     0,     0,     0,   881,     0,     0,
4428      881,     0,     0,  4699,  4700,     0,     0,     0,  1807,  1810,
4429     1811,  2054,     0,     0,     0,     0,     0,     0,     0,     0,
4430        0,     0,     0,     0,     0,  2055,     0,     0,  2056,     0,
4431        0,     0,     0,  4705,     0,     0,     0,     0,     0,   880,
4432        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4433        0,     0,     0,     0,     0,     0,     0,   880,     0,     0,
4434        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4435        0,     0,     0,     0,     0,   880,     0,     0,     0,     0,
4436        0,     0,     0,     0,  1720,  1720,  1720,     0,     0,     0,
4437        0,     0,     0,  2480,  2481,     0,     0,     0,     0,     0,
4438        0,     0,     0,   880,     0,     0,     0,     0,   881,     0,
4439        0,     0,     0,  2504,   880,  2057,     0,     0,     0,     0,
4440        0,     0,     0,     0,     0,     0,     0,     0,   881,     0,
4441      880,     0,     0,     0,   880,     0,     0,  4769,     0,     0,
4442        0,     0,     0,     0,     0,     0,     0,   881,  2549,  2550,
4443     2551,  2552,     0,     0,  1330,     0,     0,     0,     0,     0,
4444        0,     0,     0,     0,     0,     0,  2039,     0,     0,  2040,
4445        0,     0,  1978,  2041,  2042,  2043,     0,     0,     0,     0,
4446        0,  1330,     0,     0,     0,     0,     0,     0,     0,     0,
4447     2044,     0,  1306,  1306,     0,     0,     0,  4822,  2046,     0,
4448        0,     0,     0,     0,     0,  2047,     0,     0,     0,     0,
4449        0,     0,     0,     0,     0,  2058,     0,     0,  2059,  2060,
4450     2061,     0,  2062,  2063,  2064,  2065,  2066,  2067,     0,     0,
4451     2048,     0,     0,   881,     0,     0,     0,     0,     0,     0,
4452        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4453        0,     0,     0,   880,     0,     0,     0,     0,     0,     0,
4454        0,   880,   880,     0,     0,     0,  2651,     0,     0,     0,
4455        0,     0,  2655,     0,     0,   880,     0,     0,     0,     0,
4456     1720,     0,     0,     0,     0,     0,     0,   881,     0,   881,
4457        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4458        0,     0,   881,     0,   881,     0,     0,     0,     0,   612,
4459        0,     0,     0,     0,     0,     0,     0,     0,     0,  2110,
4460        0,     0,     0,     0,     0,     0,  1720,     0,  1719,     0,
4461        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4462        0,  2049,  1631,  1635,     0,     0,  2050,     0,     0,     0,
4463        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4464        0,     0,     0,     0,     0,  2165,     0,     0,  2051,  2052,
4465      881,     0,     0,  4921,     0,     0,     0,     0,     0,     0,
4466        0,     0,     0,  2053,     0,     0,     0,     0,     0,     0,
4467        0,     0,  4931,     0,     0,     0,     0,  4936,  4937,     0,
4468        0,     0,     0,     0,  2822,     0,     0,  4948,     0,     0,
4469        0,     0,     0,     0,  4950,     0,     0,     0,     0,     0,
4470        0,     0,  2054,     0,     0,   881,     0,     0,     0,     0,
4471        0,     0,     0,     0,     0,     0,  2055,     0,     0,  2056,
4472        0,     0,     0,   881,     0,  2039,     0,  2293,  2040,     0,
4473     5000,     0,  2041,  2042,  2043,     0,  2316,     0,     0,     0,
4474        0,     0,     0,  4106,     0,   881,     0,     0,   881,  2044,
4475     5017,     0,  5019,     0,     0,     0,     0,  2046,     0,     0,
4476        0,     0,     0,     0,  2047,     0,     0,  5033,  2353,     0,
4477        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4478        0,     0,     0,     0,     0,     0,     0,  3711,     0,  2048,
4479        0,  2376,     0,     0,  2379,  5054,     0,     0,     0,     0,
4480        0,     0,     0,     0,     0,   880,  2057,     0,     0,     0,
4481        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4482        0,     0,     0,  4107,     0,     0,     0,     0,     0,     0,
4483     1720,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4484        0,     0,     0,     0,     0,     0,     0,  2429,     0,     0,
4485        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4486     5093,  2448,     0,     0,     0,     0,     0,     0,     0,     0,
4487        0,     0,     0,     0,     0,  5433,     0,     0,  3011,  3012,
4488        0,  5110,     0,     0,     0,     0,     0,     0,     0,  3025,
4489        0,  3027,     0,  5118,     0,  3031,     0,     0,     0,     0,
4490     2049,     0,     0,     0,     0,  2050,  2058,  1995,     0,  2059,
4491     2060,  2061,     0,  2062,  2063,  2064,  2065,  2066,  2067,     0,
4492        0,     0,     0,     0,     0,     0,     0,  2051,  2052,     0,
4493        0,     0,     0,     0,     0,     0,     0,     0,  2010,     0,
4494        0,     0,  2053,     0,     0,     0,     0,     0,     0,     0,
4495        0,     0,     0,  1719,     0,     0,     0,     0,  5177,     0,
4496        0,     0,     0,     0,     0,     0,  2028,  2029,  2030,     0,
4497     2032,     0,  2472,     0,     0,     0,     0,   880,     0,     0,
4498        0,  2054,     0,     0,     0,   880,     0,     0,   881,     0,
4499     2074,     0,     0,     0,     0,  2055,     0,   880,  2056,     0,
4500        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4501        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4502     5434,     0,  3711,  2523,     0,  3168,     0,     0,  3171,     0,
4503        0,     0,     0,     0,     0,     0,     0,     0,  1720,     0,
4504        0,     0,     0,  1720,     0,  1720,     0,     0,     0,     0,
4505        0,     0,  2566,     0,     0,     0,     0,     0,  2132,  2579,
4506        0,     0,  2144,  2149,     0,     0,     0,     0,  1720,     0,
4507        0,     0,   880,   880,     0,     0,     0,     0,     0,     0,
4508        0,     0,  5263,     0,     0,  2057,   880,     0,  1720,     0,
4509        0,     0,     0,     0,     0,     0,     0,  5276,     0,   880,
4510      880,     0,     0,     0,   881,     0,     0,   881,     0,     0,
4511        0,  3260,     0,     0,     0,   880,     0,     0,     0,  3267,
4512        0,     0,  3270,     0,     0,     0,     0,     0,  3272,     0,
4513        0,     0,     0,     0,     0,     0,     0,     0,     0,  3284,
4514        0,  5305,     0,     0,     0,     0,     0,     0,     0,     0,
4515        0,     0,     0,     0,     0,     0,  5316,     0,     0,     0,
4516        0,     0,     0,     0,     0,  2658,     0,     0,     0,     0,
4517        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4518     3330,     0,     0,     0,     0,  2058,     0,     0,  2059,  2060,
4519     2061,     0,  2062,  2063,  2064,  2065,  2066,  2067,     0,   881,
4520      881,     0,     0,     0,     0,  1330,  1330,  2039,  3353,   881,
4521     2040,     0,     0,     0,  2041,  2042,  2043,     0,     0,     0,
4522        0,     0,  2709,     0,     0,     0,     0,     0,   881,     0,
4523        0,  2044,     0,     0,  3497,     0,     0,  5377,     0,  2046,
4524     1719,     0,     0,     0,     0,     0,  2047,     0,     0,     0,
4525        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4526        0,     0,     0,     0,     0,     0,     0,  3420,     0,  3422,
4527        0,  2048,     0,     0,     0,     0,     0,     0,     0,     0,
4528        0,  5399,     0,     0,     0,     0,     0,     0,     0,     0,
4529        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4530        0,  1631,  1631,  1631,     0,     0,   881,     0,     0,     0,
4531      880,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4532        0,     0,  2877,     0,     0,     0,     0,     0,     0,     0,
4533        0,     0,  2883,     0,     0,     0,     0,     0,     0,     0,
4534        0,     0,     0,     0,  2039,     0,     0,  2040,     0,     0,
4535        0,  2041,  2042,  2043,     0,     0,     0,     0,     0,     0,
4536        0,  1377,     0,     0,     0,     0,   880,     0,  2044,  5465,
4537        0,     0,  1377,  1377,     0,     0,  2046,  3487,     0,     0,
4538        0,     0,  2049,  2047,   880,     0,     0,  2050,     0,  1719,
4539      880,     0,     0,     0,   880,     0,     0,     0,     0,     0,
4540        0,     0,   880,     0,     0,     0,  1330,     0,  2048,  2051,
4541     2052,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4542      880,     0,     0,     0,  2053,     0,     0,     0,     0,     0,
4543        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4544        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4545        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4546        0,     0,     0,  2054,     0,   880,     0,     0,     0,     0,
4547        0,     0,     0,     0,     0,     0,     0,  2055,     0,     0,
4548     2056,     0,     0,     0,     0,   880,   880,     0,     0,     0,
4549        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4550        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4551        0,     0,     0,     0,     0,     0,  1719,   880,     0,  2049,
4552     1719,     0,     0,     0,  2050,     0,     0,     0,     0,     0,
4553        0,     0,     0,   881,     0,     0,     0,     0,  1720,     0,
4554        0,     0,     0,   880,     0,  1719,  2051,  2052,     0,   880,
4555     3067,     0,     0,     0,     0,     0,   880,     0,     0,     0,
4556        0,  2053,     0,   880,     0,  3089,   880,  2057,     0,     0,
4557        0,     0,   880,   881,     0,     0,     0,     0,     0,     0,
4558        0,  2039,     0,     0,  2040,   881,  3116,     0,  2041,  2042,
4559     2043,     0,   880,     0,     0,     0,     0,     0,   880,     0,
4560     2054,     0,     0,   880,     0,  2044,  1719,     0,  3545,     0,
4561        0,     0,     0,  2046,  2055,   881,   880,  2056,     0,     0,
4562     2047,     0,     0,     0,     0,     0,     0,     0,     0,   880,
4563        0,     0,     0,     0,  1719,  3513,     0,     0,     0,     0,
4564      880,     0,     0,     0,     0,  2048,     0,     0,     0,     0,
4565        0,     0,  3700,     0,  3701,  3702,  3703,     0,     0,     0,
4566        0,     0,  3192,  3193,     0,     0,     0,  2058,     0,     0,
4567     2059,  2060,  2061,  2752,  2062,  2063,  2064,  2065,  2066,  2067,
4568        0,     0,     0,     0,     0,  2772,     0,  2773,     0,  2775,
4569        0,     0,  2787,  2790,  2795,     0,     0,     0,     0,  2801,
4570        0,     0,  2806,     0,  2057,     0,  1719,     0,     0,     0,
4571        0,     0,     0,     0,   881,     0,     0,  2813,  2814,  2815,
4572     2816,     0,     0,     0,     0,  2823,     0,     0,     0,  2841,
4573        0,     0,  2843,     0,     0,  2850,  2851,  2852,  2853,  2854,
4574     2855,  2856,  2857,  2858,     0,  2859,     0,     0,     0,     0,
4575        0,     0,  1306,     0,  1631,     0,  2049,     0,     0,     0,
4576        0,  2050,     0,     0,     0,     0,     0,     0,     0,  3317,
4577        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4578        0,     0,     0,  2051,  2052,     0,     0,   880,     0,     0,
4579        0,     0,     0,     0,   881,     0,     0,  2896,  2053,     0,
4580        0,     0,     0,     0,  2058,     0,     0,  2059,  2060,  2061,
4581        0,  2062,  2063,  2064,  2065,  2066,  2067,     0,     0,     0,
4582        0,  2029,  2030,     0,     0,     0,     0,     0,     0,     0,
4583     1106,     0,     0,     0,     0,     0,     0,  2054,     0,     0,
4584        0,     0,     0,   880,     0,     0,     0,     0,     0,     0,
4585        0,  2055,  2039,     0,  2056,  2040,  1106,     0,     0,  2041,
4586     2042,  2043,     0,     0,     0,     0,     0,     0,     0,     0,
4587        0,     0,     0,     0,     0,     0,  2044,     0,     0,     0,
4588        0,     0,     0,     0,  2046,   880,     0,     0,     0,     0,
4589     2039,  2047,     0,  2040,     0,  3866,     0,  2041,  2042,  2043,
4590        0,     0,     0,   880,  2997,     0,   881,     0,   881,     0,
4591        0,   880,     0,     0,  2044,     0,  2048,  3556,     0,     0,
4592        0,     0,  2046,     0,     0,     0,     0,     0,     0,  2047,
4593        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4594        0,  2057,     0,     0,     0,     0,     0,     0,     0,     0,
4595        0,     0,     0,     0,  2048,   881,     0,     0,     0,     0,
4596        0,     0,     0,     0,     0,   872,     0,     0,     0,     0,
4597        0,     0,     0,  2039,     0,  1105,  2040,     0,     0,     0,
4598     2041,  2042,  2043,     0,     0,     0,     0,     0,     0,     0,
4599        0,     0,     0,     0,  1719,     0,     0,  2044,     0,     0,
4600     1719,  1105,     0,     0,  1720,  2046,     0,     0,  3550,   872,
4601        0,     0,  2047,     0,     0,     0,     0,     0,     0,     0,
4602        0,     0,     0,     0,     0,     0,     0,  2049,     0,     0,
4603        0,     0,  2050,     0,     0,     0,     0,  2048,     0,     0,
4604        0,  2058,     0,     0,  2059,  2060,  2061,     0,  2062,  2063,
4605     2064,  2065,  2066,  2067,  2051,  2052,     0,     0,     0,     0,
4606        0,     0,     0,     0,     0,  2049,     0,     0,     0,  2053,
4607     2050,  4021,     0,     0,     0,     0,     0,     0,     0,     0,
4608        0,     0,   880,     0,     0,     0,     0,     0,     0,     0,
4609        0,     0,  2051,  2052,     0,     0,  1634,     0,     0,     0,
4610        0,     0,     0,     0,     0,     0,     0,  2053,  2054,     0,
4611        0,     0,  1106,     0,     0,     0,     0,     0,     0,  3604,
4612        0,     0,  2055,     0,     0,  2056,     0,     0,     0,     0,
4613        0,     0,     0,     0,     0,     0,     0,  1106,     0,  3248,
4614     3249,  1631,  1377,     0,     0,  3253,  2054,     0,  2049,     0,
4615        0,     0,  1106,  2050,     0,     0,     0,     0,     0,     0,
4616     2055,     0,     0,  2056,     0,     0,     0,     0,     0,     0,
4617        0,   880,   880,     0,     0,  2051,  2052,  3282,     0,     0,
4618        0,     0,     0,     0,     0,     0,     0,     0,  1720,     0,
4619     2053,     0,     0,     0,     0,     0,     0,     0,   880,     0,
4620        0,   880,     0,     0,     0,     0,     0,     0,     0,     0,
4621        0,     0,  2057,     0,   881,     0,     0,     0,     0,     0,
4622        0,     0,     0,     0,     0,     0,     0,     0,   881,  2054,
4623        0,     0,     0,     0,     0,     0,     0,  1106,     0,     0,
4624        0,     0,     0,  2055,     0,     0,  2056,     0,     0,     0,
4625     2057,     0,     0,     0,     0,     0,     0,  1105,     0,     0,
4626        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4627        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4628        0,     0,  1105,     0,     0,  1719,  1719,  1719,     0,     0,
4629        0,     0,     0,     0,     0,     0,     0,  1105,     0,     0,
4630        0,     0,     0,     0,     0,     0,     0,     0,     0,   880,
4631        0,     0,  2058,     0,     0,  2059,  2060,  2061,     0,  2062,
4632     2063,  2064,  2065,  2066,  2067,     0,     0,     0,     0,   880,
4633        0,     0,     0,  2057,     0,     0,     0,     0,     0,     0,
4634     4245,  4246,  4247,  4248,     0,     0,     0,  1106,   880,     0,
4635     2058,     0,     0,  2059,  2060,  2061,     0,  2062,  2063,  2064,
4636     2065,  2066,  2067,     0,     0,  4057,     0,     0,     0,     0,
4637        0,     0,     0,     0,     0,     0,     0,     0,     0,  3796,
4638        0,     0,  1105,     0,     0,     0,     0,     0,     0,     0,
4639        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4640        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4641        0,     0,     0,  1720,     0,   881,     0,     0,     0,     0,
4642        0,     0,     0,     0,     0,  3493,     0,     0,     0,     0,
4643     3499,     0,     0,  2058,   880,     0,  2059,  2060,  2061,     0,
4644     2062,  2063,  2064,  2065,  2066,  2067,     0,     0,     0,     0,
4645        0,     0,     0,     0,     0,     0,  2032,     0,     0,     0,
4646        0,  1096,     0,     0,     0,  2039,     0,  2795,  2040,  2795,
4647     2795,     0,  2041,  2042,  2043,     0,     0,     0,     0,     0,
4648     3559,  1719,     0,  3562,     0,  3564,     0,  1096,   880,  2044,
4649      880,     0,  1105,     0,     0,     0,     0,  2046,     0,     0,
4650        0,     0,     0,   880,  2047,   880,     0,     0,     0,     0,
4651     1720,     0,     0,     0,     0,     0,     0,     0,     0,  4399,
4652     3585,     0,  3588,     0,  3590,     0,     0,  1719,   881,  2048,
4653        0,     0,     0,     0,  4402,     0,     0,     0,     0,     0,
4654        0,   872,     0,     0,     0,     0,  3919,  3920,  3921,     0,
4655        0,     0,     0,     0,   881,     0,     0,  2188,     0,     0,
4656        0,     0,     0,  3930,     0,     0,     0,     0,     0,     0,
4657        0,   880,     0,     0,     0,     0,     0,     0,     0,  2132,
4658        0,     0,     0,     0,     0,     0,  3946,     0,     0,     0,
4659        0,     0,     0,     0,  2149,     0,  3956,  3958,     0,     0,
4660        0,  3963,     0,     0,     0,     0,     0,     0,     0,     0,
4661        0,  2039,     0,     0,  2040,     0,   872,   872,  2041,  2042,
4662     2043,     0,     0,     0,  2188,     0,   880,     0,     0,     0,
4663        0,     0,     0,     0,     0,  2044,  2095,     0,  4113,     0,
4664     2049,     0,     0,  2046,   880,  2050,     0,     0,     0,     0,
4665     2047,     0,     0,     0,     0,     0,     0,     0,  3680,   881,
4666        0,     0,     0,     0,     0,  1106,   880,  2051,  2052,   880,
4667        0,     0,     0,     0,     0,  2048,     0,     0,     0,     0,
4668        0,     0,  2053,     0,     0,     0,     0,     0,     0,     0,
4669        0,     0,     0,     0,     0,     0,     0,     0,  1106,     0,
4670        0,     0,  1105,     0,     0,     0,     0,     0,     0,     0,
4671        0,     0,     0,     0,     0,     0,  4041,     0,     0,  1330,
4672        0,  2054,     0,     0,     0,     0,     0,     0,     0,     0,
4673        0,     0,     0,     0,     0,  2055,     0,     0,  2056,     0,
4674        0,     0,  1720,  1096,     0,     0,     0,     0,     0,     0,
4675        0,  1719,     0,     0,     0,     0,     0,     0,     0,     0,
4676        0,     0,     0,     0,     0,     0,     0,     0,  1096,  1105,
4677        0,     0,     0,     0,     0,  1634,  1634,  1634,     0,     0,
4678        0,     0,     0,  1096,     0,     0,  2049,     0,     0,     0,
4679        0,  2050,     0,     0,     0,     0,     0,     0,     0,     0,
4680        0,     0,     0,     0,     0,     0,  1720,     0,     0,     0,
4681     1105,     0,     0,  2051,  2052,     0,     0,     0,     0,     0,
4682        0,     0,     0,     0,  1720,  2057,   872,   872,  2053,     0,
4683        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4684        0,     0,     0,  1105,     0,     0,     0,     0,     0,     0,
4685        0,     0,  4147,  4148,  4149,     0,     0,     0,     0,     0,
4686        0,     0,     0,     0,     0,     0,     0,  2054,  1096,     0,
4687        0,     0,     0,     0,     0,     0,     0,     0,  1106,     0,
4688        0,  2055,     0,     0,  2056,     0,     0,     0,     0,     0,
4689        0,     0,     0,     0,     0,  1106,     0,     0,     0,     0,
4690        0,     0,     0,     0,     0,     0,     0,     0,     0,   880,
4691        0,     0,     0,  1106,     0,     0,     0,     0,     0,     0,
4692     1631,     0,     0,     0,     0,  2058,  1631,     0,  2059,  2060,
4693     2061,     0,  2062,  2063,  2064,  2065,  2066,  2067,     0,     0,
4694        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4695        0,     0,     0,     0,     0,     0,     0,     0,     0,  1719,
4696        0,     0,     0,     0,  1719,     0,  1719,     0,     0,  1106,
4697        0,  2057,     0,     0,     0,     0,     0,     0,  1096,  1098,
4698        0,     0,  1106,     0,     0,     0,     0,     0,  4713,  1719,
4699        0,     0,     0,     0,     0,  1106,     0,     0,     0,     0,
4700        0,     0,     0,  4717,     0,  1098,     0,  1106,     0,  1719,
4701        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4702        0,     0,     0,  1105,     0,   880,     0,     0,   880,     0,
4703        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4704     1105,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4705        0,  1106,  1106,     0,     0,     0,     0,     0,  1105,     0,
4706        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4707        0,  2058,     0,     0,  2059,  2060,  2061,     0,  2062,  2063,
4708     2064,  2065,  2066,  2067,     0,   674,     0,     0,     0,     0,
4709      675,     0,     0,     0,     0,     0,  4783,     0,     0,     0,
4710        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4711        0,     0,     0,     0,  1105,     0,     0,     0,     0,     0,
4712      880,   880,     0,     0,     0,   676,     0,  1105,     0,     0,
4713      880,     0,     0,     0,     0,     0,     0,     0,   677,     0,
4714     1105,     0,     0,  4400,     0,     0,     0,     0,     0,   880,
4715        0,     0,  1105,   678,  4413,     0,     0,     0,     0,     0,
4716        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4717     4058,   679,     0,     0,     0,     0,     0,     0,     0,  4062,
4718        0,     0,     0,     0,     0,  4444,     0,  4064,  1096,  4065,
4719     1106,     0,     0,     0,   680,     0,  1105,  1105,     0,     0,
4720        0,     0,     0,     0,     0,   681,     0,     0,     0,     0,
4721        0,     0,     0,     0,   682,     0,  4089,  4090,  2579,     0,
4722        0,     0,     0,     0,     0,     0,   683,   880,  1634,     0,
4723        0,   684,     0,     0,  2801,     0,     0,     0,   685,     0,
4724        0,     0,  4116,     0,     0,  4119,     0,  4121,     0,     0,
4725        0,     0,     0,     0,     0,  1096,     0,   686,     0,  4126,
4726        0,  1098,     0,     0,     0,     0,     0,  4133,  4134,  2658,
4727        0,     0,     0,     0,     0,     0,  4902,     0,  4903,     0,
4728        0,     0,     0,     0,     0,     0,  1098,     0,     0,     0,
4729        0,     0,     0,     0,     0,     0,  1096,     0,     0,  4180,
4730        0,  1098,     0,   687,     0,     0,     0,     0,     0,     0,
4731        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4732        0,     0,     0,     0,     0,  4195,     0,     0,  2952,  1096,
4733        0,     0,  2188,  2958,  1099,  1105,     0,     0,     0,     0,
4734        0,  4208,     0,   688,     0,     0,     0,     0,     0,     0,
4735        0,     0,     0,     0,     0,     0,   689,     0,     0,     0,
4736     1099,     0,     0,     0,     0,     0,   690,     0,     0,     0,
4737        0,     0,     0,     0,     0,     0,   207,   691,     0,     0,
4738      692,     0,     0,     0,     0,     0,  1098,     0,     0,     0,
4739     4580,  4581,  4582,  4583,  1106,     0,     0,     0,     0,     0,
4740        0,     0,     0,     0,     0,     0,   693,     0,  1106,   694,
4741        0,     0,     0,   695,     0,   696,     0,     0,     0,     0,
4742        0,     0,   697,     0,     0,   698,     0,     0,     0,     0,
4743        0,     0,     0,     0,     0,     0,     0,     0,  5038,     0,
4744        0,     0,     0,     0,   699,     0,     0,     0,     0,  1106,
4745        0,   700,     0,     0,   880,     0,     0,   701,     0,  1719,
4746      702,     0,     0,     0,   703,     0,     0,     0,     0,     0,
4747        0,     0,   704,  1105,   705,     0,     0,  1105,  1105,   706,
4748        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4749        0,     0,   707,     0,   880,     0,  1098,     0,     0,     0,
4750        0,     0,     0,     0,     0,   708,   880,     0,     0,  1096,
4751        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4752        0,     0,     0,     0,     0,     0,  1096,     0,     0,     0,
4753        0,     0,     0,     0,     0,     0,   880,     0,     0,  1105,
4754        0,     0,     0,     0,  1096,     0,     0,     0,     0,     0,
4755        0,     0,     0,  1105,     0,     0,     0,     0,     0,     0,
4756        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4757        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4758     5133,     0,  5135,     0,     0,     0,     0,     0,     0,     0,
4759        0,     0,     0,     0,  1105,     0,     0,     0,     0,     0,
4760     1096,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4761        0,     0,     0,  1096,     0,  1634,  1099,     0,     0,     0,
4762        0,     0,     0,     0,     0,     0,  1096,     0,     0,     0,
4763        0,     0,     0,     0,     0,   880,     0,     0,  1096,     0,
4764        0,  1099,     0,     0,     0,     0,     0,     0,     0,     0,
4765        0,     0,  1106,     0,     0,     0,  1099,     0,  4489,  4490,
4766        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4767        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4768        0,     0,  1096,  1096,     0,     0,     0,     0,     0,     0,
4769        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4770        0,     0,     0,     0,     0,     0,  1098,     0,     0,     0,
4771        0,     0,     0,     0,     0,   880,     0,     0,     0,     0,
4772        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4773        0,     0,     0,  4532,  2188,     0,     0,  2188,     0,     0,
4774        0,  1099,     0,  4812,     0,  4538,     0,     0,     0,     0,
4775        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4776        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4777        0,     0,     0,  1098,     0,     0,     0,     0,     0,     0,
4778        0,     0,     0,     0,     0,     0,  4556,  4558,     0,     0,
4779        0,     0,     0,  4562,  4563,     0,     0,  1105,  4564,     0,
4780        0,     0,     0,     0,  4567,     0,     0,  4570,  4571,     0,
4781     1101,     0,  4575,     0,  1098,     0,  5312,   623,  4579,     0,
4782        0,  1096,     0,     0,     0,     0,     0,   880,     0,   880,
4783        0,     0,     0,     0,   624,     0,  1101,     0,     0,     0,
4784        0,     0,     0,     0,     0,     0,     0,  1098,     0,     0,
4785        0,  1099,     0,     0,     0,     0,  1106,   625,     0,     0,
4786        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4787      626,     0,  1306,  1106,     0,     0,   880,     0,     0,  1105,
4788        0,   627,  1105,     0,     0,  -856,     0,     0,  1106,     0,
4789        0,     0,     0,     0,     0,     0,     0,     0,     0,  4636,
4790        0,     0,     0,   628,     0,     0,     0,     0,     0,   629,
4791        0,     0,     0,     0,     0,     0,     0,     0,  5383,     0,
4792        0,     0,     0,     0,     0,  1719,   630,     0,     0,     0,
4793        0,     0,     0,     0,     0,     0,     0,   631,     0,     0,
4794        0,     0,     0,     0,     0,     0,   632,     0,     0,     0,
4795        0,     0,     0,     0,     0,     0,     0,     0,   633,  1096,
4796        0,     0,     0,  1096,  1096,     0,   634,     0,     0,     0,
4797      635,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4798        0,     0,     0,     0,     0,  4972,     0,     0,     0, -1085,
4799        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4800     4985,  1105,     0,  4702,     0,  1330,     0,     0,     0,     0,
4801        0,     0,     0,     0,     0,  5458,     0,     0,  1105,     0,
4802        0,     0,     0,     0,     0,  1096,   636,  1098,     0,     0,
4803        0,  5022,     0,  1105,     0,  -573,     0,     0,     0,  1096,
4804        0,     0,     0,     0,  1098,     0,     0,  5474,  5474,     0,
4805        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4806        0,  1099,  1098,     0,     0,     0,     0,     0,     0,     0,
4807        0,     0,     0,     0,     0,   637,     0,  4740,   638,     0,
4808     1096,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4809        0,     0,  1101,     0,     0,     0,     0,     0,   639,     0,
4810        0,  2188,     0,     0,  2958,     0,  2958,     0,     0,  1719,
4811        0,  2188,   640,     0,     0,     0,     0,  1101,  1098,  -444,
4812        0,     0,     0,     0,     0,     0,     0,     0,  1099,     0,
4813        0,  1098,  1101,     0,     0,   880,     0,     0,   641,     0,
4814        0,     0,     0,     0,  1098,     0,     0,   642,     0,   880,
4815     5474,     0,  5106,     0,  -444,     0,  1098,   643,     0,     0,
4816     1106,     0,     0,     0,     0,     0,     0,     0,     0,  1099,
4817        0,     0,     0,     0,     0,     0,   644,     0,     0,  1106,
4818        0,     0,     0,   645,     0,     0,     0,     0,     0,  -444,
4819        0,     0,   646,   647,     0,   648,   649,     0,     0,     0,
4820     1098,  1098,  1099,     0,  2188,     0,   650,     0,     0,     0,
4821        0,   651,     0,     0,     0,     0,     0,  1101,   652,     0,
4822        0,   653,     0,     0,   654,     0,     0,     0,     0,     0,
4823        0,     0,     0,     0,     0,     0,     0,  -444,     0,     0,
4824        0,     0,     0,     0,  4844,  4845,  1105,     0,  4846,  1105,
4825        0,  1105,  5184,     0,     0,     0,  1105,     0,     0,     0,
4826        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4827        0,     0,     0,     0,  1106,     0,  1106,     0,     0,     0,
4828        0,     0,     0,  1096,     0,  4881,  4882,     0,     0,     0,
4829        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4830        0,     0,     0,  4893,     0,  1105,     0,     0,     0,     0,
4831        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4832        0,     0,     0,     0,  1105,     0,     0,  1101,     0,     0,
4833        0,     0,     0,     0,  1719,     0,   880,     0,     0,  1098,
4834        0,     0,     0,     0,     0,     0,     0,     0,     0,  1105,
4835        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4836        0,     0,     0,     0,     0,  1096,     0,  1106,  1096,     0,
4837        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4838        0,     0,  1099,     0,     0,     0,     0,     0,     0,     0,
4839        0,     0,     0,     0,  1634,     0,     0,     0,     0,  1099,
4840     1634,     0,     0,     0,     0,     0,     0,  1102,  1106,     0,
4841        0,     0,     0,     0,     0,     0,  1104,  1099,     0,  1105,
4842        0,  1105,     0,     0,     0,     0,     0,     0,     0,     0,
4843        0,  1719,     0,  1102,     0,     0,     0,  2958,     0,     0,
4844        0,     0,  1104,     0,     0,     0,     0,     0,     0,   880,
4845        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4846        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4847        0,     0,     0,  1099,     0,   880,     0,  1098,     0,     0,
4848        0,  1098,  1098,     0,     0,     0,  1099,  1096,     0,     0,
4849        0,     0,     0,     0,     0,     0,     0,     0,     0,  1099,
4850        0,     0,     0,     0,  1096,     0,  1106,     0,     0,  2801,
4851        0,  1099,  1105,     0,     0,     0,     0,     0,     0,  1096,
4852        0,     0,     0,     0,     0,     0,     0,  2958,     0,     0,
4853        0,     0,     0,     0,     0,     0,  5076,  1101,     0,     0,
4854        0,  1106,     0,  1098,     0,     0,     0,     0,     0,     0,
4855     2032,     0,     0,  1105,     0,  1099,  1099,  1098,     0,     0,
4856        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4857        0,   954,     0,     0,     0,     0,   955,     0,     0,     0,
4858      880,     0,  1105,     0,     0,     0,     0,     0,     0,     0,
4859        0,     0,     0,     0,     0,     0,     0,     0,  1098,     0,
4860        0,     0,     0,     0,  1101,     0,     0,     0,     0,  5125,
4861        0,   956,     0,     0,     0,     0,     0,     0,     0,     0,
4862        0,     0,     0,     0,   957,   958,     0,     0,     0,     0,
4863        0,     0,     0,     0,     0,   959,     0,     0,     0,   960,
4864        0,     0,     0,     0,     0,  1101,     0,  1106,     0,     0,
4865        0,  1105,  5162,     0,     0,     0,     0,   961,     0,     0,
4866        0,     0,     0,  1719,     0,     0,     0,     0,     0,     0,
4867     1106,     0,  1105,     0,     0,     0,     0,     0,  1101,     0,
4868      962,     0,     0,     0,     0,     0,  1105,     0,     0,  1102,
4869        0,   963,     0,     0,  1099,  1106,     0,     0,  1104,     0,
4870      964,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4871        0,     0,   965,     0,  1102,     0,     0,   966,     0,     0,
4872        0,     0,     0,  1104,     0,     0,     0,  1719,     0,  1102,
4873        0,  1106,  1096,     0,     0,  1096,     0,  1096,  1104,     0,
4874        0,     0,  1096,   967,     0,  1719,     0,     0,     0,     0,
4875        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4876        0,     0,     0,     0,  4881,     0,     0,     0,   968,     0,
4877        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4878        0,     0,     0,     0,     0,     0,     0,     0,     0,   969,
4879     5265,  1096,  1105,     0,     0,     0,     0,     0,     0,     0,
4880        0,  1098,     0,     0,     0,     0,     0,     0,     0,     0,
4881     1096,     0,     0,     0,  1102,  1105,     0,     0,     0,     0,
4882        0,  2188,     0,  1104,     0,     0,     0,     0,     0,   970,
4883        0,     0,  1099,     0,     0,  1096,  1099,  1099,     0,     0,
4884     1105,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4885        0,     0,   971,     0,     0,     0,     0,     0,  1101,     0,
4886        0,     0,   207,   972,     0,     0,   973,  5319,     0,     0,
4887        0,     0,     0,     0,     0,  1101,  1105,     0,     0,     0,
4888        0,     0,     0,  1098,     0,     0,  1098,     0,     0,     0,
4889        0,     0,   974,  1101,     0,   975,     0,     0,  1099,   976,
4890        0,   977,  5347,  5347,  5347,  1096,     0,  1096,   978,     0,
4891        0,   979,  1099,     0,     0,     0,     0,     0,     0,     0,
4892     2958,  4881,     0,     0,  1102,     0,     0,     0,     0,     0,
4893      980,     0,     0,  1104,     0,     0,     0,   981,     0,     0,
4894        0,     0,     0,   982,     0,  2958,   983,     0,     0,  1101,
4895      984,     0,     0,  1099,     0,     0,     0,     0,   985,     0,
4896      986,     0,  1101,     0,     0,   987,  1105,     0,     0,     0,
4897        0,     0,     0,     0,     0,  1101,     0,     0,     0,     0,
4898        0,     0,     0,     0,     0,     0,     0,  1101,     0,     0,
4899        0,   988,     0,     0,     0,     0,     0,     0,  1096,     0,
4900        0,     0,  5408,     0,     0,  1098,     0,     0,     0,     0,
4901        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4902     5347,     0,  1098,     0,     0,     0,     0,     0,     0,     0,
4903        0,  1101,  1101,     0,     0,     0,     0,  1098,     0,  1096,
4904        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4905        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4906        0,     0,     0,     0,     0,  1105,     0,     0,  1096,     0,
4907        0,     0,     0,     0,     0,     0,     0,     0,     0,  1106,
4908        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4909     1105,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4910        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4911        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4912        0,     0,     0,     0,     0,     0,     0,  2958,     0,     0,
4913     5500,  2188,     0,     0,  1102,     0,     0,  1096,     0,     0,
4914        0,     0,     0,  1104,     0,     0,     0,     0,     0,     0,
4915        0,     0,     0,     0,     0,     0,  1099,     0,  1096,     0,
4916        0,     0,     0,     0,     0,  5347,     0,     0,     0,     0,
4917     1101,     0,  1096,     0,     0,  5527,     0,     0,     0,     0,
4918        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4919        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4920        0,  1102,     0,     0,     0,     0,     0,     0,     0,     0,
4921     1104,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4922        0,     0,     0,     0,  1105,     0,     0,     0,     0,     0,
4923        0,     0,     0,     0,     0,     0,     0,     0,  1099,     0,
4924        0,  1099,  1102,     0,     0,     0,     0,     0,     0,     0,
4925     1098,  1104,     0,  1098,     0,  1098,     0,     0,     0,     0,
4926     1098,     0,     0,  1106,     0,     0,     0,     0,     0,     0,
4927        0,     0,  1105,  1106,     0,  1102,  1105,     0,  1096,     0,
4928        0,     0,     0,     0,  1104,     0,     0,     0,     0,     0,
4929        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4930        0,  1096,     0,     0,     0,     0,     0,     0,  1101,  1098,
4931        0,     0,  1101,  1101,     0,     0,     0,     0,     0,     0,
4932        0,     0,     0,     0,     0,     0,  1096,     0,  1098,     0,
4933        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4934        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4935        0,     0,     0,  1098,     0,     0,     0,     0,     0,     0,
4936     1099,     0,  1096,     0,     0,     0,     0,     0,     0,     0,
4937        0,     0,   191,     0,  1101,     0,     0,  1099,     0,     0,
4938        0,     0,     0,     0,     0,     0,     0,     0,  1101,     0,
4939        0,  1106,  1099,     0,     0,     0,     0,     0,     0,     0,
4940        0,     0,     0,     0,     0,     0,     0,     0,  1105,     0,
4941        0,     0,     0,     0,     0,     0,     0,     0,  1105,     0,
4942      192,     0,     0,  1098,     0,  1098,     0,     0,     0,  1101,
4943        0,     0,  1106,     0,     0,   193,     0,     0,     0,     0,
4944        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4945        0,     0,  1096,   194,  1106,  1102,     0,     0,     0,   195,
4946        0,     0,     0,     0,  1104,     0,     0,     0,     0,     0,
4947        0,     0,  1102,     0,     0,     0,   196,     0,     0,     0,
4948        0,  1104,     0,     0,     0,     0,     0,   197,     0,     0,
4949     1102,     0,     0,     0,     0,     0,   198,     0,     0,  1104,
4950        0,     0,     0,     0,     0,     0,     0,     0,   199,     0,
4951        0,     0,     0,   200,     0,     0,  1098,     0,     0,     0,
4952      201,     0,  1106,     0,     0,     0,     0,     0,     0,     0,
4953        0,     0,     0,     0,     0,     0,  1105,     0,     0,   202,
4954        0,     0,     0,     0,     0,     0,  1102,     0,     0,     0,
4955        0,  1096,     0,     0,     0,  1104,     0,  1098,     0,  1102,
4956        0,     0,     0,     0,   203,     0,     0,     0,  1104,     0,
4957        0,     0,  1102,     0,     0,     0,  1096,  1105,     0,     0,
4958        0,  1104,     0,     0,  1102,   204,  1098,     0,     0,     0,
4959        0,     0,     0,  1104,     0,     0,     0,     0,     0,  1105,
4960        0,     0,     0,     0,     0,  1099,     0,     0,  1099,     0,
4961     1099,     0,     0,     0,     0,  1099,     0,     0,     0,     0,
4962        0,     0,     0,     0,     0,   205,     0,     0,  1102,  1102,
4963        0,     0,  1101,     0,     0,     0,     0,  1104,  1104,     0,
4964        0,     0,  4809,     0,  1106,     0,     0,     0,   206,     0,
4965        0,     0,     0,     0,     0,  1098,     0,     0,   207,   208,
4966        0,     0,   209,     0,  1099,     0,     0,  1105,     0,     0,
4967        0,     0,     0,     0,     0,     0,  1098,     0,     0,     0,
4968        0,     0,     0,  1099,     0,     0,     0,     0,   210,     0,
4969     1098,   211,     0,  1106,     0,   212,     0,   213,     0,     0,
4970        0,     0,     0,     0,   214,     0,     0,   215,  1099,     0,
4971     1096,     0,     0,     0,  1101,     0,     0,  1101,     0,     0,
4972        0,     0,     0,     0,     0,     0,   216,     0,     0,     0,
4973        0,     0,     0,   217,     0,     0,     0,     0,   218,   219,
4974        0,     0,   220,     0,     0,     0,   221,     0,     0,     0,
4975        0,     0,     0,     0,     0,     0,   222,     0,  1096,     0,
4976        0,   223,  1096,     0,     0,     0,     0,  1102,     0,     0,
4977        0,     0,     0,     0,   224,     0,  1104,     0,  1099,     0,
4978     1099,     0,     0,     0,     0,     0,     0,   225,     0,  1105,
4979        0,     0,     0,     0,     0,     0,  1098,     0,     0,     0,
4980        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4981        0,     0,     0,     0,     0,     0,     0,     0,     0,  1098,
4982        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4983     2958,     0,     0,     0,     0,     0,  1101,     0,  1105,     0,
4984        0,     0,     0,     0,  1098,     0,     0,     0,     0,     0,
4985        0,     0,     0,  1101,     0,     0,     0,     0,     0,     0,
4986        0,     0,     0,     0,     0,     0,     0,     0,  1101,     0,
4987        0,  1099,     0,     0,     0,     0,     0,     0,     0,     0,
4988     1098,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4989        0,     0,     0,     0,  1096,     0,     0,     0,     0,     0,
4990        0,     0,     0,     0,  1096,  1102,     0,     0,     0,  1102,
4991     1102,     0,  1099,     0,  1104,     0,     0,     0,  1104,  1104,
4992        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4993        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4994        0,  1099,     0,     0,     0,     0,     0,     0,     0,     0,
4995        0,     0,     0,     0,     0,     0,  2958,     0,     0,     0,
4996        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4997     1098,  1102,     0,     0,     0,  1105,     0,     0,     0,     0,
4998     1104,  1106,     0,     0,     0,  1102,     0,     0,     0,     0,
4999        0,     0,     0,     0,  1104,     0,     0,     0,     0,     0,
5000        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5001     1099,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5002     1106,     0,  1096,     0,     0,     0,  1102,     0,     0,     0,
5003        0,  1099,     0,     0,     0,  1104,     0,     0,     0,     0,
5004        0,     0,     0,     0,     0,  1099,     0,     0,     0,     0,
5005        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5006        0,     0,     0,  1096,     0,     0,     0,     0,     0,  1098,
5007        0,     0,     0,  1106,     0,     0,     0,     0,  1106,  1106,
5008        0,  1101,     0,     0,  1101,  1096,  1101,     0,     0,     0,
5009        0,  1101,     0,     0,  1098,     0,     0,     0,     0,     0,
5010        0,  1105,     0,     0,     0,     0,     0,     0,     0,     0,
5011        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5012        0,     0,     0,     0,     0,     0,  1105,     0,     0,     0,
5013        0,     0,     0,  2069,     0,     0,     0,     0,     0,     0,
5014     1101,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5015        0,  1099,     0,  1096,     0,     0,     0,     0,     0,  1101,
5016        0,     0,     0,     0,     0,  1105,     0,     0,     0,     0,
5017        0,     0,     0,     0,  1099,     0,     0,     0,     0,     0,
5018        0,     0,     0,     0,  1101,     0,     0,     0,     0,     0,
5019        0,  2069,     0,  4809,  1106,     0,     0,     0,     0,  1099,
5020        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5021        0,     0,     0,     0,     0,     0,     0,     0,  1105,     0,
5022        0,     0,     0,  1105,  1105,     0,     0,     0,  1098,  1102,
5023        0,     0,     0,     0,     0,  1099,     0,     0,  1104,     0,
5024        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5025        0,     0,     0,     0,  1101,     0,  1101,     0,     0,     0,
5026        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5027        0,     0,     0,     0,     0,  1096,  1098,     0,     0,     0,
5028     1098,     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,     0,     0,     0,     0,
5031        0,  1102,     0,     0,  1102,     0,     0,     0,     0,     0,
5032     1104,     0,     0,  1104,  1096,  1099,     0,     0,     0,     0,
5033        0,     0,     0,     0,     0,     0,     0,     0,     0,  1105,
5034        0,     0,     0,     0,     0,     0,     0,  1101,     0,     0,
5035        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5036        0,     0,     0,     0,     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,  1101,  1106,
5039        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5040        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5041        0,     0,  1098,     0,     0,     0,     0,  1101,     0,     0,
5042        0,     0,  1098,     0,  1099,     0,     0,     0,     0,     0,
5043        0,     0,     0,  1102,     0,     0,     0,     0,     0,     0,
5044        0,     0,  1104,     0,     0,     0,     0,     0,     0,  1099,
5045     1102,     0,     0,     0,     0,     0,     0,     0,  2069,  1104,
5046        0,  1096,  2069,     0,     0,  1102,     0,     0,     0,     0,
5047        0,     0,     0,     0,  1104,     0,     0,     0,     0,     0,
5048        0,     0,     0,     0,     0,     0,  1101,     0,     0,     0,
5049        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5050        0,     0,     0,     0,     0,     0,     0,  1101,     0,     0,
5051        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5052        0,  1101,     0,     0,     0,     0,     0,     0,     0,     0,
5053        0,     0,     0,     0,  1105,     0,     0,     0,     0,     0,
5054     1098,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5055        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5056        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5057        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5058        0,  1098,     0,  1099,     0,     0,     0,  1096,     0,     0,
5059        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5060        0,     0,     0,  1098,     0,     0,     0,     0,     0,     0,
5061        0,     0,  1096,     0,     0,     0,     0,     0,     0,     0,
5062        0,     0,     0,     0,     0,     0,     0,  1101,     0,     0,
5063        0,  1099,     0,     0,     0,  1099,     0,     0,     0,     0,
5064        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5065     1101,  1096,     0,     0,     0,     0,     0,     0,     0,     0,
5066        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5067        0,  1098,     0,     0,     0,  1101,     0,     0,  1102,     0,
5068        0,  1102,     0,  1102,     0,     0,     0,  1104,  1102,     0,
5069     1104,     0,  1104,     0,     0,     0,     0,  1104,     0,     0,
5070        0,     0,     0,     0,  1096,     0,     0,     0,     0,  1096,
5071     1096,  1101,     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,  1102,     0,     0,
5074        0,     0,     0,     0,     0,     0,  1104,     0,     0,     0,
5075        0,     0,     0,     0,     0,     0,  1102,     0,     0,     0,
5076        0,     0,     0,     0,     0,  1104,     0,  1099,     0,     0,
5077        0,     0,     0,     0,     0,     0,     0,  1099,     0,     0,
5078        0,  1102,     0,     0,     0,     0,     0,     0,     0,     0,
5079     1104,     0,     0,  1098,     0,     0,     0,     0,     0,     0,
5080        0,  1101,     0,     0,     0,     0,     0,     0,     0,     0,
5081        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5082        0,     0,  2069,     0,     0,  1096,     0,     0,     0,     0,
5083        0,     0,     0,     0,     0,     0,     0,  2069,     0,     0,
5084        0,  2783,  1098,     0,     0,     0,     0,     0,     0,     0,
5085        0,  1102,     0,  1102,     0,  2069,  2069,  2069,     0,  2069,
5086     1104,     0,  1104,     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,  1099,     0,     0,     0,     0,
5090     1101,  2069,     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,  1101,     0,     0,     0,     0,
5093        0,     0,     0,     0,     0,     0,  1099,     0,     0,     0,
5094        0,     0,     0,     0,  1102,     0,     0,     0,     0,     0,
5095        0,     0,     0,  1104,     0,     0,     0,     0,  1099,  2069,
5096        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5097        0,  2069,     0,     0,     0,     0,  2069,     0,     0,  1098,
5098        0,     0,     0,     0,     0,  1102,     0,     0,     0,     0,
5099        0,     0,     0,     0,  1104,     0,     0,     0,     0,     0,
5100        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5101        0,     0,     0,     0,  1102,     0,     0,     0,     0,     0,
5102     1096,     0,     0,  1104,     0,     0,  1099,     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,     0,     0,     0,     0,     0,     0,     0,     0,  1101,
5106        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5107        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5108        0,     0,     0,  1102,     0,     0,     0,     0,     0,     0,
5109        0,     0,  1104,     0,     0,     0,     0,     0,     0,     0,
5110        0,     0,     0,     0,  1102,  1098,     0,  1101,     0,     0,
5111        0,  1101,     0,  1104,     0,     0,     0,     0,  1102,     0,
5112        0,     0,     0,     0,     0,     0,     0,  1104,     0,     0,
5113     1098,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5114        0,     0,     0,     0,     0,     0,     0,     0,  1099,     0,
5115        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5116        0,     0,     0,     0,     0,     0,     0,     0,     0,  1098,
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,  1099,     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,  1098,     0,  1102,     0,     0,  1098,  1098,     0,
5123        0,     0,     0,  1104,     0,     0,     0,     0,     0,     0,
5124        0,     0,     0,  1101,     0,     0,     0,  1102,     0,     0,
5125        0,     0,     0,  1101,     0,     0,  1104,     0,     0,     0,
5126        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5127        0,     0,  1102,     0,     0,     0,     0,     0,     0,     0,
5128        0,  1104,     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,  1102,     0,
5131        0,     0,     0,     0,     0,     0,     0,  1104,     0,     0,
5132        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5133        0,     0,     0,     0,  1099,     0,     0,     0,     0,     0,
5134        0,     0,     0,  1098,     0,     0,     0,     0,     0,     0,
5135        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5136        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5137        0,  1101,     0,     0,     0,     0,     0,     0,     0,     0,
5138        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5139        0,     0,     0,     0,     0,     0,     0,     0,  1102,     0,
5140        0,     0,     0,     0,     0,     0,     0,  1104,     0,     0,
5141        0,     0,  1101,     0,     0,     0,     0,     0,     0,     0,
5142        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5143        0,     0,     0,     0,  1101,     0,     0,     0,     0,     0,
5144        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5145        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5146     1099,     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,  1099,     0,     0,     0,     0,
5149        0,     0,     0,     0,     0,     0,     0,  1102,     0,     0,
5150        0,     0,  1101,     0,     0,     0,  1104,     0,     0,     0,
5151        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5152        0,     0,  1102,     0,  1099,     0,     0,     0,     0,     0,
5153        0,  1104,     0,     0,     0,     0,     0,     0,  1098,     0,
5154        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5155        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5156        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5157        0,     0,     0,     0,     0,     0,     0,  1099,     0,  2069,
5158        0,     0,  1099,  1099,     0,     0,     0,     0,     0,     0,
5159        0,     0,     0,     0,     0,     0,     0,     0,     0,  2069,
5160     2069,     0,  2069,     0,     0,  2783,  2783,     0,  3536,     0,
5161     2783,     0,     0,     0,  2069,     0,     0,  2069,     0,     0,
5162        0,     0,  2069,     0,  1101,     0,     0,     0,  2069,     0,
5163        0,     0,     0,  2069,     0,     0,     0,     0,     0,     0,
5164     2069,  2069,  2069,  2069,     0,     0,     0,  2783,  2783,     0,
5165     2069,     0,     0,     0,     0,     0,  1102,     0,     0,     0,
5166        0,     0,     0,     0,     0,  1104,     0,     0,  2069,     0,
5167     2069,     0,     0,  1101,     0,     0,     0,  2069,  2069,  2069,
5168     2069,  2069,  2069,  2069,  2069,  2069,  2069,     0,     0,     0,
5169        0,     0,     0,     0,     0,     0,     0,     0,  1099,     0,
5170        0,     0,     0,     0,  1102,     0,     0,     0,  1102,     0,
5171        0,     0,     0,  1104,     0,     0,     0,  1104,     0,     0,
5172        0,     0,     0,  2069,     0,     0,     0,     0,     0,     0,
5173        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5174        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5175        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5176        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5177        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     1101,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5182        0,     0,     0,     0,  2069,     0,     0,     0,     0,     0,
5183        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5184     1102,     0,     0,     0,     0,     0,     0,     0,     0,  1104,
5185     1102,     0,     0,     0,     0,     0,     0,     0,     0,  1104,
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,  1099,     0,     0,     0,     0,     0,     0,
5190        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5191        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5192        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5193        0,     0,     0,     0,     0,     0,  1101,     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,  1101,     0,     0,     0,     0,     0,     0,  1102,     0,
5197        0,     0,     0,     0,     0,     0,     0,  1104,     0,     0,
5198        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5199        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5200     1101,     0,     0,     0,     0,     0,     0,     0,     0,  1102,
5201        0,     0,     0,     0,     0,     0,     0,     0,  1104,     0,
5202        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5203        0,  1102,     0,     0,     0,     0,     0,     0,     0,     0,
5204     1104,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5205        0,     0,     0,  1101,     0,     0,     0,     0,  1101,  1101,
5206        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5207        0,     0,     0,     0,     0,  2069,  2069,     0,     0,     0,
5208     2069,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5209        0,     0,     0,     0,     0,     0,     0,     0,     0,  1102,
5210        0,     0,     0,     0,     0,     0,     0,     0,  1104,  2069,
5211        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5212        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5213        0,     0,     0,     0,     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,     0,     0,  1101,     0,     0,     0,     0,     0,
5218        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5219        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5220        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5221        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5222        0,  1102,     0,     0,     0,     0,     0,     0,     0,     0,
5223     1104,     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,     0,     0,     0,
5226        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5227     1102,     0,     0,     0,     0,     0,     0,     0,     0,  1104,
5228        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5229        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5230        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5231        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5232     2069,     0,     0,     0,     0,     0,  2069,     0,     0,     0,
5233        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5234        0,     0,     0,     0,  3536,  3536,     0,     0,  2783,  2783,
5235     2783,  2783,     0,     0,  2783,  2783,  2783,  2783,  2783,  2783,
5236     2783,  2783,  2783,  2783,  3536,     0,     0,     0,     0,  1101,
5237        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5238        0,     0,     0,     0,     0,     0,  2069,     0,     0,  2069,
5239        0,  2069,     0,     0,  3536,  3536,     0,     0,     0,     0,
5240        0,     0,     0,     0,     0,     0,     0,  1102,     0,     0,
5241        0,     0,  2069,  2783,  2783,  2069,  1104,  2069,     0,     0,
5242        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5243        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5244        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5245        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5246        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5247        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5248        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5249        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5250        0,     0,     0,     0,     0,     0,     0,  2069,     0,     0,
5251        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5252        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5253        0,     0,     0,  1102,     0,     0,     0,     0,     0,     0,
5254        0,     0,  1104,     0,     0,     0,     0,     0,     0,     0,
5255        0,     0,     0,     0,     0,     0,     0,     0,  1102,     0,
5256        0,     0,     0,     0,     0,     0,     0,  1104,     0,     0,
5257        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5258        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5259        0,     0,     0,     0,     0,     0,     0,  1102,     0,     0,
5260        0,     0,     0,     0,     0,     0,  1104,     0,     0,     0,
5261        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5262        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5263        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5264        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5265     1102,     0,     0,     0,     0,  1102,  1102,     0,     0,  1104,
5266        0,     0,     0,     0,  1104,  1104,     0,     0,     0,     0,
5267        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5268        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5269        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5270        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5271        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5272        0,     0,     0,     0,     0,     0,     0,  2783,     0,     0,
5273        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5274        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5275        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5276        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5277        0,  1102,     0,     0,     0,     0,     0,     0,     0,     0,
5278     1104,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5279        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5280        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5281        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5282        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5283        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5284        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5285        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5286        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5287        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5288        0,     0,     0,     0,     0,  2069,     0,     0,     0,  2069,
5289        0,  2069,  2069,     0,     0,     0,     0,     0,  3536,  3536,
5290     3536,  3536,     0,     0,     0,     0,  3536,  3536,  3536,  3536,
5291     3536,  3536,  3536,  3536,  3536,  3536,  2069,  2069,     0,     0,
5292        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5293        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5294        0,     0,     0,  2069,     0,     0,  2069,     0,  2069,     0,
5295        0,     0,     0,  2069,     0,     0,  3536,  3536,     0,     0,
5296     2069,  2069,     0,     0,     0,     0,  1102,     0,     0,     0,
5297        0,     0,     0,     0,     0,  1104,     0,     0,     0,     0,
5298        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5299        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5300        0,     0,     0,     0,     0,     0,     0,  2069,     0,     0,
5301        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5302        0,     0,  2069,     0,     0,     0,     0,     0,     0,     0,
5303        0,     0,     0,     0,     0,  2069,     0,     0,     0,     0,
5304        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5305        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5306        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5307        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5308        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5309        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5310        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5311        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5312        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5313        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5314        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5315        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5316        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5317        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5318        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5319        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5320        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5321        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5322        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5323        0,  3536,     0,     0,     0,     0,     0,     0,     0,     0,
5324        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5325        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5326        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5327        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5328        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5329        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5330        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5331        0,     0,     0,     0,     0,     0,  2069,  2069,     0,     0,
5332        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5333        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5334        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5335        0,     0,     0,     0,     0,     0,     0,     0,     0,  2069,
5336        0,     0,     0,     0,     0,  2069,  2783,     0,     0,     0,
5337        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5338        0,     0,     0,  2069,     0,  2069,     0,     0,     0,  2069,
5339     2069,  2069,     0,     0,  2069,     0,     0,  2069,  2069,     0,
5340        0,     0,  2069,     0,     0,     0,  2069,     0,     0,     0,
5341        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5342        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5343        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5344        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5345        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5346        0,     0,     0,  2069,     0,     0,     0,     0,     0,     0,
5347        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5348        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5349        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5350        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5351        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5352        0,     0,     0,     0,     0,     0,     0,     0,     0,  2069,
5353        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5354        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5355        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5356        0,     0,     0,     0,     0,     0,     0,  2069,     0,     0,
5357        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5358        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5359        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5360        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5361        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5362        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5363        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5364        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5365        0,     0,     0,     0,     0,     0,  3536,  2783,     0,     0,
5366        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5367        0,  2069,  2069,  2069,     0,     0,     0,     0,     0,     0,
5368        0,  2783,     0,     0,     0,     0,     0,     0,     0,     0,
5369        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5370        0,     0,     0,     0,     0,     0,     0,     0,  2069,  2069,
5371        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5372     2069,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5373        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5374        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5375        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5376        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5377        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5378        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5379        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5380        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5381        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5382        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5383        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5384        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5385        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5386        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5387        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5388        0,     0,     0,  3536,     0,     0,     0,     0,     0,     0,
5389        0,     0,     0,     0,     0,     0,  2783,     0,     0,  3536,
5390        0,     0,     0,  2069,     0,     0,     0,     0,     0,     0,
5391        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5392        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5393        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5394        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5395        0,     0,  2069,     0,     0,     0,     0,     0,     0,     0,
5396        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5397        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5398        0,     0,     0,     0,     0,     0,     0,     0,     0,  2069,
5399        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5400        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5401        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5402        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5403        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5404        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5405        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5406     3536,     0,  2783,     0,     0,     0,     0,     0,     0,     0,
5407        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5408        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5409        0,     0,  2069,     0,     0,     0,     0,     0,     0,     0,
5410        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5411        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5412        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5413        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5414        0,     0,     0,     0,     0,     0,  2069,     0,     0,     0,
5415        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5416        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5417        0,     0,     0,     0,  2069,     0,     0,     0,     0,     0,
5418        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5419        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5420        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5421        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5422        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5423        0,     0,     0,     0,     0,  2069,     0,     0,     0,     0,
5424        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5425        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5426        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5427     2783,  2783,     0,     0,     0,     0,     0,     0,     0,     0,
5428        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5429        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5430        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5431        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5432        0,     0,  3536,  3536,     0,     0,     0,  2069,     0,     0,
5433        0,     0,     0,     0,     0,     0,     0,     0,   228,     0,
5434     1222,   669,     0,  1223,  1224,  1225,   729,  1226,     0,     0,
5435        0,     0,     0,     0,  2069,   229,   230,   231,   232,   233,
5436      234,   235,   236,  1625,   237,   238,   239,     0,     0,     0,
5437        0,  1227,     0,     0,   240,   241,     0,   242,   243,   244,
5438      245,   246,   247,   248,   249,  1228,   251,  1229,  1230,     0,
5439      254,   255,   256,   257,   258,   259,  1231,  1232,   260,   261,
5440     1233,  1234,   264,     0,   265,   266,   267,   268,  1235,     0,
5441     1236,     0,   271,   272,   273,   274,   275,   276,   277,   278,
5442      279,     0,   280,   281,   282,   283,   284,   285,     0,   286,
5443      287,   288,   289,  1237,  1238,  1239,  1240,  1241,  1242,  1243,
5444      291,   292,   293,   294,   295,   296,  1244,  1245,   299,  1246,
5445      300,     0,   301,   302,   303,   304,   305,   306,     0,   307,
5446      308,   309,   310,  1626,     0,   311,   312,  1077,   314,   315,
5447        0,   316,   317,   318,     0,   319,   320,   321,     0,   322,
5448      323,   324,   325,  1247,   327,   328,   329,   330,  1248,  1249,
5449      332,     0,   333,   334,  1250,   336,     0,   337,     0,   338,
5450      339,     0,   340,   341,   342,   343,   344,     0,   345,  1251,
5451        0,  1252,   348,   349,     0,   350,   351,   352,   353,   354,
5452      355,   356,   357,   358,   359,     0,   360,   361,   362,   363,
5453      364,   365,   366,     0,   367,   368,   369,   370,   371,   372,
5454      373,  1253,  1254,     0,  1255,     0,   377,   378,   379,   380,
5455      381,   382,   383,   384,   385,   386,     0,     0,   387,  1256,
5456      389,   390,   391,     0,   392,   393,   394,  1257,  1258,   395,
5457      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
5458      406,   407,   408,   409,   410,  1259,   412,  1260,   414,   415,
5459      416,   417,   418,   419,   420,   421,  1261,   423,  1262,   424,
5460      425,   426,   427,  1263,  1264,   429,  1265,   431,   432,   433,
5461        0,   434,   435,     0,     0,  1266,   437,   438,     0,     0,
5462      439,   440,   441,   442,   443,   444,  1267,   446,   447,   448,
5463      449,   450,   451,   452,   453,   454,     0,   455,   456,  1268,
5464      458,   459,   460,   461,   462,     0,   463,   464,   465,   466,
5465      467,   468,   469,   470,   471,   472,  1269,   474,   475,   476,
5466      477,     0,   478,   479,   480,   481,   482,   483,   484,   485,
5467      486,   487,   488,   489,     0,   490,   491,   492,   493,   494,
5468      495,   496,   497,  1270,   499,   500,   501,   502,   503,   504,
5469      505,   506,   507,     0,   508,   509,   510,   511,   512,  1271,
5470      513,   514,   515,   516,   517,   518,   519,   520,  1272,   522,
5471        0,   523,   524,   525,   526,   527,   528,   529,   530,   531,
5472      532,   533,   534,   535,  1273,   537,     0,   538,   539,     0,
5473      540,   541,   542,   543,   544,   545,   546,     0,   547,  1274,
5474     1275,     0,     0,   550,   551,  1276,   553,  1277,  1278,   555,
5475      556,   557,   558,   559,   560,   561,   562,     0,  1279,   563,
5476      564,   565,   566,   567,  1280,     0,   568,   569,   570,   571,
5477      572,   573,  1281,  1627,   575,   576,   577,   578,   579,   580,
5478        0,     0,   581,     0,     0,   582,   583,   584,   585,   586,
5479      587,   588,  1282,  1283,  1284,  1285,   593,  1286,  1287,  1288,
5480     1289,   598,   599,   600,   601,  1290,     0,     0,     0,     0,
5481        0,     0,  1291,  1292,  1628,     0,     0,     0,     0,     0,
5482        0,  1294,  1629,   228,     0,  1222,   669,     0,  1223,  1224,
5483     1225,   729,  1226,     0,     0,     0,     0,     0,     0,     0,
5484      229,   230,   231,   232,   233,   234,   235,   236,     0,   237,
5485      238,   239,     0,     0,     0,     0,  1227,     0,     0,   240,
5486      241,     0,   242,   243,   244,   245,   246,   247,   248,   249,
5487     1228,   251,  1229,  1230,     0,   254,   255,   256,   257,   258,
5488      259,  1231,  1232,   260,   261,  1233,  1234,   264,     0,   265,
5489      266,   267,   268,  1235,     0,  1236,     0,   271,   272,   273,
5490      274,   275,   276,   277,   278,   279,     0,   280,   281,   282,
5491      283,   284,   285,     0,   286,   287,   288,   289,  1237,  1238,
5492     1239,  1240,  1241,  1242,  1243,   291,   292,   293,   294,   295,
5493      296,  1244,  1245,   299,  1246,   300,     0,   301,   302,   303,
5494      304,   305,   306,     0,   307,   308,   309,   310,     0,     0,
5495      311,   312,  1077,   314,   315,     0,   316,   317,   318,     0,
5496      319,   320,   321,     0,   322,   323,   324,   325,  1247,   327,
5497      328,   329,   330,  1248,  1249,   332,     0,   333,   334,  1250,
5498      336,     0,   337,     0,   338,   339,     0,   340,   341,   342,
5499      343,   344,     0,   345,  1251,     0,  1252,   348,   349,     0,
5500      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
5501        0,   360,   361,   362,   363,   364,   365,   366,     0,   367,
5502      368,   369,   370,   371,   372,   373,  1253,  1254,     0,  1255,
5503        0,   377,   378,   379,   380,   381,   382,   383,   384,   385,
5504      386,     0,     0,   387,  1256,   389,   390,   391,     0,   392,
5505      393,   394,  1257,  1258,   395,   396,   397,   398,   399,   400,
5506      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
5507     1259,   412,  1260,   414,   415,   416,   417,   418,   419,   420,
5508      421,  1261,   423,  1262,   424,   425,   426,   427,  1263,  1264,
5509      429,  1265,   431,   432,   433,     0,   434,   435,     0,     0,
5510     1266,   437,   438,     0,     0,   439,   440,   441,   442,   443,
5511      444,  1267,   446,   447,   448,   449,   450,   451,   452,   453,
5512      454,     0,   455,   456,  1268,   458,   459,   460,   461,   462,
5513        0,   463,   464,   465,   466,   467,   468,   469,   470,   471,
5514      472,  1269,   474,   475,   476,   477,     0,   478,   479,   480,
5515      481,   482,   483,   484,   485,   486,   487,   488,   489,     0,
5516      490,   491,   492,   493,   494,   495,   496,   497,  1270,   499,
5517      500,   501,   502,   503,   504,   505,   506,   507,    40,   508,
5518      509,   510,   511,   512,  1271,   513,   514,   515,   516,   517,
5519      518,   519,   520,  1272,   522,     0,   523,   524,   525,   526,
5520      527,   528,   529,   530,   531,   532,   533,   534,   535,  1273,
5521      537,     0,   538,   539,    44,   540,   541,   542,   543,   544,
5522      545,   546,     0,   547,  1274,  1275,     0,     0,   550,   551,
5523     1276,   553,  1277,  1278,   555,   556,   557,   558,   559,   560,
5524      561,   562,     0,  1279,   563,   564,   565,   566,   567,  1280,
5525        0,   568,   569,   570,   571,   572,  1156,  1281,     0,   575,
5526      576,   577,   578,   579,   580,     0,     0,   581,     0,    49,
5527      582,   583,   584,   585,   586,   587,   588,  1282,  1283,  1284,
5528     1285,   593,  1286,  1287,  1288,  1289,   598,   599,   600,   601,
5529     1290,     0,    50,     0,     0,     0,     0,  1291,  1292,     0,
5530        0,     0,     0,     0,     0,     0,  1294,  5087,   228,     0,
5531     1222,   669,     0,  1223,  1224,  1225,   729,  1226,     0,     0,
5532        0,     0,     0,     0,     0,   229,   230,   231,   232,   233,
5533      234,   235,   236,     0,   237,   238,   239,     0,     0,     0,
5534        0,  1227,     0,     0,   240,   241,     0,   242,   243,   244,
5535      245,   246,   247,   248,   249,  1228,   251,  1229,  1230,     0,
5536      254,   255,   256,   257,   258,   259,  1231,  1232,   260,   261,
5537     1233,  1234,   264,     0,   265,   266,   267,   268,  1235,     0,
5538     1236,     0,   271,   272,   273,   274,   275,   276,   277,   278,
5539      279,     0,   280,   281,   282,   283,   284,   285,     0,   286,
5540      287,   288,   289,  1237,  1238,  1239,  1240,  1241,  1242,  1243,
5541      291,   292,   293,   294,   295,   296,  1244,  1245,   299,  1246,
5542      300,     0,   301,   302,   303,   304,   305,   306,     0,   307,
5543      308,   309,   310,     0,     0,   311,   312,  1077,   314,   315,
5544        0,   316,   317,   318,     0,   319,   320,   321,     0,   322,
5545      323,   324,   325,  1247,   327,   328,   329,   330,  1248,  1249,
5546      332,     0,   333,   334,  1250,   336,     0,   337,     0,   338,
5547      339,     0,   340,   341,   342,   343,   344,     0,   345,  1251,
5548        0,  1252,   348,   349,     0,   350,   351,   352,   353,   354,
5549      355,   356,   357,   358,   359,     0,   360,   361,   362,   363,
5550      364,   365,   366,     0,   367,   368,   369,   370,   371,   372,
5551      373,  1253,  1254,     0,  1255,     0,   377,   378,   379,   380,
5552      381,   382,   383,   384,   385,   386,     0,     0,   387,  1256,
5553      389,   390,   391,     0,   392,   393,   394,  1257,  1258,   395,
5554      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
5555      406,   407,   408,   409,   410,  1259,   412,  1260,   414,   415,
5556      416,   417,   418,   419,   420,   421,  1261,   423,  1262,   424,
5557      425,   426,   427,  1263,  1264,   429,  1265,   431,   432,   433,
5558        0,   434,   435,     0,     0,  1266,   437,   438,     0,     0,
5559      439,   440,   441,   442,   443,   444,  1267,   446,   447,   448,
5560      449,   450,   451,   452,   453,   454,     0,   455,   456,  1268,
5561      458,   459,   460,   461,   462,     0,   463,   464,   465,   466,
5562      467,   468,   469,   470,   471,   472,  1269,   474,   475,   476,
5563      477,     0,   478,   479,   480,   481,   482,   483,   484,   485,
5564      486,   487,   488,   489,     0,   490,   491,   492,   493,   494,
5565      495,   496,   497,  1270,   499,   500,   501,   502,   503,   504,
5566      505,   506,   507,     0,   508,   509,   510,   511,   512,  1271,
5567      513,   514,   515,   516,   517,   518,   519,   520,  1272,   522,
5568        0,   523,   524,   525,   526,   527,   528,   529,   530,   531,
5569      532,   533,   534,   535,  1273,   537,     0,   538,   539,     0,
5570      540,   541,   542,   543,   544,   545,   546,     0,   547,  1274,
5571     1275,     0,     0,   550,   551,  1276,   553,  1277,  1278,   555,
5572      556,   557,   558,   559,   560,   561,   562,     0,  1279,   563,
5573      564,   565,   566,   567,  1280,     0,   568,   569,   570,   571,
5574      572,   573,  1281,     0,   575,   576,   577,   578,   579,   580,
5575        0,     0,   581,     0,     0,   582,   583,   584,   585,   586,
5576      587,   588,  1282,  1283,  1284,  1285,   593,  1286,  1287,  1288,
5577     1289,   598,   599,   600,   601,  1290,     0,     0,     0,     0,
5578        0,     0,  1291,  1292,     0,     0,     0,     0,     0,     0,
5579        0,  1294,  2785,   228,     0,  1222,   669,     0,  1223,  1224,
5580     1225,   729,  1226,     0,     0,     0,     0,     0,     0,     0,
5581      229,   230,   231,   232,   233,   234,   235,   236,     0,   237,
5582      238,   239,     0,     0,     0,     0,  1227,     0,     0,   240,
5583      241,     0,   242,   243,   244,   245,   246,   247,   248,   249,
5584     1228,   251,  1229,  1230,     0,   254,   255,   256,   257,   258,
5585      259,  1231,  1232,   260,   261,  1233,  1234,   264,     0,   265,
5586      266,   267,   268,  1235,     0,  1236,     0,   271,   272,   273,
5587      274,   275,   276,   277,   278,   279,     0,   280,   281,   282,
5588      283,   284,   285,     0,   286,   287,   288,   289,  1237,  1238,
5589     1239,  1240,  1241,  1242,  1243,   291,   292,   293,   294,   295,
5590      296,  1244,  1245,   299,  1246,   300,     0,   301,   302,   303,
5591      304,   305,   306,     0,   307,   308,   309,   310,     0,     0,
5592      311,   312,  1077,   314,   315,     0,   316,   317,   318,     0,
5593      319,   320,   321,     0,   322,   323,   324,   325,  1247,   327,
5594      328,   329,   330,  1248,  1249,   332,     0,   333,   334,  1250,
5595      336,     0,   337,     0,   338,   339,     0,   340,   341,   342,
5596      343,   344,     0,   345,  1251,     0,  1252,   348,   349,     0,
5597      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
5598        0,   360,   361,   362,   363,   364,   365,   366,     0,   367,
5599      368,   369,   370,   371,   372,   373,  1253,  1254,     0,  1255,
5600        0,   377,   378,   379,   380,   381,   382,   383,   384,   385,
5601      386,     0,     0,   387,  1256,   389,   390,   391,     0,   392,
5602      393,   394,  1257,  1258,   395,   396,   397,   398,   399,   400,
5603      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
5604     1259,   412,  1260,   414,   415,   416,   417,   418,   419,   420,
5605      421,  1261,   423,  1262,   424,   425,   426,   427,  1263,  1264,
5606      429,  1265,   431,   432,   433,     0,   434,   435,     0,     0,
5607     1266,   437,   438,     0,     0,   439,   440,   441,   442,   443,
5608      444,  1267,   446,   447,   448,   449,   450,   451,   452,   453,
5609      454,     0,   455,   456,  1268,   458,   459,   460,   461,   462,
5610        0,   463,   464,   465,   466,   467,   468,   469,   470,   471,
5611      472,  1269,   474,   475,   476,   477,     0,   478,   479,   480,
5612      481,   482,   483,   484,   485,   486,   487,   488,   489,     0,
5613      490,   491,   492,   493,   494,   495,   496,   497,  1270,   499,
5614      500,   501,   502,   503,   504,   505,   506,   507,     0,   508,
5615      509,   510,   511,   512,  1271,   513,   514,   515,   516,   517,
5616      518,   519,   520,  1272,   522,     0,   523,   524,   525,   526,
5617      527,   528,   529,   530,   531,   532,   533,   534,   535,  1273,
5618      537,     0,   538,   539,     0,   540,   541,   542,   543,   544,
5619      545,   546,     0,   547,  1274,  1275,     0,     0,   550,   551,
5620     1276,   553,  1277,  1278,   555,   556,   557,   558,   559,   560,
5621      561,   562,     0,  1279,   563,   564,   565,   566,   567,  1280,
5622        0,   568,   569,   570,   571,   572,   573,  1281,     0,   575,
5623      576,   577,   578,   579,   580,     0,     0,   581,     0,     0,
5624      582,   583,   584,   585,   586,   587,   588,  1282,  1283,  1284,
5625     1285,   593,  1286,  1287,  1288,  1289,   598,   599,   600,   601,
5626     1290,     0,     0,     0,     0,     0,     0,  1291,  1292,     0,
5627        0,     0,     0,     0,     0,     0,  1294,  4067,   228,     0,
5628     1222,   669,     0,  1223,  1224,  1225,   729,  1226,     0,     0,
5629        0,     0,     0,     0,     0,   229,   230,   231,   232,   233,
5630      234,   235,   236,     0,   237,   238,   239,     0,     0,     0,
5631        0,  1227,     0,     0,   240,   241,     0,   242,   243,   244,
5632      245,   246,   247,   248,   249,  1228,   251,  1229,  1230,     0,
5633      254,   255,   256,   257,   258,   259,  1231,  1232,   260,   261,
5634     1233,  1234,   264,     0,   265,   266,   267,   268,  1235,     0,
5635     1236,     0,   271,   272,   273,   274,   275,   276,   277,   278,
5636      279,     0,   280,   281,   282,   283,   284,   285,     0,   286,
5637      287,   288,   289,  1237,  1238,  1239,  1240,  1241,  1242,  1243,
5638      291,   292,   293,   294,   295,   296,  1244,  1245,   299,  1246,
5639      300,     0,   301,   302,   303,   304,   305,   306,     0,   307,
5640      308,   309,   310,     0,     0,   311,   312,  1077,   314,   315,
5641        0,   316,   317,   318,     0,   319,   320,   321,     0,   322,
5642      323,   324,   325,  1247,   327,   328,   329,   330,  1248,  1249,
5643      332,     0,   333,   334,  1250,   336,     0,   337,     0,   338,
5644      339,     0,   340,   341,   342,   343,   344,     0,   345,  1251,
5645        0,  1252,   348,   349,     0,   350,   351,   352,   353,   354,
5646      355,   356,   357,   358,   359,     0,   360,   361,   362,   363,
5647      364,   365,   366,     0,   367,   368,   369,   370,   371,   372,
5648      373,  1253,  1254,     0,  1255,     0,   377,   378,   379,   380,
5649      381,   382,   383,   384,   385,   386,     0,     0,   387,  1256,
5650      389,   390,   391,     0,   392,   393,   394,  1257,  1258,   395,
5651      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
5652      406,   407,   408,   409,   410,  1259,   412,  1260,   414,   415,
5653      416,   417,   418,   419,   420,   421,  1261,   423,  1262,   424,
5654      425,   426,   427,  1263,  1264,   429,  1265,   431,   432,   433,
5655        0,   434,   435,     0,     0,  1266,   437,   438,     0,     0,
5656      439,   440,   441,   442,   443,   444,  1267,   446,   447,   448,
5657      449,   450,   451,   452,   453,   454,     0,   455,   456,  1268,
5658      458,   459,   460,   461,   462,     0,   463,   464,   465,   466,
5659      467,   468,   469,   470,   471,   472,  1269,   474,   475,   476,
5660      477,     0,   478,   479,   480,   481,   482,   483,   484,   485,
5661      486,   487,   488,   489,     0,   490,   491,   492,   493,   494,
5662      495,   496,   497,  1270,   499,   500,   501,   502,   503,   504,
5663      505,   506,   507,     0,   508,   509,   510,   511,   512,  1271,
5664      513,   514,   515,   516,   517,   518,   519,   520,  1272,   522,
5665        0,   523,   524,   525,   526,   527,   528,   529,   530,   531,
5666      532,   533,   534,   535,  1273,   537,     0,   538,   539,     0,
5667      540,   541,   542,   543,   544,   545,   546,     0,   547,  1274,
5668     1275,     0,     0,   550,   551,  1276,   553,  1277,  1278,   555,
5669      556,   557,   558,   559,   560,   561,   562,     0,  1279,   563,
5670      564,   565,   566,   567,  1280,     0,   568,   569,   570,   571,
5671      572,   573,  1281,     0,   575,   576,   577,   578,   579,   580,
5672        0,     0,   581,     0,     0,   582,   583,   584,   585,   586,
5673      587,   588,  1282,  1283,  1284,  1285,   593,  1286,  1287,  1288,
5674     1289,   598,   599,   600,   601,  1290,   609,     0,     0,     0,
5675        0,     0,  1291,  1292,     0,     0,     0,     0,     0,     0,
5676        0,  1294,  4140,   229,   230,   231,   232,   233,   234,   235,
5677      236,     0,   237,   238,   239,     0,     0,     0,     0,     0,
5678     4158,     0,   240,   241,     0,   242,   243,   244,     0,   246,
5679      247,   248,   249,   250,     0,   252,   253,     0,   254,   255,
5680      256,   257,   258,   259,     0,     0,   260,   261,   262,   263,
5681      264,     0,   265,   266,   267,   268,   269,     0,     0,     0,
5682      271,   272,   273,   274,   275,     0,   277,   278,   279,     0,
5683      280,   281,   282,   283,   284,   285,     0, -1789,   287,   288,
5684      289,     0,     0,     0,     0,     0,     0,     0,   291,   292,
5685      293,   294,   295,   296,   297,   298,   299,     0,   300,     0,
5686      301,   302,   303,   304,   305,   306,     0,   307,   308,   309,
5687      310,     0,     0,   311,   312,   313,   314,   315,     0,   316,
5688      317,   318,     0,   319,   320,   321,     0,   322,   323,   324,
5689      325,   326,   327,   328,   329,   330,   331,     0,   332,     0,
5690      333,   334,   335,   336,     0,   337,     0,   338,     0,     0,
5691    -1789,   341,   342,   343,   344,     0,   345,   346,     0,   347,
5692      348,   349,     0,   350,   351,   352,   353,   354,     0,   356,
5693      357,   358,   359,     0,   360,   361,   362,   363,   364,   365,
5694      366,     0,   367, -1789,   369,   370,   371,   372,   373,   374,
5695      375,     0,   376,     0,   377,     0,     0,   380, -1789,   382,
5696      383,   384,   385,   386,     0,     0,   387,   388, -1789,   390,
5697        0,     0,   392,   393,   394,     0,     0,   395,   396,   397,
5698      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
5699      408,   409,   410,   411, -1789,   413,   414,   415,   416,   417,
5700      418,   419,   420,   421,   422,   423,     0,   424,   425,     0,
5701      427,     0,   428,   429,   430,   431,   432,   433,     0,   434,
5702      435,     0,     0,   436,   437,   438,     0,     0,   439,   440,
5703      441,     0,   443,     0,   445,   446,   447,   448,   449,   450,
5704      451,   452,   453,   454,     0,   455,   456,   457,   458,   459,
5705      460,   461,   462,     0,   463,   464,   465,   466,   467,   468,
5706      469,   470,   471,   472,   473,   474,   475,   476,   477,     0,
5707      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
5708      488,   489,     0,   490,   491, -1789,   493,   494,   495,   496,
5709      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
5710      507,     0,   508,   509,   510,   511,   512,     0,   513,   514,
5711      515,   516,   517,     0,   519,   520,   521,   522,     0,   523,
5712      524,   525,   526,   527,   528,   529,   530,   531,   532,   533,
5713      534,   535,   536,   537,     0,   538,   539,     0,   540,     0,
5714      542,   543,   544,   545,   546,     0,   547,   548,   549,     0,
5715        0,   550,   551,   552,   553,   554,     0,   555,   556,   557,
5716      558,   559,   560,   561,   562,     0,     0,   563,   564,   565,
5717      566,   567,     0,     0,   568,   569,   570,   571,   572,   573,
5718      574,     0,   575,     0,   577,   578,   579,   580,     0,     0,
5719      581,     0,     0,   582,   583,   584,   585,   586,   587,   588,
5720      589,   590,   591,   592,   593,   594,   595,   596,   597,   598,
5721      599,   600,   601,     0,  1069,     0,     0,     0,     0,     0,
5722        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5723     1370,   229,   230,   231,   232,   233,   234,   235,   236,     0,
5724      237,   238,   239,     0,     0,     0,     0,     0,     0,     0,
5725      240,   241,     0,   242,   243,   244,   245,   246,   247,   248,
5726        0,  1070,   251,  1071,  1072,     0,   254,   255,   256,   257,
5727      258,   259,     0,     0,   260,   261,  1073,  1074,   264,     0,
5728      265,   266,   267,   268,     0,     0,   270,     0,   271,   272,
5729      273,   274,   275,   276,   277,   278,   279,     0,   280,   281,
5730      282,   283,   284,   285,     0,   286,   287,   288,   289,     0,
5731        0,     0,   290,     0,     0,     0,   291,   292,   293,   294,
5732      295,   296,  1075,  1076,   299,     0,   300,     0,   301,   302,
5733      303,   304,   305,   306,     0,   307,   308,   309,   310,     0,
5734        0,   311,   312,  1077,   314,   315,     0,   316,   317,   318,
5735        0,   319,   320,   321,     0,   322,   323,   324,   325,     0,
5736      327,   328,   329,   330,     0,     0,   332,     0,   333,   334,
5737     1078,   336,     0,   337,     0,   338,   339,     0,   340,   341,
5738      342,   343,   344,     0,   345,     0,     0,     0,   348,   349,
5739        0,   350,   351,   352,   353,   354,   355,   356,   357,   358,
5740      359,  2174,   360,   361,   362,   363,   364,   365,   366,     0,
5741      367,   368,  2175,   370,   371,   372,   373,  1080,  1081,     0,
5742     1082,     0,   377,   378,   379,   380,   381,   382,   383,   384,
5743      385,   386,     0,     0,   387,     0,   389,   390,   391,     0,
5744      392,   393,   394,     0,     0,   395,   396,   397,   398,   399,
5745      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
5746      410,  1083,   412,  1084,   414,   415,   416,   417,   418,   419,
5747      420,     0,     0,   423,     0,   424,   425,   426,   427,     0,
5748        0,   429,  1085,   431,   432,   433,     0,   434,   435,     0,
5749        0,   436,   437,   438,     0,     0,   439,   440,  2177,   442,
5750      443,   444,     0,   446,   447,   448,   449,   450,   451,   452,
5751      453,   454,     0,   455,   456,     0,   458,     0,   460,   461,
5752      462,     0,   463,   464,   465,   466,   467,   468,   469,   470,
5753      471,   472,  1086,   474,   475,   476,   477,     0,   478,   479,
5754      480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
5755        0,   490,   491,   492,   493,   494,   495,   496,   497,     0,
5756      499,   500,   501,   502,   503,   504,   505,   506,   507,     0,
5757      508,   509,   510,   511,   512,     0,   513,   514,  2178,   516,
5758      517,   518,   519,   520,  1088,   522,     0,   523,   524,   525,
5759      526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
5760        0,   537,     0,   538,   539,     0,   540,   541,   542,   543,
5761      544,   545,   546,     0,   547,  1089,  1090,     0,     0,   550,
5762      551,     0,   553,     0,     0,   555,   556,   557,   558,   559,
5763      560,   561,   562,     0,     0,   563,   564,   565,   566,   567,
5764        0,     0,   568,   569,   570,   571,   572,     0,  1091,  2179,
5765      575,   576,   577,   578,   579,   580,     0,     0,   581,     0,
5766        0,   582,   583,   584,   585,   586,   587,  1069,     0,     0,
5767        0,     0,     0,     0,     0,     0,     0,     0,   599,   600,
5768      601,     0,     0,     0,   229,   230,   231,   232,   233,   234,
5769      235,   236,     0,   237,   238,   239,     0,     0,  2287,     0,
5770        0,     0,     0,   240,   241,     0,   242,   243,   244,   245,
5771      246,   247,   248,     0,  1070,   251,  1071,  1072,     0,   254,
5772      255,   256,   257,   258,   259,     0,     0,   260,   261,  1073,
5773     1074,   264,     0,   265,   266,   267,   268,     0,     0,   270,
5774        0,   271,   272,   273,   274,   275,   276,   277,   278,   279,
5775        0,   280,   281,   282,   283,   284,   285,     0,   286,   287,
5776      288,   289,     0,     0,     0,   290,     0,     0,     0,   291,
5777      292,   293,   294,   295,   296,  1075,  1076,   299,     0,   300,
5778        0,   301,   302,   303,   304,   305,   306,     0,   307,   308,
5779      309,   310,     0,     0,   311,   312,  1077,   314,   315,     0,
5780      316,   317,   318,     0,   319,   320,   321,     0,   322,   323,
5781      324,   325,     0,   327,   328,   329,   330,     0,     0,   332,
5782        0,   333,   334,  1078,   336,     0,   337,     0,   338,   339,
5783        0,   340,   341,   342,   343,   344,     0,   345,     0,     0,
5784        0,   348,   349,     0,   350,   351,   352,   353,   354,   355,
5785      356,   357,   358,   359,  2174,   360,   361,   362,   363,   364,
5786      365,   366,     0,   367,   368,  2175,   370,   371,   372,   373,
5787     1080,  1081,     0,  1082,     0,   377,   378,   379,   380,   381,
5788      382,   383,   384,   385,   386,     0,     0,   387,     0,   389,
5789      390,   391,     0,   392,   393,   394,     0,     0,   395,   396,
5790      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
5791      407,   408,   409,   410,  1083,   412,  1084,   414,   415,   416,
5792      417,   418,   419,   420,     0,     0,   423,     0,   424,   425,
5793      426,   427,     0,     0,   429,  1085,   431,   432,   433,     0,
5794      434,   435,     0,     0,   436,   437,   438,     0,     0,   439,
5795      440,  2177,   442,   443,   444,     0,   446,   447,   448,   449,
5796      450,   451,   452,   453,   454,     0,   455,   456,     0,   458,
5797        0,   460,   461,   462,     0,   463,   464,   465,   466,   467,
5798      468,   469,   470,   471,   472,  1086,   474,   475,   476,   477,
5799        0,   478,   479,   480,   481,   482,   483,   484,   485,   486,
5800      487,   488,   489,     0,   490,   491,   492,   493,   494,   495,
5801      496,   497,     0,   499,   500,   501,   502,   503,   504,   505,
5802      506,   507,     0,   508,   509,   510,   511,   512,     0,   513,
5803      514,  2178,   516,   517,   518,   519,   520,  1088,   522,     0,
5804      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
5805      533,   534,   535,     0,   537,     0,   538,   539,     0,   540,
5806      541,   542,   543,   544,   545,   546,     0,   547,  1089,  1090,
5807        0,     0,   550,   551,     0,   553,     0,     0,   555,   556,
5808      557,   558,   559,   560,   561,   562,     0,     0,   563,   564,
5809      565,   566,   567,     0,     0,   568,   569,   570,   571,   572,
5810        0,  1091,  2179,   575,   576,   577,   578,   579,   580,     0,
5811        0,   581,     0,     0,   582,   583,   584,   585,   586,   587,
5812      228,     0,  1222,   669,     0,  1223,  1224,  1225,   729,  1226,
5813        0,   599,   600,   601,     0,     0,     0,   229,   230,   231,
5814      232,   233,   234,   235,   236,     0,   237,   238,   239,     0,
5815        0,  3371,     0,  1227,     0,     0,   240,   241,     0,   242,
5816      243,   244,   245,   246,   247,   248,   249,  1228,   251,  1229,
5817     1230,     0,   254,   255,   256,   257,   258,   259,  1231,  1232,
5818      260,   261,  1233,  1234,   264,     0,   265,   266,   267,   268,
5819     1235,     0,  1236,     0,   271,   272,   273,   274,   275,   276,
5820      277,   278,   279,     0,   280,   281,   282,   283,   284,   285,
5821        0,   286,   287,   288,   289,  1237,  1238,  1239,  1240,  1241,
5822     1242,  1243,   291,   292,   293,   294,   295,   296,  1244,  1245,
5823      299,  1246,   300,     0,   301,   302,   303,   304,   305,   306,
5824        0,   307,   308,   309,   310,     0,     0,   311,   312,  1077,
5825      314,   315,     0,   316,   317,   318,     0,   319,   320,   321,
5826        0,   322,   323,   324,   325,  1247,   327,   328,   329,   330,
5827     1248,  1249,   332,     0,   333,   334,  1250,   336,     0,   337,
5828        0,   338,   339,     0,   340,   341,   342,   343,   344,     0,
5829      345,  1251,     0,  1252,   348,   349,     0,   350,   351,   352,
5830      353,   354,   355,   356,   357,   358,   359,     0,   360,   361,
5831      362,   363,   364,   365,   366,     0,   367,   368,   369,   370,
5832      371,   372,   373,  1253,  1254,     0,  1255,     0,   377,   378,
5833      379,   380,   381,   382,   383,   384,   385,   386,     0,     0,
5834      387,  1256,   389,   390,   391,     0,   392,   393,   394,  1257,
5835     1258,   395,   396,   397,   398,   399,   400,   401,   402,   403,
5836      404,   405,   406,   407,   408,   409,   410,  1259,   412,  1260,
5837      414,   415,   416,   417,   418,   419,   420,   421,  1261,   423,
5838     1262,   424,   425,   426,   427,  1263,  1264,   429,  1265,   431,
5839      432,   433,     0,   434,   435,     0,     0,  1266,   437,   438,
5840        0,     0,   439,   440,   441,   442,   443,   444,  1267,   446,
5841      447,   448,   449,   450,   451,   452,   453,   454,     0,   455,
5842      456,  1268,   458,   459,   460,   461,   462,     0,   463,   464,
5843      465,   466,   467,   468,   469,   470,   471,   472,  1269,   474,
5844      475,   476,   477,     0,   478,   479,   480,   481,   482,   483,
5845      484,   485,   486,   487,   488,   489,     0,   490,   491,   492,
5846      493,   494,   495,   496,   497,  1270,   499,   500,   501,   502,
5847      503,   504,   505,   506,   507,    40,   508,   509,   510,   511,
5848      512,  1271,   513,   514,   515,   516,   517,   518,   519,   520,
5849     1272,   522,     0,   523,   524,   525,   526,   527,   528,   529,
5850      530,   531,   532,   533,   534,   535,  1273,   537,     0,   538,
5851      539,    44,   540,   541,   542,   543,   544,   545,   546,     0,
5852      547,  1274,  1275,     0,     0,   550,   551,  1276,   553,  1277,
5853     1278,   555,   556,   557,   558,   559,   560,   561,   562,     0,
5854     1279,   563,   564,   565,   566,   567,  1280,     0,   568,   569,
5855      570,   571,   572,  1156,  1281,     0,   575,   576,   577,   578,
5856      579,   580,     0,     0,   581,     0,    49,   582,   583,   584,
5857      585,   586,   587,   588,  1282,  1283,  1284,  1285,   593,  1286,
5858     1287,  1288,  1289,   598,   599,   600,   601,  1290,     0,    50,
5859        0,     0,     0,     0,  1291,  1292,     0,     0,     0,   228,
5860        0,  1222,   669,  1294,  1223,  1224,  1225,   729,  1226,     0,
5861        0,     0,     0,     0,     0,     0,   229,   230,   231,   232,
5862      233,   234,   235,   236,     0,   237,   238,   239,     0,     0,
5863        0,     0,  1227,     0,     0,   240,   241,     0,   242,   243,
5864      244,   245,   246,   247,   248,   249,  1228,   251,  1229,  1230,
5865     2791,   254,   255,   256,   257,   258,   259,  1231,  1232,   260,
5866      261,  1233,  1234,   264,     0,   265,   266,   267,   268,  1235,
5867        0,  1236,     0,   271,   272,   273,   274,   275,   276,   277,
5868      278,   279,     0,   280,   281,   282,   283,   284,   285,     0,
5869      286,   287,   288,   289,  1237,  1238,  1239,  1240,  1241,  1242,
5870     1243,   291,   292,   293,   294,   295,   296,  1244,  1245,   299,
5871     1246,   300,     0,   301,   302,   303,   304,   305,   306,     0,
5872      307,   308,   309,   310,     0,     0,   311,   312,  1077,   314,
5873      315,     0,   316,   317,   318,     0,   319,   320,   321,     0,
5874      322,   323,   324,   325,  1247,   327,   328,   329,   330,  1248,
5875     1249,   332,     0,   333,   334,  1250,   336,     0,   337,     0,
5876      338,   339,  2792,   340,   341,   342,   343,   344,     0,   345,
5877     1251,     0,  1252,   348,   349,     0,   350,   351,   352,   353,
5878      354,   355,   356,   357,   358,   359,     0,   360,   361,   362,
5879      363,   364,   365,   366,     0,   367,   368,   369,   370,   371,
5880      372,   373,  1253,  1254,     0,  1255,     0,   377,   378,   379,
5881      380,   381,   382,   383,   384,   385,   386,     0,  2793,   387,
5882     1256,   389,   390,   391,     0,   392,   393,   394,  1257,  1258,
5883      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
5884      405,   406,   407,   408,   409,   410,  1259,   412,  1260,   414,
5885      415,   416,   417,   418,   419,   420,   421,  1261,   423,  1262,
5886      424,   425,   426,   427,  1263,  1264,   429,  1265,   431,   432,
5887      433,     0,   434,   435,     0,     0,  1266,   437,   438,     0,
5888        0,   439,   440,   441,   442,   443,   444,  1267,   446,   447,
5889      448,   449,   450,   451,   452,   453,   454,     0,   455,   456,
5890     1268,   458,   459,   460,   461,   462,     0,   463,   464,   465,
5891      466,   467,   468,   469,   470,   471,   472,  1269,   474,   475,
5892      476,   477,     0,   478,   479,   480,   481,   482,   483,   484,
5893      485,   486,   487,   488,   489,     0,   490,   491,   492,   493,
5894      494,   495,   496,   497,  1270,   499,   500,   501,   502,   503,
5895      504,   505,   506,   507,     0,   508,   509,   510,   511,   512,
5896     1271,   513,   514,   515,   516,   517,   518,   519,   520,  1272,
5897      522,     0,   523,   524,   525,   526,   527,   528,   529,   530,
5898      531,   532,   533,   534,   535,  1273,   537,     0,   538,   539,
5899        0,   540,   541,   542,   543,   544,   545,   546,     0,   547,
5900     1274,  1275,     0,  2794,   550,   551,  1276,   553,  1277,  1278,
5901      555,   556,   557,   558,   559,   560,   561,   562,     0,  1279,
5902      563,   564,   565,   566,   567,  1280,     0,   568,   569,   570,
5903      571,   572,   573,  1281,     0,   575,   576,   577,   578,   579,
5904      580,     0,     0,   581,     0,     0,   582,   583,   584,   585,
5905      586,   587,   588,  1282,  1283,  1284,  1285,   593,  1286,  1287,
5906     1288,  1289,   598,   599,   600,   601,  1290,     0,     0,     0,
5907        0,     0,     0,  1291,  1292,     0,     0,     0,   228,     0,
5908     1222,   669,  1294,  1223,  1224,  1225,   729,  1226,     0,     0,
5909        0,     0,     0,     0,     0,   229,   230,   231,   232,   233,
5910      234,   235,   236,     0,   237,   238,   239,     0,     0,     0,
5911        0,  1227,     0,     0,   240,   241,     0,   242,   243,   244,
5912      245,   246,   247,   248,   249,  1228,   251,  1229,  1230,     0,
5913      254,   255,   256,   257,   258,   259,  1231,  1232,   260,   261,
5914     1233,  1234,   264,     0,   265,   266,   267,   268,  1235,     0,
5915     1236,     0,   271,   272,   273,   274,   275,   276,   277,   278,
5916      279,     0,   280,   281,   282,   283,   284,   285,     0,   286,
5917      287,   288,   289,  1237,  1238,  1239,  1240,  1241,  1242,  1243,
5918      291,   292,   293,   294,   295,   296,  1244,  1245,   299,  1246,
5919      300,     0,   301,   302,   303,   304,   305,   306,     0,   307,
5920      308,   309,   310,     0,     0,   311,   312,  1077,   314,   315,
5921        0,   316,   317,   318,     0,   319,   320,   321,     0,   322,
5922      323,   324,   325,  1247,   327,   328,   329,   330,  1248,  1249,
5923      332,     0,   333,   334,  1250,   336,     0,   337,     0,   338,
5924      339,     0,   340,   341,   342,   343,   344,     0,   345,  1251,
5925        0,  1252,   348,   349,     0,   350,   351,   352,   353,   354,
5926      355,   356,   357,   358,   359,     0,   360,   361,   362,   363,
5927      364,   365,   366,     0,   367,   368,   369,   370,   371,   372,
5928      373,  1253,  1254,     0,  1255,     0,   377,   378,   379,   380,
5929      381,   382,   383,   384,   385,   386,     0,     0,   387,  1256,
5930      389,   390,   391,     0,   392,   393,   394,  1257,  1258,   395,
5931      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
5932      406,   407,   408,   409,   410,  1259,   412,  1260,   414,   415,
5933      416,   417,   418,   419,   420,   421,  1261,   423,  1262,   424,
5934      425,   426,   427,  1263,  1264,   429,  1265,   431,   432,   433,
5935        0,   434,   435,     0,     0,  1266,   437,   438,     0,     0,
5936      439,   440,   441,   442,   443,   444,  1267,   446,   447,   448,
5937      449,   450,   451,   452,   453,   454,     0,   455,   456,  1268,
5938      458,   459,   460,   461,   462,     0,   463,   464,   465,   466,
5939      467,   468,   469,   470,   471,   472,  1269,   474,   475,   476,
5940      477,     0,   478,   479,   480,   481,   482,   483,   484,   485,
5941      486,   487,   488,   489,     0,   490,   491,   492,   493,   494,
5942      495,   496,   497,  1270,   499,   500,   501,   502,   503,   504,
5943      505,   506,   507,     0,   508,   509,   510,   511,   512,  1271,
5944      513,   514,   515,   516,   517,   518,   519,   520,  1272,   522,
5945        0,   523,   524,   525,   526,   527,   528,   529,   530,   531,
5946      532,   533,   534,   535,  1273,   537,     0,   538,   539,     0,
5947      540,   541,   542,   543,   544,   545,   546,     0,   547,  1274,
5948     1275,     0,     0,   550,   551,  1276,   553,  1277,  1278,   555,
5949      556,   557,   558,   559,   560,   561,   562,     0,  1279,   563,
5950      564,   565,   566,   567,  1280,     0,   568,   569,   570,   571,
5951      572,   573,  1281,     0,   575,   576,   577,   578,   579,   580,
5952        0,     0,   581,     0,     0,   582,   583,   584,   585,   586,
5953      587,   588,  1282,  1283,  1284,  1285,   593,  1286,  1287,  1288,
5954     1289,   598,   599,   600,   601,  1290,     0,     0,     0,     0,
5955        0,     0,  1291,  1292,     0,     0,     0,     0,     0,  1992,
5956     2745,  1294,   228,     0,  1222,   669,     0,  1223,  1224,  1225,
5957      729,  1226,     0,     0,     0,     0,     0,     0,     0,   229,
5958      230,   231,   232,   233,   234,   235,   236,     0,   237,   238,
5959      239,     0,     0,     0,     0,  1227,     0,     0,   240,   241,
5960        0,   242,   243,   244,   245,   246,   247,   248,   249,  1228,
5961      251,  1229,  1230,     0,   254,   255,   256,   257,   258,   259,
5962     1231,  1232,   260,   261,  1233,  1234,   264,     0,   265,   266,
5963      267,   268,  1235,     0,  1236,     0,   271,   272,   273,   274,
5964      275,   276,   277,   278,   279,     0,   280,   281,   282,   283,
5965      284,   285,     0,   286,   287,   288,   289,  1237,  1238,  1239,
5966     1240,  1241,  1242,  1243,   291,   292,   293,   294,   295,   296,
5967     1244,  1245,   299,  1246,   300,     0,   301,   302,   303,   304,
5968      305,   306,     0,   307,   308,   309,   310,     0,     0,   311,
5969      312,  1077,   314,   315,     0,   316,   317,   318,     0,   319,
5970      320,   321,     0,   322,   323,   324,   325,  1247,   327,   328,
5971      329,   330,  1248,  1249,   332,     0,   333,   334,  1250,   336,
5972        0,   337,     0,   338,   339,     0,   340,   341,   342,   343,
5973      344,     0,   345,  1251,     0,  1252,   348,   349,     0,   350,
5974      351,   352,   353,   354,   355,   356,   357,   358,   359,     0,
5975      360,   361,   362,   363,   364,   365,   366,     0,   367,   368,
5976      369,   370,   371,   372,   373,  1253,  1254,     0,  1255,     0,
5977      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
5978        0,     0,   387,  1256,   389,   390,   391,     0,   392,   393,
5979      394,  1257,  1258,   395,   396,   397,   398,   399,   400,   401,
5980      402,   403,   404,   405,   406,   407,   408,   409,   410,  1259,
5981      412,  1260,   414,   415,   416,   417,   418,   419,   420,   421,
5982     1261,   423,  1262,   424,   425,   426,   427,  1263,  1264,   429,
5983     1265,   431,   432,   433,     0,   434,   435,     0,     0,  1266,
5984      437,   438,     0,     0,   439,   440,   441,   442,   443,   444,
5985     1267,   446,   447,   448,   449,   450,   451,   452,   453,   454,
5986        0,   455,   456,  1268,   458,   459,   460,   461,   462,     0,
5987      463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
5988     1269,   474,   475,   476,   477,     0,   478,   479,   480,   481,
5989      482,   483,   484,   485,   486,   487,   488,   489,     0,   490,
5990      491,   492,   493,   494,   495,   496,   497,  1270,   499,   500,
5991      501,   502,   503,   504,   505,   506,   507,     0,   508,   509,
5992      510,   511,   512,  1271,   513,   514,   515,   516,   517,   518,
5993      519,   520,  1272,   522,     0,   523,   524,   525,   526,   527,
5994      528,   529,   530,   531,   532,   533,   534,   535,  1273,   537,
5995        0,   538,   539,     0,   540,   541,   542,   543,   544,   545,
5996      546,     0,   547,  1274,  1275,     0,     0,   550,   551,  1276,
5997      553,  1277,  1278,   555,   556,   557,   558,   559,   560,   561,
5998      562,     0,  1279,   563,   564,   565,   566,   567,  1280,     0,
5999      568,   569,   570,   571,   572,   573,  1281,     0,   575,   576,
6000      577,   578,   579,   580,     0,     0,   581,     0,     0,   582,
6001      583,   584,   585,   586,   587,   588,  1282,  1283,  1284,  1285,
6002      593,  1286,  1287,  1288,  1289,   598,   599,   600,   601,  1290,
6003        0,     0,     0,     0,     0,     0,  1291,  1292,  1293,     0,
6004        0,   228,     0,  1222,   669,  1294,  1223,  1224,  1225,   729,
6005     1226,     0,     0,     0,     0,     0,     0,     0,   229,   230,
6006      231,   232,   233,   234,   235,   236,  2142,   237,   238,   239,
6007        0,     0,     0,     0,  1227,     0,     0,   240,   241,     0,
6008      242,   243,   244,   245,   246,   247,   248,   249,  1228,   251,
6009     1229,  1230,     0,   254,   255,   256,   257,   258,   259,  1231,
6010     1232,   260,   261,  1233,  1234,   264,     0,   265,   266,   267,
6011      268,  1235,     0,  1236,     0,   271,   272,   273,   274,   275,
6012      276,   277,   278,   279,     0,   280,   281,   282,   283,   284,
6013      285,     0,   286,   287,   288,   289,  1237,  1238,  1239,  1240,
6014     1241,  1242,  1243,   291,   292,   293,   294,   295,   296,  1244,
6015     1245,   299,  1246,   300,     0,   301,   302,   303,   304,   305,
6016      306,     0,   307,   308,   309,   310,     0,     0,   311,   312,
6017     1077,   314,   315,     0,   316,   317,   318,     0,   319,   320,
6018      321,     0,   322,   323,   324,   325,  1247,   327,   328,   329,
6019      330,  1248,  1249,   332,     0,   333,   334,  1250,   336,     0,
6020      337,     0,   338,   339,     0,   340,   341,   342,   343,   344,
6021        0,   345,  1251,     0,  1252,   348,   349,     0,   350,   351,
6022      352,   353,   354,   355,   356,   357,   358,   359,     0,   360,
6023      361,   362,   363,   364,   365,   366,     0,   367,   368,   369,
6024      370,   371,   372,   373,  1253,  1254,     0,  1255,     0,   377,
6025      378,   379,   380,   381,   382,   383,   384,   385,   386,     0,
6026        0,   387,  1256,   389,   390,   391,     0,   392,   393,   394,
6027     1257,  1258,   395,   396,   397,   398,   399,   400,   401,   402,
6028      403,   404,   405,   406,   407,   408,   409,   410,  1259,   412,
6029     1260,   414,   415,   416,   417,   418,   419,   420,   421,  1261,
6030      423,  1262,   424,   425,   426,   427,  1263,  1264,   429,  1265,
6031      431,   432,   433,     0,   434,   435,     0,     0,  1266,   437,
6032      438,     0,     0,   439,   440,   441,   442,   443,   444,  1267,
6033      446,   447,   448,   449,   450,   451,   452,   453,   454,     0,
6034      455,   456,  1268,   458,   459,   460,   461,   462,     0,   463,
6035      464,   465,   466,   467,   468,   469,   470,   471,   472,  1269,
6036      474,   475,   476,   477,     0,   478,   479,   480,   481,   482,
6037      483,   484,   485,   486,   487,   488,   489,     0,   490,   491,
6038      492,   493,   494,   495,   496,   497,  1270,   499,   500,   501,
6039      502,   503,   504,   505,   506,   507,     0,   508,   509,   510,
6040      511,   512,  1271,   513,   514,   515,   516,   517,   518,   519,
6041      520,  1272,   522,     0,   523,   524,   525,   526,   527,   528,
6042      529,   530,   531,   532,   533,   534,   535,  1273,   537,     0,
6043      538,   539,     0,   540,   541,   542,   543,   544,   545,   546,
6044        0,   547,  1274,  1275,     0,     0,   550,   551,  1276,   553,
6045     1277,  1278,   555,   556,   557,   558,   559,   560,   561,   562,
6046        0,  1279,   563,   564,   565,   566,   567,  1280,     0,   568,
6047      569,   570,   571,   572,   573,  1281,     0,   575,   576,   577,
6048      578,   579,   580,     0,     0,   581,     0,     0,   582,   583,
6049      584,   585,   586,   587,   588,  1282,  1283,  1284,  1285,   593,
6050     1286,  1287,  1288,  1289,   598,   599,   600,   601,  1290,     0,
6051        0,     0,     0,     0,     0,  1291,  1292,     0,     0,     0,
6052      228,     0,  1222,   669,  1294,  1223,  1224,  1225,   729,  1226,
6053        0,     0,     0,     0,     0,     0,     0,   229,   230,   231,
6054      232,   233,   234,   235,   236,     0,   237,   238,   239,     0,
6055        0,     0,     0,  1227,     0,     0,   240,   241,     0,   242,
6056      243,   244,   245,   246,   247,   248,   249,  1228,   251,  1229,
6057     1230,     0,   254,   255,   256,   257,   258,   259,  1231,  1232,
6058      260,   261,  1233,  1234,   264,     0,   265,   266,   267,   268,
6059     1235,     0,  1236,     0,   271,   272,   273,   274,   275,   276,
6060      277,   278,   279,     0,   280,   281,   282,   283,   284,   285,
6061        0,   286,   287,   288,   289,  1237,  1238,  1239,  1240,  1241,
6062     1242,  1243,   291,   292,   293,   294,   295,   296,  1244,  1245,
6063      299,  1246,   300,     0,   301,   302,   303,   304,   305,   306,
6064        0,   307,   308,   309,   310,     0,     0,   311,   312,  1077,
6065      314,   315,     0,   316,   317,   318,     0,   319,   320,   321,
6066        0,   322,   323,   324,   325,  1247,   327,   328,   329,   330,
6067     1248,  1249,   332,     0,   333,   334,  1250,   336,     0,   337,
6068        0,   338,   339,     0,   340,   341,   342,   343,   344,     0,
6069      345,  1251,     0,  1252,   348,   349,     0,   350,   351,   352,
6070      353,   354,   355,   356,   357,   358,   359,     0,   360,   361,
6071      362,   363,   364,   365,   366,     0,   367,   368,   369,   370,
6072      371,   372,   373,  1253,  1254,     0,  1255,     0,   377,   378,
6073      379,   380,   381,   382,   383,   384,   385,   386,     0,     0,
6074      387,  1256,   389,   390,   391,     0,   392,   393,   394,  1257,
6075     1258,   395,   396,   397,   398,   399,   400,   401,   402,   403,
6076      404,   405,   406,   407,   408,   409,   410,  1259,   412,  1260,
6077      414,   415,   416,   417,   418,   419,   420,   421,  1261,   423,
6078     1262,   424,   425,   426,   427,  1263,  1264,   429,  1265,   431,
6079      432,   433,     0,   434,   435,     0,     0,  1266,   437,   438,
6080        0,     0,   439,   440,   441,   442,   443,   444,  1267,   446,
6081      447,   448,   449,   450,   451,   452,   453,   454,     0,   455,
6082      456,  1268,   458,   459,   460,   461,   462,     0,   463,   464,
6083      465,   466,   467,   468,   469,   470,   471,   472,  1269,   474,
6084      475,   476,   477,     0,   478,   479,   480,   481,   482,   483,
6085      484,   485,   486,   487,   488,   489,     0,   490,   491,   492,
6086      493,   494,   495,   496,   497,  1270,   499,   500,   501,   502,
6087      503,   504,   505,   506,   507,     0,   508,   509,   510,   511,
6088      512,  1271,   513,   514,   515,   516,   517,   518,   519,   520,
6089     1272,   522,     0,   523,   524,   525,   526,   527,   528,   529,
6090      530,   531,   532,   533,   534,   535,  1273,   537,     0,   538,
6091      539,     0,   540,   541,   542,   543,   544,   545,   546,     0,
6092      547,  1274,  1275,     0,     0,   550,   551,  1276,   553,  1277,
6093     1278,   555,   556,   557,   558,   559,   560,   561,   562,     0,
6094     1279,   563,   564,   565,   566,   567,  1280,     0,   568,   569,
6095      570,   571,   572,   573,  1281,  3250,   575,   576,   577,   578,
6096      579,   580,     0,     0,   581,     0,     0,   582,   583,   584,
6097      585,   586,   587,   588,  1282,  1283,  1284,  1285,   593,  1286,
6098     1287,  1288,  1289,   598,   599,   600,   601,  1290,     0,     0,
6099        0,     0,     0,     0,  1291,  1292,     0,     0,     0,   228,
6100        0,  1222,   669,  1294,  1223,  1224,  1225,   729,  1226,     0,
6101        0,     0,     0,     0,     0,     0,   229,   230,   231,   232,
6102      233,   234,   235,   236,     0,   237,   238,   239,     0,     0,
6103        0,     0,  1227,     0,     0,   240,   241,     0,   242,   243,
6104      244,   245,   246,   247,   248,   249,  1228,   251,  1229,  1230,
6105        0,   254,   255,   256,   257,   258,   259,  1231,  1232,   260,
6106      261,  1233,  1234,   264,     0,   265,   266,   267,   268,  1235,
6107        0,  1236,     0,   271,   272,   273,   274,   275,   276,   277,
6108      278,   279,     0,   280,   281,   282,   283,   284,   285,     0,
6109      286,   287,   288,   289,  1237,  1238,  1239,  1240,  1241,  1242,
6110     1243,   291,   292,   293,   294,   295,   296,  1244,  1245,   299,
6111     1246,   300,     0,   301,   302,   303,   304,   305,   306,     0,
6112      307,   308,   309,   310,     0,     0,   311,   312,  1077,   314,
6113      315,     0,   316,   317,   318,     0,   319,   320,   321,     0,
6114      322,   323,   324,   325,  1247,   327,   328,   329,   330,  1248,
6115     1249,   332,     0,   333,   334,  1250,   336,     0,   337,     0,
6116      338,   339,  2792,   340,   341,   342,   343,   344,     0,   345,
6117     1251,     0,  1252,   348,   349,     0,   350,   351,   352,   353,
6118      354,   355,   356,   357,   358,   359,     0,   360,   361,   362,
6119      363,   364,   365,   366,     0,   367,   368,   369,   370,   371,
6120      372,   373,  1253,  1254,     0,  1255,     0,   377,   378,   379,
6121      380,   381,   382,   383,   384,   385,   386,     0,     0,   387,
6122     1256,   389,   390,   391,     0,   392,   393,   394,  1257,  1258,
6123      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
6124      405,   406,   407,   408,   409,   410,  1259,   412,  1260,   414,
6125      415,   416,   417,   418,   419,   420,   421,  1261,   423,  1262,
6126      424,   425,   426,   427,  1263,  1264,   429,  1265,   431,   432,
6127      433,     0,   434,   435,     0,     0,  1266,   437,   438,     0,
6128        0,   439,   440,   441,   442,   443,   444,  1267,   446,   447,
6129      448,   449,   450,   451,   452,   453,   454,     0,   455,   456,
6130     1268,   458,   459,   460,   461,   462,     0,   463,   464,   465,
6131      466,   467,   468,   469,   470,   471,   472,  1269,   474,   475,
6132      476,   477,     0,   478,   479,   480,   481,   482,   483,   484,
6133      485,   486,   487,   488,   489,     0,   490,   491,   492,   493,
6134      494,   495,   496,   497,  1270,   499,   500,   501,   502,   503,
6135      504,   505,   506,   507,     0,   508,   509,   510,   511,   512,
6136     1271,   513,   514,   515,   516,   517,   518,   519,   520,  1272,
6137      522,     0,   523,   524,   525,   526,   527,   528,   529,   530,
6138      531,   532,   533,   534,   535,  1273,   537,     0,   538,   539,
6139        0,   540,   541,   542,   543,   544,   545,   546,     0,   547,
6140     1274,  1275,     0,     0,   550,   551,  1276,   553,  1277,  1278,
6141      555,   556,   557,   558,   559,   560,   561,   562,     0,  1279,
6142      563,   564,   565,   566,   567,  1280,     0,   568,   569,   570,
6143      571,   572,   573,  1281,     0,   575,   576,   577,   578,   579,
6144      580,     0,     0,   581,     0,     0,   582,   583,   584,   585,
6145      586,   587,   588,  1282,  1283,  1284,  1285,   593,  1286,  1287,
6146     1288,  1289,   598,   599,   600,   601,  1290,     0,     0,     0,
6147        0,     0,     0,  1291,  1292,     0,     0,     0,   228,     0,
6148     1222,   669,  1294,  1223,  1224,  1225,   729,  1226,     0,     0,
6149        0,     0,     0,     0,     0,   229,   230,   231,   232,   233,
6150      234,   235,   236,     0,   237,   238,   239,     0,     0,     0,
6151        0,  1227,     0,     0,   240,   241,     0,   242,   243,   244,
6152      245,   246,   247,   248,   249,  1228,   251,  1229,  1230,     0,
6153      254,   255,   256,   257,   258,   259,  1231,  1232,   260,   261,
6154     1233,  1234,   264,     0,   265,   266,   267,   268,  1235,     0,
6155     1236,     0,   271,   272,   273,   274,   275,   276,   277,   278,
6156      279,     0,   280,   281,   282,   283,   284,   285,     0,   286,
6157      287,   288,   289,  1237,  1238,  1239,  1240,  1241,  1242,  1243,
6158      291,   292,   293,   294,   295,   296,  1244,  1245,   299,  1246,
6159      300,     0,   301,   302,   303,   304,   305,   306,     0,   307,
6160      308,   309,   310,     0,     0,   311,   312,  1077,   314,   315,
6161        0,   316,   317,   318,     0,   319,   320,   321,     0,   322,
6162      323,   324,   325,  1247,   327,   328,   329,   330,  1248,  1249,
6163      332,     0,   333,   334,  1250,   336,     0,   337,     0,   338,
6164      339,     0,   340,   341,   342,   343,   344,     0,   345,  1251,
6165        0,  1252,   348,   349,     0,   350,   351,   352,   353,   354,
6166      355,   356,   357,   358,   359,     0,   360,   361,   362,   363,
6167      364,   365,   366,     0,   367,   368,   369,   370,   371,   372,
6168      373,  1253,  1254,     0,  1255,     0,   377,   378,   379,   380,
6169      381,   382,   383,   384,   385,   386,     0,     0,   387,  1256,
6170      389,   390,   391,     0,   392,   393,   394,  1257,  1258,   395,
6171      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
6172      406,   407,   408,   409,   410,  1259,   412,  1260,   414,   415,
6173      416,   417,   418,   419,   420,   421,  1261,   423,  1262,   424,
6174      425,   426,   427,  1263,  1264,   429,  1265,   431,   432,   433,
6175        0,   434,   435,     0,     0,  1266,   437,   438,     0,     0,
6176      439,   440,   441,   442,   443,   444,  1267,   446,   447,   448,
6177      449,   450,   451,   452,   453,   454,     0,   455,   456,  1268,
6178      458,   459,   460,   461,   462,     0,   463,   464,   465,   466,
6179      467,   468,   469,   470,   471,   472,  1269,   474,   475,   476,
6180      477,     0,   478,   479,   480,   481,   482,   483,   484,   485,
6181      486,   487,   488,   489,     0,   490,   491,   492,   493,   494,
6182      495,   496,   497,  1270,   499,   500,   501,   502,   503,   504,
6183      505,   506,   507,     0,   508,   509,   510,   511,   512,  1271,
6184      513,   514,   515,   516,   517,   518,   519,   520,  1272,   522,
6185        0,   523,   524,   525,   526,   527,   528,   529,   530,   531,
6186      532,   533,   534,   535,  1273,   537,     0,   538,   539,     0,
6187      540,   541,   542,   543,   544,   545,   546,     0,   547,  1274,
6188     1275,     0,     0,   550,   551,  1276,   553,  1277,  1278,   555,
6189      556,   557,   558,   559,   560,   561,   562,     0,  1279,   563,
6190      564,   565,   566,   567,  1280,     0,   568,   569,   570,   571,
6191      572,   573,  1281,     0,   575,   576,   577,   578,   579,   580,
6192        0,     0,   581,     0,     0,   582,   583,   584,   585,   586,
6193      587,   588,  1282,  1283,  1284,  1285,   593,  1286,  1287,  1288,
6194     1289,   598,   599,   600,   601,  1290,     0,     0,     0,     0,
6195        0,     0,  1291,  1292,     0,     0,     0,   228,     0,  1222,
6196      669,  1294,  1223,  1224,  1225,   729,  1226,     0,     0,     0,
6197        0,     0,     0,     0,   229,   230,   231,   232,   233,   234,
6198      235,   236,     0,   237,   238,   239,     0,     0,     0,     0,
6199     1227,     0,     0,   240,   241,     0,   242,   243,   244,   245,
6200      246,   247,   248,   249,  1228,   251,  1229,  1230,     0,   254,
6201      255,   256,   257,   258,   259,  1231,  1232,   260,   261,  1233,
6202     1234,   264,     0,   265,   266,   267,   268,  1235,     0,  1236,
6203        0,   271,   272,   273,   274,   275,   276,   277,   278,   279,
6204        0,   280,   281,   282,   283,   284,   285,     0,   286,   287,
6205      288,   289,  1237,  1238,  1239,  1240,  1241,  1242,  1243,   291,
6206      292,   293,   294,   295,   296,  1244,  1245,   299,  1246,   300,
6207        0,   301,   302,   303,   304,   305,   306,     0,   307,   308,
6208      309,   310,     0,     0,   311,   312,  1077,   314,   315,     0,
6209      316,   317,   318,     0,   319,   320,   321,     0,   322,   323,
6210      324,   325,  1247,   327,   328,   329,   330,  1248,  1249,   332,
6211        0,   333,   334,  1250,   336,     0,   337,     0,   338,   339,
6212        0,   340,   341,   342,   343,   344,     0,   345,  1251,     0,
6213     1252,   348,   349,     0,   350,   351,   352,   353,   354,   355,
6214      356,   357,   358,   359,     0,   360,   361,   362,   363,   364,
6215      365,   366,     0,   367,   368,   369,   370,   371,   372,   373,
6216     1253,  1254,     0,  1255,     0,   377,   378,   379,   380,   381,
6217      382,   383,   384,   385,   386,     0,     0,   387,  1256,   389,
6218      390,   391,     0,   392,   393,   394,  1257,  1258,   395,   396,
6219      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
6220      407,   408,   409,   410,  1259,   412,  1260,   414,   415,   416,
6221      417,   418,   419,   420,   421,  1261,   423,  1262,   424,   425,
6222      426,   427,  1263,  1264,   429,  1265,   431,   432,   433,     0,
6223      434,   435,     0,     0,  1266,   437,   438,     0,     0,   439,
6224      440,   441,   442,   443,   444,  1267,   446,   447,   448,   449,
6225      450,   451,   452,   453,   454,     0,   455,   456,  1268,   458,
6226      459,   460,   461,   462,     0,   463,   464,   465,   466,   467,
6227      468,   469,   470,   471,   472,  1269,   474,   475,   476,   477,
6228        0,   478,   479,   480,   481,   482,   483,   484,   485,   486,
6229      487,   488,   489,     0,   490,   491,   492,   493,   494,   495,
6230      496,   497,  1270,   499,   500,   501,   502,   503,   504,   505,
6231      506,   507,     0,   508,   509,   510,   511,   512,  1271,   513,
6232      514,   515,   516,   517,   518,   519,   520,  1272,   522,     0,
6233      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
6234      533,   534,   535,  1273,   537,     0,   538,   539,     0,   540,
6235      541,   542,   543,   544,   545,   546,     0,   547,  1274,  1275,
6236        0,     0,   550,   551,  1276,   553,  1277,  1278,   555,   556,
6237      557,   558,   559,   560,   561,   562,     0,  1279,   563,   564,
6238      565,   566,   567,  1280,     0,   568,   569,   570,   571,   572,
6239      573,  1281,     0,   575,   576,   577,   578,   579,   580,     0,
6240        0,   581,     0,     0,   582,   583,   584,   585,   586,   587,
6241      588,  1282,  1283,  1284,  1285,   593,  1286,  1287,  1288,  1289,
6242      598,   599,   600,   601,  1290,     0,     0,     0,     0,     0,
6243        0,  2145,  2146,     0,     0,     0,   228,     0,  2919,   669,
6244     1294,  1223,  1224,  1225,   729,  1226,     0,     0,     0,     0,
6245        0,     0,     0,   229,   230,   231,   232,   233,   234,   235,
6246      236,     0,   237,   238,   239,     0,     0,     0,     0,  1227,
6247        0,     0,   240,   241,     0,   242,   243,   244,   245,   246,
6248      247,   248,   249,  1228,   251,  1229,  1230,     0,   254,   255,
6249      256,   257,   258,   259,  1231,  1232,   260,   261,  1233,  1234,
6250      264,     0,   265,   266,   267,   268,  1235,     0,  1236,     0,
6251      271,   272,   273,   274,   275,   276,   277,   278,   279,     0,
6252      280,   281,   282,   283,   284,   285,     0,   286,   287,   288,
6253      289,  1237,  1238,  1239,  1240,  1241,  1242,  1243,   291,   292,
6254      293,   294,   295,   296,  1244,  1245,   299,  1246,   300,     0,
6255      301,   302,   303,   304,   305,   306,     0,   307,   308,   309,
6256      310,     0,     0,   311,   312,  1077,   314,   315,     0,   316,
6257      317,   318,     0,   319,   320,   321,     0,   322,   323,   324,
6258      325,  1247,   327,   328,   329,   330,  1248,  1249,   332,     0,
6259      333,   334,  1250,   336,     0,   337,     0,   338,   339,     0,
6260      340,   341,   342,   343,   344,     0,   345,  1251,     0,  1252,
6261      348,   349,     0,   350,   351,   352,   353,   354,   355,   356,
6262      357,   358,   359,     0,   360,   361,   362,   363,   364,   365,
6263      366,     0,   367,   368,   369,   370,   371,   372,   373,  1253,
6264     1254,     0,  1255,     0,   377,   378,   379,   380,   381,   382,
6265      383,   384,   385,   386,     0,     0,   387,  1256,   389,   390,
6266      391,     0,   392,   393,   394,  1257,  1258,   395,   396,   397,
6267      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
6268      408,   409,   410,  1259,   412,  1260,   414,   415,   416,   417,
6269      418,   419,   420,   421,  1261,   423,  1262,   424,   425,   426,
6270      427,  1263,  1264,   429,  1265,   431,   432,   433,     0,   434,
6271      435,     0,     0,  1266,   437,   438,     0,     0,   439,   440,
6272      441,   442,   443,   444,  1267,   446,   447,   448,   449,   450,
6273      451,   452,   453,   454,     0,   455,   456,  1268,   458,   459,
6274      460,   461,   462,     0,   463,   464,   465,   466,   467,   468,
6275      469,   470,   471,   472,  1269,   474,   475,   476,   477,     0,
6276      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
6277      488,   489,     0,   490,   491,   492,   493,   494,   495,   496,
6278      497,  1270,   499,   500,   501,   502,   503,   504,   505,   506,
6279      507,     0,   508,   509,   510,   511,   512,  1271,   513,   514,
6280      515,   516,   517,   518,   519,   520,  1272,   522,     0,   523,
6281      524,   525,   526,   527,   528,   529,   530,   531,   532,   533,
6282      534,   535,  1273,   537,     0,   538,   539,     0,   540,   541,
6283      542,   543,   544,   545,   546,     0,   547,  1274,  1275,     0,
6284        0,   550,   551,  1276,   553,  1277,  1278,   555,   556,   557,
6285      558,   559,   560,   561,   562,     0,  1279,   563,   564,   565,
6286      566,   567,  1280,     0,   568,   569,   570,   571,   572,   573,
6287     1281,     0,   575,   576,   577,   578,   579,   580,     0,     0,
6288      581,     0,     0,   582,   583,   584,   585,   586,   587,   588,
6289     1282,  1283,  1284,  1285,   593,  1286,  1287,  1288,  1289,   598,
6290      599,   600,   601,  1290,     0,     0,     0,     0,     0,     0,
6291     1291,  1292,     0,     0,     0,   228,     0,  1222,   669,  1294,
6292     1223,  1224,  1225,   729,  1226,     0,     0,     0,     0,     0,
6293        0,     0,   229,   230,   231,   232,   233,   234,   235,   236,
6294        0,   237,   238,   239,     0,     0,     0,     0,  1227,     0,
6295        0,   240,   241,     0,   242,   243,   244,   245,   246,   247,
6296      248,   249,  1228,   251,  1229,  1230,     0,   254,   255,   256,
6297      257,   258,   259,  1231,  1232,   260,   261,  1233,  1234,   264,
6298        0,   265,   266,   267,   268,  1235,     0,  1236,     0,   271,
6299      272,   273,   274,   275,   276,   277,   278,   279,     0,   280,
6300      281,   282,   283,   284,   285,     0,   286,   287,   288,  4194,
6301     1237,  1238,  1239,  1240,  1241,  1242,  1243,   291,   292,   293,
6302      294,   295,   296,  1244,  1245,   299,  1246,   300,     0,   301,
6303      302,   303,   304,   305,   306,     0,   307,   308,   309,   310,
6304        0,     0,   311,   312,  1077,   314,   315,     0,   316,   317,
6305      318,     0,   319,   320,   321,     0,   322,   323,   324,   325,
6306     1247,   327,   328,   329,   330,  1248,  1249,   332,     0,   333,
6307      334,  1250,   336,     0,   337,     0,   338,   339,     0,   340,
6308      341,   342,   343,   344,     0,   345,  1251,     0,  1252,   348,
6309      349,     0,   350,   351,   352,   353,   354,   355,   356,   357,
6310      358,   359,     0,   360,   361,   362,   363,   364,   365,   366,
6311        0,   367,   368,   369,   370,   371,   372,   373,  1253,  1254,
6312        0,  1255,     0,   377,   378,   379,   380,   381,   382,   383,
6313      384,   385,   386,     0,     0,   387,  1256,   389,   390,   391,
6314        0,   392,   393,   394,  1257,  1258,   395,   396,   397,   398,
6315      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
6316      409,   410,  1259,   412,  1260,   414,   415,   416,   417,   418,
6317      419,   420,   421,  1261,   423,  1262,   424,   425,   426,   427,
6318     1263,  1264,   429,  1265,   431,   432,   433,     0,   434,   435,
6319        0,     0,  1266,   437,   438,     0,     0,   439,   440,   441,
6320      442,   443,   444,  1267,   446,   447,   448,   449,   450,   451,
6321      452,   453,   454,     0,   455,   456,  1268,   458,   459,   460,
6322      461,   462,     0,   463,   464,   465,   466,   467,   468,   469,
6323      470,   471,   472,  1269,   474,   475,   476,   477,     0,   478,
6324      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
6325      489,     0,   490,   491,   492,   493,   494,   495,   496,   497,
6326     1270,   499,   500,   501,   502,   503,   504,   505,   506,   507,
6327        0,   508,   509,   510,   511,   512,  1271,   513,   514,   515,
6328      516,   517,   518,   519,   520,  1272,   522,     0,   523,   524,
6329      525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
6330      535,  1273,   537,     0,   538,   539,     0,   540,   541,   542,
6331      543,   544,   545,   546,     0,   547,  1274,  1275,     0,     0,
6332      550,   551,  1276,   553,  1277,  1278,   555,   556,   557,   558,
6333      559,   560,   561,   562,     0,  1279,   563,   564,   565,   566,
6334      567,  1280,     0,   568,   569,   570,   571,   572,   573,  1281,
6335        0,   575,   576,   577,   578,   579,   580,     0,     0,   581,
6336        0,     0,   582,   583,   584,   585,   586,   587,   588,  1282,
6337     1283,  1284,  1285,   593,  1286,  1287,  1288,  1289,   598,   599,
6338      600,   601,  1290,     0,     0,     0,     0,     0,     0,  1291,
6339     1292,     0,     0,     0,   228,     0,  1222,   669,  1294,  1223,
6340     1224,  1225,   729,  1226,     0,     0,     0,     0,     0,     0,
6341        0,   229,   230,   231,   232,   233,   234,   235,   236,     0,
6342      237,   238,   239,     0,     0,     0,     0,  1227,     0,     0,
6343      240,   241,     0,   242,   243,   244,   245,   246,   247,   248,
6344      249,  1228,   251,  1229,  1230,     0,   254,   255,   256,   257,
6345      258,   259,  1231,  1232,   260,   261,  1233,  1234,   264,     0,
6346      265,   266,   267,   268,  1235,     0,  1236,     0,   271,   272,
6347      273,   274,   275,   276,   277,   278,   279,     0,   280,   281,
6348      282,   283,   284,   285,     0,   286,   287,   288,   289,  1237,
6349     1238,  1239,  1240,  1241,  1242,  1243,   291,   292,   293,   294,
6350      295,   296,  1244,  1245,   299,  1246,   300,     0,   301,   302,
6351      303,   304,   305,   306,     0,   307,   308,   309,   310,     0,
6352        0,   311,   312,  1077,   314,   315,     0,   316,   317,   318,
6353        0,   319,   320,   321,     0,   322,   323,   324,   325,  1247,
6354      327,   328,   329,   330,  1248,  1249,   332,     0,   333,   334,
6355     1250,   336,     0,   337,     0,   338,   339,     0,   340,   341,
6356      342,   343,   344,     0,   345,  1251,     0,  1252,   348,   349,
6357        0,   350,   351,   352,   353,   354,   355,   356,   357,   358,
6358      359,     0,   360,   361,   362,   363,   364,   365,   366,     0,
6359      367,   368,   369,   370,   371,   372,   373,  1253,  1254,     0,
6360     1255,     0,   377,   378,   379,   380,   381,   382,   383,   384,
6361      385,   386,     0,     0,   387,  1256,   389,   390,   391,     0,
6362      392,   393,   394,  1257,  1258,   395,   396,   397,   398,   399,
6363      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
6364      410,  1259,   412,  1260,   414,   415,   416,   417,   418,   419,
6365      420,   421,  1261,   423,  1262,   424,   425,   426,   427,  1263,
6366     1264,   429,  1265,   431,   432,   433,     0,   434,   435,     0,
6367        0,  1266,   437,   438,     0,     0,   439,   440,   441,   442,
6368      443,   444,  1267,   446,   447,   448,   449,   450,   451,   452,
6369      453,   454,     0,   455,   456,  1268,   458,   459,   460,   461,
6370      462,     0,   463,   464,   465,   466,   467,   468,   469,   470,
6371      471,   472,  1269,   474,   475,   476,   477,     0,   478,   479,
6372      480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
6373        0,   490,   491,   492,   493,   494,   495,   496,   497,  1270,
6374      499,   500,   501,   502,   503,   504,   505,   506,   507,     0,
6375      508,   509,   510,   511,   512,  1271,   513,   514,   515,   516,
6376      517,   518,   519,   520,  1272,   522,     0,   523,   524,   525,
6377      526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
6378     1273,   537,     0,   538,   539,     0,   540,   541,   542,   543,
6379      544,   545,   546,     0,   547,  1274,  1275,     0,     0,   550,
6380      551,  1276,   553,  1277,  1278,   555,   556,   557,   558,   559,
6381      560,   561,   562,     0,  1279,   563,   564,   565,   566,   567,
6382     1280,     0,   568,   569,   570,   571,   572,   573,  1281,     0,
6383      575,   576,   577,   578,   579,   580,     0,     0,   581,     0,
6384        0,   582,   583,   584,   585,   586,   587,  4545,  1282,  1283,
6385     1284,  1285,   593,  1286,  1287,  1288,  1289,   598,   599,   600,
6386      601,  1290,     0,     0,     0,     0,     0,     0,  1291,  1292,
6387        0,     0,     0,   228,     0,  1222,   669,  1294,  1223,  1224,
6388     1225,   729,  1226,     0,     0,     0,     0,     0,     0,     0,
6389      229,   230,   231,   232,   233,   234,   235,   236,     0,   237,
6390      238,   239,     0,     0,     0,     0,  1227,     0,     0,   240,
6391      241,     0,   242,   243,   244,   245,   246,   247,   248,   249,
6392     1228,   251,  1229,  1230,     0,   254,   255,   256,   257,   258,
6393      259,  1231,  1232,   260,   261,  1233,  1234,   264,     0,   265,
6394      266,   267,   268,  1235,     0,  1236,     0,   271,   272,   273,
6395      274,   275,   276,   277,   278,   279,     0,   280,   281,   282,
6396      283,   284,   285,     0,   286,   287,   288,   289,  1237,  1238,
6397     1239,  1240,  1241,  1242,  1243,   291,   292,   293,   294,   295,
6398      296,  1244,  1245,   299,  1246,   300,     0,   301,   302,   303,
6399      304,   305,   306,     0,   307,   308,   309,   310,     0,     0,
6400      311,   312,  1077,   314,   315,     0,   316,   317,   318,     0,
6401      319,   320,   321,     0,   322,   323,   324,   325,  1247,   327,
6402      328,   329,   330,  1248,  1249,   332,     0,   333,   334,  1250,
6403      336,     0,   337,     0,   338,   339,     0,   340,   341,   342,
6404      343,   344,     0,   345,  1251,     0,  1252,   348,   349,     0,
6405      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
6406        0,   360,   361,   362,   363,   364,   365,   366,     0,   367,
6407      368,   369,   370,   371,   372,   373,  1253,  1254,     0,  1255,
6408        0,   377,   378,   379,   380,   381,   382,   383,   384,   385,
6409      386,     0,     0,   387,  1256,   389,   390,   391,     0,   392,
6410      393,   394,  1257,  1258,   395,   396,   397,   398,   399,   400,
6411      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
6412     1259,   412,  1260,   414,   415,   416,   417,   418,   419,  4557,
6413      421,  1261,   423,  1262,   424,   425,   426,   427,  1263,  1264,
6414      429,  1265,   431,   432,   433,     0,   434,   435,     0,     0,
6415     1266,   437,   438,     0,     0,   439,   440,   441,   442,   443,
6416      444,  1267,   446,   447,   448,   449,   450,   451,   452,   453,
6417      454,     0,   455,   456,  1268,   458,   459,   460,   461,   462,
6418        0,   463,   464,   465,   466,   467,   468,   469,   470,   471,
6419      472,  1269,   474,   475,   476,   477,     0,   478,   479,   480,
6420      481,   482,   483,   484,   485,   486,   487,   488,   489,     0,
6421      490,   491,   492,   493,   494,   495,   496,   497,  1270,   499,
6422      500,   501,   502,   503,   504,   505,   506,   507,     0,   508,
6423      509,   510,   511,   512,  1271,   513,   514,   515,   516,   517,
6424      518,   519,   520,  1272,   522,     0,   523,   524,   525,   526,
6425      527,   528,   529,   530,   531,   532,   533,   534,   535,  1273,
6426      537,     0,   538,   539,     0,   540,   541,   542,   543,   544,
6427      545,   546,     0,   547,  1274,  1275,     0,     0,   550,   551,
6428     1276,   553,  1277,  1278,   555,   556,   557,   558,   559,   560,
6429      561,   562,     0,  1279,   563,   564,   565,   566,   567,  1280,
6430        0,   568,   569,   570,   571,   572,   573,  1281,     0,   575,
6431      576,   577,   578,   579,   580,     0,     0,   581,     0,     0,
6432      582,   583,   584,   585,   586,   587,   588,  1282,  1283,  1284,
6433     1285,   593,  1286,  1287,  1288,  1289,   598,   599,   600,   601,
6434     1290,     0,     0,     0,     0,     0,     0,  1291,  1292,     0,
6435        0,     0,   228,     0,  1222,   669,  1294,  1223,  1224,  1225,
6436      729,  1226,     0,     0,     0,     0,     0,     0,     0,   229,
6437      230,   231,   232,   233,   234,   235,   236,     0,   237,   238,
6438      239,     0,     0,     0,     0,  1227,     0,     0,   240,   241,
6439        0,   242,   243,   244,   245,   246,   247,   248,   249,  1228,
6440      251,  1229,  1230,     0,   254,   255,   256,   257,   258,   259,
6441     1231,  1232,   260,   261,  1233,  1234,   264,     0,   265,   266,
6442      267,   268,  1235,     0,  1236,     0,   271,   272,   273,   274,
6443      275,   276,   277,   278,   279,     0,   280,   281,   282,   283,
6444      284,   285,     0,   286,   287,  4871,   289,  1237,  1238,  1239,
6445     1240,  1241,  1242,  1243,   291,   292,   293,   294,   295,   296,
6446     1244,  1245,   299,  1246,   300,     0,   301,   302,   303,   304,
6447      305,   306,     0,   307,   308,   309,   310,     0,     0,   311,
6448      312,  1077,   314,   315,     0,   316,   317,   318,     0,   319,
6449      320,   321,     0,   322,   323,   324,   325,  1247,   327,   328,
6450      329,   330,  1248,  1249,   332,     0,   333,   334,  1250,   336,
6451        0,   337,     0,   338,   339,     0,   340,   341,   342,   343,
6452      344,     0,   345,  1251,     0,  4872,   348,   349,     0,   350,
6453      351,   352,   353,   354,   355,   356,   357,   358,   359,     0,
6454      360,   361,   362,   363,   364,   365,   366,     0,   367,   368,
6455      369,   370,   371,   372,   373,  1253,  1254,     0,  1255,     0,
6456      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
6457        0,     0,   387,  1256,   389,   390,   391,     0,   392,   393,
6458      394,  1257,  1258,   395,   396,   397,   398,   399,   400,   401,
6459      402,   403,   404,   405,   406,   407,   408,   409,   410,  1259,
6460      412,  1260,   414,   415,   416,   417,   418,   419,   420,   421,
6461     1261,   423,  1262,   424,   425,   426,   427,  1263,  1264,   429,
6462     1265,   431,   432,   433,     0,   434,   435,     0,     0,  1266,
6463      437,   438,     0,     0,   439,   440,   441,   442,   443,   444,
6464     1267,   446,   447,   448,   449,   450,   451,   452,   453,   454,
6465        0,   455,   456,  1268,   458,   459,   460,   461,   462,     0,
6466      463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
6467     1269,   474,   475,   476,   477,     0,   478,   479,   480,   481,
6468      482,   483,   484,   485,   486,   487,   488,   489,     0,   490,
6469      491,   492,   493,   494,  4873,   496,   497,  1270,   499,   500,
6470      501,   502,   503,   504,   505,   506,   507,     0,   508,   509,
6471      510,   511,   512,  1271,   513,   514,   515,   516,   517,   518,
6472      519,   520,  1272,   522,     0,   523,   524,   525,   526,   527,
6473      528,   529,   530,   531,   532,   533,   534,   535,  1273,   537,
6474        0,   538,   539,     0,   540,   541,   542,   543,   544,   545,
6475      546,     0,   547,  1274,  1275,     0,     0,   550,   551,  1276,
6476      553,  1277,  1278,   555,   556,   557,   558,   559,   560,   561,
6477      562,     0,  1279,   563,   564,   565,   566,   567,  1280,     0,
6478      568,   569,   570,   571,   572,   573,  1281,     0,   575,   576,
6479      577,   578,   579,   580,     0,     0,   581,     0,     0,   582,
6480      583,   584,   585,   586,   587,   588,  1282,  1283,  1284,  1285,
6481      593,  1286,  1287,  1288,  1289,   598,   599,   600,   601,  1290,
6482        0,     0,     0,     0,     0,     0,  1291,  1292,     0,     0,
6483        0,   228,     0,  1222,   669,  4874,  1223,  1224,  1225,   729,
6484     1226,     0,     0,     0,     0,     0,     0,     0,   229,   230,
6485      231,   232,   233,   234,   235,   236,     0,   237,   238,   239,
6486        0,     0,     0,     0,  1227,     0,     0,   240,   241,     0,
6487      242,   243,   244,   245,   246,   247,   248,  5344,  1228,   251,
6488     1229,  1230,     0,   254,   255,   256,   257,   258,   259,  1231,
6489     1232,   260,   261,  1233,  1234,   264,     0,   265,   266,   267,
6490      268,  1235,     0,  1236,     0,   271,   272,   273,   274,   275,
6491      276,   277,   278,   279,     0,   280,   281,   282,   283,   284,
6492      285,     0,   286,   287,   288,  5345,  1237,  1238,  1239,  1240,
6493     1241,  1242,  1243,   291,   292,   293,   294,   295,   296,  1244,
6494     1245,   299,  1246,   300,     0,   301,   302,   303,   304,   305,
6495      306,     0,   307,   308,   309,   310,     0,     0,   311,   312,
6496     1077,   314,   315,     0,   316,   317,   318,     0,   319,   320,
6497      321,     0,   322,   323,   324,   325,  1247,   327,   328,   329,
6498      330,  1248,  1249,   332,     0,   333,   334,  1250,   336,     0,
6499      337,     0,   338,   339,     0,   340,   341,   342,   343,   344,
6500        0,   345,  1251,     0,  1252,   348,   349,     0,   350,   351,
6501      352,   353,   354,   355,   356,   357,   358,   359,     0,   360,
6502      361,   362,   363,   364,   365,   366,     0,   367,   368,   369,
6503      370,   371,   372,   373,  1253,  1254,     0,  1255,     0,   377,
6504      378,   379,   380,   381,   382,   383,   384,   385,   386,     0,
6505        0,   387,  1256,   389,   390,   391,     0,   392,   393,   394,
6506     1257,  1258,   395,   396,   397,   398,   399,   400,   401,   402,
6507      403,   404,   405,   406,   407,   408,   409,   410,  1259,   412,
6508     1260,   414,   415,   416,   417,   418,   419,   420,   421,  1261,
6509      423,  1262,   424,   425,   426,   427,  1263,  1264,   429,  1265,
6510      431,   432,   433,     0,   434,   435,     0,     0,  1266,   437,
6511      438,     0,     0,   439,   440,   441,   442,   443,   444,  1267,
6512      446,   447,   448,   449,   450,   451,   452,   453,   454,     0,
6513      455,   456,  1268,   458,   459,   460,   461,   462,     0,   463,
6514      464,   465,   466,   467,   468,   469,   470,   471,   472,  1269,
6515      474,   475,   476,   477,     0,   478,   479,   480,   481,   482,
6516      483,   484,   485,   486,   487,   488,   489,     0,   490,   491,
6517      492,   493,   494,   495,   496,   497,  1270,   499,   500,   501,
6518      502,   503,   504,   505,   506,   507,     0,   508,   509,   510,
6519      511,   512,  1271,   513,   514,   515,   516,   517,   518,   519,
6520      520,  1272,   522,     0,   523,   524,   525,   526,   527,   528,
6521      529,   530,   531,   532,   533,   534,   535,  1273,   537,     0,
6522      538,   539,     0,   540,   541,   542,   543,   544,   545,   546,
6523        0,   547,  1274,  1275,     0,     0,   550,   551,  1276,   553,
6524     1277,  1278,   555,   556,   557,   558,   559,  5346,   561,   562,
6525        0,  1279,   563,   564,   565,   566,   567,  1280,     0,   568,
6526      569,   570,   571,   572,   573,  1281,     0,   575,   576,   577,
6527      578,   579,   580,     0,     0,   581,     0,     0,   582,   583,
6528      584,   585,   586,   587,   588,  1282,  1283,  1284,  1285,   593,
6529     1286,  1287,  1288,  1289,   598,   599,   600,   601,  1290,     0,
6530        0,     0,     0,     0,     0,  1291,  1292,     0,     0,     0,
6531      228,     0,  1222,   669,  1294,  1223,  1224,  1225,   729,  1226,
6532        0,     0,     0,     0,     0,     0,     0,   229,   230,   231,
6533      232,   233,   234,   235,   236,     0,   237,   238,   239,     0,
6534        0,     0,     0,  1227,     0,     0,   240,   241,     0,   242,
6535      243,   244,   245,   246,   247,   248,   249,  1228,   251,  1229,
6536     1230,     0,   254,   255,   256,   257,   258,   259,  1231,  1232,
6537      260,   261,  1233,  1234,   264,     0,   265,   266,   267,   268,
6538     1235,     0,  1236,     0,   271,   272,   273,   274,   275,   276,
6539      277,   278,   279,     0,   280,   281,   282,   283,   284,   285,
6540        0,   286,   287,   288,  5345,  1237,  1238,  1239,  1240,  1241,
6541     1242,  1243,   291,   292,   293,   294,   295,   296,  1244,  1245,
6542      299,  1246,   300,     0,   301,   302,   303,   304,   305,   306,
6543        0,   307,   308,   309,   310,     0,     0,   311,   312,  1077,
6544      314,   315,     0,   316,   317,   318,     0,   319,   320,   321,
6545        0,   322,   323,   324,   325,  1247,   327,   328,   329,   330,
6546     1248,  1249,   332,     0,   333,   334,  1250,   336,     0,   337,
6547        0,   338,   339,     0,   340,   341,   342,   343,   344,     0,
6548      345,  1251,     0,  1252,   348,   349,     0,   350,   351,   352,
6549      353,   354,   355,   356,   357,   358,   359,     0,   360,   361,
6550      362,   363,   364,   365,   366,     0,   367,   368,   369,   370,
6551      371,   372,   373,  1253,  1254,     0,  1255,     0,   377,   378,
6552      379,   380,   381,   382,   383,   384,   385,   386,     0,     0,
6553      387,  1256,   389,   390,   391,     0,   392,   393,   394,  1257,
6554     1258,   395,   396,   397,   398,   399,   400,   401,   402,   403,
6555      404,   405,   406,   407,   408,   409,   410,  1259,   412,  1260,
6556      414,   415,   416,   417,   418,   419,   420,   421,  1261,   423,
6557     1262,   424,   425,   426,   427,  1263,  1264,   429,  1265,   431,
6558      432,   433,     0,   434,   435,     0,     0,  1266,   437,   438,
6559        0,     0,   439,   440,   441,   442,   443,   444,  1267,   446,
6560      447,   448,   449,   450,   451,   452,   453,   454,     0,   455,
6561      456,  1268,   458,   459,   460,   461,   462,     0,   463,   464,
6562      465,   466,   467,   468,   469,   470,   471,   472,  1269,   474,
6563      475,   476,   477,     0,   478,   479,   480,   481,   482,   483,
6564      484,   485,   486,   487,   488,   489,     0,   490,   491,   492,
6565      493,   494,   495,   496,   497,  1270,   499,   500,   501,   502,
6566      503,   504,   505,   506,   507,     0,   508,   509,   510,   511,
6567      512,  1271,   513,   514,   515,   516,   517,   518,   519,   520,
6568     1272,   522,     0,   523,   524,   525,   526,   527,   528,   529,
6569      530,   531,   532,   533,   534,   535,  1273,   537,     0,   538,
6570      539,     0,   540,   541,   542,   543,   544,   545,   546,     0,
6571      547,  1274,  1275,     0,     0,   550,   551,  1276,   553,  1277,
6572     1278,   555,   556,   557,   558,   559,  5346,   561,   562,     0,
6573     1279,   563,   564,   565,   566,   567,  1280,     0,   568,   569,
6574      570,   571,   572,   573,  1281,     0,   575,   576,   577,   578,
6575      579,   580,     0,     0,   581,     0,     0,   582,   583,   584,
6576      585,   586,   587,   588,  1282,  1283,  1284,  1285,   593,  1286,
6577     1287,  1288,  1289,   598,   599,   600,   601,  1290,     0,     0,
6578        0,     0,     0,     0,  1291,  1292,     0,     0,     0,   228,
6579        0,  1222,   669,  1294,  1223,  1224,  1225,   729,  1226,     0,
6580        0,     0,     0,     0,     0,     0,   229,   230,   231,   232,
6581      233,   234,   235,   236,     0,   237,   238,   239,     0,     0,
6582        0,     0,  1227,     0,     0,   240,   241,     0,   242,   243,
6583      244,   245,   246,   247,   248,   249,  1228,   251,  1229,  1230,
6584        0,   254,   255,   256,   257,   258,   259,  1231,  1232,   260,
6585      261,  1233,  1234,   264,     0,   265,   266,   267,   268,  1235,
6586        0,  1236,     0,   271,   272,   273,   274,   275,   276,   277,
6587      278,   279,     0,   280,   281,   282,   283,   284,   285,     0,
6588      286,   287,   288,   289,  1237,  1238,  1239,  1240,  1241,  1242,
6589     1243,   291,   292,   293,   294,   295,   296,  1244,  1245,   299,
6590     5069,   300,     0,   301,   302,   303,   304,   305,   306,     0,
6591      307,   308,   309,   310,     0,     0,   311,   312,  1077,   314,
6592      315,     0,   316,   317,   318,     0,   319,   320,   321,     0,
6593      322,   323,   324,   325,  1247,   327,   328,   329,   330,  1248,
6594     1249,   332,     0,   333,   334,  1250,   336,     0,   337,     0,
6595      338,   339,     0,   340,   341,   342,   343,   344,     0,   345,
6596     1251,     0,  1252,   348,   349,     0,   350,   351,   352,   353,
6597      354,   355,   356,   357,   358,   359,     0,   360,   361,   362,
6598      363,   364,   365,   366,     0,   367,   368,   369,   370,   371,
6599      372,   373,  1253,  1254,     0,  1255,     0,   377,   378,   379,
6600      380,   381,   382,   383,   384,   385,   386,     0,     0,   387,
6601     1256,   389,   390,   391,     0,   392,   393,   394,  1257,  1258,
6602      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
6603      405,   406,   407,   408,   409,   410,  1259,   412,  1260,   414,
6604      415,   416,   417,   418,   419,   420,   421,  1261,   423,     0,
6605      424,   425,   426,   427,  1263,  1264,   429,  1265,   431,   432,
6606      433,     0,   434,   435,     0,     0,  1266,   437,   438,     0,
6607        0,   439,   440,   441,   442,   443,   444,  1267,   446,   447,
6608      448,   449,   450,   451,   452,   453,   454,     0,   455,   456,
6609     1268,   458,   459,   460,   461,   462,     0,   463,   464,   465,
6610      466,   467,   468,   469,   470,   471,   472,  1269,   474,   475,
6611      476,   477,     0,   478,   479,   480,   481,   482,   483,   484,
6612      485,   486,   487,   488,   489,     0,   490,   491,   492,   493,
6613      494,   495,   496,   497,  2777,   499,   500,   501,   502,   503,
6614      504,   505,   506,   507,     0,   508,   509,   510,   511,   512,
6615     1271,   513,   514,   515,   516,   517,   518,   519,   520,  1272,
6616      522,     0,   523,   524,   525,   526,   527,   528,   529,   530,
6617      531,   532,   533,   534,   535,  1273,   537,     0,   538,   539,
6618        0,   540,   541,   542,   543,   544,   545,   546,     0,   547,
6619     1274,  1275,     0,     0,   550,   551,  1276,   553,  1277,  1278,
6620      555,   556,   557,   558,   559,   560,   561,   562,     0,     0,
6621      563,   564,   565,   566,   567,  1280,     0,   568,   569,   570,
6622      571,   572,   573,  1281,     0,   575,   576,   577,   578,   579,
6623      580,     0,     0,   581,     0,     0,   582,   583,   584,   585,
6624      586,   587,   588,  1282,  1283,  1284,  1285,   593,  1286,  1287,
6625     1288,  1289,   598,   599,   600,   601,     0,     0,     0,     0,
6626        0,     0,     0,  2778,  2779,     0,     0,     0,   228,     0,
6627     1222,   669,  2780,  1223,  1224,  1225,   729,  1226,     0,     0,
6628        0,     0,     0,     0,     0,   229,   230,   231,   232,   233,
6629      234,   235,   236,     0,   237,   238,   239,     0,     0,     0,
6630        0,  1227,     0,     0,   240,   241,     0,   242,   243,   244,
6631      245,   246,   247,   248, -2667,  1228,   251,  1229,  1230,     0,
6632      254,   255,   256,   257,   258,   259,  1231,  1232,   260,   261,
6633     1233,  1234,   264,     0,   265,   266,   267,   268,  1235,     0,
6634     1236,     0,   271,   272,   273,   274,   275,   276,   277,   278,
6635      279,     0,   280,   281,   282,   283,   284,   285,     0,   286,
6636      287,   288,  5345,  1237,  1238,  1239,  1240,  1241,  1242,  1243,
6637      291,   292,   293,   294,   295,   296,  1244,  1245,   299,  1246,
6638      300,     0,   301,   302,   303,   304,   305,   306,     0,   307,
6639      308,   309,   310,     0,     0,   311,   312,  1077,   314,   315,
6640        0,   316,   317,   318,     0,   319,   320,   321,     0,   322,
6641      323,   324,   325,  1247,   327,   328,   329,   330,  1248,  1249,
6642      332,     0,   333,   334,  1250,   336,     0,   337,     0,   338,
6643      339,     0,   340,   341,   342,   343,   344,     0,   345,  1251,
6644        0,  1252,   348,   349,     0,   350,   351,   352,   353,   354,
6645    -2667,   356,   357,   358,   359,     0,   360,   361,   362,   363,
6646      364,   365,   366,     0,   367,   368,   369,   370,   371,   372,
6647      373,  1253,  1254,     0,  1255,     0,   377,     0,     0,   380,
6648      381,   382,   383,   384,   385,   386,     0,     0,   387,  1256,
6649      389,   390, -2667,     0,   392,   393,   394,  1257,  1258,   395,
6650      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
6651      406,   407,   408,   409,   410,  1259,   412,  1260,   414,   415,
6652      416,   417,   418,   419,   420,   421,  1261,   423,  1262,   424,
6653      425,     0,   427,  1263,  1264,   429,  1265,   431,   432,   433,
6654        0,   434,   435,     0,     0,  1266,   437,   438,     0,     0,
6655      439,   440,   441,   442,   443,   444,  1267,   446,   447,   448,
6656      449,   450,   451,   452,   453,   454,     0,   455,   456,  1268,
6657      458,   459,   460,   461,   462,     0,   463,   464,   465,   466,
6658      467,   468,   469,   470,   471,   472,  1269,   474,   475,   476,
6659      477,     0,   478,   479,   480,   481,   482,   483,   484,   485,
6660      486,   487,   488,   489,     0,   490,   491,   492,   493,   494,
6661      495,   496,   497,  1270,   499,   500,   501,   502,   503,   504,
6662      505,   506,   507,     0,   508,   509,   510,   511,   512,  1271,
6663      513,   514,   515,   516,   517, -2667,   519,   520,  1272,   522,
6664        0,   523,   524,   525,   526,   527,   528,   529,   530,   531,
6665      532,   533,   534,   535,  1273,   537,     0,   538,   539,     0,
6666      540,   541,   542,   543,   544,   545,   546,     0,   547,  1274,
6667     1275,     0,     0,   550,   551,  1276,   553,  1277,  1278,   555,
6668      556,   557,   558,   559,  5346,   561,   562,     0,  1279,   563,
6669      564,   565,   566,   567,  1280,     0,   568,   569,   570,   571,
6670      572,   573,  1281,     0,   575,   576,   577,   578,   579,   580,
6671        0,     0,   581,     0,     0,   582,   583,   584,   585,   586,
6672      587,   588,  1282,  1283,  1284,  1285,   593,  1286,  1287,  1288,
6673     1289,   598,   599,   600,   601, -2667,     0,     0,     0,     0,
6674        0,     0,  1291,  1292,     0,     0,     0,   228,     0,  1222,
6675      669,  1294,  1223,  1224,  1225,   729,  1226,     0,     0,     0,
6676        0,     0,     0,     0,   229,   230,   231,   232,   233,   234,
6677      235,   236,     0,   237,   238,   239,     0,     0,     0,     0,
6678     1227,     0,     0,   240,   241,     0,   242,   243,   244,   245,
6679      246,   247,   248,   249,  1228,   251,  1229,  1230,     0,   254,
6680      255,   256,   257,   258,   259,  1231,  1232,   260,   261,  1233,
6681     1234,   264,     0,   265,   266,   267,   268,  1235,     0,  1236,
6682        0,   271,   272,   273,   274,   275,   276,   277,   278,   279,
6683        0,   280,   281,   282,   283,   284,   285,     0,   286,   287,
6684      288,   289,  1237,  1238,  1239,  1240,  1241,  1242,  1243,   291,
6685      292,   293,   294,   295,   296,  1244,  1245,   299,     0,   300,
6686        0,   301,   302,   303,   304,   305,   306,     0,   307,   308,
6687      309,   310,     0,     0,   311,   312,  1077,   314,   315,     0,
6688      316,   317,   318,     0,   319,   320,   321,     0,   322,   323,
6689      324,   325,  1247,   327,   328,   329,   330,  1248,  1249,   332,
6690        0,   333,   334,  1250,   336,     0,   337,     0,   338,   339,
6691        0,   340,   341,   342,   343,   344,     0,   345,  1251,     0,
6692     1252,   348,   349,     0,   350,   351,   352,   353,   354,   355,
6693      356,   357,   358,   359,     0,   360,   361,   362,   363,   364,
6694      365,   366,     0,   367,   368,   369,   370,   371,   372,   373,
6695     1253,  1254,     0,  1255,     0,   377,   378,   379,   380,   381,
6696      382,   383,   384,   385,   386,     0,     0,   387,  1256,   389,
6697      390,   391,     0,   392,   393,   394,  1257,  1258,   395,   396,
6698      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
6699      407,   408,   409,   410,  1259,   412,  1260,   414,   415,   416,
6700      417,   418,   419,   420,   421,  1261,   423,     0,   424,   425,
6701      426,   427,  1263,  1264,   429,  1265,   431,   432,   433,     0,
6702      434,   435,     0,     0,  1266,   437,   438,     0,     0,   439,
6703      440,   441,   442,   443,   444,  1267,   446,   447,   448,   449,
6704      450,   451,   452,   453,   454,     0,   455,   456,  1268,   458,
6705      459,   460,   461,   462,     0,   463,   464,   465,   466,   467,
6706      468,   469,   470,   471,   472,  1269,   474,   475,   476,   477,
6707        0,   478,   479,   480,   481,   482,   483,   484,   485,   486,
6708      487,   488,   489,     0,   490,   491,   492,   493,   494,   495,
6709      496,   497,  2777,   499,   500,   501,   502,   503,   504,   505,
6710      506,   507,     0,   508,   509,   510,   511,   512,  1271,   513,
6711      514,   515,   516,   517,   518,   519,   520,  1272,   522,     0,
6712      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
6713      533,   534,   535,  1273,   537,     0,   538,   539,     0,   540,
6714      541,   542,   543,   544,   545,   546,     0,   547,  1274,  1275,
6715        0,     0,   550,   551,  1276,   553,  1277,  1278,   555,   556,
6716      557,   558,   559,   560,   561,   562,     0,     0,   563,   564,
6717      565,   566,   567,  1280,     0,   568,   569,   570,   571,   572,
6718      573,  1281,     0,   575,   576,   577,   578,   579,   580,     0,
6719        0,   581,     0,     0,   582,   583,   584,   585,   586,   587,
6720      588,  1282,  1283,  1284,  1285,   593,  1286,  1287,  1288,  1289,
6721      598,   599,   600,   601,     0,     0,     0,     0,     0,     0,
6722        0,  2778,  2779,   228,     0,  1222,   669,     0,  1223,  1224,
6723     2780,   729,  1226,     0,     0,     0,     0,     0,     0,     0,
6724      229,   230,   231,   232,   233,   234,   235,   236,     0,   237,
6725      238,   239,     0,     0,     0,     0,  1227,     0,     0,   240,
6726      241,     0,   242,   243,   244,   245,   246,   247,   248,   249,
6727     1228,   251,  1229,  1230,     0,   254,   255,   256,   257,   258,
6728      259,  1231,  1232,   260,   261,  1233,  1234,   264,     0,   265,
6729      266,   267,   268,  1235,     0,  1236,     0,   271,   272,   273,
6730      274,   275,   276,   277,   278,   279,     0,   280,   281,   282,
6731      283,   284,   285,     0,   286,   287,   288,   289,  1237,  1238,
6732     1239,  1240,  1241,  1242,  1243,   291,   292,   293,   294,   295,
6733      296,  1244,  1245,   299,     0,   300,     0,   301,   302,   303,
6734      304,   305,   306,     0,   307,   308,   309,   310,     0,     0,
6735      311,   312,  1077,   314,   315,     0,   316,   317,   318,     0,
6736      319,   320,   321,     0,   322,   323,   324,   325,  1247,   327,
6737      328,   329,   330,  1248,  1249,   332,     0,   333,   334,  1250,
6738      336,     0,   337,     0,   338,   339,     0,   340,   341,   342,
6739      343,   344,     0,   345,  1251,     0,  1252,   348,   349,     0,
6740      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
6741        0,   360,   361,   362,   363,   364,   365,   366,     0,   367,
6742      368,   369,   370,   371,   372,   373,  1253,  1254,     0,  1255,
6743        0,   377,   378,   379,   380,   381,   382,   383,   384,   385,
6744      386,     0,     0,   387,  1256,   389,   390,   391,     0,   392,
6745      393,   394,  1257,  1258,   395,   396,   397,   398,   399,   400,
6746      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
6747     1259,   412,  1260,   414,   415,   416,   417,   418,   419,   420,
6748      421,  1261,   423,     0,   424,   425,   426,   427,  1263,  1264,
6749      429,  1265,   431,   432,   433,     0,   434,   435,     0,     0,
6750      436,   437,   438,     0,     0,   439,   440,   441,   442,   443,
6751      444,  1267,   446,   447,   448,   449,   450,   451,   452,   453,
6752      454,     0,   455,   456,  1268,   458,   459,   460,   461,   462,
6753        0,   463,   464,   465,   466,   467,   468,   469,   470,   471,
6754      472,  1269,   474,   475,   476,   477,     0,   478,   479,   480,
6755      481,   482,   483,   484,   485,   486,   487,   488,   489,     0,
6756      490,   491,   492,   493,   494,   495,   496,   497,  2908,  2909,
6757      500,   501,   502,   503,   504,   505,   506,   507,     0,   508,
6758      509,   510,   511,   512,  1271,   513,   514,   515,   516,   517,
6759      518,   519,   520,  1272,   522,     0,   523,   524,   525,   526,
6760      527,   528,   529,   530,   531,   532,   533,   534,   535,  1273,
6761      537,     0,   538,   539,     0,   540,   541,   542,   543,   544,
6762      545,   546,     0,   547,  1274,  1275,     0,     0,   550,   551,
6763     1276,   553,  1277,  1278,   555,   556,   557,   558,   559,   560,
6764      561,   562,     0,     0,   563,   564,   565,   566,   567,  1280,
6765        0,   568,   569,   570,   571,   572,   573,  1281,     0,   575,
6766      576,   577,   578,   579,   580,     0,     0,   581,     0,     0,
6767      582,   583,   584,   585,   586,   587,   588,  1282,  1283,  1284,
6768     1285,   593,  1286,  1287,  1288,  1289,   598,   599,   600,   601,
6769        0,     0,     0,     0,     0,     0,     0,  2910,  2911,     0,
6770        0,     0,   228,     0,  1222,   669,  2780,  1223,  1224,  1225,
6771      729,  1226,     0,     0,     0,     0,     0,     0,     0,   229,
6772      230,   231,   232,   233,   234,   235,   236,     0,   237,   238,
6773      239,     0,     0,     0,     0,  1227,     0,     0,   240,   241,
6774        0,   242,   243,   244,   245,   246,   247,   248,   249,  1228,
6775      251,  1229,  1230,     0,   254,   255,   256,   257,   258,   259,
6776     1231,  1232,   260,   261,  1233,  1234,   264,     0,   265,   266,
6777      267,   268,  1235,     0,  1236,     0,   271,   272,   273,   274,
6778      275,   276,   277,   278,   279,     0,   280,   281,   282,   283,
6779      284,   285,     0,   286,   287,   288,   289,  1237,  1238,  1239,
6780     1240,  1241,  1242,  1243,   291,   292,   293,   294,   295,   296,
6781     1244,  1245,   299,     0,   300,     0,   301,   302,   303,   304,
6782      305,   306,     0,   307,   308,   309,   310,     0,     0,   311,
6783      312,  1077,   314,   315,     0,   316,   317,   318,     0,   319,
6784      320,   321,     0,   322,   323,   324,   325,  1247,   327,   328,
6785      329,   330,  1248,  1249,   332,     0,   333,   334,  1250,   336,
6786        0,   337,     0,   338,   339,     0,   340,   341,   342,   343,
6787      344,     0,   345,  1251,     0,  1252,   348,   349,     0,   350,
6788      351,   352,   353,   354,   355,   356,   357,   358,   359,     0,
6789      360,   361,   362,   363,   364,   365,   366,     0,   367,   368,
6790      369,   370,   371,   372,   373,  1253,  1254,     0,  1255,     0,
6791      377,     0,   379,   380,   381,   382,   383,   384,   385,   386,
6792        0,     0,   387,  1256,   389,   390,   391,     0,   392,   393,
6793      394,  1257,  1258,   395,   396,   397,   398,   399,   400,   401,
6794      402,   403,   404,   405,   406,   407,   408,   409,   410,  1259,
6795      412,  1260,   414,   415,   416,   417,   418,   419,   420,   421,
6796     1261,   423,     0,   424,   425,   426,   427,  1263,  1264,   429,
6797     1265,   431,   432,   433,     0,   434,   435,     0,     0,  1266,
6798      437,   438,     0,     0,   439,   440,   441,   442,   443,   444,
6799     1267,   446,   447,   448,   449,   450,   451,   452,   453,   454,
6800        0,   455,   456,  1268,   458,   459,   460,   461,   462,     0,
6801      463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
6802     1269,   474,   475,   476,   477,     0,   478,   479,   480,   481,
6803      482,   483,   484,   485,   486,   487,   488,   489,     0,   490,
6804      491,   492,   493,   494,   495,   496,   497,  2777,   499,   500,
6805      501,   502,   503,   504,   505,   506,   507,     0,   508,   509,
6806      510,   511,   512,  1271,   513,   514,   515,   516,   517,   518,
6807      519,   520,  1272,   522,     0,   523,   524,   525,   526,   527,
6808      528,   529,   530,   531,   532,   533,   534,   535,  1273,   537,
6809        0,   538,   539,     0,   540,   541,   542,   543,   544,   545,
6810      546,     0,   547,  1274,  1275,     0,     0,   550,   551,  1276,
6811      553,  1277,  1278,   555,   556,   557,   558,   559,   560,   561,
6812      562,     0,     0,   563,   564,   565,   566,   567,  1280,     0,
6813      568,   569,   570,   571,   572,   573,  1281,     0,   575,   576,
6814      577,   578,   579,   580,     0,     0,   581,     0,     0,   582,
6815      583,   584,   585,   586,   587,   588,  1282,  1283,  1284,  1285,
6816      593,  1286,  1287,  1288,  1289,   598,   599,   600,   601,     0,
6817        0,     0,     0,     0,     0,     0,  2778,  2779,   228,     0,
6818     1222,   669,     0,  1223,  1224,  2780,   729,  1226,     0,     0,
6819        0,     0,     0,     0,     0,   229,   230,   231,   232,   233,
6820      234,   235,   236,     0,   237,   238,   239,     0,     0,     0,
6821        0,  1227,     0,     0,   240,   241,     0,   242,   243,   244,
6822      245,   246,   247,   248,   249,  1228,   251,  1229,  1230,     0,
6823      254,   255,   256,   257,   258,   259,  1231,  1232,   260,   261,
6824     1233,  1234,   264,     0,   265,   266,   267,   268,  1235,     0,
6825     1236,     0,   271,   272,   273,   274,   275,   276,   277,   278,
6826      279,     0,   280,   281,   282,   283,   284,   285,     0,   286,
6827      287,   288,   289,  1237,  1238,  1239,  1240,  1241,  1242,  1243,
6828      291,   292,   293,   294,   295,   296,  1244,  1245,   299,     0,
6829      300,     0,   301,   302,   303,   304,   305,   306,     0,   307,
6830      308,   309,   310,     0,     0,   311,   312,  1077,   314,   315,
6831        0,   316,   317,   318,     0,   319,   320,   321,     0,   322,
6832      323,   324,   325,  1247,   327,   328,   329,   330,  1248,  1249,
6833      332,     0,   333,   334,  1250,   336,     0,   337,     0,   338,
6834      339,     0,   340,   341,   342,   343,   344,     0,   345,  1251,
6835        0,  1252,   348,   349,     0,   350,   351,   352,   353,   354,
6836      355,   356,   357,   358,   359,     0,   360,   361,   362,   363,
6837      364,   365,   366,     0,   367,   368,   369,   370,   371,   372,
6838      373,  1253,  1254,     0,  1255,     0,   377,   378,   379,   380,
6839      381,   382,   383,   384,   385,   386,     0,     0,   387,  1256,
6840      389,   390,   391,     0,   392,   393,   394,  1257,  1258,   395,
6841      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
6842      406,   407,   408,   409,   410,  1259,   412,  1260,   414,   415,
6843      416,   417,   418,   419,   420,   421,  1261,   423,     0,   424,
6844      425,   426,   427,  1263,  1264,   429,  1265,   431,   432,   433,
6845        0,   434,   435,     0,     0,   436,   437,   438,     0,     0,
6846      439,   440,   441,   442,   443,   444,  1267,   446,   447,   448,
6847      449,   450,   451,   452,   453,   454,     0,   455,   456,  1268,
6848      458,   459,   460,   461,   462,     0,   463,   464,   465,   466,
6849      467,   468,   469,   470,   471,   472,  1269,   474,   475,   476,
6850      477,     0,   478,   479,   480,   481,   482,   483,   484,   485,
6851      486,   487,   488,   489,     0,   490,   491,   492,   493,   494,
6852      495,   496,   497,  2777,   499,   500,   501,   502,   503,   504,
6853      505,   506,   507,     0,   508,   509,   510,   511,   512,  1271,
6854      513,   514,   515,   516,   517,   518,   519,   520,  1272,   522,
6855        0,   523,   524,   525,   526,   527,   528,   529,   530,   531,
6856      532,   533,   534,   535,  1273,   537,     0,   538,   539,     0,
6857      540,   541,   542,   543,   544,   545,   546,     0,   547,  1274,
6858     1275,     0,     0,   550,   551,  1276,   553,  1277,  1278,   555,
6859      556,   557,   558,   559,   560,   561,   562,     0,     0,   563,
6860      564,   565,   566,   567,  1280,     0,   568,   569,   570,   571,
6861      572,   573,  1281,     0,   575,   576,   577,   578,   579,   580,
6862        0,     0,   581,     0,     0,   582,   583,   584,   585,   586,
6863      587,   588,  1282,  1283,  1284,  1285,   593,  1286,  1287,  1288,
6864     1289,   598,   599,   600,   601,   228,     0,  1222,   669,     0,
6865     1223,  1224,     0,   729,  1226,     0,     0,     0,     0,     0,
6866        0,  2780,   229,   230,   231,   232,   233,   234,   235,   236,
6867        0,   237,   238,   239,     0,     0,     0,     0,  1227,     0,
6868        0,   240,   241,     0,   242,   243,   244,   245,   246,   247,
6869      248,   249,  1228,   251,  1229,  1230,     0,  4100,   255,   256,
6870      257,   258,   259,  1231,  1232,   260,   261,  1233,  1234,   264,
6871        0,   265,   266,   267,   268,  1235,     0,  1236,     0,   271,
6872      272,   273,   274,   275,   276,   277,   278,   279,     0,   280,
6873      281,   282,   283,   284,   285,     0,   286,   287,   288,   289,
6874     1237,  1238,  1239,  1240,  1241,  1242,  1243,   291,   292,   293,
6875      294,   295,   296,  1244,  1245,   299,     0,   300,     0,   301,
6876      302,   303,   304,   305,   306,     0,   307,   308,   309,   310,
6877        0,     0,   311,   312,  1077,   314,   315,     0,   316,   317,
6878      318,     0,   319,   320,   321,     0,   322,   323,   324,   325,
6879     1247,   327,   328,   329,   330,  1248,  1249,   332,     0,   333,
6880      334,  1250,   336,     0,   337,     0,   338,   339,     0,   340,
6881      341,   342,   343,   344,     0,   345,  1251,     0,  1252,   348,
6882      349,     0,   350,   351,   352,   353,   354,   355,   356,   357,
6883      358,   359,     0,   360,   361,   362,   363,   364,   365,   366,
6884        0,   367,   368,   369,   370,   371,   372,   373,  1253,  1254,
6885        0,  1255,     0,   377,   378,   379,   380,   381,   382,   383,
6886      384,   385,   386,     0,     0,   387,  1256,   389,   390,   391,
6887        0,   392,   393,   394,  1257,  1258,   395,   396,   397,   398,
6888      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
6889      409,   410,  1259,   412,  1260,   414,   415,   416,   417,   418,
6890      419,   420,   421,  1261,   423,     0,   424,   425,   426,   427,
6891     1263,  1264,   429,  1265,   431,   432,   433,     0,   434,   435,
6892        0,     0,   436,   437,   438,     0,     0,   439,   440,   441,
6893      442,   443,   444,  1267,   446,   447,   448,   449,   450,   451,
6894      452,   453,   454,     0,   455,   456,  1268,   458,   459,   460,
6895      461,   462,     0,   463,   464,   465,   466,   467,   468,   469,
6896      470,   471,   472,  1269,   474,   475,   476,   477,     0,   478,
6897      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
6898      489,     0,   490,   491,   492,   493,   494,   495,   496,   497,
6899     2777,   499,   500,   501,   502,   503,   504,   505,   506,   507,
6900        0,   508,   509,   510,   511,   512,  1271,   513,   514,   515,
6901      516,   517,   518,   519,   520,  1272,   522,     0,   523,   524,
6902      525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
6903      535,  1273,   537,     0,   538,   539,     0,   540,   541,   542,
6904      543,   544,   545,   546,     0,   547,  1274,  1275,     0,     0,
6905      550,   551,  1276,   553,  1277,  1278,   555,   556,   557,   558,
6906      559,   560,   561,   562,     0,     0,   563,   564,   565,   566,
6907      567,  1280,     0,   568,   569,   570,   571,   572,   573,  1281,
6908        0,   575,   576,   577,   578,   579,   580,     0,     0,   581,
6909        0,     0,   582,   583,   584,   585,   586,   587,   588,  1282,
6910     1283,  1284,  1285,   593,  1286,  1287,  1288,  1289,   598,   599,
6911      600,   601,   228,     0,  1222,   669,     0,  1223,  1224,     0,
6912      729,  1226,     0,     0,     0,     0,     0,     0,  2780,   229,
6913      230,   231,   232,   233,   234,   235,   236,     0,   237,   238,
6914      239,     0,     0,     0,     0,  1227,     0,     0,   240,   241,
6915        0,   242,   243,   244,   245,   246,   247,   248,   249,  1228,
6916      251,  1229,  1230,     0,   254,   255,   256,   257,   258,   259,
6917     1231,  1232,   260,   261,  1233,  1234,   264,     0,   265,   266,
6918      267,   268,  1235,     0,  1236,     0,   271,   272,   273,   274,
6919      275,   276,   277,   278,   279,     0,   280,   281,   282,   283,
6920      284,   285,     0,   286,   287,   288,   289,  1237,  1238,  1239,
6921     1240,  1241,  1242,  1243,   291,   292,   293,   294,   295,   296,
6922     1244,  1245,   299,     0,   300,     0,   301,   302,   303,   304,
6923      305,   306,     0,   307,   308,   309,   310,     0,     0,   311,
6924      312,  1077,   314,   315,     0,   316,   317,   318,     0,   319,
6925      320,   321,     0,   322,   323,   324,   325,  1247,   327,   328,
6926      329,   330,  1248,  1249,   332,     0,   333,   334,  1250,   336,
6927        0,   337,     0,   338,   339,     0,   340,   341,   342,   343,
6928      344,     0,   345,  1251,     0,  1252,   348,   349,     0,   350,
6929      351,   352,   353,   354,   355,   356,   357,   358,   359,     0,
6930      360,   361,   362,   363,   364,   365,   366,     0,   367,   368,
6931      369,   370,   371,   372,   373,  1253,  1254,     0,  1255,     0,
6932      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
6933        0,     0,   387,  1256,   389,   390,   391,     0,   392,   393,
6934      394,  1257,  1258,   395,   396,   397,   398,   399,   400,   401,
6935      402,   403,   404,   405,   406,   407,   408,   409,   410,  1259,
6936      412,  1260,   414,   415,   416,   417,   418,   419,   420,   421,
6937     1261,   423,     0,   424,   425,   426,   427,  1263,  1264,   429,
6938     1265,   431,   432,   433,     0,   434,   435,     0,     0,   436,
6939      437,   438,     0,     0,   439,   440,   441,   442,   443,   444,
6940     1267,   446,   447,   448,   449,   450,   451,   452,   453,   454,
6941        0,   455,   456,  1268,   458,   459,   460,   461,   462,     0,
6942      463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
6943     1269,   474,   475,   476,   477,     0,   478,   479,   480,   481,
6944      482,   483,   484,   485,   486,   487,   488,   489,     0,   490,
6945      491,   492,   493,   494,   495,   496,   497,  2777,   499,   500,
6946      501,   502,   503,   504,   505,   506,   507,     0,   508,   509,
6947      510,   511,   512,  1271,   513,   514,   515,   516,   517,   518,
6948      519,   520,  1272,   522,     0,   523,   524,   525,   526,   527,
6949      528,   529,   530,   531,   532,   533,   534,   535,  1273,   537,
6950        0,   538,   539,     0,   540,   541,   542,   543,   544,   545,
6951      546,     0,   547,  1274,  1275,     0,     0,   550,   551,  1276,
6952      553,  1277,  1278,   555,   556,   557,   558,   559,   560,   561,
6953      562,     0,     0,   563,   564,   565,   566,   567,  1280,     0,
6954      568,   569,   570,   571,   572,   573,  1281,     0,   575,   576,
6955      577,   578,   579,   580,     0,     0,   581,     0,     0,   582,
6956      583,   584,   585,   586,   587,   588,  1282,  1283,  1284,  1285,
6957     4588,  1286,  1287,  1288,  1289,   598,   599,   600,   601,   228,
6958        0,  1222,   669,     0,  1223,  1224,  1225,   729,  1226,     0,
6959        0,     0,     0,     0,     0,  2780,   229,   230,   231,   232,
6960      233,   234,   235,   236,     0,   237,   238,   239,     0,     0,
6961        0,     0,  1227,     0,     0,   240,   241,     0,   242,   243,
6962      244,   245,   246,   247,   248,     0,  1228,   251,  1229,  1230,
6963        0,   254,   255,   256,   257,   258,   259,  1231,  1232,   260,
6964      261,  1233,  1234,   264,     0,   265,   266,   267,   268,  1235,
6965        0,  1236,     0,   271,   272,   273,   274,   275,   276,   277,
6966      278,   279,     0,   280,   281,   282,   283,   284,   285,     0,
6967      286,   287,   288,   289,  1237,  1238,  1239,  1240,  1241,  1242,
6968     1243,   291,   292,   293,   294,   295,   296,  1244,  1245,   299,
6969     1246,   300,     0,   301,   302,   303,   304,   305,   306,     0,
6970      307,   308,   309,   310,     0,     0,   311,   312,  1077,   314,
6971      315,     0,   316,   317,   318,     0,   319,     0,   321,     0,
6972      322,   323,   324,   325,  1247,   327,   328,   329,   330,  1248,
6973     1249,   332,     0,   333,   334,  1250,   336,     0,   337,     0,
6974      338,   339,     0,   340,   341,   342,   343,   344,     0,   345,
6975     1251,     0,  1252,   348,   349,     0,   350,   351,   352,   353,
6976      354,     0,   356,   357,   358,   359,     0,   360,   361,   362,
6977      363,   364,   365,   366,     0,   367,   368,   369,   370,   371,
6978      372,   373,  1253,  1254,     0,  1255,     0,   377,     0,     0,
6979      380,   381,   382,   383,   384,   385,   386,     0,     0,   387,
6980     1256,   389,   390,     0,     0,   392,   393,   394,  1257,  1258,
6981      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
6982      405,   406,   407,   408,   409,   410,  1259,   412,  1260,   414,
6983      415,   416,   417,   418,   419,   420,   421,  1261,   423,  1262,
6984      424,   425,     0,   427,  1263,  1264,   429,  1265,   431,   432,
6985      433,     0,   434,   435,     0,     0,  1266,   437,   438,     0,
6986        0,   439,   440,   441,   442,   443,   444,  1267,   446,   447,
6987      448,   449,   450,   451,   452,   453,   454,     0,   455,   456,
6988     1268,   458,   459,   460,   461,   462,     0,   463,   464,   465,
6989      466,   467,   468,   469,   470,   471,   472,  1269,   474,   475,
6990      476,   477,     0,   478,   479,   480,   481,   482,   483,   484,
6991      485,   486,   487,   488,   489,     0,   490,   491,   492,   493,
6992      494,   495,   496,   497,  1270,   499,   500,   501,   502,   503,
6993      504,   505,   506,   507,     0,   508,   509,   510,   511,   512,
6994     1271,   513,   514,   515,   516,   517,     0,   519,   520,  1272,
6995      522,     0,   523,   524,   525,   526,   527,   528,   529,   530,
6996      531,   532,   533,   534,   535,  1273,   537,     0,   538,   539,
6997        0,   540,   541,   542,   543,   544,   545,   546,     0,   547,
6998     1274,  1275,     0,     0,   550,   551,  1276,   553,  1277,  1278,
6999      555,   556,   557,   558,   559,   560,   561,   562,     0,  1279,
7000      563,   564,   565,   566,   567,  1280,     0,   568,   569,   570,
7001      571,   572,   573,  1281,     0,   575,   576,   577,   578,   579,
7002      580,     0,     0,   581,     0,     0,   582,   583,   584,   585,
7003      586,   587,   588,  1282,  1283,  1284,  1285,   593,  1286,  1287,
7004     1288,  1289,   598,   599,   600,   601,   228,     0,     0,     0,
7005        0,     0,     0,  1291,  1292,     0,     0,     0,     0,     0,
7006        0,     0,  1294,   229,   230,   231,   232,   233,   234,   235,
7007      236,     0,   237,   238,   239,     0,     0,     0,     0,     0,
7008        0,     0,   240,   241,     0,   242,   243,   244,   245,   246,
7009      247,   248,   249,   250,   251,   252,   253,     0,   254,   255,
7010      256,   257,   258,   259,     0,  1232,   260,   261,   262,   263,
7011      264,     0,   265,   266,   267,   268,  1235,     0,  1236,     0,
7012      271,   272,   273,   274,   275,   276,   277,   278,   279,     0,
7013      280,   281,   282,   283,   284,   285,     0,   286,   287,   288,
7014      289,  1237,  1238,  1239,  1240,  1241,  1242,  1243,   291,   292,
7015      293,   294,   295,   296,   297,   298,   299,     0,   300,     0,
7016      301,   302,   303,   304,   305,   306,     0,   307,   308,   309,
7017      310,     0,     0,   311,   312,   313,   314,   315,     0,   316,
7018      317,   318,     0,   319,   320,   321,     0,   322,   323,   324,
7019      325,   326,   327,   328,   329,   330,  1248,     0,   332,     0,
7020      333,   334,   335,   336,     0,   337,     0,   338,   339,     0,
7021      340,   341,   342,   343,   344,     0,   345,  1251,     0,   347,
7022      348,   349,     0,   350,   351,   352,   353,   354,   355,   356,
7023      357,   358,   359,     0,   360,   361,   362,   363,   364,   365,
7024      366,     0,   367,   368,   369,   370,   371,   372,   373,   374,
7025      375,     0,   376,     0,   377,   378,   379,   380,   381,   382,
7026      383,   384,   385,   386,  3608,     0,   387,  1256,   389,   390,
7027      391,     0,   392,   393,   394,  1257,  1258,   395,   396,   397,
7028      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
7029      408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
7030      418,   419,   420,   421,  1261,   423,     0,   424,   425,   426,
7031      427,     0,  1264,   429,   430,   431,   432,   433,     0,   434,
7032      435,     0,   818,   436,   437,   438,     0,     0,   439,   440,
7033      441,   442,   443,   444,  1267,   446,   447,   448,   449,   450,
7034      451,   452,   453,   454,     0,   455,   456,  1268,   458,   459,
7035      460,   461,   462,     0,   463,   464,   465,   466,   467,   468,
7036      469,   470,   471,   472,   473,   474,   475,   476,   477,     0,
7037      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
7038      488,   489,     0,   490,   491,   492,   493,   494,   495,   496,
7039      497,   498,  3609,   500,   501,   502,   503,   504,   505,   506,
7040      507,    40,   508,   509,   510,   511,   512,  1271,   513,   514,
7041      515,   516,   517,   518,   519,   520,   521,   522,     0,   523,
7042      524,   525,   526,   527,   528,   529,   530,   531,   532,   533,
7043      534,   535,  1273,   537,     0,   538,   539,    44,   540,   541,
7044      542,   543,   544,   545,   546,     0,   547,   548,   549,     0,
7045        0,   550,   551,  1276,   553,  1277,     0,   555,   556,   557,
7046      558,   559,   560,   561,   562,     0,     0,   563,   564,   565,
7047      566,   567,  1280,     0,   568,   569,   570,   571,   572,  1156,
7048      574,     0,   575,   576,   577,   578,   579,   580,     0,     0,
7049      581,     0,    49,   582,   583,   584,   585,   586,   587,   588,
7050     1282,  1283,  1284,  1285,   593,  1286,  1287,  1288,  1289,  3610,
7051      599,   600,   601,   228,     0,    50,     0,     0,     0,     0,
7052        0,     0,     0,     0,     0,     0,     0,     0,     0,  3611,
7053      229,   230,   231,   232,   233,   234,   235,   236,     0,   237,
7054      238,   239,     0,     0,     0,     0,     0,     0,     0,   240,
7055      241,     0,   242,   243,   244,   245,   246,   247,   248,   249,
7056      250,   251,   252,   253,     0,   254,   255,   256,   257,   258,
7057      259,     0,  1232,   260,   261,   262,   263,   264,     0,   265,
7058      266,   267,   268,  1235,     0,  1236,     0,   271,   272,   273,
7059      274,   275,   276,   277,   278,   279,     0,   280,   281,   282,
7060      283,   284,   285,     0,   286,   287,   288,   289,  1237,  1238,
7061     1239,  1240,  1241,  1242,  1243,   291,   292,   293,   294,   295,
7062      296,   297,   298,   299,     0,   300,     0,   301,   302,   303,
7063      304,   305,   306,     0,   307,   308,   309,   310,     0,     0,
7064      311,   312,   313,   314,   315,     0,   316,   317,   318,     0,
7065      319,   320,   321,     0,   322,   323,   324,   325,   326,   327,
7066      328,   329,   330,  1248,     0,   332,     0,   333,   334,   335,
7067      336,     0,   337,     0,   338,   339,     0,   340,   341,   342,
7068      343,   344,     0,   345,  1251,     0,   347,   348,   349,     0,
7069      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
7070        0,   360,   361,   362,   363,   364,   365,   366,     0,   367,
7071      368,   369,   370,   371,   372,   373,   374,   375,     0,   376,
7072        0,   377,   378,   379,   380,   381,   382,   383,   384,   385,
7073      386,  3608,     0,   387,  1256,   389,   390,   391,     0,   392,
7074      393,   394,  1257,  1258,   395,   396,   397,   398,   399,   400,
7075      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
7076      411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
7077      421,  1261,   423,     0,   424,   425,   426,   427,     0,  1264,
7078      429,   430,   431,   432,   433,     0,   434,   435,     0,   818,
7079      436,   437,   438,     0,     0,   439,   440,   441,   442,   443,
7080      444,  1267,   446,   447,   448,   449,   450,   451,   452,   453,
7081      454,     0,   455,   456,  1268,   458,   459,   460,   461,   462,
7082        0,   463,   464,   465,   466,   467,   468,   469,   470,   471,
7083      472,   473,   474,   475,   476,   477,     0,   478,   479,   480,
7084      481,   482,   483,   484,   485,   486,   487,   488,   489,     0,
7085      490,   491,   492,   493,   494,   495,   496,   497,   498,  3609,
7086      500,   501,   502,   503,   504,   505,   506,   507,     0,   508,
7087      509,   510,   511,   512,  1271,   513,   514,   515,   516,   517,
7088      518,   519,   520,   521,   522,     0,   523,   524,   525,   526,
7089      527,   528,   529,   530,   531,   532,   533,   534,   535,  1273,
7090      537,     0,   538,   539,     0,   540,   541,   542,   543,   544,
7091      545,   546,     0,   547,   548,   549,     0,     0,   550,   551,
7092     1276,   553,  1277,     0,   555,   556,   557,   558,   559,   560,
7093      561,   562,     0,     0,   563,   564,   565,   566,   567,  1280,
7094        0,   568,   569,   570,   571,   572,   573,   574,     0,   575,
7095      576,   577,   578,   579,   580,     0,     0,   581,     0,     0,
7096      582,   583,   584,   585,   586,   587,   588,  1282,  1283,  1284,
7097     1285,   593,  1286,  1287,  1288,  1289,  3610,   599,   600,   601,
7098      228,     0,     0,     0,     0,     0,     0,     0,     0,     0,
7099        0,     0,     0,     0,     0,     0,  3611,   229,   230,   231,
7100      232,   233,   234,   235,   236,     0,   237,   238,   239,     0,
7101        0,     0,     0,     0,     0,     0,   240,   241,     0,   242,
7102      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
7103      253,     0,   254,   255,   256,   257,   258,   259,     0,  1232,
7104      260,   261,   262,   263,   264,     0,   265,   266,   267,   268,
7105     1235,     0,  1236,     0,   271,   272,   273,   274,   275,   276,
7106      277,   278,   279,     0,   280,   281,   282,   283,   284,   285,
7107        0,   286,   287,   288,   289,  1237,  1238,  1239,  1240,  1241,
7108     1242,  1243,   291,   292,   293,   294,   295,   296,   297,   298,
7109      299,     0,   300,     0,   301,   302,   303,   304,   305,   306,
7110        0,   307,   308,   309,   310,     0,     0,   311,   312,   313,
7111      314,   315,     0,   316,   317,   318,     0,   319,   320,   321,
7112        0,   322,   323,   324,   325,   326,   327,   328,   329,   330,
7113     1248,     0,   332,     0,   333,   334,   335,   336,     0,   337,
7114        0,   338,   339,     0,   340,   341,   342,   343,   344,     0,
7115      345,  1251,     0,   347,   348,   349,     0,   350,   351,   352,
7116      353,   354,   355,   356,   357,   358,   359,     0,   360,   361,
7117      362,   363,   364,   365,   366,     0,   367,   368,   369,   370,
7118      371,   372,   373,   374,   375,     0,   376,     0,   377,   378,
7119      379,   380,   381,   382,   383,   384,   385,   386,     0,     0,
7120      387,  1256,   389,   390,   391,     0,   392,   393,   394,  1257,
7121     1258,   395,   396,   397,   398,   399,   400,   401,   402,   403,
7122      404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
7123      414,   415,   416,   417,   418,   419,   420,   421,  1261,   423,
7124        0,   424,   425,   426,   427,     0,  1264,   429,   430,   431,
7125      432,   433,     0,   434,   435,     0,     0,   436,   437,   438,
7126        0,     0,   439,   440,   441,   442,   443,   444,  1267,   446,
7127      447,   448,   449,   450,   451,   452,   453,   454,     0,   455,
7128      456,  1268,   458,   459,   460,   461,   462,     0,   463,   464,
7129      465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
7130      475,   476,   477,     0,   478,   479,   480,   481,   482,   483,
7131      484,   485,   486,   487,   488,   489,     0,   490,   491,   492,
7132      493,   494,   495,   496,   497,   498,  3609,   500,   501,   502,
7133      503,   504,   505,   506,   507,     0,   508,   509,   510,   511,
7134      512,  1271,   513,   514,   515,   516,   517,   518,   519,   520,
7135      521,   522,     0,   523,   524,   525,   526,   527,   528,   529,
7136      530,   531,   532,   533,   534,   535,  1273,   537,     0,   538,
7137      539,     0,   540,   541,   542,   543,   544,   545,   546,     0,
7138      547,   548,   549,     0,     0,   550,   551,  1276,   553,  1277,
7139        0,   555,   556,   557,   558,   559,   560,   561,   562,     0,
7140        0,   563,   564,   565,   566,   567,  1280,     0,   568,   569,
7141      570,   571,   572,   573,   574,     0,   575,   576,   577,   578,
7142      579,   580,     0,     0,   581,     0,     0,   582,   583,   584,
7143      585,   586,   587,   588,  1282,  1283,  1284,  1285,   593,  1286,
7144     1287,  1288,  1289,  3610,   599,   600,   601,   228,     0,     0,
7145        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
7146        0,     0,     0,    51,   229,   230,   231,   232,   233,   234,
7147      235,   236,     0,   237,   238,   239,     0,     0,     0,     0,
7148        0,     0,     0,   240,   241,     0,   242,   243,   244,   245,
7149      246,   247,   248,   249,   250,   251,   252,   253,     0,   254,
7150      255,   256,   257,   258,   259,     0,  1232,   260,   261,   262,
7151      263,   264,     0,   265,   266,   267,   268,  1235,     0,  1236,
7152        0,   271,   272,   273,   274,   275,   276,   277,   278,   279,
7153        0,   280,   281,   282,   283,   284,   285,     0,   286,   287,
7154      288,   289,  1237,  1238,  1239,  1240,  1241,  1242,  1243,   291,
7155      292,   293,   294,   295,   296,   297,   298,   299,     0,   300,
7156        0,   301,   302,   303,   304,   305,   306,     0,   307,   308,
7157      309,   310,     0,     0,   311,   312,   313,   314,   315,     0,
7158      316,   317,   318,     0,   319,   320,   321,     0,   322,   323,
7159      324,   325,   326,   327,   328,   329,   330,  1248,     0,   332,
7160        0,   333,   334,   335,   336,     0,   337,     0,   338,   339,
7161        0,   340,   341,   342,   343,   344,     0,   345,  1251,     0,
7162      347,   348,   349,     0,   350,   351,   352,   353,   354,   355,
7163      356,   357,   358,   359,     0,   360,   361,   362,   363,   364,
7164      365,   366,     0,   367,   368,   369,   370,   371,   372,   373,
7165      374,   375,     0,   376,     0,   377,   378,   379,   380,   381,
7166      382,   383,   384,   385,   386,     0,     0,   387,  1256,   389,
7167      390,   391,     0,   392,   393,   394,  1257,  1258,   395,   396,
7168      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
7169      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
7170      417,   418,   419,   420,   421,  1261,   423,     0,   424,   425,
7171      426,   427,     0,  1264,   429,   430,   431,   432,   433,     0,
7172      434,   435,     0,     0,   436,   437,   438,     0,     0,   439,
7173      440,   441,   442,   443,   444,  1267,   446,   447,   448,   449,
7174      450,   451,   452,   453,   454,     0,   455,   456,  1268,   458,
7175      459,   460,   461,   462,     0,   463,   464,   465,   466,   467,
7176      468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
7177        0,   478,   479,   480,   481,   482,   483,   484,   485,   486,
7178      487,   488,   489,     0,   490,   491,   492,   493,   494,   495,
7179      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
7180      506,   507,     0,   508,   509,   510,   511,   512,  1271,   513,
7181      514,   515,   516,   517,   518,   519,   520,   521,   522,     0,
7182      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
7183      533,   534,   535,  1273,   537,     0,   538,   539,     0,   540,
7184      541,   542,   543,   544,   545,   546,     0,   547,   548,   549,
7185        0,     0,   550,   551,  1276,   553,  1277,     0,   555,   556,
7186      557,   558,   559,   560,   561,   562,     0,     0,   563,   564,
7187      565,   566,   567,  1280,     0,   568,   569,   570,   571,   572,
7188      573,   574,     0,   575,   576,   577,   578,   579,   580,     0,
7189        0,   581,     0,     0,   582,   583,   584,   585,   586,   587,
7190      588,  1282,  1283,  1284,  1285,   593,  1286,  1287,  1288,  1289,
7191      598,   599,   600,   601,   228,     0,     0,     0,     0,     0,
7192        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
7193     4223,   229,   230,   231,   232,   233,   234,   235,   236,     0,
7194      237,   238,   239,     0,     0,     0,     0,     0,     0,     0,
7195      240,   241,     0,   242,   243,   244,   245,   246,   247,   248,
7196      249,   250,   251,   252,   253,     0,   254,   255,   256,   257,
7197      258,   259,     0,  1232,   260,   261,   262,   263,   264,     0,
7198      265,   266,   267,   268,  1235,     0,  1236,     0,   271,   272,
7199      273,   274,   275,   276,   277,   278,   279,     0,   280,   281,
7200      282,   283,   284,   285,     0,   286,   287,   288,   289,  1237,
7201     1238,  1239,  1240,  1241,  1242,  1243,   291,   292,   293,   294,
7202      295,   296,   297,   298,   299,     0,   300,     0,   301,   302,
7203      303,   304,   305,   306,     0,   307,   308,   309,   310,     0,
7204        0,   311,   312,   313,   314,   315,     0,   316,   317,   318,
7205        0,   319,   320,   321,     0,   322,   323,   324,   325,   326,
7206      327,   328,   329,   330,  1248,     0,   332,     0,   333,   334,
7207      335,   336,     0,   337,     0,   338,   339,     0,   340,   341,
7208      342,   343,   344,     0,   345,  1251,     0,   347,   348,   349,
7209        0,   350,   351,   352,   353,   354,   355,   356,   357,   358,
7210      359,     0,   360,   361,   362,   363,   364,   365,   366,     0,
7211      367,   368,   369,   370,   371,   372,   373,   374,   375,     0,
7212      376,     0,   377,   378,   379,   380,   381,   382,   383,   384,
7213      385,   386,     0,     0,   387,  1256,   389,   390,   391,     0,
7214      392,   393,   394,  1257,  1258,   395,   396,   397,   398,   399,
7215      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
7216      410,   411,   412,   413,   414,   415,   416,   417,   418,   419,
7217      420,   421,  1261,   423,     0,   424,   425,   426,   427,     0,
7218     1264,   429,   430,   431,   432,   433,     0,   434,   435,     0,
7219        0,   436,   437,   438,     0,     0,   439,   440,   441,   442,
7220      443,   444,  1267,   446,   447,   448,   449,   450,   451,   452,
7221      453,   454,     0,   455,   456,  1268,   458,   459,   460,   461,
7222      462,     0,   463,   464,   465,   466,   467,   468,   469,   470,
7223      471,   472,   473,   474,   475,   476,   477,     0,   478,   479,
7224      480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
7225        0,   490,   491,   492,   493,   494,   495,   496,   497,   498,
7226      499,   500,   501,   502,   503,   504,   505,   506,   507,     0,
7227      508,   509,   510,   511,   512,  1271,   513,   514,   515,   516,
7228      517,   518,   519,   520,   521,   522,     0,   523,   524,   525,
7229      526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
7230     1273,   537,     0,   538,   539,     0,   540,   541,   542,   543,
7231      544,   545,   546,     0,   547,   548,   549,     0,     0,   550,
7232      551,  1276,   553,  1277,     0,   555,   556,   557,   558,   559,
7233      560,   561,   562,     0,     0,   563,   564,   565,   566,   567,
7234     1280,     0,   568,   569,   570,   571,   572,   573,   574,     0,
7235      575,   576,   577,   578,   579,   580,     0,     0,   581,     0,
7236        0,   582,   583,   584,   585,   586,   587,   588,  1282,  1283,
7237     1284,  1285,   593,  1286,  1287,  1288,  1289,   598,   599,   600,
7238      601,   873,     0,  1505,   669,     0,     0,     0,     0,   729,
7239        0,     0,     0,     0,     0,     0,     0,  5326,   229,   230,
7240      231,   232,   233,   234,   235,   236,     0,   237,   238,   239,
7241        0,     0,     0,     0,     0,     0,     0,   240,   241,     0,
7242      242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
7243      252,   253,     0,   254,   255,   256,   257,   258,   259,     0,
7244        0,   260,   261,   262,   263,   264,     0,   265,   266,   267,
7245      268,   269,     0,   270,     0,   271,   272,   273,   274,   275,
7246      276,   277,   278,   279,     0,   280,   281,   282,   283,   284,
7247      285,     0,   286,   287,   288,   289,     0,     0,     0,   290,
7248        0,     0,     0,   291,   292,   293,   294,   295,   296,   297,
7249      298,   299,     0,   300,     0,   301,   302,   303,   304,   305,
7250      306,     0,   307,   308,   309,   310,     0,     0,   311,   312,
7251      313,   314,   315,     0,   316,   317,   318,     0,   319,   320,
7252      321,     0,   322,   323,   324,   325,   326,   327,   328,   329,
7253      330,   331,  1921,   332,     0,   333,   334,   335,   336,     0,
7254      337,     0,   338,   339,     0,   340,   341,   342,   343,   344,
7255        0,   345,   346,     0,   347,   348,   349,     0,   350,   351,
7256      352,   353,   354,   355,   356,   357,   358,   359,     0,   360,
7257      361,   362,   363,   364,   365,   366,     0,   367,   368,   369,
7258      370,   371,   372,   373,   374,   375,     0,   376,     0,   377,
7259      378,   379,   380,   381,   382,   383,   384,   385,   386,     0,
7260        0,   387,   388,   389,   390,   391,     0,   392,   393,   394,
7261        0,     0,   395,   396,   397,   398,   399,   400,   401,   402,
7262      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
7263      413,   414,   415,   416,   417,   418,   419,   420,   421,   422,
7264      423,     0,   424,   425,   426,   427,     0,   428,   429,   430,
7265      431,   432,   433,     0,   434,   435,  1922,     0,   436,   437,
7266      438,     0,     0,   439,   440,   441,   442,   443,   444,   445,
7267      446,   447,   448,   449,   450,   451,   452,   453,   454,     0,
7268      455,   456,   457,   458,   459,   460,   461,   462,     0,   463,
7269      464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
7270      474,   475,   476,   477,     0,   478,   479,   480,   481,   482,
7271      483,   484,   485,   486,   487,   488,   489,     0,   490,   491,
7272      492,   493,   494,   495,   496,   497,   498,   499,   500,   501,
7273      502,   503,   504,   505,   506,   507,     0,   508,   509,   510,
7274      511,   512,     0,   513,   514,   515,   516,   517,   518,   519,
7275      520,   521,   522,     0,   523,   524,   525,   526,   527,   528,
7276      529,   530,   531,   532,   533,   534,   535,   536,   537,     0,
7277      538,   539,     0,   540,   541,   542,   543,   544,   545,   546,
7278        0,   547,   548,   549,     0,     0,   550,   551,   552,   553,
7279      554,  1923,   555,   556,   557,   558,   559,   560,   561,   562,
7280        0,     0,   563,   564,   565,   566,   567,     0,     0,   568,
7281      569,   570,   571,   572,   573,   574,     0,   575,   576,   577,
7282      578,   579,   580,     0,     0,   581,     0,     0,   582,   583,
7283      584,   585,   586,   587,   588,   589,   590,   591,   592,   593,
7284      594,   595,   596,   597,   598,   599,   600,   601,   873,     0,
7285        0,     0,     0,     0,     0,  1506,  1507,  5140,     0,     0,
7286        0,     0,     0,     0,  5141,   229,   230,   231,   232,   233,
7287      234,   235,   236,     0,   237,   238,   239,     3,     4,     0,
7288        0,     0,     0,     0,   240,   241,     0,   242,   243,   244,
7289      245,   246,   247,   248,   249,   250,   251,   252,   253,     0,
7290      254,   255,   256,   257,   258,   259,     0,     0,   260,   261,
7291      262,   263,   264,     0,   265,   266,   267,   268,   269,     0,
7292      270,     0,   271,   272,   273,   274,   275,   276,   277,   278,
7293      279,     0,   280,   281,   282,   283,   284,   285,     0,   286,
7294      287,   288,   289,     0,     0,     0,   290,     0,     0,     0,
7295      291,   292,   293,   294,   295,   296,   297,   298,   299,     0,
7296      300,     0,   301,   302,   303,   304,   305,   306,     0,   307,
7297      308,   309,   310,     0,     0,   311,   312,   313,   314,   315,
7298        0,   316,   317,   318,     0,   319,   320,   321,     0,   322,
7299      323,   324,   325,   326,   327,   328,   329,   330,   331,     0,
7300      332,     0,   333,   334,   335,   336,     0,   337,     0,   338,
7301      339,     0,   340,   341,   342,   343,   344,     0,   345,   346,
7302        0,   347,   348,   349,     0,   350,   351,   352,   353,   354,
7303      355,   356,   357,   358,   359,     0,   360,   361,   362,   363,
7304      364,   365,   366,     0,   367,   368,   369,   370,   371,   372,
7305      373,   374,   375,     0,   376,     0,   377,   378,   379,   380,
7306      381,   382,   383,   384,   385,   386,     0,     0,   387,   388,
7307      389,   390,   391,     0,   392,   393,   394,     0,     0,   395,
7308      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
7309      406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
7310      416,   417,   418,   419,   420,   421,   422,   423,     0,   424,
7311      425,   426,   427,     0,   428,   429,   430,   431,   432,   433,
7312        0,   434,   435,     0,     0,   436,   437,   438,     0,     0,
7313      439,   440,   441,   442,   443,   444,   445,   446,   447,   448,
7314      449,   450,   451,   452,   453,   454,     0,   455,   456,   457,
7315      458,   459,   460,   461,   462,     0,   463,   464,   465,   466,
7316      467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
7317      477,     0,   478,   479,   480,   481,   482,   483,   484,   485,
7318      486,   487,   488,   489,     0,   490,   491,   492,   493,   494,
7319      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
7320      505,   506,   507,    40,   508,   509,   510,   511,   512,     0,
7321      513,   514,   515,   516,   517,   518,   519,   520,   521,   522,
7322        0,   523,   524,   525,   526,   527,   528,   529,   530,   531,
7323      532,   533,   534,   535,   536,   537,     0,   538,   539,    44,
7324      540,   541,   542,   543,   544,   545,   546,     0,   547,   548,
7325      549,     0,     0,   550,   551,   552,   553,   554,     0,   555,
7326      556,   557,   558,   559,   560,   561,   562,     0,     0,   563,
7327      564,   565,   566,   567,     0,     0,   568,   569,   570,   571,
7328      572,  1156,   574,     0,   575,   576,   577,   578,   579,   580,
7329        0,     0,   581,     0,    49,   582,   583,   584,   585,   586,
7330      587,   588,   589,   590,   591,   592,   593,   594,   595,   596,
7331      597,   598,   599,   600,   601,   228,     0,    50,     0,     0,
7332        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
7333        0,    51,   229,   230,   231,   232,   233,   234,   235,   236,
7334        0,   237,   238,   239,     0,     0,     0,     0,     0,     0,
7335        0,   240,   241,     0,   242,   243,   244,   245,   246,   247,
7336      248,   249,   250,   251,   252,   253,     0,   254,   255,   256,
7337      257,   258,   259,     0,     0,   260,   261,   262,   263,   264,
7338        0,   265,   266,   267,   268,   269,     0,   270,     0,   271,
7339      272,   273,   274,   275,   276,   277,   278,   279,     0,   280,
7340      281,   282,   283,   284,   285,     0,   286,   287,   288,   289,
7341        0,     0,     0,   290,     0,     0,     0,   291,   292,   293,
7342      294,   295,   296,   297,   298,   299,     0,   300,     0,   301,
7343      302,   303,   304,   305,   306,     0,   307,   308,   309,   310,
7344        0,     0,   311,   312,   313,   314,   315,     0,   316,   317,
7345      318,     0,   319,   320,   321,     0,   322,   323,   324,   325,
7346      326,   327,   328,   329,   330,   331,     0,   332,     0,   333,
7347      334,   335,   336,     0,   337,     0,   338,   339,     0,   340,
7348      341,   342,   343,   344,     0,   345,   346,     0,   347,   348,
7349      349,     0,   350,   351,   352,   353,   354,   355,   356,   357,
7350      358,   359,     0,   360,   361,   362,   363,   364,   365,   366,
7351        0,   367,   368,   369,   370,   371,   372,   373,   374,   375,
7352        0,   376,     0,   377,   378,   379,   380,   381,   382,   383,
7353      384,   385,   386,     0,     0,   387,   388,   389,   390,   391,
7354        0,   392,   393,   394,     0,     0,   395,   396,   397,   398,
7355      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
7356      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
7357      419,   420,   421,   422,   423,     0,   424,   425,   426,   427,
7358        0,   428,   429,   430,   431,   432,   433,     0,   434,   435,
7359        0,     0,   436,   437,   438,     0,     0,   439,   440,   441,
7360      442,   443,   444,   445,   446,   447,   448,   449,   450,   451,
7361      452,   453,   454,     0,   455,   456,   457,   458,   459,   460,
7362      461,   462,     0,   463,   464,   465,   466,   467,   468,   469,
7363      470,   471,   472,   473,   474,   475,   476,   477,     0,   478,
7364      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
7365      489,     0,   490,   491,   492,   493,   494,   495,   496,   497,
7366      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
7367        0,   508,   509,   510,   511,   512,     0,   513,   514,   515,
7368      516,   517,   518,   519,   520,   521,   522,     0,   523,   524,
7369      525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
7370      535,   536,   537,     0,   538,   539,     0,   540,   541,   542,
7371      543,   544,   545,   546,     0,   547,   548,   549,     0,     0,
7372      550,   551,   552,   553,   554,     0,   555,   556,   557,   558,
7373      559,   560,   561,   562,     0,     0,   563,   564,   565,   566,
7374      567,     0,     0,   568,   569,   570,   571,   572,   573,   574,
7375        0,   575,   576,   577,   578,   579,   580,     0,     0,   581,
7376        0,     0,   582,   583,   584,   585,   586,   587,   588,   589,
7377      590,   591,   592,   593,   594,   595,   596,   597,   598,   599,
7378      600,   601,   609,     0,     0,     0,     0,     0,     0,     0,
7379        0,     0,     0,     0,     0,     0,     0,     0,  4923,   229,
7380      230,   231,   232,   233,   234,   235,   236,     0,   237,   238,
7381      239,     0,     0,     0,     0,     0,     0,     0,   240,   241,
7382        0,   242,   243,   244,     0,   246,   247,   248,   249,   250,
7383        0,   252,   253,     0,   254,   255,   256,   257,   258,   259,
7384        0,     0,   260,   261,   262,   263,   264,     0,   265,   266,
7385      267,   268,   269,     0,     0,     0,   271,   272,   273,   274,
7386      275,     0,   277,   278,   279,     0,   280,   281,   282,   283,
7387      284,   285,     0,     0,   287,   288,   289,     0,     0,     0,
7388        0,     0,     0,     0,   291,   292,   293,   294,   295,   296,
7389      297,   298,   299,     0,   300,     0,   301,   302,   303,   304,
7390      305,   306,     0,   307,   308,   309,   310,     0,     0,   311,
7391      312,   313,   314,   315,     0,   316,   317,   318,     0,   319,
7392      320,   321,     0,   322,   323,   324,   325,   326,   327,   328,
7393      329,   330,   331,     0,   332,     0,   333,   334,   335,   336,
7394        0,   337,     0,   338,     0,     0,     0,   341,   342,   343,
7395      344,     0,   345,   346,     0,   347,   348,   349,     0,   350,
7396      351,   352,   353,   354,     0,   356,   357,   358,   359,     0,
7397      360,   361,   362,   363,   364,   365,   366,     0,   367,     0,
7398      369,   370,   371,   372,   373,   374,   375,     0,   376,     0,
7399      377,     0,     0,   380,     0,   382,   383,   384,   385,   386,
7400        0,     0,   387,   388,     0,   390,     0,     0,   392,   393,
7401      394,     0,     0,   395,   396,   397,   398,   399,   400,   401,
7402      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
7403        0,   413,   414,   415,   416,   417,   418,   419,   420,   421,
7404      422,   423,     0,   424,   425,     0,   427,     0,   428,   429,
7405      430,   431,   432,   433,     0,   434,   435,     0,     0,   436,
7406      437,   438,     0,     0,   439,   440,   441,     0,   443,     0,
7407      445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
7408        0,   455,   456,   457,   458,   459,   460,   461,   462,     0,
7409      463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
7410      473,   474,   475,   476,   477,     0,   478,   479,   480,   481,
7411      482,   483,   484,   485,   486,   487,   488,   489,     0,   490,
7412      491,     0,   493,   494,   495,   496,   497,   498,   499,   500,
7413      501,   502,   503,   504,   505,   506,   507,    40,   508,   509,
7414      510,   511,   512,     0,   513,   514,   515,   516,   517,     0,
7415      519,   520,   521,   522,     0,   523,   524,   525,   526,   527,
7416      528,   529,   530,   531,   532,   533,   534,   535,   536,   537,
7417        0,   538,   539,    44,   540,     0,   542,   543,   544,   545,
7418      546,     0,   547,   548,   549,     0,     0,   550,   551,   552,
7419      553,   554,     0,   555,   556,   557,   558,   559,   560,   561,
7420      562,     0,     0,   563,   564,   565,   566,   567,     0,     0,
7421      568,   569,   570,   571,   572,  1156,   574,     0,   575,     0,
7422      577,   578,   579,   580,     0,     0,   581,     0,    49,   582,
7423      583,   584,   585,   586,   587,   588,   589,   590,   591,   592,
7424      593,   594,   595,   596,   597,   598,   599,   600,   601,   609,
7425        0,    50,     0,     0,     0,     0,     0,     0,     0,     0,
7426        0,     0,     0,     0,     0,    51,   229,   230,   231,   232,
7427      233,   234,   235,   236,     0,   237,   238,   239,     0,     0,
7428        0,     0,     0,     0,     0,   240,   241,     0,   242,   243,
7429      244,     0,   246,   247,   248,   249,   250,     0,   252,   253,
7430        0,   254,   255,   256,   257,   258,   259,     0,     0,   260,
7431      261,   262,   263,   264,     0,   265,   266,   267,   268,   269,
7432        0,     0,     0,   271,   272,   273,   274,   275,     0,   277,
7433      278,   279,     0,   280,   281,   282,   283,   284,   285,     0,
7434        0,   287,   288,   289,     0,     0,     0,     0,     0,     0,
7435        0,   291,   292,   293,   294,   295,   296,   297,   298,   299,
7436        0,   300,     0,   301,   302,   303,   304,   305,   306,     0,
7437      307,   308,   309,   310,     0,     0,   311,   312,   313,   314,
7438      315,     0,   316,   317,   318,     0,   319,   320,   321,     0,
7439      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
7440        0,   332,     0,   333,   334,   335,   336,     0,   337,     0,
7441      338,     0,     0,     0,   341,   342,   343,   344,     0,   345,
7442      346,     0,   347,   348,   349,     0,   350,   351,   352,   353,
7443      354,     0,   356,   357,   358,   359,     0,   360,   361,   362,
7444      363,   364,   365,   366,     0,   367,     0,   369,   370,   371,
7445      372,   373,   374,   375,     0,   376,     0,   377,     0,     0,
7446      380,     0,   382,   383,   384,   385,   386,     0,     0,   387,
7447      388,     0,   390,     0,     0,   392,   393,   394,     0,     0,
7448      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
7449      405,   406,   407,   408,   409,   410,   411,     0,   413,   414,
7450      415,   416,   417,   418,   419,   420,   421,   422,   423,     0,
7451      424,   425,     0,   427,     0,   428,   429,   430,   431,   432,
7452      433,     0,   434,   435,     0,     0,   436,   437,   438,     0,
7453        0,   439,   440,   441,     0,   443,     0,   445,   446,   447,
7454      448,   449,   450,   451,   452,   453,   454,     0,   455,   456,
7455      457,   458,   459,   460,   461,   462,     0,   463,   464,   465,
7456      466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
7457      476,   477,     0,   478,   479,   480,   481,   482,   483,   484,
7458      485,   486,   487,   488,   489,     0,   490,   491,     0,   493,
7459      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
7460      504,   505,   506,   507,     0,   508,   509,   510,   511,   512,
7461        0,   513,   514,   515,   516,   517,     0,   519,   520,   521,
7462      522,     0,   523,   524,   525,   526,   527,   528,   529,   530,
7463      531,   532,   533,   534,   535,   536,   537,     0,   538,   539,
7464        0,   540,     0,   542,   543,   544,   545,   546,     0,   547,
7465      548,   549,     0,     0,   550,   551,   552,   553,   554,     0,
7466      555,   556,   557,   558,   559,   560,   561,   562,     0,     0,
7467      563,   564,   565,   566,   567,     0,     0,   568,   569,   570,
7468      571,   572,   573,   574,     0,   575,     0,   577,   578,   579,
7469      580,     0,     0,   581,     0,     0,   582,   583,   584,   585,
7470      586,   587,   588,   589,   590,   591,   592,   593,   594,   595,
7471      596,   597,   598,   599,   600,   601,   609,     0,     0,     0,
7472        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
7473        0,     0,  1352,   229,   230,   231,   232,   233,   234,   235,
7474      236,     0,   237,   238,   239,     0,     0,     0,     0,     0,
7475        0,     0,   240,   241,     0,   242,   243,   244,     0,   246,
7476      247,   248,   249,   250,     0,   252,   253,     0,   254,   255,
7477      256,   257,   258,   259,     0,     0,   260,   261,   262,   263,
7478      264,     0,   265,   266,   267,   268,   269,     0,     0,     0,
7479      271,   272,   273,   274,   275,     0,   277,   278,   279,     0,
7480      280,   281,   282,   283,   284,   285,     0,     0,   287,   288,
7481      289,     0,     0,     0,     0,     0,     0,     0,   291,   292,
7482      293,   294,   295,   296,   297,   298,   299,     0,   300,     0,
7483      301,   302,   303,   304,   305,   306,     0,   307,   308,   309,
7484      310,     0,     0,   311,   312,   313,   314,   315,     0,   316,
7485      317,   318,     0,   319,   320,   321,     0,   322,   323,   324,
7486      325,   326,   327,   328,   329,   330,   331,     0,   332,     0,
7487      333,   334,   335,   336,     0,   337,     0,   338,     0,     0,
7488        0,   341,   342,   343,   344,     0,   345,   346,     0,   347,
7489      348,   349,     0,   350,   351,   352,   353,   354,     0,   356,
7490      357,   358,   359,     0,   360,   361,   362,   363,   364,   365,
7491      366,     0,   367,     0,   369,   370,   371,   372,   373,   374,
7492      375,     0,   376,     0,   377,     0,     0,   380,     0,   382,
7493      383,   384,   385,   386,     0,     0,   387,   388,     0,   390,
7494        0,     0,   392,   393,   394,     0,     0,   395,   396,   397,
7495      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
7496      408,   409,   410,   411,     0,   413,   414,   415,   416,   417,
7497      418,   419,   420,   421,   422,   423,     0,   424,   425,     0,
7498      427,     0,   428,   429,   430,   431,   432,   433,     0,   434,
7499      435,     0,     0,   436,   437,   438,     0,     0,   439,   440,
7500      441,     0,   443,     0,   445,   446,   447,   448,   449,   450,
7501      451,   452,   453,   454,     0,   455,   456,   457,   458,   459,
7502      460,   461,   462,     0,   463,   464,   465,   466,   467,   468,
7503      469,   470,   471,   472,   473,   474,   475,   476,   477,     0,
7504      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
7505      488,   489,     0,   490,   491,     0,   493,   494,   495,   496,
7506      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
7507      507,     0,   508,   509,   510,   511,   512,     0,   513,   514,
7508      515,   516,   517,     0,   519,   520,   521,   522,     0,   523,
7509      524,   525,   526,   527,   528,   529,   530,   531,   532,   533,
7510      534,   535,   536,   537,     0,   538,   539,     0,   540,     0,
7511      542,   543,   544,   545,   546,     0,   547,   548,   549,     0,
7512        0,   550,   551,   552,   553,   554,     0,   555,   556,   557,
7513      558,   559,   560,   561,   562,     0,     0,   563,   564,   565,
7514      566,   567,     0,     0,   568,   569,   570,   571,   572,   573,
7515      574,     0,   575,     0,   577,   578,   579,   580,     0,     0,
7516      581,     0,     0,   582,   583,   584,   585,   586,   587,   588,
7517      589,   590,   591,   592,   593,   594,   595,   596,   597,   598,
7518      599,   600,   601,   609,     0,     0,     0,     0,     0,     0,
7519        0,     0,     0,     0,     0,     0,     0,     0,     0,  2941,
7520      229,   230,   231,   232,   233,   234,   235,   236,     0,   237,
7521      238,   239,     0,     0,     0,     0,     0,     0,     0,   240,
7522      241,     0,   242,   243,   244,     0,   246,   247,   248,   249,
7523      250,     0,   252,   253,     0,   254,   255,   256,   257,   258,
7524      259,     0,     0,   260,   261,   262,   263,   264,     0,   265,
7525      266,   267,   268,   269,     0,     0,     0,   271,   272,   273,
7526      274,   275,     0,   277,   278,   279,     0,   280,   281,   282,
7527      283,   284,   285,     0,     0,   287,   288,   289,     0,     0,
7528        0,     0,     0,     0,     0,   291,   292,   293,   294,   295,
7529      296,   297,   298,   299,     0,   300,     0,   301,   302,   303,
7530      304,   305,   306,     0,   307,   308,   309,   310,     0,     0,
7531      311,   312,   313,   314,   315,     0,   316,   317,   318,     0,
7532      319,   320,   321,     0,   322,   323,   324,   325,   326,   327,
7533      328,   329,   330,   331,     0,   332,     0,   333,   334,   335,
7534      336,     0,   337,     0,   338,     0,     0,     0,   341,   342,
7535      343,   344,     0,   345,   346,     0,   347,   348,   349,     0,
7536      350,   351,   352,   353,   354,     0,   356,   357,   358,   359,
7537        0,   360,   361,   362,   363,   364,   365,   366,     0,   367,
7538        0,   369,   370,   371,   372,   373,   374,   375,     0,   376,
7539        0,   377,     0,     0,   380,     0,   382,   383,   384,   385,
7540      386,     0,     0,   387,   388,     0,   390,     0,     0,   392,
7541      393,   394,     0,     0,   395,   396,   397,   398,   399,   400,
7542      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
7543      411,     0,   413,   414,   415,   416,   417,   418,   419,   420,
7544      421,   422,   423,     0,   424,   425,     0,   427,     0,   428,
7545      429,   430,   431,   432,   433,     0,   434,   435,     0,     0,
7546      436,   437,   438,     0,     0,   439,   440,   441,     0,   443,
7547        0,   445,   446,   447,   448,   449,   450,   451,   452,   453,
7548      454,     0,   455,   456,   457,   458,   459,   460,   461,   462,
7549        0,   463,   464,   465,   466,   467,   468,   469,   470,   471,
7550      472,   473,   474,   475,   476,   477,     0,   478,   479,   480,
7551      481,   482,   483,   484,   485,   486,   487,   488,   489,     0,
7552      490,   491,     0,   493,   494,   495,   496,   497,   498,   499,
7553      500,   501,   502,   503,   504,   505,   506,   507,     0,   508,
7554      509,   510,   511,   512,     0,   513,   514,   515,   516,   517,
7555        0,   519,   520,   521,   522,     0,   523,   524,   525,   526,
7556      527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
7557      537,     0,   538,   539,     0,   540,     0,   542,   543,   544,
7558      545,   546,     0,   547,   548,   549,     0,     0,   550,   551,
7559      552,   553,   554,     0,   555,   556,   557,   558,   559,   560,
7560      561,   562,     0,     0,   563,   564,   565,   566,   567,     0,
7561        0,   568,   569,   570,   571,   572,   573,   574,     0,   575,
7562        0,   577,   578,   579,   580,     0,     0,   581,     0,     0,
7563      582,   583,   584,   585,   586,   587,   588,   589,   590,   591,
7564      592,   593,   594,   595,   596,   597,   598,   599,   600,   601,
7565      609,     0,     0,     0,     0,     0,     0,     0,     0,     0,
7566        0,     0,     0,     0,     0,     0,  4137,   229,   230,   231,
7567      232,   233,   234,   235,   236,     0,   237,   238,   239,     0,
7568        0,     0,     0,     0,     0,     0,   240,   241,     0,   242,
7569      243,   244,     0,   246,   247,   248,   249,   250,     0,   252,
7570      253,     0,   254,   255,   256,   257,   258,   259,     0,     0,
7571      260,   261,   262,   263,   264,     0,   265,   266,   267,   268,
7572      269,     0,     0,     0,   271,   272,   273,   274,   275,     0,
7573      277,   278,   279,     0,   280,   281,   282,   283,   284,   285,
7574        0,     0,   287,   288,   289,     0,     0,     0,     0,     0,
7575        0,     0,   291,   292,   293,   294,   295,   296,   297,   298,
7576      299,     0,   300,     0,   301,   302,   303,   304,   305,   306,
7577        0,   307,   308,   309,   310,     0,     0,   311,   312,   313,
7578      314,   315,     0,   316,   317,   318,     0,   319,   320,   321,
7579        0,   322,   323,   324,   325,   326,   327,   328,   329,   330,
7580      331,     0,   332,     0,   333,   334,   335,   336,     0,   337,
7581        0,   338,     0,     0,     0,   341,   342,   343,   344,     0,
7582      345,   346,     0,   347,   348,   349,     0,   350,   351,   352,
7583      353,   354,     0,   356,   357,   358,   359,     0,   360,   361,
7584      362,   363,   364,   365,   366,     0,   367,     0,   369,   370,
7585      371,   372,   373,   374,   375,     0,   376,     0,   377,     0,
7586        0,   380,     0,   382,   383,   384,   385,   386,     0,     0,
7587      387,   388,     0,   390,     0,     0,   392,   393,   394,     0,
7588        0,   395,   396,   397,   398,   399,   400,   401,   402,   403,
7589      404,   405,   406,   407,   408,   409,   410,   411,     0,   413,
7590      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
7591        0,   424,   425,     0,   427,     0,   428,   429,   430,   431,
7592      432,   433,     0,   434,   435,     0,     0,   436,   437,   438,
7593        0,     0,   439,   440,   441,     0,   443,     0,   445,   446,
7594      447,   448,   449,   450,   451,   452,   453,   454,     0,   455,
7595      456,   457,   458,   459,   460,   461,   462,     0,   463,   464,
7596      465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
7597      475,   476,   477,     0,   478,   479,   480,   481,   482,   483,
7598      484,   485,   486,   487,   488,   489,     0,   490,   491,     0,
7599      493,   494,   495,   496,   497,   498,   499,   500,   501,   502,
7600      503,   504,   505,   506,   507,     0,   508,   509,   510,   511,
7601      512,     0,   513,   514,   515,   516,   517,     0,   519,   520,
7602      521,   522,     0,   523,   524,   525,   526,   527,   528,   529,
7603      530,   531,   532,   533,   534,   535,   536,   537,     0,   538,
7604      539,     0,   540,     0,   542,   543,   544,   545,   546,     0,
7605      547,   548,   549,     0,     0,   550,   551,   552,   553,   554,
7606        0,   555,   556,   557,   558,   559,   560,   561,   562,     0,
7607        0,   563,   564,   565,   566,   567,     0,     0,   568,   569,
7608      570,   571,   572,   573,   574,     0,   575,     0,   577,   578,
7609      579,   580,     0,     0,   581,     0,     0,   582,   583,   584,
7610      585,   586,   587,   588,   589,   590,   591,   592,   593,   594,
7611      595,   596,   597,   598,   599,   600,   601,     0,     0,     0,
7612     1069,     0,  1505,   669,     0,     0,     0,   887,   729,     0,
7613        0,     0,     0,  4605,   888,   889,   890,   229,   230,   231,
7614      232,   233,   234,   235,   236,  1638,   237,   238,   239,  1639,
7615     1640,  1641,  1642,  1643,  1644,  1645,   240,   241,  1646,   242,
7616      243,   244,   245,   246,   247,   248,     0,  1070,   251,  1071,
7617     1072,  1647,   254,   255,   256,   257,   258,   259,  1648,  1649,
7618      260,   261,  1073,  1074,   264,  1650,   265,   266,   267,   268,
7619        0,  1651,   270,  1652,   271,   272,   273,   274,   275,   276,
7620      277,   278,   279,  1653,   280,   281,   282,   283,   284,   285,
7621     1654,   286,   287,   288,   289,  1655,  1656,  1657,   290,  1658,
7622     1659,  1660,   291,   292,   293,   294,   295,   296,  1075,  1076,
7623      299,  1661,   300,  1662,   301,   302,   303,   304,   305,   306,
7624     1663,   307,   308,   309,   310,  1664,  1665,   311,   312,  1077,
7625      314,   315,  1666,   316,   317,   318,  1667,   319,   320,   321,
7626     1668,   322,   323,   324,   325,     0,   327,   328,   329,   330,
7627        0,  1669,   332,  1670,   333,   334,  1078,   336,  1671,   337,
7628     1672,   338,   339,  1673,   340,   341,   342,   343,   344,  1674,
7629      345,     0,  1675,     0,   348,   349,  1676,   350,   351,   352,
7630      353,   354,   355,   356,   357,   358,   359,  1677,   360,   361,
7631      362,   363,   364,   365,   366,  1678,   367,   368,     0,   370,
7632      371,   372,   373,  1080,  1081,  1679,  1082,  1680,   377,   378,
7633      379,   380,   381,   382,   383,   384,   385,   386,  1681,  1682,
7634      387,     0,   389,   390,   391,  1683,   392,   393,   394,  1684,
7635     1685,   395,   396,   397,   398,   399,   400,   401,   402,   403,
7636      404,   405,   406,   407,   408,   409,   410,  1083,   412,  1084,
7637      414,   415,   416,   417,   418,   419,   420,  3886,     0,   423,
7638     1686,   424,   425,   426,   427,  1687,     0,   429,  1085,   431,
7639      432,   433,  1688,   434,   435,  1689,  1690,  3887,   437,   438,
7640     1691,  1692,   439,   440,     0,   442,   443,   444,     0,   446,
7641      447,   448,   449,   450,   451,   452,   453,   454,  1693,   455,
7642      456,     0,   458,     0,   460,   461,   462,  1694,   463,   464,
7643      465,   466,   467,   468,   469,   470,   471,   472,  1086,   474,
7644      475,   476,   477,  1695,   478,   479,   480,   481,   482,   483,
7645      484,   485,   486,   487,   488,   489,  1696,   490,   491,   492,
7646      493,   494,   495,   496,   497,     0,   499,   500,   501,   502,
7647      503,   504,   505,   506,   507,  1697,   508,   509,   510,   511,
7648      512,  1698,   513,   514,  2178,   516,   517,   518,   519,   520,
7649     1088,   522,  1699,   523,   524,   525,   526,   527,   528,   529,
7650      530,   531,   532,   533,   534,   535,     0,   537,  1700,   538,
7651      539,  1701,   540,   541,   542,   543,   544,   545,   546,  1702,
7652      547,  1089,  1090,  1703,  1704,   550,   551,     0,   553,     0,
7653     1705,   555,   556,   557,   558,   559,   560,   561,   562,  1706,
7654     1707,   563,   564,   565,   566,   567,  1708,  1709,   568,   569,
7655      570,   571,   572,     0,  1091,  1710,   575,   576,   577,   578,
7656      579,   580,  1711,  1712,   581,  1713,  1714,   582,   583,   584,
7657      585,   586,   587,     0,     0,     0,     0,     0,     0,     0,
7658        0,     0,     0,     0,   599,   600,   601,     0,     0,     0,
7659      893,   894,   895,     0,  3888,  3889,   898,   899,   900,   901,
7660     1069,     0,  1505,   669,     0,     0,     0,   887,   729,     0,
7661        0,     0,     0,     0,   888,   889,   890,   229,   230,   231,
7662      232,   233,   234,   235,   236,  1638,   237,   238,   239,  1639,
7663     1640,  1641,  1642,  1643,  1644,  1645,   240,   241,  1646,   242,
7664      243,   244,   245,   246,   247,   248,     0,  1070,   251,  1071,
7665     1072,  1647,   254,   255,   256,   257,   258,   259,  1648,  1649,
7666      260,   261,  1073,  1074,   264,  1650,   265,   266,   267,   268,
7667        0,  1651,   270,  1652,   271,   272,   273,   274,   275,   276,
7668      277,   278,   279,  1653,   280,   281,   282,   283,   284,   285,
7669     1654,   286,   287,   288,   289,  1655,  1656,  1657,   290,  1658,
7670     1659,  1660,   291,   292,   293,   294,   295,   296,  1075,  1076,
7671      299,  1661,   300,  1662,   301,   302,   303,   304,   305,   306,
7672     1663,   307,   308,   309,   310,  1664,  1665,   311,   312,  1077,
7673      314,   315,  1666,   316,   317,   318,  1667,   319,   320,   321,
7674     1668,   322,   323,   324,   325,     0,   327,   328,   329,   330,
7675        0,  1669,   332,  1670,   333,   334,  1078,   336,  1671,   337,
7676     1672,   338,   339,  1673,   340,   341,   342,   343,   344,  1674,
7677      345,     0,  1675,     0,   348,   349,  1676,   350,   351,   352,
7678      353,   354,   355,   356,   357,   358,   359,  1677,   360,   361,
7679      362,   363,   364,   365,   366,  1678,   367,   368,     0,   370,
7680      371,   372,   373,  1080,  1081,  1679,  1082,  1680,   377,   378,
7681      379,   380,   381,   382,   383,   384,   385,   386,  1681,  1682,
7682      387,     0,   389,   390,   391,  1683,   392,   393,   394,  1684,
7683     1685,   395,   396,   397,   398,   399,   400,   401,   402,   403,
7684      404,   405,   406,   407,   408,   409,   410,  1083,   412,  1084,
7685      414,   415,   416,   417,   418,   419,   420,  4318,     0,   423,
7686     1686,   424,   425,   426,   427,  1687,     0,   429,  1085,   431,
7687      432,   433,  1688,   434,   435,  1689,  1690,  3887,   437,   438,
7688     1691,  1692,   439,   440,     0,   442,   443,   444,     0,   446,
7689      447,   448,   449,   450,   451,   452,   453,   454,  1693,   455,
7690      456,     0,   458,     0,   460,   461,   462,  1694,   463,   464,
7691      465,   466,   467,   468,   469,   470,   471,   472,  1086,   474,
7692      475,   476,   477,  1695,   478,   479,   480,   481,   482,   483,
7693      484,   485,   486,   487,   488,   489,  1696,   490,   491,   492,
7694      493,   494,   495,   496,   497,     0,   499,   500,   501,   502,
7695      503,   504,   505,   506,   507,  1697,   508,   509,   510,   511,
7696      512,  1698,   513,   514,  2178,   516,   517,   518,   519,   520,
7697     1088,   522,  1699,   523,   524,   525,   526,   527,   528,   529,
7698      530,   531,   532,   533,   534,   535,     0,   537,  1700,   538,
7699      539,  1701,   540,   541,   542,   543,   544,   545,   546,  1702,
7700      547,  1089,  1090,  1703,  1704,   550,   551,     0,   553,     0,
7701     1705,   555,   556,   557,   558,   559,   560,   561,   562,  1706,
7702     1707,   563,   564,   565,   566,   567,  1708,  1709,   568,   569,
7703      570,   571,   572,     0,  1091,  1710,   575,   576,   577,   578,
7704      579,   580,  1711,  1712,   581,  1713,  1714,   582,   583,   584,
7705      585,   586,   587,     0,     0,     0,     0,     0,     0,     0,
7706        0,     0,     0,     0,   599,   600,   601,     0,     0,     0,
7707      893,   894,   895,   609,  3888,  3889,   898,   899,   900,   901,
7708      887,     0,     0,     0,     0,     0,     0,   888,   889,   890,
7709      229,   230,   231,   232,   233,   234,   235,   236,     0,   237,
7710      238,   239,     0,     0,     0,     0,     0,     0,     0,   240,
7711      241,     0,   242,   243,   244,     0,   246,   247,   248,   249,
7712      250,     0,   252,   253,     0,   254,   255,   256,   257,   258,
7713      259,     0,     0,   260,   261,   262,   263,   264,     0,   265,
7714      891,   267,   268,   269,     0,     0,     0,   271,   272,   273,
7715      274,   275,     0,   277,   278,   279,     0,   280,   281,   282,
7716      283,   284,   285,     0,     0,   287,   288,   289,     0,     0,
7717        0,     0,     0,     0,     0,   291,   292,   293,   294,   295,
7718      296,   297,   298,   299,     0,   300,     0,   301,   302,   303,
7719      304,   305,   306,     0,   307,   308,   309,   310,     0,     0,
7720      311,   312,   313,   314,   315,     0,   316,   317,   318,     0,
7721      319,   320,   321,     0,   322,   323,   324,   325,   326,   327,
7722      328,   329,   330,   331,     0,   892,     0,   333,   334,   335,
7723      336,     0,   337,     0,   338,     0,     0,     0,   341,   342,
7724      343,   344,     0,   345,   346,     0,   347,   348,   349,     0,
7725      350,   351,   352,   353,   354,     0,   356,   357,   358,   359,
7726        0,   360,   361,   362,   363,   364,   365,   366,     0,   367,
7727        0,   369,   370,   371,   372,   373,   374,   375,     0,   376,
7728        0,   377,     0,     0,   380,     0,   382,   383,   384,   385,
7729      386,     0,     0,   387,   388,     0,   390,     0,     0,   392,
7730      393,   394,     0,     0,   395,   396,   397,   398,   399,   400,
7731      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
7732      411,     0,   413,   414,   415,   416,   417,   418,   419,   420,
7733      421,   422,   423,     0,   424,   425,     0,   427,     0,   428,
7734      429,   430,   431,   432,   433,     0,   434,   435,     0,     0,
7735      436,   437,   438,     0,     0,   439,   440,   441,     0,   443,
7736        0,   445,   446,   447,   448,   449,   450,   451,   452,   453,
7737      454,     0,   455,   456,   457,   458,   459,   460,   461,   462,
7738        0,   463,   464,   465,   466,   467,   468,   469,   470,   471,
7739      472,   473,   474,   475,   476,   477,     0,   478,   479,   480,
7740      481,   482,   483,   484,   485,   486,   487,   488,   489,     0,
7741      490,   491,     0,   493,   494,   495,   496,   497,   498,   499,
7742      500,   501,   502,   503,   504,   505,   506,   507,     0,   508,
7743      509,   510,   511,   512,     0,   513,   514,   515,   516,   517,
7744        0,   519,   520,   521,   522,     0,   523,   524,   525,   526,
7745      527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
7746      537,     0,   538,   539,     0,   540,     0,   542,   543,   544,
7747      545,   546,     0,   547,   548,   549,     0,     0,   550,   551,
7748      552,   553,   554,     0,   555,   556,   557,   558,   559,   560,
7749      561,   562,     0,     0,   563,   564,   565,   566,   567,     0,
7750        0,   568,   569,   570,   571,   572,   573,   574,     0,   575,
7751        0,   577,   578,   579,   580,     0,     0,   581,     0,     0,
7752      582,   583,   584,   585,   586,   587,   588,   589,   590,   591,
7753      592,   593,   594,   595,   596,   597,   598,   599,   600,   601,
7754        0,     0,     0,   893,   894,   895,   609,   896,   897,   898,
7755      899,   900,   901,   887,     0,     0,     0,     0,     0,     0,
7756      888,   889,   890,   229,   230,   231,   232,   233,   234,   235,
7757      236,     0,   237,   238,   239,     0,     0,     0,     0,     0,
7758        0,     0,   240,   241,     0,   242,   243,   244,     0,   246,
7759      247,   248,   249,   250,     0,   252,   253,     0,   254,   255,
7760      256,   257,   258,   259,     0,     0,   260,   261,   262,   263,
7761      264,     0,   265,  1019,   267,   268,   269,     0,     0,     0,
7762      271,   272,   273,   274,   275,     0,   277,   278,   279,     0,
7763      280,   281,   282,   283,   284,   285,     0,     0,   287,   288,
7764      289,     0,     0,     0,     0,     0,     0,     0,   291,   292,
7765      293,   294,   295,   296,   297,   298,   299,     0,   300,     0,
7766      301,   302,   303,   304,   305,   306,     0,   307,   308,   309,
7767      310,     0,     0,   311,   312,   313,   314,   315,     0,   316,
7768      317,   318,     0,   319,   320,   321,     0,   322,   323,   324,
7769      325,   326,   327,   328,   329,   330,   331,     0,  1020,     0,
7770      333,   334,   335,   336,     0,   337,     0,   338,     0,     0,
7771        0,   341,   342,   343,   344,     0,   345,   346,     0,   347,
7772      348,   349,     0,   350,   351,   352,   353,   354,     0,   356,
7773      357,   358,   359,     0,   360,   361,   362,   363,   364,   365,
7774      366,     0,   367,     0,   369,   370,   371,   372,   373,   374,
7775      375,     0,   376,     0,   377,     0,     0,   380,     0,   382,
7776      383,   384,   385,   386,     0,     0,   387,   388,     0,   390,
7777        0,     0,   392,   393,   394,     0,     0,   395,   396,   397,
7778      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
7779      408,   409,   410,   411,     0,   413,   414,   415,   416,   417,
7780      418,   419,   420,   421,   422,   423,     0,   424,   425,     0,
7781      427,     0,   428,   429,   430,   431,   432,   433,     0,   434,
7782      435,     0,     0,   436,   437,   438,     0,     0,   439,   440,
7783      441,     0,   443,     0,   445,   446,   447,   448,   449,   450,
7784      451,   452,   453,   454,     0,   455,   456,   457,   458,   459,
7785      460,   461,   462,     0,   463,   464,   465,   466,   467,   468,
7786      469,   470,   471,   472,   473,   474,   475,   476,   477,     0,
7787      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
7788      488,   489,     0,   490,   491,     0,   493,   494,   495,   496,
7789      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
7790      507,     0,   508,   509,   510,   511,   512,     0,   513,   514,
7791      515,   516,   517,     0,   519,   520,   521,   522,     0,   523,
7792      524,   525,   526,   527,   528,   529,   530,   531,   532,   533,
7793      534,   535,   536,   537,     0,   538,   539,     0,   540,     0,
7794      542,   543,   544,   545,   546,     0,   547,   548,   549,     0,
7795        0,   550,   551,   552,   553,   554,     0,   555,   556,   557,
7796      558,   559,   560,   561,   562,     0,     0,   563,   564,   565,
7797      566,   567,     0,     0,   568,   569,   570,   571,   572,   573,
7798      574,     0,   575,     0,   577,   578,   579,   580,     0,     0,
7799      581,     0,     0,   582,   583,   584,   585,   586,   587,   588,
7800      589,   590,   591,   592,   593,   594,   595,   596,   597,   598,
7801      599,   600,   601,     0,     0,     0,   893,   894,   895,   609,
7802      896,   897,   898,   899,   900,   901,   887,     0,     0,     0,
7803        0,     0,     0,   888,   889,   890,   229,   230,   231,   232,
7804      233,   234,   235,   236,     0,   237,   238,   239,     0,     0,
7805        0,     0,     0,     0,     0,   240,   241,     0,   242,   243,
7806      244,     0,   246,   247,   248,   249,   250,     0,   252,   253,
7807        0,   254,   255,   256,   257,   258,   259,     0,     0,   260,
7808      261,   262,   263,   264,     0,   265,  1119,   267,   268,   269,
7809        0,     0,     0,   271,   272,   273,   274,   275,     0,   277,
7810      278,   279,     0,   280,   281,   282,   283,   284,   285,     0,
7811        0,   287,   288,   289,     0,     0,     0,     0,     0,     0,
7812        0,   291,   292,   293,   294,   295,   296,   297,   298,   299,
7813        0,   300,     0,   301,   302,   303,   304,   305,   306,     0,
7814      307,   308,   309,   310,     0,     0,   311,   312,   313,   314,
7815      315,     0,   316,   317,   318,     0,   319,   320,   321,     0,
7816      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
7817        0,  1120,     0,   333,   334,   335,   336,     0,   337,     0,
7818      338,     0,     0,     0,   341,   342,   343,   344,     0,   345,
7819      346,     0,   347,   348,   349,     0,   350,   351,   352,   353,
7820     1121,     0,   356,   357,   358,   359,     0,   360,   361,   362,
7821      363,   364,   365,   366,     0,   367,     0,   369,   370,   371,
7822      372,   373,   374,   375,     0,   376,     0,   377,     0,     0,
7823      380,     0,   382,   383,   384,   385,   386,     0,     0,   387,
7824      388,     0,   390,     0,     0,   392,   393,   394,     0,     0,
7825      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
7826      405,   406,   407,   408,   409,   410,   411,     0,   413,   414,
7827      415,   416,   417,   418,   419,   420,   421,   422,   423,     0,
7828      424,   425,     0,   427,     0,   428,   429,   430,   431,   432,
7829      433,     0,   434,   435,     0,     0,   436,   437,   438,     0,
7830        0,   439,   440,   441,     0,   443,     0,   445,   446,   447,
7831      448,   449,   450,   451,   452,   453,   454,     0,   455,   456,
7832      457,   458,   459,   460,   461,   462,     0,   463,   464,   465,
7833      466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
7834      476,   477,     0,   478,   479,   480,   481,   482,   483,   484,
7835      485,   486,   487,   488,   489,     0,   490,   491,     0,   493,
7836      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
7837      504,   505,   506,   507,     0,   508,   509,   510,   511,   512,
7838        0,   513,   514,   515,   516,   517,     0,   519,   520,   521,
7839      522,     0,   523,   524,   525,   526,   527,   528,   529,   530,
7840      531,   532,   533,   534,   535,   536,   537,     0,   538,   539,
7841        0,   540,     0,   542,   543,   544,   545,   546,     0,   547,
7842      548,   549,     0,     0,   550,   551,   552,   553,   554,     0,
7843      555,   556,   557,   558,   559,   560,   561,   562,     0,     0,
7844      563,   564,   565,   566,   567,     0,     0,   568,   569,   570,
7845      571,   572,   573,   574,     0,   575,     0,   577,   578,   579,
7846      580,     0,     0,   581,     0,     0,   582,   583,   584,   585,
7847      586,   587,   588,   589,   590,   591,   592,   593,   594,   595,
7848      596,   597,   598,   599,   600,   601,     0,     0,     0,   893,
7849      894,   895,   609,   896,   897,   898,   899,   900,   901,   887,
7850        0,     0,     0,     0,     0,     0,   888,   889,   890,   229,
7851      230,   231,   232,   233,   234,   235,   236,     0,   237,   238,
7852      239,     0,     0,     0,     0,     0,     0,     0,   240,   241,
7853        0,   242,   243,   244,     0,   246,   247,   248,   249,   250,
7854        0,   252,   253,     0,   254,   255,   256,   257,   258,   259,
7855        0,     0,   260,   261,   262,   263,   264,     0,   265,  1737,
7856      267,   268,   269,     0,     0,     0,   271,   272,   273,   274,
7857      275,     0,   277,   278,   279,     0,   280,   281,   282,   283,
7858      284,   285,     0,     0,   287,   288,   289,     0,     0,     0,
7859        0,     0,     0,     0,   291,   292,   293,   294,   295,   296,
7860      297,   298,   299,     0,   300,     0,   301,   302,   303,   304,
7861      305,   306,     0,   307,   308,   309,   310,     0,     0,   311,
7862      312,   313,   314,   315,     0,   316,   317,   318,     0,   319,
7863      320,   321,     0,   322,   323,   324,   325,   326,   327,   328,
7864      329,   330,   331,     0,  1738,     0,   333,   334,   335,   336,
7865        0,   337,     0,   338,     0,     0,     0,   341,   342,   343,
7866      344,     0,   345,   346,     0,   347,   348,   349,     0,   350,
7867      351,   352,   353,   354,     0,   356,   357,   358,   359,     0,
7868      360,   361,   362,   363,   364,   365,   366,     0,   367,     0,
7869      369,   370,   371,   372,   373,   374,   375,     0,   376,     0,
7870      377,     0,     0,   380,     0,   382,   383,   384,   385,   386,
7871        0,     0,   387,   388,     0,   390,     0,     0,   392,   393,
7872      394,     0,     0,   395,   396,   397,   398,   399,   400,   401,
7873      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
7874        0,   413,   414,   415,   416,   417,   418,   419,   420,   421,
7875      422,   423,     0,   424,   425,     0,   427,     0,   428,   429,
7876      430,   431,   432,   433,     0,   434,   435,     0,     0,   436,
7877      437,   438,     0,     0,   439,   440,   441,     0,   443,     0,
7878      445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
7879        0,   455,   456,   457,   458,   459,   460,   461,   462,     0,
7880      463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
7881      473,   474,   475,   476,   477,     0,   478,   479,   480,   481,
7882      482,   483,   484,   485,   486,   487,   488,   489,     0,   490,
7883      491,     0,   493,   494,   495,   496,   497,   498,   499,   500,
7884      501,   502,   503,   504,   505,   506,   507,     0,   508,   509,
7885      510,   511,   512,     0,   513,   514,   515,   516,   517,     0,
7886      519,   520,   521,   522,     0,   523,   524,   525,   526,   527,
7887      528,   529,   530,   531,   532,   533,   534,   535,   536,   537,
7888        0,   538,   539,     0,   540,     0,   542,   543,   544,   545,
7889      546,     0,   547,   548,   549,     0,     0,   550,   551,   552,
7890      553,   554,     0,   555,   556,   557,   558,   559,   560,   561,
7891      562,     0,     0,   563,   564,   565,   566,   567,     0,     0,
7892      568,   569,   570,   571,   572,   573,   574,     0,   575,     0,
7893      577,   578,   579,   580,     0,     0,   581,     0,     0,   582,
7894      583,   584,   585,   586,   587,   588,   589,   590,   591,   592,
7895      593,   594,   595,   596,   597,   598,   599,   600,   601,     0,
7896        0,     0,   893,   894,   895,   609,   896,   897,   898,   899,
7897      900,   901,   887,     0,     0,     0,     0,     0,     0,   888,
7898      889,   890,   229,   230,   231,   232,   233,   234,   235,   236,
7899        0,   237,   238,   239,     0,     0,     0,     0,     0,     0,
7900        0,   240,   241,     0,   242,   243,   244,     0,   246,   247,
7901      248,   249,   250,     0,   252,   253,     0,   254,   255,   256,
7902      257,   258,   259,     0,     0,   260,   261,   262,   263,   264,
7903        0,   265,   266,   267,   268,   269,     0,     0,     0,   271,
7904      272,   273,   274,   275,     0,   277,   278,   279,     0,   280,
7905      281,   282,   283,   284,   285,     0,     0,   287,   288,   289,
7906        0,     0,     0,     0,     0,     0,     0,   291,   292,   293,
7907      294,   295,   296,   297,   298,   299,     0,   300,     0,   301,
7908      302,   303,   304,   305,   306,     0,   307,   308,   309,   310,
7909        0,     0,   311,   312,   313,   314,   315,     0,   316,   317,
7910      318,     0,   319,   320,   321,     0,   322,   323,   324,   325,
7911      326,   327,   328,   329,   330,   331,     0,   332,     0,   333,
7912      334,   335,   336,     0,   337,     0,   338,     0,     0,     0,
7913      341,   342,   343,   344,     0,   345,   346,     0,   347,   348,
7914      349,     0,   350,   351,   352,   353,   354,     0,   356,   357,
7915      358,   359,     0,   360,   361,   362,   363,   364,   365,   366,
7916        0,   367,     0,   369,   370,   371,   372,   373,   374,   375,
7917        0,   376,     0,   377,     0,     0,   380,     0,   382,   383,
7918      384,   385,   386,     0,     0,   387,   388,     0,   390,     0,
7919        0,   392,   393,   394,     0,     0,   395,   396,   397,   398,
7920      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
7921      409,   410,   411,     0,   413,   414,   415,   416,   417,   418,
7922      419,   420,   421,   422,   423,     0,   424,   425,     0,   427,
7923        0,   428,   429,   430,   431,   432,   433,     0,   434,   435,
7924        0,     0,   436,   437,   438,     0,     0,   439,   440,   441,
7925        0,   443,     0,   445,   446,   447,   448,   449,   450,   451,
7926      452,   453,   454,     0,   455,   456,   457,   458,   459,   460,
7927      461,   462,     0,   463,   464,   465,   466,   467,   468,   469,
7928      470,   471,   472,   473,   474,   475,   476,   477,     0,   478,
7929      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
7930      489,     0,   490,   491,     0,   493,   494,   495,   496,   497,
7931      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
7932        0,   508,   509,   510,   511,   512,     0,   513,   514,   515,
7933      516,   517,     0,   519,   520,   521,   522,     0,   523,   524,
7934      525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
7935      535,   536,   537,     0,   538,   539,     0,   540,     0,   542,
7936      543,   544,   545,   546,     0,   547,   548,   549,     0,     0,
7937      550,   551,   552,   553,   554,     0,   555,   556,   557,   558,
7938      559,   560,   561,   562,     0,     0,   563,   564,   565,   566,
7939      567,     0,     0,   568,   569,   570,   571,   572,   573,   574,
7940        0,   575,     0,   577,   578,   579,   580,     0,     0,   581,
7941        0,     0,   582,   583,   584,   585,   586,   587,   588,   589,
7942      590,   591,   592,   593,   594,   595,   596,   597,   598,   599,
7943      600,   601,     0,     0,     0,   893,   894,   895,   609,   896,
7944      897,   898,   899,   900,   901,   887,     0,     0,     0,     0,
7945        0,     0,   888,   889,   890,   229,   230,   231,   232,   233,
7946      234,   235,   236,     0,   237,   238,   239,     0,     0,     0,
7947        0,     0,     0,     0,   240,   241,     0,   242,   243,   244,
7948        0,   246,   247,   248,   249,   250,     0,   252,   253,     0,
7949      254,   255,   256,   257,   258,   259,     0,     0,   260,   261,
7950      262,   263,   264,     0,   265,  3019,   267,   268,   269,     0,
7951        0,     0,   271,   272,   273,   274,   275,     0,   277,   278,
7952      279,     0,   280,   281,   282,   283,   284,   285,     0,     0,
7953      287,   288,   289,     0,     0,     0,     0,     0,     0,     0,
7954      291,   292,   293,   294,   295,   296,   297,   298,   299,     0,
7955      300,     0,   301,   302,   303,   304,   305,   306,     0,   307,
7956      308,   309,   310,     0,     0,   311,   312,   313,   314,   315,
7957        0,   316,   317,   318,     0,   319,   320,   321,     0,   322,
7958      323,   324,   325,   326,   327,   328,   329,   330,   331,     0,
7959     3020,     0,   333,   334,   335,   336,     0,   337,     0,   338,
7960        0,     0,     0,   341,   342,   343,   344,     0,   345,   346,
7961        0,   347,   348,   349,     0,   350,   351,   352,   353,   354,
7962        0,   356,   357,   358,   359,     0,   360,   361,   362,   363,
7963      364,   365,   366,     0,   367,     0,   369,   370,   371,   372,
7964      373,   374,   375,     0,   376,     0,   377,     0,     0,   380,
7965        0,   382,   383,   384,   385,   386,     0,     0,   387,   388,
7966        0,   390,     0,     0,   392,   393,   394,     0,     0,   395,
7967      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
7968      406,   407,   408,   409,   410,   411,     0,   413,   414,   415,
7969      416,   417,   418,   419,   420,   421,   422,   423,     0,   424,
7970      425,     0,   427,     0,   428,   429,   430,   431,   432,   433,
7971        0,   434,   435,     0,     0,   436,   437,   438,     0,     0,
7972      439,   440,   441,     0,   443,     0,   445,   446,   447,   448,
7973      449,   450,   451,   452,   453,   454,     0,   455,   456,   457,
7974      458,   459,   460,   461,   462,     0,   463,   464,   465,   466,
7975      467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
7976      477,     0,   478,   479,   480,   481,   482,   483,   484,   485,
7977      486,   487,   488,   489,     0,   490,   491,     0,   493,   494,
7978      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
7979      505,   506,   507,     0,   508,   509,   510,   511,   512,     0,
7980      513,   514,   515,   516,   517,     0,   519,   520,   521,   522,
7981        0,   523,   524,   525,   526,   527,   528,   529,   530,   531,
7982      532,   533,   534,   535,   536,   537,     0,   538,   539,     0,
7983      540,     0,   542,   543,   544,   545,   546,     0,   547,   548,
7984      549,     0,     0,   550,   551,   552,   553,   554,     0,   555,
7985      556,   557,   558,   559,   560,   561,   562,     0,     0,   563,
7986      564,   565,   566,   567,     0,     0,   568,   569,   570,   571,
7987      572,   573,   574,     0,   575,     0,   577,   578,   579,   580,
7988        0,     0,   581,     0,     0,   582,   583,   584,   585,   586,
7989      587,   588,   589,   590,   591,   592,   593,   594,   595,   596,
7990      597,   598,   599,   600,   601,     0,     0,     0,   893,   894,
7991      895,   609,   896,   897,   898,   899,   900,   901,   887,     0,
7992        0,     0,     0,     0,     0,   888,   889,   890,   229,   230,
7993      231,   232,   233,   234,   235,   236,     0,   237,   238,   239,
7994        0,     0,     0,     0,     0,     0,     0,   240,   241,     0,
7995      242,   243,   244,     0,   246,   247,   248,   249,   250,     0,
7996      252,   253,     0,   254,   255,   256,   257,   258,   259,     0,
7997        0,   260,   261,   262,   263,   264,     0,   265,   266,   267,
7998      268,   269,     0,     0,     0,   271,   272,   273,   274,   275,
7999        0,   277,   278,   279,     0,   280,   281,   282,   283,   284,
8000      285,     0,     0,   287,   288,   289,     0,     0,     0,     0,
8001        0,     0,     0,   291,   292,   293,   294,   295,   296,   297,
8002      298,   299,     0,   300,     0,   301,   302,   303,   304,   305,
8003      306,     0,   307,   308,   309,   310,     0,     0,   311,   312,
8004      313,   314,   315,     0,   316,   317,   318,     0,   319,   320,
8005      321,     0,   322,   323,   324,   325,   326,   327,   328,   329,
8006      330,   331,     0,   332,     0,   333,   334,   335,   336,     0,
8007      337,     0,   338,     0,     0,     0,   341,   342,   343,   344,
8008        0,   345,   346,     0,   347,   348,   349,     0,   350,   351,
8009      352,   353,   354,     0,   356,   357,   358,   359,     0,   360,
8010      361,   362,   363,   364,   365,   366,     0,   367,     0,   369,
8011      370,   371,   372,   373,   374,   375,     0,   376,     0,   377,
8012        0,     0,   380,     0,   382,   383,   384,   385,   386,     0,
8013        0,   387,   388,     0,   390,     0,     0,   392,   393,   394,
8014        0,     0,   395,   396,   397,   398,   399,   400,   401,   402,
8015      403,   404,   405,   406,   407,   408,   409,   410,   411,     0,
8016      413,   414,   415,   416,   417,   418,   419,   420,   421,   422,
8017      423,     0,   424,   425,     0,   427,     0,   428,   429,   430,
8018      431,   432,   433,     0,   434,   435,     0,     0,  4900,   437,
8019      438,     0,     0,   439,   440,   441,     0,   443,     0,   445,
8020      446,   447,   448,   449,   450,   451,   452,   453,   454,     0,
8021      455,   456,   457,   458,   459,   460,   461,   462,     0,   463,
8022      464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
8023      474,   475,   476,   477,     0,   478,   479,   480,   481,   482,
8024      483,   484,   485,   486,   487,   488,   489,     0,   490,   491,
8025        0,   493,   494,   495,   496,   497,   498,   499,   500,   501,
8026      502,   503,   504,   505,   506,   507,     0,   508,   509,   510,
8027      511,   512,     0,   513,   514,   515,   516,   517,     0,   519,
8028      520,   521,   522,     0,   523,   524,   525,   526,   527,   528,
8029      529,   530,   531,   532,   533,   534,   535,   536,   537,     0,
8030      538,   539,     0,   540,     0,   542,   543,   544,   545,   546,
8031        0,   547,   548,   549,     0,     0,   550,   551,   552,   553,
8032      554,     0,   555,   556,   557,   558,   559,   560,   561,   562,
8033        0,     0,   563,   564,   565,   566,   567,     0,     0,   568,
8034      569,   570,   571,   572,   573,   574,     0,   575,     0,   577,
8035      578,   579,   580,     0,     0,   581,     0,     0,   582,   583,
8036      584,   585,   586,   587,   588,   589,   590,   591,   592,   593,
8037      594,   595,   596,   597,   598,   599,   600,   601,  1637,     0,
8038        0,   893,   894,   895,     0,   896,   897,   898,   899,   900,
8039      901,     0,     0,     0,     0,   229,   230,   231,   232,   233,
8040      234,   235,   236,  1638,   237,   238,   239,  1639,  1640,  1641,
8041     1642,  1643,  1644,  1645,   240,   241,  1646,   242,   243,   244,
8042      245,   246,   247,   248,   249,   250,   251,   252,   253,  1647,
8043      254,   255,   256,   257,   258,   259,  1648,  1649,   260,   261,
8044      262,   263,   264,  1650,   265,   266,   267,   268,   269,  1651,
8045      270,  1652,   271,   272,   273,   274,   275,   276,   277,   278,
8046      279,  1653,   280,   281,   282,   283,   284,   285,  1654,   286,
8047      287,   288,   289,  1655,  1656,  1657,   290,  1658,  1659,  1660,
8048      291,   292,   293,   294,   295,   296,   297,   298,   299,  1661,
8049      300,  1662,   301,   302,   303,   304,   305,   306,  1663,   307,
8050      308,   309,   310,  1664,  1665,   311,   312,   313,   314,   315,
8051     1666,   316,   317,   318,  1667,   319,   320,   321,  1668,   322,
8052      323,   324,   325,   326,   327,   328,   329,   330,   331,  1669,
8053      332,  1670,   333,   334,   335,   336,  1671,   337,  1672,   338,
8054      339,  1673,   340,   341,   342,   343,   344,  1674,   345,   346,
8055     1675,   347,   348,   349,  1676,   350,   351,   352,   353,   354,
8056      355,   356,   357,   358,   359,  1677,   360,   361,   362,   363,
8057      364,   365,   366,  1678,   367,   368,   369,   370,   371,   372,
8058      373,   374,   375,  1679,   376,  1680,   377,   378,   379,   380,
8059      381,   382,   383,   384,   385,   386,  1681,  1682,   387,   388,
8060      389,   390,   391,  1683,   392,   393,   394,  1684,  1685,   395,
8061      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
8062      406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
8063      416,   417,   418,   419,   420,   421,   422,   423,  1686,   424,
8064      425,   426,   427,  1687,   428,   429,   430,   431,   432,   433,
8065     1688,   434,   435,  1689,  1690,   436,   437,   438,  1691,  1692,
8066      439,   440,   441,   442,   443,   444,   445,   446,   447,   448,
8067      449,   450,   451,   452,   453,   454,  1693,   455,   456,   457,
8068      458,   459,   460,   461,   462,  1694,   463,   464,   465,   466,
8069      467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
8070      477,  1695,   478,   479,   480,   481,   482,   483,   484,   485,
8071      486,   487,   488,   489,  1696,   490,   491,   492,   493,   494,
8072      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
8073      505,   506,   507,  1697,   508,   509,   510,   511,   512,  1698,
8074      513,   514,   515,   516,   517,   518,   519,   520,   521,   522,
8075     1699,   523,   524,   525,   526,   527,   528,   529,   530,   531,
8076      532,   533,   534,   535,   536,   537,  1700,   538,   539,  1701,
8077      540,   541,   542,   543,   544,   545,   546,  1702,   547,   548,
8078      549,  1703,  1704,   550,   551,   552,   553,   554,  1705,   555,
8079      556,   557,   558,   559,   560,   561,   562,  1706,  1707,   563,
8080      564,   565,   566,   567,  1708,  1709,   568,   569,   570,   571,
8081      572,   573,   574,  1710,   575,   576,   577,   578,   579,   580,
8082     1711,  1712,   581,  1713,  1714,   582,   583,   584,   585,   586,
8083      587,   588,   589,   590,   591,   592,   593,   594,   595,   596,
8084      597,   598,   599,   600,   601,   609,     0,     0,     0,     0,
8085        0,     0,     0,     0,  1715,     0,     0,     0,     0,     0,
8086        0,     0,   229,   230,   231,   232,   233,   234,   235,   236,
8087        0,   237,   238,   239,     0,     0,     0,     0,     0,     0,
8088        0,   240,   241,     0,   242,   243,   244,     0,   246,   247,
8089      248,   249,   250,     0,   252,   253,     0,   254,   255,   256,
8090      257,   258,   259,     0,     0,   260,   261,   262,   263,   264,
8091        0,   265,   266,   267,   268,   269,     0,     0,     0,   271,
8092      272,   273,   274,   275,     0,   277,   278,   279,     0,   280,
8093      281,   282,   283,   284,   285,     0,     0,   287,   288,   289,
8094        0,     0,     0,     0,     0,     0,     0,   291,   292,   293,
8095      294,   295,   296,   297,   298,   299,     0,   300,     0,   301,
8096      302,   303,   304,   305,   306,     0,   307,   308,   309,   310,
8097        0,     0,   311,   312,   313,   314,   315,     0,   316,   317,
8098      318,     0,   319,   320,   321,     0,   322,   323,   324,   325,
8099      326,   327,   328,   329,   330,   331,     0,   332,     0,   333,
8100      334,   335,   336,     0,   337,     0,   338,     0,     0,     0,
8101      341,   342,   343,   344,     0,   345,   346,     0,   347,   348,
8102      349,     0,   350,   351,   352,   353,   354,     0,   356,   357,
8103      358,   359,     0,   360,   361,   362,   363,   364,   365,   366,
8104        0,   367,     0,   369,   370,   371,   372,   373,   374,   375,
8105        0,   376,     0,   377,     0,     0,   380,     0,   382,   383,
8106      384,   385,   386,     0,     0,   387,   388,     0,   390,     0,
8107        0,   392,   393,   394,     0,     0,   395,   396,   397,   398,
8108      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
8109      409,   410,   411,     0,   413,   414,   415,   416,   417,   418,
8110      419,   420,   421,   422,   423,     0,   424,   425,     0,   427,
8111        0,   428,   429,   430,   431,   432,   433,     0,   434,   435,
8112        0,     0,   436,   437,   438,     0,     0,   439,   440,   441,
8113        0,   443,     0,   445,   446,   447,   448,   449,   450,   451,
8114      452,   453,   454,     0,   455,   456,   457,   458,   459,   460,
8115      461,   462,     0,   463,   464,   465,   466,   467,   468,   469,
8116      470,   471,   472,   473,   474,   475,   476,   477,     0,   478,
8117      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
8118      489,     0,   490,   491,     0,   493,   494,   495,   496,   497,
8119      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
8120        0,   508,   509,   510,   511,   512,     0,   513,   514,   515,
8121      516,   517,     0,   519,   520,   521,   522,     0,   523,   524,
8122      525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
8123      535,   536,   537,     0,   538,   539,     0,   540,     0,   542,
8124      543,   544,   545,   546,     0,   547,   548,   549,     0,     0,
8125      550,   551,   552,   553,   554,     0,   555,   556,   557,   558,
8126      559,   560,   561,   562,     0,     0,   563,   564,   565,   566,
8127      567,     0,     0,   568,   569,   570,   571,   572,   573,   574,
8128        0,   575,     0,   577,   578,   579,   580,     0,     0,   581,
8129        0,     0,   582,   583,   584,   585,   586,   587,   588,   589,
8130      590,   591,   592,   593,   594,   595,   596,   597,   598,   599,
8131      600,   601,   609,     0,     0,     0,     0,     0,     0,     0,
8132        0,   823,     0,     0,     0,     0,     0,     0,     0,   229,
8133      230,   231,   232,   233,   234,   235,   236,     0,   237,   238,
8134      239,     0,     0,     0,     0,     0,     0,     0,   240,   241,
8135        0,   242,   243,   244,     0,   246,   247,   248,   249,   250,
8136        0,   252,   253,     0,   254,   255,   256,   257,   258,   259,
8137        0,     0,   260,   261,   262,   263,   264,     0,   265,   266,
8138      267,   268,   269,     0,     0,     0,   271,   272,   273,   274,
8139      275,     0,   277,   278,   279,     0,   280,   281,   282,   283,
8140      284,   285,     0,     0,   287,   288,   289,     0,     0,     0,
8141        0,     0,     0,     0,   291,   292,   293,   294,   295,   296,
8142      297,   298,   299,     0,   300,     0,   301,   302,   303,   304,
8143      305,   306,     0,   307,   308,   309,   310,     0,     0,   311,
8144      312,   313,   314,   315,     0,   316,   317,   318,     0,   319,
8145      320,   321,     0,   322,   323,   324,   325,   326,   327,   328,
8146      329,   330,   331,     0,   332,     0,   333,   334,   335,   336,
8147        0,   337,     0,   338,     0,     0,     0,   341,   342,   343,
8148      344,     0,   345,   346,     0,   347,   348,   349,     0,   350,
8149      351,   352,   353,   354,     0,   356,   357,   358,   359,     0,
8150      360,   361,   362,   363,   364,   365,   366,     0,   367,     0,
8151      369,   370,   371,   372,   373,   374,   375,     0,   376,     0,
8152      377,     0,     0,   380,     0,   382,   383,   384,   385,   386,
8153        0,     0,   387,   388,     0,   390,     0,     0,   392,   393,
8154      394,     0,     0,   395,   396,   397,   398,   399,   400,   401,
8155      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
8156        0,   413,   414,   415,   416,   417,   418,   419,   420,   421,
8157      422,   423,     0,   424,   425,     0,   427,     0,   428,   429,
8158      430,   431,   432,   433,     0,   434,   435,     0,     0,   436,
8159      437,   438,     0,     0,   439,   440,   441,     0,   443,     0,
8160      445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
8161        0,   455,   456,   457,   458,   459,   460,   461,   462,     0,
8162      463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
8163      473,   474,   475,   476,   477,     0,   478,   479,   480,   481,
8164      482,   483,   484,   485,   486,   487,   488,   489,     0,   490,
8165      491,     0,   493,   494,   495,   496,   497,   498,   499,   500,
8166      501,   502,   503,   504,   505,   506,   507,     0,   508,   509,
8167      510,   511,   512,     0,   513,   514,   515,   516,   517,     0,
8168      519,   520,   521,   522,     0,   523,   524,   525,   526,   527,
8169      528,   529,   530,   531,   532,   533,   534,   535,   536,   537,
8170        0,   538,   539,     0,   540,     0,   542,   543,   544,   545,
8171      546,     0,   547,   548,   549,     0,     0,   550,   551,   552,
8172      553,   554,     0,   555,   556,   557,   558,   559,   560,   561,
8173      562,     0,     0,   563,   564,   565,   566,   567,     0,     0,
8174      568,   569,   570,   571,   572,   573,   574,     0,   575,     0,
8175      577,   578,   579,   580,     0,     0,   581,     0,     0,   582,
8176      583,   584,   585,   586,   587,   588,   589,   590,   591,   592,
8177      593,   594,   595,   596,   597,   598,   599,   600,   601,  1069,
8178        0,     0,     0,     0,     0,     0,     0,     0,  5291,     0,
8179        0,     0,     0,     0,     0,     0,   229,   230,   231,   232,
8180      233,   234,   235,   236,     0,   237,   238,   239,     0,     0,
8181        0,     0,     0,     0,     0,   240,   241,     0,   242,   243,
8182      244,   245,   246,   247,   248,     0,  1070,   251,  1071,  1072,
8183        0,   254,   255,   256,   257,   258,   259,     0,     0,   260,
8184      261,  1073,  1074,   264,     0,   265,   266,   267,   268,     0,
8185        0,   270,     0,   271,   272,   273,   274,   275,   276,   277,
8186      278,   279,     0,   280,   281,   282,   283,   284,   285,     0,
8187      286,   287,   288,   289,     0,     0,     0,   290,     0,     0,
8188        0,   291,   292,   293,   294,   295,   296,  1075,  1076,   299,
8189        0,   300,     0,   301,   302,   303,   304,   305,   306,     0,
8190      307,   308,   309,   310,     0,     0,   311,   312,  1077,   314,
8191      315,     0,   316,   317,   318,     0,   319,   320,   321,     0,
8192      322,   323,   324,   325,     0,   327,   328,   329,   330,     0,
8193        0,   332,     0,   333,   334,  1078,   336,     0,   337,     0,
8194      338,   339,     0,   340,   341,   342,   343,   344,     0,   345,
8195        0,     0,     0,   348,   349,     0,   350,   351,   352,   353,
8196      354,   355,   356,   357,   358,   359,  2174,   360,   361,   362,
8197      363,   364,   365,   366,     0,   367,   368,  2175,   370,   371,
8198      372,   373,  1080,  1081,     0,  1082,     0,   377,   378,   379,
8199      380,   381,   382,   383,   384,   385,   386,     0,     0,   387,
8200        0,   389,   390,   391,     0,   392,   393,   394,     0,     0,
8201      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
8202      405,   406,   407,   408,   409,   410,  1083,   412,  1084,   414,
8203      415,   416,   417,   418,   419,   420,     0,     0,   423,     0,
8204      424,   425,   426,   427,     0,     0,   429,  1085,   431,   432,
8205      433,     0,   434,   435,     0,     0,   436,   437,   438,     0,
8206     2176,   439,   440,  2177,   442,   443,   444,     0,   446,   447,
8207      448,   449,   450,   451,   452,   453,   454,     0,   455,   456,
8208        0,   458,     0,   460,   461,   462,     0,   463,   464,   465,
8209      466,   467,   468,   469,   470,   471,   472,  1086,   474,   475,
8210      476,   477,     0,   478,   479,   480,   481,   482,   483,   484,
8211      485,   486,   487,   488,   489,     0,   490,   491,   492,   493,
8212      494,   495,   496,   497,     0,   499,   500,   501,   502,   503,
8213      504,   505,   506,   507,     0,   508,   509,   510,   511,   512,
8214        0,   513,   514,  2178,   516,   517,   518,   519,   520,  1088,
8215      522,     0,   523,   524,   525,   526,   527,   528,   529,   530,
8216      531,   532,   533,   534,   535,     0,   537,     0,   538,   539,
8217        0,   540,   541,   542,   543,   544,   545,   546,     0,   547,
8218     1089,  1090,     0,     0,   550,   551,     0,   553,     0,     0,
8219      555,   556,   557,   558,   559,   560,   561,   562,     0,     0,
8220      563,   564,   565,   566,   567,     0,     0,   568,   569,   570,
8221      571,   572,     0,  1091,  2179,   575,   576,   577,   578,   579,
8222      580,     0,     0,   581,     0,     0,   582,   583,   584,   585,
8223      586,   587,     0,     0,     0,     0,     0,     0,     0,  3367,
8224        0,     0,     0,   599,   600,   601,     0,     0,     0,     0,
8225        0,     0,     0,     0,     0,  2180,   229,   230,   231,   232,
8226      233,   234,   235,   236,     0,   237,   238,   239,     0,     0,
8227        0,     0,     0,     0,     0,   240,   241,     0,   242,   243,
8228      244,   245,   246,   247,   248,     0,  1070,   251,  1071,  1072,
8229        0,   254,   255,   256,   257,   258,   259,     0,     0,   260,
8230      261,  1073,  1074,   264,     0,   265,   266,   267,   268,     0,
8231        0,   270,     0,   271,   272,   273,   274,   275,   276,   277,
8232      278,   279,     0,   280,   281,   282,   283,   284,   285,     0,
8233      286,   287,   288,   289,     0,     0,     0,   290,     0,     0,
8234        0,   291,   292,   293,   294,   295,   296,  1075,  1076,   299,
8235        0,   300,     0,   301,   302,   303,   304,   305,   306,     0,
8236      307,   308,   309,   310,     0,     0,   311,   312,  1077,   314,
8237      315,     0,   316,   317,   318,     0,   319,   320,   321,     0,
8238      322,   323,   324,   325,     0,   327,   328,   329,   330,     0,
8239        0,   332,     0,   333,   334,  1078,   336,     0,   337,     0,
8240      338,   339,     0,   340,   341,   342,   343,   344,     0,   345,
8241        0,     0,     0,   348,   349,     0,   350,   351,   352,   353,
8242      354,   355,   356,   357,   358,   359,  2174,   360,   361,   362,
8243      363,   364,   365,   366,     0,   367,   368,  2175,   370,   371,
8244      372,   373,  1080,  1081,     0,  1082,     0,   377,   378,   379,
8245      380,   381,   382,   383,   384,   385,   386,     0,     0,   387,
8246        0,   389,   390,   391,     0,   392,   393,   394,     0,     0,
8247      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
8248      405,   406,   407,   408,   409,   410,  1083,   412,  1084,   414,
8249      415,   416,   417,   418,   419,   420,     0,     0,   423,     0,
8250      424,   425,   426,   427,     0,     0,   429,  1085,   431,   432,
8251      433,     0,   434,   435,     0,     0,   436,   437,   438,     0,
8252     2176,   439,   440,  2177,   442,   443,   444,     0,   446,   447,
8253      448,   449,   450,   451,   452,   453,   454,     0,   455,   456,
8254        0,   458,     0,   460,   461,   462,     0,   463,   464,   465,
8255      466,   467,   468,   469,   470,   471,   472,  1086,   474,   475,
8256      476,   477,     0,   478,   479,   480,   481,   482,   483,   484,
8257      485,   486,   487,   488,   489,     0,   490,   491,   492,   493,
8258      494,   495,   496,   497,     0,   499,   500,   501,   502,   503,
8259      504,   505,   506,   507,     0,   508,   509,   510,   511,   512,
8260        0,   513,   514,  2178,   516,   517,   518,   519,   520,  1088,
8261      522,     0,   523,   524,   525,   526,   527,   528,   529,   530,
8262      531,   532,   533,   534,   535,     0,   537,     0,   538,   539,
8263        0,   540,   541,   542,   543,   544,   545,   546,     0,   547,
8264     1089,  1090,     0,     0,   550,   551,     0,   553,     0,     0,
8265      555,   556,   557,   558,   559,   560,   561,   562,     0,     0,
8266      563,   564,   565,   566,   567,     0,     0,   568,   569,   570,
8267      571,   572,     0,  1091,  2179,   575,   576,   577,   578,   579,
8268      580,     0,     0,   581,     0,     0,   582,   583,   584,   585,
8269      586,   587,     0,     0,     0,     0,     0,     0,     0,   873,
8270        0,  1505,   669,   599,   600,   601,     0,   729,     0,     0,
8271        0,     0,     0,     0,     0,  2180,   229,   230,   231,   232,
8272      233,   234,   235,   236,     0,   237,   238,   239,     0,     0,
8273        0,     0,     0,     0,     0,   240,   241,     0,   242,   243,
8274      244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
8275        0,   254,   255,   256,   257,   258,   259,     0,     0,   260,
8276      261,   262,   263,   264,     0,   265,   266,   267,   268,   269,
8277        0,   270,     0,   271,   272,   273,   274,   275,   276,   277,
8278      278,   279,     0,   280,   281,   282,   283,   284,   285,     0,
8279      286,   287,   288,   289,     0,     0,     0,   290,     0,     0,
8280        0,   291,   292,   293,   294,   295,   296,   297,   298,   299,
8281     2102,   300,     0,   301,   302,   303,   304,   305,   306,     0,
8282      307,   308,   309,   310,     0,     0,   311,   312,   313,   314,
8283      315,     0,   316,   317,   318,     0,   319,   320,   321,     0,
8284      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
8285     1921,   332,     0,   333,   334,   335,   336,     0,   337,     0,
8286      338,   339,     0,   340,   341,   342,   343,   344,     0,   345,
8287      346,     0,   347,   348,   349,     0,   350,   351,   352,   353,
8288      354,   355,   356,   357,   358,   359,     0,   360,   361,   362,
8289      363,   364,   365,   366,     0,   367,   368,   369,   370,   371,
8290      372,   373,   374,   375,     0,   376,     0,   377,   378,   379,
8291      380,   381,   382,   383,   384,   385,   386,     0,     0,   387,
8292      388,   389,   390,   391,     0,   392,   393,   394,     0,     0,
8293      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
8294      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
8295      415,   416,   417,   418,   419,   420,   421,   422,   423,     0,
8296      424,   425,   426,   427,     0,   428,   429,   430,   431,   432,
8297      433,     0,   434,   435,  1922,     0,   436,   437,   438,     0,
8298        0,   439,   440,   441,   442,   443,   444,   445,   446,   447,
8299      448,   449,   450,   451,   452,   453,   454,     0,   455,   456,
8300      457,   458,   459,   460,   461,   462,     0,   463,   464,   465,
8301      466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
8302      476,   477,     0,   478,   479,   480,   481,   482,   483,   484,
8303      485,   486,   487,   488,   489,     0,   490,   491,   492,   493,
8304      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
8305      504,   505,   506,   507,     0,   508,   509,   510,   511,   512,
8306        0,   513,   514,   515,   516,   517,   518,   519,   520,   521,
8307      522,     0,   523,   524,   525,   526,   527,   528,   529,   530,
8308      531,   532,   533,   534,   535,   536,   537,     0,   538,   539,
8309        0,   540,   541,   542,   543,   544,   545,   546,     0,   547,
8310      548,   549,     0,     0,   550,   551,   552,   553,   554,  1923,
8311      555,   556,   557,   558,   559,   560,   561,   562,     0,     0,
8312      563,   564,   565,   566,   567,     0,     0,   568,   569,   570,
8313      571,   572,   573,   574,     0,   575,   576,   577,   578,   579,
8314      580,     0,     0,   581,     0,     0,   582,   583,   584,   585,
8315      586,   587,   588,   589,   590,   591,   592,   593,   594,   595,
8316      596,   597,   598,   599,   600,   601,     0,   873,     0,  1505,
8317      669,     0,     0,  1506,  1507,   729,     0,     0,     0,     0,
8318        0,     0,     0,     0,   229,   230,   231,   232,   233,   234,
8319      235,   236,     0,   237,   238,   239,     0,     0,     0,     0,
8320        0,     0,     0,   240,   241,     0,   242,   243,   244,   245,
8321      246,   247,   248,   249,   250,   251,   252,   253,     0,   254,
8322      255,   256,   257,   258,   259,     0,     0,   260,   261,   262,
8323      263,   264,     0,   265,   266,   267,   268,   269,     0,   270,
8324        0,   271,   272,   273,   274,   275,   276,   277,   278,   279,
8325        0,   280,   281,   282,   283,   284,   285,     0,   286,   287,
8326      288,   289,     0,     0,     0,   290,     0,     0,     0,   291,
8327      292,   293,   294,   295,   296,   297,   298,   299,  2107,   300,
8328        0,   301,   302,   303,   304,   305,   306,     0,   307,   308,
8329      309,   310,     0,     0,   311,   312,   313,   314,   315,     0,
8330      316,   317,   318,     0,   319,   320,   321,     0,   322,   323,
8331      324,   325,   326,   327,   328,   329,   330,   331,  1921,   332,
8332        0,   333,   334,   335,   336,     0,   337,     0,   338,   339,
8333        0,   340,   341,   342,   343,   344,     0,   345,   346,     0,
8334      347,   348,   349,     0,   350,   351,   352,   353,   354,   355,
8335      356,   357,   358,   359,     0,   360,   361,   362,   363,   364,
8336      365,   366,     0,   367,   368,   369,   370,   371,   372,   373,
8337      374,   375,     0,   376,     0,   377,   378,   379,   380,   381,
8338      382,   383,   384,   385,   386,     0,     0,   387,   388,   389,
8339      390,   391,     0,   392,   393,   394,     0,     0,   395,   396,
8340      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
8341      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
8342      417,   418,   419,   420,   421,   422,   423,     0,   424,   425,
8343      426,   427,     0,   428,   429,   430,   431,   432,   433,     0,
8344      434,   435,  1922,     0,   436,   437,   438,     0,     0,   439,
8345      440,   441,   442,   443,   444,   445,   446,   447,   448,   449,
8346      450,   451,   452,   453,   454,     0,   455,   456,   457,   458,
8347      459,   460,   461,   462,     0,   463,   464,   465,   466,   467,
8348      468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
8349        0,   478,   479,   480,   481,   482,   483,   484,   485,   486,
8350      487,   488,   489,     0,   490,   491,   492,   493,   494,   495,
8351      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
8352      506,   507,     0,   508,   509,   510,   511,   512,     0,   513,
8353      514,   515,   516,   517,   518,   519,   520,   521,   522,     0,
8354      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
8355      533,   534,   535,   536,   537,     0,   538,   539,     0,   540,
8356      541,   542,   543,   544,   545,   546,     0,   547,   548,   549,
8357        0,     0,   550,   551,   552,   553,   554,  1923,   555,   556,
8358      557,   558,   559,   560,   561,   562,     0,     0,   563,   564,
8359      565,   566,   567,     0,     0,   568,   569,   570,   571,   572,
8360      573,   574,     0,   575,   576,   577,   578,   579,   580,     0,
8361        0,   581,     0,     0,   582,   583,   584,   585,   586,   587,
8362      588,   589,   590,   591,   592,   593,   594,   595,   596,   597,
8363      598,   599,   600,   601,     0,   873,     0,  1505,   669,     0,
8364        0,  1506,  1507,   729,     0,     0,     0,     0,     0,     0,
8365        0,     0,   229,   230,   231,   232,   233,   234,   235,   236,
8366        0,   237,   238,   239,     0,     0,     0,     0,     0,     0,
8367        0,   240,   241,     0,   242,   243,   244,   245,   246,   247,
8368      248,   249,   250,   251,   252,   253,     0,   254,   255,   256,
8369      257,   258,   259,     0,     0,   260,   261,   262,   263,   264,
8370        0,   265,   266,   267,   268,   269,     0,   270,     0,   271,
8371      272,   273,   274,   275,   276,   277,   278,   279,     0,   280,
8372      281,   282,   283,   284,   285,     0,   286,   287,   288,   289,
8373        0,     0,     0,   290,     0,     0,     0,   291,   292,   293,
8374      294,   295,   296,   297,   298,   299,     0,   300,     0,   301,
8375      302,   303,   304,   305,   306,     0,   307,   308,   309,   310,
8376        0,     0,   311,   312,   313,   314,   315,     0,   316,   317,
8377      318,     0,   319,   320,   321,     0,   322,   323,   324,   325,
8378      326,   327,   328,   329,   330,   331,  1921,   332,     0,   333,
8379      334,   335,   336,     0,   337,     0,   338,   339,     0,   340,
8380      341,   342,   343,   344,     0,   345,   346,     0,   347,   348,
8381      349,     0,   350,   351,   352,   353,   354,   355,   356,   357,
8382      358,   359,     0,   360,   361,   362,   363,   364,   365,   366,
8383        0,   367,   368,   369,   370,   371,   372,   373,   374,   375,
8384        0,   376,     0,   377,   378,   379,   380,   381,   382,   383,
8385      384,   385,   386,     0,     0,   387,   388,   389,   390,   391,
8386        0,   392,   393,   394,     0,     0,   395,   396,   397,   398,
8387      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
8388      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
8389      419,   420,   421,   422,   423,     0,   424,   425,   426,   427,
8390        0,   428,   429,   430,   431,   432,   433,     0,   434,   435,
8391     1922,     0,   436,   437,   438,     0,     0,   439,   440,   441,
8392      442,   443,   444,   445,   446,   447,   448,   449,   450,   451,
8393      452,   453,   454,     0,   455,   456,   457,   458,   459,   460,
8394      461,   462,     0,   463,   464,   465,   466,   467,   468,   469,
8395      470,   471,   472,   473,   474,   475,   476,   477,     0,   478,
8396      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
8397      489,     0,   490,   491,   492,   493,   494,   495,   496,   497,
8398      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
8399        0,   508,   509,   510,   511,   512,     0,   513,   514,   515,
8400      516,   517,   518,   519,   520,   521,   522,     0,   523,   524,
8401      525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
8402      535,   536,   537,     0,   538,   539,     0,   540,   541,   542,
8403      543,   544,   545,   546,     0,   547,   548,   549,     0,     0,
8404      550,   551,   552,   553,   554,  1923,   555,   556,   557,   558,
8405      559,   560,   561,   562,     0,     0,   563,   564,   565,   566,
8406      567,     0,     0,   568,   569,   570,   571,   572,   573,   574,
8407        0,   575,   576,   577,   578,   579,   580,     0,     0,   581,
8408        0,     0,   582,   583,   584,   585,   586,   587,   588,   589,
8409      590,   591,   592,   593,   594,   595,   596,   597,   598,   599,
8410      600,   601,     0,   873,     0,     0,   669,     0,     0,  1506,
8411     1507,   729,     0,     0,     0,     0,     0,     0,     0,     0,
8412      229,   230,   231,   232,   233,   234,   235,   236,     0,   237,
8413      238,   239,     0,     0,     0,     0,     0,     0,     0,   240,
8414      241,     0,   242,   243,   244,   245,   246,   247,   248,   249,
8415      250,   251,   252,   253,     0,   254,   255,   256,   257,   258,
8416      259,     0,     0,   260,   261,   262,   263,   264,     0,   265,
8417      266,   267,   268,   269,     0,   270,     0,   271,   272,   273,
8418      274,   275,   276,   277,   278,   279,     0,   280,   281,   282,
8419      283,   284,   285,     0,   286,   287,   288,   289,     0,     0,
8420        0,   290,     0,     0,     0,   291,   292,   293,   294,   295,
8421      296,   297,   298,   299,  2973,   300,     0,   301,   302,   303,
8422      304,   305,   306,     0,   307,   308,   309,   310,     0,     0,
8423      311,   312,   313,   314,   315,     0,   316,   317,   318,     0,
8424      319,   320,   321,     0,   322,   323,   324,   325,   326,   327,
8425      328,   329,   330,   331,  1921,   332,     0,   333,   334,   335,
8426      336,     0,   337,     0,   338,   339,     0,   340,   341,   342,
8427      343,   344,     0,   345,   346,     0,   347,   348,   349,     0,
8428      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
8429        0,   360,   361,   362,   363,   364,   365,   366,     0,   367,
8430      368,   369,   370,   371,   372,   373,   374,   375,     0,   376,
8431        0,   377,   378,   379,   380,   381,   382,   383,   384,   385,
8432      386,     0,     0,   387,   388,   389,   390,   391,     0,   392,
8433      393,   394,     0,     0,   395,   396,   397,   398,   399,   400,
8434      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
8435      411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
8436      421,   422,   423,     0,   424,   425,   426,   427,     0,   428,
8437      429,   430,   431,   432,   433,     0,   434,   435,  1922,     0,
8438      436,   437,   438,     0,     0,   439,   440,   441,   442,   443,
8439      444,   445,   446,   447,   448,   449,   450,   451,   452,   453,
8440      454,     0,   455,   456,   457,   458,   459,   460,   461,   462,
8441        0,   463,   464,   465,   466,   467,   468,   469,   470,   471,
8442      472,   473,   474,   475,   476,   477,     0,   478,   479,   480,
8443      481,   482,   483,   484,   485,   486,   487,   488,   489,     0,
8444      490,   491,   492,   493,   494,   495,   496,   497,   498,   499,
8445      500,   501,   502,   503,   504,   505,   506,   507,     0,   508,
8446      509,   510,   511,   512,     0,   513,   514,   515,   516,   517,
8447      518,   519,   520,   521,   522,     0,   523,   524,   525,   526,
8448      527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
8449      537,     0,   538,   539,     0,   540,   541,   542,   543,   544,
8450      545,   546,     0,   547,   548,   549,     0,     0,   550,   551,
8451      552,   553,   554,  1923,   555,   556,   557,   558,   559,   560,
8452      561,   562,     0,     0,   563,   564,   565,   566,   567,     0,
8453        0,   568,   569,   570,   571,   572,   573,   574,     0,   575,
8454      576,   577,   578,   579,   580,     0,     0,   581,     0,     0,
8455      582,   583,   584,   585,   586,   587,   588,   589,   590,   591,
8456      592,   593,   594,   595,   596,   597,   598,   599,   600,   601,
8457        0,   609,     0,     0,     0,     0,     0,   741,   742,   729,
8458        0,     0,     0,     0,     0,     0,     0,     0,   229,   730,
8459      231,   232,   233,   234,   235,   236,   731,   237,   238,   239,
8460        0,     0,     0,     0,     0,     0,     0,   240,   241,     0,
8461      242,   243,   244,     0,   732,   247,   248,   249,   250,     0,
8462      252,   253,     0,   254,   255,   256,   257,   258,   259,     0,
8463        0,   260,   261,   262,   263,   264,     0,   265,   266,   267,
8464      268,   269,     0,     0,     0,   271,   272,   273,   274,   275,
8465        0,   277,   278,   279,     0,   280,   281,   282,   283,   284,
8466      285,     0,     0,   287,   288,   289,     0,     0,     0,     0,
8467        0,     0,     0,   291,   292,   293,   294,   295,   296,   297,
8468      298,   299,     0,   300,     0,   301,   302,   303,   304,   305,
8469      306,     0,   307,   308,   309,   310,     0,     0,   311,   312,
8470      313,   314,   315,     0,   316,   317,   318,     0,   319,   320,
8471      321,     0,   322,   323,   324,   325,   326,   327,   328,   329,
8472      330,   331,     0,   332,     0,   333,   733,   335,   336,     0,
8473      337,     0,   734,     0,   735,     0,   341,   342,   343,   344,
8474        0,   345,   346,     0,   347,   348,   349,     0,   350,   351,
8475      352,   353,   354,     0,   356,   357,   358,   359,   736,   360,
8476      361,   362,   363,   364,   365,   366,     0,   367,     0,   369,
8477      370,   371,   372,   373,   374,   375,     0,   376,     0,   377,
8478        0,     0,   380,     0,   382,   383,   384,   385,   737,     0,
8479        0,   387,   388,     0,   390,     0,     0,   392,   393,   394,
8480        0,     0,   395,   396,   397,   398,   399,   400,   401,   402,
8481      403,   404,   405,   406,   407,   408,   409,   410,   411,     0,
8482      413,   414,   738,   416,   417,   418,   419,   420,   421,   422,
8483      423,     0,   424,   425,     0,   427,     0,   428,   429,   430,
8484      431,   432,   433,     0,   434,   435,     0,     0,   436,   437,
8485      438,     0,     0,   439,   440,   441,     0,   443,     0,   445,
8486      446,   447,   448,   449,   450,   451,   452,   453,   454,     0,
8487      455,   456,   457,   458,   459,   460,   461,   462,     0,   739,
8488      464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
8489      474,   475,   476,   477,     0,   478,   479,   480,   740,   482,
8490      483,   484,   485,   486,   487,   488,   489,     0,   490,   491,
8491        0,   493,   494,   495,   496,   497,   498,   499,   500,   501,
8492      502,   503,   504,   505,   506,   507,     0,   508,   509,   510,
8493      511,   512,     0,   513,   514,   515,   516,   517,     0,   519,
8494      520,   521,   522,     0,   523,   524,   525,   526,   527,   528,
8495      529,   530,   531,   532,   533,   534,   535,   536,   537,     0,
8496      538,   539,     0,   540,     0,   542,   543,   544,   545,   546,
8497        0,   547,   548,   549,     0,     0,   550,   551,   552,   553,
8498      554,     0,   555,   556,   557,   558,   559,   560,   561,   562,
8499        0,     0,   563,   564,   565,   566,   567,     0,     0,   568,
8500      569,   570,   571,   572,   573,   574,     0,   575,     0,   577,
8501      578,   579,   580,     0,     0,   581,     0,     0,   582,   583,
8502      584,   585,   586,   587,   588,   589,   590,   591,   592,   593,
8503      594,   595,   596,   597,   598,   599,   600,   601,     0,  1637,
8504        0,  5505,   669,     0,     0,   741,   742,   729,     0,     0,
8505        0,     0,     0,     0,     0,     0,   229,   230,   231,   232,
8506      233,   234,   235,   236,  1638,   237,   238,   239,  1639,  1640,
8507     1641,  1642,  1643,  1644,  1645,   240,   241,  1646,   242,   243,
8508      244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
8509     1647,   254,   255,   256,   257,   258,   259,  1648,  1649,   260,
8510      261,   262,   263,   264,  1650,   265,   266,   267,   268,   269,
8511     1651,   270,  1652,   271,   272,   273,   274,   275,   276,   277,
8512      278,   279,  1653,   280,   281,   282,   283,   284,   285,  1654,
8513      286,   287,   288,   289,  1655,  1656,  1657,   290,  1658,  1659,
8514     1660,   291,   292,   293,   294,   295,   296,   297,   298,   299,
8515     1661,   300,  1662,   301,   302,   303,   304,   305,   306,  1663,
8516      307,   308,   309,   310,  1664,  1665,   311,   312,   313,   314,
8517      315,  1666,   316,   317,   318,  1667,   319,   320,   321,  1668,
8518      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
8519     1669,   332,  1670,   333,   334,   335,   336,  1671,   337,  1672,
8520      338,   339,  1673,   340,   341,   342,   343,   344,  1674,   345,
8521      346,  1675,   347,   348,   349,  1676,   350,   351,   352,   353,
8522      354,   355,   356,   357,   358,   359,  1677,   360,   361,   362,
8523      363,   364,   365,   366,  1678,   367,   368,   369,   370,   371,
8524      372,   373,   374,   375,  1679,   376,  1680,   377,   378,   379,
8525      380,   381,   382,   383,   384,   385,   386,  1681,  1682,   387,
8526      388,   389,   390,   391,  1683,   392,   393,   394,  1684,  1685,
8527      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
8528      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
8529      415,   416,   417,   418,   419,   420,   421,   422,   423,  1686,
8530      424,   425,   426,   427,  1687,   428,   429,   430,   431,   432,
8531      433,  1688,   434,   435,  1689,  1690,   436,   437,   438,  1691,
8532     1692,   439,   440,   441,   442,   443,   444,   445,   446,   447,
8533      448,   449,   450,   451,   452,   453,   454,  1693,   455,   456,
8534      457,   458,   459,   460,   461,   462,  1694,   463,   464,   465,
8535      466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
8536      476,   477,  1695,   478,   479,   480,   481,   482,   483,   484,
8537      485,   486,   487,   488,   489,  1696,   490,   491,   492,   493,
8538      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
8539      504,   505,   506,   507,  1697,   508,   509,   510,   511,   512,
8540     1698,   513,   514,   515,   516,   517,   518,   519,   520,   521,
8541      522,  1699,   523,   524,   525,   526,   527,   528,   529,   530,
8542      531,   532,   533,   534,   535,   536,   537,  1700,   538,   539,
8543     1701,   540,   541,   542,   543,   544,   545,   546,  1702,   547,
8544      548,   549,  1703,  1704,   550,   551,   552,   553,   554,  1705,
8545      555,   556,   557,   558,   559,   560,   561,   562,  1706,  1707,
8546      563,   564,   565,   566,   567,  1708,  1709,   568,   569,   570,
8547      571,   572,   573,   574,  1710,   575,   576,   577,   578,   579,
8548      580,  1711,  1712,   581,  1713,  1714,   582,   583,   584,   585,
8549      586,   587,   588,   589,   590,   591,   592,   593,   594,   595,
8550      596,   597,   598,   599,   600,   601,  1637,     0,     0,     0,
8551        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
8552        0,     0,     0,   229,   230,   231,   232,   233,   234,   235,
8553      236,  1638,   237,   238,   239,  1639,  1640,  1641,  1642,  1643,
8554     1644,  1645,   240,   241,  1646,   242,   243,   244,   245,   246,
8555      247,   248,   249,   250,   251,   252,   253,  1647,   254,   255,
8556      256,   257,   258,   259,  1648,  1649,   260,   261,   262,   263,
8557      264,  1650,   265,   266,   267,   268,   269,  1651,   270,  1652,
8558      271,   272,   273,   274,   275,   276,   277,   278,   279,  1653,
8559      280,   281,   282,   283,   284,   285,  1654,   286,   287,   288,
8560      289,  1655,  1656,  1657,   290,  1658,  1659,  1660,   291,   292,
8561      293,   294,   295,   296,   297,   298,   299,  1661,   300,  1662,
8562      301,   302,   303,   304,   305,   306,  1663,   307,   308,   309,
8563      310,  1664,  1665,   311,   312,   313,   314,   315,  1666,   316,
8564      317,   318,  1667,   319,   320,   321,  1668,   322,   323,   324,
8565      325,   326,   327,   328,   329,   330,   331,  1669,   332,  1670,
8566      333,   334,   335,   336,  1671,   337,  1672,   338,   339,  1673,
8567      340,   341,   342,   343,   344,  1674,   345,   346,  1675,   347,
8568      348,   349,  1676,   350,   351,   352,   353,   354,   355,   356,
8569      357,   358,   359,  1677,   360,   361,   362,   363,   364,   365,
8570      366,  1678,   367,   368,   369,   370,   371,   372,   373,   374,
8571      375,  1679,   376,  1680,   377,   378,   379,   380,   381,   382,
8572      383,   384,   385,   386,  1681,  1682,   387,   388,   389,   390,
8573      391,  1683,   392,   393,   394,  1684,  1685,   395,   396,   397,
8574      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
8575      408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
8576      418,   419,   420,   421,   422,   423,  1686,   424,   425,   426,
8577      427,  1687,   428,   429,   430,   431,   432,   433,  1688,   434,
8578      435,  1689,  1690,   436,   437,   438,  1691,  1692,   439,   440,
8579      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
8580      451,   452,   453,   454,  1693,   455,   456,   457,   458,   459,
8581      460,   461,   462,  1694,   463,   464,   465,   466,   467,   468,
8582      469,   470,   471,   472,   473,   474,   475,   476,   477,  1695,
8583      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
8584      488,   489,  1696,   490,   491,   492,   493,   494,   495,   496,
8585      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
8586      507,  1697,   508,   509,   510,   511,   512,  1698,   513,   514,
8587      515,   516,   517,   518,   519,   520,   521,   522,  1699,   523,
8588      524,   525,   526,   527,   528,   529,   530,   531,   532,   533,
8589      534,   535,   536,   537,  1700,   538,   539,  1701,   540,   541,
8590      542,   543,   544,   545,   546,  1702,   547,   548,   549,  1703,
8591     1704,   550,   551,   552,   553,   554,  1705,   555,   556,   557,
8592      558,   559,   560,   561,   562,  1706,  1707,   563,   564,   565,
8593      566,   567,  1708,  1709,   568,   569,   570,   571,   572,   573,
8594      574,  1710,   575,   576,   577,   578,   579,   580,  1711,  1712,
8595      581,  1713,  1714,   582,   583,   584,   585,   586,   587,   588,
8596      589,   590,   591,   592,   593,   594,   595,   596,   597,   598,
8597      599,   600,   601,  1637,     0,     0,     0,     0,     0,     0,
8598        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
8599      229,   230,   231,   232,  3090,   234,   235,   236,  1638,   237,
8600      238,   239,  1639,  1640,  1641,  1642,  1643,  1644,  1645,   240,
8601      241,  1646,   242,   243,   244,   245,   246,   247,   248,   249,
8602      250,   251,   252,   253,  1647,   254,   255,   256,   257,   258,
8603      259,  1648,  1649,   260,   261,   262,   263,   264,  1650,   265,
8604      266,   267,   268,   269,  1651,   270,  1652,   271,   272,   273,
8605      274,   275,   276,   277,   278,   279,  1653,   280,   281,   282,
8606      283,   284,   285,  1654,   286,   287,   288,   289,  1655,  1656,
8607     1657,   290,  1658,  1659,  1660,   291,   292,   293,   294,   295,
8608      296,   297,   298,   299,  1661,   300,  1662,   301,   302,   303,
8609      304,   305,   306,  1663,   307,   308,   309,   310,  1664,  1665,
8610      311,   312,   313,  3091,   315,  1666,   316,   317,   318,  1667,
8611      319,   320,   321,  1668,   322,   323,   324,   325,   326,   327,
8612      328,   329,   330,   331,  1669,   332,  1670,   333,   334,   335,
8613      336,  1671,   337,  1672,   338,   339,  1673,   340,   341,   342,
8614      343,   344,  1674,   345,   346,  1675,   347,   348,   349,  1676,
8615      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
8616     1677,   360,   361,   362,   363,   364,   365,   366,  1678,   367,
8617      368,   369,   370,   371,   372,   373,   374,   375,  1679,   376,
8618     1680,   377,   378,   379,   380,   381,   382,   383,   384,   385,
8619      386,  1681,  1682,   387,   388,   389,   390,   391,  1683,   392,
8620      393,   394,  1684,  1685,   395,   396,   397,   398,   399,   400,
8621      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
8622      411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
8623      421,   422,   423,  1686,   424,   425,   426,   427,  1687,   428,
8624      429,   430,   431,   432,   433,  1688,   434,   435,  1689,  1690,
8625      436,   437,   438,  1691,  1692,   439,   440,   441,   442,   443,
8626      444,   445,   446,   447,   448,   449,   450,   451,   452,   453,
8627      454,  1693,   455,   456,   457,   458,   459,   460,   461,   462,
8628     1694,   463,   464,   465,   466,   467,   468,   469,   470,   471,
8629      472,   473,   474,   475,   476,   477,  1695,   478,   479,   480,
8630      481,   482,   483,   484,   485,   486,   487,   488,   489,  1696,
8631      490,   491,   492,   493,   494,   495,   496,   497,   498,   499,
8632      500,   501,   502,   503,   504,   505,   506,   507,  1697,   508,
8633      509,   510,   511,   512,  1698,  3092,   514,   515,   516,   517,
8634      518,   519,   520,   521,   522,  1699,   523,   524,   525,   526,
8635      527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
8636      537,  1700,   538,   539,  1701,   540,   541,   542,   543,   544,
8637      545,   546,  1702,   547,   548,   549,  1703,  1704,   550,   551,
8638      552,   553,   554,  1705,   555,   556,   557,   558,   559,   560,
8639      561,   562,  1706,  1707,   563,   564,   565,   566,   567,  1708,
8640     1709,   568,   569,   570,   571,   572,   573,   574,  1710,   575,
8641      576,   577,   578,   579,   580,  1711,  1712,   581,  1713,  1714,
8642      582,   583,   584,   585,   586,   587,   588,   589,   590,   591,
8643      592,   593,   594,   595,   596,   597,   598,   599,   600,   601,
8644      228,     0,     0,     0,     0,     0,     0,     0,     0,     0,
8645        0,     0,     0,     0,     0,     0,     0,   229,   230,   231,
8646      232,   233,   234,   235,   236,     0,   237,   238,   239,     0,
8647        0,     0,     0,     0,     0,     0,   240,   241,     0,   242,
8648      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
8649      253,     0,   254,   255,   256,   257,   258,   259,     0,  1232,
8650      260,   261,   262,   263,   264,     0,   265,   266,   267,   268,
8651     1235,     0,  1236,     0,   271,   272,   273,   274,   275,   276,
8652      277,   278,   279,     0,   280,   281,   282,   283,   284,   285,
8653        0,   286,   287,   288,   289,  1237,  1238,  1239,  1240,  1241,
8654     1242,  1243,   291,   292,   293,   294,   295,   296,   297,   298,
8655      299,     0,   300,     0,   301,   302,   303,   304,   305,   306,
8656        0,   307,   308,   309,   310,     0,     0,   311,   312,   313,
8657      314,   315,     0,   316,   317,   318,     0,   319,   320,   321,
8658        0,   322,   323,   324,   325,   326,   327,   328,   329,   330,
8659     1248,     0,   332,     0,   333,   334,   335,   336,     0,   337,
8660        0,   338,   339,     0,   340,   341,   342,   343,   344,     0,
8661      345,  1251,     0,   347,   348,   349,     0,   350,   351,   352,
8662      353,   354,   355,   356,   357,   358,   359,     0,   360,   361,
8663      362,   363,   364,   365,   366,     0,   367,   368,   369,   370,
8664      371,   372,   373,   374,   375,     0,   376,     0,   377,   378,
8665      379,   380,   381,   382,   383,   384,   385,   386,     0,     0,
8666      387,  1256,   389,   390,   391,     0,   392,   393,   394,  1257,
8667     1258,   395,   396,   397,   398,   399,   400,   401,   402,   403,
8668      404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
8669      414,   415,   416,   417,   418,   419,   420,   421,  1261,   423,
8670        0,   424,   425,   426,   427,     0,  1264,   429,   430,   431,
8671      432,   433,     0,   434,   435,     0,     0,   436,   437,   438,
8672        0,     0,   439,   440,   441,   442,   443,   444,  1267,   446,
8673      447,   448,   449,   450,   451,   452,   453,   454,     0,   455,
8674      456,  1268,   458,   459,   460,   461,   462,     0,   463,   464,
8675      465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
8676      475,   476,   477,     0,   478,   479,   480,   481,   482,   483,
8677      484,   485,   486,   487,   488,   489,     0,   490,   491,   492,
8678      493,   494,   495,   496,   497,   498,   499,   500,   501,   502,
8679      503,   504,   505,   506,   507,     0,   508,   509,   510,   511,
8680      512,  1271,   513,   514,   515,   516,   517,   518,   519,   520,
8681      521,   522,     0,   523,   524,   525,   526,   527,   528,   529,
8682      530,   531,   532,   533,   534,   535,  1273,   537,     0,   538,
8683      539,     0,   540,   541,   542,   543,   544,   545,   546,     0,
8684      547,   548,   549,     0,     0,   550,   551,  1276,   553,  1277,
8685        0,   555,   556,   557,   558,   559,   560,   561,   562,     0,
8686        0,   563,   564,   565,   566,   567,  1280,     0,   568,   569,
8687      570,   571,   572,   573,   574,     0,   575,   576,   577,   578,
8688      579,   580,     0,     0,   581,     0,     0,   582,   583,   584,
8689      585,   586,   587,   588,  1282,  1283,  1284,  1285,   593,  1286,
8690     1287,  1288,  1289,   598,   599,   600,   601,   873,     0,     0,
8691      669,     0,     0,     0,     0,     0,     0,     0,     0,     0,
8692        0,     0,     0,     0,   229,   230,   231,   232,   233,   234,
8693      235,   236,     0,   237,   238,   239,     0,     0,     0,     0,
8694        0,     0,     0,   240,   241,     0,   242,   243,   244,   245,
8695      246,   247,   248,   249,   250,   251,   252,   253,     0,   254,
8696      255,   256,   257,   258,   259,     0,     0,   260,   261,   262,
8697      263,   264,     0,   265,   266,   267,   268,   269,     0,   270,
8698        0,   271,   272,   273,   274,   275,   276,   277,   278,   279,
8699        0,   280,   281,   282,   283,   284,   285,     0,   286,   287,
8700      288,   289,     0,     0,     0,   290,     0,     0,     0,   291,
8701      292,   293,   294,   295,   296,   297,   298,   299,     0,   300,
8702        0,   301,   302,   303,   304,   305,   306,     0,   307,   308,
8703      309,   310,     0,     0,   311,   312,   313,   314,   315,     0,
8704      316,   317,   318,     0,   319,   320,   321,     0,   322,   323,
8705      324,   325,   326,   327,   328,   329,   330,   331,  1921,   332,
8706        0,   333,   334,   335,   336,     0,   337,     0,   338,   339,
8707        0,   340,   341,   342,   343,   344,     0,   345,   346,     0,
8708      347,   348,   349,     0,   350,   351,   352,   353,   354,   355,
8709      356,   357,   358,   359,     0,   360,   361,   362,   363,   364,
8710      365,   366,     0,   367,   368,   369,   370,   371,   372,   373,
8711      374,   375,     0,   376,     0,   377,   378,   379,   380,   381,
8712      382,   383,   384,   385,   386,     0,     0,   387,   388,   389,
8713      390,   391,     0,   392,   393,   394,     0,     0,   395,   396,
8714      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
8715      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
8716      417,   418,   419,   420,   421,   422,   423,     0,   424,   425,
8717      426,   427,     0,   428,   429,   430,   431,   432,   433,     0,
8718      434,   435,  1922,     0,   436,   437,   438,     0,     0,   439,
8719      440,   441,   442,   443,   444,   445,   446,   447,   448,   449,
8720      450,   451,   452,   453,   454,     0,   455,   456,   457,   458,
8721      459,   460,   461,   462,     0,   463,   464,   465,   466,   467,
8722      468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
8723        0,   478,   479,   480,   481,   482,   483,   484,   485,   486,
8724      487,   488,   489,     0,   490,   491,   492,   493,   494,   495,
8725      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
8726      506,   507,     0,   508,   509,   510,   511,   512,     0,   513,
8727      514,   515,   516,   517,   518,   519,   520,   521,   522,     0,
8728      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
8729      533,   534,   535,   536,   537,     0,   538,   539,     0,   540,
8730      541,   542,   543,   544,   545,   546,     0,   547,   548,   549,
8731        0,     0,   550,   551,   552,   553,   554,  1923,   555,   556,
8732      557,   558,   559,   560,   561,   562,     0,     0,   563,   564,
8733      565,   566,   567,     0,     0,   568,   569,   570,   571,   572,
8734      573,   574,     0,   575,   576,   577,   578,   579,   580,     0,
8735        0,   581,     0,     0,   582,   583,   584,   585,   586,   587,
8736      588,   589,   590,   591,   592,   593,   594,   595,   596,   597,
8737      598,   599,   600,   601,   873,     0,     0,     0,     0,     0,
8738        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
8739        0,   229,   230,   231,   232,   233,   234,   235,   236,   911,
8740      237,   238,   239,     0,     0,     0,     0,     0,     0,     0,
8741      240,   241,     0,   242,   243,   244,   245,   246,   247,   248,
8742      249,   250,   251,   252,   253,     0,   254,   255,   256,   257,
8743      258,   259,     0,     0,   260,   261,   262,   263,   264,     0,
8744      265,   266,   267,   268,   269,     0,   270,     0,   271,   272,
8745      273,   274,   275,   276,   277,   278,   279,     0,   280,   281,
8746      282,   283,   284,   285,     0,   286,   287,   288,   289,     0,
8747        0,     0,   290,     0,     0,   874,   291,   292,   293,   294,
8748      295,   296,   297,   298,   299,     0,   300,     0,   301,   302,
8749      303,   304,   305,   306,     0,   307,   308,   309,   310,     0,
8750        0,   311,   312,   313,   314,   315,     0,   316,   317,   318,
8751        0,   319,   320,   321,     0,   322,   323,   324,   325,   326,
8752      327,   328,   329,   330,   331,     0,   332,     0,   333,   334,
8753      335,   336,     0,   337,     0,   338,   339,     0,   340,   341,
8754      342,   343,   344,     0,   345,   346,     0,   347,   348,   349,
8755        0,   350,   351,   352,   353,   354,   355,   356,   357,   358,
8756      359,     0,   360,   361,   362,   363,   364,   365,   366,     0,
8757      367,   368,   369,   370,   371,   372,   373,   374,   375,     0,
8758      376,     0,   377,   378,   379,   380,   381,   382,   383,   384,
8759      385,   386,     0,     0,   387,   388,   389,   390,   391,     0,
8760      392,   393,   394,     0,     0,   395,   396,   397,   398,   399,
8761      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
8762      410,   411,   412,   413,   414,   415,   416,   417,   418,   419,
8763      420,   421,   422,   423,     0,   424,   425,   426,   427,     0,
8764      428,   429,   430,   431,   432,   433,     0,   434,   435,     0,
8765        0,   436,   437,   438,     0,     0,   439,   440,   441,   442,
8766      443,   444,   445,   446,   447,   448,   449,   450,   451,   452,
8767      453,   454,     0,   455,   456,   457,   458,   459,   460,   461,
8768      462,     0,   463,   464,   465,   466,   467,   468,   469,   470,
8769      471,   472,   473,   474,   475,   476,   477,     0,   478,   479,
8770      480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
8771        0,   490,   491,   492,   493,   494,   495,   496,   497,   498,
8772      499,   500,   501,   502,   503,   504,   505,   506,   507,     0,
8773      508,   509,   510,   511,   512,   875,   513,   514,   515,   516,
8774      517,   518,   519,   520,   521,   522,     0,   523,   524,   525,
8775      526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
8776      536,   537,     0,   538,   539,     0,   540,   541,   542,   543,
8777      544,   545,   546,     0,   547,   548,   549,     0,     0,   550,
8778      551,   552,   553,   554,     0,   555,   556,   557,   558,   559,
8779      560,   561,   562,     0,     0,   563,   564,   565,   566,   567,
8780        0,     0,   568,   569,   570,   571,   572,   573,   574,     0,
8781      575,   576,   577,   578,   579,   580,     0,     0,   581,     0,
8782        0,   582,   583,   584,   585,   586,   587,   588,   589,   590,
8783      591,   592,   593,   594,   595,   596,   597,   598,   599,   600,
8784      601,   873,     0,     0,     0,     0,     0,     0,     0,     0,
8785        0,     0,     0,     0,     0,     0,     0,     0,   229,   230,
8786      231,   232,   233,   234,   235,   236,   932,   237,   238,   239,
8787        0,     0,     0,     0,     0,     0,     0,   240,   241,     0,
8788      242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
8789      252,   253,     0,   254,   255,   256,   257,   258,   259,     0,
8790        0,   260,   261,   262,   263,   264,     0,   265,   266,   267,
8791      268,   269,     0,   270,     0,   271,   272,   273,   274,   275,
8792      276,   277,   278,   279,     0,   280,   281,   282,   283,   284,
8793      285,     0,   286,   287,   288,   289,     0,     0,     0,   290,
8794        0,     0,   874,   291,   292,   293,   294,   295,   296,   297,
8795      298,   299,     0,   300,     0,   301,   302,   303,   304,   305,
8796      306,     0,   307,   308,   309,   310,     0,     0,   311,   312,
8797      313,   314,   315,     0,   316,   317,   318,     0,   319,   320,
8798      321,     0,   322,   323,   324,   325,   326,   327,   328,   329,
8799      330,   331,     0,   332,     0,   333,   334,   335,   336,     0,
8800      337,     0,   338,   339,     0,   340,   341,   342,   343,   344,
8801        0,   345,   346,     0,   347,   348,   349,     0,   350,   351,
8802      352,   353,   354,   355,   356,   357,   358,   359,     0,   360,
8803      361,   362,   363,   364,   365,   366,     0,   367,   368,   369,
8804      370,   371,   372,   373,   374,   375,     0,   376,     0,   377,
8805      378,   379,   380,   381,   382,   383,   384,   385,   386,     0,
8806        0,   387,   388,   389,   390,   391,     0,   392,   393,   394,
8807        0,     0,   395,   396,   397,   398,   933,   400,   401,   402,
8808      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
8809      413,   414,   415,   416,   417,   418,   419,   420,   421,   422,
8810      423,     0,   424,   425,   426,   427,     0,   428,   429,   430,
8811      431,   432,   433,     0,   434,   435,     0,     0,   436,   437,
8812      438,     0,     0,   439,   440,   441,   442,   443,   444,   445,
8813      446,   447,   448,   449,   450,   451,   452,   453,   454,     0,
8814      455,   456,   457,   458,   459,   460,   461,   462,     0,   463,
8815      464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
8816      474,   475,   476,   477,     0,   478,   479,   480,   481,   482,
8817      483,   484,   485,   486,   487,   488,   489,     0,   490,   491,
8818      492,   493,   494,   495,   496,   497,   498,   499,   500,   501,
8819      502,   503,   504,   505,   506,   507,     0,   508,   509,   510,
8820      511,   512,   875,   513,   514,   515,   516,   517,   518,   519,
8821      520,   521,   522,     0,   523,   524,   525,   526,   527,   528,
8822      529,   530,   531,   532,   533,   534,   535,   536,   537,     0,
8823      538,   539,     0,   540,   541,   542,   543,   544,   545,   546,
8824        0,   547,   548,   549,     0,     0,   550,   551,   552,   553,
8825      554,     0,   555,   556,   557,   558,   559,   560,   561,   562,
8826        0,     0,   563,   564,   565,   566,   567,     0,     0,   568,
8827      569,   570,   571,   572,   573,   574,     0,   575,   576,   577,
8828      578,   579,   580,     0,     0,   581,     0,     0,   582,   583,
8829      584,   585,   586,   587,   588,   589,   590,   591,   592,   593,
8830      594,   595,   596,   597,   598,   599,   600,   601,   873,     0,
8831        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
8832        0,     0,     0,     0,     0,   229,   230,   231,   232,   233,
8833      234,   235,   236,     0,   237,   238,   239,     0,     0,     0,
8834        0,     0,     0,     0,   240,   241,     0,   242,   243,   244,
8835      245,   246,   247,   248,   249,   250,   251,   252,   253,     0,
8836      254,   255,   256,   257,   258,   259,     0,     0,   260,   261,
8837      262,   263,   264,     0,   265,   266,   267,   268,   269,     0,
8838      270,     0,   271,   272,   273,   274,   275,   276,   277,   278,
8839      279,     0,   280,   281,   282,   283,   284,   285,     0,   286,
8840      287,   288,   289,     0,     0,     0,   290,     0,     0,   874,
8841      291,   292,   293,   294,   295,   296,   297,   298,   299,     0,
8842      300,     0,   301,   302,   303,   304,   305,   306,     0,   307,
8843      308,   309,   310,     0,     0,   311,   312,   313,   314,   315,
8844        0,   316,   317,   318,     0,   319,   320,   321,     0,   322,
8845      323,   324,   325,   326,   327,   328,   329,   330,   331,     0,
8846      332,     0,   333,   334,   335,   336,     0,   337,     0,   338,
8847      339,     0,   340,   341,   342,   343,   344,     0,   345,   346,
8848        0,   347,   348,   349,     0,   350,   351,   352,   353,   354,
8849      355,   356,   357,   358,   359,     0,   360,   361,   362,   363,
8850      364,   365,   366,     0,   367,   368,   369,   370,   371,   372,
8851      373,   374,   375,     0,   376,     0,   377,   378,   379,   380,
8852      381,   382,   383,   384,   385,   386,     0,     0,   387,   388,
8853      389,   390,   391,     0,   392,   393,   394,     0,     0,   395,
8854      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
8855      406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
8856      416,   417,   418,   419,   420,   421,   422,   423,     0,   424,
8857      425,   426,   427,     0,   428,   429,   430,   431,   432,   433,
8858        0,   434,   435,     0,     0,   436,   437,   438,     0,     0,
8859      439,   440,   441,   442,   443,   444,   445,   446,   447,   448,
8860      449,   450,   451,   452,   453,   454,     0,   455,   456,   457,
8861      458,   459,   460,   461,   462,     0,   463,   464,   465,   466,
8862      467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
8863      477,     0,   478,   479,   480,   481,   482,   483,   484,   485,
8864      486,   487,   488,   489,     0,   490,   491,   492,   493,   494,
8865      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
8866      505,   506,   507,     0,   508,   509,   510,   511,   512,   875,
8867      513,   514,   515,   516,   517,   518,   519,   520,   521,   522,
8868        0,   523,   524,   525,   526,   527,   528,   529,   530,   531,
8869      532,   533,   534,   535,   536,   537,     0,   538,   539,     0,
8870      540,   541,   542,   543,   544,   545,   546,     0,   547,   548,
8871      549,     0,     0,   550,   551,   552,   553,   554,     0,   555,
8872      556,   557,   558,   559,   560,   561,   562,     0,     0,   563,
8873      564,   565,   566,   567,  2442,     0,   568,   569,   570,   571,
8874      572,   573,   574,     0,   575,   576,   577,   578,   579,   580,
8875        0,     0,   581,     0,     0,   582,   583,   584,   585,   586,
8876      587,   588,   589,   590,   591,   592,   593,   594,   595,   596,
8877      597,   598,   599,   600,   601,   873,     0,     0,     0,     0,
8878        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
8879        0,     0,   229,   230,   231,   232,   233,   234,   235,   236,
8880        0,   237,   238,   239,     0,     0,     0,     0,     0,     0,
8881        0,   240,   241,     0,   242,   243,   244,   245,   246,   247,
8882      248,   249,   250,   251,   252,   253,     0,   254,   255,   256,
8883      257,   258,   259,     0,     0,   260,   261,   262,   263,   264,
8884        0,   265,   266,   267,   268,   269,     0,   270,     0,   271,
8885      272,   273,   274,   275,   276,   277,   278,   279,     0,   280,
8886      281,   282,   283,   284,   285,     0,   286,   287,   288,   289,
8887        0,     0,     0,   290,     0,     0,   874,   291,   292,   293,
8888      294,   295,   296,   297,   298,   299,     0,   300,     0,   301,
8889      302,   303,   304,   305,   306,     0,   307,   308,   309,   310,
8890        0,     0,   311,   312,   313,   314,   315,     0,   316,   317,
8891      318,     0,   319,   320,   321,     0,   322,   323,   324,   325,
8892      326,   327,   328,   329,   330,   331,     0,   332,     0,   333,
8893      334,   335,   336,     0,   337,     0,   338,   339,     0,   340,
8894      341,   342,   343,   344,     0,   345,   346,  3449,   347,   348,
8895      349,     0,   350,   351,   352,   353,   354,   355,   356,   357,
8896      358,   359,     0,   360,   361,   362,   363,   364,   365,   366,
8897        0,   367,   368,   369,   370,   371,   372,   373,   374,   375,
8898        0,   376,     0,   377,   378,   379,   380,   381,   382,   383,
8899      384,   385,   386,     0,     0,   387,   388,   389,   390,   391,
8900        0,   392,   393,   394,     0,     0,   395,   396,   397,   398,
8901      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
8902      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
8903      419,   420,   421,   422,   423,     0,   424,   425,   426,   427,
8904        0,   428,   429,   430,   431,   432,   433,     0,   434,   435,
8905        0,     0,   436,   437,   438,     0,     0,   439,   440,   441,
8906      442,   443,   444,   445,   446,   447,   448,   449,   450,   451,
8907      452,   453,   454,     0,   455,   456,   457,   458,   459,   460,
8908      461,   462,     0,   463,   464,   465,   466,   467,   468,   469,
8909      470,   471,   472,   473,   474,   475,   476,   477,     0,   478,
8910      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
8911      489,     0,   490,   491,   492,   493,   494,   495,   496,   497,
8912      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
8913        0,   508,   509,   510,   511,   512,   875,   513,   514,   515,
8914      516,   517,   518,   519,   520,   521,   522,     0,   523,   524,
8915      525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
8916      535,   536,   537,     0,   538,   539,     0,   540,   541,   542,
8917      543,   544,   545,   546,     0,   547,   548,   549,     0,     0,
8918      550,   551,   552,   553,   554,     0,   555,   556,   557,   558,
8919      559,   560,   561,   562,     0,     0,   563,   564,   565,   566,
8920      567,     0,     0,   568,   569,   570,   571,   572,   573,   574,
8921        0,   575,   576,   577,   578,   579,   580,     0,     0,   581,
8922        0,     0,   582,   583,   584,   585,   586,   587,   588,   589,
8923      590,   591,   592,   593,   594,   595,   596,   597,   598,   599,
8924      600,   601,   873,     0,     0,     0,     0,     0,     0,     0,
8925        0,     0,     0,     0,     0,     0,     0,     0,     0,   229,
8926      230,   231,   232,   233,   234,   235,   236,     0,   237,   238,
8927      239,     0,     0,     0,     0,     0,     0,     0,   240,   241,
8928        0,   242,   243,   244,   245,   246,   247,   248,   249,   250,
8929      251,   252,   253,     0,   254,   255,   256,   257,   258,   259,
8930        0,     0,   260,   261,   262,   263,   264,     0,   265,   266,
8931      267,   268,   269,     0,   270,     0,   271,   272,   273,   274,
8932      275,   276,   277,   278,   279,     0,   280,   281,   282,   283,
8933      284,   285,     0,   286,   287,   288,   289,     0,     0,     0,
8934      290,     0,     0,   874,   291,   292,   293,   294,   295,   296,
8935      297,   298,   299,     0,   300,     0,   301,   302,   303,   304,
8936      305,   306,     0,   307,   308,   309,   310,     0,     0,   311,
8937      312,   313,   314,   315,     0,   316,   317,   318,     0,   319,
8938      320,   321,     0,   322,   323,   324,   325,   326,   327,   328,
8939      329,   330,   331,     0,   332,     0,   333,   334,   335,   336,
8940        0,   337,     0,   338,   339,     0,   340,   341,   342,   343,
8941      344,     0,   345,   346,     0,   347,   348,   349,     0,   350,
8942      351,   352,   353,   354,   355,   356,   357,   358,   359,     0,
8943      360,   361,   362,   363,   364,   365,   366,     0,   367,   368,
8944      369,   370,   371,   372,   373,   374,   375,     0,   376,     0,
8945      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
8946        0,     0,   387,   388,   389,   390,   391,     0,   392,   393,
8947      394,     0,     0,   395,   396,   397,   398,   399,   400,   401,
8948      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
8949      412,   413,   414,   415,   416,   417,   418,   419,   420,   421,
8950      422,   423,     0,   424,   425,   426,   427,     0,   428,   429,
8951      430,   431,   432,   433,     0,   434,   435,     0,     0,   436,
8952      437,   438,     0,     0,   439,   440,   441,   442,   443,   444,
8953      445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
8954        0,   455,   456,   457,   458,   459,   460,   461,   462,     0,
8955      463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
8956      473,   474,   475,   476,   477,     0,   478,   479,   480,   481,
8957      482,   483,   484,   485,   486,   487,   488,   489,     0,   490,
8958      491,   492,   493,   494,   495,   496,   497,   498,   499,   500,
8959      501,   502,   503,   504,   505,   506,   507,     0,   508,   509,
8960      510,   511,   512,   875,   513,   514,   515,   516,   517,   518,
8961      519,   520,   521,   522,     0,   523,   524,   525,   526,   527,
8962      528,   529,   530,   531,   532,   533,   534,   535,   536,   537,
8963        0,   538,   539,     0,   540,   541,   542,   543,   544,   545,
8964      546,     0,   547,   548,   549,     0,     0,   550,   551,   552,
8965      553,   554,     0,   555,   556,   557,   558,   559,   560,   561,
8966      562,     0,     0,   563,   564,   565,   566,   567,     0,     0,
8967      568,   569,   570,   571,   572,   573,   574,     0,   575,   576,
8968      577,   578,   579,   580,     0,     0,   581,     0,     0,   582,
8969      583,   584,   585,   586,   587,   588,   589,   590,   591,   592,
8970      593,   594,   595,   596,   597,   598,   599,   600,   601,   873,
8971        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
8972        0,     0,     0,     0,     0,     0,   229,   230,   231,   232,
8973      233,   234,   235,   236,     0,   237,   238,   239,     0,     0,
8974        0,     0,     0,     0,     0,   240,   241,     0,   242,   243,
8975      244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
8976        0,   254,   255,   256,   257,   258,   259,     0,     0,   260,
8977      261,   262,   263,   264,     0,   265,   266,   267,   268,   269,
8978        0,   270,     0,   271,   272,   273,   274,   275,   276,   277,
8979      278,   279,     0,   280,   281,   282,   283,   284,   285,     0,
8980      286,   287,   288,   289,     0,     0,     0,   290,     0,     0,
8981      874,   291,   292,   293,   294,   295,   296,   297,   298,   299,
8982        0,   300,     0,   301,   302,   303,   304,   305,   306,     0,
8983      307,   308,   309,   310,     0,     0,   311,   312,   313,   314,
8984      315,     0,   316,   317,   318,     0,   319,   320,   321,     0,
8985      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
8986        0,   332,     0,   333,   334,   335,   336,     0,   337,     0,
8987      338,   339,     0,   340,   341,   342,   343,   344,     0,   345,
8988      346,     0,   347,   348,   349,     0,   350,   351,   352,   353,
8989      354,   355,   356,   357,   358,   359,     0,   360,   361,   362,
8990      363,   364,   365,   366,     0,   367,   368,   369,   370,   371,
8991      372,   373,   374,   375,     0,   376,     0,   377,   378,   379,
8992      380,   381,   382,   383,   384,   385,   386,     0,     0,   387,
8993      388,   389,   390,   391,     0,   392,   393,   394,     0,     0,
8994      395,   396,   397,   398,  1038,   400,   401,   402,   403,   404,
8995      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
8996      415,   416,   417,   418,   419,   420,   421,   422,   423,     0,
8997      424,   425,   426,   427,     0,   428,   429,   430,   431,   432,
8998      433,     0,   434,   435,     0,     0,   436,   437,   438,     0,
8999        0,   439,   440,   441,   442,   443,   444,   445,   446,   447,
9000      448,   449,   450,   451,   452,   453,   454,     0,   455,   456,
9001      457,   458,   459,   460,   461,   462,     0,   463,   464,   465,
9002      466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
9003      476,   477,     0,   478,   479,   480,   481,   482,   483,   484,
9004      485,   486,   487,   488,   489,     0,   490,   491,   492,   493,
9005      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
9006      504,   505,   506,   507,     0,   508,   509,   510,   511,   512,
9007      875,   513,   514,   515,   516,   517,   518,   519,   520,   521,
9008      522,     0,   523,   524,   525,   526,   527,   528,   529,   530,
9009      531,   532,   533,   534,   535,   536,   537,     0,   538,   539,
9010        0,   540,   541,   542,   543,   544,   545,   546,     0,   547,
9011      548,   549,     0,     0,   550,   551,   552,   553,   554,     0,
9012      555,   556,   557,   558,   559,   560,   561,   562,     0,     0,
9013      563,   564,   565,   566,   567,     0,     0,   568,   569,   570,
9014      571,   572,   573,   574,     0,   575,   576,   577,   578,   579,
9015      580,     0,     0,   581,     0,     0,   582,   583,   584,   585,
9016      586,   587,   588,   589,   590,   591,   592,   593,   594,   595,
9017      596,   597,   598,   599,   600,   601,   873,     0,     0,     0,
9018        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9019        0,     0,     0,   229,   230,   231,   232,   233,   234,   235,
9020      236,     0,   237,   238,   239,     0,     0,     0,     0,     0,
9021        0,     0,   240,   241,     0,   242,   243,   244,   245,   246,
9022      247,   248,   249,   250,   251,   252,   253,     0,   254,   255,
9023      256,   257,   258,   259,     0,     0,   260,   261,   262,   263,
9024      264,     0,   265,   266,   267,   268,   269,     0,   270,     0,
9025      271,   272,   273,   274,   275,   276,   277,   278,   279,     0,
9026      280,   281,   282,   283,   284,   285,     0,   286,   287,   288,
9027      289,     0,     0,     0,   290,     0,     0,   874,   291,   292,
9028      293,   294,   295,   296,   297,   298,   299,     0,   300,     0,
9029      301,   302,   303,   304,   305,   306,     0,   307,   308,   309,
9030      310,     0,     0,   311,   312,   313,   314,   315,     0,   316,
9031      317,   318,     0,   319,   320,   321,     0,   322,   323,   324,
9032      325,   326,   327,   328,   329,   330,   331,     0,   332,     0,
9033      333,   334,   335,   336,     0,   337,     0,   338,   339,     0,
9034      340,   341,   342,   343,   344,     0,   345,   346,     0,   347,
9035      348,   349,     0,   350,   351,   352,   353,  1114,   355,   356,
9036      357,   358,   359,     0,   360,   361,   362,   363,   364,   365,
9037      366,     0,   367,   368,   369,   370,   371,   372,   373,   374,
9038      375,     0,   376,     0,   377,   378,   379,   380,   381,   382,
9039      383,   384,   385,   386,     0,     0,   387,   388,   389,   390,
9040      391,     0,   392,   393,   394,     0,     0,   395,   396,   397,
9041      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
9042      408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
9043      418,   419,   420,   421,   422,   423,     0,   424,   425,   426,
9044      427,     0,   428,   429,   430,   431,   432,   433,     0,   434,
9045      435,     0,     0,   436,   437,   438,     0,     0,   439,   440,
9046      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
9047      451,   452,   453,   454,     0,   455,   456,   457,   458,   459,
9048      460,   461,   462,     0,   463,   464,   465,   466,   467,   468,
9049      469,   470,   471,   472,   473,   474,   475,   476,   477,     0,
9050      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
9051      488,   489,     0,   490,   491,   492,   493,   494,   495,   496,
9052      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
9053      507,     0,   508,   509,   510,   511,   512,   875,   513,   514,
9054      515,   516,   517,   518,   519,   520,   521,   522,     0,   523,
9055      524,   525,   526,   527,   528,   529,   530,   531,   532,   533,
9056      534,   535,   536,   537,     0,   538,   539,     0,   540,   541,
9057      542,   543,   544,   545,   546,     0,   547,   548,   549,     0,
9058        0,   550,   551,   552,   553,   554,     0,   555,   556,   557,
9059      558,   559,   560,   561,   562,     0,     0,   563,   564,   565,
9060      566,   567,     0,     0,   568,   569,   570,   571,   572,   573,
9061      574,     0,   575,   576,   577,   578,   579,   580,     0,     0,
9062      581,     0,     0,   582,   583,   584,   585,   586,   587,   588,
9063      589,   590,   591,   592,   593,   594,   595,   596,   597,   598,
9064      599,   600,   601,   873,     0,     0,     0,     0,     0,     0,
9065        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9066      229,   230,   231,   232,   233,   234,   235,   236,     0,   237,
9067      238,   239,     0,     0,     0,     0,     0,     0,     0,   240,
9068      241,     0,   242,   243,   244,   245,   246,   247,   248,   249,
9069      250,   251,   252,   253,     0,   254,   255,   256,   257,   258,
9070      259,     0,     0,   260,   261,   262,   263,   264,     0,   265,
9071      266,   267,   268,   269,     0,   270,     0,   271,   272,   273,
9072      274,   275,   276,   277,   278,   279,     0,   280,   281,   282,
9073      283,   284,   285,     0,   286,   287,   288,   289,     0,     0,
9074        0,   290,     0,     0,   874,   291,   292,   293,   294,   295,
9075      296,   297,   298,   299,     0,   300,     0,   301,   302,   303,
9076      304,   305,   306,     0,   307,   308,   309,   310,     0,     0,
9077      311,   312,   313,   314,   315,     0,   316,   317,   318,     0,
9078      319,   320,   321,     0,   322,   323,   324,   325,   326,   327,
9079      328,   329,   330,   331,     0,   332,     0,   333,   334,   335,
9080      336,     0,   337,     0,   338,   339,     0,   340,   341,   342,
9081      343,   344,     0,   345,   346,     0,   347,   348,   349,     0,
9082      350,   351,   352,   353,  1127,   355,   356,   357,   358,   359,
9083        0,   360,   361,   362,   363,   364,   365,   366,     0,   367,
9084      368,   369,   370,   371,   372,   373,   374,   375,     0,   376,
9085        0,   377,   378,   379,   380,   381,   382,   383,   384,   385,
9086      386,     0,     0,   387,   388,   389,   390,   391,     0,   392,
9087      393,   394,     0,     0,   395,   396,   397,   398,   399,   400,
9088      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
9089      411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
9090      421,   422,   423,     0,   424,   425,   426,   427,     0,   428,
9091      429,   430,   431,   432,   433,     0,   434,   435,     0,     0,
9092      436,   437,   438,     0,     0,   439,   440,   441,   442,   443,
9093      444,   445,   446,   447,   448,   449,   450,   451,   452,   453,
9094      454,     0,   455,   456,   457,   458,   459,   460,   461,   462,
9095        0,   463,   464,   465,   466,   467,   468,   469,   470,   471,
9096      472,   473,   474,   475,   476,   477,     0,   478,   479,   480,
9097      481,   482,   483,   484,   485,   486,   487,   488,   489,     0,
9098      490,   491,   492,   493,   494,   495,   496,   497,   498,   499,
9099      500,   501,   502,   503,   504,   505,   506,   507,     0,   508,
9100      509,   510,   511,   512,   875,   513,   514,   515,   516,   517,
9101      518,   519,   520,   521,   522,     0,   523,   524,   525,   526,
9102      527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
9103      537,     0,   538,   539,     0,   540,   541,   542,   543,   544,
9104      545,   546,     0,   547,   548,   549,     0,     0,   550,   551,
9105      552,   553,   554,     0,   555,   556,   557,   558,   559,   560,
9106      561,   562,     0,     0,   563,   564,   565,   566,   567,     0,
9107        0,   568,   569,   570,   571,   572,   573,   574,     0,   575,
9108      576,   577,   578,   579,   580,     0,     0,   581,     0,     0,
9109      582,   583,   584,   585,   586,   587,   588,   589,   590,   591,
9110      592,   593,   594,   595,   596,   597,   598,   599,   600,   601,
9111      873,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9112        0,     0,     0,     0,     0,     0,     0,   229,   230,   231,
9113      232,   233,   234,   235,   236,     0,   237,   238,   239,     0,
9114        0,     0,     0,     0,     0,     0,   240,   241,     0,   242,
9115      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
9116      253,     0,   254,   255,   256,   257,   258,   259,     0,     0,
9117      260,   261,   262,   263,   264,     0,   265,   266,   267,   268,
9118      269,     0,   270,     0,   271,   272,   273,   274,   275,   276,
9119      277,   278,   279,     0,   280,   281,   282,   283,   284,   285,
9120        0,   286,   287,   288,   289,     0,     0,     0,   290,     0,
9121        0,   874,   291,   292,   293,   294,   295,   296,   297,   298,
9122      299,     0,   300,     0,   301,   302,   303,   304,   305,   306,
9123        0,   307,   308,   309,   310,     0,     0,   311,   312,   313,
9124      314,   315,     0,   316,   317,   318,     0,   319,   320,   321,
9125        0,   322,   323,   324,   325,   326,   327,   328,   329,   330,
9126      331,     0,   332,     0,   333,   334,   335,   336,     0,   337,
9127        0,   338,   339,     0,   340,   341,   342,   343,   344,     0,
9128      345,   346,     0,   347,   348,   349,     0,   350,   351,   352,
9129      353,  1139,   355,   356,   357,   358,   359,     0,   360,   361,
9130      362,   363,   364,   365,   366,     0,   367,   368,   369,   370,
9131      371,   372,   373,   374,   375,     0,   376,     0,   377,   378,
9132      379,   380,   381,   382,   383,   384,   385,   386,     0,     0,
9133      387,   388,   389,   390,   391,     0,   392,   393,   394,     0,
9134        0,   395,   396,   397,   398,  1140,   400,   401,   402,   403,
9135      404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
9136      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
9137        0,   424,   425,   426,   427,     0,   428,   429,   430,   431,
9138      432,   433,     0,   434,   435,     0,     0,   436,   437,   438,
9139        0,     0,   439,   440,   441,   442,   443,   444,   445,   446,
9140      447,   448,   449,   450,   451,   452,   453,   454,     0,   455,
9141      456,   457,   458,   459,   460,   461,   462,     0,   463,   464,
9142      465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
9143      475,   476,   477,     0,   478,   479,   480,   481,   482,   483,
9144      484,   485,   486,   487,   488,   489,     0,   490,   491,   492,
9145      493,   494,   495,   496,   497,   498,   499,   500,   501,   502,
9146      503,   504,   505,   506,   507,     0,   508,   509,   510,   511,
9147      512,   875,   513,   514,   515,   516,   517,   518,   519,   520,
9148      521,   522,     0,   523,   524,   525,   526,   527,   528,   529,
9149      530,   531,   532,   533,   534,   535,   536,   537,     0,   538,
9150      539,     0,   540,   541,   542,   543,   544,   545,   546,     0,
9151      547,   548,   549,     0,     0,   550,   551,   552,   553,   554,
9152        0,   555,   556,   557,   558,   559,   560,   561,   562,     0,
9153        0,   563,   564,   565,   566,   567,     0,     0,   568,   569,
9154      570,   571,   572,   573,   574,     0,   575,   576,   577,   578,
9155      579,   580,     0,     0,   581,     0,     0,   582,   583,   584,
9156      585,   586,   587,   588,   589,   590,   591,   592,   593,   594,
9157      595,   596,   597,   598,   599,   600,   601,   873,     0,     0,
9158        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9159        0,     0,     0,     0,   229,   230,   231,   232,   233,   234,
9160      235,   236,     0,   237,   238,   239,     3,     4,     0,     0,
9161        0,     0,     0,   240,   241,     0,   242,   243,   244,   245,
9162      246,   247,   248,   249,   250,   251,   252,   253,     0,   254,
9163      255,   256,   257,   258,   259,     0,     0,   260,   261,   262,
9164      263,   264,     0,   265,   266,   267,   268,   269,     0,   270,
9165        0,   271,   272,   273,   274,   275,   276,   277,   278,   279,
9166        0,   280,   281,   282,   283,   284,   285,     0,   286,   287,
9167      288,   289,     0,     0,     0,   290,     0,     0,     0,   291,
9168      292,   293,   294,   295,   296,   297,   298,   299,     0,   300,
9169        0,   301,   302,   303,   304,   305,   306,     0,   307,   308,
9170      309,   310,     0,     0,   311,   312,   313,   314,   315,     0,
9171      316,   317,   318,     0,   319,   320,   321,     0,   322,   323,
9172      324,   325,   326,   327,   328,   329,   330,   331,     0,   332,
9173        0,   333,   334,   335,   336,     0,   337,     0,   338,   339,
9174        0,   340,   341,   342,   343,   344,     0,   345,   346,     0,
9175      347,   348,   349,     0,   350,   351,   352,   353,   354,   355,
9176      356,   357,   358,   359,     0,   360,   361,   362,   363,   364,
9177      365,   366,     0,   367,   368,   369,   370,   371,   372,   373,
9178      374,   375,     0,   376,     0,   377,   378,   379,   380,   381,
9179      382,   383,   384,   385,   386,     0,     0,   387,   388,   389,
9180      390,   391,     0,   392,   393,   394,     0,     0,   395,   396,
9181      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
9182      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
9183      417,   418,   419,   420,   421,   422,   423,     0,   424,   425,
9184      426,   427,     0,   428,   429,   430,   431,   432,   433,     0,
9185      434,   435,     0,     0,   436,   437,   438,     0,     0,   439,
9186      440,   441,   442,   443,   444,   445,   446,   447,   448,   449,
9187      450,   451,   452,   453,   454,     0,   455,   456,   457,   458,
9188      459,   460,   461,   462,     0,   463,   464,   465,   466,   467,
9189      468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
9190        0,   478,   479,   480,   481,   482,   483,   484,   485,   486,
9191      487,   488,   489,     0,   490,   491,   492,   493,   494,   495,
9192      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
9193      506,   507,     0,   508,   509,   510,   511,   512,     0,   513,
9194      514,   515,   516,   517,   518,   519,   520,   521,   522,     0,
9195      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
9196      533,   534,   535,   536,   537,     0,   538,   539,     0,   540,
9197      541,   542,   543,   544,   545,   546,     0,   547,   548,   549,
9198        0,     0,   550,   551,   552,   553,   554,     0,   555,   556,
9199      557,   558,   559,   560,   561,   562,     0,     0,   563,   564,
9200      565,   566,   567,     0,     0,   568,   569,   570,   571,   572,
9201      573,   574,     0,   575,   576,   577,   578,   579,   580,     0,
9202        0,   581,     0,     0,   582,   583,   584,   585,   586,   587,
9203      588,   589,   590,   591,   592,   593,   594,   595,   596,   597,
9204      598,   599,   600,   601,   873,     0,     0,   669,     0,     0,
9205        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9206        0,   229,   230,   231,   232,   233,   234,   235,   236,     0,
9207      237,   238,   239,     0,     0,     0,     0,     0,     0,     0,
9208      240,   241,     0,   242,   243,   244,   245,   246,   247,   248,
9209      249,   250,   251,   252,   253,     0,   254,   255,   256,   257,
9210      258,   259,     0,     0,   260,   261,   262,   263,   264,     0,
9211      265,   266,   267,   268,   269,     0,   270,     0,   271,   272,
9212      273,   274,   275,   276,   277,   278,   279,     0,   280,   281,
9213      282,   283,   284,   285,     0,   286,   287,   288,   289,     0,
9214        0,     0,   290,     0,     0,     0,   291,   292,   293,   294,
9215      295,   296,   297,   298,   299,  2087,   300,     0,   301,   302,
9216      303,   304,   305,   306,     0,   307,   308,   309,   310,     0,
9217        0,   311,   312,   313,   314,   315,     0,   316,   317,   318,
9218        0,   319,   320,   321,     0,   322,   323,   324,   325,   326,
9219      327,   328,   329,   330,   331,     0,   332,     0,   333,   334,
9220      335,   336,     0,   337,     0,   338,   339,     0,   340,   341,
9221      342,   343,   344,     0,   345,   346,     0,   347,   348,   349,
9222        0,   350,   351,   352,   353,   354,   355,   356,   357,   358,
9223      359,     0,   360,   361,   362,   363,   364,   365,   366,     0,
9224      367,   368,   369,   370,   371,   372,   373,   374,   375,     0,
9225      376,     0,   377,   378,   379,   380,   381,   382,   383,   384,
9226      385,   386,     0,     0,   387,   388,   389,   390,   391,     0,
9227      392,   393,   394,     0,     0,   395,   396,   397,   398,   399,
9228      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
9229      410,   411,   412,   413,   414,   415,   416,   417,   418,   419,
9230      420,   421,   422,   423,     0,   424,   425,   426,   427,     0,
9231      428,   429,   430,   431,   432,   433,     0,   434,   435,     0,
9232        0,   436,   437,   438,     0,     0,   439,   440,   441,   442,
9233      443,   444,   445,   446,   447,   448,   449,   450,   451,   452,
9234      453,   454,     0,   455,   456,   457,   458,   459,   460,   461,
9235      462,     0,   463,   464,   465,   466,   467,   468,   469,   470,
9236      471,   472,   473,   474,   475,   476,   477,     0,   478,   479,
9237      480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
9238        0,   490,   491,   492,   493,   494,   495,   496,   497,   498,
9239      499,   500,   501,   502,   503,   504,   505,   506,   507,     0,
9240      508,   509,   510,   511,   512,     0,   513,   514,   515,   516,
9241      517,   518,   519,   520,   521,   522,     0,   523,   524,   525,
9242      526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
9243      536,   537,     0,   538,   539,     0,   540,   541,   542,   543,
9244      544,   545,   546,     0,   547,   548,   549,     0,     0,   550,
9245      551,   552,   553,   554,     0,   555,   556,   557,   558,   559,
9246      560,   561,   562,     0,     0,   563,   564,   565,   566,   567,
9247        0,     0,   568,   569,   570,   571,   572,   573,   574,     0,
9248      575,   576,   577,   578,   579,   580,     0,     0,   581,     0,
9249        0,   582,   583,   584,   585,   586,   587,   588,   589,   590,
9250      591,   592,   593,   594,   595,   596,   597,   598,   599,   600,
9251      601,   873,     0,     0,   669,     0,     0,     0,     0,     0,
9252        0,     0,     0,     0,     0,     0,     0,     0,   229,   230,
9253      231,   232,   233,   234,   235,   236,     0,   237,   238,   239,
9254        0,     0,     0,     0,     0,     0,     0,   240,   241,     0,
9255      242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
9256      252,   253,     0,   254,   255,   256,   257,   258,   259,     0,
9257        0,   260,   261,   262,   263,   264,     0,   265,   266,   267,
9258      268,   269,     0,   270,     0,   271,   272,   273,   274,   275,
9259      276,   277,   278,   279,     0,   280,   281,   282,   283,   284,
9260      285,     0,   286,   287,   288,   289,     0,     0,     0,   290,
9261        0,     0,     0,   291,   292,   293,   294,   295,   296,   297,
9262      298,   299,     0,   300,     0,   301,   302,   303,   304,   305,
9263      306,     0,   307,   308,   309,   310,     0,     0,   311,   312,
9264      313,   314,   315,     0,   316,   317,   318,     0,   319,   320,
9265      321,     0,   322,   323,   324,   325,   326,   327,   328,   329,
9266      330,   331,     0,   332,     0,   333,   334,   335,   336,     0,
9267      337,     0,   338,   339,     0,   340,   341,   342,   343,   344,
9268        0,   345,   346,     0,   347,   348,   349,     0,   350,   351,
9269      352,   353,   354,   355,   356,   357,   358,   359,     0,   360,
9270      361,   362,   363,   364,   365,   366,     0,   367,   368,   369,
9271      370,   371,   372,   373,   374,   375,     0,   376,     0,   377,
9272      378,   379,   380,   381,   382,   383,   384,   385,   386,     0,
9273        0,   387,   388,   389,   390,   391,     0,   392,   393,   394,
9274        0,     0,   395,   396,   397,   398,   399,   400,   401,   402,
9275      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
9276      413,   414,   415,   416,   417,   418,   419,   420,   421,   422,
9277      423,     0,   424,   425,   426,   427,     0,   428,   429,   430,
9278      431,   432,   433,     0,   434,   435,     0,     0,   436,   437,
9279      438,     0,     0,   439,   440,   441,   442,   443,   444,   445,
9280      446,   447,   448,   449,   450,   451,   452,   453,   454,     0,
9281      455,   456,   457,   458,   459,   460,   461,   462,     0,   463,
9282      464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
9283      474,   475,   476,   477,     0,   478,   479,   480,   481,   482,
9284      483,   484,   485,   486,   487,   488,   489,     0,   490,   491,
9285      492,   493,   494,   495,   496,   497,   498,   499,   500,   501,
9286      502,   503,   504,   505,   506,   507,     0,   508,   509,   510,
9287      511,   512,     0,   513,   514,   515,   516,   517,   518,   519,
9288      520,   521,   522,     0,   523,   524,   525,   526,   527,   528,
9289      529,   530,   531,   532,   533,   534,   535,   536,   537,     0,
9290      538,   539,     0,   540,   541,   542,   543,   544,   545,   546,
9291        0,   547,   548,   549,     0,     0,   550,   551,   552,   553,
9292      554,     0,   555,   556,   557,   558,   559,   560,   561,   562,
9293        0,     0,   563,   564,   565,   566,   567,     0,     0,   568,
9294      569,   570,   571,   572,   573,   574,     0,   575,   576,   577,
9295      578,   579,   580,     0,     0,   581,     0,     0,   582,   583,
9296      584,   585,   586,   587,   588,   589,   590,   591,   592,   593,
9297      594,   595,   596,   597,   598,   599,   600,   601,   873,     0,
9298        0,   669,     0,     0,     0,     0,     0,     0,     0,     0,
9299        0,     0,     0,     0,     0,   229,   230,   231,   232,   233,
9300      234,   235,   236,     0,   237,   238,   239,     0,     0,     0,
9301        0,     0,     0,     0,   240,   241,     0,   242,   243,   244,
9302      245,   246,   247,   248,   249,   250,   251,   252,   253,     0,
9303      254,   255,   256,   257,   258,   259,     0,     0,   260,   261,
9304      262,   263,   264,     0,   265,   266,   267,   268,   269,     0,
9305      270,     0,   271,   272,   273,   274,   275,   276,   277,   278,
9306      279,     0,   280,   281,   282,   283,   284,   285,     0,   286,
9307      287,   288,   289,     0,     0,     0,   290,     0,     0,     0,
9308      291,   292,   293,   294,   295,   296,   297,   298,   299,     0,
9309      300,     0,   301,   302,   303,   304,   305,   306,     0,   307,
9310      308,   309,   310,     0,     0,   311,   312,   313,   314,   315,
9311        0,   316,   317,   318,     0,   319,   320,   321,     0,   322,
9312      323,   324,   325,   326,   327,   328,   329,   330,   331,     0,
9313      332,     0,   333,   334,   335,   336,     0,   337,     0,   338,
9314      339,     0,   340,   341,   342,   343,   344,     0,   345,   346,
9315        0,   347,   348,   349,     0,   350,   351,   352,   353,  1907,
9316      355,   356,   357,   358,   359,     0,   360,   361,   362,   363,
9317      364,   365,   366,     0,   367,   368,   369,   370,   371,   372,
9318      373,   374,   375,     0,   376,     0,   377,   378,   379,   380,
9319      381,   382,   383,   384,   385,   386,     0,     0,   387,   388,
9320      389,   390,   391,     0,   392,   393,   394,     0,     0,   395,
9321      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
9322      406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
9323      416,   417,   418,   419,   420,   421,   422,   423,     0,   424,
9324      425,   426,   427,     0,   428,   429,   430,   431,   432,   433,
9325        0,   434,   435,     0,     0,   436,   437,   438,     0,     0,
9326      439,   440,   441,   442,   443,   444,   445,   446,   447,   448,
9327      449,   450,   451,   452,   453,   454,     0,   455,   456,   457,
9328      458,   459,   460,   461,   462,     0,   463,   464,   465,   466,
9329      467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
9330      477,     0,   478,   479,   480,   481,   482,   483,   484,   485,
9331      486,   487,   488,   489,     0,   490,   491,   492,   493,   494,
9332      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
9333      505,   506,   507,     0,   508,   509,   510,   511,   512,     0,
9334      513,   514,   515,   516,   517,   518,   519,   520,   521,   522,
9335        0,   523,   524,   525,   526,   527,   528,   529,   530,   531,
9336      532,   533,   534,   535,   536,   537,     0,   538,   539,     0,
9337      540,   541,   542,   543,   544,   545,   546,     0,   547,   548,
9338      549,     0,     0,   550,   551,   552,   553,   554,     0,   555,
9339      556,   557,   558,   559,   560,   561,   562,     0,     0,   563,
9340      564,   565,   566,   567,     0,     0,   568,   569,   570,   571,
9341      572,   573,   574,     0,   575,   576,   577,   578,   579,   580,
9342        0,     0,   581,     0,     0,   582,   583,   584,   585,   586,
9343      587,   588,   589,   590,   591,   592,   593,   594,   595,   596,
9344      597,   598,   599,   600,   601,   228,     0,     0,     0,     0,
9345        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9346        0,     0,   229,   230,   231,   232,   233,   234,   235,   236,
9347        0,   237,   238,   239,     0,     0,     0,     0,     0,     0,
9348        0,   240,   241,     0,   242,   243,   244,   245,   246,   247,
9349      248,   249,   250,   251,   252,   253,     0,   254,   255,   256,
9350      257,   258,   259,     0,     0,   260,   261,   262,   263,   264,
9351        0,   265,   266,   267,   268,   269,     0,   270,     0,   271,
9352      272,   273,   274,   275,   276,   277,   278,   279,     0,   280,
9353      281,   282,   283,   284,   285,     0,   286,   287,   288,   289,
9354        0,     0,     0,   290,     0,     0,     0,   291,   292,   293,
9355      294,   295,   296,   297,   298,   299,     0,   300,     0,   301,
9356      302,   303,   304,   305,   306,     0,   307,   308,   309,   310,
9357        0,     0,   311,   312,   313,   314,   315,     0,   316,   317,
9358      318,     0,   319,   320,   321,     0,   322,   323,   324,   325,
9359      326,   327,   328,   329,   330,   331,     0,   332,     0,   333,
9360      334,   335,   336,     0,   337,     0,   338,   339,     0,   340,
9361      341,   342,   343,   344,     0,   345,   346,     0,   347,   348,
9362      349,     0,   350,   351,   352,   353,   354,   355,   356,   357,
9363      358,   359,     0,   360,   361,   362,   363,   364,   365,   366,
9364        0,   367,   368,   369,   370,   371,   372,   373,   374,   375,
9365        0,   376,     0,   377,   378,   379,   380,   381,   382,   383,
9366      384,   385,   386,     0,     0,   387,   388,   389,   390,   391,
9367        0,   392,   393,   394,     0,     0,   395,   396,   397,   398,
9368      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
9369      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
9370      419,   420,   421,   422,   423,     0,   424,   425,   426,   427,
9371        0,   428,   429,   430,   431,   432,   433,     0,   434,   435,
9372        0,     0,   436,   437,   438,     0,     0,   439,   440,   441,
9373      442,   443,   444,   445,   446,   447,   448,   449,   450,   451,
9374      452,   453,   454,     0,   455,   456,   457,   458,   459,   460,
9375      461,   462,     0,   463,   464,   465,   466,   467,   468,   469,
9376      470,   471,   472,   473,   474,   475,   476,   477,     0,   478,
9377      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
9378      489,     0,   490,   491,   492,   493,   494,   495,   496,   497,
9379      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
9380        0,   508,   509,   510,   511,   512,     0,   513,   514,   515,
9381      516,   517,   518,   519,   520,   521,   522,     0,   523,   524,
9382      525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
9383      535,   536,   537,     0,   538,   539,     0,   540,   541,   542,
9384      543,   544,   545,   546,     0,   547,   548,   549,     0,     0,
9385      550,   551,   552,   553,   554,     0,   555,   556,   557,   558,
9386      559,   560,   561,   562,     0,     0,   563,   564,   565,   566,
9387      567,     0,     0,   568,   569,   570,   571,   572,   573,   574,
9388        0,   575,   576,   577,   578,   579,   580,     0,     0,   581,
9389        0,     0,   582,   583,   584,   585,   586,   587,   588,   589,
9390      590,   591,   592,   593,   594,   595,   596,   597,   598,   599,
9391      600,   601,   228,     0,     0,     0,     0,     0,     0,     0,
9392        0,     0,     0,     0,     0,     0,     0,     0,     0,   229,
9393      230,   231,   232,   233,   234,   235,   236,     0,   237,   238,
9394      239,     0,     0,     0,     0,     0,     0,     0,   240,   241,
9395        0,   242,   243,   244,   245,   246,   247,   248,   249,   250,
9396      251,   252,   253,     0,   254,   255,   256,   257,   258,   259,
9397        0,     0,   260,   261,   262,   263,   264,     0,   265,   266,
9398      267,   268,   269,     0,   270,     0,   271,   272,   273,   274,
9399      275,   276,   277,   278,   279,     0,   280,   281,   282,   283,
9400      284,   285,     0,   286,   287,   288,   289,     0,     0,     0,
9401      290,     0,     0,     0,   291,   292,   293,   294,   295,   296,
9402      297,   298,   299,     0,   300,     0,   301,   302,   303,   304,
9403      305,   306,     0,   307,   308,   309,   310,     0,     0,   311,
9404      312,   313,   314,   315,     0,   316,   317,   318,     0,   319,
9405      320,   321,     0,   322,   323,   324,   325,   326,   327,   328,
9406      329,   330,   331,     0,   332,     0,   333,   334,   335,   336,
9407        0,   337,     0,   338,   339,     0,   340,   341,   342,   343,
9408      344,     0,   345,   346,     0,   347,   348,   349,     0,   350,
9409      351,   352,   353,  1062,   355,   356,   357,   358,   359,     0,
9410      360,   361,   362,   363,   364,   365,   366,     0,   367,   368,
9411      369,   370,   371,   372,   373,   374,   375,     0,   376,     0,
9412      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
9413        0,     0,   387,   388,   389,   390,   391,     0,   392,   393,
9414      394,     0,     0,   395,   396,   397,   398,   399,   400,   401,
9415      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
9416      412,   413,   414,   415,   416,   417,   418,   419,   420,   421,
9417      422,   423,     0,   424,   425,   426,   427,     0,   428,   429,
9418      430,   431,   432,   433,     0,   434,   435,     0,     0,   436,
9419      437,   438,     0,     0,   439,   440,   441,   442,   443,   444,
9420      445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
9421        0,   455,   456,   457,   458,   459,   460,   461,   462,     0,
9422      463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
9423      473,   474,   475,   476,   477,     0,   478,   479,   480,   481,
9424      482,   483,   484,   485,   486,   487,   488,   489,     0,   490,
9425      491,   492,   493,   494,   495,   496,   497,   498,   499,   500,
9426      501,   502,   503,   504,   505,   506,   507,     0,   508,   509,
9427      510,   511,   512,     0,   513,   514,   515,   516,   517,   518,
9428      519,   520,   521,   522,     0,   523,   524,   525,   526,   527,
9429      528,   529,   530,   531,   532,   533,   534,   535,   536,   537,
9430        0,   538,   539,     0,   540,   541,   542,   543,   544,   545,
9431      546,     0,   547,   548,   549,     0,     0,   550,   551,   552,
9432      553,   554,     0,   555,   556,   557,   558,   559,   560,   561,
9433      562,     0,     0,   563,   564,   565,   566,   567,     0,     0,
9434      568,   569,   570,   571,   572,   573,   574,     0,   575,   576,
9435      577,   578,   579,   580,     0,     0,   581,     0,     0,   582,
9436      583,   584,   585,   586,   587,   588,   589,   590,   591,   592,
9437      593,   594,   595,   596,   597,   598,   599,   600,   601,   228,
9438        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9439        0,     0,     0,     0,     0,     0,   229,   230,   231,   232,
9440      233,   234,   235,   236,     0,   237,   238,   239,     0,     0,
9441        0,     0,     0,     0,     0,   240,   241,     0,   242,   243,
9442      244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
9443        0,   254,   255,   256,   257,   258,   259,     0,     0,   260,
9444      261,   262,   263,   264,     0,   265,   266,   267,   268,   269,
9445        0,   270,     0,   271,   272,   273,   274,   275,   276,   277,
9446      278,   279,     0,   280,   281,   282,   283,   284,   285,     0,
9447      286,   287,   288,   289,     0,     0,     0,   290,     0,     0,
9448        0,   291,   292,   293,   294,   295,   296,   297,   298,   299,
9449        0,   300,     0,   301,   302,   303,   304,   305,   306,     0,
9450      307,   308,   309,   310,     0,     0,   311,   312,   313,   314,
9451      315,     0,   316,   317,   318,     0,   319,   320,   321,     0,
9452      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
9453        0,   332,     0,   333,   334,   335,   336,     0,   337,     0,
9454      338,   339,     0,   340,   341,   342,   343,   344,     0,   345,
9455      346,     0,   347,   348,   349,     0,   350,   351,   352,   353,
9456     1111,   355,   356,   357,   358,   359,     0,   360,   361,   362,
9457      363,   364,   365,   366,     0,   367,   368,   369,   370,   371,
9458      372,   373,   374,   375,     0,   376,     0,   377,   378,   379,
9459      380,   381,   382,   383,   384,   385,   386,     0,     0,   387,
9460      388,   389,   390,   391,     0,   392,   393,   394,     0,     0,
9461      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
9462      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
9463      415,   416,   417,   418,   419,   420,   421,   422,   423,     0,
9464      424,   425,   426,   427,     0,   428,   429,   430,   431,   432,
9465      433,     0,   434,   435,     0,     0,   436,   437,   438,     0,
9466        0,   439,   440,   441,   442,   443,   444,   445,   446,   447,
9467      448,   449,   450,   451,   452,   453,   454,     0,   455,   456,
9468      457,   458,   459,   460,   461,   462,     0,   463,   464,   465,
9469      466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
9470      476,   477,     0,   478,   479,   480,   481,   482,   483,   484,
9471      485,   486,   487,   488,   489,     0,   490,   491,   492,   493,
9472      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
9473      504,   505,   506,   507,     0,   508,   509,   510,   511,   512,
9474        0,   513,   514,   515,   516,   517,   518,   519,   520,   521,
9475      522,     0,   523,   524,   525,   526,   527,   528,   529,   530,
9476      531,   532,   533,   534,   535,   536,   537,     0,   538,   539,
9477        0,   540,   541,   542,   543,   544,   545,   546,     0,   547,
9478      548,   549,     0,     0,   550,   551,   552,   553,   554,     0,
9479      555,   556,   557,   558,   559,   560,   561,   562,     0,     0,
9480      563,   564,   565,   566,   567,     0,     0,   568,   569,   570,
9481      571,   572,   573,   574,     0,   575,   576,   577,   578,   579,
9482      580,     0,     0,   581,     0,     0,   582,   583,   584,   585,
9483      586,   587,   588,   589,   590,   591,   592,   593,   594,   595,
9484      596,   597,   598,   599,   600,   601,   228,     0,     0,     0,
9485        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9486        0,     0,     0,   229,   230,   231,   232,   233,   234,   235,
9487      236,     0,   237,   238,   239,     0,     0,     0,     0,     0,
9488        0,     0,   240,   241,     0,   242,   243,   244,   245,   246,
9489      247,   248,   249,   250,   251,   252,   253,     0,   254,   255,
9490      256,   257,   258,   259,     0,     0,   260,   261,   262,   263,
9491      264,     0,   265,   266,   267,   268,   269,     0,   270,     0,
9492      271,   272,   273,   274,   275,   276,   277,   278,   279,     0,
9493      280,   281,   282,   283,   284,   285,     0,   286,   287,   288,
9494      289,     0,     0,     0,   290,     0,     0,     0,   291,   292,
9495      293,   294,   295,   296,   297,   298,   299,     0,   300,     0,
9496      301,   302,   303,   304,   305,   306,     0,   307,   308,   309,
9497      310,     0,     0,   311,   312,   313,   314,   315,     0,   316,
9498      317,   318,     0,   319,   320,   321,     0,   322,   323,   324,
9499      325,   326,   327,   328,   329,   330,   331,     0,   332,     0,
9500      333,   334,   335,   336,     0,   337,     0,   338,   339,     0,
9501      340,   341,   342,   343,   344,     0,   345,   346,     0,   347,
9502      348,   349,     0,   350,   351,   352,   353,  1125,   355,   356,
9503      357,   358,   359,     0,   360,   361,   362,   363,   364,   365,
9504      366,     0,   367,   368,   369,   370,   371,   372,   373,   374,
9505      375,     0,   376,     0,   377,   378,   379,   380,   381,   382,
9506      383,   384,   385,   386,     0,     0,   387,   388,   389,   390,
9507      391,     0,   392,   393,   394,     0,     0,   395,   396,   397,
9508      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
9509      408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
9510      418,   419,   420,   421,   422,   423,     0,   424,   425,   426,
9511      427,     0,   428,   429,   430,   431,   432,   433,     0,   434,
9512      435,     0,     0,   436,   437,   438,     0,     0,   439,   440,
9513      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
9514      451,   452,   453,   454,     0,   455,   456,   457,   458,   459,
9515      460,   461,   462,     0,   463,   464,   465,   466,   467,   468,
9516      469,   470,   471,   472,   473,   474,   475,   476,   477,     0,
9517      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
9518      488,   489,     0,   490,   491,   492,   493,   494,   495,   496,
9519      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
9520      507,     0,   508,   509,   510,   511,   512,     0,   513,   514,
9521      515,   516,   517,   518,   519,   520,   521,   522,     0,   523,
9522      524,   525,   526,   527,   528,   529,   530,   531,   532,   533,
9523      534,   535,   536,   537,     0,   538,   539,     0,   540,   541,
9524      542,   543,   544,   545,   546,     0,   547,   548,   549,     0,
9525        0,   550,   551,   552,   553,   554,     0,   555,   556,   557,
9526      558,   559,   560,   561,   562,     0,     0,   563,   564,   565,
9527      566,   567,     0,     0,   568,   569,   570,   571,   572,   573,
9528      574,     0,   575,   576,   577,   578,   579,   580,     0,     0,
9529      581,     0,     0,   582,   583,   584,   585,   586,   587,   588,
9530      589,   590,   591,   592,   593,   594,   595,   596,   597,   598,
9531      599,   600,   601,   228,     0,     0,     0,     0,     0,     0,
9532        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9533      229,   230,   231,   232,   233,   234,   235,   236,     0,   237,
9534      238,   239,     0,     0,     0,     0,     0,     0,     0,   240,
9535      241,     0,   242,   243,   244,   245,   246,   247,   248,   249,
9536      250,   251,   252,   253,     0,   254,   255,   256,   257,   258,
9537      259,     0,     0,   260,   261,   262,   263,   264,     0,   265,
9538      266,   267,   268,   269,     0,   270,     0,   271,   272,   273,
9539      274,   275,   276,   277,   278,   279,     0,   280,   281,   282,
9540      283,   284,   285,     0,   286,   287,   288,   289,     0,     0,
9541        0,   290,     0,     0,     0,   291,   292,   293,   294,   295,
9542      296,   297,   298,   299,     0,   300,     0,   301,   302,   303,
9543      304,   305,   306,     0,   307,   308,   309,   310,     0,     0,
9544      311,   312,   313,   314,   315,     0,   316,   317,   318,     0,
9545      319,   320,   321,     0,   322,   323,   324,   325,   326,   327,
9546      328,   329,   330,   331,     0,   332,     0,   333,   334,   335,
9547      336,     0,   337,     0,   338,   339,     0,   340,   341,   342,
9548      343,   344,     0,   345,   346,     0,   347,   348,   349,     0,
9549      350,   351,   352,   353,  1129,   355,   356,   357,   358,   359,
9550        0,   360,   361,   362,   363,   364,   365,   366,     0,   367,
9551      368,   369,   370,   371,   372,   373,   374,   375,     0,   376,
9552        0,   377,   378,   379,   380,   381,   382,   383,   384,   385,
9553      386,     0,     0,   387,   388,   389,   390,   391,     0,   392,
9554      393,   394,     0,     0,   395,   396,   397,   398,   399,   400,
9555      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
9556      411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
9557      421,   422,   423,     0,   424,   425,   426,   427,     0,   428,
9558      429,   430,   431,   432,   433,     0,   434,   435,     0,     0,
9559      436,   437,   438,     0,     0,   439,   440,   441,   442,   443,
9560      444,   445,   446,   447,   448,   449,   450,   451,   452,   453,
9561      454,     0,   455,   456,   457,   458,   459,   460,   461,   462,
9562        0,   463,   464,   465,   466,   467,   468,   469,   470,   471,
9563      472,   473,   474,   475,   476,   477,     0,   478,   479,   480,
9564      481,   482,   483,   484,   485,   486,   487,   488,   489,     0,
9565      490,   491,   492,   493,   494,   495,   496,   497,   498,   499,
9566      500,   501,   502,   503,   504,   505,   506,   507,     0,   508,
9567      509,   510,   511,   512,     0,   513,   514,   515,   516,   517,
9568      518,   519,   520,   521,   522,     0,   523,   524,   525,   526,
9569      527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
9570      537,     0,   538,   539,     0,   540,   541,   542,   543,   544,
9571      545,   546,     0,   547,   548,   549,     0,     0,   550,   551,
9572      552,   553,   554,     0,   555,   556,   557,   558,   559,   560,
9573      561,   562,     0,     0,   563,   564,   565,   566,   567,     0,
9574        0,   568,   569,   570,   571,   572,   573,   574,     0,   575,
9575      576,   577,   578,   579,   580,     0,     0,   581,     0,     0,
9576      582,   583,   584,   585,   586,   587,   588,   589,   590,   591,
9577      592,   593,   594,   595,   596,   597,   598,   599,   600,   601,
9578      873,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9579        0,     0,     0,     0,     0,     0,     0,   229,   230,   231,
9580      232,   233,   234,   235,   236,     0,   237,   238,   239,     0,
9581        0,     0,     0,     0,     0,     0,   240,   241,     0,   242,
9582      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
9583      253,     0,   254,   255,   256,   257,   258,   259,     0,     0,
9584      260,   261,   262,   263,   264,     0,   265,   266,   267,   268,
9585      269,     0,   270,     0,   271,   272,   273,   274,   275,   276,
9586      277,   278,   279,     0,   280,   281,   282,   283,   284,   285,
9587        0,   286,   287,   288,   289,     0,     0,     0,   290,     0,
9588        0,     0,   291,   292,   293,   294,   295,   296,   297,   298,
9589      299,     0,   300,     0,   301,   302,   303,   304,   305,   306,
9590        0,   307,   308,   309,   310,     0,     0,   311,   312,   313,
9591      314,   315,     0,   316,   317,   318,     0,   319,   320,   321,
9592        0,   322,   323,   324,   325,   326,   327,   328,   329,   330,
9593      331,     0,   332,     0,   333,   334,   335,   336,     0,   337,
9594        0,   338,   339,     0,   340,   341,   342,   343,   344,     0,
9595      345,   346,     0,   347,   348,   349,     0,   350,   351,   352,
9596      353,   354,   355,   356,   357,   358,   359,     0,   360,   361,
9597      362,   363,   364,   365,   366,     0,   367,   368,   369,   370,
9598      371,   372,   373,   374,   375,     0,   376,     0,   377,   378,
9599      379,   380,   381,   382,   383,   384,   385,   386,     0,     0,
9600      387,   388,   389,   390,   391,     0,   392,   393,   394,     0,
9601        0,   395,   396,   397,   398,   399,   400,   401,   402,   403,
9602      404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
9603      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
9604        0,   424,   425,   426,   427,     0,   428,   429,   430,   431,
9605      432,   433,     0,   434,   435,     0,     0,   436,   437,   438,
9606        0,     0,   439,   440,   441,   442,   443,   444,   445,   446,
9607      447,   448,   449,   450,   451,   452,   453,   454,     0,   455,
9608      456,   457,   458,   459,   460,   461,   462,     0,   463,   464,
9609      465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
9610      475,   476,   477,     0,   478,   479,   480,   481,   482,   483,
9611      484,   485,   486,   487,   488,   489,     0,   490,   491,   492,
9612      493,   494,   495,   496,   497,   498,   499,   500,   501,   502,
9613      503,   504,   505,   506,   507,     0,   508,   509,   510,   511,
9614      512,     0,   513,   514,   515,   516,   517,   518,   519,   520,
9615      521,   522,     0,   523,   524,   525,   526,   527,   528,   529,
9616      530,   531,   532,   533,   534,   535,   536,   537,     0,   538,
9617      539,     0,   540,   541,   542,   543,   544,   545,   546,     0,
9618      547,   548,   549,     0,     0,   550,   551,   552,   553,   554,
9619        0,   555,   556,   557,   558,   559,   560,   561,   562,     0,
9620        0,   563,   564,   565,   566,   567,     0,     0,   568,   569,
9621      570,   571,   572,   573,   574,     0,   575,   576,   577,   578,
9622      579,   580,     0,     0,   581,     0,     0,   582,   583,   584,
9623      585,   586,   587,   588,   589,   590,   591,   592,   593,   594,
9624      595,   596,   597,   598,   599,   600,   601,   609,     0,     0,
9625        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9626        0,     0,     0,     0,   229,   230,   231,   232,   233,   234,
9627      235,   236,     0,   237,   238,   239,     0,     0,     0,     0,
9628        0,     0,     0,   240,   241,     0,   242,   243,   244,     0,
9629      246,   247,   248,   249,   250,     0,   252,   253,     0,   254,
9630      255,   256,   257,   258,   259,     0,     0,   260,   261,   262,
9631      263,   264,  2214,   265,   266,   267,   268,   269,     0,     0,
9632     2294,   271,   272,   273,   274,   275,     0,   277,   278,   279,
9633     2215,   280,   281,   282,   283,   284,   285,     0,     0,   287,
9634      288,   289,     0,     0,     0,     0,     0,     0,     0,   291,
9635      292,   293,   294,   295,   296,   297,   298,   299,     0,   300,
9636        0,   301,   302,   303,   304,   305,   306,     0,   307,   308,
9637      309,   310,     0,     0,   311,   312,   313,   314,   315,     0,
9638      316,   317,   318,     0,   319,   320,   321,     0,  2295,   323,
9639      324,   325,   326,   327,   328,   329,   330,   331,     0,   332,
9640        0,   333,   334,   335,   336,     0,   337,  2217,   338,     0,
9641        0,     0,   341,   342,   343,   344,     0,   345,   346,     0,
9642      347,   348,   349,     0,   350,   351,   352,   353,  2296,     0,
9643      356,   357,   358,   359,     0,   360,   361,   362,   363,   364,
9644      365,   366,     0,   367,     0,   369,   370,   371,   372,   373,
9645      374,   375,     0,   376,     0,   377,     0,     0,   380,     0,
9646      382,   383,   384,   385,   386,     0,     0,   387,   388,     0,
9647      390,     0,     0,   392,   393,   394,     0,     0,   395,   396,
9648      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
9649      407,   408,   409,   410,   411,     0,   413,   414,   415,   416,
9650      417,   418,   419,   420,   421,   422,   423,     0,   424,   425,
9651        0,   427,     0,   428,   429,   430,   431,   432,   433,     0,
9652      434,   435,     0,     0,   436,   437,   438,     0,     0,   439,
9653      440,   441,     0,   443,     0,   445,   446,   447,   448,   449,
9654      450,   451,   452,   453,   454,     0,   455,   456,   457,   458,
9655      459,   460,   461,   462,  2218,   463,   464,   465,   466,   467,
9656      468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
9657        0,   478,   479,   480,   481,   482,   483,   484,   485,   486,
9658      487,   488,   489,     0,   490,   491,     0,   493,   494,   495,
9659      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
9660      506,   507,     0,   508,   509,   510,   511,   512,     0,   513,
9661      514,   515,   516,   517,     0,   519,   520,   521,   522,     0,
9662      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
9663      533,   534,   535,   536,   537,     0,   538,   539,     0,   540,
9664        0,   542,   543,   544,   545,   546,     0,   547,   548,   549,
9665        0,     0,   550,   551,   552,   553,   554,     0,   555,   556,
9666      557,   558,   559,   560,   561,   562,     0,  2219,   563,   564,
9667      565,   566,   567,     0,     0,   568,   569,   570,   571,   572,
9668      573,   574,     0,   575,     0,   577,   578,   579,   580,     0,
9669        0,   581,     0,     0,   582,   583,   584,   585,   586,   587,
9670      588,   589,   590,   591,   592,   593,   594,   595,   596,   597,
9671      598,   599,   600,   601,   609,     0,     0,     0,     0,     0,
9672        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9673        0,   229,   230,   231,   232,   233,   234,   235,   236,     0,
9674      237,   238,   239,     0,     0,     0,     0,     0,     0,     0,
9675      240,   241,     0,   242,   243,   244,     0,   246,   247,   248,
9676      249,   250,     0,   252,   253,     0,   254,   255,   256,   257,
9677      258,   259,     0,     0,   260,   261,   262,   263,   264,  2214,
9678      265,   266,   267,   268,   269,     0,     0,     0,   271,   272,
9679      273,   274,   275,     0,   277,   278,   279,  2215,   280,   281,
9680      282,   283,   284,   285,     0,     0,   287,   288,   289,     0,
9681        0,     0,     0,     0,     0,     0,   291,   292,   293,   294,
9682      295,   296,   297,   298,   299,     0,   300,     0,   301,   302,
9683      303,   304,   305,   306,     0,   307,   308,   309,   310,     0,
9684        0,   311,   312,   313,   314,   315,     0,   316,   317,   318,
9685        0,   319,   320,   321,     0,  2295,   323,   324,   325,   326,
9686      327,   328,   329,   330,   331,     0,   332,     0,   333,   334,
9687      335,   336,     0,   337,  2217,   338,     0,     0,     0,   341,
9688      342,   343,   344,     0,   345,   346,     0,   347,   348,   349,
9689        0,   350,   351,   352,   353,   354,     0,   356,   357,   358,
9690      359,     0,   360,   361,   362,   363,   364,   365,   366,     0,
9691      367,     0,   369,   370,   371,   372,   373,   374,   375,     0,
9692      376,     0,   377,     0,     0,   380,     0,   382,   383,   384,
9693      385,   386,     0,     0,   387,   388,     0,   390,  3301,     0,
9694      392,   393,   394,     0,     0,   395,   396,   397,   398,   399,
9695      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
9696      410,   411,     0,   413,   414,   415,   416,   417,   418,   419,
9697      420,   421,   422,   423,     0,   424,   425,     0,   427,     0,
9698      428,   429,   430,   431,   432,   433,     0,   434,   435,     0,
9699        0,   436,   437,   438,     0,     0,   439,   440,   441,     0,
9700      443,     0,   445,   446,   447,   448,   449,   450,   451,   452,
9701      453,   454,     0,   455,   456,   457,   458,   459,   460,   461,
9702      462,  2218,   463,   464,   465,   466,   467,   468,   469,   470,
9703      471,   472,   473,   474,   475,   476,   477,     0,   478,   479,
9704      480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
9705        0,   490,   491,     0,   493,   494,   495,   496,   497,   498,
9706      499,   500,   501,   502,   503,   504,   505,   506,   507,     0,
9707      508,   509,   510,   511,   512,     0,   513,   514,   515,   516,
9708      517,     0,   519,   520,   521,   522,     0,   523,   524,   525,
9709      526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
9710      536,   537,     0,   538,   539,     0,   540,     0,   542,   543,
9711      544,   545,   546,     0,   547,   548,   549,     0,     0,   550,
9712      551,   552,   553,   554,     0,   555,   556,   557,   558,   559,
9713      560,   561,   562,     0,  2219,   563,   564,   565,   566,   567,
9714        0,     0,   568,   569,   570,   571,   572,   573,   574,     0,
9715      575,     0,   577,   578,   579,   580,     0,     0,   581,     0,
9716        0,   582,   583,   584,   585,   586,   587,   588,   589,   590,
9717      591,   592,   593,   594,   595,   596,   597,   598,   599,   600,
9718      601,   609,     0,     0,     0,     0,     0,     0,     0,     0,
9719        0,     0,     0,     0,     0,     0,     0,     0,   229,   230,
9720      231,   232,   233,   786,   235,   236,   748,   237,   238,   239,
9721        0,     0,     0,     0,     0,     0,     0,   240,   241,     0,
9722      242,   243,   244,     0,   246,   247,   248,   249,   250,     0,
9723      252,   253,     0,   254,   255,   256,   257,   258,   259,     0,
9724        0,   260,   261,   262,   263,   264,     0,   265,   266,   267,
9725      268,   269,     0,     0,     0,   271,   272,   273,   274,   275,
9726        0,   277,   278,   279,     0,   280,   281,   282,   283,   284,
9727      285,   749,     0,   287,   288,   289,     0,     0,     0,     0,
9728        0,     0,     0,   291,   292,   293,   294,   295,   296,   297,
9729      298,   299,     0,   300,     0,   301,   302,   303,   304,   305,
9730      306,     0,   307,   308,   309,   310,     0,     0,   311,   312,
9731      313,   314,   315,     0,   316,   317,   318,     0,   319,   320,
9732      321,     0,   322,   323,   324,   325,   326,   327,   328,   329,
9733      330,   331,     0,   332,     0,   333,   334,   335,   336,     0,
9734      337,     0,   338,     0,     0,     0,   341,   342,   343,   344,
9735      787,   345,   346,     0,   347,   348,   349,     0,   350,   351,
9736      352,   353,   354,     0,   356,   357,   358,   359,     0,   360,
9737      361,   362,   363,   364,   365,   366,     0,   367,     0,   369,
9738      370,   371,   372,   373,   374,   375,     0,   376,     0,   377,
9739        0,     0,   380,     0,   382,   383,   384,   385,   386,     0,
9740        0,   387,   388,     0,   390,     0,     0,   392,   393,   394,
9741        0,     0,   395,   396,   397,   398,   399,   400,   401,   402,
9742      403,   404,   405,   406,   407,   408,   409,   410,   411,     0,
9743      413,   414,   415,   416,   417,   418,   419,   420,   421,   422,
9744      423,     0,   424,   425,     0,   427,     0,   428,   429,   430,
9745      431,   432,   433,     0,   434,   435,     0,     0,   436,   437,
9746      438,     0,     0,   439,   440,   441,     0,   443,     0,   445,
9747      446,   447,   448,   449,   450,   451,   452,   453,   454,     0,
9748      455,   456,   457,   458,   459,   460,   461,   462,     0,   463,
9749      464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
9750      474,   475,   476,   477,   750,   478,   479,   480,   481,   482,
9751      483,   484,   485,   486,   487,   488,   489,     0,   490,   491,
9752        0,   493,   494,   495,   496,   497,   498,   499,   500,   501,
9753      502,   503,   504,   505,   506,   507,   751,   508,   509,   510,
9754      511,   512,     0,   513,   514,   515,   516,   517,     0,   519,
9755      520,   521,   522,     0,   523,   524,   525,   526,   527,   528,
9756      529,   530,   531,   532,   533,   534,   535,   536,   537,     0,
9757      538,   539,     0,   540,     0,   542,   543,   544,   545,   546,
9758        0,   547,   548,   549,     0,     0,   550,   551,   552,   553,
9759      554,     0,   555,   556,   557,   558,   559,   560,   561,   562,
9760        0,     0,   563,   564,   565,   566,   567,     0,     0,   568,
9761      569,   570,   571,   572,   573,   574,     0,   575,     0,   577,
9762      578,   579,   580,     0,     0,   581,     0,     0,   582,   583,
9763      584,   585,   586,   587,   588,   589,   590,   591,   592,   593,
9764      594,   595,   596,   597,   598,   599,   600,   601,   609,     0,
9765        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9766        0,     0,     0,     0,     0,   229,   230,   231,   232,   233,
9767      234,   235,   236,   748,   237,   238,   239,     0,     0,     0,
9768        0,     0,     0,     0,   240,   241,     0,   242,   243,   244,
9769        0,   246,   247,   248,   249,   250,     0,   252,   253,     0,
9770      254,   255,   256,   257,   258,   259,     0,     0,   260,   261,
9771      262,   263,   264,     0,   265,   266,   267,   268,   269,     0,
9772        0,     0,   271,   272,   273,   274,   275,     0,   277,   278,
9773      279,     0,   280,   281,   282,   283,   284,   285,   749,     0,
9774      287,   288,   289,     0,     0,     0,     0,     0,     0,     0,
9775      291,   292,   293,   294,   295,   296,   297,   298,   299,     0,
9776      300,     0,   301,   302,   303,   304,   305,   306,     0,   307,
9777      308,   309,   310,     0,     0,   311,   312,   313,   314,   315,
9778        0,   316,   317,   318,     0,   319,   320,   321,     0,   322,
9779      323,   324,   325,   326,   327,   328,   329,   330,   331,     0,
9780      332,     0,   333,   334,   335,   336,     0,   337,     0,   338,
9781        0,     0,     0,   341,   342,   343,   344,  2980,   345,   346,
9782        0,   347,   348,   349,     0,   350,   351,   352,   353,   354,
9783        0,   356,   357,   358,   359,     0,   360,   361,   362,   363,
9784      364,   365,   366,     0,   367,     0,   369,   370,   371,   372,
9785      373,   374,   375,     0,   376,     0,   377,     0,     0,   380,
9786        0,   382,   383,   384,   385,   386,     0,     0,   387,   388,
9787        0,   390,     0,     0,   392,   393,   394,     0,     0,   395,
9788      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
9789      406,   407,   408,   409,   410,   411,     0,   413,   414,   415,
9790      416,   417,   418,   419,   420,   421,   422,   423,     0,   424,
9791      425,     0,   427,     0,   428,   429,   430,   431,   432,   433,
9792        0,   434,   435,     0,     0,   436,   437,   438,     0,     0,
9793      439,   440,   441,     0,   443,     0,   445,   446,   447,   448,
9794      449,   450,   451,   452,   453,   454,     0,   455,   456,   457,
9795      458,   459,   460,   461,   462,     0,   463,   464,   465,   466,
9796      467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
9797      477,   750,   478,   479,   480,   481,   482,   483,   484,   485,
9798      486,   487,   488,   489,     0,   490,   491,     0,   493,   494,
9799      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
9800      505,   506,   507,   751,   508,   509,   510,   511,   512,     0,
9801      513,   514,   515,   516,   517,     0,   519,   520,   521,   522,
9802        0,   523,   524,   525,   526,   527,   528,   529,   530,   531,
9803      532,   533,   534,   535,   536,   537,     0,   538,   539,     0,
9804      540,     0,   542,   543,   544,   545,   546,     0,   547,   548,
9805      549,     0,     0,   550,   551,   552,   553,   554,     0,   555,
9806      556,   557,   558,   559,   560,   561,   562,     0,     0,   563,
9807      564,   565,   566,   567,     0,     0,   568,   569,   570,   571,
9808      572,   573,   574,     0,   575,     0,   577,   578,   579,   580,
9809        0,     0,   581,     0,     0,   582,   583,   584,   585,   586,
9810      587,   588,   589,   590,   591,   592,   593,   594,   595,   596,
9811      597,   598,   599,   600,   601,   609,     0,     0,     0,     0,
9812        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9813        0,     0,   229,   230,   231,   232,   233,   234,   235,   236,
9814        0,   237,   238,   239,     0,     0,     0,     0,     0,     0,
9815        0,   240,   241,     0,   242,   243,   244,     0,   246,   247,
9816      248,   249,   250,     0,   252,   253,     0,   254,   255,   256,
9817      257,   258,   259,     0,     0,   260,   261,   262,   263,   264,
9818     2214,   265,   266,   267,   268,   269,     0,     0,     0,   271,
9819      272,   273,   274,   275,     0,   277,   278,   279,  2215,   280,
9820      281,   282,   283,   284,   285,     0,     0,   287,   288,   289,
9821        0,     0,     0,     0,     0,     0,     0,   291,   292,   293,
9822      294,   295,   296,   297,   298,   299,     0,   300,     0,   301,
9823      302,   303,   304,   305,   306,     0,   307,   308,   309,   310,
9824        0,     0,   311,   312,   313,   314,   315,     0,   316,   317,
9825      318,     0,   319,   320,   321,     0,  2295,   323,   324,   325,
9826      326,   327,   328,   329,   330,   331,     0,   332,     0,   333,
9827      334,   335,   336,     0,   337,  2217,   338,     0,     0,     0,
9828      341,   342,   343,   344,     0,   345,   346,     0,   347,   348,
9829      349,     0,   350,   351,   352,   353,   354,     0,   356,   357,
9830      358,   359,     0,   360,   361,   362,   363,   364,   365,   366,
9831        0,   367,     0,   369,   370,   371,   372,   373,   374,   375,
9832        0,   376,     0,   377,     0,     0,   380,     0,   382,   383,
9833      384,   385,   386,     0,     0,   387,   388,     0,   390,     0,
9834        0,   392,   393,   394,     0,     0,   395,   396,   397,   398,
9835      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
9836      409,   410,   411,     0,   413,   414,   415,   416,   417,   418,
9837      419,   420,   421,   422,   423,     0,   424,   425,     0,   427,
9838        0,   428,   429,   430,   431,   432,   433,     0,   434,   435,
9839        0,     0,   436,   437,   438,     0,     0,   439,   440,   441,
9840        0,   443,     0,   445,   446,   447,   448,   449,   450,   451,
9841      452,   453,   454,     0,   455,   456,   457,   458,   459,   460,
9842      461,   462,  2218,   463,   464,   465,   466,   467,   468,   469,
9843      470,   471,   472,   473,   474,   475,   476,   477,     0,   478,
9844      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
9845      489,     0,   490,   491,     0,   493,   494,   495,   496,   497,
9846      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
9847        0,   508,   509,   510,   511,   512,     0,   513,   514,   515,
9848      516,   517,     0,   519,   520,   521,   522,     0,   523,   524,
9849      525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
9850      535,   536,   537,     0,   538,   539,     0,   540,     0,   542,
9851      543,   544,   545,   546,     0,   547,   548,   549,     0,     0,
9852      550,   551,   552,   553,   554,     0,   555,   556,   557,   558,
9853      559,   560,   561,   562,     0,  2219,   563,   564,   565,   566,
9854      567,     0,     0,   568,   569,   570,   571,   572,   573,   574,
9855        0,   575,     0,   577,   578,   579,   580,     0,     0,   581,
9856        0,     0,   582,   583,   584,   585,   586,   587,   588,   589,
9857      590,   591,   592,   593,   594,   595,   596,   597,   598,   599,
9858      600,   601,   609,     0,     0,     0,     0,     0,     0,     0,
9859        0,     0,     0,     0,     0,     0,     0,     0,     0,   229,
9860      230,   231,   232,   233,   234,   235,   236,   748,   237,   238,
9861      239,     0,     0,     0,     0,     0,     0,     0,   240,   241,
9862        0,   242,   243,   244,     0,   246,   247,   248,   249,   250,
9863        0,   252,   253,     0,   254,   255,   256,   257,   258,   259,
9864        0,     0,   260,   261,   262,   263,   264,     0,   265,   266,
9865      267,   268,   269,     0,     0,     0,   271,   272,   273,   274,
9866      275,     0,   277,   278,   279,     0,   280,   281,   282,   283,
9867      284,   285,   749,     0,   287,   288,   289,     0,     0,     0,
9868        0,     0,     0,     0,   291,   292,   293,   294,   295,   296,
9869      297,   298,   299,     0,   300,     0,   301,   302,   303,   304,
9870      305,   306,     0,   307,   308,   309,   310,     0,     0,   311,
9871      312,   313,   314,   315,     0,   316,   317,   318,     0,   319,
9872      320,   321,     0,   322,   323,   324,   325,   326,   327,   328,
9873      329,   330,   331,     0,   332,     0,   333,   334,   335,   336,
9874        0,   337,     0,   338,     0,     0,     0,   341,   342,   343,
9875      344,     0,   345,   346,     0,   347,   348,   349,     0,   350,
9876      351,   352,   353,   354,     0,   356,   357,   358,   359,     0,
9877      360,   361,   362,   363,   364,   365,   366,     0,   367,     0,
9878      369,   370,   371,   372,   373,   374,   375,     0,   376,     0,
9879      377,     0,     0,   380,     0,   382,   383,   384,   385,   386,
9880        0,     0,   387,   388,     0,   390,     0,     0,   392,   393,
9881      394,     0,     0,   395,   396,   397,   398,   399,   400,   401,
9882      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
9883        0,   413,   414,   415,   416,   417,   418,   419,   420,   421,
9884      422,   423,     0,   424,   425,     0,   427,     0,   428,   429,
9885      430,   431,   432,   433,     0,   434,   435,     0,     0,   436,
9886      437,   438,     0,     0,   439,   440,   441,     0,   443,     0,
9887      445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
9888        0,   455,   456,   457,   458,   459,   460,   461,   462,     0,
9889      463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
9890      473,   474,   475,   476,   477,   750,   478,   479,   480,   481,
9891      482,   483,   484,   485,   486,   487,   488,   489,     0,   490,
9892      491,     0,   493,   494,   495,   496,   497,   498,   499,   500,
9893      501,   502,   503,   504,   505,   506,   507,   751,   508,   509,
9894      510,   511,   512,     0,   513,   514,   515,   516,   517,     0,
9895      519,   520,   521,   522,     0,   523,   524,   525,   526,   527,
9896      528,   529,   530,   531,   532,   533,   534,   535,   536,   537,
9897        0,   538,   539,     0,   540,     0,   542,   543,   544,   545,
9898      546,     0,   547,   548,   549,     0,     0,   550,   551,   552,
9899      553,   554,     0,   555,   556,   557,   558,   559,   560,   561,
9900      562,     0,     0,   563,   564,   565,   566,   567,     0,     0,
9901      568,   569,   570,   571,   572,   573,   574,     0,   575,     0,
9902      577,   578,   579,   580,     0,     0,   581,     0,     0,   582,
9903      583,   584,   585,   586,   587,   588,   589,   590,   591,   592,
9904      593,   594,   595,   596,   597,   598,   599,   600,   601,   609,
9905        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9906        0,     0,     0,     0,     0,     0,   229,   230,   231,   232,
9907      233,   234,   235,   236,  1948,   237,   238,   239,     0,     0,
9908        0,     0,     0,     0,     0,   240,   241,     0,   242,   243,
9909      244,     0,   246,   247,   248,   249,   250,     0,   252,   253,
9910        0,   254,   255,   256,   257,   258,   259,     0,     0,   260,
9911      261,   262,   263,   264,     0,   265,   266,   267,   268,   269,
9912        0,     0,     0,   271,   272,   273,   274,   275,     0,   277,
9913      278,   279,     0,   280,   281,   282,   283,   284,   285,     0,
9914        0,   287,   288,   289,     0,     0,     0,     0,     0,     0,
9915        0,   291,   292,   293,  1949,   295,   296,   297,   298,   299,
9916        0,   300,     0,   301,   302,   303,   304,   305,   306,     0,
9917      307,   308,   309,   310,     0,     0,   311,  1950,   313,   314,
9918      315,     0,   316,   317,   318,     0,   319,   320,   321,     0,
9919      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
9920        0,   332,     0,   333,   334,   335,   336,     0,   337,  1951,
9921      338,     0,     0,     0,  1952,   342,   343,   344,     0,   345,
9922      346,     0,   347,   348,   349,     0,   350,   351,   352,   353,
9923      354,     0,   356,   357,   358,   359,     0,   360,   361,   362,
9924      363,   364,   365,   366,     0,   367,     0,   369,   370,   371,
9925      372,   373,   374,   375,     0,   376,     0,   377,     0,     0,
9926      380,     0,   382,   383,  1953,  1954,   386,     0,     0,   387,
9927      388,     0,   390,     0,     0,   392,   393,   394,     0,     0,
9928      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
9929      405,   406,   407,   408,   409,   410,   411,     0,   413,   414,
9930      415,   416,   417,   418,   419,   420,   421,   422,   423,     0,
9931      424,   425,     0,   427,     0,   428,   429,   430,   431,   432,
9932      433,     0,   434,   435,     0,     0,   436,   437,   438,     0,
9933        0,   439,   440,   441,     0,   443,     0,   445,   446,   447,
9934      448,   449,   450,   451,   452,   453,   454,     0,   455,   456,
9935      457,   458,   459,   460,   461,   462,     0,   463,   464,   465,
9936     1955,   467,   468,   469,   470,   471,   472,   473,   474,   475,
9937      476,   477,     0,   478,   479,   480,   481,   482,   483,   484,
9938      485,   486,   487,   488,   489,     0,   490,   491,     0,   493,
9939      494,   495,  1956,   497,   498,   499,   500,   501,  1957,   503,
9940      504,   505,   506,   507,     0,  1958,   509,   510,   511,   512,
9941        0,   513,   514,   515,   516,   517,     0,   519,   520,   521,
9942      522,     0,   523,   524,   525,   526,   527,   528,   529,   530,
9943      531,   532,   533,   534,   535,   536,   537,     0,   538,   539,
9944     1959,   540,     0,  1960,   543,   544,   545,   546,     0,   547,
9945      548,   549,     0,     0,   550,   551,   552,   553,   554,     0,
9946      555,   556,  1961,   558,   559,   560,   561,   562,     0,     0,
9947      563,   564,   565,   566,   567,     0,     0,   568,   569,   570,
9948      571,   572,   573,   574,     0,   575,     0,   577,   578,   579,
9949      580,     0,     0,   581,     0,     0,   582,   583,   584,   585,
9950      586,   587,   588,   589,   590,   591,   592,   593,   594,   595,
9951      596,   597,   598,   599,   600,   601,   609,     0,     0,     0,
9952        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9953        0,     0,     0,   229,   230,   231,   232,   233,   234,   235,
9954      236,     0,   237,   238,   239,     0,     0,     0,     0,     0,
9955        0,     0,   240,   241,     0,   242,   243,   244,     0,   246,
9956      247,   248,   249,   250,     0,   252,   253,     0,   254,   255,
9957      256,   257,   258,   259,     0,     0,   260,   261,   262,   263,
9958      264,     0,   265,   266,   267,   268,   269,     0,     0,     0,
9959      271,   272,   273,   274,   275,     0,   277,   278,   279,     0,
9960      280,   281,   282,   283,   284,   285,   749,     0,   287,   288,
9961      289,     0,     0,     0,     0,     0,     0,     0,   291,   292,
9962      293,   294,   295,   296,   297,   298,   299,     0,   300,     0,
9963      301,   302,   303,   304,   305,   306,     0,   307,   308,   309,
9964      310,     0,     0,   311,   312,   313,   314,   315,     0,   316,
9965      317,   318,     0,   319,   320,   321,     0,   322,   323,   324,
9966      325,   326,   327,   328,   329,   330,   331,     0,   332,     0,
9967      333,   334,   335,   336,     0,   337,     0,   338,     0,     0,
9968        0,   341,   342,   343,   344,     0,   345,   346,     0,   347,
9969      348,   349,     0,   350,   351,   352,   353,   354,     0,   356,
9970      357,   358,   359,     0,   360,   361,   362,   363,   364,   365,
9971      366,     0,   367,     0,   369,   370,   371,   372,   373,   374,
9972      375,     0,   376,     0,   377,     0,     0,   380,     0,   382,
9973      383,   384,   385,   386,     0,     0,   387,   388,     0,   390,
9974        0,     0,   392,   393,   394,     0,     0,   395,   396,   397,
9975      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
9976      408,   409,   410,   411,     0,   413,   414,   415,   416,   417,
9977      418,   419,   420,   421,   422,   423,     0,   424,   425,     0,
9978      427,     0,   428,   429,   430,   431,   432,   433,     0,   434,
9979      435,     0,     0,   436,   437,   438,     0,     0,   439,   440,
9980      441,     0,   443,     0,   445,   446,   447,   448,   449,   450,
9981      451,   452,   453,   454,     0,   455,   456,   457,   458,   459,
9982      460,   461,   462,     0,   463,   464,   465,   466,   467,   468,
9983      469,   470,   471,   472,   473,   474,   475,   476,   477,   750,
9984      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
9985      488,   489,     0,   490,   491,     0,   493,   494,   495,   496,
9986      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
9987      507,   751,   508,   509,   510,   511,   512,     0,   513,   514,
9988      515,   516,   517,     0,   519,   520,   521,   522,     0,   523,
9989      524,   525,   526,   527,   528,   529,   530,   531,   532,   533,
9990      534,   535,   536,   537,     0,   538,   539,     0,   540,     0,
9991      542,   543,   544,   545,   546,     0,   547,   548,   549,     0,
9992        0,   550,   551,   552,   553,   554,     0,   555,   556,   557,
9993      558,   559,   560,   561,   562,     0,     0,   563,   564,   565,
9994      566,   567,     0,     0,   568,   569,   570,   571,   572,   573,
9995      574,     0,   575,     0,   577,   578,   579,   580,     0,     0,
9996      581,     0,     0,   582,   583,   584,   585,   586,   587,   588,
9997      589,   590,   591,   592,   593,   594,   595,   596,   597,   598,
9998      599,   600,   601,   609,     0,     0,     0,     0,     0,     0,
9999        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10000      229,   230,   231,   232,   233,   234,   235,   236,   925,   237,
10001      238,   239,     0,     0,     0,     0,     0,     0,     0,   240,
10002      241,     0,   242,   243,   244,     0,   246,   247,   248,   249,
10003      250,     0,   252,   253,     0,   254,   255,   256,   257,   258,
10004      259,     0,     0,   260,   261,   262,   263,   264,     0,   265,
10005      266,   267,   268,   269,     0,     0,     0,   271,   272,   273,
10006      274,   275,     0,   277,   278,   279,     0,   280,   281,   282,
10007      283,   284,   285,     0,     0,   287,   288,   289,     0,     0,
10008        0,     0,     0,     0,     0,   291,   292,   293,   294,   295,
10009      296,   297,   298,   299,     0,   300,     0,   301,   302,   303,
10010      304,   305,   306,     0,   307,   308,   309,   310,     0,     0,
10011      311,   312,   313,   314,   315,     0,   316,   317,   318,     0,
10012      319,   320,   321,     0,   322,   323,   324,   325,   326,   327,
10013      328,   329,   330,   331,     0,   332,     0,   333,   334,   335,
10014      336,     0,   337,     0,   338,     0,     0,     0,   341,   342,
10015      343,   344,     0,   345,   346,     0,   347,   348,   349,     0,
10016      350,   351,   352,   353,   926,     0,   356,   357,   358,   359,
10017        0,   360,   361,   362,   363,   364,   365,   366,     0,   367,
10018        0,   369,   370,   371,   372,   373,   374,   375,     0,   376,
10019        0,   377,     0,     0,   380,     0,   382,   383,   384,   385,
10020      386,     0,     0,   387,   388,     0,   390,     0,     0,   392,
10021      393,   394,     0,     0,   395,   396,   397,   398,   399,   400,
10022      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
10023      411,     0,   413,   414,   415,   416,   417,   418,   419,   420,
10024      421,   422,   423,     0,   424,   425,     0,   427,     0,   428,
10025      429,   430,   431,   432,   433,     0,   434,   435,     0,   818,
10026      436,   437,   438,     0,     0,   439,   440,   441,     0,   443,
10027        0,   445,   446,   447,   448,   449,   450,   451,   452,   453,
10028      454,     0,   455,   456,   457,   458,   459,   460,   461,   462,
10029        0,   463,   464,   465,   466,   467,   468,   469,   470,   471,
10030      472,   473,   474,   475,   476,   477,     0,   478,   479,   480,
10031      481,   482,   483,   484,   485,   486,   487,   488,   489,     0,
10032      490,   491,     0,   493,   494,   495,   496,   497,   498,   499,
10033      500,   501,   502,   503,   504,   505,   506,   507,     0,   508,
10034      509,   510,   511,   512,     0,   513,   514,   515,   516,   517,
10035        0,   519,   520,   521,   522,     0,   523,   524,   525,   526,
10036      527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
10037      537,     0,   538,   539,     0,   540,     0,   542,   543,   544,
10038      545,   546,     0,   547,   548,   549,     0,     0,   550,   551,
10039      552,   553,   554,     0,   555,   556,   557,   558,   559,   560,
10040      561,   562,     0,     0,   563,   564,   565,   566,   567,     0,
10041        0,   568,   569,   570,   571,   572,   573,   574,     0,   575,
10042        0,   577,   578,   579,   580,     0,     0,   581,     0,     0,
10043      582,   583,   584,   585,   586,   587,   588,   589,   590,   591,
10044      592,   593,   594,   595,   596,   597,   598,   599,   600,   601,
10045      609,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10046        0,     0,     0,     0,     0,     0,     0,   229,   230,   231,
10047      232,   233,   234,   235,   236,  3071,   237,   238,   239,     0,
10048        0,     0,     0,     0,     0,     0,   240,   241,     0,   242,
10049      243,   244,     0,   246,   247,   248,   249,   250,     0,   252,
10050      253,     0,   254,   255,   256,   257,   258,   259,     0,     0,
10051      260,   261,   262,   263,   264,     0,   265,   266,   267,   268,
10052      269,     0,     0,     0,   271,   272,   273,   274,   275,     0,
10053      277,   278,   279,     0,   280,   281,   282,   283,   284,   285,
10054        0,     0,   287,   288,   289,     0,     0,     0,     0,     0,
10055        0,     0,   291,   292,   293,   294,   295,   296,   297,   298,
10056      299,     0,   300,     0,   301,   302,   303,   304,   305,   306,
10057        0,   307,   308,   309,   310,     0,     0,   311,   312,   313,
10058      314,   315,     0,   316,   317,   318,     0,   319,   320,   321,
10059        0,   322,   323,   324,   325,   326,   327,   328,   329,   330,
10060      331,     0,   332,     0,   333,   334,   335,   336,     0,   337,
10061        0,   338,     0,     0,     0,   341,   342,   343,   344,     0,
10062      345,   346,     0,   347,   348,   349,     0,   350,   351,   352,
10063      353,   354,     0,   356,   357,   358,   359,     0,   360,   361,
10064      362,   363,   364,   365,   366,     0,   367,     0,   369,   370,
10065      371,   372,   373,   374,   375,     0,   376,     0,   377,     0,
10066        0,   380,     0,   382,   383,   384,   385,   386,     0,     0,
10067      387,   388,     0,   390,     0,     0,   392,   393,   394,     0,
10068        0,   395,   396,   397,   398,   399,   400,   401,   402,   403,
10069      404,   405,   406,   407,   408,   409,   410,   411,     0,   413,
10070      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
10071        0,   424,   425,     0,   427,     0,   428,   429,   430,   431,
10072      432,   433,     0,   434,   435,     0,     0,   436,   437,   438,
10073        0,     0,   439,   440,   441,     0,   443,     0,   445,   446,
10074      447,   448,   449,   450,   451,   452,   453,   454,     0,   455,
10075      456,   457,   458,   459,   460,   461,   462,     0,   463,   464,
10076      465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
10077      475,   476,   477,     0,   478,   479,   480,   481,   482,   483,
10078      484,   485,   486,   487,   488,   489,     0,   490,   491,     0,
10079      493,   494,   495,   496,   497,   498,   499,   500,   501,   502,
10080      503,   504,   505,   506,   507,     0,   508,   509,   510,   511,
10081      512,     0,   513,   514,   515,   516,   517,     0,   519,   520,
10082      521,   522,     0,   523,   524,   525,   526,   527,   528,   529,
10083      530,   531,   532,   533,   534,   535,   536,   537,     0,   538,
10084      539,     0,   540,     0,   542,   543,   544,   545,   546,     0,
10085      547,   548,   549,     0,     0,   550,   551,   552,   553,   554,
10086        0,   555,   556,   557,   558,   559,   560,   561,   562,     0,
10087        0,   563,   564,   565,   566,   567,  3072,     0,   568,   569,
10088      570,   571,   572,   573,   574,     0,   575,     0,   577,   578,
10089      579,   580,     0,     0,   581,     0,     0,   582,   583,   584,
10090      585,   586,   587,   588,   589,   590,   591,   592,   593,   594,
10091      595,   596,   597,   598,   599,   600,   601,   609,     0,     0,
10092        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10093        0,     0,     0,     0,   229,   230,   231,   232,   233,   234,
10094      235,   236,  3084,   237,   238,   239,     0,     0,     0,     0,
10095        0,     0,     0,   240,   241,     0,   242,   243,   244,     0,
10096      246,   247,   248,   249,   250,     0,   252,   253,     0,   254,
10097      255,   256,   257,   258,   259,     0,     0,   260,   261,   262,
10098      263,   264,     0,   265,   266,   267,   268,   269,     0,     0,
10099        0,   271,   272,   273,   274,   275,     0,   277,   278,   279,
10100        0,   280,   281,   282,   283,   284,   285,     0,     0,   287,
10101      288,   289,     0,     0,     0,     0,     0,     0,     0,   291,
10102      292,   293,   294,   295,   296,   297,   298,   299,     0,   300,
10103        0,   301,   302,   303,   304,   305,   306,     0,   307,   308,
10104      309,   310,     0,     0,   311,   312,   313,   314,   315,     0,
10105      316,   317,   318,     0,   319,   320,   321,     0,   322,   323,
10106      324,   325,   326,   327,   328,   329,   330,   331,     0,   332,
10107        0,   333,   334,   335,   336,     0,   337,     0,   338,     0,
10108        0,     0,   341,   342,   343,   344,     0,   345,   346,     0,
10109      347,   348,   349,     0,   350,   351,   352,   353,   354,     0,
10110      356,   357,   358,   359,     0,   360,   361,   362,   363,   364,
10111      365,   366,     0,   367,     0,   369,   370,   371,   372,   373,
10112      374,   375,     0,   376,     0,   377,     0,     0,   380,     0,
10113      382,   383,   384,   385,   386,     0,     0,   387,   388,     0,
10114      390,     0,     0,   392,   393,   394,     0,     0,   395,   396,
10115      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
10116      407,   408,   409,   410,   411,     0,   413,   414,   415,   416,
10117      417,   418,   419,   420,   421,   422,   423,     0,   424,   425,
10118        0,   427,     0,   428,   429,   430,   431,   432,   433,     0,
10119      434,   435,     0,     0,   436,   437,   438,     0,     0,   439,
10120      440,   441,     0,   443,     0,   445,   446,   447,   448,   449,
10121      450,   451,   452,   453,   454,     0,   455,   456,   457,   458,
10122      459,   460,   461,   462,     0,   463,   464,   465,   466,   467,
10123      468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
10124        0,   478,   479,   480,   481,   482,   483,   484,   485,   486,
10125      487,   488,   489,     0,   490,   491,     0,   493,   494,   495,
10126      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
10127      506,   507,     0,   508,   509,   510,   511,   512,     0,   513,
10128      514,   515,   516,   517,     0,   519,   520,   521,   522,     0,
10129      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
10130      533,   534,   535,   536,   537,     0,   538,   539,     0,   540,
10131        0,   542,   543,   544,   545,   546,     0,   547,   548,   549,
10132        0,     0,   550,   551,   552,   553,   554,     0,   555,   556,
10133      557,   558,   559,   560,   561,   562,     0,     0,   563,   564,
10134      565,   566,   567,  3085,     0,   568,   569,   570,   571,   572,
10135      573,   574,     0,   575,     0,   577,   578,   579,   580,     0,
10136        0,   581,     0,     0,   582,   583,   584,   585,   586,   587,
10137      588,   589,   590,   591,   592,   593,   594,   595,   596,   597,
10138      598,   599,   600,   601,   609,     0,     0,     0,     0,     0,
10139        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10140        0,   229,   230,   231,   232,   233,   234,   235,   236,   610,
10141      237,   238,   239,     0,     0,     0,     0,     0,     0,     0,
10142      240,   241,     0,   242,   243,   244,     0,   246,   247,   248,
10143      249,   250,     0,   252,   253,     0,   254,   255,   256,   257,
10144      258,   259,     0,     0,   260,   261,   262,   263,   264,     0,
10145      265,   266,   267,   268,   269,     0,     0,     0,   271,   272,
10146      273,   274,   275,     0,   277,   278,   279,     0,   280,   281,
10147      282,   283,   284,   285,     0,     0,   287,   288,   289,     0,
10148        0,     0,     0,     0,     0,     0,   291,   292,   293,   294,
10149      295,   296,   297,   298,   299,     0,   300,     0,   301,   302,
10150      303,   304,   305,   306,     0,   307,   308,   309,   310,     0,
10151        0,   311,   312,   313,   314,   315,     0,   316,   317,   318,
10152        0,   319,   320,   321,     0,   322,   323,   324,   325,   326,
10153      327,   328,   329,   330,   331,     0,   332,     0,   333,   334,
10154      335,   336,     0,   337,     0,   338,     0,     0,     0,   341,
10155      342,   343,   344,     0,   345,   346,     0,   347,   348,   349,
10156        0,   350,   351,   352,   353,   354,     0,   356,   357,   358,
10157      359,     0,   360,   361,   362,   363,   364,   365,   366,     0,
10158      367,     0,   369,   370,   371,   372,   373,   374,   375,     0,
10159      376,     0,   377,     0,     0,   380,     0,   382,   383,   384,
10160      385,   386,     0,     0,   387,   388,     0,   390,     0,     0,
10161      392,   393,   394,     0,     0,   395,   396,   397,   398,   399,
10162      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
10163      410,   411,     0,   413,   414,   415,   416,   417,   418,   419,
10164      420,   421,   422,   423,     0,   424,   425,     0,   427,     0,
10165      428,   429,   430,   431,   432,   433,     0,   434,   435,     0,
10166        0,   436,   437,   438,     0,     0,   439,   440,   441,     0,
10167      443,     0,   445,   446,   447,   448,   449,   450,   451,   452,
10168      453,   454,     0,   455,   456,   457,   458,   459,   460,   461,
10169      462,     0,   463,   464,   465,   466,   467,   468,   469,   470,
10170      471,   472,   473,   474,   475,   476,   477,     0,   478,   479,
10171      480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
10172        0,   490,   491,     0,   493,   494,   495,   496,   497,   498,
10173      499,   500,   501,   502,   503,   504,   505,   506,   507,     0,
10174      508,   509,   510,   511,   512,     0,   513,   514,   515,   516,
10175      517,     0,   519,   520,   521,   522,     0,   523,   524,   525,
10176      526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
10177      536,   537,     0,   538,   539,     0,   540,     0,   542,   543,
10178      544,   545,   546,     0,   547,   548,   549,     0,     0,   550,
10179      551,   552,   553,   554,     0,   555,   556,   557,   558,   559,
10180      560,   561,   562,     0,     0,   563,   564,   565,   566,   567,
10181        0,     0,   568,   569,   570,   571,   572,   573,   574,     0,
10182      575,     0,   577,   578,   579,   580,     0,     0,   581,     0,
10183        0,   582,   583,   584,   585,   586,   587,   588,   589,   590,
10184      591,   592,   593,   594,   595,   596,   597,   598,   599,   600,
10185      601,   609,     0,     0,     0,     0,     0,     0,     0,     0,
10186        0,     0,     0,     0,     0,     0,     0,     0,   229,   230,
10187      231,   232,   233,   234,   235,   236,   660,   237,   238,   239,
10188        0,     0,     0,     0,     0,     0,     0,   240,   241,     0,
10189      242,   243,   244,     0,   246,   247,   248,   249,   250,     0,
10190      252,   253,     0,   254,   255,   256,   257,   258,   259,     0,
10191        0,   260,   261,   262,   263,   264,     0,   265,   266,   267,
10192      268,   269,     0,     0,     0,   271,   272,   273,   274,   275,
10193        0,   277,   278,   279,     0,   280,   281,   282,   283,   284,
10194      285,     0,     0,   287,   288,   289,     0,     0,     0,     0,
10195        0,     0,     0,   291,   292,   293,   294,   295,   296,   297,
10196      298,   299,     0,   300,     0,   301,   302,   303,   304,   305,
10197      306,     0,   307,   308,   309,   310,     0,     0,   311,   312,
10198      313,   314,   315,     0,   316,   317,   318,     0,   319,   320,
10199      321,     0,   322,   323,   324,   325,   326,   327,   328,   329,
10200      330,   331,     0,   332,     0,   333,   334,   335,   336,     0,
10201      337,     0,   338,     0,     0,     0,   341,   342,   343,   344,
10202        0,   345,   346,     0,   347,   348,   349,     0,   350,   351,
10203      352,   353,   354,     0,   356,   357,   358,   359,     0,   360,
10204      361,   362,   363,   364,   365,   366,     0,   367,     0,   369,
10205      370,   371,   372,   373,   374,   375,     0,   376,     0,   377,
10206        0,     0,   380,     0,   382,   383,   384,   385,   386,     0,
10207        0,   387,   388,     0,   390,     0,     0,   392,   393,   394,
10208        0,     0,   395,   396,   397,   398,   399,   400,   401,   402,
10209      403,   404,   405,   406,   407,   408,   409,   410,   411,     0,
10210      413,   414,   415,   416,   417,   418,   419,   420,   421,   422,
10211      423,     0,   424,   425,     0,   427,     0,   428,   429,   430,
10212      431,   432,   433,     0,   434,   435,     0,     0,   436,   437,
10213      438,     0,     0,   439,   440,   441,     0,   443,     0,   445,
10214      446,   447,   448,   449,   450,   451,   452,   453,   454,     0,
10215      455,   456,   457,   458,   459,   460,   661,   462,     0,   463,
10216      464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
10217      474,   475,   476,   477,     0,   478,   479,   480,   481,   482,
10218      483,   484,   485,   486,   487,   488,   489,     0,   490,   491,
10219        0,   493,   494,   495,   496,   497,   498,   499,   500,   501,
10220      502,   503,   504,   505,   506,   507,     0,   508,   509,   510,
10221      511,   512,     0,   513,   514,   515,   516,   517,     0,   519,
10222      520,   521,   522,     0,   523,   524,   525,   526,   527,   528,
10223      529,   530,   531,   532,   533,   534,   535,   536,   537,     0,
10224      538,   539,     0,   540,     0,   542,   543,   544,   545,   546,
10225        0,   547,   548,   549,     0,     0,   550,   551,   552,   553,
10226      554,     0,   555,   556,   557,   558,   559,   560,   561,   562,
10227        0,     0,   563,   564,   565,   566,   567,     0,     0,   568,
10228      569,   570,   571,   572,   573,   574,     0,   575,     0,   577,
10229      578,   579,   580,     0,     0,   581,     0,     0,   582,   583,
10230      584,   585,   586,   587,   588,   589,   590,   591,   592,   593,
10231      594,   595,   596,   597,   598,   599,   600,   601,   609,     0,
10232        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10233        0,     0,     0,     0,     0,   229,   230,   231,   232,   233,
10234      234,   235,   236,   778,   237,   238,   239,     0,     0,     0,
10235        0,     0,     0,     0,   240,   241,     0,   242,   243,   244,
10236        0,   246,   247,   248,   249,   250,     0,   252,   253,     0,
10237      254,   255,   256,   257,   258,   259,     0,     0,   260,   261,
10238      262,   263,   264,     0,   265,   266,   267,   268,   269,     0,
10239        0,     0,   271,   272,   273,   274,   275,     0,   277,   278,
10240      279,     0,   280,   281,   282,   283,   284,   285,     0,     0,
10241      287,   288,   289,     0,     0,     0,     0,     0,     0,     0,
10242      291,   292,   293,   294,   295,   296,   297,   298,   299,     0,
10243      300,     0,   301,   302,   303,   304,   305,   306,     0,   307,
10244      308,   309,   310,     0,     0,   311,   312,   313,   314,   315,
10245        0,   316,   317,   318,     0,   319,   320,   321,     0,   322,
10246      323,   324,   325,   326,   327,   328,   329,   330,   331,     0,
10247      332,     0,   333,   334,   335,   336,     0,   337,     0,   338,
10248        0,     0,     0,   341,   342,   343,   344,     0,   345,   346,
10249        0,   347,   348,   349,     0,   350,   351,   352,   353,   354,
10250        0,   356,   357,   358,   359,     0,   360,   361,   362,   363,
10251      364,   365,   366,     0,   367,     0,   369,   370,   371,   372,
10252      373,   374,   375,     0,   376,     0,   377,     0,     0,   380,
10253        0,   382,   383,   384,   385,   386,     0,     0,   387,   388,
10254        0,   390,     0,     0,   392,   393,   394,     0,     0,   395,
10255      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
10256      406,   407,   408,   409,   410,   411,     0,   413,   414,   415,
10257      416,   417,   418,   419,   420,   421,   422,   423,     0,   424,
10258      425,     0,   427,     0,   428,   429,   430,   431,   432,   433,
10259        0,   434,   435,     0,     0,   436,   437,   438,     0,     0,
10260      439,   440,   441,     0,   443,     0,   445,   446,   447,   448,
10261      449,   450,   451,   452,   453,   454,     0,   455,   456,   457,
10262      458,   459,   460,   461,   462,     0,   463,   464,   465,   466,
10263      467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
10264      477,     0,   478,   479,   480,   481,   482,   483,   484,   485,
10265      486,   487,   488,   489,     0,   490,   491,     0,   493,   494,
10266      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
10267      505,   506,   507,     0,   508,   509,   510,   511,   779,     0,
10268      513,   514,   515,   516,   517,     0,   519,   520,   521,   522,
10269        0,   523,   524,   525,   526,   527,   528,   529,   530,   531,
10270      532,   533,   534,   535,   536,   537,     0,   538,   539,     0,
10271      540,     0,   542,   543,   544,   545,   546,     0,   547,   780,
10272      549,     0,     0,   781,   551,   552,   553,   554,     0,   555,
10273      556,   557,   558,   559,   560,   561,   562,     0,     0,   563,
10274      564,   565,   566,   567,     0,     0,   568,   569,   570,   571,
10275      572,   573,   574,     0,   575,     0,   577,   578,   579,   580,
10276        0,     0,   581,     0,     0,   582,   583,   584,   585,   586,
10277      587,   588,   589,   590,   591,   592,   593,   594,   595,   596,
10278      597,   598,   599,   600,   601,   609,     0,     0,     0,     0,
10279        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10280        0,     0,   229,   230,   231,   232,   233,   234,   235,   236,
10281      812,   237,   238,   239,     0,     0,     0,     0,     0,     0,
10282        0,   240,   241,     0,   242,   243,   244,     0,   246,   247,
10283      248,   249,   250,     0,   252,   253,     0,   254,   255,   256,
10284      257,   258,   259,     0,     0,   260,   261,   262,   263,   264,
10285        0,   265,   266,   267,   268,   269,     0,     0,     0,   271,
10286      272,   273,   274,   275,     0,   277,   278,   279,     0,   280,
10287      281,   282,   283,   284,   285,     0,     0,   287,   288,   289,
10288        0,     0,     0,     0,     0,     0,     0,   291,   292,   293,
10289      294,   295,   296,   297,   298,   299,     0,   300,     0,   301,
10290      302,   303,   304,   305,   306,     0,   307,   308,   309,   310,
10291        0,     0,   311,   312,   313,   314,   315,     0,   316,   317,
10292      318,     0,   319,   320,   321,     0,   322,   323,   324,   325,
10293      326,   327,   328,   329,   330,   331,     0,   332,     0,   333,
10294      334,   335,   336,     0,   337,     0,   338,     0,     0,     0,
10295      341,   342,   343,   344,     0,   345,   346,     0,   347,   348,
10296      349,     0,   350,   351,   352,   353,   354,     0,   356,   357,
10297      358,   359,     0,   360,   361,   362,   363,   364,   365,   366,
10298        0,   367,     0,   369,   370,   371,   372,   373,   374,   375,
10299        0,   376,     0,   377,     0,     0,   380,     0,   382,   383,
10300      384,   385,   386,     0,     0,   387,   388,     0,   390,     0,
10301        0,   392,   393,   394,     0,     0,   395,   396,   397,   398,
10302      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
10303      409,   410,   411,     0,   413,   414,   415,   416,   417,   418,
10304      419,   420,   421,   422,   423,     0,   424,   425,     0,   427,
10305        0,   428,   429,   430,   431,   432,   433,     0,   434,   435,
10306        0,     0,   436,   437,   438,     0,     0,   439,   440,   441,
10307        0,   443,     0,   445,   446,   447,   448,   449,   450,   451,
10308      452,   453,   454,     0,   455,   456,   457,   458,   459,   460,
10309      461,   462,     0,   463,   464,   465,   466,   467,   468,   469,
10310      470,   471,   472,   473,   474,   475,   476,   477,     0,   478,
10311      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
10312      489,     0,   490,   491,     0,   493,   494,   495,   496,   497,
10313      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
10314        0,   508,   509,   510,   511,   813,     0,   513,   514,   515,
10315      516,   517,     0,   519,   520,   521,   522,     0,   523,   524,
10316      525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
10317      535,   536,   537,     0,   538,   539,     0,   540,     0,   542,
10318      543,   544,   545,   546,     0,   547,   814,   549,     0,     0,
10319      815,   551,   552,   553,   554,     0,   555,   556,   557,   558,
10320      559,   560,   561,   562,     0,     0,   563,   564,   565,   566,
10321      567,     0,     0,   568,   569,   570,   571,   572,   573,   574,
10322        0,   575,     0,   577,   578,   579,   580,     0,     0,   581,
10323        0,     0,   582,   583,   584,   585,   586,   587,   588,   589,
10324      590,   591,   592,   593,   594,   595,   596,   597,   598,   599,
10325      600,   601,   609,     0,     0,     0,     0,     0,     0,     0,
10326        0,     0,     0,     0,     0,     0,     0,     0,     0,   229,
10327      230,   231,   232,   233,   234,   235,   236,     0,   237,   238,
10328      239,     0,     0,     0,     0,     0,     0,     0,   240,   241,
10329        0,   242,   243,   244,     0,   246,   247,   248,   249,   250,
10330        0,   252,   253,     0,   254,   255,   256,   257,   258,   259,
10331        0,     0,   260,   261,   262,   263,   264,     0,   265,   266,
10332      267,   268,   269,     0,     0,     0,   271,   272,   273,   274,
10333      275,     0,   277,   278,   279,     0,   280,   281,   282,   283,
10334      284,   285,     0,     0,   287,   288,   289,     0,     0,     0,
10335        0,     0,     0,     0,   291,   292,   293,   294,   295,   296,
10336      297,   298,   299,     0,   300,     0,   301,   302,   303,   304,
10337      305,   306,     0,   307,   308,   309,   310,     0,     0,   311,
10338      312,   313,   314,   315,     0,   316,   317,   318,     0,   319,
10339      320,   321,     0,   322,   323,   324,   325,   326,   327,   328,
10340      329,   330,   331,     0,   332,     0,   333,   334,   335,   336,
10341        0,   337,     0,   338,     0,     0,     0,   341,   342,   343,
10342      344,     0,   345,   346,     0,   347,   348,   349,     0,   350,
10343      351,   352,   353,   354,     0,   356,   357,   358,   359,     0,
10344      360,   361,   362,   363,   364,   365,   366,     0,   367,     0,
10345      369,   370,   371,   372,   373,   374,   375,     0,   376,     0,
10346      377,     0,     0,   380,     0,   382,   383,   384,   385,   386,
10347        0,     0,   387,   388,     0,   390,     0,     0,   392,   393,
10348      394,     0,     0,   395,   396,   397,   398,   399,   400,   401,
10349      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
10350        0,   413,   414,   415,   416,   417,   418,   419,   420,   421,
10351      422,   423,     0,   424,   425,     0,   427,     0,   428,   429,
10352      430,   431,   432,   433,     0,   434,   435,     0,   818,   436,
10353      437,   438,     0,     0,   439,   440,   441,     0,   443,     0,
10354      445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
10355        0,   455,   456,   457,   458,   459,   460,   461,   462,     0,
10356      463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
10357      473,   474,   475,   476,   477,     0,   478,   479,   480,   481,
10358      482,   483,   484,   485,   486,   487,   488,   489,     0,   490,
10359      491,     0,   493,   494,   495,   496,   497,   498,   499,   500,
10360      501,   502,   503,   504,   505,   506,   507,     0,   508,   509,
10361      510,   511,   512,     0,   513,   514,   515,   516,   517,     0,
10362      519,   520,   521,   522,     0,   523,   524,   525,   526,   527,
10363      528,   529,   530,   531,   532,   533,   534,   535,   536,   537,
10364        0,   538,   539,     0,   540,     0,   542,   543,   544,   545,
10365      546,     0,   547,   548,   549,     0,     0,   550,   551,   552,
10366      553,   554,     0,   555,   556,   557,   558,   559,   560,   561,
10367      562,     0,     0,   563,   564,   565,   566,   567,     0,     0,
10368      568,   569,   570,   571,   572,   573,   574,     0,   575,     0,
10369      577,   578,   579,   580,     0,     0,   581,     0,     0,   582,
10370      583,   584,   585,   586,   587,   588,   589,   590,   591,   592,
10371      593,   594,   595,   596,   597,   598,   599,   600,   601,   609,
10372        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10373        0,     0,     0,     0,     0,     0,   229,   230,   231,   232,
10374      233,   234,   235,   236,   882,   237,   238,   239,     0,     0,
10375        0,     0,     0,     0,     0,   240,   241,     0,   242,   243,
10376      244,     0,   246,   247,   248,   249,   250,     0,   252,   253,
10377        0,   254,   255,   256,   257,   258,   259,     0,     0,   260,
10378      261,   262,   263,   264,     0,   265,   266,   267,   268,   269,
10379        0,     0,     0,   271,   272,   273,   274,   275,     0,   277,
10380      278,   279,     0,   280,   281,   282,   283,   284,   285,     0,
10381        0,   287,   288,   289,     0,     0,     0,     0,     0,     0,
10382        0,   291,   292,   293,   294,   295,   296,   297,   298,   299,
10383        0,   300,     0,   301,   302,   303,   304,   305,   306,     0,
10384      307,   308,   309,   310,     0,     0,   311,   312,   313,   314,
10385      315,     0,   316,   317,   318,     0,   319,   320,   321,     0,
10386      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
10387        0,   332,     0,   333,   334,   335,   336,     0,   337,     0,
10388      338,     0,     0,     0,   341,   342,   343,   344,     0,   345,
10389      346,     0,   347,   348,   349,     0,   350,   351,   352,   353,
10390      883,     0,   356,   357,   358,   359,     0,   360,   361,   362,
10391      363,   364,   365,   366,     0,   367,     0,   369,   370,   371,
10392      372,   373,   374,   375,     0,   376,     0,   377,     0,     0,
10393      380,     0,   382,   383,   384,   385,   386,     0,     0,   387,
10394      388,     0,   390,     0,     0,   392,   393,   394,     0,     0,
10395      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
10396      405,   406,   407,   408,   409,   410,   411,     0,   413,   414,
10397      415,   416,   417,   418,   419,   420,   421,   422,   423,     0,
10398      424,   425,     0,   427,     0,   428,   429,   430,   431,   432,
10399      433,     0,   434,   435,     0,     0,   436,   437,   438,     0,
10400        0,   439,   440,   441,     0,   443,     0,   445,   446,   447,
10401      448,   449,   450,   451,   452,   453,   454,     0,   455,   456,
10402      457,   458,   459,   460,   461,   462,     0,   463,   464,   465,
10403      466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
10404      476,   477,     0,   478,   479,   480,   481,   482,   483,   484,
10405      485,   486,   487,   488,   489,     0,   490,   491,     0,   493,
10406      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
10407      504,   505,   506,   507,     0,   508,   509,   510,   511,   512,
10408        0,   513,   514,   515,   516,   517,     0,   519,   520,   521,
10409      522,     0,   523,   524,   525,   526,   527,   528,   529,   530,
10410      531,   532,   533,   534,   535,   536,   537,     0,   538,   539,
10411        0,   540,     0,   542,   543,   544,   545,   546,     0,   547,
10412      548,   549,     0,     0,   550,   551,   552,   553,   554,     0,
10413      555,   556,   557,   558,   559,   560,   561,   562,     0,     0,
10414      563,   564,   565,   566,   567,     0,     0,   568,   569,   570,
10415      571,   572,   573,   574,     0,   575,     0,   577,   578,   579,
10416      580,     0,     0,   581,     0,     0,   582,   583,   584,   585,
10417      586,   587,   588,   589,   590,   591,   592,   593,   594,   595,
10418      596,   597,   598,   599,   600,   601,   609,     0,     0,     0,
10419        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10420        0,     0,     0,   229,   230,   231,   232,   233,   234,   235,
10421      236,  1054,   237,   238,   239,     0,     0,     0,     0,     0,
10422        0,     0,   240,   241,     0,   242,   243,   244,     0,   246,
10423      247,   248,   249,   250,     0,   252,   253,     0,   254,   255,
10424      256,   257,   258,   259,     0,     0,   260,   261,   262,   263,
10425      264,     0,   265,   266,   267,   268,   269,     0,     0,     0,
10426      271,   272,   273,   274,   275,     0,   277,   278,   279,     0,
10427      280,   281,   282,   283,   284,   285,     0,     0,   287,   288,
10428      289,     0,     0,     0,     0,     0,     0,     0,   291,   292,
10429      293,   294,   295,   296,   297,   298,   299,     0,   300,     0,
10430      301,   302,   303,   304,   305,   306,     0,   307,   308,   309,
10431      310,     0,     0,   311,   312,   313,   314,   315,     0,   316,
10432      317,   318,     0,   319,   320,   321,     0,   322,   323,   324,
10433      325,   326,   327,   328,   329,   330,   331,     0,   332,     0,
10434      333,   334,   335,   336,     0,   337,     0,   338,     0,     0,
10435        0,   341,   342,   343,   344,     0,   345,   346,     0,   347,
10436      348,   349,     0,   350,   351,   352,   353,   354,     0,   356,
10437      357,   358,   359,     0,   360,   361,   362,   363,   364,   365,
10438      366,     0,   367,     0,   369,   370,   371,   372,   373,   374,
10439      375,     0,   376,     0,   377,     0,     0,   380,     0,   382,
10440      383,   384,   385,   386,     0,     0,   387,   388,     0,   390,
10441        0,     0,   392,   393,   394,     0,     0,   395,   396,   397,
10442      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
10443      408,   409,   410,   411,     0,   413,   414,   415,   416,   417,
10444      418,   419,   420,   421,   422,   423,     0,   424,   425,     0,
10445      427,     0,   428,   429,   430,   431,   432,   433,     0,   434,
10446      435,     0,     0,   436,   437,   438,     0,     0,   439,   440,
10447      441,     0,   443,     0,   445,   446,   447,   448,   449,   450,
10448      451,   452,   453,   454,     0,   455,   456,   457,   458,   459,
10449      460,   461,   462,     0,   463,   464,   465,   466,   467,   468,
10450      469,   470,   471,   472,   473,   474,   475,   476,   477,     0,
10451      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
10452      488,   489,     0,   490,   491,     0,   493,   494,   495,   496,
10453      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
10454      507,     0,   508,   509,   510,   511,   512,     0,   513,   514,
10455      515,   516,   517,     0,   519,   520,   521,   522,     0,   523,
10456      524,   525,   526,   527,   528,   529,   530,   531,   532,   533,
10457      534,   535,   536,   537,     0,   538,   539,     0,   540,     0,
10458      542,   543,   544,   545,   546,     0,   547,   548,   549,     0,
10459        0,   550,   551,   552,   553,   554,     0,   555,   556,   557,
10460      558,   559,   560,   561,   562,     0,     0,   563,   564,   565,
10461      566,   567,     0,     0,   568,   569,   570,   571,   572,   573,
10462      574,     0,   575,     0,   577,   578,   579,   580,     0,     0,
10463      581,     0,     0,   582,   583,   584,   585,   586,   587,   588,
10464      589,   590,   591,   592,   593,   594,   595,   596,   597,   598,
10465      599,   600,   601,   609,     0,     0,     0,     0,     0,     0,
10466        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10467      229,   230,   231,   232,   233,   234,   235,   236,  1327,   237,
10468      238,   239,     0,     0,     0,     0,     0,     0,     0,   240,
10469      241,     0,   242,   243,   244,     0,   246,   247,   248,   249,
10470      250,     0,   252,   253,     0,   254,   255,   256,   257,   258,
10471      259,     0,     0,   260,   261,   262,   263,   264,     0,   265,
10472      266,   267,   268,   269,     0,     0,     0,   271,   272,   273,
10473      274,   275,     0,   277,   278,   279,     0,   280,   281,   282,
10474      283,   284,   285,     0,     0,   287,   288,   289,     0,     0,
10475        0,     0,     0,     0,     0,   291,   292,   293,   294,   295,
10476      296,   297,   298,   299,     0,   300,     0,   301,   302,   303,
10477      304,   305,   306,     0,   307,   308,   309,   310,     0,     0,
10478      311,   312,   313,   314,   315,     0,   316,   317,   318,     0,
10479      319,   320,   321,     0,   322,   323,   324,   325,   326,   327,
10480      328,   329,   330,   331,     0,   332,     0,   333,   334,   335,
10481      336,     0,   337,     0,   338,     0,     0,     0,   341,   342,
10482      343,   344,     0,   345,   346,     0,   347,   348,   349,     0,
10483      350,   351,   352,   353,   354,     0,   356,   357,   358,   359,
10484        0,   360,   361,   362,   363,   364,   365,   366,     0,   367,
10485        0,   369,   370,   371,   372,   373,   374,   375,     0,   376,
10486        0,   377,     0,     0,   380,     0,   382,   383,   384,   385,
10487      386,     0,     0,   387,   388,     0,   390,     0,     0,   392,
10488      393,   394,     0,     0,   395,   396,   397,   398,   399,   400,
10489      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
10490      411,     0,   413,   414,   415,   416,   417,   418,   419,   420,
10491      421,   422,   423,     0,   424,   425,     0,   427,     0,   428,
10492      429,   430,   431,   432,   433,     0,   434,   435,     0,     0,
10493      436,   437,   438,     0,     0,   439,   440,   441,     0,   443,
10494        0,   445,   446,   447,   448,   449,   450,   451,   452,   453,
10495      454,     0,   455,   456,   457,   458,   459,   460,   461,   462,
10496        0,   463,   464,   465,   466,   467,   468,   469,   470,   471,
10497      472,   473,   474,   475,   476,   477,     0,   478,   479,   480,
10498      481,   482,   483,   484,   485,   486,   487,   488,   489,     0,
10499      490,   491,     0,   493,   494,   495,   496,   497,   498,   499,
10500      500,   501,   502,   503,   504,   505,   506,   507,     0,   508,
10501      509,   510,   511,   512,     0,   513,   514,   515,   516,   517,
10502        0,   519,   520,   521,   522,     0,   523,   524,   525,   526,
10503      527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
10504      537,     0,   538,   539,     0,   540,     0,   542,   543,   544,
10505      545,   546,     0,   547,   548,   549,     0,     0,   550,   551,
10506      552,   553,   554,     0,   555,   556,   557,   558,   559,   560,
10507      561,   562,     0,     0,   563,   564,   565,   566,   567,     0,
10508        0,   568,   569,   570,   571,   572,   573,   574,     0,   575,
10509        0,   577,   578,   579,   580,     0,     0,   581,     0,     0,
10510      582,   583,   584,   585,   586,   587,   588,   589,   590,   591,
10511      592,   593,   594,   595,   596,   597,   598,   599,   600,   601,
10512      609,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10513        0,     0,     0,     0,     0,     0,     0,   229,   230,   231,
10514      232,   233,   234,   235,   236,     0,   237,   238,   239,     0,
10515        0,     0,     0,     0,     0,     0,   240,   241,     0,   242,
10516      243,   244,  1338,   246,   247,   248,   249,   250,     0,   252,
10517      253,     0,   254,   255,   256,   257,   258,   259,     0,     0,
10518      798,   261,   262,   263,  1339,     0,   265,   266,   267,   268,
10519      269,     0,     0,     0,   271,   272,   273,   274,   275,     0,
10520      277,   278,   279,     0,   280,   281,   282,   283,   284,   285,
10521        0,     0,   287,   288,   289,     0,     0,     0,     0,     0,
10522        0,     0,   291,   292,   293,   294,   295,   296,   297,   298,
10523      299,     0,   300,     0,   301,   302,   303,   304,   305,   306,
10524        0,   307,   308,   309,   310,     0,     0,   311,   312,   313,
10525      314,   315,     0,   316,   317,   318,     0,   319,   320,   321,
10526        0,   322,   323,   324,   325,   326,   327,   328,   329,   330,
10527      331,     0,   332,     0,   333,   334,   335,   336,     0,   337,
10528        0,   338,     0,     0,     0,   341,   342,   343,   344,     0,
10529      345,   346,     0,   347,   348,   349,     0,   350,   351,   352,
10530      353,   354,     0,   356,   357,   358,   359,     0,   360,   361,
10531      362,   363,   364,   365,   366,     0,   367,     0,   369,   370,
10532      371,   372,   373,   374,   375,     0,   376,     0,   377,     0,
10533        0,   380,     0,   382,   383,   384,   385,   386,     0,     0,
10534      387,   388,     0,   390,     0,     0,   392,   393,   394,     0,
10535        0,   395,   396,   397,   398,   399,   400,   401,   402,   403,
10536      404,   405,   406,   407,   408,   409,   801,   411,     0,   413,
10537      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
10538        0,   424,   425,     0,   427,     0,   428,   429,   430,   431,
10539      432,   433,     0,   434,   435,     0,     0,   436,   437,   438,
10540        0,     0,   439,   440,   441,     0,   443,     0,   445,   446,
10541      447,   448,   449,   450,   451,   452,   453,   454,     0,   455,
10542      456,   457,   458,   459,   460,   461,   462,     0,   463,   464,
10543      465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
10544      475,   476,   477,     0,   478,   479,   480,   481,   482,   483,
10545      484,   485,   486,   487,   488,   489,     0,   490,   491,     0,
10546      802,   494,   495,   496,   497,   498,   499,   500,   501,   803,
10547      503,   504,   505,   506,   507,     0,   508,   509,   510,   511,
10548     1331,     0,   513,   514,   515,   516,   517,     0,   519,   520,
10549      521,   522,     0,   523,   524,   525,   526,   527,   528,   529,
10550      530,   531,   532,   533,   534,   535,   536,   537,     0,   538,
10551      539,     0,   540,     0,   542,   543,   544,   545,   546,     0,
10552      547,   805,   549,     0,     0,   806,   551,   552,   553,   554,
10553        0,   555,   556,   557,   558,   559,   560,   561,   562,     0,
10554        0,   563,   564,   565,   566,   567,     0,     0,   568,   569,
10555      570,   571,   572,   573,   574,     0,   575,     0,   577,   578,
10556      579,   580,     0,     0,   581,     0,     0,   582,   583,   584,
10557      585,   586,   807,   588,   589,   590,   591,   592,   593,   594,
10558      595,   596,   597,   598,   599,   600,   601,   609,     0,     0,
10559        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10560        0,     0,     0,     0,   229,   230,   231,   232,   233,   234,
10561      235,   236,     0,   237,   238,   239,     0,     0,     0,     0,
10562        0,     0,     0,   240,   241,     0,   242,   243,   244,     0,
10563      246,   247,   248,   249,   250,     0,   252,   253,     0,   254,
10564      255,   256,   257,   258,   259,     0,     0,   260,   261,   262,
10565      263,   264,     0,   265,   266,   267,   268,   269,     0,     0,
10566        0,   271,   272,   273,   274,   275,     0,   277,   278,   279,
10567        0,   280,   281,   282,   283,   284,   285,     0,     0,   287,
10568      288,   289,     0,     0,     0,     0,     0,     0,     0,   291,
10569      292,   293,   294,   295,   296,   297,   298,   299,     0,   300,
10570        0,   301,   302,   303,   304,   305,   306,     0,   307,   308,
10571      309,   310,     0,     0,   311,   312,   313,   314,   315,     0,
10572      316,   317,   318,     0,   319,   320,   321,     0,   322,   323,
10573      324,   325,   326,   327,   328,   329,   330,   331,     0,   332,
10574        0,   333,   334,   335,   336,     0,   337,     0,   338,     0,
10575        0,     0,   341,   342,   343,   344,     0,   345,   346,     0,
10576      347,   348,   349,     0,   350,   351,   352,   353,  1449,     0,
10577      356,   357,   358,   359,     0,   360,   361,   362,   363,   364,
10578      365,   366,     0,   367,     0,   369,   370,   371,   372,   373,
10579      374,   375,     0,   376,     0,   377,     0,     0,   380,     0,
10580      382,   383,   384,   385,   386,     0,     0,   387,   388,     0,
10581      390,     0,     0,   392,   393,   394,     0,     0,   395,   396,
10582      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
10583      407,   408,   409,   410,   411,     0,   413,   414,   415,   416,
10584      417,   418,   419,   420,   421,   422,   423,     0,   424,   425,
10585        0,   427,     0,   428,   429,   430,   431,   432,   433,     0,
10586      434,   435,     0,   818,   436,   437,   438,     0,     0,   439,
10587      440,   441,     0,   443,     0,   445,   446,   447,   448,   449,
10588      450,   451,   452,   453,   454,     0,   455,   456,   457,   458,
10589      459,   460,   461,   462,     0,   463,   464,   465,   466,   467,
10590      468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
10591        0,   478,   479,   480,   481,   482,   483,   484,   485,   486,
10592      487,   488,   489,     0,   490,   491,     0,   493,   494,   495,
10593      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
10594      506,   507,     0,   508,   509,   510,   511,   512,     0,   513,
10595      514,   515,   516,   517,     0,   519,   520,   521,   522,     0,
10596      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
10597      533,   534,   535,   536,   537,     0,   538,   539,     0,   540,
10598        0,   542,   543,   544,   545,   546,     0,   547,   548,   549,
10599        0,     0,   550,   551,   552,   553,   554,     0,   555,   556,
10600      557,   558,   559,   560,   561,   562,     0,     0,   563,   564,
10601      565,   566,   567,     0,     0,   568,   569,   570,   571,   572,
10602      573,   574,     0,   575,     0,   577,   578,   579,   580,     0,
10603        0,   581,     0,     0,   582,   583,   584,   585,   586,   587,
10604      588,   589,   590,   591,   592,   593,   594,   595,   596,   597,
10605      598,   599,   600,   601,   609,     0,     0,     0,     0,     0,
10606        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10607        0,   229,   230,   231,   232,   233,   234,   235,   236,  1510,
10608      237,   238,   239,     0,     0,     0,     0,     0,     0,     0,
10609      240,   241,     0,   242,   243,   244,     0,   246,   247,   248,
10610      249,   250,     0,   252,   253,     0,   254,   255,   256,   257,
10611      258,   259,     0,     0,   260,   261,   262,   263,   264,     0,
10612      265,   266,   267,   268,   269,     0,     0,     0,   271,   272,
10613      273,   274,   275,     0,   277,   278,   279,     0,   280,   281,
10614      282,   283,   284,   285,     0,     0,   287,   288,   289,     0,
10615        0,     0,     0,     0,     0,     0,   291,   292,   293,   294,
10616      295,   296,   297,   298,   299,     0,   300,     0,   301,   302,
10617      303,   304,   305,   306,     0,   307,   308,   309,   310,     0,
10618        0,   311,   312,   313,   314,   315,     0,   316,   317,   318,
10619        0,   319,   320,   321,     0,   322,   323,   324,   325,   326,
10620      327,   328,   329,   330,   331,     0,   332,     0,   333,   334,
10621      335,   336,     0,   337,     0,   338,     0,     0,     0,   341,
10622      342,   343,   344,     0,   345,   346,     0,   347,   348,   349,
10623        0,   350,   351,   352,   353,  1511,     0,   356,   357,   358,
10624      359,     0,   360,   361,   362,   363,   364,   365,   366,     0,
10625      367,     0,   369,   370,   371,   372,   373,   374,   375,     0,
10626      376,     0,   377,     0,     0,   380,     0,   382,   383,   384,
10627      385,   386,     0,     0,   387,   388,     0,   390,     0,     0,
10628      392,   393,   394,     0,     0,   395,   396,   397,   398,   399,
10629      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
10630      410,   411,     0,   413,   414,   415,   416,   417,   418,   419,
10631      420,   421,   422,   423,     0,   424,   425,     0,   427,     0,
10632      428,   429,   430,   431,   432,   433,     0,   434,   435,     0,
10633        0,   436,   437,   438,     0,     0,   439,   440,   441,     0,
10634      443,     0,   445,   446,   447,   448,   449,   450,   451,   452,
10635      453,   454,     0,   455,   456,   457,   458,   459,   460,   461,
10636      462,     0,   463,   464,   465,   466,   467,   468,   469,   470,
10637      471,   472,   473,   474,   475,   476,   477,     0,   478,   479,
10638      480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
10639        0,   490,   491,     0,   493,   494,   495,   496,   497,   498,
10640      499,   500,   501,   502,   503,   504,   505,   506,   507,     0,
10641      508,   509,   510,   511,   512,     0,   513,   514,   515,   516,
10642      517,     0,   519,   520,   521,   522,     0,   523,   524,   525,
10643      526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
10644      536,   537,     0,   538,   539,     0,   540,     0,   542,   543,
10645      544,   545,   546,     0,   547,   548,   549,     0,     0,   550,
10646      551,   552,   553,   554,     0,   555,   556,   557,   558,   559,
10647      560,   561,   562,     0,     0,   563,   564,   565,   566,   567,
10648        0,     0,   568,   569,   570,   571,   572,   573,   574,     0,
10649      575,     0,   577,   578,   579,   580,     0,     0,   581,     0,
10650        0,   582,   583,   584,   585,   586,   587,   588,   589,   590,
10651      591,   592,   593,   594,   595,   596,   597,   598,   599,   600,
10652      601,   609,     0,     0,     0,     0,     0,     0,     0,     0,
10653        0,     0,     0,     0,     0,     0,     0,     0,   229,   230,
10654      231,   232,   233,   234,   235,   236,   778,   237,   238,   239,
10655        0,     0,     0,     0,     0,     0,     0,   240,   241,     0,
10656      242,   243,   244,     0,   246,   247,   248,   249,   250,     0,
10657      252,   253,     0,   254,   255,   256,   257,   258,   259,     0,
10658        0,   260,   261,   262,   263,   264,     0,   265,   266,   267,
10659      268,   269,     0,     0,     0,   271,   272,   273,   274,   275,
10660        0,   277,   278,   279,     0,   280,   281,   282,   283,   284,
10661      285,     0,     0,   287,   288,   289,     0,     0,     0,     0,
10662        0,     0,     0,   291,   292,   293,   294,   295,   296,   297,
10663      298,   299,     0,   300,     0,   301,   302,   303,   304,   305,
10664      306,     0,   307,   308,   309,   310,     0,     0,   311,   312,
10665      313,   314,   315,     0,   316,   317,   318,     0,   319,   320,
10666      321,     0,   322,   323,   324,   325,   326,   327,   328,   329,
10667      330,   331,     0,   332,     0,   333,   334,   335,   336,     0,
10668      337,     0,   338,     0,     0,     0,   341,   342,   343,   344,
10669        0,   345,   346,     0,   347,   348,   349,     0,   350,   351,
10670      352,   353,   354,     0,   356,   357,   358,   359,     0,   360,
10671      361,   362,   363,   364,   365,   366,     0,   367,     0,   369,
10672      370,   371,   372,   373,   374,   375,     0,   376,     0,   377,
10673        0,     0,   380,     0,   382,   383,   384,   385,   386,     0,
10674        0,   387,   388,     0,   390,     0,     0,   392,   393,   394,
10675        0,     0,   395,   396,   397,   398,   399,   400,   401,   402,
10676      403,   404,   405,   406,   407,   408,   409,   410,   411,     0,
10677      413,   414,   415,   416,   417,   418,   419,   420,   421,   422,
10678      423,     0,   424,   425,     0,   427,     0,   428,   429,   430,
10679      431,   432,   433,     0,   434,   435,     0,     0,   436,   437,
10680      438,     0,     0,   439,   440,   441,     0,   443,     0,   445,
10681      446,   447,   448,   449,   450,   451,   452,   453,   454,     0,
10682      455,   456,   457,   458,   459,   460,   461,   462,     0,   463,
10683      464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
10684      474,   475,   476,   477,     0,   478,   479,   480,   481,   482,
10685      483,   484,   485,   486,   487,   488,   489,     0,   490,   491,
10686        0,   493,   494,   495,   496,   497,   498,   499,   500,   501,
10687      502,   503,   504,   505,   506,   507,     0,   508,   509,   510,
10688      511,   512,     0,   513,   514,   515,   516,   517,     0,   519,
10689      520,   521,   522,     0,   523,   524,   525,   526,   527,   528,
10690      529,   530,   531,   532,   533,   534,   535,   536,   537,     0,
10691      538,   539,     0,   540,     0,   542,   543,   544,   545,   546,
10692        0,   547,   548,   549,     0,     0,   550,   551,   552,   553,
10693      554,     0,   555,   556,   557,   558,   559,   560,   561,   562,
10694        0,     0,   563,   564,   565,   566,   567,     0,     0,   568,
10695      569,   570,   571,   572,   573,   574,     0,   575,     0,   577,
10696      578,   579,   580,     0,     0,   581,     0,     0,   582,   583,
10697      584,   585,   586,   587,   588,   589,   590,   591,   592,   593,
10698      594,   595,   596,   597,   598,   599,   600,   601,   609,     0,
10699        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10700        0,     0,     0,     0,     0,   229,   230,   231,   232,   233,
10701      234,   235,   236,     0,   237,   238,   239,     0,     0,     0,
10702        0,     0,     0,     0,   240,   241,     0,   242,   243,   244,
10703        0,   246,   247,   248,   249,   250,     0,   252,   253,     0,
10704      254,   255,   256,   257,   258,   259,     0,     0,   260,   261,
10705      262,   263,   264,     0,   265,   266,   267,   268,   269,     0,
10706        0,     0,   271,   272,   273,   274,   275,     0,   277,   278,
10707      279,     0,   280,   281,   282,   283,   284,   285,     0,     0,
10708      287,   288,   289,     0,     0,     0,     0,     0,     0,     0,
10709      291,   292,   293,   294,   295,   296,   297,   298,   299,     0,
10710      300,     0,   301,   302,   303,   304,   305,   306,     0,   307,
10711      308,   309,   310,     0,     0,   311,   312,   313,   314,   315,
10712        0,   316,   317,   318,     0,   319,   320,   321,     0,   322,
10713      323,   324,   325,   326,   327,   328,   329,   330,   331,     0,
10714      332,     0,   333,   334,   335,   336,     0,   337,     0,   338,
10715        0,     0,     0,   341,   342,   343,  2870,     0,   345,   346,
10716        0,   347,   348,   349,     0,   350,   351,   352,   353,   354,
10717        0,   356,   357,   358,   359,     0,   360,   361,   362,   363,
10718      364,   365,   366,     0,   367,     0,   369,   370,   371,   372,
10719      373,   374,   375,     0,   376,     0,   377,     0,     0,   380,
10720        0,   382,   383,   384,   385,   386,     0,     0,   387,   388,
10721        0,   390,     0,     0,   392,   393,  2871,     0,     0,   395,
10722      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
10723      406,   407,   408,   409,   410,   411,     0,   413,   414,   415,
10724      416,   417,   418,   419,   420,   421,   422,   423,     0,   424,
10725      425,     0,   427,     0,   428,   429,   430,   431,   432,   433,
10726        0,   434,   435,     0,     0,   436,   437,   438,     0,     0,
10727      439,   440,   441,     0,   443,     0,   445,   446,   447,   448,
10728      449,   450,   451,   452,   453,   454,     0,   455,   456,   457,
10729      458,   459,   460,   461,   462,     0,   463,   464,   465,   466,
10730      467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
10731      477,     0,   478,   479,   480,   481,   482,   483,   484,   485,
10732      486,   487,   488,   489,     0,   490,   491,     0,   493,   494,
10733      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
10734      505,   506,   507,     0,   508,   509,   510,   511,   512,     0,
10735      513,   514,   515,   516,   517,     0,   519,   520,   521,   522,
10736        0,   523,   524,   525,   526,   527,   528,   529,   530,   531,
10737      532,   533,   534,   535,   536,   537,     0,   538,   539,  2872,
10738      540,     0,   542,  2873,   544,  2874,   546,     0,   547,   548,
10739      549,     0,     0,   550,   551,   552,   553,   554,     0,   555,
10740      556,   557,   558,   559,   560,   561,   562,     0,     0,   563,
10741      564,  2875,   566,   567,     0,     0,   568,   569,   570,   571,
10742      572,   573,   574,     0,   575,     0,   577,   578,   579,   580,
10743        0,     0,   581,     0,     0,   582,   583,   584,   585,   586,
10744      587,   588,   589,   590,   591,   592,   593,   594,   595,   596,
10745      597,   598,   599,   600,   601,   609,     0,     0,   669,     0,
10746        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10747        0,     0,   229,   230,   231,   232,   233,   234,   235,   236,
10748        0,   237,   238,   239,     0,     0,     0,     0,     0,     0,
10749        0,   240,   241,     0,   242,   243,   244,     0,   246,   247,
10750      248,   249,   250,     0,   252,   253,     0,   254,   255,   256,
10751      257,   258,   259,     0,     0,   260,   261,   262,   263,   264,
10752        0,   265,   266,   267,   268,   269,     0,     0,     0,   271,
10753      272,   273,   274,   275,     0,   277,   278,   279,     0,   280,
10754      281,   282,   283,   284,   285,     0,     0,   287,   288,   289,
10755        0,     0,     0,     0,     0,     0,     0,   291,   292,   293,
10756      294,   295,   296,   297,   298,   299,     0,   300,     0,   301,
10757      302,   303,   304,   305,   306,     0,   307,   308,   309,   310,
10758        0,     0,   311,   312,   313,   314,   315,     0,   316,   317,
10759      318,     0,   319,   320,   321,     0,   322,   323,   324,   325,
10760      326,   327,   328,   329,   330,   331,     0,   332,     0,   333,
10761      334,   335,   336,     0,   337,     0,   338,     0,     0,     0,
10762      341,   342,   343,   344,     0,   345,   346,     0,   347,   348,
10763      349,     0,   350,   351,   352,   353,   354,     0,   356,   357,
10764      358,   359,     0,   360,   361,   362,   363,   364,   365,   366,
10765        0,   367,     0,   369,   370,   371,   372,   373,   374,   375,
10766        0,   376,     0,   377,     0,     0,   380,     0,   382,   383,
10767      384,   385,   386,     0,     0,   387,   388,     0,   390,     0,
10768        0,   392,   393,   394,     0,     0,   395,   396,   397,   398,
10769      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
10770      409,   410,   411,     0,   413,   414,   415,   416,   417,   418,
10771      419,   420,   421,   422,   423,     0,   424,   425,     0,   427,
10772        0,   428,   429,   430,   431,   432,   433,     0,   434,   435,
10773        0,     0,   436,   437,   438,     0,     0,   439,   440,   441,
10774        0,   443,     0,   445,   446,   447,   448,   449,   450,   451,
10775      452,   453,   454,     0,   455,   456,   457,   458,   459,   460,
10776      461,   462,     0,   463,   464,   465,   466,   467,   468,   469,
10777      470,   471,   472,   473,   474,   475,   476,   477,     0,   478,
10778      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
10779      489,     0,   490,   491,     0,   493,   494,   495,   496,   497,
10780      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
10781        0,   508,   509,   510,   511,   512,     0,   513,   514,   515,
10782      516,   517,     0,   519,   520,   521,   522,     0,   523,   524,
10783      525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
10784      535,   536,   537,     0,   538,   539,     0,   540,     0,   542,
10785      543,   544,   545,   546,     0,   547,   548,   549,     0,     0,
10786      550,   551,   552,   553,   554,     0,   555,   556,   557,   558,
10787      559,   560,   561,   562,     0,     0,   563,   564,   565,   566,
10788      567,     0,     0,   568,   569,   570,   571,   572,   573,   574,
10789        0,   575,     0,   577,   578,   579,   580,     0,     0,   581,
10790        0,     0,   582,   583,   584,   585,   586,   587,   588,   589,
10791      590,   591,   592,   593,   594,   595,   596,   597,   598,   599,
10792      600,   601,   609,     0,     0,     0,     0,     0,     0,     0,
10793      729,     0,     0,     0,     0,     0,     0,     0,     0,   229,
10794      230,   231,   232,   233,   234,   235,   236,     0,   237,   238,
10795      239,     0,     0,     0,     0,     0,     0,     0,   240,   241,
10796        0,   242,   243,   244,     0,   246,   247,   248,   249,   250,
10797        0,   252,   253,     0,   254,   255,   256,   257,   258,   259,
10798        0,     0,   260,   261,   262,   263,   264,     0,   265,   266,
10799      267,   268,   269,     0,     0,     0,   271,   272,   273,   274,
10800      275,     0,   277,   278,   279,     0,   280,   281,   282,   283,
10801      284,   285,     0,     0,   287,   288,   289,     0,     0,     0,
10802        0,     0,     0,     0,   291,   292,   293,   294,   295,   296,
10803      297,   298,   299,     0,   300,     0,   301,   302,   303,   304,
10804      305,   306,     0,   307,   308,   309,   310,     0,     0,   311,
10805      312,   313,   314,   315,     0,   316,   317,   318,     0,   319,
10806      320,   321,     0,   322,   323,   324,   325,   326,   327,   328,
10807      329,   330,   331,     0,   332,     0,   333,   334,   335,   336,
10808        0,   337,     0,   338,     0,     0,     0,   341,   342,   343,
10809      344,     0,   345,   346,     0,   347,   348,   349,     0,   350,
10810      351,   352,   353,   354,     0,   356,   357,   358,   359,     0,
10811      360,   361,   362,   363,   364,   365,   366,     0,   367,     0,
10812      369,   370,   371,   372,   373,   374,   375,     0,   376,     0,
10813      377,     0,     0,   380,     0,   382,   383,   384,   385,   386,
10814        0,     0,   387,   388,     0,   390,     0,     0,   392,   393,
10815      394,     0,     0,   395,   396,   397,   398,   399,   400,   401,
10816      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
10817        0,   413,   414,   415,   416,   417,   418,   419,   420,   421,
10818      422,   423,     0,   424,   425,     0,   427,     0,   428,   429,
10819      430,   431,   432,   433,     0,   434,   435,     0,     0,   436,
10820      437,   438,     0,     0,   439,   440,   441,     0,   443,     0,
10821      445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
10822        0,   455,   456,   457,   458,   459,   460,   461,   462,     0,
10823      463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
10824      473,   474,   475,   476,   477,     0,   478,   479,   480,   481,
10825      482,   483,   484,   485,   486,   487,   488,   489,     0,   490,
10826      491,     0,   493,   494,   495,   496,   497,   498,   499,   500,
10827      501,   502,   503,   504,   505,   506,   507,     0,   508,   509,
10828      510,   511,   512,     0,   513,   514,   515,   516,   517,     0,
10829      519,   520,   521,   522,     0,   523,   524,   525,   526,   527,
10830      528,   529,   530,   531,   532,   533,   534,   535,   536,   537,
10831        0,   538,   539,     0,   540,     0,   542,   543,   544,   545,
10832      546,     0,   547,   548,   549,     0,     0,   550,   551,   552,
10833      553,   554,     0,   555,   556,   557,   558,   559,   560,   561,
10834      562,     0,     0,   563,   564,   565,   566,   567,     0,     0,
10835      568,   569,   570,   571,   572,   573,   574,     0,   575,     0,
10836      577,   578,   579,   580,     0,     0,   581,     0,     0,   582,
10837      583,   584,   585,   586,   587,   588,   589,   590,   591,   592,
10838      593,   594,   595,   596,   597,   598,   599,   600,   601,   609,
10839        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10840        0,     0,     0,     0,     0,     0,   229,   230,   231,   232,
10841      233,   234,   235,   236,     0,   237,   238,   239,     0,     0,
10842        0,     0,     0,  4158,     0,   240,   241,     0,   242,   243,
10843      244,     0,   246,   247,   248,   249,   250,     0,   252,   253,
10844        0,   254,   255,   256,   257,   258,   259,     0,     0,   260,
10845      261,   262,   263,   264,     0,   265,   266,   267,   268,   269,
10846        0,     0,     0,   271,   272,   273,   274,   275,     0,   277,
10847      278,   279,     0,   280,   281,   282,   283,   284,   285,     0,
10848        0,   287,   288,   289,     0,     0,     0,     0,     0,     0,
10849        0,   291,   292,   293,   294,   295,   296,   297,   298,   299,
10850        0,   300,     0,   301,   302,   303,   304,   305,   306,     0,
10851      307,   308,   309,   310,     0,     0,   311,   312,   313,   314,
10852      315,     0,   316,   317,   318,     0,   319,   320,   321,     0,
10853      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
10854        0,   332,     0,   333,   334,   335,   336,     0,   337,     0,
10855      338,     0,     0,     0,   341,   342,   343,   344,     0,   345,
10856      346,     0,   347,   348,   349,     0,   350,   351,   352,   353,
10857      354,     0,   356,   357,   358,   359,     0,   360,   361,   362,
10858      363,   364,   365,   366,     0,   367,     0,   369,   370,   371,
10859      372,   373,   374,   375,     0,   376,     0,   377,     0,     0,
10860      380,     0,   382,   383,   384,   385,   386,     0,     0,   387,
10861      388,     0,   390,     0,     0,   392,   393,   394,     0,     0,
10862      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
10863      405,   406,   407,   408,   409,   410,   411,     0,   413,   414,
10864      415,   416,   417,   418,   419,   420,   421,   422,   423,     0,
10865      424,   425,     0,   427,     0,   428,   429,   430,   431,   432,
10866      433,     0,   434,   435,     0,     0,   436,   437,   438,     0,
10867        0,   439,   440,   441,     0,   443,     0,   445,   446,   447,
10868      448,   449,   450,   451,   452,   453,   454,     0,   455,   456,
10869      457,   458,   459,   460,   461,   462,     0,   463,   464,   465,
10870      466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
10871      476,   477,     0,   478,   479,   480,   481,   482,   483,   484,
10872      485,   486,   487,   488,   489,     0,   490,   491,     0,   493,
10873      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
10874      504,   505,   506,   507,     0,   508,   509,   510,   511,   512,
10875        0,   513,   514,   515,   516,   517,     0,   519,   520,   521,
10876      522,     0,   523,   524,   525,   526,   527,   528,   529,   530,
10877      531,   532,   533,   534,   535,   536,   537,     0,   538,   539,
10878        0,   540,     0,   542,   543,   544,   545,   546,     0,   547,
10879      548,   549,     0,     0,   550,   551,   552,   553,   554,     0,
10880      555,   556,   557,   558,   559,   560,   561,   562,     0,     0,
10881      563,   564,   565,   566,   567,     0,     0,   568,   569,   570,
10882      571,   572,   573,   574,     0,   575,     0,   577,   578,   579,
10883      580,     0,     0,   581,     0,     0,   582,   583,   584,   585,
10884      586,   587,   588,   589,   590,   591,   592,   593,   594,   595,
10885      596,   597,   598,   599,   600,   601,   609,     0,     0,     0,
10886        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10887        0,     0,     0,   229,   230,   231,   232,   233,   234,   235,
10888      236,     0,   237,   238,   239,     0,     0,     0,     0,     0,
10889     4172,     0,   240,   241,     0,   242,   243,   244,     0,   246,
10890      247,   248,   249,   250,     0,   252,   253,     0,   254,   255,
10891      256,   257,   258,   259,     0,     0,   260,   261,   262,   263,
10892      264,     0,   265,   266,   267,   268,   269,     0,     0,     0,
10893      271,   272,   273,   274,   275,     0,   277,   278,   279,     0,
10894      280,   281,   282,   283,   284,   285,     0,     0,   287,   288,
10895      289,     0,     0,     0,     0,     0,     0,     0,   291,   292,
10896      293,   294,   295,   296,   297,   298,   299,     0,   300,     0,
10897      301,   302,   303,   304,   305,   306,     0,   307,   308,   309,
10898      310,     0,     0,   311,   312,   313,   314,   315,     0,   316,
10899      317,   318,     0,   319,   320,   321,     0,   322,   323,   324,
10900      325,   326,   327,   328,   329,   330,   331,     0,   332,     0,
10901      333,   334,   335,   336,     0,   337,     0,   338,     0,     0,
10902        0,   341,   342,   343,   344,     0,   345,   346,     0,   347,
10903      348,   349,     0,   350,   351,   352,   353,   354,     0,   356,
10904      357,   358,   359,     0,   360,   361,   362,   363,   364,   365,
10905      366,     0,   367,     0,   369,   370,   371,   372,   373,   374,
10906      375,     0,   376,     0,   377,     0,     0,   380,     0,   382,
10907      383,   384,   385,   386,     0,     0,   387,   388,     0,   390,
10908        0,     0,   392,   393,   394,     0,     0,   395,   396,   397,
10909      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
10910      408,   409,   410,   411,     0,   413,   414,   415,   416,   417,
10911      418,   419,   420,   421,   422,   423,     0,   424,   425,     0,
10912      427,     0,   428,   429,   430,   431,   432,   433,     0,   434,
10913      435,     0,     0,   436,   437,   438,     0,     0,   439,   440,
10914      441,     0,   443,     0,   445,   446,   447,   448,   449,   450,
10915      451,   452,   453,   454,     0,   455,   456,   457,   458,   459,
10916      460,   461,   462,     0,   463,   464,   465,   466,   467,   468,
10917      469,   470,   471,   472,   473,   474,   475,   476,   477,     0,
10918      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
10919      488,   489,     0,   490,   491,     0,   493,   494,   495,   496,
10920      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
10921      507,     0,   508,   509,   510,   511,   512,     0,   513,   514,
10922      515,   516,   517,     0,   519,   520,   521,   522,     0,   523,
10923      524,   525,   526,   527,   528,   529,   530,   531,   532,   533,
10924      534,   535,   536,   537,     0,   538,   539,     0,   540,     0,
10925      542,   543,   544,   545,   546,     0,   547,   548,   549,     0,
10926        0,   550,   551,   552,   553,   554,     0,   555,   556,   557,
10927      558,   559,   560,   561,   562,     0,     0,   563,   564,   565,
10928      566,   567,     0,     0,   568,   569,   570,   571,   572,   573,
10929      574,     0,   575,     0,   577,   578,   579,   580,     0,     0,
10930      581,     0,     0,   582,   583,   584,   585,   586,   587,   588,
10931      589,   590,   591,   592,   593,   594,   595,   596,   597,   598,
10932      599,   600,   601,   609,     0,     0,     0,     0,     0,     0,
10933        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10934      229,   230,   231,   232,   233,   234,   235,   236,     0,   237,
10935      238,   239,     0,     0,     0,     0,     0,     0,     0,   240,
10936      241,     0,   242,   243,   244,     0,   246,   247,   248,   249,
10937      250,     0,   252,   253,     0,   254,   255,   256,   257,   258,
10938      259,     0,     0,   260,   261,   262,   263,   264,     0,   265,
10939      266,   267,   268,   269,     0,     0,     0,   271,   272,   273,
10940      274,   275,     0,   277,   278,   279,     0,   280,   281,   282,
10941      283,   284,   285,     0,     0,   287,   288,   289,     0,     0,
10942        0,     0,     0,     0,     0,   291,   292,   293,   294,   295,
10943      296,   297,   298,   299,     0,   300,     0,   301,   302,   303,
10944      304,   305,   306,     0,   307,   308,   309,   310,     0,     0,
10945      311,   312,   313,   314,   315,     0,   316,   317,   318,     0,
10946      319,   320,   321,     0,   322,   323,   324,   325,   326,   327,
10947      328,   329,   330,   331,     0,   332,     0,   333,   334,   335,
10948      336,     0,   337,     0,   338,     0,     0,     0,   341,   342,
10949      343,   344,     0,   345,   346,     0,   347,   348,   349,     0,
10950      350,   351,   352,   353,   354,     0,   356,   357,   358,   359,
10951        0,   360,   361,   362,   363,   364,   365,   366,     0,   367,
10952        0,   369,   370,   371,   372,   373,   374,   375,     0,   376,
10953        0,   377,     0,     0,   380,     0,   382,   383,   384,   385,
10954      386,     0,     0,   387,   388,     0,   390,     0,     0,   392,
10955      393,   394,     0,     0,   395,   396,   397,   398,   399,   400,
10956      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
10957      411,     0,   413,   414,   415,   416,   417,   418,   419,   420,
10958      421,   422,   423,     0,   424,   425,     0,   427,     0,   428,
10959      429,   430,   431,   432,   433,     0,   434,   435,     0,     0,
10960      436,   437,   438,     0,     0,   439,   440,   441,     0,   443,
10961        0,   445,   446,   447,   448,   449,   450,   451,   452,   453,
10962      454,     0,   455,   456,   457,   458,   459,   460,   461,   462,
10963        0,   463,   464,   465,   466,   467,   468,   469,   470,   471,
10964      472,   473,   474,   475,   476,   477,     0,   478,   479,   480,
10965      481,   482,   483,   484,   485,   486,   487,   488,   489,     0,
10966      490,   491,     0,   493,   494,   495,   496,   497,   498,   499,
10967      500,   501,   502,   503,   504,   505,   506,   507,     0,   508,
10968      509,   510,   511,   512,     0,   513,   514,   515,   516,   517,
10969        0,   519,   520,   521,   522,     0,   523,   524,   525,   526,
10970      527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
10971      537,     0,   538,   539,     0,   540,     0,   542,   543,   544,
10972      545,   546,     0,   547,   548,   549,     0,     0,   550,   551,
10973      552,   553,   554,     0,   555,   556,   557,   558,   559,   560,
10974      561,   562,     0,     0,   563,   564,   565,   566,   567,     0,
10975        0,   568,   569,   570,   571,   572,   573,   574,     0,   575,
10976        0,   577,   578,   579,   580,     0,     0,   581,     0,     0,
10977      582,   583,   584,   585,   586,   587,   588,   589,   590,   591,
10978      592,   593,   594,   595,   596,   597,   598,   599,   600,   601,
10979      609,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10980        0,     0,     0,     0,     0,     0,     0,   229,   230,   231,
10981      232,   233,   234,   235,   236,     0,   237,   238,   239,     0,
10982        0,     0,     0,     0,     0,     0,   240,   241,     0,   242,
10983      243,   244,     0,   246,   247,   248,   249,   250,     0,   252,
10984      253,     0,   254,   255,   256,   257,   258,   259,     0,     0,
10985      260,   261,   262,   263,   264,     0,   265,   266,   267,   268,
10986      269,     0,     0,     0,   271,   272,   273,   274,   275,     0,
10987      277,   278,   279,     0,   280,   281,   282,   283,   284,   285,
10988        0,     0,   287,   288,   289,     0,     0,     0,     0,     0,
10989        0,     0,   291,   292,   293,   294,   295,   296,   297,   298,
10990      299,     0,   300,     0,   301,   302,   303,   304,   305,   306,
10991        0,   307,   308,   309,   310,     0,     0,   311,   312,   313,
10992      314,   315,     0,   316,   317,   318,     0,   319,   320,   321,
10993        0,   322,   323,   324,   325,   326,   327,   328,   329,   330,
10994      331,     0,   332,     0,   333,   334,   335,   336,     0,   337,
10995        0,   338,     0,     0,     0,   341,   342,   343,   344,     0,
10996      345,   346,     0,   347,   348,   349,     0,   350,   351,   352,
10997      353,   354,     0,   356,   357,   358,   359,     0,   360,   361,
10998      362,   363,   364,   365,   366,     0,   367,     0,   369,   370,
10999      371,   372,   373,   374,   375,     0,   376,     0,   377,     0,
11000        0,   380,     0,   382,   383,   384,   385,   386,     0,     0,
11001      387,   388,     0,   390,     0,     0,   392,   393,   394,     0,
11002        0,   395,   396,   397,   398,   399,   400,   401,   402,   403,
11003      404,   405,   406,   407,   408,   409,   410,   411,     0,   413,
11004      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
11005        0,   424,   425,     0,   427,     0,   428,   429,   430,   431,
11006      432,   433,     0,   434,   435,     0,     0,   436,   437,   438,
11007        0,     0,   439,   440,   441,     0,   443,     0,   445,   446,
11008      447,   448,   449,   450,   451,   452,   453,   454,     0,   455,
11009      456,   457,   458,   459,   460,   461,   462,     0,   463,   464,
11010      465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
11011      475,   476,   477,     0,   478,   479,   480,   481,   482,   483,
11012      484,   485,   486,   487,   488,   489,     0,   490,   491,     0,
11013      493,   494,   495,   496,   497,   498,   499,   500,   501,   502,
11014      503,   504,   505,   506,   507,     0,   508,   509,   510,   511,
11015      512,     0,   513,   514,   515,   516,   517,     0,   519,   520,
11016      521,   522,     0,   523,   524,   525,   526,   527,   528,   529,
11017      530,   531,   532,   533,   534,   535,   536,   537,     0,   538,
11018      539,     0,   540,     0,   542,   543,   544,   545,   546,     0,
11019      547,   548,   549,     0,     0,   764,   551,   552,   553,   554,
11020        0,   555,   556,   557,   558,   559,   560,   561,   562,     0,
11021        0,   563,   564,   565,   566,   567,     0,     0,   568,   569,
11022      570,   571,   572,   573,   574,     0,   575,     0,   577,   578,
11023      579,   580,     0,     0,   581,     0,     0,   582,   583,   584,
11024      585,   586,   587,   588,   589,   590,   591,   592,   593,   594,
11025      595,   596,   597,   598,   599,   600,   601,   609,     0,     0,
11026        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11027        0,     0,     0,     0,   229,   230,   231,   232,   233,   234,
11028      235,   236,     0,   237,   238,   239,     0,     0,     0,     0,
11029        0,     0,     0,   240,   241,     0,   242,   243,   244,     0,
11030      246,   247,   248,   249,   250,     0,   252,   253,     0,   254,
11031      255,   256,   257,   258,   259,     0,     0,   260,   261,   262,
11032      263,   264,     0,   265,   266,   267,   268,   269,     0,     0,
11033        0,   271,   272,   273,   274,   275,     0,   277,   278,   279,
11034        0,   280,   281,   282,   283,   284,   285,     0,     0,   287,
11035      288,   289,     0,     0,     0,     0,     0,     0,     0,   291,
11036      292,   293,   294,   295,   296,   297,   298,   299,     0,   300,
11037        0,   301,   302,   303,   304,   305,   306,     0,   307,   308,
11038      309,   310,     0,     0,   311,   312,   313,   314,   315,     0,
11039      316,   317,   318,     0,   319,   320,   321,     0,   322,   323,
11040      324,   325,   326,   327,   328,   329,   330,   331,     0,   332,
11041        0,   333,   334,   335,   336,     0,   337,     0,   338,     0,
11042        0,     0,   341,   342,   343,   344,     0,   345,   346,     0,
11043      347,   348,   349,     0,   350,   351,   352,   353,   354,     0,
11044      356,   357,   358,   359,     0,   360,   361,   362,   363,   364,
11045      365,   366,     0,   367,     0,   369,   370,   371,   372,   373,
11046      374,   375,     0,   376,     0,   377,     0,     0,   380,     0,
11047      382,   383,   384,   385,   386,     0,     0,   387,   388,     0,
11048      390,     0,     0,   392,   393,   394,     0,     0,   395,   396,
11049      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
11050      407,   408,   409,   410,   411,     0,   413,   414,   415,   416,
11051      417,   418,   419,   420,   421,   422,   423,     0,   424,   425,
11052        0,   427,     0,   428,   429,   430,   431,   432,   433,     0,
11053      434,   435,     0,     0,   436,   437,   438,     0,     0,   439,
11054      440,   441,     0,   443,     0,   445,   446,   447,   448,   449,
11055      450,   451,   452,   453,   454,     0,   455,   456,   457,   458,
11056      459,   460,   461,   462,     0,   463,   464,   465,   466,   467,
11057      468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
11058        0,   478,   479,   480,   481,   482,   483,   484,   485,   486,
11059      487,   488,   489,     0,   490,   491,     0,   493,   494,   495,
11060      496,   497,   498,   499,   500,   776,   502,   503,   504,   505,
11061      506,   507,     0,   508,   509,   510,   511,   512,     0,   513,
11062      514,   515,   516,   517,     0,   519,   520,   521,   522,     0,
11063      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
11064      533,   534,   535,   536,   537,     0,   538,   539,     0,   540,
11065        0,   542,   543,   544,   545,   546,     0,   547,   548,   549,
11066        0,     0,   550,   551,   552,   553,   554,     0,   555,   556,
11067      557,   558,   559,   560,   561,   562,     0,     0,   563,   564,
11068      565,   566,   567,     0,     0,   568,   569,   570,   571,   572,
11069      573,   574,     0,   575,     0,   577,   578,   579,   580,     0,
11070        0,   581,     0,     0,   582,   583,   584,   585,   586,   587,
11071      588,   589,   590,   591,   592,   593,   594,   595,   596,   597,
11072      598,   599,   600,   601,   609,     0,     0,     0,     0,     0,
11073        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11074        0,   229,   230,   231,   232,   233,   234,   235,   236,     0,
11075      237,   238,   239,     0,     0,     0,     0,     0,     0,     0,
11076      240,   241,     0,   242,   243,   244,     0,   246,   247,   248,
11077      249,   250,     0,   252,   253,     0,   254,   255,   256,   257,
11078      258,   259,     0,     0,   798,   261,   262,   263,   264,     0,
11079      265,   266,   267,   268,   269,     0,     0,     0,   271,   272,
11080      273,   274,   275,     0,   277,   278,   279,     0,   799,   281,
11081      282,   283,   284,   285,     0,     0,   287,   288,   289,     0,
11082        0,     0,     0,     0,     0,     0,   291,   292,   293,   294,
11083      295,   296,   297,   298,   299,     0,   300,     0,   301,   302,
11084      303,   304,   305,   306,     0,   307,   308,   309,   310,     0,
11085        0,   311,   312,   313,   314,   315,     0,   316,   317,   318,
11086        0,   319,   320,   321,     0,   322,   323,   324,   325,   326,
11087      327,   328,   329,   330,   331,     0,   332,     0,   333,   334,
11088      335,   336,     0,   337,     0,   338,     0,     0,     0,   341,
11089      342,   343,   344,     0,   345,   346,     0,   347,   348,   349,
11090        0,   350,   351,   352,   353,   354,     0,   356,   357,   358,
11091      359,     0,   360,   361,   362,   363,   364,   365,   366,     0,
11092      367,     0,   369,   370,   371,   372,   373,   374,   375,     0,
11093      376,     0,   377,     0,     0,   380,     0,   382,   383,   384,
11094      385,   386,     0,     0,   387,   388,     0,   390,     0,     0,
11095      392,   393,   800,     0,     0,   395,   396,   397,   398,   399,
11096      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
11097      801,   411,     0,   413,   414,   415,   416,   417,   418,   419,
11098      420,   421,   422,   423,     0,   424,   425,     0,   427,     0,
11099      428,   429,   430,   431,   432,   433,     0,   434,   435,     0,
11100        0,   436,   437,   438,     0,     0,   439,   440,   441,     0,
11101      443,     0,   445,   446,   447,   448,   449,   450,   451,   452,
11102      453,   454,     0,   455,   456,   457,   458,   459,   460,   461,
11103      462,     0,   463,   464,   465,   466,   467,   468,   469,   470,
11104      471,   472,   473,   474,   475,   476,   477,     0,   478,   479,
11105      480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
11106        0,   490,   491,     0,   802,   494,   495,   496,   497,   498,
11107      499,   500,   501,   803,   503,   504,   505,   506,   507,     0,
11108      508,   509,   510,   511,   804,     0,   513,   514,   515,   516,
11109      517,     0,   519,   520,   521,   522,     0,   523,   524,   525,
11110      526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
11111      536,   537,     0,   538,   539,     0,   540,     0,   542,   543,
11112      544,   545,   546,     0,   547,   805,   549,     0,     0,   806,
11113      551,   552,   553,   554,     0,   555,   556,   557,   558,   559,
11114      560,   561,   562,     0,     0,   563,   564,   565,   566,   567,
11115        0,     0,   568,   569,   570,   571,   572,   573,   574,     0,
11116      575,     0,   577,   578,   579,   580,     0,     0,   581,     0,
11117        0,   582,   583,   584,   585,   586,   807,   588,   589,   590,
11118      591,   592,   593,   594,   595,   596,   597,   598,   599,   600,
11119      601,   609,     0,     0,     0,     0,     0,     0,     0,     0,
11120        0,     0,     0,     0,     0,     0,     0,     0,   229,   230,
11121      231,   232,   233,   234,   235,   236,     0,   237,   238,   239,
11122        0,     0,     0,     0,     0,     0,     0,   240,   241,     0,
11123      242,   243,   244,     0,   246,   247,   248,   249,   250,     0,
11124      252,   253,     0,   254,   255,   256,   257,   258,   259,     0,
11125        0,   260,   261,   262,   263,   264,     0,   265,   266,   267,
11126      268,   269,     0,     0,     0,   271,   272,   273,   274,   275,
11127        0,   277,   278,   279,     0,   280,   281,   282,   283,   284,
11128      285,     0,     0,   287,   288,   289,     0,     0,     0,     0,
11129        0,     0,     0,   291,   292,   293,   294,   295,   296,   297,
11130      298,   299,     0,   300,     0,   301,   302,   303,   304,   305,
11131      306,     0,   307,   308,   309,   310,     0,     0,   311,   312,
11132      313,   314,   315,     0,   316,   317,   318,     0,   319,   320,
11133      321,     0,   322,   323,   324,   325,   326,   327,   328,   329,
11134      330,   331,     0,   332,     0,   333,   334,   335,   336,     0,
11135      337,     0,   338,     0,     0,     0,   341,   342,   343,   344,
11136        0,   345,   346,     0,   347,   348,   349,     0,   350,   351,
11137      352,   353,   354,     0,   356,   357,   358,   359,     0,   360,
11138      361,   362,   363,   364,   365,   366,     0,   367,     0,   369,
11139      370,   371,   372,   373,   374,   375,     0,   376,     0,   377,
11140        0,     0,   380,     0,   382,   383,   384,   385,   386,     0,
11141        0,   387,   388,     0,   390,     0,     0,   392,   393,   394,
11142        0,     0,   395,   396,   397,   398,   399,   400,   401,   402,
11143      403,   404,   405,   406,   407,   408,   409,   410,   411,     0,
11144      413,   414,   415,   416,   417,   418,   419,   420,   421,   422,
11145      423,     0,   424,   425,     0,   427,     0,   428,   429,   430,
11146      431,   432,   433,     0,   434,   435,     0,     0,   436,   437,
11147      438,     0,     0,   439,   440,   441,     0,   443,     0,   445,
11148      446,   447,   448,   449,   450,   451,   452,   453,   454,     0,
11149      455,   456,   457,   458,   459,   460,   461,   462,     0,   463,
11150      464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
11151      474,   475,   829,   477,     0,   478,   479,   480,   481,   482,
11152      483,   484,   485,   486,   487,   488,   489,     0,   490,   491,
11153        0,   493,   494,   495,   496,   497,   498,   499,   500,   501,
11154      502,   503,   504,   505,   506,   507,     0,   508,   509,   510,
11155      511,   512,     0,   513,   514,   515,   516,   517,     0,   519,
11156      520,   521,   522,     0,   523,   524,   525,   526,   527,   528,
11157      529,   530,   531,   532,   533,   534,   535,   536,   537,     0,
11158      538,   539,     0,   540,     0,   542,   543,   544,   545,   546,
11159        0,   547,   548,   549,     0,     0,   550,   551,   552,   553,
11160      554,     0,   555,   556,   557,   558,   559,   560,   561,   562,
11161        0,     0,   563,   564,   565,   566,   567,     0,     0,   568,
11162      569,   570,   571,   572,   573,   574,     0,   575,     0,   577,
11163      578,   579,   580,     0,     0,   581,     0,     0,   582,   583,
11164      584,   585,   586,   587,   588,   589,   590,   591,   592,   593,
11165      594,   595,   596,   597,   598,   599,   600,   601,   609,     0,
11166        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11167        0,     0,     0,     0,     0,   229,   230,   231,   232,   233,
11168      234,   235,   236,     0,   237,   238,   239,     0,     0,     0,
11169        0,     0,     0,     0,   240,   241,     0,   242,   243,   244,
11170        0,   246,   247,   248,   249,   250,     0,   252,   253,     0,
11171      254,   255,   256,   257,   258,   259,     0,     0,   260,   261,
11172      262,   263,   264,     0,   265,   266,   267,   268,   269,     0,
11173        0,     0,   271,   272,   273,   274,   275,     0,   277,   278,
11174      279,     0,   280,   281,   282,   283,   284,   285,     0,     0,
11175      287,   288,   289,     0,     0,     0,     0,     0,     0,     0,
11176      291,   292,   293,   294,   295,   296,   297,   298,   299,     0,
11177      300,     0,   301,   302,   303,   304,   305,   306,     0,   307,
11178      308,   309,   310,     0,     0,   311,   312,   313,   314,   315,
11179        0,   316,   317,   318,     0,   319,   320,   321,     0,   322,
11180      323,   324,   325,   326,   327,   328,   329,   330,   331,     0,
11181      332,     0,   333,   334,   335,   336,     0,   337,     0,   338,
11182        0,     0,     0,   341,   342,   343,   344,     0,   345,   346,
11183        0,   347,   348,   349,     0,   350,   351,   352,   353,   907,
11184        0,   356,   357,   358,   359,     0,   360,   361,   362,   363,
11185      364,   365,   366,     0,   367,     0,   369,   370,   371,   372,
11186      373,   374,   375,     0,   376,     0,   377,     0,     0,   380,
11187        0,   382,   383,   384,   385,   386,     0,     0,   387,   388,
11188        0,   390,     0,     0,   392,   393,   394,     0,     0,   395,
11189      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
11190      406,   407,   408,   409,   410,   411,     0,   413,   414,   415,
11191      416,   417,   418,   419,   420,   421,   422,   423,     0,   424,
11192      425,     0,   427,     0,   428,   429,   430,   431,   432,   433,
11193        0,   434,   435,     0,     0,   436,   437,   438,     0,     0,
11194      439,   440,   441,     0,   443,     0,   445,   446,   447,   448,
11195      449,   450,   451,   452,   453,   454,     0,   455,   456,   457,
11196      458,   459,   460,   461,   462,     0,   463,   464,   465,   466,
11197      467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
11198      477,     0,   478,   479,   480,   481,   482,   483,   484,   485,
11199      486,   487,   488,   489,     0,   490,   491,     0,   493,   494,
11200      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
11201      505,   506,   507,     0,   508,   509,   510,   511,   512,     0,
11202      513,   514,   515,   516,   517,     0,   519,   520,   521,   522,
11203        0,   523,   524,   525,   526,   527,   528,   529,   530,   531,
11204      532,   533,   534,   535,   536,   537,     0,   538,   539,     0,
11205      540,     0,   542,   543,   544,   545,   546,     0,   547,   548,
11206      549,     0,     0,   550,   551,   552,   553,   554,     0,   555,
11207      556,   557,   558,   559,   560,   561,   562,     0,     0,   563,
11208      564,   565,   566,   567,     0,     0,   568,   569,   570,   571,
11209      572,   573,   574,     0,   575,     0,   577,   578,   579,   580,
11210        0,     0,   581,     0,     0,   582,   583,   584,   585,   586,
11211      587,   588,   589,   590,   591,   592,   593,   594,   595,   596,
11212      597,   598,   599,   600,   601,   609,     0,     0,     0,     0,
11213        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11214        0,     0,   229,   230,   231,   232,   233,   234,   235,   236,
11215        0,   237,   238,   239,     0,     0,     0,     0,     0,     0,
11216        0,   240,   241,     0,   242,   243,   244,     0,   246,   247,
11217      248,   249,   250,     0,   252,   253,     0,   254,   255,   256,
11218      257,   258,   259,     0,     0,   260,   261,   262,   263,   264,
11219        0,   265,   266,   267,   268,   269,     0,     0,     0,   271,
11220      272,   273,   274,   275,     0,   277,   278,   279,     0,   280,
11221      281,   282,   283,   284,   285,     0,     0,   287,   288,   289,
11222        0,     0,     0,     0,     0,     0,     0,   291,   292,   293,
11223      294,   295,   296,   297,   298,   299,     0,   300,     0,   301,
11224      302,   303,   304,   305,   306,     0,   307,   308,   309,   310,
11225        0,     0,   311,   312,   313,   314,   315,     0,   316,   317,
11226      318,     0,   319,   320,   321,     0,   322,   323,   324,   325,
11227      326,   327,   328,   329,   330,   331,     0,   332,     0,   333,
11228      334,   335,   336,     0,   337,     0,   338,     0,     0,     0,
11229      341,   342,   343,   344,     0,   345,   346,     0,   347,   348,
11230      349,     0,   350,   351,   352,   353,   917,     0,   356,   357,
11231      358,   359,     0,   360,   361,   362,   363,   364,   365,   366,
11232        0,   367,     0,   369,   370,   371,   372,   373,   374,   375,
11233        0,   376,     0,   377,     0,     0,   380,     0,   382,   383,
11234      384,   385,   386,     0,     0,   387,   388,     0,   390,     0,
11235        0,   392,   393,   394,     0,     0,   395,   396,   397,   398,
11236      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
11237      409,   410,   411,     0,   413,   414,   415,   416,   417,   418,
11238      419,   420,   421,   422,   423,     0,   424,   425,     0,   427,
11239        0,   428,   429,   430,   431,   432,   433,     0,   434,   435,
11240        0,     0,   436,   437,   438,     0,     0,   439,   440,   441,
11241        0,   443,     0,   445,   446,   447,   448,   449,   450,   451,
11242      452,   453,   454,     0,   455,   456,   457,   458,   459,   460,
11243      461,   462,     0,   463,   464,   465,   466,   467,   468,   469,
11244      470,   471,   472,   473,   474,   475,   476,   477,     0,   478,
11245      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
11246      489,     0,   490,   491,     0,   493,   494,   495,   496,   497,
11247      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
11248        0,   508,   509,   510,   511,   512,     0,   513,   514,   515,
11249      516,   517,     0,   519,   520,   521,   522,     0,   523,   524,
11250      525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
11251      535,   536,   537,     0,   538,   539,     0,   540,     0,   542,
11252      543,   544,   545,   546,     0,   547,   548,   549,     0,     0,
11253      550,   551,   552,   553,   554,     0,   555,   556,   557,   558,
11254      559,   560,   561,   562,     0,     0,   563,   564,   565,   566,
11255      567,     0,     0,   568,   569,   570,   571,   572,   573,   574,
11256        0,   575,     0,   577,   578,   579,   580,     0,     0,   581,
11257        0,     0,   582,   583,   584,   585,   586,   587,   588,   589,
11258      590,   591,   592,   593,   594,   595,   596,   597,   598,   599,
11259      600,   601,   609,     0,     0,     0,     0,     0,     0,     0,
11260        0,     0,     0,     0,     0,     0,     0,     0,     0,   229,
11261      230,   231,   232,   233,   234,   235,   236,     0,   237,   238,
11262      239,     0,     0,     0,     0,     0,     0,     0,   240,   241,
11263        0,   242,   243,   244,     0,   246,   247,   248,   249,   250,
11264        0,   252,   253,     0,   254,   255,   256,   257,   258,   259,
11265        0,     0,   260,   261,   262,   263,   264,     0,   265,   266,
11266      267,   268,   269,     0,     0,     0,   271,   272,   273,   274,
11267      275,     0,   277,   278,   279,     0,   280,   281,   282,   283,
11268      284,   285,     0,     0,   287,   288,   289,     0,     0,     0,
11269        0,     0,     0,     0,   291,   292,   293,   294,   295,   296,
11270      297,   298,   299,     0,   300,     0,   301,   302,   303,   304,
11271      305,   306,     0,   307,   308,   309,   310,     0,     0,   311,
11272      312,   313,   314,   315,     0,   316,   317,   318,     0,   319,
11273      320,   321,     0,   322,   323,   324,   325,   326,   327,   328,
11274      329,   330,   331,     0,   332,     0,   333,   334,   335,   336,
11275        0,   337,     0,   338,     0,     0,     0,   341,   342,   343,
11276      344,     0,   345,   346,     0,   347,   348,   349,     0,   350,
11277      351,   352,   353,   920,     0,   356,   357,   358,   359,     0,
11278      360,   361,   362,   363,   364,   365,   366,     0,   367,     0,
11279      369,   370,   371,   372,   373,   374,   375,     0,   376,     0,
11280      377,     0,     0,   380,     0,   382,   383,   384,   385,   386,
11281        0,     0,   387,   388,     0,   390,     0,     0,   392,   393,
11282      394,     0,     0,   395,   396,   397,   398,   399,   400,   401,
11283      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
11284        0,   413,   414,   415,   416,   417,   418,   419,   420,   421,
11285      422,   423,     0,   424,   425,     0,   427,     0,   428,   429,
11286      430,   431,   432,   433,     0,   434,   435,     0,     0,   436,
11287      437,   438,     0,     0,   439,   440,   441,     0,   443,     0,
11288      445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
11289        0,   455,   456,   457,   458,   459,   460,   461,   462,     0,
11290      463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
11291      473,   474,   475,   476,   477,     0,   478,   479,   480,   481,
11292      482,   483,   484,   485,   486,   487,   488,   489,     0,   490,
11293      491,     0,   493,   494,   495,   496,   497,   498,   499,   500,
11294      501,   502,   503,   504,   505,   506,   507,     0,   508,   509,
11295      510,   511,   512,     0,   513,   514,   515,   516,   517,     0,
11296      519,   520,   521,   522,     0,   523,   524,   525,   526,   527,
11297      528,   529,   530,   531,   532,   533,   534,   535,   536,   537,
11298        0,   538,   539,     0,   540,     0,   542,   543,   544,   545,
11299      546,     0,   547,   548,   549,     0,     0,   550,   551,   552,
11300      553,   554,     0,   555,   556,   557,   558,   559,   560,   561,
11301      562,     0,     0,   563,   564,   565,   566,   567,     0,     0,
11302      568,   569,   570,   571,   572,   573,   574,     0,   575,     0,
11303      577,   578,   579,   580,     0,     0,   581,     0,     0,   582,
11304      583,   584,   585,   586,   587,   588,   589,   590,   591,   592,
11305      593,   594,   595,   596,   597,   598,   599,   600,   601,   609,
11306        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11307        0,     0,     0,     0,     0,     0,   229,   230,   231,   232,
11308      233,   234,   235,   236,     0,   237,   238,   239,     0,     0,
11309        0,     0,     0,     0,     0,   240,   241,     0,   242,   243,
11310      244,     0,   246,   247,   248,   249,   250,     0,   252,   253,
11311        0,   254,   255,   256,   257,   258,   259,     0,     0,   260,
11312      261,   262,   263,   264,     0,   265,   266,   267,   268,   269,
11313        0,     0,     0,   271,   272,   273,   274,   275,     0,   277,
11314      278,   279,     0,   280,   281,   282,   283,   284,   285,     0,
11315        0,   287,   288,   289,     0,     0,     0,     0,     0,     0,
11316        0,   291,   292,   293,   294,   295,   296,   297,   298,   299,
11317        0,   300,     0,   301,   302,   303,   304,   305,   306,     0,
11318      307,   308,   309,   310,     0,     0,   311,   312,   313,   314,
11319      315,     0,   316,   317,   318,     0,   319,   320,   321,     0,
11320      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
11321        0,   332,     0,   333,   334,   335,   336,     0,   337,     0,
11322      338,     0,     0,     0,   341,   342,   343,   344,     0,   345,
11323      346,     0,   347,   348,   349,     0,   350,   351,   352,   353,
11324      936,     0,   356,   357,   358,   359,     0,   360,   361,   362,
11325      363,   364,   365,   366,     0,   367,     0,   369,   370,   371,
11326      372,   373,   374,   375,     0,   376,     0,   377,     0,     0,
11327      380,     0,   382,   383,   384,   385,   386,     0,     0,   387,
11328      388,     0,   390,     0,     0,   392,   393,   394,     0,     0,
11329      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
11330      405,   406,   407,   408,   409,   410,   411,     0,   413,   414,
11331      415,   416,   417,   418,   419,   420,   421,   422,   423,     0,
11332      424,   425,     0,   427,     0,   428,   429,   430,   431,   432,
11333      433,     0,   434,   435,     0,     0,   436,   437,   438,     0,
11334        0,   439,   440,   441,     0,   443,     0,   445,   446,   447,
11335      448,   449,   450,   451,   452,   453,   454,     0,   455,   456,
11336      457,   458,   459,   460,   461,   462,     0,   463,   464,   465,
11337      466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
11338      476,   477,     0,   478,   479,   480,   481,   482,   483,   484,
11339      485,   486,   487,   488,   489,     0,   490,   491,     0,   493,
11340      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
11341      504,   505,   506,   507,     0,   508,   509,   510,   511,   512,
11342        0,   513,   514,   515,   516,   517,     0,   519,   520,   521,
11343      522,     0,   523,   524,   525,   526,   527,   528,   529,   530,
11344      531,   532,   533,   534,   535,   536,   537,     0,   538,   539,
11345        0,   540,     0,   542,   543,   544,   545,   546,     0,   547,
11346      548,   549,     0,     0,   550,   551,   552,   553,   554,     0,
11347      555,   556,   557,   558,   559,   560,   561,   562,     0,     0,
11348      563,   564,   565,   566,   567,     0,     0,   568,   569,   570,
11349      571,   572,   573,   574,     0,   575,     0,   577,   578,   579,
11350      580,     0,     0,   581,     0,     0,   582,   583,   584,   585,
11351      586,   587,   588,   589,   590,   591,   592,   593,   594,   595,
11352      596,   597,   598,   599,   600,   601,   609,     0,     0,     0,
11353        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11354        0,     0,     0,   229,   230,   231,   232,   233,   234,   235,
11355      236,     0,   237,   238,   239,     0,     0,     0,     0,     0,
11356        0,     0,   240,   241,     0,   242,   243,   244,     0,   246,
11357      247,   248,   249,   250,     0,   252,   253,     0,   254,   255,
11358      256,   257,   258,   259,     0,     0,   260,   261,   262,   263,
11359      264,     0,   265,   266,   267,   268,   269,     0,     0,     0,
11360      271,   272,   273,   274,   275,     0,   277,   278,   279,     0,
11361      280,   281,   282,   283,   284,   285,     0,     0,   287,   288,
11362      289,     0,     0,     0,     0,     0,     0,     0,   291,   292,
11363      293,   294,   295,   296,   297,   298,   299,     0,   300,     0,
11364      301,   302,   303,   304,   305,   306,     0,   307,   308,   309,
11365      310,     0,     0,   311,   312,   313,   314,   315,     0,   316,
11366      317,   318,     0,   319,   320,   321,     0,   322,   323,   324,
11367      325,   326,   327,   328,   329,   330,   331,     0,   332,     0,
11368      333,   334,   335,   336,     0,   337,     0,   338,     0,     0,
11369        0,   341,   342,   343,   344,     0,   345,   346,     0,   347,
11370      348,   349,     0,   350,   351,   352,   353,  1003,     0,   356,
11371      357,   358,   359,     0,   360,   361,   362,   363,   364,   365,
11372      366,     0,   367,     0,   369,   370,   371,   372,   373,   374,
11373      375,     0,   376,     0,   377,     0,     0,   380,     0,   382,
11374      383,   384,   385,   386,     0,     0,   387,   388,     0,   390,
11375        0,     0,   392,   393,   394,     0,     0,   395,   396,   397,
11376      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
11377      408,   409,   410,   411,     0,   413,   414,   415,   416,   417,
11378      418,   419,   420,   421,   422,   423,     0,   424,   425,     0,
11379      427,     0,   428,   429,   430,   431,   432,   433,     0,   434,
11380      435,     0,     0,   436,   437,   438,     0,     0,   439,   440,
11381      441,     0,   443,     0,   445,   446,   447,   448,   449,   450,
11382      451,   452,   453,   454,     0,   455,   456,   457,   458,   459,
11383      460,   461,   462,     0,   463,   464,   465,   466,   467,   468,
11384      469,   470,   471,   472,   473,   474,   475,   476,   477,     0,
11385      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
11386      488,   489,     0,   490,   491,     0,   493,   494,   495,   496,
11387      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
11388      507,     0,   508,   509,   510,   511,   512,     0,   513,   514,
11389      515,   516,   517,     0,   519,   520,   521,   522,     0,   523,
11390      524,   525,   526,   527,   528,   529,   530,   531,   532,   533,
11391      534,   535,   536,   537,     0,   538,   539,     0,   540,     0,
11392      542,   543,   544,   545,   546,     0,   547,   548,   549,     0,
11393        0,   550,   551,   552,   553,   554,     0,   555,   556,   557,
11394      558,   559,   560,   561,   562,     0,     0,   563,   564,   565,
11395      566,   567,     0,     0,   568,   569,   570,   571,   572,   573,
11396      574,     0,   575,     0,   577,   578,   579,   580,     0,     0,
11397      581,     0,     0,   582,   583,   584,   585,   586,   587,   588,
11398      589,   590,   591,   592,   593,   594,   595,   596,   597,   598,
11399      599,   600,   601,   609,     0,     0,     0,     0,     0,     0,
11400        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11401      229,   230,   231,   232,   233,   234,   235,   236,     0,   237,
11402      238,   239,     0,     0,     0,     0,     0,     0,     0,   240,
11403      241,     0,   242,   243,   244,     0,   246,   247,   248,   249,
11404      250,     0,   252,   253,     0,   254,   255,   256,   257,   258,
11405      259,     0,     0,   260,   261,   262,   263,   264,     0,   265,
11406      266,   267,   268,   269,     0,     0,     0,   271,   272,   273,
11407      274,   275,     0,   277,   278,   279,     0,   280,   281,   282,
11408      283,   284,   285,     0,     0,   287,   288,   289,     0,     0,
11409        0,     0,     0,     0,     0,   291,   292,   293,   294,   295,
11410      296,   297,   298,   299,     0,   300,     0,   301,   302,   303,
11411      304,   305,   306,     0,   307,   308,   309,   310,     0,     0,
11412      311,   312,   313,   314,   315,     0,   316,   317,   318,     0,
11413      319,   320,   321,     0,   322,   323,   324,   325,   326,   327,
11414      328,   329,   330,   331,     0,   332,     0,   333,   334,   335,
11415      336,     0,   337,     0,   338,     0,     0,     0,   341,   342,
11416      343,   344,     0,   345,   346,     0,   347,   348,   349,     0,
11417      350,   351,   352,   353,  1009,     0,   356,   357,   358,   359,
11418        0,   360,   361,   362,   363,   364,   365,   366,     0,   367,
11419        0,   369,   370,   371,   372,   373,   374,   375,     0,   376,
11420        0,   377,     0,     0,   380,     0,   382,   383,   384,   385,
11421      386,     0,     0,   387,   388,     0,   390,     0,     0,   392,
11422      393,   394,     0,     0,   395,   396,   397,   398,   399,   400,
11423      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
11424      411,     0,   413,   414,   415,   416,   417,   418,   419,   420,
11425      421,   422,   423,     0,   424,   425,     0,   427,     0,   428,
11426      429,   430,   431,   432,   433,     0,   434,   435,     0,     0,
11427      436,   437,   438,     0,     0,   439,   440,   441,     0,   443,
11428        0,   445,   446,   447,   448,   449,   450,   451,   452,   453,
11429      454,     0,   455,   456,   457,   458,   459,   460,   461,   462,
11430        0,   463,   464,   465,   466,   467,   468,   469,   470,   471,
11431      472,   473,   474,   475,   476,   477,     0,   478,   479,   480,
11432      481,   482,   483,   484,   485,   486,   487,   488,   489,     0,
11433      490,   491,     0,   493,   494,   495,   496,   497,   498,   499,
11434      500,   501,   502,   503,   504,   505,   506,   507,     0,   508,
11435      509,   510,   511,   512,     0,   513,   514,   515,   516,   517,
11436        0,   519,   520,   521,   522,     0,   523,   524,   525,   526,
11437      527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
11438      537,     0,   538,   539,     0,   540,     0,   542,   543,   544,
11439      545,   546,     0,   547,   548,   549,     0,     0,   550,   551,
11440      552,   553,   554,     0,   555,   556,   557,   558,   559,   560,
11441      561,   562,     0,     0,   563,   564,   565,   566,   567,     0,
11442        0,   568,   569,   570,   571,   572,   573,   574,     0,   575,
11443        0,   577,   578,   579,   580,     0,     0,   581,     0,     0,
11444      582,   583,   584,   585,   586,   587,   588,   589,   590,   591,
11445      592,   593,   594,   595,   596,   597,   598,   599,   600,   601,
11446      609,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11447        0,     0,     0,     0,     0,     0,     0,   229,   230,   231,
11448      232,   233,   234,   235,   236,     0,   237,   238,   239,     0,
11449        0,     0,     0,     0,     0,     0,   240,   241,     0,   242,
11450      243,   244,     0,   246,   247,   248,   249,   250,     0,   252,
11451      253,     0,   254,   255,   256,   257,   258,   259,     0,     0,
11452      260,   261,   262,   263,   264,     0,   265,   266,   267,   268,
11453      269,     0,     0,     0,   271,   272,   273,   274,   275,     0,
11454      277,   278,   279,     0,   280,   281,   282,   283,   284,   285,
11455        0,     0,   287,   288,   289,     0,     0,     0,     0,     0,
11456        0,     0,   291,   292,   293,   294,   295,   296,   297,   298,
11457      299,     0,   300,     0,   301,   302,   303,   304,   305,   306,
11458        0,   307,   308,   309,   310,     0,     0,   311,   312,   313,
11459      314,   315,     0,   316,   317,   318,     0,   319,   320,   321,
11460        0,   322,   323,   324,   325,   326,   327,   328,   329,   330,
11461      331,     0,   332,     0,   333,   334,   335,   336,     0,   337,
11462        0,   338,     0,     0,     0,   341,   342,   343,   344,     0,
11463      345,   346,     0,   347,   348,   349,     0,   350,   351,   352,
11464      353,  1026,     0,   356,   357,   358,   359,     0,   360,   361,
11465      362,   363,   364,   365,   366,     0,   367,     0,   369,   370,
11466      371,   372,   373,   374,   375,     0,   376,     0,   377,     0,
11467        0,   380,     0,   382,   383,   384,   385,   386,     0,     0,
11468      387,   388,     0,   390,     0,     0,   392,   393,   394,     0,
11469        0,   395,   396,   397,   398,   399,   400,   401,   402,   403,
11470      404,   405,   406,   407,   408,   409,   410,   411,     0,   413,
11471      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
11472        0,   424,   425,     0,   427,     0,   428,   429,   430,   431,
11473      432,   433,     0,   434,   435,     0,     0,   436,   437,   438,
11474        0,     0,   439,   440,   441,     0,   443,     0,   445,   446,
11475      447,   448,   449,   450,   451,   452,   453,   454,     0,   455,
11476      456,   457,   458,   459,   460,   461,   462,     0,   463,   464,
11477      465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
11478      475,   476,   477,     0,   478,   479,   480,   481,   482,   483,
11479      484,   485,   486,   487,   488,   489,     0,   490,   491,     0,
11480      493,   494,   495,   496,   497,   498,   499,   500,   501,   502,
11481      503,   504,   505,   506,   507,     0,   508,   509,   510,   511,
11482      512,     0,   513,   514,   515,   516,   517,     0,   519,   520,
11483      521,   522,     0,   523,   524,   525,   526,   527,   528,   529,
11484      530,   531,   532,   533,   534,   535,   536,   537,     0,   538,
11485      539,     0,   540,     0,   542,   543,   544,   545,   546,     0,
11486      547,   548,   549,     0,     0,   550,   551,   552,   553,   554,
11487        0,   555,   556,   557,   558,   559,   560,   561,   562,     0,
11488        0,   563,   564,   565,   566,   567,     0,     0,   568,   569,
11489      570,   571,   572,   573,   574,     0,   575,     0,   577,   578,
11490      579,   580,     0,     0,   581,     0,     0,   582,   583,   584,
11491      585,   586,   587,   588,   589,   590,   591,   592,   593,   594,
11492      595,   596,   597,   598,   599,   600,   601,   609,     0,     0,
11493        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11494        0,     0,     0,     0,   229,   230,   231,   232,   233,   234,
11495      235,   236,     0,   237,   238,   239,     0,     0,     0,     0,
11496        0,     0,     0,   240,   241,     0,   242,   243,   244,     0,
11497      246,   247,   248,   249,   250,     0,   252,   253,     0,   254,
11498      255,   256,   257,   258,   259,     0,     0,   260,   261,   262,
11499      263,   264,     0,   265,   266,   267,   268,   269,     0,     0,
11500        0,   271,   272,   273,   274,   275,     0,   277,   278,   279,
11501        0,   280,   281,   282,   283,   284,   285,     0,     0,   287,
11502      288,   289,     0,     0,     0,     0,     0,     0,     0,   291,
11503      292,   293,   294,   295,   296,   297,   298,   299,     0,   300,
11504        0,   301,   302,   303,   304,   305,   306,     0,   307,   308,
11505      309,   310,     0,     0,   311,   312,   313,   314,   315,     0,
11506      316,   317,   318,     0,   319,   320,   321,     0,   322,   323,
11507      324,   325,   326,   327,   328,   329,   330,   331,     0,   332,
11508        0,   333,   334,   335,   336,     0,   337,     0,   338,     0,
11509        0,     0,   341,   342,   343,   344,     0,   345,   346,     0,
11510      347,   348,   349,     0,   350,   351,   352,   353,  1029,     0,
11511      356,   357,   358,   359,     0,   360,   361,   362,   363,   364,
11512      365,   366,     0,   367,     0,   369,   370,   371,   372,   373,
11513      374,   375,     0,   376,     0,   377,     0,     0,   380,     0,
11514      382,   383,   384,   385,   386,     0,     0,   387,   388,     0,
11515      390,     0,     0,   392,   393,   394,     0,     0,   395,   396,
11516      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
11517      407,   408,   409,   410,   411,     0,   413,   414,   415,   416,
11518      417,   418,   419,   420,   421,   422,   423,     0,   424,   425,
11519        0,   427,     0,   428,   429,   430,   431,   432,   433,     0,
11520      434,   435,     0,     0,   436,   437,   438,     0,     0,   439,
11521      440,   441,     0,   443,     0,   445,   446,   447,   448,   449,
11522      450,   451,   452,   453,   454,     0,   455,   456,   457,   458,
11523      459,   460,   461,   462,     0,   463,   464,   465,   466,   467,
11524      468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
11525        0,   478,   479,   480,   481,   482,   483,   484,   485,   486,
11526      487,   488,   489,     0,   490,   491,     0,   493,   494,   495,
11527      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
11528      506,   507,     0,   508,   509,   510,   511,   512,     0,   513,
11529      514,   515,   516,   517,     0,   519,   520,   521,   522,     0,
11530      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
11531      533,   534,   535,   536,   537,     0,   538,   539,     0,   540,
11532        0,   542,   543,   544,   545,   546,     0,   547,   548,   549,
11533        0,     0,   550,   551,   552,   553,   554,     0,   555,   556,
11534      557,   558,   559,   560,   561,   562,     0,     0,   563,   564,
11535      565,   566,   567,     0,     0,   568,   569,   570,   571,   572,
11536      573,   574,     0,   575,     0,   577,   578,   579,   580,     0,
11537        0,   581,     0,     0,   582,   583,   584,   585,   586,   587,
11538      588,   589,   590,   591,   592,   593,   594,   595,   596,   597,
11539      598,   599,   600,   601,   609,     0,     0,     0,     0,     0,
11540        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11541        0,   229,   230,   231,   232,   233,   234,   235,   236,     0,
11542      237,   238,   239,     0,     0,     0,     0,     0,     0,     0,
11543      240,   241,     0,   242,   243,   244,     0,   246,   247,   248,
11544      249,   250,     0,   252,   253,     0,   254,   255,   256,   257,
11545      258,   259,     0,     0,   260,   261,   262,   263,   264,     0,
11546      265,   266,   267,   268,   269,     0,     0,     0,   271,   272,
11547      273,   274,   275,     0,   277,   278,   279,     0,   280,   281,
11548      282,   283,   284,   285,     0,     0,   287,   288,   289,     0,
11549        0,     0,     0,     0,     0,     0,   291,   292,   293,   294,
11550      295,   296,   297,   298,   299,     0,   300,     0,   301,   302,
11551      303,   304,   305,   306,     0,   307,   308,   309,   310,     0,
11552        0,   311,   312,   313,   314,   315,     0,   316,   317,   318,
11553        0,   319,   320,   321,     0,   322,   323,   324,   325,   326,
11554      327,   328,   329,   330,   331,     0,   332,     0,   333,   334,
11555      335,   336,     0,   337,     0,   338,     0,     0,     0,   341,
11556      342,   343,   344,     0,   345,   346,     0,   347,   348,   349,
11557        0,   350,   351,   352,   353,  1031,     0,   356,   357,   358,
11558      359,     0,   360,   361,   362,   363,   364,   365,   366,     0,
11559      367,     0,   369,   370,   371,   372,   373,   374,   375,     0,
11560      376,     0,   377,     0,     0,   380,     0,   382,   383,   384,
11561      385,   386,     0,     0,   387,   388,     0,   390,     0,     0,
11562      392,   393,   394,     0,     0,   395,   396,   397,   398,   399,
11563      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
11564      410,   411,     0,   413,   414,   415,   416,   417,   418,   419,
11565      420,   421,   422,   423,     0,   424,   425,     0,   427,     0,
11566      428,   429,   430,   431,   432,   433,     0,   434,   435,     0,
11567        0,   436,   437,   438,     0,     0,   439,   440,   441,     0,
11568      443,     0,   445,   446,   447,   448,   449,   450,   451,   452,
11569      453,   454,     0,   455,   456,   457,   458,   459,   460,   461,
11570      462,     0,   463,   464,   465,   466,   467,   468,   469,   470,
11571      471,   472,   473,   474,   475,   476,   477,     0,   478,   479,
11572      480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
11573        0,   490,   491,     0,   493,   494,   495,   496,   497,   498,
11574      499,   500,   501,   502,   503,   504,   505,   506,   507,     0,
11575      508,   509,   510,   511,   512,     0,   513,   514,   515,   516,
11576      517,     0,   519,   520,   521,   522,     0,   523,   524,   525,
11577      526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
11578      536,   537,     0,   538,   539,     0,   540,     0,   542,   543,
11579      544,   545,   546,     0,   547,   548,   549,     0,     0,   550,
11580      551,   552,   553,   554,     0,   555,   556,   557,   558,   559,
11581      560,   561,   562,     0,     0,   563,   564,   565,   566,   567,
11582        0,     0,   568,   569,   570,   571,   572,   573,   574,     0,
11583      575,     0,   577,   578,   579,   580,     0,     0,   581,     0,
11584        0,   582,   583,   584,   585,   586,   587,   588,   589,   590,
11585      591,   592,   593,   594,   595,   596,   597,   598,   599,   600,
11586      601,   609,     0,     0,     0,     0,     0,     0,     0,     0,
11587        0,     0,     0,     0,     0,     0,     0,     0,   229,   230,
11588      231,   232,   233,   234,   235,   236,     0,   237,   238,   239,
11589        0,     0,     0,     0,     0,     0,     0,   240,   241,     0,
11590      242,   243,   244,     0,   246,   247,   248,   249,   250,     0,
11591      252,   253,     0,   254,   255,   256,   257,   258,   259,     0,
11592        0,   260,   261,   262,   263,   264,     0,   265,   266,   267,
11593      268,   269,     0,     0,     0,   271,   272,   273,   274,   275,
11594        0,   277,   278,   279,     0,   280,   281,   282,   283,   284,
11595      285,     0,     0,   287,   288,   289,     0,     0,     0,     0,
11596        0,     0,     0,   291,   292,   293,   294,   295,   296,   297,
11597      298,   299,     0,   300,     0,   301,   302,   303,   304,   305,
11598      306,     0,   307,   308,   309,   310,     0,     0,   311,   312,
11599      313,   314,   315,     0,   316,   317,   318,     0,   319,   320,
11600      321,     0,   322,   323,   324,   325,   326,   327,   328,   329,
11601      330,   331,     0,   332,     0,   333,   334,   335,   336,     0,
11602      337,     0,   338,     0,     0,     0,   341,   342,   343,   344,
11603        0,   345,   346,     0,   347,   348,   349,     0,   350,   351,
11604      352,   353,  1067,     0,   356,   357,   358,   359,     0,   360,
11605      361,   362,   363,   364,   365,   366,     0,   367,     0,   369,
11606      370,   371,   372,   373,   374,   375,     0,   376,     0,   377,
11607        0,     0,   380,     0,   382,   383,   384,   385,   386,     0,
11608        0,   387,   388,     0,   390,     0,     0,   392,   393,   394,
11609        0,     0,   395,   396,   397,   398,   399,   400,   401,   402,
11610      403,   404,   405,   406,   407,   408,   409,   410,   411,     0,
11611      413,   414,   415,   416,   417,   418,   419,   420,   421,   422,
11612      423,     0,   424,   425,     0,   427,     0,   428,   429,   430,
11613      431,   432,   433,     0,   434,   435,     0,     0,   436,   437,
11614      438,     0,     0,   439,   440,   441,     0,   443,     0,   445,
11615      446,   447,   448,   449,   450,   451,   452,   453,   454,     0,
11616      455,   456,   457,   458,   459,   460,   461,   462,     0,   463,
11617      464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
11618      474,   475,   476,   477,     0,   478,   479,   480,   481,   482,
11619      483,   484,   485,   486,   487,   488,   489,     0,   490,   491,
11620        0,   493,   494,   495,   496,   497,   498,   499,   500,   501,
11621      502,   503,   504,   505,   506,   507,     0,   508,   509,   510,
11622      511,   512,     0,   513,   514,   515,   516,   517,     0,   519,
11623      520,   521,   522,     0,   523,   524,   525,   526,   527,   528,
11624      529,   530,   531,   532,   533,   534,   535,   536,   537,     0,
11625      538,   539,     0,   540,     0,   542,   543,   544,   545,   546,
11626        0,   547,   548,   549,     0,     0,   550,   551,   552,   553,
11627      554,     0,   555,   556,   557,   558,   559,   560,   561,   562,
11628        0,     0,   563,   564,   565,   566,   567,     0,     0,   568,
11629      569,   570,   571,   572,   573,   574,     0,   575,     0,   577,
11630      578,   579,   580,     0,     0,   581,     0,     0,   582,   583,
11631      584,   585,   586,   587,   588,   589,   590,   591,   592,   593,
11632      594,   595,   596,   597,   598,   599,   600,   601,   609,     0,
11633        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11634        0,     0,     0,     0,     0,   229,   230,   231,   232,   233,
11635      234,   235,   236,     0,   237,   238,   239,     0,     0,     0,
11636        0,     0,     0,     0,   240,   241,     0,   242,   243,   244,
11637        0,   246,   247,   248,   249,   250,     0,   252,   253,     0,
11638      254,   255,   256,   257,   258,   259,     0,     0,   260,   261,
11639      262,   263,   264,     0,   265,   266,   267,   268,   269,     0,
11640        0,     0,   271,   272,   273,   274,   275,     0,   277,   278,
11641      279,     0,   280,   281,   282,   283,   284,   285,     0,     0,
11642      287,   288,   289,     0,     0,     0,     0,     0,     0,     0,
11643      291,   292,   293,   294,   295,   296,   297,   298,   299,     0,
11644      300,     0,   301,   302,   303,   304,   305,   306,     0,   307,
11645      308,   309,   310,     0,     0,   311,   312,   313,   314,   315,
11646        0,   316,   317,   318,     0,   319,   320,   321,     0,   322,
11647      323,   324,   325,   326,   327,   328,   329,   330,   331,     0,
11648      332,     0,   333,   334,   335,   336,     0,   337,     0,   338,
11649        0,     0,     0,   341,   342,   343,   344,     0,   345,   346,
11650        0,   347,   348,   349,     0,   350,   351,   352,   353,  1131,
11651        0,   356,   357,   358,   359,     0,   360,   361,   362,   363,
11652      364,   365,   366,     0,   367,     0,   369,   370,   371,   372,
11653      373,   374,   375,     0,   376,     0,   377,     0,     0,   380,
11654        0,   382,   383,   384,   385,   386,     0,     0,   387,   388,
11655        0,   390,     0,     0,   392,   393,   394,     0,     0,   395,
11656      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
11657      406,   407,   408,   409,   410,   411,     0,   413,   414,   415,
11658      416,   417,   418,   419,   420,   421,   422,   423,     0,   424,
11659      425,     0,   427,     0,   428,   429,   430,   431,   432,   433,
11660        0,   434,   435,     0,     0,   436,   437,   438,     0,     0,
11661      439,   440,   441,     0,   443,     0,   445,   446,   447,   448,
11662      449,   450,   451,   452,   453,   454,     0,   455,   456,   457,
11663      458,   459,   460,   461,   462,     0,   463,   464,   465,   466,
11664      467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
11665      477,     0,   478,   479,   480,   481,   482,   483,   484,   485,
11666      486,   487,   488,   489,     0,   490,   491,     0,   493,   494,
11667      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
11668      505,   506,   507,     0,   508,   509,   510,   511,   512,     0,
11669      513,   514,   515,   516,   517,     0,   519,   520,   521,   522,
11670        0,   523,   524,   525,   526,   527,   528,   529,   530,   531,
11671      532,   533,   534,   535,   536,   537,     0,   538,   539,     0,
11672      540,     0,   542,   543,   544,   545,   546,     0,   547,   548,
11673      549,     0,     0,   550,   551,   552,   553,   554,     0,   555,
11674      556,   557,   558,   559,   560,   561,   562,     0,     0,   563,
11675      564,   565,   566,   567,     0,     0,   568,   569,   570,   571,
11676      572,   573,   574,     0,   575,     0,   577,   578,   579,   580,
11677        0,     0,   581,     0,     0,   582,   583,   584,   585,   586,
11678      587,   588,   589,   590,   591,   592,   593,   594,   595,   596,
11679      597,   598,   599,   600,   601,   609,     0,     0,     0,     0,
11680        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11681        0,     0,   229,   230,   231,   232,   233,   234,   235,   236,
11682        0,   237,   238,   239,     0,     0,     0,     0,     0,     0,
11683        0,   240,   241,     0,   242,   243,   244,     0,   246,   247,
11684      248,   249,   250,     0,   252,   253,     0,   254,   255,   256,
11685      257,   258,   259,     0,     0,   260,   261,   262,   263,   264,
11686        0,   265,   266,   267,   268,   269,     0,     0,     0,   271,
11687      272,   273,   274,   275,     0,   277,   278,   279,     0,   280,
11688      281,   282,   283,   284,   285,     0,     0,   287,   288,   289,
11689        0,     0,     0,     0,     0,     0,     0,   291,   292,   293,
11690      294,   295,   296,   297,   298,   299,     0,   300,     0,   301,
11691      302,   303,   304,   305,   306,     0,   307,   308,   309,   310,
11692        0,     0,   311,   312,   313,   314,   315,     0,   316,   317,
11693      318,     0,   319,   320,   321,     0,   322,   323,   324,   325,
11694      326,   327,   328,   329,   330,   331,     0,   332,     0,   333,
11695      334,   335,   336,     0,   337,     0,   338,     0,     0,     0,
11696      341,   342,   343,   344,     0,   345,   346,     0,   347,   348,
11697      349,     0,   350,   351,   352,   353,  1133,     0,   356,   357,
11698      358,   359,     0,   360,   361,   362,   363,   364,   365,   366,
11699        0,   367,     0,   369,   370,   371,   372,   373,   374,   375,
11700        0,   376,     0,   377,     0,     0,   380,     0,   382,   383,
11701      384,   385,   386,     0,     0,   387,   388,     0,   390,     0,
11702        0,   392,   393,   394,     0,     0,   395,   396,   397,   398,
11703      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
11704      409,   410,   411,     0,   413,   414,   415,   416,   417,   418,
11705      419,   420,   421,   422,   423,     0,   424,   425,     0,   427,
11706        0,   428,   429,   430,   431,   432,   433,     0,   434,   435,
11707        0,     0,   436,   437,   438,     0,     0,   439,   440,   441,
11708        0,   443,     0,   445,   446,   447,   448,   449,   450,   451,
11709      452,   453,   454,     0,   455,   456,   457,   458,   459,   460,
11710      461,   462,     0,   463,   464,   465,   466,   467,   468,   469,
11711      470,   471,   472,   473,   474,   475,   476,   477,     0,   478,
11712      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
11713      489,     0,   490,   491,     0,   493,   494,   495,   496,   497,
11714      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
11715        0,   508,   509,   510,   511,   512,     0,   513,   514,   515,
11716      516,   517,     0,   519,   520,   521,   522,     0,   523,   524,
11717      525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
11718      535,   536,   537,     0,   538,   539,     0,   540,     0,   542,
11719      543,   544,   545,   546,     0,   547,   548,   549,     0,     0,
11720      550,   551,   552,   553,   554,     0,   555,   556,   557,   558,
11721      559,   560,   561,   562,     0,     0,   563,   564,   565,   566,
11722      567,     0,     0,   568,   569,   570,   571,   572,   573,   574,
11723        0,   575,     0,   577,   578,   579,   580,     0,     0,   581,
11724        0,     0,   582,   583,   584,   585,   586,   587,   588,   589,
11725      590,   591,   592,   593,   594,   595,   596,   597,   598,   599,
11726      600,   601,   609,     0,     0,     0,     0,     0,     0,     0,
11727        0,     0,     0,     0,     0,     0,     0,     0,     0,   229,
11728      230,   231,   232,   233,   234,   235,   236,     0,   237,   238,
11729      239,     0,     0,     0,     0,     0,     0,     0,   240,   241,
11730        0,   242,   243,   244,     0,   246,   247,   248,   249,   250,
11731        0,   252,   253,     0,   254,   255,   256,   257,   258,   259,
11732        0,     0,   260,   261,   262,   263,   264,     0,   265,   266,
11733      267,   268,   269,     0,     0,     0,   271,   272,   273,   274,
11734      275,     0,   277,   278,   279,     0,   280,   281,   282,   283,
11735      284,   285,     0,     0,   287,   288,   289,     0,     0,     0,
11736        0,     0,     0,     0,   291,   292,   293,   294,   295,   296,
11737      297,   298,   299,     0,   300,     0,   301,   302,   303,   304,
11738      305,   306,     0,   307,   308,   309,   310,     0,     0,   311,
11739      312,   313,   314,   315,     0,   316,   317,   318,     0,   319,
11740      320,   321,     0,   322,   323,   324,   325,   326,   327,   328,
11741      329,   330,   331,     0,   332,     0,   333,   334,   335,   336,
11742        0,   337,     0,   338,     0,     0,     0,   341,   342,   343,
11743      344,     0,   345,   346,     0,   347,   348,   349,     0,   350,
11744      351,   352,   353,  1143,     0,   356,   357,   358,   359,     0,
11745      360,   361,   362,   363,   364,   365,   366,     0,   367,     0,
11746      369,   370,   371,   372,   373,   374,   375,     0,   376,     0,
11747      377,     0,     0,   380,     0,   382,   383,   384,   385,   386,
11748        0,     0,   387,   388,     0,   390,     0,     0,   392,   393,
11749      394,     0,     0,   395,   396,   397,   398,   399,   400,   401,
11750      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
11751        0,   413,   414,   415,   416,   417,   418,   419,   420,   421,
11752      422,   423,     0,   424,   425,     0,   427,     0,   428,   429,
11753      430,   431,   432,   433,     0,   434,   435,     0,     0,   436,
11754      437,   438,     0,     0,   439,   440,   441,     0,   443,     0,
11755      445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
11756        0,   455,   456,   457,   458,   459,   460,   461,   462,     0,
11757      463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
11758      473,   474,   475,   476,   477,     0,   478,   479,   480,   481,
11759      482,   483,   484,   485,   486,   487,   488,   489,     0,   490,
11760      491,     0,   493,   494,   495,   496,   497,   498,   499,   500,
11761      501,   502,   503,   504,   505,   506,   507,     0,   508,   509,
11762      510,   511,   512,     0,   513,   514,   515,   516,   517,     0,
11763      519,   520,   521,   522,     0,   523,   524,   525,   526,   527,
11764      528,   529,   530,   531,   532,   533,   534,   535,   536,   537,
11765        0,   538,   539,     0,   540,     0,   542,   543,   544,   545,
11766      546,     0,   547,   548,   549,     0,     0,   550,   551,   552,
11767      553,   554,     0,   555,   556,   557,   558,   559,   560,   561,
11768      562,     0,     0,   563,   564,   565,   566,   567,     0,     0,
11769      568,   569,   570,   571,   572,   573,   574,     0,   575,     0,
11770      577,   578,   579,   580,     0,     0,   581,     0,     0,   582,
11771      583,   584,   585,   586,   587,   588,   589,   590,   591,   592,
11772      593,   594,   595,   596,   597,   598,   599,   600,   601,   609,
11773        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11774        0,     0,     0,     0,     0,     0,   229,   230,   231,   232,
11775      233,   234,   235,   236,     0,   237,   238,   239,     0,     0,
11776        0,     0,     0,     0,     0,   240,   241,     0,   242,   243,
11777      244,     0,   246,   247,   248,   249,   250,     0,   252,   253,
11778        0,   254,   255,   256,   257,   258,   259,     0,     0,   260,
11779      261,   262,   263,   264,     0,   265,   266,   267,   268,   269,
11780        0,     0,     0,   271,   272,   273,   274,   275,     0,   277,
11781      278,   279,     0,   280,   281,   282,   283,   284,   285,     0,
11782        0,   287,   288,   289,     0,     0,     0,     0,     0,     0,
11783        0,   291,   292,   293,   294,   295,   296,   297,   298,   299,
11784        0,   300,     0,   301,   302,   303,   304,   305,   306,     0,
11785      307,   308,   309,   310,     0,     0,   311,   312,   313,   314,
11786      315,     0,   316,   317,   318,     0,   319,   320,   321,     0,
11787      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
11788        0,   332,     0,   333,   334,   335,   336,     0,   337,     0,
11789      338,     0,     0,     0,   341,   342,   343,   344,     0,   345,
11790      346,     0,   347,   348,   349,     0,   350,   351,   352,   353,
11791     1146,     0,   356,   357,   358,   359,     0,   360,   361,   362,
11792      363,   364,   365,   366,     0,   367,     0,   369,   370,   371,
11793      372,   373,   374,   375,     0,   376,     0,   377,     0,     0,
11794      380,     0,   382,   383,   384,   385,   386,     0,     0,   387,
11795      388,     0,   390,     0,     0,   392,   393,   394,     0,     0,
11796      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
11797      405,   406,   407,   408,   409,   410,   411,     0,   413,   414,
11798      415,   416,   417,   418,   419,   420,   421,   422,   423,     0,
11799      424,   425,     0,   427,     0,   428,   429,   430,   431,   432,
11800      433,     0,   434,   435,     0,     0,   436,   437,   438,     0,
11801        0,   439,   440,   441,     0,   443,     0,   445,   446,   447,
11802      448,   449,   450,   451,   452,   453,   454,     0,   455,   456,
11803      457,   458,   459,   460,   461,   462,     0,   463,   464,   465,
11804      466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
11805      476,   477,     0,   478,   479,   480,   481,   482,   483,   484,
11806      485,   486,   487,   488,   489,     0,   490,   491,     0,   493,
11807      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
11808      504,   505,   506,   507,     0,   508,   509,   510,   511,   512,
11809        0,   513,   514,   515,   516,   517,     0,   519,   520,   521,
11810      522,     0,   523,   524,   525,   526,   527,   528,   529,   530,
11811      531,   532,   533,   534,   535,   536,   537,     0,   538,   539,
11812        0,   540,     0,   542,   543,   544,   545,   546,     0,   547,
11813      548,   549,     0,     0,   550,   551,   552,   553,   554,     0,
11814      555,   556,   557,   558,   559,   560,   561,   562,     0,     0,
11815      563,   564,   565,   566,   567,     0,     0,   568,   569,   570,
11816      571,   572,   573,   574,     0,   575,     0,   577,   578,   579,
11817      580,     0,     0,   581,     0,     0,   582,   583,   584,   585,
11818      586,   587,   588,   589,   590,   591,   592,   593,   594,   595,
11819      596,   597,   598,   599,   600,   601,   609,     0,     0,     0,
11820        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11821        0,     0,     0,   229,   230,   231,   232,   233,   234,   235,
11822      236,     0,   237,   238,   239,     0,     0,     0,     0,     0,
11823        0,     0,   240,   241,     0,   242,   243,   244,     0,   246,
11824      247,   248,   249,   250,     0,   252,   253,     0,   254,   255,
11825      256,   257,   258,   259,     0,     0,   260,   261,   262,   263,
11826      264,     0,   265,   266,   267,   268,   269,     0,     0,     0,
11827      271,   272,   273,   274,   275,     0,   277,   278,   279,     0,
11828      280,   281,   282,   283,   284,   285,     0,     0,   287,   288,
11829      289,     0,     0,     0,     0,     0,     0,     0,   291,   292,
11830      293,   294,   295,   296,   297,   298,   299,     0,   300,     0,
11831      301,   302,   303,   304,   305,   306,     0,   307,   308,   309,
11832      310,     0,     0,   311,   312,   313,   314,   315,     0,   316,
11833      317,   318,     0,   319,   320,   321,     0,   322,   323,   324,
11834      325,   326,   327,   328,   329,   330,   331,     0,   332,     0,
11835      333,   334,   335,   336,     0,   337,     0,   338,     0,     0,
11836        0,   341,   342,   343,   344,     0,   345,   346,     0,   347,
11837      348,   349,     0,   350,   351,   352,   353,  1149,     0,   356,
11838      357,   358,   359,     0,   360,   361,   362,   363,   364,   365,
11839      366,     0,   367,     0,   369,   370,   371,   372,   373,   374,
11840      375,     0,   376,     0,   377,     0,     0,   380,     0,   382,
11841      383,   384,   385,   386,     0,     0,   387,   388,     0,   390,
11842        0,     0,   392,   393,   394,     0,     0,   395,   396,   397,
11843      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
11844      408,   409,   410,   411,     0,   413,   414,   415,   416,   417,
11845      418,   419,   420,   421,   422,   423,     0,   424,   425,     0,
11846      427,     0,   428,   429,   430,   431,   432,   433,     0,   434,
11847      435,     0,     0,   436,   437,   438,     0,     0,   439,   440,
11848      441,     0,   443,     0,   445,   446,   447,   448,   449,   450,
11849      451,   452,   453,   454,     0,   455,   456,   457,   458,   459,
11850      460,   461,   462,     0,   463,   464,   465,   466,   467,   468,
11851      469,   470,   471,   472,   473,   474,   475,   476,   477,     0,
11852      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
11853      488,   489,     0,   490,   491,     0,   493,   494,   495,   496,
11854      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
11855      507,     0,   508,   509,   510,   511,   512,     0,   513,   514,
11856      515,   516,   517,     0,   519,   520,   521,   522,     0,   523,
11857      524,   525,   526,   527,   528,   529,   530,   531,   532,   533,
11858      534,   535,   536,   537,     0,   538,   539,     0,   540,     0,
11859      542,   543,   544,   545,   546,     0,   547,   548,   549,     0,
11860        0,   550,   551,   552,   553,   554,     0,   555,   556,   557,
11861      558,   559,   560,   561,   562,     0,     0,   563,   564,   565,
11862      566,   567,     0,     0,   568,   569,   570,   571,   572,   573,
11863      574,     0,   575,     0,   577,   578,   579,   580,     0,     0,
11864      581,     0,     0,   582,   583,   584,   585,   586,   587,   588,
11865      589,   590,   591,   592,   593,   594,   595,   596,   597,   598,
11866      599,   600,   601,   609,     0,     0,     0,     0,     0,     0,
11867        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11868      229,   230,   231,   232,   233,   234,   235,   236,     0,   237,
11869      238,   239,     0,     0,     0,     0,     0,     0,     0,   240,
11870      241,     0,   242,   243,   244,     0,   246,   247,   248,   249,
11871      250,     0,   252,   253,     0,   254,   255,   256,   257,   258,
11872      259,     0,     0,   798,   261,   262,   263,   264,     0,   265,
11873      266,   267,   268,   269,     0,     0,     0,   271,   272,   273,
11874      274,   275,     0,   277,   278,   279,     0,   280,   281,   282,
11875      283,   284,   285,     0,     0,   287,   288,   289,     0,     0,
11876        0,     0,     0,     0,     0,   291,   292,   293,   294,   295,
11877      296,   297,   298,   299,     0,   300,     0,   301,   302,   303,
11878      304,   305,   306,     0,   307,   308,   309,   310,     0,     0,
11879      311,   312,   313,   314,   315,     0,   316,   317,   318,     0,
11880      319,   320,   321,     0,   322,   323,   324,   325,   326,   327,
11881      328,   329,   330,   331,     0,   332,     0,   333,   334,   335,
11882      336,     0,   337,     0,   338,     0,     0,     0,   341,   342,
11883      343,   344,     0,   345,   346,     0,   347,   348,   349,     0,
11884      350,   351,   352,   353,   354,     0,   356,   357,   358,   359,
11885        0,   360,   361,   362,   363,   364,   365,   366,     0,   367,
11886        0,   369,   370,   371,   372,   373,   374,   375,     0,   376,
11887        0,   377,     0,     0,   380,     0,   382,   383,   384,   385,
11888      386,     0,     0,   387,   388,     0,   390,     0,     0,   392,
11889      393,   394,     0,     0,   395,   396,   397,   398,   399,   400,
11890      401,   402,   403,   404,   405,   406,   407,   408,   409,   801,
11891      411,     0,   413,   414,   415,   416,   417,   418,   419,   420,
11892      421,   422,   423,     0,   424,   425,     0,   427,     0,   428,
11893      429,   430,   431,   432,   433,     0,   434,   435,     0,     0,
11894      436,   437,   438,     0,     0,   439,   440,   441,     0,   443,
11895        0,   445,   446,   447,   448,   449,   450,   451,   452,   453,
11896      454,     0,   455,   456,   457,   458,   459,   460,   461,   462,
11897        0,   463,   464,   465,   466,   467,   468,   469,   470,   471,
11898      472,   473,   474,   475,   476,   477,     0,   478,   479,   480,
11899      481,   482,   483,   484,   485,   486,   487,   488,   489,     0,
11900      490,   491,     0,   802,   494,   495,   496,   497,   498,   499,
11901      500,   501,   803,   503,   504,   505,   506,   507,     0,   508,
11902      509,   510,   511,  1331,     0,   513,   514,   515,   516,   517,
11903        0,   519,   520,   521,   522,     0,   523,   524,   525,   526,
11904      527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
11905      537,     0,   538,   539,     0,   540,     0,   542,   543,   544,
11906      545,   546,     0,   547,   805,   549,     0,     0,   806,   551,
11907      552,   553,   554,     0,   555,   556,   557,   558,   559,   560,
11908      561,   562,     0,     0,   563,   564,   565,   566,   567,     0,
11909        0,   568,   569,   570,   571,   572,   573,   574,     0,   575,
11910        0,   577,   578,   579,   580,     0,     0,   581,     0,     0,
11911      582,   583,   584,   585,   586,   807,   588,   589,   590,   591,
11912      592,   593,   594,   595,   596,   597,   598,   599,   600,   601,
11913      609,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11914        0,     0,     0,     0,     0,     0,     0,   229,   230,   231,
11915      232,   233,   234,   235,   236,     0,   237,   238,   239,     0,
11916        0,     0,     0,     0,     0,     0,   240,   241,     0,   242,
11917      243,   244,     0,   246,   247,   248,   249,   250,     0,   252,
11918      253,     0,   254,   255,   256,   257,   258,   259,     0,     0,
11919      260,   261,   262,   263,   264,     0,   265,   266,   267,   268,
11920      269,     0,     0,     0,   271,   272,   273,   274,   275,     0,
11921      277,   278,   279,     0,   280,   281,   282,   283,   284,   285,
11922        0,     0,   287,   288,   289,     0,     0,     0,     0,     0,
11923        0,     0,   291,   292,   293,   294,   295,   296,   297,   298,
11924      299,     0,   300,     0,   301,   302,   303,   304,   305,   306,
11925        0,   307,   308,   309,   310,     0,     0,   311,   312,   313,
11926      314,   315,     0,   316,   317,   318,     0,   319,   320,   321,
11927        0,   322,   323,   324,   325,   326,   327,   328,   329,   330,
11928      331,     0,   332,     0,   333,   334,   335,   336,     0,   337,
11929        0,   338,     0,     0,     0,   341,   342,   343,   344,     0,
11930      345,   346,     0,   347,   348,   349,     0,   350,   351,   352,
11931      353,  1768,     0,   356,   357,   358,   359,     0,   360,   361,
11932      362,   363,   364,   365,   366,     0,   367,     0,   369,   370,
11933      371,   372,   373,   374,   375,     0,   376,     0,   377,     0,
11934        0,   380,     0,   382,   383,   384,   385,   386,     0,     0,
11935      387,   388,     0,   390,     0,     0,   392,   393,   394,     0,
11936        0,   395,   396,   397,   398,   399,   400,   401,   402,   403,
11937      404,   405,   406,   407,   408,   409,   410,   411,     0,   413,
11938      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
11939        0,   424,   425,     0,   427,     0,   428,   429,   430,   431,
11940      432,   433,     0,   434,   435,     0,     0,   436,   437,   438,
11941        0,     0,   439,   440,   441,     0,   443,     0,   445,   446,
11942      447,   448,   449,   450,   451,   452,   453,   454,     0,   455,
11943      456,   457,   458,   459,   460,   461,   462,     0,   463,   464,
11944      465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
11945      475,   476,   477,     0,   478,   479,   480,   481,   482,   483,
11946      484,   485,   486,   487,   488,   489,     0,   490,   491,     0,
11947      493,   494,   495,   496,   497,   498,   499,   500,   501,   502,
11948      503,   504,   505,   506,   507,     0,   508,   509,   510,   511,
11949      512,     0,   513,   514,   515,   516,   517,     0,   519,   520,
11950      521,   522,     0,   523,   524,   525,   526,   527,   528,   529,
11951      530,   531,   532,   533,   534,   535,   536,   537,     0,   538,
11952      539,     0,   540,     0,   542,   543,   544,   545,   546,     0,
11953      547,   548,   549,     0,     0,   550,   551,   552,   553,   554,
11954        0,   555,   556,   557,   558,   559,   560,   561,   562,     0,
11955        0,   563,   564,   565,   566,   567,     0,     0,   568,   569,
11956      570,   571,   572,   573,   574,     0,   575,     0,   577,   578,
11957      579,   580,     0,     0,   581,     0,     0,   582,   583,   584,
11958      585,   586,   587,   588,   589,   590,   591,   592,   593,   594,
11959      595,   596,   597,   598,   599,   600,   601,   609,     0,     0,
11960        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11961        0,     0,     0,     0,   229,   230,   231,   232,   233,   234,
11962      235,   236,     0,   237,   238,   239,     0,     0,     0,     0,
11963        0,     0,     0,   240,   241,     0,   242,   243,   244,     0,
11964      246,   247,   248,   249,   250,     0,   252,   253,     0,   254,
11965      255,   256,   257,   258,   259,     0,     0,   260,   261,   262,
11966      263,   264,     0,   265,   266,   267,   268,   269,     0,     0,
11967        0,   271,   272,   273,   274,   275,     0,   277,   278,   279,
11968        0,   280,   281,   282,   283,   284,   285,     0,     0,   287,
11969      288,   289,     0,     0,     0,     0,     0,     0,     0,   291,
11970      292,   293,   294,   295,   296,   297,   298,   299,     0,   300,
11971        0,   301,   302,   303,   304,   305,   306,     0,   307,   308,
11972      309,   310,     0,     0,   311,   312,   313,   314,   315,     0,
11973      316,   317,   318,     0,   319,   320,   321,     0,   322,   323,
11974      324,   325,   326,   327,   328,   329,   330,   331,     0,   332,
11975        0,   333,   334,   335,   336,     0,   337,     0,   338,     0,
11976        0,     0,   341,   342,   343,   344,     0,   345,   346,     0,
11977      347,   348,   349,     0,   350,   351,   352,   353,  1806,     0,
11978      356,   357,   358,   359,     0,   360,   361,   362,   363,   364,
11979      365,   366,     0,   367,     0,   369,   370,   371,   372,   373,
11980      374,   375,     0,   376,     0,   377,     0,     0,   380,     0,
11981      382,   383,   384,   385,   386,     0,     0,   387,   388,     0,
11982      390,     0,     0,   392,   393,   394,     0,     0,   395,   396,
11983      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
11984      407,   408,   409,   410,   411,     0,   413,   414,   415,   416,
11985      417,   418,   419,   420,   421,   422,   423,     0,   424,   425,
11986        0,   427,     0,   428,   429,   430,   431,   432,   433,     0,
11987      434,   435,     0,     0,   436,   437,   438,     0,     0,   439,
11988      440,   441,     0,   443,     0,   445,   446,   447,   448,   449,
11989      450,   451,   452,   453,   454,     0,   455,   456,   457,   458,
11990      459,   460,   461,   462,     0,   463,   464,   465,   466,   467,
11991      468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
11992        0,   478,   479,   480,   481,   482,   483,   484,   485,   486,
11993      487,   488,   489,     0,   490,   491,     0,   493,   494,   495,
11994      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
11995      506,   507,     0,   508,   509,   510,   511,   512,     0,   513,
11996      514,   515,   516,   517,     0,   519,   520,   521,   522,     0,
11997      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
11998      533,   534,   535,   536,   537,     0,   538,   539,     0,   540,
11999        0,   542,   543,   544,   545,   546,     0,   547,   548,   549,
12000        0,     0,   550,   551,   552,   553,   554,     0,   555,   556,
12001      557,   558,   559,   560,   561,   562,     0,     0,   563,   564,
12002      565,   566,   567,     0,     0,   568,   569,   570,   571,   572,
12003      573,   574,     0,   575,     0,   577,   578,   579,   580,     0,
12004        0,   581,     0,     0,   582,   583,   584,   585,   586,   587,
12005      588,   589,   590,   591,   592,   593,   594,   595,   596,   597,
12006      598,   599,   600,   601,   609,     0,     0,     0,     0,     0,
12007        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12008        0,   229,   230,   231,   232,   233,   234,   235,   236,     0,
12009      237,   238,   239,     0,     0,     0,     0,     0,     0,     0,
12010      240,   241,     0,   242,   243,   244,     0,   246,   247,   248,
12011      249,   250,     0,   252,   253,     0,   254,   255,   256,   257,
12012      258,   259,     0,     0,   260,   261,   262,   263,   264,     0,
12013      265,   266,   267,   268,   269,     0,     0,     0,   271,   272,
12014      273,   274,   275,     0,   277,   278,   279,     0,   280,   281,
12015      282,   283,   284,   285,     0,     0,   287,   288,   289,     0,
12016        0,     0,     0,     0,     0,     0,   291,   292,   293,   294,
12017      295,   296,   297,   298,   299,     0,   300,     0,   301,   302,
12018      303,   304,   305,   306,     0,   307,   308,   309,   310,     0,
12019        0,   311,   312,   313,   314,   315,     0,   316,   317,   318,
12020        0,   319,   320,   321,     0,   322,   323,   324,   325,   326,
12021      327,   328,   329,   330,   331,     0,   332,     0,   333,   334,
12022      335,   336,     0,   337,     0,   338,     0,     0,     0,   341,
12023      342,   343,   344,     0,   345,   346,     0,   347,   348,   349,
12024        0,   350,   351,   352,   353,  1808,     0,   356,   357,   358,
12025      359,     0,   360,   361,   362,   363,   364,   365,   366,     0,
12026      367,     0,   369,   370,   371,   372,   373,   374,   375,     0,
12027      376,     0,   377,     0,     0,   380,     0,   382,   383,   384,
12028      385,   386,     0,     0,   387,   388,     0,   390,     0,     0,
12029      392,   393,   394,     0,     0,   395,   396,   397,   398,   399,
12030      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
12031      410,   411,     0,   413,   414,   415,   416,   417,   418,   419,
12032      420,   421,   422,   423,     0,   424,   425,     0,   427,     0,
12033      428,   429,   430,   431,   432,   433,     0,   434,   435,     0,
12034        0,   436,   437,   438,     0,     0,   439,   440,   441,     0,
12035      443,     0,   445,   446,   447,   448,   449,   450,   451,   452,
12036      453,   454,     0,   455,   456,   457,   458,   459,   460,   461,
12037      462,     0,   463,   464,   465,   466,   467,   468,   469,   470,
12038      471,   472,   473,   474,   475,   476,   477,     0,   478,   479,
12039      480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
12040        0,   490,   491,     0,   493,   494,   495,   496,   497,   498,
12041      499,   500,   501,   502,   503,   504,   505,   506,   507,     0,
12042      508,   509,   510,   511,   512,     0,   513,   514,   515,   516,
12043      517,     0,   519,   520,   521,   522,     0,   523,   524,   525,
12044      526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
12045      536,   537,     0,   538,   539,     0,   540,     0,   542,   543,
12046      544,   545,   546,     0,   547,   548,   549,     0,     0,   550,
12047      551,   552,   553,   554,     0,   555,   556,   557,   558,   559,
12048      560,   561,   562,     0,     0,   563,   564,   565,   566,   567,
12049        0,     0,   568,   569,   570,   571,   572,   573,   574,     0,
12050      575,     0,   577,   578,   579,   580,     0,     0,   581,     0,
12051        0,   582,   583,   584,   585,   586,   587,   588,   589,   590,
12052      591,   592,   593,   594,   595,   596,   597,   598,   599,   600,
12053      601,   609,     0,     0,     0,     0,     0,     0,     0,     0,
12054        0,     0,     0,     0,     0,     0,     0,     0,   229,   230,
12055      231,   232,   233,   234,   235,   236,     0,   237,   238,   239,
12056        0,     0,     0,     0,     0,     0,     0,   240,   241,     0,
12057      242,   243,   244,     0,   246,   247,   248,   249,   250,     0,
12058      252,   253,     0,   254,   255,   256,   257,   258,   259,     0,
12059        0,   260,   261,   262,   263,   264,     0,   265,   266,   267,
12060      268,   269,     0,     0,     0,   271,   272,   273,   274,   275,
12061        0,   277,   278,   279,     0,   280,   281,   282,   283,   284,
12062      285,     0,     0,   287,   288,   289,     0,     0,     0,     0,
12063        0,     0,     0,   291,   292,   293,   294,   295,   296,   297,
12064      298,   299,     0,   300,     0,   301,   302,   303,   304,   305,
12065      306,     0,   307,   308,   309,   310,     0,     0,   311,   312,
12066      313,   314,   315,     0,   316,   317,   318,     0,   319,   320,
12067      321,     0,   322,   323,   324,   325,   326,   327,   328,   329,
12068      330,   331,     0,   332,     0,   333,   334,   335,   336,     0,
12069      337,     0,   338,     0,     0,     0,   341,   342,   343,   344,
12070        0,   345,   346,     0,   347,   348,   349,     0,   350,   351,
12071      352,   353,  1879,     0,   356,   357,   358,   359,     0,   360,
12072      361,   362,   363,   364,   365,   366,     0,   367,     0,   369,
12073      370,   371,   372,   373,   374,   375,     0,   376,     0,   377,
12074        0,     0,   380,     0,   382,   383,   384,   385,   386,     0,
12075        0,   387,   388,     0,   390,     0,     0,   392,   393,   394,
12076        0,     0,   395,   396,   397,   398,   399,   400,   401,   402,
12077      403,   404,   405,   406,   407,   408,   409,   410,   411,     0,
12078      413,   414,   415,   416,   417,   418,   419,   420,   421,   422,
12079      423,     0,   424,   425,     0,   427,     0,   428,   429,   430,
12080      431,   432,   433,     0,   434,   435,     0,     0,   436,   437,
12081      438,     0,     0,   439,   440,   441,     0,   443,     0,   445,
12082      446,   447,   448,   449,   450,   451,   452,   453,   454,     0,
12083      455,   456,   457,   458,   459,   460,   461,   462,     0,   463,
12084      464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
12085      474,   475,   476,   477,     0,   478,   479,   480,   481,   482,
12086      483,   484,   485,   486,   487,   488,   489,     0,   490,   491,
12087        0,   493,   494,   495,   496,   497,   498,   499,   500,   501,
12088      502,   503,   504,   505,   506,   507,     0,   508,   509,   510,
12089      511,   512,     0,   513,   514,   515,   516,   517,     0,   519,
12090      520,   521,   522,     0,   523,   524,   525,   526,   527,   528,
12091      529,   530,   531,   532,   533,   534,   535,   536,   537,     0,
12092      538,   539,     0,   540,     0,   542,   543,   544,   545,   546,
12093        0,   547,   548,   549,     0,     0,   550,   551,   552,   553,
12094      554,     0,   555,   556,   557,   558,   559,   560,   561,   562,
12095        0,     0,   563,   564,   565,   566,   567,     0,     0,   568,
12096      569,   570,   571,   572,   573,   574,     0,   575,     0,   577,
12097      578,   579,   580,     0,     0,   581,     0,     0,   582,   583,
12098      584,   585,   586,   587,   588,   589,   590,   591,   592,   593,
12099      594,   595,   596,   597,   598,   599,   600,   601,   609,     0,
12100        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12101        0,     0,     0,     0,     0,   229,   230,   231,   232,   233,
12102      234,   235,   236,     0,   237,   238,   239,     0,     0,     0,
12103        0,     0,     0,     0,   240,   241,     0,   242,   243,   244,
12104        0,   246,   247,   248,   249,   250,     0,   252,   253,     0,
12105      254,   255,   256,   257,   258,   259,     0,     0,   260,   261,
12106      262,   263,   264,     0,   265,   266,   267,   268,   269,     0,
12107        0,     0,   271,   272,   273,   274,   275,     0,   277,   278,
12108      279,     0,   280,   281,   282,   283,   284,   285,     0,     0,
12109      287,   288,   289,     0,     0,     0,     0,     0,     0,     0,
12110      291,   292,   293,   294,   295,   296,   297,   298,   299,     0,
12111      300,     0,   301,   302,   303,   304,   305,   306,     0,   307,
12112      308,   309,   310,     0,     0,   311,   312,   313,   314,   315,
12113        0,   316,   317,   318,     0,   319,   320,   321,     0,   322,
12114      323,   324,   325,   326,   327,   328,   329,   330,   331,     0,
12115      332,     0,   333,   334,   335,   336,     0,   337,     0,   338,
12116        0,     0,     0,   341,   342,   343,   344,     0,   345,   346,
12117        0,   347,   348,   349,     0,   350,   351,   352,   353,  1881,
12118        0,   356,   357,   358,   359,     0,   360,   361,   362,   363,
12119      364,   365,   366,     0,   367,     0,   369,   370,   371,   372,
12120      373,   374,   375,     0,   376,     0,   377,     0,     0,   380,
12121        0,   382,   383,   384,   385,   386,     0,     0,   387,   388,
12122        0,   390,     0,     0,   392,   393,   394,     0,     0,   395,
12123      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
12124      406,   407,   408,   409,   410,   411,     0,   413,   414,   415,
12125      416,   417,   418,   419,   420,   421,   422,   423,     0,   424,
12126      425,     0,   427,     0,   428,   429,   430,   431,   432,   433,
12127        0,   434,   435,     0,     0,   436,   437,   438,     0,     0,
12128      439,   440,   441,     0,   443,     0,   445,   446,   447,   448,
12129      449,   450,   451,   452,   453,   454,     0,   455,   456,   457,
12130      458,   459,   460,   461,   462,     0,   463,   464,   465,   466,
12131      467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
12132      477,     0,   478,   479,   480,   481,   482,   483,   484,   485,
12133      486,   487,   488,   489,     0,   490,   491,     0,   493,   494,
12134      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
12135      505,   506,   507,     0,   508,   509,   510,   511,   512,     0,
12136      513,   514,   515,   516,   517,     0,   519,   520,   521,   522,
12137        0,   523,   524,   525,   526,   527,   528,   529,   530,   531,
12138      532,   533,   534,   535,   536,   537,     0,   538,   539,     0,
12139      540,     0,   542,   543,   544,   545,   546,     0,   547,   548,
12140      549,     0,     0,   550,   551,   552,   553,   554,     0,   555,
12141      556,   557,   558,   559,   560,   561,   562,     0,     0,   563,
12142      564,   565,   566,   567,     0,     0,   568,   569,   570,   571,
12143      572,   573,   574,     0,   575,     0,   577,   578,   579,   580,
12144        0,     0,   581,     0,     0,   582,   583,   584,   585,   586,
12145      587,   588,   589,   590,   591,   592,   593,   594,   595,   596,
12146      597,   598,   599,   600,   601,   609,     0,     0,     0,     0,
12147        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12148        0,     0,   229,   230,   231,   232,   233,   234,   235,   236,
12149        0,   237,   238,   239,     0,     0,     0,     0,     0,     0,
12150        0,   240,   241,     0,   242,   243,   244,     0,   246,   247,
12151      248,   249,   250,     0,   252,   253,     0,   254,   255,   256,
12152      257,   258,   259,     0,     0,   260,   261,   262,   263,   264,
12153        0,   265,   266,   267,   268,   269,     0,     0,     0,   271,
12154      272,   273,   274,   275,     0,   277,   278,   279,     0,   280,
12155      281,   282,   283,   284,   285,     0,     0,   287,   288,   289,
12156        0,     0,     0,     0,     0,     0,     0,   291,   292,   293,
12157      294,   295,   296,   297,   298,   299,     0,   300,     0,   301,
12158      302,   303,   304,   305,   306,     0,   307,   308,   309,   310,
12159        0,     0,   311,   312,   313,   314,   315,     0,   316,   317,
12160      318,     0,   319,   320,   321,     0,   322,   323,   324,   325,
12161      326,   327,   328,   329,   330,   331,     0,   332,     0,   333,
12162      334,   335,   336,     0,   337,     0,   338,     0,     0,     0,
12163      341,   342,   343,   344,     0,   345,   346,     0,   347,   348,
12164      349,     0,   350,   351,   352,   353,  1883,     0,   356,   357,
12165      358,   359,     0,   360,   361,   362,   363,   364,   365,   366,
12166        0,   367,     0,   369,   370,   371,   372,   373,   374,   375,
12167        0,   376,     0,   377,     0,     0,   380,     0,   382,   383,
12168      384,   385,   386,     0,     0,   387,   388,     0,   390,     0,
12169        0,   392,   393,   394,     0,     0,   395,   396,   397,   398,
12170      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
12171      409,   410,   411,     0,   413,   414,   415,   416,   417,   418,
12172      419,   420,   421,   422,   423,     0,   424,   425,     0,   427,
12173        0,   428,   429,   430,   431,   432,   433,     0,   434,   435,
12174        0,     0,   436,   437,   438,     0,     0,   439,   440,   441,
12175        0,   443,     0,   445,   446,   447,   448,   449,   450,   451,
12176      452,   453,   454,     0,   455,   456,   457,   458,   459,   460,
12177      461,   462,     0,   463,   464,   465,   466,   467,   468,   469,
12178      470,   471,   472,   473,   474,   475,   476,   477,     0,   478,
12179      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
12180      489,     0,   490,   491,     0,   493,   494,   495,   496,   497,
12181      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
12182        0,   508,   509,   510,   511,   512,     0,   513,   514,   515,
12183      516,   517,     0,   519,   520,   521,   522,     0,   523,   524,
12184      525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
12185      535,   536,   537,     0,   538,   539,     0,   540,     0,   542,
12186      543,   544,   545,   546,     0,   547,   548,   549,     0,     0,
12187      550,   551,   552,   553,   554,     0,   555,   556,   557,   558,
12188      559,   560,   561,   562,     0,     0,   563,   564,   565,   566,
12189      567,     0,     0,   568,   569,   570,   571,   572,   573,   574,
12190        0,   575,     0,   577,   578,   579,   580,     0,     0,   581,
12191        0,     0,   582,   583,   584,   585,   586,   587,   588,   589,
12192      590,   591,   592,   593,   594,   595,   596,   597,   598,   599,
12193      600,   601,   609,     0,     0,     0,     0,     0,     0,     0,
12194        0,     0,     0,     0,     0,     0,     0,     0,     0,   229,
12195      230,   231,   232,   233,   234,   235,   236,     0,   237,   238,
12196      239,     0,     0,     0,     0,     0,     0,     0,   240,   241,
12197        0,   242,   243,   244,     0,   246,   247,   248,   249,   250,
12198        0,   252,   253,     0,   254,   255,   256,   257,   258,   259,
12199        0,     0,   260,   261,   262,   263,   264,     0,   265,   266,
12200      267,   268,   269,     0,     0,     0,   271,   272,   273,   274,
12201      275,     0,   277,   278,   279,     0,   280,   281,   282,   283,
12202      284,   285,     0,     0,   287,   288,   289,     0,     0,     0,
12203        0,     0,     0,     0,   291,   292,   293,   294,   295,   296,
12204      297,   298,   299,     0,   300,     0,   301,   302,   303,   304,
12205      305,   306,     0,   307,   308,   309,   310,     0,     0,   311,
12206      312,   313,   314,   315,     0,   316,   317,   318,     0,   319,
12207      320,   321,     0,   322,   323,   324,   325,   326,   327,   328,
12208      329,   330,   331,     0,   332,     0,   333,   334,   335,   336,
12209        0,   337,     0,   338,     0,     0,     0,   341,   342,   343,
12210      344,     0,   345,   346,     0,   347,   348,   349,     0,   350,
12211      351,   352,   353,   354,     0,   356,   357,   358,   359,     0,
12212      360,   361,   362,   363,   364,   365,   366,     0,   367,     0,
12213      369,   370,   371,   372,   373,   374,   375,     0,   376,     0,
12214      377,     0,     0,   380,     0,   382,   383,   384,   385,   386,
12215        0,     0,   387,   388,     0,   390,     0,     0,   392,   393,
12216      394,     0,     0,   395,   396,   397,   398,   399,   400,   401,
12217      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
12218        0,   413,   414,   415,   416,   417,   418,   419,   420,   421,
12219      422,   423,     0,   424,   425,     0,   427,     0,   428,   429,
12220      430,   431,   432,   433,     0,   434,   435,     0,     0,   436,
12221      437,   438,     0,     0,   439,   440,   441,     0,   443,     0,
12222      445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
12223        0,   455,   456,   457,   458,   459,   460,   461,   462,     0,
12224      463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
12225      473,   474,   475,   476,   477,     0,   478,   479,   480,   481,
12226      482,   483,   484,   485,   486,   487,   488,   489,     0,   490,
12227      491,     0,   493,   494,   495,   496,   497,   498,   499,   500,
12228     1986,   502,   503,   504,   505,   506,   507,     0,   508,   509,
12229      510,   511,   512,     0,   513,   514,   515,   516,   517,     0,
12230      519,   520,   521,   522,     0,   523,   524,   525,   526,   527,
12231      528,   529,   530,   531,   532,   533,   534,   535,   536,   537,
12232        0,   538,   539,     0,   540,     0,   542,   543,   544,   545,
12233      546,     0,   547,   548,   549,     0,     0,   550,   551,   552,
12234      553,   554,     0,   555,   556,   557,   558,   559,   560,   561,
12235      562,     0,     0,   563,   564,   565,   566,   567,     0,     0,
12236      568,   569,   570,   571,   572,   573,   574,     0,   575,     0,
12237      577,   578,   579,   580,     0,     0,   581,     0,     0,   582,
12238      583,   584,   585,   586,   587,   588,   589,   590,   591,   592,
12239      593,   594,   595,   596,   597,   598,   599,   600,   601,   609,
12240        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12241        0,     0,     0,     0,     0,     0,   229,   230,   231,   232,
12242      233,   234,   235,   236,     0,   237,   238,   239,     0,     0,
12243        0,     0,     0,  2166,     0,   240,   241,     0,   242,   243,
12244      244,     0,   246,   247,   248,   249,   250,     0,   252,   253,
12245        0,   254,   255,   256,   257,   258,   259,     0,     0,   260,
12246      261,   262,   263,   264,     0,   265,   266,   267,   268,   269,
12247        0,     0,     0,   271,   272,   273,   274,   275,     0,   277,
12248      278,   279,     0,   280,   281,   282,   283,   284,   285,     0,
12249        0,   287,   288,   289,     0,     0,     0,     0,     0,     0,
12250        0,   291,   292,   293,   294,   295,   296,   297,   298,   299,
12251        0,   300,     0,   301,   302,   303,   304,   305,   306,     0,
12252      307,   308,   309,   310,     0,     0,   311,   312,   313,   314,
12253      315,     0,   316,   317,   318,     0,   319,   320,   321,     0,
12254      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
12255        0,   332,     0,   333,   334,   335,   336,     0,   337,     0,
12256      338,     0,     0,     0,   341,   342,   343,   344,     0,   345,
12257      346,     0,   347,   348,   349,     0,   350,   351,   352,   353,
12258      354,     0,   356,   357,   358,   359,     0,   360,   361,   362,
12259      363,   364,   365,   366,     0,   367,     0,   369,   370,   371,
12260      372,   373,   374,   375,     0,   376,     0,   377,     0,     0,
12261      380,     0,   382,   383,   384,   385,   386,     0,     0,   387,
12262      388,     0,   390,     0,     0,   392,   393,   394,     0,     0,
12263      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
12264      405,   406,   407,   408,   409,   410,   411,     0,   413,   414,
12265      415,   416,   417,   418,   419,   420,   421,   422,   423,     0,
12266      424,   425,     0,   427,     0,   428,   429,   430,   431,   432,
12267      433,     0,   434,   435,     0,     0,   436,   437,   438,     0,
12268        0,   439,   440,   441,     0,   443,     0,   445,   446,   447,
12269      448,   449,   450,   451,   452,   453,   454,     0,   455,   456,
12270      457,   458,   459,   460,   461,   462,     0,   463,   464,   465,
12271      466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
12272      476,   477,     0,   478,   479,   480,   481,   482,   483,   484,
12273      485,   486,   487,   488,   489,     0,   490,   491,     0,   493,
12274      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
12275      504,   505,   506,   507,     0,   508,   509,   510,   511,   512,
12276        0,     0,   514,   515,   516,   517,     0,   519,   520,   521,
12277      522,     0,   523,   524,   525,   526,   527,   528,   529,   530,
12278      531,   532,   533,   534,   535,   536,   537,     0,   538,   539,
12279        0,   540,     0,   542,   543,   544,   545,   546,     0,   547,
12280      548,   549,     0,     0,   550,   551,   552,   553,   554,     0,
12281      555,   556,   557,   558,   559,   560,   561,   562,     0,     0,
12282      563,   564,   565,   566,   567,     0,     0,   568,   569,   570,
12283      571,   572,   573,   574,     0,   575,     0,   577,   578,   579,
12284      580,     0,     0,   581,     0,     0,   582,   583,   584,   585,
12285      586,   587,   588,   589,   590,   591,   592,   593,   594,   595,
12286      596,   597,   598,   599,   600,   601,   609,     0,     0,     0,
12287        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12288        0,     0,     0,   229,   230,   231,   232,   233,   234,   235,
12289      236,     0,   237,   238,   239,     0,     0,     0,     0,     0,
12290        0,     0,   240,   241,     0,   242,   243,   244,     0,   246,
12291      247,   248,   249,   250,     0,   252,   253,     0,   254,   255,
12292      256,   257,   258,   259,     0,     0,   798,   261,   262,   263,
12293      264,     0,   265,   266,   267,   268,   269,     0,     0,     0,
12294      271,   272,   273,   274,   275,     0,   277,   278,   279,     0,
12295      280,   281,   282,   283,   284,   285,     0,     0,   287,   288,
12296      289,     0,     0,     0,     0,     0,     0,     0,   291,   292,
12297      293,   294,   295,   296,   297,   298,   299,     0,   300,     0,
12298      301,   302,   303,   304,   305,   306,     0,   307,   308,   309,
12299      310,     0,     0,   311,   312,   313,   314,   315,     0,   316,
12300      317,   318,     0,   319,   320,   321,     0,   322,   323,   324,
12301      325,   326,   327,   328,   329,   330,   331,     0,   332,     0,
12302      333,   334,   335,   336,     0,   337,     0,   338,     0,     0,
12303        0,   341,   342,   343,   344,     0,   345,   346,     0,   347,
12304      348,   349,     0,   350,   351,   352,   353,   354,     0,   356,
12305      357,   358,   359,     0,   360,   361,   362,   363,   364,   365,
12306      366,     0,   367,     0,   369,   370,   371,   372,   373,   374,
12307      375,     0,   376,     0,   377,     0,     0,   380,     0,   382,
12308      383,   384,   385,   386,     0,     0,   387,   388,     0,   390,
12309        0,     0,   392,   393,   394,     0,     0,   395,   396,   397,
12310      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
12311      408,   409,   801,   411,     0,   413,   414,   415,   416,   417,
12312      418,   419,   420,   421,   422,   423,     0,   424,   425,     0,
12313      427,     0,   428,   429,   430,   431,   432,   433,     0,   434,
12314      435,     0,     0,   436,   437,   438,     0,     0,   439,   440,
12315      441,     0,   443,     0,   445,   446,   447,   448,   449,   450,
12316      451,   452,   453,   454,     0,   455,   456,   457,   458,   459,
12317      460,   461,   462,     0,   463,   464,   465,   466,   467,   468,
12318      469,   470,   471,   472,   473,   474,   475,   476,   477,     0,
12319      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
12320      488,   489,     0,   490,   491,     0,   802,   494,   495,   496,
12321      497,   498,   499,   500,   501,   803,   503,   504,   505,   506,
12322      507,     0,   508,   509,   510,   511,  1331,     0,   513,   514,
12323      515,   516,   517,     0,   519,   520,   521,   522,     0,   523,
12324      524,   525,   526,   527,   528,   529,   530,   531,   532,   533,
12325      534,   535,   536,   537,     0,   538,   539,     0,   540,     0,
12326     2201,   543,   544,   545,   546,     0,   547,   805,   549,     0,
12327        0,   806,   551,   552,   553,   554,     0,   555,   556,   557,
12328      558,   559,   560,   561,   562,     0,     0,   563,   564,   565,
12329      566,   567,     0,     0,   568,   569,   570,   571,   572,   573,
12330      574,     0,   575,     0,   577,   578,   579,   580,     0,     0,
12331      581,     0,     0,   582,   583,   584,   585,   586,   807,   588,
12332      589,   590,   591,   592,   593,   594,   595,   596,   597,   598,
12333      599,   600,   601,   609,     0,     0,     0,     0,     0,     0,
12334        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12335      229,   230,   231,   232,   233,   234,   235,   236,     0,   237,
12336      238,   239,     0,     0,     0,     0,     0,     0,     0,   240,
12337      241,     0,   242,   243,   244,     0,   246,   247,   248,   249,
12338      250,     0,   252,   253,     0,   254,   255,   256,   257,   258,
12339      259,     0,     0,   798,   261,   262,   263,   264,     0,   265,
12340      266,   267,   268,   269,     0,     0,     0,   271,   272,   273,
12341      274,   275,     0,   277,   278,   279,     0,   280,   281,   282,
12342      283,   284,   285,     0,     0,   287,   288,   289,     0,     0,
12343        0,     0,     0,     0,     0,   291,   292,   293,   294,   295,
12344      296,   297,   298,   299,     0,   300,     0,   301,   302,   303,
12345      304,   305,   306,     0,   307,   308,   309,   310,     0,     0,
12346      311,   312,   313,   314,   315,     0,   316,   317,   318,     0,
12347      319,   320,   321,     0,   322,   323,   324,   325,   326,   327,
12348      328,   329,   330,   331,     0,   332,     0,   333,   334,   335,
12349      336,     0,   337,     0,   338,     0,     0,     0,   341,   342,
12350      343,   344,     0,   345,   346,     0,   347,   348,   349,     0,
12351      350,   351,   352,   353,   354,     0,   356,   357,   358,   359,
12352        0,   360,   361,   362,   363,   364,   365,   366,     0,   367,
12353        0,   369,   370,   371,   372,   373,   374,   375,     0,   376,
12354        0,   377,     0,     0,   380,     0,   382,   383,   384,   385,
12355      386,     0,     0,   387,   388,     0,   390,     0,     0,   392,
12356      393,   394,     0,     0,   395,   396,   397,   398,   399,   400,
12357      401,   402,   403,   404,   405,   406,   407,   408,   409,   801,
12358      411,     0,   413,   414,   415,   416,   417,   418,   419,   420,
12359      421,   422,   423,     0,   424,   425,     0,   427,     0,   428,
12360      429,   430,   431,   432,   433,     0,   434,   435,     0,     0,
12361      436,   437,   438,     0,     0,   439,   440,   441,     0,   443,
12362        0,   445,   446,   447,   448,   449,   450,   451,   452,   453,
12363      454,     0,   455,   456,   457,   458,   459,   460,   461,   462,
12364        0,   463,   464,   465,   466,   467,   468,   469,   470,   471,
12365      472,   473,   474,   475,   476,   477,     0,   478,   479,   480,
12366      481,   482,   483,   484,   485,   486,   487,   488,   489,     0,
12367      490,   491,     0,   802,   494,   495,   496,   497,   498,   499,
12368      500,   501,  2277,   503,   504,   505,   506,   507,     0,   508,
12369      509,   510,   511,  2278,     0,   513,   514,   515,   516,   517,
12370        0,   519,   520,   521,   522,     0,   523,   524,   525,   526,
12371      527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
12372      537,     0,   538,   539,     0,   540,     0,   542,   543,   544,
12373      545,   546,     0,   547,   805,   549,     0,     0,  2279,   551,
12374      552,   553,   554,     0,   555,   556,   557,   558,   559,   560,
12375      561,   562,     0,     0,   563,   564,   565,   566,   567,     0,
12376        0,   568,   569,   570,   571,   572,   573,   574,     0,   575,
12377        0,   577,   578,   579,   580,     0,     0,   581,     0,     0,
12378      582,   583,   584,   585,   586,   807,   588,   589,   590,   591,
12379      592,   593,   594,   595,   596,   597,   598,   599,   600,   601,
12380      609,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12381        0,     0,     0,     0,     0,     0,     0,   229,   230,   231,
12382      232,   233,   234,   235,   236,     0,   237,   238,   239,     0,
12383        0,     0,     0,     0,     0,     0,   240,   241,     0,   242,
12384      243,   244,     0,   246,   247,   248,   249,   250,     0,   252,
12385      253,     0,   254,   255,   256,   257,   258,   259,     0,     0,
12386      798,   261,   262,   263,   264,     0,   265,   266,   267,   268,
12387      269,     0,     0,     0,   271,   272,   273,   274,   275,     0,
12388      277,   278,   279,     0,   280,   281,   282,   283,   284,   285,
12389        0,     0,   287,   288,   289,     0,     0,     0,     0,     0,
12390        0,     0,   291,   292,   293,   294,   295,   296,   297,   298,
12391      299,     0,   300,     0,   301,   302,   303,   304,   305,   306,
12392        0,   307,   308,   309,   310,     0,     0,   311,   312,   313,
12393      314,   315,     0,   316,   317,   318,     0,   319,   320,   321,
12394        0,   322,   323,   324,   325,   326,   327,   328,   329,   330,
12395      331,     0,   332,     0,   333,   334,   335,   336,     0,   337,
12396        0,   338,     0,     0,     0,   341,   342,   343,   344,     0,
12397      345,   346,     0,   347,   348,   349,     0,   350,   351,   352,
12398      353,   354,     0,   356,   357,   358,   359,     0,   360,   361,
12399      362,   363,   364,   365,   366,     0,   367,     0,   369,   370,
12400      371,   372,   373,   374,   375,     0,   376,     0,   377,     0,
12401        0,   380,     0,   382,   383,   384,   385,   386,     0,     0,
12402      387,   388,     0,   390,     0,     0,   392,   393,   394,     0,
12403        0,   395,   396,   397,   398,   399,   400,   401,   402,   403,
12404      404,   405,   406,   407,   408,   409,   801,   411,     0,   413,
12405      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
12406        0,   424,   425,     0,   427,     0,   428,   429,   430,   431,
12407      432,   433,     0,   434,   435,     0,     0,   436,   437,   438,
12408        0,     0,   439,   440,   441,     0,   443,     0,   445,   446,
12409      447,   448,   449,   450,   451,   452,   453,   454,     0,   455,
12410      456,   457,   458,   459,   460,   461,   462,     0,   463,   464,
12411      465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
12412      475,   476,   477,     0,   478,   479,   480,   481,   482,   483,
12413      484,   485,   486,   487,   488,   489,     0,   490,   491,     0,
12414      802,   494,   495,   496,   497,   498,   499,   500,   501,  2356,
12415      503,   504,   505,   506,   507,     0,   508,   509,   510,   511,
12416     2278,     0,   513,   514,   515,   516,   517,     0,   519,   520,
12417      521,   522,     0,   523,   524,   525,   526,   527,   528,   529,
12418      530,   531,   532,   533,   534,   535,   536,   537,     0,   538,
12419      539,     0,   540,     0,   542,   543,   544,   545,   546,     0,
12420      547,   805,   549,     0,     0,  2279,   551,   552,   553,   554,
12421        0,   555,   556,   557,   558,   559,   560,   561,   562,     0,
12422        0,   563,   564,   565,   566,   567,     0,     0,   568,   569,
12423      570,   571,   572,   573,   574,     0,   575,     0,   577,   578,
12424      579,   580,     0,     0,   581,     0,     0,   582,   583,   584,
12425      585,   586,   807,   588,   589,   590,   591,   592,   593,   594,
12426      595,   596,   597,   598,   599,   600,   601,   609,     0,     0,
12427        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12428        0,     0,     0,     0,   229,   230,   231,   232,   233,   234,
12429      235,   236,     0,   237,   238,   239,     0,     0,     0,     0,
12430        0,     0,     0,   240,   241,     0,   242,   243,   244,     0,
12431      246,   247,   248,   249,   250,     0,   252,   253,     0,   254,
12432      255,   256,   257,   258,   259,     0,     0,   798,   261,   262,
12433      263,   264,     0,   265,   266,   267,   268,   269,     0,     0,
12434        0,   271,   272,   273,   274,   275,     0,   277,   278,   279,
12435        0,   280,   281,   282,   283,   284,   285,     0,     0,   287,
12436      288,   289,     0,     0,     0,     0,     0,     0,     0,   291,
12437      292,   293,   294,   295,   296,   297,   298,   299,     0,   300,
12438        0,   301,   302,   303,   304,   305,   306,     0,   307,   308,
12439      309,   310,     0,     0,   311,   312,   313,   314,   315,     0,
12440      316,   317,   318,     0,   319,   320,   321,     0,   322,   323,
12441      324,   325,   326,   327,   328,   329,   330,   331,     0,   332,
12442        0,   333,   334,   335,   336,     0,   337,     0,   338,     0,
12443        0,     0,   341,   342,   343,   344,     0,   345,   346,     0,
12444      347,   348,   349,     0,   350,   351,   352,   353,   354,     0,
12445      356,   357,   358,   359,     0,   360,   361,   362,   363,   364,
12446      365,   366,     0,   367,     0,   369,   370,   371,   372,   373,
12447      374,   375,     0,   376,     0,   377,     0,     0,   380,     0,
12448      382,   383,   384,   385,   386,     0,     0,   387,   388,     0,
12449      390,     0,     0,   392,   393,   394,     0,     0,   395,   396,
12450      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
12451      407,   408,   409,   801,   411,     0,   413,   414,   415,   416,
12452      417,   418,   419,   420,   421,   422,   423,     0,   424,   425,
12453        0,   427,     0,   428,   429,   430,   431,   432,   433,     0,
12454      434,   435,     0,     0,   436,   437,   438,     0,     0,   439,
12455      440,   441,     0,   443,     0,   445,   446,   447,   448,   449,
12456      450,   451,   452,   453,   454,     0,   455,   456,   457,   458,
12457      459,   460,   461,   462,     0,   463,   464,   465,   466,   467,
12458      468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
12459        0,   478,   479,   480,   481,   482,   483,   484,   485,   486,
12460      487,   488,   489,     0,   490,   491,     0,   802,   494,   495,
12461      496,   497,   498,   499,   500,   501,  2373,   503,   504,   505,
12462      506,   507,     0,   508,   509,   510,   511,  2278,     0,   513,
12463      514,   515,   516,   517,     0,   519,   520,   521,   522,     0,
12464      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
12465      533,   534,   535,   536,   537,     0,   538,   539,     0,   540,
12466        0,   542,   543,   544,   545,   546,     0,   547,   805,   549,
12467        0,     0,  2279,   551,   552,   553,   554,     0,   555,   556,
12468      557,   558,   559,   560,   561,   562,     0,     0,   563,   564,
12469      565,   566,   567,     0,     0,   568,   569,   570,   571,   572,
12470      573,   574,     0,   575,     0,   577,   578,   579,   580,     0,
12471        0,   581,     0,     0,   582,   583,   584,   585,   586,   807,
12472      588,   589,   590,   591,   592,   593,   594,   595,   596,   597,
12473      598,   599,   600,   601,   609,     0,     0,     0,     0,     0,
12474        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12475        0,   229,   230,   231,   232,   233,   234,   235,   236,     0,
12476      237,   238,   239,     0,     0,     0,     0,     0,     0,     0,
12477      240,   241,     0,   242,   243,   244,     0,   246,   247,   248,
12478      249,   250,     0,   252,   253,     0,   254,   255,   256,   257,
12479      258,   259,     0,     0,   260,   261,   262,   263,   264,     0,
12480      265,   266,   267,   268,   269,     0,     0,     0,   271,   272,
12481      273,   274,   275,     0,   277,   278,   279,     0,   280,   281,
12482      282,   283,   284,   285,     0,     0,   287,   288,   289,     0,
12483        0,     0,     0,     0,     0,     0,   291,   292,   293,   294,
12484      295,   296,   297,   298,   299,     0,   300,     0,   301,   302,
12485      303,   304,   305,   306,     0,   307,   308,   309,   310,     0,
12486        0,   311,   312,   313,   314,   315,     0,   316,   317,   318,
12487        0,   319,   320,   321,     0,   322,   323,   324,   325,   326,
12488      327,   328,   329,   330,   331,     0,   332,     0,   333,   334,
12489      335,   336,     0,   337,     0,   338,     0,     0,     0,   341,
12490      342,   343,   344,     0,   345,   346,     0,   347,   348,   349,
12491        0,   350,   351,   352,   353,  2577,     0,   356,   357,   358,
12492      359,     0,   360,   361,   362,   363,   364,   365,   366,     0,
12493      367,     0,   369,   370,   371,   372,   373,   374,   375,     0,
12494      376,     0,   377,     0,     0,   380,     0,   382,   383,   384,
12495      385,   386,     0,     0,   387,   388,     0,   390,     0,     0,
12496      392,   393,   394,     0,     0,   395,   396,   397,   398,   399,
12497      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
12498      410,   411,     0,   413,   414,   415,   416,   417,   418,   419,
12499      420,   421,   422,   423,     0,   424,   425,     0,   427,     0,
12500      428,   429,   430,   431,   432,   433,     0,   434,   435,     0,
12501        0,   436,   437,   438,     0,     0,   439,   440,   441,     0,
12502      443,     0,   445,   446,   447,   448,   449,   450,   451,   452,
12503      453,   454,     0,   455,   456,   457,   458,   459,   460,   461,
12504      462,     0,   463,   464,   465,   466,   467,   468,   469,   470,
12505      471,   472,   473,   474,   475,   476,   477,     0,   478,   479,
12506      480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
12507        0,   490,   491,     0,   493,   494,   495,   496,   497,   498,
12508      499,   500,   501,   502,   503,   504,   505,   506,   507,     0,
12509      508,   509,   510,   511,   512,     0,   513,   514,   515,   516,
12510      517,     0,   519,   520,   521,   522,     0,   523,   524,   525,
12511      526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
12512      536,   537,     0,   538,   539,     0,   540,     0,   542,   543,
12513      544,   545,   546,     0,   547,   548,   549,     0,     0,   550,
12514      551,   552,   553,   554,     0,   555,   556,   557,   558,   559,
12515      560,   561,   562,     0,     0,   563,   564,   565,   566,   567,
12516        0,     0,   568,   569,   570,   571,   572,   573,   574,     0,
12517      575,     0,   577,   578,   579,   580,     0,     0,   581,     0,
12518        0,   582,   583,   584,   585,   586,   587,   588,   589,   590,
12519      591,   592,   593,   594,   595,   596,   597,   598,   599,   600,
12520      601,   609,     0,     0,     0,     0,     0,     0,     0,     0,
12521        0,     0,     0,     0,     0,     0,     0,     0,   229,   230,
12522      231,   232,   233,   234,   235,   236,     0,   237,   238,   239,
12523        0,     0,     0,     0,     0,     0,     0,   240,   241,     0,
12524      242,   243,   244,     0,   246,   247,   248,   249,   250,     0,
12525      252,   253,     0,   254,   255,   256,   257,   258,   259,     0,
12526        0,   260,   261,   262,   263,   264,     0,   265,   266,   267,
12527      268,   269,     0,     0,     0,   271,   272,   273,   274,   275,
12528        0,   277,   278,   279,     0,   280,   281,   282,   283,   284,
12529      285,     0,     0,   287,   288,   289,     0,     0,     0,     0,
12530        0,     0,     0,   291,   292,   293,   294,   295,   296,   297,
12531      298,   299,     0,   300,     0,   301,   302,   303,   304,   305,
12532      306,     0,   307,   308,   309,   310,     0,     0,   311,   312,
12533      313,   314,   315,     0,   316,   317,   318,     0,   319,   320,
12534      321,     0,   322,   323,   324,   325,   326,   327,   328,   329,
12535      330,   331,     0,   332,     0,   333,   334,   335,   336,     0,
12536      337,     0,   338,     0,     0,     0,   341,   342,   343,   344,
12537        0,   345,   346,     0,   347,   348,   349,     0,   350,   351,
12538      352,   353,  2581,     0,   356,   357,   358,   359,     0,   360,
12539      361,   362,   363,   364,   365,   366,     0,   367,     0,   369,
12540      370,   371,   372,   373,   374,   375,     0,   376,     0,   377,
12541        0,     0,   380,     0,   382,   383,   384,   385,   386,     0,
12542        0,   387,   388,     0,   390,     0,     0,   392,   393,   394,
12543        0,     0,   395,   396,   397,   398,   399,   400,   401,   402,
12544      403,   404,   405,   406,   407,   408,   409,   410,   411,     0,
12545      413,   414,   415,   416,   417,   418,   419,   420,   421,   422,
12546      423,     0,   424,   425,     0,   427,     0,   428,   429,   430,
12547      431,   432,   433,     0,   434,   435,     0,     0,   436,   437,
12548      438,     0,     0,   439,   440,   441,     0,   443,     0,   445,
12549      446,   447,   448,   449,   450,   451,   452,   453,   454,     0,
12550      455,   456,   457,   458,   459,   460,   461,   462,     0,   463,
12551      464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
12552      474,   475,   476,   477,     0,   478,   479,   480,   481,   482,
12553      483,   484,   485,   486,   487,   488,   489,     0,   490,   491,
12554        0,   493,   494,   495,   496,   497,   498,   499,   500,   501,
12555      502,   503,   504,   505,   506,   507,     0,   508,   509,   510,
12556      511,   512,     0,   513,   514,   515,   516,   517,     0,   519,
12557      520,   521,   522,     0,   523,   524,   525,   526,   527,   528,
12558      529,   530,   531,   532,   533,   534,   535,   536,   537,     0,
12559      538,   539,     0,   540,     0,   542,   543,   544,   545,   546,
12560        0,   547,   548,   549,     0,     0,   550,   551,   552,   553,
12561      554,     0,   555,   556,   557,   558,   559,   560,   561,   562,
12562        0,     0,   563,   564,   565,   566,   567,     0,     0,   568,
12563      569,   570,   571,   572,   573,   574,     0,   575,     0,   577,
12564      578,   579,   580,     0,     0,   581,     0,     0,   582,   583,
12565      584,   585,   586,   587,   588,   589,   590,   591,   592,   593,
12566      594,   595,   596,   597,   598,   599,   600,   601,   609,     0,
12567        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12568        0,     0,     0,     0,     0,   229,   230,   231,   232,   233,
12569      234,   235,   236,     0,   237,   238,   239,     0,     0,     0,
12570        0,     0,     0,     0,   240,   241,     0,   242,   243,   244,
12571        0,   246,   247,   248,   249,   250,     0,   252,   253,     0,
12572      254,   255,   256,   257,   258,   259,     0,     0,   260,   261,
12573      262,   263,   264,     0,   265,   266,   267,   268,   269,     0,
12574        0,     0,   271,   272,   273,   274,   275,     0,   277,   278,
12575      279,     0,   280,   281,   282,   283,   284,   285,     0,     0,
12576      287,   288,   289,     0,     0,     0,     0,     0,     0,     0,
12577      291,   292,   293,   294,   295,   296,   297,   298,   299,     0,
12578      300,     0,   301,   302,   303,   304,   305,   306,     0,   307,
12579      308,   309,   310,     0,     0,   311,   312,   313,   314,   315,
12580        0,   316,   317,   318,     0,   319,   320,   321,     0,   322,
12581      323,   324,   325,   326,   327,   328,   329,   330,   331,     0,
12582      332,     0,   333,   334,   335,   336,     0,   337,     0,   338,
12583        0,     0,     0,   341,   342,   343,   344,     0,   345,   346,
12584        0,   347,   348,   349,     0,   350,   351,   352,   353,  2657,
12585        0,   356,   357,   358,   359,     0,   360,   361,   362,   363,
12586      364,   365,   366,     0,   367,     0,   369,   370,   371,   372,
12587      373,   374,   375,     0,   376,     0,   377,     0,     0,   380,
12588        0,   382,   383,   384,   385,   386,     0,     0,   387,   388,
12589        0,   390,     0,     0,   392,   393,   394,     0,     0,   395,
12590      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
12591      406,   407,   408,   409,   410,   411,     0,   413,   414,   415,
12592      416,   417,   418,   419,   420,   421,   422,   423,     0,   424,
12593      425,     0,   427,     0,   428,   429,   430,   431,   432,   433,
12594        0,   434,   435,     0,     0,   436,   437,   438,     0,     0,
12595      439,   440,   441,     0,   443,     0,   445,   446,   447,   448,
12596      449,   450,   451,   452,   453,   454,     0,   455,   456,   457,
12597      458,   459,   460,   461,   462,     0,   463,   464,   465,   466,
12598      467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
12599      477,     0,   478,   479,   480,   481,   482,   483,   484,   485,
12600      486,   487,   488,   489,     0,   490,   491,     0,   493,   494,
12601      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
12602      505,   506,   507,     0,   508,   509,   510,   511,   512,     0,
12603      513,   514,   515,   516,   517,     0,   519,   520,   521,   522,
12604        0,   523,   524,   525,   526,   527,   528,   529,   530,   531,
12605      532,   533,   534,   535,   536,   537,     0,   538,   539,     0,
12606      540,     0,   542,   543,   544,   545,   546,     0,   547,   548,
12607      549,     0,     0,   550,   551,   552,   553,   554,     0,   555,
12608      556,   557,   558,   559,   560,   561,   562,     0,     0,   563,
12609      564,   565,   566,   567,     0,     0,   568,   569,   570,   571,
12610      572,   573,   574,     0,   575,     0,   577,   578,   579,   580,
12611        0,     0,   581,     0,     0,   582,   583,   584,   585,   586,
12612      587,   588,   589,   590,   591,   592,   593,   594,   595,   596,
12613      597,   598,   599,   600,   601,   609,     0,     0,     0,     0,
12614        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12615        0,     0,   229,   230,   231,   232,   233,   234,   235,   236,
12616        0,   237,   238,   239,     0,     0,     0,     0,     0,     0,
12617        0,   240,   241,     0,   242,   243,   244,     0,   246,   247,
12618      248,   249,   250,     0,   252,   253,     0,   254,   255,   256,
12619      257,   258,   259,     0,     0,   260,   261,   262,   263,   264,
12620        0,   265,   266,   267,   268,   269,     0,     0,     0,   271,
12621      272,   273,   274,   275,     0,   277,   278,   279,     0,   280,
12622      281,   282,   283,   284,   285,     0,     0,   287,   288,   289,
12623        0,     0,     0,     0,     0,     0,     0,   291,   292,   293,
12624      294,   295,   296,   297,   298,   299,     0,   300,     0,   301,
12625      302,   303,   304,   305,   306,     0,   307,   308,   309,   310,
12626        0,     0,   311,   312,   313,   314,   315,     0,   316,   317,
12627      318,     0,   319,   320,   321,     0,   322,   323,   324,   325,
12628      326,   327,   328,   329,   330,   331,     0,   332,     0,   333,
12629      334,   335,   336,     0,   337,     0,   338,     0,     0,     0,
12630      341,   342,   343,   344,     0,   345,   346,     0,   347,   348,
12631      349,     0,   350,   351,   352,   353,  2991,     0,   356,   357,
12632      358,   359,     0,   360,   361,   362,   363,   364,   365,   366,
12633        0,   367,     0,   369,   370,   371,   372,   373,   374,   375,
12634        0,   376,     0,   377,     0,     0,   380,     0,   382,   383,
12635      384,   385,   386,     0,     0,   387,   388,     0,   390,     0,
12636        0,   392,   393,   394,     0,     0,   395,   396,   397,   398,
12637      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
12638      409,   410,   411,     0,   413,   414,   415,   416,   417,   418,
12639      419,   420,   421,   422,   423,     0,   424,   425,     0,   427,
12640        0,   428,   429,   430,   431,   432,   433,     0,   434,   435,
12641        0,     0,   436,   437,   438,     0,     0,   439,   440,   441,
12642        0,   443,     0,   445,   446,   447,   448,   449,   450,   451,
12643      452,   453,   454,     0,   455,   456,   457,   458,   459,   460,
12644      461,   462,     0,   463,   464,   465,   466,   467,   468,   469,
12645      470,   471,   472,   473,   474,   475,   476,   477,     0,   478,
12646      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
12647      489,     0,   490,   491,     0,   493,   494,   495,   496,   497,
12648      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
12649        0,   508,   509,   510,   511,   512,     0,   513,   514,   515,
12650      516,   517,     0,   519,   520,   521,   522,     0,   523,   524,
12651      525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
12652      535,   536,   537,     0,   538,   539,     0,   540,     0,   542,
12653      543,   544,   545,   546,     0,   547,   548,   549,     0,     0,
12654      550,   551,   552,   553,   554,     0,   555,   556,   557,   558,
12655      559,   560,   561,   562,     0,     0,   563,   564,   565,   566,
12656      567,     0,     0,   568,   569,   570,   571,   572,   573,   574,
12657        0,   575,     0,   577,   578,   579,   580,     0,     0,   581,
12658        0,     0,   582,   583,   584,   585,   586,   587,   588,   589,
12659      590,   591,   592,   593,   594,   595,   596,   597,   598,   599,
12660      600,   601,   609,     0,     0,     0,     0,     0,     0,     0,
12661        0,     0,     0,     0,     0,     0,     0,     0,     0,   229,
12662      230,   231,   232,   233,   234,   235,   236,     0,   237,   238,
12663      239,     0,     0,     0,     0,     0,     0,     0,   240,   241,
12664        0,   242,   243,   244,     0,   246,   247,   248,   249,   250,
12665        0,   252,   253,     0,   254,   255,   256,   257,   258,   259,
12666        0,     0,   798,   261,   262,   263,   264,     0,   265,   266,
12667      267,   268,   269,     0,     0,     0,   271,   272,   273,   274,
12668      275,     0,   277,   278,   279,     0,   280,   281,   282,   283,
12669      284,   285,     0,     0,   287,   288,   289,     0,     0,     0,
12670        0,     0,     0,     0,   291,   292,   293,   294,   295,   296,
12671      297,   298,   299,     0,   300,     0,   301,   302,   303,   304,
12672      305,   306,     0,   307,   308,   309,   310,     0,     0,   311,
12673      312,   313,   314,   315,     0,   316,   317,   318,     0,   319,
12674      320,   321,     0,   322,   323,   324,   325,   326,   327,   328,
12675      329,   330,   331,     0,   332,     0,   333,   334,   335,   336,
12676        0,   337,     0,   338,     0,     0,     0,   341,   342,   343,
12677      344,     0,   345,   346,     0,   347,   348,   349,     0,   350,
12678      351,   352,   353,   354,     0,   356,   357,   358,   359,     0,
12679      360,   361,   362,   363,   364,   365,   366,     0,   367,     0,
12680      369,   370,   371,   372,   373,   374,   375,     0,   376,     0,
12681      377,     0,     0,   380,     0,   382,   383,   384,   385,   386,
12682        0,     0,   387,   388,     0,   390,     0,     0,   392,   393,
12683      394,     0,     0,   395,   396,   397,   398,   399,   400,   401,
12684      402,   403,   404,   405,   406,   407,   408,   409,   801,   411,
12685        0,   413,   414,   415,   416,   417,   418,   419,   420,   421,
12686      422,   423,     0,   424,   425,     0,   427,     0,   428,   429,
12687      430,   431,   432,   433,     0,   434,   435,     0,     0,   436,
12688      437,   438,     0,     0,   439,   440,   441,     0,   443,     0,
12689      445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
12690        0,   455,   456,   457,   458,   459,   460,   461,   462,     0,
12691      463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
12692      473,   474,   475,   476,   477,     0,   478,   479,   480,   481,
12693      482,   483,   484,   485,   486,   487,   488,   489,     0,   490,
12694      491,     0,   802,   494,   495,   496,   497,   498,   499,   500,
12695      501,   803,   503,   504,   505,   506,   507,     0,   508,   509,
12696      510,   511,  2278,     0,   513,   514,   515,   516,   517,     0,
12697      519,   520,   521,   522,     0,   523,   524,   525,   526,   527,
12698      528,   529,   530,   531,   532,   533,   534,   535,   536,   537,
12699        0,   538,   539,     0,   540,     0,   542,   543,   544,   545,
12700      546,     0,   547,   805,   549,     0,     0,  2279,   551,   552,
12701      553,   554,     0,   555,   556,   557,   558,   559,   560,   561,
12702      562,     0,     0,   563,   564,   565,   566,   567,     0,     0,
12703      568,   569,   570,   571,   572,   573,   574,     0,   575,     0,
12704      577,   578,   579,   580,     0,     0,   581,     0,     0,   582,
12705      583,   584,   585,   586,   807,   588,   589,   590,   591,   592,
12706      593,   594,   595,   596,   597,   598,   599,   600,   601,   609,
12707        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12708        0,     0,     0,     0,     0,     0,   229,   230,   231,   232,
12709      233,   234,   235,   236,     0,   237,   238,   239,     0,     0,
12710        0,     0,     0,     0,     0,   240,   241,     0,   242,   243,
12711      244,     0,   246,   247,   248,   249,   250,     0,   252,   253,
12712        0,   254,   255,   256,   257,   258,   259,     0,     0,   260,
12713      261,   262,   263,   264,     0,   265,   266,   267,   268,   269,
12714        0,     0,     0,   271,   272,   273,   274,   275,     0,   277,
12715      278,   279,     0,   280,   281,   282,   283,   284,   285,     0,
12716        0,   287,   288,   289,     0,     0,     0,     0,     0,     0,
12717        0,   291,   292,   293,   294,   295,   296,   297,   298,   299,
12718        0,   300,     0,   301,   302,   303,   304,   305,   306,     0,
12719      307,   308,   309,   310,     0,     0,   311,   312,   313,   314,
12720      315,     0,   316,   317,   318,     0,   319,   320,   321,     0,
12721      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
12722        0,   332,     0,   333,   334,   335,   336,     0,   337,     0,
12723      338,     0,     0,     0,   341,   342,   343,   344,     0,   345,
12724      346,     0,   347,   348,   349,     0,   350,   351,   352,   353,
12725     3060,     0,   356,   357,   358,   359,     0,   360,   361,   362,
12726      363,   364,   365,   366,     0,   367,     0,   369,   370,   371,
12727      372,   373,   374,   375,     0,   376,     0,   377,     0,     0,
12728      380,     0,   382,   383,   384,   385,   386,     0,     0,   387,
12729      388,     0,   390,     0,     0,   392,   393,   394,     0,     0,
12730      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
12731      405,   406,   407,   408,   409,   410,   411,     0,   413,   414,
12732      415,   416,   417,   418,   419,   420,   421,   422,   423,     0,
12733      424,   425,     0,   427,     0,   428,   429,   430,   431,   432,
12734      433,     0,   434,   435,     0,     0,   436,   437,   438,     0,
12735        0,   439,   440,   441,     0,   443,     0,   445,   446,   447,
12736      448,   449,   450,   451,   452,   453,   454,     0,   455,   456,
12737      457,   458,   459,   460,   461,   462,     0,   463,   464,   465,
12738      466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
12739      476,   477,     0,   478,   479,   480,   481,   482,   483,   484,
12740      485,   486,   487,   488,   489,     0,   490,   491,     0,   493,
12741      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
12742      504,   505,   506,   507,     0,   508,   509,   510,   511,   512,
12743        0,   513,   514,   515,   516,   517,     0,   519,   520,   521,
12744      522,     0,   523,   524,   525,   526,   527,   528,   529,   530,
12745      531,   532,   533,   534,   535,   536,   537,     0,   538,   539,
12746        0,   540,     0,   542,   543,   544,   545,   546,     0,   547,
12747      548,   549,     0,     0,   550,   551,   552,   553,   554,     0,
12748      555,   556,   557,   558,   559,   560,   561,   562,     0,     0,
12749      563,   564,   565,   566,   567,     0,     0,   568,   569,   570,
12750      571,   572,   573,   574,     0,   575,     0,   577,   578,   579,
12751      580,     0,     0,   581,     0,     0,   582,   583,   584,   585,
12752      586,   587,   588,   589,   590,   591,   592,   593,   594,   595,
12753      596,   597,   598,   599,   600,   601,   609,     0,     0,     0,
12754        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12755        0,     0,     0,   229,   230,   231,   232,   233,   234,   235,
12756      236,     0,   237,   238,   239,     0,     0,     0,     0,     0,
12757        0,     0,   240,   241,     0,   242,   243,   244,     0,   246,
12758      247,   248,   249,   250,     0,   252,   253,     0,   254,   255,
12759      256,   257,   258,   259,     0,     0,   260,   261,   262,   263,
12760      264,     0,   265,   266,   267,   268,   269,     0,     0,     0,
12761      271,   272,   273,   274,   275,     0,   277,   278,   279,     0,
12762      280,   281,   282,   283,   284,   285,     0,     0,   287,   288,
12763      289,     0,     0,     0,     0,     0,     0,     0,   291,   292,
12764      293,   294,   295,   296,   297,   298,   299,     0,   300,     0,
12765      301,   302,   303,   304,   305,   306,     0,   307,   308,   309,
12766      310,     0,     0,   311,   312,   313,   314,   315,     0,   316,
12767      317,   318,     0,   319,   320,   321,     0,   322,   323,   324,
12768      325,   326,   327,   328,   329,   330,   331,     0,   332,     0,
12769      333,   334,   335,   336,     0,   337,     0,   338,     0,     0,
12770        0,   341,   342,   343,   344,     0,   345,   346,     0,   347,
12771      348,   349,     0,   350,   351,   352,   353,  3074,     0,   356,
12772      357,   358,   359,     0,   360,   361,   362,   363,   364,   365,
12773      366,     0,   367,     0,   369,   370,   371,   372,   373,   374,
12774      375,     0,   376,     0,   377,     0,     0,   380,     0,   382,
12775      383,   384,   385,   386,     0,     0,   387,   388,     0,   390,
12776        0,     0,   392,   393,   394,     0,     0,   395,   396,   397,
12777      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
12778      408,   409,   410,   411,     0,   413,   414,   415,   416,   417,
12779      418,   419,   420,   421,   422,   423,     0,   424,   425,     0,
12780      427,     0,   428,   429,   430,   431,   432,   433,     0,   434,
12781      435,     0,     0,   436,   437,   438,     0,     0,   439,   440,
12782      441,     0,   443,     0,   445,   446,   447,   448,   449,   450,
12783      451,   452,   453,   454,     0,   455,   456,   457,   458,   459,
12784      460,   461,   462,     0,   463,   464,   465,   466,   467,   468,
12785      469,   470,   471,   472,   473,   474,   475,   476,   477,     0,
12786      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
12787      488,   489,     0,   490,   491,     0,   493,   494,   495,   496,
12788      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
12789      507,     0,   508,   509,   510,   511,   512,     0,   513,   514,
12790      515,   516,   517,     0,   519,   520,   521,   522,     0,   523,
12791      524,   525,   526,   527,   528,   529,   530,   531,   532,   533,
12792      534,   535,   536,   537,     0,   538,   539,     0,   540,     0,
12793      542,   543,   544,   545,   546,     0,   547,   548,   549,     0,
12794        0,   550,   551,   552,   553,   554,     0,   555,   556,   557,
12795      558,   559,   560,   561,   562,     0,     0,   563,   564,   565,
12796      566,   567,     0,     0,   568,   569,   570,   571,   572,   573,
12797      574,     0,   575,     0,   577,   578,   579,   580,     0,     0,
12798      581,     0,     0,   582,   583,   584,   585,   586,   587,   588,
12799      589,   590,   591,   592,   593,   594,   595,   596,   597,   598,
12800      599,   600,   601,   609,     0,     0,     0,     0,     0,     0,
12801        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12802      229,   230,   231,   232,   233,   234,   235,   236,     0,   237,
12803      238,   239,     0,     0,     0,     0,     0,     0,     0,   240,
12804      241,     0,   242,   243,   244,     0,   246,   247,   248,   249,
12805      250,     0,   252,   253,     0,   254,   255,   256,   257,   258,
12806      259,     0,     0,   260,   261,   262,   263,   264,     0,   265,
12807      266,   267,   268,   269,     0,     0,     0,   271,   272,   273,
12808      274,   275,     0,   277,   278,   279,     0,   280,   281,   282,
12809      283,   284,   285,     0,     0,   287,   288,   289,     0,     0,
12810        0,     0,     0,     0,     0,   291,   292,   293,   294,   295,
12811      296,   297,   298,   299,     0,   300,     0,   301,   302,   303,
12812      304,   305,   306,     0,   307,   308,   309,   310,     0,     0,
12813      311,   312,   313,   314,   315,     0,   316,   317,   318,     0,
12814      319,   320,   321,     0,   322,   323,   324,   325,   326,   327,
12815      328,   329,   330,   331,     0,   332,     0,   333,   334,   335,
12816      336,     0,   337,     0,   338,     0,     0,     0,   341,   342,
12817      343,   344,     0,   345,   346,     0,   347,   348,   349,     0,
12818      350,   351,   352,   353,  3076,     0,   356,   357,   358,   359,
12819        0,   360,   361,   362,   363,   364,   365,   366,     0,   367,
12820        0,   369,   370,   371,   372,   373,   374,   375,     0,   376,
12821        0,   377,     0,     0,   380,     0,   382,   383,   384,   385,
12822      386,     0,     0,   387,   388,     0,   390,     0,     0,   392,
12823      393,   394,     0,     0,   395,   396,   397,   398,   399,   400,
12824      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
12825      411,     0,   413,   414,   415,   416,   417,   418,   419,   420,
12826      421,   422,   423,     0,   424,   425,     0,   427,     0,   428,
12827      429,   430,   431,   432,   433,     0,   434,   435,     0,     0,
12828      436,   437,   438,     0,     0,   439,   440,   441,     0,   443,
12829        0,   445,   446,   447,   448,   449,   450,   451,   452,   453,
12830      454,     0,   455,   456,   457,   458,   459,   460,   461,   462,
12831        0,   463,   464,   465,   466,   467,   468,   469,   470,   471,
12832      472,   473,   474,   475,   476,   477,     0,   478,   479,   480,
12833      481,   482,   483,   484,   485,   486,   487,   488,   489,     0,
12834      490,   491,     0,   493,   494,   495,   496,   497,   498,   499,
12835      500,   501,   502,   503,   504,   505,   506,   507,     0,   508,
12836      509,   510,   511,   512,     0,   513,   514,   515,   516,   517,
12837        0,   519,   520,   521,   522,     0,   523,   524,   525,   526,
12838      527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
12839      537,     0,   538,   539,     0,   540,     0,   542,   543,   544,
12840      545,   546,     0,   547,   548,   549,     0,     0,   550,   551,
12841      552,   553,   554,     0,   555,   556,   557,   558,   559,   560,
12842      561,   562,     0,     0,   563,   564,   565,   566,   567,     0,
12843        0,   568,   569,   570,   571,   572,   573,   574,     0,   575,
12844        0,   577,   578,   579,   580,     0,     0,   581,     0,     0,
12845      582,   583,   584,   585,   586,   587,   588,   589,   590,   591,
12846      592,   593,   594,   595,   596,   597,   598,   599,   600,   601,
12847      609,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12848        0,     0,     0,     0,     0,     0,     0,   229,   230,   231,
12849      232,   233,   234,   235,   236,     0,   237,   238,   239,     0,
12850        0,     0,     0,     0,     0,     0,   240,   241,     0,   242,
12851      243,   244,     0,   246,   247,   248,   249,   250,     0,   252,
12852      253,     0,   254,   255,   256,   257,   258,   259,     0,     0,
12853      260,   261,   262,   263,   264,     0,   265,   266,   267,   268,
12854      269,     0,     0,     0,   271,   272,   273,   274,   275,     0,
12855      277,   278,   279,     0,   280,   281,   282,   283,   284,   285,
12856        0,     0,   287,   288,   289,     0,     0,     0,     0,     0,
12857        0,     0,   291,   292,   293,   294,   295,   296,   297,   298,
12858      299,     0,   300,     0,   301,   302,   303,   304,   305,   306,
12859        0,   307,   308,   309,   310,     0,     0,   311,   312,   313,
12860      314,   315,     0,   316,   317,   318,     0,   319,   320,   321,
12861        0,   322,   323,   324,   325,   326,   327,   328,   329,   330,
12862      331,     0,   332,     0,   333,   334,   335,   336,     0,   337,
12863        0,   338,     0,     0,     0,   341,   342,   343,   344,     0,
12864      345,   346,     0,   347,   348,   349,     0,   350,   351,   352,
12865      353,  3221,     0,   356,   357,   358,   359,     0,   360,   361,
12866      362,   363,   364,   365,   366,     0,   367,     0,   369,   370,
12867      371,   372,   373,   374,   375,     0,   376,     0,   377,     0,
12868        0,   380,     0,   382,   383,   384,   385,   386,     0,     0,
12869      387,   388,     0,   390,     0,     0,   392,   393,   394,     0,
12870        0,   395,   396,   397,   398,   399,   400,   401,   402,   403,
12871      404,   405,   406,   407,   408,   409,   410,   411,     0,   413,
12872      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
12873        0,   424,   425,     0,   427,     0,   428,   429,   430,   431,
12874      432,   433,     0,   434,   435,     0,     0,   436,   437,   438,
12875        0,     0,   439,   440,   441,     0,   443,     0,   445,   446,
12876      447,   448,   449,   450,   451,   452,   453,   454,     0,   455,
12877      456,   457,   458,   459,   460,   461,   462,     0,   463,   464,
12878      465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
12879      475,   476,   477,     0,   478,   479,   480,   481,   482,   483,
12880      484,   485,   486,   487,   488,   489,     0,   490,   491,     0,
12881      493,   494,   495,   496,   497,   498,   499,   500,   501,   502,
12882      503,   504,   505,   506,   507,     0,   508,   509,   510,   511,
12883      512,     0,   513,   514,   515,   516,   517,     0,   519,   520,
12884      521,   522,     0,   523,   524,   525,   526,   527,   528,   529,
12885      530,   531,   532,   533,   534,   535,   536,   537,     0,   538,
12886      539,     0,   540,     0,   542,   543,   544,   545,   546,     0,
12887      547,   548,   549,     0,     0,   550,   551,   552,   553,   554,
12888        0,   555,   556,   557,   558,   559,   560,   561,   562,     0,
12889        0,   563,   564,   565,   566,   567,     0,     0,   568,   569,
12890      570,   571,   572,   573,   574,     0,   575,     0,   577,   578,
12891      579,   580,     0,     0,   581,     0,     0,   582,   583,   584,
12892      585,   586,   587,   588,   589,   590,   591,   592,   593,   594,
12893      595,   596,   597,   598,   599,   600,   601,   609,     0,     0,
12894        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12895        0,     0,     0,     0,   229,   230,   231,   232,   233,   234,
12896      235,   236,     0,   237,   238,   239,     0,     0,     0,     0,
12897        0,     0,     0,   240,   241,     0,   242,   243,   244,     0,
12898      246,   247,   248,   249,   250,     0,   252,   253,     0,   254,
12899      255,   256,   257,   258,   259,     0,     0,   260,   261,   262,
12900      263,   264,     0,   265,   266,   267,   268,   269,     0,     0,
12901        0,   271,   272,   273,   274,   275,     0,   277,   278,   279,
12902        0,   280,   281,   282,   283,   284,   285,     0,     0,   287,
12903      288,   289,     0,     0,     0,     0,     0,     0,     0,   291,
12904      292,   293,   294,   295,   296,   297,   298,   299,     0,   300,
12905        0,   301,   302,   303,   304,   305,   306,     0,   307,   308,
12906      309,   310,     0,     0,   311,  3259,   313,   314,   315,     0,
12907      316,   317,   318,     0,   319,   320,   321,     0,   322,   323,
12908      324,   325,   326,   327,   328,   329,   330,   331,     0,   332,
12909        0,   333,   334,   335,   336,     0,   337,     0,   338,     0,
12910        0,     0,   341,   342,   343,   344,     0,   345,   346,     0,
12911      347,   348,   349,     0,   350,   351,   352,   353,   354,     0,
12912      356,   357,   358,   359,     0,   360,   361,   362,   363,   364,
12913      365,   366,     0,   367,     0,   369,   370,   371,   372,   373,
12914      374,   375,     0,   376,     0,   377,     0,     0,   380,     0,
12915      382,   383,   384,   385,   386,     0,     0,   387,   388,     0,
12916      390,     0,     0,   392,   393,   394,     0,     0,   395,   396,
12917      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
12918      407,   408,   409,   410,   411,     0,   413,   414,   415,   416,
12919      417,   418,   419,   420,   421,   422,   423,     0,   424,   425,
12920        0,   427,     0,   428,   429,   430,   431,   432,   433,     0,
12921      434,   435,     0,     0,   436,   437,   438,     0,     0,   439,
12922      440,   441,     0,   443,     0,   445,   446,   447,   448,   449,
12923      450,   451,   452,   453,   454,     0,   455,   456,   457,   458,
12924      459,   460,   461,   462,     0,   463,   464,   465,   466,   467,
12925      468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
12926        0,   478,   479,   480,   481,   482,   483,   484,   485,   486,
12927      487,   488,   489,     0,   490,   491,     0,   493,   494,   495,
12928      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
12929      506,   507,     0,   508,   509,   510,   511,   512,     0,   513,
12930      514,   515,   516,   517,     0,   519,   520,   521,   522,     0,
12931      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
12932      533,   534,   535,   536,   537,     0,   538,   539,     0,   540,
12933        0,   542,   543,   544,   545,   546,     0,   547,   548,   549,
12934        0,     0,   550,   551,   552,   553,   554,     0,   555,   556,
12935      557,   558,   559,   560,   561,   562,     0,     0,   563,   564,
12936      565,   566,   567,     0,     0,   568,   569,   570,   571,   572,
12937      573,   574,     0,   575,     0,   577,   578,   579,   580,     0,
12938        0,   581,     0,     0,   582,   583,   584,   585,   586,   587,
12939      588,   589,   590,   591,   592,   593,   594,   595,   596,   597,
12940      598,   599,   600,   601,   609,     0,     0,     0,     0,     0,
12941        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12942        0,   229,   230,   231,   232,   233,   234,   235,   236,     0,
12943      237,   238,   239,     0,     0,     0,     0,     0,     0,     0,
12944      240,   241,     0,   242,   243,   244,     0,   246,   247,   248,
12945      249,   250,     0,   252,   253,     0,   254,   255,   256,   257,
12946      258,   259,     0,     0,   260,   261,   262,   263,   264,     0,
12947      265,   266,   267,   268,   269,     0,     0,     0,   271,   272,
12948      273,   274,   275,     0,   277,   278,   279,     0,   280,   281,
12949      282,   283,   284,   285,     0,     0,   287,   288,   289,     0,
12950        0,     0,     0,     0,     0,     0,   291,   292,   293,   294,
12951      295,   296,   297,   298,   299,     0,   300,     0,   301,   302,
12952      303,   304,   305,   306,     0,   307,   308,   309,   310,     0,
12953        0,   311,   312,   313,   314,   315,     0,   316,   317,   318,
12954        0,   319,   320,   321,     0,   322,   323,   324,   325,   326,
12955      327,   328,   329,   330,   331,     0,   332,     0,   333,   334,
12956      335,   336,     0,   337,     0,   338,     0,     0,     0,   341,
12957      342,   343,   344,     0,   345,   346,     0,   347,   348,   349,
12958        0,   350,   351,   352,   353,  4443,     0,   356,   357,   358,
12959      359,     0,   360,   361,   362,   363,   364,   365,   366,     0,
12960      367,     0,   369,   370,   371,   372,   373,   374,   375,     0,
12961      376,     0,   377,     0,     0,   380,     0,   382,   383,   384,
12962      385,   386,     0,     0,   387,   388,     0,   390,     0,     0,
12963      392,   393,   394,     0,     0,   395,   396,   397,   398,   399,
12964      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
12965      410,   411,     0,   413,   414,   415,   416,   417,   418,   419,
12966      420,   421,   422,   423,     0,   424,   425,     0,   427,     0,
12967      428,   429,   430,   431,   432,   433,     0,   434,   435,     0,
12968        0,   436,   437,   438,     0,     0,   439,   440,   441,     0,
12969      443,     0,   445,   446,   447,   448,   449,   450,   451,   452,
12970      453,   454,     0,   455,   456,   457,   458,   459,   460,   461,
12971      462,     0,   463,   464,   465,   466,   467,   468,   469,   470,
12972      471,   472,   473,   474,   475,   476,   477,     0,   478,   479,
12973      480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
12974        0,   490,   491,     0,   493,   494,   495,   496,   497,   498,
12975      499,   500,   501,   502,   503,   504,   505,   506,   507,     0,
12976      508,   509,   510,   511,   512,     0,   513,   514,   515,   516,
12977      517,     0,   519,   520,   521,   522,     0,   523,   524,   525,
12978      526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
12979      536,   537,     0,   538,   539,     0,   540,     0,   542,   543,
12980      544,   545,   546,     0,   547,   548,   549,     0,     0,   550,
12981      551,   552,   553,   554,     0,   555,   556,   557,   558,   559,
12982      560,   561,   562,     0,     0,   563,   564,   565,   566,   567,
12983        0,     0,   568,   569,   570,   571,   572,   573,   574,     0,
12984      575,     0,   577,   578,   579,   580,     0,     0,   581,     0,
12985        0,   582,   583,   584,   585,   586,   587,   588,   589,   590,
12986      591,   592,   593,   594,   595,   596,   597,   598,   599,   600,
12987      601,  1069,     0,     0,     0,     0,     0,     0,     0,     0,
12988        0,     0,     0,     0,     0,     0,     0,     0,   229,   230,
12989      231,   232,   233,   234,   235,   236,     0,   237,   238,   239,
12990        0,     0,     0,     0,     0,     0,     0,   240,   241,     0,
12991      242,   243,   244,   245,   246,   247,   248,     0,  1070,   251,
12992     1071,  1072,     0,   254,   255,   256,   257,   258,   259,     0,
12993        0,   260,   261,  1073,  1074,   264,     0,   265,   266,   267,
12994      268,     0,     0,   270,     0,   271,   272,   273,   274,   275,
12995      276,   277,   278,   279,     0,   280,   281,   282,   283,   284,
12996      285,     0,   286,   287,   288,   289,     0,     0,     0,   290,
12997        0,     0,     0,   291,   292,   293,   294,   295,   296,  1075,
12998     1076,   299,     0,   300,     0,   301,   302,   303,   304,   305,
12999      306,     0,   307,   308,   309,   310,     0,     0,   311,   312,
13000     1077,   314,   315,     0,   316,   317,   318,     0,   319,   320,
13001      321,     0,   322,   323,   324,   325,     0,   327,   328,   329,
13002      330,     0,     0,   332,     0,   333,   334,  1078,   336,     0,
13003      337,     0,   338,   339,     0,   340,   341,   342,   343,   344,
13004        0,   345,     0,     0,     0,   348,   349,     0,   350,   351,
13005      352,   353,   354,   355,   356,   357,   358,   359,  2174,   360,
13006      361,   362,   363,   364,   365,   366,     0,   367,   368,  2175,
13007      370,   371,   372,   373,  1080,  1081,     0,  1082,     0,   377,
13008      378,   379,   380,   381,   382,   383,   384,   385,   386,     0,
13009        0,   387,     0,   389,   390,   391,     0,   392,   393,   394,
13010        0,     0,   395,   396,   397,   398,   399,   400,   401,   402,
13011      403,   404,   405,   406,   407,   408,   409,   410,  1083,   412,
13012     1084,   414,   415,   416,   417,   418,   419,   420,     0,     0,
13013      423,     0,   424,   425,   426,   427,     0,     0,   429,  1085,
13014      431,   432,   433,     0,   434,   435,     0,     0,   436,   437,
13015      438,     0,     0,   439,   440,  2177,   442,   443,   444,     0,
13016      446,   447,   448,   449,   450,   451,   452,   453,   454,     0,
13017      455,   456,     0,   458,     0,   460,   461,   462,     0,   463,
13018      464,   465,   466,   467,   468,   469,   470,   471,   472,  1086,
13019      474,   475,   476,   477,     0,   478,   479,   480,   481,   482,
13020      483,   484,   485,   486,   487,   488,   489,     0,   490,   491,
13021      492,   493,   494,   495,   496,   497,     0,   499,   500,   501,
13022      502,   503,   504,   505,   506,   507,     0,   508,   509,   510,
13023      511,   512,     0,   513,   514,  2178,   516,   517,   518,   519,
13024      520,  1088,   522,     0,   523,   524,   525,   526,   527,   528,
13025      529,   530,   531,   532,   533,   534,   535,     0,   537,     0,
13026      538,   539,     0,   540,   541,   542,   543,   544,   545,   546,
13027        0,   547,  1089,  1090,     0,     0,   550,   551,     0,   553,
13028        0,     0,   555,   556,   557,   558,   559,   560,   561,   562,
13029        0,     0,   563,   564,   565,   566,   567,     0,     0,   568,
13030      569,   570,   571,   572,     0,  1091,  2179,   575,   576,   577,
13031      578,   579,   580,     0,     0,   581,     0,     0,   582,   583,
13032      584,   585,   586,   587,   609,     0,     0,     0,     0,     0,
13033        0,     0,     0,     0,     0,   599,   600,   601,     0,     0,
13034        0,   229,   230,   231,   232,   233,   234,   235,   236,     0,
13035      237,   238,   239,     0,     0,     0,     0,     0,     0,     0,
13036      240,   241,     0,   242,   243,   244,     0,   246,   247,   248,
13037      249,   250,     0,   252,   253,     0,   254,   255,   256,   257,
13038      258,   259,     0,     0,   260,   261,   262,   263,   264,     0,
13039      265,   266,   267,   268,   269,     0,     0,     0,   271,   272,
13040      273,   274,   275,     0,   277,   278,   279,     0,   280,   281,
13041      282,   283,   284,   285,     0,     0,   287,   288,   289,     0,
13042        0,     0,     0,     0,     0,     0,   291,   292,   293,   294,
13043      295,   296,   297,   298,   299,     0,   300,     0,   301,   302,
13044      303,   304,   305,   306,     0,   307,   308,   309,   310,     0,
13045        0,   311,   312,   313,   314,   315,     0,   316,   317,   318,
13046        0,   319,   320,   321,     0,   322,   323,   324,   325,   326,
13047      327,   328,   329,   330,   331,     0,   332,     0,   333,   334,
13048      335,   336,     0,   337,     0,   338,     0,     0,     0,   341,
13049      342,   343,   344,     0,   345,   346,     0,   347,     0,   349,
13050        0,   350,   351,   352,   353,   354,     0,   356,   357,   358,
13051      359,     0,   360,   361,   362,   363,   364,   365,   366,     0,
13052      367,     0,   369,   370,   371,   372,   373,   374,   375,     0,
13053      376,     0,   377,     0,     0,   380,     0,   382,   383,   384,
13054      385,   386,     0,     0,   387,   388,     0,   390,     0,     0,
13055      392,   393,   394,     0,     0,   395,   396,   397,   398,   399,
13056      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
13057      410,   411,     0,   413,   414,   415,   416,   417,   418,   419,
13058      420,   421,   422,   423,     0,   424,   425,     0,   427,     0,
13059      428,   429,   430,   431,   432,   433,     0,   434,   435,     0,
13060        0,   436,   437,   438,     0,     0,   439,   440,   441,     0,
13061      443,     0,   445,   446,   447,   448,   449,   450,   451,     0,
13062      453,   454,     0,   455,   456,   457,   458,   459,   460,   461,
13063      462,     0,   463,   464,   465,   466,   467,   468,   469,   470,
13064        0,   472,   473,   474,   475,   476,   477,     0,   478,   479,
13065      480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
13066        0,   490,   491,     0,   493,   494,   495,   496,   497,   498,
13067        0,   500,   501,   502,   503,   504,   505,   506,   507,     0,
13068      508,   509,   510,   511,   512,     0,   513,   514,   515,   516,
13069      517,     0,   519,   520,   521,   522,     0,   523,   524,   525,
13070      526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
13071      536,   537,     0,   538,   539,     0,   540,     0,   542,   543,
13072      544,   545,   546,     0,   547,   548,   549,     0,     0,   550,
13073      551,   552,   553,   554,     0,   555,   556,   557,   558,   559,
13074      560,   561,   562,     0,     0,   563,   564,   565,   566,   567,
13075        0,     0,   568,   569,   570,   571,   572,   573,   574,     0,
13076      575,     0,   577,   578,   579,   580,     0,     0,   581,     0,
13077        0,   582,   583,   584,   585,   586,   587,   588,   589,   590,
13078      591,   592,   593,   594,   595,   596,   597,   598,   599,   600,
13079      601,  1069,     0,     0,     0,     0,     0,     0,     0,     0,
13080        0,     0,     0,     0,     0,     0,     0,     0,   229,   230,
13081      231,   232,   233,   234,   235,   236,     0,   237,   238,   239,
13082        0,     0,     0,     0,     0,     0,     0,   240,   241,     0,
13083      242,   243,   244,   245,   246,   247,   248,     0,  1070,   251,
13084     1071,  1072,     0,   254,   255,   256,   257,   258,   259,     0,
13085        0,   260,   261,  1073,  1074,   264,     0,   265,   266,   267,
13086      268,     0,     0,   270,     0,   271,   272,   273,   274,   275,
13087      276,   277,   278,   279,     0,   280,   281,   282,   283,   284,
13088      285,     0,   286,   287,   288,   289,     0,     0,     0,   290,
13089        0,     0,     0,   291,   292,   293,   294,   295,   296,  1075,
13090     1076,   299,     0,   300,     0,   301,   302,   303,   304,   305,
13091      306,     0,   307,   308,   309,   310,     0,     0,   311,   312,
13092     1077,   314,   315,     0,   316,   317,   318,     0,   319,   320,
13093      321,     0,   322,   323,   324,   325,     0,   327,   328,   329,
13094      330,     0,     0,   332,     0,   333,   334,  1078,   336,     0,
13095      337,     0,   338,   339,     0,   340,   341,   342,   343,   344,
13096        0,   345,     0,     0,     0,   348,   349,     0,   350,   351,
13097      352,   353,   354,   355,   356,   357,   358,   359,     0,   360,
13098      361,   362,   363,   364,   365,   366,     0,   367,   368,     0,
13099      370,   371,   372,   373,  1080,  1081,     0,  1082,     0,   377,
13100      378,   379,   380,   381,   382,   383,   384,   385,   386,     0,
13101        0,   387,     0,   389,   390,   391,     0,   392,   393,   394,
13102        0,     0,   395,   396,   397,   398,   399,   400,   401,   402,
13103      403,   404,   405,   406,   407,   408,   409,   410,  1083,   412,
13104     1084,   414,   415,   416,   417,   418,   419,   420,     0,     0,
13105      423,     0,   424,   425,   426,   427,  2273,     0,   429,  1085,
13106      431,   432,   433,     0,   434,   435,     0,     0,   436,   437,
13107      438,     0,     0,   439,   440,     0,   442,   443,   444,     0,
13108      446,   447,   448,   449,   450,   451,   452,   453,   454,     0,
13109      455,   456,     0,   458,     0,   460,   461,   462,     0,   463,
13110      464,   465,   466,   467,   468,   469,   470,   471,   472,  1086,
13111      474,   475,   476,   477,     0,   478,   479,   480,   481,   482,
13112      483,   484,   485,   486,   487,   488,   489,     0,   490,   491,
13113      492,   493,   494,   495,   496,   497,     0,   499,   500,   501,
13114      502,   503,   504,   505,   506,   507,     0,   508,   509,   510,
13115      511,   512,     0,   513,   514,  2178,   516,   517,   518,   519,
13116      520,  1088,   522,     0,   523,   524,   525,   526,   527,   528,
13117      529,   530,   531,   532,   533,   534,   535,     0,   537,     0,
13118      538,   539,  3987,   540,   541,   542,   543,   544,   545,   546,
13119        0,   547,  1089,  1090,     0,     0,   550,   551,     0,   553,
13120        0,     0,   555,   556,   557,   558,   559,   560,   561,   562,
13121        0,     0,   563,   564,   565,   566,   567,     0,     0,   568,
13122      569,   570,   571,   572,     0,  1091,     0,   575,   576,   577,
13123      578,   579,   580,     0,     0,   581,     0,     0,   582,   583,
13124      584,   585,   586,   587,  1069,     0,     0,     0,     0,     0,
13125        0,     0,     0,     0,     0,   599,   600,   601,     0,     0,
13126        0,   229,   230,   231,   232,   233,   234,   235,   236,     0,
13127      237,   238,   239,     0,     0,     0,     0,     0,     0,     0,
13128      240,   241,     0,   242,   243,   244,   245,   246,   247,   248,
13129        0,  1070,   251,  1071,  1072,     0,   254,   255,   256,   257,
13130      258,   259,     0,     0,   260,   261,  1073,  1074,   264,     0,
13131      265,   266,   267,   268,     0,     0,   270,     0,   271,   272,
13132      273,   274,   275,   276,   277,   278,   279,     0,   280,   281,
13133      282,   283,   284,   285,     0,   286,   287,   288,   289,     0,
13134        0,     0,   290,     0,     0,     0,   291,   292,   293,   294,
13135      295,   296,  1075,  1076,   299,     0,   300,     0,   301,   302,
13136      303,   304,   305,   306,     0,   307,   308,   309,   310,     0,
13137        0,   311,   312,  1077,   314,   315,     0,   316,   317,   318,
13138        0,   319,   320,   321,     0,   322,   323,   324,   325,     0,
13139      327,   328,   329,   330,     0,     0,   332,     0,   333,   334,
13140     1078,   336,     0,   337,     0,   338,   339,     0,   340,   341,
13141      342,   343,   344,     0,   345,     0,     0,     0,   348,   349,
13142        0,   350,   351,   352,   353,   354,   355,   356,   357,   358,
13143      359,     0,   360,   361,   362,   363,   364,   365,   366,     0,
13144      367,   368,     0,   370,   371,   372,   373,  1080,  1081,     0,
13145     1082,     0,   377,   378,   379,   380,   381,   382,   383,   384,
13146      385,   386,     0,     0,   387,     0,   389,   390,   391,     0,
13147      392,   393,   394,     0,     0,   395,   396,   397,   398,   399,
13148      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
13149      410,  1083,   412,  1084,   414,   415,   416,   417,   418,   419,
13150      420,  2346,     0,   423,     0,   424,   425,   426,   427,     0,
13151        0,   429,  1085,   431,   432,   433,     0,   434,   435,     0,
13152        0,   436,   437,   438,     0,     0,   439,   440,     0,   442,
13153      443,   444,     0,   446,   447,   448,   449,   450,   451,   452,
13154      453,   454,     0,   455,   456,     0,   458,     0,   460,   461,
13155      462,     0,   463,   464,   465,   466,   467,   468,   469,   470,
13156      471,   472,  1086,   474,   475,   476,   477,     0,   478,   479,
13157      480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
13158        0,   490,   491,   492,   493,   494,   495,   496,   497,     0,
13159      499,   500,   501,   502,   503,   504,   505,   506,   507,     0,
13160      508,   509,   510,   511,   512,     0,   513,   514,  1087,   516,
13161      517,   518,   519,   520,  1088,   522,     0,   523,   524,   525,
13162      526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
13163        0,   537,     0,   538,   539,     0,   540,   541,   542,   543,
13164      544,   545,   546,     0,   547,  1089,  1090,     0,     0,   550,
13165      551,     0,   553,     0,     0,   555,   556,   557,   558,   559,
13166      560,   561,   562,     0,     0,   563,   564,   565,   566,   567,
13167        0,     0,   568,   569,   570,   571,   572,     0,  1091,     0,
13168      575,   576,   577,   578,   579,   580,     0,     0,   581,     0,
13169        0,   582,   583,   584,   585,   586,   587,  1069,     0,     0,
13170        0,     0,     0,     0,     0,     0,     0,     0,   599,   600,
13171      601,     0,     0,     0,   229,   230,   231,   232,   233,   234,
13172      235,   236,     0,   237,   238,   239,     0,     0,     0,     0,
13173        0,     0,     0,   240,   241,     0,   242,   243,   244,   245,
13174      246,   247,   248,     0,  1070,   251,  1071,  1072,     0,   254,
13175      255,   256,   257,   258,   259,     0,     0,   260,   261,  1073,
13176     1074,   264,     0,   265,   266,   267,   268,     0,     0,   270,
13177        0,   271,   272,   273,   274,   275,   276,   277,   278,   279,
13178        0,   280,   281,   282,   283,   284,   285,     0,   286,   287,
13179      288,   289,     0,     0,     0,   290,     0,     0,     0,   291,
13180      292,   293,   294,   295,   296,  1075,  1076,   299,     0,   300,
13181        0,   301,   302,   303,   304,   305,   306,     0,   307,   308,
13182      309,   310,     0,     0,   311,   312,  1077,   314,   315,     0,
13183      316,   317,   318,     0,   319,   320,   321,     0,   322,   323,
13184      324,   325,     0,   327,   328,   329,   330,     0,     0,   332,
13185        0,   333,   334,  1078,   336,     0,   337,     0,   338,   339,
13186        0,   340,   341,   342,   343,   344,     0,   345,     0,     0,
13187        0,   348,   349,     0,   350,   351,   352,   353,   354,   355,
13188      356,   357,   358,   359,     0,   360,   361,   362,   363,   364,
13189      365,   366,     0,   367,   368,     0,   370,   371,   372,   373,
13190     1080,  1081,     0,  1082,     0,   377,   378,   379,   380,   381,
13191      382,   383,   384,   385,   386,     0,     0,   387,     0,   389,
13192      390,   391,     0,   392,   393,   394,     0,     0,   395,   396,
13193      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
13194      407,   408,   409,   410,  1083,   412,  1084,   414,   415,   416,
13195      417,   418,   419,   420,  3791,     0,   423,     0,   424,   425,
13196      426,   427,     0,     0,   429,  1085,   431,   432,   433,     0,
13197      434,   435,     0,     0,   436,   437,   438,     0,     0,   439,
13198      440,     0,   442,   443,   444,     0,   446,   447,   448,   449,
13199      450,   451,   452,   453,   454,     0,   455,   456,     0,   458,
13200        0,   460,   461,   462,     0,   463,   464,   465,   466,   467,
13201      468,   469,   470,   471,   472,  1086,   474,   475,   476,   477,
13202        0,   478,   479,   480,   481,   482,   483,   484,   485,   486,
13203      487,   488,   489,     0,   490,   491,   492,   493,   494,   495,
13204      496,   497,     0,   499,   500,   501,   502,   503,   504,   505,
13205      506,   507,     0,   508,   509,   510,   511,   512,     0,   513,
13206      514,  1087,   516,   517,   518,   519,   520,  1088,   522,     0,
13207      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
13208      533,   534,   535,     0,   537,     0,   538,   539,     0,   540,
13209      541,   542,   543,   544,   545,   546,     0,   547,  1089,  1090,
13210        0,     0,   550,   551,     0,   553,     0,     0,   555,   556,
13211      557,   558,   559,   560,   561,   562,     0,     0,   563,   564,
13212      565,   566,   567,     0,     0,   568,   569,   570,   571,   572,
13213        0,  1091,     0,   575,   576,   577,   578,   579,   580,     0,
13214        0,   581,     0,     0,   582,   583,   584,   585,   586,   587,
13215     1069,     0,     0,     0,     0,     0,     0,     0,     0,     0,
13216        0,   599,   600,   601,     0,     0,     0,   229,   230,   231,
13217      232,   233,   234,   235,   236,     0,   237,   238,   239,     0,
13218        0,     0,     0,     0,     0,     0,   240,   241,     0,   242,
13219      243,   244,   245,   246,   247,   248,     0,  1070,   251,  1071,
13220     1072,     0,   254,   255,   256,   257,   258,   259,     0,     0,
13221      260,   261,  1073,  1074,   264,     0,   265,   266,   267,   268,
13222        0,     0,   270,     0,   271,   272,   273,   274,   275,   276,
13223      277,   278,   279,     0,   280,   281,   282,   283,   284,   285,
13224        0,   286,   287,   288,   289,     0,     0,     0,   290,     0,
13225        0,     0,   291,   292,   293,   294,   295,   296,  1075,  1076,
13226      299,     0,   300,     0,   301,   302,   303,   304,   305,   306,
13227        0,   307,   308,   309,   310,     0,     0,   311,   312,  1077,
13228      314,   315,     0,   316,   317,   318,     0,   319,   320,   321,
13229        0,   322,   323,   324,   325,     0,   327,   328,   329,   330,
13230        0,     0,   332,     0,   333,   334,  1078,   336,  5359,   337,
13231        0,   338,   339,     0,   340,   341,   342,   343,   344,     0,
13232      345,     0,     0,     0,   348,   349,     0,   350,   351,   352,
13233      353,   354,   355,   356,   357,   358,   359,     0,   360,   361,
13234      362,   363,   364,   365,   366,     0,   367,   368,     0,   370,
13235      371,   372,   373,  1080,  1081,     0,  1082,     0,   377,   378,
13236      379,   380,   381,   382,   383,   384,   385,   386,     0,     0,
13237      387,     0,   389,   390,   391,     0,   392,   393,   394,     0,
13238        0,   395,   396,   397,   398,   399,   400,   401,   402,   403,
13239      404,   405,   406,   407,   408,   409,   410,  1083,   412,  1084,
13240      414,   415,   416,   417,   418,   419,   420,     0,     0,   423,
13241        0,   424,   425,   426,   427,     0,     0,   429,  1085,   431,
13242      432,   433,     0,   434,   435,     0,     0,   436,   437,   438,
13243        0,     0,   439,   440,     0,   442,   443,   444,     0,   446,
13244      447,   448,   449,   450,   451,   452,   453,   454,     0,   455,
13245      456,     0,   458,     0,   460,   461,   462,     0,   463,   464,
13246      465,   466,   467,   468,   469,   470,   471,   472,  1086,   474,
13247      475,   476,   477,     0,   478,   479,   480,   481,   482,   483,
13248      484,   485,   486,   487,   488,   489,     0,   490,   491,   492,
13249      493,   494,   495,   496,   497,     0,   499,   500,   501,   502,
13250      503,   504,   505,   506,   507,     0,   508,   509,   510,   511,
13251      512,     0,   513,   514,  1087,   516,   517,   518,   519,   520,
13252     1088,   522,     0,   523,   524,   525,   526,   527,   528,   529,
13253      530,   531,   532,   533,   534,   535,     0,   537,     0,   538,
13254      539,     0,   540,   541,   542,   543,   544,   545,   546,     0,
13255      547,  1089,  1090,     0,     0,   550,   551,     0,   553,     0,
13256        0,   555,   556,   557,   558,   559,   560,   561,   562,     0,
13257        0,   563,   564,   565,   566,   567,     0,     0,   568,   569,
13258      570,   571,   572,     0,  1091,     0,   575,   576,   577,   578,
13259      579,   580,     0,     0,   581,     0,     0,   582,   583,   584,
13260      585,   586,   587,  1069,     0,     0,     0,     0,     0,     0,
13261        0,     0,     0,     0,   599,   600,   601,     0,     0,     0,
13262      229,   230,   231,   232,   233,   234,   235,   236,     0,   237,
13263      238,   239,     0,     0,     0,     0,     0,     0,     0,   240,
13264      241,     0,   242,   243,   244,   245,   246,   247,   248,     0,
13265     1070,   251,  1071,  1072,     0,   254,   255,   256,   257,   258,
13266      259,     0,     0,   260,   261,  1073,  1074,   264,     0,   265,
13267      266,   267,   268,     0,     0,   270,     0,   271,   272,   273,
13268      274,   275,   276,   277,   278,   279,     0,   280,   281,   282,
13269      283,   284,   285,     0,   286,   287,   288,   289,     0,     0,
13270        0,   290,     0,     0,     0,   291,   292,   293,   294,   295,
13271      296,  1075,  1076,   299,     0,   300,     0,   301,   302,   303,
13272      304,   305,   306,     0,   307,   308,   309,   310,     0,     0,
13273      311,   312,  1077,   314,   315,     0,   316,   317,   318,     0,
13274      319,   320,   321,     0,   322,   323,   324,   325,     0,   327,
13275      328,   329,   330,     0,     0,   332,     0,   333,   334,  1078,
13276      336,     0,   337,     0,   338,   339,     0,   340,   341,   342,
13277      343,   344,     0,   345,     0,     0,     0,   348,   349,     0,
13278      350,   351,   352,   353,  1079,   355,   356,   357,   358,   359,
13279        0,   360,   361,   362,   363,   364,   365,   366,     0,   367,
13280      368,     0,   370,   371,   372,   373,  1080,  1081,     0,  1082,
13281        0,   377,   378,   379,   380,   381,   382,   383,   384,   385,
13282      386,     0,     0,   387,     0,   389,   390,   391,     0,   392,
13283      393,   394,     0,     0,   395,   396,   397,   398,   399,   400,
13284      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
13285     1083,   412,  1084,   414,   415,   416,   417,   418,   419,   420,
13286        0,     0,   423,     0,   424,   425,   426,   427,     0,     0,
13287      429,  1085,   431,   432,   433,     0,   434,   435,     0,     0,
13288      436,   437,   438,     0,     0,   439,   440,     0,   442,   443,
13289      444,     0,   446,   447,   448,   449,   450,   451,   452,   453,
13290      454,     0,   455,   456,     0,   458,     0,   460,   461,   462,
13291        0,   463,   464,   465,   466,   467,   468,   469,   470,   471,
13292      472,  1086,   474,   475,   476,   477,     0,   478,   479,   480,
13293      481,   482,   483,   484,   485,   486,   487,   488,   489,     0,
13294      490,   491,   492,   493,   494,   495,   496,   497,     0,   499,
13295      500,   501,   502,   503,   504,   505,   506,   507,     0,   508,
13296      509,   510,   511,   512,     0,   513,   514,  1087,   516,   517,
13297      518,   519,   520,  1088,   522,     0,   523,   524,   525,   526,
13298      527,   528,   529,   530,   531,   532,   533,   534,   535,     0,
13299      537,     0,   538,   539,     0,   540,   541,   542,   543,   544,
13300      545,   546,     0,   547,  1089,  1090,     0,     0,   550,   551,
13301        0,   553,     0,     0,   555,   556,   557,   558,   559,   560,
13302      561,   562,     0,     0,   563,   564,   565,   566,   567,     0,
13303        0,   568,   569,   570,   571,   572,     0,  1091,     0,   575,
13304      576,   577,   578,   579,   580,     0,     0,   581,     0,     0,
13305      582,   583,   584,   585,   586,   587,  1069,     0,     0,     0,
13306        0,     0,     0,     0,     0,     0,     0,   599,   600,   601,
13307        0,     0,     0,   229,   230,   231,   232,   233,   234,   235,
13308      236,     0,   237,   238,   239,     0,     0,     0,     0,     0,
13309        0,     0,   240,   241,     0,   242,   243,   244,   245,   246,
13310      247,   248,     0,  1070,   251,  1071,  1072,     0,   254,   255,
13311      256,   257,   258,   259,     0,     0,   260,   261,  1073,  1074,
13312      264,     0,   265,   266,   267,   268,     0,     0,   270,     0,
13313      271,   272,   273,   274,   275,   276,   277,   278,   279,     0,
13314      280,   281,   282,   283,   284,   285,     0,   286,   287,   288,
13315      289,     0,     0,     0,   290,     0,     0,     0,   291,   292,
13316      293,   294,   295,   296,  1075,  1076,   299,     0,   300,     0,
13317      301,   302,   303,   304,   305,   306,     0,   307,   308,   309,
13318      310,     0,     0,   311,   312,  1077,   314,   315,     0,   316,
13319      317,   318,     0,   319,   320,   321,     0,   322,   323,   324,
13320      325,     0,   327,   328,   329,   330,     0,     0,   332,     0,
13321      333,   334,  1078,   336,     0,   337,     0,   338,   339,     0,
13322      340,   341,   342,   343,   344,     0,   345,     0,     0,     0,
13323      348,   349,     0,   350,   351,   352,   353,  1137,   355,   356,
13324      357,   358,   359,     0,   360,   361,   362,   363,   364,   365,
13325      366,     0,   367,   368,     0,   370,   371,   372,   373,  1080,
13326     1081,     0,  1082,     0,   377,   378,   379,   380,   381,   382,
13327      383,   384,   385,   386,     0,     0,   387,     0,   389,   390,
13328      391,     0,   392,   393,   394,     0,     0,   395,   396,   397,
13329      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
13330      408,   409,   410,  1083,   412,  1084,   414,   415,   416,   417,
13331      418,   419,   420,     0,     0,   423,     0,   424,   425,   426,
13332      427,     0,     0,   429,  1085,   431,   432,   433,     0,   434,
13333      435,     0,     0,   436,   437,   438,     0,     0,   439,   440,
13334        0,   442,   443,   444,     0,   446,   447,   448,   449,   450,
13335      451,   452,   453,   454,     0,   455,   456,     0,   458,     0,
13336      460,   461,   462,     0,   463,   464,   465,   466,   467,   468,
13337      469,   470,   471,   472,  1086,   474,   475,   476,   477,     0,
13338      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
13339      488,   489,     0,   490,   491,   492,   493,   494,   495,   496,
13340      497,     0,   499,   500,   501,   502,   503,   504,   505,   506,
13341      507,     0,   508,   509,   510,   511,   512,     0,   513,   514,
13342     1087,   516,   517,   518,   519,   520,  1088,   522,     0,   523,
13343      524,   525,   526,   527,   528,   529,   530,   531,   532,   533,
13344      534,   535,     0,   537,     0,   538,   539,     0,   540,   541,
13345      542,   543,   544,   545,   546,     0,   547,  1089,  1090,     0,
13346        0,   550,   551,     0,   553,     0,     0,   555,   556,   557,
13347      558,   559,   560,   561,   562,     0,     0,   563,   564,   565,
13348      566,   567,     0,     0,   568,   569,   570,   571,   572,     0,
13349     1091,     0,   575,   576,   577,   578,   579,   580,     0,     0,
13350      581,     0,     0,   582,   583,   584,   585,   586,   587,  1069,
13351        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
13352      599,   600,   601,     0,     0,     0,   229,   230,   231,   232,
13353      233,   234,   235,   236,     0,   237,   238,   239,     0,     0,
13354        0,     0,     0,     0,     0,   240,   241,     0,   242,   243,
13355      244,   245,   246,   247,   248,     0,  1070,   251,  1071,  1072,
13356        0,   254,   255,   256,   257,   258,   259,     0,     0,   260,
13357      261,  1073,  1074,   264,     0,   265,   266,   267,   268,     0,
13358        0,   270,     0,   271,   272,   273,   274,   275,   276,   277,
13359      278,   279,     0,   280,   281,   282,   283,   284,   285,     0,
13360      286,   287,   288,   289,     0,     0,     0,   290,     0,     0,
13361        0,   291,   292,   293,   294,   295,   296,  1075,  1076,   299,
13362        0,   300,     0,   301,   302,   303,   304,   305,   306,     0,
13363      307,   308,   309,   310,     0,     0,   311,   312,  1077,   314,
13364      315,     0,   316,   317,   318,     0,   319,   320,   321,     0,
13365      322,   323,   324,   325,     0,   327,   328,   329,   330,     0,
13366        0,   332,     0,   333,   334,  1078,   336,     0,   337,     0,
13367      338,   339,     0,   340,   341,   342,   343,   344,     0,   345,
13368        0,     0,     0,   348,   349,     0,   350,   351,   352,   353,
13369      354,   355,   356,   357,   358,   359,     0,   360,   361,   362,
13370      363,   364,   365,   366,     0,   367,   368,     0,   370,   371,
13371      372,   373,  1080,  1081,     0,  1082,     0,   377,   378,   379,
13372      380,   381,   382,   383,   384,   385,   386,     0,     0,   387,
13373        0,   389,   390,   391,     0,   392,   393,   394,     0,     0,
13374      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
13375      405,   406,   407,   408,   409,   410,  1083,   412,  1084,   414,
13376      415,   416,   417,   418,   419,   420,     0,     0,   423,     0,
13377      424,   425,   426,   427,     0,     0,   429,  1085,   431,   432,
13378      433,     0,   434,   435,     0,     0,   436,   437,   438,     0,
13379        0,   439,   440,     0,   442,   443,   444,     0,   446,   447,
13380      448,   449,   450,   451,   452,   453,   454,     0,   455,   456,
13381        0,   458,     0,   460,   461,   462,     0,   463,   464,   465,
13382      466,   467,   468,   469,   470,   471,   472,  1086,   474,   475,
13383      476,   477,     0,   478,   479,   480,   481,   482,   483,   484,
13384      485,   486,   487,   488,   489,     0,   490,   491,   492,   493,
13385      494,   495,   496,   497,     0,   499,   500,   501,   502,   503,
13386      504,   505,   506,   507,     0,   508,   509,   510,   511,   512,
13387        0,   513,   514,  1087,   516,   517,   518,   519,   520,  1088,
13388      522,     0,   523,   524,   525,   526,   527,   528,   529,   530,
13389      531,   532,   533,   534,   535,     0,   537,     0,   538,   539,
13390        0,   540,   541,   542,   543,   544,   545,   546,     0,   547,
13391     1089,  1090,     0,     0,   550,   551,     0,   553,     0,     0,
13392      555,   556,   557,   558,   559,   560,   561,   562,     0,     0,
13393      563,   564,   565,   566,   567,     0,     0,   568,   569,   570,
13394      571,   572,     0,  1091,     0,   575,   576,   577,   578,   579,
13395      580,     0,     0,   581,     0,     0,   582,   583,   584,   585,
13396      586,   587,  1069,     0,     0,     0,     0,     0,     0,     0,
13397        0,     0,     0,   599,   600,   601,     0,     0,     0,   229,
13398      230,   231,   232,   233,   234,   235,   236,     0,   237,   238,
13399      239,     0,     0,     0,     0,     0,     0,     0,   240,   241,
13400        0,   242,   243,   244,   245,   246,   247,   248,     0,  1070,
13401      251,  1071,  1072,     0,   254,   255,   256,   257,   258,   259,
13402        0,     0,   260,   261,  1073,  1074,   264,     0,   265,   266,
13403      267,   268,     0,     0,   270,     0,   271,   272,   273,   274,
13404      275,   276,   277,   278,   279,     0,   280,   281,   282,   283,
13405      284,   285,     0,   286,   287,   288,   289,     0,     0,     0,
13406      290,     0,     0,     0,   291,   292,   293,   294,   295,   296,
13407     1075,  1076,   299,     0,   300,     0,   301,   302,   303,   304,
13408      305,   306,     0,   307,   308,   309,   310,     0,     0,   311,
13409      312,  1077,   314,   315,     0,   316,   317,   318,     0,   319,
13410      320,   321,     0,   322,   323,   324,   325,     0,   327,   328,
13411      329,   330,     0,     0,   332,     0,   333,   334,  1078,   336,
13412        0,   337,     0,   338,   339,     0,   340,   341,   342,   343,
13413      344,     0,   345,     0,     0,     0,   348,   349,     0,   350,
13414      351,   352,   353,   354,   355,   356,   357,   358,   359,     0,
13415      360,   361,   362,   363,   364,   365,   366,     0,   367,   368,
13416        0,   370,   371,   372,   373,  1080,  1081,     0,  1082,     0,
13417      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
13418        0,     0,   387,     0,   389,   390,   391,     0,   392,   393,
13419      394,     0,     0,   395,   396,   397,   398,   399,   400,   401,
13420      402,   403,   404,   405,   406,   407,   408,   409,   410,  1083,
13421      412,  1084,   414,   415,   416,   417,   418,   419,   420,     0,
13422        0,   423,     0,   424,   425,   426,   427,     0,     0,   429,
13423     1085,   431,   432,   433,     0,   434,   435,     0,     0,   436,
13424      437,   438,     0,     0,   439,   440,     0,   442,   443,   444,
13425        0,   446,   447,   448,   449,   450,   451,   452,   453,   454,
13426        0,   455,   456,     0,   458,     0,   460,   461,   462,     0,
13427      463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
13428     1086,   474,   475,   476,   477,     0,   478,   479,   480,   481,
13429      482,   483,   484,   485,   486,   487,   488,   489,     0,   490,
13430      491,   492,   493,   494,   495,   496,   497,     0,   499,   500,
13431      501,   502,   503,   504,   505,   506,   507,     0,   508,   509,
13432      510,   511,   512,     0,   513,   514,  2178,   516,   517,   518,
13433      519,   520,  1088,   522,     0,   523,   524,   525,   526,   527,
13434      528,   529,   530,   531,   532,   533,   534,   535,     0,   537,
13435        0,   538,   539,     0,   540,   541,   542,   543,   544,   545,
13436      546,     0,   547,  1089,  1090,     0,     0,   550,   551,     0,
13437      553,     0,     0,   555,   556,   557,   558,   559,   560,   561,
13438      562,     0,     0,   563,   564,   565,   566,   567,     0,     0,
13439      568,   569,   570,   571,   572,     0,  1091,     0,   575,   576,
13440      577,   578,   579,   580,     0,     0,   581,     0,     0,   582,
13441      583,   584,   585,   586,   587,  1069,     0,     0,     0,     0,
13442        0,     0,     0,     0,     0,     0,   599,   600,   601,     0,
13443        0,     0,   229,   230,   231,   232,   233,   234,   235,   236,
13444        0,   237,   238,   239,     0,     0,     0,     0,     0,     0,
13445        0,   240,   241,     0,   242,   243,   244,   245,   246,   247,
13446      248,     0,  1070,   251,  1071,  1072,     0,   254,   255,   256,
13447      257,   258,   259,     0,     0,   260,   261,  1073,  1074,   264,
13448        0,   265,   266,   267,   268,     0,     0,   270,     0,   271,
13449      272,   273,   274,   275,   276,   277,   278,   279,     0,   280,
13450      281,   282,   283,   284,   285,     0,   286,   287,   288,   289,
13451        0,     0,     0,   290,     0,     0,     0,   291,   292,   293,
13452      294,   295,   296,  1075,  1076,   299,     0,   300,     0,   301,
13453      302,   303,   304,   305,   306,     0,   307,   308,   309,   310,
13454        0,     0,   311,   312,  1077,   314,   315,     0,   316,   317,
13455      318,     0,   319,   320,   321,     0,   322,   323,   324,   325,
13456        0,   327,   328,   329,   330,     0,     0,   332,     0,   333,
13457      334,  1078,   336,     0,   337,     0,   338,   339,     0,   340,
13458      341,   342,   343,   344,     0,   345,     0,     0,     0,   348,
13459      349,     0,   350,   351,   352,   353,   354,   355,   356,   357,
13460      358,   359,     0,   360,   361,   362,   363,   364,   365,   366,
13461        0,   367,   368,     0,   370,   371,   372,   373,  1080,  1081,
13462        0,  1082,     0,   377,   378,   379,   380,   381,   382,   383,
13463      384,   385,   386,     0,     0,   387,     0,   389,   390,   391,
13464        0,   392,   393,   394,     0,     0,   395,   396,   397,   398,
13465      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
13466      409,   410,  1083,   412,  1084,   414,   415,   416,   417,   418,
13467      419,   420,     0,     0,   423,     0,   424,   425,   426,   427,
13468        0,     0,   429,  1085,   431,   432,   433,     0,   434,   435,
13469        0,     0,   436,   437,   438,     0,     0,   439,   440,     0,
13470      442,   443,   444,     0,   446,   447,   448,   449,   450,   451,
13471      452,   453,   454,     0,   455,   456,     0,   458,     0,   460,
13472      461,   462,     0,   463,   464,   465,   466,   467,   468,   469,
13473      470,   471,   472,  1086,   474,   475,   476,   477,     0,   478,
13474      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
13475      489,     0,   490,   491,   492,   493,   494,   495,   496,   497,
13476        0,   499,   500,   501,   502,   503,   504,   505,   506,   507,
13477        0,   508,   509,   510,   511,   512,     0,   513,   514,     0,
13478      516,   517,   518,   519,   520,  1088,   522,     0,   523,   524,
13479      525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
13480      535,     0,   537,     0,   538,   539,     0,   540,   541,   542,
13481      543,   544,   545,   546,     0,   547,  1089,  1090,     0,     0,
13482      550,   551,     0,   553,     0,     0,   555,   556,   557,   558,
13483      559,   560,   561,   562,     0,     0,   563,   564,   565,   566,
13484      567,     0,     0,   568,   569,   570,   571,   572,     0,  1091,
13485        0,   575,   576,   577,   578,   579,   580,     0,     0,   581,
13486        0,     0,   582,   583,   584,   585,   586,   587,  1069,     0,
13487        0,     0,     0,     0,     0,     0,     0,     0,     0,   599,
13488      600,   601,     0,     0,     0,   229,   230,   231,   232,   233,
13489      234,   235,   236,     0,   237,   238,   239,     0,     0,     0,
13490        0,     0,     0,     0,   240,   241,     0,   242,   243,   244,
13491      245,   246,   247,   248,     0,     0,   251,     0,     0,     0,
13492      254,   255,   256,   257,   258,   259,     0,     0,   260,   261,
13493        0,     0,   264,     0,   265,   266,   267,   268,     0,     0,
13494      270,     0,   271,   272,   273,   274,   275,   276,   277,   278,
13495      279,     0,   280,   281,   282,   283,   284,   285,     0,   286,
13496      287,   288,   289,     0,     0,     0,   290,     0,     0,     0,
13497      291,   292,   293,   294,   295,   296,     0,     0,   299,     0,
13498      300,     0,   301,   302,   303,   304,   305,   306,     0,   307,
13499      308,   309,   310,     0,     0,   311,   312,   313,   314,   315,
13500        0,   316,   317,   318,     0,   319,   320,   321,     0,   322,
13501      323,   324,   325,     0,   327,   328,   329,   330,     0,     0,
13502      332,     0,   333,   334,     0,   336,     0,   337,     0,   338,
13503      339,     0,   340,   341,   342,   343,   344,     0,   345,     0,
13504        0,     0,   348,   349,     0,   350,   351,   352,   353,   354,
13505      355,   356,   357,   358,   359,     0,   360,   361,   362,   363,
13506      364,   365,   366,     0,   367,   368,     0,   370,   371,   372,
13507      373,     0,     0,     0,     0,     0,   377,   378,   379,   380,
13508      381,   382,   383,   384,   385,   386,     0,     0,   387,     0,
13509      389,   390,   391,     0,   392,   393,   394,     0,     0,   395,
13510      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
13511      406,   407,   408,   409,   410,     0,   412,     0,   414,   415,
13512      416,   417,   418,   419,   420,     0,     0,   423,     0,   424,
13513      425,   426,   427,     0,     0,   429,     0,   431,   432,   433,
13514        0,   434,   435,     0,     0,   436,   437,   438,     0,     0,
13515      439,   440,     0,   442,   443,   444,     0,   446,   447,   448,
13516      449,   450,   451,   452,   453,   454,     0,   455,   456,     0,
13517      458,     0,   460,   461,   462,     0,   463,   464,   465,   466,
13518      467,   468,   469,   470,   471,   472,     0,   474,   475,   476,
13519      477,     0,   478,   479,   480,   481,   482,   483,   484,   485,
13520      486,   487,   488,   489,     0,   490,   491,   492,   493,   494,
13521      495,   496,   497,     0,   499,   500,   501,   502,   503,   504,
13522      505,   506,   507,     0,   508,   509,   510,   511,   512,     0,
13523      513,   514,     0,   516,   517,   518,   519,   520,     0,   522,
13524        0,   523,   524,   525,   526,   527,   528,   529,   530,   531,
13525      532,   533,   534,   535,     0,   537,     0,   538,   539,     0,
13526      540,   541,   542,   543,   544,   545,   546,     0,   547,     0,
13527        0,     0,     0,   550,   551,     0,   553,     0,     0,   555,
13528      556,   557,   558,   559,   560,   561,   562,     0,     0,   563,
13529      564,   565,   566,   567,     0,     0,   568,   569,   570,   571,
13530      572,     0,     0,     0,   575,   576,   577,   578,   579,   580,
13531        0,     0,   581,     0,     0,   582,   583,   584,   585,   586,
13532      587,     0,     0,     0,     0,     0,     0,     0,     0,     0,
13533        0,     0,   599,   600,   601
13534 };
13535 
13536 static const yytype_int16 yycheck[] =
13537 {
13538        6,   205,     0,    44,   205,     0,   918,    22,    51,   637,
13539      183,  1160,     0,    28,     0,   799,    45,    23,    36,    25,
13540        0,  1562,   711,    29,   935,   797,    21,  1117,    34,    35,
13541       36,   848,    38,  1497,  1435,    41,    42,  1087,    44,   859,
13542       46,   749,   750,   751,   885,   944,  1182,   755,   200,   950,
13543      919,  2517,   821,  1481,  2716,  1474,   208,   946,  2882,   211,
13544     1075,  1076,  2409,     6,  2589,   822,    13,  1032,  2345,  1214,
13545     1085,  1090,  3064,   806,  1486,    23,  1723,  3683,   191,  2932,
13546     1481,  1973,  3037,  2182,  2183,  2530,  1802,  2430,    36,  3333,
13547     3363,  2692,   628,   670,   948,  1006,    18,  3287,  1992,  1010,
13548        8,  3090,   871,  3092,  1015,  1627,   210,    15,     0,  3637,
13549     2941,   884,  3581,  3611,  1025,  3352,  3298,     0,  3959,  3679,
13550      224,  3735,  3380,   716,   691,  3383,   170,   694,  1039,    21,
13551     1594,  1595,   185,  3976,  3964,   706,   909,  3920,   775,  3770,
13552     2906,   914,  3617,   679,  2081,    35,   185,  2808,  2037,  1464,
13553     4589,     0,    42,     0,     0,  4481,     0,  1068,  4473,    50,
13554     2148,  1413,  2146,  4751,     0,  3659,  2835,  1814,  2951,  4792,
13555       41,  4804,     0,     0,     0,  4424,  1588,     0,   219,     0,
13556     3963,     0,  2879,     0,   953,   191,   192,   193,   194,  1905,
13557      196,  3350,  2014,  2114,   200,  4663,   202,   845,   845,   205,
13558      670,  4228,   208,  1615,  2125,   211,  3542,     0,   214,  1524,
13559      216,  1360,  4605,   219,  4607,    11,  3616,   223,  3618,   225,
13560        0,     0,     6,  4472,    13,   802,  1541,     0,    59,  1244,
13561     1245,    11,     6,     0,    37,  2932,    51,  4705,     6,  1625,
13562     1626,  4712,  4713,  2520,  1021,    31,     6,   717,    28,    59,
13563     1265,     6,    28,    59,     6,     0,  1275,    44,  5003,    13,
13564     1037,  5027,     6,  2476,   869,  2478,    11,    44,     5,  2482,
13565       81,  2484,  2485,   114,    11,   161,     6,    28,  1073,  1074,
13566     2493,  2494,  2495,    28,  2945,     6,  1106,     0,    42,  1084,
13567       89,   999,     6,    34,     6,     6,     6,   173,   918,   147,
13568     4101,    15,    16,    41,   909,    15,    16,   927,    21,   914,
13569       41,    31,     6,    74,    76,  3039,     6,   937,   259,  1160,
13570       74,   116,   693,    28,    86,    15,    16,   166,     6,  1427,
13571       35,   119,   802,     5,   169,   178,   707,    11,    51,    11,
13572      114,   107,   166,   119,     6,    94,  3977,    86,   166,   146,
13573     4737,    59,   298,   278,   146,  2632,   826,  2634,   166,   273,
13574     4048,  4049,   166,  4051,  4052,  4053,  4054,  4055,    59,   839,
13575      273,   284,    64,   166,   312,    29,   273,   279,    59,  3683,
13576      279,   259,    59,   279,   298,   194,   166,   166,   116,   114,
13577      352,   309,   166,   166,   116,   298,   160,   190,    28,   166,
13578     5344,   298,    59,   324,   267,    35,  5029,    24,    24,  1046,
13579      190,   190,  1377,    30,   143,   118,   204,   190,   167,  5411,
13580     5412,   166,     3,   190,     5,     6,    28,   430,   204,   348,
13581       11,   350,   158,    35,   166,   828,   637,  5203,  1233,  1234,
13582      408,    93,   293,   440,  1343,   190,   114,   446,   145,  5194,
13583       59,   200,   332,  4921,  1355,    76,   320,   166,    76,   449,
13584     4267,   475,  1525,    76,   348,  1260,   215,  4274,    86,   333,
13585       65,    66,   185,    86,   488,  4868,   225,    24,  4793,  1542,
13586      315,   190,   472,   486,   452,   365,   214,   688,     6,   486,
13587      408,   490,   411,   161,   220,   192,    76,   361,  1548,   228,
13588     1341,    76,   251,    22,    13,  1346,  1347,   338,   211,   372,
13589      394,   166,   347,    13,   365,    76,   133,   133,    68,  1360,
13590      172,   442,  5514,    76,   486,   360,  1295,   468,   338,   167,
13591     1387,   635,   338,   114,   452,   263,    86,   641,   337,   166,
13592      486,   305,    42,   268,    76,  5489,   268,   449,   486,   335,
13593      654,   205,   166,   449,  1323,   454,   434,   166,    13,  1413,
13594      395,   486,   348,  1200,   350,  1142,  5332,   259,   135,  1162,
13595      358,   368,   486,  3297,    74,  1476,   368,   490,   121,  5202,
13596     3770,  4968,   358,   486,   119,   394,   133,    42,   406,   486,
13597      268,   434,   320,   342,   144,   183,   362,   445,   406,    10,
13598      486,  4745,    13,   190,  5192,  3795,    17,    18,    19,   420,
13599      616,  1452,   107,   163,   490,   335,   622,    13,   624,    74,
13600      626,  1462,   628,   621,   630,   411,   621,   146,   209,   406,
13601      338,   637,   406,   621,   475,   621,   642,   432,   644,  5405,
13602      428,   621,  1219,   394,   406,   651,  1557,   338,   435,  1560,
13603      231,   490,   428,   391,  4123,   439,  5401,   338,   435,   490,
13604      391,   338,  5133,  1761,  4162,   406,   490,   406,  4166,   675,
13605      375,   486,  1142,   679,   717,   848,  4151,   721,   684,  1368,
13606      490,   338,   688,   486,   490,   691,   490,  3931,   694,   485,
13607     1160,   490,  2078,   482,  3686,   617,   489,   477,   478,  1568,
13608     5323,   475,   486,  5336,   710,  5471,  5021,  2984,  1549,   489,
13609      489,  1552,  1553,  4207,   488,   730,   489,   732,   486,   734,
13610      761,   716,   489,   484,  1623,   740,   486,   488,   482,  3973,
13611     4066,   486,   477,   478,   486,  3972,  1625,  1626,  1627,  1512,
13612      477,   478,   486,   352,   489,   375,  5512,  1395,  1395,  1219,
13613     4150,  4552,  4152,  1124,  1531,   761,   486,   451,   490,  1152,
13614      310,  1338,   490,   484,  4908,   486,   970,   488,   715,   970,
13615      776,  3953,   486,   375,   486,   486,   486,   449,   472,   190,
13616       28,   822,   490,   836,  5407,   406,   140,  3977,   406,   451,
13617      796,   797,   486,   799,   800,  5263,   486,   836,   804,   490,
13618      472,   212,  1579,   477,   478,   477,   478,  1943,  5276,   490,
13619      472,   852,   818,   490,   966,  1632,   822,  1188,   365,  1909,
13620      972,    27,   828,   975,   486,   717,   406,   868,  1199,   348,
13621     1450,   406,   441,   490,   840,   490,   744,  3184,  4526,  5232,
13622      838,  3510,   955,   838,  1215,   406,   852,  5470,   486,   368,
13623      838,  2263,   838,   406,  4468,  2954,  1871,  2956,   838,   486,
13624     1950,    36,   868,  4022,   382,   383,  2294,  1472,  1338,   280,
13625     4897,  1961,   486,   423,   406,  5201,  1346,  1347,   445,  3324,
13626      886,   428,   114,  5198,   161,   891,   892,   430,  3671,  3881,
13627     1360,  1519,  1512,   428,  1735,  4904,   477,   478,   486,   394,
13628      210,  1294,    72,   490,  1758,   166,   168,    59,   621,  5377,
13629      284,  3608,     6,   107,  3611,  5503,   114,   923,   924,   430,
13630     1525,   352,   109,   440,  2912,  3880,  5175,  2911,  2340,   800,
13631      298,   107,   279,   804,    83,   279,    24,  1542,   829,   114,
13632      946,   947,  2194,  2465,   107,    10,   838,    28,  5197,   955,
13633      107,   175,    17,    18,    19,   838,  2778,  2779,  5102,   166,
13634      966,  2783,   168,  5107,   970,   319,   972,     6,  2283,   975,
13635      479,   480,   481,   482,  2895,   486,   125,    68,   861,   479,
13636      480,   481,   482,   190,   990,     6,  3683,  3264,  3265,   838,
13637        6,   838,   838,   343,   838,   182,  3657,  2886,  2820,  2821,
13638     4783,  5440,   838,   716,   717,  2942,  1012,  5333,  1401,  5324,
13639      838,   838,   838,  1019,  1020,   838,     3,   838,   280,   838,
13640      278,   838,   477,   478,   479,   480,   481,   482,  2569,  3795,
13641      309,    24,  4638,   923,   924,  1041,  1042,  1043,     3,  1045,
13642      243,  1047,  1048,  1049,  3999,   133,    24,   128,   109,  4680,
13643     3263,  1846,  1847,   144,   302,   486,   243,   334,  2207,   246,
13644      292,   119,   473,   474,   475,   263,   477,   478,   479,   480,
13645      481,   482,   163,   108,  4543,   133,   107,    32,    33,   429,
13646     3357,   477,   478,   479,   480,   481,   482,  5413,   114,  3942,
13647     1991,  5417,   732,   733,   734,  5104,  4594,   737,   738,   739,
13648      278,  4599,   449,  1811,  4602,   449,   276,   747,   314,   284,
13649      119,  1117,   360,  1119,  1120,  4590,   490,   284,   486,   343,
13650       85,   182,   384,   836,   218,   838,   358,   114,  2178,   408,
13651       51,  1053,   486,  2034,   168,   273,   119,     6,    93,   486,
13652      133,   167,    40,  5469,   350,   406,  1152,   296,    83,    59,
13653      398,   348,   400,   356,   352,   133,  4986,  2014,   113,   194,
13654      298,   619,   394,   182,    24,  2022,   167,  1162,  2587,   356,
13655       28,     3,   137,   452,  1958,  1959,  1182,  1183,  5019,  2080,
13656      490,  1187,   243,  1189,   105,   246,   338,  5513,  3287,  2078,
13657      125,  2045,   147,  5023,    83,   204,  5039,  4470,     3,  1205,
13658      394,     6,  4985,   409,   436,  1211,   294,  5533,  1214,   415,
13659     5536,  1217,     3,  4457,   475,   280,    49,   449,   394,   310,
13660      163,   204,    37,  1912,   243,  1231,  4463,   488,   259,   268,
13661     4222,   394,   264,   366,    25,  4493,   125,   394,   264,  5022,
13662      472,    56,   449,   171,   332,  3942,   280,   268,   177,   307,
13663      399,  1294,   268,    85,   486,   713,  1262,  1165,   317,  1167,
13664     1949,  1169,  2031,  1171,  1953,  1173,  1174,  1175,  1957,   234,
13665      128,  1960,  1180,   133,  1845,  4264,   263,   365,  3377,  2136,
13666      467,   268,   203,  4587,  1290,  1291,  1292,  2369,  1294,   486,
13667      188,   106,    24,  2182,    85,   356,   297,  1833,    30,   486,
13668      475,   294,   178,   231,   109,   137,   484,  1874,  1314,   484,
13669      488,   486,   487,   488,   406,   490,   294,   352,  1519,  1363,
13670      487,  4625,  1889,   490,   394,  1892,  1919,  1380,  1381,   294,
13671     1383,  1902,   423,   791,  4638,  4895,   293,   356,   259,   332,
13672     2194,  1380,  1381,   216,  1383,   433,  1352,   138,   486,   259,
13673      116,   332,   185,   486,   332,   240,  1397,   190,   393,   394,
13674       34,   296,  4831,   118,  2446,   190,  4864,   332,   406,    13,
13675      371,   336,   365,   328,  4205,  2159,  1382,   182,   193,   365,
13676     1386,  1387,   217,   259,  2012,  1952,   259,   365,  1955,  1956,
13677      319,  1397,  1398,  1399,   227,  1401,   428,   294,   490,   190,
13678      365,   133,   234,   358,   430,   196,   467,   296,   473,   474,
13679      475,  5025,   477,   478,   479,   480,   481,   482,  1424,   428,
13680      349,     3,   282,   168,    37,   406,   241,   486,   338,   244,
13681       74,   414,   397,   354,   399,   332,   216,   106,   243,   394,
13682       28,   246,  4043,    56,   259,   428,  1839,   320,   214,  1162,
13683     1920,   486,   490,  1459,  4923,   365,   211,   408,  1464,  4928,
13684     4929,  1467,   294,  3988,   399,  4162,   486,  2379,   365,  4166,
13685      398,  2325,   400,   147,  1480,  1481,   336,   337,   293,   259,
13686      147,   436,     0,  1489,   449,   440,  1492,    26,    86,  5095,
13687     4680,    79,   126,   106,   449,   368,  2350,   263,   426,    87,
13688     4804,    97,   136,    85,   490,   365,  1877,   332,    47,   300,
13689      399,   336,   365,  1519,  1227,  1521,   114,   472,  1524,    38,
13690     1891,  4794,   337,  1163,   147,  1447,  1166,   115,  1168,    83,
13691     1170,   486,  1172,  1904,  1247,  1541,  1176,   370,  1544,  2629,
13692      365,  1547,  2383,  1584,   359,  4782,   108,   128,   178,   130,
13693     2391,   356,   343,  2394,   320,   428,   138,  2411,   434,   489,
13694      348,  3908,   294,  1569,   379,   397,  1279,   399,    24,   314,
13695      490,   125,   241,   158,    30,   244,  2465,  5105,  1584,   175,
13696      193,  1294,   170,   332,    83,  2439,   394,  4769,   368,   486,
13697     1596,  1597,  1598,  1599,  1600,   183,  3943,  1990,  3492,  1992,
13698      332,   392,  2359,  2360,   123,  1998,  2363,   195,  1614,  3952,
13699       60,  2004,  2005,  2006,   196,   358,   365,   259,    68,  1625,
13700     1626,  1627,  2015,  2016,   449,  3166,   125,  2020,   241,   259,
13701      421,   244,   194,   365,   117,  3054,   116,   490,   429,   143,
13702      428,   432,  2459,  2460,  2461,  2115,   259,   472,   428,  2426,
13703     1533,   394,   282,   365,  3867,  1538,  2429,  2511,  3871,  3872,
13704      294,  3874,   467,   259,  2200,   263,   205,  1380,  1381,   254,
13705     1383,  3770,   487,  2293,    34,    68,   178,   133,   486,   128,
13706      293,   130,  1886,   282,  1885,  1886,  4637,   334,   325,  2600,
13707      332,   358,   273,   436,  4645,   294,  3795,   430,   332,  3521,
13708     3522,  3523,  3524,   186,   208,  3527,  3528,  3529,  3530,  3531,
13709     3532,  3533,  3534,  3535,  3536,  3431,  1829,  1723,   300,  1725,
13710      393,   114,  3244,  1875,   337,   237,  1609,   394,  3250,  5257,
13711     1613,  1737,  1738,   332,   214,   358,  4013,  2207,  4015,    15,
13712       16,  3633,   296,   486,  5329,  5330,   359,  4739,     5,  2526,
13713      161,  1757,   312,   486,    11,  5028,   429,   259,  5002,  2379,
13714      411,   172,  5066,   294,  3586,  3587,   379,   114,  2525,   436,
13715     1776,   394,  2549,  2550,  2551,  2552,  3188,   170,   490,   190,
13716      284,   231,   449,   263,  2561,   117,  1792,  1793,  1794,  1795,
13717      352,  5095,   294,   381,  2414,   116,   384,   296,   435,  1805,
13718     5037,   156,   449,   150,   434,   472,  1812,   403,  1814,  2586,
13719     5416,  2012,   156,   436,   263,   358,   156,   161,  5000,   486,
13720     1826,  3233,   171,  1829,   273,   472,   449,  1833,  2448,  2365,
13721      332,   393,   394,  1839,   365,  5017,   183,   449,   294,   421,
13722      320,  2682,   441,   490,   284,   399,    76,   429,   272,   472,
13723      432,   394,    13,  2989,   186,   442,    86,    85,  4520,   168,
13724      472,  4816,   156,   486,  2618,  2619,  2620,   161,  1874,  1875,
13725      263,  2579,  5054,   228,   486,   268,   332,   198,  3977,  1885,
13726     1886,    42,   231,  1889,   228,   397,  1892,  5472,   228,   293,
13727     4587,   240,   201,   436,   374,  3359,  5200,  4594,   126,   117,
13728      399,   324,  4599,  1909,  1910,  4602,   449,   293,   136,   365,
13729     1916,  5517,  1918,    74,   426,   355,   263,   310,   422,   449,
13730     2291,  2778,  2779,  5196,  1919,  4914,  2783,  1968,  4625,   472,
13731      341,   275,   434,   326,   228,   275,   359,  1943,   259,   451,
13732      350,  4638,   263,   486,  1950,  2799,  1952,  2962,   449,  1955,
13733     1956,  2805,  1958,  1959,  5212,  1961,   294,  4423,  5195,  4677,
13734      490,   365,  1968,  2820,  2821,  1983,  4243,  4244,   186,  1975,
13735     4632,   394,  4634,   355,   486,  1973,  1982,  1983,  1973,   365,
13736     1986,   275,    45,   218,  1990,  1973,  1992,  1973,  4812,   490,
13737     2679,  1997,  1998,  1973,   332,  5177,  4462,  4442,  2004,  2005,
13738     2006,   411,  4720,  2009,    67,  2011,  2012,  2013,  2014,  2015,
13739     2016,  2017,  2018,  1533,  2020,  2592,  2022,  2023,  1538,   442,
13740     2026,  1929,   486,  1931,   350,  1933,   263,  1935,  1920,  1937,
13741      423,   268,  5336,  1941,  1982,  2041,  2042,  2043,  2044,   161,
13742     3687,   324,  2048,  2049,   406,  2249,  2887,  2053,  2249,   398,
13743     2056,   400,  5325,  2059,  2060,  2061,  2062,  2063,  2064,  2065,
13744     2066,  2067,   184,  2069,  2881,  4412,   294,  1989,   449,  2075,
13745     2076,  2648,  2078,  2710,  2711,   242,   359,   426,  3900,  2085,
13746     4957,   318,  4959,   167,   162,   411,  4963,  4964,   449,  1609,
13747      294,   472,   143,  1613,  5338,  2247,  5051,   484,  2250,  2251,
13748      328,   488,    26,   237,   332,   156,  5410,  4804,  2114,   490,
13749      161,   394,  5416,   475,   348,  2121,   200,  5109,   196,  2125,
13750     2126,    88,  2592,    47,   328,   143,   488,  2240,   332,   490,
13751     2136,   215,  2952,  5406,  5316,  5012,   294,   365,   156,  2145,
13752     2146,   225,  4966,   161,   294,   486,   380,   337,   171,   278,
13753       68,  2884,  2545,  2159,   283,  5008,    74,   208,   161,   442,
13754     2166,   365,  2168,   130,   451,   411,  2164,  4864,    86,   294,
13755     4383,  3040,  4385,  4386,   332,   365,  4389,   228,  2648,   485,
13756       10,   184,   332,    13,   490,   472,  2290,    17,    18,    19,
13757      208,  2209,  2207,  2211,  2200,   411,   114,  3066,   116,   486,
13758      336,  3742,  3338,  2209,    34,  2211,  1919,   332,   231,  2602,
13759      228,   336,  3348,  5517,  2842,   365,   237,  5399,   352,   336,
13760      913,  2262,  2228,    10,   275,   487,    13,  2119,   490,   365,
13761       17,    18,    19,   284,  2240,   106,  2242,  2243,  3954,   932,
13762      365,  2247,   935,  2249,  2250,  2251,   451,  2253,   365,  2255,
13763       37,    31,   170,  2259,   116,   352,  2262,   275,   342,   355,
13764     1973,   143,   169,   397,  2368,  3514,   284,   472,  5260,   253,
13765     5094,  5515,   294,   334,   156,    55,  3740,  2283,  3742,   161,
13766      198,   486,  1780,  5465,   381,   294,   240,    90,  2294,     5,
13767     2979,   162,   426,   277,  3543,    11,  2302,  2303,   161,   161,
13768     4647,   324,     5,  2309,   240,  3733,  1804,  3719,    11,   263,
13769      332,  5008,  2318,   264,   265,   485,    19,   451,  2359,  2360,
13770      490,   184,  2363,   332,   294,   196,   208,  3472,  3975,   143,
13771      451,   352,   240,  2339,    37,   449,   198,  2050,  2344,  2345,
13772      237,  2445,   156,   365,   278,   263,   228,   161,   194,   283,
13773      268,   472,   486,  2359,  2360,  3244,   365,  2363,   472,  2365,
13774     2366,  3250,   332,  3775,  2791,  3330,  2793,  2794,    94,  5066,
13775      241,   422,   237,   244,   242,   398,   397,   400,   487,  5371,
13776     3291,   490,   212,  2389,  3403,  3404,  2392,  2780,   398,   184,
13777      400,  2406,   310,   275,   208,   365,    86,   259,  5095,  2792,
13778      411,   263,   284,   426,   422,   426,   481,   358,   326,  2415,
13779     2416,   486,    82,   488,   228,    10,     5,  2887,    13,   442,
13780      487,  3041,    11,   490,  2430,   212,  2432,  2433,    22,  3006,
13781      451,  2824,  3286,   484,    28,   487,   487,   488,   490,    55,
13782      347,   167,   128,   394,   130,   487,   353,    42,   490,   487,
13783      280,  2164,   490,   360,    49,   352,   442,  2463,  2464,  2465,
13784      355,   275,   909,  2469,  5456,   486,   481,   914,   154,  2475,
13785      284,   486,   486,   488,   200,  2868,   218,  2483,  3332,    74,
13786     2486,   171,    11,  4760,  2525,   436,  2492,   352,   395,   215,
13787      484,   486,   486,   280,   488,  2501,  3116,  2503,   449,   225,
13788      397,   278,  3966,  5200,   194,   423,   487,  3284,   352,   490,
13789      417,  2517,  4725,   490,  2520,   487,  2522,  5042,   490,  2525,
13790      398,   472,   400,  2529,   487,   251,  2532,   490,   487,   426,
13791      487,   490,   397,   490,   487,   486,  3006,   490,  2544,  2545,
13792      422,   231,   487,   237,  5368,   490,   141,   487,  3684,  3685,
13793      490,  4898,   278,   486,   451,   487,  2562,    55,   490,  4906,
13794     3961,   426,  3981,   484,   487,   486,  2572,   490,  2574,   255,
13795      256,   257,   258,  2571,  2726,   487,   262,  2729,   490,   440,
13796     2732,  4680,   268,   442,  2531,   487,   451,   273,   490,   486,
13797      185,    45,  5254,   283,   237,   190,  2602,   486,    82,   488,
13798       93,   255,   256,   257,   258,  2976,  2977,  2720,   422,  3317,
13799       10,   487,   487,    13,   490,   490,   342,    17,    18,    19,
13800      113,   486,   449,  2629,   451,  2631,  2632,  2633,  2634,   398,
13801      487,   400,   227,   490,    34,   487,    32,    33,   490,  5336,
13802     3481,  2842,   214,   473,   474,   475,   469,   477,   478,   479,
13803      480,   481,   482,  3668,   147,   488,   487,  5481,   352,   490,
13804      348,   349,  3563,  2669,  3521,  3522,  3523,  3524,   348,   349,
13805     3527,  3528,  3529,  3530,  3531,  3532,  3533,  3534,  3535,  3536,
13806      487,   487,   278,   490,   490,   280,   473,   474,   475,   161,
13807      477,   478,   479,   480,   481,   482,   469,  3554,   487,  3456,
13808      281,   490,  3556,   397,   430,  2906,   281,  4806,   398,   352,
13809      400,   278,   487,  5410,  2720,   490,  3293,  4539,  3295,  5416,
13810     2726,   411,  5546,  2729,   348,   349,  2732,   413,  3627,  3586,
13811     3587,   487,   426,   423,   490,  2741,   426,  2780,   424,  4280,
13812      281,   487,   487,  2749,   490,   490,   487,   487,  2754,   490,
13813      490,   398,   487,   400,   397,   490,  3445,   451,   449,   487,
13814      451,    10,   490,  3134,    13,  3666,   348,   349,    17,    18,
13815       19,    45,  2778,  2779,  2780,   370,   487,  2783,   486,   490,
13816      488,  2824,  3153,   426,   469,  2791,  2792,  2793,  2794,   449,
13817      487,   451,   486,   490,    37,  5227,  5228,  2024,  2804,  3376,
13818     2027,  2807,    10,  2809,   487,    13,   214,   490,   451,    17,
13819       18,    19,   212,    56,  2820,  2821,   487,   479,  2824,   490,
13820     5517,   487,   165,  3293,   490,  3295,    34,   490,   487,   487,
13821     3741,   490,   490,   486,  4262,   328,  2842,   487,  2844,   489,
13822     2846,   487,  2848,   486,  2873,  2874,  2875,   487,   487,  5315,
13823      490,   490,    10,  3622,   487,    13,   487,   490,  2571,    17,
13824       18,    19,  2868,   106,   487,   358,  2872,   490,   487,   487,
13825      237,   490,   490,  2879,   487,   470,    34,   490,  5350,  5351,
13826      280,     0,   477,   478,   479,   480,   481,   482,   487,  2895,
13827      489,  3711,   842,  2936,   844,   487,   487,  2903,   490,   490,
13828      487,   394,   487,   490,    51,   490,  3376,   487,   487,    55,
13829      490,   490,  2918,    10,   166,  3769,    13,  3771,   210,   488,
13830       17,    18,    19,   486,   486,   237,  2932,   170,   487,   487,
13831     2936,   490,   490,  2939,   453,  2941,  2879,  3308,    10,  3310,
13832     3794,    13,  4167,   436,  4169,    17,    18,    19,    95,   487,
13833      193,   486,   490,   486,  3795,   487,   449,   332,   490,   190,
13834     3814,   487,    34,   212,   490,   487,  3877,   148,   490,   487,
13835       42,   486,   490,   120,    93,   488,  2982,    49,  2984,   472,
13836      148,   190,   278,  2989,  3853,   352,   237,   237,   487,  2932,
13837      137,   490,   487,   486,   141,   490,   487,   487,   241,   490,
13838      490,   244,    74,   128,   212,   130,     0,   332,  4830,   278,
13839     3016,   148,  3018,  3019,  3020,   162,   259,   487,   165,   487,
13840      490,   148,   490,   487,   143,   487,   490,   190,   490,   154,
13841      397,   280,    10,   180,   148,    13,   487,   156,   487,   490,
13842      352,   490,   161,  3900,   278,   487,  3863,   166,   490,   487,
13843      293,   161,   490,   172,   212,   487,   175,   332,   490,   426,
13844      179,   148,   487,  4113,    42,   490,   487,  2780,   116,   490,
13845      226,    49,   280,   473,   474,   475,   430,   477,   478,   479,
13846      480,   481,   482,   278,   451,   397,  3287,   242,   487,   208,
13847      487,   490,   487,   490,   337,   490,    74,   486,   411,    93,
13848     3471,   352,   352,   487,   442,   487,   490,   292,   490,   228,
13849      272,  2824,   161,   185,   426,   212,   359,   487,   190,   486,
13850      490,   268,   280,  3516,   487,   487,  3132,   490,   490,   355,
13851      255,   256,   257,   258,  2847,   218,   379,   262,   263,   451,
13852      212,   213,   487,   268,    68,   490,   397,   397,   273,   143,
13853     2863,   487,   487,    37,   490,   227,   275,  3550,   487,   278,
13854      263,   490,   156,   141,   263,   284,  2879,   161,   453,   486,
13855      278,   318,   166,   358,   486,   426,   426,   487,   172,   487,
13856      490,   175,   490,   280,   487,   179,   487,   490,  4029,   490,
13857      487,   161,   487,   490,   266,   490,   487,   263,    45,   490,
13858      451,   451,    45,   263,   416,  3598,   263,   185,   280,   394,
13859       85,   283,   190,   294,   208,   442,   161,   442,   313,  2932,
13860      339,   148,   148,  2936,   473,   474,   475,   486,   477,   478,
13861      479,   480,   481,   482,   228,   486,   486,   148,  3244,   439,
13862      486,   306,   486,   148,  3250,  4102,   265,  5069,    36,   227,
13863      486,   436,   453,  3259,   148,   148,   148,   490,  3264,  3265,
13864      148,   148,   148,   148,   449,   473,   474,   475,   148,   477,
13865      478,   479,   480,   481,   482,   394,   148,   148,  4179,   161,
13866      148,   275,   148,   148,   278,   278,    37,   472,   413,   394,
13867      284,   226,   486,  3299,  3300,  3301,  4432,  4154,   370,   424,
13868     4201,   486,   280,   422,   161,   161,   278,   486,     6,     6,
13869     3316,   486,   486,   161,   486,   473,   474,   475,     6,   477,
13870      478,   479,   480,   481,   482,  3366,   486,   446,     6,   448,
13871      449,     6,  3338,  3339,  4023,  4024,  4025,  4026,  4027,   358,
13872        6,   486,  3348,  3349,  3350,   339,   486,   486,  3354,   450,
13873      486,  3357,   486,   486,   486,   486,   486,   486,   486,   290,
13874     3366,   210,   486,   486,  3362,   484,   486,    37,   487,   488,
13875      489,   486,   490,   486,   486,   394,   473,   474,   475,   486,
13876      477,   478,   479,   480,   481,   482,   486,  4788,   486,    97,
13877      486,  3389,   370,   486,   486,   486,   490,   226,   470,    37,
13878      394,   473,   474,   475,   490,   477,   478,   479,   480,   481,
13879      482,   161,   275,   161,   273,  3456,   365,   436,   490,    64,
13880      406,  3594,   406,   352,  4196,   406,   441,   406,   422,  3435,
13881      449,  4272,   352,   488,   352,   406,   228,   406,   406,  4903,
13882      406,   475,   406,    86,   352,   148,   278,   357,   223,   406,
13883     3456,   406,   446,   472,   448,   449,   268,   122,   406,   397,
13884      298,   278,   429,  3469,   273,   348,  3472,   486,   487,   486,
13885      489,   183,   406,   406,   486,    86,   490,   190,   122,   294,
13886      148,   406,  4393,   430,   430,   406,   122,   406,  3494,   406,
13887      484,   394,   470,   487,   488,   489,   394,  3503,   108,   477,
13888      478,   479,   480,   481,   482,  3511,   406,  3513,   122,   406,
13889     3516,   406,    55,    55,   248,  3521,  3522,  3523,  3524,   282,
13890      317,  3527,  3528,  3529,  3530,  3531,  3532,  3533,  3534,  3535,
13891     3536,   298,   406,   406,  3540,  3541,   406,   406,   298,    37,
13892       44,    44,   406,   397,  3550,   406,   406,   490,  3554,  3592,
13893      487,   406,  3558,   406,  3925,  3926,   406,   212,    56,  4187,
13894     3566,   406,   406,  3569,   406,  3571,   406,   278,  3611,  3770,
13895      212,  3600,  3601,  3602,  3603,    10,   491,  3583,    13,   212,
13896     3586,  3587,    17,    18,    19,  3591,  3592,   212,   278,   212,
13897     3596,   453,  3598,   212,  3795,   278,   278,   212,   406,  3605,
13898     3606,  3607,  3608,  4492,   212,  3611,  3612,    42,   106,   107,
13899     3616,  3617,  3618,   212,    49,   416,   114,  3623,    37,   486,
13900      148,  5443,  5444,    26,   278,   148,   263,   114,   430,   449,
13901      148,   148,   148,   234,   441,  3633,   263,   278,  3633,    74,
13902        0,   273,   263,  3649,    37,  3633,   263,  3633,   161,  3362,
13903      486,   486,    37,  3633,   218,   354,   486,  3663,   486,  3665,
13904       36,  4350,  4351,   404,  4353,  3608,   404,   406,  3611,   406,
13905      484,   484,   170,   406,   406,   486,  3389,  3683,  3684,  3685,
13906      148,  3687,  4539,   148,   430,   148,   430,   148,   148,   272,
13907      406,   267,   166,   445,   248,   193,   486,   248,  3704,  3705,
13908     3706,  3707,    13,   490,   404,  4413,  4099,   486,   486,   175,
13909      406,   157,   166,   408,   490,   487,   183,   208,   368,   183,
13910      490,   216,   279,   430,   490,    37,   287,  3733,    55,   487,
13911      352,   486,   216,    93,   216,   268,   430,   268,   411,   406,
13912     3683,   242,   406,   241,   406,  3751,   244,   161,   355,     6,
13913      185,   486,   278,   442,   268,   190,  5297,    45,   374,   218,
13914      348,   259,   397,   278,   263,   263,   278,   406,   226,   226,
13915      226,  4907,   122,   490,   332,    58,  3977,   212,   213,   365,
13916      184,   278,   278,   143,   278,   362,   406,  3802,   406,    37,
13917      320,   284,   227,   218,   487,   293,   156,   212,  3813,   430,
13918      430,   161,   148,   475,   273,  4954,   166,   316,   161,    92,
13919       37,   395,   172,   442,   163,   175,   362,   317,   273,   179,
13920       10,   273,   148,    13,   148,   486,   486,   148,   430,   263,
13921       37,   266,   263,   278,   278,   218,   449,   181,   181,   337,
13922       37,   161,  3848,   162,   246,   280,   356,   487,   208,   218,
13923      484,   362,    42,  4943,   161,  4945,   278,   469,   263,    49,
13924      469,   359,   190,   487,   490,   190,   453,   190,   228,   152,
13925       25,   173,   190,   190,   406,    37,  4730,  3883,   245,  3592,
13926      486,   379,   487,   381,    74,   166,   384,   487,  4259,   487,
13927     3896,   278,  3898,   490,  3900,  3608,    58,   490,  3611,   449,
13928      490,  3907,    55,   411,   187,   394,   272,  3913,   442,   218,
13929      166,   290,   487,   487,   487,   275,   487,  3923,   278,   487,
13930     3633,   487,   487,   486,   284,   487,   299,   487,   469,   166,
13931       92,   490,  3938,   486,   191,   370,  3942,   289,   487,   487,
13932      223,   486,   486,   200,   406,   240,  3952,   262,   486,   486,
13933      486,   208,   471,   428,   211,  3961,   446,   236,   446,   436,
13934       55,   486,   278,   194,   278,  3971,   486,   148,   475,  3975,
13935     4341,   281,  3970,  4830,  4758,   278,  3982,  3983,   406,   339,
13936      263,   453,   406,   406,   202,   151,  4187,   263,   486,   406,
13937      152,   268,  5141,   282,   148,   185,   357,  4854,   148,  3942,
13938      190,   365,   148,   357,   226,   194,   357,  4013,   151,  4015,
13939      278,  4639,   295,  5149,  5150,   406,  4022,   430,   151,   490,
13940      228,   427,   475,   151,   406,   187,   300,   300,   406,   406,
13941      352,   406,  4849,    10,   394,   470,    13,   227,   473,   474,
13942      475,   381,   477,   478,   479,   480,   481,   482,   406,   406,
13943      238,  4057,   238,   336,  4447,   338,   218,   340,   238,   406,
13944      352,   223,   422,  4069,  4692,    42,   349,   406,   406,  4440,
13945      352,   406,    49,   406,   357,   122,   263,   352,   365,   148,
13946       44,   212,   365,   212,   485,   212,   446,   487,   448,   449,
13947      280,   487,   487,  4099,   377,   212,  4102,    74,   406,   178,
13948      406,   263,   406,   386,  4110,  4111,   487,   390,     3,   161,
13949      490,  4117,  4118,  4954,    45,   487,  4122,   416,   334,   107,
13950      490,   161,  4128,   486,   484,  4131,  4132,   487,   488,   489,
13951     4136,  4137,   487,   295,    37,   148,  4142,  4143,  4144,  4145,
13952     4146,   406,   487,   148,  4150,  4151,  4152,   161,  4154,  4155,
13953      178,   485,  4158,  5289,  5043,   486,  4162,   487,   430,   430,
13954     4166,   444,   475,   148,   141,   281,  4172,   352,  4857,   352,
13955      352,   362,     6,   352,   336,   352,   146,   146,   340,  4868,
13956      370,  4187,   212,   212,   485,   490,   212,   349,   212,   212,
13957     4196,   212,   212,   212,  4200,   357,   139,    13,   484,  4205,
13958     4198,  4199,  4220,   365,   166,   490,   290,   161,   185,   487,
13959      166,   441,  5069,   190,  4220,   377,   486,  4223,   487,  4162,
13960      487,   487,   446,  4166,   386,   262,   487,   490,   390,  3942,
13961      166,   486,   490,   472,   175,   487,  5385,  4243,  4244,   403,
13962      487,   486,   339,   435,    84,   416,   161,   409,  5160,    37,
13963      227,  4266,   430,   218,   430,   406,  4262,  3970,  4947,    55,
13964      202,  4276,   397,   148,   170,   486,   381,   416,   357,   406,
13965       10,  4277,   151,    13,   406,   352,   406,    17,    18,    19,
13966      470,   406,   444,   406,   352,  5139,   448,   477,   478,   479,
13967      480,   481,   482,   487,    34,    55,   332,   449,   397,   161,
13968      436,    74,    42,   280,    10,   278,   148,    13,   107,    49,
13969     4681,    17,    18,    19,   487,   487,   486,   486,   416,   487,
13970      212,  4327,   212,   212,   212,   216,   201,   197,   486,   453,
13971      406,   278,   327,   490,    74,   210,    37,   298,   276,   487,
13972        3,   278,   486,   490,   416,   490,  4352,   406,   490,   224,
13973      362,   172,   486,   107,   166,   212,   166,   191,    55,   485,
13974      447,  4367,   447,   290,   215,   487,   200,   201,   487,   487,
13975      490,   288,   486,   486,   208,   487,   210,   211,  5235,   487,
13976      487,   487,  5236,   486,   215,   396,   486,   285,  5077,    55,
13977      224,   487,   179,   370,   403,  4401,   273,   475,  5106,   416,
13978      406,   166,    74,   449,   196,   191,   184,   184,   268,   268,
13979      475,  4417,    55,   397,   406,   490,   490,  4423,   675,    68,
13980      406,   148,   151,   406,   406,   487,  4432,   684,   212,   486,
13981      121,   168,   166,   114,   691,    37,   430,   694,  4639,   190,
13982      273,  4447,  4835,   486,   362,   185,    37,   163,   263,  4162,
13983      190,   430,   161,  4166,  4460,   362,  4462,    55,   449,   273,
13984       80,  4459,   397,    37,   166,   278,   161,   199,   449,   210,
13985     4940,   486,   212,   213,   281,  5103,   166,   435,   486,  4680,
13986      487,  4874,   486,   486,  4954,  4198,  4199,   227,  4692,    10,
13987     4496,  4692,    13,   470,   378,   298,   486,  5354,   487,   486,
13988      477,   478,   479,   480,   481,   482,    86,   215,   448,   487,
13989      129,   278,   486,   406,    37,   326,   487,   148,   148,   406,
13990      486,    42,   161,   486,    37,   268,   266,   486,    49,   486,
13991      194,   486,   239,  4539,   486,   486,   486,   362,   487,  4691,
13992      280,   148,   107,   283,   134,  4938,  4939,    37,   445,   282,
13993      416,    55,   376,    74,   487,   487,   376,    37,    77,   435,
13994      486,   486,  4568,  4569,    24,   486,  4572,   486,   490,   397,
13995       30,   183,   486,   161,   280,   430,   259,   486,   397,   278,
13996      397,  4587,   487,  4735,  4590,     6,  5443,  5444,  4594,   155,
13997      453,   147,   486,  4599,   349,    68,  4602,  4603,    68,  4605,
13998      486,  4607,   349,  4609,  4610,   281,   449,   129,   449,   435,
13999      490,   434,    72,   486,  5468,   486,   365,    37,   166,  4625,
14000      141,  4627,   397,   323,   268,   134,   196,   278,   278,    37,
14001      370,   362,  4638,  4639,  4640,    37,  4642,   486,   486,   281,
14002      281,   191,   168,   168,  4587,   490,   446,   406,   487,   486,
14003       55,  4594,   487,   119,   348,   385,  4599,   428,   487,  4602,
14004        6,   348,   144,   285,   185,   333,   126,    23,   486,   190,
14005     5063,  5141,    34,   133,   362,   268,   136,   486,  5532,   147,
14006      486,   486,  4625,   406,    77,  4691,  4692,  5080,   490,   490,
14007      166,  5084,   486,  5086,   348,  4638,  5550,   286,   955,   376,
14008      838,   376,   162,   449,   449,   486,   227,   168,  1612,   966,
14009     4618,   168,   877,  2529,   924,   972,  2887,   923,   975,  1347,
14010     3066,  2414,  2333,  3769,  5280,  2440,  3744,  2499,  3278,  4735,
14011      470,  4733,  4738,   473,   474,   475,   196,   477,   478,   479,
14012      480,   481,   482,  5139,  4750,  5385,  4459,  4753,  4788,  3923,
14013      490,  2983,  4758,  4403,  4760,  2669,  4757,  5259,  5374,   280,
14014      635,  4767,  4803,  4638,  4762,  5169,   641,   473,   474,   475,
14015     5168,   477,   478,   479,   480,   481,   482,  5300,  4784,   654,
14016     5410,  2987,  4788,  3971,  3956,  4791,  5113,  3914,  3764,  2514,
14017     1047,  1048,  1049,  2514,  3091,  3328,  4802,  4803,  4804,   259,
14018     3939,   635,  4800,   263,  4441,  4764,  2508,   641,   919,  4773,
14019     5280,  3340,  5387,   273,  5550,  5532,  4750,  3286,  3979,  5313,
14020      654,  4694,   282,  4926,  4830,    22,  5122,  4833,  4697,  4835,
14021       27,  4874,  1771,    28,   294,  4894,   670,  4032,  3981,  5478,
14022     1817,   675,  2183,  2961,  1826,  5043,   680,  1189,  4854,   370,
14023      684,   685,  1815,  1885,  4860,  1976,  3220,   691,  4864,   693,
14024      694,  4804,  4868,   671,  3332,    62,   704,  1976,  4874,  2439,
14025     3794,  1977,   706,   707,  3814,   335,   336,  4883,    75,  5341,
14026     4002,  4594,  5520,   717,  1431,  4004,  4599,   817,  2126,  4602,
14027     1920,   839,  2115,    90,  4621,  4200,  5253,  1367,  3663,  4905,
14028     2162,  4907,  5103,  1324,  2903,   365,  2918,  1390,  1389,  3626,
14029     5245,  5088,  2136,  4184,  2161,  5385,  1392,  3611,  4151,  4168,
14030     4865,  4864,  3608,  5066,  1397,  5065,  3664,  4933,  3608,  5526,
14031     5358,  5447,  4938,  4939,   131,  5235,  1850,  4943,  4944,  4945,
14032     4946,  3558,  4613,  5248,  4833,   142,  5249,  2073,  2847,   470,
14033     2750,  2845,  2469,    37,  2076,    -1,   477,   478,   479,   480,
14034      481,   482,   796,   797,    -1,    -1,   163,    -1,   802,    -1,
14035     4976,   168,    -1,   433,    58,    -1,    -1,  4983,    -1,    -1,
14036       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14037       -1,    -1,   826,    -1,   828,    -1,    -1,    -1,    -1,  5005,
14038       -1,    -1,  5008,    -1,    -1,   839,    -1,    -1,    92,    -1,
14039       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14040     5018,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14041       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14042       -1,    -1,    -1,   240,    -1,    -1,    -1,    -1,    -1,  4762,
14043       -1,    -1,    -1,    -1,    -1,    -1,    -1,  5063,    -1,    -1,
14044     5066,    -1,    -1,  5069,    -1,  5008,  5459,  5073,   152,    -1,
14045       -1,    -1,    -1,    -1,  5080,    -1,    -1,    -1,  5084,    -1,
14046     5086,    -1,  5088,   280,    -1,    -1,    -1,  4800,    -1,  5095,
14047       -1,    -1,    -1,    -1,  5092,    -1,    -1,  5103,    -1,    -1,
14048       -1,    -1,    -1,   187,    -1,    -1,    -1,    -1,  5114,    -1,
14049       -1,    -1,   946,   947,   948,  5267,   313,   314,    -1,    -1,
14050       -1,   955,    -1,  5066,    -1,    -1,    -1,    -1,   962,    -1,
14051       -1,    -1,   966,    -1,   218,    -1,    -1,    -1,   972,   223,
14052       -1,   975,    -1,  5149,  5150,    -1,    -1,    -1,    -1,   346,
14053       -1,  4864,  5095,   987,    -1,   352,    -1,    -1,    -1,    -1,
14054       -1,  4874,   359,    -1,    -1,   362,    -1,    -1,  1002,    -1,
14055       -1,    -1,    -1,    -1,  5180,    -1,    -1,    -1,    -1,   263,
14056       -1,  5187,    -1,    -1,    -1,  5191,    -1,    -1,    -1,    -1,
14057     5342,  5343,    -1,    -1,  5200,    -1,    -1,   394,    -1,    -1,
14058       -1,    -1,    -1,    -1,   401,    -1,    -1,    -1,    -1,    -1,
14059       58,   295,   409,  1047,  1048,  1049,    -1,    -1,    -1,   416,
14060     5226,  5227,  5228,    -1,    -1,    -1,  5232,    -1,    -1,  5235,
14061       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5245,
14062       -1,    -1,  5248,    -1,    92,   442,    -1,  5253,    -1,    -1,
14063       -1,    -1,   336,  1087,    -1,    -1,   340,  5200,    -1,    -1,
14064       10,  5267,    -1,    13,    -1,   349,    -1,    17,    18,    19,
14065       -1,    -1,    -1,   357,    -1,    -1,  5282,    -1,    -1,    -1,
14066       -1,   365,    -1,  5289,    34,    -1,    -1,    -1,    -1,    -1,
14067     1124,    -1,    42,   377,    -1,  5008,    -1,    -1,    -1,    49,
14068       -1,    -1,   386,    -1,   152,  5018,   390,    -1,  1142,  5315,
14069       10,    -1,    -1,    13,  5320,    -1,  5314,    -1,  1152,    -1,
14070     5326,    -1,    -1,    -1,    74,   409,  1160,    -1,    -1,    -1,
14071     5336,    -1,    -1,    -1,    -1,    -1,  5342,  5343,  5344,   187,
14072       -1,    -1,    42,  5341,    -1,    -1,  5341,    -1,  5354,    49,
14073       -1,    -1,  5358,  5341,  1188,  5341,    -1,    -1,    -1,    -1,
14074      444,  5341,    -1,  1197,   448,  1199,    -1,    -1,    -1,    -1,
14075       -1,    -1,    -1,  5379,    74,   223,  5419,    -1,    -1,  5092,
14076       -1,  1215,    -1,    -1,    -1,  1219,    -1,    -1,    -1,    -1,
14077       -1,    -1,    -1,  5336,    -1,    -1,    -1,  1231,    -1,    -1,
14078     5552,  5553,    -1,    -1,  5410,  5411,  5412,    -1,    -1,    -1,
14079     5416,   259,    -1,    -1,    -1,   263,    -1,    -1,    -1,    -1,
14080       -1,  5419,    -1,    -1,  5419,    -1,    -1,    -1,  1262,    -1,
14081       -1,  5419,    -1,  5419,    -1,   185,    -1,  5443,  5444,  5419,
14082      190,   141,    -1,    -1,    -1,    -1,   294,   295,  5454,    -1,
14083       -1,    -1,    -1,  5459,    -1,    -1,  1290,  1291,  1292,    -1,
14084     1294,    -1,   212,   213,    -1,    -1,    -1,  5410,    -1,    -1,
14085       -1,    -1,    -1,  5416,    -1,    -1,    -1,   227,    -1,    -1,
14086     1314,    -1,    -1,  5489,   332,   185,    -1,    -1,   336,    -1,
14087      190,    -1,   340,  5499,    -1,    -1,    -1,    -1,    -1,    -1,
14088       -1,   349,    -1,    -1,  1338,    -1,    -1,    -1,  5514,   357,
14089       -1,  5517,  1346,  1347,    -1,    -1,   266,   365,    -1,    -1,
14090     5526,    -1,  5520,    -1,  5530,  5520,  1360,   227,    -1,   377,
14091      280,    -1,  5520,   283,  5520,    -1,    -1,    -1,   386,    -1,
14092     5520,    -1,   390,    -1,    -1,    -1,  5552,  5553,  1382,    -1,
14093       -1,    -1,  1386,  1387,    -1,    -1,    -1,    -1,    -1,    -1,
14094       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1401,    -1,  1826,
14095       -1,    -1,  1829,  1407,  5517,    -1,    -1,    -1,    -1,  1413,
14096      280,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14097       -1,    -1,    -1,    -1,    -1,   680,   444,    -1,    -1,    -1,
14098       -1,  5314,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14099       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1874,  1875,    -1,
14100      370,   706,    -1,    -1,    -1,    -1,    -1,    -1,  5341,     3,
14101       -1,    -1,  1889,    -1,    -1,  1892,    10,    -1,    -1,    13,
14102     1474,    -1,    -1,    17,    18,    19,    -1,    -1,    -1,    -1,
14103       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14104       34,    -1,    -1,    37,    -1,    -1,    -1,    -1,    42,    10,
14105      370,    -1,    13,    -1,    -1,    49,    17,    18,    19,    -1,
14106       -1,  1515,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14107       -1,    -1,    -1,    34,    -1,  1952,    -1,    -1,  1955,  1956,
14108       74,    42,    -1,    -1,    -1,    -1,  5419,    -1,    49,    -1,
14109       -1,    -1,    -1,    -1,  1548,    -1,    -1,    -1,    -1,    -1,
14110      470,    -1,    -1,   473,   474,   475,    -1,   477,   478,   479,
14111      480,   481,   482,    74,    -1,  1610,    -1,   487,    -1,    -1,
14112      490,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14113       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14114       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14115      470,    -1,    -1,    -1,    -1,    -1,  1610,   477,   478,   479,
14116      480,   481,   482,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14117       -1,  1625,  1626,  1627,    -1,    10,    -1,    -1,    13,    -1,
14118       -1,    -1,    17,    18,    19,    -1,    -1,  5520,    -1,    -1,
14119       -1,   185,    -1,    -1,    -1,    -1,   190,    -1,    -1,    -1,
14120       -1,    -1,    -1,    -1,    -1,    -1,    -1,    42,    -1,    -1,
14121       -1,    -1,    -1,    -1,    49,    -1,    -1,    -1,   212,   213,
14122       -1,    -1,    -1,    -1,   185,    -1,    -1,    -1,    -1,   190,
14123       -1,    -1,    -1,   227,    -1,    -1,    -1,    -1,    10,    74,
14124       -1,    13,    -1,    -1,    -1,    17,    18,    19,    -1,    -1,
14125       -1,   212,   213,    -1,    -1,    -1,    -1,   962,    -1,    -1,
14126       -1,    -1,    34,    -1,    -1,    -1,   227,    -1,    -1,    -1,
14127       42,    -1,   266,    -1,  1728,    -1,    -1,    49,    -1,    -1,
14128       -1,    -1,   987,    -1,    -1,    -1,   280,  1782,    -1,   283,
14129       -1,  1745,    -1,    -1,    -1,  1790,    -1,  1002,    -1,    -1,
14130       -1,    -1,    74,    -1,  1758,   266,    -1,  1802,    -1,  1763,
14131       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   280,
14132       -1,    -1,   283,    -1,    -1,    -1,    -1,    -1,  1782,    -1,
14133       -1,    -1,    -1,    -1,    -1,    -1,  1790,    -1,    -1,    -1,
14134       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1802,    -1,
14135      185,    -1,    -1,    -1,    -1,   190,    -1,    -1,    -1,    -1,
14136       -1,    -1,    -1,  2240,    -1,  1819,    -1,    -1,    -1,    -1,
14137     2247,    -1,  1826,  2250,  2251,  1829,   370,    -1,  1832,    -1,
14138       -1,    -1,    -1,  1878,    -1,  1839,    -1,    -1,    -1,    -1,
14139       -1,  1845,   227,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14140       -1,    -1,    -1,  1857,    -1,    -1,    -1,    -1,    -1,   370,
14141     1905,    -1,    -1,   185,    -1,    -1,    -1,    -1,   190,    -1,
14142     1874,  1875,    -1,  1877,  1878,    -1,    -1,    -1,    -1,    -1,
14143       -1,    -1,    -1,    -1,    -1,  1889,    -1,  1891,  1892,    -1,
14144      212,   213,    -1,    -1,    17,   280,    -1,  1901,  1902,    -1,
14145     1904,  1905,    -1,    26,    -1,   227,    -1,    -1,    -1,    -1,
14146       -1,    -1,    -1,    -1,    -1,    -1,  1920,    -1,    -1,    -1,
14147       -1,    -1,    -1,    -1,    -1,    -1,   470,    -1,    -1,   473,
14148      474,   475,    -1,   477,   478,   479,   480,   481,   482,    -1,
14149       -1,    -1,  1197,    -1,   266,    -1,    -1,    -1,  1952,    -1,
14150       -1,  1955,  1956,    -1,    -1,    -1,    -1,    -1,   280,   470,
14151       -1,   283,   473,   474,   475,    -1,   477,   478,   479,   480,
14152      481,   482,    -1,    -1,    -1,    -1,   487,    -1,    -1,    -1,
14153       -1,    -1,    -1,    -1,    -1,   370,  1990,    -1,  1992,    -1,
14154       -1,    -1,    -1,  1997,  1998,    27,    -1,    -1,    -1,    -1,
14155     2004,  2005,  2006,    -1,    -1,  2009,    -1,  2011,    -1,  2013,
14156     2014,  2015,  2016,  2017,  2018,    -1,  2020,    -1,  2022,  2023,
14157       -1,    -1,  2026,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14158       -1,    -1,    -1,    -1,    -1,    -1,  2040,  2041,  2042,  2043,
14159     2044,  2045,    -1,    -1,    76,  2049,    -1,    -1,   370,  2053,
14160       -1,    -1,  2056,    -1,    -1,  2059,  2060,  2061,  2062,  2063,
14161     2064,  2065,  2066,  2067,    -1,  2069,    -1,    -1,    -1,    -1,
14162       -1,    -1,  2076,    -1,  2078,    -1,   108,    -1,    -1,    -1,
14163       -1,    -1,    -1,    10,    -1,   470,    13,    -1,   473,   474,
14164      475,    -1,   477,   478,   479,   480,   481,   482,    -1,   131,
14165       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14166      142,  2115,    -1,    -1,    -1,    42,    -1,  2121,    -1,    -1,
14167       -1,    -1,    49,    -1,    -1,    -1,  2171,    -1,    -1,    -1,
14168       -1,   163,  2136,    -1,    -1,    -1,   168,    -1,    -1,    -1,
14169       -1,  2145,  2146,    -1,  2189,    -1,    -1,    74,   470,    -1,
14170     2195,   473,   474,   475,  2199,   477,   478,   479,   480,   481,
14171      482,    -1,    -1,    24,    -1,   487,    -1,  2171,    10,    30,
14172       -1,    13,    -1,    -1,  2178,    17,    18,    19,  2182,  2183,
14173     2225,    -1,    43,    -1,    -1,  2189,    -1,   219,    -1,    -1,
14174     2194,  2195,    34,    -1,    -1,  2199,    -1,    -1,    -1,    -1,
14175       42,    -1,    -1,  2207,    -1,    -1,    -1,    49,   240,    -1,
14176       58,    72,    -1,    -1,   141,    -1,    -1,    -1,    -1,    -1,
14177       -1,  2225,    -1,    -1,  2228,  2270,    -1,    -1,    -1,    -1,
14178       -1,    -1,    74,    -1,    -1,    -1,  2240,    -1,    -1,    -1,
14179     2244,    -1,    -1,  2247,    92,  2290,  2250,  2251,    -1,    -1,
14180       -1,    -1,    -1,    -1,  2258,    -1,    -1,    -1,   185,    -1,
14181     1515,    -1,    -1,   190,    -1,   126,  2270,    -1,    -1,    -1,
14182       -1,    -1,   133,    -1,    -1,   136,    -1,  2322,    -1,    -1,
14183       -1,   313,   314,    -1,    -1,   317,  2290,  2291,    -1,    -1,
14184       -1,    -1,    -1,  2720,    -1,  2299,    -1,    -1,    -1,  2726,
14185      227,   162,  2729,  2348,   152,  2732,    -1,    -1,    -1,  2354,
14186       -1,   343,    -1,    -1,   346,    -1,  2361,  2321,  2322,    -1,
14187      352,  2325,    -1,  2368,    -1,    -1,  2371,   359,    -1,    -1,
14188       -1,    -1,  2377,    -1,    -1,   196,    -1,    -1,    -1,   187,
14189       -1,    -1,    -1,   185,  2348,    -1,  2350,    -1,   190,    -1,
14190     2354,    -1,  2397,   280,    -1,    -1,   388,  2361,  2403,    -1,
14191       -1,    -1,   394,  2408,  2368,   397,    -1,  2371,    -1,    -1,
14192      212,   213,    -1,  2377,    -1,   223,  2421,    -1,    -1,    -1,
14193       -1,    -1,    -1,    -1,   416,   227,    -1,    -1,    -1,  2434,
14194       -1,    -1,    -1,  2397,    -1,    -1,    -1,    -1,   259,  2403,
14195     2445,    -1,   263,    -1,  2408,    -1,    -1,  2411,    -1,    -1,
14196      442,   259,   273,    -1,    -1,   263,    -1,  2421,    -1,    -1,
14197       -1,   282,    -1,    -1,   266,    -1,    -1,    -1,    -1,    -1,
14198     2434,    -1,    -1,   294,    -1,  2439,    -1,    -1,   280,    -1,
14199       -1,  2445,    -1,   370,    -1,    -1,   294,   295,    -1,    -1,
14200       -1,    -1,  2879,    -1,    -1,    -1,    -1,    -1,    -1,  2463,
14201     2464,  2465,    -1,    -1,    -1,  2469,    -1,    -1,    -1,    -1,
14202       -1,   332,    -1,  1728,   335,   336,    -1,    -1,    -1,    -1,
14203       -1,    -1,    -1,    -1,   332,    -1,    -1,    -1,   336,    -1,
14204     1745,    -1,   340,    -1,    -1,   618,    -1,  2501,  2502,    -1,
14205       -1,   349,    -1,    -1,   365,  2932,    -1,  2511,  1763,   357,
14206       -1,    -1,    -1,    24,    -1,    -1,    -1,   365,    -1,    30,
14207       -1,    -1,    -1,    -1,    -1,    -1,    37,    -1,   370,   377,
14208       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   386,    -1,
14209       -1,  2545,   390,   470,    -1,    56,    -1,   670,   671,    -1,
14210      477,   478,   479,   480,   481,   482,    -1,    -1,    -1,    22,
14211       -1,    72,    -1,    -1,  1819,    28,    -1,    -1,    -1,    -1,
14212       -1,    -1,   433,    -1,    -1,    -1,    -1,  1832,    -1,    -1,
14213     2584,    -1,    -1,  2587,    -1,    -1,    -1,    -1,  2592,    -1,
14214     1845,    -1,    -1,    -1,    -1,   106,   444,    -1,  2602,    -1,
14215       -1,    -1,  1857,    -1,    -1,    -1,    -1,    -1,    24,    -1,
14216       -1,    -1,    -1,    -1,    30,   126,    -1,    -1,    -1,    -1,
14217       -1,    -1,   133,    -1,    -1,   136,    -1,    43,   470,    -1,
14218       -1,   473,   474,   475,    -1,   477,   478,   479,   480,   481,
14219      482,   764,    -1,    -1,  2648,  2690,  1901,  1902,    -1,    -1,
14220       -1,   162,    -1,    -1,    -1,    -1,    72,    -1,    -1,    -1,
14221       -1,    -1,    -1,  2708,    -1,    -1,    -1,   790,    -1,    -1,
14222       -1,  2716,    -1,    -1,    -1,   798,    -1,    -1,   801,   802,
14223      803,    -1,   193,    -1,    -1,   196,  2690,    -1,    -1,    -1,
14224       -1,    -1,    10,    -1,    -1,    13,    -1,    -1,    -1,    17,
14225       18,    19,  2706,    -1,  2708,    -1,    -1,    -1,   124,    -1,
14226      126,    -1,  2716,    -1,    -1,    -1,  2720,   133,    -1,  2723,
14227      136,    -1,  2726,    -1,    42,  2729,    -1,    -1,  2732,    -1,
14228      241,    49,    -1,   244,  2738,    -1,    -1,    -1,    -1,    -1,
14229       -1,    -1,    -1,    -1,    -1,  2749,   162,    -1,   259,    -1,
14230     2754,    -1,   263,    -1,    -1,    -1,    74,    -1,    -1,    -1,
14231       -1,    -1,   273,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14232       -1,   282,    -1,    -1,  2778,  2779,  2780,    -1,    -1,  2783,
14233      196,    -1,   293,   294,    -1,  2040,    -1,  2791,  2792,  2793,
14234     2794,    24,    -1,    -1,    -1,  2799,    -1,    30,    -1,    -1,
14235     2804,  2805,    -1,  2807,    -1,  2809,    -1,    -1,    -1,    -1,
14236       43,    -1,    -1,    -1,    -1,    -1,  2820,  2821,    -1,    -1,
14237     2824,   332,    -1,    -1,   335,   336,   337,    -1,    -1,    -1,
14238       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    72,
14239     2844,    -1,  2846,   259,  2848,    -1,    -1,   263,   359,    -1,
14240       -1,    -1,    -1,    -1,   365,    -1,    -1,   273,    -1,    -1,
14241       -1,    -1,    -1,    -1,  2868,    -1,   282,   185,   379,    -1,
14242       -1,    -1,   190,    10,    -1,  2879,    13,    -1,   294,    -1,
14243       17,    18,    19,  2887,    -1,    -1,    -1,    -1,    -1,    -1,
14244       -1,   124,    -1,   126,   212,   213,    -1,    34,    -1,  2903,
14245      133,    -1,    -1,   136,    -1,    42,    -1,    -1,    -1,   227,
14246       -1,    -1,    49,    -1,  2918,    -1,   332,    -1,    -1,   335,
14247      336,    -1,   433,    -1,    -1,    -1,    -1,    -1,  2932,   162,
14248       -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    -1,    -1,
14249       -1,    -1,    -1,    -1,    -1,    -1,    -1,  2951,   266,   365,
14250     2954,    -1,  2956,    -1,    -1,    -1,    -1,  2961,  3003,    -1,
14251       -1,    -1,   280,   196,    -1,    -1,    -1,    -1,    -1,    -1,
14252       -1,    -1,  2976,  2977,    -1,    -1,    -1,    -1,  2982,    -1,
14253       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2244,
14254       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3003,
14255       -1,    -1,  3006,  2258,    -1,    -1,  3010,    -1,    -1,    -1,
14256       -1,    -1,    -1,    -1,    -1,    -1,    -1,   433,    -1,  1142,
14257       -1,    -1,    -1,    -1,    -1,  3029,   259,    -1,    -1,    -1,
14258      263,    -1,    -1,    -1,    -1,    -1,    -1,  1160,    -1,    -1,
14259      273,    -1,    -1,    -1,  2299,    -1,    -1,    -1,   185,   282,
14260     3054,    -1,   370,   190,    -1,    -1,    -1,    -1,    -1,    -1,
14261       -1,   294,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3114,
14262       -1,  1194,    -1,    -1,    -1,   212,   213,    -1,    -1,    -1,
14263       -1,    -1,    -1,    -1,    -1,    -1,  3090,  3091,  3092,    -1,
14264      227,    -1,    -1,    -1,    -1,    -1,  1219,    -1,    -1,   332,
14265       -1,    -1,   335,   336,    -1,    -1,    -1,    -1,    -1,    -1,
14266     3114,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14267     3124,    -1,  3126,    -1,    -1,    -1,    -1,    -1,    -1,   266,
14268     3134,    -1,   365,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14269       -1,    -1,    -1,   280,    -1,    -1,   283,    -1,    -1,  3153,
14270       -1,    -1,   470,    -1,    -1,   473,   474,   475,    -1,   477,
14271      478,   479,   480,   481,   482,    -1,    -1,    -1,    -1,    -1,
14272       -1,    -1,    -1,  1296,    -1,    -1,    -1,    -1,    -1,    -1,
14273       -1,  3608,  1305,    -1,  3611,    -1,    -1,    -1,    -1,    -1,
14274       -1,    -1,    -1,    -1,  3239,    -1,  1319,    -1,    -1,    -1,
14275      433,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14276       -1,    -1,    -1,  3217,    -1,  1338,    -1,    -1,  1341,  1342,
14277       -1,    -1,    -1,  1346,  1347,    -1,    -1,    -1,    -1,    -1,
14278       -1,    -1,    -1,   370,    -1,  3239,    -1,  1360,    -1,    -1,
14279     3244,    -1,    -1,    -1,    -1,    -1,  3250,  2502,    -1,    -1,
14280       -1,    -1,    -1,    -1,  3258,    -1,  3683,    -1,    -1,    -1,
14281       -1,    -1,    -1,    -1,    -1,    -1,    -1,   730,    -1,   732,
14282       -1,   734,    -1,    -1,    -1,    -1,    -1,   740,   741,   742,
14283       -1,    -1,  3286,  3287,    -1,    -1,    -1,    -1,    -1,  3293,
14284       -1,  3295,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14285       -1,    -1,    -1,    -1,  3308,    -1,  3310,    -1,    -1,    -1,
14286       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14287       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3332,    -1,
14288       -1,    -1,    -1,   470,    -1,    -1,   473,   474,   475,    -1,
14289      477,   478,   479,   480,   481,   482,    -1,    -1,    -1,    -1,
14290      487,    -1,  3356,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14291       -1,    -1,    24,    -1,    -1,    -1,    -1,    10,    30,    -1,
14292       13,    -1,  3376,  3377,    17,    18,    19,    -1,    -1,    -1,
14293       -1,    -1,    -1,    -1,    -1,    -1,  3431,  3391,    -1,    -1,
14294       -1,    34,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    42,
14295       -1,    -1,    -1,    -1,  3449,    -1,    49,    -1,    -1,    -1,
14296       72,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14297       -1,    -1,   885,    -1,    -1,    -1,    -1,  3431,    -1,  3474,
14298       -1,    74,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14299       -1,    -1,  1092,  1566,    -1,  3449,    -1,    -1,    -1,    -1,
14300     1573,  2706,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14301       -1,    -1,  1112,    -1,   126,    -1,    -1,  3471,  2723,    -1,
14302     3474,   133,  1122,    -1,   136,    -1,  1126,    -1,    -1,    -1,
14303     1130,    -1,  1132,  2738,    -1,    -1,    -1,    -1,  1138,    -1,
14304     3494,    -1,    -1,  3497,  1144,    -1,    -1,  1147,    -1,  3503,
14305      162,    -1,    -1,    -1,    -1,    -1,    -1,  3511,    -1,  3513,
14306       -1,    -1,  3516,    -1,    -1,  3942,  3520,  3521,  3522,  3523,
14307     3524,    -1,    -1,  3527,  3528,  3529,  3530,  3531,  3532,  3533,
14308     3534,  3535,  3536,    -1,   196,    -1,  3540,  3541,    -1,    -1,
14309       -1,  3545,   185,    -1,    -1,    -1,  3550,   190,    -1,    -1,
14310     3554,    -1,  3556,    -1,  3558,    -1,    -1,    -1,    -1,    -1,
14311       -1,    -1,  3566,    -1,    -1,  3569,    -1,  3571,    -1,   212,
14312      213,    -1,    -1,    -1,    -1,    -1,    -1,  3581,    -1,  3583,
14313       -1,    -1,  3586,  3587,   227,    -1,    -1,  3591,  3592,    -1,
14314       -1,    -1,    -1,    -1,  3598,    -1,    -1,   259,    -1,    -1,
14315       -1,   263,    -1,    -1,  3608,    -1,    -1,  3611,    -1,    -1,
14316       -1,   273,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3623,
14317      282,    -1,    -1,   266,    -1,    -1,    -1,    -1,    -1,    -1,
14318       -1,    -1,   294,    -1,    -1,    -1,    -1,   280,    -1,    -1,
14319      283,    -1,    -1,    -1,    -1,  3649,    -1,    -1,    -1,    -1,
14320       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14321       -1,  3665,  1785,    -1,    -1,    -1,  1789,  3671,    -1,  3714,
14322      332,    -1,    -1,   335,   336,    -1,    -1,    -1,    -1,  3683,
14323       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14324       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1160,    -1,    -1,
14325       -1,    -1,    -1,   365,    -1,    -1,    -1,    -1,    -1,    -1,
14326     3714,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14327       -1,    -1,    -1,    -1,    -1,    -1,    -1,   370,    -1,    -1,
14328       -1,    -1,    -1,    -1,    -1,  4162,    -1,    10,    -1,  4166,
14329       13,    -1,    -1,    -1,    17,    18,    19,    -1,    -1,    -1,
14330       -1,    -1,    -1,    -1,    -1,  3010,    -1,    -1,    -1,    -1,
14331     3764,    34,    -1,    -1,    -1,  3769,  3770,  3771,    -1,    42,
14332       -1,   433,    -1,    -1,  3029,    -1,    49,    -1,    -1,    -1,
14333       24,    -1,    -1,    -1,    -1,  3830,    30,    -1,  3833,    -1,
14334     3794,  3795,    -1,    37,    -1,    -1,    -1,    -1,    -1,    -1,
14335       -1,    74,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14336     3814,    -1,    56,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14337       -1,    -1,    -1,    -1,    -1,    -1,  3830,   470,    72,  3833,
14338      473,   474,   475,    -1,   477,   478,   479,   480,   481,   482,
14339       -1,    -1,    -1,    -1,   487,    -1,    -1,    -1,    -1,    -1,
14340       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14341       -1,    -1,   106,    -1,    -1,    -1,    -1,    -1,    -1,  3124,
14342       -1,  3126,    -1,    -1,    -1,    -1,    -1,    -1,  1341,    -1,
14343     2003,    -1,   126,  1346,  1347,    -1,    -1,    -1,    -1,   133,
14344     3935,    -1,   136,    -1,    -1,    -1,  3900,  1360,    -1,    -1,
14345       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3954,
14346       -1,    -1,   185,    -1,    -1,    -1,    -1,   190,   162,    -1,
14347       -1,  3925,  3926,    -1,    -1,  3929,    -1,    -1,    -1,    -1,
14348       -1,  3935,    -1,    -1,    -1,    -1,    -1,    -1,  3942,   212,
14349      213,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   193,
14350     3954,    -1,   196,    -1,   227,    -1,    -1,    -1,    -1,    -1,
14351       -1,    -1,  3217,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14352       -1,    -1,  2095,  3977,    -1,    -1,    -1,  3981,  3982,  3983,
14353       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4032,    -1,  1452,
14354     4417,    -1,    -1,   266,    -1,    -1,    -1,   241,    -1,  1462,
14355      244,    -1,    -1,  3258,    -1,    -1,    -1,   280,    -1,    -1,
14356      283,    -1,    -1,    -1,    -1,   259,    -1,    -1,    -1,   263,
14357       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4032,   273,
14358       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   282,    -1,
14359       -1,    -1,    -1,  1506,  1507,    -1,    -1,    -1,    -1,   293,
14360      294,    -1,    -1,  4057,    -1,    -1,    -1,    -1,    -1,    -1,
14361       -1,    -1,    -1,    -1,    -1,  4069,    -1,    -1,    -1,    -1,
14362       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14363       -1,    -1,    -1,    -1,  2207,    -1,  1549,    -1,   332,  1552,
14364     1553,   335,   336,   337,    -1,  4099,    -1,   370,  4102,    -1,
14365       -1,  3356,    -1,    -1,    -1,    -1,  4110,  4111,    -1,  4113,
14366       -1,    -1,    -1,  4117,  4118,   359,    -1,    -1,  4122,  4123,
14367       -1,   365,    -1,    -1,  4128,    -1,    -1,  4131,  4132,    -1,
14368       -1,    -1,  4136,    -1,    -1,   379,  3391,    -1,  4142,    -1,
14369       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14370     4154,    -1,    -1,    -1,  2277,    -1,    -1,    -1,  4162,    -1,
14371     4587,    -1,  4166,    -1,    -1,    -1,    -1,  4594,    24,    -1,
14372       -1,    -1,  4599,    -1,    30,  4602,  4603,    -1,    -1,    -1,
14373       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   433,
14374       -1,    -1,  4196,    -1,    -1,    -1,    -1,   470,  4625,    -1,
14375      473,   474,   475,    -1,   477,   478,   479,   480,   481,   482,
14376       -1,  4638,    -1,    -1,   487,    -1,    72,    -1,    -1,  4223,
14377       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14378     1880,    -1,    -1,  2356,    -1,    -1,    -1,  4241,  1888,    -1,
14379       -1,    -1,  3497,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14380     2373,    -1,    -1,    -1,  4299,  4259,    -1,    -1,  1908,    -1,
14381     4264,    -1,    -1,    -1,  4691,  3520,  4311,    -1,    -1,    -1,
14382      126,    -1,  1735,    -1,    -1,    -1,    -1,   133,  4282,    -1,
14383      136,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14384     3545,    -1,    -1,    -1,    -1,  4299,    -1,    -1,    -1,    -1,
14385     4304,    -1,    -1,    -1,    -1,    -1,   162,  4311,  4735,    -1,
14386       -1,    -1,    -1,    -1,  2437,    -1,    -1,    -1,    -1,    -1,
14387       -1,    -1,    -1,  4327,    10,    -1,  3581,    13,    -1,    -1,
14388       -1,    17,    18,    19,    -1,    -1,    -1,  4341,    -1,    -1,
14389      196,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    34,    -1,
14390     2473,    -1,    -1,  2476,    -1,  2478,    42,    -1,    -1,  2482,
14391       -1,  2484,  2485,    49,    -1,    -1,    -1,    -1,  4372,    -1,
14392     2493,  2494,  2495,    -1,    -1,    -1,    -1,  4804,    -1,    -1,
14393     1843,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    -1,
14394     1853,    -1,  1855,    -1,    -1,    -1,    -1,  4401,  1861,    -1,
14395       -1,    -1,    -1,   259,    -1,  1868,    -1,   263,    -1,    -1,
14396       -1,    -1,    -1,  4417,    -1,    -1,    -1,   273,    -1,    -1,
14397       -1,    -1,    -1,    -1,    -1,  2548,   282,    -1,    -1,    -1,
14398       -1,    -1,    -1,    -1,    -1,    -1,  4440,  4864,   294,    -1,
14399       -1,    -1,    -1,  4447,    -1,    -1,    -1,    -1,    -1,    -1,
14400       -1,    -1,    -1,    -1,    -1,    -1,    -1,  2580,    -1,    -1,
14401       -1,    -1,    -1,  2113,    -1,    -1,    -1,    -1,    -1,  2592,
14402       -1,    -1,    -1,    -1,    -1,  4520,   332,    -1,    -1,   335,
14403      336,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4492,    -1,
14404     4494,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   185,
14405       -1,    -1,    -1,    -1,   190,    -1,    -1,    -1,    -1,   365,
14406       -1,    -1,    -1,    -1,    -1,    -1,  4520,    -1,    -1,    -1,
14407       -1,    -1,    -1,    -1,    -1,  2648,   212,   213,    -1,    -1,
14408       -1,    -1,    -1,    -1,    -1,  4539,    -1,  2000,  2001,  4543,
14409       -1,   227,    -1,    -1,  2007,  2008,    -1,    -1,    -1,    -1,
14410       -1,    -1,    10,    -1,    -1,    13,  4983,    -1,    -1,    17,
14411       18,    19,    -1,    -1,  4568,  4569,    -1,    -1,  4572,    -1,
14412       -1,    -1,    -1,  2036,    -1,    -1,    34,   433,    -1,    -1,
14413      266,  5008,    -1,  4587,    42,    -1,    -1,  4632,    -1,  4634,
14414     4594,    49,    -1,    -1,   280,  4599,    -1,   283,  4602,  4603,
14415       -1,    -1,    -1,    -1,    -1,  4609,  4610,    -1,    -1,    -1,
14416       -1,    -1,    -1,    -1,    -1,    -1,    74,    -1,    -1,    -1,
14417       -1,  4625,    -1,  4627,    -1,    -1,    -1,    -1,  4632,    -1,
14418     4634,    -1,    -1,    -1,  4638,    -1,    -1,    24,    -1,  5066,
14419       -1,    -1,    -1,    30,    -1,    -1,    -1,    -1,    -1,    -1,
14420       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14421       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5095,    -1,
14422       -1,    -1,    -1,    -1,  3929,    -1,  4680,  4681,    -1,    -1,
14423       -1,    -1,  2145,  2146,   370,    72,    -1,  4691,    -1,    -1,
14424       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     8,
14425       -1,    -1,    -1,    -1,    -1,    14,    15,    -1,    -1,    -1,
14426       -1,    20,    -1,    22,    -1,    -1,    -1,    -1,    -1,    28,
14427       -1,    30,    -1,    -1,    -1,    -1,  4730,   185,    -1,    -1,
14428       -1,  4735,   190,    -1,    -1,    -1,    -1,    -1,    -1,   126,
14429       49,    50,    -1,    -1,  2207,    -1,   133,    -1,    -1,   136,
14430       -1,    -1,    -1,    -1,   212,   213,    -1,    -1,    -1,    -1,
14431       -1,    -1,    -1,    -1,  2887,    -1,    -1,    -1,    -1,   227,
14432       -1,    -1,    -1,  5200,    -1,   162,    -1,    -1,    -1,    -1,
14433       -1,    -1,    -1,    -1,   470,    -1,    -1,   473,   474,   475,
14434       -1,   477,   478,   479,   480,   481,   482,    -1,    -1,    -1,
14435     4804,   487,  4806,    -1,    -1,    -1,    -1,    -1,   266,   196,
14436       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14437       -1,    -1,   280,    -1,    -1,   283,  4830,  4831,    -1,  4833,
14438       -1,  4835,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2302,
14439     5267,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14440     4854,    -1,    -1,    -1,    -1,    -1,  4860,    -1,    -1,    -1,
14441     4864,    -1,    -1,    -1,    -1,    -1,  4870,    -1,  4123,    -1,
14442     4874,    -1,   259,    -1,    -1,    -1,   263,    -1,    -1,    -1,
14443       -1,    -1,    -1,  3006,    -1,    -1,   273,    -1,    -1,   198,
14444       -1,    -1,    -1,  5320,    -1,   282,    -1,   206,    -1,    -1,
14445      209,    -1,    -1,   212,   213,    -1,   215,   294,   217,  5336,
14446     4914,   220,   370,   222,    -1,  5342,  5343,    -1,    -1,  4923,
14447     2383,    -1,    -1,    -1,  4928,  4929,    -1,    -1,  2391,  4933,
14448       -1,  2394,    -1,    -1,  4938,  4939,  4940,    -1,    -1,    -1,
14449       -1,    -1,    -1,  2406,    -1,   332,    -1,  2597,   335,   336,
14450     4954,    -1,    -1,    -1,    -1,  2605,    -1,    -1,    -1,    -1,
14451       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14452       -1,    -1,  4976,  3096,    -1,  2625,    -1,    -1,   365,  4983,
14453       -1,    -1,    -1,  5410,    -1,  2635,  4241,    -1,  2638,  5416,
14454     2640,  2641,    -1,    -1,  2644,    -1,    -1,    -1,    -1,    -1,
14455     2650,    -1,  2652,    -1,  5008,  2655,    -1,    -1,    -1,    -1,
14456       -1,    -1,   470,    -1,    -1,   473,   474,   475,    -1,   477,
14457      478,   479,   480,   481,   482,    -1,    -1,  4282,  3151,   487,
14458       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5043,
14459     5044,    -1,    -1,    -1,    -1,    -1,   433,    -1,    -1,  4304,
14460       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5063,
14461       -1,    -1,  5066,    -1,    -1,  5069,    -1,    -1,  2718,    -1,
14462       -1,    -1,    -1,    -1,    -1,    -1,  5080,    -1,    -1,    -1,
14463     5084,    -1,  5086,    -1,  5088,    -1,    -1,    -1,    -1,    -1,
14464     5517,  5095,    -1,    -1,    -1,    -1,  3219,    -1,    -1,    -1,
14465       -1,    -1,    -1,  5530,    -1,    -1,    -1,    -1,    24,    -1,
14466     5114,    -1,    -1,    -1,    30,    -1,    -1,  4372,    -1,    -1,
14467       -1,    -1,    -1,    -1,    -1,  5552,  5553,    -1,    -1,    -1,
14468       -1,    -1,    -1,    -1,    -1,  5139,    -1,  5141,    -1,    -1,
14469     3263,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14470       -1,    -1,  2615,  2616,  3277,  3278,    72,    -1,  2621,    -1,
14471       -1,    -1,    -1,    -1,  3287,    -1,    -1,    -1,    -1,    -1,
14472     3293,    -1,  3295,    10,    -1,    -1,    13,    -1,    -1,    -1,
14473       17,    18,    19,    -1,    -1,    -1,    -1,  5191,    -1,    -1,
14474       -1,    -1,    -1,    -1,    -1,    -1,  5200,    34,    -1,    -1,
14475       -1,    -1,    -1,    -1,    -1,    42,    -1,    -1,    -1,  5254,
14476      126,    -1,    49,    -1,    -1,    -1,    -1,   133,  3341,  2682,
14477      136,    -1,  5226,  5227,  5228,    -1,    -1,    -1,    -1,    -1,
14478       -1,  5235,  5236,    -1,    -1,  5239,    -1,    74,    -1,  4494,
14479       -1,  5245,    24,    -1,    -1,    -1,   162,    -1,    30,    -1,
14480     5254,    -1,  3375,  3376,    -1,    -1,    -1,    -1,    -1,    -1,
14481       -1,    -1,    -1,  5267,    -1,    -1,    -1,    -1,    -1,    -1,
14482       -1,    -1,    -1,    -1,    -1,    -1,  5280,    -1,    -1,    -1,
14483      196,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4543,    -1,
14484       72,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14485       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14486       -1,    -1,    -1,    -1,    -1,    -1,  5320,    -1,    -1,    -1,
14487       -1,    -1,  5326,   632,    -1,    -1,    -1,    -1,    -1,    -1,
14488      639,   640,  5336,    -1,   643,    -1,   645,   646,  5342,  5343,
14489     5344,   650,  2992,   259,   126,    -1,    -1,   263,   185,    24,
14490     5354,   133,   661,   190,   136,    30,    -1,   273,    -1,    -1,
14491       -1,    -1,    10,    -1,    -1,    13,   282,    -1,    -1,    17,
14492       18,    19,    -1,    -1,    -1,   212,   213,    -1,   294,    -1,
14493      162,  5385,    -1,    -1,    -1,    -1,    34,    -1,    -1,    -1,
14494      227,   700,    -1,   702,    42,    -1,    -1,    72,    -1,    -1,
14495       -1,    49,    -1,   712,    -1,    -1,  5410,    -1,    -1,    -1,
14496       -1,    -1,  5416,    -1,   196,    -1,   332,    -1,    -1,   335,
14497      336,    -1,  2885,    -1,  2887,  3075,    74,  3077,    -1,   266,
14498       -1,    -1,    -1,    -1,    -1,   744,    -1,    -1,    -1,  5443,
14499     5444,    -1,  3565,   280,    -1,    -1,   283,  2910,  2911,   365,
14500     5454,   126,    -1,    -1,    -1,  5459,    -1,    -1,   133,    -1,
14501       -1,   136,    -1,    -1,  5468,    -1,    -1,    -1,    -1,    -1,
14502       -1,    -1,    -1,    -1,    -1,    -1,    -1,   259,    -1,    -1,
14503       -1,   263,    -1,    -1,    -1,  5489,    -1,   162,    58,    -1,
14504       -1,   273,    -1,    -1,    -1,  5499,    -1,    -1,    -1,    -1,
14505      282,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14506       -1,    -1,   294,  5517,    -1,    -1,    -1,   433,    -1,    -1,
14507      829,   196,    92,    -1,    -1,    -1,  5530,    -1,  5532,    -1,
14508       -1,    -1,    -1,   370,    -1,    -1,    10,   185,    -1,    13,
14509       -1,    -1,   190,    17,    18,    19,  5550,    -1,  5552,  5553,
14510      332,    -1,    -1,   335,   336,    -1,   865,    -1,    -1,    -1,
14511       34,    -1,    -1,    -1,   212,   213,  3216,    -1,    42,    -1,
14512       -1,    -1,  3222,    -1,    -1,    49,  4831,    -1,    -1,   227,
14513       -1,    -1,   152,   365,   259,    -1,    -1,    -1,   263,    -1,
14514       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   273,    -1,
14515       74,    -1,    -1,    -1,    -1,    -1,    -1,   282,    -1,    -1,
14516       -1,    -1,    -1,    -1,    -1,  4870,    -1,   187,   266,   294,
14517       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   938,
14518       -1,    -1,   280,   470,    -1,   283,   473,   474,   475,    -1,
14519      477,   478,   479,   480,   481,   482,    -1,  3770,   485,    -1,
14520      959,   433,    -1,   223,    -1,    -1,    -1,   332,    -1,    -1,
14521      335,   336,   971,    -1,    -1,    -1,    -1,   976,  4923,    -1,
14522       -1,    -1,  3795,  4928,  4929,    -1,    -1,   986,    -1,    -1,
14523     3803,    -1,   991,  3806,    -1,  3808,    -1,    -1,    -1,   259,
14524      365,  1000,    -1,   263,    -1,    -1,  1005,    10,    -1,  1008,
14525       13,    -1,    -1,    -1,    17,    18,    19,    -1,    -1,    -1,
14526       -1,   185,    -1,    -1,    -1,    -1,   190,    -1,    -1,    -1,
14527       -1,    34,   370,    -1,   294,   295,    -1,    -1,  3851,    42,
14528       -1,    -1,    -1,    -1,    -1,    -1,    49,    -1,   212,   213,
14529       -1,  1050,    -1,    -1,  3867,    -1,    -1,    -1,  3871,  3872,
14530       -1,  3874,    -1,   227,    -1,    -1,    -1,    -1,   433,    -1,
14531       -1,    74,   332,    -1,    -1,    -1,   336,    -1,    -1,  3419,
14532      340,  3421,    -1,  3423,    -1,    -1,    -1,    -1,    -1,   349,
14533       -1,    -1,  3432,    -1,    -1,    -1,    -1,   357,    -1,  5044,
14534       -1,    -1,   266,    -1,    -1,   365,    -1,    -1,    -1,    -1,
14535       -1,    -1,    -1,    -1,    -1,    -1,   280,   377,    -1,   283,
14536       -1,    -1,    -1,    -1,    -1,    -1,   386,    -1,    -1,    -1,
14537      390,    -1,   470,  3473,  3287,   473,   474,   475,    -1,   477,
14538      478,   479,   480,   481,   482,    -1,    -1,    -1,    -1,   487,
14539       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3311,    -1,
14540       -1,  3974,    -1,    -1,  3977,    -1,  1165,    -1,  1167,    -1,
14541     1169,    -1,  1171,    -1,  1173,  1174,  1175,    -1,    -1,    -1,
14542       -1,  1180,   185,    -1,   444,    -1,    -1,   190,    -1,    -1,
14543       -1,    -1,  1191,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14544       -1,    -1,    -1,    -1,    -1,    -1,   370,  1206,    -1,   212,
14545      213,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14546       -1,    -1,    -1,    -1,   227,    -1,    -1,    -1,    -1,    -1,
14547       -1,    -1,    -1,    -1,  4047,  4048,  4049,    -1,  4051,  4052,
14548     4053,  4054,  4055,    -1,    -1,    -1,    -1,  3400,    -1,    -1,
14549       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14550       -1,    -1,    -1,   266,    -1,    -1,    -1,    -1,    -1,    -1,
14551       -1,    -1,     0,    -1,    -1,    -1,    -1,   280,    -1,    -1,
14552      283,    -1,    -1,    -1,    -1,    24,    -1,    -1,    -1,    -1,
14553       -1,    30,    20,    -1,  5239,    -1,    -1,    -1,    -1,    -1,
14554       -1,    -1,    30,    -1,    32,    33,   470,    -1,    -1,   473,
14555      474,   475,    -1,   477,   478,   479,   480,   481,   482,    -1,
14556       48,    -1,    -1,   487,    -1,    -1,    -1,    -1,  3481,    57,
14557       -1,    -1,    -1,    72,    -1,    -1,    -1,    -1,    -1,    -1,
14558       -1,    69,    -1,    71,    72,    -1,    -1,    -1,    -1,    -1,
14559       78,    10,    80,    -1,    13,    -1,    -1,    -1,    17,    18,
14560       19,    -1,    -1,    91,    -1,    93,    -1,   370,  1367,    -1,
14561     4183,    -1,  4185,    -1,    -1,    34,    -1,    -1,    -1,    -1,
14562       -1,    -1,   110,    42,    -1,   113,    -1,   126,    -1,    -1,
14563       49,    -1,    -1,    -1,   133,    -1,    -1,   136,    -1,   127,
14564       -1,   129,    -1,    -1,    -1,   133,    -1,    -1,    -1,    -1,
14565       -1,   139,    -1,    -1,    -1,    74,    -1,    -1,    -1,   147,
14566       -1,   149,    -1,   162,    -1,    -1,    -1,    -1,   156,    -1,
14567       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14568       -1,    -1,    -1,    -1,   172,    -1,    -1,    -1,    -1,  1448,
14569       -1,    -1,    -1,    -1,    -1,    -1,    -1,   196,    -1,    -1,
14570       -1,   189,    -1,    -1,    -1,    -1,    -1,   470,    -1,    -1,
14571      473,   474,   475,    -1,   477,   478,   479,   480,   481,   482,
14572       -1,    -1,    -1,    -1,   487,    -1,    -1,    -1,    -1,    -1,
14573       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14574       -1,   229,   230,    -1,   200,   201,    -1,   235,    -1,    -1,
14575       -1,    -1,   208,    -1,   210,   211,    -1,    -1,    -1,   247,
14576      259,  1520,    -1,    -1,   263,    -1,   185,    -1,   224,    -1,
14577       -1,   190,    -1,    -1,   273,    -1,    -1,   265,    -1,    -1,
14578       -1,    -1,    -1,   282,    -1,    -1,    -1,    -1,    -1,    -1,
14579       -1,    -1,    -1,   212,   213,   294,    -1,  4370,  4371,    -1,
14580       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   227,    -1,
14581     4383,    -1,  4385,  4386,    -1,    -1,  4389,    -1,    -1,    -1,
14582      308,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14583       -1,    -1,    -1,   332,   322,    -1,   335,   336,    -1,    -1,
14584      328,   329,    -1,   331,    -1,    -1,    -1,   266,   336,    -1,
14585       -1,    -1,    -1,   341,    -1,    -1,   344,  3770,    -1,    -1,
14586       -1,   280,    -1,   351,   283,    -1,   365,    -1,    -1,   357,
14587      358,    -1,    -1,    -1,    -1,    -1,    -1,   365,    -1,    -1,
14588     4453,   369,  3795,    -1,    -1,    -1,    -1,    -1,    -1,  3802,
14589       -1,   379,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14590     3813,    -1,    -1,    -1,    -1,    -1,   394,    -1,    -1,    -1,
14591       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4017,  4491,    -1,
14592       -1,  4021,    -1,    -1,    -1,    -1,   414,    -1,    -1,    -1,
14593       -1,    -1,    -1,    -1,   433,    -1,    -1,   425,    -1,    -1,
14594       -1,    -1,    -1,   431,    -1,    -1,    -1,    -1,   436,    -1,
14595       -1,   370,    -1,  4526,    -1,    -1,    -1,    -1,    -1,    -1,
14596       -1,   449,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14597       -1,    -1,    -1,    -1,    -1,  3888,  3889,    -1,    -1,    -1,
14598       -1,    -1,    -1,    -1,   472,    -1,    -1,    -1,    -1,    -1,
14599       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   486,    -1,
14600       -1,   489,    -1,    -1,    -1,    -1,    -1,    -1,  1767,    -1,
14601       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14602       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14603       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14604       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14605       -1,   470,    -1,    -1,   473,   474,   475,    -1,   477,   478,
14606      479,   480,   481,   482,  3977,    -1,    -1,    10,   487,    -1,
14607       13,    -1,    -1,    -1,    17,    18,    19,    -1,    -1,    -1,
14608       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14609       -1,    34,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    42,
14610       -1,    -1,    -1,    -1,    -1,    -1,    49,  4680,    -1,    -1,
14611       -1,    -1,    -1,    -1,    -1,    -1,  4029,    -1,    -1,    -1,
14612       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14613       -1,    74,    -1,    -1,    -1,  1894,    -1,  1896,    -1,  4239,
14614       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14615       -1,    -1,  4725,    -1,  1913,    -1,  1915,    -1,    -1,    -1,
14616       -1,  4734,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14617     1929,    -1,  1931,    -1,  1933,    -1,  1935,    -1,  1937,   635,
14618       -1,    -1,  1941,  4283,  4284,   641,    -1,    -1,    -1,    -1,
14619       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   654,    -1,
14620       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14621       -1,    -1,    -1,    -1,   670,    -1,    -1,    -1,    -1,    -1,
14622       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   684,   685,
14623       -1,    -1,    -1,    -1,    -1,   691,    -1,   693,   694,    -1,
14624       -1,    -1,   185,    -1,    -1,    -1,    -1,   190,    -1,    -1,
14625       -1,   707,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14626       -1,   717,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   212,
14627      213,    -1,    -1,  4373,  4374,    -1,    -1,    -1,    -1,    -1,
14628       -1,    -1,    -1,    -1,   227,    -1,    -1,    -1,    -1,    -1,
14629       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14630       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14631       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14632       -1,    -1,    -1,   266,    -1,    -1,    -1,    -1,    -1,    -1,
14633       -1,    -1,    -1,    -1,    -1,    -1,    -1,   280,    -1,    -1,
14634      283,    -1,    -1,    -1,    -1,    -1,   802,    -1,    -1,    -1,
14635       -1,    -1,    -1,  4266,    -1,    -1,    -1,    -1,    -1,  4272,
14636       -1,    -1,    -1,  4276,    -1,    -1,    -1,    -1,    -1,    -1,
14637      826,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14638       -1,  4954,    -1,   839,    -1,  4958,    -1,    -1,    -1,  4302,
14639     4303,    -1,    -1,    -1,  4307,  4308,    -1,    -1,    -1,  4499,
14640       -1,    -1,    -1,  4503,  4504,    -1,    -1,    -1,    -1,    -1,
14641       -1,    -1,    -1,  2172,  2173,    -1,    -1,    -1,    -1,  4519,
14642       -1,    -1,    -1,    -1,    -1,    -1,    -1,   370,    -1,    -1,
14643       -1,    -1,  2191,  2192,    -1,    -1,    -1,  2196,  2197,    -1,
14644       -1,    -1,  2201,    -1,    -1,    10,    -1,    -1,    13,    -1,
14645       -1,    -1,    17,    18,    19,    -1,  2215,    -1,    -1,    -1,
14646       -1,    -1,    -1,  2222,    -1,    -1,    -1,  2226,  2227,    34,
14647       -1,  2230,  2231,    -1,    -1,    -1,    -1,    42,  2237,    -1,
14648       -1,    -1,    -1,    -1,    49,    -1,    -1,    -1,    -1,    -1,
14649       -1,    -1,   948,  2252,    -1,  2254,    -1,    -1,    -1,    -1,
14650       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
14651      966,    -1,    -1,  2272,    -1,    -1,   972,    -1,  2277,   975,
14652       -1,    -1,    -1,    -1,    -1,    -1,    -1,   470,    -1,    -1,
14653      473,   474,   475,  2292,   477,   478,   479,   480,   481,   482,
14654       -1,    -1,  2301,    -1,   487,  2304,    -1,  2306,  2307,  2308,
14655       -1,    -1,    -1,    -1,  2313,  2314,    -1,    -1,    -1,    -1,
14656       -1,    -1,    -1,    -1,  2323,    -1,    -1,    -1,  5141,  2328,
14657       -1,    -1,  5145,  2332,  5147,    -1,    -1,    -1,  5151,  5152,
14658       -1,    -1,    -1,    -1,    -1,    10,    -1,    -1,    13,    -1,
14659     2349,    -1,    17,    18,    19,    -1,  2355,  2356,    -1,    -1,
14660       -1,    -1,    -1,  2362,    -1,    -1,    -1,    -1,    -1,    34,
14661       -1,    -1,    -1,  2372,  2373,    -1,    -1,    42,    -1,  2378,
14662      185,    -1,    -1,    -1,    49,   190,    -1,    -1,    -1,    -1,
14663       -1,  2390,    -1,    -1,  2393,    -1,    -1,    -1,    -1,  2398,
14664       -1,    -1,    -1,    -1,    -1,  2404,  2405,   212,   213,    74,
14665       -1,  2410,    -1,    -1,  2413,    -1,    -1,    -1,  2417,  2418,
14666     2419,  2420,   227,  2422,    -1,    -1,    -1,    -1,  1124,    -1,
14667       -1,    -1,    -1,    -1,    -1,    -1,  2435,  2436,    -1,  2438,
14668       -1,    -1,    -1,    -1,    -1,    -1,  1142,    -1,    -1,    -1,
14669     2449,  2450,  2451,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14670       -1,   266,    -1,    -1,  1160,    -1,    -1,    -1,    -1,    -1,
14671       -1,    -1,    -1,    -1,    -1,   280,    -1,    -1,   283,    -1,
14672       -1,    -1,    10,    -1,    -1,    13,  4826,    -1,    -1,    17,
14673       18,    19,  1188,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14674       -1,    -1,    -1,  1199,    -1,    -1,    34,    -1,    -1,    -1,
14675       -1,    -1,    -1,  2512,    42,    -1,    -1,    -1,    -1,  1215,
14676      185,    49,    -1,  1219,    -1,   190,    -1,  4680,    -1,    -1,
14677       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14678       -1,  2540,    -1,    -1,    -1,    -1,    74,   212,   213,    -1,
14679       -1,    -1,    -1,    -1,    -1,    -1,  4896,    -1,    -1,    -1,
14680       -1,    -1,   227,    -1,    -1,   370,    -1,    -1,    -1,    -1,
14681       -1,    -1,  5385,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14682       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14683       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14684       -1,   266,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4949,
14685       -1,    -1,    -1,    -1,    -1,   280,    -1,    -1,   283,    -1,
14686       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14687       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14688       -1,    -1,  1338,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14689     1346,  1347,    -1,    -1,    -1,  5468,    -1,   185,    -1,    -1,
14690       -1,    -1,   190,    -1,  1360,   470,    -1,    -1,   473,   474,
14691      475,    -1,   477,   478,   479,   480,   481,   482,    -1,    -1,
14692       -1,    -1,   487,    -1,   212,   213,    -1,    -1,    -1,    -1,
14693       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   227,
14694       10,    -1,    -1,    13,    -1,   370,    -1,    17,    18,    19,
14695       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1413,    -1,  5532,
14696       -1,    -1,    -1,    -1,    34,    -1,    -1,    -1,    -1,    -1,
14697       -1,    -1,    42,    -1,    -1,    -1,    -1,  5550,   266,    49,
14698       -1,    -1,    -1,  2742,    -1,    -1,    -1,    -1,    -1,    -1,
14699       -1,    -1,   280,    -1,    -1,   283,    -1,    -1,    -1,    -1,
14700       -1,    -1,    -1,    -1,    74,    -1,    -1,    -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,  4954,    -1,    -1,    -1,   470,    -1,    -1,   473,   474,
14705      475,    -1,   477,   478,   479,   480,   481,   482,    -1,    -1,
14706       -1,    -1,   487,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14707       -1,    -1,    -1,    -1,    -1,    -1,    -1,    10,    -1,    -1,
14708       13,    -1,   370,    -1,    17,    18,    19,    -1,    -1,    -1,
14709       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   192,   193,
14710       -1,    34,   196,    -1,    -1,    -1,    -1,    -1,    -1,    42,
14711       -1,    -1,    -1,    -1,    -1,   185,    49,    -1,    -1,    -1,
14712      190,    -1,   216,    -1,    -1,    -1,    -1,    -1,    -1,   223,
14713       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14714       -1,    74,   212,   213,    -1,    -1,    -1,    -1,    -1,    -1,
14715       -1,    -1,    -1,    -1,  1610,    -1,    -1,   227,    -1,    -1,
14716       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14717       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14718       -1,    -1,   470,    -1,    -1,   473,   474,   475,    -1,   477,
14719      478,   479,   480,   481,   482,    -1,   266,    -1,    -1,   487,
14720       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14721      280,    -1,    -1,   283,    -1,    -1,    -1,    -1,  5131,    -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,  3004,    -1,    -1,    -1,  3008,
14725       -1,    -1,   185,    -1,    -1,  3014,    -1,   190,    -1,    -1,
14726       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5369,
14727       -1,    -1,    -1,  3032,  3033,    -1,    -1,    -1,  3037,   212,
14728      213,    -1,    -1,  3042,  3043,  3044,    -1,    -1,    -1,    -1,
14729       -1,    -1,    -1,    -1,   227,    -1,    -1,    -1,    -1,    -1,
14730      370,    -1,  1758,    10,    -1,    -1,    13,    -1,    -1,    -1,
14731       17,    18,    19,    -1,    -1,    -1,    -1,    -1,    -1,  3078,
14732     3079,  3080,  3081,    -1,    -1,    -1,  1782,    34,    -1,    -1,
14733       -1,    -1,    -1,   266,  1790,    42,    -1,    -1,    -1,    -1,
14734       -1,    -1,    49,    -1,    -1,    -1,  1802,   280,    -1,    -1,
14735      283,    -1,    -1,    -1,    -1,    -1,  3115,    -1,  3117,  3118,
14736     3119,    -1,    -1,    -1,    -1,    -1,    -1,    74,    -1,    -1,
14737       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14738       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14739       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14740      470,    -1,    -1,   473,   474,   475,    -1,   477,   478,   479,
14741      480,   481,   482,    -1,    -1,    -1,    -1,   487,  1874,  1875,
14742       -1,  1877,  1878,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14743       -1,    -1,    -1,  1889,    -1,  1891,  1892,   370,    -1,    -1,
14744       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1904,  1905,
14745       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14746       -1,    -1,    -1,    -1,  1920,    -1,    -1,    -1,    -1,    -1,
14747       -1,    -1,  3231,    -1,    -1,    -1,    -1,    -1,   185,    -1,
14748       -1,  3240,    -1,   190,    -1,    -1,    -1,    -1,    -1,    -1,
14749       -1,    -1,    -1,    -1,    -1,    -1,  1952,    -1,    -1,  1955,
14750     1956,    -1,    -1,    -1,    -1,   212,   213,    -1,    -1,    -1,
14751       -1,    -1,  3271,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14752      227,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14753      624,    -1,   626,    -1,    -1,  3294,   630,   470,    -1,    -1,
14754      473,   474,   475,    -1,   477,   478,   479,   480,   481,   482,
14755      644,    -1,    -1,    -1,   487,  5468,    -1,   651,    -1,   266,
14756       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14757       -1,    -1,    -1,   280,    -1,    -1,   283,    -1,    -1,    -1,
14758       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3346,    -1,  2045,
14759       -1,    -1,  3351,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14760       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14761       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5532,
14762       -1,    -1,    -1,    -1,    -1,    -1,  3385,    -1,    -1,    -1,
14763       -1,    -1,    -1,    -1,    -1,    -1,    -1,  5550,    -1,    -1,
14764       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14765       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2115,
14766       -1,    -1,    -1,   370,    -1,    -1,   201,    -1,    -1,  3428,
14767       -1,  3430,    -1,    -1,    -1,   210,    -1,    -1,    -1,    -1,
14768       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   224,
14769       -1,    -1,    -1,    -1,    -1,    -1,    -1,    10,    -1,    -1,
14770       13,    -1,    -1,    -1,    17,    18,    19,    -1,    -1,    -1,
14771       -1,  3470,    -1,    -1,    -1,  2171,    -1,    -1,    -1,   202,
14772       -1,    34,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    42,
14773       -1,   214,    -1,  2189,    -1,    -1,    49,    -1,  2194,  2195,
14774       -1,    -1,   225,  2199,    -1,    -1,    -1,    -1,    -1,    -1,
14775       -1,  2207,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14776       -1,    74,    -1,   470,    -1,    -1,   473,   474,   475,  2225,
14777      477,   478,   479,   480,   481,   482,    -1,    -1,    -1,    -1,
14778      487,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14779       -1,  2247,    -1,    -1,  2250,  2251,    -1,   891,   892,    -1,
14780       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14781       -1,    -1,    -1,    -1,  2270,    -1,    -1,    -1,    -1,    -1,
14782       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    10,
14783       -1,    -1,    13,    -1,  2290,  2291,    17,    18,    19,    -1,
14784       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14785       -1,    -1,    -1,    34,    -1,    -1,    -1,    -1,    -1,    -1,
14786       -1,    42,    -1,    -1,    -1,  2321,  2322,    -1,    49,  2325,
14787       -1,    -1,   185,    -1,    -1,    -1,    -1,   190,    -1,    -1,
14788       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14789       -1,    -1,  2348,    74,  2350,    -1,   990,    -1,  2354,   212,
14790      213,    -1,    -1,    -1,    -1,  2361,    -1,    -1,    -1,    -1,
14791       -1,    -1,  2368,    -1,   227,  2371,    -1,    -1,    -1,    -1,
14792       -1,  2377,    -1,    -1,    -1,  1019,  1020,    -1,    -1,    -1,
14793       -1,  3690,    -1,  3692,    -1,    -1,    -1,    -1,    -1,    -1,
14794     3699,  2397,    -1,    -1,    -1,    -1,    -1,  2403,    -1,    -1,
14795       -1,  1045,  2408,   266,    -1,  2411,  3715,    -1,    -1,    -1,
14796       -1,    -1,    -1,    -1,    -1,  2421,    -1,   280,  3727,    -1,
14797      283,    -1,  3731,    10,    -1,    -1,    13,    -1,  2434,    -1,
14798       17,    18,    19,  2439,    -1,    -1,    -1,    -1,    -1,  2445,
14799     3749,    -1,    -1,    -1,    -1,    -1,    -1,    34,    -1,    -1,
14800       -1,    38,    -1,    -1,   185,    42,    -1,    -1,  3767,   190,
14801       -1,    -1,    49,  3772,    -1,    -1,    -1,    -1,    -1,    -1,
14802       -1,    -1,    -1,    -1,    -1,  1119,  1120,    -1,    -1,    -1,
14803       -1,   212,   213,    -1,    -1,    -1,    -1,    74,  3797,    -1,
14804       -1,    -1,  3801,    -1,    -1,    -1,   227,    -1,    -1,    -1,
14805     3809,  3810,  3811,  3812,    -1,  2511,    -1,   370,    -1,  3818,
14806     3819,  3820,  3821,    -1,    -1,    -1,  3825,  3826,    -1,    -1,
14807       -1,    -1,  3831,  3832,    -1,  3834,  3835,  3836,  3837,  3838,
14808     3839,  3840,    -1,    -1,    -1,   266,   123,    -1,    -1,    -1,
14809       -1,  3850,    -1,    -1,    -1,  3854,  3855,  3856,  3857,   280,
14810      635,    -1,   283,    -1,    -1,    -1,   641,    -1,    -1,    -1,
14811       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   654,
14812       -1,  3880,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14813       -1,    -1,    -1,   616,    -1,   670,  2592,    -1,    -1,   622,
14814     3899,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   185,    -1,
14815      685,    -1,    -1,   190,    -1,    -1,    -1,   470,   693,    -1,
14816      473,   474,   475,    -1,   477,   478,   479,   480,   481,   482,
14817       -1,    -1,   707,    -1,   487,   212,   213,    -1,    -1,    -1,
14818       -1,    -1,   717,    -1,    -1,    -1,    -1,    -1,    -1,   370,
14819      227,    -1,  2648,    -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,    -1,    -1,   266,
14823       -1,    -1,    -1,    -1,  2690,    -1,    -1,    -1,    -1,    -1,
14824     3999,    -1,    -1,   280,    -1,    -1,   283,    -1,    -1,    -1,
14825       -1,    -1,  2708,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14826     2716,    -1,    -1,    -1,    -1,    -1,    -1,   802,    -1,    -1,
14827     2726,    -1,    -1,  2729,    -1,    -1,  2732,  4036,    -1,    -1,
14828       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   470,
14829       -1,   826,   473,   474,   475,    -1,   477,   478,   479,   480,
14830      481,   482,    -1,    -1,   839,    10,   487,    -1,    13,    -1,
14831       -1,    -1,    17,    18,    19,    -1,   799,    -1,    -1,    -1,
14832       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    34,
14833       -1,    -1,    -1,   370,    -1,   818,    -1,    42,    -1,    -1,
14834       -1,    -1,    -1,  2799,    49,    -1,    -1,    -1,    -1,  2805,
14835       -1,    -1,    -1,    -1,    -1,    -1,    -1,   840,    -1,    -1,
14836       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,
14837       -1,    -1,    -1,  1467,    -1,    -1,    -1,    -1,    -1,    -1,
14838       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14839       -1,    -1,    -1,   430,    -1,    -1,    -1,    -1,  1492,    -1,
14840       -1,    -1,    -1,   886,    -1,    -1,    -1,    -1,    -1,    -1,
14841       -1,    -1,    -1,   948,    -1,    -1,    -1,    -1,    -1,    -1,
14842       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14843       -1,  2887,    -1,   470,    -1,    -1,   473,   474,   475,    -1,
14844      477,   478,   479,   480,   481,   482,    -1,    -1,    -1,    -1,
14845       -1,    -1,    -1,    -1,    -1,    -1,   161,    -1,    -1,    -1,
14846       -1,   166,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14847       -1,    -1,    -1,    -1,    -1,  1569,    -1,    -1,    -1,    -1,
14848      185,    -1,    -1,    -1,    -1,   190,    -1,    -1,    -1,    -1,
14849     4249,    -1,    -1,    -1,  4253,  4254,  4255,  4256,    -1,    -1,
14850       -1,  4260,  1596,  1597,  1598,  1599,    -1,   212,   213,    -1,
14851       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14852     2976,  2977,   227,    -1,    -1,    -1,    -1,    -1,    -1,  1012,
14853       -1,    -1,    -1,    -1,    -1,  4294,  4295,  4296,  4297,  4298,
14854       -1,  4300,  4301,    -1,    -1,    -1,    -1,  3003,    -1,    -1,
14855     3006,    -1,    -1,  4312,  4313,    -1,    -1,    -1,  1041,  1042,
14856     1043,   266,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14857       -1,    -1,    -1,    -1,    -1,   280,    -1,    -1,   283,    -1,
14858       -1,    -1,    -1,  4342,    -1,    -1,    -1,    -1,    -1,  1124,
14859       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14860       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1142,    -1,    -1,
14861       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14862       -1,    -1,    -1,    -1,    -1,  1160,    -1,    -1,    -1,    -1,
14863       -1,    -1,    -1,    -1,  3090,  3091,  3092,    -1,    -1,    -1,
14864       -1,    -1,    -1,  1737,  1738,    -1,    -1,    -1,    -1,    -1,
14865       -1,    -1,    -1,  1188,    -1,    -1,    -1,    -1,  3114,    -1,
14866       -1,    -1,    -1,  1757,  1199,   370,    -1,    -1,    -1,    -1,
14867       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3134,    -1,
14868     1215,    -1,    -1,    -1,  1219,    -1,    -1,  4446,    -1,    -1,
14869       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3153,  1792,  1793,
14870     1794,  1795,    -1,    -1,  1187,    -1,    -1,    -1,    -1,    -1,
14871       -1,    -1,    -1,    -1,    -1,    -1,    10,    -1,    -1,    13,
14872       -1,    -1,  1205,    17,    18,    19,    -1,    -1,    -1,    -1,
14873       -1,  1214,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14874       34,    -1,   796,   797,    -1,    -1,    -1,  4506,    42,    -1,
14875       -1,    -1,    -1,    -1,    -1,    49,    -1,    -1,    -1,    -1,
14876       -1,    -1,    -1,    -1,    -1,   470,    -1,    -1,   473,   474,
14877      475,    -1,   477,   478,   479,   480,   481,   482,    -1,    -1,
14878       74,    -1,    -1,  3239,    -1,    -1,    -1,    -1,    -1,    -1,
14879       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14880       -1,    -1,    -1,  1338,    -1,    -1,    -1,    -1,    -1,    -1,
14881       -1,  1346,  1347,    -1,    -1,    -1,  1910,    -1,    -1,    -1,
14882       -1,    -1,  1916,    -1,    -1,  1360,    -1,    -1,    -1,    -1,
14883     3286,    -1,    -1,    -1,    -1,    -1,    -1,  3293,    -1,  3295,
14884       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14885       -1,    -1,  3308,    -1,  3310,    -1,    -1,    -1,    -1,  4618,
14886       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1352,
14887       -1,    -1,    -1,    -1,    -1,    -1,  3332,    -1,  1413,    -1,
14888       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14889       -1,   185,   946,   947,    -1,    -1,   190,    -1,    -1,    -1,
14890       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14891       -1,    -1,    -1,    -1,    -1,  1398,    -1,    -1,   212,   213,
14892     3376,    -1,    -1,  4682,    -1,    -1,    -1,    -1,    -1,    -1,
14893       -1,    -1,    -1,   227,    -1,    -1,    -1,    -1,    -1,    -1,
14894       -1,    -1,  4701,    -1,    -1,    -1,    -1,  4706,  4707,    -1,
14895       -1,    -1,    -1,    -1,  2048,    -1,    -1,  4716,    -1,    -1,
14896       -1,    -1,    -1,    -1,  4723,    -1,    -1,    -1,    -1,    -1,
14897       -1,    -1,   266,    -1,    -1,  3431,    -1,    -1,    -1,    -1,
14898       -1,    -1,    -1,    -1,    -1,    -1,   280,    -1,    -1,   283,
14899       -1,    -1,    -1,  3449,    -1,    10,    -1,  1480,    13,    -1,
14900     4759,    -1,    17,    18,    19,    -1,  1489,    -1,    -1,    -1,
14901       -1,    -1,    -1,   307,    -1,  3471,    -1,    -1,  3474,    34,
14902     4779,    -1,  4781,    -1,    -1,    -1,    -1,    42,    -1,    -1,
14903       -1,    -1,    -1,    -1,    49,    -1,    -1,  4796,  1521,    -1,
14904       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14905       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4816,    -1,    74,
14906       -1,  1544,    -1,    -1,  1547,  4824,    -1,    -1,    -1,    -1,
14907       -1,    -1,    -1,    -1,    -1,  1610,   370,    -1,    -1,    -1,
14908       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14909       -1,    -1,    -1,   387,    -1,    -1,    -1,    -1,    -1,    -1,
14910     3556,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14911       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1600,    -1,    -1,
14912       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14913     4889,  1614,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14914       -1,    -1,    -1,    -1,    -1,   160,    -1,    -1,  2242,  2243,
14915       -1,  4910,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2253,
14916       -1,  2255,    -1,  4922,    -1,  2259,    -1,    -1,    -1,    -1,
14917      185,    -1,    -1,    -1,    -1,   190,   470,  1231,    -1,   473,
14918      474,   475,    -1,   477,   478,   479,   480,   481,   482,    -1,
14919       -1,    -1,    -1,    -1,    -1,    -1,    -1,   212,   213,    -1,
14920       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1262,    -1,
14921       -1,    -1,   227,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14922       -1,    -1,    -1,  1758,    -1,    -1,    -1,    -1,  4987,    -1,
14923       -1,    -1,    -1,    -1,    -1,    -1,  1290,  1291,  1292,    -1,
14924     1294,    -1,  1725,    -1,    -1,    -1,    -1,  1782,    -1,    -1,
14925       -1,   266,    -1,    -1,    -1,  1790,    -1,    -1,  3714,    -1,
14926     1314,    -1,    -1,    -1,    -1,   280,    -1,  1802,   283,    -1,
14927       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14928       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14929      305,    -1,  5051,  1776,    -1,  2389,    -1,    -1,  2392,    -1,
14930       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3764,    -1,
14931       -1,    -1,    -1,  3769,    -1,  3771,    -1,    -1,    -1,    -1,
14932       -1,    -1,  1805,    -1,    -1,    -1,    -1,    -1,  1382,  1812,
14933       -1,    -1,  1386,  1387,    -1,    -1,    -1,    -1,  3794,    -1,
14934       -1,    -1,  1877,  1878,    -1,    -1,    -1,    -1,    -1,    -1,
14935       -1,    -1,  5111,    -1,    -1,   370,  1891,    -1,  3814,    -1,
14936       -1,    -1,    -1,    -1,    -1,    -1,    -1,  5126,    -1,  1904,
14937     1905,    -1,    -1,    -1,  3830,    -1,    -1,  3833,    -1,    -1,
14938       -1,  2475,    -1,    -1,    -1,  1920,    -1,    -1,    -1,  2483,
14939       -1,    -1,  2486,    -1,    -1,    -1,    -1,    -1,  2492,    -1,
14940       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2503,
14941       -1,  5170,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14942       -1,    -1,    -1,    -1,    -1,    -1,  5185,    -1,    -1,    -1,
14943       -1,    -1,    -1,    -1,    -1,  1918,    -1,    -1,    -1,    -1,
14944       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14945     2544,    -1,    -1,    -1,    -1,   470,    -1,    -1,   473,   474,
14946      475,    -1,   477,   478,   479,   480,   481,   482,    -1,  3925,
14947     3926,    -1,    -1,    -1,    -1,  1958,  1959,    10,  2572,  3935,
14948       13,    -1,    -1,    -1,    17,    18,    19,    -1,    -1,    -1,
14949       -1,    -1,  1975,    -1,    -1,    -1,    -1,    -1,  3954,    -1,
14950       -1,    34,    -1,    -1,    37,    -1,    -1,  5266,    -1,    42,
14951     2045,    -1,    -1,    -1,    -1,    -1,    49,    -1,    -1,    -1,
14952       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14953       -1,    -1,    -1,    -1,    -1,    -1,    -1,  2631,    -1,  2633,
14954       -1,    74,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14955       -1,  5310,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14956       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14957       -1,  1625,  1626,  1627,    -1,    -1,  4032,    -1,    -1,    -1,
14958     2115,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14959       -1,    -1,  2075,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14960       -1,    -1,  2085,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14961       -1,    -1,    -1,    -1,    10,    -1,    -1,    13,    -1,    -1,
14962       -1,    17,    18,    19,    -1,    -1,    -1,    -1,    -1,    -1,
14963       -1,  2114,    -1,    -1,    -1,    -1,  2171,    -1,    34,  5398,
14964       -1,    -1,  2125,  2126,    -1,    -1,    42,  2741,    -1,    -1,
14965       -1,    -1,   185,    49,  2189,    -1,    -1,   190,    -1,  2194,
14966     2195,    -1,    -1,    -1,  2199,    -1,    -1,    -1,    -1,    -1,
14967       -1,    -1,  2207,    -1,    -1,    -1,  2159,    -1,    74,   212,
14968      213,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14969     2225,    -1,    -1,    -1,   227,    -1,    -1,    -1,    -1,    -1,
14970       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14971       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14972       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14973       -1,    -1,    -1,   266,    -1,  2270,    -1,    -1,    -1,    -1,
14974       -1,    -1,    -1,    -1,    -1,    -1,    -1,   280,    -1,    -1,
14975      283,    -1,    -1,    -1,    -1,  2290,  2291,    -1,    -1,    -1,
14976       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14977       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14978       -1,    -1,    -1,    -1,    -1,    -1,  2321,  2322,    -1,   185,
14979     2325,    -1,    -1,    -1,   190,    -1,    -1,    -1,    -1,    -1,
14980       -1,    -1,    -1,  4259,    -1,    -1,    -1,    -1,  4264,    -1,
14981       -1,    -1,    -1,  2348,    -1,  2350,   212,   213,    -1,  2354,
14982     2303,    -1,    -1,    -1,    -1,    -1,  2361,    -1,    -1,    -1,
14983       -1,   227,    -1,  2368,    -1,  2318,  2371,   370,    -1,    -1,
14984       -1,    -1,  2377,  4299,    -1,    -1,    -1,    -1,    -1,    -1,
14985       -1,    10,    -1,    -1,    13,  4311,  2339,    -1,    17,    18,
14986       19,    -1,  2397,    -1,    -1,    -1,    -1,    -1,  2403,    -1,
14987      266,    -1,    -1,  2408,    -1,    34,  2411,    -1,    37,    -1,
14988       -1,    -1,    -1,    42,   280,  4341,  2421,   283,    -1,    -1,
14989       49,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2434,
14990       -1,    -1,    -1,    -1,  2439,   301,    -1,    -1,    -1,    -1,
14991     2445,    -1,    -1,    -1,    -1,    74,    -1,    -1,    -1,    -1,
14992       -1,    -1,  3016,    -1,  3018,  3019,  3020,    -1,    -1,    -1,
14993       -1,    -1,  2415,  2416,    -1,    -1,    -1,   470,    -1,    -1,
14994      473,   474,   475,  1997,   477,   478,   479,   480,   481,   482,
14995       -1,    -1,    -1,    -1,    -1,  2009,    -1,  2011,    -1,  2013,
14996       -1,    -1,  2016,  2017,  2018,    -1,    -1,    -1,    -1,  2023,
14997       -1,    -1,  2026,    -1,   370,    -1,  2511,    -1,    -1,    -1,
14998       -1,    -1,    -1,    -1,  4440,    -1,    -1,  2041,  2042,  2043,
14999     2044,    -1,    -1,    -1,    -1,  2049,    -1,    -1,    -1,  2053,
15000       -1,    -1,  2056,    -1,    -1,  2059,  2060,  2061,  2062,  2063,
15001     2064,  2065,  2066,  2067,    -1,  2069,    -1,    -1,    -1,    -1,
15002       -1,    -1,  2076,    -1,  2078,    -1,   185,    -1,    -1,    -1,
15003       -1,   190,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2522,
15004       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15005       -1,    -1,    -1,   212,   213,    -1,    -1,  2592,    -1,    -1,
15006       -1,    -1,    -1,    -1,  4520,    -1,    -1,  2121,   227,    -1,
15007       -1,    -1,    -1,    -1,   470,    -1,    -1,   473,   474,   475,
15008       -1,   477,   478,   479,   480,   481,   482,    -1,    -1,    -1,
15009       -1,  2145,  2146,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15010      680,    -1,    -1,    -1,    -1,    -1,    -1,   266,    -1,    -1,
15011       -1,    -1,    -1,  2648,    -1,    -1,    -1,    -1,    -1,    -1,
15012       -1,   280,    10,    -1,   283,    13,   706,    -1,    -1,    17,
15013       18,    19,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15014       -1,    -1,    -1,    -1,    -1,    -1,    34,    -1,    -1,    -1,
15015       -1,    -1,    -1,    -1,    42,  2690,    -1,    -1,    -1,    -1,
15016       10,    49,    -1,    13,    -1,  3259,    -1,    17,    18,    19,
15017       -1,    -1,    -1,  2708,  2228,    -1,  4632,    -1,  4634,    -1,
15018       -1,  2716,    -1,    -1,    34,    -1,    74,    37,    -1,    -1,
15019       -1,    -1,    42,    -1,    -1,    -1,    -1,    -1,    -1,    49,
15020       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15021       -1,   370,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15022       -1,    -1,    -1,    -1,    74,  4681,    -1,    -1,    -1,    -1,
15023       -1,    -1,    -1,    -1,    -1,  4691,    -1,    -1,    -1,    -1,
15024       -1,    -1,    -1,    10,    -1,   680,    13,    -1,    -1,    -1,
15025       17,    18,    19,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15026       -1,    -1,    -1,    -1,  2799,    -1,    -1,    34,    -1,    -1,
15027     2805,   706,    -1,    -1,  4730,    42,    -1,    -1,   166,  4735,
15028       -1,    -1,    49,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15029       -1,    -1,    -1,    -1,    -1,    -1,    -1,   185,    -1,    -1,
15030       -1,    -1,   190,    -1,    -1,    -1,    -1,    74,    -1,    -1,
15031       -1,   470,    -1,    -1,   473,   474,   475,    -1,   477,   478,
15032      479,   480,   481,   482,   212,   213,    -1,    -1,    -1,    -1,
15033       -1,    -1,    -1,    -1,    -1,   185,    -1,    -1,    -1,   227,
15034      190,  3435,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15035       -1,    -1,  2887,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15036       -1,    -1,   212,   213,    -1,    -1,   946,    -1,    -1,    -1,
15037       -1,    -1,    -1,    -1,    -1,    -1,    -1,   227,   266,    -1,
15038       -1,    -1,   962,    -1,    -1,    -1,    -1,    -1,    -1,  2872,
15039       -1,    -1,   280,    -1,    -1,   283,    -1,    -1,    -1,    -1,
15040       -1,    -1,    -1,    -1,    -1,    -1,    -1,   987,    -1,  2463,
15041     2464,  2465,  2895,    -1,    -1,  2469,   266,    -1,   185,    -1,
15042       -1,    -1,  1002,   190,    -1,    -1,    -1,    -1,    -1,    -1,
15043      280,    -1,    -1,   283,    -1,    -1,    -1,    -1,    -1,    -1,
15044       -1,  2976,  2977,    -1,    -1,   212,   213,  2501,    -1,    -1,
15045       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4914,    -1,
15046      227,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3003,    -1,
15047       -1,  3006,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15048       -1,    -1,   370,    -1,  4940,    -1,    -1,    -1,    -1,    -1,
15049       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4954,   266,
15050       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1087,    -1,    -1,
15051       -1,    -1,    -1,   280,    -1,    -1,   283,    -1,    -1,    -1,
15052      370,    -1,    -1,    -1,    -1,    -1,    -1,   962,    -1,    -1,
15053       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15054       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15055       -1,    -1,   987,    -1,    -1,  3090,  3091,  3092,    -1,    -1,
15056       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1002,    -1,    -1,
15057       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3114,
15058       -1,    -1,   470,    -1,    -1,   473,   474,   475,    -1,   477,
15059      478,   479,   480,   481,   482,    -1,    -1,    -1,    -1,  3134,
15060       -1,    -1,    -1,   370,    -1,    -1,    -1,    -1,    -1,    -1,
15061     3704,  3705,  3706,  3707,    -1,    -1,    -1,  1197,  3153,    -1,
15062      470,    -1,    -1,   473,   474,   475,    -1,   477,   478,   479,
15063      480,   481,   482,    -1,    -1,   402,    -1,    -1,    -1,    -1,
15064       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3132,
15065       -1,    -1,  1087,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15066       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15067       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15068       -1,    -1,    -1,  5139,    -1,  5141,    -1,    -1,    -1,    -1,
15069       -1,    -1,    -1,    -1,    -1,  2749,    -1,    -1,    -1,    -1,
15070     2754,    -1,    -1,   470,  3239,    -1,   473,   474,   475,    -1,
15071      477,   478,   479,   480,   481,   482,    -1,    -1,    -1,    -1,
15072       -1,    -1,    -1,    -1,    -1,    -1,  2780,    -1,    -1,    -1,
15073       -1,   680,    -1,    -1,    -1,    10,    -1,  2791,    13,  2793,
15074     2794,    -1,    17,    18,    19,    -1,    -1,    -1,    -1,    -1,
15075     2804,  3286,    -1,  2807,    -1,  2809,    -1,   706,  3293,    34,
15076     3295,    -1,  1197,    -1,    -1,    -1,    -1,    42,    -1,    -1,
15077       -1,    -1,    -1,  3308,    49,  3310,    -1,    -1,    -1,    -1,
15078     5236,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3883,
15079     2844,    -1,  2846,    -1,  2848,    -1,    -1,  3332,  5254,    74,
15080       -1,    -1,    -1,    -1,  3898,    -1,    -1,    -1,    -1,    -1,
15081       -1,  5267,    -1,    -1,    -1,    -1,  3299,  3300,  3301,    -1,
15082       -1,    -1,    -1,    -1,  5280,    -1,    -1,  1407,    -1,    -1,
15083       -1,    -1,    -1,  3316,    -1,    -1,    -1,    -1,    -1,    -1,
15084       -1,  3376,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2903,
15085       -1,    -1,    -1,    -1,    -1,    -1,  3339,    -1,    -1,    -1,
15086       -1,    -1,    -1,    -1,  2918,    -1,  3349,  3350,    -1,    -1,
15087       -1,  3354,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15088       -1,    10,    -1,    -1,    13,    -1,  5342,  5343,    17,    18,
15089       19,    -1,    -1,    -1,  1474,    -1,  3431,    -1,    -1,    -1,
15090       -1,    -1,    -1,    -1,    -1,    34,  1341,    -1,    37,    -1,
15091      185,    -1,    -1,    42,  3449,   190,    -1,    -1,    -1,    -1,
15092       49,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2982,  5385,
15093       -1,    -1,    -1,    -1,    -1,  1515,  3471,   212,   213,  3474,
15094       -1,    -1,    -1,    -1,    -1,    74,    -1,    -1,    -1,    -1,
15095       -1,    -1,   227,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15096       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1548,    -1,
15097       -1,    -1,  1407,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15098       -1,    -1,    -1,    -1,    -1,    -1,  3469,    -1,    -1,  3472,
15099       -1,   266,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15100       -1,    -1,    -1,    -1,    -1,   280,    -1,    -1,   283,    -1,
15101       -1,    -1,  5468,   962,    -1,    -1,    -1,    -1,    -1,    -1,
15102       -1,  3556,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15103       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   987,  1474,
15104       -1,    -1,    -1,    -1,    -1,  1625,  1626,  1627,    -1,    -1,
15105       -1,    -1,    -1,  1002,    -1,    -1,   185,    -1,    -1,    -1,
15106       -1,   190,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15107       -1,    -1,    -1,    -1,    -1,    -1,  5532,    -1,    -1,    -1,
15108     1515,    -1,    -1,   212,   213,    -1,    -1,    -1,    -1,    -1,
15109       -1,    -1,    -1,    -1,  5550,   370,  5552,  5553,   227,    -1,
15110       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15111       -1,    -1,    -1,  1548,    -1,    -1,    -1,    -1,    -1,    -1,
15112       -1,    -1,  3605,  3606,  3607,    -1,    -1,    -1,    -1,    -1,
15113       -1,    -1,    -1,    -1,    -1,    -1,    -1,   266,  1087,    -1,
15114       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1728,    -1,
15115       -1,   280,    -1,    -1,   283,    -1,    -1,    -1,    -1,    -1,
15116       -1,    -1,    -1,    -1,    -1,  1745,    -1,    -1,    -1,    -1,
15117       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3714,
15118       -1,    -1,    -1,  1763,    -1,    -1,    -1,    -1,    -1,    -1,
15119     3244,    -1,    -1,    -1,    -1,   470,  3250,    -1,   473,   474,
15120      475,    -1,   477,   478,   479,   480,   481,   482,    -1,    -1,
15121       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15122       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3764,
15123       -1,    -1,    -1,    -1,  3769,    -1,  3771,    -1,    -1,  1819,
15124       -1,   370,    -1,    -1,    -1,    -1,    -1,    -1,  1197,   680,
15125       -1,    -1,  1832,    -1,    -1,    -1,    -1,    -1,  4352,  3794,
15126       -1,    -1,    -1,    -1,    -1,  1845,    -1,    -1,    -1,    -1,
15127       -1,    -1,    -1,  4367,    -1,   706,    -1,  1857,    -1,  3814,
15128       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15129       -1,    -1,    -1,  1728,    -1,  3830,    -1,    -1,  3833,    -1,
15130       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15131     1745,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15132       -1,  1901,  1902,    -1,    -1,    -1,    -1,    -1,  1763,    -1,
15133       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15134       -1,   470,    -1,    -1,   473,   474,   475,    -1,   477,   478,
15135      479,   480,   481,   482,    -1,    22,    -1,    -1,    -1,    -1,
15136       27,    -1,    -1,    -1,    -1,    -1,  4460,    -1,    -1,    -1,
15137       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15138       -1,    -1,    -1,    -1,  1819,    -1,    -1,    -1,    -1,    -1,
15139     3925,  3926,    -1,    -1,    -1,    62,    -1,  1832,    -1,    -1,
15140     3935,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    75,    -1,
15141     1845,    -1,    -1,  3896,    -1,    -1,    -1,    -1,    -1,  3954,
15142       -1,    -1,  1857,    90,  3907,    -1,    -1,    -1,    -1,    -1,
15143       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15144     3494,   108,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3503,
15145       -1,    -1,    -1,    -1,    -1,  3938,    -1,  3511,  1407,  3513,
15146     2040,    -1,    -1,    -1,   131,    -1,  1901,  1902,    -1,    -1,
15147       -1,    -1,    -1,    -1,    -1,   142,    -1,    -1,    -1,    -1,
15148       -1,    -1,    -1,    -1,   151,    -1,  3540,  3541,  3971,    -1,
15149       -1,    -1,    -1,    -1,    -1,    -1,   163,  4032,  2078,    -1,
15150       -1,   168,    -1,    -1,  3558,    -1,    -1,    -1,   175,    -1,
15151       -1,    -1,  3566,    -1,    -1,  3569,    -1,  3571,    -1,    -1,
15152       -1,    -1,    -1,    -1,    -1,  1474,    -1,   194,    -1,  3583,
15153       -1,   962,    -1,    -1,    -1,    -1,    -1,  3591,  3592,  4022,
15154       -1,    -1,    -1,    -1,    -1,    -1,  4640,    -1,  4642,    -1,
15155       -1,    -1,    -1,    -1,    -1,    -1,   987,    -1,    -1,    -1,
15156       -1,    -1,    -1,    -1,    -1,    -1,  1515,    -1,    -1,  3623,
15157       -1,  1002,    -1,   240,    -1,    -1,    -1,    -1,    -1,    -1,
15158       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15159       -1,    -1,    -1,    -1,    -1,  3649,    -1,    -1,  2178,  1548,
15160       -1,    -1,  2182,  2183,   680,  2040,    -1,    -1,    -1,    -1,
15161       -1,  3665,    -1,   280,    -1,    -1,    -1,    -1,    -1,    -1,
15162       -1,    -1,    -1,    -1,    -1,    -1,   293,    -1,    -1,    -1,
15163      706,    -1,    -1,    -1,    -1,    -1,   303,    -1,    -1,    -1,
15164       -1,    -1,    -1,    -1,    -1,    -1,   313,   314,    -1,    -1,
15165      317,    -1,    -1,    -1,    -1,    -1,  1087,    -1,    -1,    -1,
15166     4143,  4144,  4145,  4146,  2244,    -1,    -1,    -1,    -1,    -1,
15167       -1,    -1,    -1,    -1,    -1,    -1,   343,    -1,  2258,   346,
15168       -1,    -1,    -1,   350,    -1,   352,    -1,    -1,    -1,    -1,
15169       -1,    -1,   359,    -1,    -1,   362,    -1,    -1,    -1,    -1,
15170       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4802,    -1,
15171       -1,    -1,    -1,    -1,   381,    -1,    -1,    -1,    -1,  2299,
15172       -1,   388,    -1,    -1,  4259,    -1,    -1,   394,    -1,  4264,
15173      397,    -1,    -1,    -1,   401,    -1,    -1,    -1,    -1,    -1,
15174       -1,    -1,   409,  2178,   411,    -1,    -1,  2182,  2183,   416,
15175       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15176       -1,    -1,   429,    -1,  4299,    -1,  1197,    -1,    -1,    -1,
15177       -1,    -1,    -1,    -1,    -1,   442,  4311,    -1,    -1,  1728,
15178       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15179       -1,    -1,    -1,    -1,    -1,    -1,  1745,    -1,    -1,    -1,
15180       -1,    -1,    -1,    -1,    -1,    -1,  4341,    -1,    -1,  2244,
15181       -1,    -1,    -1,    -1,  1763,    -1,    -1,    -1,    -1,    -1,
15182       -1,    -1,    -1,  2258,    -1,    -1,    -1,    -1,    -1,    -1,
15183       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15184       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15185     4944,    -1,  4946,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15186       -1,    -1,    -1,    -1,  2299,    -1,    -1,    -1,    -1,    -1,
15187     1819,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15188       -1,    -1,    -1,  1832,    -1,  2465,   962,    -1,    -1,    -1,
15189       -1,    -1,    -1,    -1,    -1,    -1,  1845,    -1,    -1,    -1,
15190       -1,    -1,    -1,    -1,    -1,  4440,    -1,    -1,  1857,    -1,
15191       -1,   987,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15192       -1,    -1,  2502,    -1,    -1,    -1,  1002,    -1,  3982,  3983,
15193       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15194       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15195       -1,    -1,  1901,  1902,    -1,    -1,    -1,    -1,    -1,    -1,
15196       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15197       -1,    -1,    -1,    -1,    -1,    -1,  1407,    -1,    -1,    -1,
15198       -1,    -1,    -1,    -1,    -1,  4520,    -1,    -1,    -1,    -1,
15199       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15200       -1,    -1,    -1,  4057,  2584,    -1,    -1,  2587,    -1,    -1,
15201       -1,  1087,    -1,  4496,    -1,  4069,    -1,    -1,    -1,    -1,
15202       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15203       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15204       -1,    -1,    -1,  1474,    -1,    -1,    -1,    -1,    -1,    -1,
15205       -1,    -1,    -1,    -1,    -1,    -1,  4110,  4111,    -1,    -1,
15206       -1,    -1,    -1,  4117,  4118,    -1,    -1,  2502,  4122,    -1,
15207       -1,    -1,    -1,    -1,  4128,    -1,    -1,  4131,  4132,    -1,
15208      680,    -1,  4136,    -1,  1515,    -1,  5180,    22,  4142,    -1,
15209       -1,  2040,    -1,    -1,    -1,    -1,    -1,  4632,    -1,  4634,
15210       -1,    -1,    -1,    -1,    39,    -1,   706,    -1,    -1,    -1,
15211       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1548,    -1,    -1,
15212       -1,  1197,    -1,    -1,    -1,    -1,  2706,    62,    -1,    -1,
15213       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15214       75,    -1,  4196,  2723,    -1,    -1,  4681,    -1,    -1,  2584,
15215       -1,    86,  2587,    -1,    -1,    90,    -1,    -1,  2738,    -1,
15216       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4223,
15217       -1,    -1,    -1,   108,    -1,    -1,    -1,    -1,    -1,   114,
15218       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5282,    -1,
15219       -1,    -1,    -1,    -1,    -1,  4730,   131,    -1,    -1,    -1,
15220       -1,    -1,    -1,    -1,    -1,    -1,    -1,   142,    -1,    -1,
15221       -1,    -1,    -1,    -1,    -1,    -1,   151,    -1,    -1,    -1,
15222       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   163,  2178,
15223       -1,    -1,    -1,  2182,  2183,    -1,   171,    -1,    -1,    -1,
15224      175,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15225       -1,    -1,    -1,    -1,    -1,  4738,    -1,    -1,    -1,   194,
15226       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15227     4753,  2706,    -1,  4327,    -1,  4758,    -1,    -1,    -1,    -1,
15228       -1,    -1,    -1,    -1,    -1,  5379,    -1,    -1,  2723,    -1,
15229       -1,    -1,    -1,    -1,    -1,  2244,   231,  1728,    -1,    -1,
15230       -1,  4784,    -1,  2738,    -1,   240,    -1,    -1,    -1,  2258,
15231       -1,    -1,    -1,    -1,  1745,    -1,    -1,  5411,  5412,    -1,
15232       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15233       -1,  1407,  1763,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15234       -1,    -1,    -1,    -1,    -1,   280,    -1,  4401,   283,    -1,
15235     2299,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15236       -1,    -1,   962,    -1,    -1,    -1,    -1,    -1,   303,    -1,
15237       -1,  2951,    -1,    -1,  2954,    -1,  2956,    -1,    -1,  4914,
15238       -1,  2961,   317,    -1,    -1,    -1,    -1,   987,  1819,   324,
15239       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1474,    -1,
15240       -1,  1832,  1002,    -1,    -1,  4940,    -1,    -1,   343,    -1,
15241       -1,    -1,    -1,    -1,  1845,    -1,    -1,   352,    -1,  4954,
15242     5514,    -1,  4905,    -1,   359,    -1,  1857,   362,    -1,    -1,
15243     3010,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1515,
15244       -1,    -1,    -1,    -1,    -1,    -1,   381,    -1,    -1,  3029,
15245       -1,    -1,    -1,   388,    -1,    -1,    -1,    -1,    -1,   394,
15246       -1,    -1,   397,   398,    -1,   400,   401,    -1,    -1,    -1,
15247     1901,  1902,  1548,    -1,  3054,    -1,   411,    -1,    -1,    -1,
15248       -1,   416,    -1,    -1,    -1,    -1,    -1,  1087,   423,    -1,
15249       -1,   426,    -1,    -1,   429,    -1,    -1,    -1,    -1,    -1,
15250       -1,    -1,    -1,    -1,    -1,    -1,    -1,   442,    -1,    -1,
15251       -1,    -1,    -1,    -1,  4568,  4569,  2951,    -1,  4572,  2954,
15252       -1,  2956,  5005,    -1,    -1,    -1,  2961,    -1,    -1,    -1,
15253       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15254       -1,    -1,    -1,    -1,  3124,    -1,  3126,    -1,    -1,    -1,
15255       -1,    -1,    -1,  2502,    -1,  4609,  4610,    -1,    -1,    -1,
15256       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15257       -1,    -1,    -1,  4627,    -1,  3010,    -1,    -1,    -1,    -1,
15258       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15259       -1,    -1,    -1,    -1,  3029,    -1,    -1,  1197,    -1,    -1,
15260       -1,    -1,    -1,    -1,  5139,    -1,  5141,    -1,    -1,  2040,
15261       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3054,
15262       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15263       -1,    -1,    -1,    -1,    -1,  2584,    -1,  3217,  2587,    -1,
15264       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15265       -1,    -1,  1728,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15266       -1,    -1,    -1,    -1,  3244,    -1,    -1,    -1,    -1,  1745,
15267     3250,    -1,    -1,    -1,    -1,    -1,    -1,   680,  3258,    -1,
15268       -1,    -1,    -1,    -1,    -1,    -1,   680,  1763,    -1,  3124,
15269       -1,  3126,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15270       -1,  5236,    -1,   706,    -1,    -1,    -1,  3287,    -1,    -1,
15271       -1,    -1,   706,    -1,    -1,    -1,    -1,    -1,    -1,  5254,
15272       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15273       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15274       -1,    -1,    -1,  1819,    -1,  5280,    -1,  2178,    -1,    -1,
15275       -1,  2182,  2183,    -1,    -1,    -1,  1832,  2706,    -1,    -1,
15276       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1845,
15277       -1,    -1,    -1,    -1,  2723,    -1,  3356,    -1,    -1,  4833,
15278       -1,  1857,  3217,    -1,    -1,    -1,    -1,    -1,    -1,  2738,
15279       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3377,    -1,    -1,
15280       -1,    -1,    -1,    -1,    -1,    -1,  4860,  1407,    -1,    -1,
15281       -1,  3391,    -1,  2244,    -1,    -1,    -1,    -1,    -1,    -1,
15282     4874,    -1,    -1,  3258,    -1,  1901,  1902,  2258,    -1,    -1,
15283       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15284       -1,    22,    -1,    -1,    -1,    -1,    27,    -1,    -1,    -1,
15285     5385,    -1,  3287,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15286       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2299,    -1,
15287       -1,    -1,    -1,    -1,  1474,    -1,    -1,    -1,    -1,  4933,
15288       -1,    62,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15289       -1,    -1,    -1,    -1,    75,    76,    -1,    -1,    -1,    -1,
15290       -1,    -1,    -1,    -1,    -1,    86,    -1,    -1,    -1,    90,
15291       -1,    -1,    -1,    -1,    -1,  1515,    -1,  3497,    -1,    -1,
15292       -1,  3356,  4976,    -1,    -1,    -1,    -1,   108,    -1,    -1,
15293       -1,    -1,    -1,  5468,    -1,    -1,    -1,    -1,    -1,    -1,
15294     3520,    -1,  3377,    -1,    -1,    -1,    -1,    -1,  1548,    -1,
15295      131,    -1,    -1,    -1,    -1,    -1,  3391,    -1,    -1,   962,
15296       -1,   142,    -1,    -1,  2040,  3545,    -1,    -1,   962,    -1,
15297      151,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15298       -1,    -1,   163,    -1,   987,    -1,    -1,   168,    -1,    -1,
15299       -1,    -1,    -1,   987,    -1,    -1,    -1,  5532,    -1,  1002,
15300       -1,  3581,  2951,    -1,    -1,  2954,    -1,  2956,  1002,    -1,
15301       -1,    -1,  2961,   194,    -1,  5550,    -1,    -1,    -1,    -1,
15302       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15303       -1,    -1,    -1,    -1,  5088,    -1,    -1,    -1,   219,    -1,
15304       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15305       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   240,
15306     5114,  3010,  3497,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15307       -1,  2502,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15308     3029,    -1,    -1,    -1,  1087,  3520,    -1,    -1,    -1,    -1,
15309       -1,  3671,    -1,  1087,    -1,    -1,    -1,    -1,    -1,   280,
15310       -1,    -1,  2178,    -1,    -1,  3054,  2182,  2183,    -1,    -1,
15311     3545,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15312       -1,    -1,   303,    -1,    -1,    -1,    -1,    -1,  1728,    -1,
15313       -1,    -1,   313,   314,    -1,    -1,   317,  5191,    -1,    -1,
15314       -1,    -1,    -1,    -1,    -1,  1745,  3581,    -1,    -1,    -1,
15315       -1,    -1,    -1,  2584,    -1,    -1,  2587,    -1,    -1,    -1,
15316       -1,    -1,   343,  1763,    -1,   346,    -1,    -1,  2244,   350,
15317       -1,   352,  5226,  5227,  5228,  3124,    -1,  3126,   359,    -1,
15318       -1,   362,  2258,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15319     3770,  5245,    -1,    -1,  1197,    -1,    -1,    -1,    -1,    -1,
15320      381,    -1,    -1,  1197,    -1,    -1,    -1,   388,    -1,    -1,
15321       -1,    -1,    -1,   394,    -1,  3795,   397,    -1,    -1,  1819,
15322      401,    -1,    -1,  2299,    -1,    -1,    -1,    -1,   409,    -1,
15323      411,    -1,  1832,    -1,    -1,   416,  3671,    -1,    -1,    -1,
15324       -1,    -1,    -1,    -1,    -1,  1845,    -1,    -1,    -1,    -1,
15325       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1857,    -1,    -1,
15326       -1,   442,    -1,    -1,    -1,    -1,    -1,    -1,  3217,    -1,
15327       -1,    -1,  5326,    -1,    -1,  2706,    -1,    -1,    -1,    -1,
15328       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15329     5344,    -1,  2723,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15330       -1,  1901,  1902,    -1,    -1,    -1,    -1,  2738,    -1,  3258,
15331       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15332       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15333       -1,    -1,    -1,    -1,    -1,  3770,    -1,    -1,  3287,    -1,
15334       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3929,
15335       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15336     3795,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15337       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15338       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15339       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3977,    -1,    -1,
15340     5454,  3981,    -1,    -1,  1407,    -1,    -1,  3356,    -1,    -1,
15341       -1,    -1,    -1,  1407,    -1,    -1,    -1,    -1,    -1,    -1,
15342       -1,    -1,    -1,    -1,    -1,    -1,  2502,    -1,  3377,    -1,
15343       -1,    -1,    -1,    -1,    -1,  5489,    -1,    -1,    -1,    -1,
15344     2040,    -1,  3391,    -1,    -1,  5499,    -1,    -1,    -1,    -1,
15345       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15346       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15347       -1,  1474,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15348     1474,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15349       -1,    -1,    -1,    -1,  3929,    -1,    -1,    -1,    -1,    -1,
15350       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2584,    -1,
15351       -1,  2587,  1515,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15352     2951,  1515,    -1,  2954,    -1,  2956,    -1,    -1,    -1,    -1,
15353     2961,    -1,    -1,  4113,    -1,    -1,    -1,    -1,    -1,    -1,
15354       -1,    -1,  3977,  4123,    -1,  1548,  3981,    -1,  3497,    -1,
15355       -1,    -1,    -1,    -1,  1548,    -1,    -1,    -1,    -1,    -1,
15356       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15357       -1,  3520,    -1,    -1,    -1,    -1,    -1,    -1,  2178,  3010,
15358       -1,    -1,  2182,  2183,    -1,    -1,    -1,    -1,    -1,    -1,
15359       -1,    -1,    -1,    -1,    -1,    -1,  3545,    -1,  3029,    -1,
15360       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15361       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15362       -1,    -1,    -1,  3054,    -1,    -1,    -1,    -1,    -1,    -1,
15363     2706,    -1,  3581,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15364       -1,    -1,    27,    -1,  2244,    -1,    -1,  2723,    -1,    -1,
15365       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2258,    -1,
15366       -1,  4241,  2738,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15367       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4113,    -1,
15368       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4123,    -1,
15369       75,    -1,    -1,  3124,    -1,  3126,    -1,    -1,    -1,  2299,
15370       -1,    -1,  4282,    -1,    -1,    90,    -1,    -1,    -1,    -1,
15371       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15372       -1,    -1,  3671,   108,  4304,  1728,    -1,    -1,    -1,   114,
15373       -1,    -1,    -1,    -1,  1728,    -1,    -1,    -1,    -1,    -1,
15374       -1,    -1,  1745,    -1,    -1,    -1,   131,    -1,    -1,    -1,
15375       -1,  1745,    -1,    -1,    -1,    -1,    -1,   142,    -1,    -1,
15376     1763,    -1,    -1,    -1,    -1,    -1,   151,    -1,    -1,  1763,
15377       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   163,    -1,
15378       -1,    -1,    -1,   168,    -1,    -1,  3217,    -1,    -1,    -1,
15379      175,    -1,  4372,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15380       -1,    -1,    -1,    -1,    -1,    -1,  4241,    -1,    -1,   194,
15381       -1,    -1,    -1,    -1,    -1,    -1,  1819,    -1,    -1,    -1,
15382       -1,  3770,    -1,    -1,    -1,  1819,    -1,  3258,    -1,  1832,
15383       -1,    -1,    -1,    -1,   219,    -1,    -1,    -1,  1832,    -1,
15384       -1,    -1,  1845,    -1,    -1,    -1,  3795,  4282,    -1,    -1,
15385       -1,  1845,    -1,    -1,  1857,   240,  3287,    -1,    -1,    -1,
15386       -1,    -1,    -1,  1857,    -1,    -1,    -1,    -1,    -1,  4304,
15387       -1,    -1,    -1,    -1,    -1,  2951,    -1,    -1,  2954,    -1,
15388     2956,    -1,    -1,    -1,    -1,  2961,    -1,    -1,    -1,    -1,
15389       -1,    -1,    -1,    -1,    -1,   280,    -1,    -1,  1901,  1902,
15390       -1,    -1,  2502,    -1,    -1,    -1,    -1,  1901,  1902,    -1,
15391       -1,    -1,  4492,    -1,  4494,    -1,    -1,    -1,   303,    -1,
15392       -1,    -1,    -1,    -1,    -1,  3356,    -1,    -1,   313,   314,
15393       -1,    -1,   317,    -1,  3010,    -1,    -1,  4372,    -1,    -1,
15394       -1,    -1,    -1,    -1,    -1,    -1,  3377,    -1,    -1,    -1,
15395       -1,    -1,    -1,  3029,    -1,    -1,    -1,    -1,   343,    -1,
15396     3391,   346,    -1,  4543,    -1,   350,    -1,   352,    -1,    -1,
15397       -1,    -1,    -1,    -1,   359,    -1,    -1,   362,  3054,    -1,
15398     3929,    -1,    -1,    -1,  2584,    -1,    -1,  2587,    -1,    -1,
15399       -1,    -1,    -1,    -1,    -1,    -1,   381,    -1,    -1,    -1,
15400       -1,    -1,    -1,   388,    -1,    -1,    -1,    -1,   393,   394,
15401       -1,    -1,   397,    -1,    -1,    -1,   401,    -1,    -1,    -1,
15402       -1,    -1,    -1,    -1,    -1,    -1,   411,    -1,  3977,    -1,
15403       -1,   416,  3981,    -1,    -1,    -1,    -1,  2040,    -1,    -1,
15404       -1,    -1,    -1,    -1,   429,    -1,  2040,    -1,  3124,    -1,
15405     3126,    -1,    -1,    -1,    -1,    -1,    -1,   442,    -1,  4494,
15406       -1,    -1,    -1,    -1,    -1,    -1,  3497,    -1,    -1,    -1,
15407       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15408       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3520,
15409       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15410     4680,    -1,    -1,    -1,    -1,    -1,  2706,    -1,  4543,    -1,
15411       -1,    -1,    -1,    -1,  3545,    -1,    -1,    -1,    -1,    -1,
15412       -1,    -1,    -1,  2723,    -1,    -1,    -1,    -1,    -1,    -1,
15413       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2738,    -1,
15414       -1,  3217,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15415     3581,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15416       -1,    -1,    -1,    -1,  4113,    -1,    -1,    -1,    -1,    -1,
15417       -1,    -1,    -1,    -1,  4123,  2178,    -1,    -1,    -1,  2182,
15418     2183,    -1,  3258,    -1,  2178,    -1,    -1,    -1,  2182,  2183,
15419       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15420       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15421       -1,  3287,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15422       -1,    -1,    -1,    -1,    -1,    -1,  4806,    -1,    -1,    -1,
15423       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15424     3671,  2244,    -1,    -1,    -1,  4680,    -1,    -1,    -1,    -1,
15425     2244,  4831,    -1,    -1,    -1,  2258,    -1,    -1,    -1,    -1,
15426       -1,    -1,    -1,    -1,  2258,    -1,    -1,    -1,    -1,    -1,
15427       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15428     3356,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15429     4870,    -1,  4241,    -1,    -1,    -1,  2299,    -1,    -1,    -1,
15430       -1,  3377,    -1,    -1,    -1,  2299,    -1,    -1,    -1,    -1,
15431       -1,    -1,    -1,    -1,    -1,  3391,    -1,    -1,    -1,    -1,
15432       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15433       -1,    -1,    -1,  4282,    -1,    -1,    -1,    -1,    -1,  3770,
15434       -1,    -1,    -1,  4923,    -1,    -1,    -1,    -1,  4928,  4929,
15435       -1,  2951,    -1,    -1,  2954,  4304,  2956,    -1,    -1,    -1,
15436       -1,  2961,    -1,    -1,  3795,    -1,    -1,    -1,    -1,    -1,
15437       -1,  4806,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15438       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15439       -1,    -1,    -1,    -1,    -1,    -1,  4831,    -1,    -1,    -1,
15440       -1,    -1,    -1,  1306,    -1,    -1,    -1,    -1,    -1,    -1,
15441     3010,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15442       -1,  3497,    -1,  4372,    -1,    -1,    -1,    -1,    -1,  3029,
15443       -1,    -1,    -1,    -1,    -1,  4870,    -1,    -1,    -1,    -1,
15444       -1,    -1,    -1,    -1,  3520,    -1,    -1,    -1,    -1,    -1,
15445       -1,    -1,    -1,    -1,  3054,    -1,    -1,    -1,    -1,    -1,
15446       -1,  1364,    -1,  5043,  5044,    -1,    -1,    -1,    -1,  3545,
15447       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15448       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4923,    -1,
15449       -1,    -1,    -1,  4928,  4929,    -1,    -1,    -1,  3929,  2502,
15450       -1,    -1,    -1,    -1,    -1,  3581,    -1,    -1,  2502,    -1,
15451       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15452       -1,    -1,    -1,    -1,  3124,    -1,  3126,    -1,    -1,    -1,
15453       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15454       -1,    -1,    -1,    -1,    -1,  4494,  3977,    -1,    -1,    -1,
15455     3981,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15456       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15457       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15458       -1,  2584,    -1,    -1,  2587,    -1,    -1,    -1,    -1,    -1,
15459     2584,    -1,    -1,  2587,  4543,  3671,    -1,    -1,    -1,    -1,
15460       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5044,
15461       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3217,    -1,    -1,
15462       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15463       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15464       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15465       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3258,  5239,
15466       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15467       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15468       -1,    -1,  4113,    -1,    -1,    -1,    -1,  3287,    -1,    -1,
15469       -1,    -1,  4123,    -1,  3770,    -1,    -1,    -1,    -1,    -1,
15470       -1,    -1,    -1,  2706,    -1,    -1,    -1,    -1,    -1,    -1,
15471       -1,    -1,  2706,    -1,    -1,    -1,    -1,    -1,    -1,  3795,
15472     2723,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1631,  2723,
15473       -1,  4680,  1635,    -1,    -1,  2738,    -1,    -1,    -1,    -1,
15474       -1,    -1,    -1,    -1,  2738,    -1,    -1,    -1,    -1,    -1,
15475       -1,    -1,    -1,    -1,    -1,    -1,  3356,    -1,    -1,    -1,
15476       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15477       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3377,    -1,    -1,
15478       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15479       -1,  3391,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15480       -1,    -1,    -1,    -1,  5239,    -1,    -1,    -1,    -1,    -1,
15481     4241,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15482       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15483       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15484       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15485       -1,  4282,    -1,  3929,    -1,    -1,    -1,  4806,    -1,    -1,
15486       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15487       -1,    -1,    -1,  4304,    -1,    -1,    -1,    -1,    -1,    -1,
15488       -1,    -1,  4831,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15489       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3497,    -1,    -1,
15490       -1,  3977,    -1,    -1,    -1,  3981,    -1,    -1,    -1,    -1,
15491       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15492     3520,  4870,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15493       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15494       -1,  4372,    -1,    -1,    -1,  3545,    -1,    -1,  2951,    -1,
15495       -1,  2954,    -1,  2956,    -1,    -1,    -1,  2951,  2961,    -1,
15496     2954,    -1,  2956,    -1,    -1,    -1,    -1,  2961,    -1,    -1,
15497       -1,    -1,    -1,    -1,  4923,    -1,    -1,    -1,    -1,  4928,
15498     4929,  3581,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15499       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15500       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3010,    -1,    -1,
15501       -1,    -1,    -1,    -1,    -1,    -1,  3010,    -1,    -1,    -1,
15502       -1,    -1,    -1,    -1,    -1,    -1,  3029,    -1,    -1,    -1,
15503       -1,    -1,    -1,    -1,    -1,  3029,    -1,  4113,    -1,    -1,
15504       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4123,    -1,    -1,
15505       -1,  3054,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15506     3054,    -1,    -1,  4494,    -1,    -1,    -1,    -1,    -1,    -1,
15507       -1,  3671,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15508       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15509       -1,    -1,  1995,    -1,    -1,  5044,    -1,    -1,    -1,    -1,
15510       -1,    -1,    -1,    -1,    -1,    -1,    -1,  2010,    -1,    -1,
15511       -1,  2014,  4543,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15512       -1,  3124,    -1,  3126,    -1,  2028,  2029,  2030,    -1,  2032,
15513     3124,    -1,  3126,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15514       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15515       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15516       -1,    -1,    -1,    -1,    -1,  4241,    -1,    -1,    -1,    -1,
15517     3770,  2074,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15518       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15519       -1,    -1,    -1,    -1,    -1,  3795,    -1,    -1,    -1,    -1,
15520       -1,    -1,    -1,    -1,    -1,    -1,  4282,    -1,    -1,    -1,
15521       -1,    -1,    -1,    -1,  3217,    -1,    -1,    -1,    -1,    -1,
15522       -1,    -1,    -1,  3217,    -1,    -1,    -1,    -1,  4304,  2132,
15523       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15524       -1,  2144,    -1,    -1,    -1,    -1,  2149,    -1,    -1,  4680,
15525       -1,    -1,    -1,    -1,    -1,  3258,    -1,    -1,    -1,    -1,
15526       -1,    -1,    -1,    -1,  3258,    -1,    -1,    -1,    -1,    -1,
15527       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15528       -1,    -1,    -1,    -1,  3287,    -1,    -1,    -1,    -1,    -1,
15529     5239,    -1,    -1,  3287,    -1,    -1,  4372,    -1,    -1,    -1,
15530       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15531       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15532       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3929,
15533       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15534       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15535       -1,    -1,    -1,  3356,    -1,    -1,    -1,    -1,    -1,    -1,
15536       -1,    -1,  3356,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15537       -1,    -1,    -1,    -1,  3377,  4806,    -1,  3977,    -1,    -1,
15538       -1,  3981,    -1,  3377,    -1,    -1,    -1,    -1,  3391,    -1,
15539       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3391,    -1,    -1,
15540     4831,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15541       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4494,    -1,
15542       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15543       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4870,
15544       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15545       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15546       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4543,    -1,    -1,
15547       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15548       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15549       -1,    -1,  4923,    -1,  3497,    -1,    -1,  4928,  4929,    -1,
15550       -1,    -1,    -1,  3497,    -1,    -1,    -1,    -1,    -1,    -1,
15551       -1,    -1,    -1,  4113,    -1,    -1,    -1,  3520,    -1,    -1,
15552       -1,    -1,    -1,  4123,    -1,    -1,  3520,    -1,    -1,    -1,
15553       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15554       -1,    -1,  3545,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15555       -1,  3545,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15556       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15557       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3581,    -1,
15558       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3581,    -1,    -1,
15559       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15560       -1,    -1,    -1,    -1,  4680,    -1,    -1,    -1,    -1,    -1,
15561       -1,    -1,    -1,  5044,    -1,    -1,    -1,    -1,    -1,    -1,
15562       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15563       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15564       -1,  4241,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15565       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15566       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3671,    -1,
15567       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3671,    -1,    -1,
15568       -1,    -1,  4282,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15569       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15570       -1,    -1,    -1,    -1,  4304,    -1,    -1,    -1,    -1,    -1,
15571       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15572       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15573     4806,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15574       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15575       -1,    -1,    -1,    -1,    -1,  4831,    -1,    -1,    -1,    -1,
15576       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3770,    -1,    -1,
15577       -1,    -1,  4372,    -1,    -1,    -1,  3770,    -1,    -1,    -1,
15578       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15579       -1,    -1,  3795,    -1,  4870,    -1,    -1,    -1,    -1,    -1,
15580       -1,  3795,    -1,    -1,    -1,    -1,    -1,    -1,  5239,    -1,
15581       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15582       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15583       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15584       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4923,    -1,  2752,
15585       -1,    -1,  4928,  4929,    -1,    -1,    -1,    -1,    -1,    -1,
15586       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2772,
15587     2773,    -1,  2775,    -1,    -1,  2778,  2779,    -1,  2781,    -1,
15588     2783,    -1,    -1,    -1,  2787,    -1,    -1,  2790,    -1,    -1,
15589       -1,    -1,  2795,    -1,  4494,    -1,    -1,    -1,  2801,    -1,
15590       -1,    -1,    -1,  2806,    -1,    -1,    -1,    -1,    -1,    -1,
15591     2813,  2814,  2815,  2816,    -1,    -1,    -1,  2820,  2821,    -1,
15592     2823,    -1,    -1,    -1,    -1,    -1,  3929,    -1,    -1,    -1,
15593       -1,    -1,    -1,    -1,    -1,  3929,    -1,    -1,  2841,    -1,
15594     2843,    -1,    -1,  4543,    -1,    -1,    -1,  2850,  2851,  2852,
15595     2853,  2854,  2855,  2856,  2857,  2858,  2859,    -1,    -1,    -1,
15596       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5044,    -1,
15597       -1,    -1,    -1,    -1,  3977,    -1,    -1,    -1,  3981,    -1,
15598       -1,    -1,    -1,  3977,    -1,    -1,    -1,  3981,    -1,    -1,
15599       -1,    -1,    -1,  2896,    -1,    -1,    -1,    -1,    -1,    -1,
15600       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15601       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15602       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15603       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15604       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15605       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15606       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15607       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15608     4680,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15609       -1,    -1,    -1,    -1,  2997,    -1,    -1,    -1,    -1,    -1,
15610       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15611     4113,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4113,
15612     4123,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4123,
15613       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15614       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15615       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15616       -1,    -1,    -1,  5239,    -1,    -1,    -1,    -1,    -1,    -1,
15617       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15618       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15619       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15620       -1,    -1,    -1,    -1,    -1,    -1,  4806,    -1,    -1,    -1,
15621       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15622       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15623       -1,  4831,    -1,    -1,    -1,    -1,    -1,    -1,  4241,    -1,
15624       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4241,    -1,    -1,
15625       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15626       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15627     4870,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4282,
15628       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4282,    -1,
15629       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15630       -1,  4304,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15631     4304,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15632       -1,    -1,    -1,  4923,    -1,    -1,    -1,    -1,  4928,  4929,
15633       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15634       -1,    -1,    -1,    -1,    -1,  3248,  3249,    -1,    -1,    -1,
15635     3253,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15636       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4372,
15637       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4372,  3282,
15638       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15639       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15640       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15641       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15642       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15643       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15644       -1,    -1,    -1,    -1,  5044,    -1,    -1,    -1,    -1,    -1,
15645       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15646       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15647       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15648       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15649       -1,  4494,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15650     4494,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15651       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15652       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15653       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15654     4543,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4543,
15655       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15656       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15657       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15658       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15659     3493,    -1,    -1,    -1,    -1,    -1,  3499,    -1,    -1,    -1,
15660       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15661       -1,    -1,    -1,    -1,  3517,  3518,    -1,    -1,  3521,  3522,
15662     3523,  3524,    -1,    -1,  3527,  3528,  3529,  3530,  3531,  3532,
15663     3533,  3534,  3535,  3536,  3537,    -1,    -1,    -1,    -1,  5239,
15664       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15665       -1,    -1,    -1,    -1,    -1,    -1,  3559,    -1,    -1,  3562,
15666       -1,  3564,    -1,    -1,  3567,  3568,    -1,    -1,    -1,    -1,
15667       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4680,    -1,    -1,
15668       -1,    -1,  3585,  3586,  3587,  3588,  4680,  3590,    -1,    -1,
15669       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15670       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15671       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15672       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15673       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15674       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15675       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15676       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15677       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3680,    -1,    -1,
15678       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15679       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15680       -1,    -1,    -1,  4806,    -1,    -1,    -1,    -1,    -1,    -1,
15681       -1,    -1,  4806,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15682       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4831,    -1,
15683       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4831,    -1,    -1,
15684       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15685       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15686       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4870,    -1,    -1,
15687       -1,    -1,    -1,    -1,    -1,    -1,  4870,    -1,    -1,    -1,
15688       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15689       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15690       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15691       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15692     4923,    -1,    -1,    -1,    -1,  4928,  4929,    -1,    -1,  4923,
15693       -1,    -1,    -1,    -1,  4928,  4929,    -1,    -1,    -1,    -1,
15694       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15695       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15696       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15697       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15698       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15699       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3900,    -1,    -1,
15700       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15701       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15702       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15703       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15704       -1,  5044,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15705     5044,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15706       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15707       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15708       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15709       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15710       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15711       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15712       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15713       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15714       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15715       -1,    -1,    -1,    -1,    -1,  4058,    -1,    -1,    -1,  4062,
15716       -1,  4064,  4065,    -1,    -1,    -1,    -1,    -1,  4071,  4072,
15717     4073,  4074,    -1,    -1,    -1,    -1,  4079,  4080,  4081,  4082,
15718     4083,  4084,  4085,  4086,  4087,  4088,  4089,  4090,    -1,    -1,
15719       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15720       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15721       -1,    -1,    -1,  4116,    -1,    -1,  4119,    -1,  4121,    -1,
15722       -1,    -1,    -1,  4126,    -1,    -1,  4129,  4130,    -1,    -1,
15723     4133,  4134,    -1,    -1,    -1,    -1,  5239,    -1,    -1,    -1,
15724       -1,    -1,    -1,    -1,    -1,  5239,    -1,    -1,    -1,    -1,
15725       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15726       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15727       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4180,    -1,    -1,
15728       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15729       -1,    -1,  4195,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15730       -1,    -1,    -1,    -1,    -1,  4208,    -1,    -1,    -1,    -1,
15731       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15732       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15733       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15734       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15735       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15736       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15737       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15738       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15739       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15740       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15741       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15742       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15743       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15744       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15745       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15746       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15747       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15748       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15749       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15750       -1,  4404,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15751       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15752       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15753       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15754       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15755       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15756       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15757       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15758       -1,    -1,    -1,    -1,    -1,    -1,  4489,  4490,    -1,    -1,
15759       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15760       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15761       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15762       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4532,
15763       -1,    -1,    -1,    -1,    -1,  4538,  4539,    -1,    -1,    -1,
15764       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15765       -1,    -1,    -1,  4556,    -1,  4558,    -1,    -1,    -1,  4562,
15766     4563,  4564,    -1,    -1,  4567,    -1,    -1,  4570,  4571,    -1,
15767       -1,    -1,  4575,    -1,    -1,    -1,  4579,    -1,    -1,    -1,
15768       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15769       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15770       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15771       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15772       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15773       -1,    -1,    -1,  4636,    -1,    -1,    -1,    -1,    -1,    -1,
15774       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15775       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15776       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15777       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15778       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15779       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4702,
15780       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15781       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15782       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15783       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4740,    -1,    -1,
15784       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15785       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15786       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15787       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15788       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15789       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15790       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15791       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15792       -1,    -1,    -1,    -1,    -1,    -1,  4829,  4830,    -1,    -1,
15793       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15794       -1,  4844,  4845,  4846,    -1,    -1,    -1,    -1,    -1,    -1,
15795       -1,  4854,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15796       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15797       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4881,  4882,
15798       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15799     4893,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15800       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15801       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15802       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15803       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15804       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15805       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15806       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15807       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15808       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15809       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15810       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15811       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15812       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15813       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15814       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15815       -1,    -1,    -1,  5056,    -1,    -1,    -1,    -1,    -1,    -1,
15816       -1,    -1,    -1,    -1,    -1,    -1,  5069,    -1,    -1,  5072,
15817       -1,    -1,    -1,  5076,    -1,    -1,    -1,    -1,    -1,    -1,
15818       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15819       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15820       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15821       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15822       -1,    -1,  5125,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15823       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15824       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15825       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5162,
15826       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15827       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15828       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15829       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15830       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15831       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15832       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15833     5233,    -1,  5235,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15834       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15835       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15836       -1,    -1,  5265,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15837       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15838       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15839       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15840       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15841       -1,    -1,    -1,    -1,    -1,    -1,  5319,    -1,    -1,    -1,
15842       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15843       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15844       -1,    -1,    -1,    -1,  5347,    -1,    -1,    -1,    -1,    -1,
15845       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15846       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15847       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15848       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15849       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15850       -1,    -1,    -1,    -1,    -1,  5408,    -1,    -1,    -1,    -1,
15851       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15852       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15853       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15854     5443,  5444,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15855       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15856       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15857       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15858       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15859       -1,    -1,  5495,  5496,    -1,    -1,    -1,  5500,    -1,    -1,
15860       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,    -1,
15861        5,     6,    -1,     8,     9,    10,    11,    12,    -1,    -1,
15862       -1,    -1,    -1,    -1,  5527,    20,    21,    22,    23,    24,
15863       25,    26,    27,    28,    29,    30,    31,    -1,    -1,    -1,
15864       -1,    36,    -1,    -1,    39,    40,    -1,    42,    43,    44,
15865       45,    46,    47,    48,    49,    50,    51,    52,    53,    -1,
15866       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
15867       65,    66,    67,    -1,    69,    70,    71,    72,    73,    -1,
15868       75,    -1,    77,    78,    79,    80,    81,    82,    83,    84,
15869       85,    -1,    87,    88,    89,    90,    91,    92,    -1,    94,
15870       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
15871      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
15872      115,    -1,   117,   118,   119,   120,   121,   122,    -1,   124,
15873      125,   126,   127,   128,    -1,   130,   131,   132,   133,   134,
15874       -1,   136,   137,   138,    -1,   140,   141,   142,    -1,   144,
15875      145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
15876      155,    -1,   157,   158,   159,   160,    -1,   162,    -1,   164,
15877      165,    -1,   167,   168,   169,   170,   171,    -1,   173,   174,
15878       -1,   176,   177,   178,    -1,   180,   181,   182,   183,   184,
15879      185,   186,   187,   188,   189,    -1,   191,   192,   193,   194,
15880      195,   196,   197,    -1,   199,   200,   201,   202,   203,   204,
15881      205,   206,   207,    -1,   209,    -1,   211,   212,   213,   214,
15882      215,   216,   217,   218,   219,   220,    -1,    -1,   223,   224,
15883      225,   226,   227,    -1,   229,   230,   231,   232,   233,   234,
15884      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
15885      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
15886      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
15887      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
15888       -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,
15889      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
15890      295,   296,   297,   298,   299,   300,    -1,   302,   303,   304,
15891      305,   306,   307,   308,   309,    -1,   311,   312,   313,   314,
15892      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
15893      325,    -1,   327,   328,   329,   330,   331,   332,   333,   334,
15894      335,   336,   337,   338,    -1,   340,   341,   342,   343,   344,
15895      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
15896      355,   356,   357,    -1,   359,   360,   361,   362,   363,   364,
15897      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
15898       -1,   376,   377,   378,   379,   380,   381,   382,   383,   384,
15899      385,   386,   387,   388,   389,   390,    -1,   392,   393,    -1,
15900      395,   396,   397,   398,   399,   400,   401,    -1,   403,   404,
15901      405,    -1,    -1,   408,   409,   410,   411,   412,   413,   414,
15902      415,   416,   417,   418,   419,   420,   421,    -1,   423,   424,
15903      425,   426,   427,   428,   429,    -1,   431,   432,   433,   434,
15904      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
15905       -1,    -1,   447,    -1,    -1,   450,   451,   452,   453,   454,
15906      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
15907      465,   466,   467,   468,   469,   470,    -1,    -1,    -1,    -1,
15908       -1,    -1,   477,   478,   479,    -1,    -1,    -1,    -1,    -1,
15909       -1,   486,   487,     3,    -1,     5,     6,    -1,     8,     9,
15910       10,    11,    12,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15911       20,    21,    22,    23,    24,    25,    26,    27,    -1,    29,
15912       30,    31,    -1,    -1,    -1,    -1,    36,    -1,    -1,    39,
15913       40,    -1,    42,    43,    44,    45,    46,    47,    48,    49,
15914       50,    51,    52,    53,    -1,    55,    56,    57,    58,    59,
15915       60,    61,    62,    63,    64,    65,    66,    67,    -1,    69,
15916       70,    71,    72,    73,    -1,    75,    -1,    77,    78,    79,
15917       80,    81,    82,    83,    84,    85,    -1,    87,    88,    89,
15918       90,    91,    92,    -1,    94,    95,    96,    97,    98,    99,
15919      100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
15920      110,   111,   112,   113,   114,   115,    -1,   117,   118,   119,
15921      120,   121,   122,    -1,   124,   125,   126,   127,    -1,    -1,
15922      130,   131,   132,   133,   134,    -1,   136,   137,   138,    -1,
15923      140,   141,   142,    -1,   144,   145,   146,   147,   148,   149,
15924      150,   151,   152,   153,   154,   155,    -1,   157,   158,   159,
15925      160,    -1,   162,    -1,   164,   165,    -1,   167,   168,   169,
15926      170,   171,    -1,   173,   174,    -1,   176,   177,   178,    -1,
15927      180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
15928       -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
15929      200,   201,   202,   203,   204,   205,   206,   207,    -1,   209,
15930       -1,   211,   212,   213,   214,   215,   216,   217,   218,   219,
15931      220,    -1,    -1,   223,   224,   225,   226,   227,    -1,   229,
15932      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
15933      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
15934      250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
15935      260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
15936      270,   271,   272,   273,   274,    -1,   276,   277,    -1,    -1,
15937      280,   281,   282,    -1,    -1,   285,   286,   287,   288,   289,
15938      290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
15939      300,    -1,   302,   303,   304,   305,   306,   307,   308,   309,
15940       -1,   311,   312,   313,   314,   315,   316,   317,   318,   319,
15941      320,   321,   322,   323,   324,   325,    -1,   327,   328,   329,
15942      330,   331,   332,   333,   334,   335,   336,   337,   338,    -1,
15943      340,   341,   342,   343,   344,   345,   346,   347,   348,   349,
15944      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
15945      360,   361,   362,   363,   364,   365,   366,   367,   368,   369,
15946      370,   371,   372,   373,   374,    -1,   376,   377,   378,   379,
15947      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
15948      390,    -1,   392,   393,   394,   395,   396,   397,   398,   399,
15949      400,   401,    -1,   403,   404,   405,    -1,    -1,   408,   409,
15950      410,   411,   412,   413,   414,   415,   416,   417,   418,   419,
15951      420,   421,    -1,   423,   424,   425,   426,   427,   428,   429,
15952       -1,   431,   432,   433,   434,   435,   436,   437,    -1,   439,
15953      440,   441,   442,   443,   444,    -1,    -1,   447,    -1,   449,
15954      450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
15955      460,   461,   462,   463,   464,   465,   466,   467,   468,   469,
15956      470,    -1,   472,    -1,    -1,    -1,    -1,   477,   478,    -1,
15957       -1,    -1,    -1,    -1,    -1,    -1,   486,   487,     3,    -1,
15958        5,     6,    -1,     8,     9,    10,    11,    12,    -1,    -1,
15959       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
15960       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
15961       -1,    36,    -1,    -1,    39,    40,    -1,    42,    43,    44,
15962       45,    46,    47,    48,    49,    50,    51,    52,    53,    -1,
15963       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
15964       65,    66,    67,    -1,    69,    70,    71,    72,    73,    -1,
15965       75,    -1,    77,    78,    79,    80,    81,    82,    83,    84,
15966       85,    -1,    87,    88,    89,    90,    91,    92,    -1,    94,
15967       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
15968      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
15969      115,    -1,   117,   118,   119,   120,   121,   122,    -1,   124,
15970      125,   126,   127,    -1,    -1,   130,   131,   132,   133,   134,
15971       -1,   136,   137,   138,    -1,   140,   141,   142,    -1,   144,
15972      145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
15973      155,    -1,   157,   158,   159,   160,    -1,   162,    -1,   164,
15974      165,    -1,   167,   168,   169,   170,   171,    -1,   173,   174,
15975       -1,   176,   177,   178,    -1,   180,   181,   182,   183,   184,
15976      185,   186,   187,   188,   189,    -1,   191,   192,   193,   194,
15977      195,   196,   197,    -1,   199,   200,   201,   202,   203,   204,
15978      205,   206,   207,    -1,   209,    -1,   211,   212,   213,   214,
15979      215,   216,   217,   218,   219,   220,    -1,    -1,   223,   224,
15980      225,   226,   227,    -1,   229,   230,   231,   232,   233,   234,
15981      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
15982      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
15983      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
15984      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
15985       -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,
15986      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
15987      295,   296,   297,   298,   299,   300,    -1,   302,   303,   304,
15988      305,   306,   307,   308,   309,    -1,   311,   312,   313,   314,
15989      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
15990      325,    -1,   327,   328,   329,   330,   331,   332,   333,   334,
15991      335,   336,   337,   338,    -1,   340,   341,   342,   343,   344,
15992      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
15993      355,   356,   357,    -1,   359,   360,   361,   362,   363,   364,
15994      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
15995       -1,   376,   377,   378,   379,   380,   381,   382,   383,   384,
15996      385,   386,   387,   388,   389,   390,    -1,   392,   393,    -1,
15997      395,   396,   397,   398,   399,   400,   401,    -1,   403,   404,
15998      405,    -1,    -1,   408,   409,   410,   411,   412,   413,   414,
15999      415,   416,   417,   418,   419,   420,   421,    -1,   423,   424,
16000      425,   426,   427,   428,   429,    -1,   431,   432,   433,   434,
16001      435,   436,   437,    -1,   439,   440,   441,   442,   443,   444,
16002       -1,    -1,   447,    -1,    -1,   450,   451,   452,   453,   454,
16003      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
16004      465,   466,   467,   468,   469,   470,    -1,    -1,    -1,    -1,
16005       -1,    -1,   477,   478,    -1,    -1,    -1,    -1,    -1,    -1,
16006       -1,   486,   487,     3,    -1,     5,     6,    -1,     8,     9,
16007       10,    11,    12,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16008       20,    21,    22,    23,    24,    25,    26,    27,    -1,    29,
16009       30,    31,    -1,    -1,    -1,    -1,    36,    -1,    -1,    39,
16010       40,    -1,    42,    43,    44,    45,    46,    47,    48,    49,
16011       50,    51,    52,    53,    -1,    55,    56,    57,    58,    59,
16012       60,    61,    62,    63,    64,    65,    66,    67,    -1,    69,
16013       70,    71,    72,    73,    -1,    75,    -1,    77,    78,    79,
16014       80,    81,    82,    83,    84,    85,    -1,    87,    88,    89,
16015       90,    91,    92,    -1,    94,    95,    96,    97,    98,    99,
16016      100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
16017      110,   111,   112,   113,   114,   115,    -1,   117,   118,   119,
16018      120,   121,   122,    -1,   124,   125,   126,   127,    -1,    -1,
16019      130,   131,   132,   133,   134,    -1,   136,   137,   138,    -1,
16020      140,   141,   142,    -1,   144,   145,   146,   147,   148,   149,
16021      150,   151,   152,   153,   154,   155,    -1,   157,   158,   159,
16022      160,    -1,   162,    -1,   164,   165,    -1,   167,   168,   169,
16023      170,   171,    -1,   173,   174,    -1,   176,   177,   178,    -1,
16024      180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
16025       -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
16026      200,   201,   202,   203,   204,   205,   206,   207,    -1,   209,
16027       -1,   211,   212,   213,   214,   215,   216,   217,   218,   219,
16028      220,    -1,    -1,   223,   224,   225,   226,   227,    -1,   229,
16029      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
16030      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
16031      250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
16032      260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
16033      270,   271,   272,   273,   274,    -1,   276,   277,    -1,    -1,
16034      280,   281,   282,    -1,    -1,   285,   286,   287,   288,   289,
16035      290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
16036      300,    -1,   302,   303,   304,   305,   306,   307,   308,   309,
16037       -1,   311,   312,   313,   314,   315,   316,   317,   318,   319,
16038      320,   321,   322,   323,   324,   325,    -1,   327,   328,   329,
16039      330,   331,   332,   333,   334,   335,   336,   337,   338,    -1,
16040      340,   341,   342,   343,   344,   345,   346,   347,   348,   349,
16041      350,   351,   352,   353,   354,   355,   356,   357,    -1,   359,
16042      360,   361,   362,   363,   364,   365,   366,   367,   368,   369,
16043      370,   371,   372,   373,   374,    -1,   376,   377,   378,   379,
16044      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
16045      390,    -1,   392,   393,    -1,   395,   396,   397,   398,   399,
16046      400,   401,    -1,   403,   404,   405,    -1,    -1,   408,   409,
16047      410,   411,   412,   413,   414,   415,   416,   417,   418,   419,
16048      420,   421,    -1,   423,   424,   425,   426,   427,   428,   429,
16049       -1,   431,   432,   433,   434,   435,   436,   437,    -1,   439,
16050      440,   441,   442,   443,   444,    -1,    -1,   447,    -1,    -1,
16051      450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
16052      460,   461,   462,   463,   464,   465,   466,   467,   468,   469,
16053      470,    -1,    -1,    -1,    -1,    -1,    -1,   477,   478,    -1,
16054       -1,    -1,    -1,    -1,    -1,    -1,   486,   487,     3,    -1,
16055        5,     6,    -1,     8,     9,    10,    11,    12,    -1,    -1,
16056       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
16057       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
16058       -1,    36,    -1,    -1,    39,    40,    -1,    42,    43,    44,
16059       45,    46,    47,    48,    49,    50,    51,    52,    53,    -1,
16060       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
16061       65,    66,    67,    -1,    69,    70,    71,    72,    73,    -1,
16062       75,    -1,    77,    78,    79,    80,    81,    82,    83,    84,
16063       85,    -1,    87,    88,    89,    90,    91,    92,    -1,    94,
16064       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
16065      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
16066      115,    -1,   117,   118,   119,   120,   121,   122,    -1,   124,
16067      125,   126,   127,    -1,    -1,   130,   131,   132,   133,   134,
16068       -1,   136,   137,   138,    -1,   140,   141,   142,    -1,   144,
16069      145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
16070      155,    -1,   157,   158,   159,   160,    -1,   162,    -1,   164,
16071      165,    -1,   167,   168,   169,   170,   171,    -1,   173,   174,
16072       -1,   176,   177,   178,    -1,   180,   181,   182,   183,   184,
16073      185,   186,   187,   188,   189,    -1,   191,   192,   193,   194,
16074      195,   196,   197,    -1,   199,   200,   201,   202,   203,   204,
16075      205,   206,   207,    -1,   209,    -1,   211,   212,   213,   214,
16076      215,   216,   217,   218,   219,   220,    -1,    -1,   223,   224,
16077      225,   226,   227,    -1,   229,   230,   231,   232,   233,   234,
16078      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
16079      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
16080      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
16081      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
16082       -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,
16083      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
16084      295,   296,   297,   298,   299,   300,    -1,   302,   303,   304,
16085      305,   306,   307,   308,   309,    -1,   311,   312,   313,   314,
16086      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
16087      325,    -1,   327,   328,   329,   330,   331,   332,   333,   334,
16088      335,   336,   337,   338,    -1,   340,   341,   342,   343,   344,
16089      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
16090      355,   356,   357,    -1,   359,   360,   361,   362,   363,   364,
16091      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
16092       -1,   376,   377,   378,   379,   380,   381,   382,   383,   384,
16093      385,   386,   387,   388,   389,   390,    -1,   392,   393,    -1,
16094      395,   396,   397,   398,   399,   400,   401,    -1,   403,   404,
16095      405,    -1,    -1,   408,   409,   410,   411,   412,   413,   414,
16096      415,   416,   417,   418,   419,   420,   421,    -1,   423,   424,
16097      425,   426,   427,   428,   429,    -1,   431,   432,   433,   434,
16098      435,   436,   437,    -1,   439,   440,   441,   442,   443,   444,
16099       -1,    -1,   447,    -1,    -1,   450,   451,   452,   453,   454,
16100      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
16101      465,   466,   467,   468,   469,   470,     3,    -1,    -1,    -1,
16102       -1,    -1,   477,   478,    -1,    -1,    -1,    -1,    -1,    -1,
16103       -1,   486,   487,    20,    21,    22,    23,    24,    25,    26,
16104       27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
16105       37,    -1,    39,    40,    -1,    42,    43,    44,    -1,    46,
16106       47,    48,    49,    50,    -1,    52,    53,    -1,    55,    56,
16107       57,    58,    59,    60,    -1,    -1,    63,    64,    65,    66,
16108       67,    -1,    69,    70,    71,    72,    73,    -1,    -1,    -1,
16109       77,    78,    79,    80,    81,    -1,    83,    84,    85,    -1,
16110       87,    88,    89,    90,    91,    92,    -1,    94,    95,    96,
16111       97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,
16112      107,   108,   109,   110,   111,   112,   113,    -1,   115,    -1,
16113      117,   118,   119,   120,   121,   122,    -1,   124,   125,   126,
16114      127,    -1,    -1,   130,   131,   132,   133,   134,    -1,   136,
16115      137,   138,    -1,   140,   141,   142,    -1,   144,   145,   146,
16116      147,   148,   149,   150,   151,   152,   153,    -1,   155,    -1,
16117      157,   158,   159,   160,    -1,   162,    -1,   164,    -1,    -1,
16118      167,   168,   169,   170,   171,    -1,   173,   174,    -1,   176,
16119      177,   178,    -1,   180,   181,   182,   183,   184,    -1,   186,
16120      187,   188,   189,    -1,   191,   192,   193,   194,   195,   196,
16121      197,    -1,   199,   200,   201,   202,   203,   204,   205,   206,
16122      207,    -1,   209,    -1,   211,    -1,    -1,   214,   215,   216,
16123      217,   218,   219,   220,    -1,    -1,   223,   224,   225,   226,
16124       -1,    -1,   229,   230,   231,    -1,    -1,   234,   235,   236,
16125      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
16126      247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
16127      257,   258,   259,   260,   261,   262,    -1,   264,   265,    -1,
16128      267,    -1,   269,   270,   271,   272,   273,   274,    -1,   276,
16129      277,    -1,    -1,   280,   281,   282,    -1,    -1,   285,   286,
16130      287,    -1,   289,    -1,   291,   292,   293,   294,   295,   296,
16131      297,   298,   299,   300,    -1,   302,   303,   304,   305,   306,
16132      307,   308,   309,    -1,   311,   312,   313,   314,   315,   316,
16133      317,   318,   319,   320,   321,   322,   323,   324,   325,    -1,
16134      327,   328,   329,   330,   331,   332,   333,   334,   335,   336,
16135      337,   338,    -1,   340,   341,   342,   343,   344,   345,   346,
16136      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
16137      357,    -1,   359,   360,   361,   362,   363,    -1,   365,   366,
16138      367,   368,   369,    -1,   371,   372,   373,   374,    -1,   376,
16139      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
16140      387,   388,   389,   390,    -1,   392,   393,    -1,   395,    -1,
16141      397,   398,   399,   400,   401,    -1,   403,   404,   405,    -1,
16142       -1,   408,   409,   410,   411,   412,    -1,   414,   415,   416,
16143      417,   418,   419,   420,   421,    -1,    -1,   424,   425,   426,
16144      427,   428,    -1,    -1,   431,   432,   433,   434,   435,   436,
16145      437,    -1,   439,    -1,   441,   442,   443,   444,    -1,    -1,
16146      447,    -1,    -1,   450,   451,   452,   453,   454,   455,   456,
16147      457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
16148      467,   468,   469,    -1,     3,    -1,    -1,    -1,    -1,    -1,
16149       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16150      487,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
16151       29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16152       39,    40,    -1,    42,    43,    44,    45,    46,    47,    48,
16153       -1,    50,    51,    52,    53,    -1,    55,    56,    57,    58,
16154       59,    60,    -1,    -1,    63,    64,    65,    66,    67,    -1,
16155       69,    70,    71,    72,    -1,    -1,    75,    -1,    77,    78,
16156       79,    80,    81,    82,    83,    84,    85,    -1,    87,    88,
16157       89,    90,    91,    92,    -1,    94,    95,    96,    97,    -1,
16158       -1,    -1,   101,    -1,    -1,    -1,   105,   106,   107,   108,
16159      109,   110,   111,   112,   113,    -1,   115,    -1,   117,   118,
16160      119,   120,   121,   122,    -1,   124,   125,   126,   127,    -1,
16161       -1,   130,   131,   132,   133,   134,    -1,   136,   137,   138,
16162       -1,   140,   141,   142,    -1,   144,   145,   146,   147,    -1,
16163      149,   150,   151,   152,    -1,    -1,   155,    -1,   157,   158,
16164      159,   160,    -1,   162,    -1,   164,   165,    -1,   167,   168,
16165      169,   170,   171,    -1,   173,    -1,    -1,    -1,   177,   178,
16166       -1,   180,   181,   182,   183,   184,   185,   186,   187,   188,
16167      189,   190,   191,   192,   193,   194,   195,   196,   197,    -1,
16168      199,   200,   201,   202,   203,   204,   205,   206,   207,    -1,
16169      209,    -1,   211,   212,   213,   214,   215,   216,   217,   218,
16170      219,   220,    -1,    -1,   223,    -1,   225,   226,   227,    -1,
16171      229,   230,   231,    -1,    -1,   234,   235,   236,   237,   238,
16172      239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
16173      249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
16174      259,    -1,    -1,   262,    -1,   264,   265,   266,   267,    -1,
16175       -1,   270,   271,   272,   273,   274,    -1,   276,   277,    -1,
16176       -1,   280,   281,   282,    -1,    -1,   285,   286,   287,   288,
16177      289,   290,    -1,   292,   293,   294,   295,   296,   297,   298,
16178      299,   300,    -1,   302,   303,    -1,   305,    -1,   307,   308,
16179      309,    -1,   311,   312,   313,   314,   315,   316,   317,   318,
16180      319,   320,   321,   322,   323,   324,   325,    -1,   327,   328,
16181      329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
16182       -1,   340,   341,   342,   343,   344,   345,   346,   347,    -1,
16183      349,   350,   351,   352,   353,   354,   355,   356,   357,    -1,
16184      359,   360,   361,   362,   363,    -1,   365,   366,   367,   368,
16185      369,   370,   371,   372,   373,   374,    -1,   376,   377,   378,
16186      379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
16187       -1,   390,    -1,   392,   393,    -1,   395,   396,   397,   398,
16188      399,   400,   401,    -1,   403,   404,   405,    -1,    -1,   408,
16189      409,    -1,   411,    -1,    -1,   414,   415,   416,   417,   418,
16190      419,   420,   421,    -1,    -1,   424,   425,   426,   427,   428,
16191       -1,    -1,   431,   432,   433,   434,   435,    -1,   437,   438,
16192      439,   440,   441,   442,   443,   444,    -1,    -1,   447,    -1,
16193       -1,   450,   451,   452,   453,   454,   455,     3,    -1,    -1,
16194       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   467,   468,
16195      469,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
16196       26,    27,    -1,    29,    30,    31,    -1,    -1,   487,    -1,
16197       -1,    -1,    -1,    39,    40,    -1,    42,    43,    44,    45,
16198       46,    47,    48,    -1,    50,    51,    52,    53,    -1,    55,
16199       56,    57,    58,    59,    60,    -1,    -1,    63,    64,    65,
16200       66,    67,    -1,    69,    70,    71,    72,    -1,    -1,    75,
16201       -1,    77,    78,    79,    80,    81,    82,    83,    84,    85,
16202       -1,    87,    88,    89,    90,    91,    92,    -1,    94,    95,
16203       96,    97,    -1,    -1,    -1,   101,    -1,    -1,    -1,   105,
16204      106,   107,   108,   109,   110,   111,   112,   113,    -1,   115,
16205       -1,   117,   118,   119,   120,   121,   122,    -1,   124,   125,
16206      126,   127,    -1,    -1,   130,   131,   132,   133,   134,    -1,
16207      136,   137,   138,    -1,   140,   141,   142,    -1,   144,   145,
16208      146,   147,    -1,   149,   150,   151,   152,    -1,    -1,   155,
16209       -1,   157,   158,   159,   160,    -1,   162,    -1,   164,   165,
16210       -1,   167,   168,   169,   170,   171,    -1,   173,    -1,    -1,
16211       -1,   177,   178,    -1,   180,   181,   182,   183,   184,   185,
16212      186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
16213      196,   197,    -1,   199,   200,   201,   202,   203,   204,   205,
16214      206,   207,    -1,   209,    -1,   211,   212,   213,   214,   215,
16215      216,   217,   218,   219,   220,    -1,    -1,   223,    -1,   225,
16216      226,   227,    -1,   229,   230,   231,    -1,    -1,   234,   235,
16217      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
16218      246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
16219      256,   257,   258,   259,    -1,    -1,   262,    -1,   264,   265,
16220      266,   267,    -1,    -1,   270,   271,   272,   273,   274,    -1,
16221      276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,   285,
16222      286,   287,   288,   289,   290,    -1,   292,   293,   294,   295,
16223      296,   297,   298,   299,   300,    -1,   302,   303,    -1,   305,
16224       -1,   307,   308,   309,    -1,   311,   312,   313,   314,   315,
16225      316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
16226       -1,   327,   328,   329,   330,   331,   332,   333,   334,   335,
16227      336,   337,   338,    -1,   340,   341,   342,   343,   344,   345,
16228      346,   347,    -1,   349,   350,   351,   352,   353,   354,   355,
16229      356,   357,    -1,   359,   360,   361,   362,   363,    -1,   365,
16230      366,   367,   368,   369,   370,   371,   372,   373,   374,    -1,
16231      376,   377,   378,   379,   380,   381,   382,   383,   384,   385,
16232      386,   387,   388,    -1,   390,    -1,   392,   393,    -1,   395,
16233      396,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
16234       -1,    -1,   408,   409,    -1,   411,    -1,    -1,   414,   415,
16235      416,   417,   418,   419,   420,   421,    -1,    -1,   424,   425,
16236      426,   427,   428,    -1,    -1,   431,   432,   433,   434,   435,
16237       -1,   437,   438,   439,   440,   441,   442,   443,   444,    -1,
16238       -1,   447,    -1,    -1,   450,   451,   452,   453,   454,   455,
16239        3,    -1,     5,     6,    -1,     8,     9,    10,    11,    12,
16240       -1,   467,   468,   469,    -1,    -1,    -1,    20,    21,    22,
16241       23,    24,    25,    26,    27,    -1,    29,    30,    31,    -1,
16242       -1,   487,    -1,    36,    -1,    -1,    39,    40,    -1,    42,
16243       43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
16244       53,    -1,    55,    56,    57,    58,    59,    60,    61,    62,
16245       63,    64,    65,    66,    67,    -1,    69,    70,    71,    72,
16246       73,    -1,    75,    -1,    77,    78,    79,    80,    81,    82,
16247       83,    84,    85,    -1,    87,    88,    89,    90,    91,    92,
16248       -1,    94,    95,    96,    97,    98,    99,   100,   101,   102,
16249      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
16250      113,   114,   115,    -1,   117,   118,   119,   120,   121,   122,
16251       -1,   124,   125,   126,   127,    -1,    -1,   130,   131,   132,
16252      133,   134,    -1,   136,   137,   138,    -1,   140,   141,   142,
16253       -1,   144,   145,   146,   147,   148,   149,   150,   151,   152,
16254      153,   154,   155,    -1,   157,   158,   159,   160,    -1,   162,
16255       -1,   164,   165,    -1,   167,   168,   169,   170,   171,    -1,
16256      173,   174,    -1,   176,   177,   178,    -1,   180,   181,   182,
16257      183,   184,   185,   186,   187,   188,   189,    -1,   191,   192,
16258      193,   194,   195,   196,   197,    -1,   199,   200,   201,   202,
16259      203,   204,   205,   206,   207,    -1,   209,    -1,   211,   212,
16260      213,   214,   215,   216,   217,   218,   219,   220,    -1,    -1,
16261      223,   224,   225,   226,   227,    -1,   229,   230,   231,   232,
16262      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
16263      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
16264      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
16265      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
16266      273,   274,    -1,   276,   277,    -1,    -1,   280,   281,   282,
16267       -1,    -1,   285,   286,   287,   288,   289,   290,   291,   292,
16268      293,   294,   295,   296,   297,   298,   299,   300,    -1,   302,
16269      303,   304,   305,   306,   307,   308,   309,    -1,   311,   312,
16270      313,   314,   315,   316,   317,   318,   319,   320,   321,   322,
16271      323,   324,   325,    -1,   327,   328,   329,   330,   331,   332,
16272      333,   334,   335,   336,   337,   338,    -1,   340,   341,   342,
16273      343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
16274      353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
16275      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
16276      373,   374,    -1,   376,   377,   378,   379,   380,   381,   382,
16277      383,   384,   385,   386,   387,   388,   389,   390,    -1,   392,
16278      393,   394,   395,   396,   397,   398,   399,   400,   401,    -1,
16279      403,   404,   405,    -1,    -1,   408,   409,   410,   411,   412,
16280      413,   414,   415,   416,   417,   418,   419,   420,   421,    -1,
16281      423,   424,   425,   426,   427,   428,   429,    -1,   431,   432,
16282      433,   434,   435,   436,   437,    -1,   439,   440,   441,   442,
16283      443,   444,    -1,    -1,   447,    -1,   449,   450,   451,   452,
16284      453,   454,   455,   456,   457,   458,   459,   460,   461,   462,
16285      463,   464,   465,   466,   467,   468,   469,   470,    -1,   472,
16286       -1,    -1,    -1,    -1,   477,   478,    -1,    -1,    -1,     3,
16287       -1,     5,     6,   486,     8,     9,    10,    11,    12,    -1,
16288       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
16289       24,    25,    26,    27,    -1,    29,    30,    31,    -1,    -1,
16290       -1,    -1,    36,    -1,    -1,    39,    40,    -1,    42,    43,
16291       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
16292       54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
16293       64,    65,    66,    67,    -1,    69,    70,    71,    72,    73,
16294       -1,    75,    -1,    77,    78,    79,    80,    81,    82,    83,
16295       84,    85,    -1,    87,    88,    89,    90,    91,    92,    -1,
16296       94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
16297      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
16298      114,   115,    -1,   117,   118,   119,   120,   121,   122,    -1,
16299      124,   125,   126,   127,    -1,    -1,   130,   131,   132,   133,
16300      134,    -1,   136,   137,   138,    -1,   140,   141,   142,    -1,
16301      144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
16302      154,   155,    -1,   157,   158,   159,   160,    -1,   162,    -1,
16303      164,   165,   166,   167,   168,   169,   170,   171,    -1,   173,
16304      174,    -1,   176,   177,   178,    -1,   180,   181,   182,   183,
16305      184,   185,   186,   187,   188,   189,    -1,   191,   192,   193,
16306      194,   195,   196,   197,    -1,   199,   200,   201,   202,   203,
16307      204,   205,   206,   207,    -1,   209,    -1,   211,   212,   213,
16308      214,   215,   216,   217,   218,   219,   220,    -1,   222,   223,
16309      224,   225,   226,   227,    -1,   229,   230,   231,   232,   233,
16310      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
16311      244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
16312      254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
16313      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
16314      274,    -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,
16315       -1,   285,   286,   287,   288,   289,   290,   291,   292,   293,
16316      294,   295,   296,   297,   298,   299,   300,    -1,   302,   303,
16317      304,   305,   306,   307,   308,   309,    -1,   311,   312,   313,
16318      314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
16319      324,   325,    -1,   327,   328,   329,   330,   331,   332,   333,
16320      334,   335,   336,   337,   338,    -1,   340,   341,   342,   343,
16321      344,   345,   346,   347,   348,   349,   350,   351,   352,   353,
16322      354,   355,   356,   357,    -1,   359,   360,   361,   362,   363,
16323      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
16324      374,    -1,   376,   377,   378,   379,   380,   381,   382,   383,
16325      384,   385,   386,   387,   388,   389,   390,    -1,   392,   393,
16326       -1,   395,   396,   397,   398,   399,   400,   401,    -1,   403,
16327      404,   405,    -1,   407,   408,   409,   410,   411,   412,   413,
16328      414,   415,   416,   417,   418,   419,   420,   421,    -1,   423,
16329      424,   425,   426,   427,   428,   429,    -1,   431,   432,   433,
16330      434,   435,   436,   437,    -1,   439,   440,   441,   442,   443,
16331      444,    -1,    -1,   447,    -1,    -1,   450,   451,   452,   453,
16332      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
16333      464,   465,   466,   467,   468,   469,   470,    -1,    -1,    -1,
16334       -1,    -1,    -1,   477,   478,    -1,    -1,    -1,     3,    -1,
16335        5,     6,   486,     8,     9,    10,    11,    12,    -1,    -1,
16336       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
16337       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
16338       -1,    36,    -1,    -1,    39,    40,    -1,    42,    43,    44,
16339       45,    46,    47,    48,    49,    50,    51,    52,    53,    -1,
16340       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
16341       65,    66,    67,    -1,    69,    70,    71,    72,    73,    -1,
16342       75,    -1,    77,    78,    79,    80,    81,    82,    83,    84,
16343       85,    -1,    87,    88,    89,    90,    91,    92,    -1,    94,
16344       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
16345      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
16346      115,    -1,   117,   118,   119,   120,   121,   122,    -1,   124,
16347      125,   126,   127,    -1,    -1,   130,   131,   132,   133,   134,
16348       -1,   136,   137,   138,    -1,   140,   141,   142,    -1,   144,
16349      145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
16350      155,    -1,   157,   158,   159,   160,    -1,   162,    -1,   164,
16351      165,    -1,   167,   168,   169,   170,   171,    -1,   173,   174,
16352       -1,   176,   177,   178,    -1,   180,   181,   182,   183,   184,
16353      185,   186,   187,   188,   189,    -1,   191,   192,   193,   194,
16354      195,   196,   197,    -1,   199,   200,   201,   202,   203,   204,
16355      205,   206,   207,    -1,   209,    -1,   211,   212,   213,   214,
16356      215,   216,   217,   218,   219,   220,    -1,    -1,   223,   224,
16357      225,   226,   227,    -1,   229,   230,   231,   232,   233,   234,
16358      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
16359      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
16360      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
16361      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
16362       -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,
16363      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
16364      295,   296,   297,   298,   299,   300,    -1,   302,   303,   304,
16365      305,   306,   307,   308,   309,    -1,   311,   312,   313,   314,
16366      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
16367      325,    -1,   327,   328,   329,   330,   331,   332,   333,   334,
16368      335,   336,   337,   338,    -1,   340,   341,   342,   343,   344,
16369      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
16370      355,   356,   357,    -1,   359,   360,   361,   362,   363,   364,
16371      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
16372       -1,   376,   377,   378,   379,   380,   381,   382,   383,   384,
16373      385,   386,   387,   388,   389,   390,    -1,   392,   393,    -1,
16374      395,   396,   397,   398,   399,   400,   401,    -1,   403,   404,
16375      405,    -1,    -1,   408,   409,   410,   411,   412,   413,   414,
16376      415,   416,   417,   418,   419,   420,   421,    -1,   423,   424,
16377      425,   426,   427,   428,   429,    -1,   431,   432,   433,   434,
16378      435,   436,   437,    -1,   439,   440,   441,   442,   443,   444,
16379       -1,    -1,   447,    -1,    -1,   450,   451,   452,   453,   454,
16380      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
16381      465,   466,   467,   468,   469,   470,    -1,    -1,    -1,    -1,
16382       -1,    -1,   477,   478,    -1,    -1,    -1,    -1,    -1,   484,
16383      485,   486,     3,    -1,     5,     6,    -1,     8,     9,    10,
16384       11,    12,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
16385       21,    22,    23,    24,    25,    26,    27,    -1,    29,    30,
16386       31,    -1,    -1,    -1,    -1,    36,    -1,    -1,    39,    40,
16387       -1,    42,    43,    44,    45,    46,    47,    48,    49,    50,
16388       51,    52,    53,    -1,    55,    56,    57,    58,    59,    60,
16389       61,    62,    63,    64,    65,    66,    67,    -1,    69,    70,
16390       71,    72,    73,    -1,    75,    -1,    77,    78,    79,    80,
16391       81,    82,    83,    84,    85,    -1,    87,    88,    89,    90,
16392       91,    92,    -1,    94,    95,    96,    97,    98,    99,   100,
16393      101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
16394      111,   112,   113,   114,   115,    -1,   117,   118,   119,   120,
16395      121,   122,    -1,   124,   125,   126,   127,    -1,    -1,   130,
16396      131,   132,   133,   134,    -1,   136,   137,   138,    -1,   140,
16397      141,   142,    -1,   144,   145,   146,   147,   148,   149,   150,
16398      151,   152,   153,   154,   155,    -1,   157,   158,   159,   160,
16399       -1,   162,    -1,   164,   165,    -1,   167,   168,   169,   170,
16400      171,    -1,   173,   174,    -1,   176,   177,   178,    -1,   180,
16401      181,   182,   183,   184,   185,   186,   187,   188,   189,    -1,
16402      191,   192,   193,   194,   195,   196,   197,    -1,   199,   200,
16403      201,   202,   203,   204,   205,   206,   207,    -1,   209,    -1,
16404      211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
16405       -1,    -1,   223,   224,   225,   226,   227,    -1,   229,   230,
16406      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
16407      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
16408      251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
16409      261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
16410      271,   272,   273,   274,    -1,   276,   277,    -1,    -1,   280,
16411      281,   282,    -1,    -1,   285,   286,   287,   288,   289,   290,
16412      291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
16413       -1,   302,   303,   304,   305,   306,   307,   308,   309,    -1,
16414      311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
16415      321,   322,   323,   324,   325,    -1,   327,   328,   329,   330,
16416      331,   332,   333,   334,   335,   336,   337,   338,    -1,   340,
16417      341,   342,   343,   344,   345,   346,   347,   348,   349,   350,
16418      351,   352,   353,   354,   355,   356,   357,    -1,   359,   360,
16419      361,   362,   363,   364,   365,   366,   367,   368,   369,   370,
16420      371,   372,   373,   374,    -1,   376,   377,   378,   379,   380,
16421      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
16422       -1,   392,   393,    -1,   395,   396,   397,   398,   399,   400,
16423      401,    -1,   403,   404,   405,    -1,    -1,   408,   409,   410,
16424      411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
16425      421,    -1,   423,   424,   425,   426,   427,   428,   429,    -1,
16426      431,   432,   433,   434,   435,   436,   437,    -1,   439,   440,
16427      441,   442,   443,   444,    -1,    -1,   447,    -1,    -1,   450,
16428      451,   452,   453,   454,   455,   456,   457,   458,   459,   460,
16429      461,   462,   463,   464,   465,   466,   467,   468,   469,   470,
16430       -1,    -1,    -1,    -1,    -1,    -1,   477,   478,   479,    -1,
16431       -1,     3,    -1,     5,     6,   486,     8,     9,    10,    11,
16432       12,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
16433       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
16434       -1,    -1,    -1,    -1,    36,    -1,    -1,    39,    40,    -1,
16435       42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
16436       52,    53,    -1,    55,    56,    57,    58,    59,    60,    61,
16437       62,    63,    64,    65,    66,    67,    -1,    69,    70,    71,
16438       72,    73,    -1,    75,    -1,    77,    78,    79,    80,    81,
16439       82,    83,    84,    85,    -1,    87,    88,    89,    90,    91,
16440       92,    -1,    94,    95,    96,    97,    98,    99,   100,   101,
16441      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
16442      112,   113,   114,   115,    -1,   117,   118,   119,   120,   121,
16443      122,    -1,   124,   125,   126,   127,    -1,    -1,   130,   131,
16444      132,   133,   134,    -1,   136,   137,   138,    -1,   140,   141,
16445      142,    -1,   144,   145,   146,   147,   148,   149,   150,   151,
16446      152,   153,   154,   155,    -1,   157,   158,   159,   160,    -1,
16447      162,    -1,   164,   165,    -1,   167,   168,   169,   170,   171,
16448       -1,   173,   174,    -1,   176,   177,   178,    -1,   180,   181,
16449      182,   183,   184,   185,   186,   187,   188,   189,    -1,   191,
16450      192,   193,   194,   195,   196,   197,    -1,   199,   200,   201,
16451      202,   203,   204,   205,   206,   207,    -1,   209,    -1,   211,
16452      212,   213,   214,   215,   216,   217,   218,   219,   220,    -1,
16453       -1,   223,   224,   225,   226,   227,    -1,   229,   230,   231,
16454      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
16455      242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
16456      252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
16457      262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
16458      272,   273,   274,    -1,   276,   277,    -1,    -1,   280,   281,
16459      282,    -1,    -1,   285,   286,   287,   288,   289,   290,   291,
16460      292,   293,   294,   295,   296,   297,   298,   299,   300,    -1,
16461      302,   303,   304,   305,   306,   307,   308,   309,    -1,   311,
16462      312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
16463      322,   323,   324,   325,    -1,   327,   328,   329,   330,   331,
16464      332,   333,   334,   335,   336,   337,   338,    -1,   340,   341,
16465      342,   343,   344,   345,   346,   347,   348,   349,   350,   351,
16466      352,   353,   354,   355,   356,   357,    -1,   359,   360,   361,
16467      362,   363,   364,   365,   366,   367,   368,   369,   370,   371,
16468      372,   373,   374,    -1,   376,   377,   378,   379,   380,   381,
16469      382,   383,   384,   385,   386,   387,   388,   389,   390,    -1,
16470      392,   393,    -1,   395,   396,   397,   398,   399,   400,   401,
16471       -1,   403,   404,   405,    -1,    -1,   408,   409,   410,   411,
16472      412,   413,   414,   415,   416,   417,   418,   419,   420,   421,
16473       -1,   423,   424,   425,   426,   427,   428,   429,    -1,   431,
16474      432,   433,   434,   435,   436,   437,    -1,   439,   440,   441,
16475      442,   443,   444,    -1,    -1,   447,    -1,    -1,   450,   451,
16476      452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
16477      462,   463,   464,   465,   466,   467,   468,   469,   470,    -1,
16478       -1,    -1,    -1,    -1,    -1,   477,   478,    -1,    -1,    -1,
16479        3,    -1,     5,     6,   486,     8,     9,    10,    11,    12,
16480       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
16481       23,    24,    25,    26,    27,    -1,    29,    30,    31,    -1,
16482       -1,    -1,    -1,    36,    -1,    -1,    39,    40,    -1,    42,
16483       43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
16484       53,    -1,    55,    56,    57,    58,    59,    60,    61,    62,
16485       63,    64,    65,    66,    67,    -1,    69,    70,    71,    72,
16486       73,    -1,    75,    -1,    77,    78,    79,    80,    81,    82,
16487       83,    84,    85,    -1,    87,    88,    89,    90,    91,    92,
16488       -1,    94,    95,    96,    97,    98,    99,   100,   101,   102,
16489      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
16490      113,   114,   115,    -1,   117,   118,   119,   120,   121,   122,
16491       -1,   124,   125,   126,   127,    -1,    -1,   130,   131,   132,
16492      133,   134,    -1,   136,   137,   138,    -1,   140,   141,   142,
16493       -1,   144,   145,   146,   147,   148,   149,   150,   151,   152,
16494      153,   154,   155,    -1,   157,   158,   159,   160,    -1,   162,
16495       -1,   164,   165,    -1,   167,   168,   169,   170,   171,    -1,
16496      173,   174,    -1,   176,   177,   178,    -1,   180,   181,   182,
16497      183,   184,   185,   186,   187,   188,   189,    -1,   191,   192,
16498      193,   194,   195,   196,   197,    -1,   199,   200,   201,   202,
16499      203,   204,   205,   206,   207,    -1,   209,    -1,   211,   212,
16500      213,   214,   215,   216,   217,   218,   219,   220,    -1,    -1,
16501      223,   224,   225,   226,   227,    -1,   229,   230,   231,   232,
16502      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
16503      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
16504      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
16505      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
16506      273,   274,    -1,   276,   277,    -1,    -1,   280,   281,   282,
16507       -1,    -1,   285,   286,   287,   288,   289,   290,   291,   292,
16508      293,   294,   295,   296,   297,   298,   299,   300,    -1,   302,
16509      303,   304,   305,   306,   307,   308,   309,    -1,   311,   312,
16510      313,   314,   315,   316,   317,   318,   319,   320,   321,   322,
16511      323,   324,   325,    -1,   327,   328,   329,   330,   331,   332,
16512      333,   334,   335,   336,   337,   338,    -1,   340,   341,   342,
16513      343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
16514      353,   354,   355,   356,   357,    -1,   359,   360,   361,   362,
16515      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
16516      373,   374,    -1,   376,   377,   378,   379,   380,   381,   382,
16517      383,   384,   385,   386,   387,   388,   389,   390,    -1,   392,
16518      393,    -1,   395,   396,   397,   398,   399,   400,   401,    -1,
16519      403,   404,   405,    -1,    -1,   408,   409,   410,   411,   412,
16520      413,   414,   415,   416,   417,   418,   419,   420,   421,    -1,
16521      423,   424,   425,   426,   427,   428,   429,    -1,   431,   432,
16522      433,   434,   435,   436,   437,   438,   439,   440,   441,   442,
16523      443,   444,    -1,    -1,   447,    -1,    -1,   450,   451,   452,
16524      453,   454,   455,   456,   457,   458,   459,   460,   461,   462,
16525      463,   464,   465,   466,   467,   468,   469,   470,    -1,    -1,
16526       -1,    -1,    -1,    -1,   477,   478,    -1,    -1,    -1,     3,
16527       -1,     5,     6,   486,     8,     9,    10,    11,    12,    -1,
16528       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
16529       24,    25,    26,    27,    -1,    29,    30,    31,    -1,    -1,
16530       -1,    -1,    36,    -1,    -1,    39,    40,    -1,    42,    43,
16531       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
16532       -1,    55,    56,    57,    58,    59,    60,    61,    62,    63,
16533       64,    65,    66,    67,    -1,    69,    70,    71,    72,    73,
16534       -1,    75,    -1,    77,    78,    79,    80,    81,    82,    83,
16535       84,    85,    -1,    87,    88,    89,    90,    91,    92,    -1,
16536       94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
16537      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
16538      114,   115,    -1,   117,   118,   119,   120,   121,   122,    -1,
16539      124,   125,   126,   127,    -1,    -1,   130,   131,   132,   133,
16540      134,    -1,   136,   137,   138,    -1,   140,   141,   142,    -1,
16541      144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
16542      154,   155,    -1,   157,   158,   159,   160,    -1,   162,    -1,
16543      164,   165,   166,   167,   168,   169,   170,   171,    -1,   173,
16544      174,    -1,   176,   177,   178,    -1,   180,   181,   182,   183,
16545      184,   185,   186,   187,   188,   189,    -1,   191,   192,   193,
16546      194,   195,   196,   197,    -1,   199,   200,   201,   202,   203,
16547      204,   205,   206,   207,    -1,   209,    -1,   211,   212,   213,
16548      214,   215,   216,   217,   218,   219,   220,    -1,    -1,   223,
16549      224,   225,   226,   227,    -1,   229,   230,   231,   232,   233,
16550      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
16551      244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
16552      254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
16553      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
16554      274,    -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,
16555       -1,   285,   286,   287,   288,   289,   290,   291,   292,   293,
16556      294,   295,   296,   297,   298,   299,   300,    -1,   302,   303,
16557      304,   305,   306,   307,   308,   309,    -1,   311,   312,   313,
16558      314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
16559      324,   325,    -1,   327,   328,   329,   330,   331,   332,   333,
16560      334,   335,   336,   337,   338,    -1,   340,   341,   342,   343,
16561      344,   345,   346,   347,   348,   349,   350,   351,   352,   353,
16562      354,   355,   356,   357,    -1,   359,   360,   361,   362,   363,
16563      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
16564      374,    -1,   376,   377,   378,   379,   380,   381,   382,   383,
16565      384,   385,   386,   387,   388,   389,   390,    -1,   392,   393,
16566       -1,   395,   396,   397,   398,   399,   400,   401,    -1,   403,
16567      404,   405,    -1,    -1,   408,   409,   410,   411,   412,   413,
16568      414,   415,   416,   417,   418,   419,   420,   421,    -1,   423,
16569      424,   425,   426,   427,   428,   429,    -1,   431,   432,   433,
16570      434,   435,   436,   437,    -1,   439,   440,   441,   442,   443,
16571      444,    -1,    -1,   447,    -1,    -1,   450,   451,   452,   453,
16572      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
16573      464,   465,   466,   467,   468,   469,   470,    -1,    -1,    -1,
16574       -1,    -1,    -1,   477,   478,    -1,    -1,    -1,     3,    -1,
16575        5,     6,   486,     8,     9,    10,    11,    12,    -1,    -1,
16576       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
16577       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
16578       -1,    36,    -1,    -1,    39,    40,    -1,    42,    43,    44,
16579       45,    46,    47,    48,    49,    50,    51,    52,    53,    -1,
16580       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
16581       65,    66,    67,    -1,    69,    70,    71,    72,    73,    -1,
16582       75,    -1,    77,    78,    79,    80,    81,    82,    83,    84,
16583       85,    -1,    87,    88,    89,    90,    91,    92,    -1,    94,
16584       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
16585      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
16586      115,    -1,   117,   118,   119,   120,   121,   122,    -1,   124,
16587      125,   126,   127,    -1,    -1,   130,   131,   132,   133,   134,
16588       -1,   136,   137,   138,    -1,   140,   141,   142,    -1,   144,
16589      145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
16590      155,    -1,   157,   158,   159,   160,    -1,   162,    -1,   164,
16591      165,    -1,   167,   168,   169,   170,   171,    -1,   173,   174,
16592       -1,   176,   177,   178,    -1,   180,   181,   182,   183,   184,
16593      185,   186,   187,   188,   189,    -1,   191,   192,   193,   194,
16594      195,   196,   197,    -1,   199,   200,   201,   202,   203,   204,
16595      205,   206,   207,    -1,   209,    -1,   211,   212,   213,   214,
16596      215,   216,   217,   218,   219,   220,    -1,    -1,   223,   224,
16597      225,   226,   227,    -1,   229,   230,   231,   232,   233,   234,
16598      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
16599      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
16600      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
16601      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
16602       -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,
16603      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
16604      295,   296,   297,   298,   299,   300,    -1,   302,   303,   304,
16605      305,   306,   307,   308,   309,    -1,   311,   312,   313,   314,
16606      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
16607      325,    -1,   327,   328,   329,   330,   331,   332,   333,   334,
16608      335,   336,   337,   338,    -1,   340,   341,   342,   343,   344,
16609      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
16610      355,   356,   357,    -1,   359,   360,   361,   362,   363,   364,
16611      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
16612       -1,   376,   377,   378,   379,   380,   381,   382,   383,   384,
16613      385,   386,   387,   388,   389,   390,    -1,   392,   393,    -1,
16614      395,   396,   397,   398,   399,   400,   401,    -1,   403,   404,
16615      405,    -1,    -1,   408,   409,   410,   411,   412,   413,   414,
16616      415,   416,   417,   418,   419,   420,   421,    -1,   423,   424,
16617      425,   426,   427,   428,   429,    -1,   431,   432,   433,   434,
16618      435,   436,   437,    -1,   439,   440,   441,   442,   443,   444,
16619       -1,    -1,   447,    -1,    -1,   450,   451,   452,   453,   454,
16620      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
16621      465,   466,   467,   468,   469,   470,    -1,    -1,    -1,    -1,
16622       -1,    -1,   477,   478,    -1,    -1,    -1,     3,    -1,     5,
16623        6,   486,     8,     9,    10,    11,    12,    -1,    -1,    -1,
16624       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
16625       26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,
16626       36,    -1,    -1,    39,    40,    -1,    42,    43,    44,    45,
16627       46,    47,    48,    49,    50,    51,    52,    53,    -1,    55,
16628       56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
16629       66,    67,    -1,    69,    70,    71,    72,    73,    -1,    75,
16630       -1,    77,    78,    79,    80,    81,    82,    83,    84,    85,
16631       -1,    87,    88,    89,    90,    91,    92,    -1,    94,    95,
16632       96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
16633      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
16634       -1,   117,   118,   119,   120,   121,   122,    -1,   124,   125,
16635      126,   127,    -1,    -1,   130,   131,   132,   133,   134,    -1,
16636      136,   137,   138,    -1,   140,   141,   142,    -1,   144,   145,
16637      146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
16638       -1,   157,   158,   159,   160,    -1,   162,    -1,   164,   165,
16639       -1,   167,   168,   169,   170,   171,    -1,   173,   174,    -1,
16640      176,   177,   178,    -1,   180,   181,   182,   183,   184,   185,
16641      186,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
16642      196,   197,    -1,   199,   200,   201,   202,   203,   204,   205,
16643      206,   207,    -1,   209,    -1,   211,   212,   213,   214,   215,
16644      216,   217,   218,   219,   220,    -1,    -1,   223,   224,   225,
16645      226,   227,    -1,   229,   230,   231,   232,   233,   234,   235,
16646      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
16647      246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
16648      256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
16649      266,   267,   268,   269,   270,   271,   272,   273,   274,    -1,
16650      276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,   285,
16651      286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
16652      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
16653      306,   307,   308,   309,    -1,   311,   312,   313,   314,   315,
16654      316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
16655       -1,   327,   328,   329,   330,   331,   332,   333,   334,   335,
16656      336,   337,   338,    -1,   340,   341,   342,   343,   344,   345,
16657      346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
16658      356,   357,    -1,   359,   360,   361,   362,   363,   364,   365,
16659      366,   367,   368,   369,   370,   371,   372,   373,   374,    -1,
16660      376,   377,   378,   379,   380,   381,   382,   383,   384,   385,
16661      386,   387,   388,   389,   390,    -1,   392,   393,    -1,   395,
16662      396,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
16663       -1,    -1,   408,   409,   410,   411,   412,   413,   414,   415,
16664      416,   417,   418,   419,   420,   421,    -1,   423,   424,   425,
16665      426,   427,   428,   429,    -1,   431,   432,   433,   434,   435,
16666      436,   437,    -1,   439,   440,   441,   442,   443,   444,    -1,
16667       -1,   447,    -1,    -1,   450,   451,   452,   453,   454,   455,
16668      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
16669      466,   467,   468,   469,   470,    -1,    -1,    -1,    -1,    -1,
16670       -1,   477,   478,    -1,    -1,    -1,     3,    -1,     5,     6,
16671      486,     8,     9,    10,    11,    12,    -1,    -1,    -1,    -1,
16672       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
16673       27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    36,
16674       -1,    -1,    39,    40,    -1,    42,    43,    44,    45,    46,
16675       47,    48,    49,    50,    51,    52,    53,    -1,    55,    56,
16676       57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
16677       67,    -1,    69,    70,    71,    72,    73,    -1,    75,    -1,
16678       77,    78,    79,    80,    81,    82,    83,    84,    85,    -1,
16679       87,    88,    89,    90,    91,    92,    -1,    94,    95,    96,
16680       97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
16681      107,   108,   109,   110,   111,   112,   113,   114,   115,    -1,
16682      117,   118,   119,   120,   121,   122,    -1,   124,   125,   126,
16683      127,    -1,    -1,   130,   131,   132,   133,   134,    -1,   136,
16684      137,   138,    -1,   140,   141,   142,    -1,   144,   145,   146,
16685      147,   148,   149,   150,   151,   152,   153,   154,   155,    -1,
16686      157,   158,   159,   160,    -1,   162,    -1,   164,   165,    -1,
16687      167,   168,   169,   170,   171,    -1,   173,   174,    -1,   176,
16688      177,   178,    -1,   180,   181,   182,   183,   184,   185,   186,
16689      187,   188,   189,    -1,   191,   192,   193,   194,   195,   196,
16690      197,    -1,   199,   200,   201,   202,   203,   204,   205,   206,
16691      207,    -1,   209,    -1,   211,   212,   213,   214,   215,   216,
16692      217,   218,   219,   220,    -1,    -1,   223,   224,   225,   226,
16693      227,    -1,   229,   230,   231,   232,   233,   234,   235,   236,
16694      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
16695      247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
16696      257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
16697      267,   268,   269,   270,   271,   272,   273,   274,    -1,   276,
16698      277,    -1,    -1,   280,   281,   282,    -1,    -1,   285,   286,
16699      287,   288,   289,   290,   291,   292,   293,   294,   295,   296,
16700      297,   298,   299,   300,    -1,   302,   303,   304,   305,   306,
16701      307,   308,   309,    -1,   311,   312,   313,   314,   315,   316,
16702      317,   318,   319,   320,   321,   322,   323,   324,   325,    -1,
16703      327,   328,   329,   330,   331,   332,   333,   334,   335,   336,
16704      337,   338,    -1,   340,   341,   342,   343,   344,   345,   346,
16705      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
16706      357,    -1,   359,   360,   361,   362,   363,   364,   365,   366,
16707      367,   368,   369,   370,   371,   372,   373,   374,    -1,   376,
16708      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
16709      387,   388,   389,   390,    -1,   392,   393,    -1,   395,   396,
16710      397,   398,   399,   400,   401,    -1,   403,   404,   405,    -1,
16711       -1,   408,   409,   410,   411,   412,   413,   414,   415,   416,
16712      417,   418,   419,   420,   421,    -1,   423,   424,   425,   426,
16713      427,   428,   429,    -1,   431,   432,   433,   434,   435,   436,
16714      437,    -1,   439,   440,   441,   442,   443,   444,    -1,    -1,
16715      447,    -1,    -1,   450,   451,   452,   453,   454,   455,   456,
16716      457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
16717      467,   468,   469,   470,    -1,    -1,    -1,    -1,    -1,    -1,
16718      477,   478,    -1,    -1,    -1,     3,    -1,     5,     6,   486,
16719        8,     9,    10,    11,    12,    -1,    -1,    -1,    -1,    -1,
16720       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
16721       -1,    29,    30,    31,    -1,    -1,    -1,    -1,    36,    -1,
16722       -1,    39,    40,    -1,    42,    43,    44,    45,    46,    47,
16723       48,    49,    50,    51,    52,    53,    -1,    55,    56,    57,
16724       58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
16725       -1,    69,    70,    71,    72,    73,    -1,    75,    -1,    77,
16726       78,    79,    80,    81,    82,    83,    84,    85,    -1,    87,
16727       88,    89,    90,    91,    92,    -1,    94,    95,    96,    97,
16728       98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
16729      108,   109,   110,   111,   112,   113,   114,   115,    -1,   117,
16730      118,   119,   120,   121,   122,    -1,   124,   125,   126,   127,
16731       -1,    -1,   130,   131,   132,   133,   134,    -1,   136,   137,
16732      138,    -1,   140,   141,   142,    -1,   144,   145,   146,   147,
16733      148,   149,   150,   151,   152,   153,   154,   155,    -1,   157,
16734      158,   159,   160,    -1,   162,    -1,   164,   165,    -1,   167,
16735      168,   169,   170,   171,    -1,   173,   174,    -1,   176,   177,
16736      178,    -1,   180,   181,   182,   183,   184,   185,   186,   187,
16737      188,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
16738       -1,   199,   200,   201,   202,   203,   204,   205,   206,   207,
16739       -1,   209,    -1,   211,   212,   213,   214,   215,   216,   217,
16740      218,   219,   220,    -1,    -1,   223,   224,   225,   226,   227,
16741       -1,   229,   230,   231,   232,   233,   234,   235,   236,   237,
16742      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
16743      248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
16744      258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
16745      268,   269,   270,   271,   272,   273,   274,    -1,   276,   277,
16746       -1,    -1,   280,   281,   282,    -1,    -1,   285,   286,   287,
16747      288,   289,   290,   291,   292,   293,   294,   295,   296,   297,
16748      298,   299,   300,    -1,   302,   303,   304,   305,   306,   307,
16749      308,   309,    -1,   311,   312,   313,   314,   315,   316,   317,
16750      318,   319,   320,   321,   322,   323,   324,   325,    -1,   327,
16751      328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
16752      338,    -1,   340,   341,   342,   343,   344,   345,   346,   347,
16753      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
16754       -1,   359,   360,   361,   362,   363,   364,   365,   366,   367,
16755      368,   369,   370,   371,   372,   373,   374,    -1,   376,   377,
16756      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
16757      388,   389,   390,    -1,   392,   393,    -1,   395,   396,   397,
16758      398,   399,   400,   401,    -1,   403,   404,   405,    -1,    -1,
16759      408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
16760      418,   419,   420,   421,    -1,   423,   424,   425,   426,   427,
16761      428,   429,    -1,   431,   432,   433,   434,   435,   436,   437,
16762       -1,   439,   440,   441,   442,   443,   444,    -1,    -1,   447,
16763       -1,    -1,   450,   451,   452,   453,   454,   455,   456,   457,
16764      458,   459,   460,   461,   462,   463,   464,   465,   466,   467,
16765      468,   469,   470,    -1,    -1,    -1,    -1,    -1,    -1,   477,
16766      478,    -1,    -1,    -1,     3,    -1,     5,     6,   486,     8,
16767        9,    10,    11,    12,    -1,    -1,    -1,    -1,    -1,    -1,
16768       -1,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
16769       29,    30,    31,    -1,    -1,    -1,    -1,    36,    -1,    -1,
16770       39,    40,    -1,    42,    43,    44,    45,    46,    47,    48,
16771       49,    50,    51,    52,    53,    -1,    55,    56,    57,    58,
16772       59,    60,    61,    62,    63,    64,    65,    66,    67,    -1,
16773       69,    70,    71,    72,    73,    -1,    75,    -1,    77,    78,
16774       79,    80,    81,    82,    83,    84,    85,    -1,    87,    88,
16775       89,    90,    91,    92,    -1,    94,    95,    96,    97,    98,
16776       99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
16777      109,   110,   111,   112,   113,   114,   115,    -1,   117,   118,
16778      119,   120,   121,   122,    -1,   124,   125,   126,   127,    -1,
16779       -1,   130,   131,   132,   133,   134,    -1,   136,   137,   138,
16780       -1,   140,   141,   142,    -1,   144,   145,   146,   147,   148,
16781      149,   150,   151,   152,   153,   154,   155,    -1,   157,   158,
16782      159,   160,    -1,   162,    -1,   164,   165,    -1,   167,   168,
16783      169,   170,   171,    -1,   173,   174,    -1,   176,   177,   178,
16784       -1,   180,   181,   182,   183,   184,   185,   186,   187,   188,
16785      189,    -1,   191,   192,   193,   194,   195,   196,   197,    -1,
16786      199,   200,   201,   202,   203,   204,   205,   206,   207,    -1,
16787      209,    -1,   211,   212,   213,   214,   215,   216,   217,   218,
16788      219,   220,    -1,    -1,   223,   224,   225,   226,   227,    -1,
16789      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
16790      239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
16791      249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
16792      259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
16793      269,   270,   271,   272,   273,   274,    -1,   276,   277,    -1,
16794       -1,   280,   281,   282,    -1,    -1,   285,   286,   287,   288,
16795      289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
16796      299,   300,    -1,   302,   303,   304,   305,   306,   307,   308,
16797      309,    -1,   311,   312,   313,   314,   315,   316,   317,   318,
16798      319,   320,   321,   322,   323,   324,   325,    -1,   327,   328,
16799      329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
16800       -1,   340,   341,   342,   343,   344,   345,   346,   347,   348,
16801      349,   350,   351,   352,   353,   354,   355,   356,   357,    -1,
16802      359,   360,   361,   362,   363,   364,   365,   366,   367,   368,
16803      369,   370,   371,   372,   373,   374,    -1,   376,   377,   378,
16804      379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
16805      389,   390,    -1,   392,   393,    -1,   395,   396,   397,   398,
16806      399,   400,   401,    -1,   403,   404,   405,    -1,    -1,   408,
16807      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
16808      419,   420,   421,    -1,   423,   424,   425,   426,   427,   428,
16809      429,    -1,   431,   432,   433,   434,   435,   436,   437,    -1,
16810      439,   440,   441,   442,   443,   444,    -1,    -1,   447,    -1,
16811       -1,   450,   451,   452,   453,   454,   455,   456,   457,   458,
16812      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
16813      469,   470,    -1,    -1,    -1,    -1,    -1,    -1,   477,   478,
16814       -1,    -1,    -1,     3,    -1,     5,     6,   486,     8,     9,
16815       10,    11,    12,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16816       20,    21,    22,    23,    24,    25,    26,    27,    -1,    29,
16817       30,    31,    -1,    -1,    -1,    -1,    36,    -1,    -1,    39,
16818       40,    -1,    42,    43,    44,    45,    46,    47,    48,    49,
16819       50,    51,    52,    53,    -1,    55,    56,    57,    58,    59,
16820       60,    61,    62,    63,    64,    65,    66,    67,    -1,    69,
16821       70,    71,    72,    73,    -1,    75,    -1,    77,    78,    79,
16822       80,    81,    82,    83,    84,    85,    -1,    87,    88,    89,
16823       90,    91,    92,    -1,    94,    95,    96,    97,    98,    99,
16824      100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
16825      110,   111,   112,   113,   114,   115,    -1,   117,   118,   119,
16826      120,   121,   122,    -1,   124,   125,   126,   127,    -1,    -1,
16827      130,   131,   132,   133,   134,    -1,   136,   137,   138,    -1,
16828      140,   141,   142,    -1,   144,   145,   146,   147,   148,   149,
16829      150,   151,   152,   153,   154,   155,    -1,   157,   158,   159,
16830      160,    -1,   162,    -1,   164,   165,    -1,   167,   168,   169,
16831      170,   171,    -1,   173,   174,    -1,   176,   177,   178,    -1,
16832      180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
16833       -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
16834      200,   201,   202,   203,   204,   205,   206,   207,    -1,   209,
16835       -1,   211,   212,   213,   214,   215,   216,   217,   218,   219,
16836      220,    -1,    -1,   223,   224,   225,   226,   227,    -1,   229,
16837      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
16838      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
16839      250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
16840      260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
16841      270,   271,   272,   273,   274,    -1,   276,   277,    -1,    -1,
16842      280,   281,   282,    -1,    -1,   285,   286,   287,   288,   289,
16843      290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
16844      300,    -1,   302,   303,   304,   305,   306,   307,   308,   309,
16845       -1,   311,   312,   313,   314,   315,   316,   317,   318,   319,
16846      320,   321,   322,   323,   324,   325,    -1,   327,   328,   329,
16847      330,   331,   332,   333,   334,   335,   336,   337,   338,    -1,
16848      340,   341,   342,   343,   344,   345,   346,   347,   348,   349,
16849      350,   351,   352,   353,   354,   355,   356,   357,    -1,   359,
16850      360,   361,   362,   363,   364,   365,   366,   367,   368,   369,
16851      370,   371,   372,   373,   374,    -1,   376,   377,   378,   379,
16852      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
16853      390,    -1,   392,   393,    -1,   395,   396,   397,   398,   399,
16854      400,   401,    -1,   403,   404,   405,    -1,    -1,   408,   409,
16855      410,   411,   412,   413,   414,   415,   416,   417,   418,   419,
16856      420,   421,    -1,   423,   424,   425,   426,   427,   428,   429,
16857       -1,   431,   432,   433,   434,   435,   436,   437,    -1,   439,
16858      440,   441,   442,   443,   444,    -1,    -1,   447,    -1,    -1,
16859      450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
16860      460,   461,   462,   463,   464,   465,   466,   467,   468,   469,
16861      470,    -1,    -1,    -1,    -1,    -1,    -1,   477,   478,    -1,
16862       -1,    -1,     3,    -1,     5,     6,   486,     8,     9,    10,
16863       11,    12,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
16864       21,    22,    23,    24,    25,    26,    27,    -1,    29,    30,
16865       31,    -1,    -1,    -1,    -1,    36,    -1,    -1,    39,    40,
16866       -1,    42,    43,    44,    45,    46,    47,    48,    49,    50,
16867       51,    52,    53,    -1,    55,    56,    57,    58,    59,    60,
16868       61,    62,    63,    64,    65,    66,    67,    -1,    69,    70,
16869       71,    72,    73,    -1,    75,    -1,    77,    78,    79,    80,
16870       81,    82,    83,    84,    85,    -1,    87,    88,    89,    90,
16871       91,    92,    -1,    94,    95,    96,    97,    98,    99,   100,
16872      101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
16873      111,   112,   113,   114,   115,    -1,   117,   118,   119,   120,
16874      121,   122,    -1,   124,   125,   126,   127,    -1,    -1,   130,
16875      131,   132,   133,   134,    -1,   136,   137,   138,    -1,   140,
16876      141,   142,    -1,   144,   145,   146,   147,   148,   149,   150,
16877      151,   152,   153,   154,   155,    -1,   157,   158,   159,   160,
16878       -1,   162,    -1,   164,   165,    -1,   167,   168,   169,   170,
16879      171,    -1,   173,   174,    -1,   176,   177,   178,    -1,   180,
16880      181,   182,   183,   184,   185,   186,   187,   188,   189,    -1,
16881      191,   192,   193,   194,   195,   196,   197,    -1,   199,   200,
16882      201,   202,   203,   204,   205,   206,   207,    -1,   209,    -1,
16883      211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
16884       -1,    -1,   223,   224,   225,   226,   227,    -1,   229,   230,
16885      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
16886      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
16887      251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
16888      261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
16889      271,   272,   273,   274,    -1,   276,   277,    -1,    -1,   280,
16890      281,   282,    -1,    -1,   285,   286,   287,   288,   289,   290,
16891      291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
16892       -1,   302,   303,   304,   305,   306,   307,   308,   309,    -1,
16893      311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
16894      321,   322,   323,   324,   325,    -1,   327,   328,   329,   330,
16895      331,   332,   333,   334,   335,   336,   337,   338,    -1,   340,
16896      341,   342,   343,   344,   345,   346,   347,   348,   349,   350,
16897      351,   352,   353,   354,   355,   356,   357,    -1,   359,   360,
16898      361,   362,   363,   364,   365,   366,   367,   368,   369,   370,
16899      371,   372,   373,   374,    -1,   376,   377,   378,   379,   380,
16900      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
16901       -1,   392,   393,    -1,   395,   396,   397,   398,   399,   400,
16902      401,    -1,   403,   404,   405,    -1,    -1,   408,   409,   410,
16903      411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
16904      421,    -1,   423,   424,   425,   426,   427,   428,   429,    -1,
16905      431,   432,   433,   434,   435,   436,   437,    -1,   439,   440,
16906      441,   442,   443,   444,    -1,    -1,   447,    -1,    -1,   450,
16907      451,   452,   453,   454,   455,   456,   457,   458,   459,   460,
16908      461,   462,   463,   464,   465,   466,   467,   468,   469,   470,
16909       -1,    -1,    -1,    -1,    -1,    -1,   477,   478,    -1,    -1,
16910       -1,     3,    -1,     5,     6,   486,     8,     9,    10,    11,
16911       12,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
16912       22,    23,    24,    25,    26,    27,    -1,    29,    30,    31,
16913       -1,    -1,    -1,    -1,    36,    -1,    -1,    39,    40,    -1,
16914       42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
16915       52,    53,    -1,    55,    56,    57,    58,    59,    60,    61,
16916       62,    63,    64,    65,    66,    67,    -1,    69,    70,    71,
16917       72,    73,    -1,    75,    -1,    77,    78,    79,    80,    81,
16918       82,    83,    84,    85,    -1,    87,    88,    89,    90,    91,
16919       92,    -1,    94,    95,    96,    97,    98,    99,   100,   101,
16920      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
16921      112,   113,   114,   115,    -1,   117,   118,   119,   120,   121,
16922      122,    -1,   124,   125,   126,   127,    -1,    -1,   130,   131,
16923      132,   133,   134,    -1,   136,   137,   138,    -1,   140,   141,
16924      142,    -1,   144,   145,   146,   147,   148,   149,   150,   151,
16925      152,   153,   154,   155,    -1,   157,   158,   159,   160,    -1,
16926      162,    -1,   164,   165,    -1,   167,   168,   169,   170,   171,
16927       -1,   173,   174,    -1,   176,   177,   178,    -1,   180,   181,
16928      182,   183,   184,   185,   186,   187,   188,   189,    -1,   191,
16929      192,   193,   194,   195,   196,   197,    -1,   199,   200,   201,
16930      202,   203,   204,   205,   206,   207,    -1,   209,    -1,   211,
16931      212,   213,   214,   215,   216,   217,   218,   219,   220,    -1,
16932       -1,   223,   224,   225,   226,   227,    -1,   229,   230,   231,
16933      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
16934      242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
16935      252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
16936      262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
16937      272,   273,   274,    -1,   276,   277,    -1,    -1,   280,   281,
16938      282,    -1,    -1,   285,   286,   287,   288,   289,   290,   291,
16939      292,   293,   294,   295,   296,   297,   298,   299,   300,    -1,
16940      302,   303,   304,   305,   306,   307,   308,   309,    -1,   311,
16941      312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
16942      322,   323,   324,   325,    -1,   327,   328,   329,   330,   331,
16943      332,   333,   334,   335,   336,   337,   338,    -1,   340,   341,
16944      342,   343,   344,   345,   346,   347,   348,   349,   350,   351,
16945      352,   353,   354,   355,   356,   357,    -1,   359,   360,   361,
16946      362,   363,   364,   365,   366,   367,   368,   369,   370,   371,
16947      372,   373,   374,    -1,   376,   377,   378,   379,   380,   381,
16948      382,   383,   384,   385,   386,   387,   388,   389,   390,    -1,
16949      392,   393,    -1,   395,   396,   397,   398,   399,   400,   401,
16950       -1,   403,   404,   405,    -1,    -1,   408,   409,   410,   411,
16951      412,   413,   414,   415,   416,   417,   418,   419,   420,   421,
16952       -1,   423,   424,   425,   426,   427,   428,   429,    -1,   431,
16953      432,   433,   434,   435,   436,   437,    -1,   439,   440,   441,
16954      442,   443,   444,    -1,    -1,   447,    -1,    -1,   450,   451,
16955      452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
16956      462,   463,   464,   465,   466,   467,   468,   469,   470,    -1,
16957       -1,    -1,    -1,    -1,    -1,   477,   478,    -1,    -1,    -1,
16958        3,    -1,     5,     6,   486,     8,     9,    10,    11,    12,
16959       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
16960       23,    24,    25,    26,    27,    -1,    29,    30,    31,    -1,
16961       -1,    -1,    -1,    36,    -1,    -1,    39,    40,    -1,    42,
16962       43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
16963       53,    -1,    55,    56,    57,    58,    59,    60,    61,    62,
16964       63,    64,    65,    66,    67,    -1,    69,    70,    71,    72,
16965       73,    -1,    75,    -1,    77,    78,    79,    80,    81,    82,
16966       83,    84,    85,    -1,    87,    88,    89,    90,    91,    92,
16967       -1,    94,    95,    96,    97,    98,    99,   100,   101,   102,
16968      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
16969      113,   114,   115,    -1,   117,   118,   119,   120,   121,   122,
16970       -1,   124,   125,   126,   127,    -1,    -1,   130,   131,   132,
16971      133,   134,    -1,   136,   137,   138,    -1,   140,   141,   142,
16972       -1,   144,   145,   146,   147,   148,   149,   150,   151,   152,
16973      153,   154,   155,    -1,   157,   158,   159,   160,    -1,   162,
16974       -1,   164,   165,    -1,   167,   168,   169,   170,   171,    -1,
16975      173,   174,    -1,   176,   177,   178,    -1,   180,   181,   182,
16976      183,   184,   185,   186,   187,   188,   189,    -1,   191,   192,
16977      193,   194,   195,   196,   197,    -1,   199,   200,   201,   202,
16978      203,   204,   205,   206,   207,    -1,   209,    -1,   211,   212,
16979      213,   214,   215,   216,   217,   218,   219,   220,    -1,    -1,
16980      223,   224,   225,   226,   227,    -1,   229,   230,   231,   232,
16981      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
16982      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
16983      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
16984      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
16985      273,   274,    -1,   276,   277,    -1,    -1,   280,   281,   282,
16986       -1,    -1,   285,   286,   287,   288,   289,   290,   291,   292,
16987      293,   294,   295,   296,   297,   298,   299,   300,    -1,   302,
16988      303,   304,   305,   306,   307,   308,   309,    -1,   311,   312,
16989      313,   314,   315,   316,   317,   318,   319,   320,   321,   322,
16990      323,   324,   325,    -1,   327,   328,   329,   330,   331,   332,
16991      333,   334,   335,   336,   337,   338,    -1,   340,   341,   342,
16992      343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
16993      353,   354,   355,   356,   357,    -1,   359,   360,   361,   362,
16994      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
16995      373,   374,    -1,   376,   377,   378,   379,   380,   381,   382,
16996      383,   384,   385,   386,   387,   388,   389,   390,    -1,   392,
16997      393,    -1,   395,   396,   397,   398,   399,   400,   401,    -1,
16998      403,   404,   405,    -1,    -1,   408,   409,   410,   411,   412,
16999      413,   414,   415,   416,   417,   418,   419,   420,   421,    -1,
17000      423,   424,   425,   426,   427,   428,   429,    -1,   431,   432,
17001      433,   434,   435,   436,   437,    -1,   439,   440,   441,   442,
17002      443,   444,    -1,    -1,   447,    -1,    -1,   450,   451,   452,
17003      453,   454,   455,   456,   457,   458,   459,   460,   461,   462,
17004      463,   464,   465,   466,   467,   468,   469,   470,    -1,    -1,
17005       -1,    -1,    -1,    -1,   477,   478,    -1,    -1,    -1,     3,
17006       -1,     5,     6,   486,     8,     9,    10,    11,    12,    -1,
17007       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
17008       24,    25,    26,    27,    -1,    29,    30,    31,    -1,    -1,
17009       -1,    -1,    36,    -1,    -1,    39,    40,    -1,    42,    43,
17010       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
17011       -1,    55,    56,    57,    58,    59,    60,    61,    62,    63,
17012       64,    65,    66,    67,    -1,    69,    70,    71,    72,    73,
17013       -1,    75,    -1,    77,    78,    79,    80,    81,    82,    83,
17014       84,    85,    -1,    87,    88,    89,    90,    91,    92,    -1,
17015       94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
17016      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
17017      114,   115,    -1,   117,   118,   119,   120,   121,   122,    -1,
17018      124,   125,   126,   127,    -1,    -1,   130,   131,   132,   133,
17019      134,    -1,   136,   137,   138,    -1,   140,   141,   142,    -1,
17020      144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
17021      154,   155,    -1,   157,   158,   159,   160,    -1,   162,    -1,
17022      164,   165,    -1,   167,   168,   169,   170,   171,    -1,   173,
17023      174,    -1,   176,   177,   178,    -1,   180,   181,   182,   183,
17024      184,   185,   186,   187,   188,   189,    -1,   191,   192,   193,
17025      194,   195,   196,   197,    -1,   199,   200,   201,   202,   203,
17026      204,   205,   206,   207,    -1,   209,    -1,   211,   212,   213,
17027      214,   215,   216,   217,   218,   219,   220,    -1,    -1,   223,
17028      224,   225,   226,   227,    -1,   229,   230,   231,   232,   233,
17029      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
17030      244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
17031      254,   255,   256,   257,   258,   259,   260,   261,   262,    -1,
17032      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
17033      274,    -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,
17034       -1,   285,   286,   287,   288,   289,   290,   291,   292,   293,
17035      294,   295,   296,   297,   298,   299,   300,    -1,   302,   303,
17036      304,   305,   306,   307,   308,   309,    -1,   311,   312,   313,
17037      314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
17038      324,   325,    -1,   327,   328,   329,   330,   331,   332,   333,
17039      334,   335,   336,   337,   338,    -1,   340,   341,   342,   343,
17040      344,   345,   346,   347,   348,   349,   350,   351,   352,   353,
17041      354,   355,   356,   357,    -1,   359,   360,   361,   362,   363,
17042      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
17043      374,    -1,   376,   377,   378,   379,   380,   381,   382,   383,
17044      384,   385,   386,   387,   388,   389,   390,    -1,   392,   393,
17045       -1,   395,   396,   397,   398,   399,   400,   401,    -1,   403,
17046      404,   405,    -1,    -1,   408,   409,   410,   411,   412,   413,
17047      414,   415,   416,   417,   418,   419,   420,   421,    -1,    -1,
17048      424,   425,   426,   427,   428,   429,    -1,   431,   432,   433,
17049      434,   435,   436,   437,    -1,   439,   440,   441,   442,   443,
17050      444,    -1,    -1,   447,    -1,    -1,   450,   451,   452,   453,
17051      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
17052      464,   465,   466,   467,   468,   469,    -1,    -1,    -1,    -1,
17053       -1,    -1,    -1,   477,   478,    -1,    -1,    -1,     3,    -1,
17054        5,     6,   486,     8,     9,    10,    11,    12,    -1,    -1,
17055       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
17056       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
17057       -1,    36,    -1,    -1,    39,    40,    -1,    42,    43,    44,
17058       45,    46,    47,    48,    49,    50,    51,    52,    53,    -1,
17059       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
17060       65,    66,    67,    -1,    69,    70,    71,    72,    73,    -1,
17061       75,    -1,    77,    78,    79,    80,    81,    82,    83,    84,
17062       85,    -1,    87,    88,    89,    90,    91,    92,    -1,    94,
17063       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
17064      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
17065      115,    -1,   117,   118,   119,   120,   121,   122,    -1,   124,
17066      125,   126,   127,    -1,    -1,   130,   131,   132,   133,   134,
17067       -1,   136,   137,   138,    -1,   140,   141,   142,    -1,   144,
17068      145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
17069      155,    -1,   157,   158,   159,   160,    -1,   162,    -1,   164,
17070      165,    -1,   167,   168,   169,   170,   171,    -1,   173,   174,
17071       -1,   176,   177,   178,    -1,   180,   181,   182,   183,   184,
17072      185,   186,   187,   188,   189,    -1,   191,   192,   193,   194,
17073      195,   196,   197,    -1,   199,   200,   201,   202,   203,   204,
17074      205,   206,   207,    -1,   209,    -1,   211,    -1,    -1,   214,
17075      215,   216,   217,   218,   219,   220,    -1,    -1,   223,   224,
17076      225,   226,   227,    -1,   229,   230,   231,   232,   233,   234,
17077      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
17078      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
17079      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
17080      265,    -1,   267,   268,   269,   270,   271,   272,   273,   274,
17081       -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,
17082      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
17083      295,   296,   297,   298,   299,   300,    -1,   302,   303,   304,
17084      305,   306,   307,   308,   309,    -1,   311,   312,   313,   314,
17085      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
17086      325,    -1,   327,   328,   329,   330,   331,   332,   333,   334,
17087      335,   336,   337,   338,    -1,   340,   341,   342,   343,   344,
17088      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
17089      355,   356,   357,    -1,   359,   360,   361,   362,   363,   364,
17090      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
17091       -1,   376,   377,   378,   379,   380,   381,   382,   383,   384,
17092      385,   386,   387,   388,   389,   390,    -1,   392,   393,    -1,
17093      395,   396,   397,   398,   399,   400,   401,    -1,   403,   404,
17094      405,    -1,    -1,   408,   409,   410,   411,   412,   413,   414,
17095      415,   416,   417,   418,   419,   420,   421,    -1,   423,   424,
17096      425,   426,   427,   428,   429,    -1,   431,   432,   433,   434,
17097      435,   436,   437,    -1,   439,   440,   441,   442,   443,   444,
17098       -1,    -1,   447,    -1,    -1,   450,   451,   452,   453,   454,
17099      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
17100      465,   466,   467,   468,   469,   470,    -1,    -1,    -1,    -1,
17101       -1,    -1,   477,   478,    -1,    -1,    -1,     3,    -1,     5,
17102        6,   486,     8,     9,    10,    11,    12,    -1,    -1,    -1,
17103       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
17104       26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,
17105       36,    -1,    -1,    39,    40,    -1,    42,    43,    44,    45,
17106       46,    47,    48,    49,    50,    51,    52,    53,    -1,    55,
17107       56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
17108       66,    67,    -1,    69,    70,    71,    72,    73,    -1,    75,
17109       -1,    77,    78,    79,    80,    81,    82,    83,    84,    85,
17110       -1,    87,    88,    89,    90,    91,    92,    -1,    94,    95,
17111       96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
17112      106,   107,   108,   109,   110,   111,   112,   113,    -1,   115,
17113       -1,   117,   118,   119,   120,   121,   122,    -1,   124,   125,
17114      126,   127,    -1,    -1,   130,   131,   132,   133,   134,    -1,
17115      136,   137,   138,    -1,   140,   141,   142,    -1,   144,   145,
17116      146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
17117       -1,   157,   158,   159,   160,    -1,   162,    -1,   164,   165,
17118       -1,   167,   168,   169,   170,   171,    -1,   173,   174,    -1,
17119      176,   177,   178,    -1,   180,   181,   182,   183,   184,   185,
17120      186,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
17121      196,   197,    -1,   199,   200,   201,   202,   203,   204,   205,
17122      206,   207,    -1,   209,    -1,   211,   212,   213,   214,   215,
17123      216,   217,   218,   219,   220,    -1,    -1,   223,   224,   225,
17124      226,   227,    -1,   229,   230,   231,   232,   233,   234,   235,
17125      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
17126      246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
17127      256,   257,   258,   259,   260,   261,   262,    -1,   264,   265,
17128      266,   267,   268,   269,   270,   271,   272,   273,   274,    -1,
17129      276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,   285,
17130      286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
17131      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
17132      306,   307,   308,   309,    -1,   311,   312,   313,   314,   315,
17133      316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
17134       -1,   327,   328,   329,   330,   331,   332,   333,   334,   335,
17135      336,   337,   338,    -1,   340,   341,   342,   343,   344,   345,
17136      346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
17137      356,   357,    -1,   359,   360,   361,   362,   363,   364,   365,
17138      366,   367,   368,   369,   370,   371,   372,   373,   374,    -1,
17139      376,   377,   378,   379,   380,   381,   382,   383,   384,   385,
17140      386,   387,   388,   389,   390,    -1,   392,   393,    -1,   395,
17141      396,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
17142       -1,    -1,   408,   409,   410,   411,   412,   413,   414,   415,
17143      416,   417,   418,   419,   420,   421,    -1,    -1,   424,   425,
17144      426,   427,   428,   429,    -1,   431,   432,   433,   434,   435,
17145      436,   437,    -1,   439,   440,   441,   442,   443,   444,    -1,
17146       -1,   447,    -1,    -1,   450,   451,   452,   453,   454,   455,
17147      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
17148      466,   467,   468,   469,    -1,    -1,    -1,    -1,    -1,    -1,
17149       -1,   477,   478,     3,    -1,     5,     6,    -1,     8,     9,
17150      486,    11,    12,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
17151       20,    21,    22,    23,    24,    25,    26,    27,    -1,    29,
17152       30,    31,    -1,    -1,    -1,    -1,    36,    -1,    -1,    39,
17153       40,    -1,    42,    43,    44,    45,    46,    47,    48,    49,
17154       50,    51,    52,    53,    -1,    55,    56,    57,    58,    59,
17155       60,    61,    62,    63,    64,    65,    66,    67,    -1,    69,
17156       70,    71,    72,    73,    -1,    75,    -1,    77,    78,    79,
17157       80,    81,    82,    83,    84,    85,    -1,    87,    88,    89,
17158       90,    91,    92,    -1,    94,    95,    96,    97,    98,    99,
17159      100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
17160      110,   111,   112,   113,    -1,   115,    -1,   117,   118,   119,
17161      120,   121,   122,    -1,   124,   125,   126,   127,    -1,    -1,
17162      130,   131,   132,   133,   134,    -1,   136,   137,   138,    -1,
17163      140,   141,   142,    -1,   144,   145,   146,   147,   148,   149,
17164      150,   151,   152,   153,   154,   155,    -1,   157,   158,   159,
17165      160,    -1,   162,    -1,   164,   165,    -1,   167,   168,   169,
17166      170,   171,    -1,   173,   174,    -1,   176,   177,   178,    -1,
17167      180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
17168       -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
17169      200,   201,   202,   203,   204,   205,   206,   207,    -1,   209,
17170       -1,   211,   212,   213,   214,   215,   216,   217,   218,   219,
17171      220,    -1,    -1,   223,   224,   225,   226,   227,    -1,   229,
17172      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
17173      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
17174      250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
17175      260,   261,   262,    -1,   264,   265,   266,   267,   268,   269,
17176      270,   271,   272,   273,   274,    -1,   276,   277,    -1,    -1,
17177      280,   281,   282,    -1,    -1,   285,   286,   287,   288,   289,
17178      290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
17179      300,    -1,   302,   303,   304,   305,   306,   307,   308,   309,
17180       -1,   311,   312,   313,   314,   315,   316,   317,   318,   319,
17181      320,   321,   322,   323,   324,   325,    -1,   327,   328,   329,
17182      330,   331,   332,   333,   334,   335,   336,   337,   338,    -1,
17183      340,   341,   342,   343,   344,   345,   346,   347,   348,   349,
17184      350,   351,   352,   353,   354,   355,   356,   357,    -1,   359,
17185      360,   361,   362,   363,   364,   365,   366,   367,   368,   369,
17186      370,   371,   372,   373,   374,    -1,   376,   377,   378,   379,
17187      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
17188      390,    -1,   392,   393,    -1,   395,   396,   397,   398,   399,
17189      400,   401,    -1,   403,   404,   405,    -1,    -1,   408,   409,
17190      410,   411,   412,   413,   414,   415,   416,   417,   418,   419,
17191      420,   421,    -1,    -1,   424,   425,   426,   427,   428,   429,
17192       -1,   431,   432,   433,   434,   435,   436,   437,    -1,   439,
17193      440,   441,   442,   443,   444,    -1,    -1,   447,    -1,    -1,
17194      450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
17195      460,   461,   462,   463,   464,   465,   466,   467,   468,   469,
17196       -1,    -1,    -1,    -1,    -1,    -1,    -1,   477,   478,    -1,
17197       -1,    -1,     3,    -1,     5,     6,   486,     8,     9,    10,
17198       11,    12,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
17199       21,    22,    23,    24,    25,    26,    27,    -1,    29,    30,
17200       31,    -1,    -1,    -1,    -1,    36,    -1,    -1,    39,    40,
17201       -1,    42,    43,    44,    45,    46,    47,    48,    49,    50,
17202       51,    52,    53,    -1,    55,    56,    57,    58,    59,    60,
17203       61,    62,    63,    64,    65,    66,    67,    -1,    69,    70,
17204       71,    72,    73,    -1,    75,    -1,    77,    78,    79,    80,
17205       81,    82,    83,    84,    85,    -1,    87,    88,    89,    90,
17206       91,    92,    -1,    94,    95,    96,    97,    98,    99,   100,
17207      101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
17208      111,   112,   113,    -1,   115,    -1,   117,   118,   119,   120,
17209      121,   122,    -1,   124,   125,   126,   127,    -1,    -1,   130,
17210      131,   132,   133,   134,    -1,   136,   137,   138,    -1,   140,
17211      141,   142,    -1,   144,   145,   146,   147,   148,   149,   150,
17212      151,   152,   153,   154,   155,    -1,   157,   158,   159,   160,
17213       -1,   162,    -1,   164,   165,    -1,   167,   168,   169,   170,
17214      171,    -1,   173,   174,    -1,   176,   177,   178,    -1,   180,
17215      181,   182,   183,   184,   185,   186,   187,   188,   189,    -1,
17216      191,   192,   193,   194,   195,   196,   197,    -1,   199,   200,
17217      201,   202,   203,   204,   205,   206,   207,    -1,   209,    -1,
17218      211,    -1,   213,   214,   215,   216,   217,   218,   219,   220,
17219       -1,    -1,   223,   224,   225,   226,   227,    -1,   229,   230,
17220      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
17221      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
17222      251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
17223      261,   262,    -1,   264,   265,   266,   267,   268,   269,   270,
17224      271,   272,   273,   274,    -1,   276,   277,    -1,    -1,   280,
17225      281,   282,    -1,    -1,   285,   286,   287,   288,   289,   290,
17226      291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
17227       -1,   302,   303,   304,   305,   306,   307,   308,   309,    -1,
17228      311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
17229      321,   322,   323,   324,   325,    -1,   327,   328,   329,   330,
17230      331,   332,   333,   334,   335,   336,   337,   338,    -1,   340,
17231      341,   342,   343,   344,   345,   346,   347,   348,   349,   350,
17232      351,   352,   353,   354,   355,   356,   357,    -1,   359,   360,
17233      361,   362,   363,   364,   365,   366,   367,   368,   369,   370,
17234      371,   372,   373,   374,    -1,   376,   377,   378,   379,   380,
17235      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
17236       -1,   392,   393,    -1,   395,   396,   397,   398,   399,   400,
17237      401,    -1,   403,   404,   405,    -1,    -1,   408,   409,   410,
17238      411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
17239      421,    -1,    -1,   424,   425,   426,   427,   428,   429,    -1,
17240      431,   432,   433,   434,   435,   436,   437,    -1,   439,   440,
17241      441,   442,   443,   444,    -1,    -1,   447,    -1,    -1,   450,
17242      451,   452,   453,   454,   455,   456,   457,   458,   459,   460,
17243      461,   462,   463,   464,   465,   466,   467,   468,   469,    -1,
17244       -1,    -1,    -1,    -1,    -1,    -1,   477,   478,     3,    -1,
17245        5,     6,    -1,     8,     9,   486,    11,    12,    -1,    -1,
17246       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
17247       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
17248       -1,    36,    -1,    -1,    39,    40,    -1,    42,    43,    44,
17249       45,    46,    47,    48,    49,    50,    51,    52,    53,    -1,
17250       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
17251       65,    66,    67,    -1,    69,    70,    71,    72,    73,    -1,
17252       75,    -1,    77,    78,    79,    80,    81,    82,    83,    84,
17253       85,    -1,    87,    88,    89,    90,    91,    92,    -1,    94,
17254       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
17255      105,   106,   107,   108,   109,   110,   111,   112,   113,    -1,
17256      115,    -1,   117,   118,   119,   120,   121,   122,    -1,   124,
17257      125,   126,   127,    -1,    -1,   130,   131,   132,   133,   134,
17258       -1,   136,   137,   138,    -1,   140,   141,   142,    -1,   144,
17259      145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
17260      155,    -1,   157,   158,   159,   160,    -1,   162,    -1,   164,
17261      165,    -1,   167,   168,   169,   170,   171,    -1,   173,   174,
17262       -1,   176,   177,   178,    -1,   180,   181,   182,   183,   184,
17263      185,   186,   187,   188,   189,    -1,   191,   192,   193,   194,
17264      195,   196,   197,    -1,   199,   200,   201,   202,   203,   204,
17265      205,   206,   207,    -1,   209,    -1,   211,   212,   213,   214,
17266      215,   216,   217,   218,   219,   220,    -1,    -1,   223,   224,
17267      225,   226,   227,    -1,   229,   230,   231,   232,   233,   234,
17268      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
17269      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
17270      255,   256,   257,   258,   259,   260,   261,   262,    -1,   264,
17271      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
17272       -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,
17273      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
17274      295,   296,   297,   298,   299,   300,    -1,   302,   303,   304,
17275      305,   306,   307,   308,   309,    -1,   311,   312,   313,   314,
17276      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
17277      325,    -1,   327,   328,   329,   330,   331,   332,   333,   334,
17278      335,   336,   337,   338,    -1,   340,   341,   342,   343,   344,
17279      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
17280      355,   356,   357,    -1,   359,   360,   361,   362,   363,   364,
17281      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
17282       -1,   376,   377,   378,   379,   380,   381,   382,   383,   384,
17283      385,   386,   387,   388,   389,   390,    -1,   392,   393,    -1,
17284      395,   396,   397,   398,   399,   400,   401,    -1,   403,   404,
17285      405,    -1,    -1,   408,   409,   410,   411,   412,   413,   414,
17286      415,   416,   417,   418,   419,   420,   421,    -1,    -1,   424,
17287      425,   426,   427,   428,   429,    -1,   431,   432,   433,   434,
17288      435,   436,   437,    -1,   439,   440,   441,   442,   443,   444,
17289       -1,    -1,   447,    -1,    -1,   450,   451,   452,   453,   454,
17290      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
17291      465,   466,   467,   468,   469,     3,    -1,     5,     6,    -1,
17292        8,     9,    -1,    11,    12,    -1,    -1,    -1,    -1,    -1,
17293       -1,   486,    20,    21,    22,    23,    24,    25,    26,    27,
17294       -1,    29,    30,    31,    -1,    -1,    -1,    -1,    36,    -1,
17295       -1,    39,    40,    -1,    42,    43,    44,    45,    46,    47,
17296       48,    49,    50,    51,    52,    53,    -1,    55,    56,    57,
17297       58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
17298       -1,    69,    70,    71,    72,    73,    -1,    75,    -1,    77,
17299       78,    79,    80,    81,    82,    83,    84,    85,    -1,    87,
17300       88,    89,    90,    91,    92,    -1,    94,    95,    96,    97,
17301       98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
17302      108,   109,   110,   111,   112,   113,    -1,   115,    -1,   117,
17303      118,   119,   120,   121,   122,    -1,   124,   125,   126,   127,
17304       -1,    -1,   130,   131,   132,   133,   134,    -1,   136,   137,
17305      138,    -1,   140,   141,   142,    -1,   144,   145,   146,   147,
17306      148,   149,   150,   151,   152,   153,   154,   155,    -1,   157,
17307      158,   159,   160,    -1,   162,    -1,   164,   165,    -1,   167,
17308      168,   169,   170,   171,    -1,   173,   174,    -1,   176,   177,
17309      178,    -1,   180,   181,   182,   183,   184,   185,   186,   187,
17310      188,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
17311       -1,   199,   200,   201,   202,   203,   204,   205,   206,   207,
17312       -1,   209,    -1,   211,   212,   213,   214,   215,   216,   217,
17313      218,   219,   220,    -1,    -1,   223,   224,   225,   226,   227,
17314       -1,   229,   230,   231,   232,   233,   234,   235,   236,   237,
17315      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
17316      248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
17317      258,   259,   260,   261,   262,    -1,   264,   265,   266,   267,
17318      268,   269,   270,   271,   272,   273,   274,    -1,   276,   277,
17319       -1,    -1,   280,   281,   282,    -1,    -1,   285,   286,   287,
17320      288,   289,   290,   291,   292,   293,   294,   295,   296,   297,
17321      298,   299,   300,    -1,   302,   303,   304,   305,   306,   307,
17322      308,   309,    -1,   311,   312,   313,   314,   315,   316,   317,
17323      318,   319,   320,   321,   322,   323,   324,   325,    -1,   327,
17324      328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
17325      338,    -1,   340,   341,   342,   343,   344,   345,   346,   347,
17326      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
17327       -1,   359,   360,   361,   362,   363,   364,   365,   366,   367,
17328      368,   369,   370,   371,   372,   373,   374,    -1,   376,   377,
17329      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
17330      388,   389,   390,    -1,   392,   393,    -1,   395,   396,   397,
17331      398,   399,   400,   401,    -1,   403,   404,   405,    -1,    -1,
17332      408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
17333      418,   419,   420,   421,    -1,    -1,   424,   425,   426,   427,
17334      428,   429,    -1,   431,   432,   433,   434,   435,   436,   437,
17335       -1,   439,   440,   441,   442,   443,   444,    -1,    -1,   447,
17336       -1,    -1,   450,   451,   452,   453,   454,   455,   456,   457,
17337      458,   459,   460,   461,   462,   463,   464,   465,   466,   467,
17338      468,   469,     3,    -1,     5,     6,    -1,     8,     9,    -1,
17339       11,    12,    -1,    -1,    -1,    -1,    -1,    -1,   486,    20,
17340       21,    22,    23,    24,    25,    26,    27,    -1,    29,    30,
17341       31,    -1,    -1,    -1,    -1,    36,    -1,    -1,    39,    40,
17342       -1,    42,    43,    44,    45,    46,    47,    48,    49,    50,
17343       51,    52,    53,    -1,    55,    56,    57,    58,    59,    60,
17344       61,    62,    63,    64,    65,    66,    67,    -1,    69,    70,
17345       71,    72,    73,    -1,    75,    -1,    77,    78,    79,    80,
17346       81,    82,    83,    84,    85,    -1,    87,    88,    89,    90,
17347       91,    92,    -1,    94,    95,    96,    97,    98,    99,   100,
17348      101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
17349      111,   112,   113,    -1,   115,    -1,   117,   118,   119,   120,
17350      121,   122,    -1,   124,   125,   126,   127,    -1,    -1,   130,
17351      131,   132,   133,   134,    -1,   136,   137,   138,    -1,   140,
17352      141,   142,    -1,   144,   145,   146,   147,   148,   149,   150,
17353      151,   152,   153,   154,   155,    -1,   157,   158,   159,   160,
17354       -1,   162,    -1,   164,   165,    -1,   167,   168,   169,   170,
17355      171,    -1,   173,   174,    -1,   176,   177,   178,    -1,   180,
17356      181,   182,   183,   184,   185,   186,   187,   188,   189,    -1,
17357      191,   192,   193,   194,   195,   196,   197,    -1,   199,   200,
17358      201,   202,   203,   204,   205,   206,   207,    -1,   209,    -1,
17359      211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
17360       -1,    -1,   223,   224,   225,   226,   227,    -1,   229,   230,
17361      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
17362      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
17363      251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
17364      261,   262,    -1,   264,   265,   266,   267,   268,   269,   270,
17365      271,   272,   273,   274,    -1,   276,   277,    -1,    -1,   280,
17366      281,   282,    -1,    -1,   285,   286,   287,   288,   289,   290,
17367      291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
17368       -1,   302,   303,   304,   305,   306,   307,   308,   309,    -1,
17369      311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
17370      321,   322,   323,   324,   325,    -1,   327,   328,   329,   330,
17371      331,   332,   333,   334,   335,   336,   337,   338,    -1,   340,
17372      341,   342,   343,   344,   345,   346,   347,   348,   349,   350,
17373      351,   352,   353,   354,   355,   356,   357,    -1,   359,   360,
17374      361,   362,   363,   364,   365,   366,   367,   368,   369,   370,
17375      371,   372,   373,   374,    -1,   376,   377,   378,   379,   380,
17376      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
17377       -1,   392,   393,    -1,   395,   396,   397,   398,   399,   400,
17378      401,    -1,   403,   404,   405,    -1,    -1,   408,   409,   410,
17379      411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
17380      421,    -1,    -1,   424,   425,   426,   427,   428,   429,    -1,
17381      431,   432,   433,   434,   435,   436,   437,    -1,   439,   440,
17382      441,   442,   443,   444,    -1,    -1,   447,    -1,    -1,   450,
17383      451,   452,   453,   454,   455,   456,   457,   458,   459,   460,
17384      461,   462,   463,   464,   465,   466,   467,   468,   469,     3,
17385       -1,     5,     6,    -1,     8,     9,    10,    11,    12,    -1,
17386       -1,    -1,    -1,    -1,    -1,   486,    20,    21,    22,    23,
17387       24,    25,    26,    27,    -1,    29,    30,    31,    -1,    -1,
17388       -1,    -1,    36,    -1,    -1,    39,    40,    -1,    42,    43,
17389       44,    45,    46,    47,    48,    -1,    50,    51,    52,    53,
17390       -1,    55,    56,    57,    58,    59,    60,    61,    62,    63,
17391       64,    65,    66,    67,    -1,    69,    70,    71,    72,    73,
17392       -1,    75,    -1,    77,    78,    79,    80,    81,    82,    83,
17393       84,    85,    -1,    87,    88,    89,    90,    91,    92,    -1,
17394       94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
17395      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
17396      114,   115,    -1,   117,   118,   119,   120,   121,   122,    -1,
17397      124,   125,   126,   127,    -1,    -1,   130,   131,   132,   133,
17398      134,    -1,   136,   137,   138,    -1,   140,    -1,   142,    -1,
17399      144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
17400      154,   155,    -1,   157,   158,   159,   160,    -1,   162,    -1,
17401      164,   165,    -1,   167,   168,   169,   170,   171,    -1,   173,
17402      174,    -1,   176,   177,   178,    -1,   180,   181,   182,   183,
17403      184,    -1,   186,   187,   188,   189,    -1,   191,   192,   193,
17404      194,   195,   196,   197,    -1,   199,   200,   201,   202,   203,
17405      204,   205,   206,   207,    -1,   209,    -1,   211,    -1,    -1,
17406      214,   215,   216,   217,   218,   219,   220,    -1,    -1,   223,
17407      224,   225,   226,    -1,    -1,   229,   230,   231,   232,   233,
17408      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
17409      244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
17410      254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
17411      264,   265,    -1,   267,   268,   269,   270,   271,   272,   273,
17412      274,    -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,
17413       -1,   285,   286,   287,   288,   289,   290,   291,   292,   293,
17414      294,   295,   296,   297,   298,   299,   300,    -1,   302,   303,
17415      304,   305,   306,   307,   308,   309,    -1,   311,   312,   313,
17416      314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
17417      324,   325,    -1,   327,   328,   329,   330,   331,   332,   333,
17418      334,   335,   336,   337,   338,    -1,   340,   341,   342,   343,
17419      344,   345,   346,   347,   348,   349,   350,   351,   352,   353,
17420      354,   355,   356,   357,    -1,   359,   360,   361,   362,   363,
17421      364,   365,   366,   367,   368,   369,    -1,   371,   372,   373,
17422      374,    -1,   376,   377,   378,   379,   380,   381,   382,   383,
17423      384,   385,   386,   387,   388,   389,   390,    -1,   392,   393,
17424       -1,   395,   396,   397,   398,   399,   400,   401,    -1,   403,
17425      404,   405,    -1,    -1,   408,   409,   410,   411,   412,   413,
17426      414,   415,   416,   417,   418,   419,   420,   421,    -1,   423,
17427      424,   425,   426,   427,   428,   429,    -1,   431,   432,   433,
17428      434,   435,   436,   437,    -1,   439,   440,   441,   442,   443,
17429      444,    -1,    -1,   447,    -1,    -1,   450,   451,   452,   453,
17430      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
17431      464,   465,   466,   467,   468,   469,     3,    -1,    -1,    -1,
17432       -1,    -1,    -1,   477,   478,    -1,    -1,    -1,    -1,    -1,
17433       -1,    -1,   486,    20,    21,    22,    23,    24,    25,    26,
17434       27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
17435       -1,    -1,    39,    40,    -1,    42,    43,    44,    45,    46,
17436       47,    48,    49,    50,    51,    52,    53,    -1,    55,    56,
17437       57,    58,    59,    60,    -1,    62,    63,    64,    65,    66,
17438       67,    -1,    69,    70,    71,    72,    73,    -1,    75,    -1,
17439       77,    78,    79,    80,    81,    82,    83,    84,    85,    -1,
17440       87,    88,    89,    90,    91,    92,    -1,    94,    95,    96,
17441       97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
17442      107,   108,   109,   110,   111,   112,   113,    -1,   115,    -1,
17443      117,   118,   119,   120,   121,   122,    -1,   124,   125,   126,
17444      127,    -1,    -1,   130,   131,   132,   133,   134,    -1,   136,
17445      137,   138,    -1,   140,   141,   142,    -1,   144,   145,   146,
17446      147,   148,   149,   150,   151,   152,   153,    -1,   155,    -1,
17447      157,   158,   159,   160,    -1,   162,    -1,   164,   165,    -1,
17448      167,   168,   169,   170,   171,    -1,   173,   174,    -1,   176,
17449      177,   178,    -1,   180,   181,   182,   183,   184,   185,   186,
17450      187,   188,   189,    -1,   191,   192,   193,   194,   195,   196,
17451      197,    -1,   199,   200,   201,   202,   203,   204,   205,   206,
17452      207,    -1,   209,    -1,   211,   212,   213,   214,   215,   216,
17453      217,   218,   219,   220,   221,    -1,   223,   224,   225,   226,
17454      227,    -1,   229,   230,   231,   232,   233,   234,   235,   236,
17455      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
17456      247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
17457      257,   258,   259,   260,   261,   262,    -1,   264,   265,   266,
17458      267,    -1,   269,   270,   271,   272,   273,   274,    -1,   276,
17459      277,    -1,   279,   280,   281,   282,    -1,    -1,   285,   286,
17460      287,   288,   289,   290,   291,   292,   293,   294,   295,   296,
17461      297,   298,   299,   300,    -1,   302,   303,   304,   305,   306,
17462      307,   308,   309,    -1,   311,   312,   313,   314,   315,   316,
17463      317,   318,   319,   320,   321,   322,   323,   324,   325,    -1,
17464      327,   328,   329,   330,   331,   332,   333,   334,   335,   336,
17465      337,   338,    -1,   340,   341,   342,   343,   344,   345,   346,
17466      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
17467      357,   358,   359,   360,   361,   362,   363,   364,   365,   366,
17468      367,   368,   369,   370,   371,   372,   373,   374,    -1,   376,
17469      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
17470      387,   388,   389,   390,    -1,   392,   393,   394,   395,   396,
17471      397,   398,   399,   400,   401,    -1,   403,   404,   405,    -1,
17472       -1,   408,   409,   410,   411,   412,    -1,   414,   415,   416,
17473      417,   418,   419,   420,   421,    -1,    -1,   424,   425,   426,
17474      427,   428,   429,    -1,   431,   432,   433,   434,   435,   436,
17475      437,    -1,   439,   440,   441,   442,   443,   444,    -1,    -1,
17476      447,    -1,   449,   450,   451,   452,   453,   454,   455,   456,
17477      457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
17478      467,   468,   469,     3,    -1,   472,    -1,    -1,    -1,    -1,
17479       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   486,
17480       20,    21,    22,    23,    24,    25,    26,    27,    -1,    29,
17481       30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,
17482       40,    -1,    42,    43,    44,    45,    46,    47,    48,    49,
17483       50,    51,    52,    53,    -1,    55,    56,    57,    58,    59,
17484       60,    -1,    62,    63,    64,    65,    66,    67,    -1,    69,
17485       70,    71,    72,    73,    -1,    75,    -1,    77,    78,    79,
17486       80,    81,    82,    83,    84,    85,    -1,    87,    88,    89,
17487       90,    91,    92,    -1,    94,    95,    96,    97,    98,    99,
17488      100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
17489      110,   111,   112,   113,    -1,   115,    -1,   117,   118,   119,
17490      120,   121,   122,    -1,   124,   125,   126,   127,    -1,    -1,
17491      130,   131,   132,   133,   134,    -1,   136,   137,   138,    -1,
17492      140,   141,   142,    -1,   144,   145,   146,   147,   148,   149,
17493      150,   151,   152,   153,    -1,   155,    -1,   157,   158,   159,
17494      160,    -1,   162,    -1,   164,   165,    -1,   167,   168,   169,
17495      170,   171,    -1,   173,   174,    -1,   176,   177,   178,    -1,
17496      180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
17497       -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
17498      200,   201,   202,   203,   204,   205,   206,   207,    -1,   209,
17499       -1,   211,   212,   213,   214,   215,   216,   217,   218,   219,
17500      220,   221,    -1,   223,   224,   225,   226,   227,    -1,   229,
17501      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
17502      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
17503      250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
17504      260,   261,   262,    -1,   264,   265,   266,   267,    -1,   269,
17505      270,   271,   272,   273,   274,    -1,   276,   277,    -1,   279,
17506      280,   281,   282,    -1,    -1,   285,   286,   287,   288,   289,
17507      290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
17508      300,    -1,   302,   303,   304,   305,   306,   307,   308,   309,
17509       -1,   311,   312,   313,   314,   315,   316,   317,   318,   319,
17510      320,   321,   322,   323,   324,   325,    -1,   327,   328,   329,
17511      330,   331,   332,   333,   334,   335,   336,   337,   338,    -1,
17512      340,   341,   342,   343,   344,   345,   346,   347,   348,   349,
17513      350,   351,   352,   353,   354,   355,   356,   357,    -1,   359,
17514      360,   361,   362,   363,   364,   365,   366,   367,   368,   369,
17515      370,   371,   372,   373,   374,    -1,   376,   377,   378,   379,
17516      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
17517      390,    -1,   392,   393,    -1,   395,   396,   397,   398,   399,
17518      400,   401,    -1,   403,   404,   405,    -1,    -1,   408,   409,
17519      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
17520      420,   421,    -1,    -1,   424,   425,   426,   427,   428,   429,
17521       -1,   431,   432,   433,   434,   435,   436,   437,    -1,   439,
17522      440,   441,   442,   443,   444,    -1,    -1,   447,    -1,    -1,
17523      450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
17524      460,   461,   462,   463,   464,   465,   466,   467,   468,   469,
17525        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
17526       -1,    -1,    -1,    -1,    -1,    -1,   486,    20,    21,    22,
17527       23,    24,    25,    26,    27,    -1,    29,    30,    31,    -1,
17528       -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    42,
17529       43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
17530       53,    -1,    55,    56,    57,    58,    59,    60,    -1,    62,
17531       63,    64,    65,    66,    67,    -1,    69,    70,    71,    72,
17532       73,    -1,    75,    -1,    77,    78,    79,    80,    81,    82,
17533       83,    84,    85,    -1,    87,    88,    89,    90,    91,    92,
17534       -1,    94,    95,    96,    97,    98,    99,   100,   101,   102,
17535      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
17536      113,    -1,   115,    -1,   117,   118,   119,   120,   121,   122,
17537       -1,   124,   125,   126,   127,    -1,    -1,   130,   131,   132,
17538      133,   134,    -1,   136,   137,   138,    -1,   140,   141,   142,
17539       -1,   144,   145,   146,   147,   148,   149,   150,   151,   152,
17540      153,    -1,   155,    -1,   157,   158,   159,   160,    -1,   162,
17541       -1,   164,   165,    -1,   167,   168,   169,   170,   171,    -1,
17542      173,   174,    -1,   176,   177,   178,    -1,   180,   181,   182,
17543      183,   184,   185,   186,   187,   188,   189,    -1,   191,   192,
17544      193,   194,   195,   196,   197,    -1,   199,   200,   201,   202,
17545      203,   204,   205,   206,   207,    -1,   209,    -1,   211,   212,
17546      213,   214,   215,   216,   217,   218,   219,   220,    -1,    -1,
17547      223,   224,   225,   226,   227,    -1,   229,   230,   231,   232,
17548      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
17549      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
17550      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
17551       -1,   264,   265,   266,   267,    -1,   269,   270,   271,   272,
17552      273,   274,    -1,   276,   277,    -1,    -1,   280,   281,   282,
17553       -1,    -1,   285,   286,   287,   288,   289,   290,   291,   292,
17554      293,   294,   295,   296,   297,   298,   299,   300,    -1,   302,
17555      303,   304,   305,   306,   307,   308,   309,    -1,   311,   312,
17556      313,   314,   315,   316,   317,   318,   319,   320,   321,   322,
17557      323,   324,   325,    -1,   327,   328,   329,   330,   331,   332,
17558      333,   334,   335,   336,   337,   338,    -1,   340,   341,   342,
17559      343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
17560      353,   354,   355,   356,   357,    -1,   359,   360,   361,   362,
17561      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
17562      373,   374,    -1,   376,   377,   378,   379,   380,   381,   382,
17563      383,   384,   385,   386,   387,   388,   389,   390,    -1,   392,
17564      393,    -1,   395,   396,   397,   398,   399,   400,   401,    -1,
17565      403,   404,   405,    -1,    -1,   408,   409,   410,   411,   412,
17566       -1,   414,   415,   416,   417,   418,   419,   420,   421,    -1,
17567       -1,   424,   425,   426,   427,   428,   429,    -1,   431,   432,
17568      433,   434,   435,   436,   437,    -1,   439,   440,   441,   442,
17569      443,   444,    -1,    -1,   447,    -1,    -1,   450,   451,   452,
17570      453,   454,   455,   456,   457,   458,   459,   460,   461,   462,
17571      463,   464,   465,   466,   467,   468,   469,     3,    -1,    -1,
17572       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
17573       -1,    -1,    -1,   486,    20,    21,    22,    23,    24,    25,
17574       26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,
17575       -1,    -1,    -1,    39,    40,    -1,    42,    43,    44,    45,
17576       46,    47,    48,    49,    50,    51,    52,    53,    -1,    55,
17577       56,    57,    58,    59,    60,    -1,    62,    63,    64,    65,
17578       66,    67,    -1,    69,    70,    71,    72,    73,    -1,    75,
17579       -1,    77,    78,    79,    80,    81,    82,    83,    84,    85,
17580       -1,    87,    88,    89,    90,    91,    92,    -1,    94,    95,
17581       96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
17582      106,   107,   108,   109,   110,   111,   112,   113,    -1,   115,
17583       -1,   117,   118,   119,   120,   121,   122,    -1,   124,   125,
17584      126,   127,    -1,    -1,   130,   131,   132,   133,   134,    -1,
17585      136,   137,   138,    -1,   140,   141,   142,    -1,   144,   145,
17586      146,   147,   148,   149,   150,   151,   152,   153,    -1,   155,
17587       -1,   157,   158,   159,   160,    -1,   162,    -1,   164,   165,
17588       -1,   167,   168,   169,   170,   171,    -1,   173,   174,    -1,
17589      176,   177,   178,    -1,   180,   181,   182,   183,   184,   185,
17590      186,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
17591      196,   197,    -1,   199,   200,   201,   202,   203,   204,   205,
17592      206,   207,    -1,   209,    -1,   211,   212,   213,   214,   215,
17593      216,   217,   218,   219,   220,    -1,    -1,   223,   224,   225,
17594      226,   227,    -1,   229,   230,   231,   232,   233,   234,   235,
17595      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
17596      246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
17597      256,   257,   258,   259,   260,   261,   262,    -1,   264,   265,
17598      266,   267,    -1,   269,   270,   271,   272,   273,   274,    -1,
17599      276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,   285,
17600      286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
17601      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
17602      306,   307,   308,   309,    -1,   311,   312,   313,   314,   315,
17603      316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
17604       -1,   327,   328,   329,   330,   331,   332,   333,   334,   335,
17605      336,   337,   338,    -1,   340,   341,   342,   343,   344,   345,
17606      346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
17607      356,   357,    -1,   359,   360,   361,   362,   363,   364,   365,
17608      366,   367,   368,   369,   370,   371,   372,   373,   374,    -1,
17609      376,   377,   378,   379,   380,   381,   382,   383,   384,   385,
17610      386,   387,   388,   389,   390,    -1,   392,   393,    -1,   395,
17611      396,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
17612       -1,    -1,   408,   409,   410,   411,   412,    -1,   414,   415,
17613      416,   417,   418,   419,   420,   421,    -1,    -1,   424,   425,
17614      426,   427,   428,   429,    -1,   431,   432,   433,   434,   435,
17615      436,   437,    -1,   439,   440,   441,   442,   443,   444,    -1,
17616       -1,   447,    -1,    -1,   450,   451,   452,   453,   454,   455,
17617      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
17618      466,   467,   468,   469,     3,    -1,    -1,    -1,    -1,    -1,
17619       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
17620      486,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
17621       29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
17622       39,    40,    -1,    42,    43,    44,    45,    46,    47,    48,
17623       49,    50,    51,    52,    53,    -1,    55,    56,    57,    58,
17624       59,    60,    -1,    62,    63,    64,    65,    66,    67,    -1,
17625       69,    70,    71,    72,    73,    -1,    75,    -1,    77,    78,
17626       79,    80,    81,    82,    83,    84,    85,    -1,    87,    88,
17627       89,    90,    91,    92,    -1,    94,    95,    96,    97,    98,
17628       99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
17629      109,   110,   111,   112,   113,    -1,   115,    -1,   117,   118,
17630      119,   120,   121,   122,    -1,   124,   125,   126,   127,    -1,
17631       -1,   130,   131,   132,   133,   134,    -1,   136,   137,   138,
17632       -1,   140,   141,   142,    -1,   144,   145,   146,   147,   148,
17633      149,   150,   151,   152,   153,    -1,   155,    -1,   157,   158,
17634      159,   160,    -1,   162,    -1,   164,   165,    -1,   167,   168,
17635      169,   170,   171,    -1,   173,   174,    -1,   176,   177,   178,
17636       -1,   180,   181,   182,   183,   184,   185,   186,   187,   188,
17637      189,    -1,   191,   192,   193,   194,   195,   196,   197,    -1,
17638      199,   200,   201,   202,   203,   204,   205,   206,   207,    -1,
17639      209,    -1,   211,   212,   213,   214,   215,   216,   217,   218,
17640      219,   220,    -1,    -1,   223,   224,   225,   226,   227,    -1,
17641      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
17642      239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
17643      249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
17644      259,   260,   261,   262,    -1,   264,   265,   266,   267,    -1,
17645      269,   270,   271,   272,   273,   274,    -1,   276,   277,    -1,
17646       -1,   280,   281,   282,    -1,    -1,   285,   286,   287,   288,
17647      289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
17648      299,   300,    -1,   302,   303,   304,   305,   306,   307,   308,
17649      309,    -1,   311,   312,   313,   314,   315,   316,   317,   318,
17650      319,   320,   321,   322,   323,   324,   325,    -1,   327,   328,
17651      329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
17652       -1,   340,   341,   342,   343,   344,   345,   346,   347,   348,
17653      349,   350,   351,   352,   353,   354,   355,   356,   357,    -1,
17654      359,   360,   361,   362,   363,   364,   365,   366,   367,   368,
17655      369,   370,   371,   372,   373,   374,    -1,   376,   377,   378,
17656      379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
17657      389,   390,    -1,   392,   393,    -1,   395,   396,   397,   398,
17658      399,   400,   401,    -1,   403,   404,   405,    -1,    -1,   408,
17659      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
17660      419,   420,   421,    -1,    -1,   424,   425,   426,   427,   428,
17661      429,    -1,   431,   432,   433,   434,   435,   436,   437,    -1,
17662      439,   440,   441,   442,   443,   444,    -1,    -1,   447,    -1,
17663       -1,   450,   451,   452,   453,   454,   455,   456,   457,   458,
17664      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
17665      469,     3,    -1,     5,     6,    -1,    -1,    -1,    -1,    11,
17666       -1,    -1,    -1,    -1,    -1,    -1,    -1,   486,    20,    21,
17667       22,    23,    24,    25,    26,    27,    -1,    29,    30,    31,
17668       -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,
17669       42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
17670       52,    53,    -1,    55,    56,    57,    58,    59,    60,    -1,
17671       -1,    63,    64,    65,    66,    67,    -1,    69,    70,    71,
17672       72,    73,    -1,    75,    -1,    77,    78,    79,    80,    81,
17673       82,    83,    84,    85,    -1,    87,    88,    89,    90,    91,
17674       92,    -1,    94,    95,    96,    97,    -1,    -1,    -1,   101,
17675       -1,    -1,    -1,   105,   106,   107,   108,   109,   110,   111,
17676      112,   113,    -1,   115,    -1,   117,   118,   119,   120,   121,
17677      122,    -1,   124,   125,   126,   127,    -1,    -1,   130,   131,
17678      132,   133,   134,    -1,   136,   137,   138,    -1,   140,   141,
17679      142,    -1,   144,   145,   146,   147,   148,   149,   150,   151,
17680      152,   153,   154,   155,    -1,   157,   158,   159,   160,    -1,
17681      162,    -1,   164,   165,    -1,   167,   168,   169,   170,   171,
17682       -1,   173,   174,    -1,   176,   177,   178,    -1,   180,   181,
17683      182,   183,   184,   185,   186,   187,   188,   189,    -1,   191,
17684      192,   193,   194,   195,   196,   197,    -1,   199,   200,   201,
17685      202,   203,   204,   205,   206,   207,    -1,   209,    -1,   211,
17686      212,   213,   214,   215,   216,   217,   218,   219,   220,    -1,
17687       -1,   223,   224,   225,   226,   227,    -1,   229,   230,   231,
17688       -1,    -1,   234,   235,   236,   237,   238,   239,   240,   241,
17689      242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
17690      252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
17691      262,    -1,   264,   265,   266,   267,    -1,   269,   270,   271,
17692      272,   273,   274,    -1,   276,   277,   278,    -1,   280,   281,
17693      282,    -1,    -1,   285,   286,   287,   288,   289,   290,   291,
17694      292,   293,   294,   295,   296,   297,   298,   299,   300,    -1,
17695      302,   303,   304,   305,   306,   307,   308,   309,    -1,   311,
17696      312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
17697      322,   323,   324,   325,    -1,   327,   328,   329,   330,   331,
17698      332,   333,   334,   335,   336,   337,   338,    -1,   340,   341,
17699      342,   343,   344,   345,   346,   347,   348,   349,   350,   351,
17700      352,   353,   354,   355,   356,   357,    -1,   359,   360,   361,
17701      362,   363,    -1,   365,   366,   367,   368,   369,   370,   371,
17702      372,   373,   374,    -1,   376,   377,   378,   379,   380,   381,
17703      382,   383,   384,   385,   386,   387,   388,   389,   390,    -1,
17704      392,   393,    -1,   395,   396,   397,   398,   399,   400,   401,
17705       -1,   403,   404,   405,    -1,    -1,   408,   409,   410,   411,
17706      412,   413,   414,   415,   416,   417,   418,   419,   420,   421,
17707       -1,    -1,   424,   425,   426,   427,   428,    -1,    -1,   431,
17708      432,   433,   434,   435,   436,   437,    -1,   439,   440,   441,
17709      442,   443,   444,    -1,    -1,   447,    -1,    -1,   450,   451,
17710      452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
17711      462,   463,   464,   465,   466,   467,   468,   469,     3,    -1,
17712       -1,    -1,    -1,    -1,    -1,   477,   478,   479,    -1,    -1,
17713       -1,    -1,    -1,    -1,   486,    20,    21,    22,    23,    24,
17714       25,    26,    27,    -1,    29,    30,    31,    32,    33,    -1,
17715       -1,    -1,    -1,    -1,    39,    40,    -1,    42,    43,    44,
17716       45,    46,    47,    48,    49,    50,    51,    52,    53,    -1,
17717       55,    56,    57,    58,    59,    60,    -1,    -1,    63,    64,
17718       65,    66,    67,    -1,    69,    70,    71,    72,    73,    -1,
17719       75,    -1,    77,    78,    79,    80,    81,    82,    83,    84,
17720       85,    -1,    87,    88,    89,    90,    91,    92,    -1,    94,
17721       95,    96,    97,    -1,    -1,    -1,   101,    -1,    -1,    -1,
17722      105,   106,   107,   108,   109,   110,   111,   112,   113,    -1,
17723      115,    -1,   117,   118,   119,   120,   121,   122,    -1,   124,
17724      125,   126,   127,    -1,    -1,   130,   131,   132,   133,   134,
17725       -1,   136,   137,   138,    -1,   140,   141,   142,    -1,   144,
17726      145,   146,   147,   148,   149,   150,   151,   152,   153,    -1,
17727      155,    -1,   157,   158,   159,   160,    -1,   162,    -1,   164,
17728      165,    -1,   167,   168,   169,   170,   171,    -1,   173,   174,
17729       -1,   176,   177,   178,    -1,   180,   181,   182,   183,   184,
17730      185,   186,   187,   188,   189,    -1,   191,   192,   193,   194,
17731      195,   196,   197,    -1,   199,   200,   201,   202,   203,   204,
17732      205,   206,   207,    -1,   209,    -1,   211,   212,   213,   214,
17733      215,   216,   217,   218,   219,   220,    -1,    -1,   223,   224,
17734      225,   226,   227,    -1,   229,   230,   231,    -1,    -1,   234,
17735      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
17736      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
17737      255,   256,   257,   258,   259,   260,   261,   262,    -1,   264,
17738      265,   266,   267,    -1,   269,   270,   271,   272,   273,   274,
17739       -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,
17740      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
17741      295,   296,   297,   298,   299,   300,    -1,   302,   303,   304,
17742      305,   306,   307,   308,   309,    -1,   311,   312,   313,   314,
17743      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
17744      325,    -1,   327,   328,   329,   330,   331,   332,   333,   334,
17745      335,   336,   337,   338,    -1,   340,   341,   342,   343,   344,
17746      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
17747      355,   356,   357,   358,   359,   360,   361,   362,   363,    -1,
17748      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
17749       -1,   376,   377,   378,   379,   380,   381,   382,   383,   384,
17750      385,   386,   387,   388,   389,   390,    -1,   392,   393,   394,
17751      395,   396,   397,   398,   399,   400,   401,    -1,   403,   404,
17752      405,    -1,    -1,   408,   409,   410,   411,   412,    -1,   414,
17753      415,   416,   417,   418,   419,   420,   421,    -1,    -1,   424,
17754      425,   426,   427,   428,    -1,    -1,   431,   432,   433,   434,
17755      435,   436,   437,    -1,   439,   440,   441,   442,   443,   444,
17756       -1,    -1,   447,    -1,   449,   450,   451,   452,   453,   454,
17757      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
17758      465,   466,   467,   468,   469,     3,    -1,   472,    -1,    -1,
17759       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
17760       -1,   486,    20,    21,    22,    23,    24,    25,    26,    27,
17761       -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,
17762       -1,    39,    40,    -1,    42,    43,    44,    45,    46,    47,
17763       48,    49,    50,    51,    52,    53,    -1,    55,    56,    57,
17764       58,    59,    60,    -1,    -1,    63,    64,    65,    66,    67,
17765       -1,    69,    70,    71,    72,    73,    -1,    75,    -1,    77,
17766       78,    79,    80,    81,    82,    83,    84,    85,    -1,    87,
17767       88,    89,    90,    91,    92,    -1,    94,    95,    96,    97,
17768       -1,    -1,    -1,   101,    -1,    -1,    -1,   105,   106,   107,
17769      108,   109,   110,   111,   112,   113,    -1,   115,    -1,   117,
17770      118,   119,   120,   121,   122,    -1,   124,   125,   126,   127,
17771       -1,    -1,   130,   131,   132,   133,   134,    -1,   136,   137,
17772      138,    -1,   140,   141,   142,    -1,   144,   145,   146,   147,
17773      148,   149,   150,   151,   152,   153,    -1,   155,    -1,   157,
17774      158,   159,   160,    -1,   162,    -1,   164,   165,    -1,   167,
17775      168,   169,   170,   171,    -1,   173,   174,    -1,   176,   177,
17776      178,    -1,   180,   181,   182,   183,   184,   185,   186,   187,
17777      188,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
17778       -1,   199,   200,   201,   202,   203,   204,   205,   206,   207,
17779       -1,   209,    -1,   211,   212,   213,   214,   215,   216,   217,
17780      218,   219,   220,    -1,    -1,   223,   224,   225,   226,   227,
17781       -1,   229,   230,   231,    -1,    -1,   234,   235,   236,   237,
17782      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
17783      248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
17784      258,   259,   260,   261,   262,    -1,   264,   265,   266,   267,
17785       -1,   269,   270,   271,   272,   273,   274,    -1,   276,   277,
17786       -1,    -1,   280,   281,   282,    -1,    -1,   285,   286,   287,
17787      288,   289,   290,   291,   292,   293,   294,   295,   296,   297,
17788      298,   299,   300,    -1,   302,   303,   304,   305,   306,   307,
17789      308,   309,    -1,   311,   312,   313,   314,   315,   316,   317,
17790      318,   319,   320,   321,   322,   323,   324,   325,    -1,   327,
17791      328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
17792      338,    -1,   340,   341,   342,   343,   344,   345,   346,   347,
17793      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
17794       -1,   359,   360,   361,   362,   363,    -1,   365,   366,   367,
17795      368,   369,   370,   371,   372,   373,   374,    -1,   376,   377,
17796      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
17797      388,   389,   390,    -1,   392,   393,    -1,   395,   396,   397,
17798      398,   399,   400,   401,    -1,   403,   404,   405,    -1,    -1,
17799      408,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
17800      418,   419,   420,   421,    -1,    -1,   424,   425,   426,   427,
17801      428,    -1,    -1,   431,   432,   433,   434,   435,   436,   437,
17802       -1,   439,   440,   441,   442,   443,   444,    -1,    -1,   447,
17803       -1,    -1,   450,   451,   452,   453,   454,   455,   456,   457,
17804      458,   459,   460,   461,   462,   463,   464,   465,   466,   467,
17805      468,   469,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
17806       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   486,    20,
17807       21,    22,    23,    24,    25,    26,    27,    -1,    29,    30,
17808       31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,
17809       -1,    42,    43,    44,    -1,    46,    47,    48,    49,    50,
17810       -1,    52,    53,    -1,    55,    56,    57,    58,    59,    60,
17811       -1,    -1,    63,    64,    65,    66,    67,    -1,    69,    70,
17812       71,    72,    73,    -1,    -1,    -1,    77,    78,    79,    80,
17813       81,    -1,    83,    84,    85,    -1,    87,    88,    89,    90,
17814       91,    92,    -1,    -1,    95,    96,    97,    -1,    -1,    -1,
17815       -1,    -1,    -1,    -1,   105,   106,   107,   108,   109,   110,
17816      111,   112,   113,    -1,   115,    -1,   117,   118,   119,   120,
17817      121,   122,    -1,   124,   125,   126,   127,    -1,    -1,   130,
17818      131,   132,   133,   134,    -1,   136,   137,   138,    -1,   140,
17819      141,   142,    -1,   144,   145,   146,   147,   148,   149,   150,
17820      151,   152,   153,    -1,   155,    -1,   157,   158,   159,   160,
17821       -1,   162,    -1,   164,    -1,    -1,    -1,   168,   169,   170,
17822      171,    -1,   173,   174,    -1,   176,   177,   178,    -1,   180,
17823      181,   182,   183,   184,    -1,   186,   187,   188,   189,    -1,
17824      191,   192,   193,   194,   195,   196,   197,    -1,   199,    -1,
17825      201,   202,   203,   204,   205,   206,   207,    -1,   209,    -1,
17826      211,    -1,    -1,   214,    -1,   216,   217,   218,   219,   220,
17827       -1,    -1,   223,   224,    -1,   226,    -1,    -1,   229,   230,
17828      231,    -1,    -1,   234,   235,   236,   237,   238,   239,   240,
17829      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
17830       -1,   252,   253,   254,   255,   256,   257,   258,   259,   260,
17831      261,   262,    -1,   264,   265,    -1,   267,    -1,   269,   270,
17832      271,   272,   273,   274,    -1,   276,   277,    -1,    -1,   280,
17833      281,   282,    -1,    -1,   285,   286,   287,    -1,   289,    -1,
17834      291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
17835       -1,   302,   303,   304,   305,   306,   307,   308,   309,    -1,
17836      311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
17837      321,   322,   323,   324,   325,    -1,   327,   328,   329,   330,
17838      331,   332,   333,   334,   335,   336,   337,   338,    -1,   340,
17839      341,    -1,   343,   344,   345,   346,   347,   348,   349,   350,
17840      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
17841      361,   362,   363,    -1,   365,   366,   367,   368,   369,    -1,
17842      371,   372,   373,   374,    -1,   376,   377,   378,   379,   380,
17843      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
17844       -1,   392,   393,   394,   395,    -1,   397,   398,   399,   400,
17845      401,    -1,   403,   404,   405,    -1,    -1,   408,   409,   410,
17846      411,   412,    -1,   414,   415,   416,   417,   418,   419,   420,
17847      421,    -1,    -1,   424,   425,   426,   427,   428,    -1,    -1,
17848      431,   432,   433,   434,   435,   436,   437,    -1,   439,    -1,
17849      441,   442,   443,   444,    -1,    -1,   447,    -1,   449,   450,
17850      451,   452,   453,   454,   455,   456,   457,   458,   459,   460,
17851      461,   462,   463,   464,   465,   466,   467,   468,   469,     3,
17852       -1,   472,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
17853       -1,    -1,    -1,    -1,    -1,   486,    20,    21,    22,    23,
17854       24,    25,    26,    27,    -1,    29,    30,    31,    -1,    -1,
17855       -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    42,    43,
17856       44,    -1,    46,    47,    48,    49,    50,    -1,    52,    53,
17857       -1,    55,    56,    57,    58,    59,    60,    -1,    -1,    63,
17858       64,    65,    66,    67,    -1,    69,    70,    71,    72,    73,
17859       -1,    -1,    -1,    77,    78,    79,    80,    81,    -1,    83,
17860       84,    85,    -1,    87,    88,    89,    90,    91,    92,    -1,
17861       -1,    95,    96,    97,    -1,    -1,    -1,    -1,    -1,    -1,
17862       -1,   105,   106,   107,   108,   109,   110,   111,   112,   113,
17863       -1,   115,    -1,   117,   118,   119,   120,   121,   122,    -1,
17864      124,   125,   126,   127,    -1,    -1,   130,   131,   132,   133,
17865      134,    -1,   136,   137,   138,    -1,   140,   141,   142,    -1,
17866      144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
17867       -1,   155,    -1,   157,   158,   159,   160,    -1,   162,    -1,
17868      164,    -1,    -1,    -1,   168,   169,   170,   171,    -1,   173,
17869      174,    -1,   176,   177,   178,    -1,   180,   181,   182,   183,
17870      184,    -1,   186,   187,   188,   189,    -1,   191,   192,   193,
17871      194,   195,   196,   197,    -1,   199,    -1,   201,   202,   203,
17872      204,   205,   206,   207,    -1,   209,    -1,   211,    -1,    -1,
17873      214,    -1,   216,   217,   218,   219,   220,    -1,    -1,   223,
17874      224,    -1,   226,    -1,    -1,   229,   230,   231,    -1,    -1,
17875      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
17876      244,   245,   246,   247,   248,   249,   250,    -1,   252,   253,
17877      254,   255,   256,   257,   258,   259,   260,   261,   262,    -1,
17878      264,   265,    -1,   267,    -1,   269,   270,   271,   272,   273,
17879      274,    -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,
17880       -1,   285,   286,   287,    -1,   289,    -1,   291,   292,   293,
17881      294,   295,   296,   297,   298,   299,   300,    -1,   302,   303,
17882      304,   305,   306,   307,   308,   309,    -1,   311,   312,   313,
17883      314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
17884      324,   325,    -1,   327,   328,   329,   330,   331,   332,   333,
17885      334,   335,   336,   337,   338,    -1,   340,   341,    -1,   343,
17886      344,   345,   346,   347,   348,   349,   350,   351,   352,   353,
17887      354,   355,   356,   357,    -1,   359,   360,   361,   362,   363,
17888       -1,   365,   366,   367,   368,   369,    -1,   371,   372,   373,
17889      374,    -1,   376,   377,   378,   379,   380,   381,   382,   383,
17890      384,   385,   386,   387,   388,   389,   390,    -1,   392,   393,
17891       -1,   395,    -1,   397,   398,   399,   400,   401,    -1,   403,
17892      404,   405,    -1,    -1,   408,   409,   410,   411,   412,    -1,
17893      414,   415,   416,   417,   418,   419,   420,   421,    -1,    -1,
17894      424,   425,   426,   427,   428,    -1,    -1,   431,   432,   433,
17895      434,   435,   436,   437,    -1,   439,    -1,   441,   442,   443,
17896      444,    -1,    -1,   447,    -1,    -1,   450,   451,   452,   453,
17897      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
17898      464,   465,   466,   467,   468,   469,     3,    -1,    -1,    -1,
17899       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
17900       -1,    -1,   486,    20,    21,    22,    23,    24,    25,    26,
17901       27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
17902       -1,    -1,    39,    40,    -1,    42,    43,    44,    -1,    46,
17903       47,    48,    49,    50,    -1,    52,    53,    -1,    55,    56,
17904       57,    58,    59,    60,    -1,    -1,    63,    64,    65,    66,
17905       67,    -1,    69,    70,    71,    72,    73,    -1,    -1,    -1,
17906       77,    78,    79,    80,    81,    -1,    83,    84,    85,    -1,
17907       87,    88,    89,    90,    91,    92,    -1,    -1,    95,    96,
17908       97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,
17909      107,   108,   109,   110,   111,   112,   113,    -1,   115,    -1,
17910      117,   118,   119,   120,   121,   122,    -1,   124,   125,   126,
17911      127,    -1,    -1,   130,   131,   132,   133,   134,    -1,   136,
17912      137,   138,    -1,   140,   141,   142,    -1,   144,   145,   146,
17913      147,   148,   149,   150,   151,   152,   153,    -1,   155,    -1,
17914      157,   158,   159,   160,    -1,   162,    -1,   164,    -1,    -1,
17915       -1,   168,   169,   170,   171,    -1,   173,   174,    -1,   176,
17916      177,   178,    -1,   180,   181,   182,   183,   184,    -1,   186,
17917      187,   188,   189,    -1,   191,   192,   193,   194,   195,   196,
17918      197,    -1,   199,    -1,   201,   202,   203,   204,   205,   206,
17919      207,    -1,   209,    -1,   211,    -1,    -1,   214,    -1,   216,
17920      217,   218,   219,   220,    -1,    -1,   223,   224,    -1,   226,
17921       -1,    -1,   229,   230,   231,    -1,    -1,   234,   235,   236,
17922      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
17923      247,   248,   249,   250,    -1,   252,   253,   254,   255,   256,
17924      257,   258,   259,   260,   261,   262,    -1,   264,   265,    -1,
17925      267,    -1,   269,   270,   271,   272,   273,   274,    -1,   276,
17926      277,    -1,    -1,   280,   281,   282,    -1,    -1,   285,   286,
17927      287,    -1,   289,    -1,   291,   292,   293,   294,   295,   296,
17928      297,   298,   299,   300,    -1,   302,   303,   304,   305,   306,
17929      307,   308,   309,    -1,   311,   312,   313,   314,   315,   316,
17930      317,   318,   319,   320,   321,   322,   323,   324,   325,    -1,
17931      327,   328,   329,   330,   331,   332,   333,   334,   335,   336,
17932      337,   338,    -1,   340,   341,    -1,   343,   344,   345,   346,
17933      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
17934      357,    -1,   359,   360,   361,   362,   363,    -1,   365,   366,
17935      367,   368,   369,    -1,   371,   372,   373,   374,    -1,   376,
17936      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
17937      387,   388,   389,   390,    -1,   392,   393,    -1,   395,    -1,
17938      397,   398,   399,   400,   401,    -1,   403,   404,   405,    -1,
17939       -1,   408,   409,   410,   411,   412,    -1,   414,   415,   416,
17940      417,   418,   419,   420,   421,    -1,    -1,   424,   425,   426,
17941      427,   428,    -1,    -1,   431,   432,   433,   434,   435,   436,
17942      437,    -1,   439,    -1,   441,   442,   443,   444,    -1,    -1,
17943      447,    -1,    -1,   450,   451,   452,   453,   454,   455,   456,
17944      457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
17945      467,   468,   469,     3,    -1,    -1,    -1,    -1,    -1,    -1,
17946       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   486,
17947       20,    21,    22,    23,    24,    25,    26,    27,    -1,    29,
17948       30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,
17949       40,    -1,    42,    43,    44,    -1,    46,    47,    48,    49,
17950       50,    -1,    52,    53,    -1,    55,    56,    57,    58,    59,
17951       60,    -1,    -1,    63,    64,    65,    66,    67,    -1,    69,
17952       70,    71,    72,    73,    -1,    -1,    -1,    77,    78,    79,
17953       80,    81,    -1,    83,    84,    85,    -1,    87,    88,    89,
17954       90,    91,    92,    -1,    -1,    95,    96,    97,    -1,    -1,
17955       -1,    -1,    -1,    -1,    -1,   105,   106,   107,   108,   109,
17956      110,   111,   112,   113,    -1,   115,    -1,   117,   118,   119,
17957      120,   121,   122,    -1,   124,   125,   126,   127,    -1,    -1,
17958      130,   131,   132,   133,   134,    -1,   136,   137,   138,    -1,
17959      140,   141,   142,    -1,   144,   145,   146,   147,   148,   149,
17960      150,   151,   152,   153,    -1,   155,    -1,   157,   158,   159,
17961      160,    -1,   162,    -1,   164,    -1,    -1,    -1,   168,   169,
17962      170,   171,    -1,   173,   174,    -1,   176,   177,   178,    -1,
17963      180,   181,   182,   183,   184,    -1,   186,   187,   188,   189,
17964       -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
17965       -1,   201,   202,   203,   204,   205,   206,   207,    -1,   209,
17966       -1,   211,    -1,    -1,   214,    -1,   216,   217,   218,   219,
17967      220,    -1,    -1,   223,   224,    -1,   226,    -1,    -1,   229,
17968      230,   231,    -1,    -1,   234,   235,   236,   237,   238,   239,
17969      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
17970      250,    -1,   252,   253,   254,   255,   256,   257,   258,   259,
17971      260,   261,   262,    -1,   264,   265,    -1,   267,    -1,   269,
17972      270,   271,   272,   273,   274,    -1,   276,   277,    -1,    -1,
17973      280,   281,   282,    -1,    -1,   285,   286,   287,    -1,   289,
17974       -1,   291,   292,   293,   294,   295,   296,   297,   298,   299,
17975      300,    -1,   302,   303,   304,   305,   306,   307,   308,   309,
17976       -1,   311,   312,   313,   314,   315,   316,   317,   318,   319,
17977      320,   321,   322,   323,   324,   325,    -1,   327,   328,   329,
17978      330,   331,   332,   333,   334,   335,   336,   337,   338,    -1,
17979      340,   341,    -1,   343,   344,   345,   346,   347,   348,   349,
17980      350,   351,   352,   353,   354,   355,   356,   357,    -1,   359,
17981      360,   361,   362,   363,    -1,   365,   366,   367,   368,   369,
17982       -1,   371,   372,   373,   374,    -1,   376,   377,   378,   379,
17983      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
17984      390,    -1,   392,   393,    -1,   395,    -1,   397,   398,   399,
17985      400,   401,    -1,   403,   404,   405,    -1,    -1,   408,   409,
17986      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
17987      420,   421,    -1,    -1,   424,   425,   426,   427,   428,    -1,
17988       -1,   431,   432,   433,   434,   435,   436,   437,    -1,   439,
17989       -1,   441,   442,   443,   444,    -1,    -1,   447,    -1,    -1,
17990      450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
17991      460,   461,   462,   463,   464,   465,   466,   467,   468,   469,
17992        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
17993       -1,    -1,    -1,    -1,    -1,    -1,   486,    20,    21,    22,
17994       23,    24,    25,    26,    27,    -1,    29,    30,    31,    -1,
17995       -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    42,
17996       43,    44,    -1,    46,    47,    48,    49,    50,    -1,    52,
17997       53,    -1,    55,    56,    57,    58,    59,    60,    -1,    -1,
17998       63,    64,    65,    66,    67,    -1,    69,    70,    71,    72,
17999       73,    -1,    -1,    -1,    77,    78,    79,    80,    81,    -1,
18000       83,    84,    85,    -1,    87,    88,    89,    90,    91,    92,
18001       -1,    -1,    95,    96,    97,    -1,    -1,    -1,    -1,    -1,
18002       -1,    -1,   105,   106,   107,   108,   109,   110,   111,   112,
18003      113,    -1,   115,    -1,   117,   118,   119,   120,   121,   122,
18004       -1,   124,   125,   126,   127,    -1,    -1,   130,   131,   132,
18005      133,   134,    -1,   136,   137,   138,    -1,   140,   141,   142,
18006       -1,   144,   145,   146,   147,   148,   149,   150,   151,   152,
18007      153,    -1,   155,    -1,   157,   158,   159,   160,    -1,   162,
18008       -1,   164,    -1,    -1,    -1,   168,   169,   170,   171,    -1,
18009      173,   174,    -1,   176,   177,   178,    -1,   180,   181,   182,
18010      183,   184,    -1,   186,   187,   188,   189,    -1,   191,   192,
18011      193,   194,   195,   196,   197,    -1,   199,    -1,   201,   202,
18012      203,   204,   205,   206,   207,    -1,   209,    -1,   211,    -1,
18013       -1,   214,    -1,   216,   217,   218,   219,   220,    -1,    -1,
18014      223,   224,    -1,   226,    -1,    -1,   229,   230,   231,    -1,
18015       -1,   234,   235,   236,   237,   238,   239,   240,   241,   242,
18016      243,   244,   245,   246,   247,   248,   249,   250,    -1,   252,
18017      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
18018       -1,   264,   265,    -1,   267,    -1,   269,   270,   271,   272,
18019      273,   274,    -1,   276,   277,    -1,    -1,   280,   281,   282,
18020       -1,    -1,   285,   286,   287,    -1,   289,    -1,   291,   292,
18021      293,   294,   295,   296,   297,   298,   299,   300,    -1,   302,
18022      303,   304,   305,   306,   307,   308,   309,    -1,   311,   312,
18023      313,   314,   315,   316,   317,   318,   319,   320,   321,   322,
18024      323,   324,   325,    -1,   327,   328,   329,   330,   331,   332,
18025      333,   334,   335,   336,   337,   338,    -1,   340,   341,    -1,
18026      343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
18027      353,   354,   355,   356,   357,    -1,   359,   360,   361,   362,
18028      363,    -1,   365,   366,   367,   368,   369,    -1,   371,   372,
18029      373,   374,    -1,   376,   377,   378,   379,   380,   381,   382,
18030      383,   384,   385,   386,   387,   388,   389,   390,    -1,   392,
18031      393,    -1,   395,    -1,   397,   398,   399,   400,   401,    -1,
18032      403,   404,   405,    -1,    -1,   408,   409,   410,   411,   412,
18033       -1,   414,   415,   416,   417,   418,   419,   420,   421,    -1,
18034       -1,   424,   425,   426,   427,   428,    -1,    -1,   431,   432,
18035      433,   434,   435,   436,   437,    -1,   439,    -1,   441,   442,
18036      443,   444,    -1,    -1,   447,    -1,    -1,   450,   451,   452,
18037      453,   454,   455,   456,   457,   458,   459,   460,   461,   462,
18038      463,   464,   465,   466,   467,   468,   469,    -1,    -1,    -1,
18039        3,    -1,     5,     6,    -1,    -1,    -1,    10,    11,    -1,
18040       -1,    -1,    -1,   486,    17,    18,    19,    20,    21,    22,
18041       23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
18042       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
18043       43,    44,    45,    46,    47,    48,    -1,    50,    51,    52,
18044       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
18045       63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
18046       -1,    74,    75,    76,    77,    78,    79,    80,    81,    82,
18047       83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
18048       93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
18049      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
18050      113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
18051      123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
18052      133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
18053      143,   144,   145,   146,   147,    -1,   149,   150,   151,   152,
18054       -1,   154,   155,   156,   157,   158,   159,   160,   161,   162,
18055      163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
18056      173,    -1,   175,    -1,   177,   178,   179,   180,   181,   182,
18057      183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
18058      193,   194,   195,   196,   197,   198,   199,   200,    -1,   202,
18059      203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
18060      213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
18061      223,    -1,   225,   226,   227,   228,   229,   230,   231,   232,
18062      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
18063      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
18064      253,   254,   255,   256,   257,   258,   259,   260,    -1,   262,
18065      263,   264,   265,   266,   267,   268,    -1,   270,   271,   272,
18066      273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
18067      283,   284,   285,   286,    -1,   288,   289,   290,    -1,   292,
18068      293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
18069      303,    -1,   305,    -1,   307,   308,   309,   310,   311,   312,
18070      313,   314,   315,   316,   317,   318,   319,   320,   321,   322,
18071      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
18072      333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
18073      343,   344,   345,   346,   347,    -1,   349,   350,   351,   352,
18074      353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
18075      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
18076      373,   374,   375,   376,   377,   378,   379,   380,   381,   382,
18077      383,   384,   385,   386,   387,   388,    -1,   390,   391,   392,
18078      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
18079      403,   404,   405,   406,   407,   408,   409,    -1,   411,    -1,
18080      413,   414,   415,   416,   417,   418,   419,   420,   421,   422,
18081      423,   424,   425,   426,   427,   428,   429,   430,   431,   432,
18082      433,   434,   435,    -1,   437,   438,   439,   440,   441,   442,
18083      443,   444,   445,   446,   447,   448,   449,   450,   451,   452,
18084      453,   454,   455,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18085       -1,    -1,    -1,    -1,   467,   468,   469,    -1,    -1,    -1,
18086      473,   474,   475,    -1,   477,   478,   479,   480,   481,   482,
18087        3,    -1,     5,     6,    -1,    -1,    -1,    10,    11,    -1,
18088       -1,    -1,    -1,    -1,    17,    18,    19,    20,    21,    22,
18089       23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
18090       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
18091       43,    44,    45,    46,    47,    48,    -1,    50,    51,    52,
18092       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
18093       63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
18094       -1,    74,    75,    76,    77,    78,    79,    80,    81,    82,
18095       83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
18096       93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
18097      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
18098      113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
18099      123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
18100      133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
18101      143,   144,   145,   146,   147,    -1,   149,   150,   151,   152,
18102       -1,   154,   155,   156,   157,   158,   159,   160,   161,   162,
18103      163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
18104      173,    -1,   175,    -1,   177,   178,   179,   180,   181,   182,
18105      183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
18106      193,   194,   195,   196,   197,   198,   199,   200,    -1,   202,
18107      203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
18108      213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
18109      223,    -1,   225,   226,   227,   228,   229,   230,   231,   232,
18110      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
18111      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
18112      253,   254,   255,   256,   257,   258,   259,   260,    -1,   262,
18113      263,   264,   265,   266,   267,   268,    -1,   270,   271,   272,
18114      273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
18115      283,   284,   285,   286,    -1,   288,   289,   290,    -1,   292,
18116      293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
18117      303,    -1,   305,    -1,   307,   308,   309,   310,   311,   312,
18118      313,   314,   315,   316,   317,   318,   319,   320,   321,   322,
18119      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
18120      333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
18121      343,   344,   345,   346,   347,    -1,   349,   350,   351,   352,
18122      353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
18123      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
18124      373,   374,   375,   376,   377,   378,   379,   380,   381,   382,
18125      383,   384,   385,   386,   387,   388,    -1,   390,   391,   392,
18126      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
18127      403,   404,   405,   406,   407,   408,   409,    -1,   411,    -1,
18128      413,   414,   415,   416,   417,   418,   419,   420,   421,   422,
18129      423,   424,   425,   426,   427,   428,   429,   430,   431,   432,
18130      433,   434,   435,    -1,   437,   438,   439,   440,   441,   442,
18131      443,   444,   445,   446,   447,   448,   449,   450,   451,   452,
18132      453,   454,   455,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18133       -1,    -1,    -1,    -1,   467,   468,   469,    -1,    -1,    -1,
18134      473,   474,   475,     3,   477,   478,   479,   480,   481,   482,
18135       10,    -1,    -1,    -1,    -1,    -1,    -1,    17,    18,    19,
18136       20,    21,    22,    23,    24,    25,    26,    27,    -1,    29,
18137       30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,
18138       40,    -1,    42,    43,    44,    -1,    46,    47,    48,    49,
18139       50,    -1,    52,    53,    -1,    55,    56,    57,    58,    59,
18140       60,    -1,    -1,    63,    64,    65,    66,    67,    -1,    69,
18141       70,    71,    72,    73,    -1,    -1,    -1,    77,    78,    79,
18142       80,    81,    -1,    83,    84,    85,    -1,    87,    88,    89,
18143       90,    91,    92,    -1,    -1,    95,    96,    97,    -1,    -1,
18144       -1,    -1,    -1,    -1,    -1,   105,   106,   107,   108,   109,
18145      110,   111,   112,   113,    -1,   115,    -1,   117,   118,   119,
18146      120,   121,   122,    -1,   124,   125,   126,   127,    -1,    -1,
18147      130,   131,   132,   133,   134,    -1,   136,   137,   138,    -1,
18148      140,   141,   142,    -1,   144,   145,   146,   147,   148,   149,
18149      150,   151,   152,   153,    -1,   155,    -1,   157,   158,   159,
18150      160,    -1,   162,    -1,   164,    -1,    -1,    -1,   168,   169,
18151      170,   171,    -1,   173,   174,    -1,   176,   177,   178,    -1,
18152      180,   181,   182,   183,   184,    -1,   186,   187,   188,   189,
18153       -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
18154       -1,   201,   202,   203,   204,   205,   206,   207,    -1,   209,
18155       -1,   211,    -1,    -1,   214,    -1,   216,   217,   218,   219,
18156      220,    -1,    -1,   223,   224,    -1,   226,    -1,    -1,   229,
18157      230,   231,    -1,    -1,   234,   235,   236,   237,   238,   239,
18158      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
18159      250,    -1,   252,   253,   254,   255,   256,   257,   258,   259,
18160      260,   261,   262,    -1,   264,   265,    -1,   267,    -1,   269,
18161      270,   271,   272,   273,   274,    -1,   276,   277,    -1,    -1,
18162      280,   281,   282,    -1,    -1,   285,   286,   287,    -1,   289,
18163       -1,   291,   292,   293,   294,   295,   296,   297,   298,   299,
18164      300,    -1,   302,   303,   304,   305,   306,   307,   308,   309,
18165       -1,   311,   312,   313,   314,   315,   316,   317,   318,   319,
18166      320,   321,   322,   323,   324,   325,    -1,   327,   328,   329,
18167      330,   331,   332,   333,   334,   335,   336,   337,   338,    -1,
18168      340,   341,    -1,   343,   344,   345,   346,   347,   348,   349,
18169      350,   351,   352,   353,   354,   355,   356,   357,    -1,   359,
18170      360,   361,   362,   363,    -1,   365,   366,   367,   368,   369,
18171       -1,   371,   372,   373,   374,    -1,   376,   377,   378,   379,
18172      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
18173      390,    -1,   392,   393,    -1,   395,    -1,   397,   398,   399,
18174      400,   401,    -1,   403,   404,   405,    -1,    -1,   408,   409,
18175      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
18176      420,   421,    -1,    -1,   424,   425,   426,   427,   428,    -1,
18177       -1,   431,   432,   433,   434,   435,   436,   437,    -1,   439,
18178       -1,   441,   442,   443,   444,    -1,    -1,   447,    -1,    -1,
18179      450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
18180      460,   461,   462,   463,   464,   465,   466,   467,   468,   469,
18181       -1,    -1,    -1,   473,   474,   475,     3,   477,   478,   479,
18182      480,   481,   482,    10,    -1,    -1,    -1,    -1,    -1,    -1,
18183       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
18184       27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
18185       -1,    -1,    39,    40,    -1,    42,    43,    44,    -1,    46,
18186       47,    48,    49,    50,    -1,    52,    53,    -1,    55,    56,
18187       57,    58,    59,    60,    -1,    -1,    63,    64,    65,    66,
18188       67,    -1,    69,    70,    71,    72,    73,    -1,    -1,    -1,
18189       77,    78,    79,    80,    81,    -1,    83,    84,    85,    -1,
18190       87,    88,    89,    90,    91,    92,    -1,    -1,    95,    96,
18191       97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,
18192      107,   108,   109,   110,   111,   112,   113,    -1,   115,    -1,
18193      117,   118,   119,   120,   121,   122,    -1,   124,   125,   126,
18194      127,    -1,    -1,   130,   131,   132,   133,   134,    -1,   136,
18195      137,   138,    -1,   140,   141,   142,    -1,   144,   145,   146,
18196      147,   148,   149,   150,   151,   152,   153,    -1,   155,    -1,
18197      157,   158,   159,   160,    -1,   162,    -1,   164,    -1,    -1,
18198       -1,   168,   169,   170,   171,    -1,   173,   174,    -1,   176,
18199      177,   178,    -1,   180,   181,   182,   183,   184,    -1,   186,
18200      187,   188,   189,    -1,   191,   192,   193,   194,   195,   196,
18201      197,    -1,   199,    -1,   201,   202,   203,   204,   205,   206,
18202      207,    -1,   209,    -1,   211,    -1,    -1,   214,    -1,   216,
18203      217,   218,   219,   220,    -1,    -1,   223,   224,    -1,   226,
18204       -1,    -1,   229,   230,   231,    -1,    -1,   234,   235,   236,
18205      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
18206      247,   248,   249,   250,    -1,   252,   253,   254,   255,   256,
18207      257,   258,   259,   260,   261,   262,    -1,   264,   265,    -1,
18208      267,    -1,   269,   270,   271,   272,   273,   274,    -1,   276,
18209      277,    -1,    -1,   280,   281,   282,    -1,    -1,   285,   286,
18210      287,    -1,   289,    -1,   291,   292,   293,   294,   295,   296,
18211      297,   298,   299,   300,    -1,   302,   303,   304,   305,   306,
18212      307,   308,   309,    -1,   311,   312,   313,   314,   315,   316,
18213      317,   318,   319,   320,   321,   322,   323,   324,   325,    -1,
18214      327,   328,   329,   330,   331,   332,   333,   334,   335,   336,
18215      337,   338,    -1,   340,   341,    -1,   343,   344,   345,   346,
18216      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
18217      357,    -1,   359,   360,   361,   362,   363,    -1,   365,   366,
18218      367,   368,   369,    -1,   371,   372,   373,   374,    -1,   376,
18219      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
18220      387,   388,   389,   390,    -1,   392,   393,    -1,   395,    -1,
18221      397,   398,   399,   400,   401,    -1,   403,   404,   405,    -1,
18222       -1,   408,   409,   410,   411,   412,    -1,   414,   415,   416,
18223      417,   418,   419,   420,   421,    -1,    -1,   424,   425,   426,
18224      427,   428,    -1,    -1,   431,   432,   433,   434,   435,   436,
18225      437,    -1,   439,    -1,   441,   442,   443,   444,    -1,    -1,
18226      447,    -1,    -1,   450,   451,   452,   453,   454,   455,   456,
18227      457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
18228      467,   468,   469,    -1,    -1,    -1,   473,   474,   475,     3,
18229      477,   478,   479,   480,   481,   482,    10,    -1,    -1,    -1,
18230       -1,    -1,    -1,    17,    18,    19,    20,    21,    22,    23,
18231       24,    25,    26,    27,    -1,    29,    30,    31,    -1,    -1,
18232       -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    42,    43,
18233       44,    -1,    46,    47,    48,    49,    50,    -1,    52,    53,
18234       -1,    55,    56,    57,    58,    59,    60,    -1,    -1,    63,
18235       64,    65,    66,    67,    -1,    69,    70,    71,    72,    73,
18236       -1,    -1,    -1,    77,    78,    79,    80,    81,    -1,    83,
18237       84,    85,    -1,    87,    88,    89,    90,    91,    92,    -1,
18238       -1,    95,    96,    97,    -1,    -1,    -1,    -1,    -1,    -1,
18239       -1,   105,   106,   107,   108,   109,   110,   111,   112,   113,
18240       -1,   115,    -1,   117,   118,   119,   120,   121,   122,    -1,
18241      124,   125,   126,   127,    -1,    -1,   130,   131,   132,   133,
18242      134,    -1,   136,   137,   138,    -1,   140,   141,   142,    -1,
18243      144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
18244       -1,   155,    -1,   157,   158,   159,   160,    -1,   162,    -1,
18245      164,    -1,    -1,    -1,   168,   169,   170,   171,    -1,   173,
18246      174,    -1,   176,   177,   178,    -1,   180,   181,   182,   183,
18247      184,    -1,   186,   187,   188,   189,    -1,   191,   192,   193,
18248      194,   195,   196,   197,    -1,   199,    -1,   201,   202,   203,
18249      204,   205,   206,   207,    -1,   209,    -1,   211,    -1,    -1,
18250      214,    -1,   216,   217,   218,   219,   220,    -1,    -1,   223,
18251      224,    -1,   226,    -1,    -1,   229,   230,   231,    -1,    -1,
18252      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
18253      244,   245,   246,   247,   248,   249,   250,    -1,   252,   253,
18254      254,   255,   256,   257,   258,   259,   260,   261,   262,    -1,
18255      264,   265,    -1,   267,    -1,   269,   270,   271,   272,   273,
18256      274,    -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,
18257       -1,   285,   286,   287,    -1,   289,    -1,   291,   292,   293,
18258      294,   295,   296,   297,   298,   299,   300,    -1,   302,   303,
18259      304,   305,   306,   307,   308,   309,    -1,   311,   312,   313,
18260      314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
18261      324,   325,    -1,   327,   328,   329,   330,   331,   332,   333,
18262      334,   335,   336,   337,   338,    -1,   340,   341,    -1,   343,
18263      344,   345,   346,   347,   348,   349,   350,   351,   352,   353,
18264      354,   355,   356,   357,    -1,   359,   360,   361,   362,   363,
18265       -1,   365,   366,   367,   368,   369,    -1,   371,   372,   373,
18266      374,    -1,   376,   377,   378,   379,   380,   381,   382,   383,
18267      384,   385,   386,   387,   388,   389,   390,    -1,   392,   393,
18268       -1,   395,    -1,   397,   398,   399,   400,   401,    -1,   403,
18269      404,   405,    -1,    -1,   408,   409,   410,   411,   412,    -1,
18270      414,   415,   416,   417,   418,   419,   420,   421,    -1,    -1,
18271      424,   425,   426,   427,   428,    -1,    -1,   431,   432,   433,
18272      434,   435,   436,   437,    -1,   439,    -1,   441,   442,   443,
18273      444,    -1,    -1,   447,    -1,    -1,   450,   451,   452,   453,
18274      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
18275      464,   465,   466,   467,   468,   469,    -1,    -1,    -1,   473,
18276      474,   475,     3,   477,   478,   479,   480,   481,   482,    10,
18277       -1,    -1,    -1,    -1,    -1,    -1,    17,    18,    19,    20,
18278       21,    22,    23,    24,    25,    26,    27,    -1,    29,    30,
18279       31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,
18280       -1,    42,    43,    44,    -1,    46,    47,    48,    49,    50,
18281       -1,    52,    53,    -1,    55,    56,    57,    58,    59,    60,
18282       -1,    -1,    63,    64,    65,    66,    67,    -1,    69,    70,
18283       71,    72,    73,    -1,    -1,    -1,    77,    78,    79,    80,
18284       81,    -1,    83,    84,    85,    -1,    87,    88,    89,    90,
18285       91,    92,    -1,    -1,    95,    96,    97,    -1,    -1,    -1,
18286       -1,    -1,    -1,    -1,   105,   106,   107,   108,   109,   110,
18287      111,   112,   113,    -1,   115,    -1,   117,   118,   119,   120,
18288      121,   122,    -1,   124,   125,   126,   127,    -1,    -1,   130,
18289      131,   132,   133,   134,    -1,   136,   137,   138,    -1,   140,
18290      141,   142,    -1,   144,   145,   146,   147,   148,   149,   150,
18291      151,   152,   153,    -1,   155,    -1,   157,   158,   159,   160,
18292       -1,   162,    -1,   164,    -1,    -1,    -1,   168,   169,   170,
18293      171,    -1,   173,   174,    -1,   176,   177,   178,    -1,   180,
18294      181,   182,   183,   184,    -1,   186,   187,   188,   189,    -1,
18295      191,   192,   193,   194,   195,   196,   197,    -1,   199,    -1,
18296      201,   202,   203,   204,   205,   206,   207,    -1,   209,    -1,
18297      211,    -1,    -1,   214,    -1,   216,   217,   218,   219,   220,
18298       -1,    -1,   223,   224,    -1,   226,    -1,    -1,   229,   230,
18299      231,    -1,    -1,   234,   235,   236,   237,   238,   239,   240,
18300      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
18301       -1,   252,   253,   254,   255,   256,   257,   258,   259,   260,
18302      261,   262,    -1,   264,   265,    -1,   267,    -1,   269,   270,
18303      271,   272,   273,   274,    -1,   276,   277,    -1,    -1,   280,
18304      281,   282,    -1,    -1,   285,   286,   287,    -1,   289,    -1,
18305      291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
18306       -1,   302,   303,   304,   305,   306,   307,   308,   309,    -1,
18307      311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
18308      321,   322,   323,   324,   325,    -1,   327,   328,   329,   330,
18309      331,   332,   333,   334,   335,   336,   337,   338,    -1,   340,
18310      341,    -1,   343,   344,   345,   346,   347,   348,   349,   350,
18311      351,   352,   353,   354,   355,   356,   357,    -1,   359,   360,
18312      361,   362,   363,    -1,   365,   366,   367,   368,   369,    -1,
18313      371,   372,   373,   374,    -1,   376,   377,   378,   379,   380,
18314      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
18315       -1,   392,   393,    -1,   395,    -1,   397,   398,   399,   400,
18316      401,    -1,   403,   404,   405,    -1,    -1,   408,   409,   410,
18317      411,   412,    -1,   414,   415,   416,   417,   418,   419,   420,
18318      421,    -1,    -1,   424,   425,   426,   427,   428,    -1,    -1,
18319      431,   432,   433,   434,   435,   436,   437,    -1,   439,    -1,
18320      441,   442,   443,   444,    -1,    -1,   447,    -1,    -1,   450,
18321      451,   452,   453,   454,   455,   456,   457,   458,   459,   460,
18322      461,   462,   463,   464,   465,   466,   467,   468,   469,    -1,
18323       -1,    -1,   473,   474,   475,     3,   477,   478,   479,   480,
18324      481,   482,    10,    -1,    -1,    -1,    -1,    -1,    -1,    17,
18325       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
18326       -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,
18327       -1,    39,    40,    -1,    42,    43,    44,    -1,    46,    47,
18328       48,    49,    50,    -1,    52,    53,    -1,    55,    56,    57,
18329       58,    59,    60,    -1,    -1,    63,    64,    65,    66,    67,
18330       -1,    69,    70,    71,    72,    73,    -1,    -1,    -1,    77,
18331       78,    79,    80,    81,    -1,    83,    84,    85,    -1,    87,
18332       88,    89,    90,    91,    92,    -1,    -1,    95,    96,    97,
18333       -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,   107,
18334      108,   109,   110,   111,   112,   113,    -1,   115,    -1,   117,
18335      118,   119,   120,   121,   122,    -1,   124,   125,   126,   127,
18336       -1,    -1,   130,   131,   132,   133,   134,    -1,   136,   137,
18337      138,    -1,   140,   141,   142,    -1,   144,   145,   146,   147,
18338      148,   149,   150,   151,   152,   153,    -1,   155,    -1,   157,
18339      158,   159,   160,    -1,   162,    -1,   164,    -1,    -1,    -1,
18340      168,   169,   170,   171,    -1,   173,   174,    -1,   176,   177,
18341      178,    -1,   180,   181,   182,   183,   184,    -1,   186,   187,
18342      188,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
18343       -1,   199,    -1,   201,   202,   203,   204,   205,   206,   207,
18344       -1,   209,    -1,   211,    -1,    -1,   214,    -1,   216,   217,
18345      218,   219,   220,    -1,    -1,   223,   224,    -1,   226,    -1,
18346       -1,   229,   230,   231,    -1,    -1,   234,   235,   236,   237,
18347      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
18348      248,   249,   250,    -1,   252,   253,   254,   255,   256,   257,
18349      258,   259,   260,   261,   262,    -1,   264,   265,    -1,   267,
18350       -1,   269,   270,   271,   272,   273,   274,    -1,   276,   277,
18351       -1,    -1,   280,   281,   282,    -1,    -1,   285,   286,   287,
18352       -1,   289,    -1,   291,   292,   293,   294,   295,   296,   297,
18353      298,   299,   300,    -1,   302,   303,   304,   305,   306,   307,
18354      308,   309,    -1,   311,   312,   313,   314,   315,   316,   317,
18355      318,   319,   320,   321,   322,   323,   324,   325,    -1,   327,
18356      328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
18357      338,    -1,   340,   341,    -1,   343,   344,   345,   346,   347,
18358      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
18359       -1,   359,   360,   361,   362,   363,    -1,   365,   366,   367,
18360      368,   369,    -1,   371,   372,   373,   374,    -1,   376,   377,
18361      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
18362      388,   389,   390,    -1,   392,   393,    -1,   395,    -1,   397,
18363      398,   399,   400,   401,    -1,   403,   404,   405,    -1,    -1,
18364      408,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
18365      418,   419,   420,   421,    -1,    -1,   424,   425,   426,   427,
18366      428,    -1,    -1,   431,   432,   433,   434,   435,   436,   437,
18367       -1,   439,    -1,   441,   442,   443,   444,    -1,    -1,   447,
18368       -1,    -1,   450,   451,   452,   453,   454,   455,   456,   457,
18369      458,   459,   460,   461,   462,   463,   464,   465,   466,   467,
18370      468,   469,    -1,    -1,    -1,   473,   474,   475,     3,   477,
18371      478,   479,   480,   481,   482,    10,    -1,    -1,    -1,    -1,
18372       -1,    -1,    17,    18,    19,    20,    21,    22,    23,    24,
18373       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
18374       -1,    -1,    -1,    -1,    39,    40,    -1,    42,    43,    44,
18375       -1,    46,    47,    48,    49,    50,    -1,    52,    53,    -1,
18376       55,    56,    57,    58,    59,    60,    -1,    -1,    63,    64,
18377       65,    66,    67,    -1,    69,    70,    71,    72,    73,    -1,
18378       -1,    -1,    77,    78,    79,    80,    81,    -1,    83,    84,
18379       85,    -1,    87,    88,    89,    90,    91,    92,    -1,    -1,
18380       95,    96,    97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18381      105,   106,   107,   108,   109,   110,   111,   112,   113,    -1,
18382      115,    -1,   117,   118,   119,   120,   121,   122,    -1,   124,
18383      125,   126,   127,    -1,    -1,   130,   131,   132,   133,   134,
18384       -1,   136,   137,   138,    -1,   140,   141,   142,    -1,   144,
18385      145,   146,   147,   148,   149,   150,   151,   152,   153,    -1,
18386      155,    -1,   157,   158,   159,   160,    -1,   162,    -1,   164,
18387       -1,    -1,    -1,   168,   169,   170,   171,    -1,   173,   174,
18388       -1,   176,   177,   178,    -1,   180,   181,   182,   183,   184,
18389       -1,   186,   187,   188,   189,    -1,   191,   192,   193,   194,
18390      195,   196,   197,    -1,   199,    -1,   201,   202,   203,   204,
18391      205,   206,   207,    -1,   209,    -1,   211,    -1,    -1,   214,
18392       -1,   216,   217,   218,   219,   220,    -1,    -1,   223,   224,
18393       -1,   226,    -1,    -1,   229,   230,   231,    -1,    -1,   234,
18394      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
18395      245,   246,   247,   248,   249,   250,    -1,   252,   253,   254,
18396      255,   256,   257,   258,   259,   260,   261,   262,    -1,   264,
18397      265,    -1,   267,    -1,   269,   270,   271,   272,   273,   274,
18398       -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,
18399      285,   286,   287,    -1,   289,    -1,   291,   292,   293,   294,
18400      295,   296,   297,   298,   299,   300,    -1,   302,   303,   304,
18401      305,   306,   307,   308,   309,    -1,   311,   312,   313,   314,
18402      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
18403      325,    -1,   327,   328,   329,   330,   331,   332,   333,   334,
18404      335,   336,   337,   338,    -1,   340,   341,    -1,   343,   344,
18405      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
18406      355,   356,   357,    -1,   359,   360,   361,   362,   363,    -1,
18407      365,   366,   367,   368,   369,    -1,   371,   372,   373,   374,
18408       -1,   376,   377,   378,   379,   380,   381,   382,   383,   384,
18409      385,   386,   387,   388,   389,   390,    -1,   392,   393,    -1,
18410      395,    -1,   397,   398,   399,   400,   401,    -1,   403,   404,
18411      405,    -1,    -1,   408,   409,   410,   411,   412,    -1,   414,
18412      415,   416,   417,   418,   419,   420,   421,    -1,    -1,   424,
18413      425,   426,   427,   428,    -1,    -1,   431,   432,   433,   434,
18414      435,   436,   437,    -1,   439,    -1,   441,   442,   443,   444,
18415       -1,    -1,   447,    -1,    -1,   450,   451,   452,   453,   454,
18416      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
18417      465,   466,   467,   468,   469,    -1,    -1,    -1,   473,   474,
18418      475,     3,   477,   478,   479,   480,   481,   482,    10,    -1,
18419       -1,    -1,    -1,    -1,    -1,    17,    18,    19,    20,    21,
18420       22,    23,    24,    25,    26,    27,    -1,    29,    30,    31,
18421       -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,
18422       42,    43,    44,    -1,    46,    47,    48,    49,    50,    -1,
18423       52,    53,    -1,    55,    56,    57,    58,    59,    60,    -1,
18424       -1,    63,    64,    65,    66,    67,    -1,    69,    70,    71,
18425       72,    73,    -1,    -1,    -1,    77,    78,    79,    80,    81,
18426       -1,    83,    84,    85,    -1,    87,    88,    89,    90,    91,
18427       92,    -1,    -1,    95,    96,    97,    -1,    -1,    -1,    -1,
18428       -1,    -1,    -1,   105,   106,   107,   108,   109,   110,   111,
18429      112,   113,    -1,   115,    -1,   117,   118,   119,   120,   121,
18430      122,    -1,   124,   125,   126,   127,    -1,    -1,   130,   131,
18431      132,   133,   134,    -1,   136,   137,   138,    -1,   140,   141,
18432      142,    -1,   144,   145,   146,   147,   148,   149,   150,   151,
18433      152,   153,    -1,   155,    -1,   157,   158,   159,   160,    -1,
18434      162,    -1,   164,    -1,    -1,    -1,   168,   169,   170,   171,
18435       -1,   173,   174,    -1,   176,   177,   178,    -1,   180,   181,
18436      182,   183,   184,    -1,   186,   187,   188,   189,    -1,   191,
18437      192,   193,   194,   195,   196,   197,    -1,   199,    -1,   201,
18438      202,   203,   204,   205,   206,   207,    -1,   209,    -1,   211,
18439       -1,    -1,   214,    -1,   216,   217,   218,   219,   220,    -1,
18440       -1,   223,   224,    -1,   226,    -1,    -1,   229,   230,   231,
18441       -1,    -1,   234,   235,   236,   237,   238,   239,   240,   241,
18442      242,   243,   244,   245,   246,   247,   248,   249,   250,    -1,
18443      252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
18444      262,    -1,   264,   265,    -1,   267,    -1,   269,   270,   271,
18445      272,   273,   274,    -1,   276,   277,    -1,    -1,   280,   281,
18446      282,    -1,    -1,   285,   286,   287,    -1,   289,    -1,   291,
18447      292,   293,   294,   295,   296,   297,   298,   299,   300,    -1,
18448      302,   303,   304,   305,   306,   307,   308,   309,    -1,   311,
18449      312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
18450      322,   323,   324,   325,    -1,   327,   328,   329,   330,   331,
18451      332,   333,   334,   335,   336,   337,   338,    -1,   340,   341,
18452       -1,   343,   344,   345,   346,   347,   348,   349,   350,   351,
18453      352,   353,   354,   355,   356,   357,    -1,   359,   360,   361,
18454      362,   363,    -1,   365,   366,   367,   368,   369,    -1,   371,
18455      372,   373,   374,    -1,   376,   377,   378,   379,   380,   381,
18456      382,   383,   384,   385,   386,   387,   388,   389,   390,    -1,
18457      392,   393,    -1,   395,    -1,   397,   398,   399,   400,   401,
18458       -1,   403,   404,   405,    -1,    -1,   408,   409,   410,   411,
18459      412,    -1,   414,   415,   416,   417,   418,   419,   420,   421,
18460       -1,    -1,   424,   425,   426,   427,   428,    -1,    -1,   431,
18461      432,   433,   434,   435,   436,   437,    -1,   439,    -1,   441,
18462      442,   443,   444,    -1,    -1,   447,    -1,    -1,   450,   451,
18463      452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
18464      462,   463,   464,   465,   466,   467,   468,   469,     3,    -1,
18465       -1,   473,   474,   475,    -1,   477,   478,   479,   480,   481,
18466      482,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
18467       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
18468       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
18469       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
18470       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
18471       65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
18472       75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
18473       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
18474       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
18475      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
18476      115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
18477      125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
18478      135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
18479      145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
18480      155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
18481      165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
18482      175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
18483      185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
18484      195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
18485      205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
18486      215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
18487      225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
18488      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
18489      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
18490      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
18491      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
18492      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
18493      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
18494      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
18495      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
18496      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
18497      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
18498      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
18499      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
18500      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
18501      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
18502      375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
18503      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
18504      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
18505      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
18506      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
18507      425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
18508      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
18509      445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
18510      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
18511      465,   466,   467,   468,   469,     3,    -1,    -1,    -1,    -1,
18512       -1,    -1,    -1,    -1,   479,    -1,    -1,    -1,    -1,    -1,
18513       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
18514       -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,
18515       -1,    39,    40,    -1,    42,    43,    44,    -1,    46,    47,
18516       48,    49,    50,    -1,    52,    53,    -1,    55,    56,    57,
18517       58,    59,    60,    -1,    -1,    63,    64,    65,    66,    67,
18518       -1,    69,    70,    71,    72,    73,    -1,    -1,    -1,    77,
18519       78,    79,    80,    81,    -1,    83,    84,    85,    -1,    87,
18520       88,    89,    90,    91,    92,    -1,    -1,    95,    96,    97,
18521       -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,   107,
18522      108,   109,   110,   111,   112,   113,    -1,   115,    -1,   117,
18523      118,   119,   120,   121,   122,    -1,   124,   125,   126,   127,
18524       -1,    -1,   130,   131,   132,   133,   134,    -1,   136,   137,
18525      138,    -1,   140,   141,   142,    -1,   144,   145,   146,   147,
18526      148,   149,   150,   151,   152,   153,    -1,   155,    -1,   157,
18527      158,   159,   160,    -1,   162,    -1,   164,    -1,    -1,    -1,
18528      168,   169,   170,   171,    -1,   173,   174,    -1,   176,   177,
18529      178,    -1,   180,   181,   182,   183,   184,    -1,   186,   187,
18530      188,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
18531       -1,   199,    -1,   201,   202,   203,   204,   205,   206,   207,
18532       -1,   209,    -1,   211,    -1,    -1,   214,    -1,   216,   217,
18533      218,   219,   220,    -1,    -1,   223,   224,    -1,   226,    -1,
18534       -1,   229,   230,   231,    -1,    -1,   234,   235,   236,   237,
18535      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
18536      248,   249,   250,    -1,   252,   253,   254,   255,   256,   257,
18537      258,   259,   260,   261,   262,    -1,   264,   265,    -1,   267,
18538       -1,   269,   270,   271,   272,   273,   274,    -1,   276,   277,
18539       -1,    -1,   280,   281,   282,    -1,    -1,   285,   286,   287,
18540       -1,   289,    -1,   291,   292,   293,   294,   295,   296,   297,
18541      298,   299,   300,    -1,   302,   303,   304,   305,   306,   307,
18542      308,   309,    -1,   311,   312,   313,   314,   315,   316,   317,
18543      318,   319,   320,   321,   322,   323,   324,   325,    -1,   327,
18544      328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
18545      338,    -1,   340,   341,    -1,   343,   344,   345,   346,   347,
18546      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
18547       -1,   359,   360,   361,   362,   363,    -1,   365,   366,   367,
18548      368,   369,    -1,   371,   372,   373,   374,    -1,   376,   377,
18549      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
18550      388,   389,   390,    -1,   392,   393,    -1,   395,    -1,   397,
18551      398,   399,   400,   401,    -1,   403,   404,   405,    -1,    -1,
18552      408,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
18553      418,   419,   420,   421,    -1,    -1,   424,   425,   426,   427,
18554      428,    -1,    -1,   431,   432,   433,   434,   435,   436,   437,
18555       -1,   439,    -1,   441,   442,   443,   444,    -1,    -1,   447,
18556       -1,    -1,   450,   451,   452,   453,   454,   455,   456,   457,
18557      458,   459,   460,   461,   462,   463,   464,   465,   466,   467,
18558      468,   469,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18559       -1,   479,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
18560       21,    22,    23,    24,    25,    26,    27,    -1,    29,    30,
18561       31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,
18562       -1,    42,    43,    44,    -1,    46,    47,    48,    49,    50,
18563       -1,    52,    53,    -1,    55,    56,    57,    58,    59,    60,
18564       -1,    -1,    63,    64,    65,    66,    67,    -1,    69,    70,
18565       71,    72,    73,    -1,    -1,    -1,    77,    78,    79,    80,
18566       81,    -1,    83,    84,    85,    -1,    87,    88,    89,    90,
18567       91,    92,    -1,    -1,    95,    96,    97,    -1,    -1,    -1,
18568       -1,    -1,    -1,    -1,   105,   106,   107,   108,   109,   110,
18569      111,   112,   113,    -1,   115,    -1,   117,   118,   119,   120,
18570      121,   122,    -1,   124,   125,   126,   127,    -1,    -1,   130,
18571      131,   132,   133,   134,    -1,   136,   137,   138,    -1,   140,
18572      141,   142,    -1,   144,   145,   146,   147,   148,   149,   150,
18573      151,   152,   153,    -1,   155,    -1,   157,   158,   159,   160,
18574       -1,   162,    -1,   164,    -1,    -1,    -1,   168,   169,   170,
18575      171,    -1,   173,   174,    -1,   176,   177,   178,    -1,   180,
18576      181,   182,   183,   184,    -1,   186,   187,   188,   189,    -1,
18577      191,   192,   193,   194,   195,   196,   197,    -1,   199,    -1,
18578      201,   202,   203,   204,   205,   206,   207,    -1,   209,    -1,
18579      211,    -1,    -1,   214,    -1,   216,   217,   218,   219,   220,
18580       -1,    -1,   223,   224,    -1,   226,    -1,    -1,   229,   230,
18581      231,    -1,    -1,   234,   235,   236,   237,   238,   239,   240,
18582      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
18583       -1,   252,   253,   254,   255,   256,   257,   258,   259,   260,
18584      261,   262,    -1,   264,   265,    -1,   267,    -1,   269,   270,
18585      271,   272,   273,   274,    -1,   276,   277,    -1,    -1,   280,
18586      281,   282,    -1,    -1,   285,   286,   287,    -1,   289,    -1,
18587      291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
18588       -1,   302,   303,   304,   305,   306,   307,   308,   309,    -1,
18589      311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
18590      321,   322,   323,   324,   325,    -1,   327,   328,   329,   330,
18591      331,   332,   333,   334,   335,   336,   337,   338,    -1,   340,
18592      341,    -1,   343,   344,   345,   346,   347,   348,   349,   350,
18593      351,   352,   353,   354,   355,   356,   357,    -1,   359,   360,
18594      361,   362,   363,    -1,   365,   366,   367,   368,   369,    -1,
18595      371,   372,   373,   374,    -1,   376,   377,   378,   379,   380,
18596      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
18597       -1,   392,   393,    -1,   395,    -1,   397,   398,   399,   400,
18598      401,    -1,   403,   404,   405,    -1,    -1,   408,   409,   410,
18599      411,   412,    -1,   414,   415,   416,   417,   418,   419,   420,
18600      421,    -1,    -1,   424,   425,   426,   427,   428,    -1,    -1,
18601      431,   432,   433,   434,   435,   436,   437,    -1,   439,    -1,
18602      441,   442,   443,   444,    -1,    -1,   447,    -1,    -1,   450,
18603      451,   452,   453,   454,   455,   456,   457,   458,   459,   460,
18604      461,   462,   463,   464,   465,   466,   467,   468,   469,     3,
18605       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   479,    -1,
18606       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
18607       24,    25,    26,    27,    -1,    29,    30,    31,    -1,    -1,
18608       -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    42,    43,
18609       44,    45,    46,    47,    48,    -1,    50,    51,    52,    53,
18610       -1,    55,    56,    57,    58,    59,    60,    -1,    -1,    63,
18611       64,    65,    66,    67,    -1,    69,    70,    71,    72,    -1,
18612       -1,    75,    -1,    77,    78,    79,    80,    81,    82,    83,
18613       84,    85,    -1,    87,    88,    89,    90,    91,    92,    -1,
18614       94,    95,    96,    97,    -1,    -1,    -1,   101,    -1,    -1,
18615       -1,   105,   106,   107,   108,   109,   110,   111,   112,   113,
18616       -1,   115,    -1,   117,   118,   119,   120,   121,   122,    -1,
18617      124,   125,   126,   127,    -1,    -1,   130,   131,   132,   133,
18618      134,    -1,   136,   137,   138,    -1,   140,   141,   142,    -1,
18619      144,   145,   146,   147,    -1,   149,   150,   151,   152,    -1,
18620       -1,   155,    -1,   157,   158,   159,   160,    -1,   162,    -1,
18621      164,   165,    -1,   167,   168,   169,   170,   171,    -1,   173,
18622       -1,    -1,    -1,   177,   178,    -1,   180,   181,   182,   183,
18623      184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
18624      194,   195,   196,   197,    -1,   199,   200,   201,   202,   203,
18625      204,   205,   206,   207,    -1,   209,    -1,   211,   212,   213,
18626      214,   215,   216,   217,   218,   219,   220,    -1,    -1,   223,
18627       -1,   225,   226,   227,    -1,   229,   230,   231,    -1,    -1,
18628      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
18629      244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
18630      254,   255,   256,   257,   258,   259,    -1,    -1,   262,    -1,
18631      264,   265,   266,   267,    -1,    -1,   270,   271,   272,   273,
18632      274,    -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,
18633      284,   285,   286,   287,   288,   289,   290,    -1,   292,   293,
18634      294,   295,   296,   297,   298,   299,   300,    -1,   302,   303,
18635       -1,   305,    -1,   307,   308,   309,    -1,   311,   312,   313,
18636      314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
18637      324,   325,    -1,   327,   328,   329,   330,   331,   332,   333,
18638      334,   335,   336,   337,   338,    -1,   340,   341,   342,   343,
18639      344,   345,   346,   347,    -1,   349,   350,   351,   352,   353,
18640      354,   355,   356,   357,    -1,   359,   360,   361,   362,   363,
18641       -1,   365,   366,   367,   368,   369,   370,   371,   372,   373,
18642      374,    -1,   376,   377,   378,   379,   380,   381,   382,   383,
18643      384,   385,   386,   387,   388,    -1,   390,    -1,   392,   393,
18644       -1,   395,   396,   397,   398,   399,   400,   401,    -1,   403,
18645      404,   405,    -1,    -1,   408,   409,    -1,   411,    -1,    -1,
18646      414,   415,   416,   417,   418,   419,   420,   421,    -1,    -1,
18647      424,   425,   426,   427,   428,    -1,    -1,   431,   432,   433,
18648      434,   435,    -1,   437,   438,   439,   440,   441,   442,   443,
18649      444,    -1,    -1,   447,    -1,    -1,   450,   451,   452,   453,
18650      454,   455,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,
18651       -1,    -1,    -1,   467,   468,   469,    -1,    -1,    -1,    -1,
18652       -1,    -1,    -1,    -1,    -1,   479,    20,    21,    22,    23,
18653       24,    25,    26,    27,    -1,    29,    30,    31,    -1,    -1,
18654       -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    42,    43,
18655       44,    45,    46,    47,    48,    -1,    50,    51,    52,    53,
18656       -1,    55,    56,    57,    58,    59,    60,    -1,    -1,    63,
18657       64,    65,    66,    67,    -1,    69,    70,    71,    72,    -1,
18658       -1,    75,    -1,    77,    78,    79,    80,    81,    82,    83,
18659       84,    85,    -1,    87,    88,    89,    90,    91,    92,    -1,
18660       94,    95,    96,    97,    -1,    -1,    -1,   101,    -1,    -1,
18661       -1,   105,   106,   107,   108,   109,   110,   111,   112,   113,
18662       -1,   115,    -1,   117,   118,   119,   120,   121,   122,    -1,
18663      124,   125,   126,   127,    -1,    -1,   130,   131,   132,   133,
18664      134,    -1,   136,   137,   138,    -1,   140,   141,   142,    -1,
18665      144,   145,   146,   147,    -1,   149,   150,   151,   152,    -1,
18666       -1,   155,    -1,   157,   158,   159,   160,    -1,   162,    -1,
18667      164,   165,    -1,   167,   168,   169,   170,   171,    -1,   173,
18668       -1,    -1,    -1,   177,   178,    -1,   180,   181,   182,   183,
18669      184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
18670      194,   195,   196,   197,    -1,   199,   200,   201,   202,   203,
18671      204,   205,   206,   207,    -1,   209,    -1,   211,   212,   213,
18672      214,   215,   216,   217,   218,   219,   220,    -1,    -1,   223,
18673       -1,   225,   226,   227,    -1,   229,   230,   231,    -1,    -1,
18674      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
18675      244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
18676      254,   255,   256,   257,   258,   259,    -1,    -1,   262,    -1,
18677      264,   265,   266,   267,    -1,    -1,   270,   271,   272,   273,
18678      274,    -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,
18679      284,   285,   286,   287,   288,   289,   290,    -1,   292,   293,
18680      294,   295,   296,   297,   298,   299,   300,    -1,   302,   303,
18681       -1,   305,    -1,   307,   308,   309,    -1,   311,   312,   313,
18682      314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
18683      324,   325,    -1,   327,   328,   329,   330,   331,   332,   333,
18684      334,   335,   336,   337,   338,    -1,   340,   341,   342,   343,
18685      344,   345,   346,   347,    -1,   349,   350,   351,   352,   353,
18686      354,   355,   356,   357,    -1,   359,   360,   361,   362,   363,
18687       -1,   365,   366,   367,   368,   369,   370,   371,   372,   373,
18688      374,    -1,   376,   377,   378,   379,   380,   381,   382,   383,
18689      384,   385,   386,   387,   388,    -1,   390,    -1,   392,   393,
18690       -1,   395,   396,   397,   398,   399,   400,   401,    -1,   403,
18691      404,   405,    -1,    -1,   408,   409,    -1,   411,    -1,    -1,
18692      414,   415,   416,   417,   418,   419,   420,   421,    -1,    -1,
18693      424,   425,   426,   427,   428,    -1,    -1,   431,   432,   433,
18694      434,   435,    -1,   437,   438,   439,   440,   441,   442,   443,
18695      444,    -1,    -1,   447,    -1,    -1,   450,   451,   452,   453,
18696      454,   455,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,
18697       -1,     5,     6,   467,   468,   469,    -1,    11,    -1,    -1,
18698       -1,    -1,    -1,    -1,    -1,   479,    20,    21,    22,    23,
18699       24,    25,    26,    27,    -1,    29,    30,    31,    -1,    -1,
18700       -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    42,    43,
18701       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
18702       -1,    55,    56,    57,    58,    59,    60,    -1,    -1,    63,
18703       64,    65,    66,    67,    -1,    69,    70,    71,    72,    73,
18704       -1,    75,    -1,    77,    78,    79,    80,    81,    82,    83,
18705       84,    85,    -1,    87,    88,    89,    90,    91,    92,    -1,
18706       94,    95,    96,    97,    -1,    -1,    -1,   101,    -1,    -1,
18707       -1,   105,   106,   107,   108,   109,   110,   111,   112,   113,
18708      114,   115,    -1,   117,   118,   119,   120,   121,   122,    -1,
18709      124,   125,   126,   127,    -1,    -1,   130,   131,   132,   133,
18710      134,    -1,   136,   137,   138,    -1,   140,   141,   142,    -1,
18711      144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
18712      154,   155,    -1,   157,   158,   159,   160,    -1,   162,    -1,
18713      164,   165,    -1,   167,   168,   169,   170,   171,    -1,   173,
18714      174,    -1,   176,   177,   178,    -1,   180,   181,   182,   183,
18715      184,   185,   186,   187,   188,   189,    -1,   191,   192,   193,
18716      194,   195,   196,   197,    -1,   199,   200,   201,   202,   203,
18717      204,   205,   206,   207,    -1,   209,    -1,   211,   212,   213,
18718      214,   215,   216,   217,   218,   219,   220,    -1,    -1,   223,
18719      224,   225,   226,   227,    -1,   229,   230,   231,    -1,    -1,
18720      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
18721      244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
18722      254,   255,   256,   257,   258,   259,   260,   261,   262,    -1,
18723      264,   265,   266,   267,    -1,   269,   270,   271,   272,   273,
18724      274,    -1,   276,   277,   278,    -1,   280,   281,   282,    -1,
18725       -1,   285,   286,   287,   288,   289,   290,   291,   292,   293,
18726      294,   295,   296,   297,   298,   299,   300,    -1,   302,   303,
18727      304,   305,   306,   307,   308,   309,    -1,   311,   312,   313,
18728      314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
18729      324,   325,    -1,   327,   328,   329,   330,   331,   332,   333,
18730      334,   335,   336,   337,   338,    -1,   340,   341,   342,   343,
18731      344,   345,   346,   347,   348,   349,   350,   351,   352,   353,
18732      354,   355,   356,   357,    -1,   359,   360,   361,   362,   363,
18733       -1,   365,   366,   367,   368,   369,   370,   371,   372,   373,
18734      374,    -1,   376,   377,   378,   379,   380,   381,   382,   383,
18735      384,   385,   386,   387,   388,   389,   390,    -1,   392,   393,
18736       -1,   395,   396,   397,   398,   399,   400,   401,    -1,   403,
18737      404,   405,    -1,    -1,   408,   409,   410,   411,   412,   413,
18738      414,   415,   416,   417,   418,   419,   420,   421,    -1,    -1,
18739      424,   425,   426,   427,   428,    -1,    -1,   431,   432,   433,
18740      434,   435,   436,   437,    -1,   439,   440,   441,   442,   443,
18741      444,    -1,    -1,   447,    -1,    -1,   450,   451,   452,   453,
18742      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
18743      464,   465,   466,   467,   468,   469,    -1,     3,    -1,     5,
18744        6,    -1,    -1,   477,   478,    11,    -1,    -1,    -1,    -1,
18745       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
18746       26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,
18747       -1,    -1,    -1,    39,    40,    -1,    42,    43,    44,    45,
18748       46,    47,    48,    49,    50,    51,    52,    53,    -1,    55,
18749       56,    57,    58,    59,    60,    -1,    -1,    63,    64,    65,
18750       66,    67,    -1,    69,    70,    71,    72,    73,    -1,    75,
18751       -1,    77,    78,    79,    80,    81,    82,    83,    84,    85,
18752       -1,    87,    88,    89,    90,    91,    92,    -1,    94,    95,
18753       96,    97,    -1,    -1,    -1,   101,    -1,    -1,    -1,   105,
18754      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
18755       -1,   117,   118,   119,   120,   121,   122,    -1,   124,   125,
18756      126,   127,    -1,    -1,   130,   131,   132,   133,   134,    -1,
18757      136,   137,   138,    -1,   140,   141,   142,    -1,   144,   145,
18758      146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
18759       -1,   157,   158,   159,   160,    -1,   162,    -1,   164,   165,
18760       -1,   167,   168,   169,   170,   171,    -1,   173,   174,    -1,
18761      176,   177,   178,    -1,   180,   181,   182,   183,   184,   185,
18762      186,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
18763      196,   197,    -1,   199,   200,   201,   202,   203,   204,   205,
18764      206,   207,    -1,   209,    -1,   211,   212,   213,   214,   215,
18765      216,   217,   218,   219,   220,    -1,    -1,   223,   224,   225,
18766      226,   227,    -1,   229,   230,   231,    -1,    -1,   234,   235,
18767      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
18768      246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
18769      256,   257,   258,   259,   260,   261,   262,    -1,   264,   265,
18770      266,   267,    -1,   269,   270,   271,   272,   273,   274,    -1,
18771      276,   277,   278,    -1,   280,   281,   282,    -1,    -1,   285,
18772      286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
18773      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
18774      306,   307,   308,   309,    -1,   311,   312,   313,   314,   315,
18775      316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
18776       -1,   327,   328,   329,   330,   331,   332,   333,   334,   335,
18777      336,   337,   338,    -1,   340,   341,   342,   343,   344,   345,
18778      346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
18779      356,   357,    -1,   359,   360,   361,   362,   363,    -1,   365,
18780      366,   367,   368,   369,   370,   371,   372,   373,   374,    -1,
18781      376,   377,   378,   379,   380,   381,   382,   383,   384,   385,
18782      386,   387,   388,   389,   390,    -1,   392,   393,    -1,   395,
18783      396,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
18784       -1,    -1,   408,   409,   410,   411,   412,   413,   414,   415,
18785      416,   417,   418,   419,   420,   421,    -1,    -1,   424,   425,
18786      426,   427,   428,    -1,    -1,   431,   432,   433,   434,   435,
18787      436,   437,    -1,   439,   440,   441,   442,   443,   444,    -1,
18788       -1,   447,    -1,    -1,   450,   451,   452,   453,   454,   455,
18789      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
18790      466,   467,   468,   469,    -1,     3,    -1,     5,     6,    -1,
18791       -1,   477,   478,    11,    -1,    -1,    -1,    -1,    -1,    -1,
18792       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
18793       -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,
18794       -1,    39,    40,    -1,    42,    43,    44,    45,    46,    47,
18795       48,    49,    50,    51,    52,    53,    -1,    55,    56,    57,
18796       58,    59,    60,    -1,    -1,    63,    64,    65,    66,    67,
18797       -1,    69,    70,    71,    72,    73,    -1,    75,    -1,    77,
18798       78,    79,    80,    81,    82,    83,    84,    85,    -1,    87,
18799       88,    89,    90,    91,    92,    -1,    94,    95,    96,    97,
18800       -1,    -1,    -1,   101,    -1,    -1,    -1,   105,   106,   107,
18801      108,   109,   110,   111,   112,   113,    -1,   115,    -1,   117,
18802      118,   119,   120,   121,   122,    -1,   124,   125,   126,   127,
18803       -1,    -1,   130,   131,   132,   133,   134,    -1,   136,   137,
18804      138,    -1,   140,   141,   142,    -1,   144,   145,   146,   147,
18805      148,   149,   150,   151,   152,   153,   154,   155,    -1,   157,
18806      158,   159,   160,    -1,   162,    -1,   164,   165,    -1,   167,
18807      168,   169,   170,   171,    -1,   173,   174,    -1,   176,   177,
18808      178,    -1,   180,   181,   182,   183,   184,   185,   186,   187,
18809      188,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
18810       -1,   199,   200,   201,   202,   203,   204,   205,   206,   207,
18811       -1,   209,    -1,   211,   212,   213,   214,   215,   216,   217,
18812      218,   219,   220,    -1,    -1,   223,   224,   225,   226,   227,
18813       -1,   229,   230,   231,    -1,    -1,   234,   235,   236,   237,
18814      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
18815      248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
18816      258,   259,   260,   261,   262,    -1,   264,   265,   266,   267,
18817       -1,   269,   270,   271,   272,   273,   274,    -1,   276,   277,
18818      278,    -1,   280,   281,   282,    -1,    -1,   285,   286,   287,
18819      288,   289,   290,   291,   292,   293,   294,   295,   296,   297,
18820      298,   299,   300,    -1,   302,   303,   304,   305,   306,   307,
18821      308,   309,    -1,   311,   312,   313,   314,   315,   316,   317,
18822      318,   319,   320,   321,   322,   323,   324,   325,    -1,   327,
18823      328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
18824      338,    -1,   340,   341,   342,   343,   344,   345,   346,   347,
18825      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
18826       -1,   359,   360,   361,   362,   363,    -1,   365,   366,   367,
18827      368,   369,   370,   371,   372,   373,   374,    -1,   376,   377,
18828      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
18829      388,   389,   390,    -1,   392,   393,    -1,   395,   396,   397,
18830      398,   399,   400,   401,    -1,   403,   404,   405,    -1,    -1,
18831      408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
18832      418,   419,   420,   421,    -1,    -1,   424,   425,   426,   427,
18833      428,    -1,    -1,   431,   432,   433,   434,   435,   436,   437,
18834       -1,   439,   440,   441,   442,   443,   444,    -1,    -1,   447,
18835       -1,    -1,   450,   451,   452,   453,   454,   455,   456,   457,
18836      458,   459,   460,   461,   462,   463,   464,   465,   466,   467,
18837      468,   469,    -1,     3,    -1,    -1,     6,    -1,    -1,   477,
18838      478,    11,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18839       20,    21,    22,    23,    24,    25,    26,    27,    -1,    29,
18840       30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,
18841       40,    -1,    42,    43,    44,    45,    46,    47,    48,    49,
18842       50,    51,    52,    53,    -1,    55,    56,    57,    58,    59,
18843       60,    -1,    -1,    63,    64,    65,    66,    67,    -1,    69,
18844       70,    71,    72,    73,    -1,    75,    -1,    77,    78,    79,
18845       80,    81,    82,    83,    84,    85,    -1,    87,    88,    89,
18846       90,    91,    92,    -1,    94,    95,    96,    97,    -1,    -1,
18847       -1,   101,    -1,    -1,    -1,   105,   106,   107,   108,   109,
18848      110,   111,   112,   113,   114,   115,    -1,   117,   118,   119,
18849      120,   121,   122,    -1,   124,   125,   126,   127,    -1,    -1,
18850      130,   131,   132,   133,   134,    -1,   136,   137,   138,    -1,
18851      140,   141,   142,    -1,   144,   145,   146,   147,   148,   149,
18852      150,   151,   152,   153,   154,   155,    -1,   157,   158,   159,
18853      160,    -1,   162,    -1,   164,   165,    -1,   167,   168,   169,
18854      170,   171,    -1,   173,   174,    -1,   176,   177,   178,    -1,
18855      180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
18856       -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
18857      200,   201,   202,   203,   204,   205,   206,   207,    -1,   209,
18858       -1,   211,   212,   213,   214,   215,   216,   217,   218,   219,
18859      220,    -1,    -1,   223,   224,   225,   226,   227,    -1,   229,
18860      230,   231,    -1,    -1,   234,   235,   236,   237,   238,   239,
18861      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
18862      250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
18863      260,   261,   262,    -1,   264,   265,   266,   267,    -1,   269,
18864      270,   271,   272,   273,   274,    -1,   276,   277,   278,    -1,
18865      280,   281,   282,    -1,    -1,   285,   286,   287,   288,   289,
18866      290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
18867      300,    -1,   302,   303,   304,   305,   306,   307,   308,   309,
18868       -1,   311,   312,   313,   314,   315,   316,   317,   318,   319,
18869      320,   321,   322,   323,   324,   325,    -1,   327,   328,   329,
18870      330,   331,   332,   333,   334,   335,   336,   337,   338,    -1,
18871      340,   341,   342,   343,   344,   345,   346,   347,   348,   349,
18872      350,   351,   352,   353,   354,   355,   356,   357,    -1,   359,
18873      360,   361,   362,   363,    -1,   365,   366,   367,   368,   369,
18874      370,   371,   372,   373,   374,    -1,   376,   377,   378,   379,
18875      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
18876      390,    -1,   392,   393,    -1,   395,   396,   397,   398,   399,
18877      400,   401,    -1,   403,   404,   405,    -1,    -1,   408,   409,
18878      410,   411,   412,   413,   414,   415,   416,   417,   418,   419,
18879      420,   421,    -1,    -1,   424,   425,   426,   427,   428,    -1,
18880       -1,   431,   432,   433,   434,   435,   436,   437,    -1,   439,
18881      440,   441,   442,   443,   444,    -1,    -1,   447,    -1,    -1,
18882      450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
18883      460,   461,   462,   463,   464,   465,   466,   467,   468,   469,
18884       -1,     3,    -1,    -1,    -1,    -1,    -1,   477,   478,    11,
18885       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
18886       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
18887       -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,
18888       42,    43,    44,    -1,    46,    47,    48,    49,    50,    -1,
18889       52,    53,    -1,    55,    56,    57,    58,    59,    60,    -1,
18890       -1,    63,    64,    65,    66,    67,    -1,    69,    70,    71,
18891       72,    73,    -1,    -1,    -1,    77,    78,    79,    80,    81,
18892       -1,    83,    84,    85,    -1,    87,    88,    89,    90,    91,
18893       92,    -1,    -1,    95,    96,    97,    -1,    -1,    -1,    -1,
18894       -1,    -1,    -1,   105,   106,   107,   108,   109,   110,   111,
18895      112,   113,    -1,   115,    -1,   117,   118,   119,   120,   121,
18896      122,    -1,   124,   125,   126,   127,    -1,    -1,   130,   131,
18897      132,   133,   134,    -1,   136,   137,   138,    -1,   140,   141,
18898      142,    -1,   144,   145,   146,   147,   148,   149,   150,   151,
18899      152,   153,    -1,   155,    -1,   157,   158,   159,   160,    -1,
18900      162,    -1,   164,    -1,   166,    -1,   168,   169,   170,   171,
18901       -1,   173,   174,    -1,   176,   177,   178,    -1,   180,   181,
18902      182,   183,   184,    -1,   186,   187,   188,   189,   190,   191,
18903      192,   193,   194,   195,   196,   197,    -1,   199,    -1,   201,
18904      202,   203,   204,   205,   206,   207,    -1,   209,    -1,   211,
18905       -1,    -1,   214,    -1,   216,   217,   218,   219,   220,    -1,
18906       -1,   223,   224,    -1,   226,    -1,    -1,   229,   230,   231,
18907       -1,    -1,   234,   235,   236,   237,   238,   239,   240,   241,
18908      242,   243,   244,   245,   246,   247,   248,   249,   250,    -1,
18909      252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
18910      262,    -1,   264,   265,    -1,   267,    -1,   269,   270,   271,
18911      272,   273,   274,    -1,   276,   277,    -1,    -1,   280,   281,
18912      282,    -1,    -1,   285,   286,   287,    -1,   289,    -1,   291,
18913      292,   293,   294,   295,   296,   297,   298,   299,   300,    -1,
18914      302,   303,   304,   305,   306,   307,   308,   309,    -1,   311,
18915      312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
18916      322,   323,   324,   325,    -1,   327,   328,   329,   330,   331,
18917      332,   333,   334,   335,   336,   337,   338,    -1,   340,   341,
18918       -1,   343,   344,   345,   346,   347,   348,   349,   350,   351,
18919      352,   353,   354,   355,   356,   357,    -1,   359,   360,   361,
18920      362,   363,    -1,   365,   366,   367,   368,   369,    -1,   371,
18921      372,   373,   374,    -1,   376,   377,   378,   379,   380,   381,
18922      382,   383,   384,   385,   386,   387,   388,   389,   390,    -1,
18923      392,   393,    -1,   395,    -1,   397,   398,   399,   400,   401,
18924       -1,   403,   404,   405,    -1,    -1,   408,   409,   410,   411,
18925      412,    -1,   414,   415,   416,   417,   418,   419,   420,   421,
18926       -1,    -1,   424,   425,   426,   427,   428,    -1,    -1,   431,
18927      432,   433,   434,   435,   436,   437,    -1,   439,    -1,   441,
18928      442,   443,   444,    -1,    -1,   447,    -1,    -1,   450,   451,
18929      452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
18930      462,   463,   464,   465,   466,   467,   468,   469,    -1,     3,
18931       -1,     5,     6,    -1,    -1,   477,   478,    11,    -1,    -1,
18932       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
18933       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
18934       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
18935       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
18936       54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
18937       64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
18938       74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
18939       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
18940       94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
18941      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
18942      114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
18943      124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
18944      134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
18945      144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
18946      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
18947      164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
18948      174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
18949      184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
18950      194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
18951      204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
18952      214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
18953      224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
18954      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
18955      244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
18956      254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
18957      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
18958      274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
18959      284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
18960      294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
18961      304,   305,   306,   307,   308,   309,   310,   311,   312,   313,
18962      314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
18963      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
18964      334,   335,   336,   337,   338,   339,   340,   341,   342,   343,
18965      344,   345,   346,   347,   348,   349,   350,   351,   352,   353,
18966      354,   355,   356,   357,   358,   359,   360,   361,   362,   363,
18967      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
18968      374,   375,   376,   377,   378,   379,   380,   381,   382,   383,
18969      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
18970      394,   395,   396,   397,   398,   399,   400,   401,   402,   403,
18971      404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
18972      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
18973      424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
18974      434,   435,   436,   437,   438,   439,   440,   441,   442,   443,
18975      444,   445,   446,   447,   448,   449,   450,   451,   452,   453,
18976      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
18977      464,   465,   466,   467,   468,   469,     3,    -1,    -1,    -1,
18978       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18979       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
18980       27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
18981       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
18982       47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
18983       57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
18984       67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
18985       77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
18986       87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
18987       97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
18988      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
18989      117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
18990      127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
18991      137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
18992      147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
18993      157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
18994      167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
18995      177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
18996      187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
18997      197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
18998      207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
18999      217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
19000      227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
19001      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
19002      247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
19003      257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
19004      267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
19005      277,   278,   279,   280,   281,   282,   283,   284,   285,   286,
19006      287,   288,   289,   290,   291,   292,   293,   294,   295,   296,
19007      297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
19008      307,   308,   309,   310,   311,   312,   313,   314,   315,   316,
19009      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
19010      327,   328,   329,   330,   331,   332,   333,   334,   335,   336,
19011      337,   338,   339,   340,   341,   342,   343,   344,   345,   346,
19012      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
19013      357,   358,   359,   360,   361,   362,   363,   364,   365,   366,
19014      367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
19015      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
19016      387,   388,   389,   390,   391,   392,   393,   394,   395,   396,
19017      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
19018      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
19019      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
19020      427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
19021      437,   438,   439,   440,   441,   442,   443,   444,   445,   446,
19022      447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
19023      457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
19024      467,   468,   469,     3,    -1,    -1,    -1,    -1,    -1,    -1,
19025       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19026       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
19027       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
19028       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
19029       50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
19030       60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
19031       70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
19032       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
19033       90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
19034      100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
19035      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
19036      120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
19037      130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
19038      140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
19039      150,   151,   152,   153,   154,   155,   156,   157,   158,   159,
19040      160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
19041      170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
19042      180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
19043      190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
19044      200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
19045      210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
19046      220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
19047      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
19048      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
19049      250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
19050      260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
19051      270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
19052      280,   281,   282,   283,   284,   285,   286,   287,   288,   289,
19053      290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
19054      300,   301,   302,   303,   304,   305,   306,   307,   308,   309,
19055      310,   311,   312,   313,   314,   315,   316,   317,   318,   319,
19056      320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
19057      330,   331,   332,   333,   334,   335,   336,   337,   338,   339,
19058      340,   341,   342,   343,   344,   345,   346,   347,   348,   349,
19059      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
19060      360,   361,   362,   363,   364,   365,   366,   367,   368,   369,
19061      370,   371,   372,   373,   374,   375,   376,   377,   378,   379,
19062      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
19063      390,   391,   392,   393,   394,   395,   396,   397,   398,   399,
19064      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
19065      410,   411,   412,   413,   414,   415,   416,   417,   418,   419,
19066      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
19067      430,   431,   432,   433,   434,   435,   436,   437,   438,   439,
19068      440,   441,   442,   443,   444,   445,   446,   447,   448,   449,
19069      450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
19070      460,   461,   462,   463,   464,   465,   466,   467,   468,   469,
19071        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19072       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
19073       23,    24,    25,    26,    27,    -1,    29,    30,    31,    -1,
19074       -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    42,
19075       43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
19076       53,    -1,    55,    56,    57,    58,    59,    60,    -1,    62,
19077       63,    64,    65,    66,    67,    -1,    69,    70,    71,    72,
19078       73,    -1,    75,    -1,    77,    78,    79,    80,    81,    82,
19079       83,    84,    85,    -1,    87,    88,    89,    90,    91,    92,
19080       -1,    94,    95,    96,    97,    98,    99,   100,   101,   102,
19081      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
19082      113,    -1,   115,    -1,   117,   118,   119,   120,   121,   122,
19083       -1,   124,   125,   126,   127,    -1,    -1,   130,   131,   132,
19084      133,   134,    -1,   136,   137,   138,    -1,   140,   141,   142,
19085       -1,   144,   145,   146,   147,   148,   149,   150,   151,   152,
19086      153,    -1,   155,    -1,   157,   158,   159,   160,    -1,   162,
19087       -1,   164,   165,    -1,   167,   168,   169,   170,   171,    -1,
19088      173,   174,    -1,   176,   177,   178,    -1,   180,   181,   182,
19089      183,   184,   185,   186,   187,   188,   189,    -1,   191,   192,
19090      193,   194,   195,   196,   197,    -1,   199,   200,   201,   202,
19091      203,   204,   205,   206,   207,    -1,   209,    -1,   211,   212,
19092      213,   214,   215,   216,   217,   218,   219,   220,    -1,    -1,
19093      223,   224,   225,   226,   227,    -1,   229,   230,   231,   232,
19094      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
19095      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
19096      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
19097       -1,   264,   265,   266,   267,    -1,   269,   270,   271,   272,
19098      273,   274,    -1,   276,   277,    -1,    -1,   280,   281,   282,
19099       -1,    -1,   285,   286,   287,   288,   289,   290,   291,   292,
19100      293,   294,   295,   296,   297,   298,   299,   300,    -1,   302,
19101      303,   304,   305,   306,   307,   308,   309,    -1,   311,   312,
19102      313,   314,   315,   316,   317,   318,   319,   320,   321,   322,
19103      323,   324,   325,    -1,   327,   328,   329,   330,   331,   332,
19104      333,   334,   335,   336,   337,   338,    -1,   340,   341,   342,
19105      343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
19106      353,   354,   355,   356,   357,    -1,   359,   360,   361,   362,
19107      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
19108      373,   374,    -1,   376,   377,   378,   379,   380,   381,   382,
19109      383,   384,   385,   386,   387,   388,   389,   390,    -1,   392,
19110      393,    -1,   395,   396,   397,   398,   399,   400,   401,    -1,
19111      403,   404,   405,    -1,    -1,   408,   409,   410,   411,   412,
19112       -1,   414,   415,   416,   417,   418,   419,   420,   421,    -1,
19113       -1,   424,   425,   426,   427,   428,   429,    -1,   431,   432,
19114      433,   434,   435,   436,   437,    -1,   439,   440,   441,   442,
19115      443,   444,    -1,    -1,   447,    -1,    -1,   450,   451,   452,
19116      453,   454,   455,   456,   457,   458,   459,   460,   461,   462,
19117      463,   464,   465,   466,   467,   468,   469,     3,    -1,    -1,
19118        6,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19119       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
19120       26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,
19121       -1,    -1,    -1,    39,    40,    -1,    42,    43,    44,    45,
19122       46,    47,    48,    49,    50,    51,    52,    53,    -1,    55,
19123       56,    57,    58,    59,    60,    -1,    -1,    63,    64,    65,
19124       66,    67,    -1,    69,    70,    71,    72,    73,    -1,    75,
19125       -1,    77,    78,    79,    80,    81,    82,    83,    84,    85,
19126       -1,    87,    88,    89,    90,    91,    92,    -1,    94,    95,
19127       96,    97,    -1,    -1,    -1,   101,    -1,    -1,    -1,   105,
19128      106,   107,   108,   109,   110,   111,   112,   113,    -1,   115,
19129       -1,   117,   118,   119,   120,   121,   122,    -1,   124,   125,
19130      126,   127,    -1,    -1,   130,   131,   132,   133,   134,    -1,
19131      136,   137,   138,    -1,   140,   141,   142,    -1,   144,   145,
19132      146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
19133       -1,   157,   158,   159,   160,    -1,   162,    -1,   164,   165,
19134       -1,   167,   168,   169,   170,   171,    -1,   173,   174,    -1,
19135      176,   177,   178,    -1,   180,   181,   182,   183,   184,   185,
19136      186,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
19137      196,   197,    -1,   199,   200,   201,   202,   203,   204,   205,
19138      206,   207,    -1,   209,    -1,   211,   212,   213,   214,   215,
19139      216,   217,   218,   219,   220,    -1,    -1,   223,   224,   225,
19140      226,   227,    -1,   229,   230,   231,    -1,    -1,   234,   235,
19141      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
19142      246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
19143      256,   257,   258,   259,   260,   261,   262,    -1,   264,   265,
19144      266,   267,    -1,   269,   270,   271,   272,   273,   274,    -1,
19145      276,   277,   278,    -1,   280,   281,   282,    -1,    -1,   285,
19146      286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
19147      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
19148      306,   307,   308,   309,    -1,   311,   312,   313,   314,   315,
19149      316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
19150       -1,   327,   328,   329,   330,   331,   332,   333,   334,   335,
19151      336,   337,   338,    -1,   340,   341,   342,   343,   344,   345,
19152      346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
19153      356,   357,    -1,   359,   360,   361,   362,   363,    -1,   365,
19154      366,   367,   368,   369,   370,   371,   372,   373,   374,    -1,
19155      376,   377,   378,   379,   380,   381,   382,   383,   384,   385,
19156      386,   387,   388,   389,   390,    -1,   392,   393,    -1,   395,
19157      396,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
19158       -1,    -1,   408,   409,   410,   411,   412,   413,   414,   415,
19159      416,   417,   418,   419,   420,   421,    -1,    -1,   424,   425,
19160      426,   427,   428,    -1,    -1,   431,   432,   433,   434,   435,
19161      436,   437,    -1,   439,   440,   441,   442,   443,   444,    -1,
19162       -1,   447,    -1,    -1,   450,   451,   452,   453,   454,   455,
19163      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
19164      466,   467,   468,   469,     3,    -1,    -1,    -1,    -1,    -1,
19165       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19166       -1,    20,    21,    22,    23,    24,    25,    26,    27,    28,
19167       29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19168       39,    40,    -1,    42,    43,    44,    45,    46,    47,    48,
19169       49,    50,    51,    52,    53,    -1,    55,    56,    57,    58,
19170       59,    60,    -1,    -1,    63,    64,    65,    66,    67,    -1,
19171       69,    70,    71,    72,    73,    -1,    75,    -1,    77,    78,
19172       79,    80,    81,    82,    83,    84,    85,    -1,    87,    88,
19173       89,    90,    91,    92,    -1,    94,    95,    96,    97,    -1,
19174       -1,    -1,   101,    -1,    -1,   104,   105,   106,   107,   108,
19175      109,   110,   111,   112,   113,    -1,   115,    -1,   117,   118,
19176      119,   120,   121,   122,    -1,   124,   125,   126,   127,    -1,
19177       -1,   130,   131,   132,   133,   134,    -1,   136,   137,   138,
19178       -1,   140,   141,   142,    -1,   144,   145,   146,   147,   148,
19179      149,   150,   151,   152,   153,    -1,   155,    -1,   157,   158,
19180      159,   160,    -1,   162,    -1,   164,   165,    -1,   167,   168,
19181      169,   170,   171,    -1,   173,   174,    -1,   176,   177,   178,
19182       -1,   180,   181,   182,   183,   184,   185,   186,   187,   188,
19183      189,    -1,   191,   192,   193,   194,   195,   196,   197,    -1,
19184      199,   200,   201,   202,   203,   204,   205,   206,   207,    -1,
19185      209,    -1,   211,   212,   213,   214,   215,   216,   217,   218,
19186      219,   220,    -1,    -1,   223,   224,   225,   226,   227,    -1,
19187      229,   230,   231,    -1,    -1,   234,   235,   236,   237,   238,
19188      239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
19189      249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
19190      259,   260,   261,   262,    -1,   264,   265,   266,   267,    -1,
19191      269,   270,   271,   272,   273,   274,    -1,   276,   277,    -1,
19192       -1,   280,   281,   282,    -1,    -1,   285,   286,   287,   288,
19193      289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
19194      299,   300,    -1,   302,   303,   304,   305,   306,   307,   308,
19195      309,    -1,   311,   312,   313,   314,   315,   316,   317,   318,
19196      319,   320,   321,   322,   323,   324,   325,    -1,   327,   328,
19197      329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
19198       -1,   340,   341,   342,   343,   344,   345,   346,   347,   348,
19199      349,   350,   351,   352,   353,   354,   355,   356,   357,    -1,
19200      359,   360,   361,   362,   363,   364,   365,   366,   367,   368,
19201      369,   370,   371,   372,   373,   374,    -1,   376,   377,   378,
19202      379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
19203      389,   390,    -1,   392,   393,    -1,   395,   396,   397,   398,
19204      399,   400,   401,    -1,   403,   404,   405,    -1,    -1,   408,
19205      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
19206      419,   420,   421,    -1,    -1,   424,   425,   426,   427,   428,
19207       -1,    -1,   431,   432,   433,   434,   435,   436,   437,    -1,
19208      439,   440,   441,   442,   443,   444,    -1,    -1,   447,    -1,
19209       -1,   450,   451,   452,   453,   454,   455,   456,   457,   458,
19210      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
19211      469,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19212       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
19213       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
19214       -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,
19215       42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
19216       52,    53,    -1,    55,    56,    57,    58,    59,    60,    -1,
19217       -1,    63,    64,    65,    66,    67,    -1,    69,    70,    71,
19218       72,    73,    -1,    75,    -1,    77,    78,    79,    80,    81,
19219       82,    83,    84,    85,    -1,    87,    88,    89,    90,    91,
19220       92,    -1,    94,    95,    96,    97,    -1,    -1,    -1,   101,
19221       -1,    -1,   104,   105,   106,   107,   108,   109,   110,   111,
19222      112,   113,    -1,   115,    -1,   117,   118,   119,   120,   121,
19223      122,    -1,   124,   125,   126,   127,    -1,    -1,   130,   131,
19224      132,   133,   134,    -1,   136,   137,   138,    -1,   140,   141,
19225      142,    -1,   144,   145,   146,   147,   148,   149,   150,   151,
19226      152,   153,    -1,   155,    -1,   157,   158,   159,   160,    -1,
19227      162,    -1,   164,   165,    -1,   167,   168,   169,   170,   171,
19228       -1,   173,   174,    -1,   176,   177,   178,    -1,   180,   181,
19229      182,   183,   184,   185,   186,   187,   188,   189,    -1,   191,
19230      192,   193,   194,   195,   196,   197,    -1,   199,   200,   201,
19231      202,   203,   204,   205,   206,   207,    -1,   209,    -1,   211,
19232      212,   213,   214,   215,   216,   217,   218,   219,   220,    -1,
19233       -1,   223,   224,   225,   226,   227,    -1,   229,   230,   231,
19234       -1,    -1,   234,   235,   236,   237,   238,   239,   240,   241,
19235      242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
19236      252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
19237      262,    -1,   264,   265,   266,   267,    -1,   269,   270,   271,
19238      272,   273,   274,    -1,   276,   277,    -1,    -1,   280,   281,
19239      282,    -1,    -1,   285,   286,   287,   288,   289,   290,   291,
19240      292,   293,   294,   295,   296,   297,   298,   299,   300,    -1,
19241      302,   303,   304,   305,   306,   307,   308,   309,    -1,   311,
19242      312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
19243      322,   323,   324,   325,    -1,   327,   328,   329,   330,   331,
19244      332,   333,   334,   335,   336,   337,   338,    -1,   340,   341,
19245      342,   343,   344,   345,   346,   347,   348,   349,   350,   351,
19246      352,   353,   354,   355,   356,   357,    -1,   359,   360,   361,
19247      362,   363,   364,   365,   366,   367,   368,   369,   370,   371,
19248      372,   373,   374,    -1,   376,   377,   378,   379,   380,   381,
19249      382,   383,   384,   385,   386,   387,   388,   389,   390,    -1,
19250      392,   393,    -1,   395,   396,   397,   398,   399,   400,   401,
19251       -1,   403,   404,   405,    -1,    -1,   408,   409,   410,   411,
19252      412,    -1,   414,   415,   416,   417,   418,   419,   420,   421,
19253       -1,    -1,   424,   425,   426,   427,   428,    -1,    -1,   431,
19254      432,   433,   434,   435,   436,   437,    -1,   439,   440,   441,
19255      442,   443,   444,    -1,    -1,   447,    -1,    -1,   450,   451,
19256      452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
19257      462,   463,   464,   465,   466,   467,   468,   469,     3,    -1,
19258       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19259       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
19260       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
19261       -1,    -1,    -1,    -1,    39,    40,    -1,    42,    43,    44,
19262       45,    46,    47,    48,    49,    50,    51,    52,    53,    -1,
19263       55,    56,    57,    58,    59,    60,    -1,    -1,    63,    64,
19264       65,    66,    67,    -1,    69,    70,    71,    72,    73,    -1,
19265       75,    -1,    77,    78,    79,    80,    81,    82,    83,    84,
19266       85,    -1,    87,    88,    89,    90,    91,    92,    -1,    94,
19267       95,    96,    97,    -1,    -1,    -1,   101,    -1,    -1,   104,
19268      105,   106,   107,   108,   109,   110,   111,   112,   113,    -1,
19269      115,    -1,   117,   118,   119,   120,   121,   122,    -1,   124,
19270      125,   126,   127,    -1,    -1,   130,   131,   132,   133,   134,
19271       -1,   136,   137,   138,    -1,   140,   141,   142,    -1,   144,
19272      145,   146,   147,   148,   149,   150,   151,   152,   153,    -1,
19273      155,    -1,   157,   158,   159,   160,    -1,   162,    -1,   164,
19274      165,    -1,   167,   168,   169,   170,   171,    -1,   173,   174,
19275       -1,   176,   177,   178,    -1,   180,   181,   182,   183,   184,
19276      185,   186,   187,   188,   189,    -1,   191,   192,   193,   194,
19277      195,   196,   197,    -1,   199,   200,   201,   202,   203,   204,
19278      205,   206,   207,    -1,   209,    -1,   211,   212,   213,   214,
19279      215,   216,   217,   218,   219,   220,    -1,    -1,   223,   224,
19280      225,   226,   227,    -1,   229,   230,   231,    -1,    -1,   234,
19281      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
19282      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
19283      255,   256,   257,   258,   259,   260,   261,   262,    -1,   264,
19284      265,   266,   267,    -1,   269,   270,   271,   272,   273,   274,
19285       -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,
19286      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
19287      295,   296,   297,   298,   299,   300,    -1,   302,   303,   304,
19288      305,   306,   307,   308,   309,    -1,   311,   312,   313,   314,
19289      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
19290      325,    -1,   327,   328,   329,   330,   331,   332,   333,   334,
19291      335,   336,   337,   338,    -1,   340,   341,   342,   343,   344,
19292      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
19293      355,   356,   357,    -1,   359,   360,   361,   362,   363,   364,
19294      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
19295       -1,   376,   377,   378,   379,   380,   381,   382,   383,   384,
19296      385,   386,   387,   388,   389,   390,    -1,   392,   393,    -1,
19297      395,   396,   397,   398,   399,   400,   401,    -1,   403,   404,
19298      405,    -1,    -1,   408,   409,   410,   411,   412,    -1,   414,
19299      415,   416,   417,   418,   419,   420,   421,    -1,    -1,   424,
19300      425,   426,   427,   428,   429,    -1,   431,   432,   433,   434,
19301      435,   436,   437,    -1,   439,   440,   441,   442,   443,   444,
19302       -1,    -1,   447,    -1,    -1,   450,   451,   452,   453,   454,
19303      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
19304      465,   466,   467,   468,   469,     3,    -1,    -1,    -1,    -1,
19305       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19306       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
19307       -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,
19308       -1,    39,    40,    -1,    42,    43,    44,    45,    46,    47,
19309       48,    49,    50,    51,    52,    53,    -1,    55,    56,    57,
19310       58,    59,    60,    -1,    -1,    63,    64,    65,    66,    67,
19311       -1,    69,    70,    71,    72,    73,    -1,    75,    -1,    77,
19312       78,    79,    80,    81,    82,    83,    84,    85,    -1,    87,
19313       88,    89,    90,    91,    92,    -1,    94,    95,    96,    97,
19314       -1,    -1,    -1,   101,    -1,    -1,   104,   105,   106,   107,
19315      108,   109,   110,   111,   112,   113,    -1,   115,    -1,   117,
19316      118,   119,   120,   121,   122,    -1,   124,   125,   126,   127,
19317       -1,    -1,   130,   131,   132,   133,   134,    -1,   136,   137,
19318      138,    -1,   140,   141,   142,    -1,   144,   145,   146,   147,
19319      148,   149,   150,   151,   152,   153,    -1,   155,    -1,   157,
19320      158,   159,   160,    -1,   162,    -1,   164,   165,    -1,   167,
19321      168,   169,   170,   171,    -1,   173,   174,   175,   176,   177,
19322      178,    -1,   180,   181,   182,   183,   184,   185,   186,   187,
19323      188,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
19324       -1,   199,   200,   201,   202,   203,   204,   205,   206,   207,
19325       -1,   209,    -1,   211,   212,   213,   214,   215,   216,   217,
19326      218,   219,   220,    -1,    -1,   223,   224,   225,   226,   227,
19327       -1,   229,   230,   231,    -1,    -1,   234,   235,   236,   237,
19328      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
19329      248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
19330      258,   259,   260,   261,   262,    -1,   264,   265,   266,   267,
19331       -1,   269,   270,   271,   272,   273,   274,    -1,   276,   277,
19332       -1,    -1,   280,   281,   282,    -1,    -1,   285,   286,   287,
19333      288,   289,   290,   291,   292,   293,   294,   295,   296,   297,
19334      298,   299,   300,    -1,   302,   303,   304,   305,   306,   307,
19335      308,   309,    -1,   311,   312,   313,   314,   315,   316,   317,
19336      318,   319,   320,   321,   322,   323,   324,   325,    -1,   327,
19337      328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
19338      338,    -1,   340,   341,   342,   343,   344,   345,   346,   347,
19339      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
19340       -1,   359,   360,   361,   362,   363,   364,   365,   366,   367,
19341      368,   369,   370,   371,   372,   373,   374,    -1,   376,   377,
19342      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
19343      388,   389,   390,    -1,   392,   393,    -1,   395,   396,   397,
19344      398,   399,   400,   401,    -1,   403,   404,   405,    -1,    -1,
19345      408,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
19346      418,   419,   420,   421,    -1,    -1,   424,   425,   426,   427,
19347      428,    -1,    -1,   431,   432,   433,   434,   435,   436,   437,
19348       -1,   439,   440,   441,   442,   443,   444,    -1,    -1,   447,
19349       -1,    -1,   450,   451,   452,   453,   454,   455,   456,   457,
19350      458,   459,   460,   461,   462,   463,   464,   465,   466,   467,
19351      468,   469,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19352       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
19353       21,    22,    23,    24,    25,    26,    27,    -1,    29,    30,
19354       31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,
19355       -1,    42,    43,    44,    45,    46,    47,    48,    49,    50,
19356       51,    52,    53,    -1,    55,    56,    57,    58,    59,    60,
19357       -1,    -1,    63,    64,    65,    66,    67,    -1,    69,    70,
19358       71,    72,    73,    -1,    75,    -1,    77,    78,    79,    80,
19359       81,    82,    83,    84,    85,    -1,    87,    88,    89,    90,
19360       91,    92,    -1,    94,    95,    96,    97,    -1,    -1,    -1,
19361      101,    -1,    -1,   104,   105,   106,   107,   108,   109,   110,
19362      111,   112,   113,    -1,   115,    -1,   117,   118,   119,   120,
19363      121,   122,    -1,   124,   125,   126,   127,    -1,    -1,   130,
19364      131,   132,   133,   134,    -1,   136,   137,   138,    -1,   140,
19365      141,   142,    -1,   144,   145,   146,   147,   148,   149,   150,
19366      151,   152,   153,    -1,   155,    -1,   157,   158,   159,   160,
19367       -1,   162,    -1,   164,   165,    -1,   167,   168,   169,   170,
19368      171,    -1,   173,   174,    -1,   176,   177,   178,    -1,   180,
19369      181,   182,   183,   184,   185,   186,   187,   188,   189,    -1,
19370      191,   192,   193,   194,   195,   196,   197,    -1,   199,   200,
19371      201,   202,   203,   204,   205,   206,   207,    -1,   209,    -1,
19372      211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
19373       -1,    -1,   223,   224,   225,   226,   227,    -1,   229,   230,
19374      231,    -1,    -1,   234,   235,   236,   237,   238,   239,   240,
19375      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
19376      251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
19377      261,   262,    -1,   264,   265,   266,   267,    -1,   269,   270,
19378      271,   272,   273,   274,    -1,   276,   277,    -1,    -1,   280,
19379      281,   282,    -1,    -1,   285,   286,   287,   288,   289,   290,
19380      291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
19381       -1,   302,   303,   304,   305,   306,   307,   308,   309,    -1,
19382      311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
19383      321,   322,   323,   324,   325,    -1,   327,   328,   329,   330,
19384      331,   332,   333,   334,   335,   336,   337,   338,    -1,   340,
19385      341,   342,   343,   344,   345,   346,   347,   348,   349,   350,
19386      351,   352,   353,   354,   355,   356,   357,    -1,   359,   360,
19387      361,   362,   363,   364,   365,   366,   367,   368,   369,   370,
19388      371,   372,   373,   374,    -1,   376,   377,   378,   379,   380,
19389      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
19390       -1,   392,   393,    -1,   395,   396,   397,   398,   399,   400,
19391      401,    -1,   403,   404,   405,    -1,    -1,   408,   409,   410,
19392      411,   412,    -1,   414,   415,   416,   417,   418,   419,   420,
19393      421,    -1,    -1,   424,   425,   426,   427,   428,    -1,    -1,
19394      431,   432,   433,   434,   435,   436,   437,    -1,   439,   440,
19395      441,   442,   443,   444,    -1,    -1,   447,    -1,    -1,   450,
19396      451,   452,   453,   454,   455,   456,   457,   458,   459,   460,
19397      461,   462,   463,   464,   465,   466,   467,   468,   469,     3,
19398       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19399       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
19400       24,    25,    26,    27,    -1,    29,    30,    31,    -1,    -1,
19401       -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    42,    43,
19402       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
19403       -1,    55,    56,    57,    58,    59,    60,    -1,    -1,    63,
19404       64,    65,    66,    67,    -1,    69,    70,    71,    72,    73,
19405       -1,    75,    -1,    77,    78,    79,    80,    81,    82,    83,
19406       84,    85,    -1,    87,    88,    89,    90,    91,    92,    -1,
19407       94,    95,    96,    97,    -1,    -1,    -1,   101,    -1,    -1,
19408      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
19409       -1,   115,    -1,   117,   118,   119,   120,   121,   122,    -1,
19410      124,   125,   126,   127,    -1,    -1,   130,   131,   132,   133,
19411      134,    -1,   136,   137,   138,    -1,   140,   141,   142,    -1,
19412      144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
19413       -1,   155,    -1,   157,   158,   159,   160,    -1,   162,    -1,
19414      164,   165,    -1,   167,   168,   169,   170,   171,    -1,   173,
19415      174,    -1,   176,   177,   178,    -1,   180,   181,   182,   183,
19416      184,   185,   186,   187,   188,   189,    -1,   191,   192,   193,
19417      194,   195,   196,   197,    -1,   199,   200,   201,   202,   203,
19418      204,   205,   206,   207,    -1,   209,    -1,   211,   212,   213,
19419      214,   215,   216,   217,   218,   219,   220,    -1,    -1,   223,
19420      224,   225,   226,   227,    -1,   229,   230,   231,    -1,    -1,
19421      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
19422      244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
19423      254,   255,   256,   257,   258,   259,   260,   261,   262,    -1,
19424      264,   265,   266,   267,    -1,   269,   270,   271,   272,   273,
19425      274,    -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,
19426       -1,   285,   286,   287,   288,   289,   290,   291,   292,   293,
19427      294,   295,   296,   297,   298,   299,   300,    -1,   302,   303,
19428      304,   305,   306,   307,   308,   309,    -1,   311,   312,   313,
19429      314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
19430      324,   325,    -1,   327,   328,   329,   330,   331,   332,   333,
19431      334,   335,   336,   337,   338,    -1,   340,   341,   342,   343,
19432      344,   345,   346,   347,   348,   349,   350,   351,   352,   353,
19433      354,   355,   356,   357,    -1,   359,   360,   361,   362,   363,
19434      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
19435      374,    -1,   376,   377,   378,   379,   380,   381,   382,   383,
19436      384,   385,   386,   387,   388,   389,   390,    -1,   392,   393,
19437       -1,   395,   396,   397,   398,   399,   400,   401,    -1,   403,
19438      404,   405,    -1,    -1,   408,   409,   410,   411,   412,    -1,
19439      414,   415,   416,   417,   418,   419,   420,   421,    -1,    -1,
19440      424,   425,   426,   427,   428,    -1,    -1,   431,   432,   433,
19441      434,   435,   436,   437,    -1,   439,   440,   441,   442,   443,
19442      444,    -1,    -1,   447,    -1,    -1,   450,   451,   452,   453,
19443      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
19444      464,   465,   466,   467,   468,   469,     3,    -1,    -1,    -1,
19445       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19446       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
19447       27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
19448       -1,    -1,    39,    40,    -1,    42,    43,    44,    45,    46,
19449       47,    48,    49,    50,    51,    52,    53,    -1,    55,    56,
19450       57,    58,    59,    60,    -1,    -1,    63,    64,    65,    66,
19451       67,    -1,    69,    70,    71,    72,    73,    -1,    75,    -1,
19452       77,    78,    79,    80,    81,    82,    83,    84,    85,    -1,
19453       87,    88,    89,    90,    91,    92,    -1,    94,    95,    96,
19454       97,    -1,    -1,    -1,   101,    -1,    -1,   104,   105,   106,
19455      107,   108,   109,   110,   111,   112,   113,    -1,   115,    -1,
19456      117,   118,   119,   120,   121,   122,    -1,   124,   125,   126,
19457      127,    -1,    -1,   130,   131,   132,   133,   134,    -1,   136,
19458      137,   138,    -1,   140,   141,   142,    -1,   144,   145,   146,
19459      147,   148,   149,   150,   151,   152,   153,    -1,   155,    -1,
19460      157,   158,   159,   160,    -1,   162,    -1,   164,   165,    -1,
19461      167,   168,   169,   170,   171,    -1,   173,   174,    -1,   176,
19462      177,   178,    -1,   180,   181,   182,   183,   184,   185,   186,
19463      187,   188,   189,    -1,   191,   192,   193,   194,   195,   196,
19464      197,    -1,   199,   200,   201,   202,   203,   204,   205,   206,
19465      207,    -1,   209,    -1,   211,   212,   213,   214,   215,   216,
19466      217,   218,   219,   220,    -1,    -1,   223,   224,   225,   226,
19467      227,    -1,   229,   230,   231,    -1,    -1,   234,   235,   236,
19468      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
19469      247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
19470      257,   258,   259,   260,   261,   262,    -1,   264,   265,   266,
19471      267,    -1,   269,   270,   271,   272,   273,   274,    -1,   276,
19472      277,    -1,    -1,   280,   281,   282,    -1,    -1,   285,   286,
19473      287,   288,   289,   290,   291,   292,   293,   294,   295,   296,
19474      297,   298,   299,   300,    -1,   302,   303,   304,   305,   306,
19475      307,   308,   309,    -1,   311,   312,   313,   314,   315,   316,
19476      317,   318,   319,   320,   321,   322,   323,   324,   325,    -1,
19477      327,   328,   329,   330,   331,   332,   333,   334,   335,   336,
19478      337,   338,    -1,   340,   341,   342,   343,   344,   345,   346,
19479      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
19480      357,    -1,   359,   360,   361,   362,   363,   364,   365,   366,
19481      367,   368,   369,   370,   371,   372,   373,   374,    -1,   376,
19482      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
19483      387,   388,   389,   390,    -1,   392,   393,    -1,   395,   396,
19484      397,   398,   399,   400,   401,    -1,   403,   404,   405,    -1,
19485       -1,   408,   409,   410,   411,   412,    -1,   414,   415,   416,
19486      417,   418,   419,   420,   421,    -1,    -1,   424,   425,   426,
19487      427,   428,    -1,    -1,   431,   432,   433,   434,   435,   436,
19488      437,    -1,   439,   440,   441,   442,   443,   444,    -1,    -1,
19489      447,    -1,    -1,   450,   451,   452,   453,   454,   455,   456,
19490      457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
19491      467,   468,   469,     3,    -1,    -1,    -1,    -1,    -1,    -1,
19492       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19493       20,    21,    22,    23,    24,    25,    26,    27,    -1,    29,
19494       30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,
19495       40,    -1,    42,    43,    44,    45,    46,    47,    48,    49,
19496       50,    51,    52,    53,    -1,    55,    56,    57,    58,    59,
19497       60,    -1,    -1,    63,    64,    65,    66,    67,    -1,    69,
19498       70,    71,    72,    73,    -1,    75,    -1,    77,    78,    79,
19499       80,    81,    82,    83,    84,    85,    -1,    87,    88,    89,
19500       90,    91,    92,    -1,    94,    95,    96,    97,    -1,    -1,
19501       -1,   101,    -1,    -1,   104,   105,   106,   107,   108,   109,
19502      110,   111,   112,   113,    -1,   115,    -1,   117,   118,   119,
19503      120,   121,   122,    -1,   124,   125,   126,   127,    -1,    -1,
19504      130,   131,   132,   133,   134,    -1,   136,   137,   138,    -1,
19505      140,   141,   142,    -1,   144,   145,   146,   147,   148,   149,
19506      150,   151,   152,   153,    -1,   155,    -1,   157,   158,   159,
19507      160,    -1,   162,    -1,   164,   165,    -1,   167,   168,   169,
19508      170,   171,    -1,   173,   174,    -1,   176,   177,   178,    -1,
19509      180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
19510       -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
19511      200,   201,   202,   203,   204,   205,   206,   207,    -1,   209,
19512       -1,   211,   212,   213,   214,   215,   216,   217,   218,   219,
19513      220,    -1,    -1,   223,   224,   225,   226,   227,    -1,   229,
19514      230,   231,    -1,    -1,   234,   235,   236,   237,   238,   239,
19515      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
19516      250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
19517      260,   261,   262,    -1,   264,   265,   266,   267,    -1,   269,
19518      270,   271,   272,   273,   274,    -1,   276,   277,    -1,    -1,
19519      280,   281,   282,    -1,    -1,   285,   286,   287,   288,   289,
19520      290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
19521      300,    -1,   302,   303,   304,   305,   306,   307,   308,   309,
19522       -1,   311,   312,   313,   314,   315,   316,   317,   318,   319,
19523      320,   321,   322,   323,   324,   325,    -1,   327,   328,   329,
19524      330,   331,   332,   333,   334,   335,   336,   337,   338,    -1,
19525      340,   341,   342,   343,   344,   345,   346,   347,   348,   349,
19526      350,   351,   352,   353,   354,   355,   356,   357,    -1,   359,
19527      360,   361,   362,   363,   364,   365,   366,   367,   368,   369,
19528      370,   371,   372,   373,   374,    -1,   376,   377,   378,   379,
19529      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
19530      390,    -1,   392,   393,    -1,   395,   396,   397,   398,   399,
19531      400,   401,    -1,   403,   404,   405,    -1,    -1,   408,   409,
19532      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
19533      420,   421,    -1,    -1,   424,   425,   426,   427,   428,    -1,
19534       -1,   431,   432,   433,   434,   435,   436,   437,    -1,   439,
19535      440,   441,   442,   443,   444,    -1,    -1,   447,    -1,    -1,
19536      450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
19537      460,   461,   462,   463,   464,   465,   466,   467,   468,   469,
19538        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19539       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
19540       23,    24,    25,    26,    27,    -1,    29,    30,    31,    -1,
19541       -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    42,
19542       43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
19543       53,    -1,    55,    56,    57,    58,    59,    60,    -1,    -1,
19544       63,    64,    65,    66,    67,    -1,    69,    70,    71,    72,
19545       73,    -1,    75,    -1,    77,    78,    79,    80,    81,    82,
19546       83,    84,    85,    -1,    87,    88,    89,    90,    91,    92,
19547       -1,    94,    95,    96,    97,    -1,    -1,    -1,   101,    -1,
19548       -1,   104,   105,   106,   107,   108,   109,   110,   111,   112,
19549      113,    -1,   115,    -1,   117,   118,   119,   120,   121,   122,
19550       -1,   124,   125,   126,   127,    -1,    -1,   130,   131,   132,
19551      133,   134,    -1,   136,   137,   138,    -1,   140,   141,   142,
19552       -1,   144,   145,   146,   147,   148,   149,   150,   151,   152,
19553      153,    -1,   155,    -1,   157,   158,   159,   160,    -1,   162,
19554       -1,   164,   165,    -1,   167,   168,   169,   170,   171,    -1,
19555      173,   174,    -1,   176,   177,   178,    -1,   180,   181,   182,
19556      183,   184,   185,   186,   187,   188,   189,    -1,   191,   192,
19557      193,   194,   195,   196,   197,    -1,   199,   200,   201,   202,
19558      203,   204,   205,   206,   207,    -1,   209,    -1,   211,   212,
19559      213,   214,   215,   216,   217,   218,   219,   220,    -1,    -1,
19560      223,   224,   225,   226,   227,    -1,   229,   230,   231,    -1,
19561       -1,   234,   235,   236,   237,   238,   239,   240,   241,   242,
19562      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
19563      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
19564       -1,   264,   265,   266,   267,    -1,   269,   270,   271,   272,
19565      273,   274,    -1,   276,   277,    -1,    -1,   280,   281,   282,
19566       -1,    -1,   285,   286,   287,   288,   289,   290,   291,   292,
19567      293,   294,   295,   296,   297,   298,   299,   300,    -1,   302,
19568      303,   304,   305,   306,   307,   308,   309,    -1,   311,   312,
19569      313,   314,   315,   316,   317,   318,   319,   320,   321,   322,
19570      323,   324,   325,    -1,   327,   328,   329,   330,   331,   332,
19571      333,   334,   335,   336,   337,   338,    -1,   340,   341,   342,
19572      343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
19573      353,   354,   355,   356,   357,    -1,   359,   360,   361,   362,
19574      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
19575      373,   374,    -1,   376,   377,   378,   379,   380,   381,   382,
19576      383,   384,   385,   386,   387,   388,   389,   390,    -1,   392,
19577      393,    -1,   395,   396,   397,   398,   399,   400,   401,    -1,
19578      403,   404,   405,    -1,    -1,   408,   409,   410,   411,   412,
19579       -1,   414,   415,   416,   417,   418,   419,   420,   421,    -1,
19580       -1,   424,   425,   426,   427,   428,    -1,    -1,   431,   432,
19581      433,   434,   435,   436,   437,    -1,   439,   440,   441,   442,
19582      443,   444,    -1,    -1,   447,    -1,    -1,   450,   451,   452,
19583      453,   454,   455,   456,   457,   458,   459,   460,   461,   462,
19584      463,   464,   465,   466,   467,   468,   469,     3,    -1,    -1,
19585       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19586       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
19587       26,    27,    -1,    29,    30,    31,    32,    33,    -1,    -1,
19588       -1,    -1,    -1,    39,    40,    -1,    42,    43,    44,    45,
19589       46,    47,    48,    49,    50,    51,    52,    53,    -1,    55,
19590       56,    57,    58,    59,    60,    -1,    -1,    63,    64,    65,
19591       66,    67,    -1,    69,    70,    71,    72,    73,    -1,    75,
19592       -1,    77,    78,    79,    80,    81,    82,    83,    84,    85,
19593       -1,    87,    88,    89,    90,    91,    92,    -1,    94,    95,
19594       96,    97,    -1,    -1,    -1,   101,    -1,    -1,    -1,   105,
19595      106,   107,   108,   109,   110,   111,   112,   113,    -1,   115,
19596       -1,   117,   118,   119,   120,   121,   122,    -1,   124,   125,
19597      126,   127,    -1,    -1,   130,   131,   132,   133,   134,    -1,
19598      136,   137,   138,    -1,   140,   141,   142,    -1,   144,   145,
19599      146,   147,   148,   149,   150,   151,   152,   153,    -1,   155,
19600       -1,   157,   158,   159,   160,    -1,   162,    -1,   164,   165,
19601       -1,   167,   168,   169,   170,   171,    -1,   173,   174,    -1,
19602      176,   177,   178,    -1,   180,   181,   182,   183,   184,   185,
19603      186,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
19604      196,   197,    -1,   199,   200,   201,   202,   203,   204,   205,
19605      206,   207,    -1,   209,    -1,   211,   212,   213,   214,   215,
19606      216,   217,   218,   219,   220,    -1,    -1,   223,   224,   225,
19607      226,   227,    -1,   229,   230,   231,    -1,    -1,   234,   235,
19608      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
19609      246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
19610      256,   257,   258,   259,   260,   261,   262,    -1,   264,   265,
19611      266,   267,    -1,   269,   270,   271,   272,   273,   274,    -1,
19612      276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,   285,
19613      286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
19614      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
19615      306,   307,   308,   309,    -1,   311,   312,   313,   314,   315,
19616      316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
19617       -1,   327,   328,   329,   330,   331,   332,   333,   334,   335,
19618      336,   337,   338,    -1,   340,   341,   342,   343,   344,   345,
19619      346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
19620      356,   357,    -1,   359,   360,   361,   362,   363,    -1,   365,
19621      366,   367,   368,   369,   370,   371,   372,   373,   374,    -1,
19622      376,   377,   378,   379,   380,   381,   382,   383,   384,   385,
19623      386,   387,   388,   389,   390,    -1,   392,   393,    -1,   395,
19624      396,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
19625       -1,    -1,   408,   409,   410,   411,   412,    -1,   414,   415,
19626      416,   417,   418,   419,   420,   421,    -1,    -1,   424,   425,
19627      426,   427,   428,    -1,    -1,   431,   432,   433,   434,   435,
19628      436,   437,    -1,   439,   440,   441,   442,   443,   444,    -1,
19629       -1,   447,    -1,    -1,   450,   451,   452,   453,   454,   455,
19630      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
19631      466,   467,   468,   469,     3,    -1,    -1,     6,    -1,    -1,
19632       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19633       -1,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
19634       29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19635       39,    40,    -1,    42,    43,    44,    45,    46,    47,    48,
19636       49,    50,    51,    52,    53,    -1,    55,    56,    57,    58,
19637       59,    60,    -1,    -1,    63,    64,    65,    66,    67,    -1,
19638       69,    70,    71,    72,    73,    -1,    75,    -1,    77,    78,
19639       79,    80,    81,    82,    83,    84,    85,    -1,    87,    88,
19640       89,    90,    91,    92,    -1,    94,    95,    96,    97,    -1,
19641       -1,    -1,   101,    -1,    -1,    -1,   105,   106,   107,   108,
19642      109,   110,   111,   112,   113,   114,   115,    -1,   117,   118,
19643      119,   120,   121,   122,    -1,   124,   125,   126,   127,    -1,
19644       -1,   130,   131,   132,   133,   134,    -1,   136,   137,   138,
19645       -1,   140,   141,   142,    -1,   144,   145,   146,   147,   148,
19646      149,   150,   151,   152,   153,    -1,   155,    -1,   157,   158,
19647      159,   160,    -1,   162,    -1,   164,   165,    -1,   167,   168,
19648      169,   170,   171,    -1,   173,   174,    -1,   176,   177,   178,
19649       -1,   180,   181,   182,   183,   184,   185,   186,   187,   188,
19650      189,    -1,   191,   192,   193,   194,   195,   196,   197,    -1,
19651      199,   200,   201,   202,   203,   204,   205,   206,   207,    -1,
19652      209,    -1,   211,   212,   213,   214,   215,   216,   217,   218,
19653      219,   220,    -1,    -1,   223,   224,   225,   226,   227,    -1,
19654      229,   230,   231,    -1,    -1,   234,   235,   236,   237,   238,
19655      239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
19656      249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
19657      259,   260,   261,   262,    -1,   264,   265,   266,   267,    -1,
19658      269,   270,   271,   272,   273,   274,    -1,   276,   277,    -1,
19659       -1,   280,   281,   282,    -1,    -1,   285,   286,   287,   288,
19660      289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
19661      299,   300,    -1,   302,   303,   304,   305,   306,   307,   308,
19662      309,    -1,   311,   312,   313,   314,   315,   316,   317,   318,
19663      319,   320,   321,   322,   323,   324,   325,    -1,   327,   328,
19664      329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
19665       -1,   340,   341,   342,   343,   344,   345,   346,   347,   348,
19666      349,   350,   351,   352,   353,   354,   355,   356,   357,    -1,
19667      359,   360,   361,   362,   363,    -1,   365,   366,   367,   368,
19668      369,   370,   371,   372,   373,   374,    -1,   376,   377,   378,
19669      379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
19670      389,   390,    -1,   392,   393,    -1,   395,   396,   397,   398,
19671      399,   400,   401,    -1,   403,   404,   405,    -1,    -1,   408,
19672      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
19673      419,   420,   421,    -1,    -1,   424,   425,   426,   427,   428,
19674       -1,    -1,   431,   432,   433,   434,   435,   436,   437,    -1,
19675      439,   440,   441,   442,   443,   444,    -1,    -1,   447,    -1,
19676       -1,   450,   451,   452,   453,   454,   455,   456,   457,   458,
19677      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
19678      469,     3,    -1,    -1,     6,    -1,    -1,    -1,    -1,    -1,
19679       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
19680       22,    23,    24,    25,    26,    27,    -1,    29,    30,    31,
19681       -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,
19682       42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
19683       52,    53,    -1,    55,    56,    57,    58,    59,    60,    -1,
19684       -1,    63,    64,    65,    66,    67,    -1,    69,    70,    71,
19685       72,    73,    -1,    75,    -1,    77,    78,    79,    80,    81,
19686       82,    83,    84,    85,    -1,    87,    88,    89,    90,    91,
19687       92,    -1,    94,    95,    96,    97,    -1,    -1,    -1,   101,
19688       -1,    -1,    -1,   105,   106,   107,   108,   109,   110,   111,
19689      112,   113,    -1,   115,    -1,   117,   118,   119,   120,   121,
19690      122,    -1,   124,   125,   126,   127,    -1,    -1,   130,   131,
19691      132,   133,   134,    -1,   136,   137,   138,    -1,   140,   141,
19692      142,    -1,   144,   145,   146,   147,   148,   149,   150,   151,
19693      152,   153,    -1,   155,    -1,   157,   158,   159,   160,    -1,
19694      162,    -1,   164,   165,    -1,   167,   168,   169,   170,   171,
19695       -1,   173,   174,    -1,   176,   177,   178,    -1,   180,   181,
19696      182,   183,   184,   185,   186,   187,   188,   189,    -1,   191,
19697      192,   193,   194,   195,   196,   197,    -1,   199,   200,   201,
19698      202,   203,   204,   205,   206,   207,    -1,   209,    -1,   211,
19699      212,   213,   214,   215,   216,   217,   218,   219,   220,    -1,
19700       -1,   223,   224,   225,   226,   227,    -1,   229,   230,   231,
19701       -1,    -1,   234,   235,   236,   237,   238,   239,   240,   241,
19702      242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
19703      252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
19704      262,    -1,   264,   265,   266,   267,    -1,   269,   270,   271,
19705      272,   273,   274,    -1,   276,   277,    -1,    -1,   280,   281,
19706      282,    -1,    -1,   285,   286,   287,   288,   289,   290,   291,
19707      292,   293,   294,   295,   296,   297,   298,   299,   300,    -1,
19708      302,   303,   304,   305,   306,   307,   308,   309,    -1,   311,
19709      312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
19710      322,   323,   324,   325,    -1,   327,   328,   329,   330,   331,
19711      332,   333,   334,   335,   336,   337,   338,    -1,   340,   341,
19712      342,   343,   344,   345,   346,   347,   348,   349,   350,   351,
19713      352,   353,   354,   355,   356,   357,    -1,   359,   360,   361,
19714      362,   363,    -1,   365,   366,   367,   368,   369,   370,   371,
19715      372,   373,   374,    -1,   376,   377,   378,   379,   380,   381,
19716      382,   383,   384,   385,   386,   387,   388,   389,   390,    -1,
19717      392,   393,    -1,   395,   396,   397,   398,   399,   400,   401,
19718       -1,   403,   404,   405,    -1,    -1,   408,   409,   410,   411,
19719      412,    -1,   414,   415,   416,   417,   418,   419,   420,   421,
19720       -1,    -1,   424,   425,   426,   427,   428,    -1,    -1,   431,
19721      432,   433,   434,   435,   436,   437,    -1,   439,   440,   441,
19722      442,   443,   444,    -1,    -1,   447,    -1,    -1,   450,   451,
19723      452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
19724      462,   463,   464,   465,   466,   467,   468,   469,     3,    -1,
19725       -1,     6,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19726       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
19727       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
19728       -1,    -1,    -1,    -1,    39,    40,    -1,    42,    43,    44,
19729       45,    46,    47,    48,    49,    50,    51,    52,    53,    -1,
19730       55,    56,    57,    58,    59,    60,    -1,    -1,    63,    64,
19731       65,    66,    67,    -1,    69,    70,    71,    72,    73,    -1,
19732       75,    -1,    77,    78,    79,    80,    81,    82,    83,    84,
19733       85,    -1,    87,    88,    89,    90,    91,    92,    -1,    94,
19734       95,    96,    97,    -1,    -1,    -1,   101,    -1,    -1,    -1,
19735      105,   106,   107,   108,   109,   110,   111,   112,   113,    -1,
19736      115,    -1,   117,   118,   119,   120,   121,   122,    -1,   124,
19737      125,   126,   127,    -1,    -1,   130,   131,   132,   133,   134,
19738       -1,   136,   137,   138,    -1,   140,   141,   142,    -1,   144,
19739      145,   146,   147,   148,   149,   150,   151,   152,   153,    -1,
19740      155,    -1,   157,   158,   159,   160,    -1,   162,    -1,   164,
19741      165,    -1,   167,   168,   169,   170,   171,    -1,   173,   174,
19742       -1,   176,   177,   178,    -1,   180,   181,   182,   183,   184,
19743      185,   186,   187,   188,   189,    -1,   191,   192,   193,   194,
19744      195,   196,   197,    -1,   199,   200,   201,   202,   203,   204,
19745      205,   206,   207,    -1,   209,    -1,   211,   212,   213,   214,
19746      215,   216,   217,   218,   219,   220,    -1,    -1,   223,   224,
19747      225,   226,   227,    -1,   229,   230,   231,    -1,    -1,   234,
19748      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
19749      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
19750      255,   256,   257,   258,   259,   260,   261,   262,    -1,   264,
19751      265,   266,   267,    -1,   269,   270,   271,   272,   273,   274,
19752       -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,
19753      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
19754      295,   296,   297,   298,   299,   300,    -1,   302,   303,   304,
19755      305,   306,   307,   308,   309,    -1,   311,   312,   313,   314,
19756      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
19757      325,    -1,   327,   328,   329,   330,   331,   332,   333,   334,
19758      335,   336,   337,   338,    -1,   340,   341,   342,   343,   344,
19759      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
19760      355,   356,   357,    -1,   359,   360,   361,   362,   363,    -1,
19761      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
19762       -1,   376,   377,   378,   379,   380,   381,   382,   383,   384,
19763      385,   386,   387,   388,   389,   390,    -1,   392,   393,    -1,
19764      395,   396,   397,   398,   399,   400,   401,    -1,   403,   404,
19765      405,    -1,    -1,   408,   409,   410,   411,   412,    -1,   414,
19766      415,   416,   417,   418,   419,   420,   421,    -1,    -1,   424,
19767      425,   426,   427,   428,    -1,    -1,   431,   432,   433,   434,
19768      435,   436,   437,    -1,   439,   440,   441,   442,   443,   444,
19769       -1,    -1,   447,    -1,    -1,   450,   451,   452,   453,   454,
19770      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
19771      465,   466,   467,   468,   469,     3,    -1,    -1,    -1,    -1,
19772       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19773       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
19774       -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,
19775       -1,    39,    40,    -1,    42,    43,    44,    45,    46,    47,
19776       48,    49,    50,    51,    52,    53,    -1,    55,    56,    57,
19777       58,    59,    60,    -1,    -1,    63,    64,    65,    66,    67,
19778       -1,    69,    70,    71,    72,    73,    -1,    75,    -1,    77,
19779       78,    79,    80,    81,    82,    83,    84,    85,    -1,    87,
19780       88,    89,    90,    91,    92,    -1,    94,    95,    96,    97,
19781       -1,    -1,    -1,   101,    -1,    -1,    -1,   105,   106,   107,
19782      108,   109,   110,   111,   112,   113,    -1,   115,    -1,   117,
19783      118,   119,   120,   121,   122,    -1,   124,   125,   126,   127,
19784       -1,    -1,   130,   131,   132,   133,   134,    -1,   136,   137,
19785      138,    -1,   140,   141,   142,    -1,   144,   145,   146,   147,
19786      148,   149,   150,   151,   152,   153,    -1,   155,    -1,   157,
19787      158,   159,   160,    -1,   162,    -1,   164,   165,    -1,   167,
19788      168,   169,   170,   171,    -1,   173,   174,    -1,   176,   177,
19789      178,    -1,   180,   181,   182,   183,   184,   185,   186,   187,
19790      188,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
19791       -1,   199,   200,   201,   202,   203,   204,   205,   206,   207,
19792       -1,   209,    -1,   211,   212,   213,   214,   215,   216,   217,
19793      218,   219,   220,    -1,    -1,   223,   224,   225,   226,   227,
19794       -1,   229,   230,   231,    -1,    -1,   234,   235,   236,   237,
19795      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
19796      248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
19797      258,   259,   260,   261,   262,    -1,   264,   265,   266,   267,
19798       -1,   269,   270,   271,   272,   273,   274,    -1,   276,   277,
19799       -1,    -1,   280,   281,   282,    -1,    -1,   285,   286,   287,
19800      288,   289,   290,   291,   292,   293,   294,   295,   296,   297,
19801      298,   299,   300,    -1,   302,   303,   304,   305,   306,   307,
19802      308,   309,    -1,   311,   312,   313,   314,   315,   316,   317,
19803      318,   319,   320,   321,   322,   323,   324,   325,    -1,   327,
19804      328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
19805      338,    -1,   340,   341,   342,   343,   344,   345,   346,   347,
19806      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
19807       -1,   359,   360,   361,   362,   363,    -1,   365,   366,   367,
19808      368,   369,   370,   371,   372,   373,   374,    -1,   376,   377,
19809      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
19810      388,   389,   390,    -1,   392,   393,    -1,   395,   396,   397,
19811      398,   399,   400,   401,    -1,   403,   404,   405,    -1,    -1,
19812      408,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
19813      418,   419,   420,   421,    -1,    -1,   424,   425,   426,   427,
19814      428,    -1,    -1,   431,   432,   433,   434,   435,   436,   437,
19815       -1,   439,   440,   441,   442,   443,   444,    -1,    -1,   447,
19816       -1,    -1,   450,   451,   452,   453,   454,   455,   456,   457,
19817      458,   459,   460,   461,   462,   463,   464,   465,   466,   467,
19818      468,   469,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19819       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
19820       21,    22,    23,    24,    25,    26,    27,    -1,    29,    30,
19821       31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,
19822       -1,    42,    43,    44,    45,    46,    47,    48,    49,    50,
19823       51,    52,    53,    -1,    55,    56,    57,    58,    59,    60,
19824       -1,    -1,    63,    64,    65,    66,    67,    -1,    69,    70,
19825       71,    72,    73,    -1,    75,    -1,    77,    78,    79,    80,
19826       81,    82,    83,    84,    85,    -1,    87,    88,    89,    90,
19827       91,    92,    -1,    94,    95,    96,    97,    -1,    -1,    -1,
19828      101,    -1,    -1,    -1,   105,   106,   107,   108,   109,   110,
19829      111,   112,   113,    -1,   115,    -1,   117,   118,   119,   120,
19830      121,   122,    -1,   124,   125,   126,   127,    -1,    -1,   130,
19831      131,   132,   133,   134,    -1,   136,   137,   138,    -1,   140,
19832      141,   142,    -1,   144,   145,   146,   147,   148,   149,   150,
19833      151,   152,   153,    -1,   155,    -1,   157,   158,   159,   160,
19834       -1,   162,    -1,   164,   165,    -1,   167,   168,   169,   170,
19835      171,    -1,   173,   174,    -1,   176,   177,   178,    -1,   180,
19836      181,   182,   183,   184,   185,   186,   187,   188,   189,    -1,
19837      191,   192,   193,   194,   195,   196,   197,    -1,   199,   200,
19838      201,   202,   203,   204,   205,   206,   207,    -1,   209,    -1,
19839      211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
19840       -1,    -1,   223,   224,   225,   226,   227,    -1,   229,   230,
19841      231,    -1,    -1,   234,   235,   236,   237,   238,   239,   240,
19842      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
19843      251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
19844      261,   262,    -1,   264,   265,   266,   267,    -1,   269,   270,
19845      271,   272,   273,   274,    -1,   276,   277,    -1,    -1,   280,
19846      281,   282,    -1,    -1,   285,   286,   287,   288,   289,   290,
19847      291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
19848       -1,   302,   303,   304,   305,   306,   307,   308,   309,    -1,
19849      311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
19850      321,   322,   323,   324,   325,    -1,   327,   328,   329,   330,
19851      331,   332,   333,   334,   335,   336,   337,   338,    -1,   340,
19852      341,   342,   343,   344,   345,   346,   347,   348,   349,   350,
19853      351,   352,   353,   354,   355,   356,   357,    -1,   359,   360,
19854      361,   362,   363,    -1,   365,   366,   367,   368,   369,   370,
19855      371,   372,   373,   374,    -1,   376,   377,   378,   379,   380,
19856      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
19857       -1,   392,   393,    -1,   395,   396,   397,   398,   399,   400,
19858      401,    -1,   403,   404,   405,    -1,    -1,   408,   409,   410,
19859      411,   412,    -1,   414,   415,   416,   417,   418,   419,   420,
19860      421,    -1,    -1,   424,   425,   426,   427,   428,    -1,    -1,
19861      431,   432,   433,   434,   435,   436,   437,    -1,   439,   440,
19862      441,   442,   443,   444,    -1,    -1,   447,    -1,    -1,   450,
19863      451,   452,   453,   454,   455,   456,   457,   458,   459,   460,
19864      461,   462,   463,   464,   465,   466,   467,   468,   469,     3,
19865       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19866       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
19867       24,    25,    26,    27,    -1,    29,    30,    31,    -1,    -1,
19868       -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    42,    43,
19869       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
19870       -1,    55,    56,    57,    58,    59,    60,    -1,    -1,    63,
19871       64,    65,    66,    67,    -1,    69,    70,    71,    72,    73,
19872       -1,    75,    -1,    77,    78,    79,    80,    81,    82,    83,
19873       84,    85,    -1,    87,    88,    89,    90,    91,    92,    -1,
19874       94,    95,    96,    97,    -1,    -1,    -1,   101,    -1,    -1,
19875       -1,   105,   106,   107,   108,   109,   110,   111,   112,   113,
19876       -1,   115,    -1,   117,   118,   119,   120,   121,   122,    -1,
19877      124,   125,   126,   127,    -1,    -1,   130,   131,   132,   133,
19878      134,    -1,   136,   137,   138,    -1,   140,   141,   142,    -1,
19879      144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
19880       -1,   155,    -1,   157,   158,   159,   160,    -1,   162,    -1,
19881      164,   165,    -1,   167,   168,   169,   170,   171,    -1,   173,
19882      174,    -1,   176,   177,   178,    -1,   180,   181,   182,   183,
19883      184,   185,   186,   187,   188,   189,    -1,   191,   192,   193,
19884      194,   195,   196,   197,    -1,   199,   200,   201,   202,   203,
19885      204,   205,   206,   207,    -1,   209,    -1,   211,   212,   213,
19886      214,   215,   216,   217,   218,   219,   220,    -1,    -1,   223,
19887      224,   225,   226,   227,    -1,   229,   230,   231,    -1,    -1,
19888      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
19889      244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
19890      254,   255,   256,   257,   258,   259,   260,   261,   262,    -1,
19891      264,   265,   266,   267,    -1,   269,   270,   271,   272,   273,
19892      274,    -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,
19893       -1,   285,   286,   287,   288,   289,   290,   291,   292,   293,
19894      294,   295,   296,   297,   298,   299,   300,    -1,   302,   303,
19895      304,   305,   306,   307,   308,   309,    -1,   311,   312,   313,
19896      314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
19897      324,   325,    -1,   327,   328,   329,   330,   331,   332,   333,
19898      334,   335,   336,   337,   338,    -1,   340,   341,   342,   343,
19899      344,   345,   346,   347,   348,   349,   350,   351,   352,   353,
19900      354,   355,   356,   357,    -1,   359,   360,   361,   362,   363,
19901       -1,   365,   366,   367,   368,   369,   370,   371,   372,   373,
19902      374,    -1,   376,   377,   378,   379,   380,   381,   382,   383,
19903      384,   385,   386,   387,   388,   389,   390,    -1,   392,   393,
19904       -1,   395,   396,   397,   398,   399,   400,   401,    -1,   403,
19905      404,   405,    -1,    -1,   408,   409,   410,   411,   412,    -1,
19906      414,   415,   416,   417,   418,   419,   420,   421,    -1,    -1,
19907      424,   425,   426,   427,   428,    -1,    -1,   431,   432,   433,
19908      434,   435,   436,   437,    -1,   439,   440,   441,   442,   443,
19909      444,    -1,    -1,   447,    -1,    -1,   450,   451,   452,   453,
19910      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
19911      464,   465,   466,   467,   468,   469,     3,    -1,    -1,    -1,
19912       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19913       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
19914       27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
19915       -1,    -1,    39,    40,    -1,    42,    43,    44,    45,    46,
19916       47,    48,    49,    50,    51,    52,    53,    -1,    55,    56,
19917       57,    58,    59,    60,    -1,    -1,    63,    64,    65,    66,
19918       67,    -1,    69,    70,    71,    72,    73,    -1,    75,    -1,
19919       77,    78,    79,    80,    81,    82,    83,    84,    85,    -1,
19920       87,    88,    89,    90,    91,    92,    -1,    94,    95,    96,
19921       97,    -1,    -1,    -1,   101,    -1,    -1,    -1,   105,   106,
19922      107,   108,   109,   110,   111,   112,   113,    -1,   115,    -1,
19923      117,   118,   119,   120,   121,   122,    -1,   124,   125,   126,
19924      127,    -1,    -1,   130,   131,   132,   133,   134,    -1,   136,
19925      137,   138,    -1,   140,   141,   142,    -1,   144,   145,   146,
19926      147,   148,   149,   150,   151,   152,   153,    -1,   155,    -1,
19927      157,   158,   159,   160,    -1,   162,    -1,   164,   165,    -1,
19928      167,   168,   169,   170,   171,    -1,   173,   174,    -1,   176,
19929      177,   178,    -1,   180,   181,   182,   183,   184,   185,   186,
19930      187,   188,   189,    -1,   191,   192,   193,   194,   195,   196,
19931      197,    -1,   199,   200,   201,   202,   203,   204,   205,   206,
19932      207,    -1,   209,    -1,   211,   212,   213,   214,   215,   216,
19933      217,   218,   219,   220,    -1,    -1,   223,   224,   225,   226,
19934      227,    -1,   229,   230,   231,    -1,    -1,   234,   235,   236,
19935      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
19936      247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
19937      257,   258,   259,   260,   261,   262,    -1,   264,   265,   266,
19938      267,    -1,   269,   270,   271,   272,   273,   274,    -1,   276,
19939      277,    -1,    -1,   280,   281,   282,    -1,    -1,   285,   286,
19940      287,   288,   289,   290,   291,   292,   293,   294,   295,   296,
19941      297,   298,   299,   300,    -1,   302,   303,   304,   305,   306,
19942      307,   308,   309,    -1,   311,   312,   313,   314,   315,   316,
19943      317,   318,   319,   320,   321,   322,   323,   324,   325,    -1,
19944      327,   328,   329,   330,   331,   332,   333,   334,   335,   336,
19945      337,   338,    -1,   340,   341,   342,   343,   344,   345,   346,
19946      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
19947      357,    -1,   359,   360,   361,   362,   363,    -1,   365,   366,
19948      367,   368,   369,   370,   371,   372,   373,   374,    -1,   376,
19949      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
19950      387,   388,   389,   390,    -1,   392,   393,    -1,   395,   396,
19951      397,   398,   399,   400,   401,    -1,   403,   404,   405,    -1,
19952       -1,   408,   409,   410,   411,   412,    -1,   414,   415,   416,
19953      417,   418,   419,   420,   421,    -1,    -1,   424,   425,   426,
19954      427,   428,    -1,    -1,   431,   432,   433,   434,   435,   436,
19955      437,    -1,   439,   440,   441,   442,   443,   444,    -1,    -1,
19956      447,    -1,    -1,   450,   451,   452,   453,   454,   455,   456,
19957      457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
19958      467,   468,   469,     3,    -1,    -1,    -1,    -1,    -1,    -1,
19959       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19960       20,    21,    22,    23,    24,    25,    26,    27,    -1,    29,
19961       30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,
19962       40,    -1,    42,    43,    44,    45,    46,    47,    48,    49,
19963       50,    51,    52,    53,    -1,    55,    56,    57,    58,    59,
19964       60,    -1,    -1,    63,    64,    65,    66,    67,    -1,    69,
19965       70,    71,    72,    73,    -1,    75,    -1,    77,    78,    79,
19966       80,    81,    82,    83,    84,    85,    -1,    87,    88,    89,
19967       90,    91,    92,    -1,    94,    95,    96,    97,    -1,    -1,
19968       -1,   101,    -1,    -1,    -1,   105,   106,   107,   108,   109,
19969      110,   111,   112,   113,    -1,   115,    -1,   117,   118,   119,
19970      120,   121,   122,    -1,   124,   125,   126,   127,    -1,    -1,
19971      130,   131,   132,   133,   134,    -1,   136,   137,   138,    -1,
19972      140,   141,   142,    -1,   144,   145,   146,   147,   148,   149,
19973      150,   151,   152,   153,    -1,   155,    -1,   157,   158,   159,
19974      160,    -1,   162,    -1,   164,   165,    -1,   167,   168,   169,
19975      170,   171,    -1,   173,   174,    -1,   176,   177,   178,    -1,
19976      180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
19977       -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
19978      200,   201,   202,   203,   204,   205,   206,   207,    -1,   209,
19979       -1,   211,   212,   213,   214,   215,   216,   217,   218,   219,
19980      220,    -1,    -1,   223,   224,   225,   226,   227,    -1,   229,
19981      230,   231,    -1,    -1,   234,   235,   236,   237,   238,   239,
19982      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
19983      250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
19984      260,   261,   262,    -1,   264,   265,   266,   267,    -1,   269,
19985      270,   271,   272,   273,   274,    -1,   276,   277,    -1,    -1,
19986      280,   281,   282,    -1,    -1,   285,   286,   287,   288,   289,
19987      290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
19988      300,    -1,   302,   303,   304,   305,   306,   307,   308,   309,
19989       -1,   311,   312,   313,   314,   315,   316,   317,   318,   319,
19990      320,   321,   322,   323,   324,   325,    -1,   327,   328,   329,
19991      330,   331,   332,   333,   334,   335,   336,   337,   338,    -1,
19992      340,   341,   342,   343,   344,   345,   346,   347,   348,   349,
19993      350,   351,   352,   353,   354,   355,   356,   357,    -1,   359,
19994      360,   361,   362,   363,    -1,   365,   366,   367,   368,   369,
19995      370,   371,   372,   373,   374,    -1,   376,   377,   378,   379,
19996      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
19997      390,    -1,   392,   393,    -1,   395,   396,   397,   398,   399,
19998      400,   401,    -1,   403,   404,   405,    -1,    -1,   408,   409,
19999      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
20000      420,   421,    -1,    -1,   424,   425,   426,   427,   428,    -1,
20001       -1,   431,   432,   433,   434,   435,   436,   437,    -1,   439,
20002      440,   441,   442,   443,   444,    -1,    -1,   447,    -1,    -1,
20003      450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
20004      460,   461,   462,   463,   464,   465,   466,   467,   468,   469,
20005        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20006       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
20007       23,    24,    25,    26,    27,    -1,    29,    30,    31,    -1,
20008       -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    42,
20009       43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
20010       53,    -1,    55,    56,    57,    58,    59,    60,    -1,    -1,
20011       63,    64,    65,    66,    67,    -1,    69,    70,    71,    72,
20012       73,    -1,    75,    -1,    77,    78,    79,    80,    81,    82,
20013       83,    84,    85,    -1,    87,    88,    89,    90,    91,    92,
20014       -1,    94,    95,    96,    97,    -1,    -1,    -1,   101,    -1,
20015       -1,    -1,   105,   106,   107,   108,   109,   110,   111,   112,
20016      113,    -1,   115,    -1,   117,   118,   119,   120,   121,   122,
20017       -1,   124,   125,   126,   127,    -1,    -1,   130,   131,   132,
20018      133,   134,    -1,   136,   137,   138,    -1,   140,   141,   142,
20019       -1,   144,   145,   146,   147,   148,   149,   150,   151,   152,
20020      153,    -1,   155,    -1,   157,   158,   159,   160,    -1,   162,
20021       -1,   164,   165,    -1,   167,   168,   169,   170,   171,    -1,
20022      173,   174,    -1,   176,   177,   178,    -1,   180,   181,   182,
20023      183,   184,   185,   186,   187,   188,   189,    -1,   191,   192,
20024      193,   194,   195,   196,   197,    -1,   199,   200,   201,   202,
20025      203,   204,   205,   206,   207,    -1,   209,    -1,   211,   212,
20026      213,   214,   215,   216,   217,   218,   219,   220,    -1,    -1,
20027      223,   224,   225,   226,   227,    -1,   229,   230,   231,    -1,
20028       -1,   234,   235,   236,   237,   238,   239,   240,   241,   242,
20029      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
20030      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
20031       -1,   264,   265,   266,   267,    -1,   269,   270,   271,   272,
20032      273,   274,    -1,   276,   277,    -1,    -1,   280,   281,   282,
20033       -1,    -1,   285,   286,   287,   288,   289,   290,   291,   292,
20034      293,   294,   295,   296,   297,   298,   299,   300,    -1,   302,
20035      303,   304,   305,   306,   307,   308,   309,    -1,   311,   312,
20036      313,   314,   315,   316,   317,   318,   319,   320,   321,   322,
20037      323,   324,   325,    -1,   327,   328,   329,   330,   331,   332,
20038      333,   334,   335,   336,   337,   338,    -1,   340,   341,   342,
20039      343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
20040      353,   354,   355,   356,   357,    -1,   359,   360,   361,   362,
20041      363,    -1,   365,   366,   367,   368,   369,   370,   371,   372,
20042      373,   374,    -1,   376,   377,   378,   379,   380,   381,   382,
20043      383,   384,   385,   386,   387,   388,   389,   390,    -1,   392,
20044      393,    -1,   395,   396,   397,   398,   399,   400,   401,    -1,
20045      403,   404,   405,    -1,    -1,   408,   409,   410,   411,   412,
20046       -1,   414,   415,   416,   417,   418,   419,   420,   421,    -1,
20047       -1,   424,   425,   426,   427,   428,    -1,    -1,   431,   432,
20048      433,   434,   435,   436,   437,    -1,   439,   440,   441,   442,
20049      443,   444,    -1,    -1,   447,    -1,    -1,   450,   451,   452,
20050      453,   454,   455,   456,   457,   458,   459,   460,   461,   462,
20051      463,   464,   465,   466,   467,   468,   469,     3,    -1,    -1,
20052       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20053       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
20054       26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,
20055       -1,    -1,    -1,    39,    40,    -1,    42,    43,    44,    -1,
20056       46,    47,    48,    49,    50,    -1,    52,    53,    -1,    55,
20057       56,    57,    58,    59,    60,    -1,    -1,    63,    64,    65,
20058       66,    67,    68,    69,    70,    71,    72,    73,    -1,    -1,
20059       76,    77,    78,    79,    80,    81,    -1,    83,    84,    85,
20060       86,    87,    88,    89,    90,    91,    92,    -1,    -1,    95,
20061       96,    97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,
20062      106,   107,   108,   109,   110,   111,   112,   113,    -1,   115,
20063       -1,   117,   118,   119,   120,   121,   122,    -1,   124,   125,
20064      126,   127,    -1,    -1,   130,   131,   132,   133,   134,    -1,
20065      136,   137,   138,    -1,   140,   141,   142,    -1,   144,   145,
20066      146,   147,   148,   149,   150,   151,   152,   153,    -1,   155,
20067       -1,   157,   158,   159,   160,    -1,   162,   163,   164,    -1,
20068       -1,    -1,   168,   169,   170,   171,    -1,   173,   174,    -1,
20069      176,   177,   178,    -1,   180,   181,   182,   183,   184,    -1,
20070      186,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
20071      196,   197,    -1,   199,    -1,   201,   202,   203,   204,   205,
20072      206,   207,    -1,   209,    -1,   211,    -1,    -1,   214,    -1,
20073      216,   217,   218,   219,   220,    -1,    -1,   223,   224,    -1,
20074      226,    -1,    -1,   229,   230,   231,    -1,    -1,   234,   235,
20075      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
20076      246,   247,   248,   249,   250,    -1,   252,   253,   254,   255,
20077      256,   257,   258,   259,   260,   261,   262,    -1,   264,   265,
20078       -1,   267,    -1,   269,   270,   271,   272,   273,   274,    -1,
20079      276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,   285,
20080      286,   287,    -1,   289,    -1,   291,   292,   293,   294,   295,
20081      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
20082      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
20083      316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
20084       -1,   327,   328,   329,   330,   331,   332,   333,   334,   335,
20085      336,   337,   338,    -1,   340,   341,    -1,   343,   344,   345,
20086      346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
20087      356,   357,    -1,   359,   360,   361,   362,   363,    -1,   365,
20088      366,   367,   368,   369,    -1,   371,   372,   373,   374,    -1,
20089      376,   377,   378,   379,   380,   381,   382,   383,   384,   385,
20090      386,   387,   388,   389,   390,    -1,   392,   393,    -1,   395,
20091       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
20092       -1,    -1,   408,   409,   410,   411,   412,    -1,   414,   415,
20093      416,   417,   418,   419,   420,   421,    -1,   423,   424,   425,
20094      426,   427,   428,    -1,    -1,   431,   432,   433,   434,   435,
20095      436,   437,    -1,   439,    -1,   441,   442,   443,   444,    -1,
20096       -1,   447,    -1,    -1,   450,   451,   452,   453,   454,   455,
20097      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
20098      466,   467,   468,   469,     3,    -1,    -1,    -1,    -1,    -1,
20099       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20100       -1,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
20101       29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20102       39,    40,    -1,    42,    43,    44,    -1,    46,    47,    48,
20103       49,    50,    -1,    52,    53,    -1,    55,    56,    57,    58,
20104       59,    60,    -1,    -1,    63,    64,    65,    66,    67,    68,
20105       69,    70,    71,    72,    73,    -1,    -1,    -1,    77,    78,
20106       79,    80,    81,    -1,    83,    84,    85,    86,    87,    88,
20107       89,    90,    91,    92,    -1,    -1,    95,    96,    97,    -1,
20108       -1,    -1,    -1,    -1,    -1,    -1,   105,   106,   107,   108,
20109      109,   110,   111,   112,   113,    -1,   115,    -1,   117,   118,
20110      119,   120,   121,   122,    -1,   124,   125,   126,   127,    -1,
20111       -1,   130,   131,   132,   133,   134,    -1,   136,   137,   138,
20112       -1,   140,   141,   142,    -1,   144,   145,   146,   147,   148,
20113      149,   150,   151,   152,   153,    -1,   155,    -1,   157,   158,
20114      159,   160,    -1,   162,   163,   164,    -1,    -1,    -1,   168,
20115      169,   170,   171,    -1,   173,   174,    -1,   176,   177,   178,
20116       -1,   180,   181,   182,   183,   184,    -1,   186,   187,   188,
20117      189,    -1,   191,   192,   193,   194,   195,   196,   197,    -1,
20118      199,    -1,   201,   202,   203,   204,   205,   206,   207,    -1,
20119      209,    -1,   211,    -1,    -1,   214,    -1,   216,   217,   218,
20120      219,   220,    -1,    -1,   223,   224,    -1,   226,   227,    -1,
20121      229,   230,   231,    -1,    -1,   234,   235,   236,   237,   238,
20122      239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
20123      249,   250,    -1,   252,   253,   254,   255,   256,   257,   258,
20124      259,   260,   261,   262,    -1,   264,   265,    -1,   267,    -1,
20125      269,   270,   271,   272,   273,   274,    -1,   276,   277,    -1,
20126       -1,   280,   281,   282,    -1,    -1,   285,   286,   287,    -1,
20127      289,    -1,   291,   292,   293,   294,   295,   296,   297,   298,
20128      299,   300,    -1,   302,   303,   304,   305,   306,   307,   308,
20129      309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
20130      319,   320,   321,   322,   323,   324,   325,    -1,   327,   328,
20131      329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
20132       -1,   340,   341,    -1,   343,   344,   345,   346,   347,   348,
20133      349,   350,   351,   352,   353,   354,   355,   356,   357,    -1,
20134      359,   360,   361,   362,   363,    -1,   365,   366,   367,   368,
20135      369,    -1,   371,   372,   373,   374,    -1,   376,   377,   378,
20136      379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
20137      389,   390,    -1,   392,   393,    -1,   395,    -1,   397,   398,
20138      399,   400,   401,    -1,   403,   404,   405,    -1,    -1,   408,
20139      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
20140      419,   420,   421,    -1,   423,   424,   425,   426,   427,   428,
20141       -1,    -1,   431,   432,   433,   434,   435,   436,   437,    -1,
20142      439,    -1,   441,   442,   443,   444,    -1,    -1,   447,    -1,
20143       -1,   450,   451,   452,   453,   454,   455,   456,   457,   458,
20144      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
20145      469,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20146       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
20147       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
20148       -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,
20149       42,    43,    44,    -1,    46,    47,    48,    49,    50,    -1,
20150       52,    53,    -1,    55,    56,    57,    58,    59,    60,    -1,
20151       -1,    63,    64,    65,    66,    67,    -1,    69,    70,    71,
20152       72,    73,    -1,    -1,    -1,    77,    78,    79,    80,    81,
20153       -1,    83,    84,    85,    -1,    87,    88,    89,    90,    91,
20154       92,    93,    -1,    95,    96,    97,    -1,    -1,    -1,    -1,
20155       -1,    -1,    -1,   105,   106,   107,   108,   109,   110,   111,
20156      112,   113,    -1,   115,    -1,   117,   118,   119,   120,   121,
20157      122,    -1,   124,   125,   126,   127,    -1,    -1,   130,   131,
20158      132,   133,   134,    -1,   136,   137,   138,    -1,   140,   141,
20159      142,    -1,   144,   145,   146,   147,   148,   149,   150,   151,
20160      152,   153,    -1,   155,    -1,   157,   158,   159,   160,    -1,
20161      162,    -1,   164,    -1,    -1,    -1,   168,   169,   170,   171,
20162      172,   173,   174,    -1,   176,   177,   178,    -1,   180,   181,
20163      182,   183,   184,    -1,   186,   187,   188,   189,    -1,   191,
20164      192,   193,   194,   195,   196,   197,    -1,   199,    -1,   201,
20165      202,   203,   204,   205,   206,   207,    -1,   209,    -1,   211,
20166       -1,    -1,   214,    -1,   216,   217,   218,   219,   220,    -1,
20167       -1,   223,   224,    -1,   226,    -1,    -1,   229,   230,   231,
20168       -1,    -1,   234,   235,   236,   237,   238,   239,   240,   241,
20169      242,   243,   244,   245,   246,   247,   248,   249,   250,    -1,
20170      252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
20171      262,    -1,   264,   265,    -1,   267,    -1,   269,   270,   271,
20172      272,   273,   274,    -1,   276,   277,    -1,    -1,   280,   281,
20173      282,    -1,    -1,   285,   286,   287,    -1,   289,    -1,   291,
20174      292,   293,   294,   295,   296,   297,   298,   299,   300,    -1,
20175      302,   303,   304,   305,   306,   307,   308,   309,    -1,   311,
20176      312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
20177      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
20178      332,   333,   334,   335,   336,   337,   338,    -1,   340,   341,
20179       -1,   343,   344,   345,   346,   347,   348,   349,   350,   351,
20180      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
20181      362,   363,    -1,   365,   366,   367,   368,   369,    -1,   371,
20182      372,   373,   374,    -1,   376,   377,   378,   379,   380,   381,
20183      382,   383,   384,   385,   386,   387,   388,   389,   390,    -1,
20184      392,   393,    -1,   395,    -1,   397,   398,   399,   400,   401,
20185       -1,   403,   404,   405,    -1,    -1,   408,   409,   410,   411,
20186      412,    -1,   414,   415,   416,   417,   418,   419,   420,   421,
20187       -1,    -1,   424,   425,   426,   427,   428,    -1,    -1,   431,
20188      432,   433,   434,   435,   436,   437,    -1,   439,    -1,   441,
20189      442,   443,   444,    -1,    -1,   447,    -1,    -1,   450,   451,
20190      452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
20191      462,   463,   464,   465,   466,   467,   468,   469,     3,    -1,
20192       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20193       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
20194       25,    26,    27,    28,    29,    30,    31,    -1,    -1,    -1,
20195       -1,    -1,    -1,    -1,    39,    40,    -1,    42,    43,    44,
20196       -1,    46,    47,    48,    49,    50,    -1,    52,    53,    -1,
20197       55,    56,    57,    58,    59,    60,    -1,    -1,    63,    64,
20198       65,    66,    67,    -1,    69,    70,    71,    72,    73,    -1,
20199       -1,    -1,    77,    78,    79,    80,    81,    -1,    83,    84,
20200       85,    -1,    87,    88,    89,    90,    91,    92,    93,    -1,
20201       95,    96,    97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20202      105,   106,   107,   108,   109,   110,   111,   112,   113,    -1,
20203      115,    -1,   117,   118,   119,   120,   121,   122,    -1,   124,
20204      125,   126,   127,    -1,    -1,   130,   131,   132,   133,   134,
20205       -1,   136,   137,   138,    -1,   140,   141,   142,    -1,   144,
20206      145,   146,   147,   148,   149,   150,   151,   152,   153,    -1,
20207      155,    -1,   157,   158,   159,   160,    -1,   162,    -1,   164,
20208       -1,    -1,    -1,   168,   169,   170,   171,   172,   173,   174,
20209       -1,   176,   177,   178,    -1,   180,   181,   182,   183,   184,
20210       -1,   186,   187,   188,   189,    -1,   191,   192,   193,   194,
20211      195,   196,   197,    -1,   199,    -1,   201,   202,   203,   204,
20212      205,   206,   207,    -1,   209,    -1,   211,    -1,    -1,   214,
20213       -1,   216,   217,   218,   219,   220,    -1,    -1,   223,   224,
20214       -1,   226,    -1,    -1,   229,   230,   231,    -1,    -1,   234,
20215      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
20216      245,   246,   247,   248,   249,   250,    -1,   252,   253,   254,
20217      255,   256,   257,   258,   259,   260,   261,   262,    -1,   264,
20218      265,    -1,   267,    -1,   269,   270,   271,   272,   273,   274,
20219       -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,
20220      285,   286,   287,    -1,   289,    -1,   291,   292,   293,   294,
20221      295,   296,   297,   298,   299,   300,    -1,   302,   303,   304,
20222      305,   306,   307,   308,   309,    -1,   311,   312,   313,   314,
20223      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
20224      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
20225      335,   336,   337,   338,    -1,   340,   341,    -1,   343,   344,
20226      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
20227      355,   356,   357,   358,   359,   360,   361,   362,   363,    -1,
20228      365,   366,   367,   368,   369,    -1,   371,   372,   373,   374,
20229       -1,   376,   377,   378,   379,   380,   381,   382,   383,   384,
20230      385,   386,   387,   388,   389,   390,    -1,   392,   393,    -1,
20231      395,    -1,   397,   398,   399,   400,   401,    -1,   403,   404,
20232      405,    -1,    -1,   408,   409,   410,   411,   412,    -1,   414,
20233      415,   416,   417,   418,   419,   420,   421,    -1,    -1,   424,
20234      425,   426,   427,   428,    -1,    -1,   431,   432,   433,   434,
20235      435,   436,   437,    -1,   439,    -1,   441,   442,   443,   444,
20236       -1,    -1,   447,    -1,    -1,   450,   451,   452,   453,   454,
20237      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
20238      465,   466,   467,   468,   469,     3,    -1,    -1,    -1,    -1,
20239       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20240       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
20241       -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,
20242       -1,    39,    40,    -1,    42,    43,    44,    -1,    46,    47,
20243       48,    49,    50,    -1,    52,    53,    -1,    55,    56,    57,
20244       58,    59,    60,    -1,    -1,    63,    64,    65,    66,    67,
20245       68,    69,    70,    71,    72,    73,    -1,    -1,    -1,    77,
20246       78,    79,    80,    81,    -1,    83,    84,    85,    86,    87,
20247       88,    89,    90,    91,    92,    -1,    -1,    95,    96,    97,
20248       -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,   107,
20249      108,   109,   110,   111,   112,   113,    -1,   115,    -1,   117,
20250      118,   119,   120,   121,   122,    -1,   124,   125,   126,   127,
20251       -1,    -1,   130,   131,   132,   133,   134,    -1,   136,   137,
20252      138,    -1,   140,   141,   142,    -1,   144,   145,   146,   147,
20253      148,   149,   150,   151,   152,   153,    -1,   155,    -1,   157,
20254      158,   159,   160,    -1,   162,   163,   164,    -1,    -1,    -1,
20255      168,   169,   170,   171,    -1,   173,   174,    -1,   176,   177,
20256      178,    -1,   180,   181,   182,   183,   184,    -1,   186,   187,
20257      188,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
20258       -1,   199,    -1,   201,   202,   203,   204,   205,   206,   207,
20259       -1,   209,    -1,   211,    -1,    -1,   214,    -1,   216,   217,
20260      218,   219,   220,    -1,    -1,   223,   224,    -1,   226,    -1,
20261       -1,   229,   230,   231,    -1,    -1,   234,   235,   236,   237,
20262      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
20263      248,   249,   250,    -1,   252,   253,   254,   255,   256,   257,
20264      258,   259,   260,   261,   262,    -1,   264,   265,    -1,   267,
20265       -1,   269,   270,   271,   272,   273,   274,    -1,   276,   277,
20266       -1,    -1,   280,   281,   282,    -1,    -1,   285,   286,   287,
20267       -1,   289,    -1,   291,   292,   293,   294,   295,   296,   297,
20268      298,   299,   300,    -1,   302,   303,   304,   305,   306,   307,
20269      308,   309,   310,   311,   312,   313,   314,   315,   316,   317,
20270      318,   319,   320,   321,   322,   323,   324,   325,    -1,   327,
20271      328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
20272      338,    -1,   340,   341,    -1,   343,   344,   345,   346,   347,
20273      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
20274       -1,   359,   360,   361,   362,   363,    -1,   365,   366,   367,
20275      368,   369,    -1,   371,   372,   373,   374,    -1,   376,   377,
20276      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
20277      388,   389,   390,    -1,   392,   393,    -1,   395,    -1,   397,
20278      398,   399,   400,   401,    -1,   403,   404,   405,    -1,    -1,
20279      408,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
20280      418,   419,   420,   421,    -1,   423,   424,   425,   426,   427,
20281      428,    -1,    -1,   431,   432,   433,   434,   435,   436,   437,
20282       -1,   439,    -1,   441,   442,   443,   444,    -1,    -1,   447,
20283       -1,    -1,   450,   451,   452,   453,   454,   455,   456,   457,
20284      458,   459,   460,   461,   462,   463,   464,   465,   466,   467,
20285      468,   469,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20286       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
20287       21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
20288       31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,
20289       -1,    42,    43,    44,    -1,    46,    47,    48,    49,    50,
20290       -1,    52,    53,    -1,    55,    56,    57,    58,    59,    60,
20291       -1,    -1,    63,    64,    65,    66,    67,    -1,    69,    70,
20292       71,    72,    73,    -1,    -1,    -1,    77,    78,    79,    80,
20293       81,    -1,    83,    84,    85,    -1,    87,    88,    89,    90,
20294       91,    92,    93,    -1,    95,    96,    97,    -1,    -1,    -1,
20295       -1,    -1,    -1,    -1,   105,   106,   107,   108,   109,   110,
20296      111,   112,   113,    -1,   115,    -1,   117,   118,   119,   120,
20297      121,   122,    -1,   124,   125,   126,   127,    -1,    -1,   130,
20298      131,   132,   133,   134,    -1,   136,   137,   138,    -1,   140,
20299      141,   142,    -1,   144,   145,   146,   147,   148,   149,   150,
20300      151,   152,   153,    -1,   155,    -1,   157,   158,   159,   160,
20301       -1,   162,    -1,   164,    -1,    -1,    -1,   168,   169,   170,
20302      171,    -1,   173,   174,    -1,   176,   177,   178,    -1,   180,
20303      181,   182,   183,   184,    -1,   186,   187,   188,   189,    -1,
20304      191,   192,   193,   194,   195,   196,   197,    -1,   199,    -1,
20305      201,   202,   203,   204,   205,   206,   207,    -1,   209,    -1,
20306      211,    -1,    -1,   214,    -1,   216,   217,   218,   219,   220,
20307       -1,    -1,   223,   224,    -1,   226,    -1,    -1,   229,   230,
20308      231,    -1,    -1,   234,   235,   236,   237,   238,   239,   240,
20309      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
20310       -1,   252,   253,   254,   255,   256,   257,   258,   259,   260,
20311      261,   262,    -1,   264,   265,    -1,   267,    -1,   269,   270,
20312      271,   272,   273,   274,    -1,   276,   277,    -1,    -1,   280,
20313      281,   282,    -1,    -1,   285,   286,   287,    -1,   289,    -1,
20314      291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
20315       -1,   302,   303,   304,   305,   306,   307,   308,   309,    -1,
20316      311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
20317      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
20318      331,   332,   333,   334,   335,   336,   337,   338,    -1,   340,
20319      341,    -1,   343,   344,   345,   346,   347,   348,   349,   350,
20320      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
20321      361,   362,   363,    -1,   365,   366,   367,   368,   369,    -1,
20322      371,   372,   373,   374,    -1,   376,   377,   378,   379,   380,
20323      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
20324       -1,   392,   393,    -1,   395,    -1,   397,   398,   399,   400,
20325      401,    -1,   403,   404,   405,    -1,    -1,   408,   409,   410,
20326      411,   412,    -1,   414,   415,   416,   417,   418,   419,   420,
20327      421,    -1,    -1,   424,   425,   426,   427,   428,    -1,    -1,
20328      431,   432,   433,   434,   435,   436,   437,    -1,   439,    -1,
20329      441,   442,   443,   444,    -1,    -1,   447,    -1,    -1,   450,
20330      451,   452,   453,   454,   455,   456,   457,   458,   459,   460,
20331      461,   462,   463,   464,   465,   466,   467,   468,   469,     3,
20332       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20333       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
20334       24,    25,    26,    27,    28,    29,    30,    31,    -1,    -1,
20335       -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    42,    43,
20336       44,    -1,    46,    47,    48,    49,    50,    -1,    52,    53,
20337       -1,    55,    56,    57,    58,    59,    60,    -1,    -1,    63,
20338       64,    65,    66,    67,    -1,    69,    70,    71,    72,    73,
20339       -1,    -1,    -1,    77,    78,    79,    80,    81,    -1,    83,
20340       84,    85,    -1,    87,    88,    89,    90,    91,    92,    -1,
20341       -1,    95,    96,    97,    -1,    -1,    -1,    -1,    -1,    -1,
20342       -1,   105,   106,   107,   108,   109,   110,   111,   112,   113,
20343       -1,   115,    -1,   117,   118,   119,   120,   121,   122,    -1,
20344      124,   125,   126,   127,    -1,    -1,   130,   131,   132,   133,
20345      134,    -1,   136,   137,   138,    -1,   140,   141,   142,    -1,
20346      144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
20347       -1,   155,    -1,   157,   158,   159,   160,    -1,   162,   163,
20348      164,    -1,    -1,    -1,   168,   169,   170,   171,    -1,   173,
20349      174,    -1,   176,   177,   178,    -1,   180,   181,   182,   183,
20350      184,    -1,   186,   187,   188,   189,    -1,   191,   192,   193,
20351      194,   195,   196,   197,    -1,   199,    -1,   201,   202,   203,
20352      204,   205,   206,   207,    -1,   209,    -1,   211,    -1,    -1,
20353      214,    -1,   216,   217,   218,   219,   220,    -1,    -1,   223,
20354      224,    -1,   226,    -1,    -1,   229,   230,   231,    -1,    -1,
20355      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
20356      244,   245,   246,   247,   248,   249,   250,    -1,   252,   253,
20357      254,   255,   256,   257,   258,   259,   260,   261,   262,    -1,
20358      264,   265,    -1,   267,    -1,   269,   270,   271,   272,   273,
20359      274,    -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,
20360       -1,   285,   286,   287,    -1,   289,    -1,   291,   292,   293,
20361      294,   295,   296,   297,   298,   299,   300,    -1,   302,   303,
20362      304,   305,   306,   307,   308,   309,    -1,   311,   312,   313,
20363      314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
20364      324,   325,    -1,   327,   328,   329,   330,   331,   332,   333,
20365      334,   335,   336,   337,   338,    -1,   340,   341,    -1,   343,
20366      344,   345,   346,   347,   348,   349,   350,   351,   352,   353,
20367      354,   355,   356,   357,    -1,   359,   360,   361,   362,   363,
20368       -1,   365,   366,   367,   368,   369,    -1,   371,   372,   373,
20369      374,    -1,   376,   377,   378,   379,   380,   381,   382,   383,
20370      384,   385,   386,   387,   388,   389,   390,    -1,   392,   393,
20371      394,   395,    -1,   397,   398,   399,   400,   401,    -1,   403,
20372      404,   405,    -1,    -1,   408,   409,   410,   411,   412,    -1,
20373      414,   415,   416,   417,   418,   419,   420,   421,    -1,    -1,
20374      424,   425,   426,   427,   428,    -1,    -1,   431,   432,   433,
20375      434,   435,   436,   437,    -1,   439,    -1,   441,   442,   443,
20376      444,    -1,    -1,   447,    -1,    -1,   450,   451,   452,   453,
20377      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
20378      464,   465,   466,   467,   468,   469,     3,    -1,    -1,    -1,
20379       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20380       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
20381       27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
20382       -1,    -1,    39,    40,    -1,    42,    43,    44,    -1,    46,
20383       47,    48,    49,    50,    -1,    52,    53,    -1,    55,    56,
20384       57,    58,    59,    60,    -1,    -1,    63,    64,    65,    66,
20385       67,    -1,    69,    70,    71,    72,    73,    -1,    -1,    -1,
20386       77,    78,    79,    80,    81,    -1,    83,    84,    85,    -1,
20387       87,    88,    89,    90,    91,    92,    93,    -1,    95,    96,
20388       97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,
20389      107,   108,   109,   110,   111,   112,   113,    -1,   115,    -1,
20390      117,   118,   119,   120,   121,   122,    -1,   124,   125,   126,
20391      127,    -1,    -1,   130,   131,   132,   133,   134,    -1,   136,
20392      137,   138,    -1,   140,   141,   142,    -1,   144,   145,   146,
20393      147,   148,   149,   150,   151,   152,   153,    -1,   155,    -1,
20394      157,   158,   159,   160,    -1,   162,    -1,   164,    -1,    -1,
20395       -1,   168,   169,   170,   171,    -1,   173,   174,    -1,   176,
20396      177,   178,    -1,   180,   181,   182,   183,   184,    -1,   186,
20397      187,   188,   189,    -1,   191,   192,   193,   194,   195,   196,
20398      197,    -1,   199,    -1,   201,   202,   203,   204,   205,   206,
20399      207,    -1,   209,    -1,   211,    -1,    -1,   214,    -1,   216,
20400      217,   218,   219,   220,    -1,    -1,   223,   224,    -1,   226,
20401       -1,    -1,   229,   230,   231,    -1,    -1,   234,   235,   236,
20402      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
20403      247,   248,   249,   250,    -1,   252,   253,   254,   255,   256,
20404      257,   258,   259,   260,   261,   262,    -1,   264,   265,    -1,
20405      267,    -1,   269,   270,   271,   272,   273,   274,    -1,   276,
20406      277,    -1,    -1,   280,   281,   282,    -1,    -1,   285,   286,
20407      287,    -1,   289,    -1,   291,   292,   293,   294,   295,   296,
20408      297,   298,   299,   300,    -1,   302,   303,   304,   305,   306,
20409      307,   308,   309,    -1,   311,   312,   313,   314,   315,   316,
20410      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
20411      327,   328,   329,   330,   331,   332,   333,   334,   335,   336,
20412      337,   338,    -1,   340,   341,    -1,   343,   344,   345,   346,
20413      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
20414      357,   358,   359,   360,   361,   362,   363,    -1,   365,   366,
20415      367,   368,   369,    -1,   371,   372,   373,   374,    -1,   376,
20416      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
20417      387,   388,   389,   390,    -1,   392,   393,    -1,   395,    -1,
20418      397,   398,   399,   400,   401,    -1,   403,   404,   405,    -1,
20419       -1,   408,   409,   410,   411,   412,    -1,   414,   415,   416,
20420      417,   418,   419,   420,   421,    -1,    -1,   424,   425,   426,
20421      427,   428,    -1,    -1,   431,   432,   433,   434,   435,   436,
20422      437,    -1,   439,    -1,   441,   442,   443,   444,    -1,    -1,
20423      447,    -1,    -1,   450,   451,   452,   453,   454,   455,   456,
20424      457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
20425      467,   468,   469,     3,    -1,    -1,    -1,    -1,    -1,    -1,
20426       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20427       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
20428       30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,
20429       40,    -1,    42,    43,    44,    -1,    46,    47,    48,    49,
20430       50,    -1,    52,    53,    -1,    55,    56,    57,    58,    59,
20431       60,    -1,    -1,    63,    64,    65,    66,    67,    -1,    69,
20432       70,    71,    72,    73,    -1,    -1,    -1,    77,    78,    79,
20433       80,    81,    -1,    83,    84,    85,    -1,    87,    88,    89,
20434       90,    91,    92,    -1,    -1,    95,    96,    97,    -1,    -1,
20435       -1,    -1,    -1,    -1,    -1,   105,   106,   107,   108,   109,
20436      110,   111,   112,   113,    -1,   115,    -1,   117,   118,   119,
20437      120,   121,   122,    -1,   124,   125,   126,   127,    -1,    -1,
20438      130,   131,   132,   133,   134,    -1,   136,   137,   138,    -1,
20439      140,   141,   142,    -1,   144,   145,   146,   147,   148,   149,
20440      150,   151,   152,   153,    -1,   155,    -1,   157,   158,   159,
20441      160,    -1,   162,    -1,   164,    -1,    -1,    -1,   168,   169,
20442      170,   171,    -1,   173,   174,    -1,   176,   177,   178,    -1,
20443      180,   181,   182,   183,   184,    -1,   186,   187,   188,   189,
20444       -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
20445       -1,   201,   202,   203,   204,   205,   206,   207,    -1,   209,
20446       -1,   211,    -1,    -1,   214,    -1,   216,   217,   218,   219,
20447      220,    -1,    -1,   223,   224,    -1,   226,    -1,    -1,   229,
20448      230,   231,    -1,    -1,   234,   235,   236,   237,   238,   239,
20449      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
20450      250,    -1,   252,   253,   254,   255,   256,   257,   258,   259,
20451      260,   261,   262,    -1,   264,   265,    -1,   267,    -1,   269,
20452      270,   271,   272,   273,   274,    -1,   276,   277,    -1,   279,
20453      280,   281,   282,    -1,    -1,   285,   286,   287,    -1,   289,
20454       -1,   291,   292,   293,   294,   295,   296,   297,   298,   299,
20455      300,    -1,   302,   303,   304,   305,   306,   307,   308,   309,
20456       -1,   311,   312,   313,   314,   315,   316,   317,   318,   319,
20457      320,   321,   322,   323,   324,   325,    -1,   327,   328,   329,
20458      330,   331,   332,   333,   334,   335,   336,   337,   338,    -1,
20459      340,   341,    -1,   343,   344,   345,   346,   347,   348,   349,
20460      350,   351,   352,   353,   354,   355,   356,   357,    -1,   359,
20461      360,   361,   362,   363,    -1,   365,   366,   367,   368,   369,
20462       -1,   371,   372,   373,   374,    -1,   376,   377,   378,   379,
20463      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
20464      390,    -1,   392,   393,    -1,   395,    -1,   397,   398,   399,
20465      400,   401,    -1,   403,   404,   405,    -1,    -1,   408,   409,
20466      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
20467      420,   421,    -1,    -1,   424,   425,   426,   427,   428,    -1,
20468       -1,   431,   432,   433,   434,   435,   436,   437,    -1,   439,
20469       -1,   441,   442,   443,   444,    -1,    -1,   447,    -1,    -1,
20470      450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
20471      460,   461,   462,   463,   464,   465,   466,   467,   468,   469,
20472        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20473       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
20474       23,    24,    25,    26,    27,    28,    29,    30,    31,    -1,
20475       -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    42,
20476       43,    44,    -1,    46,    47,    48,    49,    50,    -1,    52,
20477       53,    -1,    55,    56,    57,    58,    59,    60,    -1,    -1,
20478       63,    64,    65,    66,    67,    -1,    69,    70,    71,    72,
20479       73,    -1,    -1,    -1,    77,    78,    79,    80,    81,    -1,
20480       83,    84,    85,    -1,    87,    88,    89,    90,    91,    92,
20481       -1,    -1,    95,    96,    97,    -1,    -1,    -1,    -1,    -1,
20482       -1,    -1,   105,   106,   107,   108,   109,   110,   111,   112,
20483      113,    -1,   115,    -1,   117,   118,   119,   120,   121,   122,
20484       -1,   124,   125,   126,   127,    -1,    -1,   130,   131,   132,
20485      133,   134,    -1,   136,   137,   138,    -1,   140,   141,   142,
20486       -1,   144,   145,   146,   147,   148,   149,   150,   151,   152,
20487      153,    -1,   155,    -1,   157,   158,   159,   160,    -1,   162,
20488       -1,   164,    -1,    -1,    -1,   168,   169,   170,   171,    -1,
20489      173,   174,    -1,   176,   177,   178,    -1,   180,   181,   182,
20490      183,   184,    -1,   186,   187,   188,   189,    -1,   191,   192,
20491      193,   194,   195,   196,   197,    -1,   199,    -1,   201,   202,
20492      203,   204,   205,   206,   207,    -1,   209,    -1,   211,    -1,
20493       -1,   214,    -1,   216,   217,   218,   219,   220,    -1,    -1,
20494      223,   224,    -1,   226,    -1,    -1,   229,   230,   231,    -1,
20495       -1,   234,   235,   236,   237,   238,   239,   240,   241,   242,
20496      243,   244,   245,   246,   247,   248,   249,   250,    -1,   252,
20497      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
20498       -1,   264,   265,    -1,   267,    -1,   269,   270,   271,   272,
20499      273,   274,    -1,   276,   277,    -1,    -1,   280,   281,   282,
20500       -1,    -1,   285,   286,   287,    -1,   289,    -1,   291,   292,
20501      293,   294,   295,   296,   297,   298,   299,   300,    -1,   302,
20502      303,   304,   305,   306,   307,   308,   309,    -1,   311,   312,
20503      313,   314,   315,   316,   317,   318,   319,   320,   321,   322,
20504      323,   324,   325,    -1,   327,   328,   329,   330,   331,   332,
20505      333,   334,   335,   336,   337,   338,    -1,   340,   341,    -1,
20506      343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
20507      353,   354,   355,   356,   357,    -1,   359,   360,   361,   362,
20508      363,    -1,   365,   366,   367,   368,   369,    -1,   371,   372,
20509      373,   374,    -1,   376,   377,   378,   379,   380,   381,   382,
20510      383,   384,   385,   386,   387,   388,   389,   390,    -1,   392,
20511      393,    -1,   395,    -1,   397,   398,   399,   400,   401,    -1,
20512      403,   404,   405,    -1,    -1,   408,   409,   410,   411,   412,
20513       -1,   414,   415,   416,   417,   418,   419,   420,   421,    -1,
20514       -1,   424,   425,   426,   427,   428,   429,    -1,   431,   432,
20515      433,   434,   435,   436,   437,    -1,   439,    -1,   441,   442,
20516      443,   444,    -1,    -1,   447,    -1,    -1,   450,   451,   452,
20517      453,   454,   455,   456,   457,   458,   459,   460,   461,   462,
20518      463,   464,   465,   466,   467,   468,   469,     3,    -1,    -1,
20519       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20520       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
20521       26,    27,    28,    29,    30,    31,    -1,    -1,    -1,    -1,
20522       -1,    -1,    -1,    39,    40,    -1,    42,    43,    44,    -1,
20523       46,    47,    48,    49,    50,    -1,    52,    53,    -1,    55,
20524       56,    57,    58,    59,    60,    -1,    -1,    63,    64,    65,
20525       66,    67,    -1,    69,    70,    71,    72,    73,    -1,    -1,
20526       -1,    77,    78,    79,    80,    81,    -1,    83,    84,    85,
20527       -1,    87,    88,    89,    90,    91,    92,    -1,    -1,    95,
20528       96,    97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,
20529      106,   107,   108,   109,   110,   111,   112,   113,    -1,   115,
20530       -1,   117,   118,   119,   120,   121,   122,    -1,   124,   125,
20531      126,   127,    -1,    -1,   130,   131,   132,   133,   134,    -1,
20532      136,   137,   138,    -1,   140,   141,   142,    -1,   144,   145,
20533      146,   147,   148,   149,   150,   151,   152,   153,    -1,   155,
20534       -1,   157,   158,   159,   160,    -1,   162,    -1,   164,    -1,
20535       -1,    -1,   168,   169,   170,   171,    -1,   173,   174,    -1,
20536      176,   177,   178,    -1,   180,   181,   182,   183,   184,    -1,
20537      186,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
20538      196,   197,    -1,   199,    -1,   201,   202,   203,   204,   205,
20539      206,   207,    -1,   209,    -1,   211,    -1,    -1,   214,    -1,
20540      216,   217,   218,   219,   220,    -1,    -1,   223,   224,    -1,
20541      226,    -1,    -1,   229,   230,   231,    -1,    -1,   234,   235,
20542      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
20543      246,   247,   248,   249,   250,    -1,   252,   253,   254,   255,
20544      256,   257,   258,   259,   260,   261,   262,    -1,   264,   265,
20545       -1,   267,    -1,   269,   270,   271,   272,   273,   274,    -1,
20546      276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,   285,
20547      286,   287,    -1,   289,    -1,   291,   292,   293,   294,   295,
20548      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
20549      306,   307,   308,   309,    -1,   311,   312,   313,   314,   315,
20550      316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
20551       -1,   327,   328,   329,   330,   331,   332,   333,   334,   335,
20552      336,   337,   338,    -1,   340,   341,    -1,   343,   344,   345,
20553      346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
20554      356,   357,    -1,   359,   360,   361,   362,   363,    -1,   365,
20555      366,   367,   368,   369,    -1,   371,   372,   373,   374,    -1,
20556      376,   377,   378,   379,   380,   381,   382,   383,   384,   385,
20557      386,   387,   388,   389,   390,    -1,   392,   393,    -1,   395,
20558       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
20559       -1,    -1,   408,   409,   410,   411,   412,    -1,   414,   415,
20560      416,   417,   418,   419,   420,   421,    -1,    -1,   424,   425,
20561      426,   427,   428,   429,    -1,   431,   432,   433,   434,   435,
20562      436,   437,    -1,   439,    -1,   441,   442,   443,   444,    -1,
20563       -1,   447,    -1,    -1,   450,   451,   452,   453,   454,   455,
20564      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
20565      466,   467,   468,   469,     3,    -1,    -1,    -1,    -1,    -1,
20566       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20567       -1,    20,    21,    22,    23,    24,    25,    26,    27,    28,
20568       29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20569       39,    40,    -1,    42,    43,    44,    -1,    46,    47,    48,
20570       49,    50,    -1,    52,    53,    -1,    55,    56,    57,    58,
20571       59,    60,    -1,    -1,    63,    64,    65,    66,    67,    -1,
20572       69,    70,    71,    72,    73,    -1,    -1,    -1,    77,    78,
20573       79,    80,    81,    -1,    83,    84,    85,    -1,    87,    88,
20574       89,    90,    91,    92,    -1,    -1,    95,    96,    97,    -1,
20575       -1,    -1,    -1,    -1,    -1,    -1,   105,   106,   107,   108,
20576      109,   110,   111,   112,   113,    -1,   115,    -1,   117,   118,
20577      119,   120,   121,   122,    -1,   124,   125,   126,   127,    -1,
20578       -1,   130,   131,   132,   133,   134,    -1,   136,   137,   138,
20579       -1,   140,   141,   142,    -1,   144,   145,   146,   147,   148,
20580      149,   150,   151,   152,   153,    -1,   155,    -1,   157,   158,
20581      159,   160,    -1,   162,    -1,   164,    -1,    -1,    -1,   168,
20582      169,   170,   171,    -1,   173,   174,    -1,   176,   177,   178,
20583       -1,   180,   181,   182,   183,   184,    -1,   186,   187,   188,
20584      189,    -1,   191,   192,   193,   194,   195,   196,   197,    -1,
20585      199,    -1,   201,   202,   203,   204,   205,   206,   207,    -1,
20586      209,    -1,   211,    -1,    -1,   214,    -1,   216,   217,   218,
20587      219,   220,    -1,    -1,   223,   224,    -1,   226,    -1,    -1,
20588      229,   230,   231,    -1,    -1,   234,   235,   236,   237,   238,
20589      239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
20590      249,   250,    -1,   252,   253,   254,   255,   256,   257,   258,
20591      259,   260,   261,   262,    -1,   264,   265,    -1,   267,    -1,
20592      269,   270,   271,   272,   273,   274,    -1,   276,   277,    -1,
20593       -1,   280,   281,   282,    -1,    -1,   285,   286,   287,    -1,
20594      289,    -1,   291,   292,   293,   294,   295,   296,   297,   298,
20595      299,   300,    -1,   302,   303,   304,   305,   306,   307,   308,
20596      309,    -1,   311,   312,   313,   314,   315,   316,   317,   318,
20597      319,   320,   321,   322,   323,   324,   325,    -1,   327,   328,
20598      329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
20599       -1,   340,   341,    -1,   343,   344,   345,   346,   347,   348,
20600      349,   350,   351,   352,   353,   354,   355,   356,   357,    -1,
20601      359,   360,   361,   362,   363,    -1,   365,   366,   367,   368,
20602      369,    -1,   371,   372,   373,   374,    -1,   376,   377,   378,
20603      379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
20604      389,   390,    -1,   392,   393,    -1,   395,    -1,   397,   398,
20605      399,   400,   401,    -1,   403,   404,   405,    -1,    -1,   408,
20606      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
20607      419,   420,   421,    -1,    -1,   424,   425,   426,   427,   428,
20608       -1,    -1,   431,   432,   433,   434,   435,   436,   437,    -1,
20609      439,    -1,   441,   442,   443,   444,    -1,    -1,   447,    -1,
20610       -1,   450,   451,   452,   453,   454,   455,   456,   457,   458,
20611      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
20612      469,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20613       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
20614       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
20615       -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,
20616       42,    43,    44,    -1,    46,    47,    48,    49,    50,    -1,
20617       52,    53,    -1,    55,    56,    57,    58,    59,    60,    -1,
20618       -1,    63,    64,    65,    66,    67,    -1,    69,    70,    71,
20619       72,    73,    -1,    -1,    -1,    77,    78,    79,    80,    81,
20620       -1,    83,    84,    85,    -1,    87,    88,    89,    90,    91,
20621       92,    -1,    -1,    95,    96,    97,    -1,    -1,    -1,    -1,
20622       -1,    -1,    -1,   105,   106,   107,   108,   109,   110,   111,
20623      112,   113,    -1,   115,    -1,   117,   118,   119,   120,   121,
20624      122,    -1,   124,   125,   126,   127,    -1,    -1,   130,   131,
20625      132,   133,   134,    -1,   136,   137,   138,    -1,   140,   141,
20626      142,    -1,   144,   145,   146,   147,   148,   149,   150,   151,
20627      152,   153,    -1,   155,    -1,   157,   158,   159,   160,    -1,
20628      162,    -1,   164,    -1,    -1,    -1,   168,   169,   170,   171,
20629       -1,   173,   174,    -1,   176,   177,   178,    -1,   180,   181,
20630      182,   183,   184,    -1,   186,   187,   188,   189,    -1,   191,
20631      192,   193,   194,   195,   196,   197,    -1,   199,    -1,   201,
20632      202,   203,   204,   205,   206,   207,    -1,   209,    -1,   211,
20633       -1,    -1,   214,    -1,   216,   217,   218,   219,   220,    -1,
20634       -1,   223,   224,    -1,   226,    -1,    -1,   229,   230,   231,
20635       -1,    -1,   234,   235,   236,   237,   238,   239,   240,   241,
20636      242,   243,   244,   245,   246,   247,   248,   249,   250,    -1,
20637      252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
20638      262,    -1,   264,   265,    -1,   267,    -1,   269,   270,   271,
20639      272,   273,   274,    -1,   276,   277,    -1,    -1,   280,   281,
20640      282,    -1,    -1,   285,   286,   287,    -1,   289,    -1,   291,
20641      292,   293,   294,   295,   296,   297,   298,   299,   300,    -1,
20642      302,   303,   304,   305,   306,   307,   308,   309,    -1,   311,
20643      312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
20644      322,   323,   324,   325,    -1,   327,   328,   329,   330,   331,
20645      332,   333,   334,   335,   336,   337,   338,    -1,   340,   341,
20646       -1,   343,   344,   345,   346,   347,   348,   349,   350,   351,
20647      352,   353,   354,   355,   356,   357,    -1,   359,   360,   361,
20648      362,   363,    -1,   365,   366,   367,   368,   369,    -1,   371,
20649      372,   373,   374,    -1,   376,   377,   378,   379,   380,   381,
20650      382,   383,   384,   385,   386,   387,   388,   389,   390,    -1,
20651      392,   393,    -1,   395,    -1,   397,   398,   399,   400,   401,
20652       -1,   403,   404,   405,    -1,    -1,   408,   409,   410,   411,
20653      412,    -1,   414,   415,   416,   417,   418,   419,   420,   421,
20654       -1,    -1,   424,   425,   426,   427,   428,    -1,    -1,   431,
20655      432,   433,   434,   435,   436,   437,    -1,   439,    -1,   441,
20656      442,   443,   444,    -1,    -1,   447,    -1,    -1,   450,   451,
20657      452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
20658      462,   463,   464,   465,   466,   467,   468,   469,     3,    -1,
20659       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20660       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
20661       25,    26,    27,    28,    29,    30,    31,    -1,    -1,    -1,
20662       -1,    -1,    -1,    -1,    39,    40,    -1,    42,    43,    44,
20663       -1,    46,    47,    48,    49,    50,    -1,    52,    53,    -1,
20664       55,    56,    57,    58,    59,    60,    -1,    -1,    63,    64,
20665       65,    66,    67,    -1,    69,    70,    71,    72,    73,    -1,
20666       -1,    -1,    77,    78,    79,    80,    81,    -1,    83,    84,
20667       85,    -1,    87,    88,    89,    90,    91,    92,    -1,    -1,
20668       95,    96,    97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20669      105,   106,   107,   108,   109,   110,   111,   112,   113,    -1,
20670      115,    -1,   117,   118,   119,   120,   121,   122,    -1,   124,
20671      125,   126,   127,    -1,    -1,   130,   131,   132,   133,   134,
20672       -1,   136,   137,   138,    -1,   140,   141,   142,    -1,   144,
20673      145,   146,   147,   148,   149,   150,   151,   152,   153,    -1,
20674      155,    -1,   157,   158,   159,   160,    -1,   162,    -1,   164,
20675       -1,    -1,    -1,   168,   169,   170,   171,    -1,   173,   174,
20676       -1,   176,   177,   178,    -1,   180,   181,   182,   183,   184,
20677       -1,   186,   187,   188,   189,    -1,   191,   192,   193,   194,
20678      195,   196,   197,    -1,   199,    -1,   201,   202,   203,   204,
20679      205,   206,   207,    -1,   209,    -1,   211,    -1,    -1,   214,
20680       -1,   216,   217,   218,   219,   220,    -1,    -1,   223,   224,
20681       -1,   226,    -1,    -1,   229,   230,   231,    -1,    -1,   234,
20682      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
20683      245,   246,   247,   248,   249,   250,    -1,   252,   253,   254,
20684      255,   256,   257,   258,   259,   260,   261,   262,    -1,   264,
20685      265,    -1,   267,    -1,   269,   270,   271,   272,   273,   274,
20686       -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,
20687      285,   286,   287,    -1,   289,    -1,   291,   292,   293,   294,
20688      295,   296,   297,   298,   299,   300,    -1,   302,   303,   304,
20689      305,   306,   307,   308,   309,    -1,   311,   312,   313,   314,
20690      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
20691      325,    -1,   327,   328,   329,   330,   331,   332,   333,   334,
20692      335,   336,   337,   338,    -1,   340,   341,    -1,   343,   344,
20693      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
20694      355,   356,   357,    -1,   359,   360,   361,   362,   363,    -1,
20695      365,   366,   367,   368,   369,    -1,   371,   372,   373,   374,
20696       -1,   376,   377,   378,   379,   380,   381,   382,   383,   384,
20697      385,   386,   387,   388,   389,   390,    -1,   392,   393,    -1,
20698      395,    -1,   397,   398,   399,   400,   401,    -1,   403,   404,
20699      405,    -1,    -1,   408,   409,   410,   411,   412,    -1,   414,
20700      415,   416,   417,   418,   419,   420,   421,    -1,    -1,   424,
20701      425,   426,   427,   428,    -1,    -1,   431,   432,   433,   434,
20702      435,   436,   437,    -1,   439,    -1,   441,   442,   443,   444,
20703       -1,    -1,   447,    -1,    -1,   450,   451,   452,   453,   454,
20704      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
20705      465,   466,   467,   468,   469,     3,    -1,    -1,    -1,    -1,
20706       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20707       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
20708       28,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,
20709       -1,    39,    40,    -1,    42,    43,    44,    -1,    46,    47,
20710       48,    49,    50,    -1,    52,    53,    -1,    55,    56,    57,
20711       58,    59,    60,    -1,    -1,    63,    64,    65,    66,    67,
20712       -1,    69,    70,    71,    72,    73,    -1,    -1,    -1,    77,
20713       78,    79,    80,    81,    -1,    83,    84,    85,    -1,    87,
20714       88,    89,    90,    91,    92,    -1,    -1,    95,    96,    97,
20715       -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,   107,
20716      108,   109,   110,   111,   112,   113,    -1,   115,    -1,   117,
20717      118,   119,   120,   121,   122,    -1,   124,   125,   126,   127,
20718       -1,    -1,   130,   131,   132,   133,   134,    -1,   136,   137,
20719      138,    -1,   140,   141,   142,    -1,   144,   145,   146,   147,
20720      148,   149,   150,   151,   152,   153,    -1,   155,    -1,   157,
20721      158,   159,   160,    -1,   162,    -1,   164,    -1,    -1,    -1,
20722      168,   169,   170,   171,    -1,   173,   174,    -1,   176,   177,
20723      178,    -1,   180,   181,   182,   183,   184,    -1,   186,   187,
20724      188,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
20725       -1,   199,    -1,   201,   202,   203,   204,   205,   206,   207,
20726       -1,   209,    -1,   211,    -1,    -1,   214,    -1,   216,   217,
20727      218,   219,   220,    -1,    -1,   223,   224,    -1,   226,    -1,
20728       -1,   229,   230,   231,    -1,    -1,   234,   235,   236,   237,
20729      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
20730      248,   249,   250,    -1,   252,   253,   254,   255,   256,   257,
20731      258,   259,   260,   261,   262,    -1,   264,   265,    -1,   267,
20732       -1,   269,   270,   271,   272,   273,   274,    -1,   276,   277,
20733       -1,    -1,   280,   281,   282,    -1,    -1,   285,   286,   287,
20734       -1,   289,    -1,   291,   292,   293,   294,   295,   296,   297,
20735      298,   299,   300,    -1,   302,   303,   304,   305,   306,   307,
20736      308,   309,    -1,   311,   312,   313,   314,   315,   316,   317,
20737      318,   319,   320,   321,   322,   323,   324,   325,    -1,   327,
20738      328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
20739      338,    -1,   340,   341,    -1,   343,   344,   345,   346,   347,
20740      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
20741       -1,   359,   360,   361,   362,   363,    -1,   365,   366,   367,
20742      368,   369,    -1,   371,   372,   373,   374,    -1,   376,   377,
20743      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
20744      388,   389,   390,    -1,   392,   393,    -1,   395,    -1,   397,
20745      398,   399,   400,   401,    -1,   403,   404,   405,    -1,    -1,
20746      408,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
20747      418,   419,   420,   421,    -1,    -1,   424,   425,   426,   427,
20748      428,    -1,    -1,   431,   432,   433,   434,   435,   436,   437,
20749       -1,   439,    -1,   441,   442,   443,   444,    -1,    -1,   447,
20750       -1,    -1,   450,   451,   452,   453,   454,   455,   456,   457,
20751      458,   459,   460,   461,   462,   463,   464,   465,   466,   467,
20752      468,   469,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20753       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
20754       21,    22,    23,    24,    25,    26,    27,    -1,    29,    30,
20755       31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,
20756       -1,    42,    43,    44,    -1,    46,    47,    48,    49,    50,
20757       -1,    52,    53,    -1,    55,    56,    57,    58,    59,    60,
20758       -1,    -1,    63,    64,    65,    66,    67,    -1,    69,    70,
20759       71,    72,    73,    -1,    -1,    -1,    77,    78,    79,    80,
20760       81,    -1,    83,    84,    85,    -1,    87,    88,    89,    90,
20761       91,    92,    -1,    -1,    95,    96,    97,    -1,    -1,    -1,
20762       -1,    -1,    -1,    -1,   105,   106,   107,   108,   109,   110,
20763      111,   112,   113,    -1,   115,    -1,   117,   118,   119,   120,
20764      121,   122,    -1,   124,   125,   126,   127,    -1,    -1,   130,
20765      131,   132,   133,   134,    -1,   136,   137,   138,    -1,   140,
20766      141,   142,    -1,   144,   145,   146,   147,   148,   149,   150,
20767      151,   152,   153,    -1,   155,    -1,   157,   158,   159,   160,
20768       -1,   162,    -1,   164,    -1,    -1,    -1,   168,   169,   170,
20769      171,    -1,   173,   174,    -1,   176,   177,   178,    -1,   180,
20770      181,   182,   183,   184,    -1,   186,   187,   188,   189,    -1,
20771      191,   192,   193,   194,   195,   196,   197,    -1,   199,    -1,
20772      201,   202,   203,   204,   205,   206,   207,    -1,   209,    -1,
20773      211,    -1,    -1,   214,    -1,   216,   217,   218,   219,   220,
20774       -1,    -1,   223,   224,    -1,   226,    -1,    -1,   229,   230,
20775      231,    -1,    -1,   234,   235,   236,   237,   238,   239,   240,
20776      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
20777       -1,   252,   253,   254,   255,   256,   257,   258,   259,   260,
20778      261,   262,    -1,   264,   265,    -1,   267,    -1,   269,   270,
20779      271,   272,   273,   274,    -1,   276,   277,    -1,   279,   280,
20780      281,   282,    -1,    -1,   285,   286,   287,    -1,   289,    -1,
20781      291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
20782       -1,   302,   303,   304,   305,   306,   307,   308,   309,    -1,
20783      311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
20784      321,   322,   323,   324,   325,    -1,   327,   328,   329,   330,
20785      331,   332,   333,   334,   335,   336,   337,   338,    -1,   340,
20786      341,    -1,   343,   344,   345,   346,   347,   348,   349,   350,
20787      351,   352,   353,   354,   355,   356,   357,    -1,   359,   360,
20788      361,   362,   363,    -1,   365,   366,   367,   368,   369,    -1,
20789      371,   372,   373,   374,    -1,   376,   377,   378,   379,   380,
20790      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
20791       -1,   392,   393,    -1,   395,    -1,   397,   398,   399,   400,
20792      401,    -1,   403,   404,   405,    -1,    -1,   408,   409,   410,
20793      411,   412,    -1,   414,   415,   416,   417,   418,   419,   420,
20794      421,    -1,    -1,   424,   425,   426,   427,   428,    -1,    -1,
20795      431,   432,   433,   434,   435,   436,   437,    -1,   439,    -1,
20796      441,   442,   443,   444,    -1,    -1,   447,    -1,    -1,   450,
20797      451,   452,   453,   454,   455,   456,   457,   458,   459,   460,
20798      461,   462,   463,   464,   465,   466,   467,   468,   469,     3,
20799       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20800       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
20801       24,    25,    26,    27,    28,    29,    30,    31,    -1,    -1,
20802       -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    42,    43,
20803       44,    -1,    46,    47,    48,    49,    50,    -1,    52,    53,
20804       -1,    55,    56,    57,    58,    59,    60,    -1,    -1,    63,
20805       64,    65,    66,    67,    -1,    69,    70,    71,    72,    73,
20806       -1,    -1,    -1,    77,    78,    79,    80,    81,    -1,    83,
20807       84,    85,    -1,    87,    88,    89,    90,    91,    92,    -1,
20808       -1,    95,    96,    97,    -1,    -1,    -1,    -1,    -1,    -1,
20809       -1,   105,   106,   107,   108,   109,   110,   111,   112,   113,
20810       -1,   115,    -1,   117,   118,   119,   120,   121,   122,    -1,
20811      124,   125,   126,   127,    -1,    -1,   130,   131,   132,   133,
20812      134,    -1,   136,   137,   138,    -1,   140,   141,   142,    -1,
20813      144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
20814       -1,   155,    -1,   157,   158,   159,   160,    -1,   162,    -1,
20815      164,    -1,    -1,    -1,   168,   169,   170,   171,    -1,   173,
20816      174,    -1,   176,   177,   178,    -1,   180,   181,   182,   183,
20817      184,    -1,   186,   187,   188,   189,    -1,   191,   192,   193,
20818      194,   195,   196,   197,    -1,   199,    -1,   201,   202,   203,
20819      204,   205,   206,   207,    -1,   209,    -1,   211,    -1,    -1,
20820      214,    -1,   216,   217,   218,   219,   220,    -1,    -1,   223,
20821      224,    -1,   226,    -1,    -1,   229,   230,   231,    -1,    -1,
20822      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
20823      244,   245,   246,   247,   248,   249,   250,    -1,   252,   253,
20824      254,   255,   256,   257,   258,   259,   260,   261,   262,    -1,
20825      264,   265,    -1,   267,    -1,   269,   270,   271,   272,   273,
20826      274,    -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,
20827       -1,   285,   286,   287,    -1,   289,    -1,   291,   292,   293,
20828      294,   295,   296,   297,   298,   299,   300,    -1,   302,   303,
20829      304,   305,   306,   307,   308,   309,    -1,   311,   312,   313,
20830      314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
20831      324,   325,    -1,   327,   328,   329,   330,   331,   332,   333,
20832      334,   335,   336,   337,   338,    -1,   340,   341,    -1,   343,
20833      344,   345,   346,   347,   348,   349,   350,   351,   352,   353,
20834      354,   355,   356,   357,    -1,   359,   360,   361,   362,   363,
20835       -1,   365,   366,   367,   368,   369,    -1,   371,   372,   373,
20836      374,    -1,   376,   377,   378,   379,   380,   381,   382,   383,
20837      384,   385,   386,   387,   388,   389,   390,    -1,   392,   393,
20838       -1,   395,    -1,   397,   398,   399,   400,   401,    -1,   403,
20839      404,   405,    -1,    -1,   408,   409,   410,   411,   412,    -1,
20840      414,   415,   416,   417,   418,   419,   420,   421,    -1,    -1,
20841      424,   425,   426,   427,   428,    -1,    -1,   431,   432,   433,
20842      434,   435,   436,   437,    -1,   439,    -1,   441,   442,   443,
20843      444,    -1,    -1,   447,    -1,    -1,   450,   451,   452,   453,
20844      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
20845      464,   465,   466,   467,   468,   469,     3,    -1,    -1,    -1,
20846       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20847       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
20848       27,    28,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
20849       -1,    -1,    39,    40,    -1,    42,    43,    44,    -1,    46,
20850       47,    48,    49,    50,    -1,    52,    53,    -1,    55,    56,
20851       57,    58,    59,    60,    -1,    -1,    63,    64,    65,    66,
20852       67,    -1,    69,    70,    71,    72,    73,    -1,    -1,    -1,
20853       77,    78,    79,    80,    81,    -1,    83,    84,    85,    -1,
20854       87,    88,    89,    90,    91,    92,    -1,    -1,    95,    96,
20855       97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,
20856      107,   108,   109,   110,   111,   112,   113,    -1,   115,    -1,
20857      117,   118,   119,   120,   121,   122,    -1,   124,   125,   126,
20858      127,    -1,    -1,   130,   131,   132,   133,   134,    -1,   136,
20859      137,   138,    -1,   140,   141,   142,    -1,   144,   145,   146,
20860      147,   148,   149,   150,   151,   152,   153,    -1,   155,    -1,
20861      157,   158,   159,   160,    -1,   162,    -1,   164,    -1,    -1,
20862       -1,   168,   169,   170,   171,    -1,   173,   174,    -1,   176,
20863      177,   178,    -1,   180,   181,   182,   183,   184,    -1,   186,
20864      187,   188,   189,    -1,   191,   192,   193,   194,   195,   196,
20865      197,    -1,   199,    -1,   201,   202,   203,   204,   205,   206,
20866      207,    -1,   209,    -1,   211,    -1,    -1,   214,    -1,   216,
20867      217,   218,   219,   220,    -1,    -1,   223,   224,    -1,   226,
20868       -1,    -1,   229,   230,   231,    -1,    -1,   234,   235,   236,
20869      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
20870      247,   248,   249,   250,    -1,   252,   253,   254,   255,   256,
20871      257,   258,   259,   260,   261,   262,    -1,   264,   265,    -1,
20872      267,    -1,   269,   270,   271,   272,   273,   274,    -1,   276,
20873      277,    -1,    -1,   280,   281,   282,    -1,    -1,   285,   286,
20874      287,    -1,   289,    -1,   291,   292,   293,   294,   295,   296,
20875      297,   298,   299,   300,    -1,   302,   303,   304,   305,   306,
20876      307,   308,   309,    -1,   311,   312,   313,   314,   315,   316,
20877      317,   318,   319,   320,   321,   322,   323,   324,   325,    -1,
20878      327,   328,   329,   330,   331,   332,   333,   334,   335,   336,
20879      337,   338,    -1,   340,   341,    -1,   343,   344,   345,   346,
20880      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
20881      357,    -1,   359,   360,   361,   362,   363,    -1,   365,   366,
20882      367,   368,   369,    -1,   371,   372,   373,   374,    -1,   376,
20883      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
20884      387,   388,   389,   390,    -1,   392,   393,    -1,   395,    -1,
20885      397,   398,   399,   400,   401,    -1,   403,   404,   405,    -1,
20886       -1,   408,   409,   410,   411,   412,    -1,   414,   415,   416,
20887      417,   418,   419,   420,   421,    -1,    -1,   424,   425,   426,
20888      427,   428,    -1,    -1,   431,   432,   433,   434,   435,   436,
20889      437,    -1,   439,    -1,   441,   442,   443,   444,    -1,    -1,
20890      447,    -1,    -1,   450,   451,   452,   453,   454,   455,   456,
20891      457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
20892      467,   468,   469,     3,    -1,    -1,    -1,    -1,    -1,    -1,
20893       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20894       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
20895       30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,
20896       40,    -1,    42,    43,    44,    -1,    46,    47,    48,    49,
20897       50,    -1,    52,    53,    -1,    55,    56,    57,    58,    59,
20898       60,    -1,    -1,    63,    64,    65,    66,    67,    -1,    69,
20899       70,    71,    72,    73,    -1,    -1,    -1,    77,    78,    79,
20900       80,    81,    -1,    83,    84,    85,    -1,    87,    88,    89,
20901       90,    91,    92,    -1,    -1,    95,    96,    97,    -1,    -1,
20902       -1,    -1,    -1,    -1,    -1,   105,   106,   107,   108,   109,
20903      110,   111,   112,   113,    -1,   115,    -1,   117,   118,   119,
20904      120,   121,   122,    -1,   124,   125,   126,   127,    -1,    -1,
20905      130,   131,   132,   133,   134,    -1,   136,   137,   138,    -1,
20906      140,   141,   142,    -1,   144,   145,   146,   147,   148,   149,
20907      150,   151,   152,   153,    -1,   155,    -1,   157,   158,   159,
20908      160,    -1,   162,    -1,   164,    -1,    -1,    -1,   168,   169,
20909      170,   171,    -1,   173,   174,    -1,   176,   177,   178,    -1,
20910      180,   181,   182,   183,   184,    -1,   186,   187,   188,   189,
20911       -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
20912       -1,   201,   202,   203,   204,   205,   206,   207,    -1,   209,
20913       -1,   211,    -1,    -1,   214,    -1,   216,   217,   218,   219,
20914      220,    -1,    -1,   223,   224,    -1,   226,    -1,    -1,   229,
20915      230,   231,    -1,    -1,   234,   235,   236,   237,   238,   239,
20916      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
20917      250,    -1,   252,   253,   254,   255,   256,   257,   258,   259,
20918      260,   261,   262,    -1,   264,   265,    -1,   267,    -1,   269,
20919      270,   271,   272,   273,   274,    -1,   276,   277,    -1,    -1,
20920      280,   281,   282,    -1,    -1,   285,   286,   287,    -1,   289,
20921       -1,   291,   292,   293,   294,   295,   296,   297,   298,   299,
20922      300,    -1,   302,   303,   304,   305,   306,   307,   308,   309,
20923       -1,   311,   312,   313,   314,   315,   316,   317,   318,   319,
20924      320,   321,   322,   323,   324,   325,    -1,   327,   328,   329,
20925      330,   331,   332,   333,   334,   335,   336,   337,   338,    -1,
20926      340,   341,    -1,   343,   344,   345,   346,   347,   348,   349,
20927      350,   351,   352,   353,   354,   355,   356,   357,    -1,   359,
20928      360,   361,   362,   363,    -1,   365,   366,   367,   368,   369,
20929       -1,   371,   372,   373,   374,    -1,   376,   377,   378,   379,
20930      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
20931      390,    -1,   392,   393,    -1,   395,    -1,   397,   398,   399,
20932      400,   401,    -1,   403,   404,   405,    -1,    -1,   408,   409,
20933      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
20934      420,   421,    -1,    -1,   424,   425,   426,   427,   428,    -1,
20935       -1,   431,   432,   433,   434,   435,   436,   437,    -1,   439,
20936       -1,   441,   442,   443,   444,    -1,    -1,   447,    -1,    -1,
20937      450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
20938      460,   461,   462,   463,   464,   465,   466,   467,   468,   469,
20939        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20940       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
20941       23,    24,    25,    26,    27,    -1,    29,    30,    31,    -1,
20942       -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    42,
20943       43,    44,    45,    46,    47,    48,    49,    50,    -1,    52,
20944       53,    -1,    55,    56,    57,    58,    59,    60,    -1,    -1,
20945       63,    64,    65,    66,    67,    -1,    69,    70,    71,    72,
20946       73,    -1,    -1,    -1,    77,    78,    79,    80,    81,    -1,
20947       83,    84,    85,    -1,    87,    88,    89,    90,    91,    92,
20948       -1,    -1,    95,    96,    97,    -1,    -1,    -1,    -1,    -1,
20949       -1,    -1,   105,   106,   107,   108,   109,   110,   111,   112,
20950      113,    -1,   115,    -1,   117,   118,   119,   120,   121,   122,
20951       -1,   124,   125,   126,   127,    -1,    -1,   130,   131,   132,
20952      133,   134,    -1,   136,   137,   138,    -1,   140,   141,   142,
20953       -1,   144,   145,   146,   147,   148,   149,   150,   151,   152,
20954      153,    -1,   155,    -1,   157,   158,   159,   160,    -1,   162,
20955       -1,   164,    -1,    -1,    -1,   168,   169,   170,   171,    -1,
20956      173,   174,    -1,   176,   177,   178,    -1,   180,   181,   182,
20957      183,   184,    -1,   186,   187,   188,   189,    -1,   191,   192,
20958      193,   194,   195,   196,   197,    -1,   199,    -1,   201,   202,
20959      203,   204,   205,   206,   207,    -1,   209,    -1,   211,    -1,
20960       -1,   214,    -1,   216,   217,   218,   219,   220,    -1,    -1,
20961      223,   224,    -1,   226,    -1,    -1,   229,   230,   231,    -1,
20962       -1,   234,   235,   236,   237,   238,   239,   240,   241,   242,
20963      243,   244,   245,   246,   247,   248,   249,   250,    -1,   252,
20964      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
20965       -1,   264,   265,    -1,   267,    -1,   269,   270,   271,   272,
20966      273,   274,    -1,   276,   277,    -1,    -1,   280,   281,   282,
20967       -1,    -1,   285,   286,   287,    -1,   289,    -1,   291,   292,
20968      293,   294,   295,   296,   297,   298,   299,   300,    -1,   302,
20969      303,   304,   305,   306,   307,   308,   309,    -1,   311,   312,
20970      313,   314,   315,   316,   317,   318,   319,   320,   321,   322,
20971      323,   324,   325,    -1,   327,   328,   329,   330,   331,   332,
20972      333,   334,   335,   336,   337,   338,    -1,   340,   341,    -1,
20973      343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
20974      353,   354,   355,   356,   357,    -1,   359,   360,   361,   362,
20975      363,    -1,   365,   366,   367,   368,   369,    -1,   371,   372,
20976      373,   374,    -1,   376,   377,   378,   379,   380,   381,   382,
20977      383,   384,   385,   386,   387,   388,   389,   390,    -1,   392,
20978      393,    -1,   395,    -1,   397,   398,   399,   400,   401,    -1,
20979      403,   404,   405,    -1,    -1,   408,   409,   410,   411,   412,
20980       -1,   414,   415,   416,   417,   418,   419,   420,   421,    -1,
20981       -1,   424,   425,   426,   427,   428,    -1,    -1,   431,   432,
20982      433,   434,   435,   436,   437,    -1,   439,    -1,   441,   442,
20983      443,   444,    -1,    -1,   447,    -1,    -1,   450,   451,   452,
20984      453,   454,   455,   456,   457,   458,   459,   460,   461,   462,
20985      463,   464,   465,   466,   467,   468,   469,     3,    -1,    -1,
20986       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20987       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
20988       26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,
20989       -1,    -1,    -1,    39,    40,    -1,    42,    43,    44,    -1,
20990       46,    47,    48,    49,    50,    -1,    52,    53,    -1,    55,
20991       56,    57,    58,    59,    60,    -1,    -1,    63,    64,    65,
20992       66,    67,    -1,    69,    70,    71,    72,    73,    -1,    -1,
20993       -1,    77,    78,    79,    80,    81,    -1,    83,    84,    85,
20994       -1,    87,    88,    89,    90,    91,    92,    -1,    -1,    95,
20995       96,    97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,
20996      106,   107,   108,   109,   110,   111,   112,   113,    -1,   115,
20997       -1,   117,   118,   119,   120,   121,   122,    -1,   124,   125,
20998      126,   127,    -1,    -1,   130,   131,   132,   133,   134,    -1,
20999      136,   137,   138,    -1,   140,   141,   142,    -1,   144,   145,
21000      146,   147,   148,   149,   150,   151,   152,   153,    -1,   155,
21001       -1,   157,   158,   159,   160,    -1,   162,    -1,   164,    -1,
21002       -1,    -1,   168,   169,   170,   171,    -1,   173,   174,    -1,
21003      176,   177,   178,    -1,   180,   181,   182,   183,   184,    -1,
21004      186,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
21005      196,   197,    -1,   199,    -1,   201,   202,   203,   204,   205,
21006      206,   207,    -1,   209,    -1,   211,    -1,    -1,   214,    -1,
21007      216,   217,   218,   219,   220,    -1,    -1,   223,   224,    -1,
21008      226,    -1,    -1,   229,   230,   231,    -1,    -1,   234,   235,
21009      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
21010      246,   247,   248,   249,   250,    -1,   252,   253,   254,   255,
21011      256,   257,   258,   259,   260,   261,   262,    -1,   264,   265,
21012       -1,   267,    -1,   269,   270,   271,   272,   273,   274,    -1,
21013      276,   277,    -1,   279,   280,   281,   282,    -1,    -1,   285,
21014      286,   287,    -1,   289,    -1,   291,   292,   293,   294,   295,
21015      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
21016      306,   307,   308,   309,    -1,   311,   312,   313,   314,   315,
21017      316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
21018       -1,   327,   328,   329,   330,   331,   332,   333,   334,   335,
21019      336,   337,   338,    -1,   340,   341,    -1,   343,   344,   345,
21020      346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
21021      356,   357,    -1,   359,   360,   361,   362,   363,    -1,   365,
21022      366,   367,   368,   369,    -1,   371,   372,   373,   374,    -1,
21023      376,   377,   378,   379,   380,   381,   382,   383,   384,   385,
21024      386,   387,   388,   389,   390,    -1,   392,   393,    -1,   395,
21025       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
21026       -1,    -1,   408,   409,   410,   411,   412,    -1,   414,   415,
21027      416,   417,   418,   419,   420,   421,    -1,    -1,   424,   425,
21028      426,   427,   428,    -1,    -1,   431,   432,   433,   434,   435,
21029      436,   437,    -1,   439,    -1,   441,   442,   443,   444,    -1,
21030       -1,   447,    -1,    -1,   450,   451,   452,   453,   454,   455,
21031      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
21032      466,   467,   468,   469,     3,    -1,    -1,    -1,    -1,    -1,
21033       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21034       -1,    20,    21,    22,    23,    24,    25,    26,    27,    28,
21035       29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21036       39,    40,    -1,    42,    43,    44,    -1,    46,    47,    48,
21037       49,    50,    -1,    52,    53,    -1,    55,    56,    57,    58,
21038       59,    60,    -1,    -1,    63,    64,    65,    66,    67,    -1,
21039       69,    70,    71,    72,    73,    -1,    -1,    -1,    77,    78,
21040       79,    80,    81,    -1,    83,    84,    85,    -1,    87,    88,
21041       89,    90,    91,    92,    -1,    -1,    95,    96,    97,    -1,
21042       -1,    -1,    -1,    -1,    -1,    -1,   105,   106,   107,   108,
21043      109,   110,   111,   112,   113,    -1,   115,    -1,   117,   118,
21044      119,   120,   121,   122,    -1,   124,   125,   126,   127,    -1,
21045       -1,   130,   131,   132,   133,   134,    -1,   136,   137,   138,
21046       -1,   140,   141,   142,    -1,   144,   145,   146,   147,   148,
21047      149,   150,   151,   152,   153,    -1,   155,    -1,   157,   158,
21048      159,   160,    -1,   162,    -1,   164,    -1,    -1,    -1,   168,
21049      169,   170,   171,    -1,   173,   174,    -1,   176,   177,   178,
21050       -1,   180,   181,   182,   183,   184,    -1,   186,   187,   188,
21051      189,    -1,   191,   192,   193,   194,   195,   196,   197,    -1,
21052      199,    -1,   201,   202,   203,   204,   205,   206,   207,    -1,
21053      209,    -1,   211,    -1,    -1,   214,    -1,   216,   217,   218,
21054      219,   220,    -1,    -1,   223,   224,    -1,   226,    -1,    -1,
21055      229,   230,   231,    -1,    -1,   234,   235,   236,   237,   238,
21056      239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
21057      249,   250,    -1,   252,   253,   254,   255,   256,   257,   258,
21058      259,   260,   261,   262,    -1,   264,   265,    -1,   267,    -1,
21059      269,   270,   271,   272,   273,   274,    -1,   276,   277,    -1,
21060       -1,   280,   281,   282,    -1,    -1,   285,   286,   287,    -1,
21061      289,    -1,   291,   292,   293,   294,   295,   296,   297,   298,
21062      299,   300,    -1,   302,   303,   304,   305,   306,   307,   308,
21063      309,    -1,   311,   312,   313,   314,   315,   316,   317,   318,
21064      319,   320,   321,   322,   323,   324,   325,    -1,   327,   328,
21065      329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
21066       -1,   340,   341,    -1,   343,   344,   345,   346,   347,   348,
21067      349,   350,   351,   352,   353,   354,   355,   356,   357,    -1,
21068      359,   360,   361,   362,   363,    -1,   365,   366,   367,   368,
21069      369,    -1,   371,   372,   373,   374,    -1,   376,   377,   378,
21070      379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
21071      389,   390,    -1,   392,   393,    -1,   395,    -1,   397,   398,
21072      399,   400,   401,    -1,   403,   404,   405,    -1,    -1,   408,
21073      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
21074      419,   420,   421,    -1,    -1,   424,   425,   426,   427,   428,
21075       -1,    -1,   431,   432,   433,   434,   435,   436,   437,    -1,
21076      439,    -1,   441,   442,   443,   444,    -1,    -1,   447,    -1,
21077       -1,   450,   451,   452,   453,   454,   455,   456,   457,   458,
21078      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
21079      469,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21080       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
21081       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
21082       -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,
21083       42,    43,    44,    -1,    46,    47,    48,    49,    50,    -1,
21084       52,    53,    -1,    55,    56,    57,    58,    59,    60,    -1,
21085       -1,    63,    64,    65,    66,    67,    -1,    69,    70,    71,
21086       72,    73,    -1,    -1,    -1,    77,    78,    79,    80,    81,
21087       -1,    83,    84,    85,    -1,    87,    88,    89,    90,    91,
21088       92,    -1,    -1,    95,    96,    97,    -1,    -1,    -1,    -1,
21089       -1,    -1,    -1,   105,   106,   107,   108,   109,   110,   111,
21090      112,   113,    -1,   115,    -1,   117,   118,   119,   120,   121,
21091      122,    -1,   124,   125,   126,   127,    -1,    -1,   130,   131,
21092      132,   133,   134,    -1,   136,   137,   138,    -1,   140,   141,
21093      142,    -1,   144,   145,   146,   147,   148,   149,   150,   151,
21094      152,   153,    -1,   155,    -1,   157,   158,   159,   160,    -1,
21095      162,    -1,   164,    -1,    -1,    -1,   168,   169,   170,   171,
21096       -1,   173,   174,    -1,   176,   177,   178,    -1,   180,   181,
21097      182,   183,   184,    -1,   186,   187,   188,   189,    -1,   191,
21098      192,   193,   194,   195,   196,   197,    -1,   199,    -1,   201,
21099      202,   203,   204,   205,   206,   207,    -1,   209,    -1,   211,
21100       -1,    -1,   214,    -1,   216,   217,   218,   219,   220,    -1,
21101       -1,   223,   224,    -1,   226,    -1,    -1,   229,   230,   231,
21102       -1,    -1,   234,   235,   236,   237,   238,   239,   240,   241,
21103      242,   243,   244,   245,   246,   247,   248,   249,   250,    -1,
21104      252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
21105      262,    -1,   264,   265,    -1,   267,    -1,   269,   270,   271,
21106      272,   273,   274,    -1,   276,   277,    -1,    -1,   280,   281,
21107      282,    -1,    -1,   285,   286,   287,    -1,   289,    -1,   291,
21108      292,   293,   294,   295,   296,   297,   298,   299,   300,    -1,
21109      302,   303,   304,   305,   306,   307,   308,   309,    -1,   311,
21110      312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
21111      322,   323,   324,   325,    -1,   327,   328,   329,   330,   331,
21112      332,   333,   334,   335,   336,   337,   338,    -1,   340,   341,
21113       -1,   343,   344,   345,   346,   347,   348,   349,   350,   351,
21114      352,   353,   354,   355,   356,   357,    -1,   359,   360,   361,
21115      362,   363,    -1,   365,   366,   367,   368,   369,    -1,   371,
21116      372,   373,   374,    -1,   376,   377,   378,   379,   380,   381,
21117      382,   383,   384,   385,   386,   387,   388,   389,   390,    -1,
21118      392,   393,    -1,   395,    -1,   397,   398,   399,   400,   401,
21119       -1,   403,   404,   405,    -1,    -1,   408,   409,   410,   411,
21120      412,    -1,   414,   415,   416,   417,   418,   419,   420,   421,
21121       -1,    -1,   424,   425,   426,   427,   428,    -1,    -1,   431,
21122      432,   433,   434,   435,   436,   437,    -1,   439,    -1,   441,
21123      442,   443,   444,    -1,    -1,   447,    -1,    -1,   450,   451,
21124      452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
21125      462,   463,   464,   465,   466,   467,   468,   469,     3,    -1,
21126       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21127       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
21128       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
21129       -1,    -1,    -1,    -1,    39,    40,    -1,    42,    43,    44,
21130       -1,    46,    47,    48,    49,    50,    -1,    52,    53,    -1,
21131       55,    56,    57,    58,    59,    60,    -1,    -1,    63,    64,
21132       65,    66,    67,    -1,    69,    70,    71,    72,    73,    -1,
21133       -1,    -1,    77,    78,    79,    80,    81,    -1,    83,    84,
21134       85,    -1,    87,    88,    89,    90,    91,    92,    -1,    -1,
21135       95,    96,    97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21136      105,   106,   107,   108,   109,   110,   111,   112,   113,    -1,
21137      115,    -1,   117,   118,   119,   120,   121,   122,    -1,   124,
21138      125,   126,   127,    -1,    -1,   130,   131,   132,   133,   134,
21139       -1,   136,   137,   138,    -1,   140,   141,   142,    -1,   144,
21140      145,   146,   147,   148,   149,   150,   151,   152,   153,    -1,
21141      155,    -1,   157,   158,   159,   160,    -1,   162,    -1,   164,
21142       -1,    -1,    -1,   168,   169,   170,   171,    -1,   173,   174,
21143       -1,   176,   177,   178,    -1,   180,   181,   182,   183,   184,
21144       -1,   186,   187,   188,   189,    -1,   191,   192,   193,   194,
21145      195,   196,   197,    -1,   199,    -1,   201,   202,   203,   204,
21146      205,   206,   207,    -1,   209,    -1,   211,    -1,    -1,   214,
21147       -1,   216,   217,   218,   219,   220,    -1,    -1,   223,   224,
21148       -1,   226,    -1,    -1,   229,   230,   231,    -1,    -1,   234,
21149      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
21150      245,   246,   247,   248,   249,   250,    -1,   252,   253,   254,
21151      255,   256,   257,   258,   259,   260,   261,   262,    -1,   264,
21152      265,    -1,   267,    -1,   269,   270,   271,   272,   273,   274,
21153       -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,
21154      285,   286,   287,    -1,   289,    -1,   291,   292,   293,   294,
21155      295,   296,   297,   298,   299,   300,    -1,   302,   303,   304,
21156      305,   306,   307,   308,   309,    -1,   311,   312,   313,   314,
21157      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
21158      325,    -1,   327,   328,   329,   330,   331,   332,   333,   334,
21159      335,   336,   337,   338,    -1,   340,   341,    -1,   343,   344,
21160      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
21161      355,   356,   357,    -1,   359,   360,   361,   362,   363,    -1,
21162      365,   366,   367,   368,   369,    -1,   371,   372,   373,   374,
21163       -1,   376,   377,   378,   379,   380,   381,   382,   383,   384,
21164      385,   386,   387,   388,   389,   390,    -1,   392,   393,   394,
21165      395,    -1,   397,   398,   399,   400,   401,    -1,   403,   404,
21166      405,    -1,    -1,   408,   409,   410,   411,   412,    -1,   414,
21167      415,   416,   417,   418,   419,   420,   421,    -1,    -1,   424,
21168      425,   426,   427,   428,    -1,    -1,   431,   432,   433,   434,
21169      435,   436,   437,    -1,   439,    -1,   441,   442,   443,   444,
21170       -1,    -1,   447,    -1,    -1,   450,   451,   452,   453,   454,
21171      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
21172      465,   466,   467,   468,   469,     3,    -1,    -1,     6,    -1,
21173       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21174       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
21175       -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,
21176       -1,    39,    40,    -1,    42,    43,    44,    -1,    46,    47,
21177       48,    49,    50,    -1,    52,    53,    -1,    55,    56,    57,
21178       58,    59,    60,    -1,    -1,    63,    64,    65,    66,    67,
21179       -1,    69,    70,    71,    72,    73,    -1,    -1,    -1,    77,
21180       78,    79,    80,    81,    -1,    83,    84,    85,    -1,    87,
21181       88,    89,    90,    91,    92,    -1,    -1,    95,    96,    97,
21182       -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,   107,
21183      108,   109,   110,   111,   112,   113,    -1,   115,    -1,   117,
21184      118,   119,   120,   121,   122,    -1,   124,   125,   126,   127,
21185       -1,    -1,   130,   131,   132,   133,   134,    -1,   136,   137,
21186      138,    -1,   140,   141,   142,    -1,   144,   145,   146,   147,
21187      148,   149,   150,   151,   152,   153,    -1,   155,    -1,   157,
21188      158,   159,   160,    -1,   162,    -1,   164,    -1,    -1,    -1,
21189      168,   169,   170,   171,    -1,   173,   174,    -1,   176,   177,
21190      178,    -1,   180,   181,   182,   183,   184,    -1,   186,   187,
21191      188,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
21192       -1,   199,    -1,   201,   202,   203,   204,   205,   206,   207,
21193       -1,   209,    -1,   211,    -1,    -1,   214,    -1,   216,   217,
21194      218,   219,   220,    -1,    -1,   223,   224,    -1,   226,    -1,
21195       -1,   229,   230,   231,    -1,    -1,   234,   235,   236,   237,
21196      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
21197      248,   249,   250,    -1,   252,   253,   254,   255,   256,   257,
21198      258,   259,   260,   261,   262,    -1,   264,   265,    -1,   267,
21199       -1,   269,   270,   271,   272,   273,   274,    -1,   276,   277,
21200       -1,    -1,   280,   281,   282,    -1,    -1,   285,   286,   287,
21201       -1,   289,    -1,   291,   292,   293,   294,   295,   296,   297,
21202      298,   299,   300,    -1,   302,   303,   304,   305,   306,   307,
21203      308,   309,    -1,   311,   312,   313,   314,   315,   316,   317,
21204      318,   319,   320,   321,   322,   323,   324,   325,    -1,   327,
21205      328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
21206      338,    -1,   340,   341,    -1,   343,   344,   345,   346,   347,
21207      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
21208       -1,   359,   360,   361,   362,   363,    -1,   365,   366,   367,
21209      368,   369,    -1,   371,   372,   373,   374,    -1,   376,   377,
21210      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
21211      388,   389,   390,    -1,   392,   393,    -1,   395,    -1,   397,
21212      398,   399,   400,   401,    -1,   403,   404,   405,    -1,    -1,
21213      408,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
21214      418,   419,   420,   421,    -1,    -1,   424,   425,   426,   427,
21215      428,    -1,    -1,   431,   432,   433,   434,   435,   436,   437,
21216       -1,   439,    -1,   441,   442,   443,   444,    -1,    -1,   447,
21217       -1,    -1,   450,   451,   452,   453,   454,   455,   456,   457,
21218      458,   459,   460,   461,   462,   463,   464,   465,   466,   467,
21219      468,   469,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21220       11,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
21221       21,    22,    23,    24,    25,    26,    27,    -1,    29,    30,
21222       31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,
21223       -1,    42,    43,    44,    -1,    46,    47,    48,    49,    50,
21224       -1,    52,    53,    -1,    55,    56,    57,    58,    59,    60,
21225       -1,    -1,    63,    64,    65,    66,    67,    -1,    69,    70,
21226       71,    72,    73,    -1,    -1,    -1,    77,    78,    79,    80,
21227       81,    -1,    83,    84,    85,    -1,    87,    88,    89,    90,
21228       91,    92,    -1,    -1,    95,    96,    97,    -1,    -1,    -1,
21229       -1,    -1,    -1,    -1,   105,   106,   107,   108,   109,   110,
21230      111,   112,   113,    -1,   115,    -1,   117,   118,   119,   120,
21231      121,   122,    -1,   124,   125,   126,   127,    -1,    -1,   130,
21232      131,   132,   133,   134,    -1,   136,   137,   138,    -1,   140,
21233      141,   142,    -1,   144,   145,   146,   147,   148,   149,   150,
21234      151,   152,   153,    -1,   155,    -1,   157,   158,   159,   160,
21235       -1,   162,    -1,   164,    -1,    -1,    -1,   168,   169,   170,
21236      171,    -1,   173,   174,    -1,   176,   177,   178,    -1,   180,
21237      181,   182,   183,   184,    -1,   186,   187,   188,   189,    -1,
21238      191,   192,   193,   194,   195,   196,   197,    -1,   199,    -1,
21239      201,   202,   203,   204,   205,   206,   207,    -1,   209,    -1,
21240      211,    -1,    -1,   214,    -1,   216,   217,   218,   219,   220,
21241       -1,    -1,   223,   224,    -1,   226,    -1,    -1,   229,   230,
21242      231,    -1,    -1,   234,   235,   236,   237,   238,   239,   240,
21243      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
21244       -1,   252,   253,   254,   255,   256,   257,   258,   259,   260,
21245      261,   262,    -1,   264,   265,    -1,   267,    -1,   269,   270,
21246      271,   272,   273,   274,    -1,   276,   277,    -1,    -1,   280,
21247      281,   282,    -1,    -1,   285,   286,   287,    -1,   289,    -1,
21248      291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
21249       -1,   302,   303,   304,   305,   306,   307,   308,   309,    -1,
21250      311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
21251      321,   322,   323,   324,   325,    -1,   327,   328,   329,   330,
21252      331,   332,   333,   334,   335,   336,   337,   338,    -1,   340,
21253      341,    -1,   343,   344,   345,   346,   347,   348,   349,   350,
21254      351,   352,   353,   354,   355,   356,   357,    -1,   359,   360,
21255      361,   362,   363,    -1,   365,   366,   367,   368,   369,    -1,
21256      371,   372,   373,   374,    -1,   376,   377,   378,   379,   380,
21257      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
21258       -1,   392,   393,    -1,   395,    -1,   397,   398,   399,   400,
21259      401,    -1,   403,   404,   405,    -1,    -1,   408,   409,   410,
21260      411,   412,    -1,   414,   415,   416,   417,   418,   419,   420,
21261      421,    -1,    -1,   424,   425,   426,   427,   428,    -1,    -1,
21262      431,   432,   433,   434,   435,   436,   437,    -1,   439,    -1,
21263      441,   442,   443,   444,    -1,    -1,   447,    -1,    -1,   450,
21264      451,   452,   453,   454,   455,   456,   457,   458,   459,   460,
21265      461,   462,   463,   464,   465,   466,   467,   468,   469,     3,
21266       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21267       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
21268       24,    25,    26,    27,    -1,    29,    30,    31,    -1,    -1,
21269       -1,    -1,    -1,    37,    -1,    39,    40,    -1,    42,    43,
21270       44,    -1,    46,    47,    48,    49,    50,    -1,    52,    53,
21271       -1,    55,    56,    57,    58,    59,    60,    -1,    -1,    63,
21272       64,    65,    66,    67,    -1,    69,    70,    71,    72,    73,
21273       -1,    -1,    -1,    77,    78,    79,    80,    81,    -1,    83,
21274       84,    85,    -1,    87,    88,    89,    90,    91,    92,    -1,
21275       -1,    95,    96,    97,    -1,    -1,    -1,    -1,    -1,    -1,
21276       -1,   105,   106,   107,   108,   109,   110,   111,   112,   113,
21277       -1,   115,    -1,   117,   118,   119,   120,   121,   122,    -1,
21278      124,   125,   126,   127,    -1,    -1,   130,   131,   132,   133,
21279      134,    -1,   136,   137,   138,    -1,   140,   141,   142,    -1,
21280      144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
21281       -1,   155,    -1,   157,   158,   159,   160,    -1,   162,    -1,
21282      164,    -1,    -1,    -1,   168,   169,   170,   171,    -1,   173,
21283      174,    -1,   176,   177,   178,    -1,   180,   181,   182,   183,
21284      184,    -1,   186,   187,   188,   189,    -1,   191,   192,   193,
21285      194,   195,   196,   197,    -1,   199,    -1,   201,   202,   203,
21286      204,   205,   206,   207,    -1,   209,    -1,   211,    -1,    -1,
21287      214,    -1,   216,   217,   218,   219,   220,    -1,    -1,   223,
21288      224,    -1,   226,    -1,    -1,   229,   230,   231,    -1,    -1,
21289      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
21290      244,   245,   246,   247,   248,   249,   250,    -1,   252,   253,
21291      254,   255,   256,   257,   258,   259,   260,   261,   262,    -1,
21292      264,   265,    -1,   267,    -1,   269,   270,   271,   272,   273,
21293      274,    -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,
21294       -1,   285,   286,   287,    -1,   289,    -1,   291,   292,   293,
21295      294,   295,   296,   297,   298,   299,   300,    -1,   302,   303,
21296      304,   305,   306,   307,   308,   309,    -1,   311,   312,   313,
21297      314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
21298      324,   325,    -1,   327,   328,   329,   330,   331,   332,   333,
21299      334,   335,   336,   337,   338,    -1,   340,   341,    -1,   343,
21300      344,   345,   346,   347,   348,   349,   350,   351,   352,   353,
21301      354,   355,   356,   357,    -1,   359,   360,   361,   362,   363,
21302       -1,   365,   366,   367,   368,   369,    -1,   371,   372,   373,
21303      374,    -1,   376,   377,   378,   379,   380,   381,   382,   383,
21304      384,   385,   386,   387,   388,   389,   390,    -1,   392,   393,
21305       -1,   395,    -1,   397,   398,   399,   400,   401,    -1,   403,
21306      404,   405,    -1,    -1,   408,   409,   410,   411,   412,    -1,
21307      414,   415,   416,   417,   418,   419,   420,   421,    -1,    -1,
21308      424,   425,   426,   427,   428,    -1,    -1,   431,   432,   433,
21309      434,   435,   436,   437,    -1,   439,    -1,   441,   442,   443,
21310      444,    -1,    -1,   447,    -1,    -1,   450,   451,   452,   453,
21311      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
21312      464,   465,   466,   467,   468,   469,     3,    -1,    -1,    -1,
21313       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21314       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
21315       27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
21316       37,    -1,    39,    40,    -1,    42,    43,    44,    -1,    46,
21317       47,    48,    49,    50,    -1,    52,    53,    -1,    55,    56,
21318       57,    58,    59,    60,    -1,    -1,    63,    64,    65,    66,
21319       67,    -1,    69,    70,    71,    72,    73,    -1,    -1,    -1,
21320       77,    78,    79,    80,    81,    -1,    83,    84,    85,    -1,
21321       87,    88,    89,    90,    91,    92,    -1,    -1,    95,    96,
21322       97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,
21323      107,   108,   109,   110,   111,   112,   113,    -1,   115,    -1,
21324      117,   118,   119,   120,   121,   122,    -1,   124,   125,   126,
21325      127,    -1,    -1,   130,   131,   132,   133,   134,    -1,   136,
21326      137,   138,    -1,   140,   141,   142,    -1,   144,   145,   146,
21327      147,   148,   149,   150,   151,   152,   153,    -1,   155,    -1,
21328      157,   158,   159,   160,    -1,   162,    -1,   164,    -1,    -1,
21329       -1,   168,   169,   170,   171,    -1,   173,   174,    -1,   176,
21330      177,   178,    -1,   180,   181,   182,   183,   184,    -1,   186,
21331      187,   188,   189,    -1,   191,   192,   193,   194,   195,   196,
21332      197,    -1,   199,    -1,   201,   202,   203,   204,   205,   206,
21333      207,    -1,   209,    -1,   211,    -1,    -1,   214,    -1,   216,
21334      217,   218,   219,   220,    -1,    -1,   223,   224,    -1,   226,
21335       -1,    -1,   229,   230,   231,    -1,    -1,   234,   235,   236,
21336      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
21337      247,   248,   249,   250,    -1,   252,   253,   254,   255,   256,
21338      257,   258,   259,   260,   261,   262,    -1,   264,   265,    -1,
21339      267,    -1,   269,   270,   271,   272,   273,   274,    -1,   276,
21340      277,    -1,    -1,   280,   281,   282,    -1,    -1,   285,   286,
21341      287,    -1,   289,    -1,   291,   292,   293,   294,   295,   296,
21342      297,   298,   299,   300,    -1,   302,   303,   304,   305,   306,
21343      307,   308,   309,    -1,   311,   312,   313,   314,   315,   316,
21344      317,   318,   319,   320,   321,   322,   323,   324,   325,    -1,
21345      327,   328,   329,   330,   331,   332,   333,   334,   335,   336,
21346      337,   338,    -1,   340,   341,    -1,   343,   344,   345,   346,
21347      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
21348      357,    -1,   359,   360,   361,   362,   363,    -1,   365,   366,
21349      367,   368,   369,    -1,   371,   372,   373,   374,    -1,   376,
21350      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
21351      387,   388,   389,   390,    -1,   392,   393,    -1,   395,    -1,
21352      397,   398,   399,   400,   401,    -1,   403,   404,   405,    -1,
21353       -1,   408,   409,   410,   411,   412,    -1,   414,   415,   416,
21354      417,   418,   419,   420,   421,    -1,    -1,   424,   425,   426,
21355      427,   428,    -1,    -1,   431,   432,   433,   434,   435,   436,
21356      437,    -1,   439,    -1,   441,   442,   443,   444,    -1,    -1,
21357      447,    -1,    -1,   450,   451,   452,   453,   454,   455,   456,
21358      457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
21359      467,   468,   469,     3,    -1,    -1,    -1,    -1,    -1,    -1,
21360       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21361       20,    21,    22,    23,    24,    25,    26,    27,    -1,    29,
21362       30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,
21363       40,    -1,    42,    43,    44,    -1,    46,    47,    48,    49,
21364       50,    -1,    52,    53,    -1,    55,    56,    57,    58,    59,
21365       60,    -1,    -1,    63,    64,    65,    66,    67,    -1,    69,
21366       70,    71,    72,    73,    -1,    -1,    -1,    77,    78,    79,
21367       80,    81,    -1,    83,    84,    85,    -1,    87,    88,    89,
21368       90,    91,    92,    -1,    -1,    95,    96,    97,    -1,    -1,
21369       -1,    -1,    -1,    -1,    -1,   105,   106,   107,   108,   109,
21370      110,   111,   112,   113,    -1,   115,    -1,   117,   118,   119,
21371      120,   121,   122,    -1,   124,   125,   126,   127,    -1,    -1,
21372      130,   131,   132,   133,   134,    -1,   136,   137,   138,    -1,
21373      140,   141,   142,    -1,   144,   145,   146,   147,   148,   149,
21374      150,   151,   152,   153,    -1,   155,    -1,   157,   158,   159,
21375      160,    -1,   162,    -1,   164,    -1,    -1,    -1,   168,   169,
21376      170,   171,    -1,   173,   174,    -1,   176,   177,   178,    -1,
21377      180,   181,   182,   183,   184,    -1,   186,   187,   188,   189,
21378       -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
21379       -1,   201,   202,   203,   204,   205,   206,   207,    -1,   209,
21380       -1,   211,    -1,    -1,   214,    -1,   216,   217,   218,   219,
21381      220,    -1,    -1,   223,   224,    -1,   226,    -1,    -1,   229,
21382      230,   231,    -1,    -1,   234,   235,   236,   237,   238,   239,
21383      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
21384      250,    -1,   252,   253,   254,   255,   256,   257,   258,   259,
21385      260,   261,   262,    -1,   264,   265,    -1,   267,    -1,   269,
21386      270,   271,   272,   273,   274,    -1,   276,   277,    -1,    -1,
21387      280,   281,   282,    -1,    -1,   285,   286,   287,    -1,   289,
21388       -1,   291,   292,   293,   294,   295,   296,   297,   298,   299,
21389      300,    -1,   302,   303,   304,   305,   306,   307,   308,   309,
21390       -1,   311,   312,   313,   314,   315,   316,   317,   318,   319,
21391      320,   321,   322,   323,   324,   325,    -1,   327,   328,   329,
21392      330,   331,   332,   333,   334,   335,   336,   337,   338,    -1,
21393      340,   341,    -1,   343,   344,   345,   346,   347,   348,   349,
21394      350,   351,   352,   353,   354,   355,   356,   357,    -1,   359,
21395      360,   361,   362,   363,    -1,   365,   366,   367,   368,   369,
21396       -1,   371,   372,   373,   374,    -1,   376,   377,   378,   379,
21397      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
21398      390,    -1,   392,   393,    -1,   395,    -1,   397,   398,   399,
21399      400,   401,    -1,   403,   404,   405,    -1,    -1,   408,   409,
21400      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
21401      420,   421,    -1,    -1,   424,   425,   426,   427,   428,    -1,
21402       -1,   431,   432,   433,   434,   435,   436,   437,    -1,   439,
21403       -1,   441,   442,   443,   444,    -1,    -1,   447,    -1,    -1,
21404      450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
21405      460,   461,   462,   463,   464,   465,   466,   467,   468,   469,
21406        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21407       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
21408       23,    24,    25,    26,    27,    -1,    29,    30,    31,    -1,
21409       -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    42,
21410       43,    44,    -1,    46,    47,    48,    49,    50,    -1,    52,
21411       53,    -1,    55,    56,    57,    58,    59,    60,    -1,    -1,
21412       63,    64,    65,    66,    67,    -1,    69,    70,    71,    72,
21413       73,    -1,    -1,    -1,    77,    78,    79,    80,    81,    -1,
21414       83,    84,    85,    -1,    87,    88,    89,    90,    91,    92,
21415       -1,    -1,    95,    96,    97,    -1,    -1,    -1,    -1,    -1,
21416       -1,    -1,   105,   106,   107,   108,   109,   110,   111,   112,
21417      113,    -1,   115,    -1,   117,   118,   119,   120,   121,   122,
21418       -1,   124,   125,   126,   127,    -1,    -1,   130,   131,   132,
21419      133,   134,    -1,   136,   137,   138,    -1,   140,   141,   142,
21420       -1,   144,   145,   146,   147,   148,   149,   150,   151,   152,
21421      153,    -1,   155,    -1,   157,   158,   159,   160,    -1,   162,
21422       -1,   164,    -1,    -1,    -1,   168,   169,   170,   171,    -1,
21423      173,   174,    -1,   176,   177,   178,    -1,   180,   181,   182,
21424      183,   184,    -1,   186,   187,   188,   189,    -1,   191,   192,
21425      193,   194,   195,   196,   197,    -1,   199,    -1,   201,   202,
21426      203,   204,   205,   206,   207,    -1,   209,    -1,   211,    -1,
21427       -1,   214,    -1,   216,   217,   218,   219,   220,    -1,    -1,
21428      223,   224,    -1,   226,    -1,    -1,   229,   230,   231,    -1,
21429       -1,   234,   235,   236,   237,   238,   239,   240,   241,   242,
21430      243,   244,   245,   246,   247,   248,   249,   250,    -1,   252,
21431      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
21432       -1,   264,   265,    -1,   267,    -1,   269,   270,   271,   272,
21433      273,   274,    -1,   276,   277,    -1,    -1,   280,   281,   282,
21434       -1,    -1,   285,   286,   287,    -1,   289,    -1,   291,   292,
21435      293,   294,   295,   296,   297,   298,   299,   300,    -1,   302,
21436      303,   304,   305,   306,   307,   308,   309,    -1,   311,   312,
21437      313,   314,   315,   316,   317,   318,   319,   320,   321,   322,
21438      323,   324,   325,    -1,   327,   328,   329,   330,   331,   332,
21439      333,   334,   335,   336,   337,   338,    -1,   340,   341,    -1,
21440      343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
21441      353,   354,   355,   356,   357,    -1,   359,   360,   361,   362,
21442      363,    -1,   365,   366,   367,   368,   369,    -1,   371,   372,
21443      373,   374,    -1,   376,   377,   378,   379,   380,   381,   382,
21444      383,   384,   385,   386,   387,   388,   389,   390,    -1,   392,
21445      393,    -1,   395,    -1,   397,   398,   399,   400,   401,    -1,
21446      403,   404,   405,    -1,    -1,   408,   409,   410,   411,   412,
21447       -1,   414,   415,   416,   417,   418,   419,   420,   421,    -1,
21448       -1,   424,   425,   426,   427,   428,    -1,    -1,   431,   432,
21449      433,   434,   435,   436,   437,    -1,   439,    -1,   441,   442,
21450      443,   444,    -1,    -1,   447,    -1,    -1,   450,   451,   452,
21451      453,   454,   455,   456,   457,   458,   459,   460,   461,   462,
21452      463,   464,   465,   466,   467,   468,   469,     3,    -1,    -1,
21453       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21454       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
21455       26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,
21456       -1,    -1,    -1,    39,    40,    -1,    42,    43,    44,    -1,
21457       46,    47,    48,    49,    50,    -1,    52,    53,    -1,    55,
21458       56,    57,    58,    59,    60,    -1,    -1,    63,    64,    65,
21459       66,    67,    -1,    69,    70,    71,    72,    73,    -1,    -1,
21460       -1,    77,    78,    79,    80,    81,    -1,    83,    84,    85,
21461       -1,    87,    88,    89,    90,    91,    92,    -1,    -1,    95,
21462       96,    97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,
21463      106,   107,   108,   109,   110,   111,   112,   113,    -1,   115,
21464       -1,   117,   118,   119,   120,   121,   122,    -1,   124,   125,
21465      126,   127,    -1,    -1,   130,   131,   132,   133,   134,    -1,
21466      136,   137,   138,    -1,   140,   141,   142,    -1,   144,   145,
21467      146,   147,   148,   149,   150,   151,   152,   153,    -1,   155,
21468       -1,   157,   158,   159,   160,    -1,   162,    -1,   164,    -1,
21469       -1,    -1,   168,   169,   170,   171,    -1,   173,   174,    -1,
21470      176,   177,   178,    -1,   180,   181,   182,   183,   184,    -1,
21471      186,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
21472      196,   197,    -1,   199,    -1,   201,   202,   203,   204,   205,
21473      206,   207,    -1,   209,    -1,   211,    -1,    -1,   214,    -1,
21474      216,   217,   218,   219,   220,    -1,    -1,   223,   224,    -1,
21475      226,    -1,    -1,   229,   230,   231,    -1,    -1,   234,   235,
21476      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
21477      246,   247,   248,   249,   250,    -1,   252,   253,   254,   255,
21478      256,   257,   258,   259,   260,   261,   262,    -1,   264,   265,
21479       -1,   267,    -1,   269,   270,   271,   272,   273,   274,    -1,
21480      276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,   285,
21481      286,   287,    -1,   289,    -1,   291,   292,   293,   294,   295,
21482      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
21483      306,   307,   308,   309,    -1,   311,   312,   313,   314,   315,
21484      316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
21485       -1,   327,   328,   329,   330,   331,   332,   333,   334,   335,
21486      336,   337,   338,    -1,   340,   341,    -1,   343,   344,   345,
21487      346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
21488      356,   357,    -1,   359,   360,   361,   362,   363,    -1,   365,
21489      366,   367,   368,   369,    -1,   371,   372,   373,   374,    -1,
21490      376,   377,   378,   379,   380,   381,   382,   383,   384,   385,
21491      386,   387,   388,   389,   390,    -1,   392,   393,    -1,   395,
21492       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
21493       -1,    -1,   408,   409,   410,   411,   412,    -1,   414,   415,
21494      416,   417,   418,   419,   420,   421,    -1,    -1,   424,   425,
21495      426,   427,   428,    -1,    -1,   431,   432,   433,   434,   435,
21496      436,   437,    -1,   439,    -1,   441,   442,   443,   444,    -1,
21497       -1,   447,    -1,    -1,   450,   451,   452,   453,   454,   455,
21498      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
21499      466,   467,   468,   469,     3,    -1,    -1,    -1,    -1,    -1,
21500       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21501       -1,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
21502       29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21503       39,    40,    -1,    42,    43,    44,    -1,    46,    47,    48,
21504       49,    50,    -1,    52,    53,    -1,    55,    56,    57,    58,
21505       59,    60,    -1,    -1,    63,    64,    65,    66,    67,    -1,
21506       69,    70,    71,    72,    73,    -1,    -1,    -1,    77,    78,
21507       79,    80,    81,    -1,    83,    84,    85,    -1,    87,    88,
21508       89,    90,    91,    92,    -1,    -1,    95,    96,    97,    -1,
21509       -1,    -1,    -1,    -1,    -1,    -1,   105,   106,   107,   108,
21510      109,   110,   111,   112,   113,    -1,   115,    -1,   117,   118,
21511      119,   120,   121,   122,    -1,   124,   125,   126,   127,    -1,
21512       -1,   130,   131,   132,   133,   134,    -1,   136,   137,   138,
21513       -1,   140,   141,   142,    -1,   144,   145,   146,   147,   148,
21514      149,   150,   151,   152,   153,    -1,   155,    -1,   157,   158,
21515      159,   160,    -1,   162,    -1,   164,    -1,    -1,    -1,   168,
21516      169,   170,   171,    -1,   173,   174,    -1,   176,   177,   178,
21517       -1,   180,   181,   182,   183,   184,    -1,   186,   187,   188,
21518      189,    -1,   191,   192,   193,   194,   195,   196,   197,    -1,
21519      199,    -1,   201,   202,   203,   204,   205,   206,   207,    -1,
21520      209,    -1,   211,    -1,    -1,   214,    -1,   216,   217,   218,
21521      219,   220,    -1,    -1,   223,   224,    -1,   226,    -1,    -1,
21522      229,   230,   231,    -1,    -1,   234,   235,   236,   237,   238,
21523      239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
21524      249,   250,    -1,   252,   253,   254,   255,   256,   257,   258,
21525      259,   260,   261,   262,    -1,   264,   265,    -1,   267,    -1,
21526      269,   270,   271,   272,   273,   274,    -1,   276,   277,    -1,
21527       -1,   280,   281,   282,    -1,    -1,   285,   286,   287,    -1,
21528      289,    -1,   291,   292,   293,   294,   295,   296,   297,   298,
21529      299,   300,    -1,   302,   303,   304,   305,   306,   307,   308,
21530      309,    -1,   311,   312,   313,   314,   315,   316,   317,   318,
21531      319,   320,   321,   322,   323,   324,   325,    -1,   327,   328,
21532      329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
21533       -1,   340,   341,    -1,   343,   344,   345,   346,   347,   348,
21534      349,   350,   351,   352,   353,   354,   355,   356,   357,    -1,
21535      359,   360,   361,   362,   363,    -1,   365,   366,   367,   368,
21536      369,    -1,   371,   372,   373,   374,    -1,   376,   377,   378,
21537      379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
21538      389,   390,    -1,   392,   393,    -1,   395,    -1,   397,   398,
21539      399,   400,   401,    -1,   403,   404,   405,    -1,    -1,   408,
21540      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
21541      419,   420,   421,    -1,    -1,   424,   425,   426,   427,   428,
21542       -1,    -1,   431,   432,   433,   434,   435,   436,   437,    -1,
21543      439,    -1,   441,   442,   443,   444,    -1,    -1,   447,    -1,
21544       -1,   450,   451,   452,   453,   454,   455,   456,   457,   458,
21545      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
21546      469,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21547       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
21548       22,    23,    24,    25,    26,    27,    -1,    29,    30,    31,
21549       -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,
21550       42,    43,    44,    -1,    46,    47,    48,    49,    50,    -1,
21551       52,    53,    -1,    55,    56,    57,    58,    59,    60,    -1,
21552       -1,    63,    64,    65,    66,    67,    -1,    69,    70,    71,
21553       72,    73,    -1,    -1,    -1,    77,    78,    79,    80,    81,
21554       -1,    83,    84,    85,    -1,    87,    88,    89,    90,    91,
21555       92,    -1,    -1,    95,    96,    97,    -1,    -1,    -1,    -1,
21556       -1,    -1,    -1,   105,   106,   107,   108,   109,   110,   111,
21557      112,   113,    -1,   115,    -1,   117,   118,   119,   120,   121,
21558      122,    -1,   124,   125,   126,   127,    -1,    -1,   130,   131,
21559      132,   133,   134,    -1,   136,   137,   138,    -1,   140,   141,
21560      142,    -1,   144,   145,   146,   147,   148,   149,   150,   151,
21561      152,   153,    -1,   155,    -1,   157,   158,   159,   160,    -1,
21562      162,    -1,   164,    -1,    -1,    -1,   168,   169,   170,   171,
21563       -1,   173,   174,    -1,   176,   177,   178,    -1,   180,   181,
21564      182,   183,   184,    -1,   186,   187,   188,   189,    -1,   191,
21565      192,   193,   194,   195,   196,   197,    -1,   199,    -1,   201,
21566      202,   203,   204,   205,   206,   207,    -1,   209,    -1,   211,
21567       -1,    -1,   214,    -1,   216,   217,   218,   219,   220,    -1,
21568       -1,   223,   224,    -1,   226,    -1,    -1,   229,   230,   231,
21569       -1,    -1,   234,   235,   236,   237,   238,   239,   240,   241,
21570      242,   243,   244,   245,   246,   247,   248,   249,   250,    -1,
21571      252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
21572      262,    -1,   264,   265,    -1,   267,    -1,   269,   270,   271,
21573      272,   273,   274,    -1,   276,   277,    -1,    -1,   280,   281,
21574      282,    -1,    -1,   285,   286,   287,    -1,   289,    -1,   291,
21575      292,   293,   294,   295,   296,   297,   298,   299,   300,    -1,
21576      302,   303,   304,   305,   306,   307,   308,   309,    -1,   311,
21577      312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
21578      322,   323,   324,   325,    -1,   327,   328,   329,   330,   331,
21579      332,   333,   334,   335,   336,   337,   338,    -1,   340,   341,
21580       -1,   343,   344,   345,   346,   347,   348,   349,   350,   351,
21581      352,   353,   354,   355,   356,   357,    -1,   359,   360,   361,
21582      362,   363,    -1,   365,   366,   367,   368,   369,    -1,   371,
21583      372,   373,   374,    -1,   376,   377,   378,   379,   380,   381,
21584      382,   383,   384,   385,   386,   387,   388,   389,   390,    -1,
21585      392,   393,    -1,   395,    -1,   397,   398,   399,   400,   401,
21586       -1,   403,   404,   405,    -1,    -1,   408,   409,   410,   411,
21587      412,    -1,   414,   415,   416,   417,   418,   419,   420,   421,
21588       -1,    -1,   424,   425,   426,   427,   428,    -1,    -1,   431,
21589      432,   433,   434,   435,   436,   437,    -1,   439,    -1,   441,
21590      442,   443,   444,    -1,    -1,   447,    -1,    -1,   450,   451,
21591      452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
21592      462,   463,   464,   465,   466,   467,   468,   469,     3,    -1,
21593       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21594       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
21595       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
21596       -1,    -1,    -1,    -1,    39,    40,    -1,    42,    43,    44,
21597       -1,    46,    47,    48,    49,    50,    -1,    52,    53,    -1,
21598       55,    56,    57,    58,    59,    60,    -1,    -1,    63,    64,
21599       65,    66,    67,    -1,    69,    70,    71,    72,    73,    -1,
21600       -1,    -1,    77,    78,    79,    80,    81,    -1,    83,    84,
21601       85,    -1,    87,    88,    89,    90,    91,    92,    -1,    -1,
21602       95,    96,    97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21603      105,   106,   107,   108,   109,   110,   111,   112,   113,    -1,
21604      115,    -1,   117,   118,   119,   120,   121,   122,    -1,   124,
21605      125,   126,   127,    -1,    -1,   130,   131,   132,   133,   134,
21606       -1,   136,   137,   138,    -1,   140,   141,   142,    -1,   144,
21607      145,   146,   147,   148,   149,   150,   151,   152,   153,    -1,
21608      155,    -1,   157,   158,   159,   160,    -1,   162,    -1,   164,
21609       -1,    -1,    -1,   168,   169,   170,   171,    -1,   173,   174,
21610       -1,   176,   177,   178,    -1,   180,   181,   182,   183,   184,
21611       -1,   186,   187,   188,   189,    -1,   191,   192,   193,   194,
21612      195,   196,   197,    -1,   199,    -1,   201,   202,   203,   204,
21613      205,   206,   207,    -1,   209,    -1,   211,    -1,    -1,   214,
21614       -1,   216,   217,   218,   219,   220,    -1,    -1,   223,   224,
21615       -1,   226,    -1,    -1,   229,   230,   231,    -1,    -1,   234,
21616      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
21617      245,   246,   247,   248,   249,   250,    -1,   252,   253,   254,
21618      255,   256,   257,   258,   259,   260,   261,   262,    -1,   264,
21619      265,    -1,   267,    -1,   269,   270,   271,   272,   273,   274,
21620       -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,
21621      285,   286,   287,    -1,   289,    -1,   291,   292,   293,   294,
21622      295,   296,   297,   298,   299,   300,    -1,   302,   303,   304,
21623      305,   306,   307,   308,   309,    -1,   311,   312,   313,   314,
21624      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
21625      325,    -1,   327,   328,   329,   330,   331,   332,   333,   334,
21626      335,   336,   337,   338,    -1,   340,   341,    -1,   343,   344,
21627      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
21628      355,   356,   357,    -1,   359,   360,   361,   362,   363,    -1,
21629      365,   366,   367,   368,   369,    -1,   371,   372,   373,   374,
21630       -1,   376,   377,   378,   379,   380,   381,   382,   383,   384,
21631      385,   386,   387,   388,   389,   390,    -1,   392,   393,    -1,
21632      395,    -1,   397,   398,   399,   400,   401,    -1,   403,   404,
21633      405,    -1,    -1,   408,   409,   410,   411,   412,    -1,   414,
21634      415,   416,   417,   418,   419,   420,   421,    -1,    -1,   424,
21635      425,   426,   427,   428,    -1,    -1,   431,   432,   433,   434,
21636      435,   436,   437,    -1,   439,    -1,   441,   442,   443,   444,
21637       -1,    -1,   447,    -1,    -1,   450,   451,   452,   453,   454,
21638      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
21639      465,   466,   467,   468,   469,     3,    -1,    -1,    -1,    -1,
21640       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21641       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
21642       -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,
21643       -1,    39,    40,    -1,    42,    43,    44,    -1,    46,    47,
21644       48,    49,    50,    -1,    52,    53,    -1,    55,    56,    57,
21645       58,    59,    60,    -1,    -1,    63,    64,    65,    66,    67,
21646       -1,    69,    70,    71,    72,    73,    -1,    -1,    -1,    77,
21647       78,    79,    80,    81,    -1,    83,    84,    85,    -1,    87,
21648       88,    89,    90,    91,    92,    -1,    -1,    95,    96,    97,
21649       -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,   107,
21650      108,   109,   110,   111,   112,   113,    -1,   115,    -1,   117,
21651      118,   119,   120,   121,   122,    -1,   124,   125,   126,   127,
21652       -1,    -1,   130,   131,   132,   133,   134,    -1,   136,   137,
21653      138,    -1,   140,   141,   142,    -1,   144,   145,   146,   147,
21654      148,   149,   150,   151,   152,   153,    -1,   155,    -1,   157,
21655      158,   159,   160,    -1,   162,    -1,   164,    -1,    -1,    -1,
21656      168,   169,   170,   171,    -1,   173,   174,    -1,   176,   177,
21657      178,    -1,   180,   181,   182,   183,   184,    -1,   186,   187,
21658      188,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
21659       -1,   199,    -1,   201,   202,   203,   204,   205,   206,   207,
21660       -1,   209,    -1,   211,    -1,    -1,   214,    -1,   216,   217,
21661      218,   219,   220,    -1,    -1,   223,   224,    -1,   226,    -1,
21662       -1,   229,   230,   231,    -1,    -1,   234,   235,   236,   237,
21663      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
21664      248,   249,   250,    -1,   252,   253,   254,   255,   256,   257,
21665      258,   259,   260,   261,   262,    -1,   264,   265,    -1,   267,
21666       -1,   269,   270,   271,   272,   273,   274,    -1,   276,   277,
21667       -1,    -1,   280,   281,   282,    -1,    -1,   285,   286,   287,
21668       -1,   289,    -1,   291,   292,   293,   294,   295,   296,   297,
21669      298,   299,   300,    -1,   302,   303,   304,   305,   306,   307,
21670      308,   309,    -1,   311,   312,   313,   314,   315,   316,   317,
21671      318,   319,   320,   321,   322,   323,   324,   325,    -1,   327,
21672      328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
21673      338,    -1,   340,   341,    -1,   343,   344,   345,   346,   347,
21674      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
21675       -1,   359,   360,   361,   362,   363,    -1,   365,   366,   367,
21676      368,   369,    -1,   371,   372,   373,   374,    -1,   376,   377,
21677      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
21678      388,   389,   390,    -1,   392,   393,    -1,   395,    -1,   397,
21679      398,   399,   400,   401,    -1,   403,   404,   405,    -1,    -1,
21680      408,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
21681      418,   419,   420,   421,    -1,    -1,   424,   425,   426,   427,
21682      428,    -1,    -1,   431,   432,   433,   434,   435,   436,   437,
21683       -1,   439,    -1,   441,   442,   443,   444,    -1,    -1,   447,
21684       -1,    -1,   450,   451,   452,   453,   454,   455,   456,   457,
21685      458,   459,   460,   461,   462,   463,   464,   465,   466,   467,
21686      468,   469,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21687       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
21688       21,    22,    23,    24,    25,    26,    27,    -1,    29,    30,
21689       31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,
21690       -1,    42,    43,    44,    -1,    46,    47,    48,    49,    50,
21691       -1,    52,    53,    -1,    55,    56,    57,    58,    59,    60,
21692       -1,    -1,    63,    64,    65,    66,    67,    -1,    69,    70,
21693       71,    72,    73,    -1,    -1,    -1,    77,    78,    79,    80,
21694       81,    -1,    83,    84,    85,    -1,    87,    88,    89,    90,
21695       91,    92,    -1,    -1,    95,    96,    97,    -1,    -1,    -1,
21696       -1,    -1,    -1,    -1,   105,   106,   107,   108,   109,   110,
21697      111,   112,   113,    -1,   115,    -1,   117,   118,   119,   120,
21698      121,   122,    -1,   124,   125,   126,   127,    -1,    -1,   130,
21699      131,   132,   133,   134,    -1,   136,   137,   138,    -1,   140,
21700      141,   142,    -1,   144,   145,   146,   147,   148,   149,   150,
21701      151,   152,   153,    -1,   155,    -1,   157,   158,   159,   160,
21702       -1,   162,    -1,   164,    -1,    -1,    -1,   168,   169,   170,
21703      171,    -1,   173,   174,    -1,   176,   177,   178,    -1,   180,
21704      181,   182,   183,   184,    -1,   186,   187,   188,   189,    -1,
21705      191,   192,   193,   194,   195,   196,   197,    -1,   199,    -1,
21706      201,   202,   203,   204,   205,   206,   207,    -1,   209,    -1,
21707      211,    -1,    -1,   214,    -1,   216,   217,   218,   219,   220,
21708       -1,    -1,   223,   224,    -1,   226,    -1,    -1,   229,   230,
21709      231,    -1,    -1,   234,   235,   236,   237,   238,   239,   240,
21710      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
21711       -1,   252,   253,   254,   255,   256,   257,   258,   259,   260,
21712      261,   262,    -1,   264,   265,    -1,   267,    -1,   269,   270,
21713      271,   272,   273,   274,    -1,   276,   277,    -1,    -1,   280,
21714      281,   282,    -1,    -1,   285,   286,   287,    -1,   289,    -1,
21715      291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
21716       -1,   302,   303,   304,   305,   306,   307,   308,   309,    -1,
21717      311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
21718      321,   322,   323,   324,   325,    -1,   327,   328,   329,   330,
21719      331,   332,   333,   334,   335,   336,   337,   338,    -1,   340,
21720      341,    -1,   343,   344,   345,   346,   347,   348,   349,   350,
21721      351,   352,   353,   354,   355,   356,   357,    -1,   359,   360,
21722      361,   362,   363,    -1,   365,   366,   367,   368,   369,    -1,
21723      371,   372,   373,   374,    -1,   376,   377,   378,   379,   380,
21724      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
21725       -1,   392,   393,    -1,   395,    -1,   397,   398,   399,   400,
21726      401,    -1,   403,   404,   405,    -1,    -1,   408,   409,   410,
21727      411,   412,    -1,   414,   415,   416,   417,   418,   419,   420,
21728      421,    -1,    -1,   424,   425,   426,   427,   428,    -1,    -1,
21729      431,   432,   433,   434,   435,   436,   437,    -1,   439,    -1,
21730      441,   442,   443,   444,    -1,    -1,   447,    -1,    -1,   450,
21731      451,   452,   453,   454,   455,   456,   457,   458,   459,   460,
21732      461,   462,   463,   464,   465,   466,   467,   468,   469,     3,
21733       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21734       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
21735       24,    25,    26,    27,    -1,    29,    30,    31,    -1,    -1,
21736       -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    42,    43,
21737       44,    -1,    46,    47,    48,    49,    50,    -1,    52,    53,
21738       -1,    55,    56,    57,    58,    59,    60,    -1,    -1,    63,
21739       64,    65,    66,    67,    -1,    69,    70,    71,    72,    73,
21740       -1,    -1,    -1,    77,    78,    79,    80,    81,    -1,    83,
21741       84,    85,    -1,    87,    88,    89,    90,    91,    92,    -1,
21742       -1,    95,    96,    97,    -1,    -1,    -1,    -1,    -1,    -1,
21743       -1,   105,   106,   107,   108,   109,   110,   111,   112,   113,
21744       -1,   115,    -1,   117,   118,   119,   120,   121,   122,    -1,
21745      124,   125,   126,   127,    -1,    -1,   130,   131,   132,   133,
21746      134,    -1,   136,   137,   138,    -1,   140,   141,   142,    -1,
21747      144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
21748       -1,   155,    -1,   157,   158,   159,   160,    -1,   162,    -1,
21749      164,    -1,    -1,    -1,   168,   169,   170,   171,    -1,   173,
21750      174,    -1,   176,   177,   178,    -1,   180,   181,   182,   183,
21751      184,    -1,   186,   187,   188,   189,    -1,   191,   192,   193,
21752      194,   195,   196,   197,    -1,   199,    -1,   201,   202,   203,
21753      204,   205,   206,   207,    -1,   209,    -1,   211,    -1,    -1,
21754      214,    -1,   216,   217,   218,   219,   220,    -1,    -1,   223,
21755      224,    -1,   226,    -1,    -1,   229,   230,   231,    -1,    -1,
21756      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
21757      244,   245,   246,   247,   248,   249,   250,    -1,   252,   253,
21758      254,   255,   256,   257,   258,   259,   260,   261,   262,    -1,
21759      264,   265,    -1,   267,    -1,   269,   270,   271,   272,   273,
21760      274,    -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,
21761       -1,   285,   286,   287,    -1,   289,    -1,   291,   292,   293,
21762      294,   295,   296,   297,   298,   299,   300,    -1,   302,   303,
21763      304,   305,   306,   307,   308,   309,    -1,   311,   312,   313,
21764      314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
21765      324,   325,    -1,   327,   328,   329,   330,   331,   332,   333,
21766      334,   335,   336,   337,   338,    -1,   340,   341,    -1,   343,
21767      344,   345,   346,   347,   348,   349,   350,   351,   352,   353,
21768      354,   355,   356,   357,    -1,   359,   360,   361,   362,   363,
21769       -1,   365,   366,   367,   368,   369,    -1,   371,   372,   373,
21770      374,    -1,   376,   377,   378,   379,   380,   381,   382,   383,
21771      384,   385,   386,   387,   388,   389,   390,    -1,   392,   393,
21772       -1,   395,    -1,   397,   398,   399,   400,   401,    -1,   403,
21773      404,   405,    -1,    -1,   408,   409,   410,   411,   412,    -1,
21774      414,   415,   416,   417,   418,   419,   420,   421,    -1,    -1,
21775      424,   425,   426,   427,   428,    -1,    -1,   431,   432,   433,
21776      434,   435,   436,   437,    -1,   439,    -1,   441,   442,   443,
21777      444,    -1,    -1,   447,    -1,    -1,   450,   451,   452,   453,
21778      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
21779      464,   465,   466,   467,   468,   469,     3,    -1,    -1,    -1,
21780       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21781       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
21782       27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
21783       -1,    -1,    39,    40,    -1,    42,    43,    44,    -1,    46,
21784       47,    48,    49,    50,    -1,    52,    53,    -1,    55,    56,
21785       57,    58,    59,    60,    -1,    -1,    63,    64,    65,    66,
21786       67,    -1,    69,    70,    71,    72,    73,    -1,    -1,    -1,
21787       77,    78,    79,    80,    81,    -1,    83,    84,    85,    -1,
21788       87,    88,    89,    90,    91,    92,    -1,    -1,    95,    96,
21789       97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,
21790      107,   108,   109,   110,   111,   112,   113,    -1,   115,    -1,
21791      117,   118,   119,   120,   121,   122,    -1,   124,   125,   126,
21792      127,    -1,    -1,   130,   131,   132,   133,   134,    -1,   136,
21793      137,   138,    -1,   140,   141,   142,    -1,   144,   145,   146,
21794      147,   148,   149,   150,   151,   152,   153,    -1,   155,    -1,
21795      157,   158,   159,   160,    -1,   162,    -1,   164,    -1,    -1,
21796       -1,   168,   169,   170,   171,    -1,   173,   174,    -1,   176,
21797      177,   178,    -1,   180,   181,   182,   183,   184,    -1,   186,
21798      187,   188,   189,    -1,   191,   192,   193,   194,   195,   196,
21799      197,    -1,   199,    -1,   201,   202,   203,   204,   205,   206,
21800      207,    -1,   209,    -1,   211,    -1,    -1,   214,    -1,   216,
21801      217,   218,   219,   220,    -1,    -1,   223,   224,    -1,   226,
21802       -1,    -1,   229,   230,   231,    -1,    -1,   234,   235,   236,
21803      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
21804      247,   248,   249,   250,    -1,   252,   253,   254,   255,   256,
21805      257,   258,   259,   260,   261,   262,    -1,   264,   265,    -1,
21806      267,    -1,   269,   270,   271,   272,   273,   274,    -1,   276,
21807      277,    -1,    -1,   280,   281,   282,    -1,    -1,   285,   286,
21808      287,    -1,   289,    -1,   291,   292,   293,   294,   295,   296,
21809      297,   298,   299,   300,    -1,   302,   303,   304,   305,   306,
21810      307,   308,   309,    -1,   311,   312,   313,   314,   315,   316,
21811      317,   318,   319,   320,   321,   322,   323,   324,   325,    -1,
21812      327,   328,   329,   330,   331,   332,   333,   334,   335,   336,
21813      337,   338,    -1,   340,   341,    -1,   343,   344,   345,   346,
21814      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
21815      357,    -1,   359,   360,   361,   362,   363,    -1,   365,   366,
21816      367,   368,   369,    -1,   371,   372,   373,   374,    -1,   376,
21817      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
21818      387,   388,   389,   390,    -1,   392,   393,    -1,   395,    -1,
21819      397,   398,   399,   400,   401,    -1,   403,   404,   405,    -1,
21820       -1,   408,   409,   410,   411,   412,    -1,   414,   415,   416,
21821      417,   418,   419,   420,   421,    -1,    -1,   424,   425,   426,
21822      427,   428,    -1,    -1,   431,   432,   433,   434,   435,   436,
21823      437,    -1,   439,    -1,   441,   442,   443,   444,    -1,    -1,
21824      447,    -1,    -1,   450,   451,   452,   453,   454,   455,   456,
21825      457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
21826      467,   468,   469,     3,    -1,    -1,    -1,    -1,    -1,    -1,
21827       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21828       20,    21,    22,    23,    24,    25,    26,    27,    -1,    29,
21829       30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,
21830       40,    -1,    42,    43,    44,    -1,    46,    47,    48,    49,
21831       50,    -1,    52,    53,    -1,    55,    56,    57,    58,    59,
21832       60,    -1,    -1,    63,    64,    65,    66,    67,    -1,    69,
21833       70,    71,    72,    73,    -1,    -1,    -1,    77,    78,    79,
21834       80,    81,    -1,    83,    84,    85,    -1,    87,    88,    89,
21835       90,    91,    92,    -1,    -1,    95,    96,    97,    -1,    -1,
21836       -1,    -1,    -1,    -1,    -1,   105,   106,   107,   108,   109,
21837      110,   111,   112,   113,    -1,   115,    -1,   117,   118,   119,
21838      120,   121,   122,    -1,   124,   125,   126,   127,    -1,    -1,
21839      130,   131,   132,   133,   134,    -1,   136,   137,   138,    -1,
21840      140,   141,   142,    -1,   144,   145,   146,   147,   148,   149,
21841      150,   151,   152,   153,    -1,   155,    -1,   157,   158,   159,
21842      160,    -1,   162,    -1,   164,    -1,    -1,    -1,   168,   169,
21843      170,   171,    -1,   173,   174,    -1,   176,   177,   178,    -1,
21844      180,   181,   182,   183,   184,    -1,   186,   187,   188,   189,
21845       -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
21846       -1,   201,   202,   203,   204,   205,   206,   207,    -1,   209,
21847       -1,   211,    -1,    -1,   214,    -1,   216,   217,   218,   219,
21848      220,    -1,    -1,   223,   224,    -1,   226,    -1,    -1,   229,
21849      230,   231,    -1,    -1,   234,   235,   236,   237,   238,   239,
21850      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
21851      250,    -1,   252,   253,   254,   255,   256,   257,   258,   259,
21852      260,   261,   262,    -1,   264,   265,    -1,   267,    -1,   269,
21853      270,   271,   272,   273,   274,    -1,   276,   277,    -1,    -1,
21854      280,   281,   282,    -1,    -1,   285,   286,   287,    -1,   289,
21855       -1,   291,   292,   293,   294,   295,   296,   297,   298,   299,
21856      300,    -1,   302,   303,   304,   305,   306,   307,   308,   309,
21857       -1,   311,   312,   313,   314,   315,   316,   317,   318,   319,
21858      320,   321,   322,   323,   324,   325,    -1,   327,   328,   329,
21859      330,   331,   332,   333,   334,   335,   336,   337,   338,    -1,
21860      340,   341,    -1,   343,   344,   345,   346,   347,   348,   349,
21861      350,   351,   352,   353,   354,   355,   356,   357,    -1,   359,
21862      360,   361,   362,   363,    -1,   365,   366,   367,   368,   369,
21863       -1,   371,   372,   373,   374,    -1,   376,   377,   378,   379,
21864      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
21865      390,    -1,   392,   393,    -1,   395,    -1,   397,   398,   399,
21866      400,   401,    -1,   403,   404,   405,    -1,    -1,   408,   409,
21867      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
21868      420,   421,    -1,    -1,   424,   425,   426,   427,   428,    -1,
21869       -1,   431,   432,   433,   434,   435,   436,   437,    -1,   439,
21870       -1,   441,   442,   443,   444,    -1,    -1,   447,    -1,    -1,
21871      450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
21872      460,   461,   462,   463,   464,   465,   466,   467,   468,   469,
21873        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21874       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
21875       23,    24,    25,    26,    27,    -1,    29,    30,    31,    -1,
21876       -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    42,
21877       43,    44,    -1,    46,    47,    48,    49,    50,    -1,    52,
21878       53,    -1,    55,    56,    57,    58,    59,    60,    -1,    -1,
21879       63,    64,    65,    66,    67,    -1,    69,    70,    71,    72,
21880       73,    -1,    -1,    -1,    77,    78,    79,    80,    81,    -1,
21881       83,    84,    85,    -1,    87,    88,    89,    90,    91,    92,
21882       -1,    -1,    95,    96,    97,    -1,    -1,    -1,    -1,    -1,
21883       -1,    -1,   105,   106,   107,   108,   109,   110,   111,   112,
21884      113,    -1,   115,    -1,   117,   118,   119,   120,   121,   122,
21885       -1,   124,   125,   126,   127,    -1,    -1,   130,   131,   132,
21886      133,   134,    -1,   136,   137,   138,    -1,   140,   141,   142,
21887       -1,   144,   145,   146,   147,   148,   149,   150,   151,   152,
21888      153,    -1,   155,    -1,   157,   158,   159,   160,    -1,   162,
21889       -1,   164,    -1,    -1,    -1,   168,   169,   170,   171,    -1,
21890      173,   174,    -1,   176,   177,   178,    -1,   180,   181,   182,
21891      183,   184,    -1,   186,   187,   188,   189,    -1,   191,   192,
21892      193,   194,   195,   196,   197,    -1,   199,    -1,   201,   202,
21893      203,   204,   205,   206,   207,    -1,   209,    -1,   211,    -1,
21894       -1,   214,    -1,   216,   217,   218,   219,   220,    -1,    -1,
21895      223,   224,    -1,   226,    -1,    -1,   229,   230,   231,    -1,
21896       -1,   234,   235,   236,   237,   238,   239,   240,   241,   242,
21897      243,   244,   245,   246,   247,   248,   249,   250,    -1,   252,
21898      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
21899       -1,   264,   265,    -1,   267,    -1,   269,   270,   271,   272,
21900      273,   274,    -1,   276,   277,    -1,    -1,   280,   281,   282,
21901       -1,    -1,   285,   286,   287,    -1,   289,    -1,   291,   292,
21902      293,   294,   295,   296,   297,   298,   299,   300,    -1,   302,
21903      303,   304,   305,   306,   307,   308,   309,    -1,   311,   312,
21904      313,   314,   315,   316,   317,   318,   319,   320,   321,   322,
21905      323,   324,   325,    -1,   327,   328,   329,   330,   331,   332,
21906      333,   334,   335,   336,   337,   338,    -1,   340,   341,    -1,
21907      343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
21908      353,   354,   355,   356,   357,    -1,   359,   360,   361,   362,
21909      363,    -1,   365,   366,   367,   368,   369,    -1,   371,   372,
21910      373,   374,    -1,   376,   377,   378,   379,   380,   381,   382,
21911      383,   384,   385,   386,   387,   388,   389,   390,    -1,   392,
21912      393,    -1,   395,    -1,   397,   398,   399,   400,   401,    -1,
21913      403,   404,   405,    -1,    -1,   408,   409,   410,   411,   412,
21914       -1,   414,   415,   416,   417,   418,   419,   420,   421,    -1,
21915       -1,   424,   425,   426,   427,   428,    -1,    -1,   431,   432,
21916      433,   434,   435,   436,   437,    -1,   439,    -1,   441,   442,
21917      443,   444,    -1,    -1,   447,    -1,    -1,   450,   451,   452,
21918      453,   454,   455,   456,   457,   458,   459,   460,   461,   462,
21919      463,   464,   465,   466,   467,   468,   469,     3,    -1,    -1,
21920       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21921       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
21922       26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,
21923       -1,    -1,    -1,    39,    40,    -1,    42,    43,    44,    -1,
21924       46,    47,    48,    49,    50,    -1,    52,    53,    -1,    55,
21925       56,    57,    58,    59,    60,    -1,    -1,    63,    64,    65,
21926       66,    67,    -1,    69,    70,    71,    72,    73,    -1,    -1,
21927       -1,    77,    78,    79,    80,    81,    -1,    83,    84,    85,
21928       -1,    87,    88,    89,    90,    91,    92,    -1,    -1,    95,
21929       96,    97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,
21930      106,   107,   108,   109,   110,   111,   112,   113,    -1,   115,
21931       -1,   117,   118,   119,   120,   121,   122,    -1,   124,   125,
21932      126,   127,    -1,    -1,   130,   131,   132,   133,   134,    -1,
21933      136,   137,   138,    -1,   140,   141,   142,    -1,   144,   145,
21934      146,   147,   148,   149,   150,   151,   152,   153,    -1,   155,
21935       -1,   157,   158,   159,   160,    -1,   162,    -1,   164,    -1,
21936       -1,    -1,   168,   169,   170,   171,    -1,   173,   174,    -1,
21937      176,   177,   178,    -1,   180,   181,   182,   183,   184,    -1,
21938      186,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
21939      196,   197,    -1,   199,    -1,   201,   202,   203,   204,   205,
21940      206,   207,    -1,   209,    -1,   211,    -1,    -1,   214,    -1,
21941      216,   217,   218,   219,   220,    -1,    -1,   223,   224,    -1,
21942      226,    -1,    -1,   229,   230,   231,    -1,    -1,   234,   235,
21943      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
21944      246,   247,   248,   249,   250,    -1,   252,   253,   254,   255,
21945      256,   257,   258,   259,   260,   261,   262,    -1,   264,   265,
21946       -1,   267,    -1,   269,   270,   271,   272,   273,   274,    -1,
21947      276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,   285,
21948      286,   287,    -1,   289,    -1,   291,   292,   293,   294,   295,
21949      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
21950      306,   307,   308,   309,    -1,   311,   312,   313,   314,   315,
21951      316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
21952       -1,   327,   328,   329,   330,   331,   332,   333,   334,   335,
21953      336,   337,   338,    -1,   340,   341,    -1,   343,   344,   345,
21954      346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
21955      356,   357,    -1,   359,   360,   361,   362,   363,    -1,   365,
21956      366,   367,   368,   369,    -1,   371,   372,   373,   374,    -1,
21957      376,   377,   378,   379,   380,   381,   382,   383,   384,   385,
21958      386,   387,   388,   389,   390,    -1,   392,   393,    -1,   395,
21959       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
21960       -1,    -1,   408,   409,   410,   411,   412,    -1,   414,   415,
21961      416,   417,   418,   419,   420,   421,    -1,    -1,   424,   425,
21962      426,   427,   428,    -1,    -1,   431,   432,   433,   434,   435,
21963      436,   437,    -1,   439,    -1,   441,   442,   443,   444,    -1,
21964       -1,   447,    -1,    -1,   450,   451,   452,   453,   454,   455,
21965      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
21966      466,   467,   468,   469,     3,    -1,    -1,    -1,    -1,    -1,
21967       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21968       -1,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
21969       29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21970       39,    40,    -1,    42,    43,    44,    -1,    46,    47,    48,
21971       49,    50,    -1,    52,    53,    -1,    55,    56,    57,    58,
21972       59,    60,    -1,    -1,    63,    64,    65,    66,    67,    -1,
21973       69,    70,    71,    72,    73,    -1,    -1,    -1,    77,    78,
21974       79,    80,    81,    -1,    83,    84,    85,    -1,    87,    88,
21975       89,    90,    91,    92,    -1,    -1,    95,    96,    97,    -1,
21976       -1,    -1,    -1,    -1,    -1,    -1,   105,   106,   107,   108,
21977      109,   110,   111,   112,   113,    -1,   115,    -1,   117,   118,
21978      119,   120,   121,   122,    -1,   124,   125,   126,   127,    -1,
21979       -1,   130,   131,   132,   133,   134,    -1,   136,   137,   138,
21980       -1,   140,   141,   142,    -1,   144,   145,   146,   147,   148,
21981      149,   150,   151,   152,   153,    -1,   155,    -1,   157,   158,
21982      159,   160,    -1,   162,    -1,   164,    -1,    -1,    -1,   168,
21983      169,   170,   171,    -1,   173,   174,    -1,   176,   177,   178,
21984       -1,   180,   181,   182,   183,   184,    -1,   186,   187,   188,
21985      189,    -1,   191,   192,   193,   194,   195,   196,   197,    -1,
21986      199,    -1,   201,   202,   203,   204,   205,   206,   207,    -1,
21987      209,    -1,   211,    -1,    -1,   214,    -1,   216,   217,   218,
21988      219,   220,    -1,    -1,   223,   224,    -1,   226,    -1,    -1,
21989      229,   230,   231,    -1,    -1,   234,   235,   236,   237,   238,
21990      239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
21991      249,   250,    -1,   252,   253,   254,   255,   256,   257,   258,
21992      259,   260,   261,   262,    -1,   264,   265,    -1,   267,    -1,
21993      269,   270,   271,   272,   273,   274,    -1,   276,   277,    -1,
21994       -1,   280,   281,   282,    -1,    -1,   285,   286,   287,    -1,
21995      289,    -1,   291,   292,   293,   294,   295,   296,   297,   298,
21996      299,   300,    -1,   302,   303,   304,   305,   306,   307,   308,
21997      309,    -1,   311,   312,   313,   314,   315,   316,   317,   318,
21998      319,   320,   321,   322,   323,   324,   325,    -1,   327,   328,
21999      329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
22000       -1,   340,   341,    -1,   343,   344,   345,   346,   347,   348,
22001      349,   350,   351,   352,   353,   354,   355,   356,   357,    -1,
22002      359,   360,   361,   362,   363,    -1,   365,   366,   367,   368,
22003      369,    -1,   371,   372,   373,   374,    -1,   376,   377,   378,
22004      379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
22005      389,   390,    -1,   392,   393,    -1,   395,    -1,   397,   398,
22006      399,   400,   401,    -1,   403,   404,   405,    -1,    -1,   408,
22007      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
22008      419,   420,   421,    -1,    -1,   424,   425,   426,   427,   428,
22009       -1,    -1,   431,   432,   433,   434,   435,   436,   437,    -1,
22010      439,    -1,   441,   442,   443,   444,    -1,    -1,   447,    -1,
22011       -1,   450,   451,   452,   453,   454,   455,   456,   457,   458,
22012      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
22013      469,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22014       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
22015       22,    23,    24,    25,    26,    27,    -1,    29,    30,    31,
22016       -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,
22017       42,    43,    44,    -1,    46,    47,    48,    49,    50,    -1,
22018       52,    53,    -1,    55,    56,    57,    58,    59,    60,    -1,
22019       -1,    63,    64,    65,    66,    67,    -1,    69,    70,    71,
22020       72,    73,    -1,    -1,    -1,    77,    78,    79,    80,    81,
22021       -1,    83,    84,    85,    -1,    87,    88,    89,    90,    91,
22022       92,    -1,    -1,    95,    96,    97,    -1,    -1,    -1,    -1,
22023       -1,    -1,    -1,   105,   106,   107,   108,   109,   110,   111,
22024      112,   113,    -1,   115,    -1,   117,   118,   119,   120,   121,
22025      122,    -1,   124,   125,   126,   127,    -1,    -1,   130,   131,
22026      132,   133,   134,    -1,   136,   137,   138,    -1,   140,   141,
22027      142,    -1,   144,   145,   146,   147,   148,   149,   150,   151,
22028      152,   153,    -1,   155,    -1,   157,   158,   159,   160,    -1,
22029      162,    -1,   164,    -1,    -1,    -1,   168,   169,   170,   171,
22030       -1,   173,   174,    -1,   176,   177,   178,    -1,   180,   181,
22031      182,   183,   184,    -1,   186,   187,   188,   189,    -1,   191,
22032      192,   193,   194,   195,   196,   197,    -1,   199,    -1,   201,
22033      202,   203,   204,   205,   206,   207,    -1,   209,    -1,   211,
22034       -1,    -1,   214,    -1,   216,   217,   218,   219,   220,    -1,
22035       -1,   223,   224,    -1,   226,    -1,    -1,   229,   230,   231,
22036       -1,    -1,   234,   235,   236,   237,   238,   239,   240,   241,
22037      242,   243,   244,   245,   246,   247,   248,   249,   250,    -1,
22038      252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
22039      262,    -1,   264,   265,    -1,   267,    -1,   269,   270,   271,
22040      272,   273,   274,    -1,   276,   277,    -1,    -1,   280,   281,
22041      282,    -1,    -1,   285,   286,   287,    -1,   289,    -1,   291,
22042      292,   293,   294,   295,   296,   297,   298,   299,   300,    -1,
22043      302,   303,   304,   305,   306,   307,   308,   309,    -1,   311,
22044      312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
22045      322,   323,   324,   325,    -1,   327,   328,   329,   330,   331,
22046      332,   333,   334,   335,   336,   337,   338,    -1,   340,   341,
22047       -1,   343,   344,   345,   346,   347,   348,   349,   350,   351,
22048      352,   353,   354,   355,   356,   357,    -1,   359,   360,   361,
22049      362,   363,    -1,   365,   366,   367,   368,   369,    -1,   371,
22050      372,   373,   374,    -1,   376,   377,   378,   379,   380,   381,
22051      382,   383,   384,   385,   386,   387,   388,   389,   390,    -1,
22052      392,   393,    -1,   395,    -1,   397,   398,   399,   400,   401,
22053       -1,   403,   404,   405,    -1,    -1,   408,   409,   410,   411,
22054      412,    -1,   414,   415,   416,   417,   418,   419,   420,   421,
22055       -1,    -1,   424,   425,   426,   427,   428,    -1,    -1,   431,
22056      432,   433,   434,   435,   436,   437,    -1,   439,    -1,   441,
22057      442,   443,   444,    -1,    -1,   447,    -1,    -1,   450,   451,
22058      452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
22059      462,   463,   464,   465,   466,   467,   468,   469,     3,    -1,
22060       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22061       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
22062       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
22063       -1,    -1,    -1,    -1,    39,    40,    -1,    42,    43,    44,
22064       -1,    46,    47,    48,    49,    50,    -1,    52,    53,    -1,
22065       55,    56,    57,    58,    59,    60,    -1,    -1,    63,    64,
22066       65,    66,    67,    -1,    69,    70,    71,    72,    73,    -1,
22067       -1,    -1,    77,    78,    79,    80,    81,    -1,    83,    84,
22068       85,    -1,    87,    88,    89,    90,    91,    92,    -1,    -1,
22069       95,    96,    97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22070      105,   106,   107,   108,   109,   110,   111,   112,   113,    -1,
22071      115,    -1,   117,   118,   119,   120,   121,   122,    -1,   124,
22072      125,   126,   127,    -1,    -1,   130,   131,   132,   133,   134,
22073       -1,   136,   137,   138,    -1,   140,   141,   142,    -1,   144,
22074      145,   146,   147,   148,   149,   150,   151,   152,   153,    -1,
22075      155,    -1,   157,   158,   159,   160,    -1,   162,    -1,   164,
22076       -1,    -1,    -1,   168,   169,   170,   171,    -1,   173,   174,
22077       -1,   176,   177,   178,    -1,   180,   181,   182,   183,   184,
22078       -1,   186,   187,   188,   189,    -1,   191,   192,   193,   194,
22079      195,   196,   197,    -1,   199,    -1,   201,   202,   203,   204,
22080      205,   206,   207,    -1,   209,    -1,   211,    -1,    -1,   214,
22081       -1,   216,   217,   218,   219,   220,    -1,    -1,   223,   224,
22082       -1,   226,    -1,    -1,   229,   230,   231,    -1,    -1,   234,
22083      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
22084      245,   246,   247,   248,   249,   250,    -1,   252,   253,   254,
22085      255,   256,   257,   258,   259,   260,   261,   262,    -1,   264,
22086      265,    -1,   267,    -1,   269,   270,   271,   272,   273,   274,
22087       -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,
22088      285,   286,   287,    -1,   289,    -1,   291,   292,   293,   294,
22089      295,   296,   297,   298,   299,   300,    -1,   302,   303,   304,
22090      305,   306,   307,   308,   309,    -1,   311,   312,   313,   314,
22091      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
22092      325,    -1,   327,   328,   329,   330,   331,   332,   333,   334,
22093      335,   336,   337,   338,    -1,   340,   341,    -1,   343,   344,
22094      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
22095      355,   356,   357,    -1,   359,   360,   361,   362,   363,    -1,
22096      365,   366,   367,   368,   369,    -1,   371,   372,   373,   374,
22097       -1,   376,   377,   378,   379,   380,   381,   382,   383,   384,
22098      385,   386,   387,   388,   389,   390,    -1,   392,   393,    -1,
22099      395,    -1,   397,   398,   399,   400,   401,    -1,   403,   404,
22100      405,    -1,    -1,   408,   409,   410,   411,   412,    -1,   414,
22101      415,   416,   417,   418,   419,   420,   421,    -1,    -1,   424,
22102      425,   426,   427,   428,    -1,    -1,   431,   432,   433,   434,
22103      435,   436,   437,    -1,   439,    -1,   441,   442,   443,   444,
22104       -1,    -1,   447,    -1,    -1,   450,   451,   452,   453,   454,
22105      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
22106      465,   466,   467,   468,   469,     3,    -1,    -1,    -1,    -1,
22107       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22108       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
22109       -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,
22110       -1,    39,    40,    -1,    42,    43,    44,    -1,    46,    47,
22111       48,    49,    50,    -1,    52,    53,    -1,    55,    56,    57,
22112       58,    59,    60,    -1,    -1,    63,    64,    65,    66,    67,
22113       -1,    69,    70,    71,    72,    73,    -1,    -1,    -1,    77,
22114       78,    79,    80,    81,    -1,    83,    84,    85,    -1,    87,
22115       88,    89,    90,    91,    92,    -1,    -1,    95,    96,    97,
22116       -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,   107,
22117      108,   109,   110,   111,   112,   113,    -1,   115,    -1,   117,
22118      118,   119,   120,   121,   122,    -1,   124,   125,   126,   127,
22119       -1,    -1,   130,   131,   132,   133,   134,    -1,   136,   137,
22120      138,    -1,   140,   141,   142,    -1,   144,   145,   146,   147,
22121      148,   149,   150,   151,   152,   153,    -1,   155,    -1,   157,
22122      158,   159,   160,    -1,   162,    -1,   164,    -1,    -1,    -1,
22123      168,   169,   170,   171,    -1,   173,   174,    -1,   176,   177,
22124      178,    -1,   180,   181,   182,   183,   184,    -1,   186,   187,
22125      188,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
22126       -1,   199,    -1,   201,   202,   203,   204,   205,   206,   207,
22127       -1,   209,    -1,   211,    -1,    -1,   214,    -1,   216,   217,
22128      218,   219,   220,    -1,    -1,   223,   224,    -1,   226,    -1,
22129       -1,   229,   230,   231,    -1,    -1,   234,   235,   236,   237,
22130      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
22131      248,   249,   250,    -1,   252,   253,   254,   255,   256,   257,
22132      258,   259,   260,   261,   262,    -1,   264,   265,    -1,   267,
22133       -1,   269,   270,   271,   272,   273,   274,    -1,   276,   277,
22134       -1,    -1,   280,   281,   282,    -1,    -1,   285,   286,   287,
22135       -1,   289,    -1,   291,   292,   293,   294,   295,   296,   297,
22136      298,   299,   300,    -1,   302,   303,   304,   305,   306,   307,
22137      308,   309,    -1,   311,   312,   313,   314,   315,   316,   317,
22138      318,   319,   320,   321,   322,   323,   324,   325,    -1,   327,
22139      328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
22140      338,    -1,   340,   341,    -1,   343,   344,   345,   346,   347,
22141      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
22142       -1,   359,   360,   361,   362,   363,    -1,   365,   366,   367,
22143      368,   369,    -1,   371,   372,   373,   374,    -1,   376,   377,
22144      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
22145      388,   389,   390,    -1,   392,   393,    -1,   395,    -1,   397,
22146      398,   399,   400,   401,    -1,   403,   404,   405,    -1,    -1,
22147      408,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
22148      418,   419,   420,   421,    -1,    -1,   424,   425,   426,   427,
22149      428,    -1,    -1,   431,   432,   433,   434,   435,   436,   437,
22150       -1,   439,    -1,   441,   442,   443,   444,    -1,    -1,   447,
22151       -1,    -1,   450,   451,   452,   453,   454,   455,   456,   457,
22152      458,   459,   460,   461,   462,   463,   464,   465,   466,   467,
22153      468,   469,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22154       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
22155       21,    22,    23,    24,    25,    26,    27,    -1,    29,    30,
22156       31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,
22157       -1,    42,    43,    44,    -1,    46,    47,    48,    49,    50,
22158       -1,    52,    53,    -1,    55,    56,    57,    58,    59,    60,
22159       -1,    -1,    63,    64,    65,    66,    67,    -1,    69,    70,
22160       71,    72,    73,    -1,    -1,    -1,    77,    78,    79,    80,
22161       81,    -1,    83,    84,    85,    -1,    87,    88,    89,    90,
22162       91,    92,    -1,    -1,    95,    96,    97,    -1,    -1,    -1,
22163       -1,    -1,    -1,    -1,   105,   106,   107,   108,   109,   110,
22164      111,   112,   113,    -1,   115,    -1,   117,   118,   119,   120,
22165      121,   122,    -1,   124,   125,   126,   127,    -1,    -1,   130,
22166      131,   132,   133,   134,    -1,   136,   137,   138,    -1,   140,
22167      141,   142,    -1,   144,   145,   146,   147,   148,   149,   150,
22168      151,   152,   153,    -1,   155,    -1,   157,   158,   159,   160,
22169       -1,   162,    -1,   164,    -1,    -1,    -1,   168,   169,   170,
22170      171,    -1,   173,   174,    -1,   176,   177,   178,    -1,   180,
22171      181,   182,   183,   184,    -1,   186,   187,   188,   189,    -1,
22172      191,   192,   193,   194,   195,   196,   197,    -1,   199,    -1,
22173      201,   202,   203,   204,   205,   206,   207,    -1,   209,    -1,
22174      211,    -1,    -1,   214,    -1,   216,   217,   218,   219,   220,
22175       -1,    -1,   223,   224,    -1,   226,    -1,    -1,   229,   230,
22176      231,    -1,    -1,   234,   235,   236,   237,   238,   239,   240,
22177      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
22178       -1,   252,   253,   254,   255,   256,   257,   258,   259,   260,
22179      261,   262,    -1,   264,   265,    -1,   267,    -1,   269,   270,
22180      271,   272,   273,   274,    -1,   276,   277,    -1,    -1,   280,
22181      281,   282,    -1,    -1,   285,   286,   287,    -1,   289,    -1,
22182      291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
22183       -1,   302,   303,   304,   305,   306,   307,   308,   309,    -1,
22184      311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
22185      321,   322,   323,   324,   325,    -1,   327,   328,   329,   330,
22186      331,   332,   333,   334,   335,   336,   337,   338,    -1,   340,
22187      341,    -1,   343,   344,   345,   346,   347,   348,   349,   350,
22188      351,   352,   353,   354,   355,   356,   357,    -1,   359,   360,
22189      361,   362,   363,    -1,   365,   366,   367,   368,   369,    -1,
22190      371,   372,   373,   374,    -1,   376,   377,   378,   379,   380,
22191      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
22192       -1,   392,   393,    -1,   395,    -1,   397,   398,   399,   400,
22193      401,    -1,   403,   404,   405,    -1,    -1,   408,   409,   410,
22194      411,   412,    -1,   414,   415,   416,   417,   418,   419,   420,
22195      421,    -1,    -1,   424,   425,   426,   427,   428,    -1,    -1,
22196      431,   432,   433,   434,   435,   436,   437,    -1,   439,    -1,
22197      441,   442,   443,   444,    -1,    -1,   447,    -1,    -1,   450,
22198      451,   452,   453,   454,   455,   456,   457,   458,   459,   460,
22199      461,   462,   463,   464,   465,   466,   467,   468,   469,     3,
22200       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22201       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
22202       24,    25,    26,    27,    -1,    29,    30,    31,    -1,    -1,
22203       -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    42,    43,
22204       44,    -1,    46,    47,    48,    49,    50,    -1,    52,    53,
22205       -1,    55,    56,    57,    58,    59,    60,    -1,    -1,    63,
22206       64,    65,    66,    67,    -1,    69,    70,    71,    72,    73,
22207       -1,    -1,    -1,    77,    78,    79,    80,    81,    -1,    83,
22208       84,    85,    -1,    87,    88,    89,    90,    91,    92,    -1,
22209       -1,    95,    96,    97,    -1,    -1,    -1,    -1,    -1,    -1,
22210       -1,   105,   106,   107,   108,   109,   110,   111,   112,   113,
22211       -1,   115,    -1,   117,   118,   119,   120,   121,   122,    -1,
22212      124,   125,   126,   127,    -1,    -1,   130,   131,   132,   133,
22213      134,    -1,   136,   137,   138,    -1,   140,   141,   142,    -1,
22214      144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
22215       -1,   155,    -1,   157,   158,   159,   160,    -1,   162,    -1,
22216      164,    -1,    -1,    -1,   168,   169,   170,   171,    -1,   173,
22217      174,    -1,   176,   177,   178,    -1,   180,   181,   182,   183,
22218      184,    -1,   186,   187,   188,   189,    -1,   191,   192,   193,
22219      194,   195,   196,   197,    -1,   199,    -1,   201,   202,   203,
22220      204,   205,   206,   207,    -1,   209,    -1,   211,    -1,    -1,
22221      214,    -1,   216,   217,   218,   219,   220,    -1,    -1,   223,
22222      224,    -1,   226,    -1,    -1,   229,   230,   231,    -1,    -1,
22223      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
22224      244,   245,   246,   247,   248,   249,   250,    -1,   252,   253,
22225      254,   255,   256,   257,   258,   259,   260,   261,   262,    -1,
22226      264,   265,    -1,   267,    -1,   269,   270,   271,   272,   273,
22227      274,    -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,
22228       -1,   285,   286,   287,    -1,   289,    -1,   291,   292,   293,
22229      294,   295,   296,   297,   298,   299,   300,    -1,   302,   303,
22230      304,   305,   306,   307,   308,   309,    -1,   311,   312,   313,
22231      314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
22232      324,   325,    -1,   327,   328,   329,   330,   331,   332,   333,
22233      334,   335,   336,   337,   338,    -1,   340,   341,    -1,   343,
22234      344,   345,   346,   347,   348,   349,   350,   351,   352,   353,
22235      354,   355,   356,   357,    -1,   359,   360,   361,   362,   363,
22236       -1,   365,   366,   367,   368,   369,    -1,   371,   372,   373,
22237      374,    -1,   376,   377,   378,   379,   380,   381,   382,   383,
22238      384,   385,   386,   387,   388,   389,   390,    -1,   392,   393,
22239       -1,   395,    -1,   397,   398,   399,   400,   401,    -1,   403,
22240      404,   405,    -1,    -1,   408,   409,   410,   411,   412,    -1,
22241      414,   415,   416,   417,   418,   419,   420,   421,    -1,    -1,
22242      424,   425,   426,   427,   428,    -1,    -1,   431,   432,   433,
22243      434,   435,   436,   437,    -1,   439,    -1,   441,   442,   443,
22244      444,    -1,    -1,   447,    -1,    -1,   450,   451,   452,   453,
22245      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
22246      464,   465,   466,   467,   468,   469,     3,    -1,    -1,    -1,
22247       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22248       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
22249       27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
22250       -1,    -1,    39,    40,    -1,    42,    43,    44,    -1,    46,
22251       47,    48,    49,    50,    -1,    52,    53,    -1,    55,    56,
22252       57,    58,    59,    60,    -1,    -1,    63,    64,    65,    66,
22253       67,    -1,    69,    70,    71,    72,    73,    -1,    -1,    -1,
22254       77,    78,    79,    80,    81,    -1,    83,    84,    85,    -1,
22255       87,    88,    89,    90,    91,    92,    -1,    -1,    95,    96,
22256       97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,
22257      107,   108,   109,   110,   111,   112,   113,    -1,   115,    -1,
22258      117,   118,   119,   120,   121,   122,    -1,   124,   125,   126,
22259      127,    -1,    -1,   130,   131,   132,   133,   134,    -1,   136,
22260      137,   138,    -1,   140,   141,   142,    -1,   144,   145,   146,
22261      147,   148,   149,   150,   151,   152,   153,    -1,   155,    -1,
22262      157,   158,   159,   160,    -1,   162,    -1,   164,    -1,    -1,
22263       -1,   168,   169,   170,   171,    -1,   173,   174,    -1,   176,
22264      177,   178,    -1,   180,   181,   182,   183,   184,    -1,   186,
22265      187,   188,   189,    -1,   191,   192,   193,   194,   195,   196,
22266      197,    -1,   199,    -1,   201,   202,   203,   204,   205,   206,
22267      207,    -1,   209,    -1,   211,    -1,    -1,   214,    -1,   216,
22268      217,   218,   219,   220,    -1,    -1,   223,   224,    -1,   226,
22269       -1,    -1,   229,   230,   231,    -1,    -1,   234,   235,   236,
22270      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
22271      247,   248,   249,   250,    -1,   252,   253,   254,   255,   256,
22272      257,   258,   259,   260,   261,   262,    -1,   264,   265,    -1,
22273      267,    -1,   269,   270,   271,   272,   273,   274,    -1,   276,
22274      277,    -1,    -1,   280,   281,   282,    -1,    -1,   285,   286,
22275      287,    -1,   289,    -1,   291,   292,   293,   294,   295,   296,
22276      297,   298,   299,   300,    -1,   302,   303,   304,   305,   306,
22277      307,   308,   309,    -1,   311,   312,   313,   314,   315,   316,
22278      317,   318,   319,   320,   321,   322,   323,   324,   325,    -1,
22279      327,   328,   329,   330,   331,   332,   333,   334,   335,   336,
22280      337,   338,    -1,   340,   341,    -1,   343,   344,   345,   346,
22281      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
22282      357,    -1,   359,   360,   361,   362,   363,    -1,   365,   366,
22283      367,   368,   369,    -1,   371,   372,   373,   374,    -1,   376,
22284      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
22285      387,   388,   389,   390,    -1,   392,   393,    -1,   395,    -1,
22286      397,   398,   399,   400,   401,    -1,   403,   404,   405,    -1,
22287       -1,   408,   409,   410,   411,   412,    -1,   414,   415,   416,
22288      417,   418,   419,   420,   421,    -1,    -1,   424,   425,   426,
22289      427,   428,    -1,    -1,   431,   432,   433,   434,   435,   436,
22290      437,    -1,   439,    -1,   441,   442,   443,   444,    -1,    -1,
22291      447,    -1,    -1,   450,   451,   452,   453,   454,   455,   456,
22292      457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
22293      467,   468,   469,     3,    -1,    -1,    -1,    -1,    -1,    -1,
22294       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22295       20,    21,    22,    23,    24,    25,    26,    27,    -1,    29,
22296       30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,
22297       40,    -1,    42,    43,    44,    -1,    46,    47,    48,    49,
22298       50,    -1,    52,    53,    -1,    55,    56,    57,    58,    59,
22299       60,    -1,    -1,    63,    64,    65,    66,    67,    -1,    69,
22300       70,    71,    72,    73,    -1,    -1,    -1,    77,    78,    79,
22301       80,    81,    -1,    83,    84,    85,    -1,    87,    88,    89,
22302       90,    91,    92,    -1,    -1,    95,    96,    97,    -1,    -1,
22303       -1,    -1,    -1,    -1,    -1,   105,   106,   107,   108,   109,
22304      110,   111,   112,   113,    -1,   115,    -1,   117,   118,   119,
22305      120,   121,   122,    -1,   124,   125,   126,   127,    -1,    -1,
22306      130,   131,   132,   133,   134,    -1,   136,   137,   138,    -1,
22307      140,   141,   142,    -1,   144,   145,   146,   147,   148,   149,
22308      150,   151,   152,   153,    -1,   155,    -1,   157,   158,   159,
22309      160,    -1,   162,    -1,   164,    -1,    -1,    -1,   168,   169,
22310      170,   171,    -1,   173,   174,    -1,   176,   177,   178,    -1,
22311      180,   181,   182,   183,   184,    -1,   186,   187,   188,   189,
22312       -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
22313       -1,   201,   202,   203,   204,   205,   206,   207,    -1,   209,
22314       -1,   211,    -1,    -1,   214,    -1,   216,   217,   218,   219,
22315      220,    -1,    -1,   223,   224,    -1,   226,    -1,    -1,   229,
22316      230,   231,    -1,    -1,   234,   235,   236,   237,   238,   239,
22317      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
22318      250,    -1,   252,   253,   254,   255,   256,   257,   258,   259,
22319      260,   261,   262,    -1,   264,   265,    -1,   267,    -1,   269,
22320      270,   271,   272,   273,   274,    -1,   276,   277,    -1,    -1,
22321      280,   281,   282,    -1,    -1,   285,   286,   287,    -1,   289,
22322       -1,   291,   292,   293,   294,   295,   296,   297,   298,   299,
22323      300,    -1,   302,   303,   304,   305,   306,   307,   308,   309,
22324       -1,   311,   312,   313,   314,   315,   316,   317,   318,   319,
22325      320,   321,   322,   323,   324,   325,    -1,   327,   328,   329,
22326      330,   331,   332,   333,   334,   335,   336,   337,   338,    -1,
22327      340,   341,    -1,   343,   344,   345,   346,   347,   348,   349,
22328      350,   351,   352,   353,   354,   355,   356,   357,    -1,   359,
22329      360,   361,   362,   363,    -1,   365,   366,   367,   368,   369,
22330       -1,   371,   372,   373,   374,    -1,   376,   377,   378,   379,
22331      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
22332      390,    -1,   392,   393,    -1,   395,    -1,   397,   398,   399,
22333      400,   401,    -1,   403,   404,   405,    -1,    -1,   408,   409,
22334      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
22335      420,   421,    -1,    -1,   424,   425,   426,   427,   428,    -1,
22336       -1,   431,   432,   433,   434,   435,   436,   437,    -1,   439,
22337       -1,   441,   442,   443,   444,    -1,    -1,   447,    -1,    -1,
22338      450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
22339      460,   461,   462,   463,   464,   465,   466,   467,   468,   469,
22340        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22341       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
22342       23,    24,    25,    26,    27,    -1,    29,    30,    31,    -1,
22343       -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    42,
22344       43,    44,    -1,    46,    47,    48,    49,    50,    -1,    52,
22345       53,    -1,    55,    56,    57,    58,    59,    60,    -1,    -1,
22346       63,    64,    65,    66,    67,    -1,    69,    70,    71,    72,
22347       73,    -1,    -1,    -1,    77,    78,    79,    80,    81,    -1,
22348       83,    84,    85,    -1,    87,    88,    89,    90,    91,    92,
22349       -1,    -1,    95,    96,    97,    -1,    -1,    -1,    -1,    -1,
22350       -1,    -1,   105,   106,   107,   108,   109,   110,   111,   112,
22351      113,    -1,   115,    -1,   117,   118,   119,   120,   121,   122,
22352       -1,   124,   125,   126,   127,    -1,    -1,   130,   131,   132,
22353      133,   134,    -1,   136,   137,   138,    -1,   140,   141,   142,
22354       -1,   144,   145,   146,   147,   148,   149,   150,   151,   152,
22355      153,    -1,   155,    -1,   157,   158,   159,   160,    -1,   162,
22356       -1,   164,    -1,    -1,    -1,   168,   169,   170,   171,    -1,
22357      173,   174,    -1,   176,   177,   178,    -1,   180,   181,   182,
22358      183,   184,    -1,   186,   187,   188,   189,    -1,   191,   192,
22359      193,   194,   195,   196,   197,    -1,   199,    -1,   201,   202,
22360      203,   204,   205,   206,   207,    -1,   209,    -1,   211,    -1,
22361       -1,   214,    -1,   216,   217,   218,   219,   220,    -1,    -1,
22362      223,   224,    -1,   226,    -1,    -1,   229,   230,   231,    -1,
22363       -1,   234,   235,   236,   237,   238,   239,   240,   241,   242,
22364      243,   244,   245,   246,   247,   248,   249,   250,    -1,   252,
22365      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
22366       -1,   264,   265,    -1,   267,    -1,   269,   270,   271,   272,
22367      273,   274,    -1,   276,   277,    -1,    -1,   280,   281,   282,
22368       -1,    -1,   285,   286,   287,    -1,   289,    -1,   291,   292,
22369      293,   294,   295,   296,   297,   298,   299,   300,    -1,   302,
22370      303,   304,   305,   306,   307,   308,   309,    -1,   311,   312,
22371      313,   314,   315,   316,   317,   318,   319,   320,   321,   322,
22372      323,   324,   325,    -1,   327,   328,   329,   330,   331,   332,
22373      333,   334,   335,   336,   337,   338,    -1,   340,   341,    -1,
22374      343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
22375      353,   354,   355,   356,   357,    -1,   359,   360,   361,   362,
22376      363,    -1,   365,   366,   367,   368,   369,    -1,   371,   372,
22377      373,   374,    -1,   376,   377,   378,   379,   380,   381,   382,
22378      383,   384,   385,   386,   387,   388,   389,   390,    -1,   392,
22379      393,    -1,   395,    -1,   397,   398,   399,   400,   401,    -1,
22380      403,   404,   405,    -1,    -1,   408,   409,   410,   411,   412,
22381       -1,   414,   415,   416,   417,   418,   419,   420,   421,    -1,
22382       -1,   424,   425,   426,   427,   428,    -1,    -1,   431,   432,
22383      433,   434,   435,   436,   437,    -1,   439,    -1,   441,   442,
22384      443,   444,    -1,    -1,   447,    -1,    -1,   450,   451,   452,
22385      453,   454,   455,   456,   457,   458,   459,   460,   461,   462,
22386      463,   464,   465,   466,   467,   468,   469,     3,    -1,    -1,
22387       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22388       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
22389       26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,
22390       -1,    -1,    -1,    39,    40,    -1,    42,    43,    44,    -1,
22391       46,    47,    48,    49,    50,    -1,    52,    53,    -1,    55,
22392       56,    57,    58,    59,    60,    -1,    -1,    63,    64,    65,
22393       66,    67,    -1,    69,    70,    71,    72,    73,    -1,    -1,
22394       -1,    77,    78,    79,    80,    81,    -1,    83,    84,    85,
22395       -1,    87,    88,    89,    90,    91,    92,    -1,    -1,    95,
22396       96,    97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,
22397      106,   107,   108,   109,   110,   111,   112,   113,    -1,   115,
22398       -1,   117,   118,   119,   120,   121,   122,    -1,   124,   125,
22399      126,   127,    -1,    -1,   130,   131,   132,   133,   134,    -1,
22400      136,   137,   138,    -1,   140,   141,   142,    -1,   144,   145,
22401      146,   147,   148,   149,   150,   151,   152,   153,    -1,   155,
22402       -1,   157,   158,   159,   160,    -1,   162,    -1,   164,    -1,
22403       -1,    -1,   168,   169,   170,   171,    -1,   173,   174,    -1,
22404      176,   177,   178,    -1,   180,   181,   182,   183,   184,    -1,
22405      186,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
22406      196,   197,    -1,   199,    -1,   201,   202,   203,   204,   205,
22407      206,   207,    -1,   209,    -1,   211,    -1,    -1,   214,    -1,
22408      216,   217,   218,   219,   220,    -1,    -1,   223,   224,    -1,
22409      226,    -1,    -1,   229,   230,   231,    -1,    -1,   234,   235,
22410      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
22411      246,   247,   248,   249,   250,    -1,   252,   253,   254,   255,
22412      256,   257,   258,   259,   260,   261,   262,    -1,   264,   265,
22413       -1,   267,    -1,   269,   270,   271,   272,   273,   274,    -1,
22414      276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,   285,
22415      286,   287,    -1,   289,    -1,   291,   292,   293,   294,   295,
22416      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
22417      306,   307,   308,   309,    -1,   311,   312,   313,   314,   315,
22418      316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
22419       -1,   327,   328,   329,   330,   331,   332,   333,   334,   335,
22420      336,   337,   338,    -1,   340,   341,    -1,   343,   344,   345,
22421      346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
22422      356,   357,    -1,   359,   360,   361,   362,   363,    -1,   365,
22423      366,   367,   368,   369,    -1,   371,   372,   373,   374,    -1,
22424      376,   377,   378,   379,   380,   381,   382,   383,   384,   385,
22425      386,   387,   388,   389,   390,    -1,   392,   393,    -1,   395,
22426       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
22427       -1,    -1,   408,   409,   410,   411,   412,    -1,   414,   415,
22428      416,   417,   418,   419,   420,   421,    -1,    -1,   424,   425,
22429      426,   427,   428,    -1,    -1,   431,   432,   433,   434,   435,
22430      436,   437,    -1,   439,    -1,   441,   442,   443,   444,    -1,
22431       -1,   447,    -1,    -1,   450,   451,   452,   453,   454,   455,
22432      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
22433      466,   467,   468,   469,     3,    -1,    -1,    -1,    -1,    -1,
22434       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22435       -1,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
22436       29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22437       39,    40,    -1,    42,    43,    44,    -1,    46,    47,    48,
22438       49,    50,    -1,    52,    53,    -1,    55,    56,    57,    58,
22439       59,    60,    -1,    -1,    63,    64,    65,    66,    67,    -1,
22440       69,    70,    71,    72,    73,    -1,    -1,    -1,    77,    78,
22441       79,    80,    81,    -1,    83,    84,    85,    -1,    87,    88,
22442       89,    90,    91,    92,    -1,    -1,    95,    96,    97,    -1,
22443       -1,    -1,    -1,    -1,    -1,    -1,   105,   106,   107,   108,
22444      109,   110,   111,   112,   113,    -1,   115,    -1,   117,   118,
22445      119,   120,   121,   122,    -1,   124,   125,   126,   127,    -1,
22446       -1,   130,   131,   132,   133,   134,    -1,   136,   137,   138,
22447       -1,   140,   141,   142,    -1,   144,   145,   146,   147,   148,
22448      149,   150,   151,   152,   153,    -1,   155,    -1,   157,   158,
22449      159,   160,    -1,   162,    -1,   164,    -1,    -1,    -1,   168,
22450      169,   170,   171,    -1,   173,   174,    -1,   176,   177,   178,
22451       -1,   180,   181,   182,   183,   184,    -1,   186,   187,   188,
22452      189,    -1,   191,   192,   193,   194,   195,   196,   197,    -1,
22453      199,    -1,   201,   202,   203,   204,   205,   206,   207,    -1,
22454      209,    -1,   211,    -1,    -1,   214,    -1,   216,   217,   218,
22455      219,   220,    -1,    -1,   223,   224,    -1,   226,    -1,    -1,
22456      229,   230,   231,    -1,    -1,   234,   235,   236,   237,   238,
22457      239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
22458      249,   250,    -1,   252,   253,   254,   255,   256,   257,   258,
22459      259,   260,   261,   262,    -1,   264,   265,    -1,   267,    -1,
22460      269,   270,   271,   272,   273,   274,    -1,   276,   277,    -1,
22461       -1,   280,   281,   282,    -1,    -1,   285,   286,   287,    -1,
22462      289,    -1,   291,   292,   293,   294,   295,   296,   297,   298,
22463      299,   300,    -1,   302,   303,   304,   305,   306,   307,   308,
22464      309,    -1,   311,   312,   313,   314,   315,   316,   317,   318,
22465      319,   320,   321,   322,   323,   324,   325,    -1,   327,   328,
22466      329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
22467       -1,   340,   341,    -1,   343,   344,   345,   346,   347,   348,
22468      349,   350,   351,   352,   353,   354,   355,   356,   357,    -1,
22469      359,   360,   361,   362,   363,    -1,   365,   366,   367,   368,
22470      369,    -1,   371,   372,   373,   374,    -1,   376,   377,   378,
22471      379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
22472      389,   390,    -1,   392,   393,    -1,   395,    -1,   397,   398,
22473      399,   400,   401,    -1,   403,   404,   405,    -1,    -1,   408,
22474      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
22475      419,   420,   421,    -1,    -1,   424,   425,   426,   427,   428,
22476       -1,    -1,   431,   432,   433,   434,   435,   436,   437,    -1,
22477      439,    -1,   441,   442,   443,   444,    -1,    -1,   447,    -1,
22478       -1,   450,   451,   452,   453,   454,   455,   456,   457,   458,
22479      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
22480      469,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22481       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
22482       22,    23,    24,    25,    26,    27,    -1,    29,    30,    31,
22483       -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,
22484       42,    43,    44,    -1,    46,    47,    48,    49,    50,    -1,
22485       52,    53,    -1,    55,    56,    57,    58,    59,    60,    -1,
22486       -1,    63,    64,    65,    66,    67,    -1,    69,    70,    71,
22487       72,    73,    -1,    -1,    -1,    77,    78,    79,    80,    81,
22488       -1,    83,    84,    85,    -1,    87,    88,    89,    90,    91,
22489       92,    -1,    -1,    95,    96,    97,    -1,    -1,    -1,    -1,
22490       -1,    -1,    -1,   105,   106,   107,   108,   109,   110,   111,
22491      112,   113,    -1,   115,    -1,   117,   118,   119,   120,   121,
22492      122,    -1,   124,   125,   126,   127,    -1,    -1,   130,   131,
22493      132,   133,   134,    -1,   136,   137,   138,    -1,   140,   141,
22494      142,    -1,   144,   145,   146,   147,   148,   149,   150,   151,
22495      152,   153,    -1,   155,    -1,   157,   158,   159,   160,    -1,
22496      162,    -1,   164,    -1,    -1,    -1,   168,   169,   170,   171,
22497       -1,   173,   174,    -1,   176,   177,   178,    -1,   180,   181,
22498      182,   183,   184,    -1,   186,   187,   188,   189,    -1,   191,
22499      192,   193,   194,   195,   196,   197,    -1,   199,    -1,   201,
22500      202,   203,   204,   205,   206,   207,    -1,   209,    -1,   211,
22501       -1,    -1,   214,    -1,   216,   217,   218,   219,   220,    -1,
22502       -1,   223,   224,    -1,   226,    -1,    -1,   229,   230,   231,
22503       -1,    -1,   234,   235,   236,   237,   238,   239,   240,   241,
22504      242,   243,   244,   245,   246,   247,   248,   249,   250,    -1,
22505      252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
22506      262,    -1,   264,   265,    -1,   267,    -1,   269,   270,   271,
22507      272,   273,   274,    -1,   276,   277,    -1,    -1,   280,   281,
22508      282,    -1,    -1,   285,   286,   287,    -1,   289,    -1,   291,
22509      292,   293,   294,   295,   296,   297,   298,   299,   300,    -1,
22510      302,   303,   304,   305,   306,   307,   308,   309,    -1,   311,
22511      312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
22512      322,   323,   324,   325,    -1,   327,   328,   329,   330,   331,
22513      332,   333,   334,   335,   336,   337,   338,    -1,   340,   341,
22514       -1,   343,   344,   345,   346,   347,   348,   349,   350,   351,
22515      352,   353,   354,   355,   356,   357,    -1,   359,   360,   361,
22516      362,   363,    -1,   365,   366,   367,   368,   369,    -1,   371,
22517      372,   373,   374,    -1,   376,   377,   378,   379,   380,   381,
22518      382,   383,   384,   385,   386,   387,   388,   389,   390,    -1,
22519      392,   393,    -1,   395,    -1,   397,   398,   399,   400,   401,
22520       -1,   403,   404,   405,    -1,    -1,   408,   409,   410,   411,
22521      412,    -1,   414,   415,   416,   417,   418,   419,   420,   421,
22522       -1,    -1,   424,   425,   426,   427,   428,    -1,    -1,   431,
22523      432,   433,   434,   435,   436,   437,    -1,   439,    -1,   441,
22524      442,   443,   444,    -1,    -1,   447,    -1,    -1,   450,   451,
22525      452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
22526      462,   463,   464,   465,   466,   467,   468,   469,     3,    -1,
22527       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22528       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
22529       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
22530       -1,    -1,    -1,    -1,    39,    40,    -1,    42,    43,    44,
22531       -1,    46,    47,    48,    49,    50,    -1,    52,    53,    -1,
22532       55,    56,    57,    58,    59,    60,    -1,    -1,    63,    64,
22533       65,    66,    67,    -1,    69,    70,    71,    72,    73,    -1,
22534       -1,    -1,    77,    78,    79,    80,    81,    -1,    83,    84,
22535       85,    -1,    87,    88,    89,    90,    91,    92,    -1,    -1,
22536       95,    96,    97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22537      105,   106,   107,   108,   109,   110,   111,   112,   113,    -1,
22538      115,    -1,   117,   118,   119,   120,   121,   122,    -1,   124,
22539      125,   126,   127,    -1,    -1,   130,   131,   132,   133,   134,
22540       -1,   136,   137,   138,    -1,   140,   141,   142,    -1,   144,
22541      145,   146,   147,   148,   149,   150,   151,   152,   153,    -1,
22542      155,    -1,   157,   158,   159,   160,    -1,   162,    -1,   164,
22543       -1,    -1,    -1,   168,   169,   170,   171,    -1,   173,   174,
22544       -1,   176,   177,   178,    -1,   180,   181,   182,   183,   184,
22545       -1,   186,   187,   188,   189,    -1,   191,   192,   193,   194,
22546      195,   196,   197,    -1,   199,    -1,   201,   202,   203,   204,
22547      205,   206,   207,    -1,   209,    -1,   211,    -1,    -1,   214,
22548       -1,   216,   217,   218,   219,   220,    -1,    -1,   223,   224,
22549       -1,   226,    -1,    -1,   229,   230,   231,    -1,    -1,   234,
22550      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
22551      245,   246,   247,   248,   249,   250,    -1,   252,   253,   254,
22552      255,   256,   257,   258,   259,   260,   261,   262,    -1,   264,
22553      265,    -1,   267,    -1,   269,   270,   271,   272,   273,   274,
22554       -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,
22555      285,   286,   287,    -1,   289,    -1,   291,   292,   293,   294,
22556      295,   296,   297,   298,   299,   300,    -1,   302,   303,   304,
22557      305,   306,   307,   308,   309,    -1,   311,   312,   313,   314,
22558      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
22559      325,    -1,   327,   328,   329,   330,   331,   332,   333,   334,
22560      335,   336,   337,   338,    -1,   340,   341,    -1,   343,   344,
22561      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
22562      355,   356,   357,    -1,   359,   360,   361,   362,   363,    -1,
22563      365,   366,   367,   368,   369,    -1,   371,   372,   373,   374,
22564       -1,   376,   377,   378,   379,   380,   381,   382,   383,   384,
22565      385,   386,   387,   388,   389,   390,    -1,   392,   393,    -1,
22566      395,    -1,   397,   398,   399,   400,   401,    -1,   403,   404,
22567      405,    -1,    -1,   408,   409,   410,   411,   412,    -1,   414,
22568      415,   416,   417,   418,   419,   420,   421,    -1,    -1,   424,
22569      425,   426,   427,   428,    -1,    -1,   431,   432,   433,   434,
22570      435,   436,   437,    -1,   439,    -1,   441,   442,   443,   444,
22571       -1,    -1,   447,    -1,    -1,   450,   451,   452,   453,   454,
22572      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
22573      465,   466,   467,   468,   469,     3,    -1,    -1,    -1,    -1,
22574       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22575       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
22576       -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,
22577       -1,    39,    40,    -1,    42,    43,    44,    -1,    46,    47,
22578       48,    49,    50,    -1,    52,    53,    -1,    55,    56,    57,
22579       58,    59,    60,    -1,    -1,    63,    64,    65,    66,    67,
22580       -1,    69,    70,    71,    72,    73,    -1,    -1,    -1,    77,
22581       78,    79,    80,    81,    -1,    83,    84,    85,    -1,    87,
22582       88,    89,    90,    91,    92,    -1,    -1,    95,    96,    97,
22583       -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,   107,
22584      108,   109,   110,   111,   112,   113,    -1,   115,    -1,   117,
22585      118,   119,   120,   121,   122,    -1,   124,   125,   126,   127,
22586       -1,    -1,   130,   131,   132,   133,   134,    -1,   136,   137,
22587      138,    -1,   140,   141,   142,    -1,   144,   145,   146,   147,
22588      148,   149,   150,   151,   152,   153,    -1,   155,    -1,   157,
22589      158,   159,   160,    -1,   162,    -1,   164,    -1,    -1,    -1,
22590      168,   169,   170,   171,    -1,   173,   174,    -1,   176,   177,
22591      178,    -1,   180,   181,   182,   183,   184,    -1,   186,   187,
22592      188,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
22593       -1,   199,    -1,   201,   202,   203,   204,   205,   206,   207,
22594       -1,   209,    -1,   211,    -1,    -1,   214,    -1,   216,   217,
22595      218,   219,   220,    -1,    -1,   223,   224,    -1,   226,    -1,
22596       -1,   229,   230,   231,    -1,    -1,   234,   235,   236,   237,
22597      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
22598      248,   249,   250,    -1,   252,   253,   254,   255,   256,   257,
22599      258,   259,   260,   261,   262,    -1,   264,   265,    -1,   267,
22600       -1,   269,   270,   271,   272,   273,   274,    -1,   276,   277,
22601       -1,    -1,   280,   281,   282,    -1,    -1,   285,   286,   287,
22602       -1,   289,    -1,   291,   292,   293,   294,   295,   296,   297,
22603      298,   299,   300,    -1,   302,   303,   304,   305,   306,   307,
22604      308,   309,    -1,   311,   312,   313,   314,   315,   316,   317,
22605      318,   319,   320,   321,   322,   323,   324,   325,    -1,   327,
22606      328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
22607      338,    -1,   340,   341,    -1,   343,   344,   345,   346,   347,
22608      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
22609       -1,   359,   360,   361,   362,   363,    -1,   365,   366,   367,
22610      368,   369,    -1,   371,   372,   373,   374,    -1,   376,   377,
22611      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
22612      388,   389,   390,    -1,   392,   393,    -1,   395,    -1,   397,
22613      398,   399,   400,   401,    -1,   403,   404,   405,    -1,    -1,
22614      408,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
22615      418,   419,   420,   421,    -1,    -1,   424,   425,   426,   427,
22616      428,    -1,    -1,   431,   432,   433,   434,   435,   436,   437,
22617       -1,   439,    -1,   441,   442,   443,   444,    -1,    -1,   447,
22618       -1,    -1,   450,   451,   452,   453,   454,   455,   456,   457,
22619      458,   459,   460,   461,   462,   463,   464,   465,   466,   467,
22620      468,   469,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22621       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
22622       21,    22,    23,    24,    25,    26,    27,    -1,    29,    30,
22623       31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,
22624       -1,    42,    43,    44,    -1,    46,    47,    48,    49,    50,
22625       -1,    52,    53,    -1,    55,    56,    57,    58,    59,    60,
22626       -1,    -1,    63,    64,    65,    66,    67,    -1,    69,    70,
22627       71,    72,    73,    -1,    -1,    -1,    77,    78,    79,    80,
22628       81,    -1,    83,    84,    85,    -1,    87,    88,    89,    90,
22629       91,    92,    -1,    -1,    95,    96,    97,    -1,    -1,    -1,
22630       -1,    -1,    -1,    -1,   105,   106,   107,   108,   109,   110,
22631      111,   112,   113,    -1,   115,    -1,   117,   118,   119,   120,
22632      121,   122,    -1,   124,   125,   126,   127,    -1,    -1,   130,
22633      131,   132,   133,   134,    -1,   136,   137,   138,    -1,   140,
22634      141,   142,    -1,   144,   145,   146,   147,   148,   149,   150,
22635      151,   152,   153,    -1,   155,    -1,   157,   158,   159,   160,
22636       -1,   162,    -1,   164,    -1,    -1,    -1,   168,   169,   170,
22637      171,    -1,   173,   174,    -1,   176,   177,   178,    -1,   180,
22638      181,   182,   183,   184,    -1,   186,   187,   188,   189,    -1,
22639      191,   192,   193,   194,   195,   196,   197,    -1,   199,    -1,
22640      201,   202,   203,   204,   205,   206,   207,    -1,   209,    -1,
22641      211,    -1,    -1,   214,    -1,   216,   217,   218,   219,   220,
22642       -1,    -1,   223,   224,    -1,   226,    -1,    -1,   229,   230,
22643      231,    -1,    -1,   234,   235,   236,   237,   238,   239,   240,
22644      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
22645       -1,   252,   253,   254,   255,   256,   257,   258,   259,   260,
22646      261,   262,    -1,   264,   265,    -1,   267,    -1,   269,   270,
22647      271,   272,   273,   274,    -1,   276,   277,    -1,    -1,   280,
22648      281,   282,    -1,    -1,   285,   286,   287,    -1,   289,    -1,
22649      291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
22650       -1,   302,   303,   304,   305,   306,   307,   308,   309,    -1,
22651      311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
22652      321,   322,   323,   324,   325,    -1,   327,   328,   329,   330,
22653      331,   332,   333,   334,   335,   336,   337,   338,    -1,   340,
22654      341,    -1,   343,   344,   345,   346,   347,   348,   349,   350,
22655      351,   352,   353,   354,   355,   356,   357,    -1,   359,   360,
22656      361,   362,   363,    -1,   365,   366,   367,   368,   369,    -1,
22657      371,   372,   373,   374,    -1,   376,   377,   378,   379,   380,
22658      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
22659       -1,   392,   393,    -1,   395,    -1,   397,   398,   399,   400,
22660      401,    -1,   403,   404,   405,    -1,    -1,   408,   409,   410,
22661      411,   412,    -1,   414,   415,   416,   417,   418,   419,   420,
22662      421,    -1,    -1,   424,   425,   426,   427,   428,    -1,    -1,
22663      431,   432,   433,   434,   435,   436,   437,    -1,   439,    -1,
22664      441,   442,   443,   444,    -1,    -1,   447,    -1,    -1,   450,
22665      451,   452,   453,   454,   455,   456,   457,   458,   459,   460,
22666      461,   462,   463,   464,   465,   466,   467,   468,   469,     3,
22667       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22668       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
22669       24,    25,    26,    27,    -1,    29,    30,    31,    -1,    -1,
22670       -1,    -1,    -1,    37,    -1,    39,    40,    -1,    42,    43,
22671       44,    -1,    46,    47,    48,    49,    50,    -1,    52,    53,
22672       -1,    55,    56,    57,    58,    59,    60,    -1,    -1,    63,
22673       64,    65,    66,    67,    -1,    69,    70,    71,    72,    73,
22674       -1,    -1,    -1,    77,    78,    79,    80,    81,    -1,    83,
22675       84,    85,    -1,    87,    88,    89,    90,    91,    92,    -1,
22676       -1,    95,    96,    97,    -1,    -1,    -1,    -1,    -1,    -1,
22677       -1,   105,   106,   107,   108,   109,   110,   111,   112,   113,
22678       -1,   115,    -1,   117,   118,   119,   120,   121,   122,    -1,
22679      124,   125,   126,   127,    -1,    -1,   130,   131,   132,   133,
22680      134,    -1,   136,   137,   138,    -1,   140,   141,   142,    -1,
22681      144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
22682       -1,   155,    -1,   157,   158,   159,   160,    -1,   162,    -1,
22683      164,    -1,    -1,    -1,   168,   169,   170,   171,    -1,   173,
22684      174,    -1,   176,   177,   178,    -1,   180,   181,   182,   183,
22685      184,    -1,   186,   187,   188,   189,    -1,   191,   192,   193,
22686      194,   195,   196,   197,    -1,   199,    -1,   201,   202,   203,
22687      204,   205,   206,   207,    -1,   209,    -1,   211,    -1,    -1,
22688      214,    -1,   216,   217,   218,   219,   220,    -1,    -1,   223,
22689      224,    -1,   226,    -1,    -1,   229,   230,   231,    -1,    -1,
22690      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
22691      244,   245,   246,   247,   248,   249,   250,    -1,   252,   253,
22692      254,   255,   256,   257,   258,   259,   260,   261,   262,    -1,
22693      264,   265,    -1,   267,    -1,   269,   270,   271,   272,   273,
22694      274,    -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,
22695       -1,   285,   286,   287,    -1,   289,    -1,   291,   292,   293,
22696      294,   295,   296,   297,   298,   299,   300,    -1,   302,   303,
22697      304,   305,   306,   307,   308,   309,    -1,   311,   312,   313,
22698      314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
22699      324,   325,    -1,   327,   328,   329,   330,   331,   332,   333,
22700      334,   335,   336,   337,   338,    -1,   340,   341,    -1,   343,
22701      344,   345,   346,   347,   348,   349,   350,   351,   352,   353,
22702      354,   355,   356,   357,    -1,   359,   360,   361,   362,   363,
22703       -1,    -1,   366,   367,   368,   369,    -1,   371,   372,   373,
22704      374,    -1,   376,   377,   378,   379,   380,   381,   382,   383,
22705      384,   385,   386,   387,   388,   389,   390,    -1,   392,   393,
22706       -1,   395,    -1,   397,   398,   399,   400,   401,    -1,   403,
22707      404,   405,    -1,    -1,   408,   409,   410,   411,   412,    -1,
22708      414,   415,   416,   417,   418,   419,   420,   421,    -1,    -1,
22709      424,   425,   426,   427,   428,    -1,    -1,   431,   432,   433,
22710      434,   435,   436,   437,    -1,   439,    -1,   441,   442,   443,
22711      444,    -1,    -1,   447,    -1,    -1,   450,   451,   452,   453,
22712      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
22713      464,   465,   466,   467,   468,   469,     3,    -1,    -1,    -1,
22714       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22715       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
22716       27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
22717       -1,    -1,    39,    40,    -1,    42,    43,    44,    -1,    46,
22718       47,    48,    49,    50,    -1,    52,    53,    -1,    55,    56,
22719       57,    58,    59,    60,    -1,    -1,    63,    64,    65,    66,
22720       67,    -1,    69,    70,    71,    72,    73,    -1,    -1,    -1,
22721       77,    78,    79,    80,    81,    -1,    83,    84,    85,    -1,
22722       87,    88,    89,    90,    91,    92,    -1,    -1,    95,    96,
22723       97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,
22724      107,   108,   109,   110,   111,   112,   113,    -1,   115,    -1,
22725      117,   118,   119,   120,   121,   122,    -1,   124,   125,   126,
22726      127,    -1,    -1,   130,   131,   132,   133,   134,    -1,   136,
22727      137,   138,    -1,   140,   141,   142,    -1,   144,   145,   146,
22728      147,   148,   149,   150,   151,   152,   153,    -1,   155,    -1,
22729      157,   158,   159,   160,    -1,   162,    -1,   164,    -1,    -1,
22730       -1,   168,   169,   170,   171,    -1,   173,   174,    -1,   176,
22731      177,   178,    -1,   180,   181,   182,   183,   184,    -1,   186,
22732      187,   188,   189,    -1,   191,   192,   193,   194,   195,   196,
22733      197,    -1,   199,    -1,   201,   202,   203,   204,   205,   206,
22734      207,    -1,   209,    -1,   211,    -1,    -1,   214,    -1,   216,
22735      217,   218,   219,   220,    -1,    -1,   223,   224,    -1,   226,
22736       -1,    -1,   229,   230,   231,    -1,    -1,   234,   235,   236,
22737      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
22738      247,   248,   249,   250,    -1,   252,   253,   254,   255,   256,
22739      257,   258,   259,   260,   261,   262,    -1,   264,   265,    -1,
22740      267,    -1,   269,   270,   271,   272,   273,   274,    -1,   276,
22741      277,    -1,    -1,   280,   281,   282,    -1,    -1,   285,   286,
22742      287,    -1,   289,    -1,   291,   292,   293,   294,   295,   296,
22743      297,   298,   299,   300,    -1,   302,   303,   304,   305,   306,
22744      307,   308,   309,    -1,   311,   312,   313,   314,   315,   316,
22745      317,   318,   319,   320,   321,   322,   323,   324,   325,    -1,
22746      327,   328,   329,   330,   331,   332,   333,   334,   335,   336,
22747      337,   338,    -1,   340,   341,    -1,   343,   344,   345,   346,
22748      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
22749      357,    -1,   359,   360,   361,   362,   363,    -1,   365,   366,
22750      367,   368,   369,    -1,   371,   372,   373,   374,    -1,   376,
22751      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
22752      387,   388,   389,   390,    -1,   392,   393,    -1,   395,    -1,
22753      397,   398,   399,   400,   401,    -1,   403,   404,   405,    -1,
22754       -1,   408,   409,   410,   411,   412,    -1,   414,   415,   416,
22755      417,   418,   419,   420,   421,    -1,    -1,   424,   425,   426,
22756      427,   428,    -1,    -1,   431,   432,   433,   434,   435,   436,
22757      437,    -1,   439,    -1,   441,   442,   443,   444,    -1,    -1,
22758      447,    -1,    -1,   450,   451,   452,   453,   454,   455,   456,
22759      457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
22760      467,   468,   469,     3,    -1,    -1,    -1,    -1,    -1,    -1,
22761       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22762       20,    21,    22,    23,    24,    25,    26,    27,    -1,    29,
22763       30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,
22764       40,    -1,    42,    43,    44,    -1,    46,    47,    48,    49,
22765       50,    -1,    52,    53,    -1,    55,    56,    57,    58,    59,
22766       60,    -1,    -1,    63,    64,    65,    66,    67,    -1,    69,
22767       70,    71,    72,    73,    -1,    -1,    -1,    77,    78,    79,
22768       80,    81,    -1,    83,    84,    85,    -1,    87,    88,    89,
22769       90,    91,    92,    -1,    -1,    95,    96,    97,    -1,    -1,
22770       -1,    -1,    -1,    -1,    -1,   105,   106,   107,   108,   109,
22771      110,   111,   112,   113,    -1,   115,    -1,   117,   118,   119,
22772      120,   121,   122,    -1,   124,   125,   126,   127,    -1,    -1,
22773      130,   131,   132,   133,   134,    -1,   136,   137,   138,    -1,
22774      140,   141,   142,    -1,   144,   145,   146,   147,   148,   149,
22775      150,   151,   152,   153,    -1,   155,    -1,   157,   158,   159,
22776      160,    -1,   162,    -1,   164,    -1,    -1,    -1,   168,   169,
22777      170,   171,    -1,   173,   174,    -1,   176,   177,   178,    -1,
22778      180,   181,   182,   183,   184,    -1,   186,   187,   188,   189,
22779       -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
22780       -1,   201,   202,   203,   204,   205,   206,   207,    -1,   209,
22781       -1,   211,    -1,    -1,   214,    -1,   216,   217,   218,   219,
22782      220,    -1,    -1,   223,   224,    -1,   226,    -1,    -1,   229,
22783      230,   231,    -1,    -1,   234,   235,   236,   237,   238,   239,
22784      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
22785      250,    -1,   252,   253,   254,   255,   256,   257,   258,   259,
22786      260,   261,   262,    -1,   264,   265,    -1,   267,    -1,   269,
22787      270,   271,   272,   273,   274,    -1,   276,   277,    -1,    -1,
22788      280,   281,   282,    -1,    -1,   285,   286,   287,    -1,   289,
22789       -1,   291,   292,   293,   294,   295,   296,   297,   298,   299,
22790      300,    -1,   302,   303,   304,   305,   306,   307,   308,   309,
22791       -1,   311,   312,   313,   314,   315,   316,   317,   318,   319,
22792      320,   321,   322,   323,   324,   325,    -1,   327,   328,   329,
22793      330,   331,   332,   333,   334,   335,   336,   337,   338,    -1,
22794      340,   341,    -1,   343,   344,   345,   346,   347,   348,   349,
22795      350,   351,   352,   353,   354,   355,   356,   357,    -1,   359,
22796      360,   361,   362,   363,    -1,   365,   366,   367,   368,   369,
22797       -1,   371,   372,   373,   374,    -1,   376,   377,   378,   379,
22798      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
22799      390,    -1,   392,   393,    -1,   395,    -1,   397,   398,   399,
22800      400,   401,    -1,   403,   404,   405,    -1,    -1,   408,   409,
22801      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
22802      420,   421,    -1,    -1,   424,   425,   426,   427,   428,    -1,
22803       -1,   431,   432,   433,   434,   435,   436,   437,    -1,   439,
22804       -1,   441,   442,   443,   444,    -1,    -1,   447,    -1,    -1,
22805      450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
22806      460,   461,   462,   463,   464,   465,   466,   467,   468,   469,
22807        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22808       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
22809       23,    24,    25,    26,    27,    -1,    29,    30,    31,    -1,
22810       -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    42,
22811       43,    44,    -1,    46,    47,    48,    49,    50,    -1,    52,
22812       53,    -1,    55,    56,    57,    58,    59,    60,    -1,    -1,
22813       63,    64,    65,    66,    67,    -1,    69,    70,    71,    72,
22814       73,    -1,    -1,    -1,    77,    78,    79,    80,    81,    -1,
22815       83,    84,    85,    -1,    87,    88,    89,    90,    91,    92,
22816       -1,    -1,    95,    96,    97,    -1,    -1,    -1,    -1,    -1,
22817       -1,    -1,   105,   106,   107,   108,   109,   110,   111,   112,
22818      113,    -1,   115,    -1,   117,   118,   119,   120,   121,   122,
22819       -1,   124,   125,   126,   127,    -1,    -1,   130,   131,   132,
22820      133,   134,    -1,   136,   137,   138,    -1,   140,   141,   142,
22821       -1,   144,   145,   146,   147,   148,   149,   150,   151,   152,
22822      153,    -1,   155,    -1,   157,   158,   159,   160,    -1,   162,
22823       -1,   164,    -1,    -1,    -1,   168,   169,   170,   171,    -1,
22824      173,   174,    -1,   176,   177,   178,    -1,   180,   181,   182,
22825      183,   184,    -1,   186,   187,   188,   189,    -1,   191,   192,
22826      193,   194,   195,   196,   197,    -1,   199,    -1,   201,   202,
22827      203,   204,   205,   206,   207,    -1,   209,    -1,   211,    -1,
22828       -1,   214,    -1,   216,   217,   218,   219,   220,    -1,    -1,
22829      223,   224,    -1,   226,    -1,    -1,   229,   230,   231,    -1,
22830       -1,   234,   235,   236,   237,   238,   239,   240,   241,   242,
22831      243,   244,   245,   246,   247,   248,   249,   250,    -1,   252,
22832      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
22833       -1,   264,   265,    -1,   267,    -1,   269,   270,   271,   272,
22834      273,   274,    -1,   276,   277,    -1,    -1,   280,   281,   282,
22835       -1,    -1,   285,   286,   287,    -1,   289,    -1,   291,   292,
22836      293,   294,   295,   296,   297,   298,   299,   300,    -1,   302,
22837      303,   304,   305,   306,   307,   308,   309,    -1,   311,   312,
22838      313,   314,   315,   316,   317,   318,   319,   320,   321,   322,
22839      323,   324,   325,    -1,   327,   328,   329,   330,   331,   332,
22840      333,   334,   335,   336,   337,   338,    -1,   340,   341,    -1,
22841      343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
22842      353,   354,   355,   356,   357,    -1,   359,   360,   361,   362,
22843      363,    -1,   365,   366,   367,   368,   369,    -1,   371,   372,
22844      373,   374,    -1,   376,   377,   378,   379,   380,   381,   382,
22845      383,   384,   385,   386,   387,   388,   389,   390,    -1,   392,
22846      393,    -1,   395,    -1,   397,   398,   399,   400,   401,    -1,
22847      403,   404,   405,    -1,    -1,   408,   409,   410,   411,   412,
22848       -1,   414,   415,   416,   417,   418,   419,   420,   421,    -1,
22849       -1,   424,   425,   426,   427,   428,    -1,    -1,   431,   432,
22850      433,   434,   435,   436,   437,    -1,   439,    -1,   441,   442,
22851      443,   444,    -1,    -1,   447,    -1,    -1,   450,   451,   452,
22852      453,   454,   455,   456,   457,   458,   459,   460,   461,   462,
22853      463,   464,   465,   466,   467,   468,   469,     3,    -1,    -1,
22854       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22855       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
22856       26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,
22857       -1,    -1,    -1,    39,    40,    -1,    42,    43,    44,    -1,
22858       46,    47,    48,    49,    50,    -1,    52,    53,    -1,    55,
22859       56,    57,    58,    59,    60,    -1,    -1,    63,    64,    65,
22860       66,    67,    -1,    69,    70,    71,    72,    73,    -1,    -1,
22861       -1,    77,    78,    79,    80,    81,    -1,    83,    84,    85,
22862       -1,    87,    88,    89,    90,    91,    92,    -1,    -1,    95,
22863       96,    97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,
22864      106,   107,   108,   109,   110,   111,   112,   113,    -1,   115,
22865       -1,   117,   118,   119,   120,   121,   122,    -1,   124,   125,
22866      126,   127,    -1,    -1,   130,   131,   132,   133,   134,    -1,
22867      136,   137,   138,    -1,   140,   141,   142,    -1,   144,   145,
22868      146,   147,   148,   149,   150,   151,   152,   153,    -1,   155,
22869       -1,   157,   158,   159,   160,    -1,   162,    -1,   164,    -1,
22870       -1,    -1,   168,   169,   170,   171,    -1,   173,   174,    -1,
22871      176,   177,   178,    -1,   180,   181,   182,   183,   184,    -1,
22872      186,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
22873      196,   197,    -1,   199,    -1,   201,   202,   203,   204,   205,
22874      206,   207,    -1,   209,    -1,   211,    -1,    -1,   214,    -1,
22875      216,   217,   218,   219,   220,    -1,    -1,   223,   224,    -1,
22876      226,    -1,    -1,   229,   230,   231,    -1,    -1,   234,   235,
22877      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
22878      246,   247,   248,   249,   250,    -1,   252,   253,   254,   255,
22879      256,   257,   258,   259,   260,   261,   262,    -1,   264,   265,
22880       -1,   267,    -1,   269,   270,   271,   272,   273,   274,    -1,
22881      276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,   285,
22882      286,   287,    -1,   289,    -1,   291,   292,   293,   294,   295,
22883      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
22884      306,   307,   308,   309,    -1,   311,   312,   313,   314,   315,
22885      316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
22886       -1,   327,   328,   329,   330,   331,   332,   333,   334,   335,
22887      336,   337,   338,    -1,   340,   341,    -1,   343,   344,   345,
22888      346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
22889      356,   357,    -1,   359,   360,   361,   362,   363,    -1,   365,
22890      366,   367,   368,   369,    -1,   371,   372,   373,   374,    -1,
22891      376,   377,   378,   379,   380,   381,   382,   383,   384,   385,
22892      386,   387,   388,   389,   390,    -1,   392,   393,    -1,   395,
22893       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
22894       -1,    -1,   408,   409,   410,   411,   412,    -1,   414,   415,
22895      416,   417,   418,   419,   420,   421,    -1,    -1,   424,   425,
22896      426,   427,   428,    -1,    -1,   431,   432,   433,   434,   435,
22897      436,   437,    -1,   439,    -1,   441,   442,   443,   444,    -1,
22898       -1,   447,    -1,    -1,   450,   451,   452,   453,   454,   455,
22899      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
22900      466,   467,   468,   469,     3,    -1,    -1,    -1,    -1,    -1,
22901       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22902       -1,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
22903       29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22904       39,    40,    -1,    42,    43,    44,    -1,    46,    47,    48,
22905       49,    50,    -1,    52,    53,    -1,    55,    56,    57,    58,
22906       59,    60,    -1,    -1,    63,    64,    65,    66,    67,    -1,
22907       69,    70,    71,    72,    73,    -1,    -1,    -1,    77,    78,
22908       79,    80,    81,    -1,    83,    84,    85,    -1,    87,    88,
22909       89,    90,    91,    92,    -1,    -1,    95,    96,    97,    -1,
22910       -1,    -1,    -1,    -1,    -1,    -1,   105,   106,   107,   108,
22911      109,   110,   111,   112,   113,    -1,   115,    -1,   117,   118,
22912      119,   120,   121,   122,    -1,   124,   125,   126,   127,    -1,
22913       -1,   130,   131,   132,   133,   134,    -1,   136,   137,   138,
22914       -1,   140,   141,   142,    -1,   144,   145,   146,   147,   148,
22915      149,   150,   151,   152,   153,    -1,   155,    -1,   157,   158,
22916      159,   160,    -1,   162,    -1,   164,    -1,    -1,    -1,   168,
22917      169,   170,   171,    -1,   173,   174,    -1,   176,   177,   178,
22918       -1,   180,   181,   182,   183,   184,    -1,   186,   187,   188,
22919      189,    -1,   191,   192,   193,   194,   195,   196,   197,    -1,
22920      199,    -1,   201,   202,   203,   204,   205,   206,   207,    -1,
22921      209,    -1,   211,    -1,    -1,   214,    -1,   216,   217,   218,
22922      219,   220,    -1,    -1,   223,   224,    -1,   226,    -1,    -1,
22923      229,   230,   231,    -1,    -1,   234,   235,   236,   237,   238,
22924      239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
22925      249,   250,    -1,   252,   253,   254,   255,   256,   257,   258,
22926      259,   260,   261,   262,    -1,   264,   265,    -1,   267,    -1,
22927      269,   270,   271,   272,   273,   274,    -1,   276,   277,    -1,
22928       -1,   280,   281,   282,    -1,    -1,   285,   286,   287,    -1,
22929      289,    -1,   291,   292,   293,   294,   295,   296,   297,   298,
22930      299,   300,    -1,   302,   303,   304,   305,   306,   307,   308,
22931      309,    -1,   311,   312,   313,   314,   315,   316,   317,   318,
22932      319,   320,   321,   322,   323,   324,   325,    -1,   327,   328,
22933      329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
22934       -1,   340,   341,    -1,   343,   344,   345,   346,   347,   348,
22935      349,   350,   351,   352,   353,   354,   355,   356,   357,    -1,
22936      359,   360,   361,   362,   363,    -1,   365,   366,   367,   368,
22937      369,    -1,   371,   372,   373,   374,    -1,   376,   377,   378,
22938      379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
22939      389,   390,    -1,   392,   393,    -1,   395,    -1,   397,   398,
22940      399,   400,   401,    -1,   403,   404,   405,    -1,    -1,   408,
22941      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
22942      419,   420,   421,    -1,    -1,   424,   425,   426,   427,   428,
22943       -1,    -1,   431,   432,   433,   434,   435,   436,   437,    -1,
22944      439,    -1,   441,   442,   443,   444,    -1,    -1,   447,    -1,
22945       -1,   450,   451,   452,   453,   454,   455,   456,   457,   458,
22946      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
22947      469,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22948       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
22949       22,    23,    24,    25,    26,    27,    -1,    29,    30,    31,
22950       -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,
22951       42,    43,    44,    -1,    46,    47,    48,    49,    50,    -1,
22952       52,    53,    -1,    55,    56,    57,    58,    59,    60,    -1,
22953       -1,    63,    64,    65,    66,    67,    -1,    69,    70,    71,
22954       72,    73,    -1,    -1,    -1,    77,    78,    79,    80,    81,
22955       -1,    83,    84,    85,    -1,    87,    88,    89,    90,    91,
22956       92,    -1,    -1,    95,    96,    97,    -1,    -1,    -1,    -1,
22957       -1,    -1,    -1,   105,   106,   107,   108,   109,   110,   111,
22958      112,   113,    -1,   115,    -1,   117,   118,   119,   120,   121,
22959      122,    -1,   124,   125,   126,   127,    -1,    -1,   130,   131,
22960      132,   133,   134,    -1,   136,   137,   138,    -1,   140,   141,
22961      142,    -1,   144,   145,   146,   147,   148,   149,   150,   151,
22962      152,   153,    -1,   155,    -1,   157,   158,   159,   160,    -1,
22963      162,    -1,   164,    -1,    -1,    -1,   168,   169,   170,   171,
22964       -1,   173,   174,    -1,   176,   177,   178,    -1,   180,   181,
22965      182,   183,   184,    -1,   186,   187,   188,   189,    -1,   191,
22966      192,   193,   194,   195,   196,   197,    -1,   199,    -1,   201,
22967      202,   203,   204,   205,   206,   207,    -1,   209,    -1,   211,
22968       -1,    -1,   214,    -1,   216,   217,   218,   219,   220,    -1,
22969       -1,   223,   224,    -1,   226,    -1,    -1,   229,   230,   231,
22970       -1,    -1,   234,   235,   236,   237,   238,   239,   240,   241,
22971      242,   243,   244,   245,   246,   247,   248,   249,   250,    -1,
22972      252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
22973      262,    -1,   264,   265,    -1,   267,    -1,   269,   270,   271,
22974      272,   273,   274,    -1,   276,   277,    -1,    -1,   280,   281,
22975      282,    -1,    -1,   285,   286,   287,    -1,   289,    -1,   291,
22976      292,   293,   294,   295,   296,   297,   298,   299,   300,    -1,
22977      302,   303,   304,   305,   306,   307,   308,   309,    -1,   311,
22978      312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
22979      322,   323,   324,   325,    -1,   327,   328,   329,   330,   331,
22980      332,   333,   334,   335,   336,   337,   338,    -1,   340,   341,
22981       -1,   343,   344,   345,   346,   347,   348,   349,   350,   351,
22982      352,   353,   354,   355,   356,   357,    -1,   359,   360,   361,
22983      362,   363,    -1,   365,   366,   367,   368,   369,    -1,   371,
22984      372,   373,   374,    -1,   376,   377,   378,   379,   380,   381,
22985      382,   383,   384,   385,   386,   387,   388,   389,   390,    -1,
22986      392,   393,    -1,   395,    -1,   397,   398,   399,   400,   401,
22987       -1,   403,   404,   405,    -1,    -1,   408,   409,   410,   411,
22988      412,    -1,   414,   415,   416,   417,   418,   419,   420,   421,
22989       -1,    -1,   424,   425,   426,   427,   428,    -1,    -1,   431,
22990      432,   433,   434,   435,   436,   437,    -1,   439,    -1,   441,
22991      442,   443,   444,    -1,    -1,   447,    -1,    -1,   450,   451,
22992      452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
22993      462,   463,   464,   465,   466,   467,   468,   469,     3,    -1,
22994       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22995       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
22996       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
22997       -1,    -1,    -1,    -1,    39,    40,    -1,    42,    43,    44,
22998       -1,    46,    47,    48,    49,    50,    -1,    52,    53,    -1,
22999       55,    56,    57,    58,    59,    60,    -1,    -1,    63,    64,
23000       65,    66,    67,    -1,    69,    70,    71,    72,    73,    -1,
23001       -1,    -1,    77,    78,    79,    80,    81,    -1,    83,    84,
23002       85,    -1,    87,    88,    89,    90,    91,    92,    -1,    -1,
23003       95,    96,    97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23004      105,   106,   107,   108,   109,   110,   111,   112,   113,    -1,
23005      115,    -1,   117,   118,   119,   120,   121,   122,    -1,   124,
23006      125,   126,   127,    -1,    -1,   130,   131,   132,   133,   134,
23007       -1,   136,   137,   138,    -1,   140,   141,   142,    -1,   144,
23008      145,   146,   147,   148,   149,   150,   151,   152,   153,    -1,
23009      155,    -1,   157,   158,   159,   160,    -1,   162,    -1,   164,
23010       -1,    -1,    -1,   168,   169,   170,   171,    -1,   173,   174,
23011       -1,   176,   177,   178,    -1,   180,   181,   182,   183,   184,
23012       -1,   186,   187,   188,   189,    -1,   191,   192,   193,   194,
23013      195,   196,   197,    -1,   199,    -1,   201,   202,   203,   204,
23014      205,   206,   207,    -1,   209,    -1,   211,    -1,    -1,   214,
23015       -1,   216,   217,   218,   219,   220,    -1,    -1,   223,   224,
23016       -1,   226,    -1,    -1,   229,   230,   231,    -1,    -1,   234,
23017      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
23018      245,   246,   247,   248,   249,   250,    -1,   252,   253,   254,
23019      255,   256,   257,   258,   259,   260,   261,   262,    -1,   264,
23020      265,    -1,   267,    -1,   269,   270,   271,   272,   273,   274,
23021       -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,
23022      285,   286,   287,    -1,   289,    -1,   291,   292,   293,   294,
23023      295,   296,   297,   298,   299,   300,    -1,   302,   303,   304,
23024      305,   306,   307,   308,   309,    -1,   311,   312,   313,   314,
23025      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
23026      325,    -1,   327,   328,   329,   330,   331,   332,   333,   334,
23027      335,   336,   337,   338,    -1,   340,   341,    -1,   343,   344,
23028      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
23029      355,   356,   357,    -1,   359,   360,   361,   362,   363,    -1,
23030      365,   366,   367,   368,   369,    -1,   371,   372,   373,   374,
23031       -1,   376,   377,   378,   379,   380,   381,   382,   383,   384,
23032      385,   386,   387,   388,   389,   390,    -1,   392,   393,    -1,
23033      395,    -1,   397,   398,   399,   400,   401,    -1,   403,   404,
23034      405,    -1,    -1,   408,   409,   410,   411,   412,    -1,   414,
23035      415,   416,   417,   418,   419,   420,   421,    -1,    -1,   424,
23036      425,   426,   427,   428,    -1,    -1,   431,   432,   433,   434,
23037      435,   436,   437,    -1,   439,    -1,   441,   442,   443,   444,
23038       -1,    -1,   447,    -1,    -1,   450,   451,   452,   453,   454,
23039      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
23040      465,   466,   467,   468,   469,     3,    -1,    -1,    -1,    -1,
23041       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23042       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
23043       -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,
23044       -1,    39,    40,    -1,    42,    43,    44,    -1,    46,    47,
23045       48,    49,    50,    -1,    52,    53,    -1,    55,    56,    57,
23046       58,    59,    60,    -1,    -1,    63,    64,    65,    66,    67,
23047       -1,    69,    70,    71,    72,    73,    -1,    -1,    -1,    77,
23048       78,    79,    80,    81,    -1,    83,    84,    85,    -1,    87,
23049       88,    89,    90,    91,    92,    -1,    -1,    95,    96,    97,
23050       -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,   107,
23051      108,   109,   110,   111,   112,   113,    -1,   115,    -1,   117,
23052      118,   119,   120,   121,   122,    -1,   124,   125,   126,   127,
23053       -1,    -1,   130,   131,   132,   133,   134,    -1,   136,   137,
23054      138,    -1,   140,   141,   142,    -1,   144,   145,   146,   147,
23055      148,   149,   150,   151,   152,   153,    -1,   155,    -1,   157,
23056      158,   159,   160,    -1,   162,    -1,   164,    -1,    -1,    -1,
23057      168,   169,   170,   171,    -1,   173,   174,    -1,   176,   177,
23058      178,    -1,   180,   181,   182,   183,   184,    -1,   186,   187,
23059      188,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
23060       -1,   199,    -1,   201,   202,   203,   204,   205,   206,   207,
23061       -1,   209,    -1,   211,    -1,    -1,   214,    -1,   216,   217,
23062      218,   219,   220,    -1,    -1,   223,   224,    -1,   226,    -1,
23063       -1,   229,   230,   231,    -1,    -1,   234,   235,   236,   237,
23064      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
23065      248,   249,   250,    -1,   252,   253,   254,   255,   256,   257,
23066      258,   259,   260,   261,   262,    -1,   264,   265,    -1,   267,
23067       -1,   269,   270,   271,   272,   273,   274,    -1,   276,   277,
23068       -1,    -1,   280,   281,   282,    -1,    -1,   285,   286,   287,
23069       -1,   289,    -1,   291,   292,   293,   294,   295,   296,   297,
23070      298,   299,   300,    -1,   302,   303,   304,   305,   306,   307,
23071      308,   309,    -1,   311,   312,   313,   314,   315,   316,   317,
23072      318,   319,   320,   321,   322,   323,   324,   325,    -1,   327,
23073      328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
23074      338,    -1,   340,   341,    -1,   343,   344,   345,   346,   347,
23075      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
23076       -1,   359,   360,   361,   362,   363,    -1,   365,   366,   367,
23077      368,   369,    -1,   371,   372,   373,   374,    -1,   376,   377,
23078      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
23079      388,   389,   390,    -1,   392,   393,    -1,   395,    -1,   397,
23080      398,   399,   400,   401,    -1,   403,   404,   405,    -1,    -1,
23081      408,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
23082      418,   419,   420,   421,    -1,    -1,   424,   425,   426,   427,
23083      428,    -1,    -1,   431,   432,   433,   434,   435,   436,   437,
23084       -1,   439,    -1,   441,   442,   443,   444,    -1,    -1,   447,
23085       -1,    -1,   450,   451,   452,   453,   454,   455,   456,   457,
23086      458,   459,   460,   461,   462,   463,   464,   465,   466,   467,
23087      468,   469,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23088       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
23089       21,    22,    23,    24,    25,    26,    27,    -1,    29,    30,
23090       31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,
23091       -1,    42,    43,    44,    -1,    46,    47,    48,    49,    50,
23092       -1,    52,    53,    -1,    55,    56,    57,    58,    59,    60,
23093       -1,    -1,    63,    64,    65,    66,    67,    -1,    69,    70,
23094       71,    72,    73,    -1,    -1,    -1,    77,    78,    79,    80,
23095       81,    -1,    83,    84,    85,    -1,    87,    88,    89,    90,
23096       91,    92,    -1,    -1,    95,    96,    97,    -1,    -1,    -1,
23097       -1,    -1,    -1,    -1,   105,   106,   107,   108,   109,   110,
23098      111,   112,   113,    -1,   115,    -1,   117,   118,   119,   120,
23099      121,   122,    -1,   124,   125,   126,   127,    -1,    -1,   130,
23100      131,   132,   133,   134,    -1,   136,   137,   138,    -1,   140,
23101      141,   142,    -1,   144,   145,   146,   147,   148,   149,   150,
23102      151,   152,   153,    -1,   155,    -1,   157,   158,   159,   160,
23103       -1,   162,    -1,   164,    -1,    -1,    -1,   168,   169,   170,
23104      171,    -1,   173,   174,    -1,   176,   177,   178,    -1,   180,
23105      181,   182,   183,   184,    -1,   186,   187,   188,   189,    -1,
23106      191,   192,   193,   194,   195,   196,   197,    -1,   199,    -1,
23107      201,   202,   203,   204,   205,   206,   207,    -1,   209,    -1,
23108      211,    -1,    -1,   214,    -1,   216,   217,   218,   219,   220,
23109       -1,    -1,   223,   224,    -1,   226,    -1,    -1,   229,   230,
23110      231,    -1,    -1,   234,   235,   236,   237,   238,   239,   240,
23111      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
23112       -1,   252,   253,   254,   255,   256,   257,   258,   259,   260,
23113      261,   262,    -1,   264,   265,    -1,   267,    -1,   269,   270,
23114      271,   272,   273,   274,    -1,   276,   277,    -1,    -1,   280,
23115      281,   282,    -1,    -1,   285,   286,   287,    -1,   289,    -1,
23116      291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
23117       -1,   302,   303,   304,   305,   306,   307,   308,   309,    -1,
23118      311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
23119      321,   322,   323,   324,   325,    -1,   327,   328,   329,   330,
23120      331,   332,   333,   334,   335,   336,   337,   338,    -1,   340,
23121      341,    -1,   343,   344,   345,   346,   347,   348,   349,   350,
23122      351,   352,   353,   354,   355,   356,   357,    -1,   359,   360,
23123      361,   362,   363,    -1,   365,   366,   367,   368,   369,    -1,
23124      371,   372,   373,   374,    -1,   376,   377,   378,   379,   380,
23125      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
23126       -1,   392,   393,    -1,   395,    -1,   397,   398,   399,   400,
23127      401,    -1,   403,   404,   405,    -1,    -1,   408,   409,   410,
23128      411,   412,    -1,   414,   415,   416,   417,   418,   419,   420,
23129      421,    -1,    -1,   424,   425,   426,   427,   428,    -1,    -1,
23130      431,   432,   433,   434,   435,   436,   437,    -1,   439,    -1,
23131      441,   442,   443,   444,    -1,    -1,   447,    -1,    -1,   450,
23132      451,   452,   453,   454,   455,   456,   457,   458,   459,   460,
23133      461,   462,   463,   464,   465,   466,   467,   468,   469,     3,
23134       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23135       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
23136       24,    25,    26,    27,    -1,    29,    30,    31,    -1,    -1,
23137       -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    42,    43,
23138       44,    -1,    46,    47,    48,    49,    50,    -1,    52,    53,
23139       -1,    55,    56,    57,    58,    59,    60,    -1,    -1,    63,
23140       64,    65,    66,    67,    -1,    69,    70,    71,    72,    73,
23141       -1,    -1,    -1,    77,    78,    79,    80,    81,    -1,    83,
23142       84,    85,    -1,    87,    88,    89,    90,    91,    92,    -1,
23143       -1,    95,    96,    97,    -1,    -1,    -1,    -1,    -1,    -1,
23144       -1,   105,   106,   107,   108,   109,   110,   111,   112,   113,
23145       -1,   115,    -1,   117,   118,   119,   120,   121,   122,    -1,
23146      124,   125,   126,   127,    -1,    -1,   130,   131,   132,   133,
23147      134,    -1,   136,   137,   138,    -1,   140,   141,   142,    -1,
23148      144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
23149       -1,   155,    -1,   157,   158,   159,   160,    -1,   162,    -1,
23150      164,    -1,    -1,    -1,   168,   169,   170,   171,    -1,   173,
23151      174,    -1,   176,   177,   178,    -1,   180,   181,   182,   183,
23152      184,    -1,   186,   187,   188,   189,    -1,   191,   192,   193,
23153      194,   195,   196,   197,    -1,   199,    -1,   201,   202,   203,
23154      204,   205,   206,   207,    -1,   209,    -1,   211,    -1,    -1,
23155      214,    -1,   216,   217,   218,   219,   220,    -1,    -1,   223,
23156      224,    -1,   226,    -1,    -1,   229,   230,   231,    -1,    -1,
23157      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
23158      244,   245,   246,   247,   248,   249,   250,    -1,   252,   253,
23159      254,   255,   256,   257,   258,   259,   260,   261,   262,    -1,
23160      264,   265,    -1,   267,    -1,   269,   270,   271,   272,   273,
23161      274,    -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,
23162       -1,   285,   286,   287,    -1,   289,    -1,   291,   292,   293,
23163      294,   295,   296,   297,   298,   299,   300,    -1,   302,   303,
23164      304,   305,   306,   307,   308,   309,    -1,   311,   312,   313,
23165      314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
23166      324,   325,    -1,   327,   328,   329,   330,   331,   332,   333,
23167      334,   335,   336,   337,   338,    -1,   340,   341,    -1,   343,
23168      344,   345,   346,   347,   348,   349,   350,   351,   352,   353,
23169      354,   355,   356,   357,    -1,   359,   360,   361,   362,   363,
23170       -1,   365,   366,   367,   368,   369,    -1,   371,   372,   373,
23171      374,    -1,   376,   377,   378,   379,   380,   381,   382,   383,
23172      384,   385,   386,   387,   388,   389,   390,    -1,   392,   393,
23173       -1,   395,    -1,   397,   398,   399,   400,   401,    -1,   403,
23174      404,   405,    -1,    -1,   408,   409,   410,   411,   412,    -1,
23175      414,   415,   416,   417,   418,   419,   420,   421,    -1,    -1,
23176      424,   425,   426,   427,   428,    -1,    -1,   431,   432,   433,
23177      434,   435,   436,   437,    -1,   439,    -1,   441,   442,   443,
23178      444,    -1,    -1,   447,    -1,    -1,   450,   451,   452,   453,
23179      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
23180      464,   465,   466,   467,   468,   469,     3,    -1,    -1,    -1,
23181       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23182       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
23183       27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
23184       -1,    -1,    39,    40,    -1,    42,    43,    44,    -1,    46,
23185       47,    48,    49,    50,    -1,    52,    53,    -1,    55,    56,
23186       57,    58,    59,    60,    -1,    -1,    63,    64,    65,    66,
23187       67,    -1,    69,    70,    71,    72,    73,    -1,    -1,    -1,
23188       77,    78,    79,    80,    81,    -1,    83,    84,    85,    -1,
23189       87,    88,    89,    90,    91,    92,    -1,    -1,    95,    96,
23190       97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,
23191      107,   108,   109,   110,   111,   112,   113,    -1,   115,    -1,
23192      117,   118,   119,   120,   121,   122,    -1,   124,   125,   126,
23193      127,    -1,    -1,   130,   131,   132,   133,   134,    -1,   136,
23194      137,   138,    -1,   140,   141,   142,    -1,   144,   145,   146,
23195      147,   148,   149,   150,   151,   152,   153,    -1,   155,    -1,
23196      157,   158,   159,   160,    -1,   162,    -1,   164,    -1,    -1,
23197       -1,   168,   169,   170,   171,    -1,   173,   174,    -1,   176,
23198      177,   178,    -1,   180,   181,   182,   183,   184,    -1,   186,
23199      187,   188,   189,    -1,   191,   192,   193,   194,   195,   196,
23200      197,    -1,   199,    -1,   201,   202,   203,   204,   205,   206,
23201      207,    -1,   209,    -1,   211,    -1,    -1,   214,    -1,   216,
23202      217,   218,   219,   220,    -1,    -1,   223,   224,    -1,   226,
23203       -1,    -1,   229,   230,   231,    -1,    -1,   234,   235,   236,
23204      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
23205      247,   248,   249,   250,    -1,   252,   253,   254,   255,   256,
23206      257,   258,   259,   260,   261,   262,    -1,   264,   265,    -1,
23207      267,    -1,   269,   270,   271,   272,   273,   274,    -1,   276,
23208      277,    -1,    -1,   280,   281,   282,    -1,    -1,   285,   286,
23209      287,    -1,   289,    -1,   291,   292,   293,   294,   295,   296,
23210      297,   298,   299,   300,    -1,   302,   303,   304,   305,   306,
23211      307,   308,   309,    -1,   311,   312,   313,   314,   315,   316,
23212      317,   318,   319,   320,   321,   322,   323,   324,   325,    -1,
23213      327,   328,   329,   330,   331,   332,   333,   334,   335,   336,
23214      337,   338,    -1,   340,   341,    -1,   343,   344,   345,   346,
23215      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
23216      357,    -1,   359,   360,   361,   362,   363,    -1,   365,   366,
23217      367,   368,   369,    -1,   371,   372,   373,   374,    -1,   376,
23218      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
23219      387,   388,   389,   390,    -1,   392,   393,    -1,   395,    -1,
23220      397,   398,   399,   400,   401,    -1,   403,   404,   405,    -1,
23221       -1,   408,   409,   410,   411,   412,    -1,   414,   415,   416,
23222      417,   418,   419,   420,   421,    -1,    -1,   424,   425,   426,
23223      427,   428,    -1,    -1,   431,   432,   433,   434,   435,   436,
23224      437,    -1,   439,    -1,   441,   442,   443,   444,    -1,    -1,
23225      447,    -1,    -1,   450,   451,   452,   453,   454,   455,   456,
23226      457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
23227      467,   468,   469,     3,    -1,    -1,    -1,    -1,    -1,    -1,
23228       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23229       20,    21,    22,    23,    24,    25,    26,    27,    -1,    29,
23230       30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,
23231       40,    -1,    42,    43,    44,    -1,    46,    47,    48,    49,
23232       50,    -1,    52,    53,    -1,    55,    56,    57,    58,    59,
23233       60,    -1,    -1,    63,    64,    65,    66,    67,    -1,    69,
23234       70,    71,    72,    73,    -1,    -1,    -1,    77,    78,    79,
23235       80,    81,    -1,    83,    84,    85,    -1,    87,    88,    89,
23236       90,    91,    92,    -1,    -1,    95,    96,    97,    -1,    -1,
23237       -1,    -1,    -1,    -1,    -1,   105,   106,   107,   108,   109,
23238      110,   111,   112,   113,    -1,   115,    -1,   117,   118,   119,
23239      120,   121,   122,    -1,   124,   125,   126,   127,    -1,    -1,
23240      130,   131,   132,   133,   134,    -1,   136,   137,   138,    -1,
23241      140,   141,   142,    -1,   144,   145,   146,   147,   148,   149,
23242      150,   151,   152,   153,    -1,   155,    -1,   157,   158,   159,
23243      160,    -1,   162,    -1,   164,    -1,    -1,    -1,   168,   169,
23244      170,   171,    -1,   173,   174,    -1,   176,   177,   178,    -1,
23245      180,   181,   182,   183,   184,    -1,   186,   187,   188,   189,
23246       -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
23247       -1,   201,   202,   203,   204,   205,   206,   207,    -1,   209,
23248       -1,   211,    -1,    -1,   214,    -1,   216,   217,   218,   219,
23249      220,    -1,    -1,   223,   224,    -1,   226,    -1,    -1,   229,
23250      230,   231,    -1,    -1,   234,   235,   236,   237,   238,   239,
23251      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
23252      250,    -1,   252,   253,   254,   255,   256,   257,   258,   259,
23253      260,   261,   262,    -1,   264,   265,    -1,   267,    -1,   269,
23254      270,   271,   272,   273,   274,    -1,   276,   277,    -1,    -1,
23255      280,   281,   282,    -1,    -1,   285,   286,   287,    -1,   289,
23256       -1,   291,   292,   293,   294,   295,   296,   297,   298,   299,
23257      300,    -1,   302,   303,   304,   305,   306,   307,   308,   309,
23258       -1,   311,   312,   313,   314,   315,   316,   317,   318,   319,
23259      320,   321,   322,   323,   324,   325,    -1,   327,   328,   329,
23260      330,   331,   332,   333,   334,   335,   336,   337,   338,    -1,
23261      340,   341,    -1,   343,   344,   345,   346,   347,   348,   349,
23262      350,   351,   352,   353,   354,   355,   356,   357,    -1,   359,
23263      360,   361,   362,   363,    -1,   365,   366,   367,   368,   369,
23264       -1,   371,   372,   373,   374,    -1,   376,   377,   378,   379,
23265      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
23266      390,    -1,   392,   393,    -1,   395,    -1,   397,   398,   399,
23267      400,   401,    -1,   403,   404,   405,    -1,    -1,   408,   409,
23268      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
23269      420,   421,    -1,    -1,   424,   425,   426,   427,   428,    -1,
23270       -1,   431,   432,   433,   434,   435,   436,   437,    -1,   439,
23271       -1,   441,   442,   443,   444,    -1,    -1,   447,    -1,    -1,
23272      450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
23273      460,   461,   462,   463,   464,   465,   466,   467,   468,   469,
23274        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23275       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
23276       23,    24,    25,    26,    27,    -1,    29,    30,    31,    -1,
23277       -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    42,
23278       43,    44,    -1,    46,    47,    48,    49,    50,    -1,    52,
23279       53,    -1,    55,    56,    57,    58,    59,    60,    -1,    -1,
23280       63,    64,    65,    66,    67,    -1,    69,    70,    71,    72,
23281       73,    -1,    -1,    -1,    77,    78,    79,    80,    81,    -1,
23282       83,    84,    85,    -1,    87,    88,    89,    90,    91,    92,
23283       -1,    -1,    95,    96,    97,    -1,    -1,    -1,    -1,    -1,
23284       -1,    -1,   105,   106,   107,   108,   109,   110,   111,   112,
23285      113,    -1,   115,    -1,   117,   118,   119,   120,   121,   122,
23286       -1,   124,   125,   126,   127,    -1,    -1,   130,   131,   132,
23287      133,   134,    -1,   136,   137,   138,    -1,   140,   141,   142,
23288       -1,   144,   145,   146,   147,   148,   149,   150,   151,   152,
23289      153,    -1,   155,    -1,   157,   158,   159,   160,    -1,   162,
23290       -1,   164,    -1,    -1,    -1,   168,   169,   170,   171,    -1,
23291      173,   174,    -1,   176,   177,   178,    -1,   180,   181,   182,
23292      183,   184,    -1,   186,   187,   188,   189,    -1,   191,   192,
23293      193,   194,   195,   196,   197,    -1,   199,    -1,   201,   202,
23294      203,   204,   205,   206,   207,    -1,   209,    -1,   211,    -1,
23295       -1,   214,    -1,   216,   217,   218,   219,   220,    -1,    -1,
23296      223,   224,    -1,   226,    -1,    -1,   229,   230,   231,    -1,
23297       -1,   234,   235,   236,   237,   238,   239,   240,   241,   242,
23298      243,   244,   245,   246,   247,   248,   249,   250,    -1,   252,
23299      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
23300       -1,   264,   265,    -1,   267,    -1,   269,   270,   271,   272,
23301      273,   274,    -1,   276,   277,    -1,    -1,   280,   281,   282,
23302       -1,    -1,   285,   286,   287,    -1,   289,    -1,   291,   292,
23303      293,   294,   295,   296,   297,   298,   299,   300,    -1,   302,
23304      303,   304,   305,   306,   307,   308,   309,    -1,   311,   312,
23305      313,   314,   315,   316,   317,   318,   319,   320,   321,   322,
23306      323,   324,   325,    -1,   327,   328,   329,   330,   331,   332,
23307      333,   334,   335,   336,   337,   338,    -1,   340,   341,    -1,
23308      343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
23309      353,   354,   355,   356,   357,    -1,   359,   360,   361,   362,
23310      363,    -1,   365,   366,   367,   368,   369,    -1,   371,   372,
23311      373,   374,    -1,   376,   377,   378,   379,   380,   381,   382,
23312      383,   384,   385,   386,   387,   388,   389,   390,    -1,   392,
23313      393,    -1,   395,    -1,   397,   398,   399,   400,   401,    -1,
23314      403,   404,   405,    -1,    -1,   408,   409,   410,   411,   412,
23315       -1,   414,   415,   416,   417,   418,   419,   420,   421,    -1,
23316       -1,   424,   425,   426,   427,   428,    -1,    -1,   431,   432,
23317      433,   434,   435,   436,   437,    -1,   439,    -1,   441,   442,
23318      443,   444,    -1,    -1,   447,    -1,    -1,   450,   451,   452,
23319      453,   454,   455,   456,   457,   458,   459,   460,   461,   462,
23320      463,   464,   465,   466,   467,   468,   469,     3,    -1,    -1,
23321       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23322       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
23323       26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,
23324       -1,    -1,    -1,    39,    40,    -1,    42,    43,    44,    -1,
23325       46,    47,    48,    49,    50,    -1,    52,    53,    -1,    55,
23326       56,    57,    58,    59,    60,    -1,    -1,    63,    64,    65,
23327       66,    67,    -1,    69,    70,    71,    72,    73,    -1,    -1,
23328       -1,    77,    78,    79,    80,    81,    -1,    83,    84,    85,
23329       -1,    87,    88,    89,    90,    91,    92,    -1,    -1,    95,
23330       96,    97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,
23331      106,   107,   108,   109,   110,   111,   112,   113,    -1,   115,
23332       -1,   117,   118,   119,   120,   121,   122,    -1,   124,   125,
23333      126,   127,    -1,    -1,   130,   131,   132,   133,   134,    -1,
23334      136,   137,   138,    -1,   140,   141,   142,    -1,   144,   145,
23335      146,   147,   148,   149,   150,   151,   152,   153,    -1,   155,
23336       -1,   157,   158,   159,   160,    -1,   162,    -1,   164,    -1,
23337       -1,    -1,   168,   169,   170,   171,    -1,   173,   174,    -1,
23338      176,   177,   178,    -1,   180,   181,   182,   183,   184,    -1,
23339      186,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
23340      196,   197,    -1,   199,    -1,   201,   202,   203,   204,   205,
23341      206,   207,    -1,   209,    -1,   211,    -1,    -1,   214,    -1,
23342      216,   217,   218,   219,   220,    -1,    -1,   223,   224,    -1,
23343      226,    -1,    -1,   229,   230,   231,    -1,    -1,   234,   235,
23344      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
23345      246,   247,   248,   249,   250,    -1,   252,   253,   254,   255,
23346      256,   257,   258,   259,   260,   261,   262,    -1,   264,   265,
23347       -1,   267,    -1,   269,   270,   271,   272,   273,   274,    -1,
23348      276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,   285,
23349      286,   287,    -1,   289,    -1,   291,   292,   293,   294,   295,
23350      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
23351      306,   307,   308,   309,    -1,   311,   312,   313,   314,   315,
23352      316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
23353       -1,   327,   328,   329,   330,   331,   332,   333,   334,   335,
23354      336,   337,   338,    -1,   340,   341,    -1,   343,   344,   345,
23355      346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
23356      356,   357,    -1,   359,   360,   361,   362,   363,    -1,   365,
23357      366,   367,   368,   369,    -1,   371,   372,   373,   374,    -1,
23358      376,   377,   378,   379,   380,   381,   382,   383,   384,   385,
23359      386,   387,   388,   389,   390,    -1,   392,   393,    -1,   395,
23360       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
23361       -1,    -1,   408,   409,   410,   411,   412,    -1,   414,   415,
23362      416,   417,   418,   419,   420,   421,    -1,    -1,   424,   425,
23363      426,   427,   428,    -1,    -1,   431,   432,   433,   434,   435,
23364      436,   437,    -1,   439,    -1,   441,   442,   443,   444,    -1,
23365       -1,   447,    -1,    -1,   450,   451,   452,   453,   454,   455,
23366      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
23367      466,   467,   468,   469,     3,    -1,    -1,    -1,    -1,    -1,
23368       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23369       -1,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
23370       29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23371       39,    40,    -1,    42,    43,    44,    -1,    46,    47,    48,
23372       49,    50,    -1,    52,    53,    -1,    55,    56,    57,    58,
23373       59,    60,    -1,    -1,    63,    64,    65,    66,    67,    -1,
23374       69,    70,    71,    72,    73,    -1,    -1,    -1,    77,    78,
23375       79,    80,    81,    -1,    83,    84,    85,    -1,    87,    88,
23376       89,    90,    91,    92,    -1,    -1,    95,    96,    97,    -1,
23377       -1,    -1,    -1,    -1,    -1,    -1,   105,   106,   107,   108,
23378      109,   110,   111,   112,   113,    -1,   115,    -1,   117,   118,
23379      119,   120,   121,   122,    -1,   124,   125,   126,   127,    -1,
23380       -1,   130,   131,   132,   133,   134,    -1,   136,   137,   138,
23381       -1,   140,   141,   142,    -1,   144,   145,   146,   147,   148,
23382      149,   150,   151,   152,   153,    -1,   155,    -1,   157,   158,
23383      159,   160,    -1,   162,    -1,   164,    -1,    -1,    -1,   168,
23384      169,   170,   171,    -1,   173,   174,    -1,   176,   177,   178,
23385       -1,   180,   181,   182,   183,   184,    -1,   186,   187,   188,
23386      189,    -1,   191,   192,   193,   194,   195,   196,   197,    -1,
23387      199,    -1,   201,   202,   203,   204,   205,   206,   207,    -1,
23388      209,    -1,   211,    -1,    -1,   214,    -1,   216,   217,   218,
23389      219,   220,    -1,    -1,   223,   224,    -1,   226,    -1,    -1,
23390      229,   230,   231,    -1,    -1,   234,   235,   236,   237,   238,
23391      239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
23392      249,   250,    -1,   252,   253,   254,   255,   256,   257,   258,
23393      259,   260,   261,   262,    -1,   264,   265,    -1,   267,    -1,
23394      269,   270,   271,   272,   273,   274,    -1,   276,   277,    -1,
23395       -1,   280,   281,   282,    -1,    -1,   285,   286,   287,    -1,
23396      289,    -1,   291,   292,   293,   294,   295,   296,   297,   298,
23397      299,   300,    -1,   302,   303,   304,   305,   306,   307,   308,
23398      309,    -1,   311,   312,   313,   314,   315,   316,   317,   318,
23399      319,   320,   321,   322,   323,   324,   325,    -1,   327,   328,
23400      329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
23401       -1,   340,   341,    -1,   343,   344,   345,   346,   347,   348,
23402      349,   350,   351,   352,   353,   354,   355,   356,   357,    -1,
23403      359,   360,   361,   362,   363,    -1,   365,   366,   367,   368,
23404      369,    -1,   371,   372,   373,   374,    -1,   376,   377,   378,
23405      379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
23406      389,   390,    -1,   392,   393,    -1,   395,    -1,   397,   398,
23407      399,   400,   401,    -1,   403,   404,   405,    -1,    -1,   408,
23408      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
23409      419,   420,   421,    -1,    -1,   424,   425,   426,   427,   428,
23410       -1,    -1,   431,   432,   433,   434,   435,   436,   437,    -1,
23411      439,    -1,   441,   442,   443,   444,    -1,    -1,   447,    -1,
23412       -1,   450,   451,   452,   453,   454,   455,   456,   457,   458,
23413      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
23414      469,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23415       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
23416       22,    23,    24,    25,    26,    27,    -1,    29,    30,    31,
23417       -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,
23418       42,    43,    44,    45,    46,    47,    48,    -1,    50,    51,
23419       52,    53,    -1,    55,    56,    57,    58,    59,    60,    -1,
23420       -1,    63,    64,    65,    66,    67,    -1,    69,    70,    71,
23421       72,    -1,    -1,    75,    -1,    77,    78,    79,    80,    81,
23422       82,    83,    84,    85,    -1,    87,    88,    89,    90,    91,
23423       92,    -1,    94,    95,    96,    97,    -1,    -1,    -1,   101,
23424       -1,    -1,    -1,   105,   106,   107,   108,   109,   110,   111,
23425      112,   113,    -1,   115,    -1,   117,   118,   119,   120,   121,
23426      122,    -1,   124,   125,   126,   127,    -1,    -1,   130,   131,
23427      132,   133,   134,    -1,   136,   137,   138,    -1,   140,   141,
23428      142,    -1,   144,   145,   146,   147,    -1,   149,   150,   151,
23429      152,    -1,    -1,   155,    -1,   157,   158,   159,   160,    -1,
23430      162,    -1,   164,   165,    -1,   167,   168,   169,   170,   171,
23431       -1,   173,    -1,    -1,    -1,   177,   178,    -1,   180,   181,
23432      182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
23433      192,   193,   194,   195,   196,   197,    -1,   199,   200,   201,
23434      202,   203,   204,   205,   206,   207,    -1,   209,    -1,   211,
23435      212,   213,   214,   215,   216,   217,   218,   219,   220,    -1,
23436       -1,   223,    -1,   225,   226,   227,    -1,   229,   230,   231,
23437       -1,    -1,   234,   235,   236,   237,   238,   239,   240,   241,
23438      242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
23439      252,   253,   254,   255,   256,   257,   258,   259,    -1,    -1,
23440      262,    -1,   264,   265,   266,   267,    -1,    -1,   270,   271,
23441      272,   273,   274,    -1,   276,   277,    -1,    -1,   280,   281,
23442      282,    -1,    -1,   285,   286,   287,   288,   289,   290,    -1,
23443      292,   293,   294,   295,   296,   297,   298,   299,   300,    -1,
23444      302,   303,    -1,   305,    -1,   307,   308,   309,    -1,   311,
23445      312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
23446      322,   323,   324,   325,    -1,   327,   328,   329,   330,   331,
23447      332,   333,   334,   335,   336,   337,   338,    -1,   340,   341,
23448      342,   343,   344,   345,   346,   347,    -1,   349,   350,   351,
23449      352,   353,   354,   355,   356,   357,    -1,   359,   360,   361,
23450      362,   363,    -1,   365,   366,   367,   368,   369,   370,   371,
23451      372,   373,   374,    -1,   376,   377,   378,   379,   380,   381,
23452      382,   383,   384,   385,   386,   387,   388,    -1,   390,    -1,
23453      392,   393,    -1,   395,   396,   397,   398,   399,   400,   401,
23454       -1,   403,   404,   405,    -1,    -1,   408,   409,    -1,   411,
23455       -1,    -1,   414,   415,   416,   417,   418,   419,   420,   421,
23456       -1,    -1,   424,   425,   426,   427,   428,    -1,    -1,   431,
23457      432,   433,   434,   435,    -1,   437,   438,   439,   440,   441,
23458      442,   443,   444,    -1,    -1,   447,    -1,    -1,   450,   451,
23459      452,   453,   454,   455,     3,    -1,    -1,    -1,    -1,    -1,
23460       -1,    -1,    -1,    -1,    -1,   467,   468,   469,    -1,    -1,
23461       -1,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
23462       29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23463       39,    40,    -1,    42,    43,    44,    -1,    46,    47,    48,
23464       49,    50,    -1,    52,    53,    -1,    55,    56,    57,    58,
23465       59,    60,    -1,    -1,    63,    64,    65,    66,    67,    -1,
23466       69,    70,    71,    72,    73,    -1,    -1,    -1,    77,    78,
23467       79,    80,    81,    -1,    83,    84,    85,    -1,    87,    88,
23468       89,    90,    91,    92,    -1,    -1,    95,    96,    97,    -1,
23469       -1,    -1,    -1,    -1,    -1,    -1,   105,   106,   107,   108,
23470      109,   110,   111,   112,   113,    -1,   115,    -1,   117,   118,
23471      119,   120,   121,   122,    -1,   124,   125,   126,   127,    -1,
23472       -1,   130,   131,   132,   133,   134,    -1,   136,   137,   138,
23473       -1,   140,   141,   142,    -1,   144,   145,   146,   147,   148,
23474      149,   150,   151,   152,   153,    -1,   155,    -1,   157,   158,
23475      159,   160,    -1,   162,    -1,   164,    -1,    -1,    -1,   168,
23476      169,   170,   171,    -1,   173,   174,    -1,   176,    -1,   178,
23477       -1,   180,   181,   182,   183,   184,    -1,   186,   187,   188,
23478      189,    -1,   191,   192,   193,   194,   195,   196,   197,    -1,
23479      199,    -1,   201,   202,   203,   204,   205,   206,   207,    -1,
23480      209,    -1,   211,    -1,    -1,   214,    -1,   216,   217,   218,
23481      219,   220,    -1,    -1,   223,   224,    -1,   226,    -1,    -1,
23482      229,   230,   231,    -1,    -1,   234,   235,   236,   237,   238,
23483      239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
23484      249,   250,    -1,   252,   253,   254,   255,   256,   257,   258,
23485      259,   260,   261,   262,    -1,   264,   265,    -1,   267,    -1,
23486      269,   270,   271,   272,   273,   274,    -1,   276,   277,    -1,
23487       -1,   280,   281,   282,    -1,    -1,   285,   286,   287,    -1,
23488      289,    -1,   291,   292,   293,   294,   295,   296,   297,    -1,
23489      299,   300,    -1,   302,   303,   304,   305,   306,   307,   308,
23490      309,    -1,   311,   312,   313,   314,   315,   316,   317,   318,
23491       -1,   320,   321,   322,   323,   324,   325,    -1,   327,   328,
23492      329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
23493       -1,   340,   341,    -1,   343,   344,   345,   346,   347,   348,
23494       -1,   350,   351,   352,   353,   354,   355,   356,   357,    -1,
23495      359,   360,   361,   362,   363,    -1,   365,   366,   367,   368,
23496      369,    -1,   371,   372,   373,   374,    -1,   376,   377,   378,
23497      379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
23498      389,   390,    -1,   392,   393,    -1,   395,    -1,   397,   398,
23499      399,   400,   401,    -1,   403,   404,   405,    -1,    -1,   408,
23500      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
23501      419,   420,   421,    -1,    -1,   424,   425,   426,   427,   428,
23502       -1,    -1,   431,   432,   433,   434,   435,   436,   437,    -1,
23503      439,    -1,   441,   442,   443,   444,    -1,    -1,   447,    -1,
23504       -1,   450,   451,   452,   453,   454,   455,   456,   457,   458,
23505      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
23506      469,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23507       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
23508       22,    23,    24,    25,    26,    27,    -1,    29,    30,    31,
23509       -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,
23510       42,    43,    44,    45,    46,    47,    48,    -1,    50,    51,
23511       52,    53,    -1,    55,    56,    57,    58,    59,    60,    -1,
23512       -1,    63,    64,    65,    66,    67,    -1,    69,    70,    71,
23513       72,    -1,    -1,    75,    -1,    77,    78,    79,    80,    81,
23514       82,    83,    84,    85,    -1,    87,    88,    89,    90,    91,
23515       92,    -1,    94,    95,    96,    97,    -1,    -1,    -1,   101,
23516       -1,    -1,    -1,   105,   106,   107,   108,   109,   110,   111,
23517      112,   113,    -1,   115,    -1,   117,   118,   119,   120,   121,
23518      122,    -1,   124,   125,   126,   127,    -1,    -1,   130,   131,
23519      132,   133,   134,    -1,   136,   137,   138,    -1,   140,   141,
23520      142,    -1,   144,   145,   146,   147,    -1,   149,   150,   151,
23521      152,    -1,    -1,   155,    -1,   157,   158,   159,   160,    -1,
23522      162,    -1,   164,   165,    -1,   167,   168,   169,   170,   171,
23523       -1,   173,    -1,    -1,    -1,   177,   178,    -1,   180,   181,
23524      182,   183,   184,   185,   186,   187,   188,   189,    -1,   191,
23525      192,   193,   194,   195,   196,   197,    -1,   199,   200,    -1,
23526      202,   203,   204,   205,   206,   207,    -1,   209,    -1,   211,
23527      212,   213,   214,   215,   216,   217,   218,   219,   220,    -1,
23528       -1,   223,    -1,   225,   226,   227,    -1,   229,   230,   231,
23529       -1,    -1,   234,   235,   236,   237,   238,   239,   240,   241,
23530      242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
23531      252,   253,   254,   255,   256,   257,   258,   259,    -1,    -1,
23532      262,    -1,   264,   265,   266,   267,   268,    -1,   270,   271,
23533      272,   273,   274,    -1,   276,   277,    -1,    -1,   280,   281,
23534      282,    -1,    -1,   285,   286,    -1,   288,   289,   290,    -1,
23535      292,   293,   294,   295,   296,   297,   298,   299,   300,    -1,
23536      302,   303,    -1,   305,    -1,   307,   308,   309,    -1,   311,
23537      312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
23538      322,   323,   324,   325,    -1,   327,   328,   329,   330,   331,
23539      332,   333,   334,   335,   336,   337,   338,    -1,   340,   341,
23540      342,   343,   344,   345,   346,   347,    -1,   349,   350,   351,
23541      352,   353,   354,   355,   356,   357,    -1,   359,   360,   361,
23542      362,   363,    -1,   365,   366,   367,   368,   369,   370,   371,
23543      372,   373,   374,    -1,   376,   377,   378,   379,   380,   381,
23544      382,   383,   384,   385,   386,   387,   388,    -1,   390,    -1,
23545      392,   393,   394,   395,   396,   397,   398,   399,   400,   401,
23546       -1,   403,   404,   405,    -1,    -1,   408,   409,    -1,   411,
23547       -1,    -1,   414,   415,   416,   417,   418,   419,   420,   421,
23548       -1,    -1,   424,   425,   426,   427,   428,    -1,    -1,   431,
23549      432,   433,   434,   435,    -1,   437,    -1,   439,   440,   441,
23550      442,   443,   444,    -1,    -1,   447,    -1,    -1,   450,   451,
23551      452,   453,   454,   455,     3,    -1,    -1,    -1,    -1,    -1,
23552       -1,    -1,    -1,    -1,    -1,   467,   468,   469,    -1,    -1,
23553       -1,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
23554       29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23555       39,    40,    -1,    42,    43,    44,    45,    46,    47,    48,
23556       -1,    50,    51,    52,    53,    -1,    55,    56,    57,    58,
23557       59,    60,    -1,    -1,    63,    64,    65,    66,    67,    -1,
23558       69,    70,    71,    72,    -1,    -1,    75,    -1,    77,    78,
23559       79,    80,    81,    82,    83,    84,    85,    -1,    87,    88,
23560       89,    90,    91,    92,    -1,    94,    95,    96,    97,    -1,
23561       -1,    -1,   101,    -1,    -1,    -1,   105,   106,   107,   108,
23562      109,   110,   111,   112,   113,    -1,   115,    -1,   117,   118,
23563      119,   120,   121,   122,    -1,   124,   125,   126,   127,    -1,
23564       -1,   130,   131,   132,   133,   134,    -1,   136,   137,   138,
23565       -1,   140,   141,   142,    -1,   144,   145,   146,   147,    -1,
23566      149,   150,   151,   152,    -1,    -1,   155,    -1,   157,   158,
23567      159,   160,    -1,   162,    -1,   164,   165,    -1,   167,   168,
23568      169,   170,   171,    -1,   173,    -1,    -1,    -1,   177,   178,
23569       -1,   180,   181,   182,   183,   184,   185,   186,   187,   188,
23570      189,    -1,   191,   192,   193,   194,   195,   196,   197,    -1,
23571      199,   200,    -1,   202,   203,   204,   205,   206,   207,    -1,
23572      209,    -1,   211,   212,   213,   214,   215,   216,   217,   218,
23573      219,   220,    -1,    -1,   223,    -1,   225,   226,   227,    -1,
23574      229,   230,   231,    -1,    -1,   234,   235,   236,   237,   238,
23575      239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
23576      249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
23577      259,   260,    -1,   262,    -1,   264,   265,   266,   267,    -1,
23578       -1,   270,   271,   272,   273,   274,    -1,   276,   277,    -1,
23579       -1,   280,   281,   282,    -1,    -1,   285,   286,    -1,   288,
23580      289,   290,    -1,   292,   293,   294,   295,   296,   297,   298,
23581      299,   300,    -1,   302,   303,    -1,   305,    -1,   307,   308,
23582      309,    -1,   311,   312,   313,   314,   315,   316,   317,   318,
23583      319,   320,   321,   322,   323,   324,   325,    -1,   327,   328,
23584      329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
23585       -1,   340,   341,   342,   343,   344,   345,   346,   347,    -1,
23586      349,   350,   351,   352,   353,   354,   355,   356,   357,    -1,
23587      359,   360,   361,   362,   363,    -1,   365,   366,   367,   368,
23588      369,   370,   371,   372,   373,   374,    -1,   376,   377,   378,
23589      379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
23590       -1,   390,    -1,   392,   393,    -1,   395,   396,   397,   398,
23591      399,   400,   401,    -1,   403,   404,   405,    -1,    -1,   408,
23592      409,    -1,   411,    -1,    -1,   414,   415,   416,   417,   418,
23593      419,   420,   421,    -1,    -1,   424,   425,   426,   427,   428,
23594       -1,    -1,   431,   432,   433,   434,   435,    -1,   437,    -1,
23595      439,   440,   441,   442,   443,   444,    -1,    -1,   447,    -1,
23596       -1,   450,   451,   452,   453,   454,   455,     3,    -1,    -1,
23597       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   467,   468,
23598      469,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
23599       26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,
23600       -1,    -1,    -1,    39,    40,    -1,    42,    43,    44,    45,
23601       46,    47,    48,    -1,    50,    51,    52,    53,    -1,    55,
23602       56,    57,    58,    59,    60,    -1,    -1,    63,    64,    65,
23603       66,    67,    -1,    69,    70,    71,    72,    -1,    -1,    75,
23604       -1,    77,    78,    79,    80,    81,    82,    83,    84,    85,
23605       -1,    87,    88,    89,    90,    91,    92,    -1,    94,    95,
23606       96,    97,    -1,    -1,    -1,   101,    -1,    -1,    -1,   105,
23607      106,   107,   108,   109,   110,   111,   112,   113,    -1,   115,
23608       -1,   117,   118,   119,   120,   121,   122,    -1,   124,   125,
23609      126,   127,    -1,    -1,   130,   131,   132,   133,   134,    -1,
23610      136,   137,   138,    -1,   140,   141,   142,    -1,   144,   145,
23611      146,   147,    -1,   149,   150,   151,   152,    -1,    -1,   155,
23612       -1,   157,   158,   159,   160,    -1,   162,    -1,   164,   165,
23613       -1,   167,   168,   169,   170,   171,    -1,   173,    -1,    -1,
23614       -1,   177,   178,    -1,   180,   181,   182,   183,   184,   185,
23615      186,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
23616      196,   197,    -1,   199,   200,    -1,   202,   203,   204,   205,
23617      206,   207,    -1,   209,    -1,   211,   212,   213,   214,   215,
23618      216,   217,   218,   219,   220,    -1,    -1,   223,    -1,   225,
23619      226,   227,    -1,   229,   230,   231,    -1,    -1,   234,   235,
23620      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
23621      246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
23622      256,   257,   258,   259,   260,    -1,   262,    -1,   264,   265,
23623      266,   267,    -1,    -1,   270,   271,   272,   273,   274,    -1,
23624      276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,   285,
23625      286,    -1,   288,   289,   290,    -1,   292,   293,   294,   295,
23626      296,   297,   298,   299,   300,    -1,   302,   303,    -1,   305,
23627       -1,   307,   308,   309,    -1,   311,   312,   313,   314,   315,
23628      316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
23629       -1,   327,   328,   329,   330,   331,   332,   333,   334,   335,
23630      336,   337,   338,    -1,   340,   341,   342,   343,   344,   345,
23631      346,   347,    -1,   349,   350,   351,   352,   353,   354,   355,
23632      356,   357,    -1,   359,   360,   361,   362,   363,    -1,   365,
23633      366,   367,   368,   369,   370,   371,   372,   373,   374,    -1,
23634      376,   377,   378,   379,   380,   381,   382,   383,   384,   385,
23635      386,   387,   388,    -1,   390,    -1,   392,   393,    -1,   395,
23636      396,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
23637       -1,    -1,   408,   409,    -1,   411,    -1,    -1,   414,   415,
23638      416,   417,   418,   419,   420,   421,    -1,    -1,   424,   425,
23639      426,   427,   428,    -1,    -1,   431,   432,   433,   434,   435,
23640       -1,   437,    -1,   439,   440,   441,   442,   443,   444,    -1,
23641       -1,   447,    -1,    -1,   450,   451,   452,   453,   454,   455,
23642        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23643       -1,   467,   468,   469,    -1,    -1,    -1,    20,    21,    22,
23644       23,    24,    25,    26,    27,    -1,    29,    30,    31,    -1,
23645       -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    42,
23646       43,    44,    45,    46,    47,    48,    -1,    50,    51,    52,
23647       53,    -1,    55,    56,    57,    58,    59,    60,    -1,    -1,
23648       63,    64,    65,    66,    67,    -1,    69,    70,    71,    72,
23649       -1,    -1,    75,    -1,    77,    78,    79,    80,    81,    82,
23650       83,    84,    85,    -1,    87,    88,    89,    90,    91,    92,
23651       -1,    94,    95,    96,    97,    -1,    -1,    -1,   101,    -1,
23652       -1,    -1,   105,   106,   107,   108,   109,   110,   111,   112,
23653      113,    -1,   115,    -1,   117,   118,   119,   120,   121,   122,
23654       -1,   124,   125,   126,   127,    -1,    -1,   130,   131,   132,
23655      133,   134,    -1,   136,   137,   138,    -1,   140,   141,   142,
23656       -1,   144,   145,   146,   147,    -1,   149,   150,   151,   152,
23657       -1,    -1,   155,    -1,   157,   158,   159,   160,   161,   162,
23658       -1,   164,   165,    -1,   167,   168,   169,   170,   171,    -1,
23659      173,    -1,    -1,    -1,   177,   178,    -1,   180,   181,   182,
23660      183,   184,   185,   186,   187,   188,   189,    -1,   191,   192,
23661      193,   194,   195,   196,   197,    -1,   199,   200,    -1,   202,
23662      203,   204,   205,   206,   207,    -1,   209,    -1,   211,   212,
23663      213,   214,   215,   216,   217,   218,   219,   220,    -1,    -1,
23664      223,    -1,   225,   226,   227,    -1,   229,   230,   231,    -1,
23665       -1,   234,   235,   236,   237,   238,   239,   240,   241,   242,
23666      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
23667      253,   254,   255,   256,   257,   258,   259,    -1,    -1,   262,
23668       -1,   264,   265,   266,   267,    -1,    -1,   270,   271,   272,
23669      273,   274,    -1,   276,   277,    -1,    -1,   280,   281,   282,
23670       -1,    -1,   285,   286,    -1,   288,   289,   290,    -1,   292,
23671      293,   294,   295,   296,   297,   298,   299,   300,    -1,   302,
23672      303,    -1,   305,    -1,   307,   308,   309,    -1,   311,   312,
23673      313,   314,   315,   316,   317,   318,   319,   320,   321,   322,
23674      323,   324,   325,    -1,   327,   328,   329,   330,   331,   332,
23675      333,   334,   335,   336,   337,   338,    -1,   340,   341,   342,
23676      343,   344,   345,   346,   347,    -1,   349,   350,   351,   352,
23677      353,   354,   355,   356,   357,    -1,   359,   360,   361,   362,
23678      363,    -1,   365,   366,   367,   368,   369,   370,   371,   372,
23679      373,   374,    -1,   376,   377,   378,   379,   380,   381,   382,
23680      383,   384,   385,   386,   387,   388,    -1,   390,    -1,   392,
23681      393,    -1,   395,   396,   397,   398,   399,   400,   401,    -1,
23682      403,   404,   405,    -1,    -1,   408,   409,    -1,   411,    -1,
23683       -1,   414,   415,   416,   417,   418,   419,   420,   421,    -1,
23684       -1,   424,   425,   426,   427,   428,    -1,    -1,   431,   432,
23685      433,   434,   435,    -1,   437,    -1,   439,   440,   441,   442,
23686      443,   444,    -1,    -1,   447,    -1,    -1,   450,   451,   452,
23687      453,   454,   455,     3,    -1,    -1,    -1,    -1,    -1,    -1,
23688       -1,    -1,    -1,    -1,   467,   468,   469,    -1,    -1,    -1,
23689       20,    21,    22,    23,    24,    25,    26,    27,    -1,    29,
23690       30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,
23691       40,    -1,    42,    43,    44,    45,    46,    47,    48,    -1,
23692       50,    51,    52,    53,    -1,    55,    56,    57,    58,    59,
23693       60,    -1,    -1,    63,    64,    65,    66,    67,    -1,    69,
23694       70,    71,    72,    -1,    -1,    75,    -1,    77,    78,    79,
23695       80,    81,    82,    83,    84,    85,    -1,    87,    88,    89,
23696       90,    91,    92,    -1,    94,    95,    96,    97,    -1,    -1,
23697       -1,   101,    -1,    -1,    -1,   105,   106,   107,   108,   109,
23698      110,   111,   112,   113,    -1,   115,    -1,   117,   118,   119,
23699      120,   121,   122,    -1,   124,   125,   126,   127,    -1,    -1,
23700      130,   131,   132,   133,   134,    -1,   136,   137,   138,    -1,
23701      140,   141,   142,    -1,   144,   145,   146,   147,    -1,   149,
23702      150,   151,   152,    -1,    -1,   155,    -1,   157,   158,   159,
23703      160,    -1,   162,    -1,   164,   165,    -1,   167,   168,   169,
23704      170,   171,    -1,   173,    -1,    -1,    -1,   177,   178,    -1,
23705      180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
23706       -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
23707      200,    -1,   202,   203,   204,   205,   206,   207,    -1,   209,
23708       -1,   211,   212,   213,   214,   215,   216,   217,   218,   219,
23709      220,    -1,    -1,   223,    -1,   225,   226,   227,    -1,   229,
23710      230,   231,    -1,    -1,   234,   235,   236,   237,   238,   239,
23711      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
23712      250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
23713       -1,    -1,   262,    -1,   264,   265,   266,   267,    -1,    -1,
23714      270,   271,   272,   273,   274,    -1,   276,   277,    -1,    -1,
23715      280,   281,   282,    -1,    -1,   285,   286,    -1,   288,   289,
23716      290,    -1,   292,   293,   294,   295,   296,   297,   298,   299,
23717      300,    -1,   302,   303,    -1,   305,    -1,   307,   308,   309,
23718       -1,   311,   312,   313,   314,   315,   316,   317,   318,   319,
23719      320,   321,   322,   323,   324,   325,    -1,   327,   328,   329,
23720      330,   331,   332,   333,   334,   335,   336,   337,   338,    -1,
23721      340,   341,   342,   343,   344,   345,   346,   347,    -1,   349,
23722      350,   351,   352,   353,   354,   355,   356,   357,    -1,   359,
23723      360,   361,   362,   363,    -1,   365,   366,   367,   368,   369,
23724      370,   371,   372,   373,   374,    -1,   376,   377,   378,   379,
23725      380,   381,   382,   383,   384,   385,   386,   387,   388,    -1,
23726      390,    -1,   392,   393,    -1,   395,   396,   397,   398,   399,
23727      400,   401,    -1,   403,   404,   405,    -1,    -1,   408,   409,
23728       -1,   411,    -1,    -1,   414,   415,   416,   417,   418,   419,
23729      420,   421,    -1,    -1,   424,   425,   426,   427,   428,    -1,
23730       -1,   431,   432,   433,   434,   435,    -1,   437,    -1,   439,
23731      440,   441,   442,   443,   444,    -1,    -1,   447,    -1,    -1,
23732      450,   451,   452,   453,   454,   455,     3,    -1,    -1,    -1,
23733       -1,    -1,    -1,    -1,    -1,    -1,    -1,   467,   468,   469,
23734       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
23735       27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
23736       -1,    -1,    39,    40,    -1,    42,    43,    44,    45,    46,
23737       47,    48,    -1,    50,    51,    52,    53,    -1,    55,    56,
23738       57,    58,    59,    60,    -1,    -1,    63,    64,    65,    66,
23739       67,    -1,    69,    70,    71,    72,    -1,    -1,    75,    -1,
23740       77,    78,    79,    80,    81,    82,    83,    84,    85,    -1,
23741       87,    88,    89,    90,    91,    92,    -1,    94,    95,    96,
23742       97,    -1,    -1,    -1,   101,    -1,    -1,    -1,   105,   106,
23743      107,   108,   109,   110,   111,   112,   113,    -1,   115,    -1,
23744      117,   118,   119,   120,   121,   122,    -1,   124,   125,   126,
23745      127,    -1,    -1,   130,   131,   132,   133,   134,    -1,   136,
23746      137,   138,    -1,   140,   141,   142,    -1,   144,   145,   146,
23747      147,    -1,   149,   150,   151,   152,    -1,    -1,   155,    -1,
23748      157,   158,   159,   160,    -1,   162,    -1,   164,   165,    -1,
23749      167,   168,   169,   170,   171,    -1,   173,    -1,    -1,    -1,
23750      177,   178,    -1,   180,   181,   182,   183,   184,   185,   186,
23751      187,   188,   189,    -1,   191,   192,   193,   194,   195,   196,
23752      197,    -1,   199,   200,    -1,   202,   203,   204,   205,   206,
23753      207,    -1,   209,    -1,   211,   212,   213,   214,   215,   216,
23754      217,   218,   219,   220,    -1,    -1,   223,    -1,   225,   226,
23755      227,    -1,   229,   230,   231,    -1,    -1,   234,   235,   236,
23756      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
23757      247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
23758      257,   258,   259,    -1,    -1,   262,    -1,   264,   265,   266,
23759      267,    -1,    -1,   270,   271,   272,   273,   274,    -1,   276,
23760      277,    -1,    -1,   280,   281,   282,    -1,    -1,   285,   286,
23761       -1,   288,   289,   290,    -1,   292,   293,   294,   295,   296,
23762      297,   298,   299,   300,    -1,   302,   303,    -1,   305,    -1,
23763      307,   308,   309,    -1,   311,   312,   313,   314,   315,   316,
23764      317,   318,   319,   320,   321,   322,   323,   324,   325,    -1,
23765      327,   328,   329,   330,   331,   332,   333,   334,   335,   336,
23766      337,   338,    -1,   340,   341,   342,   343,   344,   345,   346,
23767      347,    -1,   349,   350,   351,   352,   353,   354,   355,   356,
23768      357,    -1,   359,   360,   361,   362,   363,    -1,   365,   366,
23769      367,   368,   369,   370,   371,   372,   373,   374,    -1,   376,
23770      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
23771      387,   388,    -1,   390,    -1,   392,   393,    -1,   395,   396,
23772      397,   398,   399,   400,   401,    -1,   403,   404,   405,    -1,
23773       -1,   408,   409,    -1,   411,    -1,    -1,   414,   415,   416,
23774      417,   418,   419,   420,   421,    -1,    -1,   424,   425,   426,
23775      427,   428,    -1,    -1,   431,   432,   433,   434,   435,    -1,
23776      437,    -1,   439,   440,   441,   442,   443,   444,    -1,    -1,
23777      447,    -1,    -1,   450,   451,   452,   453,   454,   455,     3,
23778       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23779      467,   468,   469,    -1,    -1,    -1,    20,    21,    22,    23,
23780       24,    25,    26,    27,    -1,    29,    30,    31,    -1,    -1,
23781       -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    42,    43,
23782       44,    45,    46,    47,    48,    -1,    50,    51,    52,    53,
23783       -1,    55,    56,    57,    58,    59,    60,    -1,    -1,    63,
23784       64,    65,    66,    67,    -1,    69,    70,    71,    72,    -1,
23785       -1,    75,    -1,    77,    78,    79,    80,    81,    82,    83,
23786       84,    85,    -1,    87,    88,    89,    90,    91,    92,    -1,
23787       94,    95,    96,    97,    -1,    -1,    -1,   101,    -1,    -1,
23788       -1,   105,   106,   107,   108,   109,   110,   111,   112,   113,
23789       -1,   115,    -1,   117,   118,   119,   120,   121,   122,    -1,
23790      124,   125,   126,   127,    -1,    -1,   130,   131,   132,   133,
23791      134,    -1,   136,   137,   138,    -1,   140,   141,   142,    -1,
23792      144,   145,   146,   147,    -1,   149,   150,   151,   152,    -1,
23793       -1,   155,    -1,   157,   158,   159,   160,    -1,   162,    -1,
23794      164,   165,    -1,   167,   168,   169,   170,   171,    -1,   173,
23795       -1,    -1,    -1,   177,   178,    -1,   180,   181,   182,   183,
23796      184,   185,   186,   187,   188,   189,    -1,   191,   192,   193,
23797      194,   195,   196,   197,    -1,   199,   200,    -1,   202,   203,
23798      204,   205,   206,   207,    -1,   209,    -1,   211,   212,   213,
23799      214,   215,   216,   217,   218,   219,   220,    -1,    -1,   223,
23800       -1,   225,   226,   227,    -1,   229,   230,   231,    -1,    -1,
23801      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
23802      244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
23803      254,   255,   256,   257,   258,   259,    -1,    -1,   262,    -1,
23804      264,   265,   266,   267,    -1,    -1,   270,   271,   272,   273,
23805      274,    -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,
23806       -1,   285,   286,    -1,   288,   289,   290,    -1,   292,   293,
23807      294,   295,   296,   297,   298,   299,   300,    -1,   302,   303,
23808       -1,   305,    -1,   307,   308,   309,    -1,   311,   312,   313,
23809      314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
23810      324,   325,    -1,   327,   328,   329,   330,   331,   332,   333,
23811      334,   335,   336,   337,   338,    -1,   340,   341,   342,   343,
23812      344,   345,   346,   347,    -1,   349,   350,   351,   352,   353,
23813      354,   355,   356,   357,    -1,   359,   360,   361,   362,   363,
23814       -1,   365,   366,   367,   368,   369,   370,   371,   372,   373,
23815      374,    -1,   376,   377,   378,   379,   380,   381,   382,   383,
23816      384,   385,   386,   387,   388,    -1,   390,    -1,   392,   393,
23817       -1,   395,   396,   397,   398,   399,   400,   401,    -1,   403,
23818      404,   405,    -1,    -1,   408,   409,    -1,   411,    -1,    -1,
23819      414,   415,   416,   417,   418,   419,   420,   421,    -1,    -1,
23820      424,   425,   426,   427,   428,    -1,    -1,   431,   432,   433,
23821      434,   435,    -1,   437,    -1,   439,   440,   441,   442,   443,
23822      444,    -1,    -1,   447,    -1,    -1,   450,   451,   452,   453,
23823      454,   455,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23824       -1,    -1,    -1,   467,   468,   469,    -1,    -1,    -1,    20,
23825       21,    22,    23,    24,    25,    26,    27,    -1,    29,    30,
23826       31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,
23827       -1,    42,    43,    44,    45,    46,    47,    48,    -1,    50,
23828       51,    52,    53,    -1,    55,    56,    57,    58,    59,    60,
23829       -1,    -1,    63,    64,    65,    66,    67,    -1,    69,    70,
23830       71,    72,    -1,    -1,    75,    -1,    77,    78,    79,    80,
23831       81,    82,    83,    84,    85,    -1,    87,    88,    89,    90,
23832       91,    92,    -1,    94,    95,    96,    97,    -1,    -1,    -1,
23833      101,    -1,    -1,    -1,   105,   106,   107,   108,   109,   110,
23834      111,   112,   113,    -1,   115,    -1,   117,   118,   119,   120,
23835      121,   122,    -1,   124,   125,   126,   127,    -1,    -1,   130,
23836      131,   132,   133,   134,    -1,   136,   137,   138,    -1,   140,
23837      141,   142,    -1,   144,   145,   146,   147,    -1,   149,   150,
23838      151,   152,    -1,    -1,   155,    -1,   157,   158,   159,   160,
23839       -1,   162,    -1,   164,   165,    -1,   167,   168,   169,   170,
23840      171,    -1,   173,    -1,    -1,    -1,   177,   178,    -1,   180,
23841      181,   182,   183,   184,   185,   186,   187,   188,   189,    -1,
23842      191,   192,   193,   194,   195,   196,   197,    -1,   199,   200,
23843       -1,   202,   203,   204,   205,   206,   207,    -1,   209,    -1,
23844      211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
23845       -1,    -1,   223,    -1,   225,   226,   227,    -1,   229,   230,
23846      231,    -1,    -1,   234,   235,   236,   237,   238,   239,   240,
23847      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
23848      251,   252,   253,   254,   255,   256,   257,   258,   259,    -1,
23849       -1,   262,    -1,   264,   265,   266,   267,    -1,    -1,   270,
23850      271,   272,   273,   274,    -1,   276,   277,    -1,    -1,   280,
23851      281,   282,    -1,    -1,   285,   286,    -1,   288,   289,   290,
23852       -1,   292,   293,   294,   295,   296,   297,   298,   299,   300,
23853       -1,   302,   303,    -1,   305,    -1,   307,   308,   309,    -1,
23854      311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
23855      321,   322,   323,   324,   325,    -1,   327,   328,   329,   330,
23856      331,   332,   333,   334,   335,   336,   337,   338,    -1,   340,
23857      341,   342,   343,   344,   345,   346,   347,    -1,   349,   350,
23858      351,   352,   353,   354,   355,   356,   357,    -1,   359,   360,
23859      361,   362,   363,    -1,   365,   366,   367,   368,   369,   370,
23860      371,   372,   373,   374,    -1,   376,   377,   378,   379,   380,
23861      381,   382,   383,   384,   385,   386,   387,   388,    -1,   390,
23862       -1,   392,   393,    -1,   395,   396,   397,   398,   399,   400,
23863      401,    -1,   403,   404,   405,    -1,    -1,   408,   409,    -1,
23864      411,    -1,    -1,   414,   415,   416,   417,   418,   419,   420,
23865      421,    -1,    -1,   424,   425,   426,   427,   428,    -1,    -1,
23866      431,   432,   433,   434,   435,    -1,   437,    -1,   439,   440,
23867      441,   442,   443,   444,    -1,    -1,   447,    -1,    -1,   450,
23868      451,   452,   453,   454,   455,     3,    -1,    -1,    -1,    -1,
23869       -1,    -1,    -1,    -1,    -1,    -1,   467,   468,   469,    -1,
23870       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
23871       -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,
23872       -1,    39,    40,    -1,    42,    43,    44,    45,    46,    47,
23873       48,    -1,    50,    51,    52,    53,    -1,    55,    56,    57,
23874       58,    59,    60,    -1,    -1,    63,    64,    65,    66,    67,
23875       -1,    69,    70,    71,    72,    -1,    -1,    75,    -1,    77,
23876       78,    79,    80,    81,    82,    83,    84,    85,    -1,    87,
23877       88,    89,    90,    91,    92,    -1,    94,    95,    96,    97,
23878       -1,    -1,    -1,   101,    -1,    -1,    -1,   105,   106,   107,
23879      108,   109,   110,   111,   112,   113,    -1,   115,    -1,   117,
23880      118,   119,   120,   121,   122,    -1,   124,   125,   126,   127,
23881       -1,    -1,   130,   131,   132,   133,   134,    -1,   136,   137,
23882      138,    -1,   140,   141,   142,    -1,   144,   145,   146,   147,
23883       -1,   149,   150,   151,   152,    -1,    -1,   155,    -1,   157,
23884      158,   159,   160,    -1,   162,    -1,   164,   165,    -1,   167,
23885      168,   169,   170,   171,    -1,   173,    -1,    -1,    -1,   177,
23886      178,    -1,   180,   181,   182,   183,   184,   185,   186,   187,
23887      188,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
23888       -1,   199,   200,    -1,   202,   203,   204,   205,   206,   207,
23889       -1,   209,    -1,   211,   212,   213,   214,   215,   216,   217,
23890      218,   219,   220,    -1,    -1,   223,    -1,   225,   226,   227,
23891       -1,   229,   230,   231,    -1,    -1,   234,   235,   236,   237,
23892      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
23893      248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
23894      258,   259,    -1,    -1,   262,    -1,   264,   265,   266,   267,
23895       -1,    -1,   270,   271,   272,   273,   274,    -1,   276,   277,
23896       -1,    -1,   280,   281,   282,    -1,    -1,   285,   286,    -1,
23897      288,   289,   290,    -1,   292,   293,   294,   295,   296,   297,
23898      298,   299,   300,    -1,   302,   303,    -1,   305,    -1,   307,
23899      308,   309,    -1,   311,   312,   313,   314,   315,   316,   317,
23900      318,   319,   320,   321,   322,   323,   324,   325,    -1,   327,
23901      328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
23902      338,    -1,   340,   341,   342,   343,   344,   345,   346,   347,
23903       -1,   349,   350,   351,   352,   353,   354,   355,   356,   357,
23904       -1,   359,   360,   361,   362,   363,    -1,   365,   366,    -1,
23905      368,   369,   370,   371,   372,   373,   374,    -1,   376,   377,
23906      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
23907      388,    -1,   390,    -1,   392,   393,    -1,   395,   396,   397,
23908      398,   399,   400,   401,    -1,   403,   404,   405,    -1,    -1,
23909      408,   409,    -1,   411,    -1,    -1,   414,   415,   416,   417,
23910      418,   419,   420,   421,    -1,    -1,   424,   425,   426,   427,
23911      428,    -1,    -1,   431,   432,   433,   434,   435,    -1,   437,
23912       -1,   439,   440,   441,   442,   443,   444,    -1,    -1,   447,
23913       -1,    -1,   450,   451,   452,   453,   454,   455,     3,    -1,
23914       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   467,
23915      468,   469,    -1,    -1,    -1,    20,    21,    22,    23,    24,
23916       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
23917       -1,    -1,    -1,    -1,    39,    40,    -1,    42,    43,    44,
23918       45,    46,    47,    48,    -1,    -1,    51,    -1,    -1,    -1,
23919       55,    56,    57,    58,    59,    60,    -1,    -1,    63,    64,
23920       -1,    -1,    67,    -1,    69,    70,    71,    72,    -1,    -1,
23921       75,    -1,    77,    78,    79,    80,    81,    82,    83,    84,
23922       85,    -1,    87,    88,    89,    90,    91,    92,    -1,    94,
23923       95,    96,    97,    -1,    -1,    -1,   101,    -1,    -1,    -1,
23924      105,   106,   107,   108,   109,   110,    -1,    -1,   113,    -1,
23925      115,    -1,   117,   118,   119,   120,   121,   122,    -1,   124,
23926      125,   126,   127,    -1,    -1,   130,   131,   132,   133,   134,
23927       -1,   136,   137,   138,    -1,   140,   141,   142,    -1,   144,
23928      145,   146,   147,    -1,   149,   150,   151,   152,    -1,    -1,
23929      155,    -1,   157,   158,    -1,   160,    -1,   162,    -1,   164,
23930      165,    -1,   167,   168,   169,   170,   171,    -1,   173,    -1,
23931       -1,    -1,   177,   178,    -1,   180,   181,   182,   183,   184,
23932      185,   186,   187,   188,   189,    -1,   191,   192,   193,   194,
23933      195,   196,   197,    -1,   199,   200,    -1,   202,   203,   204,
23934      205,    -1,    -1,    -1,    -1,    -1,   211,   212,   213,   214,
23935      215,   216,   217,   218,   219,   220,    -1,    -1,   223,    -1,
23936      225,   226,   227,    -1,   229,   230,   231,    -1,    -1,   234,
23937      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
23938      245,   246,   247,   248,   249,    -1,   251,    -1,   253,   254,
23939      255,   256,   257,   258,   259,    -1,    -1,   262,    -1,   264,
23940      265,   266,   267,    -1,    -1,   270,    -1,   272,   273,   274,
23941       -1,   276,   277,    -1,    -1,   280,   281,   282,    -1,    -1,
23942      285,   286,    -1,   288,   289,   290,    -1,   292,   293,   294,
23943      295,   296,   297,   298,   299,   300,    -1,   302,   303,    -1,
23944      305,    -1,   307,   308,   309,    -1,   311,   312,   313,   314,
23945      315,   316,   317,   318,   319,   320,    -1,   322,   323,   324,
23946      325,    -1,   327,   328,   329,   330,   331,   332,   333,   334,
23947      335,   336,   337,   338,    -1,   340,   341,   342,   343,   344,
23948      345,   346,   347,    -1,   349,   350,   351,   352,   353,   354,
23949      355,   356,   357,    -1,   359,   360,   361,   362,   363,    -1,
23950      365,   366,    -1,   368,   369,   370,   371,   372,    -1,   374,
23951       -1,   376,   377,   378,   379,   380,   381,   382,   383,   384,
23952      385,   386,   387,   388,    -1,   390,    -1,   392,   393,    -1,
23953      395,   396,   397,   398,   399,   400,   401,    -1,   403,    -1,
23954       -1,    -1,    -1,   408,   409,    -1,   411,    -1,    -1,   414,
23955      415,   416,   417,   418,   419,   420,   421,    -1,    -1,   424,
23956      425,   426,   427,   428,    -1,    -1,   431,   432,   433,   434,
23957      435,    -1,    -1,    -1,   439,   440,   441,   442,   443,   444,
23958       -1,    -1,   447,    -1,    -1,   450,   451,   452,   453,   454,
23959      455,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23960       -1,    -1,   467,   468,   469
23961 };
23962 
23963   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
23964      symbol of state STATE-NUM.  */
23965 static const yytype_uint16 yystos[] =
23966 {
23967        0,    20,    30,    32,    33,    48,    57,    69,    71,    72,
23968       78,    80,    91,    93,   110,   113,   127,   129,   133,   139,
23969      147,   149,   156,   172,   189,   229,   230,   235,   247,   265,
23970      308,   322,   328,   329,   331,   336,   341,   344,   351,   357,
23971      358,   365,   369,   379,   394,   414,   425,   431,   436,   449,
23972      472,   486,   493,   494,   495,   496,   497,   503,   504,   506,
23973      507,   508,   509,   511,   515,   527,   532,   533,   536,   537,
23974      538,   557,   560,   561,   576,   620,   621,   622,   625,   628,
23975      629,   630,   638,   644,   646,   648,   649,   652,   655,   656,
23976      660,   669,   673,   674,   675,   676,   679,   681,   682,   683,
23977      684,   692,   694,   714,   718,   720,   721,   731,   733,   740,
23978      741,   744,   745,   746,   747,   748,   756,   758,   762,   767,
23979      771,   772,   780,   781,   784,   789,   803,   830,   833,   834,
23980      835,   840,   843,   845,   847,   849,   850,   855,   856,   859,
23981      861,   862,   866,   867,   868,   871,   872,   875,   876,   877,
23982      884,   886,   887,   888,   894,   896,   897,   903,   904,   905,
23983      908,   909,   910,   911,   913,   914,   916,   917,   919,   920,
23984      922,   934,   940,   943,   945,   946,   955,   957,   962,   967,
23985      971,   972,   973,   974,   975,   976,   980,  1015,   408,   452,
23986      889,    27,    75,    90,   108,   114,   131,   142,   151,   163,
23987      168,   175,   194,   219,   240,   280,   303,   313,   314,   317,
23988      343,   346,   350,   352,   359,   362,   381,   388,   393,   394,
23989      397,   401,   411,   416,   429,   442,   645,   889,     3,    20,
23990       21,    22,    23,    24,    25,    26,    27,    29,    30,    31,
23991       39,    40,    42,    43,    44,    45,    46,    47,    48,    49,
23992       50,    51,    52,    53,    55,    56,    57,    58,    59,    60,
23993       63,    64,    65,    66,    67,    69,    70,    71,    72,    73,
23994       75,    77,    78,    79,    80,    81,    82,    83,    84,    85,
23995       87,    88,    89,    90,    91,    92,    94,    95,    96,    97,
23996      101,   105,   106,   107,   108,   109,   110,   111,   112,   113,
23997      115,   117,   118,   119,   120,   121,   122,   124,   125,   126,
23998      127,   130,   131,   132,   133,   134,   136,   137,   138,   140,
23999      141,   142,   144,   145,   146,   147,   148,   149,   150,   151,
24000      152,   153,   155,   157,   158,   159,   160,   162,   164,   165,
24001      167,   168,   169,   170,   171,   173,   174,   176,   177,   178,
24002      180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
24003      191,   192,   193,   194,   195,   196,   197,   199,   200,   201,
24004      202,   203,   204,   205,   206,   207,   209,   211,   212,   213,
24005      214,   215,   216,   217,   218,   219,   220,   223,   224,   225,
24006      226,   227,   229,   230,   231,   234,   235,   236,   237,   238,
24007      239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
24008      249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
24009      259,   260,   261,   262,   264,   265,   266,   267,   269,   270,
24010      271,   272,   273,   274,   276,   277,   280,   281,   282,   285,
24011      286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
24012      296,   297,   298,   299,   300,   302,   303,   304,   305,   306,
24013      307,   308,   309,   311,   312,   313,   314,   315,   316,   317,
24014      318,   319,   320,   321,   322,   323,   324,   325,   327,   328,
24015      329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
24016      340,   341,   342,   343,   344,   345,   346,   347,   348,   349,
24017      350,   351,   352,   353,   354,   355,   356,   357,   359,   360,
24018      361,   362,   363,   365,   366,   367,   368,   369,   370,   371,
24019      372,   373,   374,   376,   377,   378,   379,   380,   381,   382,
24020      383,   384,   385,   386,   387,   388,   389,   390,   392,   393,
24021      395,   396,   397,   398,   399,   400,   401,   403,   404,   405,
24022      408,   409,   410,   411,   412,   414,   415,   416,   417,   418,
24023      419,   420,   421,   424,   425,   426,   427,   428,   431,   432,
24024      433,   434,   435,   436,   437,   439,   440,   441,   442,   443,
24025      444,   447,   450,   451,   452,   453,   454,   455,   456,   457,
24026      458,   459,   460,   461,   462,   463,   464,   465,   466,   467,
24027      468,   469,  1074,  1149,  1157,  1158,  1161,  1162,  1163,     3,
24028       28,   968,  1143,  1157,  1161,   440,   927,   278,   309,   889,
24029       51,   486,   568,    22,    39,    62,    75,    86,   108,   114,
24030      131,   142,   151,   163,   171,   175,   231,   280,   283,   303,
24031      317,   343,   352,   362,   381,   388,   397,   398,   400,   401,
24032      411,   416,   423,   426,   429,   577,   627,   736,   790,   804,
24033       28,   308,  1143,   968,    28,   302,   360,   398,   400,     6,
24034      218,   841,   842,  1152,    22,    27,    62,    75,    90,   108,
24035      131,   142,   151,   163,   168,   175,   194,   240,   280,   293,
24036      303,   314,   317,   343,   346,   350,   352,   359,   362,   381,
24037      388,   394,   397,   401,   409,   411,   416,   429,   442,   645,
24038      749,   750,   751,   889,  1143,    93,   440,   486,   622,   625,
24039      628,   922,   935,   943,   946,   955,   962,   967,   971,    11,
24040       21,    28,    46,   158,   164,   166,   190,   220,   254,   311,
24041      330,   477,   478,   768,   769,   968,  1151,  1153,    28,    93,
24042      326,   358,   773,   774,   775,  1157,   163,  1157,  1148,  1152,
24043      394,   983,   768,  1157,   408,  1143,   293,   240,   108,   194,
24044      352,   393,   394,   486,   851,   852,   351,  1157,    28,   363,
24045      404,   408,   519,   528,   529,  1157,    25,   172,   773,   774,
24046      309,   889,  1157,   217,    28,   128,   985,   986,    63,    87,
24047      231,   249,   343,   352,   363,   404,   408,   455,   516,   517,
24048      518,   519,    28,   363,   404,   408,   519,   408,   279,  1026,
24049     1141,  1157,   983,   479,  1157,   167,   486,   928,   486,   324,
24050      977,   978,  1143,   977,   972,   973,   976,     0,   489,   486,
24051      927,   143,   208,   284,   422,   987,   988,   972,   974,   975,
24052      119,   204,   428,   490,    34,   893,   820,  1149,   753,  1157,
24053      753,  1144,  1157,   312,   753,   411,  1143,   107,   394,   808,
24054     1149,  1157,  1163,     3,   104,   364,  1154,  1155,  1159,  1161,
24055     1162,  1163,    28,   184,  1141,   272,   442,    10,    17,    18,
24056       19,    70,   155,   473,   474,   475,   477,   478,   479,   480,
24057      481,   482,   837,   839,  1104,  1105,  1157,   184,  1143,   808,
24058     1143,    28,  1154,  1155,   808,  1143,  1143,   184,  1141,  1143,
24059      184,   753,  1143,   336,   365,    28,   184,  1026,  1143,   355,
24060     1143,   753,    28,   238,  1154,  1155,   184,  1141,   218,   116,
24061      214,   263,   320,   890,   891,   892,   486,   484,   488,  1132,
24062     1134,  1141,  1147,  1157,    22,    27,    62,    75,    76,    86,
24063       90,   108,   131,   142,   151,   163,   168,   194,   219,   240,
24064      280,   303,   314,   317,   343,   346,   350,   352,   359,   362,
24065      381,   388,   394,   397,   401,   409,   411,   416,   442,   645,
24066      759,   760,  1152,   893,   942,   946,   955,   962,   971,  1141,
24067      242,   753,   486,   184,   753,   411,  1144,   753,   411,   184,
24068     1143,   107,   394,   398,   400,  1154,  1155,   398,   400,    70,
24069      155,   837,   334,  1143,  1143,  1154,   184,   512,  1157,   184,
24070     1143,   184,   753,  1143,  1143,   355,  1143,   753,   238,  1154,
24071      324,   359,   394,   442,   240,    90,   194,    27,   168,   314,
24072      350,   409,   415,   639,    28,  1143,   969,   526,  1152,  1159,
24073      842,   242,   184,   820,   821,   184,   846,   184,  1144,     3,
24074       50,    52,    53,    65,    66,   111,   112,   132,   159,   184,
24075      206,   207,   209,   250,   252,   271,   321,   367,   373,   404,
24076      405,   437,   755,  1048,  1050,  1052,  1054,  1056,  1058,  1059,
24077     1060,  1062,  1063,  1064,  1066,  1067,  1158,  1161,   411,   107,
24078      394,   184,   807,   808,   184,  1155,  1156,    82,   442,    70,
24079      155,   184,   838,   839,    55,   184,   807,   184,  1156,   184,
24080      807,   184,  1143,   184,  1143,   355,   846,   184,   755,   184,
24081      238,  1156,   218,   184,   752,   753,   184,  1142,  1143,   184,
24082     1143,   893,   486,   944,   577,   935,   436,   922,   936,   937,
24083      938,  1159,   927,  1153,   769,   770,    28,   770,  1153,   770,
24084       28,   770,  1153,   770,   770,   770,  1153,  1151,  1151,   968,
24085      770,   312,   486,   486,   597,   597,   597,   278,   406,   490,
24086      597,   352,  1026,  1027,   490,   885,  1152,   486,   941,    55,
24087      442,   440,   853,   854,    82,   791,   791,  1157,    45,   469,
24088      214,   488,   281,   281,   278,   166,  1152,   406,   893,   161,
24089      763,   278,     5,     8,     9,    10,    12,    36,    50,    52,
24090       53,    61,    62,    65,    66,    73,    75,    98,    99,   100,
24091      101,   102,   103,   104,   111,   112,   114,   148,   153,   154,
24092      159,   174,   176,   206,   207,   209,   224,   232,   233,   250,
24093      252,   261,   263,   268,   269,   271,   280,   291,   304,   321,
24094      348,   364,   373,   389,   404,   405,   410,   412,   413,   423,
24095      429,   437,   457,   458,   459,   460,   462,   463,   464,   465,
24096      470,   477,   478,   479,   486,   972,  1051,  1054,  1057,  1058,
24097     1059,  1061,  1062,  1063,  1066,  1067,  1071,  1073,  1074,  1075,
24098     1077,  1100,  1101,  1102,  1106,  1126,  1131,  1138,  1139,  1149,
24099     1150,  1151,  1152,  1157,  1137,  1138,  1152,    28,   534,  1140,
24100     1141,   363,   516,   114,   525,  1152,   526,  1152,    45,    67,
24101      516,   469,   374,   891,   281,   166,   406,   475,    45,   469,
24102      214,   892,   486,  1141,   479,  1134,  1027,   921,   922,   923,
24103      924,  1159,   165,   929,  1071,  1109,   977,   490,   486,   930,
24104      487,   487,   495,   921,   931,   932,   933,  1141,    28,   128,
24105      984,   984,    55,   984,   156,   161,   228,   275,   991,   993,
24106      994,  1009,  1011,  1012,  1013,   987,   988,   166,   210,  1026,
24107     1028,   486,    64,   259,   294,   332,   365,   486,   818,   294,
24108      328,   332,   365,   488,   754,   294,   332,   365,     3,    85,
24109      137,   234,   294,   332,   365,   397,   399,   449,   527,   530,
24110      898,   899,   900,   901,   785,    24,   133,   294,   332,   365,
24111      433,   543,  1143,    24,   133,   365,   428,   510,   453,   184,
24112     1026,    58,    92,   152,   187,   223,   259,   263,   294,   295,
24113      332,   340,   349,   357,   365,   377,   386,   390,   444,   527,
24114      531,   823,   831,   860,   486,   805,  1134,   332,   510,   190,
24115      148,    24,    30,    43,    72,   126,   133,   136,   162,   196,
24116      259,   263,   273,   282,   294,   332,   335,   336,   365,   433,
24117      539,   541,   542,   663,   860,     5,   477,   478,   636,  1153,
24118       28,   184,  1141,   753,   753,   486,   836,   294,   365,   488,
24119      148,   278,   294,   332,   365,   831,   860,    24,   133,   294,
24120      332,   365,   190,   505,   332,   449,   472,   498,   505,   294,
24121      332,   365,   831,   860,   278,   294,   332,   148,    37,    56,
24122      106,   193,   241,   244,   259,   293,   332,   337,   359,   365,
24123      379,   539,   633,   634,   294,   332,   441,   663,   671,   148,
24124      294,   332,   365,    85,   126,   136,   294,   328,   332,   365,
24125      529,   517,   519,   190,   148,    43,   124,   259,   332,   365,
24126      539,   540,   294,   332,   336,   365,    83,   125,   296,   399,
24127      278,    24,    30,   133,   294,   332,   365,   558,   559,   505,
24128      161,   332,   498,   505,   148,   332,   365,   539,  1143,   226,
24129      116,   279,   454,   490,   890,    28,   128,   438,   479,   487,
24130      813,  1071,  1110,  1111,  1158,  1071,  1133,     3,    28,    32,
24131       33,    34,    35,    36,    37,    38,    41,    54,    61,    62,
24132       68,    74,    76,    86,    93,    98,    99,   100,   102,   103,
24133      104,   114,   116,   123,   128,   129,   135,   139,   143,   154,
24134      156,   161,   163,   166,   172,   175,   179,   190,   198,   208,
24135      210,   221,   222,   228,   232,   233,   263,   268,   275,   278,
24136      279,   283,   284,   301,   310,   326,   339,   358,   364,   375,
24137      391,   394,   402,   406,   407,   413,   422,   423,   429,   430,
24138      438,   445,   446,   448,   449,   479,  1146,  1160,  1161,  1162,
24139     1163,  1164,  1132,   430,   918,   278,   242,   820,   486,  1143,
24140     1048,   411,   107,   394,   808,   272,   442,    70,   155,   839,
24141     1143,   808,   808,  1143,   355,   161,  1143,  1048,   218,   753,
24142     1143,   487,   597,  1143,    68,  1048,   263,   166,   486,   722,
24143     1143,   498,    37,   912,  1143,   263,   498,   453,   184,  1141,
24144      498,   753,   753,   722,   426,   577,   278,   161,   869,   870,
24145      498,   263,    45,   513,   263,   416,   670,   263,   930,    85,
24146      294,   647,    83,   125,   296,   399,    26,    47,   205,   695,
24147       37,   722,   161,   184,   498,   442,   184,  1141,   184,   623,
24148     1141,  1141,   442,   753,   791,  1149,  1149,  1149,  1143,   161,
24149      645,    51,   105,   203,   259,   354,   148,    59,   338,   490,
24150      544,   148,   486,   148,   498,   439,  1065,  1065,  1065,   486,
24151     1053,  1053,   306,   486,  1055,   148,    65,    66,  1065,  1053,
24152     1050,   451,   472,   486,  1068,   486,  1068,   490,   544,    36,
24153     1049,   486,   109,   182,   243,   246,   356,   467,   486,  1069,
24154     1070,   754,  1053,   453,   148,   490,   544,   148,   490,   184,
24155      752,   184,   753,   184,   753,   148,   490,   544,  1156,   148,
24156      544,   148,   148,   544,   148,   544,   148,    83,   125,   296,
24157      399,   161,   148,   544,   148,   161,   184,   184,   526,   148,
24158      490,   544,   148,   490,   544,   148,   278,  1109,   394,   487,
24159      490,   154,   278,   413,   523,   526,   636,   939,   935,   770,
24160      968,   770,   968,   770,   968,   770,   968,   770,   968,   968,
24161      968,   770,   968,   486,   598,   599,  1157,   598,    28,   108,
24162      131,   163,   168,   218,   219,   314,   346,   352,   359,   394,
24163      397,   416,   776,  1140,  1156,   775,  1143,   190,   490,   958,
24164     1152,  1048,  1112,    37,  1156,   791,   487,   490,  1141,  1143,
24165      226,  1157,   161,   161,   776,  1156,   351,  1157,   526,   278,
24166      486,  1135,   484,   972,  1113,  1071,  1130,   486,   486,   161,
24167      486,   486,   972,   486,   486,   486,   486,   486,   486,   486,
24168     1071,   486,   486,   486,   486,   486,   486,   486,   486,   972,
24169      486,   486,   486,   486,   486,   486,   486,   486,  1071,  1071,
24170     1071,   972,  1071,  1109,  1134,  1152,   486,  1152,     3,    10,
24171       13,    17,    18,    19,    34,    37,    42,    49,    74,   185,
24172      190,   212,   213,   227,   266,   280,   283,   370,   470,   473,
24173      474,   475,   477,   478,   479,   480,   481,   482,  1104,  1106,
24174     1108,   450,  1087,   290,  1071,   210,   490,   981,   486,  1152,
24175     1134,   981,   117,   186,   535,   490,    67,   114,   526,    37,
24176        3,   114,   231,   524,   636,  1067,  1152,  1152,    88,   130,
24177     1083,    97,   114,   520,   521,   523,   636,   114,   520,   226,
24178     1141,    89,   337,   757,   487,   490,   523,   636,   925,   927,
24179      487,   490,   978,  1142,    37,   487,   490,   930,   974,   974,
24180      989,   990,  1071,   974,   158,   254,  1000,   216,   259,   320,
24181      368,   428,    28,   995,  1071,   477,   478,   996,   997,  1071,
24182     1073,  1009,  1010,   994,   993,   991,   992,   161,  1012,   273,
24183     1014,   991,  1009,  1028,   947,  1141,    37,  1157,   365,  1109,
24184       64,   406,   406,   352,   190,   201,   284,   287,   367,   438,
24185      479,   811,   812,   813,   815,   817,   819,  1048,  1158,   406,
24186      441,   406,   352,  1146,   488,   406,   406,   352,   228,   406,
24187      406,   397,   516,   294,   898,   900,   475,   902,   161,   172,
24188      190,   341,   786,   787,    68,    86,   144,   163,   310,   423,
24189      594,   595,    86,   114,   263,   406,    86,   406,   114,   263,
24190      352,    86,   126,   136,   294,   332,   719,   352,   653,    22,
24191       27,    62,    75,    90,   131,   142,   163,   168,   240,   280,
24192      314,   346,   352,   359,   362,   394,   401,   409,   416,   442,
24193      645,  1143,   148,   332,   365,   539,   278,   636,   357,   223,
24194      406,  1157,   406,   268,   636,   118,   211,   352,   363,   408,
24195      518,   753,   338,   365,   823,   832,   122,   487,   806,   811,
24196      406,   429,   397,  1141,    76,   144,   184,   584,   594,  1157,
24197       76,    86,   857,   298,   278,   348,   350,   411,    86,   857,
24198       31,   335,   348,   350,   411,   348,  1141,   162,   196,   273,
24199      753,   486,   406,   406,   183,   486,   548,   237,   397,   426,
24200      451,   548,    86,   490,   122,     5,     5,   294,   190,   148,
24201      332,   365,   539,   860,   430,   430,   260,  1048,   406,   352,
24202      486,   837,  1143,  1141,   406,   406,   352,   832,   122,   394,
24203      394,   406,   406,   394,   722,   108,   365,   530,   406,   500,
24204      530,   406,   406,   352,   832,   122,  1141,   406,   406,  1141,
24205     1050,   636,    55,   635,   636,   636,   106,   241,   244,    55,
24206      406,   498,   248,   352,   498,   259,   634,   406,   406,   268,
24207     1152,   663,   753,   406,   406,   352,   381,  1152,   406,   317,
24208      406,   317,   722,   397,  1026,   298,   298,    86,   406,   857,
24209      352,   406,   406,   548,   548,   753,   753,   753,   753,  1141,
24210       44,   435,    44,    44,   406,    44,   406,   435,   352,   486,
24211      490,   530,   429,   680,  1155,   406,   500,   530,  1141,   406,
24212      857,   352,   294,   332,   320,   333,   361,   522,   890,  1110,
24213     1110,  1111,   487,    15,    16,   490,   987,   988,   485,   491,
24214     1147,  1157,  1141,   212,  1048,   278,   212,   453,   212,   636,
24215      753,   753,   212,   278,   212,   212,   278,    83,   125,   296,
24216      399,  1048,   278,   212,   212,   212,   406,   166,   406,   562,
24217      416,   486,    37,   148,   753,   723,   724,  1160,    26,   898,
24218     1048,   278,   148,   650,  1143,   263,   298,   486,   499,   736,
24219      430,   324,   442,  1141,    28,   394,   449,   827,   499,   148,
24220     1155,    93,   172,   514,   576,   629,   694,   771,   789,   894,
24221      148,  1152,   671,   672,   148,   278,  1152,  1155,   234,   753,
24222      753,   753,   753,   273,   119,   204,   414,   428,   696,   697,
24223      140,   319,   486,   680,   263,   499,  1141,   263,   631,   633,
24224      263,    37,   273,   298,   486,   597,   597,   184,   626,  1141,
24225      161,   184,   792,  1147,   486,   726,   818,   486,   809,   809,
24226       37,  1048,   218,   449,   451,   970,   354,   821,   820,  1048,
24227     1144,   486,   486,  1109,  1151,   755,  1065,  1065,    36,  1049,
24228      404,   404,  1151,  1151,  1048,   484,   484,  1151,   406,   406,
24229      406,   486,   406,  1151,  1053,   807,   808,  1156,  1155,   148,
24230      544,   148,   430,   148,   430,   838,   839,   544,   807,  1156,
24231      807,  1143,  1143,  1048,   755,  1156,   680,   148,   148,   544,
24232      752,   753,  1142,  1143,  1143,   753,   487,   184,  1141,   935,
24233      937,   968,   968,   968,   968,   968,   968,   598,   487,   490,
24234      487,   169,   315,   347,   360,   395,  1142,   752,   107,   362,
24235      807,  1142,   272,   807,   807,  1142,  1140,  1140,  1142,   752,
24236      406,   449,   782,   143,   228,   677,   678,    22,   146,   348,
24237      368,   959,  1026,   267,   960,   487,   490,   942,   406,  1141,
24238      851,   852,   854,   774,   773,   774,   166,   173,   783,  1157,
24239       27,    76,   108,   131,   142,   163,   168,   219,   240,   314,
24240      317,   343,   346,   352,   359,   388,   394,   397,   416,   442,
24241      645,   764,   765,  1109,  1132,   485,  1109,  1113,  1114,   445,
24242     1127,  1128,  1071,  1109,   486,  1151,  1151,     3,   109,   182,
24243      243,   246,   356,   467,  1115,  1116,  1152,  1109,  1109,  1109,
24244     1151,  1151,  1071,  1071,   837,  1071,  1118,   348,   477,   478,
24245      486,  1072,  1073,  1106,  1120,   487,  1109,  1071,  1109,  1121,
24246     1071,    54,   166,   222,   407,  1071,  1109,  1124,  1109,   248,
24247     1073,  1071,  1081,  1082,  1083,   248,  1071,  1083,   487,   490,
24248     1151,  1069,  1048,  1071,  1071,  1071,  1071,  1160,   404,    41,
24249      391,  1136,   753,  1071,   486,   972,  1125,   128,   130,   154,
24250      255,   256,   257,   258,   262,   263,   268,   273,   413,   424,
24251     1117,  1071,   486,  1071,   406,    49,   185,   190,   227,   370,
24252     1071,  1071,  1071,  1071,  1071,  1071,  1071,  1071,  1071,  1071,
24253       28,    35,   375,  1103,   175,   157,  1088,   348,   486,  1100,
24254      171,   231,   394,   398,   400,   426,   982,  1141,  1139,   166,
24255     1016,  1110,  1016,  1141,   408,   486,  1152,   490,   487,   183,
24256      183,   544,   933,   923,   922,   926,  1071,   487,   240,   263,
24257      979,   933,   931,   490,    38,   123,   430,   801,   348,   349,
24258      477,   478,   997,   999,  1073,   368,   216,   279,   490,     5,
24259      998,  1151,   998,   348,   349,   999,  1140,   267,   372,   961,
24260     1010,   992,   430,   956,   114,   292,   486,   948,   971,    37,
24261     1157,   486,   963,   964,   965,  1157,   487,  1155,  1143,  1143,
24262      287,    55,  1158,   487,   813,   815,   812,   815,  1158,   284,
24263      487,   490,   754,  1155,  1143,  1143,  1146,  1155,  1143,  1143,
24264     1155,  1144,  1143,   114,   523,  1153,   343,   429,   773,   352,
24265      172,   773,   486,  1143,   430,   793,   216,   216,   430,   486,
24266      619,   184,  1143,   268,  1155,  1143,  1143,  1071,   268,  1143,
24267     1143,    31,   335,   406,   406,  1143,   406,   654,   242,   820,
24268      486,   753,   753,  1048,   411,   107,   394,   808,   442,    70,
24269      155,   839,   808,   808,  1143,   753,  1143,   753,   355,   161,
24270     1048,   753,   218,   178,   259,   294,   332,   434,   657,   658,
24271      659,  1026,   406,   857,   352,   268,   118,   211,  1155,  1143,
24272      278,  1143,   278,   487,   490,  1154,  1156,  1143,   332,   539,
24273      184,   584,   263,  1048,  1143,  1151,  1157,  1141,  1143,   226,
24274     1143,    28,   429,  1143,   184,  1143,   184,  1157,   350,   411,
24275      350,   411,   226,  1143,    28,   429,  1143,   226,   348,  1141,
24276       24,   133,   365,   664,   665,   666,   667,  1160,  1155,  1143,
24277      114,   167,   264,   430,   547,   550,   551,  1160,  1143,    72,
24278      276,  1143,   542,   278,   406,   397,  1141,   406,   857,   352,
24279      122,  1145,  1157,  1145,   490,   487,   490,  1155,  1143,   863,
24280      864,  1160,   278,   332,   406,   688,  1155,  1143,  1143,   278,
24281     1027,  1027,  1155,  1143,  1027,  1144,  1154,     3,    85,   138,
24282      196,   300,   421,   429,   432,   501,  1155,  1143,  1143,   278,
24283      332,  1155,  1143,   332,   365,   539,   633,   636,   753,  1143,
24284      636,   753,  1143,   636,  1155,  1143,   365,  1155,  1143,  1143,
24285     1153,  1155,   827,  1143,   873,   874,  1160,  1143,   332,   365,
24286      539,   540,  1141,  1141,  1143,  1143,  1143,  1143,  1155,  1143,
24287       24,    30,   133,   294,   332,   365,   294,   332,   365,   722,
24288      332,   365,   332,   365,   332,   860,  1040,  1157,   184,   732,
24289     1157,   184,  1157,  1155,  1143,  1143,  1152,  1143,   863,    24,
24290      559,   362,  1154,   332,   365,   539,  1143,  1143,  1143,   406,
24291      406,    81,   420,   320,   490,   987,   987,   987,  1071,  1071,
24292      438,  1111,   487,  1071,  1133,   268,   761,  1152,    37,   131,
24293      753,   761,   761,   212,   430,   430,   761,   753,   761,   761,
24294      753,   218,   753,   761,   761,   761,   316,   563,   563,   194,
24295      394,   693,  1071,  1048,   753,   487,   490,   475,   696,   586,
24296     1160,  1143,    59,   166,   352,   441,   651,   658,   659,   148,
24297      273,   227,   578,   580,   582,   584,   591,   594,    25,   190,
24298      343,   392,   501,   502,   161,  1145,   442,  1141,    37,   689,
24299      395,  1027,   722,   512,  1157,   513,   283,   577,  1143,   163,
24300      753,  1109,   317,  1152,   722,   722,   722,   722,   273,   278,
24301      283,   486,   722,  1038,  1039,  1040,   362,   148,   486,   148,
24302      148,   147,   971,   753,   273,   578,  1157,   430,   614,   449,
24303      549,   263,    37,   597,  1152,   263,   278,     3,   727,   728,
24304      722,   487,   810,   811,   816,    37,   218,   340,   409,   448,
24305      822,   823,   824,   822,   278,   218,   526,   181,   181,   161,
24306      544,    37,   498,   162,   906,   907,  1109,   487,   487,   544,
24307      484,   469,   469,   487,   487,  1151,   485,  1151,   487,   182,
24308      243,  1070,   243,  1070,  1070,  1151,   246,   487,   544,   752,
24309      753,  1145,   753,  1145,   544,   544,   544,   544,   218,   544,
24310      362,   161,   526,   544,   544,   278,   544,   263,   487,   599,
24311      190,   190,   190,   190,   190,   453,  1142,   636,   637,   175,
24312      777,   778,  1155,    25,   783,   406,   486,   166,   146,   368,
24313      146,   368,   348,   428,   245,  1048,  1155,   449,   624,   791,
24314      791,   166,   278,   777,    55,   544,   820,  1048,   411,   394,
24315      808,   272,   442,   808,   808,  1048,   218,   753,  1143,   487,
24316      485,   485,   490,  1071,   135,  1128,  1129,    37,   487,  1071,
24317      487,   487,   487,   166,   487,   487,   487,   487,   487,   487,
24318      490,   490,   487,   301,  1119,   487,   486,  1072,  1072,  1109,
24319       13,    17,    18,    19,   190,   212,   280,   473,   474,   475,
24320      477,   478,   479,   480,   481,   482,  1106,  1072,   487,   487,
24321      161,   166,  1122,  1123,   487,    37,  1124,  1109,  1124,  1124,
24322      166,   487,   487,  1160,   299,  1085,    37,   487,   490,  1071,
24323     1160,   490,  1071,  1135,  1071,   487,   469,  1072,  1072,   141,
24324     1109,   166,   128,   130,   154,   262,   268,   273,   413,   424,
24325     1117,   486,   262,   141,   837,  1071,   391,  1136,  1071,  1125,
24326     1071,   406,   486,   972,   486,   486,   289,  1092,   486,  1109,
24327      398,   400,   398,   400,  1141,   983,   983,   983,   221,   349,
24328      466,   486,   972,  1017,  1018,  1019,  1026,  1031,  1041,  1074,
24329     1076,  1077,  1157,   446,  1036,   987,  1036,   891,  1151,  1069,
24330      521,   933,   240,   486,   990,   280,  1104,  1107,   471,   802,
24331        5,  1151,   999,   279,   449,   428,   996,   236,  1017,   446,
24332     1037,   436,   393,   429,   949,   950,   951,  1157,   278,   952,
24333     1157,   965,   966,   490,  1016,   475,  1135,   819,   754,   815,
24334      815,    55,   817,   481,  1156,  1156,   278,  1142,   281,   278,
24335     1071,   595,  1145,   486,   486,   486,   619,   194,   598,   712,
24336      148,   544,   406,  1155,  1143,   526,  1143,  1048,  1143,   453,
24337      753,   753,   753,   753,    83,   125,   296,   399,  1048,  1143,
24338      640,  1143,   178,   434,   406,   406,   640,   657,   663,   332,
24339      365,   539,  1143,  1143,  1143,   202,   268,   151,   811,   293,
24340      365,   406,   263,   148,   282,   661,   712,   365,    24,   133,
24341      336,   337,   365,   543,   552,   553,   663,   858,   357,   148,
24342      544,   148,   544,  1143,  1143,  1143,  1143,   357,   357,   226,
24343      666,   667,   666,   487,   490,   668,  1152,   194,   487,   490,
24344      475,   488,   151,  1155,  1143,   332,   365,   539,  1143,  1143,
24345     1143,   278,   294,   332,   365,    24,   133,   294,   332,   365,
24346     1048,   260,  1048,   487,   490,   475,  1141,   406,  1156,   430,
24347      685,   151,   228,   300,   268,  1152,   300,  1156,   427,   151,
24348      406,   406,   352,   381,   490,   827,   293,   365,    86,   406,
24349      857,   352,   114,   161,   554,   406,   406,   238,   238,   238,
24350      406,   406,   352,   406,   406,   352,   406,   352,   406,   352,
24351      406,   122,   544,  1048,   263,  1152,   365,   858,   148,   544,
24352      406,   406,   487,  1143,   406,   857,   352,   406,  1155,  1143,
24353      487,   487,   487,  1111,   485,  1048,   753,   212,   761,  1145,
24354     1145,   212,   212,  1143,   212,   382,   383,   564,  1152,   564,
24355      178,   487,   487,   166,   722,   724,   260,   280,   477,   478,
24356      636,   725,   815,  1107,  1152,  1164,   278,    68,    74,    86,
24357      114,   116,   170,   198,   263,   268,   310,   326,   423,   587,
24358      588,   590,   147,   445,   498,   526,  1143,   526,   661,  1141,
24359     1141,  1141,   487,   490,  1156,   175,   343,  1156,  1151,   416,
24360     1141,   597,     3,   161,   690,    45,   513,   334,   394,   670,
24361      107,   930,   166,   873,   549,   598,  1141,   697,   729,   730,
24362     1152,   487,   490,  1143,   161,   598,  1141,   623,  1141,  1143,
24363      624,   486,   579,  1141,   487,  1145,   449,   451,   615,   548,
24364       37,   148,   971,   614,   406,   148,  1026,   475,   487,   490,
24365      487,   490,   114,   475,   825,  1152,   526,   394,   814,   815,
24366      161,   826,   824,   119,   204,   358,   428,   882,  1143,   178,
24367      971,  1048,   486,   487,   490,   487,  1151,  1068,  1068,   485,
24368      485,   487,   544,   430,   544,   430,   544,  1143,  1143,   680,
24369      544,   753,   148,   352,   352,   352,   352,   352,  1142,   490,
24370     1155,   449,   490,   779,   281,  1027,   362,   146,   146,   107,
24371      259,  1141,  1143,  1156,   776,   544,  1155,   212,   212,   212,
24372      636,   212,   212,   212,   212,   212,  1113,   402,  1071,   139,
24373     1048,   487,  1071,  1117,  1071,  1071,  1122,   487,  1109,   490,
24374     1048,  1072,  1072,  1072,  1072,   128,   130,   263,   273,  1072,
24375     1072,  1072,  1072,  1072,  1072,  1072,  1072,  1072,  1072,  1071,
24376     1071,  1123,  1122,  1048,   487,   487,   487,  1109,   487,   490,
24377       55,  1073,  1086,   487,  1160,  1082,   307,   387,  1084,   487,
24378      490,   441,  1078,    37,   487,  1152,  1071,    34,    34,  1071,
24379      487,  1071,   166,   486,   262,  1112,  1071,   487,   141,  1072,
24380     1072,   141,   141,  1071,  1071,   988,   446,   486,  1093,  1157,
24381      487,  1109,   490,   983,   983,   983,   983,  1141,  1141,  1141,
24382      972,  1031,  1041,   166,   486,   972,  1018,  1019,    37,  1020,
24383     1021,  1157,   490,    94,   167,   200,   215,   225,   251,   342,
24384     1023,  1021,    37,  1020,  1022,  1157,  1021,   472,  1035,  1134,
24385     1071,   175,  1001,   487,  1001,   487,   942,   486,   802,   158,
24386      220,   279,   449,   403,    97,  1071,   339,   954,   435,   487,
24387      490,  1135,    84,   954,   487,   490,   964,  1037,  1071,   487,
24388      481,   819,   416,   169,   347,   353,   360,   395,   417,   788,
24389      161,   788,   487,   486,   602,   603,   796,  1076,  1157,   598,
24390      598,   712,  1147,   487,   116,   198,   259,   263,   713,  1143,
24391     1143,    37,  1143,   430,   430,   753,   753,   753,   753,   218,
24392      754,  1155,  1143,   406,   857,   352,   406,   202,  1143,    55,
24393      397,  1143,   148,   584,   486,   586,   381,   170,   150,   183,
24394      263,   548,   498,   107,   170,   263,   381,   384,   548,   634,
24395      365,   553,   416,  1143,  1157,   357,   665,  1143,   551,   725,
24396     1160,  1143,   293,   365,   406,   857,   352,   406,   151,   406,
24397      406,   352,   168,   280,   384,   734,   735,   168,   280,   742,
24398      743,   406,   406,   352,   487,   487,   487,   864,   260,   636,
24399      815,   865,  1107,  1152,  1164,   332,  1143,   486,   449,   686,
24400     1143,  1153,  1152,  1152,  1152,  1143,  1143,  1143,  1143,  1153,
24401      874,    55,   397,  1143,  1143,  1143,  1143,   436,  1143,  1143,
24402      161,   161,   334,   161,   184,  1155,  1143,  1143,  1155,  1143,
24403     1143,  1143,  1143,  1143,  1143,  1143,   278,    74,   545,   148,
24404       26,    47,   416,  1157,  1143,  1152,   663,  1143,  1143,  1143,
24405     1143,   987,   487,   212,   761,   212,   212,   761,   761,   212,
24406      761,   498,   430,   569,   570,   640,   712,   449,   451,   753,
24407     1141,   486,   753,  1143,  1072,    31,    55,   589,   117,   186,
24408      116,   268,   216,  1141,   827,   168,   314,   708,   715,   716,
24409     1157,   650,   298,   486,   579,   592,   197,   609,   582,  1156,
24410     1156,  1048,   486,   549,    28,   119,   204,   358,   428,   691,
24411      406,   687,  1155,   184,  1141,   672,   453,   278,  1017,   827,
24412      327,   698,   487,   490,  1040,   661,   680,   487,   631,    37,
24413      273,   298,   486,   944,   581,   583,   585,   594,  1157,   298,
24414      610,   611,   579,   609,   548,   276,   278,   616,   971,   626,
24415      624,   549,  1152,  1147,   793,   725,     3,   728,   816,  1071,
24416     1071,   490,   486,   822,   416,   490,   406,   486,   640,   487,
24417      906,   907,   485,  1145,  1145,   544,   362,   544,  1142,  1142,
24418     1142,  1142,  1142,   636,   172,   778,   487,  1143,   107,   783,
24419      166,   268,   766,  1152,   766,   766,   212,   766,   766,   766,
24420      766,   766,  1071,   487,   487,   487,  1123,   487,  1071,   166,
24421      128,   130,   273,   486,   487,   456,  1080,  1109,   325,   435,
24422       55,  1086,  1073,   447,   447,   487,  1071,   259,  1071,   490,
24423     1079,  1050,  1071,  1071,  1071,  1112,   487,  1071,    34,    34,
24424     1071,  1071,   141,   487,   487,  1071,  1094,  1157,   487,  1071,
24425     1141,  1141,  1141,  1141,  1021,  1022,  1021,   486,   461,  1073,
24426      487,  1157,   486,  1018,   215,   288,  1024,  1018,  1024,   215,
24427     1023,  1024,   215,   396,  1029,   486,  1157,   486,   285,    55,
24428      179,  1008,  1152,  1008,  1152,   487,   837,   403,   273,  1138,
24429      971,   292,   971,   951,   278,   486,   953,   475,   965,   954,
24430      416,   487,   406,   773,   166,   712,  1071,   487,   490,   449,
24431       74,   795,   799,   795,   487,   487,   191,   600,   117,   186,
24432      196,   116,   432,   544,  1048,  1145,  1145,  1143,  1143,  1143,
24433     1143,  1143,  1156,  1143,   584,   662,   666,  1153,   589,   184,
24434      184,   268,   636,   589,   268,  1153,  1157,  1048,   544,   544,
24435      475,    55,   397,  1143,  1143,  1143,  1143,  1143,  1155,  1143,
24436     1143,  1151,  1151,  1048,   490,  1151,  1151,   490,  1155,  1143,
24437     1143,   406,  1071,    68,  1156,  1143,   406,   406,   166,   190,
24438      449,  1142,  1142,   753,  1142,   148,   151,   753,  1152,  1152,
24439     1048,   544,   544,   406,   487,   212,   761,   761,   761,   761,
24440      486,   565,   566,   498,   121,   168,   201,   168,   166,   711,
24441     1071,   263,   588,   114,    37,   827,   597,   430,   618,  1149,
24442       34,   147,   190,   273,   578,   554,   145,   192,   486,   362,
24443      430,   598,    37,  1156,   685,   513,   263,   486,   163,  1143,
24444     1109,   253,   277,   699,   700,   701,   161,   704,  1152,   362,
24445      549,   147,   971,   753,   273,   578,   624,   487,   490,   449,
24446      586,    55,   614,   554,   610,    80,   397,   617,   449,   895,
24447       37,   617,   166,   278,   486,  1152,   813,   828,   829,  1158,
24448     1048,   161,  1141,   166,   406,   848,   199,   641,   544,   487,
24449      544,   544,  1143,   281,   210,   544,   777,   766,   487,  1072,
24450      166,   486,  1112,   486,   487,   490,   487,  1086,   487,   435,
24451      378,   487,   487,   487,  1071,  1071,  1071,   487,   298,  1095,
24452      487,  1032,  1033,  1076,   486,  1085,  1020,   486,  1142,  1018,
24453      278,   430,  1025,  1018,   215,  1018,  1149,  1039,   486,  1039,
24454     1157,    96,   176,   345,   486,  1002,  1003,  1004,  1005,  1006,
24455     1007,  1071,  1071,   448,  1089,  1089,   487,   968,   949,    86,
24456      794,   796,   129,  1071,   777,   278,   777,   487,   600,   603,
24457      280,   837,   753,   753,   800,   326,   600,   486,   827,   487,
24458      406,   365,   960,   487,   490,    37,   148,   148,   545,   725,
24459     1156,  1143,   406,   486,   808,   837,   839,   735,   486,   486,
24460      743,  1143,   487,   486,   365,   960,  1143,  1143,   486,   486,
24461      486,   449,   472,   915,   334,   915,   915,   161,  1143,   545,
24462     1143,   761,   571,   572,  1160,    51,    95,   120,   137,   141,
24463      162,   165,   180,   268,   318,   567,   565,  1152,   808,    37,
24464      844,   844,  1141,   712,   487,   183,   486,   618,   239,   601,
24465      194,   486,   716,   708,   486,  1141,   487,   362,    28,    79,
24466       87,   115,   170,   183,   195,   381,   384,   593,   593,  1140,
24467     1143,  1145,   487,   971,   686,   148,   107,   661,   166,   700,
24468      348,   394,   702,   134,   705,   445,   707,  1143,    37,  1143,
24469      624,   579,  1141,   487,   583,   282,  1157,   615,   610,   614,
24470      119,   133,   307,  1143,    60,    68,   231,   971,   753,  1026,
24471      794,   815,   487,   490,   416,  1036,   376,   376,   487,   640,
24472      259,   434,   642,   643,  1143,   544,  1072,  1112,   487,  1081,
24473     1109,   259,   468,    55,   987,   487,   490,    37,  1034,   114,
24474     1046,  1047,  1072,    77,  1142,   487,  1071,   486,  1018,  1025,
24475      486,   487,  1039,   487,   486,   366,   486,   487,   490,  1090,
24476     1091,  1157,   435,  1143,   487,   490,   264,   428,   779,   788,
24477      544,   795,   827,   486,   548,   801,  1141,   827,   598,   618,
24478     1143,   397,   666,   183,   430,   546,   365,   960,  1143,  1112,
24479      161,   738,   738,  1112,  1112,  1071,   397,  1109,  1109,   555,
24480      556,  1159,   752,   753,   752,   753,  1142,   544,   487,   490,
24481      479,   486,   523,   573,   636,   912,  1152,   912,   263,   268,
24482      318,   912,   912,  1036,   844,    40,   188,   161,   259,   596,
24483      486,   632,  1071,   167,   297,   371,   278,   605,   606,   607,
24484      397,   487,  1149,     6,   717,   579,   609,  1143,   487,   661,
24485      155,   737,   549,   895,  1141,   453,  1017,   912,   348,   380,
24486      706,   486,   147,   661,   971,   944,   610,   579,   609,   586,
24487      486,   616,   614,   615,   349,   349,    68,   281,    68,   624,
24488      793,   487,   822,   828,  1048,   129,   449,   449,   434,   640,
24489      661,   487,   487,   487,   435,  1109,   177,   319,   349,  1096,
24490     1035,  1032,   486,  1072,   487,   490,    37,  1042,  1043,  1157,
24491      487,  1142,  1109,   487,  1109,   486,  1109,  1003,   490,    37,
24492      971,  1036,   796,   365,   166,   618,   837,   801,   802,   597,
24493      618,   487,   712,  1143,   632,  1071,   397,   487,   284,   355,
24494      323,   739,   739,   487,   487,   487,  1143,   487,   487,   487,
24495      490,  1151,   915,   572,   523,   574,   575,  1152,  1152,   268,
24496      598,   479,   598,  1152,  1152,   134,   196,   633,   487,   119,
24497      428,   278,   607,   278,   606,  1143,   486,   487,   490,   554,
24498      362,   661,   753,    37,    37,   486,  1143,   703,  1157,  1071,
24499      708,   895,   624,   614,   554,   610,   486,   612,   613,  1076,
24500     1157,   617,   615,   616,   281,   281,   486,   191,   797,    29,
24501      205,   883,   168,   168,    49,    97,   419,  1071,  1097,  1098,
24502     1097,  1097,   487,  1039,   490,  1047,  1160,   487,   490,   161,
24503     1048,   487,   487,   487,  1002,   487,  1091,  1093,   963,   777,
24504      446,   604,   487,   802,   601,   712,   960,  1143,   808,    55,
24505      960,   406,   555,   753,   487,   490,   598,   348,   487,   385,
24506       59,   259,   338,   365,   608,   608,   487,     6,   362,  1143,
24507      734,   971,   661,   487,  1149,   615,   610,   614,  1071,   487,
24508      490,   799,   799,   616,   617,   794,   486,   549,   264,   486,
24509      878,   880,   884,   946,   955,   962,   971,   808,   808,  1098,
24510      348,   160,   305,   160,   305,   144,  1099,  1099,  1099,   487,
24511     1073,  1043,   285,     3,   114,   263,   268,  1044,  1045,   333,
24512     1030,   487,  1036,   544,   486,   712,   605,   960,   753,   486,
24513      575,   707,    23,   114,   268,  1143,   661,   895,   486,   616,
24514      614,   615,   487,   613,   753,   800,   800,   617,   487,   796,
24515      798,   617,   879,   880,   881,   972,   973,   490,   490,    34,
24516       97,   175,   259,   403,  1085,  1072,  1072,   268,  1045,   486,
24517     1071,   712,  1109,   147,   661,     5,   709,   710,  1151,  1152,
24518     1160,   617,   615,   616,   799,   797,   487,   490,  1036,   487,
24519      489,   406,   166,  1098,   348,   286,    77,  1071,   487,   487,
24520      708,   487,   490,   616,   617,   800,   549,   796,   881,   376,
24521      376,  1042,   487,  1149,   710,   617,   617,   449,   449,   487,
24522      486,  1036,   168,   168,   709,   808,   808,   487
24523 };
24524 
24525   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
24526 static const yytype_uint16 yyr1[] =
24527 {
24528        0,   492,   493,   494,   494,   495,   495,   495,   495,   495,
24529      495,   495,   495,   495,   495,   495,   495,   495,   495,   495,
24530      495,   495,   495,   495,   495,   495,   495,   495,   495,   495,
24531      495,   495,   495,   495,   495,   495,   495,   495,   495,   495,
24532      495,   495,   495,   495,   495,   495,   495,   495,   495,   495,
24533      495,   495,   495,   495,   495,   495,   495,   495,   495,   495,
24534      495,   495,   495,   495,   495,   495,   495,   495,   495,   495,
24535      495,   495,   495,   495,   495,   495,   495,   495,   495,   495,
24536      495,   495,   495,   495,   495,   495,   495,   495,   495,   495,
24537      495,   495,   495,   495,   495,   495,   495,   495,   495,   495,
24538      495,   495,   495,   495,   495,   495,   495,   495,   495,   495,
24539      495,   495,   495,   495,   495,   495,   495,   495,   495,   495,
24540      495,   495,   495,   495,   495,   495,   495,   495,   495,   495,
24541      495,   496,   497,   498,   498,   498,   499,   499,   500,   500,
24542      501,   501,   501,   501,   501,   501,   501,   501,   501,   502,
24543      502,   502,   502,   502,   502,   503,   504,   504,   505,   505,
24544      506,   506,   506,   506,   507,   507,   507,   507,   507,   507,
24545      508,   509,   510,   510,   511,   511,   511,   511,   512,   512,
24546      513,   513,   514,   514,   514,   514,   514,   514,   515,   515,
24547      515,   516,   516,   516,   517,   517,   517,   517,   518,   518,
24548      518,   518,   518,   518,   518,   518,   518,   518,   518,   519,
24549      519,   520,   520,   521,   521,   522,   522,   522,   522,   523,
24550      523,   523,   523,   524,   524,   524,   524,   524,   524,   524,
24551      525,   525,   525,   526,   526,   527,   528,   528,   528,   528,
24552      529,   529,   530,   530,   531,   531,   532,   532,   532,   532,
24553      532,   533,   534,   534,   535,   535,   536,   537,   537,   537,
24554      537,   537,   538,   538,   538,   538,   538,   538,   538,   538,
24555      538,   538,   538,   538,   538,   538,   538,   538,   538,   538,
24556      538,   539,   539,   540,   540,   541,   542,   542,   542,   542,
24557      542,   542,   542,   542,   542,   542,   542,   542,   542,   542,
24558      542,   542,   542,   542,   542,   542,   542,   542,   542,   542,
24559      542,   542,   542,   542,   542,   542,   542,   542,   542,   542,
24560      542,   542,   542,   542,   542,   542,   542,   542,   542,   542,
24561      542,   542,   542,   542,   542,   542,   542,   542,   542,   542,
24562      542,   542,   542,   542,   543,   543,   544,   544,   544,   545,
24563      545,   546,   546,   547,   547,   547,   547,   548,   549,   549,
24564      550,   550,   551,   551,   551,   551,   552,   552,   553,   553,
24565      553,   553,   554,   554,   554,   554,   555,   556,   556,   557,
24566      558,   558,   559,   559,   559,   559,   560,   560,   561,   561,
24567      562,   562,   563,   563,   564,   564,   564,   565,   565,   566,
24568      566,   567,   567,   567,   567,   567,   567,   567,   567,   567,
24569      567,   567,   567,   567,   568,   568,   569,   569,   570,   570,
24570      571,   571,   572,   573,   573,   573,   573,   573,   574,   574,
24571      575,   576,   576,   576,   576,   576,   576,   577,   577,   577,
24572      577,   577,   577,   577,   577,   578,   578,   579,   579,   580,
24573      580,   581,   581,   582,   582,   582,   583,   583,   584,   585,
24574      585,   586,   586,   587,   587,   587,   587,   588,   588,   588,
24575      588,   588,   588,   588,   588,   588,   589,   589,   590,   590,
24576      590,   590,   591,   592,   592,   592,   593,   593,   593,   593,
24577      593,   593,   593,   593,   593,   594,   594,   595,   595,   595,
24578      595,   595,   595,   595,   596,   596,   597,   597,   598,   598,
24579      599,   600,   600,   601,   601,   601,   601,   602,   602,   603,
24580      603,   604,   604,   605,   605,   605,   605,   605,   606,   607,
24581      608,   608,   608,   608,   608,   609,   609,   610,   610,   611,
24582      612,   612,   613,   613,   613,   614,   614,   615,   615,   615,
24583      616,   616,   616,   616,   617,   617,   618,   618,   619,   620,
24584      620,   621,   621,   622,   622,   623,   624,   624,   624,   625,
24585      625,   626,   627,   627,   628,   629,   629,   630,   630,   631,
24586      631,   632,   632,   633,   633,   634,   634,   634,   634,   634,
24587      634,   634,   634,   634,   634,   634,   634,   634,   634,   635,
24588      635,   636,   636,   636,   636,   637,   637,   638,   638,   639,
24589      639,   640,   640,   641,   641,   642,   642,   643,   643,   644,
24590      644,   645,   645,   646,   647,   647,   648,   648,   649,   649,
24591      650,   650,   651,   651,   651,   651,   652,   653,   653,   654,
24592      655,   655,   655,   655,   655,   655,   655,   655,   655,   655,
24593      655,   655,   655,   655,   655,   655,   655,   655,   655,   655,
24594      655,   655,   655,   655,   655,   655,   655,   655,   656,   657,
24595      657,   657,   657,   658,   658,   659,   659,   660,   660,   661,
24596      661,   662,   662,   663,   664,   664,   665,   665,   665,   665,
24597      666,   667,   668,   669,   669,   670,   670,   671,   671,   672,
24598      672,   673,   673,   673,   674,   674,   674,   674,   675,   675,
24599      676,   677,   677,   678,   678,   679,   679,   680,   680,   681,
24600      681,   682,   683,   684,   685,   685,   686,   686,   687,   687,
24601      688,   688,   689,   689,   690,   690,   691,   691,   691,   691,
24602      691,   692,   693,   693,   694,   694,   695,   695,   695,   696,
24603      696,   697,   697,   697,   697,   697,   698,   698,   699,   699,
24604      700,   701,   701,   702,   702,   703,   704,   704,   705,   705,
24605      706,   706,   707,   707,   708,   708,   709,   709,   709,   710,
24606      710,   710,   710,   711,   711,   712,   712,   713,   713,   713,
24607      713,   713,   713,   714,   714,   715,   715,   716,   717,   717,
24608      718,   719,   719,   719,   719,   720,   721,   721,   721,   721,
24609      721,   721,   721,   721,   721,   721,   721,   721,   721,   721,
24610      721,   721,   722,   723,   723,   724,   724,   725,   725,   725,
24611      725,   725,   725,   726,   727,   727,   728,   729,   729,   730,
24612      730,   731,   731,   731,   731,   732,   732,   733,   734,   734,
24613      735,   735,   735,   735,   735,   736,   736,   737,   737,   738,
24614      738,   738,   739,   739,   740,   741,   741,   742,   742,   743,
24615      743,   744,   744,   745,   745,   746,   747,   748,   748,   748,
24616      748,   748,   748,   748,   748,   748,   748,   748,   748,   749,
24617      749,   749,   749,   749,   749,   749,   749,   749,   749,   749,
24618      749,   749,   750,   750,   750,   750,   750,   750,   750,   751,
24619      751,   751,   752,   752,   753,   753,   754,   754,   755,   755,
24620      756,   757,   757,   757,   758,   758,   758,   758,   758,   758,
24621      758,   758,   758,   758,   758,   758,   758,   758,   758,   758,
24622      758,   758,   758,   759,   759,   759,   759,   759,   759,   759,
24623      759,   759,   759,   759,   759,   759,   759,   760,   760,   760,
24624      760,   760,   760,   760,   760,   760,   760,   760,   760,   761,
24625      761,   762,   762,   762,   762,   762,   762,   762,   762,   762,
24626      763,   763,   764,   764,   764,   764,   764,   764,   765,   765,
24627      765,   765,   765,   765,   765,   765,   766,   766,   767,   767,
24628      768,   768,   768,   768,   768,   768,   768,   768,   768,   768,
24629      768,   768,   768,   768,   768,   768,   769,   769,   770,   770,
24630      771,   772,   772,   773,   773,   773,   773,   773,   774,   774,
24631      775,   775,   775,   775,   776,   776,   776,   776,   776,   776,
24632      776,   776,   776,   776,   776,   776,   776,   776,   776,   776,
24633      776,   776,   776,   776,   777,   777,   778,   778,   779,   779,
24634      780,   781,   781,   782,   782,   783,   783,   784,   785,   785,
24635      786,   786,   786,   787,   787,   787,   788,   788,   788,   788,
24636      788,   788,   789,   789,   790,   790,   791,   791,   792,   792,
24637      793,   793,   794,   794,   795,   795,   796,   796,   796,   797,
24638      797,   798,   798,   799,   799,   800,   800,   801,   801,   801,
24639      802,   802,   802,   803,   803,   803,   803,   804,   804,   805,
24640      805,   806,   806,   807,   807,   808,   808,   808,   808,   809,
24641      809,   810,   810,   811,   811,   811,   811,   811,   812,   812,
24642      812,   812,   812,   813,   814,   815,   815,   815,   816,   816,
24643      816,   817,   818,   818,   818,   818,   819,   819,   820,   821,
24644      821,   822,   822,   823,   823,   823,   823,   823,   823,   823,
24645      823,   823,   823,   823,   823,   823,   823,   823,   823,   823,
24646      824,   824,   824,   824,   824,   825,   825,   826,   826,   827,
24647      827,   828,   829,   829,   830,   830,   830,   831,   831,   832,
24648      832,   833,   833,   833,   833,   833,   833,   834,   834,   835,
24649      835,   836,   836,   836,   836,   837,   837,   838,   838,   839,
24650      840,   841,   841,   842,   842,   843,   843,   843,   844,   844,
24651      844,   845,   846,   846,   847,   848,   848,   848,   848,   849,
24652      850,   850,   850,   850,   851,   851,   852,   852,   852,   853,
24653      853,   854,   855,   855,   856,   856,   856,   856,   856,   856,
24654      856,   856,   856,   856,   856,   856,   856,   856,   856,   856,
24655      856,   856,   856,   856,   856,   856,   856,   856,   856,   856,
24656      856,   856,   856,   856,   856,   856,   856,   856,   856,   856,
24657      856,   856,   856,   856,   856,   856,   856,   856,   856,   856,
24658      856,   856,   856,   856,   856,   856,   856,   856,   856,   857,
24659      857,   858,   858,   859,   859,   859,   859,   859,   859,   860,
24660      860,   861,   861,   861,   861,   861,   861,   861,   861,   861,
24661      861,   861,   861,   861,   861,   861,   861,   861,   861,   861,
24662      861,   861,   861,   861,   861,   861,   861,   861,   862,   863,
24663      863,   864,   864,   865,   865,   865,   865,   865,   866,   867,
24664      867,   867,   867,   867,   867,   867,   867,   867,   867,   867,
24665      867,   867,   867,   867,   867,   867,   867,   867,   867,   867,
24666      867,   867,   867,   868,   869,   869,   870,   870,   871,   871,
24667      871,   871,   872,   873,   873,   874,   875,   875,   875,   875,
24668      875,   875,   876,   876,   877,   878,   878,   878,   879,   879,
24669      880,   880,   880,   880,   880,   881,   881,   882,   882,   882,
24670      882,   883,   883,   883,   884,   885,   885,   886,   887,   887,
24671      888,   888,   888,   888,   888,   888,   888,   888,   888,   888,
24672      888,   888,   888,   888,   889,   889,   889,   890,   890,   890,
24673      890,   890,   891,   891,   891,   892,   892,   893,   893,   893,
24674      894,   894,   894,   894,   895,   895,   895,   895,   896,   897,
24675      898,   898,   899,   899,   900,   900,   900,   901,   901,   901,
24676      901,   901,   901,   901,   902,   902,   903,   903,   903,   904,
24677      905,   905,   905,   905,   906,   906,   907,   908,   909,   909,
24678      910,   911,   911,   911,   911,   911,   911,   911,   912,   912,
24679      913,   914,   914,   914,   914,   914,   914,   915,   915,   916,
24680      917,   917,   917,   918,   918,   919,   919,   920,   920,   921,
24681      921,   922,   922,   923,   924,   924,   925,   925,   925,   926,
24682      926,   927,   927,   928,   928,   929,   929,   930,   930,   931,
24683      932,   932,   933,   933,   934,   934,   934,   934,   935,   935,
24684      935,   935,   935,   935,   935,   935,   935,   936,   936,   937,
24685      938,   938,   939,   939,   939,   940,   941,   941,   942,   942,
24686      942,   942,   943,   943,   943,   944,   944,   945,   945,   945,
24687      945,   946,   947,   947,   948,   948,   948,   948,   948,   949,
24688      949,   950,   950,   951,   952,   952,   952,   953,   953,   953,
24689      954,   954,   955,   956,   956,   957,   958,   958,   959,   959,
24690      959,   959,   959,   959,   959,   959,   960,   960,   961,   961,
24691      961,   962,   963,   963,   964,   964,   965,   966,   966,   967,
24692      968,   969,   969,   969,   969,   969,   970,   970,   970,   971,
24693      971,   972,   972,   973,   973,   973,   973,   973,   973,   973,
24694      973,   974,   974,   975,   975,   975,   975,   975,   975,   975,
24695      976,   976,   976,   977,   977,   978,   979,   979,   979,   980,
24696      980,   981,   981,   982,   982,   982,   982,   982,   982,   982,
24697      982,   982,   983,   983,   984,   984,   984,   985,   985,   986,
24698      986,   987,   987,   988,   989,   989,   990,   990,   991,   991,
24699      991,   991,   992,   992,   993,   993,   993,   993,   993,   993,
24700      994,   994,   995,   995,   996,   997,   997,   997,   998,   998,
24701      999,   999,  1000,  1000,  1001,  1001,  1002,  1002,  1003,  1003,
24702     1003,  1003,  1003,  1004,  1005,  1006,  1007,  1008,  1008,  1009,
24703     1009,  1010,  1010,  1011,  1011,  1012,  1013,  1013,  1013,  1013,
24704     1014,  1014,  1015,  1015,  1016,  1016,  1017,  1017,  1018,  1018,
24705     1018,  1018,  1018,  1018,  1018,  1018,  1018,  1018,  1019,  1019,
24706     1019,  1019,  1019,  1019,  1020,  1020,  1020,  1020,  1021,  1021,
24707     1022,  1022,  1022,  1022,  1022,  1023,  1023,  1023,  1023,  1024,
24708     1024,  1025,  1025,  1026,  1026,  1026,  1026,  1027,  1027,  1028,
24709     1028,  1028,  1029,  1030,  1030,  1031,  1031,  1032,  1033,  1033,
24710     1034,  1034,  1035,  1035,  1036,  1036,  1037,  1037,  1037,  1038,
24711     1038,  1039,  1039,  1040,  1041,  1041,  1042,  1042,  1043,  1043,
24712     1043,  1044,  1044,  1045,  1045,  1045,  1045,  1046,  1046,  1047,
24713     1047,  1048,  1048,  1048,  1048,  1048,  1048,  1049,  1049,  1049,
24714     1050,  1050,  1050,  1050,  1050,  1050,  1050,  1051,  1051,  1051,
24715     1051,  1052,  1052,  1053,  1053,  1054,  1054,  1054,  1054,  1054,
24716     1054,  1054,  1054,  1054,  1054,  1054,  1055,  1055,  1056,  1056,
24717     1057,  1057,  1058,  1059,  1060,  1060,  1061,  1061,  1062,  1063,
24718     1064,  1064,  1064,  1064,  1064,  1064,  1065,  1065,  1066,  1066,
24719     1066,  1066,  1067,  1068,  1068,  1068,  1069,  1069,  1069,  1069,
24720     1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,
24721     1070,  1070,  1071,  1071,  1071,  1071,  1071,  1071,  1071,  1071,
24722     1071,  1071,  1071,  1071,  1071,  1071,  1071,  1071,  1071,  1071,
24723     1071,  1071,  1071,  1071,  1071,  1071,  1071,  1071,  1071,  1071,
24724     1071,  1071,  1071,  1071,  1071,  1071,  1071,  1071,  1071,  1071,
24725     1071,  1071,  1071,  1071,  1071,  1071,  1071,  1071,  1071,  1071,
24726     1071,  1071,  1071,  1071,  1071,  1071,  1071,  1071,  1071,  1071,
24727     1071,  1071,  1071,  1071,  1071,  1071,  1071,  1071,  1071,  1071,
24728     1072,  1072,  1072,  1072,  1072,  1072,  1072,  1072,  1072,  1072,
24729     1072,  1072,  1072,  1072,  1072,  1072,  1072,  1072,  1072,  1072,
24730     1072,  1072,  1072,  1072,  1072,  1073,  1073,  1073,  1073,  1073,
24731     1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,  1074,
24732     1074,  1074,  1074,  1074,  1074,  1074,  1075,  1075,  1076,  1076,
24733     1077,  1077,  1077,  1077,  1077,  1077,  1077,  1077,  1077,  1077,
24734     1077,  1077,  1077,  1077,  1077,  1077,  1077,  1077,  1077,  1077,
24735     1077,  1077,  1077,  1077,  1077,  1077,  1077,  1077,  1077,  1077,
24736     1077,  1077,  1077,  1077,  1077,  1077,  1077,  1077,  1077,  1077,
24737     1077,  1077,  1077,  1077,  1078,  1078,  1079,  1079,  1079,  1079,
24738     1080,  1081,  1081,  1082,  1082,  1083,  1083,  1084,  1084,  1084,
24739     1085,  1085,  1085,  1085,  1086,  1086,  1087,  1087,  1088,  1088,
24740     1089,  1089,  1090,  1090,  1091,  1092,  1092,  1092,  1093,  1094,
24741     1094,  1095,  1095,  1096,  1096,  1096,  1096,  1097,  1097,  1098,
24742     1098,  1098,  1098,  1098,  1099,  1099,  1099,  1099,  1099,  1100,
24743     1100,  1100,  1101,  1101,  1102,  1103,  1103,  1103,  1104,  1104,
24744     1105,  1105,  1105,  1105,  1105,  1105,  1105,  1105,  1105,  1105,
24745     1105,  1105,  1106,  1106,  1107,  1107,  1108,  1108,  1108,  1108,
24746     1108,  1108,  1109,  1109,  1110,  1110,  1111,  1111,  1111,  1112,
24747     1112,  1113,  1113,  1113,  1114,  1114,  1115,  1115,  1116,  1116,
24748     1116,  1116,  1116,  1116,  1116,  1116,  1117,  1117,  1117,  1117,
24749     1118,  1118,  1119,  1120,  1120,  1121,  1121,  1121,  1121,  1121,
24750     1121,  1122,  1123,  1124,  1124,  1124,  1125,  1125,  1126,  1127,
24751     1127,  1128,  1129,  1129,  1130,  1130,  1131,  1131,  1132,  1132,
24752     1132,  1132,  1133,  1133,  1134,  1134,  1135,  1135,  1136,  1136,
24753     1137,  1137,  1138,  1138,  1139,  1139,  1139,  1139,  1140,  1140,
24754     1141,  1141,  1142,  1142,  1143,  1144,  1145,  1146,  1147,  1148,
24755     1149,  1149,  1150,  1150,  1150,  1150,  1150,  1150,  1150,  1150,
24756     1150,  1150,  1150,  1150,  1150,  1151,  1152,  1153,  1153,  1153,
24757     1154,  1155,  1155,  1155,  1156,  1156,  1157,  1157,  1157,  1158,
24758     1158,  1158,  1159,  1159,  1159,  1159,  1160,  1160,  1160,  1160,
24759     1160,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,
24760     1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,
24761     1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,
24762     1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,
24763     1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,
24764     1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,
24765     1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,
24766     1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,
24767     1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,
24768     1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,
24769     1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,
24770     1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,
24771     1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,
24772     1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,
24773     1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,
24774     1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,
24775     1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,
24776     1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,
24777     1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,
24778     1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,
24779     1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,
24780     1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,
24781     1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,
24782     1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,
24783     1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,
24784     1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,
24785     1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,
24786     1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,
24787     1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,
24788     1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,
24789     1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,
24790     1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,
24791     1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,
24792     1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,
24793     1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,  1162,
24794     1162,  1163,  1163,  1163,  1163,  1163,  1163,  1163,  1163,  1163,
24795     1163,  1163,  1163,  1163,  1163,  1163,  1163,  1163,  1163,  1163,
24796     1163,  1163,  1163,  1163,  1164,  1164,  1164,  1164,  1164,  1164,
24797     1164,  1164,  1164,  1164,  1164,  1164,  1164,  1164,  1164,  1164,
24798     1164,  1164,  1164,  1164,  1164,  1164,  1164,  1164,  1164,  1164,
24799     1164,  1164,  1164,  1164,  1164,  1164,  1164,  1164,  1164,  1164,
24800     1164,  1164,  1164,  1164,  1164,  1164,  1164,  1164,  1164,  1164,
24801     1164,  1164,  1164,  1164,  1164,  1164,  1164,  1164,  1164,  1164,
24802     1164,  1164,  1164,  1164,  1164,  1164,  1164,  1164,  1164,  1164,
24803     1164,  1164,  1164,  1164,  1164,  1164,  1164,  1164,  1164,  1164,
24804     1164
24805 };
24806 
24807   /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
24808 static const yytype_uint8 yyr2[] =
24809 {
24810        0,     2,     1,     3,     1,     1,     1,     1,     1,     1,
24811        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24812        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24813        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24814        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24815        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24816        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24817        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24818        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24819        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24820        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24821        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24822        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24823        0,     2,     5,     1,     1,     0,     2,     0,     2,     0,
24824        2,     2,     3,     3,     1,     3,     3,     2,     1,     1,
24825        2,     2,     2,     3,     3,     5,     5,     5,     0,     3,
24826        5,     5,     5,     5,     3,     5,     3,     5,     3,     5,
24827        5,     6,     1,     1,     6,     4,     9,     7,     1,     0,
24828        2,     0,     1,     1,     1,     1,     1,     1,     2,     3,
24829        3,     2,     5,     1,     3,     3,     3,     3,     1,     3,
24830        3,     2,     2,     2,     2,     3,     3,     3,     3,     1,
24831        3,     1,     3,     1,     1,     2,     2,     2,     1,     1,
24832        1,     1,     1,     1,     1,     3,     5,     1,     1,     1,
24833        1,     1,     0,     1,     1,     2,     1,     2,     3,     2,
24834        1,     1,     2,     1,     2,     1,     2,     3,     4,     3,
24835        2,     4,     1,     1,     1,     1,     1,     2,     2,     2,
24836        2,     2,     4,     6,     4,     6,    10,    13,     4,     6,
24837        4,    10,    13,     4,     6,     4,     6,     5,     7,    11,
24838       14,     1,     3,     4,     3,     3,     2,     5,     3,     6,
24839        4,     6,     6,     5,     7,     6,     6,     5,     5,     6,
24840        9,     4,     5,     7,     6,     4,     8,     4,     2,     4,
24841        3,     6,     4,     3,     3,     3,     2,     2,     3,     4,
24842        4,     3,     3,     3,     3,     3,     3,     4,     4,     3,
24843        2,     3,     2,     2,     3,     3,     2,     2,     3,     4,
24844        4,     4,     5,     1,     3,     2,     1,     1,     0,     2,
24845        0,     2,     0,     1,     1,     1,     3,     3,     2,     0,
24846        1,     3,     3,     1,     5,     3,     1,     2,     1,     3,
24847        2,     3,     6,     6,    10,     1,     2,     1,     3,     4,
24848        1,     3,     4,     6,     4,     8,     2,     2,    11,     9,
24849        1,     1,     1,     0,     1,     1,     1,     1,     3,     2,
24850        0,     1,     1,     3,     3,     1,     1,     3,     3,     3,
24851        3,     4,     3,     2,     1,     0,     3,     0,     1,     0,
24852        1,     3,     2,     1,     1,     1,     3,     0,     1,     3,
24853        1,    13,    16,    12,    15,    14,    17,     1,     1,     2,
24854        2,     2,     2,     1,     0,     1,     0,     3,     0,     1,
24855        3,     1,     3,     1,     1,     1,     1,     1,     4,     2,
24856        4,     2,     0,     3,     1,     1,     2,     2,     1,     3,
24857        4,     5,     2,     5,     7,     5,     1,     2,     1,     2,
24858        2,     2,     3,     3,     3,     0,     1,     1,     1,     1,
24859        1,     1,     1,     1,     1,     3,     1,     5,     8,     3,
24860        9,     4,    10,    11,     2,     0,     3,     0,     1,     3,
24861        1,     4,     0,     2,     2,     2,     0,     1,     3,     3,
24862        6,     4,     0,     1,     1,     2,     2,     0,     3,     3,
24863        2,     1,     1,     2,     2,     4,     0,     1,     0,     6,
24864        1,     3,     3,     3,     5,     2,     0,     2,     2,     0,
24865        3,     4,     4,     0,     2,     0,     4,     0,     3,     8,
24866       11,     6,     8,     7,    10,     6,     2,     3,     0,     8,
24867       11,     5,     1,     0,     6,     5,     8,     4,     6,     1,
24868        0,     3,     0,     1,     2,     2,     2,     1,     2,     3,
24869        2,     2,     2,     2,     3,     3,     3,     1,     3,     1,
24870        0,     1,     2,     2,     1,     1,     3,     6,    10,     1,
24871        0,     1,     2,     2,     0,     2,     2,     1,     0,     5,
24872        7,     1,     0,     7,     2,     0,     3,     5,     5,     8,
24873        2,     0,     2,     2,     2,     1,     5,     2,     0,     2,
24874        7,     6,    10,     6,     6,     6,     6,     7,     6,     9,
24875        9,     6,     6,     6,     7,     6,     8,     8,     8,     8,
24876        6,     6,     7,     7,     8,     6,     9,     6,     7,     2,
24877        2,     2,     2,     1,     2,     1,     0,     7,     6,     4,
24878        0,     1,     3,     4,     1,     3,     1,     2,     2,     2,
24879        2,     1,     1,    10,    13,     2,     0,     2,     2,     1,
24880        0,     5,     4,     4,    11,    14,    12,    15,     5,     7,
24881       11,     2,     1,     4,     0,     8,    11,     1,     1,     7,
24882        9,     8,    10,     8,     4,     0,     5,     0,     2,     0,
24883        2,     0,     2,     0,     2,     0,     1,     1,     1,     1,
24884        1,     8,     1,     1,    16,    20,     1,     1,     2,     1,
24885        3,     1,     1,     1,     3,     1,     2,     0,     1,     2,
24886        4,     1,     1,     1,     1,     1,     3,     0,     1,     0,
24887        1,     1,     4,     0,     1,     1,     1,     3,     0,     1,
24888        1,     1,     1,     2,     0,     0,     2,     2,     1,     2,
24889        2,     2,     2,    11,    13,     1,     3,     5,     1,     3,
24890        5,     1,     2,     2,     1,     8,     6,     5,     4,     4,
24891        3,     7,     8,     6,     6,     6,     6,     6,     4,     7,
24892        5,     8,     3,     1,     3,     3,     1,     1,     1,     1,
24893        1,     1,     1,     3,     1,     3,     3,     1,     0,     1,
24894        3,     7,     9,     9,     8,     3,     0,    13,     1,     3,
24895        5,     5,     3,     6,     2,     1,     0,     2,     0,     2,
24896        4,     0,     1,     0,     6,     8,     8,     1,     3,     5,
24897        5,     7,     9,     7,     9,     5,     6,     6,     4,     6,
24898        4,     6,     8,     4,     6,     4,     6,     5,     7,     1,
24899        1,     1,     2,     1,     2,     1,     1,     1,     3,     3,
24900        3,     3,     2,     2,     1,     3,     1,     1,     1,     1,
24901        1,     1,     1,     3,     1,     2,     2,     3,     1,     3,
24902        5,     2,     2,     0,     6,     6,     6,     6,     6,     6,
24903        6,     8,     9,     8,     6,     6,     8,     9,     8,     9,
24904        9,     7,    10,     1,     1,     1,     1,     1,     1,     2,
24905        1,     1,     2,     3,     3,     3,     3,     2,     1,     2,
24906        1,     3,     2,     1,     1,     1,     1,     1,     1,     1,
24907        1,     8,     8,     8,     8,     8,     8,     9,     8,     8,
24908        2,     0,     1,     2,     1,     1,     1,     2,     1,     2,
24909        2,     1,     1,     1,     1,     1,     1,     1,     2,     2,
24910        1,     2,     3,     3,     3,     3,     4,     4,     3,     3,
24911        3,     4,     4,     3,     4,     4,     1,     1,     1,     0,
24912        7,     7,    10,     1,     1,     2,     4,     5,     1,     3,
24913        2,     2,     2,     2,     1,     2,     2,     4,     3,     2,
24914        2,     2,     2,     2,     2,     3,     2,     2,     2,     5,
24915        5,     5,     5,     5,     1,     3,     1,     2,     3,     0,
24916        6,     6,     9,     3,     0,     3,     0,     5,     2,     0,
24917        3,     3,     3,     7,     7,    10,     1,     1,     1,     1,
24918        1,     1,    15,    18,     1,     0,     1,     0,     1,     0,
24919        2,     0,     1,     3,     4,     5,     2,     2,     4,     4,
24920        0,     1,     3,     2,     0,     1,     0,     1,     1,     0,
24921        2,     2,     0,     8,    11,     6,     6,     2,     0,     3,
24922        2,     1,     3,     1,     3,     2,     1,     1,     2,     3,
24923        2,     1,     3,     3,     3,     2,     2,     1,     1,     1,
24924        1,     2,     1,     1,     1,     1,     4,     5,     1,     3,
24925        3,     1,     3,     3,     5,     6,     1,     3,     2,     1,
24926        3,     1,     2,     4,     5,     1,     1,     1,     1,     3,
24927        3,     2,     2,     1,     2,     2,     2,     2,     1,     2,
24928        2,     2,     2,     1,     1,     1,     3,     3,     5,     2,
24929        0,     2,     1,     3,     5,     5,     5,     1,     2,     1,
24930        0,     4,     6,     4,     6,     4,     6,     4,     6,     4,
24931        6,     3,     5,     5,     5,     1,     3,     1,     3,     2,
24932        2,     1,     2,     1,     2,    11,    10,    10,     2,     2,
24933        0,     9,     2,     0,    10,    11,    11,     5,     5,     8,
24934        4,     4,     7,     7,     1,     1,     1,     1,     1,     1,
24935        3,     1,     5,     5,     6,     6,     6,     6,     6,     8,
24936        8,     6,     6,     7,     9,     9,     8,    10,     6,     6,
24937        6,     6,     6,     6,     6,     8,     6,     8,     6,     8,
24938        7,     9,     6,     8,     7,     9,     8,    10,     8,    10,
24939        9,    11,     8,    10,     9,    11,     8,     8,     7,     6,
24940        6,     6,     6,     8,     8,     8,     8,     6,     9,     1,
24941        0,     2,     0,     8,     8,     8,    10,     9,     8,     1,
24942        0,     6,     6,     6,     6,     6,     6,     6,     9,     9,
24943        6,     6,     6,     8,     6,     8,     8,     8,     8,     6,
24944        8,     6,     8,     7,     9,     7,     9,     6,     7,     1,
24945        3,     3,     3,     1,     1,     1,     1,     1,     7,     6,
24946        6,     6,     6,     6,     6,     7,     7,     6,     9,     9,
24947        6,     6,     6,     6,     6,     6,     8,     8,     8,     6,
24948        7,     6,     6,     5,     1,     0,     3,     3,     5,     6,
24949        6,     6,     8,     1,     3,     1,     5,     5,     6,     7,
24950        4,     4,     4,     6,    13,     1,     1,     3,     3,     1,
24951        1,     1,     1,     1,     1,     1,     0,     1,     1,     1,
24952        1,     1,     1,     0,     3,     2,     0,     2,     2,     2,
24953        3,     3,     3,     3,     3,     3,     2,     3,     2,     5,
24954        4,     3,     3,     3,     1,     1,     0,     3,     2,     2,
24955        1,     2,     1,     3,     2,     1,     0,     2,     3,     0,
24956        9,    11,    12,    14,     3,     4,     4,     0,     2,     5,
24957        1,     0,     1,     2,     3,     3,     3,     1,     2,     1,
24958        1,     1,     1,     1,     1,     0,     5,     4,     6,     4,
24959        3,     5,     7,     9,     1,     3,     1,     5,     4,     4,
24960        6,     4,     6,     6,     5,     7,     9,     6,     1,     0,
24961        6,    11,    11,    11,    13,     9,    11,     1,     1,    10,
24962        4,     2,     5,     2,     0,     6,     5,     3,     5,     1,
24963        3,     1,     1,     2,     1,     1,     1,     1,     0,     1,
24964        0,     1,     0,     1,     0,     1,     0,     3,     0,     2,
24965        1,     3,     1,     0,     2,     4,     3,     5,     1,     1,
24966        1,     1,     1,     1,     1,     1,     1,     1,     3,     2,
24967        1,     1,     1,     1,     0,     5,     3,     0,     1,     1,
24968        1,     1,     3,     9,    12,     3,     0,     2,     3,     2,
24969        3,     7,     1,     3,     1,     4,     4,     7,     2,     1,
24970        1,     1,     3,     2,     8,     5,     0,     4,     3,     0,
24971        2,     0,     7,     2,     0,     5,     3,     0,     2,     2,
24972        2,     3,     1,     3,     1,     2,     1,     0,     1,     2,
24973        0,     8,     1,     3,     3,     5,     2,     1,     3,     7,
24974        1,     0,     3,     2,     2,     2,     0,     2,     2,     1,
24975        1,     3,     3,     1,     2,     4,     4,     2,     3,     5,
24976        5,     1,     1,     9,     9,     1,     2,     4,     4,     4,
24977        2,     2,     3,     1,     3,     7,     1,     2,     0,     1,
24978        0,     2,     0,     3,     3,     4,     4,     4,     4,     3,
24979        2,     1,     1,     0,     1,     1,     0,     1,     5,     1,
24980        0,     1,     0,     3,     1,     3,     4,     3,     2,     2,
24981        1,     1,     1,     0,     2,     4,     5,     6,     4,     5,
24982        2,     3,     1,     1,     1,     1,     2,     2,     1,     1,
24983        1,     1,     1,     1,     3,     0,     1,     3,     1,     1,
24984        1,     1,     1,     2,     4,     4,     5,     2,     0,     1,
24985        3,     1,     0,     1,     2,     3,     2,     4,     2,     3,
24986        2,     0,     4,     5,     2,     0,     1,     3,     2,     3,
24987        2,     3,     2,     3,     2,     3,     1,     4,     3,     4,
24988        5,     4,     5,     4,     5,     2,     4,     1,     1,     0,
24989        1,     4,     5,     4,     0,     2,     2,     2,     1,     1,
24990        0,     4,     2,     1,     2,     2,     4,     1,     3,     1,
24991        2,     3,     6,     4,     0,     2,     6,     2,     1,     3,
24992        4,     0,     2,     0,     2,     0,     2,     4,     0,     1,
24993        0,     1,     3,     3,     7,    12,     1,     3,     2,     3,
24994        3,     1,     2,     2,     2,     2,     1,     1,     3,     3,
24995        2,     2,     3,     5,     6,     2,     3,     3,     4,     0,
24996        1,     1,     1,     1,     1,     2,     4,     1,     1,     1,
24997        1,     2,     3,     3,     0,     1,     1,     1,     1,     1,
24998        2,     2,     2,     2,     2,     1,     3,     0,     1,     1,
24999        1,     1,     5,     2,     1,     1,     1,     1,     4,     1,
25000        2,     2,     1,     3,     3,     2,     1,     0,     5,     2,
25001        5,     2,     1,     3,     3,     0,     1,     1,     1,     1,
25002        1,     1,     3,     3,     3,     3,     3,     3,     3,     0,
25003        1,     4,     1,     3,     3,     5,     2,     2,     3,     3,
25004        3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
25005        3,     2,     2,     3,     3,     2,     2,     3,     5,     4,
25006        6,     3,     5,     4,     6,     4,     6,     5,     7,     3,
25007        2,     4,     2,     3,     3,     4,     3,     4,     3,     4,
25008        5,     6,     6,     7,     6,     7,     6,     7,     3,     4,
25009        4,     6,     2,     3,     4,     3,     4,     4,     5,     1,
25010        1,     3,     2,     2,     3,     3,     3,     3,     3,     3,
25011        3,     3,     3,     3,     3,     3,     3,     2,     2,     5,
25012        6,     6,     7,     3,     4,     1,     1,     2,     4,     1,
25013        1,     1,     2,     2,     2,     2,     1,     1,     4,     3,
25014        5,     6,     8,     6,     6,     4,     4,     1,     1,     1,
25015        5,     1,     1,     4,     1,     4,     1,     4,     1,     4,
25016        1,     1,     1,     1,     1,     1,     6,     4,     4,     6,
25017        4,     4,     4,     6,     5,     5,     5,     4,     6,     4,
25018        4,     4,     4,     5,     7,     7,     9,     5,     4,     6,
25019        5,     7,     7,     7,     2,     3,     3,     3,     4,     0,
25020        4,     1,     3,     3,     1,     1,     1,     2,     2,     0,
25021        2,     3,     3,     4,     2,     2,     5,     0,     5,     0,
25022        2,     0,     1,     3,     3,     2,     2,     0,     6,     1,
25023        0,     3,     0,     3,     3,     3,     0,     1,     4,     2,
25024        2,     2,     2,     2,     3,     2,     2,     3,     0,     4,
25025        3,     5,     4,     3,     5,     1,     1,     1,     1,     1,
25026        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25027        1,     1,     1,     4,     1,     4,     1,     4,     1,     2,
25028        1,     2,     1,     3,     1,     3,     1,     3,     3,     1,
25029        3,     3,     3,     2,     1,     3,     3,     0,     1,     1,
25030        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25031        4,     3,     2,     3,     0,     3,     3,     2,     2,     1,
25032        0,     2,     2,     3,     2,     1,     1,     3,     5,     1,
25033        2,     4,     2,     0,     1,     0,     1,     2,     2,     2,
25034        3,     5,     1,     0,     1,     2,     0,     2,     1,     0,
25035        1,     0,     1,     3,     3,     2,     1,     1,     1,     3,
25036        1,     2,     1,     3,     1,     1,     1,     1,     1,     1,
25037        1,     2,     1,     1,     1,     1,     1,     2,     6,     2,
25038        3,     5,     1,     1,     1,     1,     1,     1,     2,     2,
25039        1,     1,     1,     1,     1,     3,     1,     1,     1,     1,
25040        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25041        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25042        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25043        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25044        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25045        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25046        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25047        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25048        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25049        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25050        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25051        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25052        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25053        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25054        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25055        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25056        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25057        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25058        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25059        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25060        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25061        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25062        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25063        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25064        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25065        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25066        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25067        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25068        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25069        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25070        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25071        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25072        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25073        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25074        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25075        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25076        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25077        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25078        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25079        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25080        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25081        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25082        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25083        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25084        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25085        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25086        1
25087 };
25088 
25089 
25090 #define yyerrok         (yyerrstatus = 0)
25091 #define yyclearin       (yychar = YYEMPTY)
25092 #define YYEMPTY         (-2)
25093 #define YYEOF           0
25094 
25095 #define YYACCEPT        goto yyacceptlab
25096 #define YYABORT         goto yyabortlab
25097 #define YYERROR         goto yyerrorlab
25098 
25099 
25100 #define YYRECOVERING()  (!!yyerrstatus)
25101 
25102 #define YYBACKUP(Token, Value)                                    \
25103   do                                                              \
25104     if (yychar == YYEMPTY)                                        \
25105       {                                                           \
25106         yychar = (Token);                                         \
25107         yylval = (Value);                                         \
25108         YYPOPSTACK (yylen);                                       \
25109         yystate = *yyssp;                                         \
25110         goto yybackup;                                            \
25111       }                                                           \
25112     else                                                          \
25113       {                                                           \
25114         yyerror (&yylloc, yyscanner, YY_("syntax error: cannot back up")); \
25115         YYERROR;                                                  \
25116       }                                                           \
25117   while (0)
25118 
25119 /* Error token number */
25120 #define YYTERROR        1
25121 #define YYERRCODE       256
25122 
25123 
25124 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
25125    If N is 0, then set CURRENT to the empty location which ends
25126    the previous symbol: RHS[0] (always defined).  */
25127 
25128 #ifndef YYLLOC_DEFAULT
25129 # define YYLLOC_DEFAULT(Current, Rhs, N)                                \
25130     do                                                                  \
25131       if (N)                                                            \
25132         {                                                               \
25133           (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
25134           (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
25135           (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
25136           (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
25137         }                                                               \
25138       else                                                              \
25139         {                                                               \
25140           (Current).first_line   = (Current).last_line   =              \
25141             YYRHSLOC (Rhs, 0).last_line;                                \
25142           (Current).first_column = (Current).last_column =              \
25143             YYRHSLOC (Rhs, 0).last_column;                              \
25144         }                                                               \
25145     while (0)
25146 #endif
25147 
25148 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
25149 
25150 
25151 /* Enable debugging if requested.  */
25152 #if YYDEBUG
25153 
25154 # ifndef YYFPRINTF
25155 #  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
25156 #  define YYFPRINTF fprintf
25157 # endif
25158 
25159 # define YYDPRINTF(Args)                        \
25160 do {                                            \
25161   if (yydebug)                                  \
25162     YYFPRINTF Args;                             \
25163 } while (0)
25164 
25165 
25166 /* YY_LOCATION_PRINT -- Print the location on the stream.
25167    This macro was not mandated originally: define only if we know
25168    we won't break user code: when these are the locations we know.  */
25169 
25170 #ifndef YY_LOCATION_PRINT
25171 # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
25172 
25173 /* Print *YYLOCP on YYO.  Private, do not rely on its existence. */
25174 
25175 YY_ATTRIBUTE_UNUSED
25176 static int
yy_location_print_(FILE * yyo,YYLTYPE const * const yylocp)25177 yy_location_print_ (FILE *yyo, YYLTYPE const * const yylocp)
25178 {
25179   int res = 0;
25180   int end_col = 0 != yylocp->last_column ? yylocp->last_column - 1 : 0;
25181   if (0 <= yylocp->first_line)
25182     {
25183       res += YYFPRINTF (yyo, "%d", yylocp->first_line);
25184       if (0 <= yylocp->first_column)
25185         res += YYFPRINTF (yyo, ".%d", yylocp->first_column);
25186     }
25187   if (0 <= yylocp->last_line)
25188     {
25189       if (yylocp->first_line < yylocp->last_line)
25190         {
25191           res += YYFPRINTF (yyo, "-%d", yylocp->last_line);
25192           if (0 <= end_col)
25193             res += YYFPRINTF (yyo, ".%d", end_col);
25194         }
25195       else if (0 <= end_col && yylocp->first_column < end_col)
25196         res += YYFPRINTF (yyo, "-%d", end_col);
25197     }
25198   return res;
25199  }
25200 
25201 #  define YY_LOCATION_PRINT(File, Loc)          \
25202   yy_location_print_ (File, &(Loc))
25203 
25204 # else
25205 #  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
25206 # endif
25207 #endif
25208 
25209 
25210 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
25211 do {                                                                      \
25212   if (yydebug)                                                            \
25213     {                                                                     \
25214       YYFPRINTF (stderr, "%s ", Title);                                   \
25215       yy_symbol_print (stderr,                                            \
25216                   Type, Value, Location, yyscanner); \
25217       YYFPRINTF (stderr, "\n");                                           \
25218     }                                                                     \
25219 } while (0)
25220 
25221 
25222 /*-----------------------------------.
25223 | Print this symbol's value on YYO.  |
25224 `-----------------------------------*/
25225 
25226 static void
yy_symbol_value_print(FILE * yyo,int yytype,YYSTYPE const * const yyvaluep,YYLTYPE const * const yylocationp,core_yyscan_t yyscanner)25227 yy_symbol_value_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, core_yyscan_t yyscanner)
25228 {
25229   FILE *yyoutput = yyo;
25230   YYUSE (yyoutput);
25231   YYUSE (yylocationp);
25232   YYUSE (yyscanner);
25233   if (!yyvaluep)
25234     return;
25235 # ifdef YYPRINT
25236   if (yytype < YYNTOKENS)
25237     YYPRINT (yyo, yytoknum[yytype], *yyvaluep);
25238 # endif
25239   YYUSE (yytype);
25240 }
25241 
25242 
25243 /*---------------------------.
25244 | Print this symbol on YYO.  |
25245 `---------------------------*/
25246 
25247 static void
yy_symbol_print(FILE * yyo,int yytype,YYSTYPE const * const yyvaluep,YYLTYPE const * const yylocationp,core_yyscan_t yyscanner)25248 yy_symbol_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, core_yyscan_t yyscanner)
25249 {
25250   YYFPRINTF (yyo, "%s %s (",
25251              yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
25252 
25253   YY_LOCATION_PRINT (yyo, *yylocationp);
25254   YYFPRINTF (yyo, ": ");
25255   yy_symbol_value_print (yyo, yytype, yyvaluep, yylocationp, yyscanner);
25256   YYFPRINTF (yyo, ")");
25257 }
25258 
25259 /*------------------------------------------------------------------.
25260 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
25261 | TOP (included).                                                   |
25262 `------------------------------------------------------------------*/
25263 
25264 static void
yy_stack_print(yytype_int16 * yybottom,yytype_int16 * yytop)25265 yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
25266 {
25267   YYFPRINTF (stderr, "Stack now");
25268   for (; yybottom <= yytop; yybottom++)
25269     {
25270       int yybot = *yybottom;
25271       YYFPRINTF (stderr, " %d", yybot);
25272     }
25273   YYFPRINTF (stderr, "\n");
25274 }
25275 
25276 # define YY_STACK_PRINT(Bottom, Top)                            \
25277 do {                                                            \
25278   if (yydebug)                                                  \
25279     yy_stack_print ((Bottom), (Top));                           \
25280 } while (0)
25281 
25282 
25283 /*------------------------------------------------.
25284 | Report that the YYRULE is going to be reduced.  |
25285 `------------------------------------------------*/
25286 
25287 static void
yy_reduce_print(yytype_int16 * yyssp,YYSTYPE * yyvsp,YYLTYPE * yylsp,int yyrule,core_yyscan_t yyscanner)25288 yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, YYLTYPE *yylsp, int yyrule, core_yyscan_t yyscanner)
25289 {
25290   unsigned long yylno = yyrline[yyrule];
25291   int yynrhs = yyr2[yyrule];
25292   int yyi;
25293   YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
25294              yyrule - 1, yylno);
25295   /* The symbols being reduced.  */
25296   for (yyi = 0; yyi < yynrhs; yyi++)
25297     {
25298       YYFPRINTF (stderr, "   $%d = ", yyi + 1);
25299       yy_symbol_print (stderr,
25300                        yystos[yyssp[yyi + 1 - yynrhs]],
25301                        &yyvsp[(yyi + 1) - (yynrhs)]
25302                        , &(yylsp[(yyi + 1) - (yynrhs)])                       , yyscanner);
25303       YYFPRINTF (stderr, "\n");
25304     }
25305 }
25306 
25307 # define YY_REDUCE_PRINT(Rule)          \
25308 do {                                    \
25309   if (yydebug)                          \
25310     yy_reduce_print (yyssp, yyvsp, yylsp, Rule, yyscanner); \
25311 } while (0)
25312 
25313 /* Nonzero means print parse trace.  It is left uninitialized so that
25314    multiple parsers can coexist.  */
25315 int yydebug;
25316 #else /* !YYDEBUG */
25317 # define YYDPRINTF(Args)
25318 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
25319 # define YY_STACK_PRINT(Bottom, Top)
25320 # define YY_REDUCE_PRINT(Rule)
25321 #endif /* !YYDEBUG */
25322 
25323 
25324 /* YYINITDEPTH -- initial size of the parser's stacks.  */
25325 #ifndef YYINITDEPTH
25326 # define YYINITDEPTH 200
25327 #endif
25328 
25329 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
25330    if the built-in stack extension method is used).
25331 
25332    Do not make this value too large; the results are undefined if
25333    YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
25334    evaluated with infinite-precision integer arithmetic.  */
25335 
25336 #ifndef YYMAXDEPTH
25337 # define YYMAXDEPTH 10000
25338 #endif
25339 
25340 
25341 #if YYERROR_VERBOSE
25342 
25343 # ifndef yystrlen
25344 #  if defined __GLIBC__ && defined _STRING_H
25345 #   define yystrlen strlen
25346 #  else
25347 /* Return the length of YYSTR.  */
25348 static YYSIZE_T
yystrlen(const char * yystr)25349 yystrlen (const char *yystr)
25350 {
25351   YYSIZE_T yylen;
25352   for (yylen = 0; yystr[yylen]; yylen++)
25353     continue;
25354   return yylen;
25355 }
25356 #  endif
25357 # endif
25358 
25359 # ifndef yystpcpy
25360 #  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
25361 #   define yystpcpy stpcpy
25362 #  else
25363 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
25364    YYDEST.  */
25365 static char *
yystpcpy(char * yydest,const char * yysrc)25366 yystpcpy (char *yydest, const char *yysrc)
25367 {
25368   char *yyd = yydest;
25369   const char *yys = yysrc;
25370 
25371   while ((*yyd++ = *yys++) != '\0')
25372     continue;
25373 
25374   return yyd - 1;
25375 }
25376 #  endif
25377 # endif
25378 
25379 # ifndef yytnamerr
25380 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
25381    quotes and backslashes, so that it's suitable for yyerror.  The
25382    heuristic is that double-quoting is unnecessary unless the string
25383    contains an apostrophe, a comma, or backslash (other than
25384    backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
25385    null, do not copy; instead, return the length of what the result
25386    would have been.  */
25387 static YYSIZE_T
yytnamerr(char * yyres,const char * yystr)25388 yytnamerr (char *yyres, const char *yystr)
25389 {
25390   if (*yystr == '"')
25391     {
25392       YYSIZE_T yyn = 0;
25393       char const *yyp = yystr;
25394 
25395       for (;;)
25396         switch (*++yyp)
25397           {
25398           case '\'':
25399           case ',':
25400             goto do_not_strip_quotes;
25401 
25402           case '\\':
25403             if (*++yyp != '\\')
25404               goto do_not_strip_quotes;
25405             else
25406               goto append;
25407 
25408           append:
25409           default:
25410             if (yyres)
25411               yyres[yyn] = *yyp;
25412             yyn++;
25413             break;
25414 
25415           case '"':
25416             if (yyres)
25417               yyres[yyn] = '\0';
25418             return yyn;
25419           }
25420     do_not_strip_quotes: ;
25421     }
25422 
25423   if (! yyres)
25424     return yystrlen (yystr);
25425 
25426   return (YYSIZE_T) (yystpcpy (yyres, yystr) - yyres);
25427 }
25428 # endif
25429 
25430 /* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
25431    about the unexpected token YYTOKEN for the state stack whose top is
25432    YYSSP.
25433 
25434    Return 0 if *YYMSG was successfully written.  Return 1 if *YYMSG is
25435    not large enough to hold the message.  In that case, also set
25436    *YYMSG_ALLOC to the required number of bytes.  Return 2 if the
25437    required number of bytes is too large to store.  */
25438 static int
yysyntax_error(YYSIZE_T * yymsg_alloc,char ** yymsg,yytype_int16 * yyssp,int yytoken)25439 yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
25440                 yytype_int16 *yyssp, int yytoken)
25441 {
25442   YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
25443   YYSIZE_T yysize = yysize0;
25444   enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
25445   /* Internationalized format string. */
25446   const char *yyformat = YY_NULLPTR;
25447   /* Arguments of yyformat. */
25448   char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
25449   /* Number of reported tokens (one for the "unexpected", one per
25450      "expected"). */
25451   int yycount = 0;
25452 
25453   /* There are many possibilities here to consider:
25454      - If this state is a consistent state with a default action, then
25455        the only way this function was invoked is if the default action
25456        is an error action.  In that case, don't check for expected
25457        tokens because there are none.
25458      - The only way there can be no lookahead present (in yychar) is if
25459        this state is a consistent state with a default action.  Thus,
25460        detecting the absence of a lookahead is sufficient to determine
25461        that there is no unexpected or expected token to report.  In that
25462        case, just report a simple "syntax error".
25463      - Don't assume there isn't a lookahead just because this state is a
25464        consistent state with a default action.  There might have been a
25465        previous inconsistent state, consistent state with a non-default
25466        action, or user semantic action that manipulated yychar.
25467      - Of course, the expected token list depends on states to have
25468        correct lookahead information, and it depends on the parser not
25469        to perform extra reductions after fetching a lookahead from the
25470        scanner and before detecting a syntax error.  Thus, state merging
25471        (from LALR or IELR) and default reductions corrupt the expected
25472        token list.  However, the list is correct for canonical LR with
25473        one exception: it will still contain any token that will not be
25474        accepted due to an error action in a later state.
25475   */
25476   if (yytoken != YYEMPTY)
25477     {
25478       int yyn = yypact[*yyssp];
25479       yyarg[yycount++] = yytname[yytoken];
25480       if (!yypact_value_is_default (yyn))
25481         {
25482           /* Start YYX at -YYN if negative to avoid negative indexes in
25483              YYCHECK.  In other words, skip the first -YYN actions for
25484              this state because they are default actions.  */
25485           int yyxbegin = yyn < 0 ? -yyn : 0;
25486           /* Stay within bounds of both yycheck and yytname.  */
25487           int yychecklim = YYLAST - yyn + 1;
25488           int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
25489           int yyx;
25490 
25491           for (yyx = yyxbegin; yyx < yyxend; ++yyx)
25492             if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
25493                 && !yytable_value_is_error (yytable[yyx + yyn]))
25494               {
25495                 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
25496                   {
25497                     yycount = 1;
25498                     yysize = yysize0;
25499                     break;
25500                   }
25501                 yyarg[yycount++] = yytname[yyx];
25502                 {
25503                   YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
25504                   if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)
25505                     yysize = yysize1;
25506                   else
25507                     return 2;
25508                 }
25509               }
25510         }
25511     }
25512 
25513   switch (yycount)
25514     {
25515 # define YYCASE_(N, S)                      \
25516       case N:                               \
25517         yyformat = S;                       \
25518       break
25519     default: /* Avoid compiler warnings. */
25520       YYCASE_(0, YY_("syntax error"));
25521       YYCASE_(1, YY_("syntax error, unexpected %s"));
25522       YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
25523       YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
25524       YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
25525       YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
25526 # undef YYCASE_
25527     }
25528 
25529   {
25530     YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
25531     if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)
25532       yysize = yysize1;
25533     else
25534       return 2;
25535   }
25536 
25537   if (*yymsg_alloc < yysize)
25538     {
25539       *yymsg_alloc = 2 * yysize;
25540       if (! (yysize <= *yymsg_alloc
25541              && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
25542         *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
25543       return 1;
25544     }
25545 
25546   /* Avoid sprintf, as that infringes on the user's name space.
25547      Don't have undefined behavior even if the translation
25548      produced a string with the wrong number of "%s"s.  */
25549   {
25550     char *yyp = *yymsg;
25551     int yyi = 0;
25552     while ((*yyp = *yyformat) != '\0')
25553       if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
25554         {
25555           yyp += yytnamerr (yyp, yyarg[yyi++]);
25556           yyformat += 2;
25557         }
25558       else
25559         {
25560           yyp++;
25561           yyformat++;
25562         }
25563   }
25564   return 0;
25565 }
25566 #endif /* YYERROR_VERBOSE */
25567 
25568 /*-----------------------------------------------.
25569 | Release the memory associated to this symbol.  |
25570 `-----------------------------------------------*/
25571 
25572 static void
yydestruct(const char * yymsg,int yytype,YYSTYPE * yyvaluep,YYLTYPE * yylocationp,core_yyscan_t yyscanner)25573 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp, core_yyscan_t yyscanner)
25574 {
25575   YYUSE (yyvaluep);
25576   YYUSE (yylocationp);
25577   YYUSE (yyscanner);
25578   if (!yymsg)
25579     yymsg = "Deleting";
25580   YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
25581 
25582   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
25583   YYUSE (yytype);
25584   YY_IGNORE_MAYBE_UNINITIALIZED_END
25585 }
25586 
25587 
25588 
25589 
25590 /*----------.
25591 | yyparse.  |
25592 `----------*/
25593 
25594 int
yyparse(core_yyscan_t yyscanner)25595 yyparse (core_yyscan_t yyscanner)
25596 {
25597 /* The lookahead symbol.  */
25598 int yychar;
25599 
25600 
25601 /* The semantic value of the lookahead symbol.  */
25602 /* Default value used for initialization, for pacifying older GCCs
25603    or non-GCC compilers.  */
25604 YY_INITIAL_VALUE (static YYSTYPE yyval_default;)
25605 YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
25606 
25607 /* Location data for the lookahead symbol.  */
25608 static YYLTYPE yyloc_default
25609 # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
25610   = { 1, 1, 1, 1 }
25611 # endif
25612 ;
25613 YYLTYPE yylloc = yyloc_default;
25614 
25615     /* Number of syntax errors so far.  */
25616     int yynerrs;
25617 
25618     int yystate;
25619     /* Number of tokens to shift before error messages enabled.  */
25620     int yyerrstatus;
25621 
25622     /* The stacks and their tools:
25623        'yyss': related to states.
25624        'yyvs': related to semantic values.
25625        'yyls': related to locations.
25626 
25627        Refer to the stacks through separate pointers, to allow yyoverflow
25628        to reallocate them elsewhere.  */
25629 
25630     /* The state stack.  */
25631     yytype_int16 yyssa[YYINITDEPTH];
25632     yytype_int16 *yyss;
25633     yytype_int16 *yyssp;
25634 
25635     /* The semantic value stack.  */
25636     YYSTYPE yyvsa[YYINITDEPTH];
25637     YYSTYPE *yyvs;
25638     YYSTYPE *yyvsp;
25639 
25640     /* The location stack.  */
25641     YYLTYPE yylsa[YYINITDEPTH];
25642     YYLTYPE *yyls;
25643     YYLTYPE *yylsp;
25644 
25645     /* The locations where the error started and ended.  */
25646     YYLTYPE yyerror_range[3];
25647 
25648     YYSIZE_T yystacksize;
25649 
25650   int yyn;
25651   int yyresult;
25652   /* Lookahead token as an internal (translated) token number.  */
25653   int yytoken = 0;
25654   /* The variables used to return semantic value and location from the
25655      action routines.  */
25656   YYSTYPE yyval;
25657   YYLTYPE yyloc;
25658 
25659 #if YYERROR_VERBOSE
25660   /* Buffer for error messages, and its allocated size.  */
25661   char yymsgbuf[128];
25662   char *yymsg = yymsgbuf;
25663   YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
25664 #endif
25665 
25666 #define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
25667 
25668   /* The number of symbols on the RHS of the reduced rule.
25669      Keep to zero when no symbol should be popped.  */
25670   int yylen = 0;
25671 
25672   yyssp = yyss = yyssa;
25673   yyvsp = yyvs = yyvsa;
25674   yylsp = yyls = yylsa;
25675   yystacksize = YYINITDEPTH;
25676 
25677   YYDPRINTF ((stderr, "Starting parse\n"));
25678 
25679   yystate = 0;
25680   yyerrstatus = 0;
25681   yynerrs = 0;
25682   yychar = YYEMPTY; /* Cause a token to be read.  */
25683   yylsp[0] = yylloc;
25684   goto yysetstate;
25685 
25686 
25687 /*------------------------------------------------------------.
25688 | yynewstate -- push a new state, which is found in yystate.  |
25689 `------------------------------------------------------------*/
25690 yynewstate:
25691   /* In all cases, when you get here, the value and location stacks
25692      have just been pushed.  So pushing a state here evens the stacks.  */
25693   yyssp++;
25694 
25695 
25696 /*--------------------------------------------------------------------.
25697 | yynewstate -- set current state (the top of the stack) to yystate.  |
25698 `--------------------------------------------------------------------*/
25699 yysetstate:
25700   *yyssp = (yytype_int16) yystate;
25701 
25702   if (yyss + yystacksize - 1 <= yyssp)
25703 #if !defined yyoverflow && !defined YYSTACK_RELOCATE
25704     goto yyexhaustedlab;
25705 #else
25706     {
25707       /* Get the current used size of the three stacks, in elements.  */
25708       YYSIZE_T yysize = (YYSIZE_T) (yyssp - yyss + 1);
25709 
25710 # if defined yyoverflow
25711       {
25712         /* Give user a chance to reallocate the stack.  Use copies of
25713            these so that the &'s don't force the real ones into
25714            memory.  */
25715         YYSTYPE *yyvs1 = yyvs;
25716         yytype_int16 *yyss1 = yyss;
25717         YYLTYPE *yyls1 = yyls;
25718 
25719         /* Each stack pointer address is followed by the size of the
25720            data in use in that stack, in bytes.  This used to be a
25721            conditional around just the two extra args, but that might
25722            be undefined if yyoverflow is a macro.  */
25723         yyoverflow (YY_("memory exhausted"),
25724                     &yyss1, yysize * sizeof (*yyssp),
25725                     &yyvs1, yysize * sizeof (*yyvsp),
25726                     &yyls1, yysize * sizeof (*yylsp),
25727                     &yystacksize);
25728         yyss = yyss1;
25729         yyvs = yyvs1;
25730         yyls = yyls1;
25731       }
25732 # else /* defined YYSTACK_RELOCATE */
25733       /* Extend the stack our own way.  */
25734       if (YYMAXDEPTH <= yystacksize)
25735         goto yyexhaustedlab;
25736       yystacksize *= 2;
25737       if (YYMAXDEPTH < yystacksize)
25738         yystacksize = YYMAXDEPTH;
25739 
25740       {
25741         yytype_int16 *yyss1 = yyss;
25742         union yyalloc *yyptr =
25743           (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
25744         if (! yyptr)
25745           goto yyexhaustedlab;
25746         YYSTACK_RELOCATE (yyss_alloc, yyss);
25747         YYSTACK_RELOCATE (yyvs_alloc, yyvs);
25748         YYSTACK_RELOCATE (yyls_alloc, yyls);
25749 # undef YYSTACK_RELOCATE
25750         if (yyss1 != yyssa)
25751           YYSTACK_FREE (yyss1);
25752       }
25753 # endif
25754 
25755       yyssp = yyss + yysize - 1;
25756       yyvsp = yyvs + yysize - 1;
25757       yylsp = yyls + yysize - 1;
25758 
25759       YYDPRINTF ((stderr, "Stack size increased to %lu\n",
25760                   (unsigned long) yystacksize));
25761 
25762       if (yyss + yystacksize - 1 <= yyssp)
25763         YYABORT;
25764     }
25765 #endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */
25766 
25767   YYDPRINTF ((stderr, "Entering state %d\n", yystate));
25768 
25769   if (yystate == YYFINAL)
25770     YYACCEPT;
25771 
25772   goto yybackup;
25773 
25774 
25775 /*-----------.
25776 | yybackup.  |
25777 `-----------*/
25778 yybackup:
25779   /* Do appropriate processing given the current state.  Read a
25780      lookahead token if we need one and don't already have one.  */
25781 
25782   /* First try to decide what to do without reference to lookahead token.  */
25783   yyn = yypact[yystate];
25784   if (yypact_value_is_default (yyn))
25785     goto yydefault;
25786 
25787   /* Not known => get a lookahead token if don't already have one.  */
25788 
25789   /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */
25790   if (yychar == YYEMPTY)
25791     {
25792       YYDPRINTF ((stderr, "Reading a token: "));
25793       yychar = yylex (&yylval, &yylloc, yyscanner);
25794     }
25795 
25796   if (yychar <= YYEOF)
25797     {
25798       yychar = yytoken = YYEOF;
25799       YYDPRINTF ((stderr, "Now at end of input.\n"));
25800     }
25801   else
25802     {
25803       yytoken = YYTRANSLATE (yychar);
25804       YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
25805     }
25806 
25807   /* If the proper action on seeing token YYTOKEN is to reduce or to
25808      detect an error, take that action.  */
25809   yyn += yytoken;
25810   if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
25811     goto yydefault;
25812   yyn = yytable[yyn];
25813   if (yyn <= 0)
25814     {
25815       if (yytable_value_is_error (yyn))
25816         goto yyerrlab;
25817       yyn = -yyn;
25818       goto yyreduce;
25819     }
25820 
25821   /* Count tokens shifted since error; after three, turn off error
25822      status.  */
25823   if (yyerrstatus)
25824     yyerrstatus--;
25825 
25826   /* Shift the lookahead token.  */
25827   YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
25828 
25829   /* Discard the shifted token.  */
25830   yychar = YYEMPTY;
25831 
25832   yystate = yyn;
25833   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
25834   *++yyvsp = yylval;
25835   YY_IGNORE_MAYBE_UNINITIALIZED_END
25836   *++yylsp = yylloc;
25837   goto yynewstate;
25838 
25839 
25840 /*-----------------------------------------------------------.
25841 | yydefault -- do the default action for the current state.  |
25842 `-----------------------------------------------------------*/
25843 yydefault:
25844   yyn = yydefact[yystate];
25845   if (yyn == 0)
25846     goto yyerrlab;
25847   goto yyreduce;
25848 
25849 
25850 /*-----------------------------.
25851 | yyreduce -- do a reduction.  |
25852 `-----------------------------*/
25853 yyreduce:
25854   /* yyn is the number of a rule to reduce with.  */
25855   yylen = yyr2[yyn];
25856 
25857   /* If YYLEN is nonzero, implement the default value of the action:
25858      '$$ = $1'.
25859 
25860      Otherwise, the following line sets YYVAL to garbage.
25861      This behavior is undocumented and Bison
25862      users should not rely upon it.  Assigning to YYVAL
25863      unconditionally makes the parser a bit smaller, and it avoids a
25864      GCC warning that YYVAL may be used uninitialized.  */
25865   yyval = yyvsp[1-yylen];
25866 
25867   /* Default location. */
25868   YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
25869   yyerror_range[1] = yyloc;
25870   YY_REDUCE_PRINT (yyn);
25871   switch (yyn)
25872     {
25873         case 2:
25874 #line 805 "gram.y" /* yacc.c:1652  */
25875     {
25876 				pg_yyget_extra(yyscanner)->parsetree = (yyvsp[0].list);
25877 			}
25878 #line 25879 "gram.c" /* yacc.c:1652  */
25879     break;
25880 
25881   case 3:
25882 #line 821 "gram.y" /* yacc.c:1652  */
25883     {
25884 					if ((yyvsp[-2].list) != NIL)
25885 					{
25886 						/* update length of previous stmt */
25887 						updateRawStmtEnd(llast_node(RawStmt, (yyvsp[-2].list)), (yylsp[-1]));
25888 					}
25889 					if ((yyvsp[0].node) != NULL)
25890 						(yyval.list) = lappend((yyvsp[-2].list), makeRawStmt((yyvsp[0].node), (yylsp[-1]) + 1));
25891 					else
25892 						(yyval.list) = (yyvsp[-2].list);
25893 				}
25894 #line 25895 "gram.c" /* yacc.c:1652  */
25895     break;
25896 
25897   case 4:
25898 #line 833 "gram.y" /* yacc.c:1652  */
25899     {
25900 					if ((yyvsp[0].node) != NULL)
25901 						(yyval.list) = list_make1(makeRawStmt((yyvsp[0].node), 0));
25902 					else
25903 						(yyval.list) = NIL;
25904 				}
25905 #line 25906 "gram.c" /* yacc.c:1652  */
25906     break;
25907 
25908   case 130:
25909 #line 968 "gram.y" /* yacc.c:1652  */
25910     { (yyval.node) = NULL; }
25911 #line 25912 "gram.c" /* yacc.c:1652  */
25912     break;
25913 
25914   case 131:
25915 #line 978 "gram.y" /* yacc.c:1652  */
25916     {
25917 					CallStmt *n = makeNode(CallStmt);
25918 					n->funccall = castNode(FuncCall, (yyvsp[0].node));
25919 					(yyval.node) = (Node *)n;
25920 				}
25921 #line 25922 "gram.c" /* yacc.c:1652  */
25922     break;
25923 
25924   case 132:
25925 #line 993 "gram.y" /* yacc.c:1652  */
25926     {
25927 					CreateRoleStmt *n = makeNode(CreateRoleStmt);
25928 					n->stmt_type = ROLESTMT_ROLE;
25929 					n->role = (yyvsp[-2].str);
25930 					n->options = (yyvsp[0].list);
25931 					(yyval.node) = (Node *)n;
25932 				}
25933 #line 25934 "gram.c" /* yacc.c:1652  */
25934     break;
25935 
25936   case 133:
25937 #line 1003 "gram.y" /* yacc.c:1652  */
25938     {}
25939 #line 25940 "gram.c" /* yacc.c:1652  */
25940     break;
25941 
25942   case 134:
25943 #line 1004 "gram.y" /* yacc.c:1652  */
25944     {}
25945 #line 25946 "gram.c" /* yacc.c:1652  */
25946     break;
25947 
25948   case 135:
25949 #line 1005 "gram.y" /* yacc.c:1652  */
25950     {}
25951 #line 25952 "gram.c" /* yacc.c:1652  */
25952     break;
25953 
25954   case 136:
25955 #line 1014 "gram.y" /* yacc.c:1652  */
25956     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
25957 #line 25958 "gram.c" /* yacc.c:1652  */
25958     break;
25959 
25960   case 137:
25961 #line 1015 "gram.y" /* yacc.c:1652  */
25962     { (yyval.list) = NIL; }
25963 #line 25964 "gram.c" /* yacc.c:1652  */
25964     break;
25965 
25966   case 138:
25967 #line 1019 "gram.y" /* yacc.c:1652  */
25968     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
25969 #line 25970 "gram.c" /* yacc.c:1652  */
25970     break;
25971 
25972   case 139:
25973 #line 1020 "gram.y" /* yacc.c:1652  */
25974     { (yyval.list) = NIL; }
25975 #line 25976 "gram.c" /* yacc.c:1652  */
25976     break;
25977 
25978   case 140:
25979 #line 1025 "gram.y" /* yacc.c:1652  */
25980     {
25981 					(yyval.defelt) = makeDefElem("password",
25982 									 (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
25983 				}
25984 #line 25985 "gram.c" /* yacc.c:1652  */
25985     break;
25986 
25987   case 141:
25988 #line 1030 "gram.y" /* yacc.c:1652  */
25989     {
25990 					(yyval.defelt) = makeDefElem("password", NULL, (yylsp[-1]));
25991 				}
25992 #line 25993 "gram.c" /* yacc.c:1652  */
25993     break;
25994 
25995   case 142:
25996 #line 1034 "gram.y" /* yacc.c:1652  */
25997     {
25998 					/*
25999 					 * These days, passwords are always stored in encrypted
26000 					 * form, so there is no difference between PASSWORD and
26001 					 * ENCRYPTED PASSWORD.
26002 					 */
26003 					(yyval.defelt) = makeDefElem("password",
26004 									 (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
26005 				}
26006 #line 26007 "gram.c" /* yacc.c:1652  */
26007     break;
26008 
26009   case 143:
26010 #line 1044 "gram.y" /* yacc.c:1652  */
26011     {
26012 					ereport(ERROR,
26013 							(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
26014 							 errmsg("UNENCRYPTED PASSWORD is no longer supported"),
26015 							 errhint("Remove UNENCRYPTED to store the password in encrypted form instead."),
26016 							 parser_errposition((yylsp[-2]))));
26017 				}
26018 #line 26019 "gram.c" /* yacc.c:1652  */
26019     break;
26020 
26021   case 144:
26022 #line 1052 "gram.y" /* yacc.c:1652  */
26023     {
26024 					(yyval.defelt) = makeDefElem("inherit", (Node *)makeInteger(true), (yylsp[0]));
26025 				}
26026 #line 26027 "gram.c" /* yacc.c:1652  */
26027     break;
26028 
26029   case 145:
26030 #line 1056 "gram.y" /* yacc.c:1652  */
26031     {
26032 					(yyval.defelt) = makeDefElem("connectionlimit", (Node *)makeInteger((yyvsp[0].ival)), (yylsp[-2]));
26033 				}
26034 #line 26035 "gram.c" /* yacc.c:1652  */
26035     break;
26036 
26037   case 146:
26038 #line 1060 "gram.y" /* yacc.c:1652  */
26039     {
26040 					(yyval.defelt) = makeDefElem("validUntil", (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
26041 				}
26042 #line 26043 "gram.c" /* yacc.c:1652  */
26043     break;
26044 
26045   case 147:
26046 #line 1065 "gram.y" /* yacc.c:1652  */
26047     {
26048 					(yyval.defelt) = makeDefElem("rolemembers", (Node *)(yyvsp[0].list), (yylsp[-1]));
26049 				}
26050 #line 26051 "gram.c" /* yacc.c:1652  */
26051     break;
26052 
26053   case 148:
26054 #line 1069 "gram.y" /* yacc.c:1652  */
26055     {
26056 					/*
26057 					 * We handle identifiers that aren't parser keywords with
26058 					 * the following special-case codes, to avoid bloating the
26059 					 * size of the main parser.
26060 					 */
26061 					if (strcmp((yyvsp[0].str), "superuser") == 0)
26062 						(yyval.defelt) = makeDefElem("superuser", (Node *)makeInteger(true), (yylsp[0]));
26063 					else if (strcmp((yyvsp[0].str), "nosuperuser") == 0)
26064 						(yyval.defelt) = makeDefElem("superuser", (Node *)makeInteger(false), (yylsp[0]));
26065 					else if (strcmp((yyvsp[0].str), "createrole") == 0)
26066 						(yyval.defelt) = makeDefElem("createrole", (Node *)makeInteger(true), (yylsp[0]));
26067 					else if (strcmp((yyvsp[0].str), "nocreaterole") == 0)
26068 						(yyval.defelt) = makeDefElem("createrole", (Node *)makeInteger(false), (yylsp[0]));
26069 					else if (strcmp((yyvsp[0].str), "replication") == 0)
26070 						(yyval.defelt) = makeDefElem("isreplication", (Node *)makeInteger(true), (yylsp[0]));
26071 					else if (strcmp((yyvsp[0].str), "noreplication") == 0)
26072 						(yyval.defelt) = makeDefElem("isreplication", (Node *)makeInteger(false), (yylsp[0]));
26073 					else if (strcmp((yyvsp[0].str), "createdb") == 0)
26074 						(yyval.defelt) = makeDefElem("createdb", (Node *)makeInteger(true), (yylsp[0]));
26075 					else if (strcmp((yyvsp[0].str), "nocreatedb") == 0)
26076 						(yyval.defelt) = makeDefElem("createdb", (Node *)makeInteger(false), (yylsp[0]));
26077 					else if (strcmp((yyvsp[0].str), "login") == 0)
26078 						(yyval.defelt) = makeDefElem("canlogin", (Node *)makeInteger(true), (yylsp[0]));
26079 					else if (strcmp((yyvsp[0].str), "nologin") == 0)
26080 						(yyval.defelt) = makeDefElem("canlogin", (Node *)makeInteger(false), (yylsp[0]));
26081 					else if (strcmp((yyvsp[0].str), "bypassrls") == 0)
26082 						(yyval.defelt) = makeDefElem("bypassrls", (Node *)makeInteger(true), (yylsp[0]));
26083 					else if (strcmp((yyvsp[0].str), "nobypassrls") == 0)
26084 						(yyval.defelt) = makeDefElem("bypassrls", (Node *)makeInteger(false), (yylsp[0]));
26085 					else if (strcmp((yyvsp[0].str), "noinherit") == 0)
26086 					{
26087 						/*
26088 						 * Note that INHERIT is a keyword, so it's handled by main parser, but
26089 						 * NOINHERIT is handled here.
26090 						 */
26091 						(yyval.defelt) = makeDefElem("inherit", (Node *)makeInteger(false), (yylsp[0]));
26092 					}
26093 					else
26094 						ereport(ERROR,
26095 								(errcode(ERRCODE_SYNTAX_ERROR),
26096 								 errmsg("unrecognized role option \"%s\"", (yyvsp[0].str)),
26097 									 parser_errposition((yylsp[0]))));
26098 				}
26099 #line 26100 "gram.c" /* yacc.c:1652  */
26100     break;
26101 
26102   case 149:
26103 #line 1116 "gram.y" /* yacc.c:1652  */
26104     { (yyval.defelt) = (yyvsp[0].defelt); }
26105 #line 26106 "gram.c" /* yacc.c:1652  */
26106     break;
26107 
26108   case 150:
26109 #line 1119 "gram.y" /* yacc.c:1652  */
26110     {
26111 					(yyval.defelt) = makeDefElem("sysid", (Node *)makeInteger((yyvsp[0].ival)), (yylsp[-1]));
26112 				}
26113 #line 26114 "gram.c" /* yacc.c:1652  */
26114     break;
26115 
26116   case 151:
26117 #line 1123 "gram.y" /* yacc.c:1652  */
26118     {
26119 					(yyval.defelt) = makeDefElem("adminmembers", (Node *)(yyvsp[0].list), (yylsp[-1]));
26120 				}
26121 #line 26122 "gram.c" /* yacc.c:1652  */
26122     break;
26123 
26124   case 152:
26125 #line 1127 "gram.y" /* yacc.c:1652  */
26126     {
26127 					(yyval.defelt) = makeDefElem("rolemembers", (Node *)(yyvsp[0].list), (yylsp[-1]));
26128 				}
26129 #line 26130 "gram.c" /* yacc.c:1652  */
26130     break;
26131 
26132   case 153:
26133 #line 1131 "gram.y" /* yacc.c:1652  */
26134     {
26135 					(yyval.defelt) = makeDefElem("addroleto", (Node *)(yyvsp[0].list), (yylsp[-2]));
26136 				}
26137 #line 26138 "gram.c" /* yacc.c:1652  */
26138     break;
26139 
26140   case 154:
26141 #line 1135 "gram.y" /* yacc.c:1652  */
26142     {
26143 					(yyval.defelt) = makeDefElem("addroleto", (Node *)(yyvsp[0].list), (yylsp[-2]));
26144 				}
26145 #line 26146 "gram.c" /* yacc.c:1652  */
26146     break;
26147 
26148   case 155:
26149 #line 1149 "gram.y" /* yacc.c:1652  */
26150     {
26151 					CreateRoleStmt *n = makeNode(CreateRoleStmt);
26152 					n->stmt_type = ROLESTMT_USER;
26153 					n->role = (yyvsp[-2].str);
26154 					n->options = (yyvsp[0].list);
26155 					(yyval.node) = (Node *)n;
26156 				}
26157 #line 26158 "gram.c" /* yacc.c:1652  */
26158     break;
26159 
26160   case 156:
26161 #line 1167 "gram.y" /* yacc.c:1652  */
26162     {
26163 					AlterRoleStmt *n = makeNode(AlterRoleStmt);
26164 					n->role = (yyvsp[-2].rolespec);
26165 					n->action = +1;	/* add, if there are members */
26166 					n->options = (yyvsp[0].list);
26167 					(yyval.node) = (Node *)n;
26168 				 }
26169 #line 26170 "gram.c" /* yacc.c:1652  */
26170     break;
26171 
26172   case 157:
26173 #line 1175 "gram.y" /* yacc.c:1652  */
26174     {
26175 					AlterRoleStmt *n = makeNode(AlterRoleStmt);
26176 					n->role = (yyvsp[-2].rolespec);
26177 					n->action = +1;	/* add, if there are members */
26178 					n->options = (yyvsp[0].list);
26179 					(yyval.node) = (Node *)n;
26180 				 }
26181 #line 26182 "gram.c" /* yacc.c:1652  */
26182     break;
26183 
26184   case 158:
26185 #line 1185 "gram.y" /* yacc.c:1652  */
26186     { (yyval.str) = NULL; }
26187 #line 26188 "gram.c" /* yacc.c:1652  */
26188     break;
26189 
26190   case 159:
26191 #line 1186 "gram.y" /* yacc.c:1652  */
26192     { (yyval.str) = (yyvsp[0].str); }
26193 #line 26194 "gram.c" /* yacc.c:1652  */
26194     break;
26195 
26196   case 160:
26197 #line 1191 "gram.y" /* yacc.c:1652  */
26198     {
26199 					AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
26200 					n->role = (yyvsp[-2].rolespec);
26201 					n->database = (yyvsp[-1].str);
26202 					n->setstmt = (yyvsp[0].vsetstmt);
26203 					(yyval.node) = (Node *)n;
26204 				}
26205 #line 26206 "gram.c" /* yacc.c:1652  */
26206     break;
26207 
26208   case 161:
26209 #line 1199 "gram.y" /* yacc.c:1652  */
26210     {
26211 					AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
26212 					n->role = NULL;
26213 					n->database = (yyvsp[-1].str);
26214 					n->setstmt = (yyvsp[0].vsetstmt);
26215 					(yyval.node) = (Node *)n;
26216 				}
26217 #line 26218 "gram.c" /* yacc.c:1652  */
26218     break;
26219 
26220   case 162:
26221 #line 1207 "gram.y" /* yacc.c:1652  */
26222     {
26223 					AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
26224 					n->role = (yyvsp[-2].rolespec);
26225 					n->database = (yyvsp[-1].str);
26226 					n->setstmt = (yyvsp[0].vsetstmt);
26227 					(yyval.node) = (Node *)n;
26228 				}
26229 #line 26230 "gram.c" /* yacc.c:1652  */
26230     break;
26231 
26232   case 163:
26233 #line 1215 "gram.y" /* yacc.c:1652  */
26234     {
26235 					AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
26236 					n->role = NULL;
26237 					n->database = (yyvsp[-1].str);
26238 					n->setstmt = (yyvsp[0].vsetstmt);
26239 					(yyval.node) = (Node *)n;
26240 				}
26241 #line 26242 "gram.c" /* yacc.c:1652  */
26242     break;
26243 
26244   case 164:
26245 #line 1236 "gram.y" /* yacc.c:1652  */
26246     {
26247 					DropRoleStmt *n = makeNode(DropRoleStmt);
26248 					n->missing_ok = false;
26249 					n->roles = (yyvsp[0].list);
26250 					(yyval.node) = (Node *)n;
26251 				}
26252 #line 26253 "gram.c" /* yacc.c:1652  */
26253     break;
26254 
26255   case 165:
26256 #line 1243 "gram.y" /* yacc.c:1652  */
26257     {
26258 					DropRoleStmt *n = makeNode(DropRoleStmt);
26259 					n->missing_ok = true;
26260 					n->roles = (yyvsp[0].list);
26261 					(yyval.node) = (Node *)n;
26262 				}
26263 #line 26264 "gram.c" /* yacc.c:1652  */
26264     break;
26265 
26266   case 166:
26267 #line 1250 "gram.y" /* yacc.c:1652  */
26268     {
26269 					DropRoleStmt *n = makeNode(DropRoleStmt);
26270 					n->missing_ok = false;
26271 					n->roles = (yyvsp[0].list);
26272 					(yyval.node) = (Node *)n;
26273 				}
26274 #line 26275 "gram.c" /* yacc.c:1652  */
26275     break;
26276 
26277   case 167:
26278 #line 1257 "gram.y" /* yacc.c:1652  */
26279     {
26280 					DropRoleStmt *n = makeNode(DropRoleStmt);
26281 					n->roles = (yyvsp[0].list);
26282 					n->missing_ok = true;
26283 					(yyval.node) = (Node *)n;
26284 				}
26285 #line 26286 "gram.c" /* yacc.c:1652  */
26286     break;
26287 
26288   case 168:
26289 #line 1264 "gram.y" /* yacc.c:1652  */
26290     {
26291 					DropRoleStmt *n = makeNode(DropRoleStmt);
26292 					n->missing_ok = false;
26293 					n->roles = (yyvsp[0].list);
26294 					(yyval.node) = (Node *)n;
26295 				}
26296 #line 26297 "gram.c" /* yacc.c:1652  */
26297     break;
26298 
26299   case 169:
26300 #line 1271 "gram.y" /* yacc.c:1652  */
26301     {
26302 					DropRoleStmt *n = makeNode(DropRoleStmt);
26303 					n->missing_ok = true;
26304 					n->roles = (yyvsp[0].list);
26305 					(yyval.node) = (Node *)n;
26306 				}
26307 #line 26308 "gram.c" /* yacc.c:1652  */
26308     break;
26309 
26310   case 170:
26311 #line 1288 "gram.y" /* yacc.c:1652  */
26312     {
26313 					CreateRoleStmt *n = makeNode(CreateRoleStmt);
26314 					n->stmt_type = ROLESTMT_GROUP;
26315 					n->role = (yyvsp[-2].str);
26316 					n->options = (yyvsp[0].list);
26317 					(yyval.node) = (Node *)n;
26318 				}
26319 #line 26320 "gram.c" /* yacc.c:1652  */
26320     break;
26321 
26322   case 171:
26323 #line 1306 "gram.y" /* yacc.c:1652  */
26324     {
26325 					AlterRoleStmt *n = makeNode(AlterRoleStmt);
26326 					n->role = (yyvsp[-3].rolespec);
26327 					n->action = (yyvsp[-2].ival);
26328 					n->options = list_make1(makeDefElem("rolemembers",
26329 														(Node *)(yyvsp[0].list), (yylsp[0])));
26330 					(yyval.node) = (Node *)n;
26331 				}
26332 #line 26333 "gram.c" /* yacc.c:1652  */
26333     break;
26334 
26335   case 172:
26336 #line 1316 "gram.y" /* yacc.c:1652  */
26337     { (yyval.ival) = +1; }
26338 #line 26339 "gram.c" /* yacc.c:1652  */
26339     break;
26340 
26341   case 173:
26342 #line 1317 "gram.y" /* yacc.c:1652  */
26343     { (yyval.ival) = -1; }
26344 #line 26345 "gram.c" /* yacc.c:1652  */
26345     break;
26346 
26347   case 174:
26348 #line 1329 "gram.y" /* yacc.c:1652  */
26349     {
26350 					CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
26351 					/* One can omit the schema name or the authorization id. */
26352 					n->schemaname = (yyvsp[-3].str);
26353 					n->authrole = (yyvsp[-1].rolespec);
26354 					n->schemaElts = (yyvsp[0].list);
26355 					n->if_not_exists = false;
26356 					(yyval.node) = (Node *)n;
26357 				}
26358 #line 26359 "gram.c" /* yacc.c:1652  */
26359     break;
26360 
26361   case 175:
26362 #line 1339 "gram.y" /* yacc.c:1652  */
26363     {
26364 					CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
26365 					/* ...but not both */
26366 					n->schemaname = (yyvsp[-1].str);
26367 					n->authrole = NULL;
26368 					n->schemaElts = (yyvsp[0].list);
26369 					n->if_not_exists = false;
26370 					(yyval.node) = (Node *)n;
26371 				}
26372 #line 26373 "gram.c" /* yacc.c:1652  */
26373     break;
26374 
26375   case 176:
26376 #line 1349 "gram.y" /* yacc.c:1652  */
26377     {
26378 					CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
26379 					/* schema name can be omitted here, too */
26380 					n->schemaname = (yyvsp[-3].str);
26381 					n->authrole = (yyvsp[-1].rolespec);
26382 					if ((yyvsp[0].list) != NIL)
26383 						ereport(ERROR,
26384 								(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
26385 								 errmsg("CREATE SCHEMA IF NOT EXISTS cannot include schema elements"),
26386 								 parser_errposition((yylsp[0]))));
26387 					n->schemaElts = (yyvsp[0].list);
26388 					n->if_not_exists = true;
26389 					(yyval.node) = (Node *)n;
26390 				}
26391 #line 26392 "gram.c" /* yacc.c:1652  */
26392     break;
26393 
26394   case 177:
26395 #line 1364 "gram.y" /* yacc.c:1652  */
26396     {
26397 					CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
26398 					/* ...but not here */
26399 					n->schemaname = (yyvsp[-1].str);
26400 					n->authrole = NULL;
26401 					if ((yyvsp[0].list) != NIL)
26402 						ereport(ERROR,
26403 								(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
26404 								 errmsg("CREATE SCHEMA IF NOT EXISTS cannot include schema elements"),
26405 								 parser_errposition((yylsp[0]))));
26406 					n->schemaElts = (yyvsp[0].list);
26407 					n->if_not_exists = true;
26408 					(yyval.node) = (Node *)n;
26409 				}
26410 #line 26411 "gram.c" /* yacc.c:1652  */
26411     break;
26412 
26413   case 178:
26414 #line 1381 "gram.y" /* yacc.c:1652  */
26415     { (yyval.str) = (yyvsp[0].str); }
26416 #line 26417 "gram.c" /* yacc.c:1652  */
26417     break;
26418 
26419   case 179:
26420 #line 1382 "gram.y" /* yacc.c:1652  */
26421     { (yyval.str) = NULL; }
26422 #line 26423 "gram.c" /* yacc.c:1652  */
26423     break;
26424 
26425   case 180:
26426 #line 1387 "gram.y" /* yacc.c:1652  */
26427     {
26428 					if ((yyloc) < 0)			/* see comments for YYLLOC_DEFAULT */
26429 						(yyloc) = (yylsp[0]);
26430 					(yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node));
26431 				}
26432 #line 26433 "gram.c" /* yacc.c:1652  */
26433     break;
26434 
26435   case 181:
26436 #line 1393 "gram.y" /* yacc.c:1652  */
26437     { (yyval.list) = NIL; }
26438 #line 26439 "gram.c" /* yacc.c:1652  */
26439     break;
26440 
26441   case 188:
26442 #line 1421 "gram.y" /* yacc.c:1652  */
26443     {
26444 					VariableSetStmt *n = (yyvsp[0].vsetstmt);
26445 					n->is_local = false;
26446 					(yyval.node) = (Node *) n;
26447 				}
26448 #line 26449 "gram.c" /* yacc.c:1652  */
26449     break;
26450 
26451   case 189:
26452 #line 1427 "gram.y" /* yacc.c:1652  */
26453     {
26454 					VariableSetStmt *n = (yyvsp[0].vsetstmt);
26455 					n->is_local = true;
26456 					(yyval.node) = (Node *) n;
26457 				}
26458 #line 26459 "gram.c" /* yacc.c:1652  */
26459     break;
26460 
26461   case 190:
26462 #line 1433 "gram.y" /* yacc.c:1652  */
26463     {
26464 					VariableSetStmt *n = (yyvsp[0].vsetstmt);
26465 					n->is_local = false;
26466 					(yyval.node) = (Node *) n;
26467 				}
26468 #line 26469 "gram.c" /* yacc.c:1652  */
26469     break;
26470 
26471   case 191:
26472 #line 1442 "gram.y" /* yacc.c:1652  */
26473     {
26474 					VariableSetStmt *n = makeNode(VariableSetStmt);
26475 					n->kind = VAR_SET_MULTI;
26476 					n->name = "TRANSACTION";
26477 					n->args = (yyvsp[0].list);
26478 					(yyval.vsetstmt) = n;
26479 				}
26480 #line 26481 "gram.c" /* yacc.c:1652  */
26481     break;
26482 
26483   case 192:
26484 #line 1450 "gram.y" /* yacc.c:1652  */
26485     {
26486 					VariableSetStmt *n = makeNode(VariableSetStmt);
26487 					n->kind = VAR_SET_MULTI;
26488 					n->name = "SESSION CHARACTERISTICS";
26489 					n->args = (yyvsp[0].list);
26490 					(yyval.vsetstmt) = n;
26491 				}
26492 #line 26493 "gram.c" /* yacc.c:1652  */
26493     break;
26494 
26495   case 194:
26496 #line 1462 "gram.y" /* yacc.c:1652  */
26497     {
26498 					VariableSetStmt *n = makeNode(VariableSetStmt);
26499 					n->kind = VAR_SET_VALUE;
26500 					n->name = (yyvsp[-2].str);
26501 					n->args = (yyvsp[0].list);
26502 					(yyval.vsetstmt) = n;
26503 				}
26504 #line 26505 "gram.c" /* yacc.c:1652  */
26505     break;
26506 
26507   case 195:
26508 #line 1470 "gram.y" /* yacc.c:1652  */
26509     {
26510 					VariableSetStmt *n = makeNode(VariableSetStmt);
26511 					n->kind = VAR_SET_VALUE;
26512 					n->name = (yyvsp[-2].str);
26513 					n->args = (yyvsp[0].list);
26514 					(yyval.vsetstmt) = n;
26515 				}
26516 #line 26517 "gram.c" /* yacc.c:1652  */
26517     break;
26518 
26519   case 196:
26520 #line 1478 "gram.y" /* yacc.c:1652  */
26521     {
26522 					VariableSetStmt *n = makeNode(VariableSetStmt);
26523 					n->kind = VAR_SET_DEFAULT;
26524 					n->name = (yyvsp[-2].str);
26525 					(yyval.vsetstmt) = n;
26526 				}
26527 #line 26528 "gram.c" /* yacc.c:1652  */
26528     break;
26529 
26530   case 197:
26531 #line 1485 "gram.y" /* yacc.c:1652  */
26532     {
26533 					VariableSetStmt *n = makeNode(VariableSetStmt);
26534 					n->kind = VAR_SET_DEFAULT;
26535 					n->name = (yyvsp[-2].str);
26536 					(yyval.vsetstmt) = n;
26537 				}
26538 #line 26539 "gram.c" /* yacc.c:1652  */
26539     break;
26540 
26541   case 198:
26542 #line 1494 "gram.y" /* yacc.c:1652  */
26543     {(yyval.vsetstmt) = (yyvsp[0].vsetstmt);}
26544 #line 26545 "gram.c" /* yacc.c:1652  */
26545     break;
26546 
26547   case 199:
26548 #line 1496 "gram.y" /* yacc.c:1652  */
26549     {
26550 					VariableSetStmt *n = makeNode(VariableSetStmt);
26551 					n->kind = VAR_SET_CURRENT;
26552 					n->name = (yyvsp[-2].str);
26553 					(yyval.vsetstmt) = n;
26554 				}
26555 #line 26556 "gram.c" /* yacc.c:1652  */
26556     break;
26557 
26558   case 200:
26559 #line 1504 "gram.y" /* yacc.c:1652  */
26560     {
26561 					VariableSetStmt *n = makeNode(VariableSetStmt);
26562 					n->kind = VAR_SET_VALUE;
26563 					n->name = "timezone";
26564 					if ((yyvsp[0].node) != NULL)
26565 						n->args = list_make1((yyvsp[0].node));
26566 					else
26567 						n->kind = VAR_SET_DEFAULT;
26568 					(yyval.vsetstmt) = n;
26569 				}
26570 #line 26571 "gram.c" /* yacc.c:1652  */
26571     break;
26572 
26573   case 201:
26574 #line 1515 "gram.y" /* yacc.c:1652  */
26575     {
26576 					ereport(ERROR,
26577 							(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
26578 							 errmsg("current database cannot be changed"),
26579 							 parser_errposition((yylsp[0]))));
26580 					(yyval.vsetstmt) = NULL; /*not reached*/
26581 				}
26582 #line 26583 "gram.c" /* yacc.c:1652  */
26583     break;
26584 
26585   case 202:
26586 #line 1523 "gram.y" /* yacc.c:1652  */
26587     {
26588 					VariableSetStmt *n = makeNode(VariableSetStmt);
26589 					n->kind = VAR_SET_VALUE;
26590 					n->name = "search_path";
26591 					n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
26592 					(yyval.vsetstmt) = n;
26593 				}
26594 #line 26595 "gram.c" /* yacc.c:1652  */
26595     break;
26596 
26597   case 203:
26598 #line 1531 "gram.y" /* yacc.c:1652  */
26599     {
26600 					VariableSetStmt *n = makeNode(VariableSetStmt);
26601 					n->kind = VAR_SET_VALUE;
26602 					n->name = "client_encoding";
26603 					if ((yyvsp[0].str) != NULL)
26604 						n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
26605 					else
26606 						n->kind = VAR_SET_DEFAULT;
26607 					(yyval.vsetstmt) = n;
26608 				}
26609 #line 26610 "gram.c" /* yacc.c:1652  */
26610     break;
26611 
26612   case 204:
26613 #line 1542 "gram.y" /* yacc.c:1652  */
26614     {
26615 					VariableSetStmt *n = makeNode(VariableSetStmt);
26616 					n->kind = VAR_SET_VALUE;
26617 					n->name = "role";
26618 					n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
26619 					(yyval.vsetstmt) = n;
26620 				}
26621 #line 26622 "gram.c" /* yacc.c:1652  */
26622     break;
26623 
26624   case 205:
26625 #line 1550 "gram.y" /* yacc.c:1652  */
26626     {
26627 					VariableSetStmt *n = makeNode(VariableSetStmt);
26628 					n->kind = VAR_SET_VALUE;
26629 					n->name = "session_authorization";
26630 					n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
26631 					(yyval.vsetstmt) = n;
26632 				}
26633 #line 26634 "gram.c" /* yacc.c:1652  */
26634     break;
26635 
26636   case 206:
26637 #line 1558 "gram.y" /* yacc.c:1652  */
26638     {
26639 					VariableSetStmt *n = makeNode(VariableSetStmt);
26640 					n->kind = VAR_SET_DEFAULT;
26641 					n->name = "session_authorization";
26642 					(yyval.vsetstmt) = n;
26643 				}
26644 #line 26645 "gram.c" /* yacc.c:1652  */
26645     break;
26646 
26647   case 207:
26648 #line 1565 "gram.y" /* yacc.c:1652  */
26649     {
26650 					VariableSetStmt *n = makeNode(VariableSetStmt);
26651 					n->kind = VAR_SET_VALUE;
26652 					n->name = "xmloption";
26653 					n->args = list_make1(makeStringConst((yyvsp[0].ival) == XMLOPTION_DOCUMENT ? "DOCUMENT" : "CONTENT", (yylsp[0])));
26654 					(yyval.vsetstmt) = n;
26655 				}
26656 #line 26657 "gram.c" /* yacc.c:1652  */
26657     break;
26658 
26659   case 208:
26660 #line 1574 "gram.y" /* yacc.c:1652  */
26661     {
26662 					VariableSetStmt *n = makeNode(VariableSetStmt);
26663 					n->kind = VAR_SET_MULTI;
26664 					n->name = "TRANSACTION SNAPSHOT";
26665 					n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
26666 					(yyval.vsetstmt) = n;
26667 				}
26668 #line 26669 "gram.c" /* yacc.c:1652  */
26669     break;
26670 
26671   case 209:
26672 #line 1583 "gram.y" /* yacc.c:1652  */
26673     { (yyval.str) = (yyvsp[0].str); }
26674 #line 26675 "gram.c" /* yacc.c:1652  */
26675     break;
26676 
26677   case 210:
26678 #line 1585 "gram.y" /* yacc.c:1652  */
26679     { (yyval.str) = psprintf("%s.%s", (yyvsp[-2].str), (yyvsp[0].str)); }
26680 #line 26681 "gram.c" /* yacc.c:1652  */
26681     break;
26682 
26683   case 211:
26684 #line 1588 "gram.y" /* yacc.c:1652  */
26685     { (yyval.list) = list_make1((yyvsp[0].node)); }
26686 #line 26687 "gram.c" /* yacc.c:1652  */
26687     break;
26688 
26689   case 212:
26690 #line 1589 "gram.y" /* yacc.c:1652  */
26691     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
26692 #line 26693 "gram.c" /* yacc.c:1652  */
26693     break;
26694 
26695   case 213:
26696 #line 1593 "gram.y" /* yacc.c:1652  */
26697     { (yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0])); }
26698 #line 26699 "gram.c" /* yacc.c:1652  */
26699     break;
26700 
26701   case 214:
26702 #line 1595 "gram.y" /* yacc.c:1652  */
26703     { (yyval.node) = makeAConst((yyvsp[0].value), (yylsp[0])); }
26704 #line 26705 "gram.c" /* yacc.c:1652  */
26705     break;
26706 
26707   case 215:
26708 #line 1598 "gram.y" /* yacc.c:1652  */
26709     { (yyval.str) = "read uncommitted"; }
26710 #line 26711 "gram.c" /* yacc.c:1652  */
26711     break;
26712 
26713   case 216:
26714 #line 1599 "gram.y" /* yacc.c:1652  */
26715     { (yyval.str) = "read committed"; }
26716 #line 26717 "gram.c" /* yacc.c:1652  */
26717     break;
26718 
26719   case 217:
26720 #line 1600 "gram.y" /* yacc.c:1652  */
26721     { (yyval.str) = "repeatable read"; }
26722 #line 26723 "gram.c" /* yacc.c:1652  */
26723     break;
26724 
26725   case 218:
26726 #line 1601 "gram.y" /* yacc.c:1652  */
26727     { (yyval.str) = "serializable"; }
26728 #line 26729 "gram.c" /* yacc.c:1652  */
26729     break;
26730 
26731   case 219:
26732 #line 1605 "gram.y" /* yacc.c:1652  */
26733     { (yyval.str) = "true"; }
26734 #line 26735 "gram.c" /* yacc.c:1652  */
26735     break;
26736 
26737   case 220:
26738 #line 1606 "gram.y" /* yacc.c:1652  */
26739     { (yyval.str) = "false"; }
26740 #line 26741 "gram.c" /* yacc.c:1652  */
26741     break;
26742 
26743   case 221:
26744 #line 1607 "gram.y" /* yacc.c:1652  */
26745     { (yyval.str) = "on"; }
26746 #line 26747 "gram.c" /* yacc.c:1652  */
26747     break;
26748 
26749   case 222:
26750 #line 1613 "gram.y" /* yacc.c:1652  */
26751     { (yyval.str) = (yyvsp[0].str); }
26752 #line 26753 "gram.c" /* yacc.c:1652  */
26753     break;
26754 
26755   case 223:
26756 #line 1626 "gram.y" /* yacc.c:1652  */
26757     {
26758 					(yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0]));
26759 				}
26760 #line 26761 "gram.c" /* yacc.c:1652  */
26761     break;
26762 
26763   case 224:
26764 #line 1630 "gram.y" /* yacc.c:1652  */
26765     {
26766 					(yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0]));
26767 				}
26768 #line 26769 "gram.c" /* yacc.c:1652  */
26769     break;
26770 
26771   case 225:
26772 #line 1634 "gram.y" /* yacc.c:1652  */
26773     {
26774 					TypeName *t = (yyvsp[-2].typnam);
26775 					if ((yyvsp[0].list) != NIL)
26776 					{
26777 						A_Const *n = (A_Const *) linitial((yyvsp[0].list));
26778 						if ((n->val.val.ival & ~(INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE))) != 0)
26779 							ereport(ERROR,
26780 									(errcode(ERRCODE_SYNTAX_ERROR),
26781 									 errmsg("time zone interval must be HOUR or HOUR TO MINUTE"),
26782 									 parser_errposition((yylsp[0]))));
26783 					}
26784 					t->typmods = (yyvsp[0].list);
26785 					(yyval.node) = makeStringConstCast((yyvsp[-1].str), (yylsp[-1]), t);
26786 				}
26787 #line 26788 "gram.c" /* yacc.c:1652  */
26788     break;
26789 
26790   case 226:
26791 #line 1649 "gram.y" /* yacc.c:1652  */
26792     {
26793 					TypeName *t = (yyvsp[-4].typnam);
26794 					t->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1),
26795 											makeIntConst((yyvsp[-2].ival), (yylsp[-2])));
26796 					(yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t);
26797 				}
26798 #line 26799 "gram.c" /* yacc.c:1652  */
26799     break;
26800 
26801   case 227:
26802 #line 1655 "gram.y" /* yacc.c:1652  */
26803     { (yyval.node) = makeAConst((yyvsp[0].value), (yylsp[0])); }
26804 #line 26805 "gram.c" /* yacc.c:1652  */
26805     break;
26806 
26807   case 228:
26808 #line 1656 "gram.y" /* yacc.c:1652  */
26809     { (yyval.node) = NULL; }
26810 #line 26811 "gram.c" /* yacc.c:1652  */
26811     break;
26812 
26813   case 229:
26814 #line 1657 "gram.y" /* yacc.c:1652  */
26815     { (yyval.node) = NULL; }
26816 #line 26817 "gram.c" /* yacc.c:1652  */
26817     break;
26818 
26819   case 230:
26820 #line 1661 "gram.y" /* yacc.c:1652  */
26821     { (yyval.str) = (yyvsp[0].str); }
26822 #line 26823 "gram.c" /* yacc.c:1652  */
26823     break;
26824 
26825   case 231:
26826 #line 1662 "gram.y" /* yacc.c:1652  */
26827     { (yyval.str) = NULL; }
26828 #line 26829 "gram.c" /* yacc.c:1652  */
26829     break;
26830 
26831   case 232:
26832 #line 1663 "gram.y" /* yacc.c:1652  */
26833     { (yyval.str) = NULL; }
26834 #line 26835 "gram.c" /* yacc.c:1652  */
26835     break;
26836 
26837   case 233:
26838 #line 1667 "gram.y" /* yacc.c:1652  */
26839     { (yyval.str) = (yyvsp[0].str); }
26840 #line 26841 "gram.c" /* yacc.c:1652  */
26841     break;
26842 
26843   case 234:
26844 #line 1668 "gram.y" /* yacc.c:1652  */
26845     { (yyval.str) = (yyvsp[0].str); }
26846 #line 26847 "gram.c" /* yacc.c:1652  */
26847     break;
26848 
26849   case 235:
26850 #line 1672 "gram.y" /* yacc.c:1652  */
26851     { (yyval.node) = (Node *) (yyvsp[0].vsetstmt); }
26852 #line 26853 "gram.c" /* yacc.c:1652  */
26853     break;
26854 
26855   case 236:
26856 #line 1676 "gram.y" /* yacc.c:1652  */
26857     { (yyval.vsetstmt) = (yyvsp[0].vsetstmt); }
26858 #line 26859 "gram.c" /* yacc.c:1652  */
26859     break;
26860 
26861   case 237:
26862 #line 1678 "gram.y" /* yacc.c:1652  */
26863     {
26864 					VariableSetStmt *n = makeNode(VariableSetStmt);
26865 					n->kind = VAR_RESET;
26866 					n->name = "timezone";
26867 					(yyval.vsetstmt) = n;
26868 				}
26869 #line 26870 "gram.c" /* yacc.c:1652  */
26870     break;
26871 
26872   case 238:
26873 #line 1685 "gram.y" /* yacc.c:1652  */
26874     {
26875 					VariableSetStmt *n = makeNode(VariableSetStmt);
26876 					n->kind = VAR_RESET;
26877 					n->name = "transaction_isolation";
26878 					(yyval.vsetstmt) = n;
26879 				}
26880 #line 26881 "gram.c" /* yacc.c:1652  */
26881     break;
26882 
26883   case 239:
26884 #line 1692 "gram.y" /* yacc.c:1652  */
26885     {
26886 					VariableSetStmt *n = makeNode(VariableSetStmt);
26887 					n->kind = VAR_RESET;
26888 					n->name = "session_authorization";
26889 					(yyval.vsetstmt) = n;
26890 				}
26891 #line 26892 "gram.c" /* yacc.c:1652  */
26892     break;
26893 
26894   case 240:
26895 #line 1702 "gram.y" /* yacc.c:1652  */
26896     {
26897 					VariableSetStmt *n = makeNode(VariableSetStmt);
26898 					n->kind = VAR_RESET;
26899 					n->name = (yyvsp[0].str);
26900 					(yyval.vsetstmt) = n;
26901 				}
26902 #line 26903 "gram.c" /* yacc.c:1652  */
26903     break;
26904 
26905   case 241:
26906 #line 1709 "gram.y" /* yacc.c:1652  */
26907     {
26908 					VariableSetStmt *n = makeNode(VariableSetStmt);
26909 					n->kind = VAR_RESET_ALL;
26910 					(yyval.vsetstmt) = n;
26911 				}
26912 #line 26913 "gram.c" /* yacc.c:1652  */
26913     break;
26914 
26915   case 242:
26916 #line 1718 "gram.y" /* yacc.c:1652  */
26917     { (yyval.vsetstmt) = (yyvsp[0].vsetstmt); }
26918 #line 26919 "gram.c" /* yacc.c:1652  */
26919     break;
26920 
26921   case 243:
26922 #line 1719 "gram.y" /* yacc.c:1652  */
26923     { (yyval.vsetstmt) = (VariableSetStmt *) (yyvsp[0].node); }
26924 #line 26925 "gram.c" /* yacc.c:1652  */
26925     break;
26926 
26927   case 244:
26928 #line 1724 "gram.y" /* yacc.c:1652  */
26929     { (yyval.vsetstmt) = (yyvsp[0].vsetstmt); }
26930 #line 26931 "gram.c" /* yacc.c:1652  */
26931     break;
26932 
26933   case 245:
26934 #line 1725 "gram.y" /* yacc.c:1652  */
26935     { (yyval.vsetstmt) = (VariableSetStmt *) (yyvsp[0].node); }
26936 #line 26937 "gram.c" /* yacc.c:1652  */
26937     break;
26938 
26939   case 246:
26940 #line 1731 "gram.y" /* yacc.c:1652  */
26941     {
26942 					VariableShowStmt *n = makeNode(VariableShowStmt);
26943 					n->name = (yyvsp[0].str);
26944 					(yyval.node) = (Node *) n;
26945 				}
26946 #line 26947 "gram.c" /* yacc.c:1652  */
26947     break;
26948 
26949   case 247:
26950 #line 1737 "gram.y" /* yacc.c:1652  */
26951     {
26952 					VariableShowStmt *n = makeNode(VariableShowStmt);
26953 					n->name = "timezone";
26954 					(yyval.node) = (Node *) n;
26955 				}
26956 #line 26957 "gram.c" /* yacc.c:1652  */
26957     break;
26958 
26959   case 248:
26960 #line 1743 "gram.y" /* yacc.c:1652  */
26961     {
26962 					VariableShowStmt *n = makeNode(VariableShowStmt);
26963 					n->name = "transaction_isolation";
26964 					(yyval.node) = (Node *) n;
26965 				}
26966 #line 26967 "gram.c" /* yacc.c:1652  */
26967     break;
26968 
26969   case 249:
26970 #line 1749 "gram.y" /* yacc.c:1652  */
26971     {
26972 					VariableShowStmt *n = makeNode(VariableShowStmt);
26973 					n->name = "session_authorization";
26974 					(yyval.node) = (Node *) n;
26975 				}
26976 #line 26977 "gram.c" /* yacc.c:1652  */
26977     break;
26978 
26979   case 250:
26980 #line 1755 "gram.y" /* yacc.c:1652  */
26981     {
26982 					VariableShowStmt *n = makeNode(VariableShowStmt);
26983 					n->name = "all";
26984 					(yyval.node) = (Node *) n;
26985 				}
26986 #line 26987 "gram.c" /* yacc.c:1652  */
26987     break;
26988 
26989   case 251:
26990 #line 1765 "gram.y" /* yacc.c:1652  */
26991     {
26992 					ConstraintsSetStmt *n = makeNode(ConstraintsSetStmt);
26993 					n->constraints = (yyvsp[-1].list);
26994 					n->deferred = (yyvsp[0].boolean);
26995 					(yyval.node) = (Node *) n;
26996 				}
26997 #line 26998 "gram.c" /* yacc.c:1652  */
26998     break;
26999 
27000   case 252:
27001 #line 1774 "gram.y" /* yacc.c:1652  */
27002     { (yyval.list) = NIL; }
27003 #line 27004 "gram.c" /* yacc.c:1652  */
27004     break;
27005 
27006   case 253:
27007 #line 1775 "gram.y" /* yacc.c:1652  */
27008     { (yyval.list) = (yyvsp[0].list); }
27009 #line 27010 "gram.c" /* yacc.c:1652  */
27010     break;
27011 
27012   case 254:
27013 #line 1779 "gram.y" /* yacc.c:1652  */
27014     { (yyval.boolean) = true; }
27015 #line 27016 "gram.c" /* yacc.c:1652  */
27016     break;
27017 
27018   case 255:
27019 #line 1780 "gram.y" /* yacc.c:1652  */
27020     { (yyval.boolean) = false; }
27021 #line 27022 "gram.c" /* yacc.c:1652  */
27022     break;
27023 
27024   case 256:
27025 #line 1789 "gram.y" /* yacc.c:1652  */
27026     {
27027 					CheckPointStmt *n = makeNode(CheckPointStmt);
27028 					(yyval.node) = (Node *)n;
27029 				}
27030 #line 27031 "gram.c" /* yacc.c:1652  */
27031     break;
27032 
27033   case 257:
27034 #line 1804 "gram.y" /* yacc.c:1652  */
27035     {
27036 					DiscardStmt *n = makeNode(DiscardStmt);
27037 					n->target = DISCARD_ALL;
27038 					(yyval.node) = (Node *) n;
27039 				}
27040 #line 27041 "gram.c" /* yacc.c:1652  */
27041     break;
27042 
27043   case 258:
27044 #line 1810 "gram.y" /* yacc.c:1652  */
27045     {
27046 					DiscardStmt *n = makeNode(DiscardStmt);
27047 					n->target = DISCARD_TEMP;
27048 					(yyval.node) = (Node *) n;
27049 				}
27050 #line 27051 "gram.c" /* yacc.c:1652  */
27051     break;
27052 
27053   case 259:
27054 #line 1816 "gram.y" /* yacc.c:1652  */
27055     {
27056 					DiscardStmt *n = makeNode(DiscardStmt);
27057 					n->target = DISCARD_TEMP;
27058 					(yyval.node) = (Node *) n;
27059 				}
27060 #line 27061 "gram.c" /* yacc.c:1652  */
27061     break;
27062 
27063   case 260:
27064 #line 1822 "gram.y" /* yacc.c:1652  */
27065     {
27066 					DiscardStmt *n = makeNode(DiscardStmt);
27067 					n->target = DISCARD_PLANS;
27068 					(yyval.node) = (Node *) n;
27069 				}
27070 #line 27071 "gram.c" /* yacc.c:1652  */
27071     break;
27072 
27073   case 261:
27074 #line 1828 "gram.y" /* yacc.c:1652  */
27075     {
27076 					DiscardStmt *n = makeNode(DiscardStmt);
27077 					n->target = DISCARD_SEQUENCES;
27078 					(yyval.node) = (Node *) n;
27079 				}
27080 #line 27081 "gram.c" /* yacc.c:1652  */
27081     break;
27082 
27083   case 262:
27084 #line 1847 "gram.y" /* yacc.c:1652  */
27085     {
27086 					AlterTableStmt *n = makeNode(AlterTableStmt);
27087 					n->relation = (yyvsp[-1].range);
27088 					n->cmds = (yyvsp[0].list);
27089 					n->relkind = OBJECT_TABLE;
27090 					n->missing_ok = false;
27091 					(yyval.node) = (Node *)n;
27092 				}
27093 #line 27094 "gram.c" /* yacc.c:1652  */
27094     break;
27095 
27096   case 263:
27097 #line 1856 "gram.y" /* yacc.c:1652  */
27098     {
27099 					AlterTableStmt *n = makeNode(AlterTableStmt);
27100 					n->relation = (yyvsp[-1].range);
27101 					n->cmds = (yyvsp[0].list);
27102 					n->relkind = OBJECT_TABLE;
27103 					n->missing_ok = true;
27104 					(yyval.node) = (Node *)n;
27105 				}
27106 #line 27107 "gram.c" /* yacc.c:1652  */
27107     break;
27108 
27109   case 264:
27110 #line 1865 "gram.y" /* yacc.c:1652  */
27111     {
27112 					AlterTableStmt *n = makeNode(AlterTableStmt);
27113 					n->relation = (yyvsp[-1].range);
27114 					n->cmds = list_make1((yyvsp[0].node));
27115 					n->relkind = OBJECT_TABLE;
27116 					n->missing_ok = false;
27117 					(yyval.node) = (Node *)n;
27118 				}
27119 #line 27120 "gram.c" /* yacc.c:1652  */
27120     break;
27121 
27122   case 265:
27123 #line 1874 "gram.y" /* yacc.c:1652  */
27124     {
27125 					AlterTableStmt *n = makeNode(AlterTableStmt);
27126 					n->relation = (yyvsp[-1].range);
27127 					n->cmds = list_make1((yyvsp[0].node));
27128 					n->relkind = OBJECT_TABLE;
27129 					n->missing_ok = true;
27130 					(yyval.node) = (Node *)n;
27131 				}
27132 #line 27133 "gram.c" /* yacc.c:1652  */
27133     break;
27134 
27135   case 266:
27136 #line 1883 "gram.y" /* yacc.c:1652  */
27137     {
27138 					AlterTableMoveAllStmt *n =
27139 						makeNode(AlterTableMoveAllStmt);
27140 					n->orig_tablespacename = (yyvsp[-4].str);
27141 					n->objtype = OBJECT_TABLE;
27142 					n->roles = NIL;
27143 					n->new_tablespacename = (yyvsp[-1].str);
27144 					n->nowait = (yyvsp[0].boolean);
27145 					(yyval.node) = (Node *)n;
27146 				}
27147 #line 27148 "gram.c" /* yacc.c:1652  */
27148     break;
27149 
27150   case 267:
27151 #line 1894 "gram.y" /* yacc.c:1652  */
27152     {
27153 					AlterTableMoveAllStmt *n =
27154 						makeNode(AlterTableMoveAllStmt);
27155 					n->orig_tablespacename = (yyvsp[-7].str);
27156 					n->objtype = OBJECT_TABLE;
27157 					n->roles = (yyvsp[-4].list);
27158 					n->new_tablespacename = (yyvsp[-1].str);
27159 					n->nowait = (yyvsp[0].boolean);
27160 					(yyval.node) = (Node *)n;
27161 				}
27162 #line 27163 "gram.c" /* yacc.c:1652  */
27163     break;
27164 
27165   case 268:
27166 #line 1905 "gram.y" /* yacc.c:1652  */
27167     {
27168 					AlterTableStmt *n = makeNode(AlterTableStmt);
27169 					n->relation = (yyvsp[-1].range);
27170 					n->cmds = (yyvsp[0].list);
27171 					n->relkind = OBJECT_INDEX;
27172 					n->missing_ok = false;
27173 					(yyval.node) = (Node *)n;
27174 				}
27175 #line 27176 "gram.c" /* yacc.c:1652  */
27176     break;
27177 
27178   case 269:
27179 #line 1914 "gram.y" /* yacc.c:1652  */
27180     {
27181 					AlterTableStmt *n = makeNode(AlterTableStmt);
27182 					n->relation = (yyvsp[-1].range);
27183 					n->cmds = (yyvsp[0].list);
27184 					n->relkind = OBJECT_INDEX;
27185 					n->missing_ok = true;
27186 					(yyval.node) = (Node *)n;
27187 				}
27188 #line 27189 "gram.c" /* yacc.c:1652  */
27189     break;
27190 
27191   case 270:
27192 #line 1923 "gram.y" /* yacc.c:1652  */
27193     {
27194 					AlterTableStmt *n = makeNode(AlterTableStmt);
27195 					n->relation = (yyvsp[-1].range);
27196 					n->cmds = list_make1((yyvsp[0].node));
27197 					n->relkind = OBJECT_INDEX;
27198 					n->missing_ok = false;
27199 					(yyval.node) = (Node *)n;
27200 				}
27201 #line 27202 "gram.c" /* yacc.c:1652  */
27202     break;
27203 
27204   case 271:
27205 #line 1932 "gram.y" /* yacc.c:1652  */
27206     {
27207 					AlterTableMoveAllStmt *n =
27208 						makeNode(AlterTableMoveAllStmt);
27209 					n->orig_tablespacename = (yyvsp[-4].str);
27210 					n->objtype = OBJECT_INDEX;
27211 					n->roles = NIL;
27212 					n->new_tablespacename = (yyvsp[-1].str);
27213 					n->nowait = (yyvsp[0].boolean);
27214 					(yyval.node) = (Node *)n;
27215 				}
27216 #line 27217 "gram.c" /* yacc.c:1652  */
27217     break;
27218 
27219   case 272:
27220 #line 1943 "gram.y" /* yacc.c:1652  */
27221     {
27222 					AlterTableMoveAllStmt *n =
27223 						makeNode(AlterTableMoveAllStmt);
27224 					n->orig_tablespacename = (yyvsp[-7].str);
27225 					n->objtype = OBJECT_INDEX;
27226 					n->roles = (yyvsp[-4].list);
27227 					n->new_tablespacename = (yyvsp[-1].str);
27228 					n->nowait = (yyvsp[0].boolean);
27229 					(yyval.node) = (Node *)n;
27230 				}
27231 #line 27232 "gram.c" /* yacc.c:1652  */
27232     break;
27233 
27234   case 273:
27235 #line 1954 "gram.y" /* yacc.c:1652  */
27236     {
27237 					AlterTableStmt *n = makeNode(AlterTableStmt);
27238 					n->relation = (yyvsp[-1].range);
27239 					n->cmds = (yyvsp[0].list);
27240 					n->relkind = OBJECT_SEQUENCE;
27241 					n->missing_ok = false;
27242 					(yyval.node) = (Node *)n;
27243 				}
27244 #line 27245 "gram.c" /* yacc.c:1652  */
27245     break;
27246 
27247   case 274:
27248 #line 1963 "gram.y" /* yacc.c:1652  */
27249     {
27250 					AlterTableStmt *n = makeNode(AlterTableStmt);
27251 					n->relation = (yyvsp[-1].range);
27252 					n->cmds = (yyvsp[0].list);
27253 					n->relkind = OBJECT_SEQUENCE;
27254 					n->missing_ok = true;
27255 					(yyval.node) = (Node *)n;
27256 				}
27257 #line 27258 "gram.c" /* yacc.c:1652  */
27258     break;
27259 
27260   case 275:
27261 #line 1972 "gram.y" /* yacc.c:1652  */
27262     {
27263 					AlterTableStmt *n = makeNode(AlterTableStmt);
27264 					n->relation = (yyvsp[-1].range);
27265 					n->cmds = (yyvsp[0].list);
27266 					n->relkind = OBJECT_VIEW;
27267 					n->missing_ok = false;
27268 					(yyval.node) = (Node *)n;
27269 				}
27270 #line 27271 "gram.c" /* yacc.c:1652  */
27271     break;
27272 
27273   case 276:
27274 #line 1981 "gram.y" /* yacc.c:1652  */
27275     {
27276 					AlterTableStmt *n = makeNode(AlterTableStmt);
27277 					n->relation = (yyvsp[-1].range);
27278 					n->cmds = (yyvsp[0].list);
27279 					n->relkind = OBJECT_VIEW;
27280 					n->missing_ok = true;
27281 					(yyval.node) = (Node *)n;
27282 				}
27283 #line 27284 "gram.c" /* yacc.c:1652  */
27284     break;
27285 
27286   case 277:
27287 #line 1990 "gram.y" /* yacc.c:1652  */
27288     {
27289 					AlterTableStmt *n = makeNode(AlterTableStmt);
27290 					n->relation = (yyvsp[-1].range);
27291 					n->cmds = (yyvsp[0].list);
27292 					n->relkind = OBJECT_MATVIEW;
27293 					n->missing_ok = false;
27294 					(yyval.node) = (Node *)n;
27295 				}
27296 #line 27297 "gram.c" /* yacc.c:1652  */
27297     break;
27298 
27299   case 278:
27300 #line 1999 "gram.y" /* yacc.c:1652  */
27301     {
27302 					AlterTableStmt *n = makeNode(AlterTableStmt);
27303 					n->relation = (yyvsp[-1].range);
27304 					n->cmds = (yyvsp[0].list);
27305 					n->relkind = OBJECT_MATVIEW;
27306 					n->missing_ok = true;
27307 					(yyval.node) = (Node *)n;
27308 				}
27309 #line 27310 "gram.c" /* yacc.c:1652  */
27310     break;
27311 
27312   case 279:
27313 #line 2008 "gram.y" /* yacc.c:1652  */
27314     {
27315 					AlterTableMoveAllStmt *n =
27316 						makeNode(AlterTableMoveAllStmt);
27317 					n->orig_tablespacename = (yyvsp[-4].str);
27318 					n->objtype = OBJECT_MATVIEW;
27319 					n->roles = NIL;
27320 					n->new_tablespacename = (yyvsp[-1].str);
27321 					n->nowait = (yyvsp[0].boolean);
27322 					(yyval.node) = (Node *)n;
27323 				}
27324 #line 27325 "gram.c" /* yacc.c:1652  */
27325     break;
27326 
27327   case 280:
27328 #line 2019 "gram.y" /* yacc.c:1652  */
27329     {
27330 					AlterTableMoveAllStmt *n =
27331 						makeNode(AlterTableMoveAllStmt);
27332 					n->orig_tablespacename = (yyvsp[-7].str);
27333 					n->objtype = OBJECT_MATVIEW;
27334 					n->roles = (yyvsp[-4].list);
27335 					n->new_tablespacename = (yyvsp[-1].str);
27336 					n->nowait = (yyvsp[0].boolean);
27337 					(yyval.node) = (Node *)n;
27338 				}
27339 #line 27340 "gram.c" /* yacc.c:1652  */
27340     break;
27341 
27342   case 281:
27343 #line 2032 "gram.y" /* yacc.c:1652  */
27344     { (yyval.list) = list_make1((yyvsp[0].node)); }
27345 #line 27346 "gram.c" /* yacc.c:1652  */
27346     break;
27347 
27348   case 282:
27349 #line 2033 "gram.y" /* yacc.c:1652  */
27350     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
27351 #line 27352 "gram.c" /* yacc.c:1652  */
27352     break;
27353 
27354   case 283:
27355 #line 2039 "gram.y" /* yacc.c:1652  */
27356     {
27357 					AlterTableCmd *n = makeNode(AlterTableCmd);
27358 					PartitionCmd *cmd = makeNode(PartitionCmd);
27359 
27360 					n->subtype = AT_AttachPartition;
27361 					cmd->name = (yyvsp[-1].range);
27362 					cmd->bound = (yyvsp[0].partboundspec);
27363 					n->def = (Node *) cmd;
27364 
27365 					(yyval.node) = (Node *) n;
27366 				}
27367 #line 27368 "gram.c" /* yacc.c:1652  */
27368     break;
27369 
27370   case 284:
27371 #line 2052 "gram.y" /* yacc.c:1652  */
27372     {
27373 					AlterTableCmd *n = makeNode(AlterTableCmd);
27374 					PartitionCmd *cmd = makeNode(PartitionCmd);
27375 
27376 					n->subtype = AT_DetachPartition;
27377 					cmd->name = (yyvsp[0].range);
27378 					cmd->bound = NULL;
27379 					n->def = (Node *) cmd;
27380 
27381 					(yyval.node) = (Node *) n;
27382 				}
27383 #line 27384 "gram.c" /* yacc.c:1652  */
27384     break;
27385 
27386   case 285:
27387 #line 2068 "gram.y" /* yacc.c:1652  */
27388     {
27389 					AlterTableCmd *n = makeNode(AlterTableCmd);
27390 					PartitionCmd *cmd = makeNode(PartitionCmd);
27391 
27392 					n->subtype = AT_AttachPartition;
27393 					cmd->name = (yyvsp[0].range);
27394 					cmd->bound = NULL;
27395 					n->def = (Node *) cmd;
27396 
27397 					(yyval.node) = (Node *) n;
27398 				}
27399 #line 27400 "gram.c" /* yacc.c:1652  */
27400     break;
27401 
27402   case 286:
27403 #line 2084 "gram.y" /* yacc.c:1652  */
27404     {
27405 					AlterTableCmd *n = makeNode(AlterTableCmd);
27406 					n->subtype = AT_AddColumn;
27407 					n->def = (yyvsp[0].node);
27408 					n->missing_ok = false;
27409 					(yyval.node) = (Node *)n;
27410 				}
27411 #line 27412 "gram.c" /* yacc.c:1652  */
27412     break;
27413 
27414   case 287:
27415 #line 2093 "gram.y" /* yacc.c:1652  */
27416     {
27417 					AlterTableCmd *n = makeNode(AlterTableCmd);
27418 					n->subtype = AT_AddColumn;
27419 					n->def = (yyvsp[0].node);
27420 					n->missing_ok = true;
27421 					(yyval.node) = (Node *)n;
27422 				}
27423 #line 27424 "gram.c" /* yacc.c:1652  */
27424     break;
27425 
27426   case 288:
27427 #line 2102 "gram.y" /* yacc.c:1652  */
27428     {
27429 					AlterTableCmd *n = makeNode(AlterTableCmd);
27430 					n->subtype = AT_AddColumn;
27431 					n->def = (yyvsp[0].node);
27432 					n->missing_ok = false;
27433 					(yyval.node) = (Node *)n;
27434 				}
27435 #line 27436 "gram.c" /* yacc.c:1652  */
27436     break;
27437 
27438   case 289:
27439 #line 2111 "gram.y" /* yacc.c:1652  */
27440     {
27441 					AlterTableCmd *n = makeNode(AlterTableCmd);
27442 					n->subtype = AT_AddColumn;
27443 					n->def = (yyvsp[0].node);
27444 					n->missing_ok = true;
27445 					(yyval.node) = (Node *)n;
27446 				}
27447 #line 27448 "gram.c" /* yacc.c:1652  */
27448     break;
27449 
27450   case 290:
27451 #line 2120 "gram.y" /* yacc.c:1652  */
27452     {
27453 					AlterTableCmd *n = makeNode(AlterTableCmd);
27454 					n->subtype = AT_ColumnDefault;
27455 					n->name = (yyvsp[-1].str);
27456 					n->def = (yyvsp[0].node);
27457 					(yyval.node) = (Node *)n;
27458 				}
27459 #line 27460 "gram.c" /* yacc.c:1652  */
27460     break;
27461 
27462   case 291:
27463 #line 2129 "gram.y" /* yacc.c:1652  */
27464     {
27465 					AlterTableCmd *n = makeNode(AlterTableCmd);
27466 					n->subtype = AT_DropNotNull;
27467 					n->name = (yyvsp[-3].str);
27468 					(yyval.node) = (Node *)n;
27469 				}
27470 #line 27471 "gram.c" /* yacc.c:1652  */
27471     break;
27472 
27473   case 292:
27474 #line 2137 "gram.y" /* yacc.c:1652  */
27475     {
27476 					AlterTableCmd *n = makeNode(AlterTableCmd);
27477 					n->subtype = AT_SetNotNull;
27478 					n->name = (yyvsp[-3].str);
27479 					(yyval.node) = (Node *)n;
27480 				}
27481 #line 27482 "gram.c" /* yacc.c:1652  */
27482     break;
27483 
27484   case 293:
27485 #line 2145 "gram.y" /* yacc.c:1652  */
27486     {
27487 					AlterTableCmd *n = makeNode(AlterTableCmd);
27488 					n->subtype = AT_DropExpression;
27489 					n->name = (yyvsp[-2].str);
27490 					(yyval.node) = (Node *)n;
27491 				}
27492 #line 27493 "gram.c" /* yacc.c:1652  */
27493     break;
27494 
27495   case 294:
27496 #line 2153 "gram.y" /* yacc.c:1652  */
27497     {
27498 					AlterTableCmd *n = makeNode(AlterTableCmd);
27499 					n->subtype = AT_DropExpression;
27500 					n->name = (yyvsp[-4].str);
27501 					n->missing_ok = true;
27502 					(yyval.node) = (Node *)n;
27503 				}
27504 #line 27505 "gram.c" /* yacc.c:1652  */
27505     break;
27506 
27507   case 295:
27508 #line 2162 "gram.y" /* yacc.c:1652  */
27509     {
27510 					AlterTableCmd *n = makeNode(AlterTableCmd);
27511 					n->subtype = AT_SetStatistics;
27512 					n->name = (yyvsp[-3].str);
27513 					n->def = (Node *) makeInteger((yyvsp[0].ival));
27514 					(yyval.node) = (Node *)n;
27515 				}
27516 #line 27517 "gram.c" /* yacc.c:1652  */
27517     break;
27518 
27519   case 296:
27520 #line 2171 "gram.y" /* yacc.c:1652  */
27521     {
27522 					AlterTableCmd *n = makeNode(AlterTableCmd);
27523 
27524 					if ((yyvsp[-3].ival) <= 0 || (yyvsp[-3].ival) > PG_INT16_MAX)
27525 						ereport(ERROR,
27526 								(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
27527 								 errmsg("column number must be in range from 1 to %d", PG_INT16_MAX),
27528 								 parser_errposition((yylsp[-3]))));
27529 
27530 					n->subtype = AT_SetStatistics;
27531 					n->num = (int16) (yyvsp[-3].ival);
27532 					n->def = (Node *) makeInteger((yyvsp[0].ival));
27533 					(yyval.node) = (Node *)n;
27534 				}
27535 #line 27536 "gram.c" /* yacc.c:1652  */
27536     break;
27537 
27538   case 297:
27539 #line 2187 "gram.y" /* yacc.c:1652  */
27540     {
27541 					AlterTableCmd *n = makeNode(AlterTableCmd);
27542 					n->subtype = AT_SetOptions;
27543 					n->name = (yyvsp[-2].str);
27544 					n->def = (Node *) (yyvsp[0].list);
27545 					(yyval.node) = (Node *)n;
27546 				}
27547 #line 27548 "gram.c" /* yacc.c:1652  */
27548     break;
27549 
27550   case 298:
27551 #line 2196 "gram.y" /* yacc.c:1652  */
27552     {
27553 					AlterTableCmd *n = makeNode(AlterTableCmd);
27554 					n->subtype = AT_ResetOptions;
27555 					n->name = (yyvsp[-2].str);
27556 					n->def = (Node *) (yyvsp[0].list);
27557 					(yyval.node) = (Node *)n;
27558 				}
27559 #line 27560 "gram.c" /* yacc.c:1652  */
27560     break;
27561 
27562   case 299:
27563 #line 2205 "gram.y" /* yacc.c:1652  */
27564     {
27565 					AlterTableCmd *n = makeNode(AlterTableCmd);
27566 					n->subtype = AT_SetStorage;
27567 					n->name = (yyvsp[-3].str);
27568 					n->def = (Node *) makeString((yyvsp[0].str));
27569 					(yyval.node) = (Node *)n;
27570 				}
27571 #line 27572 "gram.c" /* yacc.c:1652  */
27572     break;
27573 
27574   case 300:
27575 #line 2214 "gram.y" /* yacc.c:1652  */
27576     {
27577 					AlterTableCmd *n = makeNode(AlterTableCmd);
27578 					Constraint *c = makeNode(Constraint);
27579 
27580 					c->contype = CONSTR_IDENTITY;
27581 					c->generated_when = (yyvsp[-3].ival);
27582 					c->options = (yyvsp[0].list);
27583 					c->location = (yylsp[-4]);
27584 
27585 					n->subtype = AT_AddIdentity;
27586 					n->name = (yyvsp[-6].str);
27587 					n->def = (Node *) c;
27588 
27589 					(yyval.node) = (Node *)n;
27590 				}
27591 #line 27592 "gram.c" /* yacc.c:1652  */
27592     break;
27593 
27594   case 301:
27595 #line 2231 "gram.y" /* yacc.c:1652  */
27596     {
27597 					AlterTableCmd *n = makeNode(AlterTableCmd);
27598 					n->subtype = AT_SetIdentity;
27599 					n->name = (yyvsp[-1].str);
27600 					n->def = (Node *) (yyvsp[0].list);
27601 					(yyval.node) = (Node *)n;
27602 				}
27603 #line 27604 "gram.c" /* yacc.c:1652  */
27604     break;
27605 
27606   case 302:
27607 #line 2240 "gram.y" /* yacc.c:1652  */
27608     {
27609 					AlterTableCmd *n = makeNode(AlterTableCmd);
27610 					n->subtype = AT_DropIdentity;
27611 					n->name = (yyvsp[-2].str);
27612 					n->missing_ok = false;
27613 					(yyval.node) = (Node *)n;
27614 				}
27615 #line 27616 "gram.c" /* yacc.c:1652  */
27616     break;
27617 
27618   case 303:
27619 #line 2249 "gram.y" /* yacc.c:1652  */
27620     {
27621 					AlterTableCmd *n = makeNode(AlterTableCmd);
27622 					n->subtype = AT_DropIdentity;
27623 					n->name = (yyvsp[-4].str);
27624 					n->missing_ok = true;
27625 					(yyval.node) = (Node *)n;
27626 				}
27627 #line 27628 "gram.c" /* yacc.c:1652  */
27628     break;
27629 
27630   case 304:
27631 #line 2258 "gram.y" /* yacc.c:1652  */
27632     {
27633 					AlterTableCmd *n = makeNode(AlterTableCmd);
27634 					n->subtype = AT_DropColumn;
27635 					n->name = (yyvsp[-1].str);
27636 					n->behavior = (yyvsp[0].dbehavior);
27637 					n->missing_ok = true;
27638 					(yyval.node) = (Node *)n;
27639 				}
27640 #line 27641 "gram.c" /* yacc.c:1652  */
27641     break;
27642 
27643   case 305:
27644 #line 2268 "gram.y" /* yacc.c:1652  */
27645     {
27646 					AlterTableCmd *n = makeNode(AlterTableCmd);
27647 					n->subtype = AT_DropColumn;
27648 					n->name = (yyvsp[-1].str);
27649 					n->behavior = (yyvsp[0].dbehavior);
27650 					n->missing_ok = false;
27651 					(yyval.node) = (Node *)n;
27652 				}
27653 #line 27654 "gram.c" /* yacc.c:1652  */
27654     break;
27655 
27656   case 306:
27657 #line 2281 "gram.y" /* yacc.c:1652  */
27658     {
27659 					AlterTableCmd *n = makeNode(AlterTableCmd);
27660 					ColumnDef *def = makeNode(ColumnDef);
27661 					n->subtype = AT_AlterColumnType;
27662 					n->name = (yyvsp[-5].str);
27663 					n->def = (Node *) def;
27664 					/* We only use these fields of the ColumnDef node */
27665 					def->typeName = (yyvsp[-2].typnam);
27666 					def->collClause = (CollateClause *) (yyvsp[-1].node);
27667 					def->raw_default = (yyvsp[0].node);
27668 					def->location = (yylsp[-5]);
27669 					(yyval.node) = (Node *)n;
27670 				}
27671 #line 27672 "gram.c" /* yacc.c:1652  */
27672     break;
27673 
27674   case 307:
27675 #line 2296 "gram.y" /* yacc.c:1652  */
27676     {
27677 					AlterTableCmd *n = makeNode(AlterTableCmd);
27678 					n->subtype = AT_AlterColumnGenericOptions;
27679 					n->name = (yyvsp[-1].str);
27680 					n->def = (Node *) (yyvsp[0].list);
27681 					(yyval.node) = (Node *)n;
27682 				}
27683 #line 27684 "gram.c" /* yacc.c:1652  */
27684     break;
27685 
27686   case 308:
27687 #line 2305 "gram.y" /* yacc.c:1652  */
27688     {
27689 					AlterTableCmd *n = makeNode(AlterTableCmd);
27690 					n->subtype = AT_AddConstraint;
27691 					n->def = (yyvsp[0].node);
27692 					(yyval.node) = (Node *)n;
27693 				}
27694 #line 27695 "gram.c" /* yacc.c:1652  */
27695     break;
27696 
27697   case 309:
27698 #line 2313 "gram.y" /* yacc.c:1652  */
27699     {
27700 					AlterTableCmd *n = makeNode(AlterTableCmd);
27701 					Constraint *c = makeNode(Constraint);
27702 					n->subtype = AT_AlterConstraint;
27703 					n->def = (Node *) c;
27704 					c->contype = CONSTR_FOREIGN; /* others not supported, yet */
27705 					c->conname = (yyvsp[-1].str);
27706 					processCASbits((yyvsp[0].ival), (yylsp[0]), "ALTER CONSTRAINT statement",
27707 									&c->deferrable,
27708 									&c->initdeferred,
27709 									NULL, NULL, yyscanner);
27710 					(yyval.node) = (Node *)n;
27711 				}
27712 #line 27713 "gram.c" /* yacc.c:1652  */
27713     break;
27714 
27715   case 310:
27716 #line 2328 "gram.y" /* yacc.c:1652  */
27717     {
27718 					AlterTableCmd *n = makeNode(AlterTableCmd);
27719 					n->subtype = AT_ValidateConstraint;
27720 					n->name = (yyvsp[0].str);
27721 					(yyval.node) = (Node *)n;
27722 				}
27723 #line 27724 "gram.c" /* yacc.c:1652  */
27724     break;
27725 
27726   case 311:
27727 #line 2336 "gram.y" /* yacc.c:1652  */
27728     {
27729 					AlterTableCmd *n = makeNode(AlterTableCmd);
27730 					n->subtype = AT_DropConstraint;
27731 					n->name = (yyvsp[-1].str);
27732 					n->behavior = (yyvsp[0].dbehavior);
27733 					n->missing_ok = true;
27734 					(yyval.node) = (Node *)n;
27735 				}
27736 #line 27737 "gram.c" /* yacc.c:1652  */
27737     break;
27738 
27739   case 312:
27740 #line 2346 "gram.y" /* yacc.c:1652  */
27741     {
27742 					AlterTableCmd *n = makeNode(AlterTableCmd);
27743 					n->subtype = AT_DropConstraint;
27744 					n->name = (yyvsp[-1].str);
27745 					n->behavior = (yyvsp[0].dbehavior);
27746 					n->missing_ok = false;
27747 					(yyval.node) = (Node *)n;
27748 				}
27749 #line 27750 "gram.c" /* yacc.c:1652  */
27750     break;
27751 
27752   case 313:
27753 #line 2356 "gram.y" /* yacc.c:1652  */
27754     {
27755 					AlterTableCmd *n = makeNode(AlterTableCmd);
27756 					n->subtype = AT_DropOids;
27757 					(yyval.node) = (Node *)n;
27758 				}
27759 #line 27760 "gram.c" /* yacc.c:1652  */
27760     break;
27761 
27762   case 314:
27763 #line 2363 "gram.y" /* yacc.c:1652  */
27764     {
27765 					AlterTableCmd *n = makeNode(AlterTableCmd);
27766 					n->subtype = AT_ClusterOn;
27767 					n->name = (yyvsp[0].str);
27768 					(yyval.node) = (Node *)n;
27769 				}
27770 #line 27771 "gram.c" /* yacc.c:1652  */
27771     break;
27772 
27773   case 315:
27774 #line 2371 "gram.y" /* yacc.c:1652  */
27775     {
27776 					AlterTableCmd *n = makeNode(AlterTableCmd);
27777 					n->subtype = AT_DropCluster;
27778 					n->name = NULL;
27779 					(yyval.node) = (Node *)n;
27780 				}
27781 #line 27782 "gram.c" /* yacc.c:1652  */
27782     break;
27783 
27784   case 316:
27785 #line 2379 "gram.y" /* yacc.c:1652  */
27786     {
27787 					AlterTableCmd *n = makeNode(AlterTableCmd);
27788 					n->subtype = AT_SetLogged;
27789 					(yyval.node) = (Node *)n;
27790 				}
27791 #line 27792 "gram.c" /* yacc.c:1652  */
27792     break;
27793 
27794   case 317:
27795 #line 2386 "gram.y" /* yacc.c:1652  */
27796     {
27797 					AlterTableCmd *n = makeNode(AlterTableCmd);
27798 					n->subtype = AT_SetUnLogged;
27799 					(yyval.node) = (Node *)n;
27800 				}
27801 #line 27802 "gram.c" /* yacc.c:1652  */
27802     break;
27803 
27804   case 318:
27805 #line 2393 "gram.y" /* yacc.c:1652  */
27806     {
27807 					AlterTableCmd *n = makeNode(AlterTableCmd);
27808 					n->subtype = AT_EnableTrig;
27809 					n->name = (yyvsp[0].str);
27810 					(yyval.node) = (Node *)n;
27811 				}
27812 #line 27813 "gram.c" /* yacc.c:1652  */
27813     break;
27814 
27815   case 319:
27816 #line 2401 "gram.y" /* yacc.c:1652  */
27817     {
27818 					AlterTableCmd *n = makeNode(AlterTableCmd);
27819 					n->subtype = AT_EnableAlwaysTrig;
27820 					n->name = (yyvsp[0].str);
27821 					(yyval.node) = (Node *)n;
27822 				}
27823 #line 27824 "gram.c" /* yacc.c:1652  */
27824     break;
27825 
27826   case 320:
27827 #line 2409 "gram.y" /* yacc.c:1652  */
27828     {
27829 					AlterTableCmd *n = makeNode(AlterTableCmd);
27830 					n->subtype = AT_EnableReplicaTrig;
27831 					n->name = (yyvsp[0].str);
27832 					(yyval.node) = (Node *)n;
27833 				}
27834 #line 27835 "gram.c" /* yacc.c:1652  */
27835     break;
27836 
27837   case 321:
27838 #line 2417 "gram.y" /* yacc.c:1652  */
27839     {
27840 					AlterTableCmd *n = makeNode(AlterTableCmd);
27841 					n->subtype = AT_EnableTrigAll;
27842 					(yyval.node) = (Node *)n;
27843 				}
27844 #line 27845 "gram.c" /* yacc.c:1652  */
27845     break;
27846 
27847   case 322:
27848 #line 2424 "gram.y" /* yacc.c:1652  */
27849     {
27850 					AlterTableCmd *n = makeNode(AlterTableCmd);
27851 					n->subtype = AT_EnableTrigUser;
27852 					(yyval.node) = (Node *)n;
27853 				}
27854 #line 27855 "gram.c" /* yacc.c:1652  */
27855     break;
27856 
27857   case 323:
27858 #line 2431 "gram.y" /* yacc.c:1652  */
27859     {
27860 					AlterTableCmd *n = makeNode(AlterTableCmd);
27861 					n->subtype = AT_DisableTrig;
27862 					n->name = (yyvsp[0].str);
27863 					(yyval.node) = (Node *)n;
27864 				}
27865 #line 27866 "gram.c" /* yacc.c:1652  */
27866     break;
27867 
27868   case 324:
27869 #line 2439 "gram.y" /* yacc.c:1652  */
27870     {
27871 					AlterTableCmd *n = makeNode(AlterTableCmd);
27872 					n->subtype = AT_DisableTrigAll;
27873 					(yyval.node) = (Node *)n;
27874 				}
27875 #line 27876 "gram.c" /* yacc.c:1652  */
27876     break;
27877 
27878   case 325:
27879 #line 2446 "gram.y" /* yacc.c:1652  */
27880     {
27881 					AlterTableCmd *n = makeNode(AlterTableCmd);
27882 					n->subtype = AT_DisableTrigUser;
27883 					(yyval.node) = (Node *)n;
27884 				}
27885 #line 27886 "gram.c" /* yacc.c:1652  */
27886     break;
27887 
27888   case 326:
27889 #line 2453 "gram.y" /* yacc.c:1652  */
27890     {
27891 					AlterTableCmd *n = makeNode(AlterTableCmd);
27892 					n->subtype = AT_EnableRule;
27893 					n->name = (yyvsp[0].str);
27894 					(yyval.node) = (Node *)n;
27895 				}
27896 #line 27897 "gram.c" /* yacc.c:1652  */
27897     break;
27898 
27899   case 327:
27900 #line 2461 "gram.y" /* yacc.c:1652  */
27901     {
27902 					AlterTableCmd *n = makeNode(AlterTableCmd);
27903 					n->subtype = AT_EnableAlwaysRule;
27904 					n->name = (yyvsp[0].str);
27905 					(yyval.node) = (Node *)n;
27906 				}
27907 #line 27908 "gram.c" /* yacc.c:1652  */
27908     break;
27909 
27910   case 328:
27911 #line 2469 "gram.y" /* yacc.c:1652  */
27912     {
27913 					AlterTableCmd *n = makeNode(AlterTableCmd);
27914 					n->subtype = AT_EnableReplicaRule;
27915 					n->name = (yyvsp[0].str);
27916 					(yyval.node) = (Node *)n;
27917 				}
27918 #line 27919 "gram.c" /* yacc.c:1652  */
27919     break;
27920 
27921   case 329:
27922 #line 2477 "gram.y" /* yacc.c:1652  */
27923     {
27924 					AlterTableCmd *n = makeNode(AlterTableCmd);
27925 					n->subtype = AT_DisableRule;
27926 					n->name = (yyvsp[0].str);
27927 					(yyval.node) = (Node *)n;
27928 				}
27929 #line 27930 "gram.c" /* yacc.c:1652  */
27930     break;
27931 
27932   case 330:
27933 #line 2485 "gram.y" /* yacc.c:1652  */
27934     {
27935 					AlterTableCmd *n = makeNode(AlterTableCmd);
27936 					n->subtype = AT_AddInherit;
27937 					n->def = (Node *) (yyvsp[0].range);
27938 					(yyval.node) = (Node *)n;
27939 				}
27940 #line 27941 "gram.c" /* yacc.c:1652  */
27941     break;
27942 
27943   case 331:
27944 #line 2493 "gram.y" /* yacc.c:1652  */
27945     {
27946 					AlterTableCmd *n = makeNode(AlterTableCmd);
27947 					n->subtype = AT_DropInherit;
27948 					n->def = (Node *) (yyvsp[0].range);
27949 					(yyval.node) = (Node *)n;
27950 				}
27951 #line 27952 "gram.c" /* yacc.c:1652  */
27952     break;
27953 
27954   case 332:
27955 #line 2501 "gram.y" /* yacc.c:1652  */
27956     {
27957 					AlterTableCmd *n = makeNode(AlterTableCmd);
27958 					TypeName *def = makeTypeNameFromNameList((yyvsp[0].list));
27959 					def->location = (yylsp[0]);
27960 					n->subtype = AT_AddOf;
27961 					n->def = (Node *) def;
27962 					(yyval.node) = (Node *)n;
27963 				}
27964 #line 27965 "gram.c" /* yacc.c:1652  */
27965     break;
27966 
27967   case 333:
27968 #line 2511 "gram.y" /* yacc.c:1652  */
27969     {
27970 					AlterTableCmd *n = makeNode(AlterTableCmd);
27971 					n->subtype = AT_DropOf;
27972 					(yyval.node) = (Node *)n;
27973 				}
27974 #line 27975 "gram.c" /* yacc.c:1652  */
27975     break;
27976 
27977   case 334:
27978 #line 2518 "gram.y" /* yacc.c:1652  */
27979     {
27980 					AlterTableCmd *n = makeNode(AlterTableCmd);
27981 					n->subtype = AT_ChangeOwner;
27982 					n->newowner = (yyvsp[0].rolespec);
27983 					(yyval.node) = (Node *)n;
27984 				}
27985 #line 27986 "gram.c" /* yacc.c:1652  */
27986     break;
27987 
27988   case 335:
27989 #line 2526 "gram.y" /* yacc.c:1652  */
27990     {
27991 					AlterTableCmd *n = makeNode(AlterTableCmd);
27992 					n->subtype = AT_SetTableSpace;
27993 					n->name = (yyvsp[0].str);
27994 					(yyval.node) = (Node *)n;
27995 				}
27996 #line 27997 "gram.c" /* yacc.c:1652  */
27997     break;
27998 
27999   case 336:
28000 #line 2534 "gram.y" /* yacc.c:1652  */
28001     {
28002 					AlterTableCmd *n = makeNode(AlterTableCmd);
28003 					n->subtype = AT_SetRelOptions;
28004 					n->def = (Node *)(yyvsp[0].list);
28005 					(yyval.node) = (Node *)n;
28006 				}
28007 #line 28008 "gram.c" /* yacc.c:1652  */
28008     break;
28009 
28010   case 337:
28011 #line 2542 "gram.y" /* yacc.c:1652  */
28012     {
28013 					AlterTableCmd *n = makeNode(AlterTableCmd);
28014 					n->subtype = AT_ResetRelOptions;
28015 					n->def = (Node *)(yyvsp[0].list);
28016 					(yyval.node) = (Node *)n;
28017 				}
28018 #line 28019 "gram.c" /* yacc.c:1652  */
28019     break;
28020 
28021   case 338:
28022 #line 2550 "gram.y" /* yacc.c:1652  */
28023     {
28024 					AlterTableCmd *n = makeNode(AlterTableCmd);
28025 					n->subtype = AT_ReplicaIdentity;
28026 					n->def = (yyvsp[0].node);
28027 					(yyval.node) = (Node *)n;
28028 				}
28029 #line 28030 "gram.c" /* yacc.c:1652  */
28030     break;
28031 
28032   case 339:
28033 #line 2558 "gram.y" /* yacc.c:1652  */
28034     {
28035 					AlterTableCmd *n = makeNode(AlterTableCmd);
28036 					n->subtype = AT_EnableRowSecurity;
28037 					(yyval.node) = (Node *)n;
28038 				}
28039 #line 28040 "gram.c" /* yacc.c:1652  */
28040     break;
28041 
28042   case 340:
28043 #line 2565 "gram.y" /* yacc.c:1652  */
28044     {
28045 					AlterTableCmd *n = makeNode(AlterTableCmd);
28046 					n->subtype = AT_DisableRowSecurity;
28047 					(yyval.node) = (Node *)n;
28048 				}
28049 #line 28050 "gram.c" /* yacc.c:1652  */
28050     break;
28051 
28052   case 341:
28053 #line 2572 "gram.y" /* yacc.c:1652  */
28054     {
28055 					AlterTableCmd *n = makeNode(AlterTableCmd);
28056 					n->subtype = AT_ForceRowSecurity;
28057 					(yyval.node) = (Node *)n;
28058 				}
28059 #line 28060 "gram.c" /* yacc.c:1652  */
28060     break;
28061 
28062   case 342:
28063 #line 2579 "gram.y" /* yacc.c:1652  */
28064     {
28065 					AlterTableCmd *n = makeNode(AlterTableCmd);
28066 					n->subtype = AT_NoForceRowSecurity;
28067 					(yyval.node) = (Node *)n;
28068 				}
28069 #line 28070 "gram.c" /* yacc.c:1652  */
28070     break;
28071 
28072   case 343:
28073 #line 2585 "gram.y" /* yacc.c:1652  */
28074     {
28075 					AlterTableCmd *n = makeNode(AlterTableCmd);
28076 					n->subtype = AT_GenericOptions;
28077 					n->def = (Node *)(yyvsp[0].list);
28078 					(yyval.node) = (Node *) n;
28079 				}
28080 #line 28081 "gram.c" /* yacc.c:1652  */
28081     break;
28082 
28083   case 344:
28084 #line 2594 "gram.y" /* yacc.c:1652  */
28085     { (yyval.node) = (yyvsp[0].node); }
28086 #line 28087 "gram.c" /* yacc.c:1652  */
28087     break;
28088 
28089   case 345:
28090 #line 2595 "gram.y" /* yacc.c:1652  */
28091     { (yyval.node) = NULL; }
28092 #line 28093 "gram.c" /* yacc.c:1652  */
28093     break;
28094 
28095   case 346:
28096 #line 2599 "gram.y" /* yacc.c:1652  */
28097     { (yyval.dbehavior) = DROP_CASCADE; }
28098 #line 28099 "gram.c" /* yacc.c:1652  */
28099     break;
28100 
28101   case 347:
28102 #line 2600 "gram.y" /* yacc.c:1652  */
28103     { (yyval.dbehavior) = DROP_RESTRICT; }
28104 #line 28105 "gram.c" /* yacc.c:1652  */
28105     break;
28106 
28107   case 348:
28108 #line 2601 "gram.y" /* yacc.c:1652  */
28109     { (yyval.dbehavior) = DROP_RESTRICT; /* default */ }
28110 #line 28111 "gram.c" /* yacc.c:1652  */
28111     break;
28112 
28113   case 349:
28114 #line 2606 "gram.y" /* yacc.c:1652  */
28115     {
28116 					CollateClause *n = makeNode(CollateClause);
28117 					n->arg = NULL;
28118 					n->collname = (yyvsp[0].list);
28119 					n->location = (yylsp[-1]);
28120 					(yyval.node) = (Node *) n;
28121 				}
28122 #line 28123 "gram.c" /* yacc.c:1652  */
28123     break;
28124 
28125   case 350:
28126 #line 2613 "gram.y" /* yacc.c:1652  */
28127     { (yyval.node) = NULL; }
28128 #line 28129 "gram.c" /* yacc.c:1652  */
28129     break;
28130 
28131   case 351:
28132 #line 2617 "gram.y" /* yacc.c:1652  */
28133     { (yyval.node) = (yyvsp[0].node); }
28134 #line 28135 "gram.c" /* yacc.c:1652  */
28135     break;
28136 
28137   case 352:
28138 #line 2618 "gram.y" /* yacc.c:1652  */
28139     { (yyval.node) = NULL; }
28140 #line 28141 "gram.c" /* yacc.c:1652  */
28141     break;
28142 
28143   case 353:
28144 #line 2623 "gram.y" /* yacc.c:1652  */
28145     {
28146 					ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
28147 					n->identity_type = REPLICA_IDENTITY_NOTHING;
28148 					n->name = NULL;
28149 					(yyval.node) = (Node *) n;
28150 				}
28151 #line 28152 "gram.c" /* yacc.c:1652  */
28152     break;
28153 
28154   case 354:
28155 #line 2630 "gram.y" /* yacc.c:1652  */
28156     {
28157 					ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
28158 					n->identity_type = REPLICA_IDENTITY_FULL;
28159 					n->name = NULL;
28160 					(yyval.node) = (Node *) n;
28161 				}
28162 #line 28163 "gram.c" /* yacc.c:1652  */
28163     break;
28164 
28165   case 355:
28166 #line 2637 "gram.y" /* yacc.c:1652  */
28167     {
28168 					ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
28169 					n->identity_type = REPLICA_IDENTITY_DEFAULT;
28170 					n->name = NULL;
28171 					(yyval.node) = (Node *) n;
28172 				}
28173 #line 28174 "gram.c" /* yacc.c:1652  */
28174     break;
28175 
28176   case 356:
28177 #line 2644 "gram.y" /* yacc.c:1652  */
28178     {
28179 					ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
28180 					n->identity_type = REPLICA_IDENTITY_INDEX;
28181 					n->name = (yyvsp[0].str);
28182 					(yyval.node) = (Node *) n;
28183 				}
28184 #line 28185 "gram.c" /* yacc.c:1652  */
28185     break;
28186 
28187   case 357:
28188 #line 2653 "gram.y" /* yacc.c:1652  */
28189     { (yyval.list) = (yyvsp[-1].list); }
28190 #line 28191 "gram.c" /* yacc.c:1652  */
28191     break;
28192 
28193   case 358:
28194 #line 2656 "gram.y" /* yacc.c:1652  */
28195     { (yyval.list) = (yyvsp[0].list); }
28196 #line 28197 "gram.c" /* yacc.c:1652  */
28197     break;
28198 
28199   case 359:
28200 #line 2657 "gram.y" /* yacc.c:1652  */
28201     { (yyval.list) = NIL; }
28202 #line 28203 "gram.c" /* yacc.c:1652  */
28203     break;
28204 
28205   case 360:
28206 #line 2661 "gram.y" /* yacc.c:1652  */
28207     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
28208 #line 28209 "gram.c" /* yacc.c:1652  */
28209     break;
28210 
28211   case 361:
28212 #line 2662 "gram.y" /* yacc.c:1652  */
28213     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
28214 #line 28215 "gram.c" /* yacc.c:1652  */
28215     break;
28216 
28217   case 362:
28218 #line 2668 "gram.y" /* yacc.c:1652  */
28219     {
28220 					(yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *) (yyvsp[0].node), (yylsp[-2]));
28221 				}
28222 #line 28223 "gram.c" /* yacc.c:1652  */
28223     break;
28224 
28225   case 363:
28226 #line 2672 "gram.y" /* yacc.c:1652  */
28227     {
28228 					(yyval.defelt) = makeDefElem((yyvsp[0].str), NULL, (yylsp[0]));
28229 				}
28230 #line 28231 "gram.c" /* yacc.c:1652  */
28231     break;
28232 
28233   case 364:
28234 #line 2676 "gram.y" /* yacc.c:1652  */
28235     {
28236 					(yyval.defelt) = makeDefElemExtended((yyvsp[-4].str), (yyvsp[-2].str), (Node *) (yyvsp[0].node),
28237 											 DEFELEM_UNSPEC, (yylsp[-4]));
28238 				}
28239 #line 28240 "gram.c" /* yacc.c:1652  */
28240     break;
28241 
28242   case 365:
28243 #line 2681 "gram.y" /* yacc.c:1652  */
28244     {
28245 					(yyval.defelt) = makeDefElemExtended((yyvsp[-2].str), (yyvsp[0].str), NULL, DEFELEM_UNSPEC, (yylsp[-2]));
28246 				}
28247 #line 28248 "gram.c" /* yacc.c:1652  */
28248     break;
28249 
28250   case 366:
28251 #line 2688 "gram.y" /* yacc.c:1652  */
28252     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
28253 #line 28254 "gram.c" /* yacc.c:1652  */
28254     break;
28255 
28256   case 367:
28257 #line 2690 "gram.y" /* yacc.c:1652  */
28258     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
28259 #line 28260 "gram.c" /* yacc.c:1652  */
28260     break;
28261 
28262   case 368:
28263 #line 2695 "gram.y" /* yacc.c:1652  */
28264     {
28265 					(yyval.defelt) = makeDefElem("restart", NULL, (yylsp[0]));
28266 				}
28267 #line 28268 "gram.c" /* yacc.c:1652  */
28268     break;
28269 
28270   case 369:
28271 #line 2699 "gram.y" /* yacc.c:1652  */
28272     {
28273 					(yyval.defelt) = makeDefElem("restart", (Node *)(yyvsp[0].value), (yylsp[-2]));
28274 				}
28275 #line 28276 "gram.c" /* yacc.c:1652  */
28276     break;
28277 
28278   case 370:
28279 #line 2703 "gram.y" /* yacc.c:1652  */
28280     {
28281 					if (strcmp((yyvsp[0].defelt)->defname, "as") == 0 ||
28282 						strcmp((yyvsp[0].defelt)->defname, "restart") == 0 ||
28283 						strcmp((yyvsp[0].defelt)->defname, "owned_by") == 0)
28284 						ereport(ERROR,
28285 								(errcode(ERRCODE_SYNTAX_ERROR),
28286 								 errmsg("sequence option \"%s\" not supported here", (yyvsp[0].defelt)->defname),
28287 								 parser_errposition((yylsp[0]))));
28288 					(yyval.defelt) = (yyvsp[0].defelt);
28289 				}
28290 #line 28291 "gram.c" /* yacc.c:1652  */
28291     break;
28292 
28293   case 371:
28294 #line 2714 "gram.y" /* yacc.c:1652  */
28295     {
28296 					(yyval.defelt) = makeDefElem("generated", (Node *) makeInteger((yyvsp[0].ival)), (yylsp[-2]));
28297 				}
28298 #line 28299 "gram.c" /* yacc.c:1652  */
28299     break;
28300 
28301   case 372:
28302 #line 2722 "gram.y" /* yacc.c:1652  */
28303     {
28304 					ListCell   *lc;
28305 					PartitionBoundSpec *n = makeNode(PartitionBoundSpec);
28306 
28307 					n->strategy = PARTITION_STRATEGY_HASH;
28308 					n->modulus = n->remainder = -1;
28309 
28310 					foreach (lc, (yyvsp[-1].list))
28311 					{
28312 						DefElem    *opt = lfirst_node(DefElem, lc);
28313 
28314 						if (strcmp(opt->defname, "modulus") == 0)
28315 						{
28316 							if (n->modulus != -1)
28317 								ereport(ERROR,
28318 										(errcode(ERRCODE_DUPLICATE_OBJECT),
28319 										 errmsg("modulus for hash partition provided more than once"),
28320 										 parser_errposition(opt->location)));
28321 							n->modulus = defGetInt32(opt);
28322 						}
28323 						else if (strcmp(opt->defname, "remainder") == 0)
28324 						{
28325 							if (n->remainder != -1)
28326 								ereport(ERROR,
28327 										(errcode(ERRCODE_DUPLICATE_OBJECT),
28328 										 errmsg("remainder for hash partition provided more than once"),
28329 										 parser_errposition(opt->location)));
28330 							n->remainder = defGetInt32(opt);
28331 						}
28332 						else
28333 							ereport(ERROR,
28334 									(errcode(ERRCODE_SYNTAX_ERROR),
28335 									 errmsg("unrecognized hash partition bound specification \"%s\"",
28336 											opt->defname),
28337 									 parser_errposition(opt->location)));
28338 					}
28339 
28340 					if (n->modulus == -1)
28341 						ereport(ERROR,
28342 								(errcode(ERRCODE_SYNTAX_ERROR),
28343 								 errmsg("modulus for hash partition must be specified")));
28344 					if (n->remainder == -1)
28345 						ereport(ERROR,
28346 								(errcode(ERRCODE_SYNTAX_ERROR),
28347 								 errmsg("remainder for hash partition must be specified")));
28348 
28349 					n->location = (yylsp[-3]);
28350 
28351 					(yyval.partboundspec) = n;
28352 				}
28353 #line 28354 "gram.c" /* yacc.c:1652  */
28354     break;
28355 
28356   case 373:
28357 #line 2775 "gram.y" /* yacc.c:1652  */
28358     {
28359 					PartitionBoundSpec *n = makeNode(PartitionBoundSpec);
28360 
28361 					n->strategy = PARTITION_STRATEGY_LIST;
28362 					n->is_default = false;
28363 					n->listdatums = (yyvsp[-1].list);
28364 					n->location = (yylsp[-3]);
28365 
28366 					(yyval.partboundspec) = n;
28367 				}
28368 #line 28369 "gram.c" /* yacc.c:1652  */
28369     break;
28370 
28371   case 374:
28372 #line 2788 "gram.y" /* yacc.c:1652  */
28373     {
28374 					PartitionBoundSpec *n = makeNode(PartitionBoundSpec);
28375 
28376 					n->strategy = PARTITION_STRATEGY_RANGE;
28377 					n->is_default = false;
28378 					n->lowerdatums = (yyvsp[-5].list);
28379 					n->upperdatums = (yyvsp[-1].list);
28380 					n->location = (yylsp[-7]);
28381 
28382 					(yyval.partboundspec) = n;
28383 				}
28384 #line 28385 "gram.c" /* yacc.c:1652  */
28385     break;
28386 
28387   case 375:
28388 #line 2802 "gram.y" /* yacc.c:1652  */
28389     {
28390 					PartitionBoundSpec *n = makeNode(PartitionBoundSpec);
28391 
28392 					n->is_default = true;
28393 					n->location = (yylsp[0]);
28394 
28395 					(yyval.partboundspec) = n;
28396 				}
28397 #line 28398 "gram.c" /* yacc.c:1652  */
28398     break;
28399 
28400   case 376:
28401 #line 2814 "gram.y" /* yacc.c:1652  */
28402     {
28403 				(yyval.defelt) = makeDefElem((yyvsp[-1].str), (Node *)makeInteger((yyvsp[0].ival)), (yylsp[-1]));
28404 			}
28405 #line 28406 "gram.c" /* yacc.c:1652  */
28406     break;
28407 
28408   case 377:
28409 #line 2821 "gram.y" /* yacc.c:1652  */
28410     {
28411 				(yyval.list) = list_make1((yyvsp[0].defelt));
28412 			}
28413 #line 28414 "gram.c" /* yacc.c:1652  */
28414     break;
28415 
28416   case 378:
28417 #line 2825 "gram.y" /* yacc.c:1652  */
28418     {
28419 				(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
28420 			}
28421 #line 28422 "gram.c" /* yacc.c:1652  */
28422     break;
28423 
28424   case 379:
28425 #line 2839 "gram.y" /* yacc.c:1652  */
28426     {
28427 					AlterTableStmt *n = makeNode(AlterTableStmt);
28428 
28429 					/* can't use qualified_name, sigh */
28430 					n->relation = makeRangeVarFromAnyName((yyvsp[-1].list), (yylsp[-1]), yyscanner);
28431 					n->cmds = (yyvsp[0].list);
28432 					n->relkind = OBJECT_TYPE;
28433 					(yyval.node) = (Node *)n;
28434 				}
28435 #line 28436 "gram.c" /* yacc.c:1652  */
28436     break;
28437 
28438   case 380:
28439 #line 2851 "gram.y" /* yacc.c:1652  */
28440     { (yyval.list) = list_make1((yyvsp[0].node)); }
28441 #line 28442 "gram.c" /* yacc.c:1652  */
28442     break;
28443 
28444   case 381:
28445 #line 2852 "gram.y" /* yacc.c:1652  */
28446     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
28447 #line 28448 "gram.c" /* yacc.c:1652  */
28448     break;
28449 
28450   case 382:
28451 #line 2858 "gram.y" /* yacc.c:1652  */
28452     {
28453 					AlterTableCmd *n = makeNode(AlterTableCmd);
28454 					n->subtype = AT_AddColumn;
28455 					n->def = (yyvsp[-1].node);
28456 					n->behavior = (yyvsp[0].dbehavior);
28457 					(yyval.node) = (Node *)n;
28458 				}
28459 #line 28460 "gram.c" /* yacc.c:1652  */
28460     break;
28461 
28462   case 383:
28463 #line 2867 "gram.y" /* yacc.c:1652  */
28464     {
28465 					AlterTableCmd *n = makeNode(AlterTableCmd);
28466 					n->subtype = AT_DropColumn;
28467 					n->name = (yyvsp[-1].str);
28468 					n->behavior = (yyvsp[0].dbehavior);
28469 					n->missing_ok = true;
28470 					(yyval.node) = (Node *)n;
28471 				}
28472 #line 28473 "gram.c" /* yacc.c:1652  */
28473     break;
28474 
28475   case 384:
28476 #line 2877 "gram.y" /* yacc.c:1652  */
28477     {
28478 					AlterTableCmd *n = makeNode(AlterTableCmd);
28479 					n->subtype = AT_DropColumn;
28480 					n->name = (yyvsp[-1].str);
28481 					n->behavior = (yyvsp[0].dbehavior);
28482 					n->missing_ok = false;
28483 					(yyval.node) = (Node *)n;
28484 				}
28485 #line 28486 "gram.c" /* yacc.c:1652  */
28486     break;
28487 
28488   case 385:
28489 #line 2887 "gram.y" /* yacc.c:1652  */
28490     {
28491 					AlterTableCmd *n = makeNode(AlterTableCmd);
28492 					ColumnDef *def = makeNode(ColumnDef);
28493 					n->subtype = AT_AlterColumnType;
28494 					n->name = (yyvsp[-5].str);
28495 					n->def = (Node *) def;
28496 					n->behavior = (yyvsp[0].dbehavior);
28497 					/* We only use these fields of the ColumnDef node */
28498 					def->typeName = (yyvsp[-2].typnam);
28499 					def->collClause = (CollateClause *) (yyvsp[-1].node);
28500 					def->raw_default = NULL;
28501 					def->location = (yylsp[-5]);
28502 					(yyval.node) = (Node *)n;
28503 				}
28504 #line 28505 "gram.c" /* yacc.c:1652  */
28505     break;
28506 
28507   case 386:
28508 #line 2913 "gram.y" /* yacc.c:1652  */
28509     {
28510 					ClosePortalStmt *n = makeNode(ClosePortalStmt);
28511 					n->portalname = (yyvsp[0].str);
28512 					(yyval.node) = (Node *)n;
28513 				}
28514 #line 28515 "gram.c" /* yacc.c:1652  */
28515     break;
28516 
28517   case 387:
28518 #line 2919 "gram.y" /* yacc.c:1652  */
28519     {
28520 					ClosePortalStmt *n = makeNode(ClosePortalStmt);
28521 					n->portalname = NULL;
28522 					(yyval.node) = (Node *)n;
28523 				}
28524 #line 28525 "gram.c" /* yacc.c:1652  */
28525     break;
28526 
28527   case 388:
28528 #line 2954 "gram.y" /* yacc.c:1652  */
28529     {
28530 					CopyStmt *n = makeNode(CopyStmt);
28531 					n->relation = (yyvsp[-8].range);
28532 					n->query = NULL;
28533 					n->attlist = (yyvsp[-7].list);
28534 					n->is_from = (yyvsp[-6].boolean);
28535 					n->is_program = (yyvsp[-5].boolean);
28536 					n->filename = (yyvsp[-4].str);
28537 					n->whereClause = (yyvsp[0].node);
28538 
28539 					if (n->is_program && n->filename == NULL)
28540 						ereport(ERROR,
28541 								(errcode(ERRCODE_SYNTAX_ERROR),
28542 								 errmsg("STDIN/STDOUT not allowed with PROGRAM"),
28543 								 parser_errposition((yylsp[-3]))));
28544 
28545 					if (!n->is_from && n->whereClause != NULL)
28546 						ereport(ERROR,
28547 								(errcode(ERRCODE_SYNTAX_ERROR),
28548 								 errmsg("WHERE clause not allowed with COPY TO"),
28549 								 parser_errposition((yylsp[0]))));
28550 
28551 					n->options = NIL;
28552 					/* Concatenate user-supplied flags */
28553 					if ((yyvsp[-9].defelt))
28554 						n->options = lappend(n->options, (yyvsp[-9].defelt));
28555 					if ((yyvsp[-3].defelt))
28556 						n->options = lappend(n->options, (yyvsp[-3].defelt));
28557 					if ((yyvsp[-1].list))
28558 						n->options = list_concat(n->options, (yyvsp[-1].list));
28559 					(yyval.node) = (Node *)n;
28560 				}
28561 #line 28562 "gram.c" /* yacc.c:1652  */
28562     break;
28563 
28564   case 389:
28565 #line 2987 "gram.y" /* yacc.c:1652  */
28566     {
28567 					CopyStmt *n = makeNode(CopyStmt);
28568 					n->relation = NULL;
28569 					n->query = (yyvsp[-6].node);
28570 					n->attlist = NIL;
28571 					n->is_from = false;
28572 					n->is_program = (yyvsp[-3].boolean);
28573 					n->filename = (yyvsp[-2].str);
28574 					n->options = (yyvsp[0].list);
28575 
28576 					if (n->is_program && n->filename == NULL)
28577 						ereport(ERROR,
28578 								(errcode(ERRCODE_SYNTAX_ERROR),
28579 								 errmsg("STDIN/STDOUT not allowed with PROGRAM"),
28580 								 parser_errposition((yylsp[-4]))));
28581 
28582 					(yyval.node) = (Node *)n;
28583 				}
28584 #line 28585 "gram.c" /* yacc.c:1652  */
28585     break;
28586 
28587   case 390:
28588 #line 3008 "gram.y" /* yacc.c:1652  */
28589     { (yyval.boolean) = true; }
28590 #line 28591 "gram.c" /* yacc.c:1652  */
28591     break;
28592 
28593   case 391:
28594 #line 3009 "gram.y" /* yacc.c:1652  */
28595     { (yyval.boolean) = false; }
28596 #line 28597 "gram.c" /* yacc.c:1652  */
28597     break;
28598 
28599   case 392:
28600 #line 3013 "gram.y" /* yacc.c:1652  */
28601     { (yyval.boolean) = true; }
28602 #line 28603 "gram.c" /* yacc.c:1652  */
28603     break;
28604 
28605   case 393:
28606 #line 3014 "gram.y" /* yacc.c:1652  */
28607     { (yyval.boolean) = false; }
28608 #line 28609 "gram.c" /* yacc.c:1652  */
28609     break;
28610 
28611   case 394:
28612 #line 3023 "gram.y" /* yacc.c:1652  */
28613     { (yyval.str) = (yyvsp[0].str); }
28614 #line 28615 "gram.c" /* yacc.c:1652  */
28615     break;
28616 
28617   case 395:
28618 #line 3024 "gram.y" /* yacc.c:1652  */
28619     { (yyval.str) = NULL; }
28620 #line 28621 "gram.c" /* yacc.c:1652  */
28621     break;
28622 
28623   case 396:
28624 #line 3025 "gram.y" /* yacc.c:1652  */
28625     { (yyval.str) = NULL; }
28626 #line 28627 "gram.c" /* yacc.c:1652  */
28627     break;
28628 
28629   case 397:
28630 #line 3028 "gram.y" /* yacc.c:1652  */
28631     { (yyval.list) = (yyvsp[0].list); }
28632 #line 28633 "gram.c" /* yacc.c:1652  */
28633     break;
28634 
28635   case 398:
28636 #line 3029 "gram.y" /* yacc.c:1652  */
28637     { (yyval.list) = (yyvsp[-1].list); }
28638 #line 28639 "gram.c" /* yacc.c:1652  */
28639     break;
28640 
28641   case 399:
28642 #line 3034 "gram.y" /* yacc.c:1652  */
28643     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
28644 #line 28645 "gram.c" /* yacc.c:1652  */
28645     break;
28646 
28647   case 400:
28648 #line 3035 "gram.y" /* yacc.c:1652  */
28649     { (yyval.list) = NIL; }
28650 #line 28651 "gram.c" /* yacc.c:1652  */
28651     break;
28652 
28653   case 401:
28654 #line 3040 "gram.y" /* yacc.c:1652  */
28655     {
28656 					(yyval.defelt) = makeDefElem("format", (Node *)makeString("binary"), (yylsp[0]));
28657 				}
28658 #line 28659 "gram.c" /* yacc.c:1652  */
28659     break;
28660 
28661   case 402:
28662 #line 3044 "gram.y" /* yacc.c:1652  */
28663     {
28664 					(yyval.defelt) = makeDefElem("freeze", (Node *)makeInteger(true), (yylsp[0]));
28665 				}
28666 #line 28667 "gram.c" /* yacc.c:1652  */
28667     break;
28668 
28669   case 403:
28670 #line 3048 "gram.y" /* yacc.c:1652  */
28671     {
28672 					(yyval.defelt) = makeDefElem("delimiter", (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
28673 				}
28674 #line 28675 "gram.c" /* yacc.c:1652  */
28675     break;
28676 
28677   case 404:
28678 #line 3052 "gram.y" /* yacc.c:1652  */
28679     {
28680 					(yyval.defelt) = makeDefElem("null", (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
28681 				}
28682 #line 28683 "gram.c" /* yacc.c:1652  */
28683     break;
28684 
28685   case 405:
28686 #line 3056 "gram.y" /* yacc.c:1652  */
28687     {
28688 					(yyval.defelt) = makeDefElem("format", (Node *)makeString("csv"), (yylsp[0]));
28689 				}
28690 #line 28691 "gram.c" /* yacc.c:1652  */
28691     break;
28692 
28693   case 406:
28694 #line 3060 "gram.y" /* yacc.c:1652  */
28695     {
28696 					(yyval.defelt) = makeDefElem("header", (Node *)makeInteger(true), (yylsp[0]));
28697 				}
28698 #line 28699 "gram.c" /* yacc.c:1652  */
28699     break;
28700 
28701   case 407:
28702 #line 3064 "gram.y" /* yacc.c:1652  */
28703     {
28704 					(yyval.defelt) = makeDefElem("quote", (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
28705 				}
28706 #line 28707 "gram.c" /* yacc.c:1652  */
28707     break;
28708 
28709   case 408:
28710 #line 3068 "gram.y" /* yacc.c:1652  */
28711     {
28712 					(yyval.defelt) = makeDefElem("escape", (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
28713 				}
28714 #line 28715 "gram.c" /* yacc.c:1652  */
28715     break;
28716 
28717   case 409:
28718 #line 3072 "gram.y" /* yacc.c:1652  */
28719     {
28720 					(yyval.defelt) = makeDefElem("force_quote", (Node *)(yyvsp[0].list), (yylsp[-2]));
28721 				}
28722 #line 28723 "gram.c" /* yacc.c:1652  */
28723     break;
28724 
28725   case 410:
28726 #line 3076 "gram.y" /* yacc.c:1652  */
28727     {
28728 					(yyval.defelt) = makeDefElem("force_quote", (Node *)makeNode(A_Star), (yylsp[-2]));
28729 				}
28730 #line 28731 "gram.c" /* yacc.c:1652  */
28731     break;
28732 
28733   case 411:
28734 #line 3080 "gram.y" /* yacc.c:1652  */
28735     {
28736 					(yyval.defelt) = makeDefElem("force_not_null", (Node *)(yyvsp[0].list), (yylsp[-3]));
28737 				}
28738 #line 28739 "gram.c" /* yacc.c:1652  */
28739     break;
28740 
28741   case 412:
28742 #line 3084 "gram.y" /* yacc.c:1652  */
28743     {
28744 					(yyval.defelt) = makeDefElem("force_null", (Node *)(yyvsp[0].list), (yylsp[-2]));
28745 				}
28746 #line 28747 "gram.c" /* yacc.c:1652  */
28747     break;
28748 
28749   case 413:
28750 #line 3088 "gram.y" /* yacc.c:1652  */
28751     {
28752 					(yyval.defelt) = makeDefElem("encoding", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
28753 				}
28754 #line 28755 "gram.c" /* yacc.c:1652  */
28755     break;
28756 
28757   case 414:
28758 #line 3097 "gram.y" /* yacc.c:1652  */
28759     {
28760 					(yyval.defelt) = makeDefElem("format", (Node *)makeString("binary"), (yylsp[0]));
28761 				}
28762 #line 28763 "gram.c" /* yacc.c:1652  */
28763     break;
28764 
28765   case 415:
28766 #line 3100 "gram.y" /* yacc.c:1652  */
28767     { (yyval.defelt) = NULL; }
28768 #line 28769 "gram.c" /* yacc.c:1652  */
28769     break;
28770 
28771   case 416:
28772 #line 3105 "gram.y" /* yacc.c:1652  */
28773     {
28774 					(yyval.defelt) = makeDefElem("delimiter", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
28775 				}
28776 #line 28777 "gram.c" /* yacc.c:1652  */
28777     break;
28778 
28779   case 417:
28780 #line 3108 "gram.y" /* yacc.c:1652  */
28781     { (yyval.defelt) = NULL; }
28782 #line 28783 "gram.c" /* yacc.c:1652  */
28783     break;
28784 
28785   case 418:
28786 #line 3112 "gram.y" /* yacc.c:1652  */
28787     {}
28788 #line 28789 "gram.c" /* yacc.c:1652  */
28789     break;
28790 
28791   case 419:
28792 #line 3113 "gram.y" /* yacc.c:1652  */
28793     {}
28794 #line 28795 "gram.c" /* yacc.c:1652  */
28795     break;
28796 
28797   case 420:
28798 #line 3119 "gram.y" /* yacc.c:1652  */
28799     {
28800 					(yyval.list) = list_make1((yyvsp[0].defelt));
28801 				}
28802 #line 28803 "gram.c" /* yacc.c:1652  */
28803     break;
28804 
28805   case 421:
28806 #line 3123 "gram.y" /* yacc.c:1652  */
28807     {
28808 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
28809 				}
28810 #line 28811 "gram.c" /* yacc.c:1652  */
28811     break;
28812 
28813   case 422:
28814 #line 3130 "gram.y" /* yacc.c:1652  */
28815     {
28816 					(yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1]));
28817 				}
28818 #line 28819 "gram.c" /* yacc.c:1652  */
28819     break;
28820 
28821   case 423:
28822 #line 3136 "gram.y" /* yacc.c:1652  */
28823     { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
28824 #line 28825 "gram.c" /* yacc.c:1652  */
28825     break;
28826 
28827   case 424:
28828 #line 3137 "gram.y" /* yacc.c:1652  */
28829     { (yyval.node) = (Node *) (yyvsp[0].value); }
28830 #line 28831 "gram.c" /* yacc.c:1652  */
28831     break;
28832 
28833   case 425:
28834 #line 3138 "gram.y" /* yacc.c:1652  */
28835     { (yyval.node) = (Node *) makeNode(A_Star); }
28836 #line 28837 "gram.c" /* yacc.c:1652  */
28837     break;
28838 
28839   case 426:
28840 #line 3139 "gram.y" /* yacc.c:1652  */
28841     { (yyval.node) = (Node *) (yyvsp[-1].list); }
28842 #line 28843 "gram.c" /* yacc.c:1652  */
28843     break;
28844 
28845   case 427:
28846 #line 3140 "gram.y" /* yacc.c:1652  */
28847     { (yyval.node) = NULL; }
28848 #line 28849 "gram.c" /* yacc.c:1652  */
28849     break;
28850 
28851   case 428:
28852 #line 3145 "gram.y" /* yacc.c:1652  */
28853     {
28854 					(yyval.list) = list_make1((yyvsp[0].node));
28855 				}
28856 #line 28857 "gram.c" /* yacc.c:1652  */
28857     break;
28858 
28859   case 429:
28860 #line 3149 "gram.y" /* yacc.c:1652  */
28861     {
28862 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
28863 				}
28864 #line 28865 "gram.c" /* yacc.c:1652  */
28865     break;
28866 
28867   case 430:
28868 #line 3156 "gram.y" /* yacc.c:1652  */
28869     { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
28870 #line 28871 "gram.c" /* yacc.c:1652  */
28871     break;
28872 
28873   case 431:
28874 #line 3170 "gram.y" /* yacc.c:1652  */
28875     {
28876 					CreateStmt *n = makeNode(CreateStmt);
28877 					(yyvsp[-9].range)->relpersistence = (yyvsp[-11].ival);
28878 					n->relation = (yyvsp[-9].range);
28879 					n->tableElts = (yyvsp[-7].list);
28880 					n->inhRelations = (yyvsp[-5].list);
28881 					n->partspec = (yyvsp[-4].partspec);
28882 					n->ofTypename = NULL;
28883 					n->constraints = NIL;
28884 					n->accessMethod = (yyvsp[-3].str);
28885 					n->options = (yyvsp[-2].list);
28886 					n->oncommit = (yyvsp[-1].oncommit);
28887 					n->tablespacename = (yyvsp[0].str);
28888 					n->if_not_exists = false;
28889 					(yyval.node) = (Node *)n;
28890 				}
28891 #line 28892 "gram.c" /* yacc.c:1652  */
28892     break;
28893 
28894   case 432:
28895 #line 3189 "gram.y" /* yacc.c:1652  */
28896     {
28897 					CreateStmt *n = makeNode(CreateStmt);
28898 					(yyvsp[-9].range)->relpersistence = (yyvsp[-14].ival);
28899 					n->relation = (yyvsp[-9].range);
28900 					n->tableElts = (yyvsp[-7].list);
28901 					n->inhRelations = (yyvsp[-5].list);
28902 					n->partspec = (yyvsp[-4].partspec);
28903 					n->ofTypename = NULL;
28904 					n->constraints = NIL;
28905 					n->accessMethod = (yyvsp[-3].str);
28906 					n->options = (yyvsp[-2].list);
28907 					n->oncommit = (yyvsp[-1].oncommit);
28908 					n->tablespacename = (yyvsp[0].str);
28909 					n->if_not_exists = true;
28910 					(yyval.node) = (Node *)n;
28911 				}
28912 #line 28913 "gram.c" /* yacc.c:1652  */
28913     break;
28914 
28915   case 433:
28916 #line 3208 "gram.y" /* yacc.c:1652  */
28917     {
28918 					CreateStmt *n = makeNode(CreateStmt);
28919 					(yyvsp[-8].range)->relpersistence = (yyvsp[-10].ival);
28920 					n->relation = (yyvsp[-8].range);
28921 					n->tableElts = (yyvsp[-5].list);
28922 					n->inhRelations = NIL;
28923 					n->partspec = (yyvsp[-4].partspec);
28924 					n->ofTypename = makeTypeNameFromNameList((yyvsp[-6].list));
28925 					n->ofTypename->location = (yylsp[-6]);
28926 					n->constraints = NIL;
28927 					n->accessMethod = (yyvsp[-3].str);
28928 					n->options = (yyvsp[-2].list);
28929 					n->oncommit = (yyvsp[-1].oncommit);
28930 					n->tablespacename = (yyvsp[0].str);
28931 					n->if_not_exists = false;
28932 					(yyval.node) = (Node *)n;
28933 				}
28934 #line 28935 "gram.c" /* yacc.c:1652  */
28935     break;
28936 
28937   case 434:
28938 #line 3228 "gram.y" /* yacc.c:1652  */
28939     {
28940 					CreateStmt *n = makeNode(CreateStmt);
28941 					(yyvsp[-8].range)->relpersistence = (yyvsp[-13].ival);
28942 					n->relation = (yyvsp[-8].range);
28943 					n->tableElts = (yyvsp[-5].list);
28944 					n->inhRelations = NIL;
28945 					n->partspec = (yyvsp[-4].partspec);
28946 					n->ofTypename = makeTypeNameFromNameList((yyvsp[-6].list));
28947 					n->ofTypename->location = (yylsp[-6]);
28948 					n->constraints = NIL;
28949 					n->accessMethod = (yyvsp[-3].str);
28950 					n->options = (yyvsp[-2].list);
28951 					n->oncommit = (yyvsp[-1].oncommit);
28952 					n->tablespacename = (yyvsp[0].str);
28953 					n->if_not_exists = true;
28954 					(yyval.node) = (Node *)n;
28955 				}
28956 #line 28957 "gram.c" /* yacc.c:1652  */
28957     break;
28958 
28959   case 435:
28960 #line 3248 "gram.y" /* yacc.c:1652  */
28961     {
28962 					CreateStmt *n = makeNode(CreateStmt);
28963 					(yyvsp[-10].range)->relpersistence = (yyvsp[-12].ival);
28964 					n->relation = (yyvsp[-10].range);
28965 					n->tableElts = (yyvsp[-6].list);
28966 					n->inhRelations = list_make1((yyvsp[-7].range));
28967 					n->partbound = (yyvsp[-5].partboundspec);
28968 					n->partspec = (yyvsp[-4].partspec);
28969 					n->ofTypename = NULL;
28970 					n->constraints = NIL;
28971 					n->accessMethod = (yyvsp[-3].str);
28972 					n->options = (yyvsp[-2].list);
28973 					n->oncommit = (yyvsp[-1].oncommit);
28974 					n->tablespacename = (yyvsp[0].str);
28975 					n->if_not_exists = false;
28976 					(yyval.node) = (Node *)n;
28977 				}
28978 #line 28979 "gram.c" /* yacc.c:1652  */
28979     break;
28980 
28981   case 436:
28982 #line 3268 "gram.y" /* yacc.c:1652  */
28983     {
28984 					CreateStmt *n = makeNode(CreateStmt);
28985 					(yyvsp[-10].range)->relpersistence = (yyvsp[-15].ival);
28986 					n->relation = (yyvsp[-10].range);
28987 					n->tableElts = (yyvsp[-6].list);
28988 					n->inhRelations = list_make1((yyvsp[-7].range));
28989 					n->partbound = (yyvsp[-5].partboundspec);
28990 					n->partspec = (yyvsp[-4].partspec);
28991 					n->ofTypename = NULL;
28992 					n->constraints = NIL;
28993 					n->accessMethod = (yyvsp[-3].str);
28994 					n->options = (yyvsp[-2].list);
28995 					n->oncommit = (yyvsp[-1].oncommit);
28996 					n->tablespacename = (yyvsp[0].str);
28997 					n->if_not_exists = true;
28998 					(yyval.node) = (Node *)n;
28999 				}
29000 #line 29001 "gram.c" /* yacc.c:1652  */
29001     break;
29002 
29003   case 437:
29004 #line 3298 "gram.y" /* yacc.c:1652  */
29005     { (yyval.ival) = RELPERSISTENCE_TEMP; }
29006 #line 29007 "gram.c" /* yacc.c:1652  */
29007     break;
29008 
29009   case 438:
29010 #line 3299 "gram.y" /* yacc.c:1652  */
29011     { (yyval.ival) = RELPERSISTENCE_TEMP; }
29012 #line 29013 "gram.c" /* yacc.c:1652  */
29013     break;
29014 
29015   case 439:
29016 #line 3300 "gram.y" /* yacc.c:1652  */
29017     { (yyval.ival) = RELPERSISTENCE_TEMP; }
29018 #line 29019 "gram.c" /* yacc.c:1652  */
29019     break;
29020 
29021   case 440:
29022 #line 3301 "gram.y" /* yacc.c:1652  */
29023     { (yyval.ival) = RELPERSISTENCE_TEMP; }
29024 #line 29025 "gram.c" /* yacc.c:1652  */
29025     break;
29026 
29027   case 441:
29028 #line 3303 "gram.y" /* yacc.c:1652  */
29029     {
29030 					ereport(WARNING,
29031 							(errmsg("GLOBAL is deprecated in temporary table creation"),
29032 							 parser_errposition((yylsp[-1]))));
29033 					(yyval.ival) = RELPERSISTENCE_TEMP;
29034 				}
29035 #line 29036 "gram.c" /* yacc.c:1652  */
29036     break;
29037 
29038   case 442:
29039 #line 3310 "gram.y" /* yacc.c:1652  */
29040     {
29041 					ereport(WARNING,
29042 							(errmsg("GLOBAL is deprecated in temporary table creation"),
29043 							 parser_errposition((yylsp[-1]))));
29044 					(yyval.ival) = RELPERSISTENCE_TEMP;
29045 				}
29046 #line 29047 "gram.c" /* yacc.c:1652  */
29047     break;
29048 
29049   case 443:
29050 #line 3316 "gram.y" /* yacc.c:1652  */
29051     { (yyval.ival) = RELPERSISTENCE_UNLOGGED; }
29052 #line 29053 "gram.c" /* yacc.c:1652  */
29053     break;
29054 
29055   case 444:
29056 #line 3317 "gram.y" /* yacc.c:1652  */
29057     { (yyval.ival) = RELPERSISTENCE_PERMANENT; }
29058 #line 29059 "gram.c" /* yacc.c:1652  */
29059     break;
29060 
29061   case 445:
29062 #line 3321 "gram.y" /* yacc.c:1652  */
29063     { (yyval.list) = (yyvsp[0].list); }
29064 #line 29065 "gram.c" /* yacc.c:1652  */
29065     break;
29066 
29067   case 446:
29068 #line 3322 "gram.y" /* yacc.c:1652  */
29069     { (yyval.list) = NIL; }
29070 #line 29071 "gram.c" /* yacc.c:1652  */
29071     break;
29072 
29073   case 447:
29074 #line 3326 "gram.y" /* yacc.c:1652  */
29075     { (yyval.list) = (yyvsp[-1].list); }
29076 #line 29077 "gram.c" /* yacc.c:1652  */
29077     break;
29078 
29079   case 448:
29080 #line 3327 "gram.y" /* yacc.c:1652  */
29081     { (yyval.list) = NIL; }
29082 #line 29083 "gram.c" /* yacc.c:1652  */
29083     break;
29084 
29085   case 449:
29086 #line 3332 "gram.y" /* yacc.c:1652  */
29087     {
29088 					(yyval.list) = list_make1((yyvsp[0].node));
29089 				}
29090 #line 29091 "gram.c" /* yacc.c:1652  */
29091     break;
29092 
29093   case 450:
29094 #line 3336 "gram.y" /* yacc.c:1652  */
29095     {
29096 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
29097 				}
29098 #line 29099 "gram.c" /* yacc.c:1652  */
29099     break;
29100 
29101   case 451:
29102 #line 3343 "gram.y" /* yacc.c:1652  */
29103     {
29104 					(yyval.list) = list_make1((yyvsp[0].node));
29105 				}
29106 #line 29107 "gram.c" /* yacc.c:1652  */
29107     break;
29108 
29109   case 452:
29110 #line 3347 "gram.y" /* yacc.c:1652  */
29111     {
29112 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
29113 				}
29114 #line 29115 "gram.c" /* yacc.c:1652  */
29115     break;
29116 
29117   case 453:
29118 #line 3353 "gram.y" /* yacc.c:1652  */
29119     { (yyval.node) = (yyvsp[0].node); }
29120 #line 29121 "gram.c" /* yacc.c:1652  */
29121     break;
29122 
29123   case 454:
29124 #line 3354 "gram.y" /* yacc.c:1652  */
29125     { (yyval.node) = (yyvsp[0].node); }
29126 #line 29127 "gram.c" /* yacc.c:1652  */
29127     break;
29128 
29129   case 455:
29130 #line 3355 "gram.y" /* yacc.c:1652  */
29131     { (yyval.node) = (yyvsp[0].node); }
29132 #line 29133 "gram.c" /* yacc.c:1652  */
29133     break;
29134 
29135   case 456:
29136 #line 3359 "gram.y" /* yacc.c:1652  */
29137     { (yyval.node) = (yyvsp[0].node); }
29138 #line 29139 "gram.c" /* yacc.c:1652  */
29139     break;
29140 
29141   case 457:
29142 #line 3360 "gram.y" /* yacc.c:1652  */
29143     { (yyval.node) = (yyvsp[0].node); }
29144 #line 29145 "gram.c" /* yacc.c:1652  */
29145     break;
29146 
29147   case 458:
29148 #line 3364 "gram.y" /* yacc.c:1652  */
29149     {
29150 					ColumnDef *n = makeNode(ColumnDef);
29151 					n->colname = (yyvsp[-3].str);
29152 					n->typeName = (yyvsp[-2].typnam);
29153 					n->inhcount = 0;
29154 					n->is_local = true;
29155 					n->is_not_null = false;
29156 					n->is_from_type = false;
29157 					n->storage = 0;
29158 					n->raw_default = NULL;
29159 					n->cooked_default = NULL;
29160 					n->collOid = InvalidOid;
29161 					n->fdwoptions = (yyvsp[-1].list);
29162 					SplitColQualList((yyvsp[0].list), &n->constraints, &n->collClause,
29163 									 yyscanner);
29164 					n->location = (yylsp[-3]);
29165 					(yyval.node) = (Node *)n;
29166 				}
29167 #line 29168 "gram.c" /* yacc.c:1652  */
29168     break;
29169 
29170   case 459:
29171 #line 3385 "gram.y" /* yacc.c:1652  */
29172     {
29173 					ColumnDef *n = makeNode(ColumnDef);
29174 					n->colname = (yyvsp[-1].str);
29175 					n->typeName = NULL;
29176 					n->inhcount = 0;
29177 					n->is_local = true;
29178 					n->is_not_null = false;
29179 					n->is_from_type = false;
29180 					n->storage = 0;
29181 					n->raw_default = NULL;
29182 					n->cooked_default = NULL;
29183 					n->collOid = InvalidOid;
29184 					SplitColQualList((yyvsp[0].list), &n->constraints, &n->collClause,
29185 									 yyscanner);
29186 					n->location = (yylsp[-1]);
29187 					(yyval.node) = (Node *)n;
29188 				}
29189 #line 29190 "gram.c" /* yacc.c:1652  */
29190     break;
29191 
29192   case 460:
29193 #line 3403 "gram.y" /* yacc.c:1652  */
29194     {
29195 					ColumnDef *n = makeNode(ColumnDef);
29196 					n->colname = (yyvsp[-3].str);
29197 					n->typeName = NULL;
29198 					n->inhcount = 0;
29199 					n->is_local = true;
29200 					n->is_not_null = false;
29201 					n->is_from_type = false;
29202 					n->storage = 0;
29203 					n->raw_default = NULL;
29204 					n->cooked_default = NULL;
29205 					n->collOid = InvalidOid;
29206 					SplitColQualList((yyvsp[0].list), &n->constraints, &n->collClause,
29207 									 yyscanner);
29208 					n->location = (yylsp[-3]);
29209 					(yyval.node) = (Node *)n;
29210 				}
29211 #line 29212 "gram.c" /* yacc.c:1652  */
29212     break;
29213 
29214   case 461:
29215 #line 3423 "gram.y" /* yacc.c:1652  */
29216     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
29217 #line 29218 "gram.c" /* yacc.c:1652  */
29218     break;
29219 
29220   case 462:
29221 #line 3424 "gram.y" /* yacc.c:1652  */
29222     { (yyval.list) = NIL; }
29223 #line 29224 "gram.c" /* yacc.c:1652  */
29224     break;
29225 
29226   case 463:
29227 #line 3429 "gram.y" /* yacc.c:1652  */
29228     {
29229 					Constraint *n = castNode(Constraint, (yyvsp[0].node));
29230 					n->conname = (yyvsp[-1].str);
29231 					n->location = (yylsp[-2]);
29232 					(yyval.node) = (Node *) n;
29233 				}
29234 #line 29235 "gram.c" /* yacc.c:1652  */
29235     break;
29236 
29237   case 464:
29238 #line 3435 "gram.y" /* yacc.c:1652  */
29239     { (yyval.node) = (yyvsp[0].node); }
29240 #line 29241 "gram.c" /* yacc.c:1652  */
29241     break;
29242 
29243   case 465:
29244 #line 3436 "gram.y" /* yacc.c:1652  */
29245     { (yyval.node) = (yyvsp[0].node); }
29246 #line 29247 "gram.c" /* yacc.c:1652  */
29247     break;
29248 
29249   case 466:
29250 #line 3438 "gram.y" /* yacc.c:1652  */
29251     {
29252 					/*
29253 					 * Note: the CollateClause is momentarily included in
29254 					 * the list built by ColQualList, but we split it out
29255 					 * again in SplitColQualList.
29256 					 */
29257 					CollateClause *n = makeNode(CollateClause);
29258 					n->arg = NULL;
29259 					n->collname = (yyvsp[0].list);
29260 					n->location = (yylsp[-1]);
29261 					(yyval.node) = (Node *) n;
29262 				}
29263 #line 29264 "gram.c" /* yacc.c:1652  */
29264     break;
29265 
29266   case 467:
29267 #line 3469 "gram.y" /* yacc.c:1652  */
29268     {
29269 					Constraint *n = makeNode(Constraint);
29270 					n->contype = CONSTR_NOTNULL;
29271 					n->location = (yylsp[-1]);
29272 					(yyval.node) = (Node *)n;
29273 				}
29274 #line 29275 "gram.c" /* yacc.c:1652  */
29275     break;
29276 
29277   case 468:
29278 #line 3476 "gram.y" /* yacc.c:1652  */
29279     {
29280 					Constraint *n = makeNode(Constraint);
29281 					n->contype = CONSTR_NULL;
29282 					n->location = (yylsp[0]);
29283 					(yyval.node) = (Node *)n;
29284 				}
29285 #line 29286 "gram.c" /* yacc.c:1652  */
29286     break;
29287 
29288   case 469:
29289 #line 3483 "gram.y" /* yacc.c:1652  */
29290     {
29291 					Constraint *n = makeNode(Constraint);
29292 					n->contype = CONSTR_UNIQUE;
29293 					n->location = (yylsp[-2]);
29294 					n->keys = NULL;
29295 					n->options = (yyvsp[-1].list);
29296 					n->indexname = NULL;
29297 					n->indexspace = (yyvsp[0].str);
29298 					(yyval.node) = (Node *)n;
29299 				}
29300 #line 29301 "gram.c" /* yacc.c:1652  */
29301     break;
29302 
29303   case 470:
29304 #line 3494 "gram.y" /* yacc.c:1652  */
29305     {
29306 					Constraint *n = makeNode(Constraint);
29307 					n->contype = CONSTR_PRIMARY;
29308 					n->location = (yylsp[-3]);
29309 					n->keys = NULL;
29310 					n->options = (yyvsp[-1].list);
29311 					n->indexname = NULL;
29312 					n->indexspace = (yyvsp[0].str);
29313 					(yyval.node) = (Node *)n;
29314 				}
29315 #line 29316 "gram.c" /* yacc.c:1652  */
29316     break;
29317 
29318   case 471:
29319 #line 3505 "gram.y" /* yacc.c:1652  */
29320     {
29321 					Constraint *n = makeNode(Constraint);
29322 					n->contype = CONSTR_CHECK;
29323 					n->location = (yylsp[-4]);
29324 					n->is_no_inherit = (yyvsp[0].boolean);
29325 					n->raw_expr = (yyvsp[-2].node);
29326 					n->cooked_expr = NULL;
29327 					n->skip_validation = false;
29328 					n->initially_valid = true;
29329 					(yyval.node) = (Node *)n;
29330 				}
29331 #line 29332 "gram.c" /* yacc.c:1652  */
29332     break;
29333 
29334   case 472:
29335 #line 3517 "gram.y" /* yacc.c:1652  */
29336     {
29337 					Constraint *n = makeNode(Constraint);
29338 					n->contype = CONSTR_DEFAULT;
29339 					n->location = (yylsp[-1]);
29340 					n->raw_expr = (yyvsp[0].node);
29341 					n->cooked_expr = NULL;
29342 					(yyval.node) = (Node *)n;
29343 				}
29344 #line 29345 "gram.c" /* yacc.c:1652  */
29345     break;
29346 
29347   case 473:
29348 #line 3526 "gram.y" /* yacc.c:1652  */
29349     {
29350 					Constraint *n = makeNode(Constraint);
29351 					n->contype = CONSTR_IDENTITY;
29352 					n->generated_when = (yyvsp[-3].ival);
29353 					n->options = (yyvsp[0].list);
29354 					n->location = (yylsp[-4]);
29355 					(yyval.node) = (Node *)n;
29356 				}
29357 #line 29358 "gram.c" /* yacc.c:1652  */
29358     break;
29359 
29360   case 474:
29361 #line 3535 "gram.y" /* yacc.c:1652  */
29362     {
29363 					Constraint *n = makeNode(Constraint);
29364 					n->contype = CONSTR_GENERATED;
29365 					n->generated_when = (yyvsp[-5].ival);
29366 					n->raw_expr = (yyvsp[-2].node);
29367 					n->cooked_expr = NULL;
29368 					n->location = (yylsp[-6]);
29369 
29370 					/*
29371 					 * Can't do this in the grammar because of shift/reduce
29372 					 * conflicts.  (IDENTITY allows both ALWAYS and BY
29373 					 * DEFAULT, but generated columns only allow ALWAYS.)  We
29374 					 * can also give a more useful error message and location.
29375 					 */
29376 					if ((yyvsp[-5].ival) != ATTRIBUTE_IDENTITY_ALWAYS)
29377 						ereport(ERROR,
29378 								(errcode(ERRCODE_SYNTAX_ERROR),
29379 								 errmsg("for a generated column, GENERATED ALWAYS must be specified"),
29380 								 parser_errposition((yylsp[-5]))));
29381 
29382 					(yyval.node) = (Node *)n;
29383 				}
29384 #line 29385 "gram.c" /* yacc.c:1652  */
29385     break;
29386 
29387   case 475:
29388 #line 3558 "gram.y" /* yacc.c:1652  */
29389     {
29390 					Constraint *n = makeNode(Constraint);
29391 					n->contype = CONSTR_FOREIGN;
29392 					n->location = (yylsp[-4]);
29393 					n->pktable			= (yyvsp[-3].range);
29394 					n->fk_attrs			= NIL;
29395 					n->pk_attrs			= (yyvsp[-2].list);
29396 					n->fk_matchtype		= (yyvsp[-1].ival);
29397 					n->fk_upd_action	= (char) ((yyvsp[0].ival) >> 8);
29398 					n->fk_del_action	= (char) ((yyvsp[0].ival) & 0xFF);
29399 					n->skip_validation  = false;
29400 					n->initially_valid  = true;
29401 					(yyval.node) = (Node *)n;
29402 				}
29403 #line 29404 "gram.c" /* yacc.c:1652  */
29404     break;
29405 
29406   case 476:
29407 #line 3575 "gram.y" /* yacc.c:1652  */
29408     { (yyval.ival) = ATTRIBUTE_IDENTITY_ALWAYS; }
29409 #line 29410 "gram.c" /* yacc.c:1652  */
29410     break;
29411 
29412   case 477:
29413 #line 3576 "gram.y" /* yacc.c:1652  */
29414     { (yyval.ival) = ATTRIBUTE_IDENTITY_BY_DEFAULT; }
29415 #line 29416 "gram.c" /* yacc.c:1652  */
29416     break;
29417 
29418   case 478:
29419 #line 3596 "gram.y" /* yacc.c:1652  */
29420     {
29421 					Constraint *n = makeNode(Constraint);
29422 					n->contype = CONSTR_ATTR_DEFERRABLE;
29423 					n->location = (yylsp[0]);
29424 					(yyval.node) = (Node *)n;
29425 				}
29426 #line 29427 "gram.c" /* yacc.c:1652  */
29427     break;
29428 
29429   case 479:
29430 #line 3603 "gram.y" /* yacc.c:1652  */
29431     {
29432 					Constraint *n = makeNode(Constraint);
29433 					n->contype = CONSTR_ATTR_NOT_DEFERRABLE;
29434 					n->location = (yylsp[-1]);
29435 					(yyval.node) = (Node *)n;
29436 				}
29437 #line 29438 "gram.c" /* yacc.c:1652  */
29438     break;
29439 
29440   case 480:
29441 #line 3610 "gram.y" /* yacc.c:1652  */
29442     {
29443 					Constraint *n = makeNode(Constraint);
29444 					n->contype = CONSTR_ATTR_DEFERRED;
29445 					n->location = (yylsp[-1]);
29446 					(yyval.node) = (Node *)n;
29447 				}
29448 #line 29449 "gram.c" /* yacc.c:1652  */
29449     break;
29450 
29451   case 481:
29452 #line 3617 "gram.y" /* yacc.c:1652  */
29453     {
29454 					Constraint *n = makeNode(Constraint);
29455 					n->contype = CONSTR_ATTR_IMMEDIATE;
29456 					n->location = (yylsp[-1]);
29457 					(yyval.node) = (Node *)n;
29458 				}
29459 #line 29460 "gram.c" /* yacc.c:1652  */
29460     break;
29461 
29462   case 482:
29463 #line 3628 "gram.y" /* yacc.c:1652  */
29464     {
29465 					TableLikeClause *n = makeNode(TableLikeClause);
29466 					n->relation = (yyvsp[-1].range);
29467 					n->options = (yyvsp[0].ival);
29468 					n->relationOid = InvalidOid;
29469 					(yyval.node) = (Node *)n;
29470 				}
29471 #line 29472 "gram.c" /* yacc.c:1652  */
29472     break;
29473 
29474   case 483:
29475 #line 3638 "gram.y" /* yacc.c:1652  */
29476     { (yyval.ival) = (yyvsp[-2].ival) | (yyvsp[0].ival); }
29477 #line 29478 "gram.c" /* yacc.c:1652  */
29478     break;
29479 
29480   case 484:
29481 #line 3639 "gram.y" /* yacc.c:1652  */
29482     { (yyval.ival) = (yyvsp[-2].ival) & ~(yyvsp[0].ival); }
29483 #line 29484 "gram.c" /* yacc.c:1652  */
29484     break;
29485 
29486   case 485:
29487 #line 3640 "gram.y" /* yacc.c:1652  */
29488     { (yyval.ival) = 0; }
29489 #line 29490 "gram.c" /* yacc.c:1652  */
29490     break;
29491 
29492   case 486:
29493 #line 3644 "gram.y" /* yacc.c:1652  */
29494     { (yyval.ival) = CREATE_TABLE_LIKE_COMMENTS; }
29495 #line 29496 "gram.c" /* yacc.c:1652  */
29496     break;
29497 
29498   case 487:
29499 #line 3645 "gram.y" /* yacc.c:1652  */
29500     { (yyval.ival) = CREATE_TABLE_LIKE_CONSTRAINTS; }
29501 #line 29502 "gram.c" /* yacc.c:1652  */
29502     break;
29503 
29504   case 488:
29505 #line 3646 "gram.y" /* yacc.c:1652  */
29506     { (yyval.ival) = CREATE_TABLE_LIKE_DEFAULTS; }
29507 #line 29508 "gram.c" /* yacc.c:1652  */
29508     break;
29509 
29510   case 489:
29511 #line 3647 "gram.y" /* yacc.c:1652  */
29512     { (yyval.ival) = CREATE_TABLE_LIKE_IDENTITY; }
29513 #line 29514 "gram.c" /* yacc.c:1652  */
29514     break;
29515 
29516   case 490:
29517 #line 3648 "gram.y" /* yacc.c:1652  */
29518     { (yyval.ival) = CREATE_TABLE_LIKE_GENERATED; }
29519 #line 29520 "gram.c" /* yacc.c:1652  */
29520     break;
29521 
29522   case 491:
29523 #line 3649 "gram.y" /* yacc.c:1652  */
29524     { (yyval.ival) = CREATE_TABLE_LIKE_INDEXES; }
29525 #line 29526 "gram.c" /* yacc.c:1652  */
29526     break;
29527 
29528   case 492:
29529 #line 3650 "gram.y" /* yacc.c:1652  */
29530     { (yyval.ival) = CREATE_TABLE_LIKE_STATISTICS; }
29531 #line 29532 "gram.c" /* yacc.c:1652  */
29532     break;
29533 
29534   case 493:
29535 #line 3651 "gram.y" /* yacc.c:1652  */
29536     { (yyval.ival) = CREATE_TABLE_LIKE_STORAGE; }
29537 #line 29538 "gram.c" /* yacc.c:1652  */
29538     break;
29539 
29540   case 494:
29541 #line 3652 "gram.y" /* yacc.c:1652  */
29542     { (yyval.ival) = CREATE_TABLE_LIKE_ALL; }
29543 #line 29544 "gram.c" /* yacc.c:1652  */
29544     break;
29545 
29546   case 495:
29547 #line 3662 "gram.y" /* yacc.c:1652  */
29548     {
29549 					Constraint *n = castNode(Constraint, (yyvsp[0].node));
29550 					n->conname = (yyvsp[-1].str);
29551 					n->location = (yylsp[-2]);
29552 					(yyval.node) = (Node *) n;
29553 				}
29554 #line 29555 "gram.c" /* yacc.c:1652  */
29555     break;
29556 
29557   case 496:
29558 #line 3668 "gram.y" /* yacc.c:1652  */
29559     { (yyval.node) = (yyvsp[0].node); }
29560 #line 29561 "gram.c" /* yacc.c:1652  */
29561     break;
29562 
29563   case 497:
29564 #line 3673 "gram.y" /* yacc.c:1652  */
29565     {
29566 					Constraint *n = makeNode(Constraint);
29567 					n->contype = CONSTR_CHECK;
29568 					n->location = (yylsp[-4]);
29569 					n->raw_expr = (yyvsp[-2].node);
29570 					n->cooked_expr = NULL;
29571 					processCASbits((yyvsp[0].ival), (yylsp[0]), "CHECK",
29572 								   NULL, NULL, &n->skip_validation,
29573 								   &n->is_no_inherit, yyscanner);
29574 					n->initially_valid = !n->skip_validation;
29575 					(yyval.node) = (Node *)n;
29576 				}
29577 #line 29578 "gram.c" /* yacc.c:1652  */
29578     break;
29579 
29580   case 498:
29581 #line 3687 "gram.y" /* yacc.c:1652  */
29582     {
29583 					Constraint *n = makeNode(Constraint);
29584 					n->contype = CONSTR_UNIQUE;
29585 					n->location = (yylsp[-7]);
29586 					n->keys = (yyvsp[-5].list);
29587 					n->including = (yyvsp[-3].list);
29588 					n->options = (yyvsp[-2].list);
29589 					n->indexname = NULL;
29590 					n->indexspace = (yyvsp[-1].str);
29591 					processCASbits((yyvsp[0].ival), (yylsp[0]), "UNIQUE",
29592 								   &n->deferrable, &n->initdeferred, NULL,
29593 								   NULL, yyscanner);
29594 					(yyval.node) = (Node *)n;
29595 				}
29596 #line 29597 "gram.c" /* yacc.c:1652  */
29597     break;
29598 
29599   case 499:
29600 #line 3702 "gram.y" /* yacc.c:1652  */
29601     {
29602 					Constraint *n = makeNode(Constraint);
29603 					n->contype = CONSTR_UNIQUE;
29604 					n->location = (yylsp[-2]);
29605 					n->keys = NIL;
29606 					n->including = NIL;
29607 					n->options = NIL;
29608 					n->indexname = (yyvsp[-1].str);
29609 					n->indexspace = NULL;
29610 					processCASbits((yyvsp[0].ival), (yylsp[0]), "UNIQUE",
29611 								   &n->deferrable, &n->initdeferred, NULL,
29612 								   NULL, yyscanner);
29613 					(yyval.node) = (Node *)n;
29614 				}
29615 #line 29616 "gram.c" /* yacc.c:1652  */
29616     break;
29617 
29618   case 500:
29619 #line 3718 "gram.y" /* yacc.c:1652  */
29620     {
29621 					Constraint *n = makeNode(Constraint);
29622 					n->contype = CONSTR_PRIMARY;
29623 					n->location = (yylsp[-8]);
29624 					n->keys = (yyvsp[-5].list);
29625 					n->including = (yyvsp[-3].list);
29626 					n->options = (yyvsp[-2].list);
29627 					n->indexname = NULL;
29628 					n->indexspace = (yyvsp[-1].str);
29629 					processCASbits((yyvsp[0].ival), (yylsp[0]), "PRIMARY KEY",
29630 								   &n->deferrable, &n->initdeferred, NULL,
29631 								   NULL, yyscanner);
29632 					(yyval.node) = (Node *)n;
29633 				}
29634 #line 29635 "gram.c" /* yacc.c:1652  */
29635     break;
29636 
29637   case 501:
29638 #line 3733 "gram.y" /* yacc.c:1652  */
29639     {
29640 					Constraint *n = makeNode(Constraint);
29641 					n->contype = CONSTR_PRIMARY;
29642 					n->location = (yylsp[-3]);
29643 					n->keys = NIL;
29644 					n->including = NIL;
29645 					n->options = NIL;
29646 					n->indexname = (yyvsp[-1].str);
29647 					n->indexspace = NULL;
29648 					processCASbits((yyvsp[0].ival), (yylsp[0]), "PRIMARY KEY",
29649 								   &n->deferrable, &n->initdeferred, NULL,
29650 								   NULL, yyscanner);
29651 					(yyval.node) = (Node *)n;
29652 				}
29653 #line 29654 "gram.c" /* yacc.c:1652  */
29654     break;
29655 
29656   case 502:
29657 #line 3750 "gram.y" /* yacc.c:1652  */
29658     {
29659 					Constraint *n = makeNode(Constraint);
29660 					n->contype = CONSTR_EXCLUSION;
29661 					n->location = (yylsp[-9]);
29662 					n->access_method	= (yyvsp[-8].str);
29663 					n->exclusions		= (yyvsp[-6].list);
29664 					n->including		= (yyvsp[-4].list);
29665 					n->options			= (yyvsp[-3].list);
29666 					n->indexname		= NULL;
29667 					n->indexspace		= (yyvsp[-2].str);
29668 					n->where_clause		= (yyvsp[-1].node);
29669 					processCASbits((yyvsp[0].ival), (yylsp[0]), "EXCLUDE",
29670 								   &n->deferrable, &n->initdeferred, NULL,
29671 								   NULL, yyscanner);
29672 					(yyval.node) = (Node *)n;
29673 				}
29674 #line 29675 "gram.c" /* yacc.c:1652  */
29675     break;
29676 
29677   case 503:
29678 #line 3768 "gram.y" /* yacc.c:1652  */
29679     {
29680 					Constraint *n = makeNode(Constraint);
29681 					n->contype = CONSTR_FOREIGN;
29682 					n->location = (yylsp[-10]);
29683 					n->pktable			= (yyvsp[-4].range);
29684 					n->fk_attrs			= (yyvsp[-7].list);
29685 					n->pk_attrs			= (yyvsp[-3].list);
29686 					n->fk_matchtype		= (yyvsp[-2].ival);
29687 					n->fk_upd_action	= (char) ((yyvsp[-1].ival) >> 8);
29688 					n->fk_del_action	= (char) ((yyvsp[-1].ival) & 0xFF);
29689 					processCASbits((yyvsp[0].ival), (yylsp[0]), "FOREIGN KEY",
29690 								   &n->deferrable, &n->initdeferred,
29691 								   &n->skip_validation, NULL,
29692 								   yyscanner);
29693 					n->initially_valid = !n->skip_validation;
29694 					(yyval.node) = (Node *)n;
29695 				}
29696 #line 29697 "gram.c" /* yacc.c:1652  */
29697     break;
29698 
29699   case 504:
29700 #line 3787 "gram.y" /* yacc.c:1652  */
29701     {  (yyval.boolean) = true; }
29702 #line 29703 "gram.c" /* yacc.c:1652  */
29703     break;
29704 
29705   case 505:
29706 #line 3788 "gram.y" /* yacc.c:1652  */
29707     {  (yyval.boolean) = false; }
29708 #line 29709 "gram.c" /* yacc.c:1652  */
29709     break;
29710 
29711   case 506:
29712 #line 3792 "gram.y" /* yacc.c:1652  */
29713     { (yyval.list) = (yyvsp[-1].list); }
29714 #line 29715 "gram.c" /* yacc.c:1652  */
29715     break;
29716 
29717   case 507:
29718 #line 3793 "gram.y" /* yacc.c:1652  */
29719     { (yyval.list) = NIL; }
29720 #line 29721 "gram.c" /* yacc.c:1652  */
29721     break;
29722 
29723   case 508:
29724 #line 3797 "gram.y" /* yacc.c:1652  */
29725     { (yyval.list) = list_make1((yyvsp[0].node)); }
29726 #line 29727 "gram.c" /* yacc.c:1652  */
29727     break;
29728 
29729   case 509:
29730 #line 3798 "gram.y" /* yacc.c:1652  */
29731     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
29732 #line 29733 "gram.c" /* yacc.c:1652  */
29733     break;
29734 
29735   case 510:
29736 #line 3802 "gram.y" /* yacc.c:1652  */
29737     {
29738 					(yyval.node) = (Node *) makeString((yyvsp[0].str));
29739 				}
29740 #line 29741 "gram.c" /* yacc.c:1652  */
29741     break;
29742 
29743   case 511:
29744 #line 3807 "gram.y" /* yacc.c:1652  */
29745     { (yyval.list) = (yyvsp[-1].list); }
29746 #line 29747 "gram.c" /* yacc.c:1652  */
29747     break;
29748 
29749   case 512:
29750 #line 3808 "gram.y" /* yacc.c:1652  */
29751     { (yyval.list) = NIL; }
29752 #line 29753 "gram.c" /* yacc.c:1652  */
29753     break;
29754 
29755   case 513:
29756 #line 3812 "gram.y" /* yacc.c:1652  */
29757     {
29758 				(yyval.ival) = FKCONSTR_MATCH_FULL;
29759 			}
29760 #line 29761 "gram.c" /* yacc.c:1652  */
29761     break;
29762 
29763   case 514:
29764 #line 3816 "gram.y" /* yacc.c:1652  */
29765     {
29766 				ereport(ERROR,
29767 						(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
29768 						 errmsg("MATCH PARTIAL not yet implemented"),
29769 						 parser_errposition((yylsp[-1]))));
29770 				(yyval.ival) = FKCONSTR_MATCH_PARTIAL;
29771 			}
29772 #line 29773 "gram.c" /* yacc.c:1652  */
29773     break;
29774 
29775   case 515:
29776 #line 3824 "gram.y" /* yacc.c:1652  */
29777     {
29778 				(yyval.ival) = FKCONSTR_MATCH_SIMPLE;
29779 			}
29780 #line 29781 "gram.c" /* yacc.c:1652  */
29781     break;
29782 
29783   case 516:
29784 #line 3828 "gram.y" /* yacc.c:1652  */
29785     {
29786 				(yyval.ival) = FKCONSTR_MATCH_SIMPLE;
29787 			}
29788 #line 29789 "gram.c" /* yacc.c:1652  */
29789     break;
29790 
29791   case 517:
29792 #line 3834 "gram.y" /* yacc.c:1652  */
29793     { (yyval.list) = list_make1((yyvsp[0].list)); }
29794 #line 29795 "gram.c" /* yacc.c:1652  */
29795     break;
29796 
29797   case 518:
29798 #line 3836 "gram.y" /* yacc.c:1652  */
29799     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].list)); }
29800 #line 29801 "gram.c" /* yacc.c:1652  */
29801     break;
29802 
29803   case 519:
29804 #line 3840 "gram.y" /* yacc.c:1652  */
29805     {
29806 				(yyval.list) = list_make2((yyvsp[-2].ielem), (yyvsp[0].list));
29807 			}
29808 #line 29809 "gram.c" /* yacc.c:1652  */
29809     break;
29810 
29811   case 520:
29812 #line 3845 "gram.y" /* yacc.c:1652  */
29813     {
29814 				(yyval.list) = list_make2((yyvsp[-5].ielem), (yyvsp[-1].list));
29815 			}
29816 #line 29817 "gram.c" /* yacc.c:1652  */
29817     break;
29818 
29819   case 521:
29820 #line 3851 "gram.y" /* yacc.c:1652  */
29821     { (yyval.node) = (yyvsp[-1].node); }
29822 #line 29823 "gram.c" /* yacc.c:1652  */
29823     break;
29824 
29825   case 522:
29826 #line 3852 "gram.y" /* yacc.c:1652  */
29827     { (yyval.node) = NULL; }
29828 #line 29829 "gram.c" /* yacc.c:1652  */
29829     break;
29830 
29831   case 523:
29832 #line 3863 "gram.y" /* yacc.c:1652  */
29833     { (yyval.ival) = ((yyvsp[0].ival) << 8) | (FKCONSTR_ACTION_NOACTION & 0xFF); }
29834 #line 29835 "gram.c" /* yacc.c:1652  */
29835     break;
29836 
29837   case 524:
29838 #line 3865 "gram.y" /* yacc.c:1652  */
29839     { (yyval.ival) = (FKCONSTR_ACTION_NOACTION << 8) | ((yyvsp[0].ival) & 0xFF); }
29840 #line 29841 "gram.c" /* yacc.c:1652  */
29841     break;
29842 
29843   case 525:
29844 #line 3867 "gram.y" /* yacc.c:1652  */
29845     { (yyval.ival) = ((yyvsp[-1].ival) << 8) | ((yyvsp[0].ival) & 0xFF); }
29846 #line 29847 "gram.c" /* yacc.c:1652  */
29847     break;
29848 
29849   case 526:
29850 #line 3869 "gram.y" /* yacc.c:1652  */
29851     { (yyval.ival) = ((yyvsp[0].ival) << 8) | ((yyvsp[-1].ival) & 0xFF); }
29852 #line 29853 "gram.c" /* yacc.c:1652  */
29853     break;
29854 
29855   case 527:
29856 #line 3871 "gram.y" /* yacc.c:1652  */
29857     { (yyval.ival) = (FKCONSTR_ACTION_NOACTION << 8) | (FKCONSTR_ACTION_NOACTION & 0xFF); }
29858 #line 29859 "gram.c" /* yacc.c:1652  */
29859     break;
29860 
29861   case 528:
29862 #line 3874 "gram.y" /* yacc.c:1652  */
29863     { (yyval.ival) = (yyvsp[0].ival); }
29864 #line 29865 "gram.c" /* yacc.c:1652  */
29865     break;
29866 
29867   case 529:
29868 #line 3877 "gram.y" /* yacc.c:1652  */
29869     { (yyval.ival) = (yyvsp[0].ival); }
29870 #line 29871 "gram.c" /* yacc.c:1652  */
29871     break;
29872 
29873   case 530:
29874 #line 3881 "gram.y" /* yacc.c:1652  */
29875     { (yyval.ival) = FKCONSTR_ACTION_NOACTION; }
29876 #line 29877 "gram.c" /* yacc.c:1652  */
29877     break;
29878 
29879   case 531:
29880 #line 3882 "gram.y" /* yacc.c:1652  */
29881     { (yyval.ival) = FKCONSTR_ACTION_RESTRICT; }
29882 #line 29883 "gram.c" /* yacc.c:1652  */
29883     break;
29884 
29885   case 532:
29886 #line 3883 "gram.y" /* yacc.c:1652  */
29887     { (yyval.ival) = FKCONSTR_ACTION_CASCADE; }
29888 #line 29889 "gram.c" /* yacc.c:1652  */
29889     break;
29890 
29891   case 533:
29892 #line 3884 "gram.y" /* yacc.c:1652  */
29893     { (yyval.ival) = FKCONSTR_ACTION_SETNULL; }
29894 #line 29895 "gram.c" /* yacc.c:1652  */
29895     break;
29896 
29897   case 534:
29898 #line 3885 "gram.y" /* yacc.c:1652  */
29899     { (yyval.ival) = FKCONSTR_ACTION_SETDEFAULT; }
29900 #line 29901 "gram.c" /* yacc.c:1652  */
29901     break;
29902 
29903   case 535:
29904 #line 3888 "gram.y" /* yacc.c:1652  */
29905     { (yyval.list) = (yyvsp[-1].list); }
29906 #line 29907 "gram.c" /* yacc.c:1652  */
29907     break;
29908 
29909   case 536:
29910 #line 3889 "gram.y" /* yacc.c:1652  */
29911     { (yyval.list) = NIL; }
29912 #line 29913 "gram.c" /* yacc.c:1652  */
29913     break;
29914 
29915   case 537:
29916 #line 3893 "gram.y" /* yacc.c:1652  */
29917     { (yyval.partspec) = (yyvsp[0].partspec); }
29918 #line 29919 "gram.c" /* yacc.c:1652  */
29919     break;
29920 
29921   case 538:
29922 #line 3894 "gram.y" /* yacc.c:1652  */
29923     { (yyval.partspec) = NULL; }
29924 #line 29925 "gram.c" /* yacc.c:1652  */
29925     break;
29926 
29927   case 539:
29928 #line 3898 "gram.y" /* yacc.c:1652  */
29929     {
29930 					PartitionSpec *n = makeNode(PartitionSpec);
29931 
29932 					n->strategy = (yyvsp[-3].str);
29933 					n->partParams = (yyvsp[-1].list);
29934 					n->location = (yylsp[-5]);
29935 
29936 					(yyval.partspec) = n;
29937 				}
29938 #line 29939 "gram.c" /* yacc.c:1652  */
29939     break;
29940 
29941   case 540:
29942 #line 3909 "gram.y" /* yacc.c:1652  */
29943     { (yyval.list) = list_make1((yyvsp[0].partelem)); }
29944 #line 29945 "gram.c" /* yacc.c:1652  */
29945     break;
29946 
29947   case 541:
29948 #line 3910 "gram.y" /* yacc.c:1652  */
29949     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].partelem)); }
29950 #line 29951 "gram.c" /* yacc.c:1652  */
29951     break;
29952 
29953   case 542:
29954 #line 3914 "gram.y" /* yacc.c:1652  */
29955     {
29956 					PartitionElem *n = makeNode(PartitionElem);
29957 
29958 					n->name = (yyvsp[-2].str);
29959 					n->expr = NULL;
29960 					n->collation = (yyvsp[-1].list);
29961 					n->opclass = (yyvsp[0].list);
29962 					n->location = (yylsp[-2]);
29963 					(yyval.partelem) = n;
29964 				}
29965 #line 29966 "gram.c" /* yacc.c:1652  */
29966     break;
29967 
29968   case 543:
29969 #line 3925 "gram.y" /* yacc.c:1652  */
29970     {
29971 					PartitionElem *n = makeNode(PartitionElem);
29972 
29973 					n->name = NULL;
29974 					n->expr = (yyvsp[-2].node);
29975 					n->collation = (yyvsp[-1].list);
29976 					n->opclass = (yyvsp[0].list);
29977 					n->location = (yylsp[-2]);
29978 					(yyval.partelem) = n;
29979 				}
29980 #line 29981 "gram.c" /* yacc.c:1652  */
29981     break;
29982 
29983   case 544:
29984 #line 3936 "gram.y" /* yacc.c:1652  */
29985     {
29986 					PartitionElem *n = makeNode(PartitionElem);
29987 
29988 					n->name = NULL;
29989 					n->expr = (yyvsp[-3].node);
29990 					n->collation = (yyvsp[-1].list);
29991 					n->opclass = (yyvsp[0].list);
29992 					n->location = (yylsp[-4]);
29993 					(yyval.partelem) = n;
29994 				}
29995 #line 29996 "gram.c" /* yacc.c:1652  */
29996     break;
29997 
29998   case 545:
29999 #line 3949 "gram.y" /* yacc.c:1652  */
30000     { (yyval.str) = (yyvsp[0].str); }
30001 #line 30002 "gram.c" /* yacc.c:1652  */
30002     break;
30003 
30004   case 546:
30005 #line 3950 "gram.y" /* yacc.c:1652  */
30006     { (yyval.str) = NULL; }
30007 #line 30008 "gram.c" /* yacc.c:1652  */
30008     break;
30009 
30010   case 547:
30011 #line 3955 "gram.y" /* yacc.c:1652  */
30012     { (yyval.list) = (yyvsp[0].list); }
30013 #line 30014 "gram.c" /* yacc.c:1652  */
30014     break;
30015 
30016   case 548:
30017 #line 3956 "gram.y" /* yacc.c:1652  */
30018     { (yyval.list) = NIL; }
30019 #line 30020 "gram.c" /* yacc.c:1652  */
30020     break;
30021 
30022   case 549:
30023 #line 3957 "gram.y" /* yacc.c:1652  */
30024     { (yyval.list) = NIL; }
30025 #line 30026 "gram.c" /* yacc.c:1652  */
30026     break;
30027 
30028   case 550:
30029 #line 3960 "gram.y" /* yacc.c:1652  */
30030     { (yyval.oncommit) = ONCOMMIT_DROP; }
30031 #line 30032 "gram.c" /* yacc.c:1652  */
30032     break;
30033 
30034   case 551:
30035 #line 3961 "gram.y" /* yacc.c:1652  */
30036     { (yyval.oncommit) = ONCOMMIT_DELETE_ROWS; }
30037 #line 30038 "gram.c" /* yacc.c:1652  */
30038     break;
30039 
30040   case 552:
30041 #line 3962 "gram.y" /* yacc.c:1652  */
30042     { (yyval.oncommit) = ONCOMMIT_PRESERVE_ROWS; }
30043 #line 30044 "gram.c" /* yacc.c:1652  */
30044     break;
30045 
30046   case 553:
30047 #line 3963 "gram.y" /* yacc.c:1652  */
30048     { (yyval.oncommit) = ONCOMMIT_NOOP; }
30049 #line 30050 "gram.c" /* yacc.c:1652  */
30050     break;
30051 
30052   case 554:
30053 #line 3966 "gram.y" /* yacc.c:1652  */
30054     { (yyval.str) = (yyvsp[0].str); }
30055 #line 30056 "gram.c" /* yacc.c:1652  */
30056     break;
30057 
30058   case 555:
30059 #line 3967 "gram.y" /* yacc.c:1652  */
30060     { (yyval.str) = NULL; }
30061 #line 30062 "gram.c" /* yacc.c:1652  */
30062     break;
30063 
30064   case 556:
30065 #line 3970 "gram.y" /* yacc.c:1652  */
30066     { (yyval.str) = (yyvsp[0].str); }
30067 #line 30068 "gram.c" /* yacc.c:1652  */
30068     break;
30069 
30070   case 557:
30071 #line 3971 "gram.y" /* yacc.c:1652  */
30072     { (yyval.str) = NULL; }
30073 #line 30074 "gram.c" /* yacc.c:1652  */
30074     break;
30075 
30076   case 558:
30077 #line 3974 "gram.y" /* yacc.c:1652  */
30078     { (yyval.str) = (yyvsp[0].str); }
30079 #line 30080 "gram.c" /* yacc.c:1652  */
30080     break;
30081 
30082   case 559:
30083 #line 3994 "gram.y" /* yacc.c:1652  */
30084     {
30085 					CreateStatsStmt *n = makeNode(CreateStatsStmt);
30086 					n->defnames = (yyvsp[-5].list);
30087 					n->stat_types = (yyvsp[-4].list);
30088 					n->exprs = (yyvsp[-2].list);
30089 					n->relations = (yyvsp[0].list);
30090 					n->stxcomment = NULL;
30091 					n->if_not_exists = false;
30092 					(yyval.node) = (Node *)n;
30093 				}
30094 #line 30095 "gram.c" /* yacc.c:1652  */
30095     break;
30096 
30097   case 560:
30098 #line 4006 "gram.y" /* yacc.c:1652  */
30099     {
30100 					CreateStatsStmt *n = makeNode(CreateStatsStmt);
30101 					n->defnames = (yyvsp[-5].list);
30102 					n->stat_types = (yyvsp[-4].list);
30103 					n->exprs = (yyvsp[-2].list);
30104 					n->relations = (yyvsp[0].list);
30105 					n->stxcomment = NULL;
30106 					n->if_not_exists = true;
30107 					(yyval.node) = (Node *)n;
30108 				}
30109 #line 30110 "gram.c" /* yacc.c:1652  */
30110     break;
30111 
30112   case 561:
30113 #line 4029 "gram.y" /* yacc.c:1652  */
30114     {
30115 					AlterStatsStmt *n = makeNode(AlterStatsStmt);
30116 					n->defnames = (yyvsp[-3].list);
30117 					n->missing_ok = false;
30118 					n->stxstattarget = (yyvsp[0].ival);
30119 					(yyval.node) = (Node *)n;
30120 				}
30121 #line 30122 "gram.c" /* yacc.c:1652  */
30122     break;
30123 
30124   case 562:
30125 #line 4037 "gram.y" /* yacc.c:1652  */
30126     {
30127 					AlterStatsStmt *n = makeNode(AlterStatsStmt);
30128 					n->defnames = (yyvsp[-3].list);
30129 					n->missing_ok = true;
30130 					n->stxstattarget = (yyvsp[0].ival);
30131 					(yyval.node) = (Node *)n;
30132 				}
30133 #line 30134 "gram.c" /* yacc.c:1652  */
30134     break;
30135 
30136   case 563:
30137 #line 4058 "gram.y" /* yacc.c:1652  */
30138     {
30139 					CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
30140 					ctas->query = (yyvsp[-1].node);
30141 					ctas->into = (yyvsp[-3].into);
30142 					ctas->relkind = OBJECT_TABLE;
30143 					ctas->is_select_into = false;
30144 					ctas->if_not_exists = false;
30145 					/* cram additional flags into the IntoClause */
30146 					(yyvsp[-3].into)->rel->relpersistence = (yyvsp[-5].ival);
30147 					(yyvsp[-3].into)->skipData = !((yyvsp[0].boolean));
30148 					(yyval.node) = (Node *) ctas;
30149 				}
30150 #line 30151 "gram.c" /* yacc.c:1652  */
30151     break;
30152 
30153   case 564:
30154 #line 4071 "gram.y" /* yacc.c:1652  */
30155     {
30156 					CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
30157 					ctas->query = (yyvsp[-1].node);
30158 					ctas->into = (yyvsp[-3].into);
30159 					ctas->relkind = OBJECT_TABLE;
30160 					ctas->is_select_into = false;
30161 					ctas->if_not_exists = true;
30162 					/* cram additional flags into the IntoClause */
30163 					(yyvsp[-3].into)->rel->relpersistence = (yyvsp[-8].ival);
30164 					(yyvsp[-3].into)->skipData = !((yyvsp[0].boolean));
30165 					(yyval.node) = (Node *) ctas;
30166 				}
30167 #line 30168 "gram.c" /* yacc.c:1652  */
30168     break;
30169 
30170   case 565:
30171 #line 4088 "gram.y" /* yacc.c:1652  */
30172     {
30173 					(yyval.into) = makeNode(IntoClause);
30174 					(yyval.into)->rel = (yyvsp[-5].range);
30175 					(yyval.into)->colNames = (yyvsp[-4].list);
30176 					(yyval.into)->accessMethod = (yyvsp[-3].str);
30177 					(yyval.into)->options = (yyvsp[-2].list);
30178 					(yyval.into)->onCommit = (yyvsp[-1].oncommit);
30179 					(yyval.into)->tableSpaceName = (yyvsp[0].str);
30180 					(yyval.into)->viewQuery = NULL;
30181 					(yyval.into)->skipData = false;		/* might get changed later */
30182 				}
30183 #line 30184 "gram.c" /* yacc.c:1652  */
30184     break;
30185 
30186   case 566:
30187 #line 4102 "gram.y" /* yacc.c:1652  */
30188     { (yyval.boolean) = true; }
30189 #line 30190 "gram.c" /* yacc.c:1652  */
30190     break;
30191 
30192   case 567:
30193 #line 4103 "gram.y" /* yacc.c:1652  */
30194     { (yyval.boolean) = false; }
30195 #line 30196 "gram.c" /* yacc.c:1652  */
30196     break;
30197 
30198   case 568:
30199 #line 4104 "gram.y" /* yacc.c:1652  */
30200     { (yyval.boolean) = true; }
30201 #line 30202 "gram.c" /* yacc.c:1652  */
30202     break;
30203 
30204   case 569:
30205 #line 4117 "gram.y" /* yacc.c:1652  */
30206     {
30207 					CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
30208 					ctas->query = (yyvsp[-1].node);
30209 					ctas->into = (yyvsp[-3].into);
30210 					ctas->relkind = OBJECT_MATVIEW;
30211 					ctas->is_select_into = false;
30212 					ctas->if_not_exists = false;
30213 					/* cram additional flags into the IntoClause */
30214 					(yyvsp[-3].into)->rel->relpersistence = (yyvsp[-6].ival);
30215 					(yyvsp[-3].into)->skipData = !((yyvsp[0].boolean));
30216 					(yyval.node) = (Node *) ctas;
30217 				}
30218 #line 30219 "gram.c" /* yacc.c:1652  */
30219     break;
30220 
30221   case 570:
30222 #line 4130 "gram.y" /* yacc.c:1652  */
30223     {
30224 					CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
30225 					ctas->query = (yyvsp[-1].node);
30226 					ctas->into = (yyvsp[-3].into);
30227 					ctas->relkind = OBJECT_MATVIEW;
30228 					ctas->is_select_into = false;
30229 					ctas->if_not_exists = true;
30230 					/* cram additional flags into the IntoClause */
30231 					(yyvsp[-3].into)->rel->relpersistence = (yyvsp[-9].ival);
30232 					(yyvsp[-3].into)->skipData = !((yyvsp[0].boolean));
30233 					(yyval.node) = (Node *) ctas;
30234 				}
30235 #line 30236 "gram.c" /* yacc.c:1652  */
30236     break;
30237 
30238   case 571:
30239 #line 4146 "gram.y" /* yacc.c:1652  */
30240     {
30241 					(yyval.into) = makeNode(IntoClause);
30242 					(yyval.into)->rel = (yyvsp[-4].range);
30243 					(yyval.into)->colNames = (yyvsp[-3].list);
30244 					(yyval.into)->accessMethod = (yyvsp[-2].str);
30245 					(yyval.into)->options = (yyvsp[-1].list);
30246 					(yyval.into)->onCommit = ONCOMMIT_NOOP;
30247 					(yyval.into)->tableSpaceName = (yyvsp[0].str);
30248 					(yyval.into)->viewQuery = NULL;		/* filled at analysis time */
30249 					(yyval.into)->skipData = false;		/* might get changed later */
30250 				}
30251 #line 30252 "gram.c" /* yacc.c:1652  */
30252     break;
30253 
30254   case 572:
30255 #line 4159 "gram.y" /* yacc.c:1652  */
30256     { (yyval.ival) = RELPERSISTENCE_UNLOGGED; }
30257 #line 30258 "gram.c" /* yacc.c:1652  */
30258     break;
30259 
30260   case 573:
30261 #line 4160 "gram.y" /* yacc.c:1652  */
30262     { (yyval.ival) = RELPERSISTENCE_PERMANENT; }
30263 #line 30264 "gram.c" /* yacc.c:1652  */
30264     break;
30265 
30266   case 574:
30267 #line 4173 "gram.y" /* yacc.c:1652  */
30268     {
30269 					RefreshMatViewStmt *n = makeNode(RefreshMatViewStmt);
30270 					n->concurrent = (yyvsp[-2].boolean);
30271 					n->relation = (yyvsp[-1].range);
30272 					n->skipData = !((yyvsp[0].boolean));
30273 					(yyval.node) = (Node *) n;
30274 				}
30275 #line 30276 "gram.c" /* yacc.c:1652  */
30276     break;
30277 
30278   case 575:
30279 #line 4193 "gram.y" /* yacc.c:1652  */
30280     {
30281 					CreateSeqStmt *n = makeNode(CreateSeqStmt);
30282 					(yyvsp[-1].range)->relpersistence = (yyvsp[-3].ival);
30283 					n->sequence = (yyvsp[-1].range);
30284 					n->options = (yyvsp[0].list);
30285 					n->ownerId = InvalidOid;
30286 					n->if_not_exists = false;
30287 					(yyval.node) = (Node *)n;
30288 				}
30289 #line 30290 "gram.c" /* yacc.c:1652  */
30290     break;
30291 
30292   case 576:
30293 #line 4203 "gram.y" /* yacc.c:1652  */
30294     {
30295 					CreateSeqStmt *n = makeNode(CreateSeqStmt);
30296 					(yyvsp[-1].range)->relpersistence = (yyvsp[-6].ival);
30297 					n->sequence = (yyvsp[-1].range);
30298 					n->options = (yyvsp[0].list);
30299 					n->ownerId = InvalidOid;
30300 					n->if_not_exists = true;
30301 					(yyval.node) = (Node *)n;
30302 				}
30303 #line 30304 "gram.c" /* yacc.c:1652  */
30304     break;
30305 
30306   case 577:
30307 #line 4216 "gram.y" /* yacc.c:1652  */
30308     {
30309 					AlterSeqStmt *n = makeNode(AlterSeqStmt);
30310 					n->sequence = (yyvsp[-1].range);
30311 					n->options = (yyvsp[0].list);
30312 					n->missing_ok = false;
30313 					(yyval.node) = (Node *)n;
30314 				}
30315 #line 30316 "gram.c" /* yacc.c:1652  */
30316     break;
30317 
30318   case 578:
30319 #line 4224 "gram.y" /* yacc.c:1652  */
30320     {
30321 					AlterSeqStmt *n = makeNode(AlterSeqStmt);
30322 					n->sequence = (yyvsp[-1].range);
30323 					n->options = (yyvsp[0].list);
30324 					n->missing_ok = true;
30325 					(yyval.node) = (Node *)n;
30326 				}
30327 #line 30328 "gram.c" /* yacc.c:1652  */
30328     break;
30329 
30330   case 579:
30331 #line 4234 "gram.y" /* yacc.c:1652  */
30332     { (yyval.list) = (yyvsp[0].list); }
30333 #line 30334 "gram.c" /* yacc.c:1652  */
30334     break;
30335 
30336   case 580:
30337 #line 4235 "gram.y" /* yacc.c:1652  */
30338     { (yyval.list) = NIL; }
30339 #line 30340 "gram.c" /* yacc.c:1652  */
30340     break;
30341 
30342   case 581:
30343 #line 4238 "gram.y" /* yacc.c:1652  */
30344     { (yyval.list) = (yyvsp[-1].list); }
30345 #line 30346 "gram.c" /* yacc.c:1652  */
30346     break;
30347 
30348   case 582:
30349 #line 4239 "gram.y" /* yacc.c:1652  */
30350     { (yyval.list) = NIL; }
30351 #line 30352 "gram.c" /* yacc.c:1652  */
30352     break;
30353 
30354   case 583:
30355 #line 4242 "gram.y" /* yacc.c:1652  */
30356     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
30357 #line 30358 "gram.c" /* yacc.c:1652  */
30358     break;
30359 
30360   case 584:
30361 #line 4243 "gram.y" /* yacc.c:1652  */
30362     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
30363 #line 30364 "gram.c" /* yacc.c:1652  */
30364     break;
30365 
30366   case 585:
30367 #line 4247 "gram.y" /* yacc.c:1652  */
30368     {
30369 					(yyval.defelt) = makeDefElem("as", (Node *)(yyvsp[0].typnam), (yylsp[-1]));
30370 				}
30371 #line 30372 "gram.c" /* yacc.c:1652  */
30372     break;
30373 
30374   case 586:
30375 #line 4251 "gram.y" /* yacc.c:1652  */
30376     {
30377 					(yyval.defelt) = makeDefElem("cache", (Node *)(yyvsp[0].value), (yylsp[-1]));
30378 				}
30379 #line 30380 "gram.c" /* yacc.c:1652  */
30380     break;
30381 
30382   case 587:
30383 #line 4255 "gram.y" /* yacc.c:1652  */
30384     {
30385 					(yyval.defelt) = makeDefElem("cycle", (Node *)makeInteger(true), (yylsp[0]));
30386 				}
30387 #line 30388 "gram.c" /* yacc.c:1652  */
30388     break;
30389 
30390   case 588:
30391 #line 4259 "gram.y" /* yacc.c:1652  */
30392     {
30393 					(yyval.defelt) = makeDefElem("cycle", (Node *)makeInteger(false), (yylsp[-1]));
30394 				}
30395 #line 30396 "gram.c" /* yacc.c:1652  */
30396     break;
30397 
30398   case 589:
30399 #line 4263 "gram.y" /* yacc.c:1652  */
30400     {
30401 					(yyval.defelt) = makeDefElem("increment", (Node *)(yyvsp[0].value), (yylsp[-2]));
30402 				}
30403 #line 30404 "gram.c" /* yacc.c:1652  */
30404     break;
30405 
30406   case 590:
30407 #line 4267 "gram.y" /* yacc.c:1652  */
30408     {
30409 					(yyval.defelt) = makeDefElem("maxvalue", (Node *)(yyvsp[0].value), (yylsp[-1]));
30410 				}
30411 #line 30412 "gram.c" /* yacc.c:1652  */
30412     break;
30413 
30414   case 591:
30415 #line 4271 "gram.y" /* yacc.c:1652  */
30416     {
30417 					(yyval.defelt) = makeDefElem("minvalue", (Node *)(yyvsp[0].value), (yylsp[-1]));
30418 				}
30419 #line 30420 "gram.c" /* yacc.c:1652  */
30420     break;
30421 
30422   case 592:
30423 #line 4275 "gram.y" /* yacc.c:1652  */
30424     {
30425 					(yyval.defelt) = makeDefElem("maxvalue", NULL, (yylsp[-1]));
30426 				}
30427 #line 30428 "gram.c" /* yacc.c:1652  */
30428     break;
30429 
30430   case 593:
30431 #line 4279 "gram.y" /* yacc.c:1652  */
30432     {
30433 					(yyval.defelt) = makeDefElem("minvalue", NULL, (yylsp[-1]));
30434 				}
30435 #line 30436 "gram.c" /* yacc.c:1652  */
30436     break;
30437 
30438   case 594:
30439 #line 4283 "gram.y" /* yacc.c:1652  */
30440     {
30441 					(yyval.defelt) = makeDefElem("owned_by", (Node *)(yyvsp[0].list), (yylsp[-2]));
30442 				}
30443 #line 30444 "gram.c" /* yacc.c:1652  */
30444     break;
30445 
30446   case 595:
30447 #line 4287 "gram.y" /* yacc.c:1652  */
30448     {
30449 					/* not documented, only used by pg_dump */
30450 					(yyval.defelt) = makeDefElem("sequence_name", (Node *)(yyvsp[0].list), (yylsp[-2]));
30451 				}
30452 #line 30453 "gram.c" /* yacc.c:1652  */
30453     break;
30454 
30455   case 596:
30456 #line 4292 "gram.y" /* yacc.c:1652  */
30457     {
30458 					(yyval.defelt) = makeDefElem("start", (Node *)(yyvsp[0].value), (yylsp[-2]));
30459 				}
30460 #line 30461 "gram.c" /* yacc.c:1652  */
30461     break;
30462 
30463   case 597:
30464 #line 4296 "gram.y" /* yacc.c:1652  */
30465     {
30466 					(yyval.defelt) = makeDefElem("restart", NULL, (yylsp[0]));
30467 				}
30468 #line 30469 "gram.c" /* yacc.c:1652  */
30469     break;
30470 
30471   case 598:
30472 #line 4300 "gram.y" /* yacc.c:1652  */
30473     {
30474 					(yyval.defelt) = makeDefElem("restart", (Node *)(yyvsp[0].value), (yylsp[-2]));
30475 				}
30476 #line 30477 "gram.c" /* yacc.c:1652  */
30477     break;
30478 
30479   case 599:
30480 #line 4305 "gram.y" /* yacc.c:1652  */
30481     {}
30482 #line 30483 "gram.c" /* yacc.c:1652  */
30483     break;
30484 
30485   case 600:
30486 #line 4306 "gram.y" /* yacc.c:1652  */
30487     {}
30488 #line 30489 "gram.c" /* yacc.c:1652  */
30489     break;
30490 
30491   case 601:
30492 #line 4310 "gram.y" /* yacc.c:1652  */
30493     { (yyval.value) = makeFloat((yyvsp[0].str)); }
30494 #line 30495 "gram.c" /* yacc.c:1652  */
30495     break;
30496 
30497   case 602:
30498 #line 4311 "gram.y" /* yacc.c:1652  */
30499     { (yyval.value) = makeFloat((yyvsp[0].str)); }
30500 #line 30501 "gram.c" /* yacc.c:1652  */
30501     break;
30502 
30503   case 603:
30504 #line 4313 "gram.y" /* yacc.c:1652  */
30505     {
30506 					(yyval.value) = makeFloat((yyvsp[0].str));
30507 					doNegateFloat((yyval.value));
30508 				}
30509 #line 30510 "gram.c" /* yacc.c:1652  */
30510     break;
30511 
30512   case 604:
30513 #line 4317 "gram.y" /* yacc.c:1652  */
30514     { (yyval.value) = makeInteger((yyvsp[0].ival)); }
30515 #line 30516 "gram.c" /* yacc.c:1652  */
30516     break;
30517 
30518   case 605:
30519 #line 4320 "gram.y" /* yacc.c:1652  */
30520     { (yyval.list) = list_make1((yyvsp[0].value)); }
30521 #line 30522 "gram.c" /* yacc.c:1652  */
30522     break;
30523 
30524   case 606:
30525 #line 4321 "gram.y" /* yacc.c:1652  */
30526     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].value)); }
30527 #line 30528 "gram.c" /* yacc.c:1652  */
30528     break;
30529 
30530   case 607:
30531 #line 4334 "gram.y" /* yacc.c:1652  */
30532     {
30533 				/*
30534 				 * We now interpret parameterless CREATE LANGUAGE as
30535 				 * CREATE EXTENSION.  "OR REPLACE" is silently translated
30536 				 * to "IF NOT EXISTS", which isn't quite the same, but
30537 				 * seems more useful than throwing an error.  We just
30538 				 * ignore TRUSTED, as the previous code would have too.
30539 				 */
30540 				CreateExtensionStmt *n = makeNode(CreateExtensionStmt);
30541 				n->if_not_exists = (yyvsp[-4].boolean);
30542 				n->extname = (yyvsp[0].str);
30543 				n->options = NIL;
30544 				(yyval.node) = (Node *)n;
30545 			}
30546 #line 30547 "gram.c" /* yacc.c:1652  */
30547     break;
30548 
30549   case 608:
30550 #line 4350 "gram.y" /* yacc.c:1652  */
30551     {
30552 				CreatePLangStmt *n = makeNode(CreatePLangStmt);
30553 				n->replace = (yyvsp[-8].boolean);
30554 				n->plname = (yyvsp[-4].str);
30555 				n->plhandler = (yyvsp[-2].list);
30556 				n->plinline = (yyvsp[-1].list);
30557 				n->plvalidator = (yyvsp[0].list);
30558 				n->pltrusted = (yyvsp[-7].boolean);
30559 				(yyval.node) = (Node *)n;
30560 			}
30561 #line 30562 "gram.c" /* yacc.c:1652  */
30562     break;
30563 
30564   case 609:
30565 #line 4363 "gram.y" /* yacc.c:1652  */
30566     { (yyval.boolean) = true; }
30567 #line 30568 "gram.c" /* yacc.c:1652  */
30568     break;
30569 
30570   case 610:
30571 #line 4364 "gram.y" /* yacc.c:1652  */
30572     { (yyval.boolean) = false; }
30573 #line 30574 "gram.c" /* yacc.c:1652  */
30574     break;
30575 
30576   case 611:
30577 #line 4372 "gram.y" /* yacc.c:1652  */
30578     { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
30579 #line 30580 "gram.c" /* yacc.c:1652  */
30580     break;
30581 
30582   case 612:
30583 #line 4373 "gram.y" /* yacc.c:1652  */
30584     { (yyval.list) = lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)); }
30585 #line 30586 "gram.c" /* yacc.c:1652  */
30586     break;
30587 
30588   case 613:
30589 #line 4377 "gram.y" /* yacc.c:1652  */
30590     { (yyval.list) = (yyvsp[0].list); }
30591 #line 30592 "gram.c" /* yacc.c:1652  */
30592     break;
30593 
30594   case 614:
30595 #line 4378 "gram.y" /* yacc.c:1652  */
30596     { (yyval.list) = NIL; }
30597 #line 30598 "gram.c" /* yacc.c:1652  */
30598     break;
30599 
30600   case 615:
30601 #line 4382 "gram.y" /* yacc.c:1652  */
30602     { (yyval.list) = (yyvsp[0].list); }
30603 #line 30604 "gram.c" /* yacc.c:1652  */
30604     break;
30605 
30606   case 616:
30607 #line 4383 "gram.y" /* yacc.c:1652  */
30608     { (yyval.list) = NIL; }
30609 #line 30610 "gram.c" /* yacc.c:1652  */
30610     break;
30611 
30612   case 617:
30613 #line 4387 "gram.y" /* yacc.c:1652  */
30614     { (yyval.list) = (yyvsp[0].list); }
30615 #line 30616 "gram.c" /* yacc.c:1652  */
30616     break;
30617 
30618   case 618:
30619 #line 4388 "gram.y" /* yacc.c:1652  */
30620     { (yyval.list) = NIL; }
30621 #line 30622 "gram.c" /* yacc.c:1652  */
30622     break;
30623 
30624   case 619:
30625 #line 4393 "gram.y" /* yacc.c:1652  */
30626     {
30627 					DropStmt *n = makeNode(DropStmt);
30628 					n->removeType = OBJECT_LANGUAGE;
30629 					n->objects = list_make1(makeString((yyvsp[-1].str)));
30630 					n->behavior = (yyvsp[0].dbehavior);
30631 					n->missing_ok = false;
30632 					n->concurrent = false;
30633 					(yyval.node) = (Node *)n;
30634 				}
30635 #line 30636 "gram.c" /* yacc.c:1652  */
30636     break;
30637 
30638   case 620:
30639 #line 4403 "gram.y" /* yacc.c:1652  */
30640     {
30641 					DropStmt *n = makeNode(DropStmt);
30642 					n->removeType = OBJECT_LANGUAGE;
30643 					n->objects = list_make1(makeString((yyvsp[-1].str)));
30644 					n->behavior = (yyvsp[0].dbehavior);
30645 					n->missing_ok = true;
30646 					n->concurrent = false;
30647 					(yyval.node) = (Node *)n;
30648 				}
30649 #line 30650 "gram.c" /* yacc.c:1652  */
30650     break;
30651 
30652   case 621:
30653 #line 4415 "gram.y" /* yacc.c:1652  */
30654     {}
30655 #line 30656 "gram.c" /* yacc.c:1652  */
30656     break;
30657 
30658   case 622:
30659 #line 4416 "gram.y" /* yacc.c:1652  */
30660     {}
30661 #line 30662 "gram.c" /* yacc.c:1652  */
30662     break;
30663 
30664   case 623:
30665 #line 4427 "gram.y" /* yacc.c:1652  */
30666     {
30667 					CreateTableSpaceStmt *n = makeNode(CreateTableSpaceStmt);
30668 					n->tablespacename = (yyvsp[-4].str);
30669 					n->owner = (yyvsp[-3].rolespec);
30670 					n->location = (yyvsp[-1].str);
30671 					n->options = (yyvsp[0].list);
30672 					(yyval.node) = (Node *) n;
30673 				}
30674 #line 30675 "gram.c" /* yacc.c:1652  */
30675     break;
30676 
30677   case 624:
30678 #line 4437 "gram.y" /* yacc.c:1652  */
30679     { (yyval.rolespec) = (yyvsp[0].rolespec); }
30680 #line 30681 "gram.c" /* yacc.c:1652  */
30681     break;
30682 
30683   case 625:
30684 #line 4438 "gram.y" /* yacc.c:1652  */
30685     { (yyval.rolespec) = NULL; }
30686 #line 30687 "gram.c" /* yacc.c:1652  */
30687     break;
30688 
30689   case 626:
30690 #line 4452 "gram.y" /* yacc.c:1652  */
30691     {
30692 					DropTableSpaceStmt *n = makeNode(DropTableSpaceStmt);
30693 					n->tablespacename = (yyvsp[0].str);
30694 					n->missing_ok = false;
30695 					(yyval.node) = (Node *) n;
30696 				}
30697 #line 30698 "gram.c" /* yacc.c:1652  */
30698     break;
30699 
30700   case 627:
30701 #line 4459 "gram.y" /* yacc.c:1652  */
30702     {
30703 					DropTableSpaceStmt *n = makeNode(DropTableSpaceStmt);
30704 					n->tablespacename = (yyvsp[0].str);
30705 					n->missing_ok = true;
30706 					(yyval.node) = (Node *) n;
30707 				}
30708 #line 30709 "gram.c" /* yacc.c:1652  */
30709     break;
30710 
30711   case 628:
30712 #line 4476 "gram.y" /* yacc.c:1652  */
30713     {
30714 					CreateExtensionStmt *n = makeNode(CreateExtensionStmt);
30715 					n->extname = (yyvsp[-2].str);
30716 					n->if_not_exists = false;
30717 					n->options = (yyvsp[0].list);
30718 					(yyval.node) = (Node *) n;
30719 				}
30720 #line 30721 "gram.c" /* yacc.c:1652  */
30721     break;
30722 
30723   case 629:
30724 #line 4484 "gram.y" /* yacc.c:1652  */
30725     {
30726 					CreateExtensionStmt *n = makeNode(CreateExtensionStmt);
30727 					n->extname = (yyvsp[-2].str);
30728 					n->if_not_exists = true;
30729 					n->options = (yyvsp[0].list);
30730 					(yyval.node) = (Node *) n;
30731 				}
30732 #line 30733 "gram.c" /* yacc.c:1652  */
30733     break;
30734 
30735   case 630:
30736 #line 4495 "gram.y" /* yacc.c:1652  */
30737     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
30738 #line 30739 "gram.c" /* yacc.c:1652  */
30739     break;
30740 
30741   case 631:
30742 #line 4497 "gram.y" /* yacc.c:1652  */
30743     { (yyval.list) = NIL; }
30744 #line 30745 "gram.c" /* yacc.c:1652  */
30745     break;
30746 
30747   case 632:
30748 #line 4502 "gram.y" /* yacc.c:1652  */
30749     {
30750 					(yyval.defelt) = makeDefElem("schema", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
30751 				}
30752 #line 30753 "gram.c" /* yacc.c:1652  */
30753     break;
30754 
30755   case 633:
30756 #line 4506 "gram.y" /* yacc.c:1652  */
30757     {
30758 					(yyval.defelt) = makeDefElem("new_version", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
30759 				}
30760 #line 30761 "gram.c" /* yacc.c:1652  */
30761     break;
30762 
30763   case 634:
30764 #line 4510 "gram.y" /* yacc.c:1652  */
30765     {
30766 					ereport(ERROR,
30767 							(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
30768 							 errmsg("CREATE EXTENSION ... FROM is no longer supported"),
30769 							 parser_errposition((yylsp[-1]))));
30770 				}
30771 #line 30772 "gram.c" /* yacc.c:1652  */
30772     break;
30773 
30774   case 635:
30775 #line 4517 "gram.y" /* yacc.c:1652  */
30776     {
30777 					(yyval.defelt) = makeDefElem("cascade", (Node *)makeInteger(true), (yylsp[0]));
30778 				}
30779 #line 30780 "gram.c" /* yacc.c:1652  */
30780     break;
30781 
30782   case 636:
30783 #line 4529 "gram.y" /* yacc.c:1652  */
30784     {
30785 					AlterExtensionStmt *n = makeNode(AlterExtensionStmt);
30786 					n->extname = (yyvsp[-2].str);
30787 					n->options = (yyvsp[0].list);
30788 					(yyval.node) = (Node *) n;
30789 				}
30790 #line 30791 "gram.c" /* yacc.c:1652  */
30791     break;
30792 
30793   case 637:
30794 #line 4539 "gram.y" /* yacc.c:1652  */
30795     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
30796 #line 30797 "gram.c" /* yacc.c:1652  */
30797     break;
30798 
30799   case 638:
30800 #line 4541 "gram.y" /* yacc.c:1652  */
30801     { (yyval.list) = NIL; }
30802 #line 30803 "gram.c" /* yacc.c:1652  */
30803     break;
30804 
30805   case 639:
30806 #line 4546 "gram.y" /* yacc.c:1652  */
30807     {
30808 					(yyval.defelt) = makeDefElem("new_version", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
30809 				}
30810 #line 30811 "gram.c" /* yacc.c:1652  */
30811     break;
30812 
30813   case 640:
30814 #line 4559 "gram.y" /* yacc.c:1652  */
30815     {
30816 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30817 					n->extname = (yyvsp[-4].str);
30818 					n->action = (yyvsp[-3].ival);
30819 					n->objtype = OBJECT_ACCESS_METHOD;
30820 					n->object = (Node *) makeString((yyvsp[0].str));
30821 					(yyval.node) = (Node *)n;
30822 				}
30823 #line 30824 "gram.c" /* yacc.c:1652  */
30824     break;
30825 
30826   case 641:
30827 #line 4568 "gram.y" /* yacc.c:1652  */
30828     {
30829 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30830 					n->extname = (yyvsp[-3].str);
30831 					n->action = (yyvsp[-2].ival);
30832 					n->objtype = OBJECT_AGGREGATE;
30833 					n->object = (Node *) (yyvsp[0].objwithargs);
30834 					(yyval.node) = (Node *)n;
30835 				}
30836 #line 30837 "gram.c" /* yacc.c:1652  */
30837     break;
30838 
30839   case 642:
30840 #line 4577 "gram.y" /* yacc.c:1652  */
30841     {
30842 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30843 					n->extname = (yyvsp[-7].str);
30844 					n->action = (yyvsp[-6].ival);
30845 					n->objtype = OBJECT_CAST;
30846 					n->object = (Node *) list_make2((yyvsp[-3].typnam), (yyvsp[-1].typnam));
30847 					(yyval.node) = (Node *) n;
30848 				}
30849 #line 30850 "gram.c" /* yacc.c:1652  */
30850     break;
30851 
30852   case 643:
30853 #line 4586 "gram.y" /* yacc.c:1652  */
30854     {
30855 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30856 					n->extname = (yyvsp[-3].str);
30857 					n->action = (yyvsp[-2].ival);
30858 					n->objtype = OBJECT_COLLATION;
30859 					n->object = (Node *) (yyvsp[0].list);
30860 					(yyval.node) = (Node *)n;
30861 				}
30862 #line 30863 "gram.c" /* yacc.c:1652  */
30863     break;
30864 
30865   case 644:
30866 #line 4595 "gram.y" /* yacc.c:1652  */
30867     {
30868 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30869 					n->extname = (yyvsp[-3].str);
30870 					n->action = (yyvsp[-2].ival);
30871 					n->objtype = OBJECT_CONVERSION;
30872 					n->object = (Node *) (yyvsp[0].list);
30873 					(yyval.node) = (Node *)n;
30874 				}
30875 #line 30876 "gram.c" /* yacc.c:1652  */
30876     break;
30877 
30878   case 645:
30879 #line 4604 "gram.y" /* yacc.c:1652  */
30880     {
30881 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30882 					n->extname = (yyvsp[-3].str);
30883 					n->action = (yyvsp[-2].ival);
30884 					n->objtype = OBJECT_DOMAIN;
30885 					n->object = (Node *) (yyvsp[0].typnam);
30886 					(yyval.node) = (Node *)n;
30887 				}
30888 #line 30889 "gram.c" /* yacc.c:1652  */
30889     break;
30890 
30891   case 646:
30892 #line 4613 "gram.y" /* yacc.c:1652  */
30893     {
30894 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30895 					n->extname = (yyvsp[-3].str);
30896 					n->action = (yyvsp[-2].ival);
30897 					n->objtype = OBJECT_FUNCTION;
30898 					n->object = (Node *) (yyvsp[0].objwithargs);
30899 					(yyval.node) = (Node *)n;
30900 				}
30901 #line 30902 "gram.c" /* yacc.c:1652  */
30902     break;
30903 
30904   case 647:
30905 #line 4622 "gram.y" /* yacc.c:1652  */
30906     {
30907 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30908 					n->extname = (yyvsp[-4].str);
30909 					n->action = (yyvsp[-3].ival);
30910 					n->objtype = OBJECT_LANGUAGE;
30911 					n->object = (Node *) makeString((yyvsp[0].str));
30912 					(yyval.node) = (Node *)n;
30913 				}
30914 #line 30915 "gram.c" /* yacc.c:1652  */
30915     break;
30916 
30917   case 648:
30918 #line 4631 "gram.y" /* yacc.c:1652  */
30919     {
30920 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30921 					n->extname = (yyvsp[-3].str);
30922 					n->action = (yyvsp[-2].ival);
30923 					n->objtype = OBJECT_OPERATOR;
30924 					n->object = (Node *) (yyvsp[0].objwithargs);
30925 					(yyval.node) = (Node *)n;
30926 				}
30927 #line 30928 "gram.c" /* yacc.c:1652  */
30928     break;
30929 
30930   case 649:
30931 #line 4640 "gram.y" /* yacc.c:1652  */
30932     {
30933 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30934 					n->extname = (yyvsp[-6].str);
30935 					n->action = (yyvsp[-5].ival);
30936 					n->objtype = OBJECT_OPCLASS;
30937 					n->object = (Node *) lcons(makeString((yyvsp[0].str)), (yyvsp[-2].list));
30938 					(yyval.node) = (Node *)n;
30939 				}
30940 #line 30941 "gram.c" /* yacc.c:1652  */
30941     break;
30942 
30943   case 650:
30944 #line 4649 "gram.y" /* yacc.c:1652  */
30945     {
30946 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30947 					n->extname = (yyvsp[-6].str);
30948 					n->action = (yyvsp[-5].ival);
30949 					n->objtype = OBJECT_OPFAMILY;
30950 					n->object = (Node *) lcons(makeString((yyvsp[0].str)), (yyvsp[-2].list));
30951 					(yyval.node) = (Node *)n;
30952 				}
30953 #line 30954 "gram.c" /* yacc.c:1652  */
30954     break;
30955 
30956   case 651:
30957 #line 4658 "gram.y" /* yacc.c:1652  */
30958     {
30959 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30960 					n->extname = (yyvsp[-3].str);
30961 					n->action = (yyvsp[-2].ival);
30962 					n->objtype = OBJECT_PROCEDURE;
30963 					n->object = (Node *) (yyvsp[0].objwithargs);
30964 					(yyval.node) = (Node *)n;
30965 				}
30966 #line 30967 "gram.c" /* yacc.c:1652  */
30967     break;
30968 
30969   case 652:
30970 #line 4667 "gram.y" /* yacc.c:1652  */
30971     {
30972 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30973 					n->extname = (yyvsp[-3].str);
30974 					n->action = (yyvsp[-2].ival);
30975 					n->objtype = OBJECT_ROUTINE;
30976 					n->object = (Node *) (yyvsp[0].objwithargs);
30977 					(yyval.node) = (Node *)n;
30978 				}
30979 #line 30980 "gram.c" /* yacc.c:1652  */
30980     break;
30981 
30982   case 653:
30983 #line 4676 "gram.y" /* yacc.c:1652  */
30984     {
30985 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30986 					n->extname = (yyvsp[-3].str);
30987 					n->action = (yyvsp[-2].ival);
30988 					n->objtype = OBJECT_SCHEMA;
30989 					n->object = (Node *) makeString((yyvsp[0].str));
30990 					(yyval.node) = (Node *)n;
30991 				}
30992 #line 30993 "gram.c" /* yacc.c:1652  */
30993     break;
30994 
30995   case 654:
30996 #line 4685 "gram.y" /* yacc.c:1652  */
30997     {
30998 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30999 					n->extname = (yyvsp[-4].str);
31000 					n->action = (yyvsp[-3].ival);
31001 					n->objtype = OBJECT_EVENT_TRIGGER;
31002 					n->object = (Node *) makeString((yyvsp[0].str));
31003 					(yyval.node) = (Node *)n;
31004 				}
31005 #line 31006 "gram.c" /* yacc.c:1652  */
31006     break;
31007 
31008   case 655:
31009 #line 4694 "gram.y" /* yacc.c:1652  */
31010     {
31011 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31012 					n->extname = (yyvsp[-3].str);
31013 					n->action = (yyvsp[-2].ival);
31014 					n->objtype = OBJECT_TABLE;
31015 					n->object = (Node *) (yyvsp[0].list);
31016 					(yyval.node) = (Node *)n;
31017 				}
31018 #line 31019 "gram.c" /* yacc.c:1652  */
31019     break;
31020 
31021   case 656:
31022 #line 4703 "gram.y" /* yacc.c:1652  */
31023     {
31024 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31025 					n->extname = (yyvsp[-5].str);
31026 					n->action = (yyvsp[-4].ival);
31027 					n->objtype = OBJECT_TSPARSER;
31028 					n->object = (Node *) (yyvsp[0].list);
31029 					(yyval.node) = (Node *)n;
31030 				}
31031 #line 31032 "gram.c" /* yacc.c:1652  */
31032     break;
31033 
31034   case 657:
31035 #line 4712 "gram.y" /* yacc.c:1652  */
31036     {
31037 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31038 					n->extname = (yyvsp[-5].str);
31039 					n->action = (yyvsp[-4].ival);
31040 					n->objtype = OBJECT_TSDICTIONARY;
31041 					n->object = (Node *) (yyvsp[0].list);
31042 					(yyval.node) = (Node *)n;
31043 				}
31044 #line 31045 "gram.c" /* yacc.c:1652  */
31045     break;
31046 
31047   case 658:
31048 #line 4721 "gram.y" /* yacc.c:1652  */
31049     {
31050 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31051 					n->extname = (yyvsp[-5].str);
31052 					n->action = (yyvsp[-4].ival);
31053 					n->objtype = OBJECT_TSTEMPLATE;
31054 					n->object = (Node *) (yyvsp[0].list);
31055 					(yyval.node) = (Node *)n;
31056 				}
31057 #line 31058 "gram.c" /* yacc.c:1652  */
31058     break;
31059 
31060   case 659:
31061 #line 4730 "gram.y" /* yacc.c:1652  */
31062     {
31063 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31064 					n->extname = (yyvsp[-5].str);
31065 					n->action = (yyvsp[-4].ival);
31066 					n->objtype = OBJECT_TSCONFIGURATION;
31067 					n->object = (Node *) (yyvsp[0].list);
31068 					(yyval.node) = (Node *)n;
31069 				}
31070 #line 31071 "gram.c" /* yacc.c:1652  */
31071     break;
31072 
31073   case 660:
31074 #line 4739 "gram.y" /* yacc.c:1652  */
31075     {
31076 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31077 					n->extname = (yyvsp[-3].str);
31078 					n->action = (yyvsp[-2].ival);
31079 					n->objtype = OBJECT_SEQUENCE;
31080 					n->object = (Node *) (yyvsp[0].list);
31081 					(yyval.node) = (Node *)n;
31082 				}
31083 #line 31084 "gram.c" /* yacc.c:1652  */
31084     break;
31085 
31086   case 661:
31087 #line 4748 "gram.y" /* yacc.c:1652  */
31088     {
31089 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31090 					n->extname = (yyvsp[-3].str);
31091 					n->action = (yyvsp[-2].ival);
31092 					n->objtype = OBJECT_VIEW;
31093 					n->object = (Node *) (yyvsp[0].list);
31094 					(yyval.node) = (Node *)n;
31095 				}
31096 #line 31097 "gram.c" /* yacc.c:1652  */
31097     break;
31098 
31099   case 662:
31100 #line 4757 "gram.y" /* yacc.c:1652  */
31101     {
31102 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31103 					n->extname = (yyvsp[-4].str);
31104 					n->action = (yyvsp[-3].ival);
31105 					n->objtype = OBJECT_MATVIEW;
31106 					n->object = (Node *) (yyvsp[0].list);
31107 					(yyval.node) = (Node *)n;
31108 				}
31109 #line 31110 "gram.c" /* yacc.c:1652  */
31110     break;
31111 
31112   case 663:
31113 #line 4766 "gram.y" /* yacc.c:1652  */
31114     {
31115 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31116 					n->extname = (yyvsp[-4].str);
31117 					n->action = (yyvsp[-3].ival);
31118 					n->objtype = OBJECT_FOREIGN_TABLE;
31119 					n->object = (Node *) (yyvsp[0].list);
31120 					(yyval.node) = (Node *)n;
31121 				}
31122 #line 31123 "gram.c" /* yacc.c:1652  */
31123     break;
31124 
31125   case 664:
31126 #line 4775 "gram.y" /* yacc.c:1652  */
31127     {
31128 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31129 					n->extname = (yyvsp[-5].str);
31130 					n->action = (yyvsp[-4].ival);
31131 					n->objtype = OBJECT_FDW;
31132 					n->object = (Node *) makeString((yyvsp[0].str));
31133 					(yyval.node) = (Node *)n;
31134 				}
31135 #line 31136 "gram.c" /* yacc.c:1652  */
31136     break;
31137 
31138   case 665:
31139 #line 4784 "gram.y" /* yacc.c:1652  */
31140     {
31141 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31142 					n->extname = (yyvsp[-3].str);
31143 					n->action = (yyvsp[-2].ival);
31144 					n->objtype = OBJECT_FOREIGN_SERVER;
31145 					n->object = (Node *) makeString((yyvsp[0].str));
31146 					(yyval.node) = (Node *)n;
31147 				}
31148 #line 31149 "gram.c" /* yacc.c:1652  */
31149     break;
31150 
31151   case 666:
31152 #line 4793 "gram.y" /* yacc.c:1652  */
31153     {
31154 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31155 					n->extname = (yyvsp[-6].str);
31156 					n->action = (yyvsp[-5].ival);
31157 					n->objtype = OBJECT_TRANSFORM;
31158 					n->object = (Node *) list_make2((yyvsp[-2].typnam), makeString((yyvsp[0].str)));
31159 					(yyval.node) = (Node *)n;
31160 				}
31161 #line 31162 "gram.c" /* yacc.c:1652  */
31162     break;
31163 
31164   case 667:
31165 #line 4802 "gram.y" /* yacc.c:1652  */
31166     {
31167 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31168 					n->extname = (yyvsp[-3].str);
31169 					n->action = (yyvsp[-2].ival);
31170 					n->objtype = OBJECT_TYPE;
31171 					n->object = (Node *) (yyvsp[0].typnam);
31172 					(yyval.node) = (Node *)n;
31173 				}
31174 #line 31175 "gram.c" /* yacc.c:1652  */
31175     break;
31176 
31177   case 668:
31178 #line 4820 "gram.y" /* yacc.c:1652  */
31179     {
31180 					CreateFdwStmt *n = makeNode(CreateFdwStmt);
31181 					n->fdwname = (yyvsp[-2].str);
31182 					n->func_options = (yyvsp[-1].list);
31183 					n->options = (yyvsp[0].list);
31184 					(yyval.node) = (Node *) n;
31185 				}
31186 #line 31187 "gram.c" /* yacc.c:1652  */
31187     break;
31188 
31189   case 669:
31190 #line 4830 "gram.y" /* yacc.c:1652  */
31191     { (yyval.defelt) = makeDefElem("handler", (Node *)(yyvsp[0].list), (yylsp[-1])); }
31192 #line 31193 "gram.c" /* yacc.c:1652  */
31193     break;
31194 
31195   case 670:
31196 #line 4831 "gram.y" /* yacc.c:1652  */
31197     { (yyval.defelt) = makeDefElem("handler", NULL, (yylsp[-1])); }
31198 #line 31199 "gram.c" /* yacc.c:1652  */
31199     break;
31200 
31201   case 671:
31202 #line 4832 "gram.y" /* yacc.c:1652  */
31203     { (yyval.defelt) = makeDefElem("validator", (Node *)(yyvsp[0].list), (yylsp[-1])); }
31204 #line 31205 "gram.c" /* yacc.c:1652  */
31205     break;
31206 
31207   case 672:
31208 #line 4833 "gram.y" /* yacc.c:1652  */
31209     { (yyval.defelt) = makeDefElem("validator", NULL, (yylsp[-1])); }
31210 #line 31211 "gram.c" /* yacc.c:1652  */
31211     break;
31212 
31213   case 673:
31214 #line 4837 "gram.y" /* yacc.c:1652  */
31215     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
31216 #line 31217 "gram.c" /* yacc.c:1652  */
31217     break;
31218 
31219   case 674:
31220 #line 4838 "gram.y" /* yacc.c:1652  */
31221     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
31222 #line 31223 "gram.c" /* yacc.c:1652  */
31223     break;
31224 
31225   case 675:
31226 #line 4842 "gram.y" /* yacc.c:1652  */
31227     { (yyval.list) = (yyvsp[0].list); }
31228 #line 31229 "gram.c" /* yacc.c:1652  */
31229     break;
31230 
31231   case 676:
31232 #line 4843 "gram.y" /* yacc.c:1652  */
31233     { (yyval.list) = NIL; }
31234 #line 31235 "gram.c" /* yacc.c:1652  */
31235     break;
31236 
31237   case 677:
31238 #line 4854 "gram.y" /* yacc.c:1652  */
31239     {
31240 					AlterFdwStmt *n = makeNode(AlterFdwStmt);
31241 					n->fdwname = (yyvsp[-2].str);
31242 					n->func_options = (yyvsp[-1].list);
31243 					n->options = (yyvsp[0].list);
31244 					(yyval.node) = (Node *) n;
31245 				}
31246 #line 31247 "gram.c" /* yacc.c:1652  */
31247     break;
31248 
31249   case 678:
31250 #line 4862 "gram.y" /* yacc.c:1652  */
31251     {
31252 					AlterFdwStmt *n = makeNode(AlterFdwStmt);
31253 					n->fdwname = (yyvsp[-1].str);
31254 					n->func_options = (yyvsp[0].list);
31255 					n->options = NIL;
31256 					(yyval.node) = (Node *) n;
31257 				}
31258 #line 31259 "gram.c" /* yacc.c:1652  */
31259     break;
31260 
31261   case 679:
31262 #line 4873 "gram.y" /* yacc.c:1652  */
31263     { (yyval.list) = (yyvsp[-1].list); }
31264 #line 31265 "gram.c" /* yacc.c:1652  */
31265     break;
31266 
31267   case 680:
31268 #line 4874 "gram.y" /* yacc.c:1652  */
31269     { (yyval.list) = NIL; }
31270 #line 31271 "gram.c" /* yacc.c:1652  */
31271     break;
31272 
31273   case 681:
31274 #line 4879 "gram.y" /* yacc.c:1652  */
31275     {
31276 					(yyval.list) = list_make1((yyvsp[0].defelt));
31277 				}
31278 #line 31279 "gram.c" /* yacc.c:1652  */
31279     break;
31280 
31281   case 682:
31282 #line 4883 "gram.y" /* yacc.c:1652  */
31283     {
31284 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
31285 				}
31286 #line 31287 "gram.c" /* yacc.c:1652  */
31287     break;
31288 
31289   case 683:
31290 #line 4890 "gram.y" /* yacc.c:1652  */
31291     { (yyval.list) = (yyvsp[-1].list); }
31292 #line 31293 "gram.c" /* yacc.c:1652  */
31293     break;
31294 
31295   case 684:
31296 #line 4895 "gram.y" /* yacc.c:1652  */
31297     {
31298 					(yyval.list) = list_make1((yyvsp[0].defelt));
31299 				}
31300 #line 31301 "gram.c" /* yacc.c:1652  */
31301     break;
31302 
31303   case 685:
31304 #line 4899 "gram.y" /* yacc.c:1652  */
31305     {
31306 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
31307 				}
31308 #line 31309 "gram.c" /* yacc.c:1652  */
31309     break;
31310 
31311   case 686:
31312 #line 4906 "gram.y" /* yacc.c:1652  */
31313     {
31314 					(yyval.defelt) = (yyvsp[0].defelt);
31315 				}
31316 #line 31317 "gram.c" /* yacc.c:1652  */
31317     break;
31318 
31319   case 687:
31320 #line 4910 "gram.y" /* yacc.c:1652  */
31321     {
31322 					(yyval.defelt) = (yyvsp[0].defelt);
31323 					(yyval.defelt)->defaction = DEFELEM_SET;
31324 				}
31325 #line 31326 "gram.c" /* yacc.c:1652  */
31326     break;
31327 
31328   case 688:
31329 #line 4915 "gram.y" /* yacc.c:1652  */
31330     {
31331 					(yyval.defelt) = (yyvsp[0].defelt);
31332 					(yyval.defelt)->defaction = DEFELEM_ADD;
31333 				}
31334 #line 31335 "gram.c" /* yacc.c:1652  */
31335     break;
31336 
31337   case 689:
31338 #line 4920 "gram.y" /* yacc.c:1652  */
31339     {
31340 					(yyval.defelt) = makeDefElemExtended(NULL, (yyvsp[0].str), NULL, DEFELEM_DROP, (yylsp[0]));
31341 				}
31342 #line 31343 "gram.c" /* yacc.c:1652  */
31343     break;
31344 
31345   case 690:
31346 #line 4927 "gram.y" /* yacc.c:1652  */
31347     {
31348 					(yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1]));
31349 				}
31350 #line 31351 "gram.c" /* yacc.c:1652  */
31351     break;
31352 
31353   case 691:
31354 #line 4933 "gram.y" /* yacc.c:1652  */
31355     { (yyval.str) = (yyvsp[0].str); }
31356 #line 31357 "gram.c" /* yacc.c:1652  */
31357     break;
31358 
31359   case 692:
31360 #line 4938 "gram.y" /* yacc.c:1652  */
31361     { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
31362 #line 31363 "gram.c" /* yacc.c:1652  */
31363     break;
31364 
31365   case 693:
31366 #line 4950 "gram.y" /* yacc.c:1652  */
31367     {
31368 					CreateForeignServerStmt *n = makeNode(CreateForeignServerStmt);
31369 					n->servername = (yyvsp[-7].str);
31370 					n->servertype = (yyvsp[-6].str);
31371 					n->version = (yyvsp[-5].str);
31372 					n->fdwname = (yyvsp[-1].str);
31373 					n->options = (yyvsp[0].list);
31374 					n->if_not_exists = false;
31375 					(yyval.node) = (Node *) n;
31376 				}
31377 #line 31378 "gram.c" /* yacc.c:1652  */
31378     break;
31379 
31380   case 694:
31381 #line 4962 "gram.y" /* yacc.c:1652  */
31382     {
31383 					CreateForeignServerStmt *n = makeNode(CreateForeignServerStmt);
31384 					n->servername = (yyvsp[-7].str);
31385 					n->servertype = (yyvsp[-6].str);
31386 					n->version = (yyvsp[-5].str);
31387 					n->fdwname = (yyvsp[-1].str);
31388 					n->options = (yyvsp[0].list);
31389 					n->if_not_exists = true;
31390 					(yyval.node) = (Node *) n;
31391 				}
31392 #line 31393 "gram.c" /* yacc.c:1652  */
31393     break;
31394 
31395   case 695:
31396 #line 4975 "gram.y" /* yacc.c:1652  */
31397     { (yyval.str) = (yyvsp[0].str); }
31398 #line 31399 "gram.c" /* yacc.c:1652  */
31399     break;
31400 
31401   case 696:
31402 #line 4976 "gram.y" /* yacc.c:1652  */
31403     { (yyval.str) = NULL; }
31404 #line 31405 "gram.c" /* yacc.c:1652  */
31405     break;
31406 
31407   case 697:
31408 #line 4981 "gram.y" /* yacc.c:1652  */
31409     { (yyval.str) = (yyvsp[0].str); }
31410 #line 31411 "gram.c" /* yacc.c:1652  */
31411     break;
31412 
31413   case 698:
31414 #line 4982 "gram.y" /* yacc.c:1652  */
31415     { (yyval.str) = NULL; }
31416 #line 31417 "gram.c" /* yacc.c:1652  */
31417     break;
31418 
31419   case 699:
31420 #line 4986 "gram.y" /* yacc.c:1652  */
31421     { (yyval.str) = (yyvsp[0].str); }
31422 #line 31423 "gram.c" /* yacc.c:1652  */
31423     break;
31424 
31425   case 700:
31426 #line 4987 "gram.y" /* yacc.c:1652  */
31427     { (yyval.str) = NULL; }
31428 #line 31429 "gram.c" /* yacc.c:1652  */
31429     break;
31430 
31431   case 701:
31432 #line 4998 "gram.y" /* yacc.c:1652  */
31433     {
31434 					AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
31435 					n->servername = (yyvsp[-2].str);
31436 					n->version = (yyvsp[-1].str);
31437 					n->options = (yyvsp[0].list);
31438 					n->has_version = true;
31439 					(yyval.node) = (Node *) n;
31440 				}
31441 #line 31442 "gram.c" /* yacc.c:1652  */
31442     break;
31443 
31444   case 702:
31445 #line 5007 "gram.y" /* yacc.c:1652  */
31446     {
31447 					AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
31448 					n->servername = (yyvsp[-1].str);
31449 					n->version = (yyvsp[0].str);
31450 					n->has_version = true;
31451 					(yyval.node) = (Node *) n;
31452 				}
31453 #line 31454 "gram.c" /* yacc.c:1652  */
31454     break;
31455 
31456   case 703:
31457 #line 5015 "gram.y" /* yacc.c:1652  */
31458     {
31459 					AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
31460 					n->servername = (yyvsp[-1].str);
31461 					n->options = (yyvsp[0].list);
31462 					(yyval.node) = (Node *) n;
31463 				}
31464 #line 31465 "gram.c" /* yacc.c:1652  */
31465     break;
31466 
31467   case 704:
31468 #line 5034 "gram.y" /* yacc.c:1652  */
31469     {
31470 					CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt);
31471 					(yyvsp[-7].range)->relpersistence = RELPERSISTENCE_PERMANENT;
31472 					n->base.relation = (yyvsp[-7].range);
31473 					n->base.tableElts = (yyvsp[-5].list);
31474 					n->base.inhRelations = (yyvsp[-3].list);
31475 					n->base.ofTypename = NULL;
31476 					n->base.constraints = NIL;
31477 					n->base.options = NIL;
31478 					n->base.oncommit = ONCOMMIT_NOOP;
31479 					n->base.tablespacename = NULL;
31480 					n->base.if_not_exists = false;
31481 					/* FDW-specific data */
31482 					n->servername = (yyvsp[-1].str);
31483 					n->options = (yyvsp[0].list);
31484 					(yyval.node) = (Node *) n;
31485 				}
31486 #line 31487 "gram.c" /* yacc.c:1652  */
31487     break;
31488 
31489   case 705:
31490 #line 5054 "gram.y" /* yacc.c:1652  */
31491     {
31492 					CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt);
31493 					(yyvsp[-7].range)->relpersistence = RELPERSISTENCE_PERMANENT;
31494 					n->base.relation = (yyvsp[-7].range);
31495 					n->base.tableElts = (yyvsp[-5].list);
31496 					n->base.inhRelations = (yyvsp[-3].list);
31497 					n->base.ofTypename = NULL;
31498 					n->base.constraints = NIL;
31499 					n->base.options = NIL;
31500 					n->base.oncommit = ONCOMMIT_NOOP;
31501 					n->base.tablespacename = NULL;
31502 					n->base.if_not_exists = true;
31503 					/* FDW-specific data */
31504 					n->servername = (yyvsp[-1].str);
31505 					n->options = (yyvsp[0].list);
31506 					(yyval.node) = (Node *) n;
31507 				}
31508 #line 31509 "gram.c" /* yacc.c:1652  */
31509     break;
31510 
31511   case 706:
31512 #line 5074 "gram.y" /* yacc.c:1652  */
31513     {
31514 					CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt);
31515 					(yyvsp[-8].range)->relpersistence = RELPERSISTENCE_PERMANENT;
31516 					n->base.relation = (yyvsp[-8].range);
31517 					n->base.inhRelations = list_make1((yyvsp[-5].range));
31518 					n->base.tableElts = (yyvsp[-4].list);
31519 					n->base.partbound = (yyvsp[-3].partboundspec);
31520 					n->base.ofTypename = NULL;
31521 					n->base.constraints = NIL;
31522 					n->base.options = NIL;
31523 					n->base.oncommit = ONCOMMIT_NOOP;
31524 					n->base.tablespacename = NULL;
31525 					n->base.if_not_exists = false;
31526 					/* FDW-specific data */
31527 					n->servername = (yyvsp[-1].str);
31528 					n->options = (yyvsp[0].list);
31529 					(yyval.node) = (Node *) n;
31530 				}
31531 #line 31532 "gram.c" /* yacc.c:1652  */
31532     break;
31533 
31534   case 707:
31535 #line 5095 "gram.y" /* yacc.c:1652  */
31536     {
31537 					CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt);
31538 					(yyvsp[-8].range)->relpersistence = RELPERSISTENCE_PERMANENT;
31539 					n->base.relation = (yyvsp[-8].range);
31540 					n->base.inhRelations = list_make1((yyvsp[-5].range));
31541 					n->base.tableElts = (yyvsp[-4].list);
31542 					n->base.partbound = (yyvsp[-3].partboundspec);
31543 					n->base.ofTypename = NULL;
31544 					n->base.constraints = NIL;
31545 					n->base.options = NIL;
31546 					n->base.oncommit = ONCOMMIT_NOOP;
31547 					n->base.tablespacename = NULL;
31548 					n->base.if_not_exists = true;
31549 					/* FDW-specific data */
31550 					n->servername = (yyvsp[-1].str);
31551 					n->options = (yyvsp[0].list);
31552 					(yyval.node) = (Node *) n;
31553 				}
31554 #line 31555 "gram.c" /* yacc.c:1652  */
31555     break;
31556 
31557   case 708:
31558 #line 5124 "gram.y" /* yacc.c:1652  */
31559     {
31560 					AlterTableStmt *n = makeNode(AlterTableStmt);
31561 					n->relation = (yyvsp[-1].range);
31562 					n->cmds = (yyvsp[0].list);
31563 					n->relkind = OBJECT_FOREIGN_TABLE;
31564 					n->missing_ok = false;
31565 					(yyval.node) = (Node *)n;
31566 				}
31567 #line 31568 "gram.c" /* yacc.c:1652  */
31568     break;
31569 
31570   case 709:
31571 #line 5133 "gram.y" /* yacc.c:1652  */
31572     {
31573 					AlterTableStmt *n = makeNode(AlterTableStmt);
31574 					n->relation = (yyvsp[-1].range);
31575 					n->cmds = (yyvsp[0].list);
31576 					n->relkind = OBJECT_FOREIGN_TABLE;
31577 					n->missing_ok = true;
31578 					(yyval.node) = (Node *)n;
31579 				}
31580 #line 31581 "gram.c" /* yacc.c:1652  */
31581     break;
31582 
31583   case 710:
31584 #line 5155 "gram.y" /* yacc.c:1652  */
31585     {
31586 				ImportForeignSchemaStmt *n = makeNode(ImportForeignSchemaStmt);
31587 				n->server_name = (yyvsp[-3].str);
31588 				n->remote_schema = (yyvsp[-7].str);
31589 				n->local_schema = (yyvsp[-1].str);
31590 				n->list_type = (yyvsp[-6].importqual)->type;
31591 				n->table_list = (yyvsp[-6].importqual)->table_names;
31592 				n->options = (yyvsp[0].list);
31593 				(yyval.node) = (Node *) n;
31594 			}
31595 #line 31596 "gram.c" /* yacc.c:1652  */
31596     break;
31597 
31598   case 711:
31599 #line 5168 "gram.y" /* yacc.c:1652  */
31600     { (yyval.ival) = FDW_IMPORT_SCHEMA_LIMIT_TO; }
31601 #line 31602 "gram.c" /* yacc.c:1652  */
31602     break;
31603 
31604   case 712:
31605 #line 5169 "gram.y" /* yacc.c:1652  */
31606     { (yyval.ival) = FDW_IMPORT_SCHEMA_EXCEPT; }
31607 #line 31608 "gram.c" /* yacc.c:1652  */
31608     break;
31609 
31610   case 713:
31611 #line 5174 "gram.y" /* yacc.c:1652  */
31612     {
31613 				ImportQual *n = (ImportQual *) palloc(sizeof(ImportQual));
31614 				n->type = (yyvsp[-3].ival);
31615 				n->table_names = (yyvsp[-1].list);
31616 				(yyval.importqual) = n;
31617 			}
31618 #line 31619 "gram.c" /* yacc.c:1652  */
31619     break;
31620 
31621   case 714:
31622 #line 5181 "gram.y" /* yacc.c:1652  */
31623     {
31624 				ImportQual *n = (ImportQual *) palloc(sizeof(ImportQual));
31625 				n->type = FDW_IMPORT_SCHEMA_ALL;
31626 				n->table_names = NIL;
31627 				(yyval.importqual) = n;
31628 			}
31629 #line 31630 "gram.c" /* yacc.c:1652  */
31630     break;
31631 
31632   case 715:
31633 #line 5197 "gram.y" /* yacc.c:1652  */
31634     {
31635 					CreateUserMappingStmt *n = makeNode(CreateUserMappingStmt);
31636 					n->user = (yyvsp[-3].rolespec);
31637 					n->servername = (yyvsp[-1].str);
31638 					n->options = (yyvsp[0].list);
31639 					n->if_not_exists = false;
31640 					(yyval.node) = (Node *) n;
31641 				}
31642 #line 31643 "gram.c" /* yacc.c:1652  */
31643     break;
31644 
31645   case 716:
31646 #line 5206 "gram.y" /* yacc.c:1652  */
31647     {
31648 					CreateUserMappingStmt *n = makeNode(CreateUserMappingStmt);
31649 					n->user = (yyvsp[-3].rolespec);
31650 					n->servername = (yyvsp[-1].str);
31651 					n->options = (yyvsp[0].list);
31652 					n->if_not_exists = true;
31653 					(yyval.node) = (Node *) n;
31654 				}
31655 #line 31656 "gram.c" /* yacc.c:1652  */
31656     break;
31657 
31658   case 717:
31659 #line 5217 "gram.y" /* yacc.c:1652  */
31660     { (yyval.rolespec) = (yyvsp[0].rolespec); }
31661 #line 31662 "gram.c" /* yacc.c:1652  */
31662     break;
31663 
31664   case 718:
31665 #line 5218 "gram.y" /* yacc.c:1652  */
31666     { (yyval.rolespec) = makeRoleSpec(ROLESPEC_CURRENT_USER, (yylsp[0])); }
31667 #line 31668 "gram.c" /* yacc.c:1652  */
31668     break;
31669 
31670   case 719:
31671 #line 5231 "gram.y" /* yacc.c:1652  */
31672     {
31673 					DropUserMappingStmt *n = makeNode(DropUserMappingStmt);
31674 					n->user = (yyvsp[-2].rolespec);
31675 					n->servername = (yyvsp[0].str);
31676 					n->missing_ok = false;
31677 					(yyval.node) = (Node *) n;
31678 				}
31679 #line 31680 "gram.c" /* yacc.c:1652  */
31680     break;
31681 
31682   case 720:
31683 #line 5239 "gram.y" /* yacc.c:1652  */
31684     {
31685 					DropUserMappingStmt *n = makeNode(DropUserMappingStmt);
31686 					n->user = (yyvsp[-2].rolespec);
31687 					n->servername = (yyvsp[0].str);
31688 					n->missing_ok = true;
31689 					(yyval.node) = (Node *) n;
31690 				}
31691 #line 31692 "gram.c" /* yacc.c:1652  */
31692     break;
31693 
31694   case 721:
31695 #line 5256 "gram.y" /* yacc.c:1652  */
31696     {
31697 					AlterUserMappingStmt *n = makeNode(AlterUserMappingStmt);
31698 					n->user = (yyvsp[-3].rolespec);
31699 					n->servername = (yyvsp[-1].str);
31700 					n->options = (yyvsp[0].list);
31701 					(yyval.node) = (Node *) n;
31702 				}
31703 #line 31704 "gram.c" /* yacc.c:1652  */
31704     break;
31705 
31706   case 722:
31707 #line 5282 "gram.y" /* yacc.c:1652  */
31708     {
31709 					CreatePolicyStmt *n = makeNode(CreatePolicyStmt);
31710 					n->policy_name = (yyvsp[-7].str);
31711 					n->table = (yyvsp[-5].range);
31712 					n->permissive = (yyvsp[-4].boolean);
31713 					n->cmd_name = (yyvsp[-3].str);
31714 					n->roles = (yyvsp[-2].list);
31715 					n->qual = (yyvsp[-1].node);
31716 					n->with_check = (yyvsp[0].node);
31717 					(yyval.node) = (Node *) n;
31718 				}
31719 #line 31720 "gram.c" /* yacc.c:1652  */
31720     break;
31721 
31722   case 723:
31723 #line 5298 "gram.y" /* yacc.c:1652  */
31724     {
31725 					AlterPolicyStmt *n = makeNode(AlterPolicyStmt);
31726 					n->policy_name = (yyvsp[-5].str);
31727 					n->table = (yyvsp[-3].range);
31728 					n->roles = (yyvsp[-2].list);
31729 					n->qual = (yyvsp[-1].node);
31730 					n->with_check = (yyvsp[0].node);
31731 					(yyval.node) = (Node *) n;
31732 				}
31733 #line 31734 "gram.c" /* yacc.c:1652  */
31734     break;
31735 
31736   case 724:
31737 #line 5310 "gram.y" /* yacc.c:1652  */
31738     { (yyval.node) = (yyvsp[-1].node); }
31739 #line 31740 "gram.c" /* yacc.c:1652  */
31740     break;
31741 
31742   case 725:
31743 #line 5311 "gram.y" /* yacc.c:1652  */
31744     { (yyval.node) = NULL; }
31745 #line 31746 "gram.c" /* yacc.c:1652  */
31746     break;
31747 
31748   case 726:
31749 #line 5315 "gram.y" /* yacc.c:1652  */
31750     { (yyval.node) = (yyvsp[-1].node); }
31751 #line 31752 "gram.c" /* yacc.c:1652  */
31752     break;
31753 
31754   case 727:
31755 #line 5316 "gram.y" /* yacc.c:1652  */
31756     { (yyval.node) = NULL; }
31757 #line 31758 "gram.c" /* yacc.c:1652  */
31758     break;
31759 
31760   case 728:
31761 #line 5320 "gram.y" /* yacc.c:1652  */
31762     { (yyval.list) = (yyvsp[0].list); }
31763 #line 31764 "gram.c" /* yacc.c:1652  */
31764     break;
31765 
31766   case 729:
31767 #line 5321 "gram.y" /* yacc.c:1652  */
31768     { (yyval.list) = list_make1(makeRoleSpec(ROLESPEC_PUBLIC, -1)); }
31769 #line 31770 "gram.c" /* yacc.c:1652  */
31770     break;
31771 
31772   case 730:
31773 #line 5325 "gram.y" /* yacc.c:1652  */
31774     { (yyval.list) = (yyvsp[0].list); }
31775 #line 31776 "gram.c" /* yacc.c:1652  */
31776     break;
31777 
31778   case 731:
31779 #line 5326 "gram.y" /* yacc.c:1652  */
31780     { (yyval.list) = NULL; }
31781 #line 31782 "gram.c" /* yacc.c:1652  */
31782     break;
31783 
31784   case 732:
31785 #line 5331 "gram.y" /* yacc.c:1652  */
31786     {
31787 					if (strcmp((yyvsp[0].str), "permissive") == 0)
31788 						(yyval.boolean) = true;
31789 					else if (strcmp((yyvsp[0].str), "restrictive") == 0)
31790 						(yyval.boolean) = false;
31791 					else
31792 						ereport(ERROR,
31793 								(errcode(ERRCODE_SYNTAX_ERROR),
31794 							 errmsg("unrecognized row security option \"%s\"", (yyvsp[0].str)),
31795 								 errhint("Only PERMISSIVE or RESTRICTIVE policies are supported currently."),
31796 									 parser_errposition((yylsp[0]))));
31797 
31798 				}
31799 #line 31800 "gram.c" /* yacc.c:1652  */
31800     break;
31801 
31802   case 733:
31803 #line 5344 "gram.y" /* yacc.c:1652  */
31804     { (yyval.boolean) = true; }
31805 #line 31806 "gram.c" /* yacc.c:1652  */
31806     break;
31807 
31808   case 734:
31809 #line 5348 "gram.y" /* yacc.c:1652  */
31810     { (yyval.str) = (yyvsp[0].str); }
31811 #line 31812 "gram.c" /* yacc.c:1652  */
31812     break;
31813 
31814   case 735:
31815 #line 5349 "gram.y" /* yacc.c:1652  */
31816     { (yyval.str) = "all"; }
31817 #line 31818 "gram.c" /* yacc.c:1652  */
31818     break;
31819 
31820   case 736:
31821 #line 5353 "gram.y" /* yacc.c:1652  */
31822     { (yyval.str) = "all"; }
31823 #line 31824 "gram.c" /* yacc.c:1652  */
31824     break;
31825 
31826   case 737:
31827 #line 5354 "gram.y" /* yacc.c:1652  */
31828     { (yyval.str) = "select"; }
31829 #line 31830 "gram.c" /* yacc.c:1652  */
31830     break;
31831 
31832   case 738:
31833 #line 5355 "gram.y" /* yacc.c:1652  */
31834     { (yyval.str) = "insert"; }
31835 #line 31836 "gram.c" /* yacc.c:1652  */
31836     break;
31837 
31838   case 739:
31839 #line 5356 "gram.y" /* yacc.c:1652  */
31840     { (yyval.str) = "update"; }
31841 #line 31842 "gram.c" /* yacc.c:1652  */
31842     break;
31843 
31844   case 740:
31845 #line 5357 "gram.y" /* yacc.c:1652  */
31846     { (yyval.str) = "delete"; }
31847 #line 31848 "gram.c" /* yacc.c:1652  */
31848     break;
31849 
31850   case 741:
31851 #line 5368 "gram.y" /* yacc.c:1652  */
31852     {
31853 					CreateAmStmt *n = makeNode(CreateAmStmt);
31854 					n->amname = (yyvsp[-4].str);
31855 					n->handler_name = (yyvsp[0].list);
31856 					n->amtype = (yyvsp[-2].chr);
31857 					(yyval.node) = (Node *) n;
31858 				}
31859 #line 31860 "gram.c" /* yacc.c:1652  */
31860     break;
31861 
31862   case 742:
31863 #line 5378 "gram.y" /* yacc.c:1652  */
31864     { (yyval.chr) = AMTYPE_INDEX; }
31865 #line 31866 "gram.c" /* yacc.c:1652  */
31866     break;
31867 
31868   case 743:
31869 #line 5379 "gram.y" /* yacc.c:1652  */
31870     { (yyval.chr) = AMTYPE_TABLE; }
31871 #line 31872 "gram.c" /* yacc.c:1652  */
31872     break;
31873 
31874   case 744:
31875 #line 5393 "gram.y" /* yacc.c:1652  */
31876     {
31877 					CreateTrigStmt *n = makeNode(CreateTrigStmt);
31878 					n->trigname = (yyvsp[-13].str);
31879 					n->relation = (yyvsp[-9].range);
31880 					n->funcname = (yyvsp[-3].list);
31881 					n->args = (yyvsp[-1].list);
31882 					n->row = (yyvsp[-7].boolean);
31883 					n->timing = (yyvsp[-12].ival);
31884 					n->events = intVal(linitial((yyvsp[-11].list)));
31885 					n->columns = (List *) lsecond((yyvsp[-11].list));
31886 					n->whenClause = (yyvsp[-6].node);
31887 					n->transitionRels = (yyvsp[-8].list);
31888 					n->isconstraint  = false;
31889 					n->deferrable	 = false;
31890 					n->initdeferred  = false;
31891 					n->constrrel = NULL;
31892 					(yyval.node) = (Node *)n;
31893 				}
31894 #line 31895 "gram.c" /* yacc.c:1652  */
31895     break;
31896 
31897   case 745:
31898 #line 5415 "gram.y" /* yacc.c:1652  */
31899     {
31900 					CreateTrigStmt *n = makeNode(CreateTrigStmt);
31901 					n->trigname = (yyvsp[-16].str);
31902 					n->relation = (yyvsp[-12].range);
31903 					n->funcname = (yyvsp[-3].list);
31904 					n->args = (yyvsp[-1].list);
31905 					n->row = true;
31906 					n->timing = TRIGGER_TYPE_AFTER;
31907 					n->events = intVal(linitial((yyvsp[-14].list)));
31908 					n->columns = (List *) lsecond((yyvsp[-14].list));
31909 					n->whenClause = (yyvsp[-6].node);
31910 					n->transitionRels = NIL;
31911 					n->isconstraint  = true;
31912 					processCASbits((yyvsp[-10].ival), (yylsp[-10]), "TRIGGER",
31913 								   &n->deferrable, &n->initdeferred, NULL,
31914 								   NULL, yyscanner);
31915 					n->constrrel = (yyvsp[-11].range);
31916 					(yyval.node) = (Node *)n;
31917 				}
31918 #line 31919 "gram.c" /* yacc.c:1652  */
31919     break;
31920 
31921   case 746:
31922 #line 5437 "gram.y" /* yacc.c:1652  */
31923     { (yyval.ival) = TRIGGER_TYPE_BEFORE; }
31924 #line 31925 "gram.c" /* yacc.c:1652  */
31925     break;
31926 
31927   case 747:
31928 #line 5438 "gram.y" /* yacc.c:1652  */
31929     { (yyval.ival) = TRIGGER_TYPE_AFTER; }
31930 #line 31931 "gram.c" /* yacc.c:1652  */
31931     break;
31932 
31933   case 748:
31934 #line 5439 "gram.y" /* yacc.c:1652  */
31935     { (yyval.ival) = TRIGGER_TYPE_INSTEAD; }
31936 #line 31937 "gram.c" /* yacc.c:1652  */
31937     break;
31938 
31939   case 749:
31940 #line 5444 "gram.y" /* yacc.c:1652  */
31941     { (yyval.list) = (yyvsp[0].list); }
31942 #line 31943 "gram.c" /* yacc.c:1652  */
31943     break;
31944 
31945   case 750:
31946 #line 5446 "gram.y" /* yacc.c:1652  */
31947     {
31948 					int		events1 = intVal(linitial((yyvsp[-2].list)));
31949 					int		events2 = intVal(linitial((yyvsp[0].list)));
31950 					List   *columns1 = (List *) lsecond((yyvsp[-2].list));
31951 					List   *columns2 = (List *) lsecond((yyvsp[0].list));
31952 
31953 					if (events1 & events2)
31954 						parser_yyerror("duplicate trigger events specified");
31955 					/*
31956 					 * concat'ing the columns lists loses information about
31957 					 * which columns went with which event, but so long as
31958 					 * only UPDATE carries columns and we disallow multiple
31959 					 * UPDATE items, it doesn't matter.  Command execution
31960 					 * should just ignore the columns for non-UPDATE events.
31961 					 */
31962 					(yyval.list) = list_make2(makeInteger(events1 | events2),
31963 									list_concat(columns1, columns2));
31964 				}
31965 #line 31966 "gram.c" /* yacc.c:1652  */
31966     break;
31967 
31968   case 751:
31969 #line 5468 "gram.y" /* yacc.c:1652  */
31970     { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_INSERT), NIL); }
31971 #line 31972 "gram.c" /* yacc.c:1652  */
31972     break;
31973 
31974   case 752:
31975 #line 5470 "gram.y" /* yacc.c:1652  */
31976     { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_DELETE), NIL); }
31977 #line 31978 "gram.c" /* yacc.c:1652  */
31978     break;
31979 
31980   case 753:
31981 #line 5472 "gram.y" /* yacc.c:1652  */
31982     { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_UPDATE), NIL); }
31983 #line 31984 "gram.c" /* yacc.c:1652  */
31984     break;
31985 
31986   case 754:
31987 #line 5474 "gram.y" /* yacc.c:1652  */
31988     { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_UPDATE), (yyvsp[0].list)); }
31989 #line 31990 "gram.c" /* yacc.c:1652  */
31990     break;
31991 
31992   case 755:
31993 #line 5476 "gram.y" /* yacc.c:1652  */
31994     { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_TRUNCATE), NIL); }
31995 #line 31996 "gram.c" /* yacc.c:1652  */
31996     break;
31997 
31998   case 756:
31999 #line 5480 "gram.y" /* yacc.c:1652  */
32000     { (yyval.list) = (yyvsp[0].list); }
32001 #line 32002 "gram.c" /* yacc.c:1652  */
32002     break;
32003 
32004   case 757:
32005 #line 5481 "gram.y" /* yacc.c:1652  */
32006     { (yyval.list) = NIL; }
32007 #line 32008 "gram.c" /* yacc.c:1652  */
32008     break;
32009 
32010   case 758:
32011 #line 5485 "gram.y" /* yacc.c:1652  */
32012     { (yyval.list) = list_make1((yyvsp[0].node)); }
32013 #line 32014 "gram.c" /* yacc.c:1652  */
32014     break;
32015 
32016   case 759:
32017 #line 5486 "gram.y" /* yacc.c:1652  */
32018     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
32019 #line 32020 "gram.c" /* yacc.c:1652  */
32020     break;
32021 
32022   case 760:
32023 #line 5491 "gram.y" /* yacc.c:1652  */
32024     {
32025 					TriggerTransition *n = makeNode(TriggerTransition);
32026 					n->name = (yyvsp[0].str);
32027 					n->isNew = (yyvsp[-3].boolean);
32028 					n->isTable = (yyvsp[-2].boolean);
32029 					(yyval.node) = (Node *)n;
32030 				}
32031 #line 32032 "gram.c" /* yacc.c:1652  */
32032     break;
32033 
32034   case 761:
32035 #line 5501 "gram.y" /* yacc.c:1652  */
32036     { (yyval.boolean) = true; }
32037 #line 32038 "gram.c" /* yacc.c:1652  */
32038     break;
32039 
32040   case 762:
32041 #line 5502 "gram.y" /* yacc.c:1652  */
32042     { (yyval.boolean) = false; }
32043 #line 32044 "gram.c" /* yacc.c:1652  */
32044     break;
32045 
32046   case 763:
32047 #line 5506 "gram.y" /* yacc.c:1652  */
32048     { (yyval.boolean) = true; }
32049 #line 32050 "gram.c" /* yacc.c:1652  */
32050     break;
32051 
32052   case 764:
32053 #line 5515 "gram.y" /* yacc.c:1652  */
32054     { (yyval.boolean) = false; }
32055 #line 32056 "gram.c" /* yacc.c:1652  */
32056     break;
32057 
32058   case 765:
32059 #line 5519 "gram.y" /* yacc.c:1652  */
32060     { (yyval.str) = (yyvsp[0].str); }
32061 #line 32062 "gram.c" /* yacc.c:1652  */
32062     break;
32063 
32064   case 766:
32065 #line 5524 "gram.y" /* yacc.c:1652  */
32066     {
32067 					(yyval.boolean) = (yyvsp[0].boolean);
32068 				}
32069 #line 32070 "gram.c" /* yacc.c:1652  */
32070     break;
32071 
32072   case 767:
32073 #line 5528 "gram.y" /* yacc.c:1652  */
32074     {
32075 					/*
32076 					 * If ROW/STATEMENT not specified, default to
32077 					 * STATEMENT, per SQL
32078 					 */
32079 					(yyval.boolean) = false;
32080 				}
32081 #line 32082 "gram.c" /* yacc.c:1652  */
32082     break;
32083 
32084   case 768:
32085 #line 5538 "gram.y" /* yacc.c:1652  */
32086     {}
32087 #line 32088 "gram.c" /* yacc.c:1652  */
32088     break;
32089 
32090   case 769:
32091 #line 5539 "gram.y" /* yacc.c:1652  */
32092     {}
32093 #line 32094 "gram.c" /* yacc.c:1652  */
32094     break;
32095 
32096   case 770:
32097 #line 5543 "gram.y" /* yacc.c:1652  */
32098     { (yyval.boolean) = true; }
32099 #line 32100 "gram.c" /* yacc.c:1652  */
32100     break;
32101 
32102   case 771:
32103 #line 5544 "gram.y" /* yacc.c:1652  */
32104     { (yyval.boolean) = false; }
32105 #line 32106 "gram.c" /* yacc.c:1652  */
32106     break;
32107 
32108   case 772:
32109 #line 5548 "gram.y" /* yacc.c:1652  */
32110     { (yyval.node) = (yyvsp[-1].node); }
32111 #line 32112 "gram.c" /* yacc.c:1652  */
32112     break;
32113 
32114   case 773:
32115 #line 5549 "gram.y" /* yacc.c:1652  */
32116     { (yyval.node) = NULL; }
32117 #line 32118 "gram.c" /* yacc.c:1652  */
32118     break;
32119 
32120   case 776:
32121 #line 5558 "gram.y" /* yacc.c:1652  */
32122     { (yyval.list) = list_make1((yyvsp[0].value)); }
32123 #line 32124 "gram.c" /* yacc.c:1652  */
32124     break;
32125 
32126   case 777:
32127 #line 5559 "gram.y" /* yacc.c:1652  */
32128     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].value)); }
32129 #line 32130 "gram.c" /* yacc.c:1652  */
32130     break;
32131 
32132   case 778:
32133 #line 5560 "gram.y" /* yacc.c:1652  */
32134     { (yyval.list) = NIL; }
32135 #line 32136 "gram.c" /* yacc.c:1652  */
32136     break;
32137 
32138   case 779:
32139 #line 5565 "gram.y" /* yacc.c:1652  */
32140     {
32141 					(yyval.value) = makeString(psprintf("%d", (yyvsp[0].ival)));
32142 				}
32143 #line 32144 "gram.c" /* yacc.c:1652  */
32144     break;
32145 
32146   case 780:
32147 #line 5568 "gram.y" /* yacc.c:1652  */
32148     { (yyval.value) = makeString((yyvsp[0].str)); }
32149 #line 32150 "gram.c" /* yacc.c:1652  */
32150     break;
32151 
32152   case 781:
32153 #line 5569 "gram.y" /* yacc.c:1652  */
32154     { (yyval.value) = makeString((yyvsp[0].str)); }
32155 #line 32156 "gram.c" /* yacc.c:1652  */
32156     break;
32157 
32158   case 782:
32159 #line 5570 "gram.y" /* yacc.c:1652  */
32160     { (yyval.value) = makeString((yyvsp[0].str)); }
32161 #line 32162 "gram.c" /* yacc.c:1652  */
32162     break;
32163 
32164   case 783:
32165 #line 5574 "gram.y" /* yacc.c:1652  */
32166     { (yyval.range) = (yyvsp[0].range); }
32167 #line 32168 "gram.c" /* yacc.c:1652  */
32168     break;
32169 
32170   case 784:
32171 #line 5575 "gram.y" /* yacc.c:1652  */
32172     { (yyval.range) = NULL; }
32173 #line 32174 "gram.c" /* yacc.c:1652  */
32174     break;
32175 
32176   case 785:
32177 #line 5580 "gram.y" /* yacc.c:1652  */
32178     { (yyval.ival) = 0; }
32179 #line 32180 "gram.c" /* yacc.c:1652  */
32180     break;
32181 
32182   case 786:
32183 #line 5582 "gram.y" /* yacc.c:1652  */
32184     {
32185 					/*
32186 					 * We must complain about conflicting options.
32187 					 * We could, but choose not to, complain about redundant
32188 					 * options (ie, where $2's bit is already set in $1).
32189 					 */
32190 					int		newspec = (yyvsp[-1].ival) | (yyvsp[0].ival);
32191 
32192 					/* special message for this case */
32193 					if ((newspec & (CAS_NOT_DEFERRABLE | CAS_INITIALLY_DEFERRED)) == (CAS_NOT_DEFERRABLE | CAS_INITIALLY_DEFERRED))
32194 						ereport(ERROR,
32195 								(errcode(ERRCODE_SYNTAX_ERROR),
32196 								 errmsg("constraint declared INITIALLY DEFERRED must be DEFERRABLE"),
32197 								 parser_errposition((yylsp[0]))));
32198 					/* generic message for other conflicts */
32199 					if ((newspec & (CAS_NOT_DEFERRABLE | CAS_DEFERRABLE)) == (CAS_NOT_DEFERRABLE | CAS_DEFERRABLE) ||
32200 						(newspec & (CAS_INITIALLY_IMMEDIATE | CAS_INITIALLY_DEFERRED)) == (CAS_INITIALLY_IMMEDIATE | CAS_INITIALLY_DEFERRED))
32201 						ereport(ERROR,
32202 								(errcode(ERRCODE_SYNTAX_ERROR),
32203 								 errmsg("conflicting constraint properties"),
32204 								 parser_errposition((yylsp[0]))));
32205 					(yyval.ival) = newspec;
32206 				}
32207 #line 32208 "gram.c" /* yacc.c:1652  */
32208     break;
32209 
32210   case 787:
32211 #line 5608 "gram.y" /* yacc.c:1652  */
32212     { (yyval.ival) = CAS_NOT_DEFERRABLE; }
32213 #line 32214 "gram.c" /* yacc.c:1652  */
32214     break;
32215 
32216   case 788:
32217 #line 5609 "gram.y" /* yacc.c:1652  */
32218     { (yyval.ival) = CAS_DEFERRABLE; }
32219 #line 32220 "gram.c" /* yacc.c:1652  */
32220     break;
32221 
32222   case 789:
32223 #line 5610 "gram.y" /* yacc.c:1652  */
32224     { (yyval.ival) = CAS_INITIALLY_IMMEDIATE; }
32225 #line 32226 "gram.c" /* yacc.c:1652  */
32226     break;
32227 
32228   case 790:
32229 #line 5611 "gram.y" /* yacc.c:1652  */
32230     { (yyval.ival) = CAS_INITIALLY_DEFERRED; }
32231 #line 32232 "gram.c" /* yacc.c:1652  */
32232     break;
32233 
32234   case 791:
32235 #line 5612 "gram.y" /* yacc.c:1652  */
32236     { (yyval.ival) = CAS_NOT_VALID; }
32237 #line 32238 "gram.c" /* yacc.c:1652  */
32238     break;
32239 
32240   case 792:
32241 #line 5613 "gram.y" /* yacc.c:1652  */
32242     { (yyval.ival) = CAS_NO_INHERIT; }
32243 #line 32244 "gram.c" /* yacc.c:1652  */
32244     break;
32245 
32246   case 793:
32247 #line 5628 "gram.y" /* yacc.c:1652  */
32248     {
32249 					CreateEventTrigStmt *n = makeNode(CreateEventTrigStmt);
32250 					n->trigname = (yyvsp[-7].str);
32251 					n->eventname = (yyvsp[-5].str);
32252 					n->whenclause = NULL;
32253 					n->funcname = (yyvsp[-2].list);
32254 					(yyval.node) = (Node *)n;
32255 				}
32256 #line 32257 "gram.c" /* yacc.c:1652  */
32257     break;
32258 
32259   case 794:
32260 #line 5639 "gram.y" /* yacc.c:1652  */
32261     {
32262 					CreateEventTrigStmt *n = makeNode(CreateEventTrigStmt);
32263 					n->trigname = (yyvsp[-9].str);
32264 					n->eventname = (yyvsp[-7].str);
32265 					n->whenclause = (yyvsp[-5].list);
32266 					n->funcname = (yyvsp[-2].list);
32267 					(yyval.node) = (Node *)n;
32268 				}
32269 #line 32270 "gram.c" /* yacc.c:1652  */
32270     break;
32271 
32272   case 795:
32273 #line 5651 "gram.y" /* yacc.c:1652  */
32274     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
32275 #line 32276 "gram.c" /* yacc.c:1652  */
32276     break;
32277 
32278   case 796:
32279 #line 5653 "gram.y" /* yacc.c:1652  */
32280     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
32281 #line 32282 "gram.c" /* yacc.c:1652  */
32282     break;
32283 
32284   case 797:
32285 #line 5658 "gram.y" /* yacc.c:1652  */
32286     { (yyval.defelt) = makeDefElem((yyvsp[-4].str), (Node *) (yyvsp[-1].list), (yylsp[-4])); }
32287 #line 32288 "gram.c" /* yacc.c:1652  */
32288     break;
32289 
32290   case 798:
32291 #line 5663 "gram.y" /* yacc.c:1652  */
32292     { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
32293 #line 32294 "gram.c" /* yacc.c:1652  */
32294     break;
32295 
32296   case 799:
32297 #line 5665 "gram.y" /* yacc.c:1652  */
32298     { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
32299 #line 32300 "gram.c" /* yacc.c:1652  */
32300     break;
32301 
32302   case 800:
32303 #line 5670 "gram.y" /* yacc.c:1652  */
32304     {
32305 					AlterEventTrigStmt *n = makeNode(AlterEventTrigStmt);
32306 					n->trigname = (yyvsp[-1].str);
32307 					n->tgenabled = (yyvsp[0].chr);
32308 					(yyval.node) = (Node *) n;
32309 				}
32310 #line 32311 "gram.c" /* yacc.c:1652  */
32311     break;
32312 
32313   case 801:
32314 #line 5679 "gram.y" /* yacc.c:1652  */
32315     { (yyval.chr) = TRIGGER_FIRES_ON_ORIGIN; }
32316 #line 32317 "gram.c" /* yacc.c:1652  */
32317     break;
32318 
32319   case 802:
32320 #line 5680 "gram.y" /* yacc.c:1652  */
32321     { (yyval.chr) = TRIGGER_FIRES_ON_REPLICA; }
32322 #line 32323 "gram.c" /* yacc.c:1652  */
32323     break;
32324 
32325   case 803:
32326 #line 5681 "gram.y" /* yacc.c:1652  */
32327     { (yyval.chr) = TRIGGER_FIRES_ALWAYS; }
32328 #line 32329 "gram.c" /* yacc.c:1652  */
32329     break;
32330 
32331   case 804:
32332 #line 5682 "gram.y" /* yacc.c:1652  */
32333     { (yyval.chr) = TRIGGER_DISABLED; }
32334 #line 32335 "gram.c" /* yacc.c:1652  */
32335     break;
32336 
32337   case 805:
32338 #line 5694 "gram.y" /* yacc.c:1652  */
32339     {
32340 					ereport(ERROR,
32341 							(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
32342 							 errmsg("CREATE ASSERTION is not yet implemented")));
32343 
32344 					(yyval.node) = NULL;
32345 				}
32346 #line 32347 "gram.c" /* yacc.c:1652  */
32347     break;
32348 
32349   case 806:
32350 #line 5713 "gram.y" /* yacc.c:1652  */
32351     {
32352 					DefineStmt *n = makeNode(DefineStmt);
32353 					n->kind = OBJECT_AGGREGATE;
32354 					n->oldstyle = false;
32355 					n->replace = (yyvsp[-4].boolean);
32356 					n->defnames = (yyvsp[-2].list);
32357 					n->args = (yyvsp[-1].list);
32358 					n->definition = (yyvsp[0].list);
32359 					(yyval.node) = (Node *)n;
32360 				}
32361 #line 32362 "gram.c" /* yacc.c:1652  */
32362     break;
32363 
32364   case 807:
32365 #line 5724 "gram.y" /* yacc.c:1652  */
32366     {
32367 					/* old-style (pre-8.2) syntax for CREATE AGGREGATE */
32368 					DefineStmt *n = makeNode(DefineStmt);
32369 					n->kind = OBJECT_AGGREGATE;
32370 					n->oldstyle = true;
32371 					n->replace = (yyvsp[-3].boolean);
32372 					n->defnames = (yyvsp[-1].list);
32373 					n->args = NIL;
32374 					n->definition = (yyvsp[0].list);
32375 					(yyval.node) = (Node *)n;
32376 				}
32377 #line 32378 "gram.c" /* yacc.c:1652  */
32378     break;
32379 
32380   case 808:
32381 #line 5736 "gram.y" /* yacc.c:1652  */
32382     {
32383 					DefineStmt *n = makeNode(DefineStmt);
32384 					n->kind = OBJECT_OPERATOR;
32385 					n->oldstyle = false;
32386 					n->defnames = (yyvsp[-1].list);
32387 					n->args = NIL;
32388 					n->definition = (yyvsp[0].list);
32389 					(yyval.node) = (Node *)n;
32390 				}
32391 #line 32392 "gram.c" /* yacc.c:1652  */
32392     break;
32393 
32394   case 809:
32395 #line 5746 "gram.y" /* yacc.c:1652  */
32396     {
32397 					DefineStmt *n = makeNode(DefineStmt);
32398 					n->kind = OBJECT_TYPE;
32399 					n->oldstyle = false;
32400 					n->defnames = (yyvsp[-1].list);
32401 					n->args = NIL;
32402 					n->definition = (yyvsp[0].list);
32403 					(yyval.node) = (Node *)n;
32404 				}
32405 #line 32406 "gram.c" /* yacc.c:1652  */
32406     break;
32407 
32408   case 810:
32409 #line 5756 "gram.y" /* yacc.c:1652  */
32410     {
32411 					/* Shell type (identified by lack of definition) */
32412 					DefineStmt *n = makeNode(DefineStmt);
32413 					n->kind = OBJECT_TYPE;
32414 					n->oldstyle = false;
32415 					n->defnames = (yyvsp[0].list);
32416 					n->args = NIL;
32417 					n->definition = NIL;
32418 					(yyval.node) = (Node *)n;
32419 				}
32420 #line 32421 "gram.c" /* yacc.c:1652  */
32421     break;
32422 
32423   case 811:
32424 #line 5767 "gram.y" /* yacc.c:1652  */
32425     {
32426 					CompositeTypeStmt *n = makeNode(CompositeTypeStmt);
32427 
32428 					/* can't use qualified_name, sigh */
32429 					n->typevar = makeRangeVarFromAnyName((yyvsp[-4].list), (yylsp[-4]), yyscanner);
32430 					n->coldeflist = (yyvsp[-1].list);
32431 					(yyval.node) = (Node *)n;
32432 				}
32433 #line 32434 "gram.c" /* yacc.c:1652  */
32434     break;
32435 
32436   case 812:
32437 #line 5776 "gram.y" /* yacc.c:1652  */
32438     {
32439 					CreateEnumStmt *n = makeNode(CreateEnumStmt);
32440 					n->typeName = (yyvsp[-5].list);
32441 					n->vals = (yyvsp[-1].list);
32442 					(yyval.node) = (Node *)n;
32443 				}
32444 #line 32445 "gram.c" /* yacc.c:1652  */
32445     break;
32446 
32447   case 813:
32448 #line 5783 "gram.y" /* yacc.c:1652  */
32449     {
32450 					CreateRangeStmt *n = makeNode(CreateRangeStmt);
32451 					n->typeName = (yyvsp[-3].list);
32452 					n->params	= (yyvsp[0].list);
32453 					(yyval.node) = (Node *)n;
32454 				}
32455 #line 32456 "gram.c" /* yacc.c:1652  */
32456     break;
32457 
32458   case 814:
32459 #line 5790 "gram.y" /* yacc.c:1652  */
32460     {
32461 					DefineStmt *n = makeNode(DefineStmt);
32462 					n->kind = OBJECT_TSPARSER;
32463 					n->args = NIL;
32464 					n->defnames = (yyvsp[-1].list);
32465 					n->definition = (yyvsp[0].list);
32466 					(yyval.node) = (Node *)n;
32467 				}
32468 #line 32469 "gram.c" /* yacc.c:1652  */
32469     break;
32470 
32471   case 815:
32472 #line 5799 "gram.y" /* yacc.c:1652  */
32473     {
32474 					DefineStmt *n = makeNode(DefineStmt);
32475 					n->kind = OBJECT_TSDICTIONARY;
32476 					n->args = NIL;
32477 					n->defnames = (yyvsp[-1].list);
32478 					n->definition = (yyvsp[0].list);
32479 					(yyval.node) = (Node *)n;
32480 				}
32481 #line 32482 "gram.c" /* yacc.c:1652  */
32482     break;
32483 
32484   case 816:
32485 #line 5808 "gram.y" /* yacc.c:1652  */
32486     {
32487 					DefineStmt *n = makeNode(DefineStmt);
32488 					n->kind = OBJECT_TSTEMPLATE;
32489 					n->args = NIL;
32490 					n->defnames = (yyvsp[-1].list);
32491 					n->definition = (yyvsp[0].list);
32492 					(yyval.node) = (Node *)n;
32493 				}
32494 #line 32495 "gram.c" /* yacc.c:1652  */
32495     break;
32496 
32497   case 817:
32498 #line 5817 "gram.y" /* yacc.c:1652  */
32499     {
32500 					DefineStmt *n = makeNode(DefineStmt);
32501 					n->kind = OBJECT_TSCONFIGURATION;
32502 					n->args = NIL;
32503 					n->defnames = (yyvsp[-1].list);
32504 					n->definition = (yyvsp[0].list);
32505 					(yyval.node) = (Node *)n;
32506 				}
32507 #line 32508 "gram.c" /* yacc.c:1652  */
32508     break;
32509 
32510   case 818:
32511 #line 5826 "gram.y" /* yacc.c:1652  */
32512     {
32513 					DefineStmt *n = makeNode(DefineStmt);
32514 					n->kind = OBJECT_COLLATION;
32515 					n->args = NIL;
32516 					n->defnames = (yyvsp[-1].list);
32517 					n->definition = (yyvsp[0].list);
32518 					(yyval.node) = (Node *)n;
32519 				}
32520 #line 32521 "gram.c" /* yacc.c:1652  */
32521     break;
32522 
32523   case 819:
32524 #line 5835 "gram.y" /* yacc.c:1652  */
32525     {
32526 					DefineStmt *n = makeNode(DefineStmt);
32527 					n->kind = OBJECT_COLLATION;
32528 					n->args = NIL;
32529 					n->defnames = (yyvsp[-1].list);
32530 					n->definition = (yyvsp[0].list);
32531 					n->if_not_exists = true;
32532 					(yyval.node) = (Node *)n;
32533 				}
32534 #line 32535 "gram.c" /* yacc.c:1652  */
32535     break;
32536 
32537   case 820:
32538 #line 5845 "gram.y" /* yacc.c:1652  */
32539     {
32540 					DefineStmt *n = makeNode(DefineStmt);
32541 					n->kind = OBJECT_COLLATION;
32542 					n->args = NIL;
32543 					n->defnames = (yyvsp[-2].list);
32544 					n->definition = list_make1(makeDefElem("from", (Node *) (yyvsp[0].list), (yylsp[0])));
32545 					(yyval.node) = (Node *)n;
32546 				}
32547 #line 32548 "gram.c" /* yacc.c:1652  */
32548     break;
32549 
32550   case 821:
32551 #line 5854 "gram.y" /* yacc.c:1652  */
32552     {
32553 					DefineStmt *n = makeNode(DefineStmt);
32554 					n->kind = OBJECT_COLLATION;
32555 					n->args = NIL;
32556 					n->defnames = (yyvsp[-2].list);
32557 					n->definition = list_make1(makeDefElem("from", (Node *) (yyvsp[0].list), (yylsp[0])));
32558 					n->if_not_exists = true;
32559 					(yyval.node) = (Node *)n;
32560 				}
32561 #line 32562 "gram.c" /* yacc.c:1652  */
32562     break;
32563 
32564   case 822:
32565 #line 5865 "gram.y" /* yacc.c:1652  */
32566     { (yyval.list) = (yyvsp[-1].list); }
32567 #line 32568 "gram.c" /* yacc.c:1652  */
32568     break;
32569 
32570   case 823:
32571 #line 5868 "gram.y" /* yacc.c:1652  */
32572     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
32573 #line 32574 "gram.c" /* yacc.c:1652  */
32574     break;
32575 
32576   case 824:
32577 #line 5869 "gram.y" /* yacc.c:1652  */
32578     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
32579 #line 32580 "gram.c" /* yacc.c:1652  */
32580     break;
32581 
32582   case 825:
32583 #line 5873 "gram.y" /* yacc.c:1652  */
32584     {
32585 					(yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *) (yyvsp[0].node), (yylsp[-2]));
32586 				}
32587 #line 32588 "gram.c" /* yacc.c:1652  */
32588     break;
32589 
32590   case 826:
32591 #line 5877 "gram.y" /* yacc.c:1652  */
32592     {
32593 					(yyval.defelt) = makeDefElem((yyvsp[0].str), NULL, (yylsp[0]));
32594 				}
32595 #line 32596 "gram.c" /* yacc.c:1652  */
32596     break;
32597 
32598   case 827:
32599 #line 5883 "gram.y" /* yacc.c:1652  */
32600     { (yyval.node) = (Node *)(yyvsp[0].typnam); }
32601 #line 32602 "gram.c" /* yacc.c:1652  */
32602     break;
32603 
32604   case 828:
32605 #line 5884 "gram.y" /* yacc.c:1652  */
32606     { (yyval.node) = (Node *)makeString(pstrdup((yyvsp[0].keyword))); }
32607 #line 32608 "gram.c" /* yacc.c:1652  */
32608     break;
32609 
32610   case 829:
32611 #line 5885 "gram.y" /* yacc.c:1652  */
32612     { (yyval.node) = (Node *)(yyvsp[0].list); }
32613 #line 32614 "gram.c" /* yacc.c:1652  */
32614     break;
32615 
32616   case 830:
32617 #line 5886 "gram.y" /* yacc.c:1652  */
32618     { (yyval.node) = (Node *)(yyvsp[0].value); }
32619 #line 32620 "gram.c" /* yacc.c:1652  */
32620     break;
32621 
32622   case 831:
32623 #line 5887 "gram.y" /* yacc.c:1652  */
32624     { (yyval.node) = (Node *)makeString((yyvsp[0].str)); }
32625 #line 32626 "gram.c" /* yacc.c:1652  */
32626     break;
32627 
32628   case 832:
32629 #line 5888 "gram.y" /* yacc.c:1652  */
32630     { (yyval.node) = (Node *)makeString(pstrdup((yyvsp[0].keyword))); }
32631 #line 32632 "gram.c" /* yacc.c:1652  */
32632     break;
32633 
32634   case 833:
32635 #line 5891 "gram.y" /* yacc.c:1652  */
32636     { (yyval.list) = (yyvsp[-1].list); }
32637 #line 32638 "gram.c" /* yacc.c:1652  */
32638     break;
32639 
32640   case 834:
32641 #line 5894 "gram.y" /* yacc.c:1652  */
32642     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
32643 #line 32644 "gram.c" /* yacc.c:1652  */
32644     break;
32645 
32646   case 835:
32647 #line 5895 "gram.y" /* yacc.c:1652  */
32648     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
32649 #line 32650 "gram.c" /* yacc.c:1652  */
32650     break;
32651 
32652   case 836:
32653 #line 5904 "gram.y" /* yacc.c:1652  */
32654     {
32655 					(yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *)(yyvsp[0].node), (yylsp[-2]));
32656 				}
32657 #line 32658 "gram.c" /* yacc.c:1652  */
32658     break;
32659 
32660   case 837:
32661 #line 5910 "gram.y" /* yacc.c:1652  */
32662     { (yyval.list) = (yyvsp[0].list); }
32663 #line 32664 "gram.c" /* yacc.c:1652  */
32664     break;
32665 
32666   case 838:
32667 #line 5911 "gram.y" /* yacc.c:1652  */
32668     { (yyval.list) = NIL; }
32669 #line 32670 "gram.c" /* yacc.c:1652  */
32670     break;
32671 
32672   case 839:
32673 #line 5915 "gram.y" /* yacc.c:1652  */
32674     { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
32675 #line 32676 "gram.c" /* yacc.c:1652  */
32676     break;
32677 
32678   case 840:
32679 #line 5917 "gram.y" /* yacc.c:1652  */
32680     { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
32681 #line 32682 "gram.c" /* yacc.c:1652  */
32682     break;
32683 
32684   case 841:
32685 #line 5928 "gram.y" /* yacc.c:1652  */
32686     {
32687 				AlterEnumStmt *n = makeNode(AlterEnumStmt);
32688 				n->typeName = (yyvsp[-4].list);
32689 				n->oldVal = NULL;
32690 				n->newVal = (yyvsp[0].str);
32691 				n->newValNeighbor = NULL;
32692 				n->newValIsAfter = true;
32693 				n->skipIfNewValExists = (yyvsp[-1].boolean);
32694 				(yyval.node) = (Node *) n;
32695 			}
32696 #line 32697 "gram.c" /* yacc.c:1652  */
32697     break;
32698 
32699   case 842:
32700 #line 5939 "gram.y" /* yacc.c:1652  */
32701     {
32702 				AlterEnumStmt *n = makeNode(AlterEnumStmt);
32703 				n->typeName = (yyvsp[-6].list);
32704 				n->oldVal = NULL;
32705 				n->newVal = (yyvsp[-2].str);
32706 				n->newValNeighbor = (yyvsp[0].str);
32707 				n->newValIsAfter = false;
32708 				n->skipIfNewValExists = (yyvsp[-3].boolean);
32709 				(yyval.node) = (Node *) n;
32710 			}
32711 #line 32712 "gram.c" /* yacc.c:1652  */
32712     break;
32713 
32714   case 843:
32715 #line 5950 "gram.y" /* yacc.c:1652  */
32716     {
32717 				AlterEnumStmt *n = makeNode(AlterEnumStmt);
32718 				n->typeName = (yyvsp[-6].list);
32719 				n->oldVal = NULL;
32720 				n->newVal = (yyvsp[-2].str);
32721 				n->newValNeighbor = (yyvsp[0].str);
32722 				n->newValIsAfter = true;
32723 				n->skipIfNewValExists = (yyvsp[-3].boolean);
32724 				(yyval.node) = (Node *) n;
32725 			}
32726 #line 32727 "gram.c" /* yacc.c:1652  */
32727     break;
32728 
32729   case 844:
32730 #line 5961 "gram.y" /* yacc.c:1652  */
32731     {
32732 				AlterEnumStmt *n = makeNode(AlterEnumStmt);
32733 				n->typeName = (yyvsp[-5].list);
32734 				n->oldVal = (yyvsp[-2].str);
32735 				n->newVal = (yyvsp[0].str);
32736 				n->newValNeighbor = NULL;
32737 				n->newValIsAfter = false;
32738 				n->skipIfNewValExists = false;
32739 				(yyval.node) = (Node *) n;
32740 			}
32741 #line 32742 "gram.c" /* yacc.c:1652  */
32742     break;
32743 
32744   case 845:
32745 #line 5973 "gram.y" /* yacc.c:1652  */
32746     { (yyval.boolean) = true; }
32747 #line 32748 "gram.c" /* yacc.c:1652  */
32748     break;
32749 
32750   case 846:
32751 #line 5974 "gram.y" /* yacc.c:1652  */
32752     { (yyval.boolean) = false; }
32753 #line 32754 "gram.c" /* yacc.c:1652  */
32754     break;
32755 
32756   case 847:
32757 #line 5992 "gram.y" /* yacc.c:1652  */
32758     {
32759 					CreateOpClassStmt *n = makeNode(CreateOpClassStmt);
32760 					n->opclassname = (yyvsp[-9].list);
32761 					n->isDefault = (yyvsp[-8].boolean);
32762 					n->datatype = (yyvsp[-5].typnam);
32763 					n->amname = (yyvsp[-3].str);
32764 					n->opfamilyname = (yyvsp[-2].list);
32765 					n->items = (yyvsp[0].list);
32766 					(yyval.node) = (Node *) n;
32767 				}
32768 #line 32769 "gram.c" /* yacc.c:1652  */
32769     break;
32770 
32771   case 848:
32772 #line 6005 "gram.y" /* yacc.c:1652  */
32773     { (yyval.list) = list_make1((yyvsp[0].node)); }
32774 #line 32775 "gram.c" /* yacc.c:1652  */
32775     break;
32776 
32777   case 849:
32778 #line 6006 "gram.y" /* yacc.c:1652  */
32779     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
32780 #line 32781 "gram.c" /* yacc.c:1652  */
32781     break;
32782 
32783   case 850:
32784 #line 6011 "gram.y" /* yacc.c:1652  */
32785     {
32786 					CreateOpClassItem *n = makeNode(CreateOpClassItem);
32787 					ObjectWithArgs *owa = makeNode(ObjectWithArgs);
32788 					owa->objname = (yyvsp[-2].list);
32789 					owa->objargs = NIL;
32790 					n->itemtype = OPCLASS_ITEM_OPERATOR;
32791 					n->name = owa;
32792 					n->number = (yyvsp[-3].ival);
32793 					n->order_family = (yyvsp[-1].list);
32794 					(yyval.node) = (Node *) n;
32795 				}
32796 #line 32797 "gram.c" /* yacc.c:1652  */
32797     break;
32798 
32799   case 851:
32800 #line 6024 "gram.y" /* yacc.c:1652  */
32801     {
32802 					CreateOpClassItem *n = makeNode(CreateOpClassItem);
32803 					n->itemtype = OPCLASS_ITEM_OPERATOR;
32804 					n->name = (yyvsp[-2].objwithargs);
32805 					n->number = (yyvsp[-3].ival);
32806 					n->order_family = (yyvsp[-1].list);
32807 					(yyval.node) = (Node *) n;
32808 				}
32809 #line 32810 "gram.c" /* yacc.c:1652  */
32810     break;
32811 
32812   case 852:
32813 #line 6033 "gram.y" /* yacc.c:1652  */
32814     {
32815 					CreateOpClassItem *n = makeNode(CreateOpClassItem);
32816 					n->itemtype = OPCLASS_ITEM_FUNCTION;
32817 					n->name = (yyvsp[0].objwithargs);
32818 					n->number = (yyvsp[-1].ival);
32819 					(yyval.node) = (Node *) n;
32820 				}
32821 #line 32822 "gram.c" /* yacc.c:1652  */
32822     break;
32823 
32824   case 853:
32825 #line 6041 "gram.y" /* yacc.c:1652  */
32826     {
32827 					CreateOpClassItem *n = makeNode(CreateOpClassItem);
32828 					n->itemtype = OPCLASS_ITEM_FUNCTION;
32829 					n->name = (yyvsp[0].objwithargs);
32830 					n->number = (yyvsp[-4].ival);
32831 					n->class_args = (yyvsp[-2].list);
32832 					(yyval.node) = (Node *) n;
32833 				}
32834 #line 32835 "gram.c" /* yacc.c:1652  */
32835     break;
32836 
32837   case 854:
32838 #line 6050 "gram.y" /* yacc.c:1652  */
32839     {
32840 					CreateOpClassItem *n = makeNode(CreateOpClassItem);
32841 					n->itemtype = OPCLASS_ITEM_STORAGETYPE;
32842 					n->storedtype = (yyvsp[0].typnam);
32843 					(yyval.node) = (Node *) n;
32844 				}
32845 #line 32846 "gram.c" /* yacc.c:1652  */
32846     break;
32847 
32848   case 855:
32849 #line 6058 "gram.y" /* yacc.c:1652  */
32850     { (yyval.boolean) = true; }
32851 #line 32852 "gram.c" /* yacc.c:1652  */
32852     break;
32853 
32854   case 856:
32855 #line 6059 "gram.y" /* yacc.c:1652  */
32856     { (yyval.boolean) = false; }
32857 #line 32858 "gram.c" /* yacc.c:1652  */
32858     break;
32859 
32860   case 857:
32861 #line 6062 "gram.y" /* yacc.c:1652  */
32862     { (yyval.list) = (yyvsp[0].list); }
32863 #line 32864 "gram.c" /* yacc.c:1652  */
32864     break;
32865 
32866   case 858:
32867 #line 6063 "gram.y" /* yacc.c:1652  */
32868     { (yyval.list) = NIL; }
32869 #line 32870 "gram.c" /* yacc.c:1652  */
32870     break;
32871 
32872   case 859:
32873 #line 6066 "gram.y" /* yacc.c:1652  */
32874     { (yyval.list) = NIL; }
32875 #line 32876 "gram.c" /* yacc.c:1652  */
32876     break;
32877 
32878   case 860:
32879 #line 6067 "gram.y" /* yacc.c:1652  */
32880     { (yyval.list) = (yyvsp[0].list); }
32881 #line 32882 "gram.c" /* yacc.c:1652  */
32882     break;
32883 
32884   case 861:
32885 #line 6068 "gram.y" /* yacc.c:1652  */
32886     { (yyval.list) = NIL; }
32887 #line 32888 "gram.c" /* yacc.c:1652  */
32888     break;
32889 
32890   case 862:
32891 #line 6072 "gram.y" /* yacc.c:1652  */
32892     {
32893 					/*
32894 					 * RECHECK no longer does anything in opclass definitions,
32895 					 * but we still accept it to ease porting of old database
32896 					 * dumps.
32897 					 */
32898 					ereport(NOTICE,
32899 							(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
32900 							 errmsg("RECHECK is no longer required"),
32901 							 errhint("Update your data type."),
32902 							 parser_errposition((yylsp[0]))));
32903 					(yyval.boolean) = true;
32904 				}
32905 #line 32906 "gram.c" /* yacc.c:1652  */
32906     break;
32907 
32908   case 863:
32909 #line 6085 "gram.y" /* yacc.c:1652  */
32910     { (yyval.boolean) = false; }
32911 #line 32912 "gram.c" /* yacc.c:1652  */
32912     break;
32913 
32914   case 864:
32915 #line 6091 "gram.y" /* yacc.c:1652  */
32916     {
32917 					CreateOpFamilyStmt *n = makeNode(CreateOpFamilyStmt);
32918 					n->opfamilyname = (yyvsp[-2].list);
32919 					n->amname = (yyvsp[0].str);
32920 					(yyval.node) = (Node *) n;
32921 				}
32922 #line 32923 "gram.c" /* yacc.c:1652  */
32923     break;
32924 
32925   case 865:
32926 #line 6101 "gram.y" /* yacc.c:1652  */
32927     {
32928 					AlterOpFamilyStmt *n = makeNode(AlterOpFamilyStmt);
32929 					n->opfamilyname = (yyvsp[-4].list);
32930 					n->amname = (yyvsp[-2].str);
32931 					n->isDrop = false;
32932 					n->items = (yyvsp[0].list);
32933 					(yyval.node) = (Node *) n;
32934 				}
32935 #line 32936 "gram.c" /* yacc.c:1652  */
32936     break;
32937 
32938   case 866:
32939 #line 6110 "gram.y" /* yacc.c:1652  */
32940     {
32941 					AlterOpFamilyStmt *n = makeNode(AlterOpFamilyStmt);
32942 					n->opfamilyname = (yyvsp[-4].list);
32943 					n->amname = (yyvsp[-2].str);
32944 					n->isDrop = true;
32945 					n->items = (yyvsp[0].list);
32946 					(yyval.node) = (Node *) n;
32947 				}
32948 #line 32949 "gram.c" /* yacc.c:1652  */
32949     break;
32950 
32951   case 867:
32952 #line 6121 "gram.y" /* yacc.c:1652  */
32953     { (yyval.list) = list_make1((yyvsp[0].node)); }
32954 #line 32955 "gram.c" /* yacc.c:1652  */
32955     break;
32956 
32957   case 868:
32958 #line 6122 "gram.y" /* yacc.c:1652  */
32959     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
32960 #line 32961 "gram.c" /* yacc.c:1652  */
32961     break;
32962 
32963   case 869:
32964 #line 6127 "gram.y" /* yacc.c:1652  */
32965     {
32966 					CreateOpClassItem *n = makeNode(CreateOpClassItem);
32967 					n->itemtype = OPCLASS_ITEM_OPERATOR;
32968 					n->number = (yyvsp[-3].ival);
32969 					n->class_args = (yyvsp[-1].list);
32970 					(yyval.node) = (Node *) n;
32971 				}
32972 #line 32973 "gram.c" /* yacc.c:1652  */
32973     break;
32974 
32975   case 870:
32976 #line 6135 "gram.y" /* yacc.c:1652  */
32977     {
32978 					CreateOpClassItem *n = makeNode(CreateOpClassItem);
32979 					n->itemtype = OPCLASS_ITEM_FUNCTION;
32980 					n->number = (yyvsp[-3].ival);
32981 					n->class_args = (yyvsp[-1].list);
32982 					(yyval.node) = (Node *) n;
32983 				}
32984 #line 32985 "gram.c" /* yacc.c:1652  */
32985     break;
32986 
32987   case 871:
32988 #line 6147 "gram.y" /* yacc.c:1652  */
32989     {
32990 					DropStmt *n = makeNode(DropStmt);
32991 					n->objects = list_make1(lcons(makeString((yyvsp[-1].str)), (yyvsp[-3].list)));
32992 					n->removeType = OBJECT_OPCLASS;
32993 					n->behavior = (yyvsp[0].dbehavior);
32994 					n->missing_ok = false;
32995 					n->concurrent = false;
32996 					(yyval.node) = (Node *) n;
32997 				}
32998 #line 32999 "gram.c" /* yacc.c:1652  */
32999     break;
33000 
33001   case 872:
33002 #line 6157 "gram.y" /* yacc.c:1652  */
33003     {
33004 					DropStmt *n = makeNode(DropStmt);
33005 					n->objects = list_make1(lcons(makeString((yyvsp[-1].str)), (yyvsp[-3].list)));
33006 					n->removeType = OBJECT_OPCLASS;
33007 					n->behavior = (yyvsp[0].dbehavior);
33008 					n->missing_ok = true;
33009 					n->concurrent = false;
33010 					(yyval.node) = (Node *) n;
33011 				}
33012 #line 33013 "gram.c" /* yacc.c:1652  */
33013     break;
33014 
33015   case 873:
33016 #line 6170 "gram.y" /* yacc.c:1652  */
33017     {
33018 					DropStmt *n = makeNode(DropStmt);
33019 					n->objects = list_make1(lcons(makeString((yyvsp[-1].str)), (yyvsp[-3].list)));
33020 					n->removeType = OBJECT_OPFAMILY;
33021 					n->behavior = (yyvsp[0].dbehavior);
33022 					n->missing_ok = false;
33023 					n->concurrent = false;
33024 					(yyval.node) = (Node *) n;
33025 				}
33026 #line 33027 "gram.c" /* yacc.c:1652  */
33027     break;
33028 
33029   case 874:
33030 #line 6180 "gram.y" /* yacc.c:1652  */
33031     {
33032 					DropStmt *n = makeNode(DropStmt);
33033 					n->objects = list_make1(lcons(makeString((yyvsp[-1].str)), (yyvsp[-3].list)));
33034 					n->removeType = OBJECT_OPFAMILY;
33035 					n->behavior = (yyvsp[0].dbehavior);
33036 					n->missing_ok = true;
33037 					n->concurrent = false;
33038 					(yyval.node) = (Node *) n;
33039 				}
33040 #line 33041 "gram.c" /* yacc.c:1652  */
33041     break;
33042 
33043   case 875:
33044 #line 6202 "gram.y" /* yacc.c:1652  */
33045     {
33046 					DropOwnedStmt *n = makeNode(DropOwnedStmt);
33047 					n->roles = (yyvsp[-1].list);
33048 					n->behavior = (yyvsp[0].dbehavior);
33049 					(yyval.node) = (Node *)n;
33050 				}
33051 #line 33052 "gram.c" /* yacc.c:1652  */
33052     break;
33053 
33054   case 876:
33055 #line 6212 "gram.y" /* yacc.c:1652  */
33056     {
33057 					ReassignOwnedStmt *n = makeNode(ReassignOwnedStmt);
33058 					n->roles = (yyvsp[-2].list);
33059 					n->newrole = (yyvsp[0].rolespec);
33060 					(yyval.node) = (Node *)n;
33061 				}
33062 #line 33063 "gram.c" /* yacc.c:1652  */
33063     break;
33064 
33065   case 877:
33066 #line 6230 "gram.y" /* yacc.c:1652  */
33067     {
33068 					DropStmt *n = makeNode(DropStmt);
33069 					n->removeType = (yyvsp[-4].objtype);
33070 					n->missing_ok = true;
33071 					n->objects = (yyvsp[-1].list);
33072 					n->behavior = (yyvsp[0].dbehavior);
33073 					n->concurrent = false;
33074 					(yyval.node) = (Node *)n;
33075 				}
33076 #line 33077 "gram.c" /* yacc.c:1652  */
33077     break;
33078 
33079   case 878:
33080 #line 6240 "gram.y" /* yacc.c:1652  */
33081     {
33082 					DropStmt *n = makeNode(DropStmt);
33083 					n->removeType = (yyvsp[-2].objtype);
33084 					n->missing_ok = false;
33085 					n->objects = (yyvsp[-1].list);
33086 					n->behavior = (yyvsp[0].dbehavior);
33087 					n->concurrent = false;
33088 					(yyval.node) = (Node *)n;
33089 				}
33090 #line 33091 "gram.c" /* yacc.c:1652  */
33091     break;
33092 
33093   case 879:
33094 #line 6250 "gram.y" /* yacc.c:1652  */
33095     {
33096 					DropStmt *n = makeNode(DropStmt);
33097 					n->removeType = (yyvsp[-4].objtype);
33098 					n->missing_ok = true;
33099 					n->objects = (yyvsp[-1].list);
33100 					n->behavior = (yyvsp[0].dbehavior);
33101 					n->concurrent = false;
33102 					(yyval.node) = (Node *)n;
33103 				}
33104 #line 33105 "gram.c" /* yacc.c:1652  */
33105     break;
33106 
33107   case 880:
33108 #line 6260 "gram.y" /* yacc.c:1652  */
33109     {
33110 					DropStmt *n = makeNode(DropStmt);
33111 					n->removeType = (yyvsp[-2].objtype);
33112 					n->missing_ok = false;
33113 					n->objects = (yyvsp[-1].list);
33114 					n->behavior = (yyvsp[0].dbehavior);
33115 					n->concurrent = false;
33116 					(yyval.node) = (Node *)n;
33117 				}
33118 #line 33119 "gram.c" /* yacc.c:1652  */
33119     break;
33120 
33121   case 881:
33122 #line 6270 "gram.y" /* yacc.c:1652  */
33123     {
33124 					DropStmt *n = makeNode(DropStmt);
33125 					n->removeType = (yyvsp[-4].objtype);
33126 					n->objects = list_make1(lappend((yyvsp[-1].list), makeString((yyvsp[-3].str))));
33127 					n->behavior = (yyvsp[0].dbehavior);
33128 					n->missing_ok = false;
33129 					n->concurrent = false;
33130 					(yyval.node) = (Node *) n;
33131 				}
33132 #line 33133 "gram.c" /* yacc.c:1652  */
33133     break;
33134 
33135   case 882:
33136 #line 6280 "gram.y" /* yacc.c:1652  */
33137     {
33138 					DropStmt *n = makeNode(DropStmt);
33139 					n->removeType = (yyvsp[-6].objtype);
33140 					n->objects = list_make1(lappend((yyvsp[-1].list), makeString((yyvsp[-3].str))));
33141 					n->behavior = (yyvsp[0].dbehavior);
33142 					n->missing_ok = true;
33143 					n->concurrent = false;
33144 					(yyval.node) = (Node *) n;
33145 				}
33146 #line 33147 "gram.c" /* yacc.c:1652  */
33147     break;
33148 
33149   case 883:
33150 #line 6290 "gram.y" /* yacc.c:1652  */
33151     {
33152 					DropStmt *n = makeNode(DropStmt);
33153 					n->removeType = OBJECT_TYPE;
33154 					n->missing_ok = false;
33155 					n->objects = (yyvsp[-1].list);
33156 					n->behavior = (yyvsp[0].dbehavior);
33157 					n->concurrent = false;
33158 					(yyval.node) = (Node *) n;
33159 				}
33160 #line 33161 "gram.c" /* yacc.c:1652  */
33161     break;
33162 
33163   case 884:
33164 #line 6300 "gram.y" /* yacc.c:1652  */
33165     {
33166 					DropStmt *n = makeNode(DropStmt);
33167 					n->removeType = OBJECT_TYPE;
33168 					n->missing_ok = true;
33169 					n->objects = (yyvsp[-1].list);
33170 					n->behavior = (yyvsp[0].dbehavior);
33171 					n->concurrent = false;
33172 					(yyval.node) = (Node *) n;
33173 				}
33174 #line 33175 "gram.c" /* yacc.c:1652  */
33175     break;
33176 
33177   case 885:
33178 #line 6310 "gram.y" /* yacc.c:1652  */
33179     {
33180 					DropStmt *n = makeNode(DropStmt);
33181 					n->removeType = OBJECT_DOMAIN;
33182 					n->missing_ok = false;
33183 					n->objects = (yyvsp[-1].list);
33184 					n->behavior = (yyvsp[0].dbehavior);
33185 					n->concurrent = false;
33186 					(yyval.node) = (Node *) n;
33187 				}
33188 #line 33189 "gram.c" /* yacc.c:1652  */
33189     break;
33190 
33191   case 886:
33192 #line 6320 "gram.y" /* yacc.c:1652  */
33193     {
33194 					DropStmt *n = makeNode(DropStmt);
33195 					n->removeType = OBJECT_DOMAIN;
33196 					n->missing_ok = true;
33197 					n->objects = (yyvsp[-1].list);
33198 					n->behavior = (yyvsp[0].dbehavior);
33199 					n->concurrent = false;
33200 					(yyval.node) = (Node *) n;
33201 				}
33202 #line 33203 "gram.c" /* yacc.c:1652  */
33203     break;
33204 
33205   case 887:
33206 #line 6330 "gram.y" /* yacc.c:1652  */
33207     {
33208 					DropStmt *n = makeNode(DropStmt);
33209 					n->removeType = OBJECT_INDEX;
33210 					n->missing_ok = false;
33211 					n->objects = (yyvsp[-1].list);
33212 					n->behavior = (yyvsp[0].dbehavior);
33213 					n->concurrent = true;
33214 					(yyval.node) = (Node *)n;
33215 				}
33216 #line 33217 "gram.c" /* yacc.c:1652  */
33217     break;
33218 
33219   case 888:
33220 #line 6340 "gram.y" /* yacc.c:1652  */
33221     {
33222 					DropStmt *n = makeNode(DropStmt);
33223 					n->removeType = OBJECT_INDEX;
33224 					n->missing_ok = true;
33225 					n->objects = (yyvsp[-1].list);
33226 					n->behavior = (yyvsp[0].dbehavior);
33227 					n->concurrent = true;
33228 					(yyval.node) = (Node *)n;
33229 				}
33230 #line 33231 "gram.c" /* yacc.c:1652  */
33231     break;
33232 
33233   case 889:
33234 #line 6353 "gram.y" /* yacc.c:1652  */
33235     { (yyval.objtype) = OBJECT_TABLE; }
33236 #line 33237 "gram.c" /* yacc.c:1652  */
33237     break;
33238 
33239   case 890:
33240 #line 6354 "gram.y" /* yacc.c:1652  */
33241     { (yyval.objtype) = OBJECT_SEQUENCE; }
33242 #line 33243 "gram.c" /* yacc.c:1652  */
33243     break;
33244 
33245   case 891:
33246 #line 6355 "gram.y" /* yacc.c:1652  */
33247     { (yyval.objtype) = OBJECT_VIEW; }
33248 #line 33249 "gram.c" /* yacc.c:1652  */
33249     break;
33250 
33251   case 892:
33252 #line 6356 "gram.y" /* yacc.c:1652  */
33253     { (yyval.objtype) = OBJECT_MATVIEW; }
33254 #line 33255 "gram.c" /* yacc.c:1652  */
33255     break;
33256 
33257   case 893:
33258 #line 6357 "gram.y" /* yacc.c:1652  */
33259     { (yyval.objtype) = OBJECT_INDEX; }
33260 #line 33261 "gram.c" /* yacc.c:1652  */
33261     break;
33262 
33263   case 894:
33264 #line 6358 "gram.y" /* yacc.c:1652  */
33265     { (yyval.objtype) = OBJECT_FOREIGN_TABLE; }
33266 #line 33267 "gram.c" /* yacc.c:1652  */
33267     break;
33268 
33269   case 895:
33270 #line 6359 "gram.y" /* yacc.c:1652  */
33271     { (yyval.objtype) = OBJECT_COLLATION; }
33272 #line 33273 "gram.c" /* yacc.c:1652  */
33273     break;
33274 
33275   case 896:
33276 #line 6360 "gram.y" /* yacc.c:1652  */
33277     { (yyval.objtype) = OBJECT_CONVERSION; }
33278 #line 33279 "gram.c" /* yacc.c:1652  */
33279     break;
33280 
33281   case 897:
33282 #line 6361 "gram.y" /* yacc.c:1652  */
33283     { (yyval.objtype) = OBJECT_STATISTIC_EXT; }
33284 #line 33285 "gram.c" /* yacc.c:1652  */
33285     break;
33286 
33287   case 898:
33288 #line 6362 "gram.y" /* yacc.c:1652  */
33289     { (yyval.objtype) = OBJECT_TSPARSER; }
33290 #line 33291 "gram.c" /* yacc.c:1652  */
33291     break;
33292 
33293   case 899:
33294 #line 6363 "gram.y" /* yacc.c:1652  */
33295     { (yyval.objtype) = OBJECT_TSDICTIONARY; }
33296 #line 33297 "gram.c" /* yacc.c:1652  */
33297     break;
33298 
33299   case 900:
33300 #line 6364 "gram.y" /* yacc.c:1652  */
33301     { (yyval.objtype) = OBJECT_TSTEMPLATE; }
33302 #line 33303 "gram.c" /* yacc.c:1652  */
33303     break;
33304 
33305   case 901:
33306 #line 6365 "gram.y" /* yacc.c:1652  */
33307     { (yyval.objtype) = OBJECT_TSCONFIGURATION; }
33308 #line 33309 "gram.c" /* yacc.c:1652  */
33309     break;
33310 
33311   case 902:
33312 #line 6370 "gram.y" /* yacc.c:1652  */
33313     { (yyval.objtype) = OBJECT_ACCESS_METHOD; }
33314 #line 33315 "gram.c" /* yacc.c:1652  */
33315     break;
33316 
33317   case 903:
33318 #line 6371 "gram.y" /* yacc.c:1652  */
33319     { (yyval.objtype) = OBJECT_EVENT_TRIGGER; }
33320 #line 33321 "gram.c" /* yacc.c:1652  */
33321     break;
33322 
33323   case 904:
33324 #line 6372 "gram.y" /* yacc.c:1652  */
33325     { (yyval.objtype) = OBJECT_EXTENSION; }
33326 #line 33327 "gram.c" /* yacc.c:1652  */
33327     break;
33328 
33329   case 905:
33330 #line 6373 "gram.y" /* yacc.c:1652  */
33331     { (yyval.objtype) = OBJECT_FDW; }
33332 #line 33333 "gram.c" /* yacc.c:1652  */
33333     break;
33334 
33335   case 906:
33336 #line 6374 "gram.y" /* yacc.c:1652  */
33337     { (yyval.objtype) = OBJECT_PUBLICATION; }
33338 #line 33339 "gram.c" /* yacc.c:1652  */
33339     break;
33340 
33341   case 907:
33342 #line 6375 "gram.y" /* yacc.c:1652  */
33343     { (yyval.objtype) = OBJECT_SCHEMA; }
33344 #line 33345 "gram.c" /* yacc.c:1652  */
33345     break;
33346 
33347   case 908:
33348 #line 6376 "gram.y" /* yacc.c:1652  */
33349     { (yyval.objtype) = OBJECT_FOREIGN_SERVER; }
33350 #line 33351 "gram.c" /* yacc.c:1652  */
33351     break;
33352 
33353   case 909:
33354 #line 6381 "gram.y" /* yacc.c:1652  */
33355     { (yyval.objtype) = OBJECT_POLICY; }
33356 #line 33357 "gram.c" /* yacc.c:1652  */
33357     break;
33358 
33359   case 910:
33360 #line 6382 "gram.y" /* yacc.c:1652  */
33361     { (yyval.objtype) = OBJECT_RULE; }
33362 #line 33363 "gram.c" /* yacc.c:1652  */
33363     break;
33364 
33365   case 911:
33366 #line 6383 "gram.y" /* yacc.c:1652  */
33367     { (yyval.objtype) = OBJECT_TRIGGER; }
33368 #line 33369 "gram.c" /* yacc.c:1652  */
33369     break;
33370 
33371   case 912:
33372 #line 6387 "gram.y" /* yacc.c:1652  */
33373     { (yyval.list) = list_make1((yyvsp[0].list)); }
33374 #line 33375 "gram.c" /* yacc.c:1652  */
33375     break;
33376 
33377   case 913:
33378 #line 6388 "gram.y" /* yacc.c:1652  */
33379     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].list)); }
33380 #line 33381 "gram.c" /* yacc.c:1652  */
33381     break;
33382 
33383   case 914:
33384 #line 6391 "gram.y" /* yacc.c:1652  */
33385     { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
33386 #line 33387 "gram.c" /* yacc.c:1652  */
33387     break;
33388 
33389   case 915:
33390 #line 6392 "gram.y" /* yacc.c:1652  */
33391     { (yyval.list) = lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)); }
33392 #line 33393 "gram.c" /* yacc.c:1652  */
33393     break;
33394 
33395   case 916:
33396 #line 6396 "gram.y" /* yacc.c:1652  */
33397     { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
33398 #line 33399 "gram.c" /* yacc.c:1652  */
33399     break;
33400 
33401   case 917:
33402 #line 6398 "gram.y" /* yacc.c:1652  */
33403     { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
33404 #line 33405 "gram.c" /* yacc.c:1652  */
33405     break;
33406 
33407   case 918:
33408 #line 6402 "gram.y" /* yacc.c:1652  */
33409     { (yyval.list) = list_make1((yyvsp[0].typnam)); }
33410 #line 33411 "gram.c" /* yacc.c:1652  */
33411     break;
33412 
33413   case 919:
33414 #line 6403 "gram.y" /* yacc.c:1652  */
33415     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].typnam)); }
33416 #line 33417 "gram.c" /* yacc.c:1652  */
33417     break;
33418 
33419   case 920:
33420 #line 6415 "gram.y" /* yacc.c:1652  */
33421     {
33422 					TruncateStmt *n = makeNode(TruncateStmt);
33423 					n->relations = (yyvsp[-2].list);
33424 					n->restart_seqs = (yyvsp[-1].boolean);
33425 					n->behavior = (yyvsp[0].dbehavior);
33426 					(yyval.node) = (Node *)n;
33427 				}
33428 #line 33429 "gram.c" /* yacc.c:1652  */
33429     break;
33430 
33431   case 921:
33432 #line 6425 "gram.y" /* yacc.c:1652  */
33433     { (yyval.boolean) = false; }
33434 #line 33435 "gram.c" /* yacc.c:1652  */
33435     break;
33436 
33437   case 922:
33438 #line 6426 "gram.y" /* yacc.c:1652  */
33439     { (yyval.boolean) = true; }
33440 #line 33441 "gram.c" /* yacc.c:1652  */
33441     break;
33442 
33443   case 923:
33444 #line 6427 "gram.y" /* yacc.c:1652  */
33445     { (yyval.boolean) = false; }
33446 #line 33447 "gram.c" /* yacc.c:1652  */
33447     break;
33448 
33449   case 924:
33450 #line 6462 "gram.y" /* yacc.c:1652  */
33451     {
33452 					CommentStmt *n = makeNode(CommentStmt);
33453 					n->objtype = (yyvsp[-3].objtype);
33454 					n->object = (Node *) (yyvsp[-2].list);
33455 					n->comment = (yyvsp[0].str);
33456 					(yyval.node) = (Node *) n;
33457 				}
33458 #line 33459 "gram.c" /* yacc.c:1652  */
33459     break;
33460 
33461   case 925:
33462 #line 6470 "gram.y" /* yacc.c:1652  */
33463     {
33464 					CommentStmt *n = makeNode(CommentStmt);
33465 					n->objtype = (yyvsp[-3].objtype);
33466 					n->object = (Node *) makeString((yyvsp[-2].str));
33467 					n->comment = (yyvsp[0].str);
33468 					(yyval.node) = (Node *) n;
33469 				}
33470 #line 33471 "gram.c" /* yacc.c:1652  */
33471     break;
33472 
33473   case 926:
33474 #line 6478 "gram.y" /* yacc.c:1652  */
33475     {
33476 					CommentStmt *n = makeNode(CommentStmt);
33477 					n->objtype = OBJECT_TYPE;
33478 					n->object = (Node *) (yyvsp[-2].typnam);
33479 					n->comment = (yyvsp[0].str);
33480 					(yyval.node) = (Node *) n;
33481 				}
33482 #line 33483 "gram.c" /* yacc.c:1652  */
33483     break;
33484 
33485   case 927:
33486 #line 6486 "gram.y" /* yacc.c:1652  */
33487     {
33488 					CommentStmt *n = makeNode(CommentStmt);
33489 					n->objtype = OBJECT_DOMAIN;
33490 					n->object = (Node *) (yyvsp[-2].typnam);
33491 					n->comment = (yyvsp[0].str);
33492 					(yyval.node) = (Node *) n;
33493 				}
33494 #line 33495 "gram.c" /* yacc.c:1652  */
33495     break;
33496 
33497   case 928:
33498 #line 6494 "gram.y" /* yacc.c:1652  */
33499     {
33500 					CommentStmt *n = makeNode(CommentStmt);
33501 					n->objtype = OBJECT_AGGREGATE;
33502 					n->object = (Node *) (yyvsp[-2].objwithargs);
33503 					n->comment = (yyvsp[0].str);
33504 					(yyval.node) = (Node *) n;
33505 				}
33506 #line 33507 "gram.c" /* yacc.c:1652  */
33507     break;
33508 
33509   case 929:
33510 #line 6502 "gram.y" /* yacc.c:1652  */
33511     {
33512 					CommentStmt *n = makeNode(CommentStmt);
33513 					n->objtype = OBJECT_FUNCTION;
33514 					n->object = (Node *) (yyvsp[-2].objwithargs);
33515 					n->comment = (yyvsp[0].str);
33516 					(yyval.node) = (Node *) n;
33517 				}
33518 #line 33519 "gram.c" /* yacc.c:1652  */
33519     break;
33520 
33521   case 930:
33522 #line 6510 "gram.y" /* yacc.c:1652  */
33523     {
33524 					CommentStmt *n = makeNode(CommentStmt);
33525 					n->objtype = OBJECT_OPERATOR;
33526 					n->object = (Node *) (yyvsp[-2].objwithargs);
33527 					n->comment = (yyvsp[0].str);
33528 					(yyval.node) = (Node *) n;
33529 				}
33530 #line 33531 "gram.c" /* yacc.c:1652  */
33531     break;
33532 
33533   case 931:
33534 #line 6518 "gram.y" /* yacc.c:1652  */
33535     {
33536 					CommentStmt *n = makeNode(CommentStmt);
33537 					n->objtype = OBJECT_TABCONSTRAINT;
33538 					n->object = (Node *) lappend((yyvsp[-2].list), makeString((yyvsp[-4].str)));
33539 					n->comment = (yyvsp[0].str);
33540 					(yyval.node) = (Node *) n;
33541 				}
33542 #line 33543 "gram.c" /* yacc.c:1652  */
33543     break;
33544 
33545   case 932:
33546 #line 6526 "gram.y" /* yacc.c:1652  */
33547     {
33548 					CommentStmt *n = makeNode(CommentStmt);
33549 					n->objtype = OBJECT_DOMCONSTRAINT;
33550 					/*
33551 					 * should use Typename not any_name in the production, but
33552 					 * there's a shift/reduce conflict if we do that, so fix it
33553 					 * up here.
33554 					 */
33555 					n->object = (Node *) list_make2(makeTypeNameFromNameList((yyvsp[-2].list)), makeString((yyvsp[-5].str)));
33556 					n->comment = (yyvsp[0].str);
33557 					(yyval.node) = (Node *) n;
33558 				}
33559 #line 33560 "gram.c" /* yacc.c:1652  */
33560     break;
33561 
33562   case 933:
33563 #line 6539 "gram.y" /* yacc.c:1652  */
33564     {
33565 					CommentStmt *n = makeNode(CommentStmt);
33566 					n->objtype = OBJECT_POLICY;
33567 					n->object = (Node *) lappend((yyvsp[-2].list), makeString((yyvsp[-4].str)));
33568 					n->comment = (yyvsp[0].str);
33569 					(yyval.node) = (Node *) n;
33570 				}
33571 #line 33572 "gram.c" /* yacc.c:1652  */
33572     break;
33573 
33574   case 934:
33575 #line 6547 "gram.y" /* yacc.c:1652  */
33576     {
33577 					CommentStmt *n = makeNode(CommentStmt);
33578 					n->objtype = OBJECT_PROCEDURE;
33579 					n->object = (Node *) (yyvsp[-2].objwithargs);
33580 					n->comment = (yyvsp[0].str);
33581 					(yyval.node) = (Node *) n;
33582 				}
33583 #line 33584 "gram.c" /* yacc.c:1652  */
33584     break;
33585 
33586   case 935:
33587 #line 6555 "gram.y" /* yacc.c:1652  */
33588     {
33589 					CommentStmt *n = makeNode(CommentStmt);
33590 					n->objtype = OBJECT_ROUTINE;
33591 					n->object = (Node *) (yyvsp[-2].objwithargs);
33592 					n->comment = (yyvsp[0].str);
33593 					(yyval.node) = (Node *) n;
33594 				}
33595 #line 33596 "gram.c" /* yacc.c:1652  */
33596     break;
33597 
33598   case 936:
33599 #line 6563 "gram.y" /* yacc.c:1652  */
33600     {
33601 					CommentStmt *n = makeNode(CommentStmt);
33602 					n->objtype = OBJECT_RULE;
33603 					n->object = (Node *) lappend((yyvsp[-2].list), makeString((yyvsp[-4].str)));
33604 					n->comment = (yyvsp[0].str);
33605 					(yyval.node) = (Node *) n;
33606 				}
33607 #line 33608 "gram.c" /* yacc.c:1652  */
33608     break;
33609 
33610   case 937:
33611 #line 6571 "gram.y" /* yacc.c:1652  */
33612     {
33613 					CommentStmt *n = makeNode(CommentStmt);
33614 					n->objtype = OBJECT_TRANSFORM;
33615 					n->object = (Node *) list_make2((yyvsp[-4].typnam), makeString((yyvsp[-2].str)));
33616 					n->comment = (yyvsp[0].str);
33617 					(yyval.node) = (Node *) n;
33618 				}
33619 #line 33620 "gram.c" /* yacc.c:1652  */
33620     break;
33621 
33622   case 938:
33623 #line 6579 "gram.y" /* yacc.c:1652  */
33624     {
33625 					CommentStmt *n = makeNode(CommentStmt);
33626 					n->objtype = OBJECT_TRIGGER;
33627 					n->object = (Node *) lappend((yyvsp[-2].list), makeString((yyvsp[-4].str)));
33628 					n->comment = (yyvsp[0].str);
33629 					(yyval.node) = (Node *) n;
33630 				}
33631 #line 33632 "gram.c" /* yacc.c:1652  */
33632     break;
33633 
33634   case 939:
33635 #line 6587 "gram.y" /* yacc.c:1652  */
33636     {
33637 					CommentStmt *n = makeNode(CommentStmt);
33638 					n->objtype = OBJECT_OPCLASS;
33639 					n->object = (Node *) lcons(makeString((yyvsp[-2].str)), (yyvsp[-4].list));
33640 					n->comment = (yyvsp[0].str);
33641 					(yyval.node) = (Node *) n;
33642 				}
33643 #line 33644 "gram.c" /* yacc.c:1652  */
33644     break;
33645 
33646   case 940:
33647 #line 6595 "gram.y" /* yacc.c:1652  */
33648     {
33649 					CommentStmt *n = makeNode(CommentStmt);
33650 					n->objtype = OBJECT_OPFAMILY;
33651 					n->object = (Node *) lcons(makeString((yyvsp[-2].str)), (yyvsp[-4].list));
33652 					n->comment = (yyvsp[0].str);
33653 					(yyval.node) = (Node *) n;
33654 				}
33655 #line 33656 "gram.c" /* yacc.c:1652  */
33656     break;
33657 
33658   case 941:
33659 #line 6603 "gram.y" /* yacc.c:1652  */
33660     {
33661 					CommentStmt *n = makeNode(CommentStmt);
33662 					n->objtype = OBJECT_LARGEOBJECT;
33663 					n->object = (Node *) (yyvsp[-2].value);
33664 					n->comment = (yyvsp[0].str);
33665 					(yyval.node) = (Node *) n;
33666 				}
33667 #line 33668 "gram.c" /* yacc.c:1652  */
33668     break;
33669 
33670   case 942:
33671 #line 6611 "gram.y" /* yacc.c:1652  */
33672     {
33673 					CommentStmt *n = makeNode(CommentStmt);
33674 					n->objtype = OBJECT_CAST;
33675 					n->object = (Node *) list_make2((yyvsp[-5].typnam), (yyvsp[-3].typnam));
33676 					n->comment = (yyvsp[0].str);
33677 					(yyval.node) = (Node *) n;
33678 				}
33679 #line 33680 "gram.c" /* yacc.c:1652  */
33680     break;
33681 
33682   case 943:
33683 #line 6622 "gram.y" /* yacc.c:1652  */
33684     { (yyval.objtype) = OBJECT_COLUMN; }
33685 #line 33686 "gram.c" /* yacc.c:1652  */
33686     break;
33687 
33688   case 944:
33689 #line 6623 "gram.y" /* yacc.c:1652  */
33690     { (yyval.objtype) = OBJECT_INDEX; }
33691 #line 33692 "gram.c" /* yacc.c:1652  */
33692     break;
33693 
33694   case 945:
33695 #line 6624 "gram.y" /* yacc.c:1652  */
33696     { (yyval.objtype) = OBJECT_SEQUENCE; }
33697 #line 33698 "gram.c" /* yacc.c:1652  */
33698     break;
33699 
33700   case 946:
33701 #line 6625 "gram.y" /* yacc.c:1652  */
33702     { (yyval.objtype) = OBJECT_STATISTIC_EXT; }
33703 #line 33704 "gram.c" /* yacc.c:1652  */
33704     break;
33705 
33706   case 947:
33707 #line 6626 "gram.y" /* yacc.c:1652  */
33708     { (yyval.objtype) = OBJECT_TABLE; }
33709 #line 33710 "gram.c" /* yacc.c:1652  */
33710     break;
33711 
33712   case 948:
33713 #line 6627 "gram.y" /* yacc.c:1652  */
33714     { (yyval.objtype) = OBJECT_VIEW; }
33715 #line 33716 "gram.c" /* yacc.c:1652  */
33716     break;
33717 
33718   case 949:
33719 #line 6628 "gram.y" /* yacc.c:1652  */
33720     { (yyval.objtype) = OBJECT_MATVIEW; }
33721 #line 33722 "gram.c" /* yacc.c:1652  */
33722     break;
33723 
33724   case 950:
33725 #line 6629 "gram.y" /* yacc.c:1652  */
33726     { (yyval.objtype) = OBJECT_COLLATION; }
33727 #line 33728 "gram.c" /* yacc.c:1652  */
33728     break;
33729 
33730   case 951:
33731 #line 6630 "gram.y" /* yacc.c:1652  */
33732     { (yyval.objtype) = OBJECT_CONVERSION; }
33733 #line 33734 "gram.c" /* yacc.c:1652  */
33734     break;
33735 
33736   case 952:
33737 #line 6631 "gram.y" /* yacc.c:1652  */
33738     { (yyval.objtype) = OBJECT_FOREIGN_TABLE; }
33739 #line 33740 "gram.c" /* yacc.c:1652  */
33740     break;
33741 
33742   case 953:
33743 #line 6632 "gram.y" /* yacc.c:1652  */
33744     { (yyval.objtype) = OBJECT_TSCONFIGURATION; }
33745 #line 33746 "gram.c" /* yacc.c:1652  */
33746     break;
33747 
33748   case 954:
33749 #line 6633 "gram.y" /* yacc.c:1652  */
33750     { (yyval.objtype) = OBJECT_TSDICTIONARY; }
33751 #line 33752 "gram.c" /* yacc.c:1652  */
33752     break;
33753 
33754   case 955:
33755 #line 6634 "gram.y" /* yacc.c:1652  */
33756     { (yyval.objtype) = OBJECT_TSPARSER; }
33757 #line 33758 "gram.c" /* yacc.c:1652  */
33758     break;
33759 
33760   case 956:
33761 #line 6635 "gram.y" /* yacc.c:1652  */
33762     { (yyval.objtype) = OBJECT_TSTEMPLATE; }
33763 #line 33764 "gram.c" /* yacc.c:1652  */
33764     break;
33765 
33766   case 957:
33767 #line 6640 "gram.y" /* yacc.c:1652  */
33768     { (yyval.objtype) = OBJECT_ACCESS_METHOD; }
33769 #line 33770 "gram.c" /* yacc.c:1652  */
33770     break;
33771 
33772   case 958:
33773 #line 6641 "gram.y" /* yacc.c:1652  */
33774     { (yyval.objtype) = OBJECT_DATABASE; }
33775 #line 33776 "gram.c" /* yacc.c:1652  */
33776     break;
33777 
33778   case 959:
33779 #line 6642 "gram.y" /* yacc.c:1652  */
33780     { (yyval.objtype) = OBJECT_EVENT_TRIGGER; }
33781 #line 33782 "gram.c" /* yacc.c:1652  */
33782     break;
33783 
33784   case 960:
33785 #line 6643 "gram.y" /* yacc.c:1652  */
33786     { (yyval.objtype) = OBJECT_EXTENSION; }
33787 #line 33788 "gram.c" /* yacc.c:1652  */
33788     break;
33789 
33790   case 961:
33791 #line 6644 "gram.y" /* yacc.c:1652  */
33792     { (yyval.objtype) = OBJECT_FDW; }
33793 #line 33794 "gram.c" /* yacc.c:1652  */
33794     break;
33795 
33796   case 962:
33797 #line 6645 "gram.y" /* yacc.c:1652  */
33798     { (yyval.objtype) = OBJECT_LANGUAGE; }
33799 #line 33800 "gram.c" /* yacc.c:1652  */
33800     break;
33801 
33802   case 963:
33803 #line 6646 "gram.y" /* yacc.c:1652  */
33804     { (yyval.objtype) = OBJECT_PUBLICATION; }
33805 #line 33806 "gram.c" /* yacc.c:1652  */
33806     break;
33807 
33808   case 964:
33809 #line 6647 "gram.y" /* yacc.c:1652  */
33810     { (yyval.objtype) = OBJECT_ROLE; }
33811 #line 33812 "gram.c" /* yacc.c:1652  */
33812     break;
33813 
33814   case 965:
33815 #line 6648 "gram.y" /* yacc.c:1652  */
33816     { (yyval.objtype) = OBJECT_SCHEMA; }
33817 #line 33818 "gram.c" /* yacc.c:1652  */
33818     break;
33819 
33820   case 966:
33821 #line 6649 "gram.y" /* yacc.c:1652  */
33822     { (yyval.objtype) = OBJECT_FOREIGN_SERVER; }
33823 #line 33824 "gram.c" /* yacc.c:1652  */
33824     break;
33825 
33826   case 967:
33827 #line 6650 "gram.y" /* yacc.c:1652  */
33828     { (yyval.objtype) = OBJECT_SUBSCRIPTION; }
33829 #line 33830 "gram.c" /* yacc.c:1652  */
33830     break;
33831 
33832   case 968:
33833 #line 6651 "gram.y" /* yacc.c:1652  */
33834     { (yyval.objtype) = OBJECT_TABLESPACE; }
33835 #line 33836 "gram.c" /* yacc.c:1652  */
33836     break;
33837 
33838   case 969:
33839 #line 6655 "gram.y" /* yacc.c:1652  */
33840     { (yyval.str) = (yyvsp[0].str); }
33841 #line 33842 "gram.c" /* yacc.c:1652  */
33842     break;
33843 
33844   case 970:
33845 #line 6656 "gram.y" /* yacc.c:1652  */
33846     { (yyval.str) = NULL; }
33847 #line 33848 "gram.c" /* yacc.c:1652  */
33848     break;
33849 
33850   case 971:
33851 #line 6672 "gram.y" /* yacc.c:1652  */
33852     {
33853 					SecLabelStmt *n = makeNode(SecLabelStmt);
33854 					n->provider = (yyvsp[-5].str);
33855 					n->objtype = (yyvsp[-3].objtype);
33856 					n->object = (Node *) (yyvsp[-2].list);
33857 					n->label = (yyvsp[0].str);
33858 					(yyval.node) = (Node *) n;
33859 				}
33860 #line 33861 "gram.c" /* yacc.c:1652  */
33861     break;
33862 
33863   case 972:
33864 #line 6682 "gram.y" /* yacc.c:1652  */
33865     {
33866 					SecLabelStmt *n = makeNode(SecLabelStmt);
33867 					n->provider = (yyvsp[-5].str);
33868 					n->objtype = (yyvsp[-3].objtype);
33869 					n->object = (Node *) makeString((yyvsp[-2].str));
33870 					n->label = (yyvsp[0].str);
33871 					(yyval.node) = (Node *) n;
33872 				}
33873 #line 33874 "gram.c" /* yacc.c:1652  */
33874     break;
33875 
33876   case 973:
33877 #line 6692 "gram.y" /* yacc.c:1652  */
33878     {
33879 					SecLabelStmt *n = makeNode(SecLabelStmt);
33880 					n->provider = (yyvsp[-5].str);
33881 					n->objtype = OBJECT_TYPE;
33882 					n->object = (Node *) (yyvsp[-2].typnam);
33883 					n->label = (yyvsp[0].str);
33884 					(yyval.node) = (Node *) n;
33885 				}
33886 #line 33887 "gram.c" /* yacc.c:1652  */
33887     break;
33888 
33889   case 974:
33890 #line 6702 "gram.y" /* yacc.c:1652  */
33891     {
33892 					SecLabelStmt *n = makeNode(SecLabelStmt);
33893 					n->provider = (yyvsp[-5].str);
33894 					n->objtype = OBJECT_DOMAIN;
33895 					n->object = (Node *) (yyvsp[-2].typnam);
33896 					n->label = (yyvsp[0].str);
33897 					(yyval.node) = (Node *) n;
33898 				}
33899 #line 33900 "gram.c" /* yacc.c:1652  */
33900     break;
33901 
33902   case 975:
33903 #line 6712 "gram.y" /* yacc.c:1652  */
33904     {
33905 					SecLabelStmt *n = makeNode(SecLabelStmt);
33906 					n->provider = (yyvsp[-5].str);
33907 					n->objtype = OBJECT_AGGREGATE;
33908 					n->object = (Node *) (yyvsp[-2].objwithargs);
33909 					n->label = (yyvsp[0].str);
33910 					(yyval.node) = (Node *) n;
33911 				}
33912 #line 33913 "gram.c" /* yacc.c:1652  */
33913     break;
33914 
33915   case 976:
33916 #line 6722 "gram.y" /* yacc.c:1652  */
33917     {
33918 					SecLabelStmt *n = makeNode(SecLabelStmt);
33919 					n->provider = (yyvsp[-5].str);
33920 					n->objtype = OBJECT_FUNCTION;
33921 					n->object = (Node *) (yyvsp[-2].objwithargs);
33922 					n->label = (yyvsp[0].str);
33923 					(yyval.node) = (Node *) n;
33924 				}
33925 #line 33926 "gram.c" /* yacc.c:1652  */
33926     break;
33927 
33928   case 977:
33929 #line 6732 "gram.y" /* yacc.c:1652  */
33930     {
33931 					SecLabelStmt *n = makeNode(SecLabelStmt);
33932 					n->provider = (yyvsp[-6].str);
33933 					n->objtype = OBJECT_LARGEOBJECT;
33934 					n->object = (Node *) (yyvsp[-2].value);
33935 					n->label = (yyvsp[0].str);
33936 					(yyval.node) = (Node *) n;
33937 				}
33938 #line 33939 "gram.c" /* yacc.c:1652  */
33939     break;
33940 
33941   case 978:
33942 #line 6742 "gram.y" /* yacc.c:1652  */
33943     {
33944 					SecLabelStmt *n = makeNode(SecLabelStmt);
33945 					n->provider = (yyvsp[-5].str);
33946 					n->objtype = OBJECT_PROCEDURE;
33947 					n->object = (Node *) (yyvsp[-2].objwithargs);
33948 					n->label = (yyvsp[0].str);
33949 					(yyval.node) = (Node *) n;
33950 				}
33951 #line 33952 "gram.c" /* yacc.c:1652  */
33952     break;
33953 
33954   case 979:
33955 #line 6752 "gram.y" /* yacc.c:1652  */
33956     {
33957 					SecLabelStmt *n = makeNode(SecLabelStmt);
33958 					n->provider = (yyvsp[-5].str);
33959 					n->objtype = OBJECT_ROUTINE;
33960 					n->object = (Node *) (yyvsp[-2].objwithargs);
33961 					n->label = (yyvsp[0].str);
33962 					(yyval.node) = (Node *) n;
33963 				}
33964 #line 33965 "gram.c" /* yacc.c:1652  */
33965     break;
33966 
33967   case 980:
33968 #line 6762 "gram.y" /* yacc.c:1652  */
33969     { (yyval.str) = (yyvsp[0].str); }
33970 #line 33971 "gram.c" /* yacc.c:1652  */
33971     break;
33972 
33973   case 981:
33974 #line 6763 "gram.y" /* yacc.c:1652  */
33975     { (yyval.str) = NULL; }
33976 #line 33977 "gram.c" /* yacc.c:1652  */
33977     break;
33978 
33979   case 982:
33980 #line 6768 "gram.y" /* yacc.c:1652  */
33981     { (yyval.objtype) = OBJECT_COLUMN; }
33982 #line 33983 "gram.c" /* yacc.c:1652  */
33983     break;
33984 
33985   case 983:
33986 #line 6769 "gram.y" /* yacc.c:1652  */
33987     { (yyval.objtype) = OBJECT_FOREIGN_TABLE; }
33988 #line 33989 "gram.c" /* yacc.c:1652  */
33989     break;
33990 
33991   case 984:
33992 #line 6770 "gram.y" /* yacc.c:1652  */
33993     { (yyval.objtype) = OBJECT_SEQUENCE; }
33994 #line 33995 "gram.c" /* yacc.c:1652  */
33995     break;
33996 
33997   case 985:
33998 #line 6771 "gram.y" /* yacc.c:1652  */
33999     { (yyval.objtype) = OBJECT_TABLE; }
34000 #line 34001 "gram.c" /* yacc.c:1652  */
34001     break;
34002 
34003   case 986:
34004 #line 6772 "gram.y" /* yacc.c:1652  */
34005     { (yyval.objtype) = OBJECT_VIEW; }
34006 #line 34007 "gram.c" /* yacc.c:1652  */
34007     break;
34008 
34009   case 987:
34010 #line 6773 "gram.y" /* yacc.c:1652  */
34011     { (yyval.objtype) = OBJECT_MATVIEW; }
34012 #line 34013 "gram.c" /* yacc.c:1652  */
34013     break;
34014 
34015   case 988:
34016 #line 6778 "gram.y" /* yacc.c:1652  */
34017     { (yyval.objtype) = OBJECT_DATABASE; }
34018 #line 34019 "gram.c" /* yacc.c:1652  */
34019     break;
34020 
34021   case 989:
34022 #line 6779 "gram.y" /* yacc.c:1652  */
34023     { (yyval.objtype) = OBJECT_EVENT_TRIGGER; }
34024 #line 34025 "gram.c" /* yacc.c:1652  */
34025     break;
34026 
34027   case 990:
34028 #line 6780 "gram.y" /* yacc.c:1652  */
34029     { (yyval.objtype) = OBJECT_LANGUAGE; }
34030 #line 34031 "gram.c" /* yacc.c:1652  */
34031     break;
34032 
34033   case 991:
34034 #line 6781 "gram.y" /* yacc.c:1652  */
34035     { (yyval.objtype) = OBJECT_PUBLICATION; }
34036 #line 34037 "gram.c" /* yacc.c:1652  */
34037     break;
34038 
34039   case 992:
34040 #line 6782 "gram.y" /* yacc.c:1652  */
34041     { (yyval.objtype) = OBJECT_ROLE; }
34042 #line 34043 "gram.c" /* yacc.c:1652  */
34043     break;
34044 
34045   case 993:
34046 #line 6783 "gram.y" /* yacc.c:1652  */
34047     { (yyval.objtype) = OBJECT_SCHEMA; }
34048 #line 34049 "gram.c" /* yacc.c:1652  */
34049     break;
34050 
34051   case 994:
34052 #line 6784 "gram.y" /* yacc.c:1652  */
34053     { (yyval.objtype) = OBJECT_SUBSCRIPTION; }
34054 #line 34055 "gram.c" /* yacc.c:1652  */
34055     break;
34056 
34057   case 995:
34058 #line 6785 "gram.y" /* yacc.c:1652  */
34059     { (yyval.objtype) = OBJECT_TABLESPACE; }
34060 #line 34061 "gram.c" /* yacc.c:1652  */
34061     break;
34062 
34063   case 996:
34064 #line 6788 "gram.y" /* yacc.c:1652  */
34065     { (yyval.str) = (yyvsp[0].str); }
34066 #line 34067 "gram.c" /* yacc.c:1652  */
34067     break;
34068 
34069   case 997:
34070 #line 6789 "gram.y" /* yacc.c:1652  */
34071     { (yyval.str) = NULL; }
34072 #line 34073 "gram.c" /* yacc.c:1652  */
34073     break;
34074 
34075   case 998:
34076 #line 6800 "gram.y" /* yacc.c:1652  */
34077     {
34078 					FetchStmt *n = (FetchStmt *) (yyvsp[0].node);
34079 					n->ismove = false;
34080 					(yyval.node) = (Node *)n;
34081 				}
34082 #line 34083 "gram.c" /* yacc.c:1652  */
34083     break;
34084 
34085   case 999:
34086 #line 6806 "gram.y" /* yacc.c:1652  */
34087     {
34088 					FetchStmt *n = (FetchStmt *) (yyvsp[0].node);
34089 					n->ismove = true;
34090 					(yyval.node) = (Node *)n;
34091 				}
34092 #line 34093 "gram.c" /* yacc.c:1652  */
34093     break;
34094 
34095   case 1000:
34096 #line 6814 "gram.y" /* yacc.c:1652  */
34097     {
34098 					FetchStmt *n = makeNode(FetchStmt);
34099 					n->portalname = (yyvsp[0].str);
34100 					n->direction = FETCH_FORWARD;
34101 					n->howMany = 1;
34102 					(yyval.node) = (Node *)n;
34103 				}
34104 #line 34105 "gram.c" /* yacc.c:1652  */
34105     break;
34106 
34107   case 1001:
34108 #line 6822 "gram.y" /* yacc.c:1652  */
34109     {
34110 					FetchStmt *n = makeNode(FetchStmt);
34111 					n->portalname = (yyvsp[0].str);
34112 					n->direction = FETCH_FORWARD;
34113 					n->howMany = 1;
34114 					(yyval.node) = (Node *)n;
34115 				}
34116 #line 34117 "gram.c" /* yacc.c:1652  */
34117     break;
34118 
34119   case 1002:
34120 #line 6830 "gram.y" /* yacc.c:1652  */
34121     {
34122 					FetchStmt *n = makeNode(FetchStmt);
34123 					n->portalname = (yyvsp[0].str);
34124 					n->direction = FETCH_FORWARD;
34125 					n->howMany = 1;
34126 					(yyval.node) = (Node *)n;
34127 				}
34128 #line 34129 "gram.c" /* yacc.c:1652  */
34129     break;
34130 
34131   case 1003:
34132 #line 6838 "gram.y" /* yacc.c:1652  */
34133     {
34134 					FetchStmt *n = makeNode(FetchStmt);
34135 					n->portalname = (yyvsp[0].str);
34136 					n->direction = FETCH_BACKWARD;
34137 					n->howMany = 1;
34138 					(yyval.node) = (Node *)n;
34139 				}
34140 #line 34141 "gram.c" /* yacc.c:1652  */
34141     break;
34142 
34143   case 1004:
34144 #line 6846 "gram.y" /* yacc.c:1652  */
34145     {
34146 					FetchStmt *n = makeNode(FetchStmt);
34147 					n->portalname = (yyvsp[0].str);
34148 					n->direction = FETCH_ABSOLUTE;
34149 					n->howMany = 1;
34150 					(yyval.node) = (Node *)n;
34151 				}
34152 #line 34153 "gram.c" /* yacc.c:1652  */
34153     break;
34154 
34155   case 1005:
34156 #line 6854 "gram.y" /* yacc.c:1652  */
34157     {
34158 					FetchStmt *n = makeNode(FetchStmt);
34159 					n->portalname = (yyvsp[0].str);
34160 					n->direction = FETCH_ABSOLUTE;
34161 					n->howMany = -1;
34162 					(yyval.node) = (Node *)n;
34163 				}
34164 #line 34165 "gram.c" /* yacc.c:1652  */
34165     break;
34166 
34167   case 1006:
34168 #line 6862 "gram.y" /* yacc.c:1652  */
34169     {
34170 					FetchStmt *n = makeNode(FetchStmt);
34171 					n->portalname = (yyvsp[0].str);
34172 					n->direction = FETCH_ABSOLUTE;
34173 					n->howMany = (yyvsp[-2].ival);
34174 					(yyval.node) = (Node *)n;
34175 				}
34176 #line 34177 "gram.c" /* yacc.c:1652  */
34177     break;
34178 
34179   case 1007:
34180 #line 6870 "gram.y" /* yacc.c:1652  */
34181     {
34182 					FetchStmt *n = makeNode(FetchStmt);
34183 					n->portalname = (yyvsp[0].str);
34184 					n->direction = FETCH_RELATIVE;
34185 					n->howMany = (yyvsp[-2].ival);
34186 					(yyval.node) = (Node *)n;
34187 				}
34188 #line 34189 "gram.c" /* yacc.c:1652  */
34189     break;
34190 
34191   case 1008:
34192 #line 6878 "gram.y" /* yacc.c:1652  */
34193     {
34194 					FetchStmt *n = makeNode(FetchStmt);
34195 					n->portalname = (yyvsp[0].str);
34196 					n->direction = FETCH_FORWARD;
34197 					n->howMany = (yyvsp[-2].ival);
34198 					(yyval.node) = (Node *)n;
34199 				}
34200 #line 34201 "gram.c" /* yacc.c:1652  */
34201     break;
34202 
34203   case 1009:
34204 #line 6886 "gram.y" /* yacc.c:1652  */
34205     {
34206 					FetchStmt *n = makeNode(FetchStmt);
34207 					n->portalname = (yyvsp[0].str);
34208 					n->direction = FETCH_FORWARD;
34209 					n->howMany = FETCH_ALL;
34210 					(yyval.node) = (Node *)n;
34211 				}
34212 #line 34213 "gram.c" /* yacc.c:1652  */
34213     break;
34214 
34215   case 1010:
34216 #line 6894 "gram.y" /* yacc.c:1652  */
34217     {
34218 					FetchStmt *n = makeNode(FetchStmt);
34219 					n->portalname = (yyvsp[0].str);
34220 					n->direction = FETCH_FORWARD;
34221 					n->howMany = 1;
34222 					(yyval.node) = (Node *)n;
34223 				}
34224 #line 34225 "gram.c" /* yacc.c:1652  */
34225     break;
34226 
34227   case 1011:
34228 #line 6902 "gram.y" /* yacc.c:1652  */
34229     {
34230 					FetchStmt *n = makeNode(FetchStmt);
34231 					n->portalname = (yyvsp[0].str);
34232 					n->direction = FETCH_FORWARD;
34233 					n->howMany = (yyvsp[-2].ival);
34234 					(yyval.node) = (Node *)n;
34235 				}
34236 #line 34237 "gram.c" /* yacc.c:1652  */
34237     break;
34238 
34239   case 1012:
34240 #line 6910 "gram.y" /* yacc.c:1652  */
34241     {
34242 					FetchStmt *n = makeNode(FetchStmt);
34243 					n->portalname = (yyvsp[0].str);
34244 					n->direction = FETCH_FORWARD;
34245 					n->howMany = FETCH_ALL;
34246 					(yyval.node) = (Node *)n;
34247 				}
34248 #line 34249 "gram.c" /* yacc.c:1652  */
34249     break;
34250 
34251   case 1013:
34252 #line 6918 "gram.y" /* yacc.c:1652  */
34253     {
34254 					FetchStmt *n = makeNode(FetchStmt);
34255 					n->portalname = (yyvsp[0].str);
34256 					n->direction = FETCH_BACKWARD;
34257 					n->howMany = 1;
34258 					(yyval.node) = (Node *)n;
34259 				}
34260 #line 34261 "gram.c" /* yacc.c:1652  */
34261     break;
34262 
34263   case 1014:
34264 #line 6926 "gram.y" /* yacc.c:1652  */
34265     {
34266 					FetchStmt *n = makeNode(FetchStmt);
34267 					n->portalname = (yyvsp[0].str);
34268 					n->direction = FETCH_BACKWARD;
34269 					n->howMany = (yyvsp[-2].ival);
34270 					(yyval.node) = (Node *)n;
34271 				}
34272 #line 34273 "gram.c" /* yacc.c:1652  */
34273     break;
34274 
34275   case 1015:
34276 #line 6934 "gram.y" /* yacc.c:1652  */
34277     {
34278 					FetchStmt *n = makeNode(FetchStmt);
34279 					n->portalname = (yyvsp[0].str);
34280 					n->direction = FETCH_BACKWARD;
34281 					n->howMany = FETCH_ALL;
34282 					(yyval.node) = (Node *)n;
34283 				}
34284 #line 34285 "gram.c" /* yacc.c:1652  */
34285     break;
34286 
34287   case 1016:
34288 #line 6943 "gram.y" /* yacc.c:1652  */
34289     {}
34290 #line 34291 "gram.c" /* yacc.c:1652  */
34291     break;
34292 
34293   case 1017:
34294 #line 6944 "gram.y" /* yacc.c:1652  */
34295     {}
34296 #line 34297 "gram.c" /* yacc.c:1652  */
34297     break;
34298 
34299   case 1018:
34300 #line 6947 "gram.y" /* yacc.c:1652  */
34301     {}
34302 #line 34303 "gram.c" /* yacc.c:1652  */
34303     break;
34304 
34305   case 1019:
34306 #line 6948 "gram.y" /* yacc.c:1652  */
34307     {}
34308 #line 34309 "gram.c" /* yacc.c:1652  */
34309     break;
34310 
34311   case 1020:
34312 #line 6960 "gram.y" /* yacc.c:1652  */
34313     {
34314 					GrantStmt *n = makeNode(GrantStmt);
34315 					n->is_grant = true;
34316 					n->privileges = (yyvsp[-5].list);
34317 					n->targtype = ((yyvsp[-3].privtarget))->targtype;
34318 					n->objtype = ((yyvsp[-3].privtarget))->objtype;
34319 					n->objects = ((yyvsp[-3].privtarget))->objs;
34320 					n->grantees = (yyvsp[-1].list);
34321 					n->grant_option = (yyvsp[0].boolean);
34322 					(yyval.node) = (Node*)n;
34323 				}
34324 #line 34325 "gram.c" /* yacc.c:1652  */
34325     break;
34326 
34327   case 1021:
34328 #line 6976 "gram.y" /* yacc.c:1652  */
34329     {
34330 					GrantStmt *n = makeNode(GrantStmt);
34331 					n->is_grant = false;
34332 					n->grant_option = false;
34333 					n->privileges = (yyvsp[-5].list);
34334 					n->targtype = ((yyvsp[-3].privtarget))->targtype;
34335 					n->objtype = ((yyvsp[-3].privtarget))->objtype;
34336 					n->objects = ((yyvsp[-3].privtarget))->objs;
34337 					n->grantees = (yyvsp[-1].list);
34338 					n->behavior = (yyvsp[0].dbehavior);
34339 					(yyval.node) = (Node *)n;
34340 				}
34341 #line 34342 "gram.c" /* yacc.c:1652  */
34342     break;
34343 
34344   case 1022:
34345 #line 6990 "gram.y" /* yacc.c:1652  */
34346     {
34347 					GrantStmt *n = makeNode(GrantStmt);
34348 					n->is_grant = false;
34349 					n->grant_option = true;
34350 					n->privileges = (yyvsp[-5].list);
34351 					n->targtype = ((yyvsp[-3].privtarget))->targtype;
34352 					n->objtype = ((yyvsp[-3].privtarget))->objtype;
34353 					n->objects = ((yyvsp[-3].privtarget))->objs;
34354 					n->grantees = (yyvsp[-1].list);
34355 					n->behavior = (yyvsp[0].dbehavior);
34356 					(yyval.node) = (Node *)n;
34357 				}
34358 #line 34359 "gram.c" /* yacc.c:1652  */
34359     break;
34360 
34361   case 1023:
34362 #line 7015 "gram.y" /* yacc.c:1652  */
34363     { (yyval.list) = (yyvsp[0].list); }
34364 #line 34365 "gram.c" /* yacc.c:1652  */
34365     break;
34366 
34367   case 1024:
34368 #line 7017 "gram.y" /* yacc.c:1652  */
34369     { (yyval.list) = NIL; }
34370 #line 34371 "gram.c" /* yacc.c:1652  */
34371     break;
34372 
34373   case 1025:
34374 #line 7019 "gram.y" /* yacc.c:1652  */
34375     { (yyval.list) = NIL; }
34376 #line 34377 "gram.c" /* yacc.c:1652  */
34377     break;
34378 
34379   case 1026:
34380 #line 7021 "gram.y" /* yacc.c:1652  */
34381     {
34382 					AccessPriv *n = makeNode(AccessPriv);
34383 					n->priv_name = NULL;
34384 					n->cols = (yyvsp[-1].list);
34385 					(yyval.list) = list_make1(n);
34386 				}
34387 #line 34388 "gram.c" /* yacc.c:1652  */
34388     break;
34389 
34390   case 1027:
34391 #line 7028 "gram.y" /* yacc.c:1652  */
34392     {
34393 					AccessPriv *n = makeNode(AccessPriv);
34394 					n->priv_name = NULL;
34395 					n->cols = (yyvsp[-1].list);
34396 					(yyval.list) = list_make1(n);
34397 				}
34398 #line 34399 "gram.c" /* yacc.c:1652  */
34399     break;
34400 
34401   case 1028:
34402 #line 7036 "gram.y" /* yacc.c:1652  */
34403     { (yyval.list) = list_make1((yyvsp[0].accesspriv)); }
34404 #line 34405 "gram.c" /* yacc.c:1652  */
34405     break;
34406 
34407   case 1029:
34408 #line 7037 "gram.y" /* yacc.c:1652  */
34409     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].accesspriv)); }
34410 #line 34411 "gram.c" /* yacc.c:1652  */
34411     break;
34412 
34413   case 1030:
34414 #line 7041 "gram.y" /* yacc.c:1652  */
34415     {
34416 				AccessPriv *n = makeNode(AccessPriv);
34417 				n->priv_name = pstrdup((yyvsp[-1].keyword));
34418 				n->cols = (yyvsp[0].list);
34419 				(yyval.accesspriv) = n;
34420 			}
34421 #line 34422 "gram.c" /* yacc.c:1652  */
34422     break;
34423 
34424   case 1031:
34425 #line 7048 "gram.y" /* yacc.c:1652  */
34426     {
34427 				AccessPriv *n = makeNode(AccessPriv);
34428 				n->priv_name = pstrdup((yyvsp[-1].keyword));
34429 				n->cols = (yyvsp[0].list);
34430 				(yyval.accesspriv) = n;
34431 			}
34432 #line 34433 "gram.c" /* yacc.c:1652  */
34433     break;
34434 
34435   case 1032:
34436 #line 7055 "gram.y" /* yacc.c:1652  */
34437     {
34438 				AccessPriv *n = makeNode(AccessPriv);
34439 				n->priv_name = pstrdup((yyvsp[-1].keyword));
34440 				n->cols = (yyvsp[0].list);
34441 				(yyval.accesspriv) = n;
34442 			}
34443 #line 34444 "gram.c" /* yacc.c:1652  */
34444     break;
34445 
34446   case 1033:
34447 #line 7062 "gram.y" /* yacc.c:1652  */
34448     {
34449 				AccessPriv *n = makeNode(AccessPriv);
34450 				n->priv_name = (yyvsp[-1].str);
34451 				n->cols = (yyvsp[0].list);
34452 				(yyval.accesspriv) = n;
34453 			}
34454 #line 34455 "gram.c" /* yacc.c:1652  */
34455     break;
34456 
34457   case 1034:
34458 #line 7076 "gram.y" /* yacc.c:1652  */
34459     {
34460 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
34461 					n->targtype = ACL_TARGET_OBJECT;
34462 					n->objtype = OBJECT_TABLE;
34463 					n->objs = (yyvsp[0].list);
34464 					(yyval.privtarget) = n;
34465 				}
34466 #line 34467 "gram.c" /* yacc.c:1652  */
34467     break;
34468 
34469   case 1035:
34470 #line 7084 "gram.y" /* yacc.c:1652  */
34471     {
34472 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
34473 					n->targtype = ACL_TARGET_OBJECT;
34474 					n->objtype = OBJECT_TABLE;
34475 					n->objs = (yyvsp[0].list);
34476 					(yyval.privtarget) = n;
34477 				}
34478 #line 34479 "gram.c" /* yacc.c:1652  */
34479     break;
34480 
34481   case 1036:
34482 #line 7092 "gram.y" /* yacc.c:1652  */
34483     {
34484 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
34485 					n->targtype = ACL_TARGET_OBJECT;
34486 					n->objtype = OBJECT_SEQUENCE;
34487 					n->objs = (yyvsp[0].list);
34488 					(yyval.privtarget) = n;
34489 				}
34490 #line 34491 "gram.c" /* yacc.c:1652  */
34491     break;
34492 
34493   case 1037:
34494 #line 7100 "gram.y" /* yacc.c:1652  */
34495     {
34496 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
34497 					n->targtype = ACL_TARGET_OBJECT;
34498 					n->objtype = OBJECT_FDW;
34499 					n->objs = (yyvsp[0].list);
34500 					(yyval.privtarget) = n;
34501 				}
34502 #line 34503 "gram.c" /* yacc.c:1652  */
34503     break;
34504 
34505   case 1038:
34506 #line 7108 "gram.y" /* yacc.c:1652  */
34507     {
34508 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
34509 					n->targtype = ACL_TARGET_OBJECT;
34510 					n->objtype = OBJECT_FOREIGN_SERVER;
34511 					n->objs = (yyvsp[0].list);
34512 					(yyval.privtarget) = n;
34513 				}
34514 #line 34515 "gram.c" /* yacc.c:1652  */
34515     break;
34516 
34517   case 1039:
34518 #line 7116 "gram.y" /* yacc.c:1652  */
34519     {
34520 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
34521 					n->targtype = ACL_TARGET_OBJECT;
34522 					n->objtype = OBJECT_FUNCTION;
34523 					n->objs = (yyvsp[0].list);
34524 					(yyval.privtarget) = n;
34525 				}
34526 #line 34527 "gram.c" /* yacc.c:1652  */
34527     break;
34528 
34529   case 1040:
34530 #line 7124 "gram.y" /* yacc.c:1652  */
34531     {
34532 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
34533 					n->targtype = ACL_TARGET_OBJECT;
34534 					n->objtype = OBJECT_PROCEDURE;
34535 					n->objs = (yyvsp[0].list);
34536 					(yyval.privtarget) = n;
34537 				}
34538 #line 34539 "gram.c" /* yacc.c:1652  */
34539     break;
34540 
34541   case 1041:
34542 #line 7132 "gram.y" /* yacc.c:1652  */
34543     {
34544 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
34545 					n->targtype = ACL_TARGET_OBJECT;
34546 					n->objtype = OBJECT_ROUTINE;
34547 					n->objs = (yyvsp[0].list);
34548 					(yyval.privtarget) = n;
34549 				}
34550 #line 34551 "gram.c" /* yacc.c:1652  */
34551     break;
34552 
34553   case 1042:
34554 #line 7140 "gram.y" /* yacc.c:1652  */
34555     {
34556 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
34557 					n->targtype = ACL_TARGET_OBJECT;
34558 					n->objtype = OBJECT_DATABASE;
34559 					n->objs = (yyvsp[0].list);
34560 					(yyval.privtarget) = n;
34561 				}
34562 #line 34563 "gram.c" /* yacc.c:1652  */
34563     break;
34564 
34565   case 1043:
34566 #line 7148 "gram.y" /* yacc.c:1652  */
34567     {
34568 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
34569 					n->targtype = ACL_TARGET_OBJECT;
34570 					n->objtype = OBJECT_DOMAIN;
34571 					n->objs = (yyvsp[0].list);
34572 					(yyval.privtarget) = n;
34573 				}
34574 #line 34575 "gram.c" /* yacc.c:1652  */
34575     break;
34576 
34577   case 1044:
34578 #line 7156 "gram.y" /* yacc.c:1652  */
34579     {
34580 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
34581 					n->targtype = ACL_TARGET_OBJECT;
34582 					n->objtype = OBJECT_LANGUAGE;
34583 					n->objs = (yyvsp[0].list);
34584 					(yyval.privtarget) = n;
34585 				}
34586 #line 34587 "gram.c" /* yacc.c:1652  */
34587     break;
34588 
34589   case 1045:
34590 #line 7164 "gram.y" /* yacc.c:1652  */
34591     {
34592 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
34593 					n->targtype = ACL_TARGET_OBJECT;
34594 					n->objtype = OBJECT_LARGEOBJECT;
34595 					n->objs = (yyvsp[0].list);
34596 					(yyval.privtarget) = n;
34597 				}
34598 #line 34599 "gram.c" /* yacc.c:1652  */
34599     break;
34600 
34601   case 1046:
34602 #line 7172 "gram.y" /* yacc.c:1652  */
34603     {
34604 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
34605 					n->targtype = ACL_TARGET_OBJECT;
34606 					n->objtype = OBJECT_SCHEMA;
34607 					n->objs = (yyvsp[0].list);
34608 					(yyval.privtarget) = n;
34609 				}
34610 #line 34611 "gram.c" /* yacc.c:1652  */
34611     break;
34612 
34613   case 1047:
34614 #line 7180 "gram.y" /* yacc.c:1652  */
34615     {
34616 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
34617 					n->targtype = ACL_TARGET_OBJECT;
34618 					n->objtype = OBJECT_TABLESPACE;
34619 					n->objs = (yyvsp[0].list);
34620 					(yyval.privtarget) = n;
34621 				}
34622 #line 34623 "gram.c" /* yacc.c:1652  */
34623     break;
34624 
34625   case 1048:
34626 #line 7188 "gram.y" /* yacc.c:1652  */
34627     {
34628 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
34629 					n->targtype = ACL_TARGET_OBJECT;
34630 					n->objtype = OBJECT_TYPE;
34631 					n->objs = (yyvsp[0].list);
34632 					(yyval.privtarget) = n;
34633 				}
34634 #line 34635 "gram.c" /* yacc.c:1652  */
34635     break;
34636 
34637   case 1049:
34638 #line 7196 "gram.y" /* yacc.c:1652  */
34639     {
34640 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
34641 					n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
34642 					n->objtype = OBJECT_TABLE;
34643 					n->objs = (yyvsp[0].list);
34644 					(yyval.privtarget) = n;
34645 				}
34646 #line 34647 "gram.c" /* yacc.c:1652  */
34647     break;
34648 
34649   case 1050:
34650 #line 7204 "gram.y" /* yacc.c:1652  */
34651     {
34652 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
34653 					n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
34654 					n->objtype = OBJECT_SEQUENCE;
34655 					n->objs = (yyvsp[0].list);
34656 					(yyval.privtarget) = n;
34657 				}
34658 #line 34659 "gram.c" /* yacc.c:1652  */
34659     break;
34660 
34661   case 1051:
34662 #line 7212 "gram.y" /* yacc.c:1652  */
34663     {
34664 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
34665 					n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
34666 					n->objtype = OBJECT_FUNCTION;
34667 					n->objs = (yyvsp[0].list);
34668 					(yyval.privtarget) = n;
34669 				}
34670 #line 34671 "gram.c" /* yacc.c:1652  */
34671     break;
34672 
34673   case 1052:
34674 #line 7220 "gram.y" /* yacc.c:1652  */
34675     {
34676 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
34677 					n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
34678 					n->objtype = OBJECT_PROCEDURE;
34679 					n->objs = (yyvsp[0].list);
34680 					(yyval.privtarget) = n;
34681 				}
34682 #line 34683 "gram.c" /* yacc.c:1652  */
34683     break;
34684 
34685   case 1053:
34686 #line 7228 "gram.y" /* yacc.c:1652  */
34687     {
34688 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
34689 					n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
34690 					n->objtype = OBJECT_ROUTINE;
34691 					n->objs = (yyvsp[0].list);
34692 					(yyval.privtarget) = n;
34693 				}
34694 #line 34695 "gram.c" /* yacc.c:1652  */
34695     break;
34696 
34697   case 1054:
34698 #line 7239 "gram.y" /* yacc.c:1652  */
34699     { (yyval.list) = list_make1((yyvsp[0].rolespec)); }
34700 #line 34701 "gram.c" /* yacc.c:1652  */
34701     break;
34702 
34703   case 1055:
34704 #line 7240 "gram.y" /* yacc.c:1652  */
34705     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].rolespec)); }
34706 #line 34707 "gram.c" /* yacc.c:1652  */
34707     break;
34708 
34709   case 1056:
34710 #line 7244 "gram.y" /* yacc.c:1652  */
34711     { (yyval.rolespec) = (yyvsp[0].rolespec); }
34712 #line 34713 "gram.c" /* yacc.c:1652  */
34713     break;
34714 
34715   case 1057:
34716 #line 7245 "gram.y" /* yacc.c:1652  */
34717     { (yyval.rolespec) = (yyvsp[0].rolespec); }
34718 #line 34719 "gram.c" /* yacc.c:1652  */
34719     break;
34720 
34721   case 1058:
34722 #line 7250 "gram.y" /* yacc.c:1652  */
34723     { (yyval.boolean) = true; }
34724 #line 34725 "gram.c" /* yacc.c:1652  */
34725     break;
34726 
34727   case 1059:
34728 #line 7251 "gram.y" /* yacc.c:1652  */
34729     { (yyval.boolean) = false; }
34730 #line 34731 "gram.c" /* yacc.c:1652  */
34731     break;
34732 
34733   case 1060:
34734 #line 7262 "gram.y" /* yacc.c:1652  */
34735     {
34736 					GrantRoleStmt *n = makeNode(GrantRoleStmt);
34737 					n->is_grant = true;
34738 					n->granted_roles = (yyvsp[-4].list);
34739 					n->grantee_roles = (yyvsp[-2].list);
34740 					n->admin_opt = (yyvsp[-1].boolean);
34741 					n->grantor = (yyvsp[0].rolespec);
34742 					(yyval.node) = (Node*)n;
34743 				}
34744 #line 34745 "gram.c" /* yacc.c:1652  */
34745     break;
34746 
34747   case 1061:
34748 #line 7275 "gram.y" /* yacc.c:1652  */
34749     {
34750 					GrantRoleStmt *n = makeNode(GrantRoleStmt);
34751 					n->is_grant = false;
34752 					n->admin_opt = false;
34753 					n->granted_roles = (yyvsp[-4].list);
34754 					n->grantee_roles = (yyvsp[-2].list);
34755 					n->behavior = (yyvsp[0].dbehavior);
34756 					(yyval.node) = (Node*)n;
34757 				}
34758 #line 34759 "gram.c" /* yacc.c:1652  */
34759     break;
34760 
34761   case 1062:
34762 #line 7285 "gram.y" /* yacc.c:1652  */
34763     {
34764 					GrantRoleStmt *n = makeNode(GrantRoleStmt);
34765 					n->is_grant = false;
34766 					n->admin_opt = true;
34767 					n->granted_roles = (yyvsp[-4].list);
34768 					n->grantee_roles = (yyvsp[-2].list);
34769 					n->behavior = (yyvsp[0].dbehavior);
34770 					(yyval.node) = (Node*)n;
34771 				}
34772 #line 34773 "gram.c" /* yacc.c:1652  */
34773     break;
34774 
34775   case 1063:
34776 #line 7296 "gram.y" /* yacc.c:1652  */
34777     { (yyval.boolean) = true; }
34778 #line 34779 "gram.c" /* yacc.c:1652  */
34779     break;
34780 
34781   case 1064:
34782 #line 7297 "gram.y" /* yacc.c:1652  */
34783     { (yyval.boolean) = false; }
34784 #line 34785 "gram.c" /* yacc.c:1652  */
34785     break;
34786 
34787   case 1065:
34788 #line 7300 "gram.y" /* yacc.c:1652  */
34789     { (yyval.rolespec) = (yyvsp[0].rolespec); }
34790 #line 34791 "gram.c" /* yacc.c:1652  */
34791     break;
34792 
34793   case 1066:
34794 #line 7301 "gram.y" /* yacc.c:1652  */
34795     { (yyval.rolespec) = NULL; }
34796 #line 34797 "gram.c" /* yacc.c:1652  */
34797     break;
34798 
34799   case 1067:
34800 #line 7312 "gram.y" /* yacc.c:1652  */
34801     {
34802 					AlterDefaultPrivilegesStmt *n = makeNode(AlterDefaultPrivilegesStmt);
34803 					n->options = (yyvsp[-1].list);
34804 					n->action = (GrantStmt *) (yyvsp[0].node);
34805 					(yyval.node) = (Node*)n;
34806 				}
34807 #line 34808 "gram.c" /* yacc.c:1652  */
34808     break;
34809 
34810   case 1068:
34811 #line 7321 "gram.y" /* yacc.c:1652  */
34812     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
34813 #line 34814 "gram.c" /* yacc.c:1652  */
34814     break;
34815 
34816   case 1069:
34817 #line 7322 "gram.y" /* yacc.c:1652  */
34818     { (yyval.list) = NIL; }
34819 #line 34820 "gram.c" /* yacc.c:1652  */
34820     break;
34821 
34822   case 1070:
34823 #line 7327 "gram.y" /* yacc.c:1652  */
34824     {
34825 					(yyval.defelt) = makeDefElem("schemas", (Node *)(yyvsp[0].list), (yylsp[-2]));
34826 				}
34827 #line 34828 "gram.c" /* yacc.c:1652  */
34828     break;
34829 
34830   case 1071:
34831 #line 7331 "gram.y" /* yacc.c:1652  */
34832     {
34833 					(yyval.defelt) = makeDefElem("roles", (Node *)(yyvsp[0].list), (yylsp[-2]));
34834 				}
34835 #line 34836 "gram.c" /* yacc.c:1652  */
34836     break;
34837 
34838   case 1072:
34839 #line 7335 "gram.y" /* yacc.c:1652  */
34840     {
34841 					(yyval.defelt) = makeDefElem("roles", (Node *)(yyvsp[0].list), (yylsp[-2]));
34842 				}
34843 #line 34844 "gram.c" /* yacc.c:1652  */
34844     break;
34845 
34846   case 1073:
34847 #line 7347 "gram.y" /* yacc.c:1652  */
34848     {
34849 					GrantStmt *n = makeNode(GrantStmt);
34850 					n->is_grant = true;
34851 					n->privileges = (yyvsp[-5].list);
34852 					n->targtype = ACL_TARGET_DEFAULTS;
34853 					n->objtype = (yyvsp[-3].ival);
34854 					n->objects = NIL;
34855 					n->grantees = (yyvsp[-1].list);
34856 					n->grant_option = (yyvsp[0].boolean);
34857 					(yyval.node) = (Node*)n;
34858 				}
34859 #line 34860 "gram.c" /* yacc.c:1652  */
34860     break;
34861 
34862   case 1074:
34863 #line 7360 "gram.y" /* yacc.c:1652  */
34864     {
34865 					GrantStmt *n = makeNode(GrantStmt);
34866 					n->is_grant = false;
34867 					n->grant_option = false;
34868 					n->privileges = (yyvsp[-5].list);
34869 					n->targtype = ACL_TARGET_DEFAULTS;
34870 					n->objtype = (yyvsp[-3].ival);
34871 					n->objects = NIL;
34872 					n->grantees = (yyvsp[-1].list);
34873 					n->behavior = (yyvsp[0].dbehavior);
34874 					(yyval.node) = (Node *)n;
34875 				}
34876 #line 34877 "gram.c" /* yacc.c:1652  */
34877     break;
34878 
34879   case 1075:
34880 #line 7374 "gram.y" /* yacc.c:1652  */
34881     {
34882 					GrantStmt *n = makeNode(GrantStmt);
34883 					n->is_grant = false;
34884 					n->grant_option = true;
34885 					n->privileges = (yyvsp[-5].list);
34886 					n->targtype = ACL_TARGET_DEFAULTS;
34887 					n->objtype = (yyvsp[-3].ival);
34888 					n->objects = NIL;
34889 					n->grantees = (yyvsp[-1].list);
34890 					n->behavior = (yyvsp[0].dbehavior);
34891 					(yyval.node) = (Node *)n;
34892 				}
34893 #line 34894 "gram.c" /* yacc.c:1652  */
34894     break;
34895 
34896   case 1076:
34897 #line 7389 "gram.y" /* yacc.c:1652  */
34898     { (yyval.ival) = OBJECT_TABLE; }
34899 #line 34900 "gram.c" /* yacc.c:1652  */
34900     break;
34901 
34902   case 1077:
34903 #line 7390 "gram.y" /* yacc.c:1652  */
34904     { (yyval.ival) = OBJECT_FUNCTION; }
34905 #line 34906 "gram.c" /* yacc.c:1652  */
34906     break;
34907 
34908   case 1078:
34909 #line 7391 "gram.y" /* yacc.c:1652  */
34910     { (yyval.ival) = OBJECT_FUNCTION; }
34911 #line 34912 "gram.c" /* yacc.c:1652  */
34912     break;
34913 
34914   case 1079:
34915 #line 7392 "gram.y" /* yacc.c:1652  */
34916     { (yyval.ival) = OBJECT_SEQUENCE; }
34917 #line 34918 "gram.c" /* yacc.c:1652  */
34918     break;
34919 
34920   case 1080:
34921 #line 7393 "gram.y" /* yacc.c:1652  */
34922     { (yyval.ival) = OBJECT_TYPE; }
34923 #line 34924 "gram.c" /* yacc.c:1652  */
34924     break;
34925 
34926   case 1081:
34927 #line 7394 "gram.y" /* yacc.c:1652  */
34928     { (yyval.ival) = OBJECT_SCHEMA; }
34929 #line 34930 "gram.c" /* yacc.c:1652  */
34930     break;
34931 
34932   case 1082:
34933 #line 7409 "gram.y" /* yacc.c:1652  */
34934     {
34935 					IndexStmt *n = makeNode(IndexStmt);
34936 					n->unique = (yyvsp[-13].boolean);
34937 					n->concurrent = (yyvsp[-11].boolean);
34938 					n->idxname = (yyvsp[-10].str);
34939 					n->relation = (yyvsp[-8].range);
34940 					n->accessMethod = (yyvsp[-7].str);
34941 					n->indexParams = (yyvsp[-5].list);
34942 					n->indexIncludingParams = (yyvsp[-3].list);
34943 					n->options = (yyvsp[-2].list);
34944 					n->tableSpace = (yyvsp[-1].str);
34945 					n->whereClause = (yyvsp[0].node);
34946 					n->excludeOpNames = NIL;
34947 					n->idxcomment = NULL;
34948 					n->indexOid = InvalidOid;
34949 					n->oldNode = InvalidOid;
34950 					n->oldCreateSubid = InvalidSubTransactionId;
34951 					n->oldFirstRelfilenodeSubid = InvalidSubTransactionId;
34952 					n->primary = false;
34953 					n->isconstraint = false;
34954 					n->deferrable = false;
34955 					n->initdeferred = false;
34956 					n->transformed = false;
34957 					n->if_not_exists = false;
34958 					n->reset_default_tblspc = false;
34959 					(yyval.node) = (Node *)n;
34960 				}
34961 #line 34962 "gram.c" /* yacc.c:1652  */
34962     break;
34963 
34964   case 1083:
34965 #line 7439 "gram.y" /* yacc.c:1652  */
34966     {
34967 					IndexStmt *n = makeNode(IndexStmt);
34968 					n->unique = (yyvsp[-16].boolean);
34969 					n->concurrent = (yyvsp[-14].boolean);
34970 					n->idxname = (yyvsp[-10].str);
34971 					n->relation = (yyvsp[-8].range);
34972 					n->accessMethod = (yyvsp[-7].str);
34973 					n->indexParams = (yyvsp[-5].list);
34974 					n->indexIncludingParams = (yyvsp[-3].list);
34975 					n->options = (yyvsp[-2].list);
34976 					n->tableSpace = (yyvsp[-1].str);
34977 					n->whereClause = (yyvsp[0].node);
34978 					n->excludeOpNames = NIL;
34979 					n->idxcomment = NULL;
34980 					n->indexOid = InvalidOid;
34981 					n->oldNode = InvalidOid;
34982 					n->oldCreateSubid = InvalidSubTransactionId;
34983 					n->oldFirstRelfilenodeSubid = InvalidSubTransactionId;
34984 					n->primary = false;
34985 					n->isconstraint = false;
34986 					n->deferrable = false;
34987 					n->initdeferred = false;
34988 					n->transformed = false;
34989 					n->if_not_exists = true;
34990 					n->reset_default_tblspc = false;
34991 					(yyval.node) = (Node *)n;
34992 				}
34993 #line 34994 "gram.c" /* yacc.c:1652  */
34994     break;
34995 
34996   case 1084:
34997 #line 7469 "gram.y" /* yacc.c:1652  */
34998     { (yyval.boolean) = true; }
34999 #line 35000 "gram.c" /* yacc.c:1652  */
35000     break;
35001 
35002   case 1085:
35003 #line 7470 "gram.y" /* yacc.c:1652  */
35004     { (yyval.boolean) = false; }
35005 #line 35006 "gram.c" /* yacc.c:1652  */
35006     break;
35007 
35008   case 1086:
35009 #line 7474 "gram.y" /* yacc.c:1652  */
35010     { (yyval.boolean) = true; }
35011 #line 35012 "gram.c" /* yacc.c:1652  */
35012     break;
35013 
35014   case 1087:
35015 #line 7475 "gram.y" /* yacc.c:1652  */
35016     { (yyval.boolean) = false; }
35017 #line 35018 "gram.c" /* yacc.c:1652  */
35018     break;
35019 
35020   case 1088:
35021 #line 7479 "gram.y" /* yacc.c:1652  */
35022     { (yyval.str) = (yyvsp[0].str); }
35023 #line 35024 "gram.c" /* yacc.c:1652  */
35024     break;
35025 
35026   case 1089:
35027 #line 7480 "gram.y" /* yacc.c:1652  */
35028     { (yyval.str) = NULL; }
35029 #line 35030 "gram.c" /* yacc.c:1652  */
35030     break;
35031 
35032   case 1090:
35033 #line 7484 "gram.y" /* yacc.c:1652  */
35034     { (yyval.str) = (yyvsp[0].str); }
35035 #line 35036 "gram.c" /* yacc.c:1652  */
35036     break;
35037 
35038   case 1091:
35039 #line 7485 "gram.y" /* yacc.c:1652  */
35040     { (yyval.str) = DEFAULT_INDEX_TYPE; }
35041 #line 35042 "gram.c" /* yacc.c:1652  */
35042     break;
35043 
35044   case 1092:
35045 #line 7488 "gram.y" /* yacc.c:1652  */
35046     { (yyval.list) = list_make1((yyvsp[0].ielem)); }
35047 #line 35048 "gram.c" /* yacc.c:1652  */
35048     break;
35049 
35050   case 1093:
35051 #line 7489 "gram.y" /* yacc.c:1652  */
35052     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].ielem)); }
35053 #line 35054 "gram.c" /* yacc.c:1652  */
35054     break;
35055 
35056   case 1094:
35057 #line 7495 "gram.y" /* yacc.c:1652  */
35058     {
35059 			(yyval.ielem) = makeNode(IndexElem);
35060 			(yyval.ielem)->name = NULL;
35061 			(yyval.ielem)->expr = NULL;
35062 			(yyval.ielem)->indexcolname = NULL;
35063 			(yyval.ielem)->collation = (yyvsp[-3].list);
35064 			(yyval.ielem)->opclass = (yyvsp[-2].list);
35065 			(yyval.ielem)->opclassopts = NIL;
35066 			(yyval.ielem)->ordering = (yyvsp[-1].ival);
35067 			(yyval.ielem)->nulls_ordering = (yyvsp[0].ival);
35068 		}
35069 #line 35070 "gram.c" /* yacc.c:1652  */
35070     break;
35071 
35072   case 1095:
35073 #line 7507 "gram.y" /* yacc.c:1652  */
35074     {
35075 			(yyval.ielem) = makeNode(IndexElem);
35076 			(yyval.ielem)->name = NULL;
35077 			(yyval.ielem)->expr = NULL;
35078 			(yyval.ielem)->indexcolname = NULL;
35079 			(yyval.ielem)->collation = (yyvsp[-4].list);
35080 			(yyval.ielem)->opclass = (yyvsp[-3].list);
35081 			(yyval.ielem)->opclassopts = (yyvsp[-2].list);
35082 			(yyval.ielem)->ordering = (yyvsp[-1].ival);
35083 			(yyval.ielem)->nulls_ordering = (yyvsp[0].ival);
35084 		}
35085 #line 35086 "gram.c" /* yacc.c:1652  */
35086     break;
35087 
35088   case 1096:
35089 #line 7526 "gram.y" /* yacc.c:1652  */
35090     {
35091 					(yyval.ielem) = (yyvsp[0].ielem);
35092 					(yyval.ielem)->name = (yyvsp[-1].str);
35093 				}
35094 #line 35095 "gram.c" /* yacc.c:1652  */
35095     break;
35096 
35097   case 1097:
35098 #line 7531 "gram.y" /* yacc.c:1652  */
35099     {
35100 					(yyval.ielem) = (yyvsp[0].ielem);
35101 					(yyval.ielem)->expr = (yyvsp[-1].node);
35102 				}
35103 #line 35104 "gram.c" /* yacc.c:1652  */
35104     break;
35105 
35106   case 1098:
35107 #line 7536 "gram.y" /* yacc.c:1652  */
35108     {
35109 					(yyval.ielem) = (yyvsp[0].ielem);
35110 					(yyval.ielem)->expr = (yyvsp[-2].node);
35111 				}
35112 #line 35113 "gram.c" /* yacc.c:1652  */
35113     break;
35114 
35115   case 1099:
35116 #line 7542 "gram.y" /* yacc.c:1652  */
35117     { (yyval.list) = (yyvsp[-1].list); }
35118 #line 35119 "gram.c" /* yacc.c:1652  */
35119     break;
35120 
35121   case 1100:
35122 #line 7543 "gram.y" /* yacc.c:1652  */
35123     { (yyval.list) = NIL; }
35124 #line 35125 "gram.c" /* yacc.c:1652  */
35125     break;
35126 
35127   case 1101:
35128 #line 7546 "gram.y" /* yacc.c:1652  */
35129     { (yyval.list) = list_make1((yyvsp[0].ielem)); }
35130 #line 35131 "gram.c" /* yacc.c:1652  */
35131     break;
35132 
35133   case 1102:
35134 #line 7547 "gram.y" /* yacc.c:1652  */
35135     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].ielem)); }
35136 #line 35137 "gram.c" /* yacc.c:1652  */
35137     break;
35138 
35139   case 1103:
35140 #line 7550 "gram.y" /* yacc.c:1652  */
35141     { (yyval.list) = (yyvsp[0].list); }
35142 #line 35143 "gram.c" /* yacc.c:1652  */
35143     break;
35144 
35145   case 1104:
35146 #line 7551 "gram.y" /* yacc.c:1652  */
35147     { (yyval.list) = NIL; }
35148 #line 35149 "gram.c" /* yacc.c:1652  */
35149     break;
35150 
35151   case 1105:
35152 #line 7554 "gram.y" /* yacc.c:1652  */
35153     { (yyval.list) = (yyvsp[0].list); }
35154 #line 35155 "gram.c" /* yacc.c:1652  */
35155     break;
35156 
35157   case 1106:
35158 #line 7555 "gram.y" /* yacc.c:1652  */
35159     { (yyval.list) = NIL; }
35160 #line 35161 "gram.c" /* yacc.c:1652  */
35161     break;
35162 
35163   case 1107:
35164 #line 7558 "gram.y" /* yacc.c:1652  */
35165     { (yyval.ival) = SORTBY_ASC; }
35166 #line 35167 "gram.c" /* yacc.c:1652  */
35167     break;
35168 
35169   case 1108:
35170 #line 7559 "gram.y" /* yacc.c:1652  */
35171     { (yyval.ival) = SORTBY_DESC; }
35172 #line 35173 "gram.c" /* yacc.c:1652  */
35173     break;
35174 
35175   case 1109:
35176 #line 7560 "gram.y" /* yacc.c:1652  */
35177     { (yyval.ival) = SORTBY_DEFAULT; }
35178 #line 35179 "gram.c" /* yacc.c:1652  */
35179     break;
35180 
35181   case 1110:
35182 #line 7563 "gram.y" /* yacc.c:1652  */
35183     { (yyval.ival) = SORTBY_NULLS_FIRST; }
35184 #line 35185 "gram.c" /* yacc.c:1652  */
35185     break;
35186 
35187   case 1111:
35188 #line 7564 "gram.y" /* yacc.c:1652  */
35189     { (yyval.ival) = SORTBY_NULLS_LAST; }
35190 #line 35191 "gram.c" /* yacc.c:1652  */
35191     break;
35192 
35193   case 1112:
35194 #line 7565 "gram.y" /* yacc.c:1652  */
35195     { (yyval.ival) = SORTBY_NULLS_DEFAULT; }
35196 #line 35197 "gram.c" /* yacc.c:1652  */
35197     break;
35198 
35199   case 1113:
35200 #line 7583 "gram.y" /* yacc.c:1652  */
35201     {
35202 					CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
35203 					n->is_procedure = false;
35204 					n->replace = (yyvsp[-6].boolean);
35205 					n->funcname = (yyvsp[-4].list);
35206 					n->parameters = (yyvsp[-3].list);
35207 					n->returnType = (yyvsp[-1].typnam);
35208 					n->options = (yyvsp[0].list);
35209 					(yyval.node) = (Node *)n;
35210 				}
35211 #line 35212 "gram.c" /* yacc.c:1652  */
35212     break;
35213 
35214   case 1114:
35215 #line 7595 "gram.y" /* yacc.c:1652  */
35216     {
35217 					CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
35218 					n->is_procedure = false;
35219 					n->replace = (yyvsp[-9].boolean);
35220 					n->funcname = (yyvsp[-7].list);
35221 					n->parameters = mergeTableFuncParameters((yyvsp[-6].list), (yyvsp[-2].list));
35222 					n->returnType = TableFuncTypeName((yyvsp[-2].list));
35223 					n->returnType->location = (yylsp[-4]);
35224 					n->options = (yyvsp[0].list);
35225 					(yyval.node) = (Node *)n;
35226 				}
35227 #line 35228 "gram.c" /* yacc.c:1652  */
35228     break;
35229 
35230   case 1115:
35231 #line 7608 "gram.y" /* yacc.c:1652  */
35232     {
35233 					CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
35234 					n->is_procedure = false;
35235 					n->replace = (yyvsp[-4].boolean);
35236 					n->funcname = (yyvsp[-2].list);
35237 					n->parameters = (yyvsp[-1].list);
35238 					n->returnType = NULL;
35239 					n->options = (yyvsp[0].list);
35240 					(yyval.node) = (Node *)n;
35241 				}
35242 #line 35243 "gram.c" /* yacc.c:1652  */
35243     break;
35244 
35245   case 1116:
35246 #line 7620 "gram.y" /* yacc.c:1652  */
35247     {
35248 					CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
35249 					n->is_procedure = true;
35250 					n->replace = (yyvsp[-4].boolean);
35251 					n->funcname = (yyvsp[-2].list);
35252 					n->parameters = (yyvsp[-1].list);
35253 					n->returnType = NULL;
35254 					n->options = (yyvsp[0].list);
35255 					(yyval.node) = (Node *)n;
35256 				}
35257 #line 35258 "gram.c" /* yacc.c:1652  */
35258     break;
35259 
35260   case 1117:
35261 #line 7633 "gram.y" /* yacc.c:1652  */
35262     { (yyval.boolean) = true; }
35263 #line 35264 "gram.c" /* yacc.c:1652  */
35264     break;
35265 
35266   case 1118:
35267 #line 7634 "gram.y" /* yacc.c:1652  */
35268     { (yyval.boolean) = false; }
35269 #line 35270 "gram.c" /* yacc.c:1652  */
35270     break;
35271 
35272   case 1119:
35273 #line 7637 "gram.y" /* yacc.c:1652  */
35274     { (yyval.list) = (yyvsp[-1].list); }
35275 #line 35276 "gram.c" /* yacc.c:1652  */
35276     break;
35277 
35278   case 1120:
35279 #line 7638 "gram.y" /* yacc.c:1652  */
35280     { (yyval.list) = NIL; }
35281 #line 35282 "gram.c" /* yacc.c:1652  */
35282     break;
35283 
35284   case 1121:
35285 #line 7642 "gram.y" /* yacc.c:1652  */
35286     { (yyval.list) = list_make1((yyvsp[0].fun_param)); }
35287 #line 35288 "gram.c" /* yacc.c:1652  */
35288     break;
35289 
35290   case 1122:
35291 #line 7643 "gram.y" /* yacc.c:1652  */
35292     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param)); }
35293 #line 35294 "gram.c" /* yacc.c:1652  */
35294     break;
35295 
35296   case 1123:
35297 #line 7647 "gram.y" /* yacc.c:1652  */
35298     { (yyval.list) = list_make1((yyvsp[0].objwithargs)); }
35299 #line 35300 "gram.c" /* yacc.c:1652  */
35300     break;
35301 
35302   case 1124:
35303 #line 7649 "gram.y" /* yacc.c:1652  */
35304     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].objwithargs)); }
35305 #line 35306 "gram.c" /* yacc.c:1652  */
35306     break;
35307 
35308   case 1125:
35309 #line 7654 "gram.y" /* yacc.c:1652  */
35310     {
35311 					ObjectWithArgs *n = makeNode(ObjectWithArgs);
35312 					n->objname = (yyvsp[-1].list);
35313 					n->objargs = extractArgTypes((yyvsp[0].list));
35314 					(yyval.objwithargs) = n;
35315 				}
35316 #line 35317 "gram.c" /* yacc.c:1652  */
35317     break;
35318 
35319   case 1126:
35320 #line 7666 "gram.y" /* yacc.c:1652  */
35321     {
35322 					ObjectWithArgs *n = makeNode(ObjectWithArgs);
35323 					n->objname = list_make1(makeString(pstrdup((yyvsp[0].keyword))));
35324 					n->args_unspecified = true;
35325 					(yyval.objwithargs) = n;
35326 				}
35327 #line 35328 "gram.c" /* yacc.c:1652  */
35328     break;
35329 
35330   case 1127:
35331 #line 7673 "gram.y" /* yacc.c:1652  */
35332     {
35333 					ObjectWithArgs *n = makeNode(ObjectWithArgs);
35334 					n->objname = list_make1(makeString((yyvsp[0].str)));
35335 					n->args_unspecified = true;
35336 					(yyval.objwithargs) = n;
35337 				}
35338 #line 35339 "gram.c" /* yacc.c:1652  */
35339     break;
35340 
35341   case 1128:
35342 #line 7680 "gram.y" /* yacc.c:1652  */
35343     {
35344 					ObjectWithArgs *n = makeNode(ObjectWithArgs);
35345 					n->objname = check_func_name(lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)),
35346 												  yyscanner);
35347 					n->args_unspecified = true;
35348 					(yyval.objwithargs) = n;
35349 				}
35350 #line 35351 "gram.c" /* yacc.c:1652  */
35351     break;
35352 
35353   case 1129:
35354 #line 7694 "gram.y" /* yacc.c:1652  */
35355     { (yyval.list) = (yyvsp[-1].list); }
35356 #line 35357 "gram.c" /* yacc.c:1652  */
35357     break;
35358 
35359   case 1130:
35360 #line 7695 "gram.y" /* yacc.c:1652  */
35361     { (yyval.list) = NIL; }
35362 #line 35363 "gram.c" /* yacc.c:1652  */
35363     break;
35364 
35365   case 1131:
35366 #line 7699 "gram.y" /* yacc.c:1652  */
35367     { (yyval.list) = list_make1((yyvsp[0].fun_param)); }
35368 #line 35369 "gram.c" /* yacc.c:1652  */
35369     break;
35370 
35371   case 1132:
35372 #line 7701 "gram.y" /* yacc.c:1652  */
35373     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param)); }
35374 #line 35375 "gram.c" /* yacc.c:1652  */
35375     break;
35376 
35377   case 1133:
35378 #line 7716 "gram.y" /* yacc.c:1652  */
35379     {
35380 					FunctionParameter *n = makeNode(FunctionParameter);
35381 					n->name = (yyvsp[-1].str);
35382 					n->argType = (yyvsp[0].typnam);
35383 					n->mode = (yyvsp[-2].fun_param_mode);
35384 					n->defexpr = NULL;
35385 					(yyval.fun_param) = n;
35386 				}
35387 #line 35388 "gram.c" /* yacc.c:1652  */
35388     break;
35389 
35390   case 1134:
35391 #line 7725 "gram.y" /* yacc.c:1652  */
35392     {
35393 					FunctionParameter *n = makeNode(FunctionParameter);
35394 					n->name = (yyvsp[-2].str);
35395 					n->argType = (yyvsp[0].typnam);
35396 					n->mode = (yyvsp[-1].fun_param_mode);
35397 					n->defexpr = NULL;
35398 					(yyval.fun_param) = n;
35399 				}
35400 #line 35401 "gram.c" /* yacc.c:1652  */
35401     break;
35402 
35403   case 1135:
35404 #line 7734 "gram.y" /* yacc.c:1652  */
35405     {
35406 					FunctionParameter *n = makeNode(FunctionParameter);
35407 					n->name = (yyvsp[-1].str);
35408 					n->argType = (yyvsp[0].typnam);
35409 					n->mode = FUNC_PARAM_IN;
35410 					n->defexpr = NULL;
35411 					(yyval.fun_param) = n;
35412 				}
35413 #line 35414 "gram.c" /* yacc.c:1652  */
35414     break;
35415 
35416   case 1136:
35417 #line 7743 "gram.y" /* yacc.c:1652  */
35418     {
35419 					FunctionParameter *n = makeNode(FunctionParameter);
35420 					n->name = NULL;
35421 					n->argType = (yyvsp[0].typnam);
35422 					n->mode = (yyvsp[-1].fun_param_mode);
35423 					n->defexpr = NULL;
35424 					(yyval.fun_param) = n;
35425 				}
35426 #line 35427 "gram.c" /* yacc.c:1652  */
35427     break;
35428 
35429   case 1137:
35430 #line 7752 "gram.y" /* yacc.c:1652  */
35431     {
35432 					FunctionParameter *n = makeNode(FunctionParameter);
35433 					n->name = NULL;
35434 					n->argType = (yyvsp[0].typnam);
35435 					n->mode = FUNC_PARAM_IN;
35436 					n->defexpr = NULL;
35437 					(yyval.fun_param) = n;
35438 				}
35439 #line 35440 "gram.c" /* yacc.c:1652  */
35440     break;
35441 
35442   case 1138:
35443 #line 7763 "gram.y" /* yacc.c:1652  */
35444     { (yyval.fun_param_mode) = FUNC_PARAM_IN; }
35445 #line 35446 "gram.c" /* yacc.c:1652  */
35446     break;
35447 
35448   case 1139:
35449 #line 7764 "gram.y" /* yacc.c:1652  */
35450     { (yyval.fun_param_mode) = FUNC_PARAM_OUT; }
35451 #line 35452 "gram.c" /* yacc.c:1652  */
35452     break;
35453 
35454   case 1140:
35455 #line 7765 "gram.y" /* yacc.c:1652  */
35456     { (yyval.fun_param_mode) = FUNC_PARAM_INOUT; }
35457 #line 35458 "gram.c" /* yacc.c:1652  */
35458     break;
35459 
35460   case 1141:
35461 #line 7766 "gram.y" /* yacc.c:1652  */
35462     { (yyval.fun_param_mode) = FUNC_PARAM_INOUT; }
35463 #line 35464 "gram.c" /* yacc.c:1652  */
35464     break;
35465 
35466   case 1142:
35467 #line 7767 "gram.y" /* yacc.c:1652  */
35468     { (yyval.fun_param_mode) = FUNC_PARAM_VARIADIC; }
35469 #line 35470 "gram.c" /* yacc.c:1652  */
35470     break;
35471 
35472   case 1144:
35473 #line 7778 "gram.y" /* yacc.c:1652  */
35474     {
35475 					/* We can catch over-specified results here if we want to,
35476 					 * but for now better to silently swallow typmod, etc.
35477 					 * - thomas 2000-03-22
35478 					 */
35479 					(yyval.typnam) = (yyvsp[0].typnam);
35480 				}
35481 #line 35482 "gram.c" /* yacc.c:1652  */
35482     break;
35483 
35484   case 1145:
35485 #line 7792 "gram.y" /* yacc.c:1652  */
35486     { (yyval.typnam) = (yyvsp[0].typnam); }
35487 #line 35488 "gram.c" /* yacc.c:1652  */
35488     break;
35489 
35490   case 1146:
35491 #line 7794 "gram.y" /* yacc.c:1652  */
35492     {
35493 					(yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[-3].str)), (yyvsp[-2].list)));
35494 					(yyval.typnam)->pct_type = true;
35495 					(yyval.typnam)->location = (yylsp[-3]);
35496 				}
35497 #line 35498 "gram.c" /* yacc.c:1652  */
35498     break;
35499 
35500   case 1147:
35501 #line 7800 "gram.y" /* yacc.c:1652  */
35502     {
35503 					(yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[-3].str)), (yyvsp[-2].list)));
35504 					(yyval.typnam)->pct_type = true;
35505 					(yyval.typnam)->setof = true;
35506 					(yyval.typnam)->location = (yylsp[-3]);
35507 				}
35508 #line 35509 "gram.c" /* yacc.c:1652  */
35509     break;
35510 
35511   case 1148:
35512 #line 7810 "gram.y" /* yacc.c:1652  */
35513     {
35514 					(yyval.fun_param) = (yyvsp[0].fun_param);
35515 				}
35516 #line 35517 "gram.c" /* yacc.c:1652  */
35517     break;
35518 
35519   case 1149:
35520 #line 7814 "gram.y" /* yacc.c:1652  */
35521     {
35522 					(yyval.fun_param) = (yyvsp[-2].fun_param);
35523 					(yyval.fun_param)->defexpr = (yyvsp[0].node);
35524 				}
35525 #line 35526 "gram.c" /* yacc.c:1652  */
35526     break;
35527 
35528   case 1150:
35529 #line 7819 "gram.y" /* yacc.c:1652  */
35530     {
35531 					(yyval.fun_param) = (yyvsp[-2].fun_param);
35532 					(yyval.fun_param)->defexpr = (yyvsp[0].node);
35533 				}
35534 #line 35535 "gram.c" /* yacc.c:1652  */
35535     break;
35536 
35537   case 1151:
35538 #line 7827 "gram.y" /* yacc.c:1652  */
35539     {
35540 					if (!((yyvsp[0].fun_param)->mode == FUNC_PARAM_IN ||
35541 						  (yyvsp[0].fun_param)->mode == FUNC_PARAM_VARIADIC))
35542 						ereport(ERROR,
35543 								(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
35544 								 errmsg("aggregates cannot have output arguments"),
35545 								 parser_errposition((yylsp[0]))));
35546 					(yyval.fun_param) = (yyvsp[0].fun_param);
35547 				}
35548 #line 35549 "gram.c" /* yacc.c:1652  */
35549     break;
35550 
35551   case 1152:
35552 #line 7868 "gram.y" /* yacc.c:1652  */
35553     {
35554 					(yyval.list) = list_make2(NIL, makeInteger(-1));
35555 				}
35556 #line 35557 "gram.c" /* yacc.c:1652  */
35557     break;
35558 
35559   case 1153:
35560 #line 7872 "gram.y" /* yacc.c:1652  */
35561     {
35562 					(yyval.list) = list_make2((yyvsp[-1].list), makeInteger(-1));
35563 				}
35564 #line 35565 "gram.c" /* yacc.c:1652  */
35565     break;
35566 
35567   case 1154:
35568 #line 7876 "gram.y" /* yacc.c:1652  */
35569     {
35570 					(yyval.list) = list_make2((yyvsp[-1].list), makeInteger(0));
35571 				}
35572 #line 35573 "gram.c" /* yacc.c:1652  */
35573     break;
35574 
35575   case 1155:
35576 #line 7880 "gram.y" /* yacc.c:1652  */
35577     {
35578 					/* this is the only case requiring consistency checking */
35579 					(yyval.list) = makeOrderedSetArgs((yyvsp[-4].list), (yyvsp[-1].list), yyscanner);
35580 				}
35581 #line 35582 "gram.c" /* yacc.c:1652  */
35582     break;
35583 
35584   case 1156:
35585 #line 7887 "gram.y" /* yacc.c:1652  */
35586     { (yyval.list) = list_make1((yyvsp[0].fun_param)); }
35587 #line 35588 "gram.c" /* yacc.c:1652  */
35588     break;
35589 
35590   case 1157:
35591 #line 7888 "gram.y" /* yacc.c:1652  */
35592     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param)); }
35593 #line 35594 "gram.c" /* yacc.c:1652  */
35594     break;
35595 
35596   case 1158:
35597 #line 7893 "gram.y" /* yacc.c:1652  */
35598     {
35599 					ObjectWithArgs *n = makeNode(ObjectWithArgs);
35600 					n->objname = (yyvsp[-1].list);
35601 					n->objargs = extractAggrArgTypes((yyvsp[0].list));
35602 					(yyval.objwithargs) = n;
35603 				}
35604 #line 35605 "gram.c" /* yacc.c:1652  */
35605     break;
35606 
35607   case 1159:
35608 #line 7902 "gram.y" /* yacc.c:1652  */
35609     { (yyval.list) = list_make1((yyvsp[0].objwithargs)); }
35610 #line 35611 "gram.c" /* yacc.c:1652  */
35611     break;
35612 
35613   case 1160:
35614 #line 7904 "gram.y" /* yacc.c:1652  */
35615     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].objwithargs)); }
35616 #line 35617 "gram.c" /* yacc.c:1652  */
35617     break;
35618 
35619   case 1161:
35620 #line 7909 "gram.y" /* yacc.c:1652  */
35621     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
35622 #line 35623 "gram.c" /* yacc.c:1652  */
35623     break;
35624 
35625   case 1162:
35626 #line 7910 "gram.y" /* yacc.c:1652  */
35627     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
35628 #line 35629 "gram.c" /* yacc.c:1652  */
35629     break;
35630 
35631   case 1163:
35632 #line 7918 "gram.y" /* yacc.c:1652  */
35633     {
35634 					(yyval.defelt) = makeDefElem("strict", (Node *)makeInteger(false), (yylsp[-3]));
35635 				}
35636 #line 35637 "gram.c" /* yacc.c:1652  */
35637     break;
35638 
35639   case 1164:
35640 #line 7922 "gram.y" /* yacc.c:1652  */
35641     {
35642 					(yyval.defelt) = makeDefElem("strict", (Node *)makeInteger(true), (yylsp[-4]));
35643 				}
35644 #line 35645 "gram.c" /* yacc.c:1652  */
35645     break;
35646 
35647   case 1165:
35648 #line 7926 "gram.y" /* yacc.c:1652  */
35649     {
35650 					(yyval.defelt) = makeDefElem("strict", (Node *)makeInteger(true), (yylsp[0]));
35651 				}
35652 #line 35653 "gram.c" /* yacc.c:1652  */
35653     break;
35654 
35655   case 1166:
35656 #line 7930 "gram.y" /* yacc.c:1652  */
35657     {
35658 					(yyval.defelt) = makeDefElem("volatility", (Node *)makeString("immutable"), (yylsp[0]));
35659 				}
35660 #line 35661 "gram.c" /* yacc.c:1652  */
35661     break;
35662 
35663   case 1167:
35664 #line 7934 "gram.y" /* yacc.c:1652  */
35665     {
35666 					(yyval.defelt) = makeDefElem("volatility", (Node *)makeString("stable"), (yylsp[0]));
35667 				}
35668 #line 35669 "gram.c" /* yacc.c:1652  */
35669     break;
35670 
35671   case 1168:
35672 #line 7938 "gram.y" /* yacc.c:1652  */
35673     {
35674 					(yyval.defelt) = makeDefElem("volatility", (Node *)makeString("volatile"), (yylsp[0]));
35675 				}
35676 #line 35677 "gram.c" /* yacc.c:1652  */
35677     break;
35678 
35679   case 1169:
35680 #line 7942 "gram.y" /* yacc.c:1652  */
35681     {
35682 					(yyval.defelt) = makeDefElem("security", (Node *)makeInteger(true), (yylsp[-2]));
35683 				}
35684 #line 35685 "gram.c" /* yacc.c:1652  */
35685     break;
35686 
35687   case 1170:
35688 #line 7946 "gram.y" /* yacc.c:1652  */
35689     {
35690 					(yyval.defelt) = makeDefElem("security", (Node *)makeInteger(false), (yylsp[-2]));
35691 				}
35692 #line 35693 "gram.c" /* yacc.c:1652  */
35693     break;
35694 
35695   case 1171:
35696 #line 7950 "gram.y" /* yacc.c:1652  */
35697     {
35698 					(yyval.defelt) = makeDefElem("security", (Node *)makeInteger(true), (yylsp[-1]));
35699 				}
35700 #line 35701 "gram.c" /* yacc.c:1652  */
35701     break;
35702 
35703   case 1172:
35704 #line 7954 "gram.y" /* yacc.c:1652  */
35705     {
35706 					(yyval.defelt) = makeDefElem("security", (Node *)makeInteger(false), (yylsp[-1]));
35707 				}
35708 #line 35709 "gram.c" /* yacc.c:1652  */
35709     break;
35710 
35711   case 1173:
35712 #line 7958 "gram.y" /* yacc.c:1652  */
35713     {
35714 					(yyval.defelt) = makeDefElem("leakproof", (Node *)makeInteger(true), (yylsp[0]));
35715 				}
35716 #line 35717 "gram.c" /* yacc.c:1652  */
35717     break;
35718 
35719   case 1174:
35720 #line 7962 "gram.y" /* yacc.c:1652  */
35721     {
35722 					(yyval.defelt) = makeDefElem("leakproof", (Node *)makeInteger(false), (yylsp[-1]));
35723 				}
35724 #line 35725 "gram.c" /* yacc.c:1652  */
35725     break;
35726 
35727   case 1175:
35728 #line 7966 "gram.y" /* yacc.c:1652  */
35729     {
35730 					(yyval.defelt) = makeDefElem("cost", (Node *)(yyvsp[0].value), (yylsp[-1]));
35731 				}
35732 #line 35733 "gram.c" /* yacc.c:1652  */
35733     break;
35734 
35735   case 1176:
35736 #line 7970 "gram.y" /* yacc.c:1652  */
35737     {
35738 					(yyval.defelt) = makeDefElem("rows", (Node *)(yyvsp[0].value), (yylsp[-1]));
35739 				}
35740 #line 35741 "gram.c" /* yacc.c:1652  */
35741     break;
35742 
35743   case 1177:
35744 #line 7974 "gram.y" /* yacc.c:1652  */
35745     {
35746 					(yyval.defelt) = makeDefElem("support", (Node *)(yyvsp[0].list), (yylsp[-1]));
35747 				}
35748 #line 35749 "gram.c" /* yacc.c:1652  */
35749     break;
35750 
35751   case 1178:
35752 #line 7978 "gram.y" /* yacc.c:1652  */
35753     {
35754 					/* we abuse the normal content of a DefElem here */
35755 					(yyval.defelt) = makeDefElem("set", (Node *)(yyvsp[0].vsetstmt), (yylsp[0]));
35756 				}
35757 #line 35758 "gram.c" /* yacc.c:1652  */
35758     break;
35759 
35760   case 1179:
35761 #line 7983 "gram.y" /* yacc.c:1652  */
35762     {
35763 					(yyval.defelt) = makeDefElem("parallel", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
35764 				}
35765 #line 35766 "gram.c" /* yacc.c:1652  */
35766     break;
35767 
35768   case 1180:
35769 #line 7990 "gram.y" /* yacc.c:1652  */
35770     {
35771 					(yyval.defelt) = makeDefElem("as", (Node *)(yyvsp[0].list), (yylsp[-1]));
35772 				}
35773 #line 35774 "gram.c" /* yacc.c:1652  */
35774     break;
35775 
35776   case 1181:
35777 #line 7994 "gram.y" /* yacc.c:1652  */
35778     {
35779 					(yyval.defelt) = makeDefElem("language", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
35780 				}
35781 #line 35782 "gram.c" /* yacc.c:1652  */
35782     break;
35783 
35784   case 1182:
35785 #line 7998 "gram.y" /* yacc.c:1652  */
35786     {
35787 					(yyval.defelt) = makeDefElem("transform", (Node *)(yyvsp[0].list), (yylsp[-1]));
35788 				}
35789 #line 35790 "gram.c" /* yacc.c:1652  */
35790     break;
35791 
35792   case 1183:
35793 #line 8002 "gram.y" /* yacc.c:1652  */
35794     {
35795 					(yyval.defelt) = makeDefElem("window", (Node *)makeInteger(true), (yylsp[0]));
35796 				}
35797 #line 35798 "gram.c" /* yacc.c:1652  */
35798     break;
35799 
35800   case 1184:
35801 #line 8006 "gram.y" /* yacc.c:1652  */
35802     {
35803 					(yyval.defelt) = (yyvsp[0].defelt);
35804 				}
35805 #line 35806 "gram.c" /* yacc.c:1652  */
35806     break;
35807 
35808   case 1185:
35809 #line 8011 "gram.y" /* yacc.c:1652  */
35810     { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
35811 #line 35812 "gram.c" /* yacc.c:1652  */
35812     break;
35813 
35814   case 1186:
35815 #line 8013 "gram.y" /* yacc.c:1652  */
35816     {
35817 					(yyval.list) = list_make2(makeString((yyvsp[-2].str)), makeString((yyvsp[0].str)));
35818 				}
35819 #line 35820 "gram.c" /* yacc.c:1652  */
35820     break;
35821 
35822   case 1187:
35823 #line 8019 "gram.y" /* yacc.c:1652  */
35824     { (yyval.list) = list_make1((yyvsp[0].typnam)); }
35825 #line 35826 "gram.c" /* yacc.c:1652  */
35826     break;
35827 
35828   case 1188:
35829 #line 8020 "gram.y" /* yacc.c:1652  */
35830     { (yyval.list) = lappend((yyvsp[-4].list), (yyvsp[0].typnam)); }
35831 #line 35832 "gram.c" /* yacc.c:1652  */
35832     break;
35833 
35834   case 1189:
35835 #line 8024 "gram.y" /* yacc.c:1652  */
35836     { (yyval.list) = (yyvsp[0].list); }
35837 #line 35838 "gram.c" /* yacc.c:1652  */
35838     break;
35839 
35840   case 1190:
35841 #line 8025 "gram.y" /* yacc.c:1652  */
35842     { (yyval.list) = NIL; }
35843 #line 35844 "gram.c" /* yacc.c:1652  */
35844     break;
35845 
35846   case 1191:
35847 #line 8029 "gram.y" /* yacc.c:1652  */
35848     {
35849 					FunctionParameter *n = makeNode(FunctionParameter);
35850 					n->name = (yyvsp[-1].str);
35851 					n->argType = (yyvsp[0].typnam);
35852 					n->mode = FUNC_PARAM_TABLE;
35853 					n->defexpr = NULL;
35854 					(yyval.fun_param) = n;
35855 				}
35856 #line 35857 "gram.c" /* yacc.c:1652  */
35857     break;
35858 
35859   case 1192:
35860 #line 8041 "gram.y" /* yacc.c:1652  */
35861     {
35862 					(yyval.list) = list_make1((yyvsp[0].fun_param));
35863 				}
35864 #line 35865 "gram.c" /* yacc.c:1652  */
35865     break;
35866 
35867   case 1193:
35868 #line 8045 "gram.y" /* yacc.c:1652  */
35869     {
35870 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param));
35871 				}
35872 #line 35873 "gram.c" /* yacc.c:1652  */
35873     break;
35874 
35875   case 1194:
35876 #line 8060 "gram.y" /* yacc.c:1652  */
35877     {
35878 					AlterFunctionStmt *n = makeNode(AlterFunctionStmt);
35879 					n->objtype = OBJECT_FUNCTION;
35880 					n->func = (yyvsp[-2].objwithargs);
35881 					n->actions = (yyvsp[-1].list);
35882 					(yyval.node) = (Node *) n;
35883 				}
35884 #line 35885 "gram.c" /* yacc.c:1652  */
35885     break;
35886 
35887   case 1195:
35888 #line 8068 "gram.y" /* yacc.c:1652  */
35889     {
35890 					AlterFunctionStmt *n = makeNode(AlterFunctionStmt);
35891 					n->objtype = OBJECT_PROCEDURE;
35892 					n->func = (yyvsp[-2].objwithargs);
35893 					n->actions = (yyvsp[-1].list);
35894 					(yyval.node) = (Node *) n;
35895 				}
35896 #line 35897 "gram.c" /* yacc.c:1652  */
35897     break;
35898 
35899   case 1196:
35900 #line 8076 "gram.y" /* yacc.c:1652  */
35901     {
35902 					AlterFunctionStmt *n = makeNode(AlterFunctionStmt);
35903 					n->objtype = OBJECT_ROUTINE;
35904 					n->func = (yyvsp[-2].objwithargs);
35905 					n->actions = (yyvsp[-1].list);
35906 					(yyval.node) = (Node *) n;
35907 				}
35908 #line 35909 "gram.c" /* yacc.c:1652  */
35909     break;
35910 
35911   case 1197:
35912 #line 8087 "gram.y" /* yacc.c:1652  */
35913     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
35914 #line 35915 "gram.c" /* yacc.c:1652  */
35915     break;
35916 
35917   case 1198:
35918 #line 8088 "gram.y" /* yacc.c:1652  */
35919     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
35920 #line 35921 "gram.c" /* yacc.c:1652  */
35921     break;
35922 
35923   case 1201:
35924 #line 8112 "gram.y" /* yacc.c:1652  */
35925     {
35926 					DropStmt *n = makeNode(DropStmt);
35927 					n->removeType = OBJECT_FUNCTION;
35928 					n->objects = (yyvsp[-1].list);
35929 					n->behavior = (yyvsp[0].dbehavior);
35930 					n->missing_ok = false;
35931 					n->concurrent = false;
35932 					(yyval.node) = (Node *)n;
35933 				}
35934 #line 35935 "gram.c" /* yacc.c:1652  */
35935     break;
35936 
35937   case 1202:
35938 #line 8122 "gram.y" /* yacc.c:1652  */
35939     {
35940 					DropStmt *n = makeNode(DropStmt);
35941 					n->removeType = OBJECT_FUNCTION;
35942 					n->objects = (yyvsp[-1].list);
35943 					n->behavior = (yyvsp[0].dbehavior);
35944 					n->missing_ok = true;
35945 					n->concurrent = false;
35946 					(yyval.node) = (Node *)n;
35947 				}
35948 #line 35949 "gram.c" /* yacc.c:1652  */
35949     break;
35950 
35951   case 1203:
35952 #line 8132 "gram.y" /* yacc.c:1652  */
35953     {
35954 					DropStmt *n = makeNode(DropStmt);
35955 					n->removeType = OBJECT_PROCEDURE;
35956 					n->objects = (yyvsp[-1].list);
35957 					n->behavior = (yyvsp[0].dbehavior);
35958 					n->missing_ok = false;
35959 					n->concurrent = false;
35960 					(yyval.node) = (Node *)n;
35961 				}
35962 #line 35963 "gram.c" /* yacc.c:1652  */
35963     break;
35964 
35965   case 1204:
35966 #line 8142 "gram.y" /* yacc.c:1652  */
35967     {
35968 					DropStmt *n = makeNode(DropStmt);
35969 					n->removeType = OBJECT_PROCEDURE;
35970 					n->objects = (yyvsp[-1].list);
35971 					n->behavior = (yyvsp[0].dbehavior);
35972 					n->missing_ok = true;
35973 					n->concurrent = false;
35974 					(yyval.node) = (Node *)n;
35975 				}
35976 #line 35977 "gram.c" /* yacc.c:1652  */
35977     break;
35978 
35979   case 1205:
35980 #line 8152 "gram.y" /* yacc.c:1652  */
35981     {
35982 					DropStmt *n = makeNode(DropStmt);
35983 					n->removeType = OBJECT_ROUTINE;
35984 					n->objects = (yyvsp[-1].list);
35985 					n->behavior = (yyvsp[0].dbehavior);
35986 					n->missing_ok = false;
35987 					n->concurrent = false;
35988 					(yyval.node) = (Node *)n;
35989 				}
35990 #line 35991 "gram.c" /* yacc.c:1652  */
35991     break;
35992 
35993   case 1206:
35994 #line 8162 "gram.y" /* yacc.c:1652  */
35995     {
35996 					DropStmt *n = makeNode(DropStmt);
35997 					n->removeType = OBJECT_ROUTINE;
35998 					n->objects = (yyvsp[-1].list);
35999 					n->behavior = (yyvsp[0].dbehavior);
36000 					n->missing_ok = true;
36001 					n->concurrent = false;
36002 					(yyval.node) = (Node *)n;
36003 				}
36004 #line 36005 "gram.c" /* yacc.c:1652  */
36005     break;
36006 
36007   case 1207:
36008 #line 8175 "gram.y" /* yacc.c:1652  */
36009     {
36010 					DropStmt *n = makeNode(DropStmt);
36011 					n->removeType = OBJECT_AGGREGATE;
36012 					n->objects = (yyvsp[-1].list);
36013 					n->behavior = (yyvsp[0].dbehavior);
36014 					n->missing_ok = false;
36015 					n->concurrent = false;
36016 					(yyval.node) = (Node *)n;
36017 				}
36018 #line 36019 "gram.c" /* yacc.c:1652  */
36019     break;
36020 
36021   case 1208:
36022 #line 8185 "gram.y" /* yacc.c:1652  */
36023     {
36024 					DropStmt *n = makeNode(DropStmt);
36025 					n->removeType = OBJECT_AGGREGATE;
36026 					n->objects = (yyvsp[-1].list);
36027 					n->behavior = (yyvsp[0].dbehavior);
36028 					n->missing_ok = true;
36029 					n->concurrent = false;
36030 					(yyval.node) = (Node *)n;
36031 				}
36032 #line 36033 "gram.c" /* yacc.c:1652  */
36033     break;
36034 
36035   case 1209:
36036 #line 8198 "gram.y" /* yacc.c:1652  */
36037     {
36038 					DropStmt *n = makeNode(DropStmt);
36039 					n->removeType = OBJECT_OPERATOR;
36040 					n->objects = (yyvsp[-1].list);
36041 					n->behavior = (yyvsp[0].dbehavior);
36042 					n->missing_ok = false;
36043 					n->concurrent = false;
36044 					(yyval.node) = (Node *)n;
36045 				}
36046 #line 36047 "gram.c" /* yacc.c:1652  */
36047     break;
36048 
36049   case 1210:
36050 #line 8208 "gram.y" /* yacc.c:1652  */
36051     {
36052 					DropStmt *n = makeNode(DropStmt);
36053 					n->removeType = OBJECT_OPERATOR;
36054 					n->objects = (yyvsp[-1].list);
36055 					n->behavior = (yyvsp[0].dbehavior);
36056 					n->missing_ok = true;
36057 					n->concurrent = false;
36058 					(yyval.node) = (Node *)n;
36059 				}
36060 #line 36061 "gram.c" /* yacc.c:1652  */
36061     break;
36062 
36063   case 1211:
36064 #line 8221 "gram.y" /* yacc.c:1652  */
36065     {
36066 				   ereport(ERROR,
36067 						   (errcode(ERRCODE_SYNTAX_ERROR),
36068 							errmsg("missing argument"),
36069 							errhint("Use NONE to denote the missing argument of a unary operator."),
36070 							parser_errposition((yylsp[0]))));
36071 				}
36072 #line 36073 "gram.c" /* yacc.c:1652  */
36073     break;
36074 
36075   case 1212:
36076 #line 8229 "gram.y" /* yacc.c:1652  */
36077     { (yyval.list) = list_make2((yyvsp[-3].typnam), (yyvsp[-1].typnam)); }
36078 #line 36079 "gram.c" /* yacc.c:1652  */
36079     break;
36080 
36081   case 1213:
36082 #line 8231 "gram.y" /* yacc.c:1652  */
36083     { (yyval.list) = list_make2(NULL, (yyvsp[-1].typnam)); }
36084 #line 36085 "gram.c" /* yacc.c:1652  */
36085     break;
36086 
36087   case 1214:
36088 #line 8233 "gram.y" /* yacc.c:1652  */
36089     { (yyval.list) = list_make2((yyvsp[-3].typnam), NULL); }
36090 #line 36091 "gram.c" /* yacc.c:1652  */
36091     break;
36092 
36093   case 1215:
36094 #line 8238 "gram.y" /* yacc.c:1652  */
36095     { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
36096 #line 36097 "gram.c" /* yacc.c:1652  */
36097     break;
36098 
36099   case 1216:
36100 #line 8240 "gram.y" /* yacc.c:1652  */
36101     { (yyval.list) = lcons(makeString((yyvsp[-2].str)), (yyvsp[0].list)); }
36102 #line 36103 "gram.c" /* yacc.c:1652  */
36103     break;
36104 
36105   case 1217:
36106 #line 8244 "gram.y" /* yacc.c:1652  */
36107     { (yyval.list) = list_make1((yyvsp[0].objwithargs)); }
36108 #line 36109 "gram.c" /* yacc.c:1652  */
36109     break;
36110 
36111   case 1218:
36112 #line 8246 "gram.y" /* yacc.c:1652  */
36113     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].objwithargs)); }
36114 #line 36115 "gram.c" /* yacc.c:1652  */
36115     break;
36116 
36117   case 1219:
36118 #line 8251 "gram.y" /* yacc.c:1652  */
36119     {
36120 					ObjectWithArgs *n = makeNode(ObjectWithArgs);
36121 					n->objname = (yyvsp[-1].list);
36122 					n->objargs = (yyvsp[0].list);
36123 					(yyval.objwithargs) = n;
36124 				}
36125 #line 36126 "gram.c" /* yacc.c:1652  */
36126     break;
36127 
36128   case 1220:
36129 #line 8269 "gram.y" /* yacc.c:1652  */
36130     {
36131 					DoStmt *n = makeNode(DoStmt);
36132 					n->args = (yyvsp[0].list);
36133 					(yyval.node) = (Node *)n;
36134 				}
36135 #line 36136 "gram.c" /* yacc.c:1652  */
36136     break;
36137 
36138   case 1221:
36139 #line 8277 "gram.y" /* yacc.c:1652  */
36140     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
36141 #line 36142 "gram.c" /* yacc.c:1652  */
36142     break;
36143 
36144   case 1222:
36145 #line 8278 "gram.y" /* yacc.c:1652  */
36146     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
36147 #line 36148 "gram.c" /* yacc.c:1652  */
36148     break;
36149 
36150   case 1223:
36151 #line 8283 "gram.y" /* yacc.c:1652  */
36152     {
36153 					(yyval.defelt) = makeDefElem("as", (Node *)makeString((yyvsp[0].str)), (yylsp[0]));
36154 				}
36155 #line 36156 "gram.c" /* yacc.c:1652  */
36156     break;
36157 
36158   case 1224:
36159 #line 8287 "gram.y" /* yacc.c:1652  */
36160     {
36161 					(yyval.defelt) = makeDefElem("language", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
36162 				}
36163 #line 36164 "gram.c" /* yacc.c:1652  */
36164     break;
36165 
36166   case 1225:
36167 #line 8300 "gram.y" /* yacc.c:1652  */
36168     {
36169 					CreateCastStmt *n = makeNode(CreateCastStmt);
36170 					n->sourcetype = (yyvsp[-7].typnam);
36171 					n->targettype = (yyvsp[-5].typnam);
36172 					n->func = (yyvsp[-1].objwithargs);
36173 					n->context = (CoercionContext) (yyvsp[0].ival);
36174 					n->inout = false;
36175 					(yyval.node) = (Node *)n;
36176 				}
36177 #line 36178 "gram.c" /* yacc.c:1652  */
36178     break;
36179 
36180   case 1226:
36181 #line 8311 "gram.y" /* yacc.c:1652  */
36182     {
36183 					CreateCastStmt *n = makeNode(CreateCastStmt);
36184 					n->sourcetype = (yyvsp[-6].typnam);
36185 					n->targettype = (yyvsp[-4].typnam);
36186 					n->func = NULL;
36187 					n->context = (CoercionContext) (yyvsp[0].ival);
36188 					n->inout = false;
36189 					(yyval.node) = (Node *)n;
36190 				}
36191 #line 36192 "gram.c" /* yacc.c:1652  */
36192     break;
36193 
36194   case 1227:
36195 #line 8322 "gram.y" /* yacc.c:1652  */
36196     {
36197 					CreateCastStmt *n = makeNode(CreateCastStmt);
36198 					n->sourcetype = (yyvsp[-6].typnam);
36199 					n->targettype = (yyvsp[-4].typnam);
36200 					n->func = NULL;
36201 					n->context = (CoercionContext) (yyvsp[0].ival);
36202 					n->inout = true;
36203 					(yyval.node) = (Node *)n;
36204 				}
36205 #line 36206 "gram.c" /* yacc.c:1652  */
36206     break;
36207 
36208   case 1228:
36209 #line 8333 "gram.y" /* yacc.c:1652  */
36210     { (yyval.ival) = COERCION_IMPLICIT; }
36211 #line 36212 "gram.c" /* yacc.c:1652  */
36212     break;
36213 
36214   case 1229:
36215 #line 8334 "gram.y" /* yacc.c:1652  */
36216     { (yyval.ival) = COERCION_ASSIGNMENT; }
36217 #line 36218 "gram.c" /* yacc.c:1652  */
36218     break;
36219 
36220   case 1230:
36221 #line 8335 "gram.y" /* yacc.c:1652  */
36222     { (yyval.ival) = COERCION_EXPLICIT; }
36223 #line 36224 "gram.c" /* yacc.c:1652  */
36224     break;
36225 
36226   case 1231:
36227 #line 8340 "gram.y" /* yacc.c:1652  */
36228     {
36229 					DropStmt *n = makeNode(DropStmt);
36230 					n->removeType = OBJECT_CAST;
36231 					n->objects = list_make1(list_make2((yyvsp[-4].typnam), (yyvsp[-2].typnam)));
36232 					n->behavior = (yyvsp[0].dbehavior);
36233 					n->missing_ok = (yyvsp[-6].boolean);
36234 					n->concurrent = false;
36235 					(yyval.node) = (Node *)n;
36236 				}
36237 #line 36238 "gram.c" /* yacc.c:1652  */
36238     break;
36239 
36240   case 1232:
36241 #line 8351 "gram.y" /* yacc.c:1652  */
36242     { (yyval.boolean) = true; }
36243 #line 36244 "gram.c" /* yacc.c:1652  */
36244     break;
36245 
36246   case 1233:
36247 #line 8352 "gram.y" /* yacc.c:1652  */
36248     { (yyval.boolean) = false; }
36249 #line 36250 "gram.c" /* yacc.c:1652  */
36250     break;
36251 
36252   case 1234:
36253 #line 8363 "gram.y" /* yacc.c:1652  */
36254     {
36255 					CreateTransformStmt *n = makeNode(CreateTransformStmt);
36256 					n->replace = (yyvsp[-8].boolean);
36257 					n->type_name = (yyvsp[-5].typnam);
36258 					n->lang = (yyvsp[-3].str);
36259 					n->fromsql = linitial((yyvsp[-1].list));
36260 					n->tosql = lsecond((yyvsp[-1].list));
36261 					(yyval.node) = (Node *)n;
36262 				}
36263 #line 36264 "gram.c" /* yacc.c:1652  */
36264     break;
36265 
36266   case 1235:
36267 #line 8375 "gram.y" /* yacc.c:1652  */
36268     {
36269 					(yyval.list) = list_make2((yyvsp[-6].objwithargs), (yyvsp[0].objwithargs));
36270 				}
36271 #line 36272 "gram.c" /* yacc.c:1652  */
36272     break;
36273 
36274   case 1236:
36275 #line 8379 "gram.y" /* yacc.c:1652  */
36276     {
36277 					(yyval.list) = list_make2((yyvsp[0].objwithargs), (yyvsp[-6].objwithargs));
36278 				}
36279 #line 36280 "gram.c" /* yacc.c:1652  */
36280     break;
36281 
36282   case 1237:
36283 #line 8383 "gram.y" /* yacc.c:1652  */
36284     {
36285 					(yyval.list) = list_make2((yyvsp[0].objwithargs), NULL);
36286 				}
36287 #line 36288 "gram.c" /* yacc.c:1652  */
36288     break;
36289 
36290   case 1238:
36291 #line 8387 "gram.y" /* yacc.c:1652  */
36292     {
36293 					(yyval.list) = list_make2(NULL, (yyvsp[0].objwithargs));
36294 				}
36295 #line 36296 "gram.c" /* yacc.c:1652  */
36296     break;
36297 
36298   case 1239:
36299 #line 8394 "gram.y" /* yacc.c:1652  */
36300     {
36301 					DropStmt *n = makeNode(DropStmt);
36302 					n->removeType = OBJECT_TRANSFORM;
36303 					n->objects = list_make1(list_make2((yyvsp[-3].typnam), makeString((yyvsp[-1].str))));
36304 					n->behavior = (yyvsp[0].dbehavior);
36305 					n->missing_ok = (yyvsp[-5].boolean);
36306 					(yyval.node) = (Node *)n;
36307 				}
36308 #line 36309 "gram.c" /* yacc.c:1652  */
36309     break;
36310 
36311   case 1240:
36312 #line 8414 "gram.y" /* yacc.c:1652  */
36313     {
36314 					ReindexStmt *n = makeNode(ReindexStmt);
36315 					n->kind = (yyvsp[-2].ival);
36316 					n->concurrent = (yyvsp[-1].boolean);
36317 					n->relation = (yyvsp[0].range);
36318 					n->name = NULL;
36319 					n->options = 0;
36320 					(yyval.node) = (Node *)n;
36321 				}
36322 #line 36323 "gram.c" /* yacc.c:1652  */
36323     break;
36324 
36325   case 1241:
36326 #line 8424 "gram.y" /* yacc.c:1652  */
36327     {
36328 					ReindexStmt *n = makeNode(ReindexStmt);
36329 					n->kind = (yyvsp[-2].ival);
36330 					n->concurrent = (yyvsp[-1].boolean);
36331 					n->name = (yyvsp[0].str);
36332 					n->relation = NULL;
36333 					n->options = 0;
36334 					(yyval.node) = (Node *)n;
36335 				}
36336 #line 36337 "gram.c" /* yacc.c:1652  */
36337     break;
36338 
36339   case 1242:
36340 #line 8434 "gram.y" /* yacc.c:1652  */
36341     {
36342 					ReindexStmt *n = makeNode(ReindexStmt);
36343 					n->kind = (yyvsp[-2].ival);
36344 					n->concurrent = (yyvsp[-1].boolean);
36345 					n->relation = (yyvsp[0].range);
36346 					n->name = NULL;
36347 					n->options = (yyvsp[-4].ival);
36348 					(yyval.node) = (Node *)n;
36349 				}
36350 #line 36351 "gram.c" /* yacc.c:1652  */
36351     break;
36352 
36353   case 1243:
36354 #line 8444 "gram.y" /* yacc.c:1652  */
36355     {
36356 					ReindexStmt *n = makeNode(ReindexStmt);
36357 					n->kind = (yyvsp[-2].ival);
36358 					n->concurrent = (yyvsp[-1].boolean);
36359 					n->name = (yyvsp[0].str);
36360 					n->relation = NULL;
36361 					n->options = (yyvsp[-4].ival);
36362 					(yyval.node) = (Node *)n;
36363 				}
36364 #line 36365 "gram.c" /* yacc.c:1652  */
36365     break;
36366 
36367   case 1244:
36368 #line 8455 "gram.y" /* yacc.c:1652  */
36369     { (yyval.ival) = REINDEX_OBJECT_INDEX; }
36370 #line 36371 "gram.c" /* yacc.c:1652  */
36371     break;
36372 
36373   case 1245:
36374 #line 8456 "gram.y" /* yacc.c:1652  */
36375     { (yyval.ival) = REINDEX_OBJECT_TABLE; }
36376 #line 36377 "gram.c" /* yacc.c:1652  */
36377     break;
36378 
36379   case 1246:
36380 #line 8459 "gram.y" /* yacc.c:1652  */
36381     { (yyval.ival) = REINDEX_OBJECT_SCHEMA; }
36382 #line 36383 "gram.c" /* yacc.c:1652  */
36383     break;
36384 
36385   case 1247:
36386 #line 8460 "gram.y" /* yacc.c:1652  */
36387     { (yyval.ival) = REINDEX_OBJECT_SYSTEM; }
36388 #line 36389 "gram.c" /* yacc.c:1652  */
36389     break;
36390 
36391   case 1248:
36392 #line 8461 "gram.y" /* yacc.c:1652  */
36393     { (yyval.ival) = REINDEX_OBJECT_DATABASE; }
36394 #line 36395 "gram.c" /* yacc.c:1652  */
36395     break;
36396 
36397   case 1249:
36398 #line 8464 "gram.y" /* yacc.c:1652  */
36399     { (yyval.ival) = (yyvsp[0].ival); }
36400 #line 36401 "gram.c" /* yacc.c:1652  */
36401     break;
36402 
36403   case 1250:
36404 #line 8465 "gram.y" /* yacc.c:1652  */
36405     { (yyval.ival) = (yyvsp[-2].ival) | (yyvsp[0].ival); }
36406 #line 36407 "gram.c" /* yacc.c:1652  */
36407     break;
36408 
36409   case 1251:
36410 #line 8468 "gram.y" /* yacc.c:1652  */
36411     { (yyval.ival) = REINDEXOPT_VERBOSE; }
36412 #line 36413 "gram.c" /* yacc.c:1652  */
36413     break;
36414 
36415   case 1252:
36416 #line 8479 "gram.y" /* yacc.c:1652  */
36417     {
36418 					AlterTableSpaceOptionsStmt *n =
36419 						makeNode(AlterTableSpaceOptionsStmt);
36420 					n->tablespacename = (yyvsp[-2].str);
36421 					n->options = (yyvsp[0].list);
36422 					n->isReset = false;
36423 					(yyval.node) = (Node *)n;
36424 				}
36425 #line 36426 "gram.c" /* yacc.c:1652  */
36426     break;
36427 
36428   case 1253:
36429 #line 8488 "gram.y" /* yacc.c:1652  */
36430     {
36431 					AlterTableSpaceOptionsStmt *n =
36432 						makeNode(AlterTableSpaceOptionsStmt);
36433 					n->tablespacename = (yyvsp[-2].str);
36434 					n->options = (yyvsp[0].list);
36435 					n->isReset = true;
36436 					(yyval.node) = (Node *)n;
36437 				}
36438 #line 36439 "gram.c" /* yacc.c:1652  */
36439     break;
36440 
36441   case 1254:
36442 #line 8505 "gram.y" /* yacc.c:1652  */
36443     {
36444 					RenameStmt *n = makeNode(RenameStmt);
36445 					n->renameType = OBJECT_AGGREGATE;
36446 					n->object = (Node *) (yyvsp[-3].objwithargs);
36447 					n->newname = (yyvsp[0].str);
36448 					n->missing_ok = false;
36449 					(yyval.node) = (Node *)n;
36450 				}
36451 #line 36452 "gram.c" /* yacc.c:1652  */
36452     break;
36453 
36454   case 1255:
36455 #line 8514 "gram.y" /* yacc.c:1652  */
36456     {
36457 					RenameStmt *n = makeNode(RenameStmt);
36458 					n->renameType = OBJECT_COLLATION;
36459 					n->object = (Node *) (yyvsp[-3].list);
36460 					n->newname = (yyvsp[0].str);
36461 					n->missing_ok = false;
36462 					(yyval.node) = (Node *)n;
36463 				}
36464 #line 36465 "gram.c" /* yacc.c:1652  */
36465     break;
36466 
36467   case 1256:
36468 #line 8523 "gram.y" /* yacc.c:1652  */
36469     {
36470 					RenameStmt *n = makeNode(RenameStmt);
36471 					n->renameType = OBJECT_CONVERSION;
36472 					n->object = (Node *) (yyvsp[-3].list);
36473 					n->newname = (yyvsp[0].str);
36474 					n->missing_ok = false;
36475 					(yyval.node) = (Node *)n;
36476 				}
36477 #line 36478 "gram.c" /* yacc.c:1652  */
36478     break;
36479 
36480   case 1257:
36481 #line 8532 "gram.y" /* yacc.c:1652  */
36482     {
36483 					RenameStmt *n = makeNode(RenameStmt);
36484 					n->renameType = OBJECT_DATABASE;
36485 					n->subname = (yyvsp[-3].str);
36486 					n->newname = (yyvsp[0].str);
36487 					n->missing_ok = false;
36488 					(yyval.node) = (Node *)n;
36489 				}
36490 #line 36491 "gram.c" /* yacc.c:1652  */
36491     break;
36492 
36493   case 1258:
36494 #line 8541 "gram.y" /* yacc.c:1652  */
36495     {
36496 					RenameStmt *n = makeNode(RenameStmt);
36497 					n->renameType = OBJECT_DOMAIN;
36498 					n->object = (Node *) (yyvsp[-3].list);
36499 					n->newname = (yyvsp[0].str);
36500 					n->missing_ok = false;
36501 					(yyval.node) = (Node *)n;
36502 				}
36503 #line 36504 "gram.c" /* yacc.c:1652  */
36504     break;
36505 
36506   case 1259:
36507 #line 8550 "gram.y" /* yacc.c:1652  */
36508     {
36509 					RenameStmt *n = makeNode(RenameStmt);
36510 					n->renameType = OBJECT_DOMCONSTRAINT;
36511 					n->object = (Node *) (yyvsp[-5].list);
36512 					n->subname = (yyvsp[-2].str);
36513 					n->newname = (yyvsp[0].str);
36514 					(yyval.node) = (Node *)n;
36515 				}
36516 #line 36517 "gram.c" /* yacc.c:1652  */
36517     break;
36518 
36519   case 1260:
36520 #line 8559 "gram.y" /* yacc.c:1652  */
36521     {
36522 					RenameStmt *n = makeNode(RenameStmt);
36523 					n->renameType = OBJECT_FDW;
36524 					n->object = (Node *) makeString((yyvsp[-3].str));
36525 					n->newname = (yyvsp[0].str);
36526 					n->missing_ok = false;
36527 					(yyval.node) = (Node *)n;
36528 				}
36529 #line 36530 "gram.c" /* yacc.c:1652  */
36530     break;
36531 
36532   case 1261:
36533 #line 8568 "gram.y" /* yacc.c:1652  */
36534     {
36535 					RenameStmt *n = makeNode(RenameStmt);
36536 					n->renameType = OBJECT_FUNCTION;
36537 					n->object = (Node *) (yyvsp[-3].objwithargs);
36538 					n->newname = (yyvsp[0].str);
36539 					n->missing_ok = false;
36540 					(yyval.node) = (Node *)n;
36541 				}
36542 #line 36543 "gram.c" /* yacc.c:1652  */
36543     break;
36544 
36545   case 1262:
36546 #line 8577 "gram.y" /* yacc.c:1652  */
36547     {
36548 					RenameStmt *n = makeNode(RenameStmt);
36549 					n->renameType = OBJECT_ROLE;
36550 					n->subname = (yyvsp[-3].str);
36551 					n->newname = (yyvsp[0].str);
36552 					n->missing_ok = false;
36553 					(yyval.node) = (Node *)n;
36554 				}
36555 #line 36556 "gram.c" /* yacc.c:1652  */
36556     break;
36557 
36558   case 1263:
36559 #line 8586 "gram.y" /* yacc.c:1652  */
36560     {
36561 					RenameStmt *n = makeNode(RenameStmt);
36562 					n->renameType = OBJECT_LANGUAGE;
36563 					n->object = (Node *) makeString((yyvsp[-3].str));
36564 					n->newname = (yyvsp[0].str);
36565 					n->missing_ok = false;
36566 					(yyval.node) = (Node *)n;
36567 				}
36568 #line 36569 "gram.c" /* yacc.c:1652  */
36569     break;
36570 
36571   case 1264:
36572 #line 8595 "gram.y" /* yacc.c:1652  */
36573     {
36574 					RenameStmt *n = makeNode(RenameStmt);
36575 					n->renameType = OBJECT_OPCLASS;
36576 					n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
36577 					n->newname = (yyvsp[0].str);
36578 					n->missing_ok = false;
36579 					(yyval.node) = (Node *)n;
36580 				}
36581 #line 36582 "gram.c" /* yacc.c:1652  */
36582     break;
36583 
36584   case 1265:
36585 #line 8604 "gram.y" /* yacc.c:1652  */
36586     {
36587 					RenameStmt *n = makeNode(RenameStmt);
36588 					n->renameType = OBJECT_OPFAMILY;
36589 					n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
36590 					n->newname = (yyvsp[0].str);
36591 					n->missing_ok = false;
36592 					(yyval.node) = (Node *)n;
36593 				}
36594 #line 36595 "gram.c" /* yacc.c:1652  */
36595     break;
36596 
36597   case 1266:
36598 #line 8613 "gram.y" /* yacc.c:1652  */
36599     {
36600 					RenameStmt *n = makeNode(RenameStmt);
36601 					n->renameType = OBJECT_POLICY;
36602 					n->relation = (yyvsp[-3].range);
36603 					n->subname = (yyvsp[-5].str);
36604 					n->newname = (yyvsp[0].str);
36605 					n->missing_ok = false;
36606 					(yyval.node) = (Node *)n;
36607 				}
36608 #line 36609 "gram.c" /* yacc.c:1652  */
36609     break;
36610 
36611   case 1267:
36612 #line 8623 "gram.y" /* yacc.c:1652  */
36613     {
36614 					RenameStmt *n = makeNode(RenameStmt);
36615 					n->renameType = OBJECT_POLICY;
36616 					n->relation = (yyvsp[-3].range);
36617 					n->subname = (yyvsp[-5].str);
36618 					n->newname = (yyvsp[0].str);
36619 					n->missing_ok = true;
36620 					(yyval.node) = (Node *)n;
36621 				}
36622 #line 36623 "gram.c" /* yacc.c:1652  */
36623     break;
36624 
36625   case 1268:
36626 #line 8633 "gram.y" /* yacc.c:1652  */
36627     {
36628 					RenameStmt *n = makeNode(RenameStmt);
36629 					n->renameType = OBJECT_PROCEDURE;
36630 					n->object = (Node *) (yyvsp[-3].objwithargs);
36631 					n->newname = (yyvsp[0].str);
36632 					n->missing_ok = false;
36633 					(yyval.node) = (Node *)n;
36634 				}
36635 #line 36636 "gram.c" /* yacc.c:1652  */
36636     break;
36637 
36638   case 1269:
36639 #line 8642 "gram.y" /* yacc.c:1652  */
36640     {
36641 					RenameStmt *n = makeNode(RenameStmt);
36642 					n->renameType = OBJECT_PUBLICATION;
36643 					n->object = (Node *) makeString((yyvsp[-3].str));
36644 					n->newname = (yyvsp[0].str);
36645 					n->missing_ok = false;
36646 					(yyval.node) = (Node *)n;
36647 				}
36648 #line 36649 "gram.c" /* yacc.c:1652  */
36649     break;
36650 
36651   case 1270:
36652 #line 8651 "gram.y" /* yacc.c:1652  */
36653     {
36654 					RenameStmt *n = makeNode(RenameStmt);
36655 					n->renameType = OBJECT_ROUTINE;
36656 					n->object = (Node *) (yyvsp[-3].objwithargs);
36657 					n->newname = (yyvsp[0].str);
36658 					n->missing_ok = false;
36659 					(yyval.node) = (Node *)n;
36660 				}
36661 #line 36662 "gram.c" /* yacc.c:1652  */
36662     break;
36663 
36664   case 1271:
36665 #line 8660 "gram.y" /* yacc.c:1652  */
36666     {
36667 					RenameStmt *n = makeNode(RenameStmt);
36668 					n->renameType = OBJECT_SCHEMA;
36669 					n->subname = (yyvsp[-3].str);
36670 					n->newname = (yyvsp[0].str);
36671 					n->missing_ok = false;
36672 					(yyval.node) = (Node *)n;
36673 				}
36674 #line 36675 "gram.c" /* yacc.c:1652  */
36675     break;
36676 
36677   case 1272:
36678 #line 8669 "gram.y" /* yacc.c:1652  */
36679     {
36680 					RenameStmt *n = makeNode(RenameStmt);
36681 					n->renameType = OBJECT_FOREIGN_SERVER;
36682 					n->object = (Node *) makeString((yyvsp[-3].str));
36683 					n->newname = (yyvsp[0].str);
36684 					n->missing_ok = false;
36685 					(yyval.node) = (Node *)n;
36686 				}
36687 #line 36688 "gram.c" /* yacc.c:1652  */
36688     break;
36689 
36690   case 1273:
36691 #line 8678 "gram.y" /* yacc.c:1652  */
36692     {
36693 					RenameStmt *n = makeNode(RenameStmt);
36694 					n->renameType = OBJECT_SUBSCRIPTION;
36695 					n->object = (Node *) makeString((yyvsp[-3].str));
36696 					n->newname = (yyvsp[0].str);
36697 					n->missing_ok = false;
36698 					(yyval.node) = (Node *)n;
36699 				}
36700 #line 36701 "gram.c" /* yacc.c:1652  */
36701     break;
36702 
36703   case 1274:
36704 #line 8687 "gram.y" /* yacc.c:1652  */
36705     {
36706 					RenameStmt *n = makeNode(RenameStmt);
36707 					n->renameType = OBJECT_TABLE;
36708 					n->relation = (yyvsp[-3].range);
36709 					n->subname = NULL;
36710 					n->newname = (yyvsp[0].str);
36711 					n->missing_ok = false;
36712 					(yyval.node) = (Node *)n;
36713 				}
36714 #line 36715 "gram.c" /* yacc.c:1652  */
36715     break;
36716 
36717   case 1275:
36718 #line 8697 "gram.y" /* yacc.c:1652  */
36719     {
36720 					RenameStmt *n = makeNode(RenameStmt);
36721 					n->renameType = OBJECT_TABLE;
36722 					n->relation = (yyvsp[-3].range);
36723 					n->subname = NULL;
36724 					n->newname = (yyvsp[0].str);
36725 					n->missing_ok = true;
36726 					(yyval.node) = (Node *)n;
36727 				}
36728 #line 36729 "gram.c" /* yacc.c:1652  */
36729     break;
36730 
36731   case 1276:
36732 #line 8707 "gram.y" /* yacc.c:1652  */
36733     {
36734 					RenameStmt *n = makeNode(RenameStmt);
36735 					n->renameType = OBJECT_SEQUENCE;
36736 					n->relation = (yyvsp[-3].range);
36737 					n->subname = NULL;
36738 					n->newname = (yyvsp[0].str);
36739 					n->missing_ok = false;
36740 					(yyval.node) = (Node *)n;
36741 				}
36742 #line 36743 "gram.c" /* yacc.c:1652  */
36743     break;
36744 
36745   case 1277:
36746 #line 8717 "gram.y" /* yacc.c:1652  */
36747     {
36748 					RenameStmt *n = makeNode(RenameStmt);
36749 					n->renameType = OBJECT_SEQUENCE;
36750 					n->relation = (yyvsp[-3].range);
36751 					n->subname = NULL;
36752 					n->newname = (yyvsp[0].str);
36753 					n->missing_ok = true;
36754 					(yyval.node) = (Node *)n;
36755 				}
36756 #line 36757 "gram.c" /* yacc.c:1652  */
36757     break;
36758 
36759   case 1278:
36760 #line 8727 "gram.y" /* yacc.c:1652  */
36761     {
36762 					RenameStmt *n = makeNode(RenameStmt);
36763 					n->renameType = OBJECT_VIEW;
36764 					n->relation = (yyvsp[-3].range);
36765 					n->subname = NULL;
36766 					n->newname = (yyvsp[0].str);
36767 					n->missing_ok = false;
36768 					(yyval.node) = (Node *)n;
36769 				}
36770 #line 36771 "gram.c" /* yacc.c:1652  */
36771     break;
36772 
36773   case 1279:
36774 #line 8737 "gram.y" /* yacc.c:1652  */
36775     {
36776 					RenameStmt *n = makeNode(RenameStmt);
36777 					n->renameType = OBJECT_VIEW;
36778 					n->relation = (yyvsp[-3].range);
36779 					n->subname = NULL;
36780 					n->newname = (yyvsp[0].str);
36781 					n->missing_ok = true;
36782 					(yyval.node) = (Node *)n;
36783 				}
36784 #line 36785 "gram.c" /* yacc.c:1652  */
36785     break;
36786 
36787   case 1280:
36788 #line 8747 "gram.y" /* yacc.c:1652  */
36789     {
36790 					RenameStmt *n = makeNode(RenameStmt);
36791 					n->renameType = OBJECT_MATVIEW;
36792 					n->relation = (yyvsp[-3].range);
36793 					n->subname = NULL;
36794 					n->newname = (yyvsp[0].str);
36795 					n->missing_ok = false;
36796 					(yyval.node) = (Node *)n;
36797 				}
36798 #line 36799 "gram.c" /* yacc.c:1652  */
36799     break;
36800 
36801   case 1281:
36802 #line 8757 "gram.y" /* yacc.c:1652  */
36803     {
36804 					RenameStmt *n = makeNode(RenameStmt);
36805 					n->renameType = OBJECT_MATVIEW;
36806 					n->relation = (yyvsp[-3].range);
36807 					n->subname = NULL;
36808 					n->newname = (yyvsp[0].str);
36809 					n->missing_ok = true;
36810 					(yyval.node) = (Node *)n;
36811 				}
36812 #line 36813 "gram.c" /* yacc.c:1652  */
36813     break;
36814 
36815   case 1282:
36816 #line 8767 "gram.y" /* yacc.c:1652  */
36817     {
36818 					RenameStmt *n = makeNode(RenameStmt);
36819 					n->renameType = OBJECT_INDEX;
36820 					n->relation = (yyvsp[-3].range);
36821 					n->subname = NULL;
36822 					n->newname = (yyvsp[0].str);
36823 					n->missing_ok = false;
36824 					(yyval.node) = (Node *)n;
36825 				}
36826 #line 36827 "gram.c" /* yacc.c:1652  */
36827     break;
36828 
36829   case 1283:
36830 #line 8777 "gram.y" /* yacc.c:1652  */
36831     {
36832 					RenameStmt *n = makeNode(RenameStmt);
36833 					n->renameType = OBJECT_INDEX;
36834 					n->relation = (yyvsp[-3].range);
36835 					n->subname = NULL;
36836 					n->newname = (yyvsp[0].str);
36837 					n->missing_ok = true;
36838 					(yyval.node) = (Node *)n;
36839 				}
36840 #line 36841 "gram.c" /* yacc.c:1652  */
36841     break;
36842 
36843   case 1284:
36844 #line 8787 "gram.y" /* yacc.c:1652  */
36845     {
36846 					RenameStmt *n = makeNode(RenameStmt);
36847 					n->renameType = OBJECT_FOREIGN_TABLE;
36848 					n->relation = (yyvsp[-3].range);
36849 					n->subname = NULL;
36850 					n->newname = (yyvsp[0].str);
36851 					n->missing_ok = false;
36852 					(yyval.node) = (Node *)n;
36853 				}
36854 #line 36855 "gram.c" /* yacc.c:1652  */
36855     break;
36856 
36857   case 1285:
36858 #line 8797 "gram.y" /* yacc.c:1652  */
36859     {
36860 					RenameStmt *n = makeNode(RenameStmt);
36861 					n->renameType = OBJECT_FOREIGN_TABLE;
36862 					n->relation = (yyvsp[-3].range);
36863 					n->subname = NULL;
36864 					n->newname = (yyvsp[0].str);
36865 					n->missing_ok = true;
36866 					(yyval.node) = (Node *)n;
36867 				}
36868 #line 36869 "gram.c" /* yacc.c:1652  */
36869     break;
36870 
36871   case 1286:
36872 #line 8807 "gram.y" /* yacc.c:1652  */
36873     {
36874 					RenameStmt *n = makeNode(RenameStmt);
36875 					n->renameType = OBJECT_COLUMN;
36876 					n->relationType = OBJECT_TABLE;
36877 					n->relation = (yyvsp[-5].range);
36878 					n->subname = (yyvsp[-2].str);
36879 					n->newname = (yyvsp[0].str);
36880 					n->missing_ok = false;
36881 					(yyval.node) = (Node *)n;
36882 				}
36883 #line 36884 "gram.c" /* yacc.c:1652  */
36884     break;
36885 
36886   case 1287:
36887 #line 8818 "gram.y" /* yacc.c:1652  */
36888     {
36889 					RenameStmt *n = makeNode(RenameStmt);
36890 					n->renameType = OBJECT_COLUMN;
36891 					n->relationType = OBJECT_TABLE;
36892 					n->relation = (yyvsp[-5].range);
36893 					n->subname = (yyvsp[-2].str);
36894 					n->newname = (yyvsp[0].str);
36895 					n->missing_ok = true;
36896 					(yyval.node) = (Node *)n;
36897 				}
36898 #line 36899 "gram.c" /* yacc.c:1652  */
36899     break;
36900 
36901   case 1288:
36902 #line 8829 "gram.y" /* yacc.c:1652  */
36903     {
36904 					RenameStmt *n = makeNode(RenameStmt);
36905 					n->renameType = OBJECT_COLUMN;
36906 					n->relationType = OBJECT_VIEW;
36907 					n->relation = (yyvsp[-5].range);
36908 					n->subname = (yyvsp[-2].str);
36909 					n->newname = (yyvsp[0].str);
36910 					n->missing_ok = false;
36911 					(yyval.node) = (Node *)n;
36912 				}
36913 #line 36914 "gram.c" /* yacc.c:1652  */
36914     break;
36915 
36916   case 1289:
36917 #line 8840 "gram.y" /* yacc.c:1652  */
36918     {
36919 					RenameStmt *n = makeNode(RenameStmt);
36920 					n->renameType = OBJECT_COLUMN;
36921 					n->relationType = OBJECT_VIEW;
36922 					n->relation = (yyvsp[-5].range);
36923 					n->subname = (yyvsp[-2].str);
36924 					n->newname = (yyvsp[0].str);
36925 					n->missing_ok = true;
36926 					(yyval.node) = (Node *)n;
36927 				}
36928 #line 36929 "gram.c" /* yacc.c:1652  */
36929     break;
36930 
36931   case 1290:
36932 #line 8851 "gram.y" /* yacc.c:1652  */
36933     {
36934 					RenameStmt *n = makeNode(RenameStmt);
36935 					n->renameType = OBJECT_COLUMN;
36936 					n->relationType = OBJECT_MATVIEW;
36937 					n->relation = (yyvsp[-5].range);
36938 					n->subname = (yyvsp[-2].str);
36939 					n->newname = (yyvsp[0].str);
36940 					n->missing_ok = false;
36941 					(yyval.node) = (Node *)n;
36942 				}
36943 #line 36944 "gram.c" /* yacc.c:1652  */
36944     break;
36945 
36946   case 1291:
36947 #line 8862 "gram.y" /* yacc.c:1652  */
36948     {
36949 					RenameStmt *n = makeNode(RenameStmt);
36950 					n->renameType = OBJECT_COLUMN;
36951 					n->relationType = OBJECT_MATVIEW;
36952 					n->relation = (yyvsp[-5].range);
36953 					n->subname = (yyvsp[-2].str);
36954 					n->newname = (yyvsp[0].str);
36955 					n->missing_ok = true;
36956 					(yyval.node) = (Node *)n;
36957 				}
36958 #line 36959 "gram.c" /* yacc.c:1652  */
36959     break;
36960 
36961   case 1292:
36962 #line 8873 "gram.y" /* yacc.c:1652  */
36963     {
36964 					RenameStmt *n = makeNode(RenameStmt);
36965 					n->renameType = OBJECT_TABCONSTRAINT;
36966 					n->relation = (yyvsp[-5].range);
36967 					n->subname = (yyvsp[-2].str);
36968 					n->newname = (yyvsp[0].str);
36969 					n->missing_ok = false;
36970 					(yyval.node) = (Node *)n;
36971 				}
36972 #line 36973 "gram.c" /* yacc.c:1652  */
36973     break;
36974 
36975   case 1293:
36976 #line 8883 "gram.y" /* yacc.c:1652  */
36977     {
36978 					RenameStmt *n = makeNode(RenameStmt);
36979 					n->renameType = OBJECT_TABCONSTRAINT;
36980 					n->relation = (yyvsp[-5].range);
36981 					n->subname = (yyvsp[-2].str);
36982 					n->newname = (yyvsp[0].str);
36983 					n->missing_ok = true;
36984 					(yyval.node) = (Node *)n;
36985 				}
36986 #line 36987 "gram.c" /* yacc.c:1652  */
36987     break;
36988 
36989   case 1294:
36990 #line 8893 "gram.y" /* yacc.c:1652  */
36991     {
36992 					RenameStmt *n = makeNode(RenameStmt);
36993 					n->renameType = OBJECT_COLUMN;
36994 					n->relationType = OBJECT_FOREIGN_TABLE;
36995 					n->relation = (yyvsp[-5].range);
36996 					n->subname = (yyvsp[-2].str);
36997 					n->newname = (yyvsp[0].str);
36998 					n->missing_ok = false;
36999 					(yyval.node) = (Node *)n;
37000 				}
37001 #line 37002 "gram.c" /* yacc.c:1652  */
37002     break;
37003 
37004   case 1295:
37005 #line 8904 "gram.y" /* yacc.c:1652  */
37006     {
37007 					RenameStmt *n = makeNode(RenameStmt);
37008 					n->renameType = OBJECT_COLUMN;
37009 					n->relationType = OBJECT_FOREIGN_TABLE;
37010 					n->relation = (yyvsp[-5].range);
37011 					n->subname = (yyvsp[-2].str);
37012 					n->newname = (yyvsp[0].str);
37013 					n->missing_ok = true;
37014 					(yyval.node) = (Node *)n;
37015 				}
37016 #line 37017 "gram.c" /* yacc.c:1652  */
37017     break;
37018 
37019   case 1296:
37020 #line 8915 "gram.y" /* yacc.c:1652  */
37021     {
37022 					RenameStmt *n = makeNode(RenameStmt);
37023 					n->renameType = OBJECT_RULE;
37024 					n->relation = (yyvsp[-3].range);
37025 					n->subname = (yyvsp[-5].str);
37026 					n->newname = (yyvsp[0].str);
37027 					n->missing_ok = false;
37028 					(yyval.node) = (Node *)n;
37029 				}
37030 #line 37031 "gram.c" /* yacc.c:1652  */
37031     break;
37032 
37033   case 1297:
37034 #line 8925 "gram.y" /* yacc.c:1652  */
37035     {
37036 					RenameStmt *n = makeNode(RenameStmt);
37037 					n->renameType = OBJECT_TRIGGER;
37038 					n->relation = (yyvsp[-3].range);
37039 					n->subname = (yyvsp[-5].str);
37040 					n->newname = (yyvsp[0].str);
37041 					n->missing_ok = false;
37042 					(yyval.node) = (Node *)n;
37043 				}
37044 #line 37045 "gram.c" /* yacc.c:1652  */
37045     break;
37046 
37047   case 1298:
37048 #line 8935 "gram.y" /* yacc.c:1652  */
37049     {
37050 					RenameStmt *n = makeNode(RenameStmt);
37051 					n->renameType = OBJECT_EVENT_TRIGGER;
37052 					n->object = (Node *) makeString((yyvsp[-3].str));
37053 					n->newname = (yyvsp[0].str);
37054 					(yyval.node) = (Node *)n;
37055 				}
37056 #line 37057 "gram.c" /* yacc.c:1652  */
37057     break;
37058 
37059   case 1299:
37060 #line 8943 "gram.y" /* yacc.c:1652  */
37061     {
37062 					RenameStmt *n = makeNode(RenameStmt);
37063 					n->renameType = OBJECT_ROLE;
37064 					n->subname = (yyvsp[-3].str);
37065 					n->newname = (yyvsp[0].str);
37066 					n->missing_ok = false;
37067 					(yyval.node) = (Node *)n;
37068 				}
37069 #line 37070 "gram.c" /* yacc.c:1652  */
37070     break;
37071 
37072   case 1300:
37073 #line 8952 "gram.y" /* yacc.c:1652  */
37074     {
37075 					RenameStmt *n = makeNode(RenameStmt);
37076 					n->renameType = OBJECT_ROLE;
37077 					n->subname = (yyvsp[-3].str);
37078 					n->newname = (yyvsp[0].str);
37079 					n->missing_ok = false;
37080 					(yyval.node) = (Node *)n;
37081 				}
37082 #line 37083 "gram.c" /* yacc.c:1652  */
37083     break;
37084 
37085   case 1301:
37086 #line 8961 "gram.y" /* yacc.c:1652  */
37087     {
37088 					RenameStmt *n = makeNode(RenameStmt);
37089 					n->renameType = OBJECT_TABLESPACE;
37090 					n->subname = (yyvsp[-3].str);
37091 					n->newname = (yyvsp[0].str);
37092 					n->missing_ok = false;
37093 					(yyval.node) = (Node *)n;
37094 				}
37095 #line 37096 "gram.c" /* yacc.c:1652  */
37096     break;
37097 
37098   case 1302:
37099 #line 8970 "gram.y" /* yacc.c:1652  */
37100     {
37101 					RenameStmt *n = makeNode(RenameStmt);
37102 					n->renameType = OBJECT_STATISTIC_EXT;
37103 					n->object = (Node *) (yyvsp[-3].list);
37104 					n->newname = (yyvsp[0].str);
37105 					n->missing_ok = false;
37106 					(yyval.node) = (Node *)n;
37107 				}
37108 #line 37109 "gram.c" /* yacc.c:1652  */
37109     break;
37110 
37111   case 1303:
37112 #line 8979 "gram.y" /* yacc.c:1652  */
37113     {
37114 					RenameStmt *n = makeNode(RenameStmt);
37115 					n->renameType = OBJECT_TSPARSER;
37116 					n->object = (Node *) (yyvsp[-3].list);
37117 					n->newname = (yyvsp[0].str);
37118 					n->missing_ok = false;
37119 					(yyval.node) = (Node *)n;
37120 				}
37121 #line 37122 "gram.c" /* yacc.c:1652  */
37122     break;
37123 
37124   case 1304:
37125 #line 8988 "gram.y" /* yacc.c:1652  */
37126     {
37127 					RenameStmt *n = makeNode(RenameStmt);
37128 					n->renameType = OBJECT_TSDICTIONARY;
37129 					n->object = (Node *) (yyvsp[-3].list);
37130 					n->newname = (yyvsp[0].str);
37131 					n->missing_ok = false;
37132 					(yyval.node) = (Node *)n;
37133 				}
37134 #line 37135 "gram.c" /* yacc.c:1652  */
37135     break;
37136 
37137   case 1305:
37138 #line 8997 "gram.y" /* yacc.c:1652  */
37139     {
37140 					RenameStmt *n = makeNode(RenameStmt);
37141 					n->renameType = OBJECT_TSTEMPLATE;
37142 					n->object = (Node *) (yyvsp[-3].list);
37143 					n->newname = (yyvsp[0].str);
37144 					n->missing_ok = false;
37145 					(yyval.node) = (Node *)n;
37146 				}
37147 #line 37148 "gram.c" /* yacc.c:1652  */
37148     break;
37149 
37150   case 1306:
37151 #line 9006 "gram.y" /* yacc.c:1652  */
37152     {
37153 					RenameStmt *n = makeNode(RenameStmt);
37154 					n->renameType = OBJECT_TSCONFIGURATION;
37155 					n->object = (Node *) (yyvsp[-3].list);
37156 					n->newname = (yyvsp[0].str);
37157 					n->missing_ok = false;
37158 					(yyval.node) = (Node *)n;
37159 				}
37160 #line 37161 "gram.c" /* yacc.c:1652  */
37161     break;
37162 
37163   case 1307:
37164 #line 9015 "gram.y" /* yacc.c:1652  */
37165     {
37166 					RenameStmt *n = makeNode(RenameStmt);
37167 					n->renameType = OBJECT_TYPE;
37168 					n->object = (Node *) (yyvsp[-3].list);
37169 					n->newname = (yyvsp[0].str);
37170 					n->missing_ok = false;
37171 					(yyval.node) = (Node *)n;
37172 				}
37173 #line 37174 "gram.c" /* yacc.c:1652  */
37174     break;
37175 
37176   case 1308:
37177 #line 9024 "gram.y" /* yacc.c:1652  */
37178     {
37179 					RenameStmt *n = makeNode(RenameStmt);
37180 					n->renameType = OBJECT_ATTRIBUTE;
37181 					n->relationType = OBJECT_TYPE;
37182 					n->relation = makeRangeVarFromAnyName((yyvsp[-6].list), (yylsp[-6]), yyscanner);
37183 					n->subname = (yyvsp[-3].str);
37184 					n->newname = (yyvsp[-1].str);
37185 					n->behavior = (yyvsp[0].dbehavior);
37186 					n->missing_ok = false;
37187 					(yyval.node) = (Node *)n;
37188 				}
37189 #line 37190 "gram.c" /* yacc.c:1652  */
37190     break;
37191 
37192   case 1309:
37193 #line 9037 "gram.y" /* yacc.c:1652  */
37194     { (yyval.ival) = COLUMN; }
37195 #line 37196 "gram.c" /* yacc.c:1652  */
37196     break;
37197 
37198   case 1310:
37199 #line 9038 "gram.y" /* yacc.c:1652  */
37200     { (yyval.ival) = 0; }
37201 #line 37202 "gram.c" /* yacc.c:1652  */
37202     break;
37203 
37204   case 1311:
37205 #line 9041 "gram.y" /* yacc.c:1652  */
37206     { (yyval.ival) = 1; }
37207 #line 37208 "gram.c" /* yacc.c:1652  */
37208     break;
37209 
37210   case 1312:
37211 #line 9042 "gram.y" /* yacc.c:1652  */
37212     { (yyval.ival) = 0; }
37213 #line 37214 "gram.c" /* yacc.c:1652  */
37214     break;
37215 
37216   case 1313:
37217 #line 9053 "gram.y" /* yacc.c:1652  */
37218     {
37219 					AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
37220 					n->objectType = OBJECT_FUNCTION;
37221 					n->object = (Node *) (yyvsp[-5].objwithargs);
37222 					n->extname = makeString((yyvsp[0].str));
37223 					n->remove = (yyvsp[-4].boolean);
37224 					(yyval.node) = (Node *)n;
37225 				}
37226 #line 37227 "gram.c" /* yacc.c:1652  */
37227     break;
37228 
37229   case 1314:
37230 #line 9062 "gram.y" /* yacc.c:1652  */
37231     {
37232 					AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
37233 					n->objectType = OBJECT_PROCEDURE;
37234 					n->object = (Node *) (yyvsp[-5].objwithargs);
37235 					n->extname = makeString((yyvsp[0].str));
37236 					n->remove = (yyvsp[-4].boolean);
37237 					(yyval.node) = (Node *)n;
37238 				}
37239 #line 37240 "gram.c" /* yacc.c:1652  */
37240     break;
37241 
37242   case 1315:
37243 #line 9071 "gram.y" /* yacc.c:1652  */
37244     {
37245 					AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
37246 					n->objectType = OBJECT_ROUTINE;
37247 					n->object = (Node *) (yyvsp[-5].objwithargs);
37248 					n->extname = makeString((yyvsp[0].str));
37249 					n->remove = (yyvsp[-4].boolean);
37250 					(yyval.node) = (Node *)n;
37251 				}
37252 #line 37253 "gram.c" /* yacc.c:1652  */
37253     break;
37254 
37255   case 1316:
37256 #line 9080 "gram.y" /* yacc.c:1652  */
37257     {
37258 					AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
37259 					n->objectType = OBJECT_TRIGGER;
37260 					n->relation = (yyvsp[-5].range);
37261 					n->object = (Node *) list_make1(makeString((yyvsp[-7].str)));
37262 					n->extname = makeString((yyvsp[0].str));
37263 					n->remove = (yyvsp[-4].boolean);
37264 					(yyval.node) = (Node *)n;
37265 				}
37266 #line 37267 "gram.c" /* yacc.c:1652  */
37267     break;
37268 
37269   case 1317:
37270 #line 9090 "gram.y" /* yacc.c:1652  */
37271     {
37272 					AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
37273 					n->objectType = OBJECT_MATVIEW;
37274 					n->relation = (yyvsp[-5].range);
37275 					n->extname = makeString((yyvsp[0].str));
37276 					n->remove = (yyvsp[-4].boolean);
37277 					(yyval.node) = (Node *)n;
37278 				}
37279 #line 37280 "gram.c" /* yacc.c:1652  */
37280     break;
37281 
37282   case 1318:
37283 #line 9099 "gram.y" /* yacc.c:1652  */
37284     {
37285 					AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
37286 					n->objectType = OBJECT_INDEX;
37287 					n->relation = (yyvsp[-5].range);
37288 					n->extname = makeString((yyvsp[0].str));
37289 					n->remove = (yyvsp[-4].boolean);
37290 					(yyval.node) = (Node *)n;
37291 				}
37292 #line 37293 "gram.c" /* yacc.c:1652  */
37293     break;
37294 
37295   case 1319:
37296 #line 9109 "gram.y" /* yacc.c:1652  */
37297     { (yyval.boolean) = true; }
37298 #line 37299 "gram.c" /* yacc.c:1652  */
37299     break;
37300 
37301   case 1320:
37302 #line 9110 "gram.y" /* yacc.c:1652  */
37303     { (yyval.boolean) = false;	}
37304 #line 37305 "gram.c" /* yacc.c:1652  */
37305     break;
37306 
37307   case 1321:
37308 #line 9121 "gram.y" /* yacc.c:1652  */
37309     {
37310 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
37311 					n->objectType = OBJECT_AGGREGATE;
37312 					n->object = (Node *) (yyvsp[-3].objwithargs);
37313 					n->newschema = (yyvsp[0].str);
37314 					n->missing_ok = false;
37315 					(yyval.node) = (Node *)n;
37316 				}
37317 #line 37318 "gram.c" /* yacc.c:1652  */
37318     break;
37319 
37320   case 1322:
37321 #line 9130 "gram.y" /* yacc.c:1652  */
37322     {
37323 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
37324 					n->objectType = OBJECT_COLLATION;
37325 					n->object = (Node *) (yyvsp[-3].list);
37326 					n->newschema = (yyvsp[0].str);
37327 					n->missing_ok = false;
37328 					(yyval.node) = (Node *)n;
37329 				}
37330 #line 37331 "gram.c" /* yacc.c:1652  */
37331     break;
37332 
37333   case 1323:
37334 #line 9139 "gram.y" /* yacc.c:1652  */
37335     {
37336 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
37337 					n->objectType = OBJECT_CONVERSION;
37338 					n->object = (Node *) (yyvsp[-3].list);
37339 					n->newschema = (yyvsp[0].str);
37340 					n->missing_ok = false;
37341 					(yyval.node) = (Node *)n;
37342 				}
37343 #line 37344 "gram.c" /* yacc.c:1652  */
37344     break;
37345 
37346   case 1324:
37347 #line 9148 "gram.y" /* yacc.c:1652  */
37348     {
37349 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
37350 					n->objectType = OBJECT_DOMAIN;
37351 					n->object = (Node *) (yyvsp[-3].list);
37352 					n->newschema = (yyvsp[0].str);
37353 					n->missing_ok = false;
37354 					(yyval.node) = (Node *)n;
37355 				}
37356 #line 37357 "gram.c" /* yacc.c:1652  */
37357     break;
37358 
37359   case 1325:
37360 #line 9157 "gram.y" /* yacc.c:1652  */
37361     {
37362 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
37363 					n->objectType = OBJECT_EXTENSION;
37364 					n->object = (Node *) makeString((yyvsp[-3].str));
37365 					n->newschema = (yyvsp[0].str);
37366 					n->missing_ok = false;
37367 					(yyval.node) = (Node *)n;
37368 				}
37369 #line 37370 "gram.c" /* yacc.c:1652  */
37370     break;
37371 
37372   case 1326:
37373 #line 9166 "gram.y" /* yacc.c:1652  */
37374     {
37375 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
37376 					n->objectType = OBJECT_FUNCTION;
37377 					n->object = (Node *) (yyvsp[-3].objwithargs);
37378 					n->newschema = (yyvsp[0].str);
37379 					n->missing_ok = false;
37380 					(yyval.node) = (Node *)n;
37381 				}
37382 #line 37383 "gram.c" /* yacc.c:1652  */
37383     break;
37384 
37385   case 1327:
37386 #line 9175 "gram.y" /* yacc.c:1652  */
37387     {
37388 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
37389 					n->objectType = OBJECT_OPERATOR;
37390 					n->object = (Node *) (yyvsp[-3].objwithargs);
37391 					n->newschema = (yyvsp[0].str);
37392 					n->missing_ok = false;
37393 					(yyval.node) = (Node *)n;
37394 				}
37395 #line 37396 "gram.c" /* yacc.c:1652  */
37396     break;
37397 
37398   case 1328:
37399 #line 9184 "gram.y" /* yacc.c:1652  */
37400     {
37401 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
37402 					n->objectType = OBJECT_OPCLASS;
37403 					n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
37404 					n->newschema = (yyvsp[0].str);
37405 					n->missing_ok = false;
37406 					(yyval.node) = (Node *)n;
37407 				}
37408 #line 37409 "gram.c" /* yacc.c:1652  */
37409     break;
37410 
37411   case 1329:
37412 #line 9193 "gram.y" /* yacc.c:1652  */
37413     {
37414 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
37415 					n->objectType = OBJECT_OPFAMILY;
37416 					n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
37417 					n->newschema = (yyvsp[0].str);
37418 					n->missing_ok = false;
37419 					(yyval.node) = (Node *)n;
37420 				}
37421 #line 37422 "gram.c" /* yacc.c:1652  */
37422     break;
37423 
37424   case 1330:
37425 #line 9202 "gram.y" /* yacc.c:1652  */
37426     {
37427 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
37428 					n->objectType = OBJECT_PROCEDURE;
37429 					n->object = (Node *) (yyvsp[-3].objwithargs);
37430 					n->newschema = (yyvsp[0].str);
37431 					n->missing_ok = false;
37432 					(yyval.node) = (Node *)n;
37433 				}
37434 #line 37435 "gram.c" /* yacc.c:1652  */
37435     break;
37436 
37437   case 1331:
37438 #line 9211 "gram.y" /* yacc.c:1652  */
37439     {
37440 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
37441 					n->objectType = OBJECT_ROUTINE;
37442 					n->object = (Node *) (yyvsp[-3].objwithargs);
37443 					n->newschema = (yyvsp[0].str);
37444 					n->missing_ok = false;
37445 					(yyval.node) = (Node *)n;
37446 				}
37447 #line 37448 "gram.c" /* yacc.c:1652  */
37448     break;
37449 
37450   case 1332:
37451 #line 9220 "gram.y" /* yacc.c:1652  */
37452     {
37453 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
37454 					n->objectType = OBJECT_TABLE;
37455 					n->relation = (yyvsp[-3].range);
37456 					n->newschema = (yyvsp[0].str);
37457 					n->missing_ok = false;
37458 					(yyval.node) = (Node *)n;
37459 				}
37460 #line 37461 "gram.c" /* yacc.c:1652  */
37461     break;
37462 
37463   case 1333:
37464 #line 9229 "gram.y" /* yacc.c:1652  */
37465     {
37466 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
37467 					n->objectType = OBJECT_TABLE;
37468 					n->relation = (yyvsp[-3].range);
37469 					n->newschema = (yyvsp[0].str);
37470 					n->missing_ok = true;
37471 					(yyval.node) = (Node *)n;
37472 				}
37473 #line 37474 "gram.c" /* yacc.c:1652  */
37474     break;
37475 
37476   case 1334:
37477 #line 9238 "gram.y" /* yacc.c:1652  */
37478     {
37479 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
37480 					n->objectType = OBJECT_STATISTIC_EXT;
37481 					n->object = (Node *) (yyvsp[-3].list);
37482 					n->newschema = (yyvsp[0].str);
37483 					n->missing_ok = false;
37484 					(yyval.node) = (Node *)n;
37485 				}
37486 #line 37487 "gram.c" /* yacc.c:1652  */
37487     break;
37488 
37489   case 1335:
37490 #line 9247 "gram.y" /* yacc.c:1652  */
37491     {
37492 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
37493 					n->objectType = OBJECT_TSPARSER;
37494 					n->object = (Node *) (yyvsp[-3].list);
37495 					n->newschema = (yyvsp[0].str);
37496 					n->missing_ok = false;
37497 					(yyval.node) = (Node *)n;
37498 				}
37499 #line 37500 "gram.c" /* yacc.c:1652  */
37500     break;
37501 
37502   case 1336:
37503 #line 9256 "gram.y" /* yacc.c:1652  */
37504     {
37505 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
37506 					n->objectType = OBJECT_TSDICTIONARY;
37507 					n->object = (Node *) (yyvsp[-3].list);
37508 					n->newschema = (yyvsp[0].str);
37509 					n->missing_ok = false;
37510 					(yyval.node) = (Node *)n;
37511 				}
37512 #line 37513 "gram.c" /* yacc.c:1652  */
37513     break;
37514 
37515   case 1337:
37516 #line 9265 "gram.y" /* yacc.c:1652  */
37517     {
37518 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
37519 					n->objectType = OBJECT_TSTEMPLATE;
37520 					n->object = (Node *) (yyvsp[-3].list);
37521 					n->newschema = (yyvsp[0].str);
37522 					n->missing_ok = false;
37523 					(yyval.node) = (Node *)n;
37524 				}
37525 #line 37526 "gram.c" /* yacc.c:1652  */
37526     break;
37527 
37528   case 1338:
37529 #line 9274 "gram.y" /* yacc.c:1652  */
37530     {
37531 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
37532 					n->objectType = OBJECT_TSCONFIGURATION;
37533 					n->object = (Node *) (yyvsp[-3].list);
37534 					n->newschema = (yyvsp[0].str);
37535 					n->missing_ok = false;
37536 					(yyval.node) = (Node *)n;
37537 				}
37538 #line 37539 "gram.c" /* yacc.c:1652  */
37539     break;
37540 
37541   case 1339:
37542 #line 9283 "gram.y" /* yacc.c:1652  */
37543     {
37544 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
37545 					n->objectType = OBJECT_SEQUENCE;
37546 					n->relation = (yyvsp[-3].range);
37547 					n->newschema = (yyvsp[0].str);
37548 					n->missing_ok = false;
37549 					(yyval.node) = (Node *)n;
37550 				}
37551 #line 37552 "gram.c" /* yacc.c:1652  */
37552     break;
37553 
37554   case 1340:
37555 #line 9292 "gram.y" /* yacc.c:1652  */
37556     {
37557 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
37558 					n->objectType = OBJECT_SEQUENCE;
37559 					n->relation = (yyvsp[-3].range);
37560 					n->newschema = (yyvsp[0].str);
37561 					n->missing_ok = true;
37562 					(yyval.node) = (Node *)n;
37563 				}
37564 #line 37565 "gram.c" /* yacc.c:1652  */
37565     break;
37566 
37567   case 1341:
37568 #line 9301 "gram.y" /* yacc.c:1652  */
37569     {
37570 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
37571 					n->objectType = OBJECT_VIEW;
37572 					n->relation = (yyvsp[-3].range);
37573 					n->newschema = (yyvsp[0].str);
37574 					n->missing_ok = false;
37575 					(yyval.node) = (Node *)n;
37576 				}
37577 #line 37578 "gram.c" /* yacc.c:1652  */
37578     break;
37579 
37580   case 1342:
37581 #line 9310 "gram.y" /* yacc.c:1652  */
37582     {
37583 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
37584 					n->objectType = OBJECT_VIEW;
37585 					n->relation = (yyvsp[-3].range);
37586 					n->newschema = (yyvsp[0].str);
37587 					n->missing_ok = true;
37588 					(yyval.node) = (Node *)n;
37589 				}
37590 #line 37591 "gram.c" /* yacc.c:1652  */
37591     break;
37592 
37593   case 1343:
37594 #line 9319 "gram.y" /* yacc.c:1652  */
37595     {
37596 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
37597 					n->objectType = OBJECT_MATVIEW;
37598 					n->relation = (yyvsp[-3].range);
37599 					n->newschema = (yyvsp[0].str);
37600 					n->missing_ok = false;
37601 					(yyval.node) = (Node *)n;
37602 				}
37603 #line 37604 "gram.c" /* yacc.c:1652  */
37604     break;
37605 
37606   case 1344:
37607 #line 9328 "gram.y" /* yacc.c:1652  */
37608     {
37609 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
37610 					n->objectType = OBJECT_MATVIEW;
37611 					n->relation = (yyvsp[-3].range);
37612 					n->newschema = (yyvsp[0].str);
37613 					n->missing_ok = true;
37614 					(yyval.node) = (Node *)n;
37615 				}
37616 #line 37617 "gram.c" /* yacc.c:1652  */
37617     break;
37618 
37619   case 1345:
37620 #line 9337 "gram.y" /* yacc.c:1652  */
37621     {
37622 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
37623 					n->objectType = OBJECT_FOREIGN_TABLE;
37624 					n->relation = (yyvsp[-3].range);
37625 					n->newschema = (yyvsp[0].str);
37626 					n->missing_ok = false;
37627 					(yyval.node) = (Node *)n;
37628 				}
37629 #line 37630 "gram.c" /* yacc.c:1652  */
37630     break;
37631 
37632   case 1346:
37633 #line 9346 "gram.y" /* yacc.c:1652  */
37634     {
37635 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
37636 					n->objectType = OBJECT_FOREIGN_TABLE;
37637 					n->relation = (yyvsp[-3].range);
37638 					n->newschema = (yyvsp[0].str);
37639 					n->missing_ok = true;
37640 					(yyval.node) = (Node *)n;
37641 				}
37642 #line 37643 "gram.c" /* yacc.c:1652  */
37643     break;
37644 
37645   case 1347:
37646 #line 9355 "gram.y" /* yacc.c:1652  */
37647     {
37648 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
37649 					n->objectType = OBJECT_TYPE;
37650 					n->object = (Node *) (yyvsp[-3].list);
37651 					n->newschema = (yyvsp[0].str);
37652 					n->missing_ok = false;
37653 					(yyval.node) = (Node *)n;
37654 				}
37655 #line 37656 "gram.c" /* yacc.c:1652  */
37656     break;
37657 
37658   case 1348:
37659 #line 9373 "gram.y" /* yacc.c:1652  */
37660     {
37661 					AlterOperatorStmt *n = makeNode(AlterOperatorStmt);
37662 					n->opername = (yyvsp[-4].objwithargs);
37663 					n->options = (yyvsp[-1].list);
37664 					(yyval.node) = (Node *)n;
37665 				}
37666 #line 37667 "gram.c" /* yacc.c:1652  */
37667     break;
37668 
37669   case 1349:
37670 #line 9381 "gram.y" /* yacc.c:1652  */
37671     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
37672 #line 37673 "gram.c" /* yacc.c:1652  */
37673     break;
37674 
37675   case 1350:
37676 #line 9382 "gram.y" /* yacc.c:1652  */
37677     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
37678 #line 37679 "gram.c" /* yacc.c:1652  */
37679     break;
37680 
37681   case 1351:
37682 #line 9386 "gram.y" /* yacc.c:1652  */
37683     { (yyval.defelt) = makeDefElem((yyvsp[-2].str), NULL, (yylsp[-2])); }
37684 #line 37685 "gram.c" /* yacc.c:1652  */
37685     break;
37686 
37687   case 1352:
37688 #line 9388 "gram.y" /* yacc.c:1652  */
37689     { (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *) (yyvsp[0].node), (yylsp[-2])); }
37690 #line 37691 "gram.c" /* yacc.c:1652  */
37691     break;
37692 
37693   case 1353:
37694 #line 9393 "gram.y" /* yacc.c:1652  */
37695     { (yyval.node) = (Node *)(yyvsp[0].typnam); }
37696 #line 37697 "gram.c" /* yacc.c:1652  */
37697     break;
37698 
37699   case 1354:
37700 #line 9394 "gram.y" /* yacc.c:1652  */
37701     { (yyval.node) = (Node *)makeString(pstrdup((yyvsp[0].keyword))); }
37702 #line 37703 "gram.c" /* yacc.c:1652  */
37703     break;
37704 
37705   case 1355:
37706 #line 9395 "gram.y" /* yacc.c:1652  */
37707     { (yyval.node) = (Node *)(yyvsp[0].list); }
37708 #line 37709 "gram.c" /* yacc.c:1652  */
37709     break;
37710 
37711   case 1356:
37712 #line 9396 "gram.y" /* yacc.c:1652  */
37713     { (yyval.node) = (Node *)(yyvsp[0].value); }
37714 #line 37715 "gram.c" /* yacc.c:1652  */
37715     break;
37716 
37717   case 1357:
37718 #line 9397 "gram.y" /* yacc.c:1652  */
37719     { (yyval.node) = (Node *)makeString((yyvsp[0].str)); }
37720 #line 37721 "gram.c" /* yacc.c:1652  */
37721     break;
37722 
37723   case 1358:
37724 #line 9410 "gram.y" /* yacc.c:1652  */
37725     {
37726 					AlterTypeStmt *n = makeNode(AlterTypeStmt);
37727 					n->typeName = (yyvsp[-4].list);
37728 					n->options = (yyvsp[-1].list);
37729 					(yyval.node) = (Node *)n;
37730 				}
37731 #line 37732 "gram.c" /* yacc.c:1652  */
37732     break;
37733 
37734   case 1359:
37735 #line 9425 "gram.y" /* yacc.c:1652  */
37736     {
37737 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37738 					n->objectType = OBJECT_AGGREGATE;
37739 					n->object = (Node *) (yyvsp[-3].objwithargs);
37740 					n->newowner = (yyvsp[0].rolespec);
37741 					(yyval.node) = (Node *)n;
37742 				}
37743 #line 37744 "gram.c" /* yacc.c:1652  */
37744     break;
37745 
37746   case 1360:
37747 #line 9433 "gram.y" /* yacc.c:1652  */
37748     {
37749 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37750 					n->objectType = OBJECT_COLLATION;
37751 					n->object = (Node *) (yyvsp[-3].list);
37752 					n->newowner = (yyvsp[0].rolespec);
37753 					(yyval.node) = (Node *)n;
37754 				}
37755 #line 37756 "gram.c" /* yacc.c:1652  */
37756     break;
37757 
37758   case 1361:
37759 #line 9441 "gram.y" /* yacc.c:1652  */
37760     {
37761 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37762 					n->objectType = OBJECT_CONVERSION;
37763 					n->object = (Node *) (yyvsp[-3].list);
37764 					n->newowner = (yyvsp[0].rolespec);
37765 					(yyval.node) = (Node *)n;
37766 				}
37767 #line 37768 "gram.c" /* yacc.c:1652  */
37768     break;
37769 
37770   case 1362:
37771 #line 9449 "gram.y" /* yacc.c:1652  */
37772     {
37773 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37774 					n->objectType = OBJECT_DATABASE;
37775 					n->object = (Node *) makeString((yyvsp[-3].str));
37776 					n->newowner = (yyvsp[0].rolespec);
37777 					(yyval.node) = (Node *)n;
37778 				}
37779 #line 37780 "gram.c" /* yacc.c:1652  */
37780     break;
37781 
37782   case 1363:
37783 #line 9457 "gram.y" /* yacc.c:1652  */
37784     {
37785 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37786 					n->objectType = OBJECT_DOMAIN;
37787 					n->object = (Node *) (yyvsp[-3].list);
37788 					n->newowner = (yyvsp[0].rolespec);
37789 					(yyval.node) = (Node *)n;
37790 				}
37791 #line 37792 "gram.c" /* yacc.c:1652  */
37792     break;
37793 
37794   case 1364:
37795 #line 9465 "gram.y" /* yacc.c:1652  */
37796     {
37797 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37798 					n->objectType = OBJECT_FUNCTION;
37799 					n->object = (Node *) (yyvsp[-3].objwithargs);
37800 					n->newowner = (yyvsp[0].rolespec);
37801 					(yyval.node) = (Node *)n;
37802 				}
37803 #line 37804 "gram.c" /* yacc.c:1652  */
37804     break;
37805 
37806   case 1365:
37807 #line 9473 "gram.y" /* yacc.c:1652  */
37808     {
37809 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37810 					n->objectType = OBJECT_LANGUAGE;
37811 					n->object = (Node *) makeString((yyvsp[-3].str));
37812 					n->newowner = (yyvsp[0].rolespec);
37813 					(yyval.node) = (Node *)n;
37814 				}
37815 #line 37816 "gram.c" /* yacc.c:1652  */
37816     break;
37817 
37818   case 1366:
37819 #line 9481 "gram.y" /* yacc.c:1652  */
37820     {
37821 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37822 					n->objectType = OBJECT_LARGEOBJECT;
37823 					n->object = (Node *) (yyvsp[-3].value);
37824 					n->newowner = (yyvsp[0].rolespec);
37825 					(yyval.node) = (Node *)n;
37826 				}
37827 #line 37828 "gram.c" /* yacc.c:1652  */
37828     break;
37829 
37830   case 1367:
37831 #line 9489 "gram.y" /* yacc.c:1652  */
37832     {
37833 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37834 					n->objectType = OBJECT_OPERATOR;
37835 					n->object = (Node *) (yyvsp[-3].objwithargs);
37836 					n->newowner = (yyvsp[0].rolespec);
37837 					(yyval.node) = (Node *)n;
37838 				}
37839 #line 37840 "gram.c" /* yacc.c:1652  */
37840     break;
37841 
37842   case 1368:
37843 #line 9497 "gram.y" /* yacc.c:1652  */
37844     {
37845 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37846 					n->objectType = OBJECT_OPCLASS;
37847 					n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
37848 					n->newowner = (yyvsp[0].rolespec);
37849 					(yyval.node) = (Node *)n;
37850 				}
37851 #line 37852 "gram.c" /* yacc.c:1652  */
37852     break;
37853 
37854   case 1369:
37855 #line 9505 "gram.y" /* yacc.c:1652  */
37856     {
37857 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37858 					n->objectType = OBJECT_OPFAMILY;
37859 					n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
37860 					n->newowner = (yyvsp[0].rolespec);
37861 					(yyval.node) = (Node *)n;
37862 				}
37863 #line 37864 "gram.c" /* yacc.c:1652  */
37864     break;
37865 
37866   case 1370:
37867 #line 9513 "gram.y" /* yacc.c:1652  */
37868     {
37869 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37870 					n->objectType = OBJECT_PROCEDURE;
37871 					n->object = (Node *) (yyvsp[-3].objwithargs);
37872 					n->newowner = (yyvsp[0].rolespec);
37873 					(yyval.node) = (Node *)n;
37874 				}
37875 #line 37876 "gram.c" /* yacc.c:1652  */
37876     break;
37877 
37878   case 1371:
37879 #line 9521 "gram.y" /* yacc.c:1652  */
37880     {
37881 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37882 					n->objectType = OBJECT_ROUTINE;
37883 					n->object = (Node *) (yyvsp[-3].objwithargs);
37884 					n->newowner = (yyvsp[0].rolespec);
37885 					(yyval.node) = (Node *)n;
37886 				}
37887 #line 37888 "gram.c" /* yacc.c:1652  */
37888     break;
37889 
37890   case 1372:
37891 #line 9529 "gram.y" /* yacc.c:1652  */
37892     {
37893 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37894 					n->objectType = OBJECT_SCHEMA;
37895 					n->object = (Node *) makeString((yyvsp[-3].str));
37896 					n->newowner = (yyvsp[0].rolespec);
37897 					(yyval.node) = (Node *)n;
37898 				}
37899 #line 37900 "gram.c" /* yacc.c:1652  */
37900     break;
37901 
37902   case 1373:
37903 #line 9537 "gram.y" /* yacc.c:1652  */
37904     {
37905 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37906 					n->objectType = OBJECT_TYPE;
37907 					n->object = (Node *) (yyvsp[-3].list);
37908 					n->newowner = (yyvsp[0].rolespec);
37909 					(yyval.node) = (Node *)n;
37910 				}
37911 #line 37912 "gram.c" /* yacc.c:1652  */
37912     break;
37913 
37914   case 1374:
37915 #line 9545 "gram.y" /* yacc.c:1652  */
37916     {
37917 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37918 					n->objectType = OBJECT_TABLESPACE;
37919 					n->object = (Node *) makeString((yyvsp[-3].str));
37920 					n->newowner = (yyvsp[0].rolespec);
37921 					(yyval.node) = (Node *)n;
37922 				}
37923 #line 37924 "gram.c" /* yacc.c:1652  */
37924     break;
37925 
37926   case 1375:
37927 #line 9553 "gram.y" /* yacc.c:1652  */
37928     {
37929 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37930 					n->objectType = OBJECT_STATISTIC_EXT;
37931 					n->object = (Node *) (yyvsp[-3].list);
37932 					n->newowner = (yyvsp[0].rolespec);
37933 					(yyval.node) = (Node *)n;
37934 				}
37935 #line 37936 "gram.c" /* yacc.c:1652  */
37936     break;
37937 
37938   case 1376:
37939 #line 9561 "gram.y" /* yacc.c:1652  */
37940     {
37941 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37942 					n->objectType = OBJECT_TSDICTIONARY;
37943 					n->object = (Node *) (yyvsp[-3].list);
37944 					n->newowner = (yyvsp[0].rolespec);
37945 					(yyval.node) = (Node *)n;
37946 				}
37947 #line 37948 "gram.c" /* yacc.c:1652  */
37948     break;
37949 
37950   case 1377:
37951 #line 9569 "gram.y" /* yacc.c:1652  */
37952     {
37953 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37954 					n->objectType = OBJECT_TSCONFIGURATION;
37955 					n->object = (Node *) (yyvsp[-3].list);
37956 					n->newowner = (yyvsp[0].rolespec);
37957 					(yyval.node) = (Node *)n;
37958 				}
37959 #line 37960 "gram.c" /* yacc.c:1652  */
37960     break;
37961 
37962   case 1378:
37963 #line 9577 "gram.y" /* yacc.c:1652  */
37964     {
37965 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37966 					n->objectType = OBJECT_FDW;
37967 					n->object = (Node *) makeString((yyvsp[-3].str));
37968 					n->newowner = (yyvsp[0].rolespec);
37969 					(yyval.node) = (Node *)n;
37970 				}
37971 #line 37972 "gram.c" /* yacc.c:1652  */
37972     break;
37973 
37974   case 1379:
37975 #line 9585 "gram.y" /* yacc.c:1652  */
37976     {
37977 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37978 					n->objectType = OBJECT_FOREIGN_SERVER;
37979 					n->object = (Node *) makeString((yyvsp[-3].str));
37980 					n->newowner = (yyvsp[0].rolespec);
37981 					(yyval.node) = (Node *)n;
37982 				}
37983 #line 37984 "gram.c" /* yacc.c:1652  */
37984     break;
37985 
37986   case 1380:
37987 #line 9593 "gram.y" /* yacc.c:1652  */
37988     {
37989 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37990 					n->objectType = OBJECT_EVENT_TRIGGER;
37991 					n->object = (Node *) makeString((yyvsp[-3].str));
37992 					n->newowner = (yyvsp[0].rolespec);
37993 					(yyval.node) = (Node *)n;
37994 				}
37995 #line 37996 "gram.c" /* yacc.c:1652  */
37996     break;
37997 
37998   case 1381:
37999 #line 9601 "gram.y" /* yacc.c:1652  */
38000     {
38001 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38002 					n->objectType = OBJECT_PUBLICATION;
38003 					n->object = (Node *) makeString((yyvsp[-3].str));
38004 					n->newowner = (yyvsp[0].rolespec);
38005 					(yyval.node) = (Node *)n;
38006 				}
38007 #line 38008 "gram.c" /* yacc.c:1652  */
38008     break;
38009 
38010   case 1382:
38011 #line 9609 "gram.y" /* yacc.c:1652  */
38012     {
38013 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38014 					n->objectType = OBJECT_SUBSCRIPTION;
38015 					n->object = (Node *) makeString((yyvsp[-3].str));
38016 					n->newowner = (yyvsp[0].rolespec);
38017 					(yyval.node) = (Node *)n;
38018 				}
38019 #line 38020 "gram.c" /* yacc.c:1652  */
38020     break;
38021 
38022   case 1383:
38023 #line 9627 "gram.y" /* yacc.c:1652  */
38024     {
38025 					CreatePublicationStmt *n = makeNode(CreatePublicationStmt);
38026 					n->pubname = (yyvsp[-2].str);
38027 					n->options = (yyvsp[0].list);
38028 					if ((yyvsp[-1].node) != NULL)
38029 					{
38030 						/* FOR TABLE */
38031 						if (IsA((yyvsp[-1].node), List))
38032 							n->tables = (List *)(yyvsp[-1].node);
38033 						/* FOR ALL TABLES */
38034 						else
38035 							n->for_all_tables = true;
38036 					}
38037 					(yyval.node) = (Node *)n;
38038 				}
38039 #line 38040 "gram.c" /* yacc.c:1652  */
38040     break;
38041 
38042   case 1384:
38043 #line 9645 "gram.y" /* yacc.c:1652  */
38044     { (yyval.node) = (yyvsp[0].node); }
38045 #line 38046 "gram.c" /* yacc.c:1652  */
38046     break;
38047 
38048   case 1385:
38049 #line 9646 "gram.y" /* yacc.c:1652  */
38050     { (yyval.node) = NULL; }
38051 #line 38052 "gram.c" /* yacc.c:1652  */
38052     break;
38053 
38054   case 1386:
38055 #line 9651 "gram.y" /* yacc.c:1652  */
38056     {
38057 					(yyval.node) = (Node *) (yyvsp[0].list);
38058 				}
38059 #line 38060 "gram.c" /* yacc.c:1652  */
38060     break;
38061 
38062   case 1387:
38063 #line 9655 "gram.y" /* yacc.c:1652  */
38064     {
38065 					(yyval.node) = (Node *) makeInteger(true);
38066 				}
38067 #line 38068 "gram.c" /* yacc.c:1652  */
38068     break;
38069 
38070   case 1388:
38071 #line 9675 "gram.y" /* yacc.c:1652  */
38072     {
38073 					AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
38074 					n->pubname = (yyvsp[-2].str);
38075 					n->options = (yyvsp[0].list);
38076 					(yyval.node) = (Node *)n;
38077 				}
38078 #line 38079 "gram.c" /* yacc.c:1652  */
38079     break;
38080 
38081   case 1389:
38082 #line 9682 "gram.y" /* yacc.c:1652  */
38083     {
38084 					AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
38085 					n->pubname = (yyvsp[-3].str);
38086 					n->tables = (yyvsp[0].list);
38087 					n->tableAction = DEFELEM_ADD;
38088 					(yyval.node) = (Node *)n;
38089 				}
38090 #line 38091 "gram.c" /* yacc.c:1652  */
38091     break;
38092 
38093   case 1390:
38094 #line 9690 "gram.y" /* yacc.c:1652  */
38095     {
38096 					AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
38097 					n->pubname = (yyvsp[-3].str);
38098 					n->tables = (yyvsp[0].list);
38099 					n->tableAction = DEFELEM_SET;
38100 					(yyval.node) = (Node *)n;
38101 				}
38102 #line 38103 "gram.c" /* yacc.c:1652  */
38103     break;
38104 
38105   case 1391:
38106 #line 9698 "gram.y" /* yacc.c:1652  */
38107     {
38108 					AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
38109 					n->pubname = (yyvsp[-3].str);
38110 					n->tables = (yyvsp[0].list);
38111 					n->tableAction = DEFELEM_DROP;
38112 					(yyval.node) = (Node *)n;
38113 				}
38114 #line 38115 "gram.c" /* yacc.c:1652  */
38115     break;
38116 
38117   case 1392:
38118 #line 9715 "gram.y" /* yacc.c:1652  */
38119     {
38120 					CreateSubscriptionStmt *n =
38121 						makeNode(CreateSubscriptionStmt);
38122 					n->subname = (yyvsp[-5].str);
38123 					n->conninfo = (yyvsp[-3].str);
38124 					n->publication = (yyvsp[-1].list);
38125 					n->options = (yyvsp[0].list);
38126 					(yyval.node) = (Node *)n;
38127 				}
38128 #line 38129 "gram.c" /* yacc.c:1652  */
38129     break;
38130 
38131   case 1393:
38132 #line 9728 "gram.y" /* yacc.c:1652  */
38133     {
38134 					(yyval.list) = list_make1((yyvsp[0].value));
38135 				}
38136 #line 38137 "gram.c" /* yacc.c:1652  */
38137     break;
38138 
38139   case 1394:
38140 #line 9732 "gram.y" /* yacc.c:1652  */
38141     {
38142 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].value));
38143 				}
38144 #line 38145 "gram.c" /* yacc.c:1652  */
38145     break;
38146 
38147   case 1395:
38148 #line 9738 "gram.y" /* yacc.c:1652  */
38149     { (yyval.value) = makeString((yyvsp[0].str)); }
38150 #line 38151 "gram.c" /* yacc.c:1652  */
38151     break;
38152 
38153   case 1396:
38154 #line 9748 "gram.y" /* yacc.c:1652  */
38155     {
38156 					AlterSubscriptionStmt *n =
38157 						makeNode(AlterSubscriptionStmt);
38158 					n->kind = ALTER_SUBSCRIPTION_OPTIONS;
38159 					n->subname = (yyvsp[-2].str);
38160 					n->options = (yyvsp[0].list);
38161 					(yyval.node) = (Node *)n;
38162 				}
38163 #line 38164 "gram.c" /* yacc.c:1652  */
38164     break;
38165 
38166   case 1397:
38167 #line 9757 "gram.y" /* yacc.c:1652  */
38168     {
38169 					AlterSubscriptionStmt *n =
38170 						makeNode(AlterSubscriptionStmt);
38171 					n->kind = ALTER_SUBSCRIPTION_CONNECTION;
38172 					n->subname = (yyvsp[-2].str);
38173 					n->conninfo = (yyvsp[0].str);
38174 					(yyval.node) = (Node *)n;
38175 				}
38176 #line 38177 "gram.c" /* yacc.c:1652  */
38177     break;
38178 
38179   case 1398:
38180 #line 9766 "gram.y" /* yacc.c:1652  */
38181     {
38182 					AlterSubscriptionStmt *n =
38183 						makeNode(AlterSubscriptionStmt);
38184 					n->kind = ALTER_SUBSCRIPTION_REFRESH;
38185 					n->subname = (yyvsp[-3].str);
38186 					n->options = (yyvsp[0].list);
38187 					(yyval.node) = (Node *)n;
38188 				}
38189 #line 38190 "gram.c" /* yacc.c:1652  */
38190     break;
38191 
38192   case 1399:
38193 #line 9775 "gram.y" /* yacc.c:1652  */
38194     {
38195 					AlterSubscriptionStmt *n =
38196 						makeNode(AlterSubscriptionStmt);
38197 					n->kind = ALTER_SUBSCRIPTION_PUBLICATION;
38198 					n->subname = (yyvsp[-4].str);
38199 					n->publication = (yyvsp[-1].list);
38200 					n->options = (yyvsp[0].list);
38201 					(yyval.node) = (Node *)n;
38202 				}
38203 #line 38204 "gram.c" /* yacc.c:1652  */
38204     break;
38205 
38206   case 1400:
38207 #line 9785 "gram.y" /* yacc.c:1652  */
38208     {
38209 					AlterSubscriptionStmt *n =
38210 						makeNode(AlterSubscriptionStmt);
38211 					n->kind = ALTER_SUBSCRIPTION_ENABLED;
38212 					n->subname = (yyvsp[-1].str);
38213 					n->options = list_make1(makeDefElem("enabled",
38214 											(Node *)makeInteger(true), (yylsp[-3])));
38215 					(yyval.node) = (Node *)n;
38216 				}
38217 #line 38218 "gram.c" /* yacc.c:1652  */
38218     break;
38219 
38220   case 1401:
38221 #line 9795 "gram.y" /* yacc.c:1652  */
38222     {
38223 					AlterSubscriptionStmt *n =
38224 						makeNode(AlterSubscriptionStmt);
38225 					n->kind = ALTER_SUBSCRIPTION_ENABLED;
38226 					n->subname = (yyvsp[-1].str);
38227 					n->options = list_make1(makeDefElem("enabled",
38228 											(Node *)makeInteger(false), (yylsp[-3])));
38229 					(yyval.node) = (Node *)n;
38230 				}
38231 #line 38232 "gram.c" /* yacc.c:1652  */
38232     break;
38233 
38234   case 1402:
38235 #line 9813 "gram.y" /* yacc.c:1652  */
38236     {
38237 					DropSubscriptionStmt *n = makeNode(DropSubscriptionStmt);
38238 					n->subname = (yyvsp[-1].str);
38239 					n->missing_ok = false;
38240 					n->behavior = (yyvsp[0].dbehavior);
38241 					(yyval.node) = (Node *) n;
38242 				}
38243 #line 38244 "gram.c" /* yacc.c:1652  */
38244     break;
38245 
38246   case 1403:
38247 #line 9821 "gram.y" /* yacc.c:1652  */
38248     {
38249 					DropSubscriptionStmt *n = makeNode(DropSubscriptionStmt);
38250 					n->subname = (yyvsp[-1].str);
38251 					n->missing_ok = true;
38252 					n->behavior = (yyvsp[0].dbehavior);
38253 					(yyval.node) = (Node *) n;
38254 				}
38255 #line 38256 "gram.c" /* yacc.c:1652  */
38256     break;
38257 
38258   case 1404:
38259 #line 9839 "gram.y" /* yacc.c:1652  */
38260     {
38261 					RuleStmt *n = makeNode(RuleStmt);
38262 					n->replace = (yyvsp[-11].boolean);
38263 					n->relation = (yyvsp[-4].range);
38264 					n->rulename = (yyvsp[-9].str);
38265 					n->whereClause = (yyvsp[-3].node);
38266 					n->event = (yyvsp[-6].ival);
38267 					n->instead = (yyvsp[-1].boolean);
38268 					n->actions = (yyvsp[0].list);
38269 					(yyval.node) = (Node *)n;
38270 				}
38271 #line 38272 "gram.c" /* yacc.c:1652  */
38272     break;
38273 
38274   case 1405:
38275 #line 9853 "gram.y" /* yacc.c:1652  */
38276     { (yyval.list) = NIL; }
38277 #line 38278 "gram.c" /* yacc.c:1652  */
38278     break;
38279 
38280   case 1406:
38281 #line 9854 "gram.y" /* yacc.c:1652  */
38282     { (yyval.list) = list_make1((yyvsp[0].node)); }
38283 #line 38284 "gram.c" /* yacc.c:1652  */
38284     break;
38285 
38286   case 1407:
38287 #line 9855 "gram.y" /* yacc.c:1652  */
38288     { (yyval.list) = (yyvsp[-1].list); }
38289 #line 38290 "gram.c" /* yacc.c:1652  */
38290     break;
38291 
38292   case 1408:
38293 #line 9861 "gram.y" /* yacc.c:1652  */
38294     { if ((yyvsp[0].node) != NULL)
38295 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
38296 				  else
38297 					(yyval.list) = (yyvsp[-2].list);
38298 				}
38299 #line 38300 "gram.c" /* yacc.c:1652  */
38300     break;
38301 
38302   case 1409:
38303 #line 9867 "gram.y" /* yacc.c:1652  */
38304     { if ((yyvsp[0].node) != NULL)
38305 					(yyval.list) = list_make1((yyvsp[0].node));
38306 				  else
38307 					(yyval.list) = NIL;
38308 				}
38309 #line 38310 "gram.c" /* yacc.c:1652  */
38310     break;
38311 
38312   case 1415:
38313 #line 9883 "gram.y" /* yacc.c:1652  */
38314     { (yyval.node) = (yyvsp[0].node); }
38315 #line 38316 "gram.c" /* yacc.c:1652  */
38316     break;
38317 
38318   case 1416:
38319 #line 9884 "gram.y" /* yacc.c:1652  */
38320     { (yyval.node) = NULL; }
38321 #line 38322 "gram.c" /* yacc.c:1652  */
38322     break;
38323 
38324   case 1417:
38325 #line 9887 "gram.y" /* yacc.c:1652  */
38326     { (yyval.ival) = CMD_SELECT; }
38327 #line 38328 "gram.c" /* yacc.c:1652  */
38328     break;
38329 
38330   case 1418:
38331 #line 9888 "gram.y" /* yacc.c:1652  */
38332     { (yyval.ival) = CMD_UPDATE; }
38333 #line 38334 "gram.c" /* yacc.c:1652  */
38334     break;
38335 
38336   case 1419:
38337 #line 9889 "gram.y" /* yacc.c:1652  */
38338     { (yyval.ival) = CMD_DELETE; }
38339 #line 38340 "gram.c" /* yacc.c:1652  */
38340     break;
38341 
38342   case 1420:
38343 #line 9890 "gram.y" /* yacc.c:1652  */
38344     { (yyval.ival) = CMD_INSERT; }
38345 #line 38346 "gram.c" /* yacc.c:1652  */
38346     break;
38347 
38348   case 1421:
38349 #line 9894 "gram.y" /* yacc.c:1652  */
38350     { (yyval.boolean) = true; }
38351 #line 38352 "gram.c" /* yacc.c:1652  */
38352     break;
38353 
38354   case 1422:
38355 #line 9895 "gram.y" /* yacc.c:1652  */
38356     { (yyval.boolean) = false; }
38357 #line 38358 "gram.c" /* yacc.c:1652  */
38358     break;
38359 
38360   case 1423:
38361 #line 9896 "gram.y" /* yacc.c:1652  */
38362     { (yyval.boolean) = false; }
38363 #line 38364 "gram.c" /* yacc.c:1652  */
38364     break;
38365 
38366   case 1424:
38367 #line 9909 "gram.y" /* yacc.c:1652  */
38368     {
38369 					NotifyStmt *n = makeNode(NotifyStmt);
38370 					n->conditionname = (yyvsp[-1].str);
38371 					n->payload = (yyvsp[0].str);
38372 					(yyval.node) = (Node *)n;
38373 				}
38374 #line 38375 "gram.c" /* yacc.c:1652  */
38375     break;
38376 
38377   case 1425:
38378 #line 9918 "gram.y" /* yacc.c:1652  */
38379     { (yyval.str) = (yyvsp[0].str); }
38380 #line 38381 "gram.c" /* yacc.c:1652  */
38381     break;
38382 
38383   case 1426:
38384 #line 9919 "gram.y" /* yacc.c:1652  */
38385     { (yyval.str) = NULL; }
38386 #line 38387 "gram.c" /* yacc.c:1652  */
38387     break;
38388 
38389   case 1427:
38390 #line 9923 "gram.y" /* yacc.c:1652  */
38391     {
38392 					ListenStmt *n = makeNode(ListenStmt);
38393 					n->conditionname = (yyvsp[0].str);
38394 					(yyval.node) = (Node *)n;
38395 				}
38396 #line 38397 "gram.c" /* yacc.c:1652  */
38397     break;
38398 
38399   case 1428:
38400 #line 9932 "gram.y" /* yacc.c:1652  */
38401     {
38402 					UnlistenStmt *n = makeNode(UnlistenStmt);
38403 					n->conditionname = (yyvsp[0].str);
38404 					(yyval.node) = (Node *)n;
38405 				}
38406 #line 38407 "gram.c" /* yacc.c:1652  */
38407     break;
38408 
38409   case 1429:
38410 #line 9938 "gram.y" /* yacc.c:1652  */
38411     {
38412 					UnlistenStmt *n = makeNode(UnlistenStmt);
38413 					n->conditionname = NULL;
38414 					(yyval.node) = (Node *)n;
38415 				}
38416 #line 38417 "gram.c" /* yacc.c:1652  */
38417     break;
38418 
38419   case 1430:
38420 #line 9957 "gram.y" /* yacc.c:1652  */
38421     {
38422 					TransactionStmt *n = makeNode(TransactionStmt);
38423 					n->kind = TRANS_STMT_ROLLBACK;
38424 					n->options = NIL;
38425 					n->chain = (yyvsp[0].boolean);
38426 					(yyval.node) = (Node *)n;
38427 				}
38428 #line 38429 "gram.c" /* yacc.c:1652  */
38429     break;
38430 
38431   case 1431:
38432 #line 9965 "gram.y" /* yacc.c:1652  */
38433     {
38434 					TransactionStmt *n = makeNode(TransactionStmt);
38435 					n->kind = TRANS_STMT_BEGIN;
38436 					n->options = (yyvsp[0].list);
38437 					(yyval.node) = (Node *)n;
38438 				}
38439 #line 38440 "gram.c" /* yacc.c:1652  */
38440     break;
38441 
38442   case 1432:
38443 #line 9972 "gram.y" /* yacc.c:1652  */
38444     {
38445 					TransactionStmt *n = makeNode(TransactionStmt);
38446 					n->kind = TRANS_STMT_START;
38447 					n->options = (yyvsp[0].list);
38448 					(yyval.node) = (Node *)n;
38449 				}
38450 #line 38451 "gram.c" /* yacc.c:1652  */
38451     break;
38452 
38453   case 1433:
38454 #line 9979 "gram.y" /* yacc.c:1652  */
38455     {
38456 					TransactionStmt *n = makeNode(TransactionStmt);
38457 					n->kind = TRANS_STMT_COMMIT;
38458 					n->options = NIL;
38459 					n->chain = (yyvsp[0].boolean);
38460 					(yyval.node) = (Node *)n;
38461 				}
38462 #line 38463 "gram.c" /* yacc.c:1652  */
38463     break;
38464 
38465   case 1434:
38466 #line 9987 "gram.y" /* yacc.c:1652  */
38467     {
38468 					TransactionStmt *n = makeNode(TransactionStmt);
38469 					n->kind = TRANS_STMT_COMMIT;
38470 					n->options = NIL;
38471 					n->chain = (yyvsp[0].boolean);
38472 					(yyval.node) = (Node *)n;
38473 				}
38474 #line 38475 "gram.c" /* yacc.c:1652  */
38475     break;
38476 
38477   case 1435:
38478 #line 9995 "gram.y" /* yacc.c:1652  */
38479     {
38480 					TransactionStmt *n = makeNode(TransactionStmt);
38481 					n->kind = TRANS_STMT_ROLLBACK;
38482 					n->options = NIL;
38483 					n->chain = (yyvsp[0].boolean);
38484 					(yyval.node) = (Node *)n;
38485 				}
38486 #line 38487 "gram.c" /* yacc.c:1652  */
38487     break;
38488 
38489   case 1436:
38490 #line 10003 "gram.y" /* yacc.c:1652  */
38491     {
38492 					TransactionStmt *n = makeNode(TransactionStmt);
38493 					n->kind = TRANS_STMT_SAVEPOINT;
38494 					n->savepoint_name = (yyvsp[0].str);
38495 					(yyval.node) = (Node *)n;
38496 				}
38497 #line 38498 "gram.c" /* yacc.c:1652  */
38498     break;
38499 
38500   case 1437:
38501 #line 10010 "gram.y" /* yacc.c:1652  */
38502     {
38503 					TransactionStmt *n = makeNode(TransactionStmt);
38504 					n->kind = TRANS_STMT_RELEASE;
38505 					n->savepoint_name = (yyvsp[0].str);
38506 					(yyval.node) = (Node *)n;
38507 				}
38508 #line 38509 "gram.c" /* yacc.c:1652  */
38509     break;
38510 
38511   case 1438:
38512 #line 10017 "gram.y" /* yacc.c:1652  */
38513     {
38514 					TransactionStmt *n = makeNode(TransactionStmt);
38515 					n->kind = TRANS_STMT_RELEASE;
38516 					n->savepoint_name = (yyvsp[0].str);
38517 					(yyval.node) = (Node *)n;
38518 				}
38519 #line 38520 "gram.c" /* yacc.c:1652  */
38520     break;
38521 
38522   case 1439:
38523 #line 10024 "gram.y" /* yacc.c:1652  */
38524     {
38525 					TransactionStmt *n = makeNode(TransactionStmt);
38526 					n->kind = TRANS_STMT_ROLLBACK_TO;
38527 					n->savepoint_name = (yyvsp[0].str);
38528 					(yyval.node) = (Node *)n;
38529 				}
38530 #line 38531 "gram.c" /* yacc.c:1652  */
38531     break;
38532 
38533   case 1440:
38534 #line 10031 "gram.y" /* yacc.c:1652  */
38535     {
38536 					TransactionStmt *n = makeNode(TransactionStmt);
38537 					n->kind = TRANS_STMT_ROLLBACK_TO;
38538 					n->savepoint_name = (yyvsp[0].str);
38539 					(yyval.node) = (Node *)n;
38540 				}
38541 #line 38542 "gram.c" /* yacc.c:1652  */
38542     break;
38543 
38544   case 1441:
38545 #line 10038 "gram.y" /* yacc.c:1652  */
38546     {
38547 					TransactionStmt *n = makeNode(TransactionStmt);
38548 					n->kind = TRANS_STMT_PREPARE;
38549 					n->gid = (yyvsp[0].str);
38550 					(yyval.node) = (Node *)n;
38551 				}
38552 #line 38553 "gram.c" /* yacc.c:1652  */
38553     break;
38554 
38555   case 1442:
38556 #line 10045 "gram.y" /* yacc.c:1652  */
38557     {
38558 					TransactionStmt *n = makeNode(TransactionStmt);
38559 					n->kind = TRANS_STMT_COMMIT_PREPARED;
38560 					n->gid = (yyvsp[0].str);
38561 					(yyval.node) = (Node *)n;
38562 				}
38563 #line 38564 "gram.c" /* yacc.c:1652  */
38564     break;
38565 
38566   case 1443:
38567 #line 10052 "gram.y" /* yacc.c:1652  */
38568     {
38569 					TransactionStmt *n = makeNode(TransactionStmt);
38570 					n->kind = TRANS_STMT_ROLLBACK_PREPARED;
38571 					n->gid = (yyvsp[0].str);
38572 					(yyval.node) = (Node *)n;
38573 				}
38574 #line 38575 "gram.c" /* yacc.c:1652  */
38575     break;
38576 
38577   case 1444:
38578 #line 10060 "gram.y" /* yacc.c:1652  */
38579     {}
38580 #line 38581 "gram.c" /* yacc.c:1652  */
38581     break;
38582 
38583   case 1445:
38584 #line 10061 "gram.y" /* yacc.c:1652  */
38585     {}
38586 #line 38587 "gram.c" /* yacc.c:1652  */
38587     break;
38588 
38589   case 1446:
38590 #line 10062 "gram.y" /* yacc.c:1652  */
38591     {}
38592 #line 38593 "gram.c" /* yacc.c:1652  */
38593     break;
38594 
38595   case 1447:
38596 #line 10067 "gram.y" /* yacc.c:1652  */
38597     { (yyval.defelt) = makeDefElem("transaction_isolation",
38598 									   makeStringConst((yyvsp[0].str), (yylsp[0])), (yylsp[-2])); }
38599 #line 38600 "gram.c" /* yacc.c:1652  */
38600     break;
38601 
38602   case 1448:
38603 #line 10070 "gram.y" /* yacc.c:1652  */
38604     { (yyval.defelt) = makeDefElem("transaction_read_only",
38605 									   makeIntConst(true, (yylsp[-1])), (yylsp[-1])); }
38606 #line 38607 "gram.c" /* yacc.c:1652  */
38607     break;
38608 
38609   case 1449:
38610 #line 10073 "gram.y" /* yacc.c:1652  */
38611     { (yyval.defelt) = makeDefElem("transaction_read_only",
38612 									   makeIntConst(false, (yylsp[-1])), (yylsp[-1])); }
38613 #line 38614 "gram.c" /* yacc.c:1652  */
38614     break;
38615 
38616   case 1450:
38617 #line 10076 "gram.y" /* yacc.c:1652  */
38618     { (yyval.defelt) = makeDefElem("transaction_deferrable",
38619 									   makeIntConst(true, (yylsp[0])), (yylsp[0])); }
38620 #line 38621 "gram.c" /* yacc.c:1652  */
38621     break;
38622 
38623   case 1451:
38624 #line 10079 "gram.y" /* yacc.c:1652  */
38625     { (yyval.defelt) = makeDefElem("transaction_deferrable",
38626 									   makeIntConst(false, (yylsp[-1])), (yylsp[-1])); }
38627 #line 38628 "gram.c" /* yacc.c:1652  */
38628     break;
38629 
38630   case 1452:
38631 #line 10086 "gram.y" /* yacc.c:1652  */
38632     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
38633 #line 38634 "gram.c" /* yacc.c:1652  */
38634     break;
38635 
38636   case 1453:
38637 #line 10088 "gram.y" /* yacc.c:1652  */
38638     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
38639 #line 38640 "gram.c" /* yacc.c:1652  */
38640     break;
38641 
38642   case 1454:
38643 #line 10090 "gram.y" /* yacc.c:1652  */
38644     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
38645 #line 38646 "gram.c" /* yacc.c:1652  */
38646     break;
38647 
38648   case 1456:
38649 #line 10096 "gram.y" /* yacc.c:1652  */
38650     { (yyval.list) = NIL; }
38651 #line 38652 "gram.c" /* yacc.c:1652  */
38652     break;
38653 
38654   case 1457:
38655 #line 10100 "gram.y" /* yacc.c:1652  */
38656     { (yyval.boolean) = true; }
38657 #line 38658 "gram.c" /* yacc.c:1652  */
38658     break;
38659 
38660   case 1458:
38661 #line 10101 "gram.y" /* yacc.c:1652  */
38662     { (yyval.boolean) = false; }
38663 #line 38664 "gram.c" /* yacc.c:1652  */
38664     break;
38665 
38666   case 1459:
38667 #line 10102 "gram.y" /* yacc.c:1652  */
38668     { (yyval.boolean) = false; }
38669 #line 38670 "gram.c" /* yacc.c:1652  */
38670     break;
38671 
38672   case 1460:
38673 #line 10116 "gram.y" /* yacc.c:1652  */
38674     {
38675 					ViewStmt *n = makeNode(ViewStmt);
38676 					n->view = (yyvsp[-5].range);
38677 					n->view->relpersistence = (yyvsp[-7].ival);
38678 					n->aliases = (yyvsp[-4].list);
38679 					n->query = (yyvsp[-1].node);
38680 					n->replace = false;
38681 					n->options = (yyvsp[-3].list);
38682 					n->withCheckOption = (yyvsp[0].ival);
38683 					(yyval.node) = (Node *) n;
38684 				}
38685 #line 38686 "gram.c" /* yacc.c:1652  */
38686     break;
38687 
38688   case 1461:
38689 #line 10129 "gram.y" /* yacc.c:1652  */
38690     {
38691 					ViewStmt *n = makeNode(ViewStmt);
38692 					n->view = (yyvsp[-5].range);
38693 					n->view->relpersistence = (yyvsp[-7].ival);
38694 					n->aliases = (yyvsp[-4].list);
38695 					n->query = (yyvsp[-1].node);
38696 					n->replace = true;
38697 					n->options = (yyvsp[-3].list);
38698 					n->withCheckOption = (yyvsp[0].ival);
38699 					(yyval.node) = (Node *) n;
38700 				}
38701 #line 38702 "gram.c" /* yacc.c:1652  */
38702     break;
38703 
38704   case 1462:
38705 #line 10142 "gram.y" /* yacc.c:1652  */
38706     {
38707 					ViewStmt *n = makeNode(ViewStmt);
38708 					n->view = (yyvsp[-7].range);
38709 					n->view->relpersistence = (yyvsp[-10].ival);
38710 					n->aliases = (yyvsp[-5].list);
38711 					n->query = makeRecursiveViewSelect(n->view->relname, n->aliases, (yyvsp[-1].node));
38712 					n->replace = false;
38713 					n->options = (yyvsp[-3].list);
38714 					n->withCheckOption = (yyvsp[0].ival);
38715 					if (n->withCheckOption != NO_CHECK_OPTION)
38716 						ereport(ERROR,
38717 								(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
38718 								 errmsg("WITH CHECK OPTION not supported on recursive views"),
38719 								 parser_errposition((yylsp[0]))));
38720 					(yyval.node) = (Node *) n;
38721 				}
38722 #line 38723 "gram.c" /* yacc.c:1652  */
38723     break;
38724 
38725   case 1463:
38726 #line 10160 "gram.y" /* yacc.c:1652  */
38727     {
38728 					ViewStmt *n = makeNode(ViewStmt);
38729 					n->view = (yyvsp[-7].range);
38730 					n->view->relpersistence = (yyvsp[-10].ival);
38731 					n->aliases = (yyvsp[-5].list);
38732 					n->query = makeRecursiveViewSelect(n->view->relname, n->aliases, (yyvsp[-1].node));
38733 					n->replace = true;
38734 					n->options = (yyvsp[-3].list);
38735 					n->withCheckOption = (yyvsp[0].ival);
38736 					if (n->withCheckOption != NO_CHECK_OPTION)
38737 						ereport(ERROR,
38738 								(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
38739 								 errmsg("WITH CHECK OPTION not supported on recursive views"),
38740 								 parser_errposition((yylsp[0]))));
38741 					(yyval.node) = (Node *) n;
38742 				}
38743 #line 38744 "gram.c" /* yacc.c:1652  */
38744     break;
38745 
38746   case 1464:
38747 #line 10179 "gram.y" /* yacc.c:1652  */
38748     { (yyval.ival) = CASCADED_CHECK_OPTION; }
38749 #line 38750 "gram.c" /* yacc.c:1652  */
38750     break;
38751 
38752   case 1465:
38753 #line 10180 "gram.y" /* yacc.c:1652  */
38754     { (yyval.ival) = CASCADED_CHECK_OPTION; }
38755 #line 38756 "gram.c" /* yacc.c:1652  */
38756     break;
38757 
38758   case 1466:
38759 #line 10181 "gram.y" /* yacc.c:1652  */
38760     { (yyval.ival) = LOCAL_CHECK_OPTION; }
38761 #line 38762 "gram.c" /* yacc.c:1652  */
38762     break;
38763 
38764   case 1467:
38765 #line 10182 "gram.y" /* yacc.c:1652  */
38766     { (yyval.ival) = NO_CHECK_OPTION; }
38767 #line 38768 "gram.c" /* yacc.c:1652  */
38768     break;
38769 
38770   case 1468:
38771 #line 10193 "gram.y" /* yacc.c:1652  */
38772     {
38773 					LoadStmt *n = makeNode(LoadStmt);
38774 					n->filename = (yyvsp[0].str);
38775 					(yyval.node) = (Node *)n;
38776 				}
38777 #line 38778 "gram.c" /* yacc.c:1652  */
38778     break;
38779 
38780   case 1469:
38781 #line 10209 "gram.y" /* yacc.c:1652  */
38782     {
38783 					CreatedbStmt *n = makeNode(CreatedbStmt);
38784 					n->dbname = (yyvsp[-2].str);
38785 					n->options = (yyvsp[0].list);
38786 					(yyval.node) = (Node *)n;
38787 				}
38788 #line 38789 "gram.c" /* yacc.c:1652  */
38789     break;
38790 
38791   case 1470:
38792 #line 10218 "gram.y" /* yacc.c:1652  */
38793     { (yyval.list) = (yyvsp[0].list); }
38794 #line 38795 "gram.c" /* yacc.c:1652  */
38795     break;
38796 
38797   case 1471:
38798 #line 10219 "gram.y" /* yacc.c:1652  */
38799     { (yyval.list) = NIL; }
38800 #line 38801 "gram.c" /* yacc.c:1652  */
38801     break;
38802 
38803   case 1472:
38804 #line 10223 "gram.y" /* yacc.c:1652  */
38805     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
38806 #line 38807 "gram.c" /* yacc.c:1652  */
38807     break;
38808 
38809   case 1473:
38810 #line 10224 "gram.y" /* yacc.c:1652  */
38811     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
38812 #line 38813 "gram.c" /* yacc.c:1652  */
38813     break;
38814 
38815   case 1474:
38816 #line 10229 "gram.y" /* yacc.c:1652  */
38817     {
38818 					(yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *)makeInteger((yyvsp[0].ival)), (yylsp[-2]));
38819 				}
38820 #line 38821 "gram.c" /* yacc.c:1652  */
38821     break;
38822 
38823   case 1475:
38824 #line 10233 "gram.y" /* yacc.c:1652  */
38825     {
38826 					(yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
38827 				}
38828 #line 38829 "gram.c" /* yacc.c:1652  */
38829     break;
38830 
38831   case 1476:
38832 #line 10237 "gram.y" /* yacc.c:1652  */
38833     {
38834 					(yyval.defelt) = makeDefElem((yyvsp[-2].str), NULL, (yylsp[-2]));
38835 				}
38836 #line 38837 "gram.c" /* yacc.c:1652  */
38837     break;
38838 
38839   case 1477:
38840 #line 10254 "gram.y" /* yacc.c:1652  */
38841     { (yyval.str) = (yyvsp[0].str); }
38842 #line 38843 "gram.c" /* yacc.c:1652  */
38843     break;
38844 
38845   case 1478:
38846 #line 10255 "gram.y" /* yacc.c:1652  */
38847     { (yyval.str) = pstrdup("connection_limit"); }
38848 #line 38849 "gram.c" /* yacc.c:1652  */
38849     break;
38850 
38851   case 1479:
38852 #line 10256 "gram.y" /* yacc.c:1652  */
38853     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
38854 #line 38855 "gram.c" /* yacc.c:1652  */
38855     break;
38856 
38857   case 1480:
38858 #line 10257 "gram.y" /* yacc.c:1652  */
38859     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
38860 #line 38861 "gram.c" /* yacc.c:1652  */
38861     break;
38862 
38863   case 1481:
38864 #line 10258 "gram.y" /* yacc.c:1652  */
38865     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
38866 #line 38867 "gram.c" /* yacc.c:1652  */
38867     break;
38868 
38869   case 1482:
38870 #line 10259 "gram.y" /* yacc.c:1652  */
38871     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
38872 #line 38873 "gram.c" /* yacc.c:1652  */
38873     break;
38874 
38875   case 1483:
38876 #line 10260 "gram.y" /* yacc.c:1652  */
38877     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
38878 #line 38879 "gram.c" /* yacc.c:1652  */
38879     break;
38880 
38881   case 1484:
38882 #line 10267 "gram.y" /* yacc.c:1652  */
38883     {}
38884 #line 38885 "gram.c" /* yacc.c:1652  */
38885     break;
38886 
38887   case 1485:
38888 #line 10268 "gram.y" /* yacc.c:1652  */
38889     {}
38890 #line 38891 "gram.c" /* yacc.c:1652  */
38891     break;
38892 
38893   case 1486:
38894 #line 10280 "gram.y" /* yacc.c:1652  */
38895     {
38896 					AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
38897 					n->dbname = (yyvsp[-2].str);
38898 					n->options = (yyvsp[0].list);
38899 					(yyval.node) = (Node *)n;
38900 				 }
38901 #line 38902 "gram.c" /* yacc.c:1652  */
38902     break;
38903 
38904   case 1487:
38905 #line 10287 "gram.y" /* yacc.c:1652  */
38906     {
38907 					AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
38908 					n->dbname = (yyvsp[-1].str);
38909 					n->options = (yyvsp[0].list);
38910 					(yyval.node) = (Node *)n;
38911 				 }
38912 #line 38913 "gram.c" /* yacc.c:1652  */
38913     break;
38914 
38915   case 1488:
38916 #line 10294 "gram.y" /* yacc.c:1652  */
38917     {
38918 					AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
38919 					n->dbname = (yyvsp[-3].str);
38920 					n->options = list_make1(makeDefElem("tablespace",
38921 														(Node *)makeString((yyvsp[0].str)), (yylsp[0])));
38922 					(yyval.node) = (Node *)n;
38923 				 }
38924 #line 38925 "gram.c" /* yacc.c:1652  */
38925     break;
38926 
38927   case 1489:
38928 #line 10305 "gram.y" /* yacc.c:1652  */
38929     {
38930 					AlterDatabaseSetStmt *n = makeNode(AlterDatabaseSetStmt);
38931 					n->dbname = (yyvsp[-1].str);
38932 					n->setstmt = (yyvsp[0].vsetstmt);
38933 					(yyval.node) = (Node *)n;
38934 				}
38935 #line 38936 "gram.c" /* yacc.c:1652  */
38936     break;
38937 
38938   case 1490:
38939 #line 10322 "gram.y" /* yacc.c:1652  */
38940     {
38941 					DropdbStmt *n = makeNode(DropdbStmt);
38942 					n->dbname = (yyvsp[0].str);
38943 					n->missing_ok = false;
38944 					n->options = NULL;
38945 					(yyval.node) = (Node *)n;
38946 				}
38947 #line 38948 "gram.c" /* yacc.c:1652  */
38948     break;
38949 
38950   case 1491:
38951 #line 10330 "gram.y" /* yacc.c:1652  */
38952     {
38953 					DropdbStmt *n = makeNode(DropdbStmt);
38954 					n->dbname = (yyvsp[0].str);
38955 					n->missing_ok = true;
38956 					n->options = NULL;
38957 					(yyval.node) = (Node *)n;
38958 				}
38959 #line 38960 "gram.c" /* yacc.c:1652  */
38960     break;
38961 
38962   case 1492:
38963 #line 10338 "gram.y" /* yacc.c:1652  */
38964     {
38965 					DropdbStmt *n = makeNode(DropdbStmt);
38966 					n->dbname = (yyvsp[-4].str);
38967 					n->missing_ok = false;
38968 					n->options = (yyvsp[-1].list);
38969 					(yyval.node) = (Node *)n;
38970 				}
38971 #line 38972 "gram.c" /* yacc.c:1652  */
38972     break;
38973 
38974   case 1493:
38975 #line 10346 "gram.y" /* yacc.c:1652  */
38976     {
38977 					DropdbStmt *n = makeNode(DropdbStmt);
38978 					n->dbname = (yyvsp[-4].str);
38979 					n->missing_ok = true;
38980 					n->options = (yyvsp[-1].list);
38981 					(yyval.node) = (Node *)n;
38982 				}
38983 #line 38984 "gram.c" /* yacc.c:1652  */
38984     break;
38985 
38986   case 1494:
38987 #line 10357 "gram.y" /* yacc.c:1652  */
38988     {
38989 					(yyval.list) = list_make1((Node *) (yyvsp[0].defelt));
38990 				}
38991 #line 38992 "gram.c" /* yacc.c:1652  */
38992     break;
38993 
38994   case 1495:
38995 #line 10361 "gram.y" /* yacc.c:1652  */
38996     {
38997 					(yyval.list) = lappend((yyvsp[-2].list), (Node *) (yyvsp[0].defelt));
38998 				}
38999 #line 39000 "gram.c" /* yacc.c:1652  */
39000     break;
39001 
39002   case 1496:
39003 #line 10372 "gram.y" /* yacc.c:1652  */
39004     {
39005 					(yyval.defelt) = makeDefElem("force", NULL, (yylsp[0]));
39006 				}
39007 #line 39008 "gram.c" /* yacc.c:1652  */
39008     break;
39009 
39010   case 1497:
39011 #line 10384 "gram.y" /* yacc.c:1652  */
39012     {
39013 					AlterCollationStmt *n = makeNode(AlterCollationStmt);
39014 					n->collname = (yyvsp[-2].list);
39015 					(yyval.node) = (Node *)n;
39016 				}
39017 #line 39018 "gram.c" /* yacc.c:1652  */
39018     break;
39019 
39020   case 1498:
39021 #line 10401 "gram.y" /* yacc.c:1652  */
39022     {
39023 					AlterSystemStmt *n = makeNode(AlterSystemStmt);
39024 					n->setstmt = (yyvsp[0].vsetstmt);
39025 					(yyval.node) = (Node *)n;
39026 				}
39027 #line 39028 "gram.c" /* yacc.c:1652  */
39028     break;
39029 
39030   case 1499:
39031 #line 10407 "gram.y" /* yacc.c:1652  */
39032     {
39033 					AlterSystemStmt *n = makeNode(AlterSystemStmt);
39034 					n->setstmt = (yyvsp[0].vsetstmt);
39035 					(yyval.node) = (Node *)n;
39036 				}
39037 #line 39038 "gram.c" /* yacc.c:1652  */
39038     break;
39039 
39040   case 1500:
39041 #line 10423 "gram.y" /* yacc.c:1652  */
39042     {
39043 					CreateDomainStmt *n = makeNode(CreateDomainStmt);
39044 					n->domainname = (yyvsp[-3].list);
39045 					n->typeName = (yyvsp[-1].typnam);
39046 					SplitColQualList((yyvsp[0].list), &n->constraints, &n->collClause,
39047 									 yyscanner);
39048 					(yyval.node) = (Node *)n;
39049 				}
39050 #line 39051 "gram.c" /* yacc.c:1652  */
39051     break;
39052 
39053   case 1501:
39054 #line 10436 "gram.y" /* yacc.c:1652  */
39055     {
39056 					AlterDomainStmt *n = makeNode(AlterDomainStmt);
39057 					n->subtype = 'T';
39058 					n->typeName = (yyvsp[-1].list);
39059 					n->def = (yyvsp[0].node);
39060 					(yyval.node) = (Node *)n;
39061 				}
39062 #line 39063 "gram.c" /* yacc.c:1652  */
39063     break;
39064 
39065   case 1502:
39066 #line 10445 "gram.y" /* yacc.c:1652  */
39067     {
39068 					AlterDomainStmt *n = makeNode(AlterDomainStmt);
39069 					n->subtype = 'N';
39070 					n->typeName = (yyvsp[-3].list);
39071 					(yyval.node) = (Node *)n;
39072 				}
39073 #line 39074 "gram.c" /* yacc.c:1652  */
39074     break;
39075 
39076   case 1503:
39077 #line 10453 "gram.y" /* yacc.c:1652  */
39078     {
39079 					AlterDomainStmt *n = makeNode(AlterDomainStmt);
39080 					n->subtype = 'O';
39081 					n->typeName = (yyvsp[-3].list);
39082 					(yyval.node) = (Node *)n;
39083 				}
39084 #line 39085 "gram.c" /* yacc.c:1652  */
39085     break;
39086 
39087   case 1504:
39088 #line 10461 "gram.y" /* yacc.c:1652  */
39089     {
39090 					AlterDomainStmt *n = makeNode(AlterDomainStmt);
39091 					n->subtype = 'C';
39092 					n->typeName = (yyvsp[-2].list);
39093 					n->def = (yyvsp[0].node);
39094 					(yyval.node) = (Node *)n;
39095 				}
39096 #line 39097 "gram.c" /* yacc.c:1652  */
39097     break;
39098 
39099   case 1505:
39100 #line 10470 "gram.y" /* yacc.c:1652  */
39101     {
39102 					AlterDomainStmt *n = makeNode(AlterDomainStmt);
39103 					n->subtype = 'X';
39104 					n->typeName = (yyvsp[-4].list);
39105 					n->name = (yyvsp[-1].str);
39106 					n->behavior = (yyvsp[0].dbehavior);
39107 					n->missing_ok = false;
39108 					(yyval.node) = (Node *)n;
39109 				}
39110 #line 39111 "gram.c" /* yacc.c:1652  */
39111     break;
39112 
39113   case 1506:
39114 #line 10481 "gram.y" /* yacc.c:1652  */
39115     {
39116 					AlterDomainStmt *n = makeNode(AlterDomainStmt);
39117 					n->subtype = 'X';
39118 					n->typeName = (yyvsp[-6].list);
39119 					n->name = (yyvsp[-1].str);
39120 					n->behavior = (yyvsp[0].dbehavior);
39121 					n->missing_ok = true;
39122 					(yyval.node) = (Node *)n;
39123 				}
39124 #line 39125 "gram.c" /* yacc.c:1652  */
39125     break;
39126 
39127   case 1507:
39128 #line 10492 "gram.y" /* yacc.c:1652  */
39129     {
39130 					AlterDomainStmt *n = makeNode(AlterDomainStmt);
39131 					n->subtype = 'V';
39132 					n->typeName = (yyvsp[-3].list);
39133 					n->name = (yyvsp[0].str);
39134 					(yyval.node) = (Node *)n;
39135 				}
39136 #line 39137 "gram.c" /* yacc.c:1652  */
39137     break;
39138 
39139   case 1508:
39140 #line 10501 "gram.y" /* yacc.c:1652  */
39141     {}
39142 #line 39143 "gram.c" /* yacc.c:1652  */
39143     break;
39144 
39145   case 1509:
39146 #line 10502 "gram.y" /* yacc.c:1652  */
39147     {}
39148 #line 39149 "gram.c" /* yacc.c:1652  */
39149     break;
39150 
39151   case 1510:
39152 #line 10514 "gram.y" /* yacc.c:1652  */
39153     {
39154 					AlterTSDictionaryStmt *n = makeNode(AlterTSDictionaryStmt);
39155 					n->dictname = (yyvsp[-1].list);
39156 					n->options = (yyvsp[0].list);
39157 					(yyval.node) = (Node *)n;
39158 				}
39159 #line 39160 "gram.c" /* yacc.c:1652  */
39160     break;
39161 
39162   case 1511:
39163 #line 10524 "gram.y" /* yacc.c:1652  */
39164     {
39165 					AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
39166 					n->kind = ALTER_TSCONFIG_ADD_MAPPING;
39167 					n->cfgname = (yyvsp[-6].list);
39168 					n->tokentype = (yyvsp[-2].list);
39169 					n->dicts = (yyvsp[0].list);
39170 					n->override = false;
39171 					n->replace = false;
39172 					(yyval.node) = (Node*)n;
39173 				}
39174 #line 39175 "gram.c" /* yacc.c:1652  */
39175     break;
39176 
39177   case 1512:
39178 #line 10535 "gram.y" /* yacc.c:1652  */
39179     {
39180 					AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
39181 					n->kind = ALTER_TSCONFIG_ALTER_MAPPING_FOR_TOKEN;
39182 					n->cfgname = (yyvsp[-6].list);
39183 					n->tokentype = (yyvsp[-2].list);
39184 					n->dicts = (yyvsp[0].list);
39185 					n->override = true;
39186 					n->replace = false;
39187 					(yyval.node) = (Node*)n;
39188 				}
39189 #line 39190 "gram.c" /* yacc.c:1652  */
39190     break;
39191 
39192   case 1513:
39193 #line 10546 "gram.y" /* yacc.c:1652  */
39194     {
39195 					AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
39196 					n->kind = ALTER_TSCONFIG_REPLACE_DICT;
39197 					n->cfgname = (yyvsp[-6].list);
39198 					n->tokentype = NIL;
39199 					n->dicts = list_make2((yyvsp[-2].list),(yyvsp[0].list));
39200 					n->override = false;
39201 					n->replace = true;
39202 					(yyval.node) = (Node*)n;
39203 				}
39204 #line 39205 "gram.c" /* yacc.c:1652  */
39205     break;
39206 
39207   case 1514:
39208 #line 10557 "gram.y" /* yacc.c:1652  */
39209     {
39210 					AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
39211 					n->kind = ALTER_TSCONFIG_REPLACE_DICT_FOR_TOKEN;
39212 					n->cfgname = (yyvsp[-8].list);
39213 					n->tokentype = (yyvsp[-4].list);
39214 					n->dicts = list_make2((yyvsp[-2].list),(yyvsp[0].list));
39215 					n->override = false;
39216 					n->replace = true;
39217 					(yyval.node) = (Node*)n;
39218 				}
39219 #line 39220 "gram.c" /* yacc.c:1652  */
39220     break;
39221 
39222   case 1515:
39223 #line 10568 "gram.y" /* yacc.c:1652  */
39224     {
39225 					AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
39226 					n->kind = ALTER_TSCONFIG_DROP_MAPPING;
39227 					n->cfgname = (yyvsp[-4].list);
39228 					n->tokentype = (yyvsp[0].list);
39229 					n->missing_ok = false;
39230 					(yyval.node) = (Node*)n;
39231 				}
39232 #line 39233 "gram.c" /* yacc.c:1652  */
39233     break;
39234 
39235   case 1516:
39236 #line 10577 "gram.y" /* yacc.c:1652  */
39237     {
39238 					AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
39239 					n->kind = ALTER_TSCONFIG_DROP_MAPPING;
39240 					n->cfgname = (yyvsp[-6].list);
39241 					n->tokentype = (yyvsp[0].list);
39242 					n->missing_ok = true;
39243 					(yyval.node) = (Node*)n;
39244 				}
39245 #line 39246 "gram.c" /* yacc.c:1652  */
39246     break;
39247 
39248   case 1517:
39249 #line 10588 "gram.y" /* yacc.c:1652  */
39250     {}
39251 #line 39252 "gram.c" /* yacc.c:1652  */
39252     break;
39253 
39254   case 1518:
39255 #line 10589 "gram.y" /* yacc.c:1652  */
39256     {}
39257 #line 39258 "gram.c" /* yacc.c:1652  */
39258     break;
39259 
39260   case 1519:
39261 #line 10605 "gram.y" /* yacc.c:1652  */
39262     {
39263 				CreateConversionStmt *n = makeNode(CreateConversionStmt);
39264 				n->conversion_name = (yyvsp[-6].list);
39265 				n->for_encoding_name = (yyvsp[-4].str);
39266 				n->to_encoding_name = (yyvsp[-2].str);
39267 				n->func_name = (yyvsp[0].list);
39268 				n->def = (yyvsp[-8].boolean);
39269 				(yyval.node) = (Node *)n;
39270 			}
39271 #line 39272 "gram.c" /* yacc.c:1652  */
39272     break;
39273 
39274   case 1520:
39275 #line 10627 "gram.y" /* yacc.c:1652  */
39276     {
39277 					ClusterStmt *n = makeNode(ClusterStmt);
39278 					n->relation = (yyvsp[-1].range);
39279 					n->indexname = (yyvsp[0].str);
39280 					n->options = 0;
39281 					if ((yyvsp[-2].boolean))
39282 						n->options |= CLUOPT_VERBOSE;
39283 					(yyval.node) = (Node*)n;
39284 				}
39285 #line 39286 "gram.c" /* yacc.c:1652  */
39286     break;
39287 
39288   case 1521:
39289 #line 10637 "gram.y" /* yacc.c:1652  */
39290     {
39291 					ClusterStmt *n = makeNode(ClusterStmt);
39292 					n->relation = NULL;
39293 					n->indexname = NULL;
39294 					n->options = 0;
39295 					if ((yyvsp[0].boolean))
39296 						n->options |= CLUOPT_VERBOSE;
39297 					(yyval.node) = (Node*)n;
39298 				}
39299 #line 39300 "gram.c" /* yacc.c:1652  */
39300     break;
39301 
39302   case 1522:
39303 #line 10648 "gram.y" /* yacc.c:1652  */
39304     {
39305 					ClusterStmt *n = makeNode(ClusterStmt);
39306 					n->relation = (yyvsp[0].range);
39307 					n->indexname = (yyvsp[-2].str);
39308 					n->options = 0;
39309 					if ((yyvsp[-3].boolean))
39310 						n->options |= CLUOPT_VERBOSE;
39311 					(yyval.node) = (Node*)n;
39312 				}
39313 #line 39314 "gram.c" /* yacc.c:1652  */
39314     break;
39315 
39316   case 1523:
39317 #line 10660 "gram.y" /* yacc.c:1652  */
39318     { (yyval.str) = (yyvsp[0].str); }
39319 #line 39320 "gram.c" /* yacc.c:1652  */
39320     break;
39321 
39322   case 1524:
39323 #line 10661 "gram.y" /* yacc.c:1652  */
39324     { (yyval.str) = NULL; }
39325 #line 39326 "gram.c" /* yacc.c:1652  */
39326     break;
39327 
39328   case 1525:
39329 #line 10674 "gram.y" /* yacc.c:1652  */
39330     {
39331 					VacuumStmt *n = makeNode(VacuumStmt);
39332 					n->options = NIL;
39333 					if ((yyvsp[-4].boolean))
39334 						n->options = lappend(n->options,
39335 											 makeDefElem("full", NULL, (yylsp[-4])));
39336 					if ((yyvsp[-3].boolean))
39337 						n->options = lappend(n->options,
39338 											 makeDefElem("freeze", NULL, (yylsp[-3])));
39339 					if ((yyvsp[-2].boolean))
39340 						n->options = lappend(n->options,
39341 											 makeDefElem("verbose", NULL, (yylsp[-2])));
39342 					if ((yyvsp[-1].boolean))
39343 						n->options = lappend(n->options,
39344 											 makeDefElem("analyze", NULL, (yylsp[-1])));
39345 					n->rels = (yyvsp[0].list);
39346 					n->is_vacuumcmd = true;
39347 					(yyval.node) = (Node *)n;
39348 				}
39349 #line 39350 "gram.c" /* yacc.c:1652  */
39350     break;
39351 
39352   case 1526:
39353 #line 10694 "gram.y" /* yacc.c:1652  */
39354     {
39355 					VacuumStmt *n = makeNode(VacuumStmt);
39356 					n->options = (yyvsp[-2].list);
39357 					n->rels = (yyvsp[0].list);
39358 					n->is_vacuumcmd = true;
39359 					(yyval.node) = (Node *) n;
39360 				}
39361 #line 39362 "gram.c" /* yacc.c:1652  */
39362     break;
39363 
39364   case 1527:
39365 #line 10704 "gram.y" /* yacc.c:1652  */
39366     {
39367 					VacuumStmt *n = makeNode(VacuumStmt);
39368 					n->options = NIL;
39369 					if ((yyvsp[-1].boolean))
39370 						n->options = lappend(n->options,
39371 											 makeDefElem("verbose", NULL, (yylsp[-1])));
39372 					n->rels = (yyvsp[0].list);
39373 					n->is_vacuumcmd = false;
39374 					(yyval.node) = (Node *)n;
39375 				}
39376 #line 39377 "gram.c" /* yacc.c:1652  */
39377     break;
39378 
39379   case 1528:
39380 #line 10715 "gram.y" /* yacc.c:1652  */
39381     {
39382 					VacuumStmt *n = makeNode(VacuumStmt);
39383 					n->options = (yyvsp[-2].list);
39384 					n->rels = (yyvsp[0].list);
39385 					n->is_vacuumcmd = false;
39386 					(yyval.node) = (Node *) n;
39387 				}
39388 #line 39389 "gram.c" /* yacc.c:1652  */
39389     break;
39390 
39391   case 1529:
39392 #line 10726 "gram.y" /* yacc.c:1652  */
39393     {
39394 					(yyval.list) = list_make1((yyvsp[0].defelt));
39395 				}
39396 #line 39397 "gram.c" /* yacc.c:1652  */
39397     break;
39398 
39399   case 1530:
39400 #line 10730 "gram.y" /* yacc.c:1652  */
39401     {
39402 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
39403 				}
39404 #line 39405 "gram.c" /* yacc.c:1652  */
39405     break;
39406 
39407   case 1531:
39408 #line 10736 "gram.y" /* yacc.c:1652  */
39409     {}
39410 #line 39411 "gram.c" /* yacc.c:1652  */
39411     break;
39412 
39413   case 1532:
39414 #line 10737 "gram.y" /* yacc.c:1652  */
39415     {}
39416 #line 39417 "gram.c" /* yacc.c:1652  */
39417     break;
39418 
39419   case 1533:
39420 #line 10742 "gram.y" /* yacc.c:1652  */
39421     {
39422 					(yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1]));
39423 				}
39424 #line 39425 "gram.c" /* yacc.c:1652  */
39425     break;
39426 
39427   case 1534:
39428 #line 10748 "gram.y" /* yacc.c:1652  */
39429     { (yyval.str) = (yyvsp[0].str); }
39430 #line 39431 "gram.c" /* yacc.c:1652  */
39431     break;
39432 
39433   case 1535:
39434 #line 10749 "gram.y" /* yacc.c:1652  */
39435     { (yyval.str) = "analyze"; }
39436 #line 39437 "gram.c" /* yacc.c:1652  */
39437     break;
39438 
39439   case 1536:
39440 #line 10753 "gram.y" /* yacc.c:1652  */
39441     { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
39442 #line 39443 "gram.c" /* yacc.c:1652  */
39443     break;
39444 
39445   case 1537:
39446 #line 10754 "gram.y" /* yacc.c:1652  */
39447     { (yyval.node) = (Node *) (yyvsp[0].value); }
39448 #line 39449 "gram.c" /* yacc.c:1652  */
39449     break;
39450 
39451   case 1538:
39452 #line 10755 "gram.y" /* yacc.c:1652  */
39453     { (yyval.node) = NULL; }
39454 #line 39455 "gram.c" /* yacc.c:1652  */
39455     break;
39456 
39457   case 1539:
39458 #line 10759 "gram.y" /* yacc.c:1652  */
39459     { (yyval.boolean) = true; }
39460 #line 39461 "gram.c" /* yacc.c:1652  */
39461     break;
39462 
39463   case 1540:
39464 #line 10760 "gram.y" /* yacc.c:1652  */
39465     { (yyval.boolean) = false; }
39466 #line 39467 "gram.c" /* yacc.c:1652  */
39467     break;
39468 
39469   case 1541:
39470 #line 10764 "gram.y" /* yacc.c:1652  */
39471     { (yyval.boolean) = true; }
39472 #line 39473 "gram.c" /* yacc.c:1652  */
39473     break;
39474 
39475   case 1542:
39476 #line 10765 "gram.y" /* yacc.c:1652  */
39477     { (yyval.boolean) = false; }
39478 #line 39479 "gram.c" /* yacc.c:1652  */
39479     break;
39480 
39481   case 1543:
39482 #line 10768 "gram.y" /* yacc.c:1652  */
39483     { (yyval.boolean) = true; }
39484 #line 39485 "gram.c" /* yacc.c:1652  */
39485     break;
39486 
39487   case 1544:
39488 #line 10769 "gram.y" /* yacc.c:1652  */
39489     { (yyval.boolean) = false; }
39490 #line 39491 "gram.c" /* yacc.c:1652  */
39491     break;
39492 
39493   case 1545:
39494 #line 10772 "gram.y" /* yacc.c:1652  */
39495     { (yyval.boolean) = true; }
39496 #line 39497 "gram.c" /* yacc.c:1652  */
39497     break;
39498 
39499   case 1546:
39500 #line 10773 "gram.y" /* yacc.c:1652  */
39501     { (yyval.boolean) = false; }
39502 #line 39503 "gram.c" /* yacc.c:1652  */
39503     break;
39504 
39505   case 1547:
39506 #line 10777 "gram.y" /* yacc.c:1652  */
39507     { (yyval.list) = (yyvsp[-1].list); }
39508 #line 39509 "gram.c" /* yacc.c:1652  */
39509     break;
39510 
39511   case 1548:
39512 #line 10778 "gram.y" /* yacc.c:1652  */
39513     { (yyval.list) = NIL; }
39514 #line 39515 "gram.c" /* yacc.c:1652  */
39515     break;
39516 
39517   case 1549:
39518 #line 10783 "gram.y" /* yacc.c:1652  */
39519     {
39520 					(yyval.node) = (Node *) makeVacuumRelation((yyvsp[-1].range), InvalidOid, (yyvsp[0].list));
39521 				}
39522 #line 39523 "gram.c" /* yacc.c:1652  */
39523     break;
39524 
39525   case 1550:
39526 #line 10790 "gram.y" /* yacc.c:1652  */
39527     { (yyval.list) = list_make1((yyvsp[0].node)); }
39528 #line 39529 "gram.c" /* yacc.c:1652  */
39529     break;
39530 
39531   case 1551:
39532 #line 10792 "gram.y" /* yacc.c:1652  */
39533     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
39534 #line 39535 "gram.c" /* yacc.c:1652  */
39535     break;
39536 
39537   case 1552:
39538 #line 10796 "gram.y" /* yacc.c:1652  */
39539     { (yyval.list) = (yyvsp[0].list); }
39540 #line 39541 "gram.c" /* yacc.c:1652  */
39541     break;
39542 
39543   case 1553:
39544 #line 10797 "gram.y" /* yacc.c:1652  */
39545     { (yyval.list) = NIL; }
39546 #line 39547 "gram.c" /* yacc.c:1652  */
39547     break;
39548 
39549   case 1554:
39550 #line 10811 "gram.y" /* yacc.c:1652  */
39551     {
39552 					ExplainStmt *n = makeNode(ExplainStmt);
39553 					n->query = (yyvsp[0].node);
39554 					n->options = NIL;
39555 					(yyval.node) = (Node *) n;
39556 				}
39557 #line 39558 "gram.c" /* yacc.c:1652  */
39558     break;
39559 
39560   case 1555:
39561 #line 10818 "gram.y" /* yacc.c:1652  */
39562     {
39563 					ExplainStmt *n = makeNode(ExplainStmt);
39564 					n->query = (yyvsp[0].node);
39565 					n->options = list_make1(makeDefElem("analyze", NULL, (yylsp[-2])));
39566 					if ((yyvsp[-1].boolean))
39567 						n->options = lappend(n->options,
39568 											 makeDefElem("verbose", NULL, (yylsp[-1])));
39569 					(yyval.node) = (Node *) n;
39570 				}
39571 #line 39572 "gram.c" /* yacc.c:1652  */
39572     break;
39573 
39574   case 1556:
39575 #line 10828 "gram.y" /* yacc.c:1652  */
39576     {
39577 					ExplainStmt *n = makeNode(ExplainStmt);
39578 					n->query = (yyvsp[0].node);
39579 					n->options = list_make1(makeDefElem("verbose", NULL, (yylsp[-1])));
39580 					(yyval.node) = (Node *) n;
39581 				}
39582 #line 39583 "gram.c" /* yacc.c:1652  */
39583     break;
39584 
39585   case 1557:
39586 #line 10835 "gram.y" /* yacc.c:1652  */
39587     {
39588 					ExplainStmt *n = makeNode(ExplainStmt);
39589 					n->query = (yyvsp[0].node);
39590 					n->options = (yyvsp[-2].list);
39591 					(yyval.node) = (Node *) n;
39592 				}
39593 #line 39594 "gram.c" /* yacc.c:1652  */
39594     break;
39595 
39596   case 1567:
39597 #line 10857 "gram.y" /* yacc.c:1652  */
39598     {
39599 					(yyval.list) = list_make1((yyvsp[0].defelt));
39600 				}
39601 #line 39602 "gram.c" /* yacc.c:1652  */
39602     break;
39603 
39604   case 1568:
39605 #line 10861 "gram.y" /* yacc.c:1652  */
39606     {
39607 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
39608 				}
39609 #line 39610 "gram.c" /* yacc.c:1652  */
39610     break;
39611 
39612   case 1569:
39613 #line 10868 "gram.y" /* yacc.c:1652  */
39614     {
39615 					(yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1]));
39616 				}
39617 #line 39618 "gram.c" /* yacc.c:1652  */
39618     break;
39619 
39620   case 1570:
39621 #line 10874 "gram.y" /* yacc.c:1652  */
39622     { (yyval.str) = (yyvsp[0].str); }
39623 #line 39624 "gram.c" /* yacc.c:1652  */
39624     break;
39625 
39626   case 1571:
39627 #line 10875 "gram.y" /* yacc.c:1652  */
39628     { (yyval.str) = "analyze"; }
39629 #line 39630 "gram.c" /* yacc.c:1652  */
39630     break;
39631 
39632   case 1572:
39633 #line 10879 "gram.y" /* yacc.c:1652  */
39634     { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
39635 #line 39636 "gram.c" /* yacc.c:1652  */
39636     break;
39637 
39638   case 1573:
39639 #line 10880 "gram.y" /* yacc.c:1652  */
39640     { (yyval.node) = (Node *) (yyvsp[0].value); }
39641 #line 39642 "gram.c" /* yacc.c:1652  */
39642     break;
39643 
39644   case 1574:
39645 #line 10881 "gram.y" /* yacc.c:1652  */
39646     { (yyval.node) = NULL; }
39647 #line 39648 "gram.c" /* yacc.c:1652  */
39648     break;
39649 
39650   case 1575:
39651 #line 10892 "gram.y" /* yacc.c:1652  */
39652     {
39653 					PrepareStmt *n = makeNode(PrepareStmt);
39654 					n->name = (yyvsp[-3].str);
39655 					n->argtypes = (yyvsp[-2].list);
39656 					n->query = (yyvsp[0].node);
39657 					(yyval.node) = (Node *) n;
39658 				}
39659 #line 39660 "gram.c" /* yacc.c:1652  */
39660     break;
39661 
39662   case 1576:
39663 #line 10901 "gram.y" /* yacc.c:1652  */
39664     { (yyval.list) = (yyvsp[-1].list); }
39665 #line 39666 "gram.c" /* yacc.c:1652  */
39666     break;
39667 
39668   case 1577:
39669 #line 10902 "gram.y" /* yacc.c:1652  */
39670     { (yyval.list) = NIL; }
39671 #line 39672 "gram.c" /* yacc.c:1652  */
39672     break;
39673 
39674   case 1582:
39675 #line 10920 "gram.y" /* yacc.c:1652  */
39676     {
39677 					ExecuteStmt *n = makeNode(ExecuteStmt);
39678 					n->name = (yyvsp[-1].str);
39679 					n->params = (yyvsp[0].list);
39680 					(yyval.node) = (Node *) n;
39681 				}
39682 #line 39683 "gram.c" /* yacc.c:1652  */
39683     break;
39684 
39685   case 1583:
39686 #line 10928 "gram.y" /* yacc.c:1652  */
39687     {
39688 					CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
39689 					ExecuteStmt *n = makeNode(ExecuteStmt);
39690 					n->name = (yyvsp[-2].str);
39691 					n->params = (yyvsp[-1].list);
39692 					ctas->query = (Node *) n;
39693 					ctas->into = (yyvsp[-5].into);
39694 					ctas->relkind = OBJECT_TABLE;
39695 					ctas->is_select_into = false;
39696 					ctas->if_not_exists = false;
39697 					/* cram additional flags into the IntoClause */
39698 					(yyvsp[-5].into)->rel->relpersistence = (yyvsp[-7].ival);
39699 					(yyvsp[-5].into)->skipData = !((yyvsp[0].boolean));
39700 					(yyval.node) = (Node *) ctas;
39701 				}
39702 #line 39703 "gram.c" /* yacc.c:1652  */
39703     break;
39704 
39705   case 1584:
39706 #line 10945 "gram.y" /* yacc.c:1652  */
39707     {
39708 					CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
39709 					ExecuteStmt *n = makeNode(ExecuteStmt);
39710 					n->name = (yyvsp[-2].str);
39711 					n->params = (yyvsp[-1].list);
39712 					ctas->query = (Node *) n;
39713 					ctas->into = (yyvsp[-5].into);
39714 					ctas->relkind = OBJECT_TABLE;
39715 					ctas->is_select_into = false;
39716 					ctas->if_not_exists = true;
39717 					/* cram additional flags into the IntoClause */
39718 					(yyvsp[-5].into)->rel->relpersistence = (yyvsp[-10].ival);
39719 					(yyvsp[-5].into)->skipData = !((yyvsp[0].boolean));
39720 					(yyval.node) = (Node *) ctas;
39721 				}
39722 #line 39723 "gram.c" /* yacc.c:1652  */
39723     break;
39724 
39725   case 1585:
39726 #line 10962 "gram.y" /* yacc.c:1652  */
39727     { (yyval.list) = (yyvsp[-1].list); }
39728 #line 39729 "gram.c" /* yacc.c:1652  */
39729     break;
39730 
39731   case 1586:
39732 #line 10963 "gram.y" /* yacc.c:1652  */
39733     { (yyval.list) = NIL; }
39734 #line 39735 "gram.c" /* yacc.c:1652  */
39735     break;
39736 
39737   case 1587:
39738 #line 10974 "gram.y" /* yacc.c:1652  */
39739     {
39740 						DeallocateStmt *n = makeNode(DeallocateStmt);
39741 						n->name = (yyvsp[0].str);
39742 						(yyval.node) = (Node *) n;
39743 					}
39744 #line 39745 "gram.c" /* yacc.c:1652  */
39745     break;
39746 
39747   case 1588:
39748 #line 10980 "gram.y" /* yacc.c:1652  */
39749     {
39750 						DeallocateStmt *n = makeNode(DeallocateStmt);
39751 						n->name = (yyvsp[0].str);
39752 						(yyval.node) = (Node *) n;
39753 					}
39754 #line 39755 "gram.c" /* yacc.c:1652  */
39755     break;
39756 
39757   case 1589:
39758 #line 10986 "gram.y" /* yacc.c:1652  */
39759     {
39760 						DeallocateStmt *n = makeNode(DeallocateStmt);
39761 						n->name = NULL;
39762 						(yyval.node) = (Node *) n;
39763 					}
39764 #line 39765 "gram.c" /* yacc.c:1652  */
39765     break;
39766 
39767   case 1590:
39768 #line 10992 "gram.y" /* yacc.c:1652  */
39769     {
39770 						DeallocateStmt *n = makeNode(DeallocateStmt);
39771 						n->name = NULL;
39772 						(yyval.node) = (Node *) n;
39773 					}
39774 #line 39775 "gram.c" /* yacc.c:1652  */
39775     break;
39776 
39777   case 1591:
39778 #line 11009 "gram.y" /* yacc.c:1652  */
39779     {
39780 					(yyvsp[-2].istmt)->relation = (yyvsp[-3].range);
39781 					(yyvsp[-2].istmt)->onConflictClause = (yyvsp[-1].onconflict);
39782 					(yyvsp[-2].istmt)->returningList = (yyvsp[0].list);
39783 					(yyvsp[-2].istmt)->withClause = (yyvsp[-6].with);
39784 					(yyval.node) = (Node *) (yyvsp[-2].istmt);
39785 				}
39786 #line 39787 "gram.c" /* yacc.c:1652  */
39787     break;
39788 
39789   case 1592:
39790 #line 11026 "gram.y" /* yacc.c:1652  */
39791     {
39792 					(yyval.range) = (yyvsp[0].range);
39793 				}
39794 #line 39795 "gram.c" /* yacc.c:1652  */
39795     break;
39796 
39797   case 1593:
39798 #line 11030 "gram.y" /* yacc.c:1652  */
39799     {
39800 					(yyvsp[-2].range)->alias = makeAlias((yyvsp[0].str), NIL);
39801 					(yyval.range) = (yyvsp[-2].range);
39802 				}
39803 #line 39804 "gram.c" /* yacc.c:1652  */
39804     break;
39805 
39806   case 1594:
39807 #line 11038 "gram.y" /* yacc.c:1652  */
39808     {
39809 					(yyval.istmt) = makeNode(InsertStmt);
39810 					(yyval.istmt)->cols = NIL;
39811 					(yyval.istmt)->selectStmt = (yyvsp[0].node);
39812 				}
39813 #line 39814 "gram.c" /* yacc.c:1652  */
39814     break;
39815 
39816   case 1595:
39817 #line 11044 "gram.y" /* yacc.c:1652  */
39818     {
39819 					(yyval.istmt) = makeNode(InsertStmt);
39820 					(yyval.istmt)->cols = NIL;
39821 					(yyval.istmt)->override = (yyvsp[-2].ival);
39822 					(yyval.istmt)->selectStmt = (yyvsp[0].node);
39823 				}
39824 #line 39825 "gram.c" /* yacc.c:1652  */
39825     break;
39826 
39827   case 1596:
39828 #line 11051 "gram.y" /* yacc.c:1652  */
39829     {
39830 					(yyval.istmt) = makeNode(InsertStmt);
39831 					(yyval.istmt)->cols = (yyvsp[-2].list);
39832 					(yyval.istmt)->selectStmt = (yyvsp[0].node);
39833 				}
39834 #line 39835 "gram.c" /* yacc.c:1652  */
39835     break;
39836 
39837   case 1597:
39838 #line 11057 "gram.y" /* yacc.c:1652  */
39839     {
39840 					(yyval.istmt) = makeNode(InsertStmt);
39841 					(yyval.istmt)->cols = (yyvsp[-5].list);
39842 					(yyval.istmt)->override = (yyvsp[-2].ival);
39843 					(yyval.istmt)->selectStmt = (yyvsp[0].node);
39844 				}
39845 #line 39846 "gram.c" /* yacc.c:1652  */
39846     break;
39847 
39848   case 1598:
39849 #line 11064 "gram.y" /* yacc.c:1652  */
39850     {
39851 					(yyval.istmt) = makeNode(InsertStmt);
39852 					(yyval.istmt)->cols = NIL;
39853 					(yyval.istmt)->selectStmt = NULL;
39854 				}
39855 #line 39856 "gram.c" /* yacc.c:1652  */
39856     break;
39857 
39858   case 1599:
39859 #line 11072 "gram.y" /* yacc.c:1652  */
39860     { (yyval.ival) = OVERRIDING_USER_VALUE; }
39861 #line 39862 "gram.c" /* yacc.c:1652  */
39862     break;
39863 
39864   case 1600:
39865 #line 11073 "gram.y" /* yacc.c:1652  */
39866     { (yyval.ival) = OVERRIDING_SYSTEM_VALUE; }
39867 #line 39868 "gram.c" /* yacc.c:1652  */
39868     break;
39869 
39870   case 1601:
39871 #line 11078 "gram.y" /* yacc.c:1652  */
39872     { (yyval.list) = list_make1((yyvsp[0].target)); }
39873 #line 39874 "gram.c" /* yacc.c:1652  */
39874     break;
39875 
39876   case 1602:
39877 #line 11080 "gram.y" /* yacc.c:1652  */
39878     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
39879 #line 39880 "gram.c" /* yacc.c:1652  */
39880     break;
39881 
39882   case 1603:
39883 #line 11085 "gram.y" /* yacc.c:1652  */
39884     {
39885 					(yyval.target) = makeNode(ResTarget);
39886 					(yyval.target)->name = (yyvsp[-1].str);
39887 					(yyval.target)->indirection = check_indirection((yyvsp[0].list), yyscanner);
39888 					(yyval.target)->val = NULL;
39889 					(yyval.target)->location = (yylsp[-1]);
39890 				}
39891 #line 39892 "gram.c" /* yacc.c:1652  */
39892     break;
39893 
39894   case 1604:
39895 #line 11096 "gram.y" /* yacc.c:1652  */
39896     {
39897 					(yyval.onconflict) = makeNode(OnConflictClause);
39898 					(yyval.onconflict)->action = ONCONFLICT_UPDATE;
39899 					(yyval.onconflict)->infer = (yyvsp[-5].infer);
39900 					(yyval.onconflict)->targetList = (yyvsp[-1].list);
39901 					(yyval.onconflict)->whereClause = (yyvsp[0].node);
39902 					(yyval.onconflict)->location = (yylsp[-7]);
39903 				}
39904 #line 39905 "gram.c" /* yacc.c:1652  */
39905     break;
39906 
39907   case 1605:
39908 #line 11106 "gram.y" /* yacc.c:1652  */
39909     {
39910 					(yyval.onconflict) = makeNode(OnConflictClause);
39911 					(yyval.onconflict)->action = ONCONFLICT_NOTHING;
39912 					(yyval.onconflict)->infer = (yyvsp[-2].infer);
39913 					(yyval.onconflict)->targetList = NIL;
39914 					(yyval.onconflict)->whereClause = NULL;
39915 					(yyval.onconflict)->location = (yylsp[-4]);
39916 				}
39917 #line 39918 "gram.c" /* yacc.c:1652  */
39918     break;
39919 
39920   case 1606:
39921 #line 11115 "gram.y" /* yacc.c:1652  */
39922     {
39923 					(yyval.onconflict) = NULL;
39924 				}
39925 #line 39926 "gram.c" /* yacc.c:1652  */
39926     break;
39927 
39928   case 1607:
39929 #line 11122 "gram.y" /* yacc.c:1652  */
39930     {
39931 					(yyval.infer) = makeNode(InferClause);
39932 					(yyval.infer)->indexElems = (yyvsp[-2].list);
39933 					(yyval.infer)->whereClause = (yyvsp[0].node);
39934 					(yyval.infer)->conname = NULL;
39935 					(yyval.infer)->location = (yylsp[-3]);
39936 				}
39937 #line 39938 "gram.c" /* yacc.c:1652  */
39938     break;
39939 
39940   case 1608:
39941 #line 11131 "gram.y" /* yacc.c:1652  */
39942     {
39943 					(yyval.infer) = makeNode(InferClause);
39944 					(yyval.infer)->indexElems = NIL;
39945 					(yyval.infer)->whereClause = NULL;
39946 					(yyval.infer)->conname = (yyvsp[0].str);
39947 					(yyval.infer)->location = (yylsp[-2]);
39948 				}
39949 #line 39950 "gram.c" /* yacc.c:1652  */
39950     break;
39951 
39952   case 1609:
39953 #line 11139 "gram.y" /* yacc.c:1652  */
39954     {
39955 					(yyval.infer) = NULL;
39956 				}
39957 #line 39958 "gram.c" /* yacc.c:1652  */
39958     break;
39959 
39960   case 1610:
39961 #line 11145 "gram.y" /* yacc.c:1652  */
39962     { (yyval.list) = (yyvsp[0].list); }
39963 #line 39964 "gram.c" /* yacc.c:1652  */
39964     break;
39965 
39966   case 1611:
39967 #line 11146 "gram.y" /* yacc.c:1652  */
39968     { (yyval.list) = NIL; }
39969 #line 39970 "gram.c" /* yacc.c:1652  */
39970     break;
39971 
39972   case 1612:
39973 #line 11159 "gram.y" /* yacc.c:1652  */
39974     {
39975 					DeleteStmt *n = makeNode(DeleteStmt);
39976 					n->relation = (yyvsp[-3].range);
39977 					n->usingClause = (yyvsp[-2].list);
39978 					n->whereClause = (yyvsp[-1].node);
39979 					n->returningList = (yyvsp[0].list);
39980 					n->withClause = (yyvsp[-6].with);
39981 					(yyval.node) = (Node *)n;
39982 				}
39983 #line 39984 "gram.c" /* yacc.c:1652  */
39984     break;
39985 
39986   case 1613:
39987 #line 11171 "gram.y" /* yacc.c:1652  */
39988     { (yyval.list) = (yyvsp[0].list); }
39989 #line 39990 "gram.c" /* yacc.c:1652  */
39990     break;
39991 
39992   case 1614:
39993 #line 11172 "gram.y" /* yacc.c:1652  */
39994     { (yyval.list) = NIL; }
39995 #line 39996 "gram.c" /* yacc.c:1652  */
39996     break;
39997 
39998   case 1615:
39999 #line 11184 "gram.y" /* yacc.c:1652  */
40000     {
40001 					LockStmt *n = makeNode(LockStmt);
40002 
40003 					n->relations = (yyvsp[-2].list);
40004 					n->mode = (yyvsp[-1].ival);
40005 					n->nowait = (yyvsp[0].boolean);
40006 					(yyval.node) = (Node *)n;
40007 				}
40008 #line 40009 "gram.c" /* yacc.c:1652  */
40009     break;
40010 
40011   case 1616:
40012 #line 11194 "gram.y" /* yacc.c:1652  */
40013     { (yyval.ival) = (yyvsp[-1].ival); }
40014 #line 40015 "gram.c" /* yacc.c:1652  */
40015     break;
40016 
40017   case 1617:
40018 #line 11195 "gram.y" /* yacc.c:1652  */
40019     { (yyval.ival) = AccessExclusiveLock; }
40020 #line 40021 "gram.c" /* yacc.c:1652  */
40021     break;
40022 
40023   case 1618:
40024 #line 11198 "gram.y" /* yacc.c:1652  */
40025     { (yyval.ival) = AccessShareLock; }
40026 #line 40027 "gram.c" /* yacc.c:1652  */
40027     break;
40028 
40029   case 1619:
40030 #line 11199 "gram.y" /* yacc.c:1652  */
40031     { (yyval.ival) = RowShareLock; }
40032 #line 40033 "gram.c" /* yacc.c:1652  */
40033     break;
40034 
40035   case 1620:
40036 #line 11200 "gram.y" /* yacc.c:1652  */
40037     { (yyval.ival) = RowExclusiveLock; }
40038 #line 40039 "gram.c" /* yacc.c:1652  */
40039     break;
40040 
40041   case 1621:
40042 #line 11201 "gram.y" /* yacc.c:1652  */
40043     { (yyval.ival) = ShareUpdateExclusiveLock; }
40044 #line 40045 "gram.c" /* yacc.c:1652  */
40045     break;
40046 
40047   case 1622:
40048 #line 11202 "gram.y" /* yacc.c:1652  */
40049     { (yyval.ival) = ShareLock; }
40050 #line 40051 "gram.c" /* yacc.c:1652  */
40051     break;
40052 
40053   case 1623:
40054 #line 11203 "gram.y" /* yacc.c:1652  */
40055     { (yyval.ival) = ShareRowExclusiveLock; }
40056 #line 40057 "gram.c" /* yacc.c:1652  */
40057     break;
40058 
40059   case 1624:
40060 #line 11204 "gram.y" /* yacc.c:1652  */
40061     { (yyval.ival) = ExclusiveLock; }
40062 #line 40063 "gram.c" /* yacc.c:1652  */
40063     break;
40064 
40065   case 1625:
40066 #line 11205 "gram.y" /* yacc.c:1652  */
40067     { (yyval.ival) = AccessExclusiveLock; }
40068 #line 40069 "gram.c" /* yacc.c:1652  */
40069     break;
40070 
40071   case 1626:
40072 #line 11208 "gram.y" /* yacc.c:1652  */
40073     { (yyval.boolean) = true; }
40074 #line 40075 "gram.c" /* yacc.c:1652  */
40075     break;
40076 
40077   case 1627:
40078 #line 11209 "gram.y" /* yacc.c:1652  */
40079     { (yyval.boolean) = false; }
40080 #line 40081 "gram.c" /* yacc.c:1652  */
40081     break;
40082 
40083   case 1628:
40084 #line 11213 "gram.y" /* yacc.c:1652  */
40085     { (yyval.ival) = LockWaitError; }
40086 #line 40087 "gram.c" /* yacc.c:1652  */
40087     break;
40088 
40089   case 1629:
40090 #line 11214 "gram.y" /* yacc.c:1652  */
40091     { (yyval.ival) = LockWaitSkip; }
40092 #line 40093 "gram.c" /* yacc.c:1652  */
40093     break;
40094 
40095   case 1630:
40096 #line 11215 "gram.y" /* yacc.c:1652  */
40097     { (yyval.ival) = LockWaitBlock; }
40098 #line 40099 "gram.c" /* yacc.c:1652  */
40099     break;
40100 
40101   case 1631:
40102 #line 11231 "gram.y" /* yacc.c:1652  */
40103     {
40104 					UpdateStmt *n = makeNode(UpdateStmt);
40105 					n->relation = (yyvsp[-5].range);
40106 					n->targetList = (yyvsp[-3].list);
40107 					n->fromClause = (yyvsp[-2].list);
40108 					n->whereClause = (yyvsp[-1].node);
40109 					n->returningList = (yyvsp[0].list);
40110 					n->withClause = (yyvsp[-7].with);
40111 					(yyval.node) = (Node *)n;
40112 				}
40113 #line 40114 "gram.c" /* yacc.c:1652  */
40114     break;
40115 
40116   case 1632:
40117 #line 11244 "gram.y" /* yacc.c:1652  */
40118     { (yyval.list) = (yyvsp[0].list); }
40119 #line 40120 "gram.c" /* yacc.c:1652  */
40120     break;
40121 
40122   case 1633:
40123 #line 11245 "gram.y" /* yacc.c:1652  */
40124     { (yyval.list) = list_concat((yyvsp[-2].list),(yyvsp[0].list)); }
40125 #line 40126 "gram.c" /* yacc.c:1652  */
40126     break;
40127 
40128   case 1634:
40129 #line 11250 "gram.y" /* yacc.c:1652  */
40130     {
40131 					(yyvsp[-2].target)->val = (Node *) (yyvsp[0].node);
40132 					(yyval.list) = list_make1((yyvsp[-2].target));
40133 				}
40134 #line 40135 "gram.c" /* yacc.c:1652  */
40135     break;
40136 
40137   case 1635:
40138 #line 11255 "gram.y" /* yacc.c:1652  */
40139     {
40140 					int ncolumns = list_length((yyvsp[-3].list));
40141 					int i = 1;
40142 					ListCell *col_cell;
40143 
40144 					/* Create a MultiAssignRef source for each target */
40145 					foreach(col_cell, (yyvsp[-3].list))
40146 					{
40147 						ResTarget *res_col = (ResTarget *) lfirst(col_cell);
40148 						MultiAssignRef *r = makeNode(MultiAssignRef);
40149 
40150 						r->source = (Node *) (yyvsp[0].node);
40151 						r->colno = i;
40152 						r->ncolumns = ncolumns;
40153 						res_col->val = (Node *) r;
40154 						i++;
40155 					}
40156 
40157 					(yyval.list) = (yyvsp[-3].list);
40158 				}
40159 #line 40160 "gram.c" /* yacc.c:1652  */
40160     break;
40161 
40162   case 1636:
40163 #line 11279 "gram.y" /* yacc.c:1652  */
40164     {
40165 					(yyval.target) = makeNode(ResTarget);
40166 					(yyval.target)->name = (yyvsp[-1].str);
40167 					(yyval.target)->indirection = check_indirection((yyvsp[0].list), yyscanner);
40168 					(yyval.target)->val = NULL;	/* upper production sets this */
40169 					(yyval.target)->location = (yylsp[-1]);
40170 				}
40171 #line 40172 "gram.c" /* yacc.c:1652  */
40172     break;
40173 
40174   case 1637:
40175 #line 11289 "gram.y" /* yacc.c:1652  */
40176     { (yyval.list) = list_make1((yyvsp[0].target)); }
40177 #line 40178 "gram.c" /* yacc.c:1652  */
40178     break;
40179 
40180   case 1638:
40181 #line 11290 "gram.y" /* yacc.c:1652  */
40182     { (yyval.list) = lappend((yyvsp[-2].list),(yyvsp[0].target)); }
40183 #line 40184 "gram.c" /* yacc.c:1652  */
40184     break;
40185 
40186   case 1639:
40187 #line 11301 "gram.y" /* yacc.c:1652  */
40188     {
40189 					DeclareCursorStmt *n = makeNode(DeclareCursorStmt);
40190 					n->portalname = (yyvsp[-5].str);
40191 					/* currently we always set FAST_PLAN option */
40192 					n->options = (yyvsp[-4].ival) | (yyvsp[-2].ival) | CURSOR_OPT_FAST_PLAN;
40193 					n->query = (yyvsp[0].node);
40194 					(yyval.node) = (Node *)n;
40195 				}
40196 #line 40197 "gram.c" /* yacc.c:1652  */
40197     break;
40198 
40199   case 1640:
40200 #line 11311 "gram.y" /* yacc.c:1652  */
40201     { (yyval.str) = (yyvsp[0].str); }
40202 #line 40203 "gram.c" /* yacc.c:1652  */
40203     break;
40204 
40205   case 1641:
40206 #line 11314 "gram.y" /* yacc.c:1652  */
40207     { (yyval.ival) = 0; }
40208 #line 40209 "gram.c" /* yacc.c:1652  */
40209     break;
40210 
40211   case 1642:
40212 #line 11315 "gram.y" /* yacc.c:1652  */
40213     { (yyval.ival) = (yyvsp[-2].ival) | CURSOR_OPT_NO_SCROLL; }
40214 #line 40215 "gram.c" /* yacc.c:1652  */
40215     break;
40216 
40217   case 1643:
40218 #line 11316 "gram.y" /* yacc.c:1652  */
40219     { (yyval.ival) = (yyvsp[-1].ival) | CURSOR_OPT_SCROLL; }
40220 #line 40221 "gram.c" /* yacc.c:1652  */
40221     break;
40222 
40223   case 1644:
40224 #line 11317 "gram.y" /* yacc.c:1652  */
40225     { (yyval.ival) = (yyvsp[-1].ival) | CURSOR_OPT_BINARY; }
40226 #line 40227 "gram.c" /* yacc.c:1652  */
40227     break;
40228 
40229   case 1645:
40230 #line 11318 "gram.y" /* yacc.c:1652  */
40231     { (yyval.ival) = (yyvsp[-1].ival) | CURSOR_OPT_INSENSITIVE; }
40232 #line 40233 "gram.c" /* yacc.c:1652  */
40233     break;
40234 
40235   case 1646:
40236 #line 11321 "gram.y" /* yacc.c:1652  */
40237     { (yyval.ival) = 0; }
40238 #line 40239 "gram.c" /* yacc.c:1652  */
40239     break;
40240 
40241   case 1647:
40242 #line 11322 "gram.y" /* yacc.c:1652  */
40243     { (yyval.ival) = CURSOR_OPT_HOLD; }
40244 #line 40245 "gram.c" /* yacc.c:1652  */
40245     break;
40246 
40247   case 1648:
40248 #line 11323 "gram.y" /* yacc.c:1652  */
40249     { (yyval.ival) = 0; }
40250 #line 40251 "gram.c" /* yacc.c:1652  */
40251     break;
40252 
40253   case 1651:
40254 #line 11376 "gram.y" /* yacc.c:1652  */
40255     { (yyval.node) = (yyvsp[-1].node); }
40256 #line 40257 "gram.c" /* yacc.c:1652  */
40257     break;
40258 
40259   case 1652:
40260 #line 11377 "gram.y" /* yacc.c:1652  */
40261     { (yyval.node) = (yyvsp[-1].node); }
40262 #line 40263 "gram.c" /* yacc.c:1652  */
40263     break;
40264 
40265   case 1653:
40266 #line 11392 "gram.y" /* yacc.c:1652  */
40267     { (yyval.node) = (yyvsp[0].node); }
40268 #line 40269 "gram.c" /* yacc.c:1652  */
40269     break;
40270 
40271   case 1654:
40272 #line 11394 "gram.y" /* yacc.c:1652  */
40273     {
40274 					insertSelectOptions((SelectStmt *) (yyvsp[-1].node), (yyvsp[0].list), NIL,
40275 										NULL, NULL,
40276 										yyscanner);
40277 					(yyval.node) = (yyvsp[-1].node);
40278 				}
40279 #line 40280 "gram.c" /* yacc.c:1652  */
40280     break;
40281 
40282   case 1655:
40283 #line 11401 "gram.y" /* yacc.c:1652  */
40284     {
40285 					insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[-1].list),
40286 										(yyvsp[0].selectlimit),
40287 										NULL,
40288 										yyscanner);
40289 					(yyval.node) = (yyvsp[-3].node);
40290 				}
40291 #line 40292 "gram.c" /* yacc.c:1652  */
40292     break;
40293 
40294   case 1656:
40295 #line 11409 "gram.y" /* yacc.c:1652  */
40296     {
40297 					insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[0].list),
40298 										(yyvsp[-1].selectlimit),
40299 										NULL,
40300 										yyscanner);
40301 					(yyval.node) = (yyvsp[-3].node);
40302 				}
40303 #line 40304 "gram.c" /* yacc.c:1652  */
40304     break;
40305 
40306   case 1657:
40307 #line 11417 "gram.y" /* yacc.c:1652  */
40308     {
40309 					insertSelectOptions((SelectStmt *) (yyvsp[0].node), NULL, NIL,
40310 										NULL,
40311 										(yyvsp[-1].with),
40312 										yyscanner);
40313 					(yyval.node) = (yyvsp[0].node);
40314 				}
40315 #line 40316 "gram.c" /* yacc.c:1652  */
40316     break;
40317 
40318   case 1658:
40319 #line 11425 "gram.y" /* yacc.c:1652  */
40320     {
40321 					insertSelectOptions((SelectStmt *) (yyvsp[-1].node), (yyvsp[0].list), NIL,
40322 										NULL,
40323 										(yyvsp[-2].with),
40324 										yyscanner);
40325 					(yyval.node) = (yyvsp[-1].node);
40326 				}
40327 #line 40328 "gram.c" /* yacc.c:1652  */
40328     break;
40329 
40330   case 1659:
40331 #line 11433 "gram.y" /* yacc.c:1652  */
40332     {
40333 					insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[-1].list),
40334 										(yyvsp[0].selectlimit),
40335 										(yyvsp[-4].with),
40336 										yyscanner);
40337 					(yyval.node) = (yyvsp[-3].node);
40338 				}
40339 #line 40340 "gram.c" /* yacc.c:1652  */
40340     break;
40341 
40342   case 1660:
40343 #line 11441 "gram.y" /* yacc.c:1652  */
40344     {
40345 					insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[0].list),
40346 										(yyvsp[-1].selectlimit),
40347 										(yyvsp[-4].with),
40348 										yyscanner);
40349 					(yyval.node) = (yyvsp[-3].node);
40350 				}
40351 #line 40352 "gram.c" /* yacc.c:1652  */
40352     break;
40353 
40354   case 1661:
40355 #line 11451 "gram.y" /* yacc.c:1652  */
40356     { (yyval.node) = (yyvsp[0].node); }
40357 #line 40358 "gram.c" /* yacc.c:1652  */
40358     break;
40359 
40360   case 1662:
40361 #line 11452 "gram.y" /* yacc.c:1652  */
40362     { (yyval.node) = (yyvsp[0].node); }
40363 #line 40364 "gram.c" /* yacc.c:1652  */
40364     break;
40365 
40366   case 1663:
40367 #line 11482 "gram.y" /* yacc.c:1652  */
40368     {
40369 					SelectStmt *n = makeNode(SelectStmt);
40370 					n->targetList = (yyvsp[-6].list);
40371 					n->intoClause = (yyvsp[-5].into);
40372 					n->fromClause = (yyvsp[-4].list);
40373 					n->whereClause = (yyvsp[-3].node);
40374 					n->groupClause = (yyvsp[-2].list);
40375 					n->havingClause = (yyvsp[-1].node);
40376 					n->windowClause = (yyvsp[0].list);
40377 					(yyval.node) = (Node *)n;
40378 				}
40379 #line 40380 "gram.c" /* yacc.c:1652  */
40380     break;
40381 
40382   case 1664:
40383 #line 11496 "gram.y" /* yacc.c:1652  */
40384     {
40385 					SelectStmt *n = makeNode(SelectStmt);
40386 					n->distinctClause = (yyvsp[-7].list);
40387 					n->targetList = (yyvsp[-6].list);
40388 					n->intoClause = (yyvsp[-5].into);
40389 					n->fromClause = (yyvsp[-4].list);
40390 					n->whereClause = (yyvsp[-3].node);
40391 					n->groupClause = (yyvsp[-2].list);
40392 					n->havingClause = (yyvsp[-1].node);
40393 					n->windowClause = (yyvsp[0].list);
40394 					(yyval.node) = (Node *)n;
40395 				}
40396 #line 40397 "gram.c" /* yacc.c:1652  */
40397     break;
40398 
40399   case 1665:
40400 #line 11508 "gram.y" /* yacc.c:1652  */
40401     { (yyval.node) = (yyvsp[0].node); }
40402 #line 40403 "gram.c" /* yacc.c:1652  */
40403     break;
40404 
40405   case 1666:
40406 #line 11510 "gram.y" /* yacc.c:1652  */
40407     {
40408 					/* same as SELECT * FROM relation_expr */
40409 					ColumnRef *cr = makeNode(ColumnRef);
40410 					ResTarget *rt = makeNode(ResTarget);
40411 					SelectStmt *n = makeNode(SelectStmt);
40412 
40413 					cr->fields = list_make1(makeNode(A_Star));
40414 					cr->location = -1;
40415 
40416 					rt->name = NULL;
40417 					rt->indirection = NIL;
40418 					rt->val = (Node *)cr;
40419 					rt->location = -1;
40420 
40421 					n->targetList = list_make1(rt);
40422 					n->fromClause = list_make1((yyvsp[0].range));
40423 					(yyval.node) = (Node *)n;
40424 				}
40425 #line 40426 "gram.c" /* yacc.c:1652  */
40426     break;
40427 
40428   case 1667:
40429 #line 11529 "gram.y" /* yacc.c:1652  */
40430     {
40431 					(yyval.node) = makeSetOp(SETOP_UNION, (yyvsp[-1].boolean), (yyvsp[-3].node), (yyvsp[0].node));
40432 				}
40433 #line 40434 "gram.c" /* yacc.c:1652  */
40434     break;
40435 
40436   case 1668:
40437 #line 11533 "gram.y" /* yacc.c:1652  */
40438     {
40439 					(yyval.node) = makeSetOp(SETOP_INTERSECT, (yyvsp[-1].boolean), (yyvsp[-3].node), (yyvsp[0].node));
40440 				}
40441 #line 40442 "gram.c" /* yacc.c:1652  */
40442     break;
40443 
40444   case 1669:
40445 #line 11537 "gram.y" /* yacc.c:1652  */
40446     {
40447 					(yyval.node) = makeSetOp(SETOP_EXCEPT, (yyvsp[-1].boolean), (yyvsp[-3].node), (yyvsp[0].node));
40448 				}
40449 #line 40450 "gram.c" /* yacc.c:1652  */
40450     break;
40451 
40452   case 1670:
40453 #line 11554 "gram.y" /* yacc.c:1652  */
40454     {
40455 				(yyval.with) = makeNode(WithClause);
40456 				(yyval.with)->ctes = (yyvsp[0].list);
40457 				(yyval.with)->recursive = false;
40458 				(yyval.with)->location = (yylsp[-1]);
40459 			}
40460 #line 40461 "gram.c" /* yacc.c:1652  */
40461     break;
40462 
40463   case 1671:
40464 #line 11561 "gram.y" /* yacc.c:1652  */
40465     {
40466 				(yyval.with) = makeNode(WithClause);
40467 				(yyval.with)->ctes = (yyvsp[0].list);
40468 				(yyval.with)->recursive = false;
40469 				(yyval.with)->location = (yylsp[-1]);
40470 			}
40471 #line 40472 "gram.c" /* yacc.c:1652  */
40472     break;
40473 
40474   case 1672:
40475 #line 11568 "gram.y" /* yacc.c:1652  */
40476     {
40477 				(yyval.with) = makeNode(WithClause);
40478 				(yyval.with)->ctes = (yyvsp[0].list);
40479 				(yyval.with)->recursive = true;
40480 				(yyval.with)->location = (yylsp[-2]);
40481 			}
40482 #line 40483 "gram.c" /* yacc.c:1652  */
40483     break;
40484 
40485   case 1673:
40486 #line 11577 "gram.y" /* yacc.c:1652  */
40487     { (yyval.list) = list_make1((yyvsp[0].node)); }
40488 #line 40489 "gram.c" /* yacc.c:1652  */
40489     break;
40490 
40491   case 1674:
40492 #line 11578 "gram.y" /* yacc.c:1652  */
40493     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
40494 #line 40495 "gram.c" /* yacc.c:1652  */
40495     break;
40496 
40497   case 1675:
40498 #line 11582 "gram.y" /* yacc.c:1652  */
40499     {
40500 				CommonTableExpr *n = makeNode(CommonTableExpr);
40501 				n->ctename = (yyvsp[-6].str);
40502 				n->aliascolnames = (yyvsp[-5].list);
40503 				n->ctematerialized = (yyvsp[-3].ival);
40504 				n->ctequery = (yyvsp[-1].node);
40505 				n->location = (yylsp[-6]);
40506 				(yyval.node) = (Node *) n;
40507 			}
40508 #line 40509 "gram.c" /* yacc.c:1652  */
40509     break;
40510 
40511   case 1676:
40512 #line 11594 "gram.y" /* yacc.c:1652  */
40513     { (yyval.ival) = CTEMaterializeAlways; }
40514 #line 40515 "gram.c" /* yacc.c:1652  */
40515     break;
40516 
40517   case 1677:
40518 #line 11595 "gram.y" /* yacc.c:1652  */
40519     { (yyval.ival) = CTEMaterializeNever; }
40520 #line 40521 "gram.c" /* yacc.c:1652  */
40521     break;
40522 
40523   case 1678:
40524 #line 11596 "gram.y" /* yacc.c:1652  */
40525     { (yyval.ival) = CTEMaterializeDefault; }
40526 #line 40527 "gram.c" /* yacc.c:1652  */
40527     break;
40528 
40529   case 1679:
40530 #line 11600 "gram.y" /* yacc.c:1652  */
40531     { (yyval.with) = (yyvsp[0].with); }
40532 #line 40533 "gram.c" /* yacc.c:1652  */
40533     break;
40534 
40535   case 1680:
40536 #line 11601 "gram.y" /* yacc.c:1652  */
40537     { (yyval.with) = NULL; }
40538 #line 40539 "gram.c" /* yacc.c:1652  */
40539     break;
40540 
40541   case 1681:
40542 #line 11606 "gram.y" /* yacc.c:1652  */
40543     {
40544 					(yyval.into) = makeNode(IntoClause);
40545 					(yyval.into)->rel = (yyvsp[0].range);
40546 					(yyval.into)->colNames = NIL;
40547 					(yyval.into)->options = NIL;
40548 					(yyval.into)->onCommit = ONCOMMIT_NOOP;
40549 					(yyval.into)->tableSpaceName = NULL;
40550 					(yyval.into)->viewQuery = NULL;
40551 					(yyval.into)->skipData = false;
40552 				}
40553 #line 40554 "gram.c" /* yacc.c:1652  */
40554     break;
40555 
40556   case 1682:
40557 #line 11617 "gram.y" /* yacc.c:1652  */
40558     { (yyval.into) = NULL; }
40559 #line 40560 "gram.c" /* yacc.c:1652  */
40560     break;
40561 
40562   case 1683:
40563 #line 11626 "gram.y" /* yacc.c:1652  */
40564     {
40565 					(yyval.range) = (yyvsp[0].range);
40566 					(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
40567 				}
40568 #line 40569 "gram.c" /* yacc.c:1652  */
40569     break;
40570 
40571   case 1684:
40572 #line 11631 "gram.y" /* yacc.c:1652  */
40573     {
40574 					(yyval.range) = (yyvsp[0].range);
40575 					(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
40576 				}
40577 #line 40578 "gram.c" /* yacc.c:1652  */
40578     break;
40579 
40580   case 1685:
40581 #line 11636 "gram.y" /* yacc.c:1652  */
40582     {
40583 					(yyval.range) = (yyvsp[0].range);
40584 					(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
40585 				}
40586 #line 40587 "gram.c" /* yacc.c:1652  */
40587     break;
40588 
40589   case 1686:
40590 #line 11641 "gram.y" /* yacc.c:1652  */
40591     {
40592 					(yyval.range) = (yyvsp[0].range);
40593 					(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
40594 				}
40595 #line 40596 "gram.c" /* yacc.c:1652  */
40596     break;
40597 
40598   case 1687:
40599 #line 11646 "gram.y" /* yacc.c:1652  */
40600     {
40601 					ereport(WARNING,
40602 							(errmsg("GLOBAL is deprecated in temporary table creation"),
40603 							 parser_errposition((yylsp[-3]))));
40604 					(yyval.range) = (yyvsp[0].range);
40605 					(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
40606 				}
40607 #line 40608 "gram.c" /* yacc.c:1652  */
40608     break;
40609 
40610   case 1688:
40611 #line 11654 "gram.y" /* yacc.c:1652  */
40612     {
40613 					ereport(WARNING,
40614 							(errmsg("GLOBAL is deprecated in temporary table creation"),
40615 							 parser_errposition((yylsp[-3]))));
40616 					(yyval.range) = (yyvsp[0].range);
40617 					(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
40618 				}
40619 #line 40620 "gram.c" /* yacc.c:1652  */
40620     break;
40621 
40622   case 1689:
40623 #line 11662 "gram.y" /* yacc.c:1652  */
40624     {
40625 					(yyval.range) = (yyvsp[0].range);
40626 					(yyval.range)->relpersistence = RELPERSISTENCE_UNLOGGED;
40627 				}
40628 #line 40629 "gram.c" /* yacc.c:1652  */
40629     break;
40630 
40631   case 1690:
40632 #line 11667 "gram.y" /* yacc.c:1652  */
40633     {
40634 					(yyval.range) = (yyvsp[0].range);
40635 					(yyval.range)->relpersistence = RELPERSISTENCE_PERMANENT;
40636 				}
40637 #line 40638 "gram.c" /* yacc.c:1652  */
40638     break;
40639 
40640   case 1691:
40641 #line 11672 "gram.y" /* yacc.c:1652  */
40642     {
40643 					(yyval.range) = (yyvsp[0].range);
40644 					(yyval.range)->relpersistence = RELPERSISTENCE_PERMANENT;
40645 				}
40646 #line 40647 "gram.c" /* yacc.c:1652  */
40647     break;
40648 
40649   case 1692:
40650 #line 11678 "gram.y" /* yacc.c:1652  */
40651     {}
40652 #line 40653 "gram.c" /* yacc.c:1652  */
40653     break;
40654 
40655   case 1693:
40656 #line 11679 "gram.y" /* yacc.c:1652  */
40657     {}
40658 #line 40659 "gram.c" /* yacc.c:1652  */
40659     break;
40660 
40661   case 1694:
40662 #line 11683 "gram.y" /* yacc.c:1652  */
40663     { (yyval.boolean) = true; }
40664 #line 40665 "gram.c" /* yacc.c:1652  */
40665     break;
40666 
40667   case 1695:
40668 #line 11684 "gram.y" /* yacc.c:1652  */
40669     { (yyval.boolean) = false; }
40670 #line 40671 "gram.c" /* yacc.c:1652  */
40671     break;
40672 
40673   case 1696:
40674 #line 11685 "gram.y" /* yacc.c:1652  */
40675     { (yyval.boolean) = false; }
40676 #line 40677 "gram.c" /* yacc.c:1652  */
40677     break;
40678 
40679   case 1697:
40680 #line 11692 "gram.y" /* yacc.c:1652  */
40681     { (yyval.list) = list_make1(NIL); }
40682 #line 40683 "gram.c" /* yacc.c:1652  */
40683     break;
40684 
40685   case 1698:
40686 #line 11693 "gram.y" /* yacc.c:1652  */
40687     { (yyval.list) = (yyvsp[-1].list); }
40688 #line 40689 "gram.c" /* yacc.c:1652  */
40689     break;
40690 
40691   case 1699:
40692 #line 11697 "gram.y" /* yacc.c:1652  */
40693     { (yyval.list) = NIL;}
40694 #line 40695 "gram.c" /* yacc.c:1652  */
40695     break;
40696 
40697   case 1700:
40698 #line 11698 "gram.y" /* yacc.c:1652  */
40699     { (yyval.list) = NIL; }
40700 #line 40701 "gram.c" /* yacc.c:1652  */
40701     break;
40702 
40703   case 1701:
40704 #line 11702 "gram.y" /* yacc.c:1652  */
40705     { (yyval.list) = (yyvsp[0].list);}
40706 #line 40707 "gram.c" /* yacc.c:1652  */
40707     break;
40708 
40709   case 1702:
40710 #line 11703 "gram.y" /* yacc.c:1652  */
40711     { (yyval.list) = NIL; }
40712 #line 40713 "gram.c" /* yacc.c:1652  */
40713     break;
40714 
40715   case 1703:
40716 #line 11707 "gram.y" /* yacc.c:1652  */
40717     { (yyval.list) = (yyvsp[0].list); }
40718 #line 40719 "gram.c" /* yacc.c:1652  */
40719     break;
40720 
40721   case 1704:
40722 #line 11711 "gram.y" /* yacc.c:1652  */
40723     { (yyval.list) = list_make1((yyvsp[0].sortby)); }
40724 #line 40725 "gram.c" /* yacc.c:1652  */
40725     break;
40726 
40727   case 1705:
40728 #line 11712 "gram.y" /* yacc.c:1652  */
40729     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].sortby)); }
40730 #line 40731 "gram.c" /* yacc.c:1652  */
40731     break;
40732 
40733   case 1706:
40734 #line 11716 "gram.y" /* yacc.c:1652  */
40735     {
40736 					(yyval.sortby) = makeNode(SortBy);
40737 					(yyval.sortby)->node = (yyvsp[-3].node);
40738 					(yyval.sortby)->sortby_dir = SORTBY_USING;
40739 					(yyval.sortby)->sortby_nulls = (yyvsp[0].ival);
40740 					(yyval.sortby)->useOp = (yyvsp[-1].list);
40741 					(yyval.sortby)->location = (yylsp[-1]);
40742 				}
40743 #line 40744 "gram.c" /* yacc.c:1652  */
40744     break;
40745 
40746   case 1707:
40747 #line 11725 "gram.y" /* yacc.c:1652  */
40748     {
40749 					(yyval.sortby) = makeNode(SortBy);
40750 					(yyval.sortby)->node = (yyvsp[-2].node);
40751 					(yyval.sortby)->sortby_dir = (yyvsp[-1].ival);
40752 					(yyval.sortby)->sortby_nulls = (yyvsp[0].ival);
40753 					(yyval.sortby)->useOp = NIL;
40754 					(yyval.sortby)->location = -1;		/* no operator */
40755 				}
40756 #line 40757 "gram.c" /* yacc.c:1652  */
40757     break;
40758 
40759   case 1708:
40760 #line 11738 "gram.y" /* yacc.c:1652  */
40761     {
40762 					(yyval.selectlimit) = (yyvsp[-1].selectlimit);
40763 					((yyval.selectlimit))->limitOffset = (yyvsp[0].node);
40764 				}
40765 #line 40766 "gram.c" /* yacc.c:1652  */
40766     break;
40767 
40768   case 1709:
40769 #line 11743 "gram.y" /* yacc.c:1652  */
40770     {
40771 					(yyval.selectlimit) = (yyvsp[0].selectlimit);
40772 					((yyval.selectlimit))->limitOffset = (yyvsp[-1].node);
40773 				}
40774 #line 40775 "gram.c" /* yacc.c:1652  */
40775     break;
40776 
40777   case 1710:
40778 #line 11748 "gram.y" /* yacc.c:1652  */
40779     {
40780 					(yyval.selectlimit) = (yyvsp[0].selectlimit);
40781 				}
40782 #line 40783 "gram.c" /* yacc.c:1652  */
40783     break;
40784 
40785   case 1711:
40786 #line 11752 "gram.y" /* yacc.c:1652  */
40787     {
40788 					SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit));
40789 					n->limitOffset = (yyvsp[0].node);
40790 					n->limitCount = NULL;
40791 					n->limitOption = LIMIT_OPTION_COUNT;
40792 					(yyval.selectlimit) = n;
40793 				}
40794 #line 40795 "gram.c" /* yacc.c:1652  */
40795     break;
40796 
40797   case 1712:
40798 #line 11762 "gram.y" /* yacc.c:1652  */
40799     { (yyval.selectlimit) = (yyvsp[0].selectlimit); }
40800 #line 40801 "gram.c" /* yacc.c:1652  */
40801     break;
40802 
40803   case 1713:
40804 #line 11763 "gram.y" /* yacc.c:1652  */
40805     { (yyval.selectlimit) = NULL; }
40806 #line 40807 "gram.c" /* yacc.c:1652  */
40807     break;
40808 
40809   case 1714:
40810 #line 11768 "gram.y" /* yacc.c:1652  */
40811     {
40812 					SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit));
40813 					n->limitOffset = NULL;
40814 					n->limitCount = (yyvsp[0].node);
40815 					n->limitOption = LIMIT_OPTION_COUNT;
40816 					(yyval.selectlimit) = n;
40817 				}
40818 #line 40819 "gram.c" /* yacc.c:1652  */
40819     break;
40820 
40821   case 1715:
40822 #line 11776 "gram.y" /* yacc.c:1652  */
40823     {
40824 					/* Disabled because it was too confusing, bjm 2002-02-18 */
40825 					ereport(ERROR,
40826 							(errcode(ERRCODE_SYNTAX_ERROR),
40827 							 errmsg("LIMIT #,# syntax is not supported"),
40828 							 errhint("Use separate LIMIT and OFFSET clauses."),
40829 							 parser_errposition((yylsp[-3]))));
40830 				}
40831 #line 40832 "gram.c" /* yacc.c:1652  */
40832     break;
40833 
40834   case 1716:
40835 #line 11792 "gram.y" /* yacc.c:1652  */
40836     {
40837 					SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit));
40838 					n->limitOffset = NULL;
40839 					n->limitCount = (yyvsp[-2].node);
40840 					n->limitOption = LIMIT_OPTION_COUNT;
40841 					(yyval.selectlimit) = n;
40842 				}
40843 #line 40844 "gram.c" /* yacc.c:1652  */
40844     break;
40845 
40846   case 1717:
40847 #line 11800 "gram.y" /* yacc.c:1652  */
40848     {
40849 					SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit));
40850 					n->limitOffset = NULL;
40851 					n->limitCount = (yyvsp[-3].node);
40852 					n->limitOption = LIMIT_OPTION_WITH_TIES;
40853 					(yyval.selectlimit) = n;
40854 				}
40855 #line 40856 "gram.c" /* yacc.c:1652  */
40856     break;
40857 
40858   case 1718:
40859 #line 11808 "gram.y" /* yacc.c:1652  */
40860     {
40861 					SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit));
40862 					n->limitOffset = NULL;
40863 					n->limitCount = makeIntConst(1, -1);
40864 					n->limitOption = LIMIT_OPTION_COUNT;
40865 					(yyval.selectlimit) = n;
40866 				}
40867 #line 40868 "gram.c" /* yacc.c:1652  */
40868     break;
40869 
40870   case 1719:
40871 #line 11816 "gram.y" /* yacc.c:1652  */
40872     {
40873 					SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit));
40874 					n->limitOffset = NULL;
40875 					n->limitCount = makeIntConst(1, -1);
40876 					n->limitOption = LIMIT_OPTION_WITH_TIES;
40877 					(yyval.selectlimit) = n;
40878 				}
40879 #line 40880 "gram.c" /* yacc.c:1652  */
40880     break;
40881 
40882   case 1720:
40883 #line 11827 "gram.y" /* yacc.c:1652  */
40884     { (yyval.node) = (yyvsp[0].node); }
40885 #line 40886 "gram.c" /* yacc.c:1652  */
40886     break;
40887 
40888   case 1721:
40889 #line 11830 "gram.y" /* yacc.c:1652  */
40890     { (yyval.node) = (yyvsp[-1].node); }
40891 #line 40892 "gram.c" /* yacc.c:1652  */
40892     break;
40893 
40894   case 1722:
40895 #line 11834 "gram.y" /* yacc.c:1652  */
40896     { (yyval.node) = (yyvsp[0].node); }
40897 #line 40898 "gram.c" /* yacc.c:1652  */
40898     break;
40899 
40900   case 1723:
40901 #line 11836 "gram.y" /* yacc.c:1652  */
40902     {
40903 					/* LIMIT ALL is represented as a NULL constant */
40904 					(yyval.node) = makeNullAConst((yylsp[0]));
40905 				}
40906 #line 40907 "gram.c" /* yacc.c:1652  */
40907     break;
40908 
40909   case 1724:
40910 #line 11843 "gram.y" /* yacc.c:1652  */
40911     { (yyval.node) = (yyvsp[0].node); }
40912 #line 40913 "gram.c" /* yacc.c:1652  */
40913     break;
40914 
40915   case 1725:
40916 #line 11863 "gram.y" /* yacc.c:1652  */
40917     { (yyval.node) = (yyvsp[0].node); }
40918 #line 40919 "gram.c" /* yacc.c:1652  */
40919     break;
40920 
40921   case 1726:
40922 #line 11865 "gram.y" /* yacc.c:1652  */
40923     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[0].node), (yylsp[-1])); }
40924 #line 40925 "gram.c" /* yacc.c:1652  */
40925     break;
40926 
40927   case 1727:
40928 #line 11867 "gram.y" /* yacc.c:1652  */
40929     { (yyval.node) = doNegate((yyvsp[0].node), (yylsp[-1])); }
40930 #line 40931 "gram.c" /* yacc.c:1652  */
40931     break;
40932 
40933   case 1728:
40934 #line 11871 "gram.y" /* yacc.c:1652  */
40935     { (yyval.node) = makeIntConst((yyvsp[0].ival),(yylsp[0])); }
40936 #line 40937 "gram.c" /* yacc.c:1652  */
40937     break;
40938 
40939   case 1729:
40940 #line 11872 "gram.y" /* yacc.c:1652  */
40941     { (yyval.node) = makeFloatConst((yyvsp[0].str),(yylsp[0])); }
40942 #line 40943 "gram.c" /* yacc.c:1652  */
40943     break;
40944 
40945   case 1730:
40946 #line 11876 "gram.y" /* yacc.c:1652  */
40947     { (yyval.ival) = 0; }
40948 #line 40949 "gram.c" /* yacc.c:1652  */
40949     break;
40950 
40951   case 1731:
40952 #line 11877 "gram.y" /* yacc.c:1652  */
40953     { (yyval.ival) = 0; }
40954 #line 40955 "gram.c" /* yacc.c:1652  */
40955     break;
40956 
40957   case 1732:
40958 #line 11880 "gram.y" /* yacc.c:1652  */
40959     { (yyval.ival) = 0; }
40960 #line 40961 "gram.c" /* yacc.c:1652  */
40961     break;
40962 
40963   case 1733:
40964 #line 11881 "gram.y" /* yacc.c:1652  */
40965     { (yyval.ival) = 0; }
40966 #line 40967 "gram.c" /* yacc.c:1652  */
40967     break;
40968 
40969   case 1734:
40970 #line 11906 "gram.y" /* yacc.c:1652  */
40971     { (yyval.list) = (yyvsp[0].list); }
40972 #line 40973 "gram.c" /* yacc.c:1652  */
40973     break;
40974 
40975   case 1735:
40976 #line 11907 "gram.y" /* yacc.c:1652  */
40977     { (yyval.list) = NIL; }
40978 #line 40979 "gram.c" /* yacc.c:1652  */
40979     break;
40980 
40981   case 1736:
40982 #line 11911 "gram.y" /* yacc.c:1652  */
40983     { (yyval.list) = list_make1((yyvsp[0].node)); }
40984 #line 40985 "gram.c" /* yacc.c:1652  */
40985     break;
40986 
40987   case 1737:
40988 #line 11912 "gram.y" /* yacc.c:1652  */
40989     { (yyval.list) = lappend((yyvsp[-2].list),(yyvsp[0].node)); }
40990 #line 40991 "gram.c" /* yacc.c:1652  */
40991     break;
40992 
40993   case 1738:
40994 #line 11916 "gram.y" /* yacc.c:1652  */
40995     { (yyval.node) = (yyvsp[0].node); }
40996 #line 40997 "gram.c" /* yacc.c:1652  */
40997     break;
40998 
40999   case 1739:
41000 #line 11917 "gram.y" /* yacc.c:1652  */
41001     { (yyval.node) = (yyvsp[0].node); }
41002 #line 41003 "gram.c" /* yacc.c:1652  */
41003     break;
41004 
41005   case 1740:
41006 #line 11918 "gram.y" /* yacc.c:1652  */
41007     { (yyval.node) = (yyvsp[0].node); }
41008 #line 41009 "gram.c" /* yacc.c:1652  */
41009     break;
41010 
41011   case 1741:
41012 #line 11919 "gram.y" /* yacc.c:1652  */
41013     { (yyval.node) = (yyvsp[0].node); }
41014 #line 41015 "gram.c" /* yacc.c:1652  */
41015     break;
41016 
41017   case 1742:
41018 #line 11920 "gram.y" /* yacc.c:1652  */
41019     { (yyval.node) = (yyvsp[0].node); }
41020 #line 41021 "gram.c" /* yacc.c:1652  */
41021     break;
41022 
41023   case 1743:
41024 #line 11925 "gram.y" /* yacc.c:1652  */
41025     {
41026 					(yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_EMPTY, NIL, (yylsp[-1]));
41027 				}
41028 #line 41029 "gram.c" /* yacc.c:1652  */
41029     break;
41030 
41031   case 1744:
41032 #line 11938 "gram.y" /* yacc.c:1652  */
41033     {
41034 					(yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_ROLLUP, (yyvsp[-1].list), (yylsp[-3]));
41035 				}
41036 #line 41037 "gram.c" /* yacc.c:1652  */
41037     break;
41038 
41039   case 1745:
41040 #line 11945 "gram.y" /* yacc.c:1652  */
41041     {
41042 					(yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_CUBE, (yyvsp[-1].list), (yylsp[-3]));
41043 				}
41044 #line 41045 "gram.c" /* yacc.c:1652  */
41045     break;
41046 
41047   case 1746:
41048 #line 11952 "gram.y" /* yacc.c:1652  */
41049     {
41050 					(yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_SETS, (yyvsp[-1].list), (yylsp[-4]));
41051 				}
41052 #line 41053 "gram.c" /* yacc.c:1652  */
41053     break;
41054 
41055   case 1747:
41056 #line 11958 "gram.y" /* yacc.c:1652  */
41057     { (yyval.node) = (yyvsp[0].node); }
41058 #line 41059 "gram.c" /* yacc.c:1652  */
41059     break;
41060 
41061   case 1748:
41062 #line 11959 "gram.y" /* yacc.c:1652  */
41063     { (yyval.node) = NULL; }
41064 #line 41065 "gram.c" /* yacc.c:1652  */
41065     break;
41066 
41067   case 1749:
41068 #line 11963 "gram.y" /* yacc.c:1652  */
41069     { (yyval.list) = (yyvsp[0].list); }
41070 #line 41071 "gram.c" /* yacc.c:1652  */
41071     break;
41072 
41073   case 1750:
41074 #line 11964 "gram.y" /* yacc.c:1652  */
41075     { (yyval.list) = NIL; }
41076 #line 41077 "gram.c" /* yacc.c:1652  */
41077     break;
41078 
41079   case 1751:
41080 #line 11968 "gram.y" /* yacc.c:1652  */
41081     { (yyval.list) = (yyvsp[0].list); }
41082 #line 41083 "gram.c" /* yacc.c:1652  */
41083     break;
41084 
41085   case 1752:
41086 #line 11969 "gram.y" /* yacc.c:1652  */
41087     { (yyval.list) = NIL; }
41088 #line 41089 "gram.c" /* yacc.c:1652  */
41089     break;
41090 
41091   case 1753:
41092 #line 11973 "gram.y" /* yacc.c:1652  */
41093     { (yyval.list) = list_make1((yyvsp[0].node)); }
41094 #line 41095 "gram.c" /* yacc.c:1652  */
41095     break;
41096 
41097   case 1754:
41098 #line 11974 "gram.y" /* yacc.c:1652  */
41099     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
41100 #line 41101 "gram.c" /* yacc.c:1652  */
41101     break;
41102 
41103   case 1755:
41104 #line 11979 "gram.y" /* yacc.c:1652  */
41105     {
41106 					LockingClause *n = makeNode(LockingClause);
41107 					n->lockedRels = (yyvsp[-1].list);
41108 					n->strength = (yyvsp[-2].ival);
41109 					n->waitPolicy = (yyvsp[0].ival);
41110 					(yyval.node) = (Node *) n;
41111 				}
41112 #line 41113 "gram.c" /* yacc.c:1652  */
41113     break;
41114 
41115   case 1756:
41116 #line 11989 "gram.y" /* yacc.c:1652  */
41117     { (yyval.ival) = LCS_FORUPDATE; }
41118 #line 41119 "gram.c" /* yacc.c:1652  */
41119     break;
41120 
41121   case 1757:
41122 #line 11990 "gram.y" /* yacc.c:1652  */
41123     { (yyval.ival) = LCS_FORNOKEYUPDATE; }
41124 #line 41125 "gram.c" /* yacc.c:1652  */
41125     break;
41126 
41127   case 1758:
41128 #line 11991 "gram.y" /* yacc.c:1652  */
41129     { (yyval.ival) = LCS_FORSHARE; }
41130 #line 41131 "gram.c" /* yacc.c:1652  */
41131     break;
41132 
41133   case 1759:
41134 #line 11992 "gram.y" /* yacc.c:1652  */
41135     { (yyval.ival) = LCS_FORKEYSHARE; }
41136 #line 41137 "gram.c" /* yacc.c:1652  */
41137     break;
41138 
41139   case 1760:
41140 #line 11996 "gram.y" /* yacc.c:1652  */
41141     { (yyval.list) = (yyvsp[0].list); }
41142 #line 41143 "gram.c" /* yacc.c:1652  */
41143     break;
41144 
41145   case 1761:
41146 #line 11997 "gram.y" /* yacc.c:1652  */
41147     { (yyval.list) = NIL; }
41148 #line 41149 "gram.c" /* yacc.c:1652  */
41149     break;
41150 
41151   case 1762:
41152 #line 12008 "gram.y" /* yacc.c:1652  */
41153     {
41154 					SelectStmt *n = makeNode(SelectStmt);
41155 					n->valuesLists = list_make1((yyvsp[-1].list));
41156 					(yyval.node) = (Node *) n;
41157 				}
41158 #line 41159 "gram.c" /* yacc.c:1652  */
41159     break;
41160 
41161   case 1763:
41162 #line 12014 "gram.y" /* yacc.c:1652  */
41163     {
41164 					SelectStmt *n = (SelectStmt *) (yyvsp[-4].node);
41165 					n->valuesLists = lappend(n->valuesLists, (yyvsp[-1].list));
41166 					(yyval.node) = (Node *) n;
41167 				}
41168 #line 41169 "gram.c" /* yacc.c:1652  */
41169     break;
41170 
41171   case 1764:
41172 #line 12031 "gram.y" /* yacc.c:1652  */
41173     { (yyval.list) = (yyvsp[0].list); }
41174 #line 41175 "gram.c" /* yacc.c:1652  */
41175     break;
41176 
41177   case 1765:
41178 #line 12032 "gram.y" /* yacc.c:1652  */
41179     { (yyval.list) = NIL; }
41180 #line 41181 "gram.c" /* yacc.c:1652  */
41181     break;
41182 
41183   case 1766:
41184 #line 12036 "gram.y" /* yacc.c:1652  */
41185     { (yyval.list) = list_make1((yyvsp[0].node)); }
41186 #line 41187 "gram.c" /* yacc.c:1652  */
41187     break;
41188 
41189   case 1767:
41190 #line 12037 "gram.y" /* yacc.c:1652  */
41191     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
41192 #line 41193 "gram.c" /* yacc.c:1652  */
41193     break;
41194 
41195   case 1768:
41196 #line 12044 "gram.y" /* yacc.c:1652  */
41197     {
41198 					(yyvsp[-1].range)->alias = (yyvsp[0].alias);
41199 					(yyval.node) = (Node *) (yyvsp[-1].range);
41200 				}
41201 #line 41202 "gram.c" /* yacc.c:1652  */
41202     break;
41203 
41204   case 1769:
41205 #line 12049 "gram.y" /* yacc.c:1652  */
41206     {
41207 					RangeTableSample *n = (RangeTableSample *) (yyvsp[0].node);
41208 					(yyvsp[-2].range)->alias = (yyvsp[-1].alias);
41209 					/* relation_expr goes inside the RangeTableSample node */
41210 					n->relation = (Node *) (yyvsp[-2].range);
41211 					(yyval.node) = (Node *) n;
41212 				}
41213 #line 41214 "gram.c" /* yacc.c:1652  */
41214     break;
41215 
41216   case 1770:
41217 #line 12057 "gram.y" /* yacc.c:1652  */
41218     {
41219 					RangeFunction *n = (RangeFunction *) (yyvsp[-1].node);
41220 					n->alias = linitial((yyvsp[0].list));
41221 					n->coldeflist = lsecond((yyvsp[0].list));
41222 					(yyval.node) = (Node *) n;
41223 				}
41224 #line 41225 "gram.c" /* yacc.c:1652  */
41225     break;
41226 
41227   case 1771:
41228 #line 12064 "gram.y" /* yacc.c:1652  */
41229     {
41230 					RangeFunction *n = (RangeFunction *) (yyvsp[-1].node);
41231 					n->lateral = true;
41232 					n->alias = linitial((yyvsp[0].list));
41233 					n->coldeflist = lsecond((yyvsp[0].list));
41234 					(yyval.node) = (Node *) n;
41235 				}
41236 #line 41237 "gram.c" /* yacc.c:1652  */
41237     break;
41238 
41239   case 1772:
41240 #line 12072 "gram.y" /* yacc.c:1652  */
41241     {
41242 					RangeTableFunc *n = (RangeTableFunc *) (yyvsp[-1].node);
41243 					n->alias = (yyvsp[0].alias);
41244 					(yyval.node) = (Node *) n;
41245 				}
41246 #line 41247 "gram.c" /* yacc.c:1652  */
41247     break;
41248 
41249   case 1773:
41250 #line 12078 "gram.y" /* yacc.c:1652  */
41251     {
41252 					RangeTableFunc *n = (RangeTableFunc *) (yyvsp[-1].node);
41253 					n->lateral = true;
41254 					n->alias = (yyvsp[0].alias);
41255 					(yyval.node) = (Node *) n;
41256 				}
41257 #line 41258 "gram.c" /* yacc.c:1652  */
41258     break;
41259 
41260   case 1774:
41261 #line 12085 "gram.y" /* yacc.c:1652  */
41262     {
41263 					RangeSubselect *n = makeNode(RangeSubselect);
41264 					n->lateral = false;
41265 					n->subquery = (yyvsp[-1].node);
41266 					n->alias = (yyvsp[0].alias);
41267 					/*
41268 					 * The SQL spec does not permit a subselect
41269 					 * (<derived_table>) without an alias clause,
41270 					 * so we don't either.  This avoids the problem
41271 					 * of needing to invent a unique refname for it.
41272 					 * That could be surmounted if there's sufficient
41273 					 * popular demand, but for now let's just implement
41274 					 * the spec and see if anyone complains.
41275 					 * However, it does seem like a good idea to emit
41276 					 * an error message that's better than "syntax error".
41277 					 */
41278 					if ((yyvsp[0].alias) == NULL)
41279 					{
41280 						if (IsA((yyvsp[-1].node), SelectStmt) &&
41281 							((SelectStmt *) (yyvsp[-1].node))->valuesLists)
41282 							ereport(ERROR,
41283 									(errcode(ERRCODE_SYNTAX_ERROR),
41284 									 errmsg("VALUES in FROM must have an alias"),
41285 									 errhint("For example, FROM (VALUES ...) [AS] foo."),
41286 									 parser_errposition((yylsp[-1]))));
41287 						else
41288 							ereport(ERROR,
41289 									(errcode(ERRCODE_SYNTAX_ERROR),
41290 									 errmsg("subquery in FROM must have an alias"),
41291 									 errhint("For example, FROM (SELECT ...) [AS] foo."),
41292 									 parser_errposition((yylsp[-1]))));
41293 					}
41294 					(yyval.node) = (Node *) n;
41295 				}
41296 #line 41297 "gram.c" /* yacc.c:1652  */
41297     break;
41298 
41299   case 1775:
41300 #line 12120 "gram.y" /* yacc.c:1652  */
41301     {
41302 					RangeSubselect *n = makeNode(RangeSubselect);
41303 					n->lateral = true;
41304 					n->subquery = (yyvsp[-1].node);
41305 					n->alias = (yyvsp[0].alias);
41306 					/* same comment as above */
41307 					if ((yyvsp[0].alias) == NULL)
41308 					{
41309 						if (IsA((yyvsp[-1].node), SelectStmt) &&
41310 							((SelectStmt *) (yyvsp[-1].node))->valuesLists)
41311 							ereport(ERROR,
41312 									(errcode(ERRCODE_SYNTAX_ERROR),
41313 									 errmsg("VALUES in FROM must have an alias"),
41314 									 errhint("For example, FROM (VALUES ...) [AS] foo."),
41315 									 parser_errposition((yylsp[-1]))));
41316 						else
41317 							ereport(ERROR,
41318 									(errcode(ERRCODE_SYNTAX_ERROR),
41319 									 errmsg("subquery in FROM must have an alias"),
41320 									 errhint("For example, FROM (SELECT ...) [AS] foo."),
41321 									 parser_errposition((yylsp[-1]))));
41322 					}
41323 					(yyval.node) = (Node *) n;
41324 				}
41325 #line 41326 "gram.c" /* yacc.c:1652  */
41326     break;
41327 
41328   case 1776:
41329 #line 12145 "gram.y" /* yacc.c:1652  */
41330     {
41331 					(yyval.node) = (Node *) (yyvsp[0].jexpr);
41332 				}
41333 #line 41334 "gram.c" /* yacc.c:1652  */
41334     break;
41335 
41336   case 1777:
41337 #line 12149 "gram.y" /* yacc.c:1652  */
41338     {
41339 					(yyvsp[-2].jexpr)->alias = (yyvsp[0].alias);
41340 					(yyval.node) = (Node *) (yyvsp[-2].jexpr);
41341 				}
41342 #line 41343 "gram.c" /* yacc.c:1652  */
41343     break;
41344 
41345   case 1778:
41346 #line 12175 "gram.y" /* yacc.c:1652  */
41347     {
41348 					(yyval.jexpr) = (yyvsp[-1].jexpr);
41349 				}
41350 #line 41351 "gram.c" /* yacc.c:1652  */
41351     break;
41352 
41353   case 1779:
41354 #line 12179 "gram.y" /* yacc.c:1652  */
41355     {
41356 					/* CROSS JOIN is same as unqualified inner join */
41357 					JoinExpr *n = makeNode(JoinExpr);
41358 					n->jointype = JOIN_INNER;
41359 					n->isNatural = false;
41360 					n->larg = (yyvsp[-3].node);
41361 					n->rarg = (yyvsp[0].node);
41362 					n->usingClause = NIL;
41363 					n->quals = NULL;
41364 					(yyval.jexpr) = n;
41365 				}
41366 #line 41367 "gram.c" /* yacc.c:1652  */
41367     break;
41368 
41369   case 1780:
41370 #line 12191 "gram.y" /* yacc.c:1652  */
41371     {
41372 					JoinExpr *n = makeNode(JoinExpr);
41373 					n->jointype = (yyvsp[-3].jtype);
41374 					n->isNatural = false;
41375 					n->larg = (yyvsp[-4].node);
41376 					n->rarg = (yyvsp[-1].node);
41377 					if ((yyvsp[0].node) != NULL && IsA((yyvsp[0].node), List))
41378 						n->usingClause = (List *) (yyvsp[0].node); /* USING clause */
41379 					else
41380 						n->quals = (yyvsp[0].node); /* ON clause */
41381 					(yyval.jexpr) = n;
41382 				}
41383 #line 41384 "gram.c" /* yacc.c:1652  */
41384     break;
41385 
41386   case 1781:
41387 #line 12204 "gram.y" /* yacc.c:1652  */
41388     {
41389 					/* letting join_type reduce to empty doesn't work */
41390 					JoinExpr *n = makeNode(JoinExpr);
41391 					n->jointype = JOIN_INNER;
41392 					n->isNatural = false;
41393 					n->larg = (yyvsp[-3].node);
41394 					n->rarg = (yyvsp[-1].node);
41395 					if ((yyvsp[0].node) != NULL && IsA((yyvsp[0].node), List))
41396 						n->usingClause = (List *) (yyvsp[0].node); /* USING clause */
41397 					else
41398 						n->quals = (yyvsp[0].node); /* ON clause */
41399 					(yyval.jexpr) = n;
41400 				}
41401 #line 41402 "gram.c" /* yacc.c:1652  */
41402     break;
41403 
41404   case 1782:
41405 #line 12218 "gram.y" /* yacc.c:1652  */
41406     {
41407 					JoinExpr *n = makeNode(JoinExpr);
41408 					n->jointype = (yyvsp[-2].jtype);
41409 					n->isNatural = true;
41410 					n->larg = (yyvsp[-4].node);
41411 					n->rarg = (yyvsp[0].node);
41412 					n->usingClause = NIL; /* figure out which columns later... */
41413 					n->quals = NULL; /* fill later */
41414 					(yyval.jexpr) = n;
41415 				}
41416 #line 41417 "gram.c" /* yacc.c:1652  */
41417     break;
41418 
41419   case 1783:
41420 #line 12229 "gram.y" /* yacc.c:1652  */
41421     {
41422 					/* letting join_type reduce to empty doesn't work */
41423 					JoinExpr *n = makeNode(JoinExpr);
41424 					n->jointype = JOIN_INNER;
41425 					n->isNatural = true;
41426 					n->larg = (yyvsp[-3].node);
41427 					n->rarg = (yyvsp[0].node);
41428 					n->usingClause = NIL; /* figure out which columns later... */
41429 					n->quals = NULL; /* fill later */
41430 					(yyval.jexpr) = n;
41431 				}
41432 #line 41433 "gram.c" /* yacc.c:1652  */
41433     break;
41434 
41435   case 1784:
41436 #line 12244 "gram.y" /* yacc.c:1652  */
41437     {
41438 					(yyval.alias) = makeNode(Alias);
41439 					(yyval.alias)->aliasname = (yyvsp[-3].str);
41440 					(yyval.alias)->colnames = (yyvsp[-1].list);
41441 				}
41442 #line 41443 "gram.c" /* yacc.c:1652  */
41443     break;
41444 
41445   case 1785:
41446 #line 12250 "gram.y" /* yacc.c:1652  */
41447     {
41448 					(yyval.alias) = makeNode(Alias);
41449 					(yyval.alias)->aliasname = (yyvsp[0].str);
41450 				}
41451 #line 41452 "gram.c" /* yacc.c:1652  */
41452     break;
41453 
41454   case 1786:
41455 #line 12255 "gram.y" /* yacc.c:1652  */
41456     {
41457 					(yyval.alias) = makeNode(Alias);
41458 					(yyval.alias)->aliasname = (yyvsp[-3].str);
41459 					(yyval.alias)->colnames = (yyvsp[-1].list);
41460 				}
41461 #line 41462 "gram.c" /* yacc.c:1652  */
41462     break;
41463 
41464   case 1787:
41465 #line 12261 "gram.y" /* yacc.c:1652  */
41466     {
41467 					(yyval.alias) = makeNode(Alias);
41468 					(yyval.alias)->aliasname = (yyvsp[0].str);
41469 				}
41470 #line 41471 "gram.c" /* yacc.c:1652  */
41471     break;
41472 
41473   case 1788:
41474 #line 12267 "gram.y" /* yacc.c:1652  */
41475     { (yyval.alias) = (yyvsp[0].alias); }
41476 #line 41477 "gram.c" /* yacc.c:1652  */
41477     break;
41478 
41479   case 1789:
41480 #line 12268 "gram.y" /* yacc.c:1652  */
41481     { (yyval.alias) = NULL; }
41482 #line 41483 "gram.c" /* yacc.c:1652  */
41483     break;
41484 
41485   case 1790:
41486 #line 12277 "gram.y" /* yacc.c:1652  */
41487     {
41488 					(yyval.list) = list_make2((yyvsp[0].alias), NIL);
41489 				}
41490 #line 41491 "gram.c" /* yacc.c:1652  */
41491     break;
41492 
41493   case 1791:
41494 #line 12281 "gram.y" /* yacc.c:1652  */
41495     {
41496 					(yyval.list) = list_make2(NULL, (yyvsp[-1].list));
41497 				}
41498 #line 41499 "gram.c" /* yacc.c:1652  */
41499     break;
41500 
41501   case 1792:
41502 #line 12285 "gram.y" /* yacc.c:1652  */
41503     {
41504 					Alias *a = makeNode(Alias);
41505 					a->aliasname = (yyvsp[-3].str);
41506 					(yyval.list) = list_make2(a, (yyvsp[-1].list));
41507 				}
41508 #line 41509 "gram.c" /* yacc.c:1652  */
41509     break;
41510 
41511   case 1793:
41512 #line 12291 "gram.y" /* yacc.c:1652  */
41513     {
41514 					Alias *a = makeNode(Alias);
41515 					a->aliasname = (yyvsp[-3].str);
41516 					(yyval.list) = list_make2(a, (yyvsp[-1].list));
41517 				}
41518 #line 41519 "gram.c" /* yacc.c:1652  */
41519     break;
41520 
41521   case 1794:
41522 #line 12297 "gram.y" /* yacc.c:1652  */
41523     {
41524 					(yyval.list) = list_make2(NULL, NIL);
41525 				}
41526 #line 41527 "gram.c" /* yacc.c:1652  */
41527     break;
41528 
41529   case 1795:
41530 #line 12302 "gram.y" /* yacc.c:1652  */
41531     { (yyval.jtype) = JOIN_FULL; }
41532 #line 41533 "gram.c" /* yacc.c:1652  */
41533     break;
41534 
41535   case 1796:
41536 #line 12303 "gram.y" /* yacc.c:1652  */
41537     { (yyval.jtype) = JOIN_LEFT; }
41538 #line 41539 "gram.c" /* yacc.c:1652  */
41539     break;
41540 
41541   case 1797:
41542 #line 12304 "gram.y" /* yacc.c:1652  */
41543     { (yyval.jtype) = JOIN_RIGHT; }
41544 #line 41545 "gram.c" /* yacc.c:1652  */
41545     break;
41546 
41547   case 1798:
41548 #line 12305 "gram.y" /* yacc.c:1652  */
41549     { (yyval.jtype) = JOIN_INNER; }
41550 #line 41551 "gram.c" /* yacc.c:1652  */
41551     break;
41552 
41553   case 1799:
41554 #line 12309 "gram.y" /* yacc.c:1652  */
41555     { (yyval.node) = NULL; }
41556 #line 41557 "gram.c" /* yacc.c:1652  */
41557     break;
41558 
41559   case 1800:
41560 #line 12310 "gram.y" /* yacc.c:1652  */
41561     { (yyval.node) = NULL; }
41562 #line 41563 "gram.c" /* yacc.c:1652  */
41563     break;
41564 
41565   case 1801:
41566 #line 12322 "gram.y" /* yacc.c:1652  */
41567     { (yyval.node) = (Node *) (yyvsp[-1].list); }
41568 #line 41569 "gram.c" /* yacc.c:1652  */
41569     break;
41570 
41571   case 1802:
41572 #line 12323 "gram.y" /* yacc.c:1652  */
41573     { (yyval.node) = (yyvsp[0].node); }
41574 #line 41575 "gram.c" /* yacc.c:1652  */
41575     break;
41576 
41577   case 1803:
41578 #line 12329 "gram.y" /* yacc.c:1652  */
41579     {
41580 					/* inheritance query, implicitly */
41581 					(yyval.range) = (yyvsp[0].range);
41582 					(yyval.range)->inh = true;
41583 					(yyval.range)->alias = NULL;
41584 				}
41585 #line 41586 "gram.c" /* yacc.c:1652  */
41586     break;
41587 
41588   case 1804:
41589 #line 12336 "gram.y" /* yacc.c:1652  */
41590     {
41591 					/* inheritance query, explicitly */
41592 					(yyval.range) = (yyvsp[-1].range);
41593 					(yyval.range)->inh = true;
41594 					(yyval.range)->alias = NULL;
41595 				}
41596 #line 41597 "gram.c" /* yacc.c:1652  */
41597     break;
41598 
41599   case 1805:
41600 #line 12343 "gram.y" /* yacc.c:1652  */
41601     {
41602 					/* no inheritance */
41603 					(yyval.range) = (yyvsp[0].range);
41604 					(yyval.range)->inh = false;
41605 					(yyval.range)->alias = NULL;
41606 				}
41607 #line 41608 "gram.c" /* yacc.c:1652  */
41608     break;
41609 
41610   case 1806:
41611 #line 12350 "gram.y" /* yacc.c:1652  */
41612     {
41613 					/* no inheritance, SQL99-style syntax */
41614 					(yyval.range) = (yyvsp[-1].range);
41615 					(yyval.range)->inh = false;
41616 					(yyval.range)->alias = NULL;
41617 				}
41618 #line 41619 "gram.c" /* yacc.c:1652  */
41619     break;
41620 
41621   case 1807:
41622 #line 12360 "gram.y" /* yacc.c:1652  */
41623     { (yyval.list) = list_make1((yyvsp[0].range)); }
41624 #line 41625 "gram.c" /* yacc.c:1652  */
41625     break;
41626 
41627   case 1808:
41628 #line 12361 "gram.y" /* yacc.c:1652  */
41629     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].range)); }
41630 #line 41631 "gram.c" /* yacc.c:1652  */
41631     break;
41632 
41633   case 1809:
41634 #line 12375 "gram.y" /* yacc.c:1652  */
41635     {
41636 					(yyval.range) = (yyvsp[0].range);
41637 				}
41638 #line 41639 "gram.c" /* yacc.c:1652  */
41639     break;
41640 
41641   case 1810:
41642 #line 12379 "gram.y" /* yacc.c:1652  */
41643     {
41644 					Alias *alias = makeNode(Alias);
41645 					alias->aliasname = (yyvsp[0].str);
41646 					(yyvsp[-1].range)->alias = alias;
41647 					(yyval.range) = (yyvsp[-1].range);
41648 				}
41649 #line 41650 "gram.c" /* yacc.c:1652  */
41650     break;
41651 
41652   case 1811:
41653 #line 12386 "gram.y" /* yacc.c:1652  */
41654     {
41655 					Alias *alias = makeNode(Alias);
41656 					alias->aliasname = (yyvsp[0].str);
41657 					(yyvsp[-2].range)->alias = alias;
41658 					(yyval.range) = (yyvsp[-2].range);
41659 				}
41660 #line 41661 "gram.c" /* yacc.c:1652  */
41661     break;
41662 
41663   case 1812:
41664 #line 12399 "gram.y" /* yacc.c:1652  */
41665     {
41666 					RangeTableSample *n = makeNode(RangeTableSample);
41667 					/* n->relation will be filled in later */
41668 					n->method = (yyvsp[-4].list);
41669 					n->args = (yyvsp[-2].list);
41670 					n->repeatable = (yyvsp[0].node);
41671 					n->location = (yylsp[-4]);
41672 					(yyval.node) = (Node *) n;
41673 				}
41674 #line 41675 "gram.c" /* yacc.c:1652  */
41675     break;
41676 
41677   case 1813:
41678 #line 12411 "gram.y" /* yacc.c:1652  */
41679     { (yyval.node) = (Node *) (yyvsp[-1].node); }
41680 #line 41681 "gram.c" /* yacc.c:1652  */
41681     break;
41682 
41683   case 1814:
41684 #line 12412 "gram.y" /* yacc.c:1652  */
41685     { (yyval.node) = NULL; }
41686 #line 41687 "gram.c" /* yacc.c:1652  */
41687     break;
41688 
41689   case 1815:
41690 #line 12428 "gram.y" /* yacc.c:1652  */
41691     {
41692 					RangeFunction *n = makeNode(RangeFunction);
41693 					n->lateral = false;
41694 					n->ordinality = (yyvsp[0].boolean);
41695 					n->is_rowsfrom = false;
41696 					n->functions = list_make1(list_make2((yyvsp[-1].node), NIL));
41697 					/* alias and coldeflist are set by table_ref production */
41698 					(yyval.node) = (Node *) n;
41699 				}
41700 #line 41701 "gram.c" /* yacc.c:1652  */
41701     break;
41702 
41703   case 1816:
41704 #line 12438 "gram.y" /* yacc.c:1652  */
41705     {
41706 					RangeFunction *n = makeNode(RangeFunction);
41707 					n->lateral = false;
41708 					n->ordinality = (yyvsp[0].boolean);
41709 					n->is_rowsfrom = true;
41710 					n->functions = (yyvsp[-2].list);
41711 					/* alias and coldeflist are set by table_ref production */
41712 					(yyval.node) = (Node *) n;
41713 				}
41714 #line 41715 "gram.c" /* yacc.c:1652  */
41715     break;
41716 
41717   case 1817:
41718 #line 12450 "gram.y" /* yacc.c:1652  */
41719     { (yyval.list) = list_make2((yyvsp[-1].node), (yyvsp[0].list)); }
41720 #line 41721 "gram.c" /* yacc.c:1652  */
41721     break;
41722 
41723   case 1818:
41724 #line 12454 "gram.y" /* yacc.c:1652  */
41725     { (yyval.list) = list_make1((yyvsp[0].list)); }
41726 #line 41727 "gram.c" /* yacc.c:1652  */
41727     break;
41728 
41729   case 1819:
41730 #line 12455 "gram.y" /* yacc.c:1652  */
41731     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].list)); }
41732 #line 41733 "gram.c" /* yacc.c:1652  */
41733     break;
41734 
41735   case 1820:
41736 #line 12458 "gram.y" /* yacc.c:1652  */
41737     { (yyval.list) = (yyvsp[-1].list); }
41738 #line 41739 "gram.c" /* yacc.c:1652  */
41739     break;
41740 
41741   case 1821:
41742 #line 12459 "gram.y" /* yacc.c:1652  */
41743     { (yyval.list) = NIL; }
41744 #line 41745 "gram.c" /* yacc.c:1652  */
41745     break;
41746 
41747   case 1822:
41748 #line 12462 "gram.y" /* yacc.c:1652  */
41749     { (yyval.boolean) = true; }
41750 #line 41751 "gram.c" /* yacc.c:1652  */
41751     break;
41752 
41753   case 1823:
41754 #line 12463 "gram.y" /* yacc.c:1652  */
41755     { (yyval.boolean) = false; }
41756 #line 41757 "gram.c" /* yacc.c:1652  */
41757     break;
41758 
41759   case 1824:
41760 #line 12468 "gram.y" /* yacc.c:1652  */
41761     { (yyval.node) = (yyvsp[0].node); }
41762 #line 41763 "gram.c" /* yacc.c:1652  */
41763     break;
41764 
41765   case 1825:
41766 #line 12469 "gram.y" /* yacc.c:1652  */
41767     { (yyval.node) = NULL; }
41768 #line 41769 "gram.c" /* yacc.c:1652  */
41769     break;
41770 
41771   case 1826:
41772 #line 12474 "gram.y" /* yacc.c:1652  */
41773     { (yyval.node) = (yyvsp[0].node); }
41774 #line 41775 "gram.c" /* yacc.c:1652  */
41775     break;
41776 
41777   case 1827:
41778 #line 12476 "gram.y" /* yacc.c:1652  */
41779     {
41780 					CurrentOfExpr *n = makeNode(CurrentOfExpr);
41781 					/* cvarno is filled in by parse analysis */
41782 					n->cursor_name = (yyvsp[0].str);
41783 					n->cursor_param = 0;
41784 					(yyval.node) = (Node *) n;
41785 				}
41786 #line 41787 "gram.c" /* yacc.c:1652  */
41787     break;
41788 
41789   case 1828:
41790 #line 12483 "gram.y" /* yacc.c:1652  */
41791     { (yyval.node) = NULL; }
41792 #line 41793 "gram.c" /* yacc.c:1652  */
41793     break;
41794 
41795   case 1829:
41796 #line 12488 "gram.y" /* yacc.c:1652  */
41797     { (yyval.list) = (yyvsp[0].list); }
41798 #line 41799 "gram.c" /* yacc.c:1652  */
41799     break;
41800 
41801   case 1830:
41802 #line 12489 "gram.y" /* yacc.c:1652  */
41803     { (yyval.list) = NIL; }
41804 #line 41805 "gram.c" /* yacc.c:1652  */
41805     break;
41806 
41807   case 1831:
41808 #line 12494 "gram.y" /* yacc.c:1652  */
41809     {
41810 					(yyval.list) = list_make1((yyvsp[0].node));
41811 				}
41812 #line 41813 "gram.c" /* yacc.c:1652  */
41813     break;
41814 
41815   case 1832:
41816 #line 12498 "gram.y" /* yacc.c:1652  */
41817     {
41818 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
41819 				}
41820 #line 41821 "gram.c" /* yacc.c:1652  */
41821     break;
41822 
41823   case 1833:
41824 #line 12504 "gram.y" /* yacc.c:1652  */
41825     {
41826 					ColumnDef *n = makeNode(ColumnDef);
41827 					n->colname = (yyvsp[-2].str);
41828 					n->typeName = (yyvsp[-1].typnam);
41829 					n->inhcount = 0;
41830 					n->is_local = true;
41831 					n->is_not_null = false;
41832 					n->is_from_type = false;
41833 					n->storage = 0;
41834 					n->raw_default = NULL;
41835 					n->cooked_default = NULL;
41836 					n->collClause = (CollateClause *) (yyvsp[0].node);
41837 					n->collOid = InvalidOid;
41838 					n->constraints = NIL;
41839 					n->location = (yylsp[-2]);
41840 					(yyval.node) = (Node *)n;
41841 				}
41842 #line 41843 "gram.c" /* yacc.c:1652  */
41843     break;
41844 
41845   case 1834:
41846 #line 12528 "gram.y" /* yacc.c:1652  */
41847     {
41848 					RangeTableFunc *n = makeNode(RangeTableFunc);
41849 					n->rowexpr = (yyvsp[-4].node);
41850 					n->docexpr = (yyvsp[-3].node);
41851 					n->columns = (yyvsp[-1].list);
41852 					n->namespaces = NIL;
41853 					n->location = (yylsp[-6]);
41854 					(yyval.node) = (Node *)n;
41855 				}
41856 #line 41857 "gram.c" /* yacc.c:1652  */
41857     break;
41858 
41859   case 1835:
41860 #line 12539 "gram.y" /* yacc.c:1652  */
41861     {
41862 					RangeTableFunc *n = makeNode(RangeTableFunc);
41863 					n->rowexpr = (yyvsp[-4].node);
41864 					n->docexpr = (yyvsp[-3].node);
41865 					n->columns = (yyvsp[-1].list);
41866 					n->namespaces = (yyvsp[-7].list);
41867 					n->location = (yylsp[-11]);
41868 					(yyval.node) = (Node *)n;
41869 				}
41870 #line 41871 "gram.c" /* yacc.c:1652  */
41871     break;
41872 
41873   case 1836:
41874 #line 12550 "gram.y" /* yacc.c:1652  */
41875     { (yyval.list) = list_make1((yyvsp[0].node)); }
41876 #line 41877 "gram.c" /* yacc.c:1652  */
41877     break;
41878 
41879   case 1837:
41880 #line 12551 "gram.y" /* yacc.c:1652  */
41881     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
41882 #line 41883 "gram.c" /* yacc.c:1652  */
41883     break;
41884 
41885   case 1838:
41886 #line 12556 "gram.y" /* yacc.c:1652  */
41887     {
41888 					RangeTableFuncCol	   *fc = makeNode(RangeTableFuncCol);
41889 
41890 					fc->colname = (yyvsp[-1].str);
41891 					fc->for_ordinality = false;
41892 					fc->typeName = (yyvsp[0].typnam);
41893 					fc->is_not_null = false;
41894 					fc->colexpr = NULL;
41895 					fc->coldefexpr = NULL;
41896 					fc->location = (yylsp[-1]);
41897 
41898 					(yyval.node) = (Node *) fc;
41899 				}
41900 #line 41901 "gram.c" /* yacc.c:1652  */
41901     break;
41902 
41903   case 1839:
41904 #line 12570 "gram.y" /* yacc.c:1652  */
41905     {
41906 					RangeTableFuncCol	   *fc = makeNode(RangeTableFuncCol);
41907 					ListCell		   *option;
41908 					bool				nullability_seen = false;
41909 
41910 					fc->colname = (yyvsp[-2].str);
41911 					fc->typeName = (yyvsp[-1].typnam);
41912 					fc->for_ordinality = false;
41913 					fc->is_not_null = false;
41914 					fc->colexpr = NULL;
41915 					fc->coldefexpr = NULL;
41916 					fc->location = (yylsp[-2]);
41917 
41918 					foreach(option, (yyvsp[0].list))
41919 					{
41920 						DefElem   *defel = (DefElem *) lfirst(option);
41921 
41922 						if (strcmp(defel->defname, "default") == 0)
41923 						{
41924 							if (fc->coldefexpr != NULL)
41925 								ereport(ERROR,
41926 										(errcode(ERRCODE_SYNTAX_ERROR),
41927 										 errmsg("only one DEFAULT value is allowed"),
41928 										 parser_errposition(defel->location)));
41929 							fc->coldefexpr = defel->arg;
41930 						}
41931 						else if (strcmp(defel->defname, "path") == 0)
41932 						{
41933 							if (fc->colexpr != NULL)
41934 								ereport(ERROR,
41935 										(errcode(ERRCODE_SYNTAX_ERROR),
41936 										 errmsg("only one PATH value per column is allowed"),
41937 										 parser_errposition(defel->location)));
41938 							fc->colexpr = defel->arg;
41939 						}
41940 						else if (strcmp(defel->defname, "is_not_null") == 0)
41941 						{
41942 							if (nullability_seen)
41943 								ereport(ERROR,
41944 										(errcode(ERRCODE_SYNTAX_ERROR),
41945 										 errmsg("conflicting or redundant NULL / NOT NULL declarations for column \"%s\"", fc->colname),
41946 										 parser_errposition(defel->location)));
41947 							fc->is_not_null = intVal(defel->arg);
41948 							nullability_seen = true;
41949 						}
41950 						else
41951 						{
41952 							ereport(ERROR,
41953 									(errcode(ERRCODE_SYNTAX_ERROR),
41954 									 errmsg("unrecognized column option \"%s\"",
41955 											defel->defname),
41956 									 parser_errposition(defel->location)));
41957 						}
41958 					}
41959 					(yyval.node) = (Node *) fc;
41960 				}
41961 #line 41962 "gram.c" /* yacc.c:1652  */
41962     break;
41963 
41964   case 1840:
41965 #line 12627 "gram.y" /* yacc.c:1652  */
41966     {
41967 					RangeTableFuncCol	   *fc = makeNode(RangeTableFuncCol);
41968 
41969 					fc->colname = (yyvsp[-2].str);
41970 					fc->for_ordinality = true;
41971 					/* other fields are ignored, initialized by makeNode */
41972 					fc->location = (yylsp[-2]);
41973 
41974 					(yyval.node) = (Node *) fc;
41975 				}
41976 #line 41977 "gram.c" /* yacc.c:1652  */
41977     break;
41978 
41979   case 1841:
41980 #line 12641 "gram.y" /* yacc.c:1652  */
41981     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
41982 #line 41983 "gram.c" /* yacc.c:1652  */
41983     break;
41984 
41985   case 1842:
41986 #line 12643 "gram.y" /* yacc.c:1652  */
41987     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
41988 #line 41989 "gram.c" /* yacc.c:1652  */
41989     break;
41990 
41991   case 1843:
41992 #line 12648 "gram.y" /* yacc.c:1652  */
41993     { (yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1])); }
41994 #line 41995 "gram.c" /* yacc.c:1652  */
41995     break;
41996 
41997   case 1844:
41998 #line 12650 "gram.y" /* yacc.c:1652  */
41999     { (yyval.defelt) = makeDefElem("default", (yyvsp[0].node), (yylsp[-1])); }
42000 #line 42001 "gram.c" /* yacc.c:1652  */
42001     break;
42002 
42003   case 1845:
42004 #line 12652 "gram.y" /* yacc.c:1652  */
42005     { (yyval.defelt) = makeDefElem("is_not_null", (Node *) makeInteger(true), (yylsp[-1])); }
42006 #line 42007 "gram.c" /* yacc.c:1652  */
42007     break;
42008 
42009   case 1846:
42010 #line 12654 "gram.y" /* yacc.c:1652  */
42011     { (yyval.defelt) = makeDefElem("is_not_null", (Node *) makeInteger(false), (yylsp[0])); }
42012 #line 42013 "gram.c" /* yacc.c:1652  */
42013     break;
42014 
42015   case 1847:
42016 #line 12659 "gram.y" /* yacc.c:1652  */
42017     { (yyval.list) = list_make1((yyvsp[0].target)); }
42018 #line 42019 "gram.c" /* yacc.c:1652  */
42019     break;
42020 
42021   case 1848:
42022 #line 12661 "gram.y" /* yacc.c:1652  */
42023     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
42024 #line 42025 "gram.c" /* yacc.c:1652  */
42025     break;
42026 
42027   case 1849:
42028 #line 12666 "gram.y" /* yacc.c:1652  */
42029     {
42030 					(yyval.target) = makeNode(ResTarget);
42031 					(yyval.target)->name = (yyvsp[0].str);
42032 					(yyval.target)->indirection = NIL;
42033 					(yyval.target)->val = (yyvsp[-2].node);
42034 					(yyval.target)->location = (yylsp[-2]);
42035 				}
42036 #line 42037 "gram.c" /* yacc.c:1652  */
42037     break;
42038 
42039   case 1850:
42040 #line 12674 "gram.y" /* yacc.c:1652  */
42041     {
42042 					(yyval.target) = makeNode(ResTarget);
42043 					(yyval.target)->name = NULL;
42044 					(yyval.target)->indirection = NIL;
42045 					(yyval.target)->val = (yyvsp[0].node);
42046 					(yyval.target)->location = (yylsp[-1]);
42047 				}
42048 #line 42049 "gram.c" /* yacc.c:1652  */
42049     break;
42050 
42051   case 1851:
42052 #line 12694 "gram.y" /* yacc.c:1652  */
42053     {
42054 					(yyval.typnam) = (yyvsp[-1].typnam);
42055 					(yyval.typnam)->arrayBounds = (yyvsp[0].list);
42056 				}
42057 #line 42058 "gram.c" /* yacc.c:1652  */
42058     break;
42059 
42060   case 1852:
42061 #line 12699 "gram.y" /* yacc.c:1652  */
42062     {
42063 					(yyval.typnam) = (yyvsp[-1].typnam);
42064 					(yyval.typnam)->arrayBounds = (yyvsp[0].list);
42065 					(yyval.typnam)->setof = true;
42066 				}
42067 #line 42068 "gram.c" /* yacc.c:1652  */
42068     break;
42069 
42070   case 1853:
42071 #line 12706 "gram.y" /* yacc.c:1652  */
42072     {
42073 					(yyval.typnam) = (yyvsp[-4].typnam);
42074 					(yyval.typnam)->arrayBounds = list_make1(makeInteger((yyvsp[-1].ival)));
42075 				}
42076 #line 42077 "gram.c" /* yacc.c:1652  */
42077     break;
42078 
42079   case 1854:
42080 #line 12711 "gram.y" /* yacc.c:1652  */
42081     {
42082 					(yyval.typnam) = (yyvsp[-4].typnam);
42083 					(yyval.typnam)->arrayBounds = list_make1(makeInteger((yyvsp[-1].ival)));
42084 					(yyval.typnam)->setof = true;
42085 				}
42086 #line 42087 "gram.c" /* yacc.c:1652  */
42087     break;
42088 
42089   case 1855:
42090 #line 12717 "gram.y" /* yacc.c:1652  */
42091     {
42092 					(yyval.typnam) = (yyvsp[-1].typnam);
42093 					(yyval.typnam)->arrayBounds = list_make1(makeInteger(-1));
42094 				}
42095 #line 42096 "gram.c" /* yacc.c:1652  */
42096     break;
42097 
42098   case 1856:
42099 #line 12722 "gram.y" /* yacc.c:1652  */
42100     {
42101 					(yyval.typnam) = (yyvsp[-1].typnam);
42102 					(yyval.typnam)->arrayBounds = list_make1(makeInteger(-1));
42103 					(yyval.typnam)->setof = true;
42104 				}
42105 #line 42106 "gram.c" /* yacc.c:1652  */
42106     break;
42107 
42108   case 1857:
42109 #line 12731 "gram.y" /* yacc.c:1652  */
42110     {  (yyval.list) = lappend((yyvsp[-2].list), makeInteger(-1)); }
42111 #line 42112 "gram.c" /* yacc.c:1652  */
42112     break;
42113 
42114   case 1858:
42115 #line 12733 "gram.y" /* yacc.c:1652  */
42116     {  (yyval.list) = lappend((yyvsp[-3].list), makeInteger((yyvsp[-1].ival))); }
42117 #line 42118 "gram.c" /* yacc.c:1652  */
42118     break;
42119 
42120   case 1859:
42121 #line 12735 "gram.y" /* yacc.c:1652  */
42122     {  (yyval.list) = NIL; }
42123 #line 42124 "gram.c" /* yacc.c:1652  */
42124     break;
42125 
42126   case 1860:
42127 #line 12739 "gram.y" /* yacc.c:1652  */
42128     { (yyval.typnam) = (yyvsp[0].typnam); }
42129 #line 42130 "gram.c" /* yacc.c:1652  */
42130     break;
42131 
42132   case 1861:
42133 #line 12740 "gram.y" /* yacc.c:1652  */
42134     { (yyval.typnam) = (yyvsp[0].typnam); }
42135 #line 42136 "gram.c" /* yacc.c:1652  */
42136     break;
42137 
42138   case 1862:
42139 #line 12741 "gram.y" /* yacc.c:1652  */
42140     { (yyval.typnam) = (yyvsp[0].typnam); }
42141 #line 42142 "gram.c" /* yacc.c:1652  */
42142     break;
42143 
42144   case 1863:
42145 #line 12742 "gram.y" /* yacc.c:1652  */
42146     { (yyval.typnam) = (yyvsp[0].typnam); }
42147 #line 42148 "gram.c" /* yacc.c:1652  */
42148     break;
42149 
42150   case 1864:
42151 #line 12743 "gram.y" /* yacc.c:1652  */
42152     { (yyval.typnam) = (yyvsp[0].typnam); }
42153 #line 42154 "gram.c" /* yacc.c:1652  */
42154     break;
42155 
42156   case 1865:
42157 #line 12745 "gram.y" /* yacc.c:1652  */
42158     {
42159 					(yyval.typnam) = (yyvsp[-1].typnam);
42160 					(yyval.typnam)->typmods = (yyvsp[0].list);
42161 				}
42162 #line 42163 "gram.c" /* yacc.c:1652  */
42163     break;
42164 
42165   case 1866:
42166 #line 12750 "gram.y" /* yacc.c:1652  */
42167     {
42168 					(yyval.typnam) = (yyvsp[-3].typnam);
42169 					(yyval.typnam)->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1),
42170 											 makeIntConst((yyvsp[-1].ival), (yylsp[-1])));
42171 				}
42172 #line 42173 "gram.c" /* yacc.c:1652  */
42173     break;
42174 
42175   case 1867:
42176 #line 12769 "gram.y" /* yacc.c:1652  */
42177     { (yyval.typnam) = (yyvsp[0].typnam); }
42178 #line 42179 "gram.c" /* yacc.c:1652  */
42179     break;
42180 
42181   case 1868:
42182 #line 12770 "gram.y" /* yacc.c:1652  */
42183     { (yyval.typnam) = (yyvsp[0].typnam); }
42184 #line 42185 "gram.c" /* yacc.c:1652  */
42185     break;
42186 
42187   case 1869:
42188 #line 12771 "gram.y" /* yacc.c:1652  */
42189     { (yyval.typnam) = (yyvsp[0].typnam); }
42190 #line 42191 "gram.c" /* yacc.c:1652  */
42191     break;
42192 
42193   case 1870:
42194 #line 12772 "gram.y" /* yacc.c:1652  */
42195     { (yyval.typnam) = (yyvsp[0].typnam); }
42196 #line 42197 "gram.c" /* yacc.c:1652  */
42197     break;
42198 
42199   case 1871:
42200 #line 12784 "gram.y" /* yacc.c:1652  */
42201     {
42202 					(yyval.typnam) = makeTypeName((yyvsp[-1].str));
42203 					(yyval.typnam)->typmods = (yyvsp[0].list);
42204 					(yyval.typnam)->location = (yylsp[-1]);
42205 				}
42206 #line 42207 "gram.c" /* yacc.c:1652  */
42207     break;
42208 
42209   case 1872:
42210 #line 12790 "gram.y" /* yacc.c:1652  */
42211     {
42212 					(yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[-2].str)), (yyvsp[-1].list)));
42213 					(yyval.typnam)->typmods = (yyvsp[0].list);
42214 					(yyval.typnam)->location = (yylsp[-2]);
42215 				}
42216 #line 42217 "gram.c" /* yacc.c:1652  */
42217     break;
42218 
42219   case 1873:
42220 #line 12797 "gram.y" /* yacc.c:1652  */
42221     { (yyval.list) = (yyvsp[-1].list); }
42222 #line 42223 "gram.c" /* yacc.c:1652  */
42223     break;
42224 
42225   case 1874:
42226 #line 12798 "gram.y" /* yacc.c:1652  */
42227     { (yyval.list) = NIL; }
42228 #line 42229 "gram.c" /* yacc.c:1652  */
42229     break;
42230 
42231   case 1875:
42232 #line 12805 "gram.y" /* yacc.c:1652  */
42233     {
42234 					(yyval.typnam) = SystemTypeName("int4");
42235 					(yyval.typnam)->location = (yylsp[0]);
42236 				}
42237 #line 42238 "gram.c" /* yacc.c:1652  */
42238     break;
42239 
42240   case 1876:
42241 #line 12810 "gram.y" /* yacc.c:1652  */
42242     {
42243 					(yyval.typnam) = SystemTypeName("int4");
42244 					(yyval.typnam)->location = (yylsp[0]);
42245 				}
42246 #line 42247 "gram.c" /* yacc.c:1652  */
42247     break;
42248 
42249   case 1877:
42250 #line 12815 "gram.y" /* yacc.c:1652  */
42251     {
42252 					(yyval.typnam) = SystemTypeName("int2");
42253 					(yyval.typnam)->location = (yylsp[0]);
42254 				}
42255 #line 42256 "gram.c" /* yacc.c:1652  */
42256     break;
42257 
42258   case 1878:
42259 #line 12820 "gram.y" /* yacc.c:1652  */
42260     {
42261 					(yyval.typnam) = SystemTypeName("int8");
42262 					(yyval.typnam)->location = (yylsp[0]);
42263 				}
42264 #line 42265 "gram.c" /* yacc.c:1652  */
42265     break;
42266 
42267   case 1879:
42268 #line 12825 "gram.y" /* yacc.c:1652  */
42269     {
42270 					(yyval.typnam) = SystemTypeName("float4");
42271 					(yyval.typnam)->location = (yylsp[0]);
42272 				}
42273 #line 42274 "gram.c" /* yacc.c:1652  */
42274     break;
42275 
42276   case 1880:
42277 #line 12830 "gram.y" /* yacc.c:1652  */
42278     {
42279 					(yyval.typnam) = (yyvsp[0].typnam);
42280 					(yyval.typnam)->location = (yylsp[-1]);
42281 				}
42282 #line 42283 "gram.c" /* yacc.c:1652  */
42283     break;
42284 
42285   case 1881:
42286 #line 12835 "gram.y" /* yacc.c:1652  */
42287     {
42288 					(yyval.typnam) = SystemTypeName("float8");
42289 					(yyval.typnam)->location = (yylsp[-1]);
42290 				}
42291 #line 42292 "gram.c" /* yacc.c:1652  */
42292     break;
42293 
42294   case 1882:
42295 #line 12840 "gram.y" /* yacc.c:1652  */
42296     {
42297 					(yyval.typnam) = SystemTypeName("numeric");
42298 					(yyval.typnam)->typmods = (yyvsp[0].list);
42299 					(yyval.typnam)->location = (yylsp[-1]);
42300 				}
42301 #line 42302 "gram.c" /* yacc.c:1652  */
42302     break;
42303 
42304   case 1883:
42305 #line 12846 "gram.y" /* yacc.c:1652  */
42306     {
42307 					(yyval.typnam) = SystemTypeName("numeric");
42308 					(yyval.typnam)->typmods = (yyvsp[0].list);
42309 					(yyval.typnam)->location = (yylsp[-1]);
42310 				}
42311 #line 42312 "gram.c" /* yacc.c:1652  */
42312     break;
42313 
42314   case 1884:
42315 #line 12852 "gram.y" /* yacc.c:1652  */
42316     {
42317 					(yyval.typnam) = SystemTypeName("numeric");
42318 					(yyval.typnam)->typmods = (yyvsp[0].list);
42319 					(yyval.typnam)->location = (yylsp[-1]);
42320 				}
42321 #line 42322 "gram.c" /* yacc.c:1652  */
42322     break;
42323 
42324   case 1885:
42325 #line 12858 "gram.y" /* yacc.c:1652  */
42326     {
42327 					(yyval.typnam) = SystemTypeName("bool");
42328 					(yyval.typnam)->location = (yylsp[0]);
42329 				}
42330 #line 42331 "gram.c" /* yacc.c:1652  */
42331     break;
42332 
42333   case 1886:
42334 #line 12865 "gram.y" /* yacc.c:1652  */
42335     {
42336 					/*
42337 					 * Check FLOAT() precision limits assuming IEEE floating
42338 					 * types - thomas 1997-09-18
42339 					 */
42340 					if ((yyvsp[-1].ival) < 1)
42341 						ereport(ERROR,
42342 								(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
42343 								 errmsg("precision for type float must be at least 1 bit"),
42344 								 parser_errposition((yylsp[-1]))));
42345 					else if ((yyvsp[-1].ival) <= 24)
42346 						(yyval.typnam) = SystemTypeName("float4");
42347 					else if ((yyvsp[-1].ival) <= 53)
42348 						(yyval.typnam) = SystemTypeName("float8");
42349 					else
42350 						ereport(ERROR,
42351 								(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
42352 								 errmsg("precision for type float must be less than 54 bits"),
42353 								 parser_errposition((yylsp[-1]))));
42354 				}
42355 #line 42356 "gram.c" /* yacc.c:1652  */
42356     break;
42357 
42358   case 1887:
42359 #line 12886 "gram.y" /* yacc.c:1652  */
42360     {
42361 					(yyval.typnam) = SystemTypeName("float8");
42362 				}
42363 #line 42364 "gram.c" /* yacc.c:1652  */
42364     break;
42365 
42366   case 1888:
42367 #line 12896 "gram.y" /* yacc.c:1652  */
42368     {
42369 					(yyval.typnam) = (yyvsp[0].typnam);
42370 				}
42371 #line 42372 "gram.c" /* yacc.c:1652  */
42372     break;
42373 
42374   case 1889:
42375 #line 12900 "gram.y" /* yacc.c:1652  */
42376     {
42377 					(yyval.typnam) = (yyvsp[0].typnam);
42378 				}
42379 #line 42380 "gram.c" /* yacc.c:1652  */
42380     break;
42381 
42382   case 1890:
42383 #line 12908 "gram.y" /* yacc.c:1652  */
42384     {
42385 					(yyval.typnam) = (yyvsp[0].typnam);
42386 				}
42387 #line 42388 "gram.c" /* yacc.c:1652  */
42388     break;
42389 
42390   case 1891:
42391 #line 12912 "gram.y" /* yacc.c:1652  */
42392     {
42393 					(yyval.typnam) = (yyvsp[0].typnam);
42394 					(yyval.typnam)->typmods = NIL;
42395 				}
42396 #line 42397 "gram.c" /* yacc.c:1652  */
42397     break;
42398 
42399   case 1892:
42400 #line 12920 "gram.y" /* yacc.c:1652  */
42401     {
42402 					char *typname;
42403 
42404 					typname = (yyvsp[-3].boolean) ? "varbit" : "bit";
42405 					(yyval.typnam) = SystemTypeName(typname);
42406 					(yyval.typnam)->typmods = (yyvsp[-1].list);
42407 					(yyval.typnam)->location = (yylsp[-4]);
42408 				}
42409 #line 42410 "gram.c" /* yacc.c:1652  */
42410     break;
42411 
42412   case 1893:
42413 #line 12932 "gram.y" /* yacc.c:1652  */
42414     {
42415 					/* bit defaults to bit(1), varbit to no limit */
42416 					if ((yyvsp[0].boolean))
42417 					{
42418 						(yyval.typnam) = SystemTypeName("varbit");
42419 					}
42420 					else
42421 					{
42422 						(yyval.typnam) = SystemTypeName("bit");
42423 						(yyval.typnam)->typmods = list_make1(makeIntConst(1, -1));
42424 					}
42425 					(yyval.typnam)->location = (yylsp[-1]);
42426 				}
42427 #line 42428 "gram.c" /* yacc.c:1652  */
42428     break;
42429 
42430   case 1894:
42431 #line 12953 "gram.y" /* yacc.c:1652  */
42432     {
42433 					(yyval.typnam) = (yyvsp[0].typnam);
42434 				}
42435 #line 42436 "gram.c" /* yacc.c:1652  */
42436     break;
42437 
42438   case 1895:
42439 #line 12957 "gram.y" /* yacc.c:1652  */
42440     {
42441 					(yyval.typnam) = (yyvsp[0].typnam);
42442 				}
42443 #line 42444 "gram.c" /* yacc.c:1652  */
42444     break;
42445 
42446   case 1896:
42447 #line 12963 "gram.y" /* yacc.c:1652  */
42448     {
42449 					(yyval.typnam) = (yyvsp[0].typnam);
42450 				}
42451 #line 42452 "gram.c" /* yacc.c:1652  */
42452     break;
42453 
42454   case 1897:
42455 #line 12967 "gram.y" /* yacc.c:1652  */
42456     {
42457 					/* Length was not specified so allow to be unrestricted.
42458 					 * This handles problems with fixed-length (bpchar) strings
42459 					 * which in column definitions must default to a length
42460 					 * of one, but should not be constrained if the length
42461 					 * was not specified.
42462 					 */
42463 					(yyval.typnam) = (yyvsp[0].typnam);
42464 					(yyval.typnam)->typmods = NIL;
42465 				}
42466 #line 42467 "gram.c" /* yacc.c:1652  */
42467     break;
42468 
42469   case 1898:
42470 #line 12980 "gram.y" /* yacc.c:1652  */
42471     {
42472 					(yyval.typnam) = SystemTypeName((yyvsp[-3].str));
42473 					(yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[-1].ival), (yylsp[-1])));
42474 					(yyval.typnam)->location = (yylsp[-3]);
42475 				}
42476 #line 42477 "gram.c" /* yacc.c:1652  */
42477     break;
42478 
42479   case 1899:
42480 #line 12988 "gram.y" /* yacc.c:1652  */
42481     {
42482 					(yyval.typnam) = SystemTypeName((yyvsp[0].str));
42483 					/* char defaults to char(1), varchar to no limit */
42484 					if (strcmp((yyvsp[0].str), "bpchar") == 0)
42485 						(yyval.typnam)->typmods = list_make1(makeIntConst(1, -1));
42486 					(yyval.typnam)->location = (yylsp[0]);
42487 				}
42488 #line 42489 "gram.c" /* yacc.c:1652  */
42489     break;
42490 
42491   case 1900:
42492 #line 12998 "gram.y" /* yacc.c:1652  */
42493     { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
42494 #line 42495 "gram.c" /* yacc.c:1652  */
42495     break;
42496 
42497   case 1901:
42498 #line 13000 "gram.y" /* yacc.c:1652  */
42499     { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
42500 #line 42501 "gram.c" /* yacc.c:1652  */
42501     break;
42502 
42503   case 1902:
42504 #line 13002 "gram.y" /* yacc.c:1652  */
42505     { (yyval.str) = "varchar"; }
42506 #line 42507 "gram.c" /* yacc.c:1652  */
42507     break;
42508 
42509   case 1903:
42510 #line 13004 "gram.y" /* yacc.c:1652  */
42511     { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
42512 #line 42513 "gram.c" /* yacc.c:1652  */
42513     break;
42514 
42515   case 1904:
42516 #line 13006 "gram.y" /* yacc.c:1652  */
42517     { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
42518 #line 42519 "gram.c" /* yacc.c:1652  */
42519     break;
42520 
42521   case 1905:
42522 #line 13008 "gram.y" /* yacc.c:1652  */
42523     { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
42524 #line 42525 "gram.c" /* yacc.c:1652  */
42525     break;
42526 
42527   case 1906:
42528 #line 13012 "gram.y" /* yacc.c:1652  */
42529     { (yyval.boolean) = true; }
42530 #line 42531 "gram.c" /* yacc.c:1652  */
42531     break;
42532 
42533   case 1907:
42534 #line 13013 "gram.y" /* yacc.c:1652  */
42535     { (yyval.boolean) = false; }
42536 #line 42537 "gram.c" /* yacc.c:1652  */
42537     break;
42538 
42539   case 1908:
42540 #line 13021 "gram.y" /* yacc.c:1652  */
42541     {
42542 					if ((yyvsp[0].boolean))
42543 						(yyval.typnam) = SystemTypeName("timestamptz");
42544 					else
42545 						(yyval.typnam) = SystemTypeName("timestamp");
42546 					(yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[-2].ival), (yylsp[-2])));
42547 					(yyval.typnam)->location = (yylsp[-4]);
42548 				}
42549 #line 42550 "gram.c" /* yacc.c:1652  */
42550     break;
42551 
42552   case 1909:
42553 #line 13030 "gram.y" /* yacc.c:1652  */
42554     {
42555 					if ((yyvsp[0].boolean))
42556 						(yyval.typnam) = SystemTypeName("timestamptz");
42557 					else
42558 						(yyval.typnam) = SystemTypeName("timestamp");
42559 					(yyval.typnam)->location = (yylsp[-1]);
42560 				}
42561 #line 42562 "gram.c" /* yacc.c:1652  */
42562     break;
42563 
42564   case 1910:
42565 #line 13038 "gram.y" /* yacc.c:1652  */
42566     {
42567 					if ((yyvsp[0].boolean))
42568 						(yyval.typnam) = SystemTypeName("timetz");
42569 					else
42570 						(yyval.typnam) = SystemTypeName("time");
42571 					(yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[-2].ival), (yylsp[-2])));
42572 					(yyval.typnam)->location = (yylsp[-4]);
42573 				}
42574 #line 42575 "gram.c" /* yacc.c:1652  */
42575     break;
42576 
42577   case 1911:
42578 #line 13047 "gram.y" /* yacc.c:1652  */
42579     {
42580 					if ((yyvsp[0].boolean))
42581 						(yyval.typnam) = SystemTypeName("timetz");
42582 					else
42583 						(yyval.typnam) = SystemTypeName("time");
42584 					(yyval.typnam)->location = (yylsp[-1]);
42585 				}
42586 #line 42587 "gram.c" /* yacc.c:1652  */
42587     break;
42588 
42589   case 1912:
42590 #line 13058 "gram.y" /* yacc.c:1652  */
42591     {
42592 					(yyval.typnam) = SystemTypeName("interval");
42593 					(yyval.typnam)->location = (yylsp[0]);
42594 				}
42595 #line 42596 "gram.c" /* yacc.c:1652  */
42596     break;
42597 
42598   case 1913:
42599 #line 13065 "gram.y" /* yacc.c:1652  */
42600     { (yyval.boolean) = true; }
42601 #line 42602 "gram.c" /* yacc.c:1652  */
42602     break;
42603 
42604   case 1914:
42605 #line 13066 "gram.y" /* yacc.c:1652  */
42606     { (yyval.boolean) = false; }
42607 #line 42608 "gram.c" /* yacc.c:1652  */
42608     break;
42609 
42610   case 1915:
42611 #line 13067 "gram.y" /* yacc.c:1652  */
42612     { (yyval.boolean) = false; }
42613 #line 42614 "gram.c" /* yacc.c:1652  */
42614     break;
42615 
42616   case 1916:
42617 #line 13072 "gram.y" /* yacc.c:1652  */
42618     { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(YEAR), (yylsp[0]))); }
42619 #line 42620 "gram.c" /* yacc.c:1652  */
42620     break;
42621 
42622   case 1917:
42623 #line 13074 "gram.y" /* yacc.c:1652  */
42624     { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MONTH), (yylsp[0]))); }
42625 #line 42626 "gram.c" /* yacc.c:1652  */
42626     break;
42627 
42628   case 1918:
42629 #line 13076 "gram.y" /* yacc.c:1652  */
42630     { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY), (yylsp[0]))); }
42631 #line 42632 "gram.c" /* yacc.c:1652  */
42632     break;
42633 
42634   case 1919:
42635 #line 13078 "gram.y" /* yacc.c:1652  */
42636     { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(HOUR), (yylsp[0]))); }
42637 #line 42638 "gram.c" /* yacc.c:1652  */
42638     break;
42639 
42640   case 1920:
42641 #line 13080 "gram.y" /* yacc.c:1652  */
42642     { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MINUTE), (yylsp[0]))); }
42643 #line 42644 "gram.c" /* yacc.c:1652  */
42644     break;
42645 
42646   case 1921:
42647 #line 13082 "gram.y" /* yacc.c:1652  */
42648     { (yyval.list) = (yyvsp[0].list); }
42649 #line 42650 "gram.c" /* yacc.c:1652  */
42650     break;
42651 
42652   case 1922:
42653 #line 13084 "gram.y" /* yacc.c:1652  */
42654     {
42655 					(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(YEAR) |
42656 												 INTERVAL_MASK(MONTH), (yylsp[-2])));
42657 				}
42658 #line 42659 "gram.c" /* yacc.c:1652  */
42659     break;
42660 
42661   case 1923:
42662 #line 13089 "gram.y" /* yacc.c:1652  */
42663     {
42664 					(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY) |
42665 												 INTERVAL_MASK(HOUR), (yylsp[-2])));
42666 				}
42667 #line 42668 "gram.c" /* yacc.c:1652  */
42668     break;
42669 
42670   case 1924:
42671 #line 13094 "gram.y" /* yacc.c:1652  */
42672     {
42673 					(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY) |
42674 												 INTERVAL_MASK(HOUR) |
42675 												 INTERVAL_MASK(MINUTE), (yylsp[-2])));
42676 				}
42677 #line 42678 "gram.c" /* yacc.c:1652  */
42678     break;
42679 
42680   case 1925:
42681 #line 13100 "gram.y" /* yacc.c:1652  */
42682     {
42683 					(yyval.list) = (yyvsp[0].list);
42684 					linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(DAY) |
42685 												INTERVAL_MASK(HOUR) |
42686 												INTERVAL_MASK(MINUTE) |
42687 												INTERVAL_MASK(SECOND), (yylsp[-2]));
42688 				}
42689 #line 42690 "gram.c" /* yacc.c:1652  */
42690     break;
42691 
42692   case 1926:
42693 #line 13108 "gram.y" /* yacc.c:1652  */
42694     {
42695 					(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(HOUR) |
42696 												 INTERVAL_MASK(MINUTE), (yylsp[-2])));
42697 				}
42698 #line 42699 "gram.c" /* yacc.c:1652  */
42699     break;
42700 
42701   case 1927:
42702 #line 13113 "gram.y" /* yacc.c:1652  */
42703     {
42704 					(yyval.list) = (yyvsp[0].list);
42705 					linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(HOUR) |
42706 												INTERVAL_MASK(MINUTE) |
42707 												INTERVAL_MASK(SECOND), (yylsp[-2]));
42708 				}
42709 #line 42710 "gram.c" /* yacc.c:1652  */
42710     break;
42711 
42712   case 1928:
42713 #line 13120 "gram.y" /* yacc.c:1652  */
42714     {
42715 					(yyval.list) = (yyvsp[0].list);
42716 					linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(MINUTE) |
42717 												INTERVAL_MASK(SECOND), (yylsp[-2]));
42718 				}
42719 #line 42720 "gram.c" /* yacc.c:1652  */
42720     break;
42721 
42722   case 1929:
42723 #line 13126 "gram.y" /* yacc.c:1652  */
42724     { (yyval.list) = NIL; }
42725 #line 42726 "gram.c" /* yacc.c:1652  */
42726     break;
42727 
42728   case 1930:
42729 #line 13131 "gram.y" /* yacc.c:1652  */
42730     {
42731 					(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(SECOND), (yylsp[0])));
42732 				}
42733 #line 42734 "gram.c" /* yacc.c:1652  */
42734     break;
42735 
42736   case 1931:
42737 #line 13135 "gram.y" /* yacc.c:1652  */
42738     {
42739 					(yyval.list) = list_make2(makeIntConst(INTERVAL_MASK(SECOND), (yylsp[-3])),
42740 									makeIntConst((yyvsp[-1].ival), (yylsp[-1])));
42741 				}
42742 #line 42743 "gram.c" /* yacc.c:1652  */
42743     break;
42744 
42745   case 1932:
42746 #line 13170 "gram.y" /* yacc.c:1652  */
42747     { (yyval.node) = (yyvsp[0].node); }
42748 #line 42749 "gram.c" /* yacc.c:1652  */
42749     break;
42750 
42751   case 1933:
42752 #line 13172 "gram.y" /* yacc.c:1652  */
42753     { (yyval.node) = makeTypeCast((yyvsp[-2].node), (yyvsp[0].typnam), (yylsp[-1])); }
42754 #line 42755 "gram.c" /* yacc.c:1652  */
42755     break;
42756 
42757   case 1934:
42758 #line 13174 "gram.y" /* yacc.c:1652  */
42759     {
42760 					CollateClause *n = makeNode(CollateClause);
42761 					n->arg = (yyvsp[-2].node);
42762 					n->collname = (yyvsp[0].list);
42763 					n->location = (yylsp[-1]);
42764 					(yyval.node) = (Node *) n;
42765 				}
42766 #line 42767 "gram.c" /* yacc.c:1652  */
42767     break;
42768 
42769   case 1935:
42770 #line 13182 "gram.y" /* yacc.c:1652  */
42771     {
42772 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("timezone"),
42773 											   list_make2((yyvsp[0].node), (yyvsp[-4].node)),
42774 											   (yylsp[-3]));
42775 				}
42776 #line 42777 "gram.c" /* yacc.c:1652  */
42777     break;
42778 
42779   case 1936:
42780 #line 13197 "gram.y" /* yacc.c:1652  */
42781     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[0].node), (yylsp[-1])); }
42782 #line 42783 "gram.c" /* yacc.c:1652  */
42783     break;
42784 
42785   case 1937:
42786 #line 13199 "gram.y" /* yacc.c:1652  */
42787     { (yyval.node) = doNegate((yyvsp[0].node), (yylsp[-1])); }
42788 #line 42789 "gram.c" /* yacc.c:1652  */
42789     break;
42790 
42791   case 1938:
42792 #line 13201 "gram.y" /* yacc.c:1652  */
42793     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
42794 #line 42795 "gram.c" /* yacc.c:1652  */
42795     break;
42796 
42797   case 1939:
42798 #line 13203 "gram.y" /* yacc.c:1652  */
42799     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "-", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
42800 #line 42801 "gram.c" /* yacc.c:1652  */
42801     break;
42802 
42803   case 1940:
42804 #line 13205 "gram.y" /* yacc.c:1652  */
42805     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "*", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
42806 #line 42807 "gram.c" /* yacc.c:1652  */
42807     break;
42808 
42809   case 1941:
42810 #line 13207 "gram.y" /* yacc.c:1652  */
42811     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "/", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
42812 #line 42813 "gram.c" /* yacc.c:1652  */
42813     break;
42814 
42815   case 1942:
42816 #line 13209 "gram.y" /* yacc.c:1652  */
42817     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
42818 #line 42819 "gram.c" /* yacc.c:1652  */
42819     break;
42820 
42821   case 1943:
42822 #line 13211 "gram.y" /* yacc.c:1652  */
42823     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
42824 #line 42825 "gram.c" /* yacc.c:1652  */
42825     break;
42826 
42827   case 1944:
42828 #line 13213 "gram.y" /* yacc.c:1652  */
42829     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
42830 #line 42831 "gram.c" /* yacc.c:1652  */
42831     break;
42832 
42833   case 1945:
42834 #line 13215 "gram.y" /* yacc.c:1652  */
42835     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
42836 #line 42837 "gram.c" /* yacc.c:1652  */
42837     break;
42838 
42839   case 1946:
42840 #line 13217 "gram.y" /* yacc.c:1652  */
42841     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
42842 #line 42843 "gram.c" /* yacc.c:1652  */
42843     break;
42844 
42845   case 1947:
42846 #line 13219 "gram.y" /* yacc.c:1652  */
42847     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
42848 #line 42849 "gram.c" /* yacc.c:1652  */
42849     break;
42850 
42851   case 1948:
42852 #line 13221 "gram.y" /* yacc.c:1652  */
42853     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
42854 #line 42855 "gram.c" /* yacc.c:1652  */
42855     break;
42856 
42857   case 1949:
42858 #line 13223 "gram.y" /* yacc.c:1652  */
42859     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<>", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
42860 #line 42861 "gram.c" /* yacc.c:1652  */
42861     break;
42862 
42863   case 1950:
42864 #line 13226 "gram.y" /* yacc.c:1652  */
42865     { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
42866 #line 42867 "gram.c" /* yacc.c:1652  */
42867     break;
42868 
42869   case 1951:
42870 #line 13228 "gram.y" /* yacc.c:1652  */
42871     { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), NULL, (yyvsp[0].node), (yylsp[-1])); }
42872 #line 42873 "gram.c" /* yacc.c:1652  */
42873     break;
42874 
42875   case 1952:
42876 #line 13230 "gram.y" /* yacc.c:1652  */
42877     { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[0].list), (yyvsp[-1].node), NULL, (yylsp[0])); }
42878 #line 42879 "gram.c" /* yacc.c:1652  */
42879     break;
42880 
42881   case 1953:
42882 #line 13233 "gram.y" /* yacc.c:1652  */
42883     { (yyval.node) = makeAndExpr((yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
42884 #line 42885 "gram.c" /* yacc.c:1652  */
42885     break;
42886 
42887   case 1954:
42888 #line 13235 "gram.y" /* yacc.c:1652  */
42889     { (yyval.node) = makeOrExpr((yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
42890 #line 42891 "gram.c" /* yacc.c:1652  */
42891     break;
42892 
42893   case 1955:
42894 #line 13237 "gram.y" /* yacc.c:1652  */
42895     { (yyval.node) = makeNotExpr((yyvsp[0].node), (yylsp[-1])); }
42896 #line 42897 "gram.c" /* yacc.c:1652  */
42897     break;
42898 
42899   case 1956:
42900 #line 13239 "gram.y" /* yacc.c:1652  */
42901     { (yyval.node) = makeNotExpr((yyvsp[0].node), (yylsp[-1])); }
42902 #line 42903 "gram.c" /* yacc.c:1652  */
42903     break;
42904 
42905   case 1957:
42906 #line 13242 "gram.y" /* yacc.c:1652  */
42907     {
42908 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "~~",
42909 												   (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1]));
42910 				}
42911 #line 42912 "gram.c" /* yacc.c:1652  */
42912     break;
42913 
42914   case 1958:
42915 #line 13247 "gram.y" /* yacc.c:1652  */
42916     {
42917 					FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
42918 											   list_make2((yyvsp[-2].node), (yyvsp[0].node)),
42919 											   (yylsp[-3]));
42920 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "~~",
42921 												   (yyvsp[-4].node), (Node *) n, (yylsp[-3]));
42922 				}
42923 #line 42924 "gram.c" /* yacc.c:1652  */
42924     break;
42925 
42926   case 1959:
42927 #line 13255 "gram.y" /* yacc.c:1652  */
42928     {
42929 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "!~~",
42930 												   (yyvsp[-3].node), (yyvsp[0].node), (yylsp[-2]));
42931 				}
42932 #line 42933 "gram.c" /* yacc.c:1652  */
42933     break;
42934 
42935   case 1960:
42936 #line 13260 "gram.y" /* yacc.c:1652  */
42937     {
42938 					FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
42939 											   list_make2((yyvsp[-2].node), (yyvsp[0].node)),
42940 											   (yylsp[-4]));
42941 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "!~~",
42942 												   (yyvsp[-5].node), (Node *) n, (yylsp[-4]));
42943 				}
42944 #line 42945 "gram.c" /* yacc.c:1652  */
42945     break;
42946 
42947   case 1961:
42948 #line 13268 "gram.y" /* yacc.c:1652  */
42949     {
42950 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "~~*",
42951 												   (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1]));
42952 				}
42953 #line 42954 "gram.c" /* yacc.c:1652  */
42954     break;
42955 
42956   case 1962:
42957 #line 13273 "gram.y" /* yacc.c:1652  */
42958     {
42959 					FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
42960 											   list_make2((yyvsp[-2].node), (yyvsp[0].node)),
42961 											   (yylsp[-3]));
42962 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "~~*",
42963 												   (yyvsp[-4].node), (Node *) n, (yylsp[-3]));
42964 				}
42965 #line 42966 "gram.c" /* yacc.c:1652  */
42966     break;
42967 
42968   case 1963:
42969 #line 13281 "gram.y" /* yacc.c:1652  */
42970     {
42971 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "!~~*",
42972 												   (yyvsp[-3].node), (yyvsp[0].node), (yylsp[-2]));
42973 				}
42974 #line 42975 "gram.c" /* yacc.c:1652  */
42975     break;
42976 
42977   case 1964:
42978 #line 13286 "gram.y" /* yacc.c:1652  */
42979     {
42980 					FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
42981 											   list_make2((yyvsp[-2].node), (yyvsp[0].node)),
42982 											   (yylsp[-4]));
42983 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "!~~*",
42984 												   (yyvsp[-5].node), (Node *) n, (yylsp[-4]));
42985 				}
42986 #line 42987 "gram.c" /* yacc.c:1652  */
42987     break;
42988 
42989   case 1965:
42990 #line 13295 "gram.y" /* yacc.c:1652  */
42991     {
42992 					FuncCall *n = makeFuncCall(SystemFuncName("similar_to_escape"),
42993 											   list_make1((yyvsp[0].node)),
42994 											   (yylsp[-2]));
42995 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "~",
42996 												   (yyvsp[-3].node), (Node *) n, (yylsp[-2]));
42997 				}
42998 #line 42999 "gram.c" /* yacc.c:1652  */
42999     break;
43000 
43001   case 1966:
43002 #line 13303 "gram.y" /* yacc.c:1652  */
43003     {
43004 					FuncCall *n = makeFuncCall(SystemFuncName("similar_to_escape"),
43005 											   list_make2((yyvsp[-2].node), (yyvsp[0].node)),
43006 											   (yylsp[-4]));
43007 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "~",
43008 												   (yyvsp[-5].node), (Node *) n, (yylsp[-4]));
43009 				}
43010 #line 43011 "gram.c" /* yacc.c:1652  */
43011     break;
43012 
43013   case 1967:
43014 #line 13311 "gram.y" /* yacc.c:1652  */
43015     {
43016 					FuncCall *n = makeFuncCall(SystemFuncName("similar_to_escape"),
43017 											   list_make1((yyvsp[0].node)),
43018 											   (yylsp[-3]));
43019 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "!~",
43020 												   (yyvsp[-4].node), (Node *) n, (yylsp[-3]));
43021 				}
43022 #line 43023 "gram.c" /* yacc.c:1652  */
43023     break;
43024 
43025   case 1968:
43026 #line 13319 "gram.y" /* yacc.c:1652  */
43027     {
43028 					FuncCall *n = makeFuncCall(SystemFuncName("similar_to_escape"),
43029 											   list_make2((yyvsp[-2].node), (yyvsp[0].node)),
43030 											   (yylsp[-5]));
43031 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "!~",
43032 												   (yyvsp[-6].node), (Node *) n, (yylsp[-5]));
43033 				}
43034 #line 43035 "gram.c" /* yacc.c:1652  */
43035     break;
43036 
43037   case 1969:
43038 #line 13337 "gram.y" /* yacc.c:1652  */
43039     {
43040 					NullTest *n = makeNode(NullTest);
43041 					n->arg = (Expr *) (yyvsp[-2].node);
43042 					n->nulltesttype = IS_NULL;
43043 					n->location = (yylsp[-1]);
43044 					(yyval.node) = (Node *)n;
43045 				}
43046 #line 43047 "gram.c" /* yacc.c:1652  */
43047     break;
43048 
43049   case 1970:
43050 #line 13345 "gram.y" /* yacc.c:1652  */
43051     {
43052 					NullTest *n = makeNode(NullTest);
43053 					n->arg = (Expr *) (yyvsp[-1].node);
43054 					n->nulltesttype = IS_NULL;
43055 					n->location = (yylsp[0]);
43056 					(yyval.node) = (Node *)n;
43057 				}
43058 #line 43059 "gram.c" /* yacc.c:1652  */
43059     break;
43060 
43061   case 1971:
43062 #line 13353 "gram.y" /* yacc.c:1652  */
43063     {
43064 					NullTest *n = makeNode(NullTest);
43065 					n->arg = (Expr *) (yyvsp[-3].node);
43066 					n->nulltesttype = IS_NOT_NULL;
43067 					n->location = (yylsp[-2]);
43068 					(yyval.node) = (Node *)n;
43069 				}
43070 #line 43071 "gram.c" /* yacc.c:1652  */
43071     break;
43072 
43073   case 1972:
43074 #line 13361 "gram.y" /* yacc.c:1652  */
43075     {
43076 					NullTest *n = makeNode(NullTest);
43077 					n->arg = (Expr *) (yyvsp[-1].node);
43078 					n->nulltesttype = IS_NOT_NULL;
43079 					n->location = (yylsp[0]);
43080 					(yyval.node) = (Node *)n;
43081 				}
43082 #line 43083 "gram.c" /* yacc.c:1652  */
43083     break;
43084 
43085   case 1973:
43086 #line 13369 "gram.y" /* yacc.c:1652  */
43087     {
43088 					if (list_length((yyvsp[-2].list)) != 2)
43089 						ereport(ERROR,
43090 								(errcode(ERRCODE_SYNTAX_ERROR),
43091 								 errmsg("wrong number of parameters on left side of OVERLAPS expression"),
43092 								 parser_errposition((yylsp[-2]))));
43093 					if (list_length((yyvsp[0].list)) != 2)
43094 						ereport(ERROR,
43095 								(errcode(ERRCODE_SYNTAX_ERROR),
43096 								 errmsg("wrong number of parameters on right side of OVERLAPS expression"),
43097 								 parser_errposition((yylsp[0]))));
43098 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("overlaps"),
43099 											   list_concat((yyvsp[-2].list), (yyvsp[0].list)),
43100 											   (yylsp[-1]));
43101 				}
43102 #line 43103 "gram.c" /* yacc.c:1652  */
43103     break;
43104 
43105   case 1974:
43106 #line 13385 "gram.y" /* yacc.c:1652  */
43107     {
43108 					BooleanTest *b = makeNode(BooleanTest);
43109 					b->arg = (Expr *) (yyvsp[-2].node);
43110 					b->booltesttype = IS_TRUE;
43111 					b->location = (yylsp[-1]);
43112 					(yyval.node) = (Node *)b;
43113 				}
43114 #line 43115 "gram.c" /* yacc.c:1652  */
43115     break;
43116 
43117   case 1975:
43118 #line 13393 "gram.y" /* yacc.c:1652  */
43119     {
43120 					BooleanTest *b = makeNode(BooleanTest);
43121 					b->arg = (Expr *) (yyvsp[-3].node);
43122 					b->booltesttype = IS_NOT_TRUE;
43123 					b->location = (yylsp[-2]);
43124 					(yyval.node) = (Node *)b;
43125 				}
43126 #line 43127 "gram.c" /* yacc.c:1652  */
43127     break;
43128 
43129   case 1976:
43130 #line 13401 "gram.y" /* yacc.c:1652  */
43131     {
43132 					BooleanTest *b = makeNode(BooleanTest);
43133 					b->arg = (Expr *) (yyvsp[-2].node);
43134 					b->booltesttype = IS_FALSE;
43135 					b->location = (yylsp[-1]);
43136 					(yyval.node) = (Node *)b;
43137 				}
43138 #line 43139 "gram.c" /* yacc.c:1652  */
43139     break;
43140 
43141   case 1977:
43142 #line 13409 "gram.y" /* yacc.c:1652  */
43143     {
43144 					BooleanTest *b = makeNode(BooleanTest);
43145 					b->arg = (Expr *) (yyvsp[-3].node);
43146 					b->booltesttype = IS_NOT_FALSE;
43147 					b->location = (yylsp[-2]);
43148 					(yyval.node) = (Node *)b;
43149 				}
43150 #line 43151 "gram.c" /* yacc.c:1652  */
43151     break;
43152 
43153   case 1978:
43154 #line 13417 "gram.y" /* yacc.c:1652  */
43155     {
43156 					BooleanTest *b = makeNode(BooleanTest);
43157 					b->arg = (Expr *) (yyvsp[-2].node);
43158 					b->booltesttype = IS_UNKNOWN;
43159 					b->location = (yylsp[-1]);
43160 					(yyval.node) = (Node *)b;
43161 				}
43162 #line 43163 "gram.c" /* yacc.c:1652  */
43163     break;
43164 
43165   case 1979:
43166 #line 13425 "gram.y" /* yacc.c:1652  */
43167     {
43168 					BooleanTest *b = makeNode(BooleanTest);
43169 					b->arg = (Expr *) (yyvsp[-3].node);
43170 					b->booltesttype = IS_NOT_UNKNOWN;
43171 					b->location = (yylsp[-2]);
43172 					(yyval.node) = (Node *)b;
43173 				}
43174 #line 43175 "gram.c" /* yacc.c:1652  */
43175     break;
43176 
43177   case 1980:
43178 #line 13433 "gram.y" /* yacc.c:1652  */
43179     {
43180 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", (yyvsp[-4].node), (yyvsp[0].node), (yylsp[-3]));
43181 				}
43182 #line 43183 "gram.c" /* yacc.c:1652  */
43183     break;
43184 
43185   case 1981:
43186 #line 13437 "gram.y" /* yacc.c:1652  */
43187     {
43188 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_DISTINCT, "=", (yyvsp[-5].node), (yyvsp[0].node), (yylsp[-4]));
43189 				}
43190 #line 43191 "gram.c" /* yacc.c:1652  */
43191     break;
43192 
43193   case 1982:
43194 #line 13441 "gram.y" /* yacc.c:1652  */
43195     {
43196 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "=", (yyvsp[-5].node), (Node *) (yyvsp[-1].list), (yylsp[-4]));
43197 				}
43198 #line 43199 "gram.c" /* yacc.c:1652  */
43199     break;
43200 
43201   case 1983:
43202 #line 13445 "gram.y" /* yacc.c:1652  */
43203     {
43204 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "<>", (yyvsp[-6].node), (Node *) (yyvsp[-1].list), (yylsp[-5]));
43205 				}
43206 #line 43207 "gram.c" /* yacc.c:1652  */
43207     break;
43208 
43209   case 1984:
43210 #line 13449 "gram.y" /* yacc.c:1652  */
43211     {
43212 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_BETWEEN,
43213 												   "BETWEEN",
43214 												   (yyvsp[-5].node),
43215 												   (Node *) list_make2((yyvsp[-2].node), (yyvsp[0].node)),
43216 												   (yylsp[-4]));
43217 				}
43218 #line 43219 "gram.c" /* yacc.c:1652  */
43219     break;
43220 
43221   case 1985:
43222 #line 13457 "gram.y" /* yacc.c:1652  */
43223     {
43224 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_BETWEEN,
43225 												   "NOT BETWEEN",
43226 												   (yyvsp[-6].node),
43227 												   (Node *) list_make2((yyvsp[-2].node), (yyvsp[0].node)),
43228 												   (yylsp[-5]));
43229 				}
43230 #line 43231 "gram.c" /* yacc.c:1652  */
43231     break;
43232 
43233   case 1986:
43234 #line 13465 "gram.y" /* yacc.c:1652  */
43235     {
43236 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_BETWEEN_SYM,
43237 												   "BETWEEN SYMMETRIC",
43238 												   (yyvsp[-5].node),
43239 												   (Node *) list_make2((yyvsp[-2].node), (yyvsp[0].node)),
43240 												   (yylsp[-4]));
43241 				}
43242 #line 43243 "gram.c" /* yacc.c:1652  */
43243     break;
43244 
43245   case 1987:
43246 #line 13473 "gram.y" /* yacc.c:1652  */
43247     {
43248 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_BETWEEN_SYM,
43249 												   "NOT BETWEEN SYMMETRIC",
43250 												   (yyvsp[-6].node),
43251 												   (Node *) list_make2((yyvsp[-2].node), (yyvsp[0].node)),
43252 												   (yylsp[-5]));
43253 				}
43254 #line 43255 "gram.c" /* yacc.c:1652  */
43255     break;
43256 
43257   case 1988:
43258 #line 13481 "gram.y" /* yacc.c:1652  */
43259     {
43260 					/* in_expr returns a SubLink or a list of a_exprs */
43261 					if (IsA((yyvsp[0].node), SubLink))
43262 					{
43263 						/* generate foo = ANY (subquery) */
43264 						SubLink *n = (SubLink *) (yyvsp[0].node);
43265 						n->subLinkType = ANY_SUBLINK;
43266 						n->subLinkId = 0;
43267 						n->testexpr = (yyvsp[-2].node);
43268 						n->operName = NIL;		/* show it's IN not = ANY */
43269 						n->location = (yylsp[-1]);
43270 						(yyval.node) = (Node *)n;
43271 					}
43272 					else
43273 					{
43274 						/* generate scalar IN expression */
43275 						(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_IN, "=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1]));
43276 					}
43277 				}
43278 #line 43279 "gram.c" /* yacc.c:1652  */
43279     break;
43280 
43281   case 1989:
43282 #line 13501 "gram.y" /* yacc.c:1652  */
43283     {
43284 					/* in_expr returns a SubLink or a list of a_exprs */
43285 					if (IsA((yyvsp[0].node), SubLink))
43286 					{
43287 						/* generate NOT (foo = ANY (subquery)) */
43288 						/* Make an = ANY node */
43289 						SubLink *n = (SubLink *) (yyvsp[0].node);
43290 						n->subLinkType = ANY_SUBLINK;
43291 						n->subLinkId = 0;
43292 						n->testexpr = (yyvsp[-3].node);
43293 						n->operName = NIL;		/* show it's IN not = ANY */
43294 						n->location = (yylsp[-2]);
43295 						/* Stick a NOT on top; must have same parse location */
43296 						(yyval.node) = makeNotExpr((Node *) n, (yylsp[-2]));
43297 					}
43298 					else
43299 					{
43300 						/* generate scalar NOT IN expression */
43301 						(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_IN, "<>", (yyvsp[-3].node), (yyvsp[0].node), (yylsp[-2]));
43302 					}
43303 				}
43304 #line 43305 "gram.c" /* yacc.c:1652  */
43305     break;
43306 
43307   case 1990:
43308 #line 13523 "gram.y" /* yacc.c:1652  */
43309     {
43310 					SubLink *n = makeNode(SubLink);
43311 					n->subLinkType = (yyvsp[-1].ival);
43312 					n->subLinkId = 0;
43313 					n->testexpr = (yyvsp[-3].node);
43314 					n->operName = (yyvsp[-2].list);
43315 					n->subselect = (yyvsp[0].node);
43316 					n->location = (yylsp[-2]);
43317 					(yyval.node) = (Node *)n;
43318 				}
43319 #line 43320 "gram.c" /* yacc.c:1652  */
43320     break;
43321 
43322   case 1991:
43323 #line 13534 "gram.y" /* yacc.c:1652  */
43324     {
43325 					if ((yyvsp[-3].ival) == ANY_SUBLINK)
43326 						(yyval.node) = (Node *) makeA_Expr(AEXPR_OP_ANY, (yyvsp[-4].list), (yyvsp[-5].node), (yyvsp[-1].node), (yylsp[-4]));
43327 					else
43328 						(yyval.node) = (Node *) makeA_Expr(AEXPR_OP_ALL, (yyvsp[-4].list), (yyvsp[-5].node), (yyvsp[-1].node), (yylsp[-4]));
43329 				}
43330 #line 43331 "gram.c" /* yacc.c:1652  */
43331     break;
43332 
43333   case 1992:
43334 #line 13541 "gram.y" /* yacc.c:1652  */
43335     {
43336 					/* Not sure how to get rid of the parentheses
43337 					 * but there are lots of shift/reduce errors without them.
43338 					 *
43339 					 * Should be able to implement this by plopping the entire
43340 					 * select into a node, then transforming the target expressions
43341 					 * from whatever they are into count(*), and testing the
43342 					 * entire result equal to one.
43343 					 * But, will probably implement a separate node in the executor.
43344 					 */
43345 					ereport(ERROR,
43346 							(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
43347 							 errmsg("UNIQUE predicate is not yet implemented"),
43348 							 parser_errposition((yylsp[-1]))));
43349 				}
43350 #line 43351 "gram.c" /* yacc.c:1652  */
43351     break;
43352 
43353   case 1993:
43354 #line 13557 "gram.y" /* yacc.c:1652  */
43355     {
43356 					(yyval.node) = makeXmlExpr(IS_DOCUMENT, NULL, NIL,
43357 									 list_make1((yyvsp[-2].node)), (yylsp[-1]));
43358 				}
43359 #line 43360 "gram.c" /* yacc.c:1652  */
43360     break;
43361 
43362   case 1994:
43363 #line 13562 "gram.y" /* yacc.c:1652  */
43364     {
43365 					(yyval.node) = makeNotExpr(makeXmlExpr(IS_DOCUMENT, NULL, NIL,
43366 												 list_make1((yyvsp[-3].node)), (yylsp[-2])),
43367 									 (yylsp[-2]));
43368 				}
43369 #line 43370 "gram.c" /* yacc.c:1652  */
43370     break;
43371 
43372   case 1995:
43373 #line 13568 "gram.y" /* yacc.c:1652  */
43374     {
43375 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("is_normalized"), list_make1((yyvsp[-2].node)), (yylsp[-1]));
43376 				}
43377 #line 43378 "gram.c" /* yacc.c:1652  */
43378     break;
43379 
43380   case 1996:
43381 #line 13572 "gram.y" /* yacc.c:1652  */
43382     {
43383 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("is_normalized"), list_make2((yyvsp[-3].node), makeStringConst((yyvsp[-1].str), (yylsp[-1]))), (yylsp[-2]));
43384 				}
43385 #line 43386 "gram.c" /* yacc.c:1652  */
43386     break;
43387 
43388   case 1997:
43389 #line 13576 "gram.y" /* yacc.c:1652  */
43390     {
43391 					(yyval.node) = makeNotExpr((Node *) makeFuncCall(SystemFuncName("is_normalized"), list_make1((yyvsp[-3].node)), (yylsp[-2])), (yylsp[-2]));
43392 				}
43393 #line 43394 "gram.c" /* yacc.c:1652  */
43394     break;
43395 
43396   case 1998:
43397 #line 13580 "gram.y" /* yacc.c:1652  */
43398     {
43399 					(yyval.node) = makeNotExpr((Node *) makeFuncCall(SystemFuncName("is_normalized"), list_make2((yyvsp[-4].node), makeStringConst((yyvsp[-1].str), (yylsp[-1]))), (yylsp[-3])), (yylsp[-3]));
43400 				}
43401 #line 43402 "gram.c" /* yacc.c:1652  */
43402     break;
43403 
43404   case 1999:
43405 #line 13584 "gram.y" /* yacc.c:1652  */
43406     {
43407 					/*
43408 					 * The SQL spec only allows DEFAULT in "contextually typed
43409 					 * expressions", but for us, it's easier to allow it in
43410 					 * any a_expr and then throw error during parse analysis
43411 					 * if it's in an inappropriate context.  This way also
43412 					 * lets us say something smarter than "syntax error".
43413 					 */
43414 					SetToDefault *n = makeNode(SetToDefault);
43415 					/* parse analysis will fill in the rest */
43416 					n->location = (yylsp[0]);
43417 					(yyval.node) = (Node *)n;
43418 				}
43419 #line 43420 "gram.c" /* yacc.c:1652  */
43420     break;
43421 
43422   case 2000:
43423 #line 13609 "gram.y" /* yacc.c:1652  */
43424     { (yyval.node) = (yyvsp[0].node); }
43425 #line 43426 "gram.c" /* yacc.c:1652  */
43426     break;
43427 
43428   case 2001:
43429 #line 13611 "gram.y" /* yacc.c:1652  */
43430     { (yyval.node) = makeTypeCast((yyvsp[-2].node), (yyvsp[0].typnam), (yylsp[-1])); }
43431 #line 43432 "gram.c" /* yacc.c:1652  */
43432     break;
43433 
43434   case 2002:
43435 #line 13613 "gram.y" /* yacc.c:1652  */
43436     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[0].node), (yylsp[-1])); }
43437 #line 43438 "gram.c" /* yacc.c:1652  */
43438     break;
43439 
43440   case 2003:
43441 #line 13615 "gram.y" /* yacc.c:1652  */
43442     { (yyval.node) = doNegate((yyvsp[0].node), (yylsp[-1])); }
43443 #line 43444 "gram.c" /* yacc.c:1652  */
43444     break;
43445 
43446   case 2004:
43447 #line 13617 "gram.y" /* yacc.c:1652  */
43448     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43449 #line 43450 "gram.c" /* yacc.c:1652  */
43450     break;
43451 
43452   case 2005:
43453 #line 13619 "gram.y" /* yacc.c:1652  */
43454     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "-", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43455 #line 43456 "gram.c" /* yacc.c:1652  */
43456     break;
43457 
43458   case 2006:
43459 #line 13621 "gram.y" /* yacc.c:1652  */
43460     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "*", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43461 #line 43462 "gram.c" /* yacc.c:1652  */
43462     break;
43463 
43464   case 2007:
43465 #line 13623 "gram.y" /* yacc.c:1652  */
43466     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "/", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43467 #line 43468 "gram.c" /* yacc.c:1652  */
43468     break;
43469 
43470   case 2008:
43471 #line 13625 "gram.y" /* yacc.c:1652  */
43472     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43473 #line 43474 "gram.c" /* yacc.c:1652  */
43474     break;
43475 
43476   case 2009:
43477 #line 13627 "gram.y" /* yacc.c:1652  */
43478     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43479 #line 43480 "gram.c" /* yacc.c:1652  */
43480     break;
43481 
43482   case 2010:
43483 #line 13629 "gram.y" /* yacc.c:1652  */
43484     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43485 #line 43486 "gram.c" /* yacc.c:1652  */
43486     break;
43487 
43488   case 2011:
43489 #line 13631 "gram.y" /* yacc.c:1652  */
43490     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43491 #line 43492 "gram.c" /* yacc.c:1652  */
43492     break;
43493 
43494   case 2012:
43495 #line 13633 "gram.y" /* yacc.c:1652  */
43496     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43497 #line 43498 "gram.c" /* yacc.c:1652  */
43498     break;
43499 
43500   case 2013:
43501 #line 13635 "gram.y" /* yacc.c:1652  */
43502     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43503 #line 43504 "gram.c" /* yacc.c:1652  */
43504     break;
43505 
43506   case 2014:
43507 #line 13637 "gram.y" /* yacc.c:1652  */
43508     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43509 #line 43510 "gram.c" /* yacc.c:1652  */
43510     break;
43511 
43512   case 2015:
43513 #line 13639 "gram.y" /* yacc.c:1652  */
43514     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<>", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43515 #line 43516 "gram.c" /* yacc.c:1652  */
43516     break;
43517 
43518   case 2016:
43519 #line 13641 "gram.y" /* yacc.c:1652  */
43520     { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43521 #line 43522 "gram.c" /* yacc.c:1652  */
43522     break;
43523 
43524   case 2017:
43525 #line 13643 "gram.y" /* yacc.c:1652  */
43526     { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), NULL, (yyvsp[0].node), (yylsp[-1])); }
43527 #line 43528 "gram.c" /* yacc.c:1652  */
43528     break;
43529 
43530   case 2018:
43531 #line 13645 "gram.y" /* yacc.c:1652  */
43532     { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[0].list), (yyvsp[-1].node), NULL, (yylsp[0])); }
43533 #line 43534 "gram.c" /* yacc.c:1652  */
43534     break;
43535 
43536   case 2019:
43537 #line 13647 "gram.y" /* yacc.c:1652  */
43538     {
43539 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", (yyvsp[-4].node), (yyvsp[0].node), (yylsp[-3]));
43540 				}
43541 #line 43542 "gram.c" /* yacc.c:1652  */
43542     break;
43543 
43544   case 2020:
43545 #line 13651 "gram.y" /* yacc.c:1652  */
43546     {
43547 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_DISTINCT, "=", (yyvsp[-5].node), (yyvsp[0].node), (yylsp[-4]));
43548 				}
43549 #line 43550 "gram.c" /* yacc.c:1652  */
43550     break;
43551 
43552   case 2021:
43553 #line 13655 "gram.y" /* yacc.c:1652  */
43554     {
43555 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "=", (yyvsp[-5].node), (Node *) (yyvsp[-1].list), (yylsp[-4]));
43556 				}
43557 #line 43558 "gram.c" /* yacc.c:1652  */
43558     break;
43559 
43560   case 2022:
43561 #line 13659 "gram.y" /* yacc.c:1652  */
43562     {
43563 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "<>", (yyvsp[-6].node), (Node *) (yyvsp[-1].list), (yylsp[-5]));
43564 				}
43565 #line 43566 "gram.c" /* yacc.c:1652  */
43566     break;
43567 
43568   case 2023:
43569 #line 13663 "gram.y" /* yacc.c:1652  */
43570     {
43571 					(yyval.node) = makeXmlExpr(IS_DOCUMENT, NULL, NIL,
43572 									 list_make1((yyvsp[-2].node)), (yylsp[-1]));
43573 				}
43574 #line 43575 "gram.c" /* yacc.c:1652  */
43575     break;
43576 
43577   case 2024:
43578 #line 13668 "gram.y" /* yacc.c:1652  */
43579     {
43580 					(yyval.node) = makeNotExpr(makeXmlExpr(IS_DOCUMENT, NULL, NIL,
43581 												 list_make1((yyvsp[-3].node)), (yylsp[-2])),
43582 									 (yylsp[-2]));
43583 				}
43584 #line 43585 "gram.c" /* yacc.c:1652  */
43585     break;
43586 
43587   case 2025:
43588 #line 13683 "gram.y" /* yacc.c:1652  */
43589     { (yyval.node) = (yyvsp[0].node); }
43590 #line 43591 "gram.c" /* yacc.c:1652  */
43591     break;
43592 
43593   case 2026:
43594 #line 13684 "gram.y" /* yacc.c:1652  */
43595     { (yyval.node) = (yyvsp[0].node); }
43596 #line 43597 "gram.c" /* yacc.c:1652  */
43597     break;
43598 
43599   case 2027:
43600 #line 13686 "gram.y" /* yacc.c:1652  */
43601     {
43602 					ParamRef *p = makeNode(ParamRef);
43603 					p->number = (yyvsp[-1].ival);
43604 					p->location = (yylsp[-1]);
43605 					if ((yyvsp[0].list))
43606 					{
43607 						A_Indirection *n = makeNode(A_Indirection);
43608 						n->arg = (Node *) p;
43609 						n->indirection = check_indirection((yyvsp[0].list), yyscanner);
43610 						(yyval.node) = (Node *) n;
43611 					}
43612 					else
43613 						(yyval.node) = (Node *) p;
43614 				}
43615 #line 43616 "gram.c" /* yacc.c:1652  */
43616     break;
43617 
43618   case 2028:
43619 #line 13701 "gram.y" /* yacc.c:1652  */
43620     {
43621 					if ((yyvsp[0].list))
43622 					{
43623 						A_Indirection *n = makeNode(A_Indirection);
43624 						n->arg = (yyvsp[-2].node);
43625 						n->indirection = check_indirection((yyvsp[0].list), yyscanner);
43626 						(yyval.node) = (Node *)n;
43627 					}
43628 					else if (operator_precedence_warning)
43629 					{
43630 						/*
43631 						 * If precedence warnings are enabled, insert
43632 						 * AEXPR_PAREN nodes wrapping all explicitly
43633 						 * parenthesized subexpressions; this prevents bogus
43634 						 * warnings from being issued when the ordering has
43635 						 * been forced by parentheses.  Take care that an
43636 						 * AEXPR_PAREN node has the same exprLocation as its
43637 						 * child, so as not to cause surprising changes in
43638 						 * error cursor positioning.
43639 						 *
43640 						 * In principle we should not be relying on a GUC to
43641 						 * decide whether to insert AEXPR_PAREN nodes.
43642 						 * However, since they have no effect except to
43643 						 * suppress warnings, it's probably safe enough; and
43644 						 * we'd just as soon not waste cycles on dummy parse
43645 						 * nodes if we don't have to.
43646 						 */
43647 						(yyval.node) = (Node *) makeA_Expr(AEXPR_PAREN, NIL, (yyvsp[-2].node), NULL,
43648 												 exprLocation((yyvsp[-2].node)));
43649 					}
43650 					else
43651 						(yyval.node) = (yyvsp[-2].node);
43652 				}
43653 #line 43654 "gram.c" /* yacc.c:1652  */
43654     break;
43655 
43656   case 2029:
43657 #line 13735 "gram.y" /* yacc.c:1652  */
43658     { (yyval.node) = (yyvsp[0].node); }
43659 #line 43660 "gram.c" /* yacc.c:1652  */
43660     break;
43661 
43662   case 2030:
43663 #line 13737 "gram.y" /* yacc.c:1652  */
43664     { (yyval.node) = (yyvsp[0].node); }
43665 #line 43666 "gram.c" /* yacc.c:1652  */
43666     break;
43667 
43668   case 2031:
43669 #line 13739 "gram.y" /* yacc.c:1652  */
43670     {
43671 					SubLink *n = makeNode(SubLink);
43672 					n->subLinkType = EXPR_SUBLINK;
43673 					n->subLinkId = 0;
43674 					n->testexpr = NULL;
43675 					n->operName = NIL;
43676 					n->subselect = (yyvsp[0].node);
43677 					n->location = (yylsp[0]);
43678 					(yyval.node) = (Node *)n;
43679 				}
43680 #line 43681 "gram.c" /* yacc.c:1652  */
43681     break;
43682 
43683   case 2032:
43684 #line 13750 "gram.y" /* yacc.c:1652  */
43685     {
43686 					/*
43687 					 * Because the select_with_parens nonterminal is designed
43688 					 * to "eat" as many levels of parens as possible, the
43689 					 * '(' a_expr ')' opt_indirection production above will
43690 					 * fail to match a sub-SELECT with indirection decoration;
43691 					 * the sub-SELECT won't be regarded as an a_expr as long
43692 					 * as there are parens around it.  To support applying
43693 					 * subscripting or field selection to a sub-SELECT result,
43694 					 * we need this redundant-looking production.
43695 					 */
43696 					SubLink *n = makeNode(SubLink);
43697 					A_Indirection *a = makeNode(A_Indirection);
43698 					n->subLinkType = EXPR_SUBLINK;
43699 					n->subLinkId = 0;
43700 					n->testexpr = NULL;
43701 					n->operName = NIL;
43702 					n->subselect = (yyvsp[-1].node);
43703 					n->location = (yylsp[-1]);
43704 					a->arg = (Node *)n;
43705 					a->indirection = check_indirection((yyvsp[0].list), yyscanner);
43706 					(yyval.node) = (Node *)a;
43707 				}
43708 #line 43709 "gram.c" /* yacc.c:1652  */
43709     break;
43710 
43711   case 2033:
43712 #line 13774 "gram.y" /* yacc.c:1652  */
43713     {
43714 					SubLink *n = makeNode(SubLink);
43715 					n->subLinkType = EXISTS_SUBLINK;
43716 					n->subLinkId = 0;
43717 					n->testexpr = NULL;
43718 					n->operName = NIL;
43719 					n->subselect = (yyvsp[0].node);
43720 					n->location = (yylsp[-1]);
43721 					(yyval.node) = (Node *)n;
43722 				}
43723 #line 43724 "gram.c" /* yacc.c:1652  */
43724     break;
43725 
43726   case 2034:
43727 #line 13785 "gram.y" /* yacc.c:1652  */
43728     {
43729 					SubLink *n = makeNode(SubLink);
43730 					n->subLinkType = ARRAY_SUBLINK;
43731 					n->subLinkId = 0;
43732 					n->testexpr = NULL;
43733 					n->operName = NIL;
43734 					n->subselect = (yyvsp[0].node);
43735 					n->location = (yylsp[-1]);
43736 					(yyval.node) = (Node *)n;
43737 				}
43738 #line 43739 "gram.c" /* yacc.c:1652  */
43739     break;
43740 
43741   case 2035:
43742 #line 13796 "gram.y" /* yacc.c:1652  */
43743     {
43744 					A_ArrayExpr *n = castNode(A_ArrayExpr, (yyvsp[0].node));
43745 					/* point outermost A_ArrayExpr to the ARRAY keyword */
43746 					n->location = (yylsp[-1]);
43747 					(yyval.node) = (Node *)n;
43748 				}
43749 #line 43750 "gram.c" /* yacc.c:1652  */
43750     break;
43751 
43752   case 2036:
43753 #line 13803 "gram.y" /* yacc.c:1652  */
43754     {
43755 					RowExpr *r = makeNode(RowExpr);
43756 					r->args = (yyvsp[0].list);
43757 					r->row_typeid = InvalidOid;	/* not analyzed yet */
43758 					r->colnames = NIL;	/* to be filled in during analysis */
43759 					r->row_format = COERCE_EXPLICIT_CALL; /* abuse */
43760 					r->location = (yylsp[0]);
43761 					(yyval.node) = (Node *)r;
43762 				}
43763 #line 43764 "gram.c" /* yacc.c:1652  */
43764     break;
43765 
43766   case 2037:
43767 #line 13813 "gram.y" /* yacc.c:1652  */
43768     {
43769 					RowExpr *r = makeNode(RowExpr);
43770 					r->args = (yyvsp[0].list);
43771 					r->row_typeid = InvalidOid;	/* not analyzed yet */
43772 					r->colnames = NIL;	/* to be filled in during analysis */
43773 					r->row_format = COERCE_IMPLICIT_CAST; /* abuse */
43774 					r->location = (yylsp[0]);
43775 					(yyval.node) = (Node *)r;
43776 				}
43777 #line 43778 "gram.c" /* yacc.c:1652  */
43778     break;
43779 
43780   case 2038:
43781 #line 13823 "gram.y" /* yacc.c:1652  */
43782     {
43783 				  GroupingFunc *g = makeNode(GroupingFunc);
43784 				  g->args = (yyvsp[-1].list);
43785 				  g->location = (yylsp[-3]);
43786 				  (yyval.node) = (Node *)g;
43787 			  }
43788 #line 43789 "gram.c" /* yacc.c:1652  */
43789     break;
43790 
43791   case 2039:
43792 #line 13832 "gram.y" /* yacc.c:1652  */
43793     {
43794 					(yyval.node) = (Node *) makeFuncCall((yyvsp[-2].list), NIL, (yylsp[-2]));
43795 				}
43796 #line 43797 "gram.c" /* yacc.c:1652  */
43797     break;
43798 
43799   case 2040:
43800 #line 13836 "gram.y" /* yacc.c:1652  */
43801     {
43802 					FuncCall *n = makeFuncCall((yyvsp[-4].list), (yyvsp[-2].list), (yylsp[-4]));
43803 					n->agg_order = (yyvsp[-1].list);
43804 					(yyval.node) = (Node *)n;
43805 				}
43806 #line 43807 "gram.c" /* yacc.c:1652  */
43807     break;
43808 
43809   case 2041:
43810 #line 13842 "gram.y" /* yacc.c:1652  */
43811     {
43812 					FuncCall *n = makeFuncCall((yyvsp[-5].list), list_make1((yyvsp[-2].node)), (yylsp[-5]));
43813 					n->func_variadic = true;
43814 					n->agg_order = (yyvsp[-1].list);
43815 					(yyval.node) = (Node *)n;
43816 				}
43817 #line 43818 "gram.c" /* yacc.c:1652  */
43818     break;
43819 
43820   case 2042:
43821 #line 13849 "gram.y" /* yacc.c:1652  */
43822     {
43823 					FuncCall *n = makeFuncCall((yyvsp[-7].list), lappend((yyvsp[-5].list), (yyvsp[-2].node)), (yylsp[-7]));
43824 					n->func_variadic = true;
43825 					n->agg_order = (yyvsp[-1].list);
43826 					(yyval.node) = (Node *)n;
43827 				}
43828 #line 43829 "gram.c" /* yacc.c:1652  */
43829     break;
43830 
43831   case 2043:
43832 #line 13856 "gram.y" /* yacc.c:1652  */
43833     {
43834 					FuncCall *n = makeFuncCall((yyvsp[-5].list), (yyvsp[-2].list), (yylsp[-5]));
43835 					n->agg_order = (yyvsp[-1].list);
43836 					/* Ideally we'd mark the FuncCall node to indicate
43837 					 * "must be an aggregate", but there's no provision
43838 					 * for that in FuncCall at the moment.
43839 					 */
43840 					(yyval.node) = (Node *)n;
43841 				}
43842 #line 43843 "gram.c" /* yacc.c:1652  */
43843     break;
43844 
43845   case 2044:
43846 #line 13866 "gram.y" /* yacc.c:1652  */
43847     {
43848 					FuncCall *n = makeFuncCall((yyvsp[-5].list), (yyvsp[-2].list), (yylsp[-5]));
43849 					n->agg_order = (yyvsp[-1].list);
43850 					n->agg_distinct = true;
43851 					(yyval.node) = (Node *)n;
43852 				}
43853 #line 43854 "gram.c" /* yacc.c:1652  */
43854     break;
43855 
43856   case 2045:
43857 #line 13873 "gram.y" /* yacc.c:1652  */
43858     {
43859 					/*
43860 					 * We consider AGGREGATE(*) to invoke a parameterless
43861 					 * aggregate.  This does the right thing for COUNT(*),
43862 					 * and there are no other aggregates in SQL that accept
43863 					 * '*' as parameter.
43864 					 *
43865 					 * The FuncCall node is also marked agg_star = true,
43866 					 * so that later processing can detect what the argument
43867 					 * really was.
43868 					 */
43869 					FuncCall *n = makeFuncCall((yyvsp[-3].list), NIL, (yylsp[-3]));
43870 					n->agg_star = true;
43871 					(yyval.node) = (Node *)n;
43872 				}
43873 #line 43874 "gram.c" /* yacc.c:1652  */
43874     break;
43875 
43876   case 2046:
43877 #line 13901 "gram.y" /* yacc.c:1652  */
43878     {
43879 					FuncCall *n = (FuncCall *) (yyvsp[-3].node);
43880 					/*
43881 					 * The order clause for WITHIN GROUP and the one for
43882 					 * plain-aggregate ORDER BY share a field, so we have to
43883 					 * check here that at most one is present.  We also check
43884 					 * for DISTINCT and VARIADIC here to give a better error
43885 					 * location.  Other consistency checks are deferred to
43886 					 * parse analysis.
43887 					 */
43888 					if ((yyvsp[-2].list) != NIL)
43889 					{
43890 						if (n->agg_order != NIL)
43891 							ereport(ERROR,
43892 									(errcode(ERRCODE_SYNTAX_ERROR),
43893 									 errmsg("cannot use multiple ORDER BY clauses with WITHIN GROUP"),
43894 									 parser_errposition((yylsp[-2]))));
43895 						if (n->agg_distinct)
43896 							ereport(ERROR,
43897 									(errcode(ERRCODE_SYNTAX_ERROR),
43898 									 errmsg("cannot use DISTINCT with WITHIN GROUP"),
43899 									 parser_errposition((yylsp[-2]))));
43900 						if (n->func_variadic)
43901 							ereport(ERROR,
43902 									(errcode(ERRCODE_SYNTAX_ERROR),
43903 									 errmsg("cannot use VARIADIC with WITHIN GROUP"),
43904 									 parser_errposition((yylsp[-2]))));
43905 						n->agg_order = (yyvsp[-2].list);
43906 						n->agg_within_group = true;
43907 					}
43908 					n->agg_filter = (yyvsp[-1].node);
43909 					n->over = (yyvsp[0].windef);
43910 					(yyval.node) = (Node *) n;
43911 				}
43912 #line 43913 "gram.c" /* yacc.c:1652  */
43913     break;
43914 
43915   case 2047:
43916 #line 13936 "gram.y" /* yacc.c:1652  */
43917     { (yyval.node) = (yyvsp[0].node); }
43918 #line 43919 "gram.c" /* yacc.c:1652  */
43919     break;
43920 
43921   case 2048:
43922 #line 13946 "gram.y" /* yacc.c:1652  */
43923     { (yyval.node) = (yyvsp[0].node); }
43924 #line 43925 "gram.c" /* yacc.c:1652  */
43925     break;
43926 
43927   case 2049:
43928 #line 13947 "gram.y" /* yacc.c:1652  */
43929     { (yyval.node) = (yyvsp[0].node); }
43930 #line 43931 "gram.c" /* yacc.c:1652  */
43931     break;
43932 
43933   case 2050:
43934 #line 13955 "gram.y" /* yacc.c:1652  */
43935     {
43936 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("pg_collation_for"),
43937 											   list_make1((yyvsp[-1].node)),
43938 											   (yylsp[-4]));
43939 				}
43940 #line 43941 "gram.c" /* yacc.c:1652  */
43941     break;
43942 
43943   case 2051:
43944 #line 13961 "gram.y" /* yacc.c:1652  */
43945     {
43946 					(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_DATE, -1, (yylsp[0]));
43947 				}
43948 #line 43949 "gram.c" /* yacc.c:1652  */
43949     break;
43950 
43951   case 2052:
43952 #line 13965 "gram.y" /* yacc.c:1652  */
43953     {
43954 					(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIME, -1, (yylsp[0]));
43955 				}
43956 #line 43957 "gram.c" /* yacc.c:1652  */
43957     break;
43958 
43959   case 2053:
43960 #line 13969 "gram.y" /* yacc.c:1652  */
43961     {
43962 					(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIME_N, (yyvsp[-1].ival), (yylsp[-3]));
43963 				}
43964 #line 43965 "gram.c" /* yacc.c:1652  */
43965     break;
43966 
43967   case 2054:
43968 #line 13973 "gram.y" /* yacc.c:1652  */
43969     {
43970 					(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIMESTAMP, -1, (yylsp[0]));
43971 				}
43972 #line 43973 "gram.c" /* yacc.c:1652  */
43973     break;
43974 
43975   case 2055:
43976 #line 13977 "gram.y" /* yacc.c:1652  */
43977     {
43978 					(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIMESTAMP_N, (yyvsp[-1].ival), (yylsp[-3]));
43979 				}
43980 #line 43981 "gram.c" /* yacc.c:1652  */
43981     break;
43982 
43983   case 2056:
43984 #line 13981 "gram.y" /* yacc.c:1652  */
43985     {
43986 					(yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIME, -1, (yylsp[0]));
43987 				}
43988 #line 43989 "gram.c" /* yacc.c:1652  */
43989     break;
43990 
43991   case 2057:
43992 #line 13985 "gram.y" /* yacc.c:1652  */
43993     {
43994 					(yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIME_N, (yyvsp[-1].ival), (yylsp[-3]));
43995 				}
43996 #line 43997 "gram.c" /* yacc.c:1652  */
43997     break;
43998 
43999   case 2058:
44000 #line 13989 "gram.y" /* yacc.c:1652  */
44001     {
44002 					(yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIMESTAMP, -1, (yylsp[0]));
44003 				}
44004 #line 44005 "gram.c" /* yacc.c:1652  */
44005     break;
44006 
44007   case 2059:
44008 #line 13993 "gram.y" /* yacc.c:1652  */
44009     {
44010 					(yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIMESTAMP_N, (yyvsp[-1].ival), (yylsp[-3]));
44011 				}
44012 #line 44013 "gram.c" /* yacc.c:1652  */
44013     break;
44014 
44015   case 2060:
44016 #line 13997 "gram.y" /* yacc.c:1652  */
44017     {
44018 					(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_ROLE, -1, (yylsp[0]));
44019 				}
44020 #line 44021 "gram.c" /* yacc.c:1652  */
44021     break;
44022 
44023   case 2061:
44024 #line 14001 "gram.y" /* yacc.c:1652  */
44025     {
44026 					(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_USER, -1, (yylsp[0]));
44027 				}
44028 #line 44029 "gram.c" /* yacc.c:1652  */
44029     break;
44030 
44031   case 2062:
44032 #line 14005 "gram.y" /* yacc.c:1652  */
44033     {
44034 					(yyval.node) = makeSQLValueFunction(SVFOP_SESSION_USER, -1, (yylsp[0]));
44035 				}
44036 #line 44037 "gram.c" /* yacc.c:1652  */
44037     break;
44038 
44039   case 2063:
44040 #line 14009 "gram.y" /* yacc.c:1652  */
44041     {
44042 					(yyval.node) = makeSQLValueFunction(SVFOP_USER, -1, (yylsp[0]));
44043 				}
44044 #line 44045 "gram.c" /* yacc.c:1652  */
44045     break;
44046 
44047   case 2064:
44048 #line 14013 "gram.y" /* yacc.c:1652  */
44049     {
44050 					(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_CATALOG, -1, (yylsp[0]));
44051 				}
44052 #line 44053 "gram.c" /* yacc.c:1652  */
44053     break;
44054 
44055   case 2065:
44056 #line 14017 "gram.y" /* yacc.c:1652  */
44057     {
44058 					(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_SCHEMA, -1, (yylsp[0]));
44059 				}
44060 #line 44061 "gram.c" /* yacc.c:1652  */
44061     break;
44062 
44063   case 2066:
44064 #line 14021 "gram.y" /* yacc.c:1652  */
44065     { (yyval.node) = makeTypeCast((yyvsp[-3].node), (yyvsp[-1].typnam), (yylsp[-5])); }
44066 #line 44067 "gram.c" /* yacc.c:1652  */
44067     break;
44068 
44069   case 2067:
44070 #line 14023 "gram.y" /* yacc.c:1652  */
44071     {
44072 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("date_part"), (yyvsp[-1].list), (yylsp[-3]));
44073 				}
44074 #line 44075 "gram.c" /* yacc.c:1652  */
44075     break;
44076 
44077   case 2068:
44078 #line 14027 "gram.y" /* yacc.c:1652  */
44079     {
44080 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("normalize"), list_make1((yyvsp[-1].node)), (yylsp[-3]));
44081 				}
44082 #line 44083 "gram.c" /* yacc.c:1652  */
44083     break;
44084 
44085   case 2069:
44086 #line 14031 "gram.y" /* yacc.c:1652  */
44087     {
44088 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("normalize"), list_make2((yyvsp[-3].node), makeStringConst((yyvsp[-1].str), (yylsp[-1]))), (yylsp[-5]));
44089 				}
44090 #line 44091 "gram.c" /* yacc.c:1652  */
44091     break;
44092 
44093   case 2070:
44094 #line 14035 "gram.y" /* yacc.c:1652  */
44095     {
44096 					/* overlay(A PLACING B FROM C FOR D) is converted to
44097 					 * overlay(A, B, C, D)
44098 					 * overlay(A PLACING B FROM C) is converted to
44099 					 * overlay(A, B, C)
44100 					 */
44101 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("overlay"), (yyvsp[-1].list), (yylsp[-3]));
44102 				}
44103 #line 44104 "gram.c" /* yacc.c:1652  */
44104     break;
44105 
44106   case 2071:
44107 #line 14044 "gram.y" /* yacc.c:1652  */
44108     {
44109 					/* position(A in B) is converted to position(B, A) */
44110 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("position"), (yyvsp[-1].list), (yylsp[-3]));
44111 				}
44112 #line 44113 "gram.c" /* yacc.c:1652  */
44113     break;
44114 
44115   case 2072:
44116 #line 14049 "gram.y" /* yacc.c:1652  */
44117     {
44118 					/* substring(A from B for C) is converted to
44119 					 * substring(A, B, C) - thomas 2000-11-28
44120 					 */
44121 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("substring"), (yyvsp[-1].list), (yylsp[-3]));
44122 				}
44123 #line 44124 "gram.c" /* yacc.c:1652  */
44124     break;
44125 
44126   case 2073:
44127 #line 14056 "gram.y" /* yacc.c:1652  */
44128     {
44129 					/* TREAT(expr AS target) converts expr of a particular type to target,
44130 					 * which is defined to be a subtype of the original expression.
44131 					 * In SQL99, this is intended for use with structured UDTs,
44132 					 * but let's make this a generally useful form allowing stronger
44133 					 * coercions than are handled by implicit casting.
44134 					 *
44135 					 * Convert SystemTypeName() to SystemFuncName() even though
44136 					 * at the moment they result in the same thing.
44137 					 */
44138 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName(((Value *)llast((yyvsp[-1].typnam)->names))->val.str),
44139 												list_make1((yyvsp[-3].node)),
44140 												(yylsp[-5]));
44141 				}
44142 #line 44143 "gram.c" /* yacc.c:1652  */
44143     break;
44144 
44145   case 2074:
44146 #line 14071 "gram.y" /* yacc.c:1652  */
44147     {
44148 					/* various trim expressions are defined in SQL
44149 					 * - thomas 1997-07-19
44150 					 */
44151 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("btrim"), (yyvsp[-1].list), (yylsp[-4]));
44152 				}
44153 #line 44154 "gram.c" /* yacc.c:1652  */
44154     break;
44155 
44156   case 2075:
44157 #line 14078 "gram.y" /* yacc.c:1652  */
44158     {
44159 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("ltrim"), (yyvsp[-1].list), (yylsp[-4]));
44160 				}
44161 #line 44162 "gram.c" /* yacc.c:1652  */
44162     break;
44163 
44164   case 2076:
44165 #line 14082 "gram.y" /* yacc.c:1652  */
44166     {
44167 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("rtrim"), (yyvsp[-1].list), (yylsp[-4]));
44168 				}
44169 #line 44170 "gram.c" /* yacc.c:1652  */
44170     break;
44171 
44172   case 2077:
44173 #line 14086 "gram.y" /* yacc.c:1652  */
44174     {
44175 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("btrim"), (yyvsp[-1].list), (yylsp[-3]));
44176 				}
44177 #line 44178 "gram.c" /* yacc.c:1652  */
44178     break;
44179 
44180   case 2078:
44181 #line 14090 "gram.y" /* yacc.c:1652  */
44182     {
44183 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NULLIF, "=", (yyvsp[-3].node), (yyvsp[-1].node), (yylsp[-5]));
44184 				}
44185 #line 44186 "gram.c" /* yacc.c:1652  */
44186     break;
44187 
44188   case 2079:
44189 #line 14094 "gram.y" /* yacc.c:1652  */
44190     {
44191 					CoalesceExpr *c = makeNode(CoalesceExpr);
44192 					c->args = (yyvsp[-1].list);
44193 					c->location = (yylsp[-3]);
44194 					(yyval.node) = (Node *)c;
44195 				}
44196 #line 44197 "gram.c" /* yacc.c:1652  */
44197     break;
44198 
44199   case 2080:
44200 #line 14101 "gram.y" /* yacc.c:1652  */
44201     {
44202 					MinMaxExpr *v = makeNode(MinMaxExpr);
44203 					v->args = (yyvsp[-1].list);
44204 					v->op = IS_GREATEST;
44205 					v->location = (yylsp[-3]);
44206 					(yyval.node) = (Node *)v;
44207 				}
44208 #line 44209 "gram.c" /* yacc.c:1652  */
44209     break;
44210 
44211   case 2081:
44212 #line 14109 "gram.y" /* yacc.c:1652  */
44213     {
44214 					MinMaxExpr *v = makeNode(MinMaxExpr);
44215 					v->args = (yyvsp[-1].list);
44216 					v->op = IS_LEAST;
44217 					v->location = (yylsp[-3]);
44218 					(yyval.node) = (Node *)v;
44219 				}
44220 #line 44221 "gram.c" /* yacc.c:1652  */
44221     break;
44222 
44223   case 2082:
44224 #line 14117 "gram.y" /* yacc.c:1652  */
44225     {
44226 					(yyval.node) = makeXmlExpr(IS_XMLCONCAT, NULL, NIL, (yyvsp[-1].list), (yylsp[-3]));
44227 				}
44228 #line 44229 "gram.c" /* yacc.c:1652  */
44229     break;
44230 
44231   case 2083:
44232 #line 14121 "gram.y" /* yacc.c:1652  */
44233     {
44234 					(yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-1].str), NIL, NIL, (yylsp[-4]));
44235 				}
44236 #line 44237 "gram.c" /* yacc.c:1652  */
44237     break;
44238 
44239   case 2084:
44240 #line 14125 "gram.y" /* yacc.c:1652  */
44241     {
44242 					(yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-3].str), (yyvsp[-1].list), NIL, (yylsp[-6]));
44243 				}
44244 #line 44245 "gram.c" /* yacc.c:1652  */
44245     break;
44246 
44247   case 2085:
44248 #line 14129 "gram.y" /* yacc.c:1652  */
44249     {
44250 					(yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-3].str), NIL, (yyvsp[-1].list), (yylsp[-6]));
44251 				}
44252 #line 44253 "gram.c" /* yacc.c:1652  */
44253     break;
44254 
44255   case 2086:
44256 #line 14133 "gram.y" /* yacc.c:1652  */
44257     {
44258 					(yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-5].str), (yyvsp[-3].list), (yyvsp[-1].list), (yylsp[-8]));
44259 				}
44260 #line 44261 "gram.c" /* yacc.c:1652  */
44261     break;
44262 
44263   case 2087:
44264 #line 14137 "gram.y" /* yacc.c:1652  */
44265     {
44266 					/* xmlexists(A PASSING [BY REF] B [BY REF]) is
44267 					 * converted to xmlexists(A, B)*/
44268 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("xmlexists"), list_make2((yyvsp[-2].node), (yyvsp[-1].node)), (yylsp[-4]));
44269 				}
44270 #line 44271 "gram.c" /* yacc.c:1652  */
44271     break;
44272 
44273   case 2088:
44274 #line 14143 "gram.y" /* yacc.c:1652  */
44275     {
44276 					(yyval.node) = makeXmlExpr(IS_XMLFOREST, NULL, (yyvsp[-1].list), NIL, (yylsp[-3]));
44277 				}
44278 #line 44279 "gram.c" /* yacc.c:1652  */
44279     break;
44280 
44281   case 2089:
44282 #line 14147 "gram.y" /* yacc.c:1652  */
44283     {
44284 					XmlExpr *x = (XmlExpr *)
44285 						makeXmlExpr(IS_XMLPARSE, NULL, NIL,
44286 									list_make2((yyvsp[-2].node), makeBoolAConst((yyvsp[-1].boolean), -1)),
44287 									(yylsp[-5]));
44288 					x->xmloption = (yyvsp[-3].ival);
44289 					(yyval.node) = (Node *)x;
44290 				}
44291 #line 44292 "gram.c" /* yacc.c:1652  */
44292     break;
44293 
44294   case 2090:
44295 #line 14156 "gram.y" /* yacc.c:1652  */
44296     {
44297 					(yyval.node) = makeXmlExpr(IS_XMLPI, (yyvsp[-1].str), NULL, NIL, (yylsp[-4]));
44298 				}
44299 #line 44300 "gram.c" /* yacc.c:1652  */
44300     break;
44301 
44302   case 2091:
44303 #line 14160 "gram.y" /* yacc.c:1652  */
44304     {
44305 					(yyval.node) = makeXmlExpr(IS_XMLPI, (yyvsp[-3].str), NULL, list_make1((yyvsp[-1].node)), (yylsp[-6]));
44306 				}
44307 #line 44308 "gram.c" /* yacc.c:1652  */
44308     break;
44309 
44310   case 2092:
44311 #line 14164 "gram.y" /* yacc.c:1652  */
44312     {
44313 					(yyval.node) = makeXmlExpr(IS_XMLROOT, NULL, NIL,
44314 									 list_make3((yyvsp[-4].node), (yyvsp[-2].node), (yyvsp[-1].node)), (yylsp[-6]));
44315 				}
44316 #line 44317 "gram.c" /* yacc.c:1652  */
44317     break;
44318 
44319   case 2093:
44320 #line 14169 "gram.y" /* yacc.c:1652  */
44321     {
44322 					XmlSerialize *n = makeNode(XmlSerialize);
44323 					n->xmloption = (yyvsp[-4].ival);
44324 					n->expr = (yyvsp[-3].node);
44325 					n->typeName = (yyvsp[-1].typnam);
44326 					n->location = (yylsp[-6]);
44327 					(yyval.node) = (Node *)n;
44328 				}
44329 #line 44330 "gram.c" /* yacc.c:1652  */
44330     break;
44331 
44332   case 2094:
44333 #line 14183 "gram.y" /* yacc.c:1652  */
44334     { (yyval.node) = (yyvsp[0].node); }
44335 #line 44336 "gram.c" /* yacc.c:1652  */
44336     break;
44337 
44338   case 2095:
44339 #line 14185 "gram.y" /* yacc.c:1652  */
44340     { (yyval.node) = makeNullAConst(-1); }
44341 #line 44342 "gram.c" /* yacc.c:1652  */
44342     break;
44343 
44344   case 2096:
44345 #line 14189 "gram.y" /* yacc.c:1652  */
44346     { (yyval.node) = makeIntConst(XML_STANDALONE_YES, -1); }
44347 #line 44348 "gram.c" /* yacc.c:1652  */
44348     break;
44349 
44350   case 2097:
44351 #line 14191 "gram.y" /* yacc.c:1652  */
44352     { (yyval.node) = makeIntConst(XML_STANDALONE_NO, -1); }
44353 #line 44354 "gram.c" /* yacc.c:1652  */
44354     break;
44355 
44356   case 2098:
44357 #line 14193 "gram.y" /* yacc.c:1652  */
44358     { (yyval.node) = makeIntConst(XML_STANDALONE_NO_VALUE, -1); }
44359 #line 44360 "gram.c" /* yacc.c:1652  */
44360     break;
44361 
44362   case 2099:
44363 #line 14195 "gram.y" /* yacc.c:1652  */
44364     { (yyval.node) = makeIntConst(XML_STANDALONE_OMITTED, -1); }
44365 #line 44366 "gram.c" /* yacc.c:1652  */
44366     break;
44367 
44368   case 2100:
44369 #line 14198 "gram.y" /* yacc.c:1652  */
44370     { (yyval.list) = (yyvsp[-1].list); }
44371 #line 44372 "gram.c" /* yacc.c:1652  */
44372     break;
44373 
44374   case 2101:
44375 #line 14201 "gram.y" /* yacc.c:1652  */
44376     { (yyval.list) = list_make1((yyvsp[0].target)); }
44377 #line 44378 "gram.c" /* yacc.c:1652  */
44378     break;
44379 
44380   case 2102:
44381 #line 14202 "gram.y" /* yacc.c:1652  */
44382     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
44383 #line 44384 "gram.c" /* yacc.c:1652  */
44384     break;
44385 
44386   case 2103:
44387 #line 14206 "gram.y" /* yacc.c:1652  */
44388     {
44389 					(yyval.target) = makeNode(ResTarget);
44390 					(yyval.target)->name = (yyvsp[0].str);
44391 					(yyval.target)->indirection = NIL;
44392 					(yyval.target)->val = (Node *) (yyvsp[-2].node);
44393 					(yyval.target)->location = (yylsp[-2]);
44394 				}
44395 #line 44396 "gram.c" /* yacc.c:1652  */
44396     break;
44397 
44398   case 2104:
44399 #line 14214 "gram.y" /* yacc.c:1652  */
44400     {
44401 					(yyval.target) = makeNode(ResTarget);
44402 					(yyval.target)->name = NULL;
44403 					(yyval.target)->indirection = NIL;
44404 					(yyval.target)->val = (Node *) (yyvsp[0].node);
44405 					(yyval.target)->location = (yylsp[0]);
44406 				}
44407 #line 44408 "gram.c" /* yacc.c:1652  */
44408     break;
44409 
44410   case 2105:
44411 #line 14223 "gram.y" /* yacc.c:1652  */
44412     { (yyval.ival) = XMLOPTION_DOCUMENT; }
44413 #line 44414 "gram.c" /* yacc.c:1652  */
44414     break;
44415 
44416   case 2106:
44417 #line 14224 "gram.y" /* yacc.c:1652  */
44418     { (yyval.ival) = XMLOPTION_CONTENT; }
44419 #line 44420 "gram.c" /* yacc.c:1652  */
44420     break;
44421 
44422   case 2107:
44423 #line 14227 "gram.y" /* yacc.c:1652  */
44424     { (yyval.boolean) = true; }
44425 #line 44426 "gram.c" /* yacc.c:1652  */
44426     break;
44427 
44428   case 2108:
44429 #line 14228 "gram.y" /* yacc.c:1652  */
44430     { (yyval.boolean) = false; }
44431 #line 44432 "gram.c" /* yacc.c:1652  */
44432     break;
44433 
44434   case 2109:
44435 #line 14229 "gram.y" /* yacc.c:1652  */
44436     { (yyval.boolean) = false; }
44437 #line 44438 "gram.c" /* yacc.c:1652  */
44438     break;
44439 
44440   case 2110:
44441 #line 14235 "gram.y" /* yacc.c:1652  */
44442     {
44443 					(yyval.node) = (yyvsp[0].node);
44444 				}
44445 #line 44446 "gram.c" /* yacc.c:1652  */
44446     break;
44447 
44448   case 2111:
44449 #line 14239 "gram.y" /* yacc.c:1652  */
44450     {
44451 					(yyval.node) = (yyvsp[-1].node);
44452 				}
44453 #line 44454 "gram.c" /* yacc.c:1652  */
44454     break;
44455 
44456   case 2112:
44457 #line 14243 "gram.y" /* yacc.c:1652  */
44458     {
44459 					(yyval.node) = (yyvsp[0].node);
44460 				}
44461 #line 44462 "gram.c" /* yacc.c:1652  */
44462     break;
44463 
44464   case 2113:
44465 #line 14247 "gram.y" /* yacc.c:1652  */
44466     {
44467 					(yyval.node) = (yyvsp[-1].node);
44468 				}
44469 #line 44470 "gram.c" /* yacc.c:1652  */
44470     break;
44471 
44472   case 2116:
44473 #line 14262 "gram.y" /* yacc.c:1652  */
44474     { (yyval.list) = (yyvsp[-1].list); }
44475 #line 44476 "gram.c" /* yacc.c:1652  */
44476     break;
44477 
44478   case 2117:
44479 #line 14263 "gram.y" /* yacc.c:1652  */
44480     { (yyval.list) = NIL; }
44481 #line 44482 "gram.c" /* yacc.c:1652  */
44482     break;
44483 
44484   case 2118:
44485 #line 14267 "gram.y" /* yacc.c:1652  */
44486     { (yyval.node) = (yyvsp[-1].node); }
44487 #line 44488 "gram.c" /* yacc.c:1652  */
44488     break;
44489 
44490   case 2119:
44491 #line 14268 "gram.y" /* yacc.c:1652  */
44492     { (yyval.node) = NULL; }
44493 #line 44494 "gram.c" /* yacc.c:1652  */
44494     break;
44495 
44496   case 2120:
44497 #line 14276 "gram.y" /* yacc.c:1652  */
44498     { (yyval.list) = (yyvsp[0].list); }
44499 #line 44500 "gram.c" /* yacc.c:1652  */
44500     break;
44501 
44502   case 2121:
44503 #line 14277 "gram.y" /* yacc.c:1652  */
44504     { (yyval.list) = NIL; }
44505 #line 44506 "gram.c" /* yacc.c:1652  */
44506     break;
44507 
44508   case 2122:
44509 #line 14281 "gram.y" /* yacc.c:1652  */
44510     { (yyval.list) = list_make1((yyvsp[0].windef)); }
44511 #line 44512 "gram.c" /* yacc.c:1652  */
44512     break;
44513 
44514   case 2123:
44515 #line 14283 "gram.y" /* yacc.c:1652  */
44516     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].windef)); }
44517 #line 44518 "gram.c" /* yacc.c:1652  */
44518     break;
44519 
44520   case 2124:
44521 #line 14288 "gram.y" /* yacc.c:1652  */
44522     {
44523 					WindowDef *n = (yyvsp[0].windef);
44524 					n->name = (yyvsp[-2].str);
44525 					(yyval.windef) = n;
44526 				}
44527 #line 44528 "gram.c" /* yacc.c:1652  */
44528     break;
44529 
44530   case 2125:
44531 #line 14296 "gram.y" /* yacc.c:1652  */
44532     { (yyval.windef) = (yyvsp[0].windef); }
44533 #line 44534 "gram.c" /* yacc.c:1652  */
44534     break;
44535 
44536   case 2126:
44537 #line 14298 "gram.y" /* yacc.c:1652  */
44538     {
44539 					WindowDef *n = makeNode(WindowDef);
44540 					n->name = (yyvsp[0].str);
44541 					n->refname = NULL;
44542 					n->partitionClause = NIL;
44543 					n->orderClause = NIL;
44544 					n->frameOptions = FRAMEOPTION_DEFAULTS;
44545 					n->startOffset = NULL;
44546 					n->endOffset = NULL;
44547 					n->location = (yylsp[0]);
44548 					(yyval.windef) = n;
44549 				}
44550 #line 44551 "gram.c" /* yacc.c:1652  */
44551     break;
44552 
44553   case 2127:
44554 #line 14311 "gram.y" /* yacc.c:1652  */
44555     { (yyval.windef) = NULL; }
44556 #line 44557 "gram.c" /* yacc.c:1652  */
44557     break;
44558 
44559   case 2128:
44560 #line 14316 "gram.y" /* yacc.c:1652  */
44561     {
44562 					WindowDef *n = makeNode(WindowDef);
44563 					n->name = NULL;
44564 					n->refname = (yyvsp[-4].str);
44565 					n->partitionClause = (yyvsp[-3].list);
44566 					n->orderClause = (yyvsp[-2].list);
44567 					/* copy relevant fields of opt_frame_clause */
44568 					n->frameOptions = (yyvsp[-1].windef)->frameOptions;
44569 					n->startOffset = (yyvsp[-1].windef)->startOffset;
44570 					n->endOffset = (yyvsp[-1].windef)->endOffset;
44571 					n->location = (yylsp[-5]);
44572 					(yyval.windef) = n;
44573 				}
44574 #line 44575 "gram.c" /* yacc.c:1652  */
44575     break;
44576 
44577   case 2129:
44578 #line 14341 "gram.y" /* yacc.c:1652  */
44579     { (yyval.str) = (yyvsp[0].str); }
44580 #line 44581 "gram.c" /* yacc.c:1652  */
44581     break;
44582 
44583   case 2130:
44584 #line 14342 "gram.y" /* yacc.c:1652  */
44585     { (yyval.str) = NULL; }
44586 #line 44587 "gram.c" /* yacc.c:1652  */
44587     break;
44588 
44589   case 2131:
44590 #line 14345 "gram.y" /* yacc.c:1652  */
44591     { (yyval.list) = (yyvsp[0].list); }
44592 #line 44593 "gram.c" /* yacc.c:1652  */
44593     break;
44594 
44595   case 2132:
44596 #line 14346 "gram.y" /* yacc.c:1652  */
44597     { (yyval.list) = NIL; }
44598 #line 44599 "gram.c" /* yacc.c:1652  */
44599     break;
44600 
44601   case 2133:
44602 #line 14355 "gram.y" /* yacc.c:1652  */
44603     {
44604 					WindowDef *n = (yyvsp[-1].windef);
44605 					n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_RANGE;
44606 					n->frameOptions |= (yyvsp[0].ival);
44607 					(yyval.windef) = n;
44608 				}
44609 #line 44610 "gram.c" /* yacc.c:1652  */
44610     break;
44611 
44612   case 2134:
44613 #line 14362 "gram.y" /* yacc.c:1652  */
44614     {
44615 					WindowDef *n = (yyvsp[-1].windef);
44616 					n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_ROWS;
44617 					n->frameOptions |= (yyvsp[0].ival);
44618 					(yyval.windef) = n;
44619 				}
44620 #line 44621 "gram.c" /* yacc.c:1652  */
44621     break;
44622 
44623   case 2135:
44624 #line 14369 "gram.y" /* yacc.c:1652  */
44625     {
44626 					WindowDef *n = (yyvsp[-1].windef);
44627 					n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_GROUPS;
44628 					n->frameOptions |= (yyvsp[0].ival);
44629 					(yyval.windef) = n;
44630 				}
44631 #line 44632 "gram.c" /* yacc.c:1652  */
44632     break;
44633 
44634   case 2136:
44635 #line 14376 "gram.y" /* yacc.c:1652  */
44636     {
44637 					WindowDef *n = makeNode(WindowDef);
44638 					n->frameOptions = FRAMEOPTION_DEFAULTS;
44639 					n->startOffset = NULL;
44640 					n->endOffset = NULL;
44641 					(yyval.windef) = n;
44642 				}
44643 #line 44644 "gram.c" /* yacc.c:1652  */
44644     break;
44645 
44646   case 2137:
44647 #line 14386 "gram.y" /* yacc.c:1652  */
44648     {
44649 					WindowDef *n = (yyvsp[0].windef);
44650 					/* reject invalid cases */
44651 					if (n->frameOptions & FRAMEOPTION_START_UNBOUNDED_FOLLOWING)
44652 						ereport(ERROR,
44653 								(errcode(ERRCODE_WINDOWING_ERROR),
44654 								 errmsg("frame start cannot be UNBOUNDED FOLLOWING"),
44655 								 parser_errposition((yylsp[0]))));
44656 					if (n->frameOptions & FRAMEOPTION_START_OFFSET_FOLLOWING)
44657 						ereport(ERROR,
44658 								(errcode(ERRCODE_WINDOWING_ERROR),
44659 								 errmsg("frame starting from following row cannot end with current row"),
44660 								 parser_errposition((yylsp[0]))));
44661 					n->frameOptions |= FRAMEOPTION_END_CURRENT_ROW;
44662 					(yyval.windef) = n;
44663 				}
44664 #line 44665 "gram.c" /* yacc.c:1652  */
44665     break;
44666 
44667   case 2138:
44668 #line 14403 "gram.y" /* yacc.c:1652  */
44669     {
44670 					WindowDef *n1 = (yyvsp[-2].windef);
44671 					WindowDef *n2 = (yyvsp[0].windef);
44672 					/* form merged options */
44673 					int		frameOptions = n1->frameOptions;
44674 					/* shift converts START_ options to END_ options */
44675 					frameOptions |= n2->frameOptions << 1;
44676 					frameOptions |= FRAMEOPTION_BETWEEN;
44677 					/* reject invalid cases */
44678 					if (frameOptions & FRAMEOPTION_START_UNBOUNDED_FOLLOWING)
44679 						ereport(ERROR,
44680 								(errcode(ERRCODE_WINDOWING_ERROR),
44681 								 errmsg("frame start cannot be UNBOUNDED FOLLOWING"),
44682 								 parser_errposition((yylsp[-2]))));
44683 					if (frameOptions & FRAMEOPTION_END_UNBOUNDED_PRECEDING)
44684 						ereport(ERROR,
44685 								(errcode(ERRCODE_WINDOWING_ERROR),
44686 								 errmsg("frame end cannot be UNBOUNDED PRECEDING"),
44687 								 parser_errposition((yylsp[0]))));
44688 					if ((frameOptions & FRAMEOPTION_START_CURRENT_ROW) &&
44689 						(frameOptions & FRAMEOPTION_END_OFFSET_PRECEDING))
44690 						ereport(ERROR,
44691 								(errcode(ERRCODE_WINDOWING_ERROR),
44692 								 errmsg("frame starting from current row cannot have preceding rows"),
44693 								 parser_errposition((yylsp[0]))));
44694 					if ((frameOptions & FRAMEOPTION_START_OFFSET_FOLLOWING) &&
44695 						(frameOptions & (FRAMEOPTION_END_OFFSET_PRECEDING |
44696 										 FRAMEOPTION_END_CURRENT_ROW)))
44697 						ereport(ERROR,
44698 								(errcode(ERRCODE_WINDOWING_ERROR),
44699 								 errmsg("frame starting from following row cannot have preceding rows"),
44700 								 parser_errposition((yylsp[0]))));
44701 					n1->frameOptions = frameOptions;
44702 					n1->endOffset = n2->startOffset;
44703 					(yyval.windef) = n1;
44704 				}
44705 #line 44706 "gram.c" /* yacc.c:1652  */
44706     break;
44707 
44708   case 2139:
44709 #line 14448 "gram.y" /* yacc.c:1652  */
44710     {
44711 					WindowDef *n = makeNode(WindowDef);
44712 					n->frameOptions = FRAMEOPTION_START_UNBOUNDED_PRECEDING;
44713 					n->startOffset = NULL;
44714 					n->endOffset = NULL;
44715 					(yyval.windef) = n;
44716 				}
44717 #line 44718 "gram.c" /* yacc.c:1652  */
44718     break;
44719 
44720   case 2140:
44721 #line 14456 "gram.y" /* yacc.c:1652  */
44722     {
44723 					WindowDef *n = makeNode(WindowDef);
44724 					n->frameOptions = FRAMEOPTION_START_UNBOUNDED_FOLLOWING;
44725 					n->startOffset = NULL;
44726 					n->endOffset = NULL;
44727 					(yyval.windef) = n;
44728 				}
44729 #line 44730 "gram.c" /* yacc.c:1652  */
44730     break;
44731 
44732   case 2141:
44733 #line 14464 "gram.y" /* yacc.c:1652  */
44734     {
44735 					WindowDef *n = makeNode(WindowDef);
44736 					n->frameOptions = FRAMEOPTION_START_CURRENT_ROW;
44737 					n->startOffset = NULL;
44738 					n->endOffset = NULL;
44739 					(yyval.windef) = n;
44740 				}
44741 #line 44742 "gram.c" /* yacc.c:1652  */
44742     break;
44743 
44744   case 2142:
44745 #line 14472 "gram.y" /* yacc.c:1652  */
44746     {
44747 					WindowDef *n = makeNode(WindowDef);
44748 					n->frameOptions = FRAMEOPTION_START_OFFSET_PRECEDING;
44749 					n->startOffset = (yyvsp[-1].node);
44750 					n->endOffset = NULL;
44751 					(yyval.windef) = n;
44752 				}
44753 #line 44754 "gram.c" /* yacc.c:1652  */
44754     break;
44755 
44756   case 2143:
44757 #line 14480 "gram.y" /* yacc.c:1652  */
44758     {
44759 					WindowDef *n = makeNode(WindowDef);
44760 					n->frameOptions = FRAMEOPTION_START_OFFSET_FOLLOWING;
44761 					n->startOffset = (yyvsp[-1].node);
44762 					n->endOffset = NULL;
44763 					(yyval.windef) = n;
44764 				}
44765 #line 44766 "gram.c" /* yacc.c:1652  */
44766     break;
44767 
44768   case 2144:
44769 #line 14490 "gram.y" /* yacc.c:1652  */
44770     { (yyval.ival) = FRAMEOPTION_EXCLUDE_CURRENT_ROW; }
44771 #line 44772 "gram.c" /* yacc.c:1652  */
44772     break;
44773 
44774   case 2145:
44775 #line 14491 "gram.y" /* yacc.c:1652  */
44776     { (yyval.ival) = FRAMEOPTION_EXCLUDE_GROUP; }
44777 #line 44778 "gram.c" /* yacc.c:1652  */
44778     break;
44779 
44780   case 2146:
44781 #line 14492 "gram.y" /* yacc.c:1652  */
44782     { (yyval.ival) = FRAMEOPTION_EXCLUDE_TIES; }
44783 #line 44784 "gram.c" /* yacc.c:1652  */
44784     break;
44785 
44786   case 2147:
44787 #line 14493 "gram.y" /* yacc.c:1652  */
44788     { (yyval.ival) = 0; }
44789 #line 44790 "gram.c" /* yacc.c:1652  */
44790     break;
44791 
44792   case 2148:
44793 #line 14494 "gram.y" /* yacc.c:1652  */
44794     { (yyval.ival) = 0; }
44795 #line 44796 "gram.c" /* yacc.c:1652  */
44796     break;
44797 
44798   case 2149:
44799 #line 14508 "gram.y" /* yacc.c:1652  */
44800     { (yyval.list) = (yyvsp[-1].list); }
44801 #line 44802 "gram.c" /* yacc.c:1652  */
44802     break;
44803 
44804   case 2150:
44805 #line 14509 "gram.y" /* yacc.c:1652  */
44806     { (yyval.list) = NIL; }
44807 #line 44808 "gram.c" /* yacc.c:1652  */
44808     break;
44809 
44810   case 2151:
44811 #line 14510 "gram.y" /* yacc.c:1652  */
44812     { (yyval.list) = lappend((yyvsp[-3].list), (yyvsp[-1].node)); }
44813 #line 44814 "gram.c" /* yacc.c:1652  */
44814     break;
44815 
44816   case 2152:
44817 #line 14513 "gram.y" /* yacc.c:1652  */
44818     { (yyval.list) = (yyvsp[-1].list); }
44819 #line 44820 "gram.c" /* yacc.c:1652  */
44820     break;
44821 
44822   case 2153:
44823 #line 14514 "gram.y" /* yacc.c:1652  */
44824     { (yyval.list) = NIL; }
44825 #line 44826 "gram.c" /* yacc.c:1652  */
44826     break;
44827 
44828   case 2154:
44829 #line 14517 "gram.y" /* yacc.c:1652  */
44830     { (yyval.list) = lappend((yyvsp[-3].list), (yyvsp[-1].node)); }
44831 #line 44832 "gram.c" /* yacc.c:1652  */
44832     break;
44833 
44834   case 2155:
44835 #line 14520 "gram.y" /* yacc.c:1652  */
44836     { (yyval.ival) = ANY_SUBLINK; }
44837 #line 44838 "gram.c" /* yacc.c:1652  */
44838     break;
44839 
44840   case 2156:
44841 #line 14521 "gram.y" /* yacc.c:1652  */
44842     { (yyval.ival) = ANY_SUBLINK; }
44843 #line 44844 "gram.c" /* yacc.c:1652  */
44844     break;
44845 
44846   case 2157:
44847 #line 14522 "gram.y" /* yacc.c:1652  */
44848     { (yyval.ival) = ALL_SUBLINK; }
44849 #line 44850 "gram.c" /* yacc.c:1652  */
44850     break;
44851 
44852   case 2158:
44853 #line 14525 "gram.y" /* yacc.c:1652  */
44854     { (yyval.str) = (yyvsp[0].str); }
44855 #line 44856 "gram.c" /* yacc.c:1652  */
44856     break;
44857 
44858   case 2159:
44859 #line 14526 "gram.y" /* yacc.c:1652  */
44860     { (yyval.str) = (yyvsp[0].str); }
44861 #line 44862 "gram.c" /* yacc.c:1652  */
44862     break;
44863 
44864   case 2160:
44865 #line 14529 "gram.y" /* yacc.c:1652  */
44866     { (yyval.str) = "+"; }
44867 #line 44868 "gram.c" /* yacc.c:1652  */
44868     break;
44869 
44870   case 2161:
44871 #line 14530 "gram.y" /* yacc.c:1652  */
44872     { (yyval.str) = "-"; }
44873 #line 44874 "gram.c" /* yacc.c:1652  */
44874     break;
44875 
44876   case 2162:
44877 #line 14531 "gram.y" /* yacc.c:1652  */
44878     { (yyval.str) = "*"; }
44879 #line 44880 "gram.c" /* yacc.c:1652  */
44880     break;
44881 
44882   case 2163:
44883 #line 14532 "gram.y" /* yacc.c:1652  */
44884     { (yyval.str) = "/"; }
44885 #line 44886 "gram.c" /* yacc.c:1652  */
44886     break;
44887 
44888   case 2164:
44889 #line 14533 "gram.y" /* yacc.c:1652  */
44890     { (yyval.str) = "%"; }
44891 #line 44892 "gram.c" /* yacc.c:1652  */
44892     break;
44893 
44894   case 2165:
44895 #line 14534 "gram.y" /* yacc.c:1652  */
44896     { (yyval.str) = "^"; }
44897 #line 44898 "gram.c" /* yacc.c:1652  */
44898     break;
44899 
44900   case 2166:
44901 #line 14535 "gram.y" /* yacc.c:1652  */
44902     { (yyval.str) = "<"; }
44903 #line 44904 "gram.c" /* yacc.c:1652  */
44904     break;
44905 
44906   case 2167:
44907 #line 14536 "gram.y" /* yacc.c:1652  */
44908     { (yyval.str) = ">"; }
44909 #line 44910 "gram.c" /* yacc.c:1652  */
44910     break;
44911 
44912   case 2168:
44913 #line 14537 "gram.y" /* yacc.c:1652  */
44914     { (yyval.str) = "="; }
44915 #line 44916 "gram.c" /* yacc.c:1652  */
44916     break;
44917 
44918   case 2169:
44919 #line 14538 "gram.y" /* yacc.c:1652  */
44920     { (yyval.str) = "<="; }
44921 #line 44922 "gram.c" /* yacc.c:1652  */
44922     break;
44923 
44924   case 2170:
44925 #line 14539 "gram.y" /* yacc.c:1652  */
44926     { (yyval.str) = ">="; }
44927 #line 44928 "gram.c" /* yacc.c:1652  */
44928     break;
44929 
44930   case 2171:
44931 #line 14540 "gram.y" /* yacc.c:1652  */
44932     { (yyval.str) = "<>"; }
44933 #line 44934 "gram.c" /* yacc.c:1652  */
44934     break;
44935 
44936   case 2172:
44937 #line 14544 "gram.y" /* yacc.c:1652  */
44938     { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
44939 #line 44940 "gram.c" /* yacc.c:1652  */
44940     break;
44941 
44942   case 2173:
44943 #line 14546 "gram.y" /* yacc.c:1652  */
44944     { (yyval.list) = (yyvsp[-1].list); }
44945 #line 44946 "gram.c" /* yacc.c:1652  */
44946     break;
44947 
44948   case 2174:
44949 #line 14551 "gram.y" /* yacc.c:1652  */
44950     { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
44951 #line 44952 "gram.c" /* yacc.c:1652  */
44952     break;
44953 
44954   case 2175:
44955 #line 14553 "gram.y" /* yacc.c:1652  */
44956     { (yyval.list) = (yyvsp[-1].list); }
44957 #line 44958 "gram.c" /* yacc.c:1652  */
44958     break;
44959 
44960   case 2176:
44961 #line 14558 "gram.y" /* yacc.c:1652  */
44962     { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
44963 #line 44964 "gram.c" /* yacc.c:1652  */
44964     break;
44965 
44966   case 2177:
44967 #line 14560 "gram.y" /* yacc.c:1652  */
44968     { (yyval.list) = (yyvsp[-1].list); }
44969 #line 44970 "gram.c" /* yacc.c:1652  */
44970     break;
44971 
44972   case 2178:
44973 #line 14562 "gram.y" /* yacc.c:1652  */
44974     { (yyval.list) = list_make1(makeString("~~")); }
44975 #line 44976 "gram.c" /* yacc.c:1652  */
44976     break;
44977 
44978   case 2179:
44979 #line 14564 "gram.y" /* yacc.c:1652  */
44980     { (yyval.list) = list_make1(makeString("!~~")); }
44981 #line 44982 "gram.c" /* yacc.c:1652  */
44982     break;
44983 
44984   case 2180:
44985 #line 14566 "gram.y" /* yacc.c:1652  */
44986     { (yyval.list) = list_make1(makeString("~~*")); }
44987 #line 44988 "gram.c" /* yacc.c:1652  */
44988     break;
44989 
44990   case 2181:
44991 #line 14568 "gram.y" /* yacc.c:1652  */
44992     { (yyval.list) = list_make1(makeString("!~~*")); }
44993 #line 44994 "gram.c" /* yacc.c:1652  */
44994     break;
44995 
44996   case 2182:
44997 #line 14580 "gram.y" /* yacc.c:1652  */
44998     {
44999 					(yyval.list) = list_make1((yyvsp[0].node));
45000 				}
45001 #line 45002 "gram.c" /* yacc.c:1652  */
45002     break;
45003 
45004   case 2183:
45005 #line 14584 "gram.y" /* yacc.c:1652  */
45006     {
45007 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
45008 				}
45009 #line 45010 "gram.c" /* yacc.c:1652  */
45010     break;
45011 
45012   case 2184:
45013 #line 14591 "gram.y" /* yacc.c:1652  */
45014     {
45015 					(yyval.list) = list_make1((yyvsp[0].node));
45016 				}
45017 #line 45018 "gram.c" /* yacc.c:1652  */
45018     break;
45019 
45020   case 2185:
45021 #line 14595 "gram.y" /* yacc.c:1652  */
45022     {
45023 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
45024 				}
45025 #line 45026 "gram.c" /* yacc.c:1652  */
45026     break;
45027 
45028   case 2186:
45029 #line 14601 "gram.y" /* yacc.c:1652  */
45030     {
45031 					(yyval.node) = (yyvsp[0].node);
45032 				}
45033 #line 45034 "gram.c" /* yacc.c:1652  */
45034     break;
45035 
45036   case 2187:
45037 #line 14605 "gram.y" /* yacc.c:1652  */
45038     {
45039 					NamedArgExpr *na = makeNode(NamedArgExpr);
45040 					na->name = (yyvsp[-2].str);
45041 					na->arg = (Expr *) (yyvsp[0].node);
45042 					na->argnumber = -1;		/* until determined */
45043 					na->location = (yylsp[-2]);
45044 					(yyval.node) = (Node *) na;
45045 				}
45046 #line 45047 "gram.c" /* yacc.c:1652  */
45047     break;
45048 
45049   case 2188:
45050 #line 14614 "gram.y" /* yacc.c:1652  */
45051     {
45052 					NamedArgExpr *na = makeNode(NamedArgExpr);
45053 					na->name = (yyvsp[-2].str);
45054 					na->arg = (Expr *) (yyvsp[0].node);
45055 					na->argnumber = -1;		/* until determined */
45056 					na->location = (yylsp[-2]);
45057 					(yyval.node) = (Node *) na;
45058 				}
45059 #line 45060 "gram.c" /* yacc.c:1652  */
45060     break;
45061 
45062   case 2189:
45063 #line 14624 "gram.y" /* yacc.c:1652  */
45064     { (yyval.list) = list_make1((yyvsp[0].typnam)); }
45065 #line 45066 "gram.c" /* yacc.c:1652  */
45066     break;
45067 
45068   case 2190:
45069 #line 14625 "gram.y" /* yacc.c:1652  */
45070     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].typnam)); }
45071 #line 45072 "gram.c" /* yacc.c:1652  */
45072     break;
45073 
45074   case 2191:
45075 #line 14629 "gram.y" /* yacc.c:1652  */
45076     {
45077 					(yyval.node) = makeAArrayExpr((yyvsp[-1].list), (yylsp[-2]));
45078 				}
45079 #line 45080 "gram.c" /* yacc.c:1652  */
45080     break;
45081 
45082   case 2192:
45083 #line 14633 "gram.y" /* yacc.c:1652  */
45084     {
45085 					(yyval.node) = makeAArrayExpr((yyvsp[-1].list), (yylsp[-2]));
45086 				}
45087 #line 45088 "gram.c" /* yacc.c:1652  */
45088     break;
45089 
45090   case 2193:
45091 #line 14637 "gram.y" /* yacc.c:1652  */
45092     {
45093 					(yyval.node) = makeAArrayExpr(NIL, (yylsp[-1]));
45094 				}
45095 #line 45096 "gram.c" /* yacc.c:1652  */
45096     break;
45097 
45098   case 2194:
45099 #line 14642 "gram.y" /* yacc.c:1652  */
45100     { (yyval.list) = list_make1((yyvsp[0].node)); }
45101 #line 45102 "gram.c" /* yacc.c:1652  */
45102     break;
45103 
45104   case 2195:
45105 #line 14643 "gram.y" /* yacc.c:1652  */
45106     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
45107 #line 45108 "gram.c" /* yacc.c:1652  */
45108     break;
45109 
45110   case 2196:
45111 #line 14649 "gram.y" /* yacc.c:1652  */
45112     {
45113 					(yyval.list) = list_make2(makeStringConst((yyvsp[-2].str), (yylsp[-2])), (yyvsp[0].node));
45114 				}
45115 #line 45116 "gram.c" /* yacc.c:1652  */
45116     break;
45117 
45118   case 2197:
45119 #line 14652 "gram.y" /* yacc.c:1652  */
45120     { (yyval.list) = NIL; }
45121 #line 45122 "gram.c" /* yacc.c:1652  */
45122     break;
45123 
45124   case 2198:
45125 #line 14659 "gram.y" /* yacc.c:1652  */
45126     { (yyval.str) = (yyvsp[0].str); }
45127 #line 45128 "gram.c" /* yacc.c:1652  */
45128     break;
45129 
45130   case 2199:
45131 #line 14660 "gram.y" /* yacc.c:1652  */
45132     { (yyval.str) = "year"; }
45133 #line 45134 "gram.c" /* yacc.c:1652  */
45134     break;
45135 
45136   case 2200:
45137 #line 14661 "gram.y" /* yacc.c:1652  */
45138     { (yyval.str) = "month"; }
45139 #line 45140 "gram.c" /* yacc.c:1652  */
45140     break;
45141 
45142   case 2201:
45143 #line 14662 "gram.y" /* yacc.c:1652  */
45144     { (yyval.str) = "day"; }
45145 #line 45146 "gram.c" /* yacc.c:1652  */
45146     break;
45147 
45148   case 2202:
45149 #line 14663 "gram.y" /* yacc.c:1652  */
45150     { (yyval.str) = "hour"; }
45151 #line 45152 "gram.c" /* yacc.c:1652  */
45152     break;
45153 
45154   case 2203:
45155 #line 14664 "gram.y" /* yacc.c:1652  */
45156     { (yyval.str) = "minute"; }
45157 #line 45158 "gram.c" /* yacc.c:1652  */
45158     break;
45159 
45160   case 2204:
45161 #line 14665 "gram.y" /* yacc.c:1652  */
45162     { (yyval.str) = "second"; }
45163 #line 45164 "gram.c" /* yacc.c:1652  */
45164     break;
45165 
45166   case 2205:
45167 #line 14666 "gram.y" /* yacc.c:1652  */
45168     { (yyval.str) = (yyvsp[0].str); }
45169 #line 45170 "gram.c" /* yacc.c:1652  */
45170     break;
45171 
45172   case 2206:
45173 #line 14670 "gram.y" /* yacc.c:1652  */
45174     { (yyval.str) = "nfc"; }
45175 #line 45176 "gram.c" /* yacc.c:1652  */
45176     break;
45177 
45178   case 2207:
45179 #line 14671 "gram.y" /* yacc.c:1652  */
45180     { (yyval.str) = "nfd"; }
45181 #line 45182 "gram.c" /* yacc.c:1652  */
45182     break;
45183 
45184   case 2208:
45185 #line 14672 "gram.y" /* yacc.c:1652  */
45186     { (yyval.str) = "nfkc"; }
45187 #line 45188 "gram.c" /* yacc.c:1652  */
45188     break;
45189 
45190   case 2209:
45191 #line 14673 "gram.y" /* yacc.c:1652  */
45192     { (yyval.str) = "nfkd"; }
45193 #line 45194 "gram.c" /* yacc.c:1652  */
45194     break;
45195 
45196   case 2210:
45197 #line 14684 "gram.y" /* yacc.c:1652  */
45198     {
45199 					(yyval.list) = list_make4((yyvsp[-3].node), (yyvsp[-2].node), (yyvsp[-1].node), (yyvsp[0].node));
45200 				}
45201 #line 45202 "gram.c" /* yacc.c:1652  */
45202     break;
45203 
45204   case 2211:
45205 #line 14688 "gram.y" /* yacc.c:1652  */
45206     {
45207 					(yyval.list) = list_make3((yyvsp[-2].node), (yyvsp[-1].node), (yyvsp[0].node));
45208 				}
45209 #line 45210 "gram.c" /* yacc.c:1652  */
45210     break;
45211 
45212   case 2212:
45213 #line 14695 "gram.y" /* yacc.c:1652  */
45214     { (yyval.node) = (yyvsp[0].node); }
45215 #line 45216 "gram.c" /* yacc.c:1652  */
45216     break;
45217 
45218   case 2213:
45219 #line 14701 "gram.y" /* yacc.c:1652  */
45220     { (yyval.list) = list_make2((yyvsp[0].node), (yyvsp[-2].node)); }
45221 #line 45222 "gram.c" /* yacc.c:1652  */
45222     break;
45223 
45224   case 2214:
45225 #line 14702 "gram.y" /* yacc.c:1652  */
45226     { (yyval.list) = NIL; }
45227 #line 45228 "gram.c" /* yacc.c:1652  */
45228     break;
45229 
45230   case 2215:
45231 #line 14719 "gram.y" /* yacc.c:1652  */
45232     {
45233 					(yyval.list) = list_make3((yyvsp[-2].node), (yyvsp[-1].node), (yyvsp[0].node));
45234 				}
45235 #line 45236 "gram.c" /* yacc.c:1652  */
45236     break;
45237 
45238   case 2216:
45239 #line 14723 "gram.y" /* yacc.c:1652  */
45240     {
45241 					/* not legal per SQL99, but might as well allow it */
45242 					(yyval.list) = list_make3((yyvsp[-2].node), (yyvsp[0].node), (yyvsp[-1].node));
45243 				}
45244 #line 45245 "gram.c" /* yacc.c:1652  */
45245     break;
45246 
45247   case 2217:
45248 #line 14728 "gram.y" /* yacc.c:1652  */
45249     {
45250 					(yyval.list) = list_make2((yyvsp[-1].node), (yyvsp[0].node));
45251 				}
45252 #line 45253 "gram.c" /* yacc.c:1652  */
45253     break;
45254 
45255   case 2218:
45256 #line 14732 "gram.y" /* yacc.c:1652  */
45257     {
45258 					/*
45259 					 * Since there are no cases where this syntax allows
45260 					 * a textual FOR value, we forcibly cast the argument
45261 					 * to int4.  The possible matches in pg_proc are
45262 					 * substring(text,int4) and substring(text,text),
45263 					 * and we don't want the parser to choose the latter,
45264 					 * which it is likely to do if the second argument
45265 					 * is unknown or doesn't have an implicit cast to int4.
45266 					 */
45267 					(yyval.list) = list_make3((yyvsp[-1].node), makeIntConst(1, -1),
45268 									makeTypeCast((yyvsp[0].node),
45269 												 SystemTypeName("int4"), -1));
45270 				}
45271 #line 45272 "gram.c" /* yacc.c:1652  */
45272     break;
45273 
45274   case 2219:
45275 #line 14747 "gram.y" /* yacc.c:1652  */
45276     {
45277 					(yyval.list) = (yyvsp[0].list);
45278 				}
45279 #line 45280 "gram.c" /* yacc.c:1652  */
45280     break;
45281 
45282   case 2220:
45283 #line 14751 "gram.y" /* yacc.c:1652  */
45284     { (yyval.list) = NIL; }
45285 #line 45286 "gram.c" /* yacc.c:1652  */
45286     break;
45287 
45288   case 2221:
45289 #line 14755 "gram.y" /* yacc.c:1652  */
45290     { (yyval.node) = (yyvsp[0].node); }
45291 #line 45292 "gram.c" /* yacc.c:1652  */
45292     break;
45293 
45294   case 2222:
45295 #line 14758 "gram.y" /* yacc.c:1652  */
45296     { (yyval.node) = (yyvsp[0].node); }
45297 #line 45298 "gram.c" /* yacc.c:1652  */
45298     break;
45299 
45300   case 2223:
45301 #line 14761 "gram.y" /* yacc.c:1652  */
45302     { (yyval.list) = lappend((yyvsp[0].list), (yyvsp[-2].node)); }
45303 #line 45304 "gram.c" /* yacc.c:1652  */
45304     break;
45305 
45306   case 2224:
45307 #line 14762 "gram.y" /* yacc.c:1652  */
45308     { (yyval.list) = (yyvsp[0].list); }
45309 #line 45310 "gram.c" /* yacc.c:1652  */
45310     break;
45311 
45312   case 2225:
45313 #line 14763 "gram.y" /* yacc.c:1652  */
45314     { (yyval.list) = (yyvsp[0].list); }
45315 #line 45316 "gram.c" /* yacc.c:1652  */
45316     break;
45317 
45318   case 2226:
45319 #line 14767 "gram.y" /* yacc.c:1652  */
45320     {
45321 					SubLink *n = makeNode(SubLink);
45322 					n->subselect = (yyvsp[0].node);
45323 					/* other fields will be filled later */
45324 					(yyval.node) = (Node *)n;
45325 				}
45326 #line 45327 "gram.c" /* yacc.c:1652  */
45327     break;
45328 
45329   case 2227:
45330 #line 14773 "gram.y" /* yacc.c:1652  */
45331     { (yyval.node) = (Node *)(yyvsp[-1].list); }
45332 #line 45333 "gram.c" /* yacc.c:1652  */
45333     break;
45334 
45335   case 2228:
45336 #line 14784 "gram.y" /* yacc.c:1652  */
45337     {
45338 					CaseExpr *c = makeNode(CaseExpr);
45339 					c->casetype = InvalidOid; /* not analyzed yet */
45340 					c->arg = (Expr *) (yyvsp[-3].node);
45341 					c->args = (yyvsp[-2].list);
45342 					c->defresult = (Expr *) (yyvsp[-1].node);
45343 					c->location = (yylsp[-4]);
45344 					(yyval.node) = (Node *)c;
45345 				}
45346 #line 45347 "gram.c" /* yacc.c:1652  */
45347     break;
45348 
45349   case 2229:
45350 #line 14797 "gram.y" /* yacc.c:1652  */
45351     { (yyval.list) = list_make1((yyvsp[0].node)); }
45352 #line 45353 "gram.c" /* yacc.c:1652  */
45353     break;
45354 
45355   case 2230:
45356 #line 14798 "gram.y" /* yacc.c:1652  */
45357     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
45358 #line 45359 "gram.c" /* yacc.c:1652  */
45359     break;
45360 
45361   case 2231:
45362 #line 14803 "gram.y" /* yacc.c:1652  */
45363     {
45364 					CaseWhen *w = makeNode(CaseWhen);
45365 					w->expr = (Expr *) (yyvsp[-2].node);
45366 					w->result = (Expr *) (yyvsp[0].node);
45367 					w->location = (yylsp[-3]);
45368 					(yyval.node) = (Node *)w;
45369 				}
45370 #line 45371 "gram.c" /* yacc.c:1652  */
45371     break;
45372 
45373   case 2232:
45374 #line 14813 "gram.y" /* yacc.c:1652  */
45375     { (yyval.node) = (yyvsp[0].node); }
45376 #line 45377 "gram.c" /* yacc.c:1652  */
45377     break;
45378 
45379   case 2233:
45380 #line 14814 "gram.y" /* yacc.c:1652  */
45381     { (yyval.node) = NULL; }
45382 #line 45383 "gram.c" /* yacc.c:1652  */
45383     break;
45384 
45385   case 2234:
45386 #line 14817 "gram.y" /* yacc.c:1652  */
45387     { (yyval.node) = (yyvsp[0].node); }
45388 #line 45389 "gram.c" /* yacc.c:1652  */
45389     break;
45390 
45391   case 2235:
45392 #line 14818 "gram.y" /* yacc.c:1652  */
45393     { (yyval.node) = NULL; }
45394 #line 45395 "gram.c" /* yacc.c:1652  */
45395     break;
45396 
45397   case 2236:
45398 #line 14822 "gram.y" /* yacc.c:1652  */
45399     {
45400 					(yyval.node) = makeColumnRef((yyvsp[0].str), NIL, (yylsp[0]), yyscanner);
45401 				}
45402 #line 45403 "gram.c" /* yacc.c:1652  */
45403     break;
45404 
45405   case 2237:
45406 #line 14826 "gram.y" /* yacc.c:1652  */
45407     {
45408 					(yyval.node) = makeColumnRef((yyvsp[-1].str), (yyvsp[0].list), (yylsp[-1]), yyscanner);
45409 				}
45410 #line 45411 "gram.c" /* yacc.c:1652  */
45411     break;
45412 
45413   case 2238:
45414 #line 14833 "gram.y" /* yacc.c:1652  */
45415     {
45416 					(yyval.node) = (Node *) makeString((yyvsp[0].str));
45417 				}
45418 #line 45419 "gram.c" /* yacc.c:1652  */
45419     break;
45420 
45421   case 2239:
45422 #line 14837 "gram.y" /* yacc.c:1652  */
45423     {
45424 					(yyval.node) = (Node *) makeNode(A_Star);
45425 				}
45426 #line 45427 "gram.c" /* yacc.c:1652  */
45427     break;
45428 
45429   case 2240:
45430 #line 14841 "gram.y" /* yacc.c:1652  */
45431     {
45432 					A_Indices *ai = makeNode(A_Indices);
45433 					ai->is_slice = false;
45434 					ai->lidx = NULL;
45435 					ai->uidx = (yyvsp[-1].node);
45436 					(yyval.node) = (Node *) ai;
45437 				}
45438 #line 45439 "gram.c" /* yacc.c:1652  */
45439     break;
45440 
45441   case 2241:
45442 #line 14849 "gram.y" /* yacc.c:1652  */
45443     {
45444 					A_Indices *ai = makeNode(A_Indices);
45445 					ai->is_slice = true;
45446 					ai->lidx = (yyvsp[-3].node);
45447 					ai->uidx = (yyvsp[-1].node);
45448 					(yyval.node) = (Node *) ai;
45449 				}
45450 #line 45451 "gram.c" /* yacc.c:1652  */
45451     break;
45452 
45453   case 2242:
45454 #line 14859 "gram.y" /* yacc.c:1652  */
45455     { (yyval.node) = (yyvsp[0].node); }
45456 #line 45457 "gram.c" /* yacc.c:1652  */
45457     break;
45458 
45459   case 2243:
45460 #line 14860 "gram.y" /* yacc.c:1652  */
45461     { (yyval.node) = NULL; }
45462 #line 45463 "gram.c" /* yacc.c:1652  */
45463     break;
45464 
45465   case 2244:
45466 #line 14864 "gram.y" /* yacc.c:1652  */
45467     { (yyval.list) = list_make1((yyvsp[0].node)); }
45468 #line 45469 "gram.c" /* yacc.c:1652  */
45469     break;
45470 
45471   case 2245:
45472 #line 14865 "gram.y" /* yacc.c:1652  */
45473     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
45474 #line 45475 "gram.c" /* yacc.c:1652  */
45475     break;
45476 
45477   case 2246:
45478 #line 14869 "gram.y" /* yacc.c:1652  */
45479     { (yyval.list) = NIL; }
45480 #line 45481 "gram.c" /* yacc.c:1652  */
45481     break;
45482 
45483   case 2247:
45484 #line 14870 "gram.y" /* yacc.c:1652  */
45485     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
45486 #line 45487 "gram.c" /* yacc.c:1652  */
45487     break;
45488 
45489   case 2250:
45490 #line 14884 "gram.y" /* yacc.c:1652  */
45491     { (yyval.list) = (yyvsp[0].list); }
45492 #line 45493 "gram.c" /* yacc.c:1652  */
45493     break;
45494 
45495   case 2251:
45496 #line 14885 "gram.y" /* yacc.c:1652  */
45497     { (yyval.list) = NIL; }
45498 #line 45499 "gram.c" /* yacc.c:1652  */
45499     break;
45500 
45501   case 2252:
45502 #line 14889 "gram.y" /* yacc.c:1652  */
45503     { (yyval.list) = list_make1((yyvsp[0].target)); }
45504 #line 45505 "gram.c" /* yacc.c:1652  */
45505     break;
45506 
45507   case 2253:
45508 #line 14890 "gram.y" /* yacc.c:1652  */
45509     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
45510 #line 45511 "gram.c" /* yacc.c:1652  */
45511     break;
45512 
45513   case 2254:
45514 #line 14894 "gram.y" /* yacc.c:1652  */
45515     {
45516 					(yyval.target) = makeNode(ResTarget);
45517 					(yyval.target)->name = (yyvsp[0].str);
45518 					(yyval.target)->indirection = NIL;
45519 					(yyval.target)->val = (Node *)(yyvsp[-2].node);
45520 					(yyval.target)->location = (yylsp[-2]);
45521 				}
45522 #line 45523 "gram.c" /* yacc.c:1652  */
45523     break;
45524 
45525   case 2255:
45526 #line 14910 "gram.y" /* yacc.c:1652  */
45527     {
45528 					(yyval.target) = makeNode(ResTarget);
45529 					(yyval.target)->name = (yyvsp[0].str);
45530 					(yyval.target)->indirection = NIL;
45531 					(yyval.target)->val = (Node *)(yyvsp[-1].node);
45532 					(yyval.target)->location = (yylsp[-1]);
45533 				}
45534 #line 45535 "gram.c" /* yacc.c:1652  */
45535     break;
45536 
45537   case 2256:
45538 #line 14918 "gram.y" /* yacc.c:1652  */
45539     {
45540 					(yyval.target) = makeNode(ResTarget);
45541 					(yyval.target)->name = NULL;
45542 					(yyval.target)->indirection = NIL;
45543 					(yyval.target)->val = (Node *)(yyvsp[0].node);
45544 					(yyval.target)->location = (yylsp[0]);
45545 				}
45546 #line 45547 "gram.c" /* yacc.c:1652  */
45547     break;
45548 
45549   case 2257:
45550 #line 14926 "gram.y" /* yacc.c:1652  */
45551     {
45552 					ColumnRef *n = makeNode(ColumnRef);
45553 					n->fields = list_make1(makeNode(A_Star));
45554 					n->location = (yylsp[0]);
45555 
45556 					(yyval.target) = makeNode(ResTarget);
45557 					(yyval.target)->name = NULL;
45558 					(yyval.target)->indirection = NIL;
45559 					(yyval.target)->val = (Node *)n;
45560 					(yyval.target)->location = (yylsp[0]);
45561 				}
45562 #line 45563 "gram.c" /* yacc.c:1652  */
45563     break;
45564 
45565   case 2258:
45566 #line 14947 "gram.y" /* yacc.c:1652  */
45567     { (yyval.list) = list_make1((yyvsp[0].range)); }
45568 #line 45569 "gram.c" /* yacc.c:1652  */
45569     break;
45570 
45571   case 2259:
45572 #line 14948 "gram.y" /* yacc.c:1652  */
45573     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].range)); }
45574 #line 45575 "gram.c" /* yacc.c:1652  */
45575     break;
45576 
45577   case 2260:
45578 #line 14960 "gram.y" /* yacc.c:1652  */
45579     {
45580 					(yyval.range) = makeRangeVar(NULL, (yyvsp[0].str), (yylsp[0]));
45581 				}
45582 #line 45583 "gram.c" /* yacc.c:1652  */
45583     break;
45584 
45585   case 2261:
45586 #line 14964 "gram.y" /* yacc.c:1652  */
45587     {
45588 					check_qualified_name((yyvsp[0].list), yyscanner);
45589 					(yyval.range) = makeRangeVar(NULL, NULL, (yylsp[-1]));
45590 					switch (list_length((yyvsp[0].list)))
45591 					{
45592 						case 1:
45593 							(yyval.range)->catalogname = NULL;
45594 							(yyval.range)->schemaname = (yyvsp[-1].str);
45595 							(yyval.range)->relname = strVal(linitial((yyvsp[0].list)));
45596 							break;
45597 						case 2:
45598 							(yyval.range)->catalogname = (yyvsp[-1].str);
45599 							(yyval.range)->schemaname = strVal(linitial((yyvsp[0].list)));
45600 							(yyval.range)->relname = strVal(lsecond((yyvsp[0].list)));
45601 							break;
45602 						default:
45603 							ereport(ERROR,
45604 									(errcode(ERRCODE_SYNTAX_ERROR),
45605 									 errmsg("improper qualified name (too many dotted names): %s",
45606 											NameListToString(lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)))),
45607 									 parser_errposition((yylsp[-1]))));
45608 							break;
45609 					}
45610 				}
45611 #line 45612 "gram.c" /* yacc.c:1652  */
45612     break;
45613 
45614   case 2262:
45615 #line 14991 "gram.y" /* yacc.c:1652  */
45616     { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
45617 #line 45618 "gram.c" /* yacc.c:1652  */
45618     break;
45619 
45620   case 2263:
45621 #line 14993 "gram.y" /* yacc.c:1652  */
45622     { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
45623 #line 45624 "gram.c" /* yacc.c:1652  */
45624     break;
45625 
45626   case 2264:
45627 #line 14997 "gram.y" /* yacc.c:1652  */
45628     { (yyval.str) = (yyvsp[0].str); }
45629 #line 45630 "gram.c" /* yacc.c:1652  */
45630     break;
45631 
45632   case 2265:
45633 #line 15000 "gram.y" /* yacc.c:1652  */
45634     { (yyval.str) = (yyvsp[0].str); }
45635 #line 45636 "gram.c" /* yacc.c:1652  */
45636     break;
45637 
45638   case 2266:
45639 #line 15003 "gram.y" /* yacc.c:1652  */
45640     { (yyval.str) = (yyvsp[0].str); }
45641 #line 45642 "gram.c" /* yacc.c:1652  */
45642     break;
45643 
45644   case 2267:
45645 #line 15005 "gram.y" /* yacc.c:1652  */
45646     { (yyval.str) = (yyvsp[0].str); }
45647 #line 45648 "gram.c" /* yacc.c:1652  */
45648     break;
45649 
45650   case 2268:
45651 #line 15007 "gram.y" /* yacc.c:1652  */
45652     { (yyval.str) = (yyvsp[0].str); }
45653 #line 45654 "gram.c" /* yacc.c:1652  */
45654     break;
45655 
45656   case 2269:
45657 #line 15009 "gram.y" /* yacc.c:1652  */
45658     { (yyval.str) = (yyvsp[0].str); }
45659 #line 45660 "gram.c" /* yacc.c:1652  */
45660     break;
45661 
45662   case 2270:
45663 #line 15020 "gram.y" /* yacc.c:1652  */
45664     { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
45665 #line 45666 "gram.c" /* yacc.c:1652  */
45666     break;
45667 
45668   case 2271:
45669 #line 15022 "gram.y" /* yacc.c:1652  */
45670     {
45671 						(yyval.list) = check_func_name(lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)),
45672 											 yyscanner);
45673 					}
45674 #line 45675 "gram.c" /* yacc.c:1652  */
45675     break;
45676 
45677   case 2272:
45678 #line 15033 "gram.y" /* yacc.c:1652  */
45679     {
45680 					(yyval.node) = makeIntConst((yyvsp[0].ival), (yylsp[0]));
45681 				}
45682 #line 45683 "gram.c" /* yacc.c:1652  */
45683     break;
45684 
45685   case 2273:
45686 #line 15037 "gram.y" /* yacc.c:1652  */
45687     {
45688 					(yyval.node) = makeFloatConst((yyvsp[0].str), (yylsp[0]));
45689 				}
45690 #line 45691 "gram.c" /* yacc.c:1652  */
45691     break;
45692 
45693   case 2274:
45694 #line 15041 "gram.y" /* yacc.c:1652  */
45695     {
45696 					(yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0]));
45697 				}
45698 #line 45699 "gram.c" /* yacc.c:1652  */
45699     break;
45700 
45701   case 2275:
45702 #line 15045 "gram.y" /* yacc.c:1652  */
45703     {
45704 					(yyval.node) = makeBitStringConst((yyvsp[0].str), (yylsp[0]));
45705 				}
45706 #line 45707 "gram.c" /* yacc.c:1652  */
45707     break;
45708 
45709   case 2276:
45710 #line 15049 "gram.y" /* yacc.c:1652  */
45711     {
45712 					/* This is a bit constant per SQL99:
45713 					 * Without Feature F511, "BIT data type",
45714 					 * a <general literal> shall not be a
45715 					 * <bit string literal> or a <hex string literal>.
45716 					 */
45717 					(yyval.node) = makeBitStringConst((yyvsp[0].str), (yylsp[0]));
45718 				}
45719 #line 45720 "gram.c" /* yacc.c:1652  */
45720     break;
45721 
45722   case 2277:
45723 #line 15058 "gram.y" /* yacc.c:1652  */
45724     {
45725 					/* generic type 'literal' syntax */
45726 					TypeName *t = makeTypeNameFromNameList((yyvsp[-1].list));
45727 					t->location = (yylsp[-1]);
45728 					(yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t);
45729 				}
45730 #line 45731 "gram.c" /* yacc.c:1652  */
45731     break;
45732 
45733   case 2278:
45734 #line 15065 "gram.y" /* yacc.c:1652  */
45735     {
45736 					/* generic syntax with a type modifier */
45737 					TypeName *t = makeTypeNameFromNameList((yyvsp[-5].list));
45738 					ListCell *lc;
45739 
45740 					/*
45741 					 * We must use func_arg_list and opt_sort_clause in the
45742 					 * production to avoid reduce/reduce conflicts, but we
45743 					 * don't actually wish to allow NamedArgExpr in this
45744 					 * context, nor ORDER BY.
45745 					 */
45746 					foreach(lc, (yyvsp[-3].list))
45747 					{
45748 						NamedArgExpr *arg = (NamedArgExpr *) lfirst(lc);
45749 
45750 						if (IsA(arg, NamedArgExpr))
45751 							ereport(ERROR,
45752 									(errcode(ERRCODE_SYNTAX_ERROR),
45753 									 errmsg("type modifier cannot have parameter name"),
45754 									 parser_errposition(arg->location)));
45755 					}
45756 					if ((yyvsp[-2].list) != NIL)
45757 							ereport(ERROR,
45758 									(errcode(ERRCODE_SYNTAX_ERROR),
45759 									 errmsg("type modifier cannot have ORDER BY"),
45760 									 parser_errposition((yylsp[-2]))));
45761 
45762 					t->typmods = (yyvsp[-3].list);
45763 					t->location = (yylsp[-5]);
45764 					(yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t);
45765 				}
45766 #line 45767 "gram.c" /* yacc.c:1652  */
45767     break;
45768 
45769   case 2279:
45770 #line 15097 "gram.y" /* yacc.c:1652  */
45771     {
45772 					(yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), (yyvsp[-1].typnam));
45773 				}
45774 #line 45775 "gram.c" /* yacc.c:1652  */
45775     break;
45776 
45777   case 2280:
45778 #line 15101 "gram.y" /* yacc.c:1652  */
45779     {
45780 					TypeName *t = (yyvsp[-2].typnam);
45781 					t->typmods = (yyvsp[0].list);
45782 					(yyval.node) = makeStringConstCast((yyvsp[-1].str), (yylsp[-1]), t);
45783 				}
45784 #line 45785 "gram.c" /* yacc.c:1652  */
45785     break;
45786 
45787   case 2281:
45788 #line 15107 "gram.y" /* yacc.c:1652  */
45789     {
45790 					TypeName *t = (yyvsp[-4].typnam);
45791 					t->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1),
45792 											makeIntConst((yyvsp[-2].ival), (yylsp[-2])));
45793 					(yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t);
45794 				}
45795 #line 45796 "gram.c" /* yacc.c:1652  */
45796     break;
45797 
45798   case 2282:
45799 #line 15114 "gram.y" /* yacc.c:1652  */
45800     {
45801 					(yyval.node) = makeBoolAConst(true, (yylsp[0]));
45802 				}
45803 #line 45804 "gram.c" /* yacc.c:1652  */
45804     break;
45805 
45806   case 2283:
45807 #line 15118 "gram.y" /* yacc.c:1652  */
45808     {
45809 					(yyval.node) = makeBoolAConst(false, (yylsp[0]));
45810 				}
45811 #line 45812 "gram.c" /* yacc.c:1652  */
45812     break;
45813 
45814   case 2284:
45815 #line 15122 "gram.y" /* yacc.c:1652  */
45816     {
45817 					(yyval.node) = makeNullAConst((yylsp[0]));
45818 				}
45819 #line 45820 "gram.c" /* yacc.c:1652  */
45820     break;
45821 
45822   case 2285:
45823 #line 15127 "gram.y" /* yacc.c:1652  */
45824     { (yyval.ival) = (yyvsp[0].ival); }
45825 #line 45826 "gram.c" /* yacc.c:1652  */
45826     break;
45827 
45828   case 2286:
45829 #line 15128 "gram.y" /* yacc.c:1652  */
45830     { (yyval.str) = (yyvsp[0].str); }
45831 #line 45832 "gram.c" /* yacc.c:1652  */
45832     break;
45833 
45834   case 2287:
45835 #line 15130 "gram.y" /* yacc.c:1652  */
45836     { (yyval.ival) = (yyvsp[0].ival); }
45837 #line 45838 "gram.c" /* yacc.c:1652  */
45838     break;
45839 
45840   case 2288:
45841 #line 15131 "gram.y" /* yacc.c:1652  */
45842     { (yyval.ival) = + (yyvsp[0].ival); }
45843 #line 45844 "gram.c" /* yacc.c:1652  */
45844     break;
45845 
45846   case 2289:
45847 #line 15132 "gram.y" /* yacc.c:1652  */
45848     { (yyval.ival) = - (yyvsp[0].ival); }
45849 #line 45850 "gram.c" /* yacc.c:1652  */
45850     break;
45851 
45852   case 2290:
45853 #line 15137 "gram.y" /* yacc.c:1652  */
45854     {
45855 					RoleSpec *spc = (RoleSpec *) (yyvsp[0].rolespec);
45856 					switch (spc->roletype)
45857 					{
45858 						case ROLESPEC_CSTRING:
45859 							(yyval.str) = spc->rolename;
45860 							break;
45861 						case ROLESPEC_PUBLIC:
45862 							ereport(ERROR,
45863 									(errcode(ERRCODE_RESERVED_NAME),
45864 									 errmsg("role name \"%s\" is reserved",
45865 											"public"),
45866 									 parser_errposition((yylsp[0]))));
45867 							break;
45868 						case ROLESPEC_SESSION_USER:
45869 							ereport(ERROR,
45870 									(errcode(ERRCODE_RESERVED_NAME),
45871 									 errmsg("%s cannot be used as a role name here",
45872 											"SESSION_USER"),
45873 									 parser_errposition((yylsp[0]))));
45874 							break;
45875 						case ROLESPEC_CURRENT_USER:
45876 							ereport(ERROR,
45877 									(errcode(ERRCODE_RESERVED_NAME),
45878 									 errmsg("%s cannot be used as a role name here",
45879 											"CURRENT_USER"),
45880 									 parser_errposition((yylsp[0]))));
45881 							break;
45882 					}
45883 				}
45884 #line 45885 "gram.c" /* yacc.c:1652  */
45885     break;
45886 
45887   case 2291:
45888 #line 15170 "gram.y" /* yacc.c:1652  */
45889     {
45890 						/*
45891 						 * "public" and "none" are not keywords, but they must
45892 						 * be treated specially here.
45893 						 */
45894 						RoleSpec *n;
45895 						if (strcmp((yyvsp[0].str), "public") == 0)
45896 						{
45897 							n = (RoleSpec *) makeRoleSpec(ROLESPEC_PUBLIC, (yylsp[0]));
45898 							n->roletype = ROLESPEC_PUBLIC;
45899 						}
45900 						else if (strcmp((yyvsp[0].str), "none") == 0)
45901 						{
45902 							ereport(ERROR,
45903 									(errcode(ERRCODE_RESERVED_NAME),
45904 									 errmsg("role name \"%s\" is reserved",
45905 											"none"),
45906 									 parser_errposition((yylsp[0]))));
45907 						}
45908 						else
45909 						{
45910 							n = makeRoleSpec(ROLESPEC_CSTRING, (yylsp[0]));
45911 							n->rolename = pstrdup((yyvsp[0].str));
45912 						}
45913 						(yyval.rolespec) = n;
45914 					}
45915 #line 45916 "gram.c" /* yacc.c:1652  */
45916     break;
45917 
45918   case 2292:
45919 #line 15197 "gram.y" /* yacc.c:1652  */
45920     {
45921 						(yyval.rolespec) = makeRoleSpec(ROLESPEC_CURRENT_USER, (yylsp[0]));
45922 					}
45923 #line 45924 "gram.c" /* yacc.c:1652  */
45924     break;
45925 
45926   case 2293:
45927 #line 15201 "gram.y" /* yacc.c:1652  */
45928     {
45929 						(yyval.rolespec) = makeRoleSpec(ROLESPEC_SESSION_USER, (yylsp[0]));
45930 					}
45931 #line 45932 "gram.c" /* yacc.c:1652  */
45932     break;
45933 
45934   case 2294:
45935 #line 15207 "gram.y" /* yacc.c:1652  */
45936     { (yyval.list) = list_make1((yyvsp[0].rolespec)); }
45937 #line 45938 "gram.c" /* yacc.c:1652  */
45938     break;
45939 
45940   case 2295:
45941 #line 15209 "gram.y" /* yacc.c:1652  */
45942     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].rolespec)); }
45943 #line 45944 "gram.c" /* yacc.c:1652  */
45944     break;
45945 
45946   case 2296:
45947 #line 15225 "gram.y" /* yacc.c:1652  */
45948     { (yyval.str) = (yyvsp[0].str); }
45949 #line 45950 "gram.c" /* yacc.c:1652  */
45950     break;
45951 
45952   case 2297:
45953 #line 15226 "gram.y" /* yacc.c:1652  */
45954     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
45955 #line 45956 "gram.c" /* yacc.c:1652  */
45956     break;
45957 
45958   case 2298:
45959 #line 15227 "gram.y" /* yacc.c:1652  */
45960     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
45961 #line 45962 "gram.c" /* yacc.c:1652  */
45962     break;
45963 
45964   case 2299:
45965 #line 15232 "gram.y" /* yacc.c:1652  */
45966     { (yyval.str) = (yyvsp[0].str); }
45967 #line 45968 "gram.c" /* yacc.c:1652  */
45968     break;
45969 
45970   case 2300:
45971 #line 15233 "gram.y" /* yacc.c:1652  */
45972     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
45973 #line 45974 "gram.c" /* yacc.c:1652  */
45974     break;
45975 
45976   case 2301:
45977 #line 15234 "gram.y" /* yacc.c:1652  */
45978     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
45979 #line 45980 "gram.c" /* yacc.c:1652  */
45980     break;
45981 
45982   case 2302:
45983 #line 15239 "gram.y" /* yacc.c:1652  */
45984     { (yyval.str) = (yyvsp[0].str); }
45985 #line 45986 "gram.c" /* yacc.c:1652  */
45986     break;
45987 
45988   case 2303:
45989 #line 15240 "gram.y" /* yacc.c:1652  */
45990     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
45991 #line 45992 "gram.c" /* yacc.c:1652  */
45992     break;
45993 
45994   case 2304:
45995 #line 15241 "gram.y" /* yacc.c:1652  */
45996     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
45997 #line 45998 "gram.c" /* yacc.c:1652  */
45998     break;
45999 
46000   case 2305:
46001 #line 15242 "gram.y" /* yacc.c:1652  */
46002     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
46003 #line 46004 "gram.c" /* yacc.c:1652  */
46004     break;
46005 
46006   case 2306:
46007 #line 15248 "gram.y" /* yacc.c:1652  */
46008     { (yyval.str) = (yyvsp[0].str); }
46009 #line 46010 "gram.c" /* yacc.c:1652  */
46010     break;
46011 
46012   case 2307:
46013 #line 15249 "gram.y" /* yacc.c:1652  */
46014     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
46015 #line 46016 "gram.c" /* yacc.c:1652  */
46016     break;
46017 
46018   case 2308:
46019 #line 15250 "gram.y" /* yacc.c:1652  */
46020     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
46021 #line 46022 "gram.c" /* yacc.c:1652  */
46022     break;
46023 
46024   case 2309:
46025 #line 15251 "gram.y" /* yacc.c:1652  */
46026     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
46027 #line 46028 "gram.c" /* yacc.c:1652  */
46028     break;
46029 
46030   case 2310:
46031 #line 15252 "gram.y" /* yacc.c:1652  */
46032     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
46033 #line 46034 "gram.c" /* yacc.c:1652  */
46034     break;
46035 
46036 
46037 #line 46038 "gram.c" /* yacc.c:1652  */
46038       default: break;
46039     }
46040   /* User semantic actions sometimes alter yychar, and that requires
46041      that yytoken be updated with the new translation.  We take the
46042      approach of translating immediately before every use of yytoken.
46043      One alternative is translating here after every semantic action,
46044      but that translation would be missed if the semantic action invokes
46045      YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
46046      if it invokes YYBACKUP.  In the case of YYABORT or YYACCEPT, an
46047      incorrect destructor might then be invoked immediately.  In the
46048      case of YYERROR or YYBACKUP, subsequent parser actions might lead
46049      to an incorrect destructor call or verbose syntax error message
46050      before the lookahead is translated.  */
46051   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
46052 
46053   YYPOPSTACK (yylen);
46054   yylen = 0;
46055   YY_STACK_PRINT (yyss, yyssp);
46056 
46057   *++yyvsp = yyval;
46058   *++yylsp = yyloc;
46059 
46060   /* Now 'shift' the result of the reduction.  Determine what state
46061      that goes to, based on the state we popped back to and the rule
46062      number reduced by.  */
46063   {
46064     const int yylhs = yyr1[yyn] - YYNTOKENS;
46065     const int yyi = yypgoto[yylhs] + *yyssp;
46066     yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp
46067                ? yytable[yyi]
46068                : yydefgoto[yylhs]);
46069   }
46070 
46071   goto yynewstate;
46072 
46073 
46074 /*--------------------------------------.
46075 | yyerrlab -- here on detecting error.  |
46076 `--------------------------------------*/
46077 yyerrlab:
46078   /* Make sure we have latest lookahead translation.  See comments at
46079      user semantic actions for why this is necessary.  */
46080   yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
46081 
46082   /* If not already recovering from an error, report this error.  */
46083   if (!yyerrstatus)
46084     {
46085       ++yynerrs;
46086 #if ! YYERROR_VERBOSE
46087       yyerror (&yylloc, yyscanner, YY_("syntax error"));
46088 #else
46089 # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
46090                                         yyssp, yytoken)
46091       {
46092         char const *yymsgp = YY_("syntax error");
46093         int yysyntax_error_status;
46094         yysyntax_error_status = YYSYNTAX_ERROR;
46095         if (yysyntax_error_status == 0)
46096           yymsgp = yymsg;
46097         else if (yysyntax_error_status == 1)
46098           {
46099             if (yymsg != yymsgbuf)
46100               YYSTACK_FREE (yymsg);
46101             yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
46102             if (!yymsg)
46103               {
46104                 yymsg = yymsgbuf;
46105                 yymsg_alloc = sizeof yymsgbuf;
46106                 yysyntax_error_status = 2;
46107               }
46108             else
46109               {
46110                 yysyntax_error_status = YYSYNTAX_ERROR;
46111                 yymsgp = yymsg;
46112               }
46113           }
46114         yyerror (&yylloc, yyscanner, yymsgp);
46115         if (yysyntax_error_status == 2)
46116           goto yyexhaustedlab;
46117       }
46118 # undef YYSYNTAX_ERROR
46119 #endif
46120     }
46121 
46122   yyerror_range[1] = yylloc;
46123 
46124   if (yyerrstatus == 3)
46125     {
46126       /* If just tried and failed to reuse lookahead token after an
46127          error, discard it.  */
46128 
46129       if (yychar <= YYEOF)
46130         {
46131           /* Return failure if at end of input.  */
46132           if (yychar == YYEOF)
46133             YYABORT;
46134         }
46135       else
46136         {
46137           yydestruct ("Error: discarding",
46138                       yytoken, &yylval, &yylloc, yyscanner);
46139           yychar = YYEMPTY;
46140         }
46141     }
46142 
46143   /* Else will try to reuse lookahead token after shifting the error
46144      token.  */
46145   goto yyerrlab1;
46146 
46147 
46148 /*---------------------------------------------------.
46149 | yyerrorlab -- error raised explicitly by YYERROR.  |
46150 `---------------------------------------------------*/
46151 yyerrorlab:
46152   /* Pacify compilers when the user code never invokes YYERROR and the
46153      label yyerrorlab therefore never appears in user code.  */
46154   if (0)
46155     YYERROR;
46156 
46157   /* Do not reclaim the symbols of the rule whose action triggered
46158      this YYERROR.  */
46159   YYPOPSTACK (yylen);
46160   yylen = 0;
46161   YY_STACK_PRINT (yyss, yyssp);
46162   yystate = *yyssp;
46163   goto yyerrlab1;
46164 
46165 
46166 /*-------------------------------------------------------------.
46167 | yyerrlab1 -- common code for both syntax error and YYERROR.  |
46168 `-------------------------------------------------------------*/
46169 yyerrlab1:
46170   yyerrstatus = 3;      /* Each real token shifted decrements this.  */
46171 
46172   for (;;)
46173     {
46174       yyn = yypact[yystate];
46175       if (!yypact_value_is_default (yyn))
46176         {
46177           yyn += YYTERROR;
46178           if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
46179             {
46180               yyn = yytable[yyn];
46181               if (0 < yyn)
46182                 break;
46183             }
46184         }
46185 
46186       /* Pop the current state because it cannot handle the error token.  */
46187       if (yyssp == yyss)
46188         YYABORT;
46189 
46190       yyerror_range[1] = *yylsp;
46191       yydestruct ("Error: popping",
46192                   yystos[yystate], yyvsp, yylsp, yyscanner);
46193       YYPOPSTACK (1);
46194       yystate = *yyssp;
46195       YY_STACK_PRINT (yyss, yyssp);
46196     }
46197 
46198   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
46199   *++yyvsp = yylval;
46200   YY_IGNORE_MAYBE_UNINITIALIZED_END
46201 
46202   yyerror_range[2] = yylloc;
46203   /* Using YYLLOC is tempting, but would change the location of
46204      the lookahead.  YYLOC is available though.  */
46205   YYLLOC_DEFAULT (yyloc, yyerror_range, 2);
46206   *++yylsp = yyloc;
46207 
46208   /* Shift the error token.  */
46209   YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
46210 
46211   yystate = yyn;
46212   goto yynewstate;
46213 
46214 
46215 /*-------------------------------------.
46216 | yyacceptlab -- YYACCEPT comes here.  |
46217 `-------------------------------------*/
46218 yyacceptlab:
46219   yyresult = 0;
46220   goto yyreturn;
46221 
46222 
46223 /*-----------------------------------.
46224 | yyabortlab -- YYABORT comes here.  |
46225 `-----------------------------------*/
46226 yyabortlab:
46227   yyresult = 1;
46228   goto yyreturn;
46229 
46230 
46231 #if !defined yyoverflow || YYERROR_VERBOSE
46232 /*-------------------------------------------------.
46233 | yyexhaustedlab -- memory exhaustion comes here.  |
46234 `-------------------------------------------------*/
46235 yyexhaustedlab:
46236   yyerror (&yylloc, yyscanner, YY_("memory exhausted"));
46237   yyresult = 2;
46238   /* Fall through.  */
46239 #endif
46240 
46241 
46242 /*-----------------------------------------------------.
46243 | yyreturn -- parsing is finished, return the result.  |
46244 `-----------------------------------------------------*/
46245 yyreturn:
46246   if (yychar != YYEMPTY)
46247     {
46248       /* Make sure we have latest lookahead translation.  See comments at
46249          user semantic actions for why this is necessary.  */
46250       yytoken = YYTRANSLATE (yychar);
46251       yydestruct ("Cleanup: discarding lookahead",
46252                   yytoken, &yylval, &yylloc, yyscanner);
46253     }
46254   /* Do not reclaim the symbols of the rule whose action triggered
46255      this YYABORT or YYACCEPT.  */
46256   YYPOPSTACK (yylen);
46257   YY_STACK_PRINT (yyss, yyssp);
46258   while (yyssp != yyss)
46259     {
46260       yydestruct ("Cleanup: popping",
46261                   yystos[*yyssp], yyvsp, yylsp, yyscanner);
46262       YYPOPSTACK (1);
46263     }
46264 #ifndef yyoverflow
46265   if (yyss != yyssa)
46266     YYSTACK_FREE (yyss);
46267 #endif
46268 #if YYERROR_VERBOSE
46269   if (yymsg != yymsgbuf)
46270     YYSTACK_FREE (yymsg);
46271 #endif
46272   return yyresult;
46273 }
46274 #line 15759 "gram.y" /* yacc.c:1918  */
46275 
46276 
46277 /*
46278  * The signature of this function is required by bison.  However, we
46279  * ignore the passed yylloc and instead use the last token position
46280  * available from the scanner.
46281  */
46282 static void
base_yyerror(YYLTYPE * yylloc,core_yyscan_t yyscanner,const char * msg)46283 base_yyerror(YYLTYPE *yylloc, core_yyscan_t yyscanner, const char *msg)
46284 {
46285 	parser_yyerror(msg);
46286 }
46287 
46288 static RawStmt *
makeRawStmt(Node * stmt,int stmt_location)46289 makeRawStmt(Node *stmt, int stmt_location)
46290 {
46291 	RawStmt    *rs = makeNode(RawStmt);
46292 
46293 	rs->stmt = stmt;
46294 	rs->stmt_location = stmt_location;
46295 	rs->stmt_len = 0;			/* might get changed later */
46296 	return rs;
46297 }
46298 
46299 /* Adjust a RawStmt to reflect that it doesn't run to the end of the string */
46300 static void
updateRawStmtEnd(RawStmt * rs,int end_location)46301 updateRawStmtEnd(RawStmt *rs, int end_location)
46302 {
46303 	/*
46304 	 * If we already set the length, don't change it.  This is for situations
46305 	 * like "select foo ;; select bar" where the same statement will be last
46306 	 * in the string for more than one semicolon.
46307 	 */
46308 	if (rs->stmt_len > 0)
46309 		return;
46310 
46311 	/* OK, update length of RawStmt */
46312 	rs->stmt_len = end_location - rs->stmt_location;
46313 }
46314 
46315 static Node *
makeColumnRef(char * colname,List * indirection,int location,core_yyscan_t yyscanner)46316 makeColumnRef(char *colname, List *indirection,
46317 			  int location, core_yyscan_t yyscanner)
46318 {
46319 	/*
46320 	 * Generate a ColumnRef node, with an A_Indirection node added if there
46321 	 * is any subscripting in the specified indirection list.  However,
46322 	 * any field selection at the start of the indirection list must be
46323 	 * transposed into the "fields" part of the ColumnRef node.
46324 	 */
46325 	ColumnRef  *c = makeNode(ColumnRef);
46326 	int		nfields = 0;
46327 	ListCell *l;
46328 
46329 	c->location = location;
46330 	foreach(l, indirection)
46331 	{
46332 		if (IsA(lfirst(l), A_Indices))
46333 		{
46334 			A_Indirection *i = makeNode(A_Indirection);
46335 
46336 			if (nfields == 0)
46337 			{
46338 				/* easy case - all indirection goes to A_Indirection */
46339 				c->fields = list_make1(makeString(colname));
46340 				i->indirection = check_indirection(indirection, yyscanner);
46341 			}
46342 			else
46343 			{
46344 				/* got to split the list in two */
46345 				i->indirection = check_indirection(list_copy_tail(indirection,
46346 																  nfields),
46347 												   yyscanner);
46348 				indirection = list_truncate(indirection, nfields);
46349 				c->fields = lcons(makeString(colname), indirection);
46350 			}
46351 			i->arg = (Node *) c;
46352 			return (Node *) i;
46353 		}
46354 		else if (IsA(lfirst(l), A_Star))
46355 		{
46356 			/* We only allow '*' at the end of a ColumnRef */
46357 			if (lnext(indirection, l) != NULL)
46358 				parser_yyerror("improper use of \"*\"");
46359 		}
46360 		nfields++;
46361 	}
46362 	/* No subscripting, so all indirection gets added to field list */
46363 	c->fields = lcons(makeString(colname), indirection);
46364 	return (Node *) c;
46365 }
46366 
46367 static Node *
makeTypeCast(Node * arg,TypeName * typename,int location)46368 makeTypeCast(Node *arg, TypeName *typename, int location)
46369 {
46370 	TypeCast *n = makeNode(TypeCast);
46371 	n->arg = arg;
46372 	n->typeName = typename;
46373 	n->location = location;
46374 	return (Node *) n;
46375 }
46376 
46377 static Node *
makeStringConst(char * str,int location)46378 makeStringConst(char *str, int location)
46379 {
46380 	A_Const *n = makeNode(A_Const);
46381 
46382 	n->val.type = T_String;
46383 	n->val.val.str = str;
46384 	n->location = location;
46385 
46386 	return (Node *)n;
46387 }
46388 
46389 static Node *
makeStringConstCast(char * str,int location,TypeName * typename)46390 makeStringConstCast(char *str, int location, TypeName *typename)
46391 {
46392 	Node *s = makeStringConst(str, location);
46393 
46394 	return makeTypeCast(s, typename, -1);
46395 }
46396 
46397 static Node *
makeIntConst(int val,int location)46398 makeIntConst(int val, int location)
46399 {
46400 	A_Const *n = makeNode(A_Const);
46401 
46402 	n->val.type = T_Integer;
46403 	n->val.val.ival = val;
46404 	n->location = location;
46405 
46406 	return (Node *)n;
46407 }
46408 
46409 static Node *
makeFloatConst(char * str,int location)46410 makeFloatConst(char *str, int location)
46411 {
46412 	A_Const *n = makeNode(A_Const);
46413 
46414 	n->val.type = T_Float;
46415 	n->val.val.str = str;
46416 	n->location = location;
46417 
46418 	return (Node *)n;
46419 }
46420 
46421 static Node *
makeBitStringConst(char * str,int location)46422 makeBitStringConst(char *str, int location)
46423 {
46424 	A_Const *n = makeNode(A_Const);
46425 
46426 	n->val.type = T_BitString;
46427 	n->val.val.str = str;
46428 	n->location = location;
46429 
46430 	return (Node *)n;
46431 }
46432 
46433 static Node *
makeNullAConst(int location)46434 makeNullAConst(int location)
46435 {
46436 	A_Const *n = makeNode(A_Const);
46437 
46438 	n->val.type = T_Null;
46439 	n->location = location;
46440 
46441 	return (Node *)n;
46442 }
46443 
46444 static Node *
makeAConst(Value * v,int location)46445 makeAConst(Value *v, int location)
46446 {
46447 	Node *n;
46448 
46449 	switch (v->type)
46450 	{
46451 		case T_Float:
46452 			n = makeFloatConst(v->val.str, location);
46453 			break;
46454 
46455 		case T_Integer:
46456 			n = makeIntConst(v->val.ival, location);
46457 			break;
46458 
46459 		case T_String:
46460 		default:
46461 			n = makeStringConst(v->val.str, location);
46462 			break;
46463 	}
46464 
46465 	return n;
46466 }
46467 
46468 /* makeBoolAConst()
46469  * Create an A_Const string node and put it inside a boolean cast.
46470  */
46471 static Node *
makeBoolAConst(bool state,int location)46472 makeBoolAConst(bool state, int location)
46473 {
46474 	A_Const *n = makeNode(A_Const);
46475 
46476 	n->val.type = T_String;
46477 	n->val.val.str = (state ? "t" : "f");
46478 	n->location = location;
46479 
46480 	return makeTypeCast((Node *)n, SystemTypeName("bool"), -1);
46481 }
46482 
46483 /* makeRoleSpec
46484  * Create a RoleSpec with the given type
46485  */
46486 static RoleSpec *
makeRoleSpec(RoleSpecType type,int location)46487 makeRoleSpec(RoleSpecType type, int location)
46488 {
46489 	RoleSpec *spec = makeNode(RoleSpec);
46490 
46491 	spec->roletype = type;
46492 	spec->location = location;
46493 
46494 	return spec;
46495 }
46496 
46497 /* check_qualified_name --- check the result of qualified_name production
46498  *
46499  * It's easiest to let the grammar production for qualified_name allow
46500  * subscripts and '*', which we then must reject here.
46501  */
46502 static void
check_qualified_name(List * names,core_yyscan_t yyscanner)46503 check_qualified_name(List *names, core_yyscan_t yyscanner)
46504 {
46505 	ListCell   *i;
46506 
46507 	foreach(i, names)
46508 	{
46509 		if (!IsA(lfirst(i), String))
46510 			parser_yyerror("syntax error");
46511 	}
46512 }
46513 
46514 /* check_func_name --- check the result of func_name production
46515  *
46516  * It's easiest to let the grammar production for func_name allow subscripts
46517  * and '*', which we then must reject here.
46518  */
46519 static List *
check_func_name(List * names,core_yyscan_t yyscanner)46520 check_func_name(List *names, core_yyscan_t yyscanner)
46521 {
46522 	ListCell   *i;
46523 
46524 	foreach(i, names)
46525 	{
46526 		if (!IsA(lfirst(i), String))
46527 			parser_yyerror("syntax error");
46528 	}
46529 	return names;
46530 }
46531 
46532 /* check_indirection --- check the result of indirection production
46533  *
46534  * We only allow '*' at the end of the list, but it's hard to enforce that
46535  * in the grammar, so do it here.
46536  */
46537 static List *
check_indirection(List * indirection,core_yyscan_t yyscanner)46538 check_indirection(List *indirection, core_yyscan_t yyscanner)
46539 {
46540 	ListCell *l;
46541 
46542 	foreach(l, indirection)
46543 	{
46544 		if (IsA(lfirst(l), A_Star))
46545 		{
46546 			if (lnext(indirection, l) != NULL)
46547 				parser_yyerror("improper use of \"*\"");
46548 		}
46549 	}
46550 	return indirection;
46551 }
46552 
46553 /* extractArgTypes()
46554  * Given a list of FunctionParameter nodes, extract a list of just the
46555  * argument types (TypeNames) for input parameters only.  This is what
46556  * is needed to look up an existing function, which is what is wanted by
46557  * the productions that use this call.
46558  */
46559 static List *
extractArgTypes(List * parameters)46560 extractArgTypes(List *parameters)
46561 {
46562 	List	   *result = NIL;
46563 	ListCell   *i;
46564 
46565 	foreach(i, parameters)
46566 	{
46567 		FunctionParameter *p = (FunctionParameter *) lfirst(i);
46568 
46569 		if (p->mode != FUNC_PARAM_OUT && p->mode != FUNC_PARAM_TABLE)
46570 			result = lappend(result, p->argType);
46571 	}
46572 	return result;
46573 }
46574 
46575 /* extractAggrArgTypes()
46576  * As above, but work from the output of the aggr_args production.
46577  */
46578 static List *
extractAggrArgTypes(List * aggrargs)46579 extractAggrArgTypes(List *aggrargs)
46580 {
46581 	Assert(list_length(aggrargs) == 2);
46582 	return extractArgTypes((List *) linitial(aggrargs));
46583 }
46584 
46585 /* makeOrderedSetArgs()
46586  * Build the result of the aggr_args production (which see the comments for).
46587  * This handles only the case where both given lists are nonempty, so that
46588  * we have to deal with multiple VARIADIC arguments.
46589  */
46590 static List *
makeOrderedSetArgs(List * directargs,List * orderedargs,core_yyscan_t yyscanner)46591 makeOrderedSetArgs(List *directargs, List *orderedargs,
46592 				   core_yyscan_t yyscanner)
46593 {
46594 	FunctionParameter *lastd = (FunctionParameter *) llast(directargs);
46595 	Value	   *ndirectargs;
46596 
46597 	/* No restriction unless last direct arg is VARIADIC */
46598 	if (lastd->mode == FUNC_PARAM_VARIADIC)
46599 	{
46600 		FunctionParameter *firsto = (FunctionParameter *) linitial(orderedargs);
46601 
46602 		/*
46603 		 * We ignore the names, though the aggr_arg production allows them;
46604 		 * it doesn't allow default values, so those need not be checked.
46605 		 */
46606 		if (list_length(orderedargs) != 1 ||
46607 			firsto->mode != FUNC_PARAM_VARIADIC ||
46608 			!equal(lastd->argType, firsto->argType))
46609 			ereport(ERROR,
46610 					(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
46611 					 errmsg("an ordered-set aggregate with a VARIADIC direct argument must have one VARIADIC aggregated argument of the same data type"),
46612 					 parser_errposition(exprLocation((Node *) firsto))));
46613 
46614 		/* OK, drop the duplicate VARIADIC argument from the internal form */
46615 		orderedargs = NIL;
46616 	}
46617 
46618 	/* don't merge into the next line, as list_concat changes directargs */
46619 	ndirectargs = makeInteger(list_length(directargs));
46620 
46621 	return list_make2(list_concat(directargs, orderedargs),
46622 					  ndirectargs);
46623 }
46624 
46625 /* insertSelectOptions()
46626  * Insert ORDER BY, etc into an already-constructed SelectStmt.
46627  *
46628  * This routine is just to avoid duplicating code in SelectStmt productions.
46629  */
46630 static void
insertSelectOptions(SelectStmt * stmt,List * sortClause,List * lockingClause,SelectLimit * limitClause,WithClause * withClause,core_yyscan_t yyscanner)46631 insertSelectOptions(SelectStmt *stmt,
46632 					List *sortClause, List *lockingClause,
46633 					SelectLimit *limitClause,
46634 					WithClause *withClause,
46635 					core_yyscan_t yyscanner)
46636 {
46637 	Assert(IsA(stmt, SelectStmt));
46638 
46639 	/*
46640 	 * Tests here are to reject constructs like
46641 	 *	(SELECT foo ORDER BY bar) ORDER BY baz
46642 	 */
46643 	if (sortClause)
46644 	{
46645 		if (stmt->sortClause)
46646 			ereport(ERROR,
46647 					(errcode(ERRCODE_SYNTAX_ERROR),
46648 					 errmsg("multiple ORDER BY clauses not allowed"),
46649 					 parser_errposition(exprLocation((Node *) sortClause))));
46650 		stmt->sortClause = sortClause;
46651 	}
46652 	/* We can handle multiple locking clauses, though */
46653 	stmt->lockingClause = list_concat(stmt->lockingClause, lockingClause);
46654 	if (limitClause && limitClause->limitOffset)
46655 	{
46656 		if (stmt->limitOffset)
46657 			ereport(ERROR,
46658 					(errcode(ERRCODE_SYNTAX_ERROR),
46659 					 errmsg("multiple OFFSET clauses not allowed"),
46660 					 parser_errposition(exprLocation(limitClause->limitOffset))));
46661 		stmt->limitOffset = limitClause->limitOffset;
46662 	}
46663 	if (limitClause && limitClause->limitCount)
46664 	{
46665 		if (stmt->limitCount)
46666 			ereport(ERROR,
46667 					(errcode(ERRCODE_SYNTAX_ERROR),
46668 					 errmsg("multiple LIMIT clauses not allowed"),
46669 					 parser_errposition(exprLocation(limitClause->limitCount))));
46670 		stmt->limitCount = limitClause->limitCount;
46671 	}
46672 	if (limitClause && limitClause->limitOption != LIMIT_OPTION_DEFAULT)
46673 	{
46674 		if (stmt->limitOption)
46675 			ereport(ERROR,
46676 					(errcode(ERRCODE_SYNTAX_ERROR),
46677 					 errmsg("multiple limit options not allowed")));
46678 		if (!stmt->sortClause && limitClause->limitOption == LIMIT_OPTION_WITH_TIES)
46679 			ereport(ERROR,
46680 					(errcode(ERRCODE_SYNTAX_ERROR),
46681 					 errmsg("WITH TIES cannot be specified without ORDER BY clause")));
46682 		if (limitClause->limitOption == LIMIT_OPTION_WITH_TIES && stmt->lockingClause)
46683 		{
46684 			ListCell   *lc;
46685 
46686 			foreach(lc, stmt->lockingClause)
46687 			{
46688 				LockingClause *lock = lfirst_node(LockingClause, lc);
46689 
46690 				if (lock->waitPolicy == LockWaitSkip)
46691 					ereport(ERROR,
46692 							(errcode(ERRCODE_SYNTAX_ERROR),
46693 							 errmsg("%s and %s options cannot be used together",
46694 									"SKIP LOCKED", "WITH TIES")));
46695 			}
46696 		}
46697 		stmt->limitOption = limitClause->limitOption;
46698 	}
46699 	if (withClause)
46700 	{
46701 		if (stmt->withClause)
46702 			ereport(ERROR,
46703 					(errcode(ERRCODE_SYNTAX_ERROR),
46704 					 errmsg("multiple WITH clauses not allowed"),
46705 					 parser_errposition(exprLocation((Node *) withClause))));
46706 		stmt->withClause = withClause;
46707 	}
46708 }
46709 
46710 static Node *
makeSetOp(SetOperation op,bool all,Node * larg,Node * rarg)46711 makeSetOp(SetOperation op, bool all, Node *larg, Node *rarg)
46712 {
46713 	SelectStmt *n = makeNode(SelectStmt);
46714 
46715 	n->op = op;
46716 	n->all = all;
46717 	n->larg = (SelectStmt *) larg;
46718 	n->rarg = (SelectStmt *) rarg;
46719 	return (Node *) n;
46720 }
46721 
46722 /* SystemFuncName()
46723  * Build a properly-qualified reference to a built-in function.
46724  */
46725 List *
SystemFuncName(char * name)46726 SystemFuncName(char *name)
46727 {
46728 	return list_make2(makeString("pg_catalog"), makeString(name));
46729 }
46730 
46731 /* SystemTypeName()
46732  * Build a properly-qualified reference to a built-in type.
46733  *
46734  * typmod is defaulted, but may be changed afterwards by caller.
46735  * Likewise for the location.
46736  */
46737 TypeName *
SystemTypeName(char * name)46738 SystemTypeName(char *name)
46739 {
46740 	return makeTypeNameFromNameList(list_make2(makeString("pg_catalog"),
46741 											   makeString(name)));
46742 }
46743 
46744 /* doNegate()
46745  * Handle negation of a numeric constant.
46746  *
46747  * Formerly, we did this here because the optimizer couldn't cope with
46748  * indexquals that looked like "var = -4" --- it wants "var = const"
46749  * and a unary minus operator applied to a constant didn't qualify.
46750  * As of Postgres 7.0, that problem doesn't exist anymore because there
46751  * is a constant-subexpression simplifier in the optimizer.  However,
46752  * there's still a good reason for doing this here, which is that we can
46753  * postpone committing to a particular internal representation for simple
46754  * negative constants.	It's better to leave "-123.456" in string form
46755  * until we know what the desired type is.
46756  */
46757 static Node *
doNegate(Node * n,int location)46758 doNegate(Node *n, int location)
46759 {
46760 	if (IsA(n, A_Const))
46761 	{
46762 		A_Const *con = (A_Const *)n;
46763 
46764 		/* report the constant's location as that of the '-' sign */
46765 		con->location = location;
46766 
46767 		if (con->val.type == T_Integer)
46768 		{
46769 			con->val.val.ival = -con->val.val.ival;
46770 			return n;
46771 		}
46772 		if (con->val.type == T_Float)
46773 		{
46774 			doNegateFloat(&con->val);
46775 			return n;
46776 		}
46777 	}
46778 
46779 	return (Node *) makeSimpleA_Expr(AEXPR_OP, "-", NULL, n, location);
46780 }
46781 
46782 static void
doNegateFloat(Value * v)46783 doNegateFloat(Value *v)
46784 {
46785 	char   *oldval = v->val.str;
46786 
46787 	Assert(IsA(v, Float));
46788 	if (*oldval == '+')
46789 		oldval++;
46790 	if (*oldval == '-')
46791 		v->val.str = oldval+1;	/* just strip the '-' */
46792 	else
46793 		v->val.str = psprintf("-%s", oldval);
46794 }
46795 
46796 static Node *
makeAndExpr(Node * lexpr,Node * rexpr,int location)46797 makeAndExpr(Node *lexpr, Node *rexpr, int location)
46798 {
46799 	Node	   *lexp = lexpr;
46800 
46801 	/* Look through AEXPR_PAREN nodes so they don't affect flattening */
46802 	while (IsA(lexp, A_Expr) &&
46803 		   ((A_Expr *) lexp)->kind == AEXPR_PAREN)
46804 		lexp = ((A_Expr *) lexp)->lexpr;
46805 	/* Flatten "a AND b AND c ..." to a single BoolExpr on sight */
46806 	if (IsA(lexp, BoolExpr))
46807 	{
46808 		BoolExpr *blexpr = (BoolExpr *) lexp;
46809 
46810 		if (blexpr->boolop == AND_EXPR)
46811 		{
46812 			blexpr->args = lappend(blexpr->args, rexpr);
46813 			return (Node *) blexpr;
46814 		}
46815 	}
46816 	return (Node *) makeBoolExpr(AND_EXPR, list_make2(lexpr, rexpr), location);
46817 }
46818 
46819 static Node *
makeOrExpr(Node * lexpr,Node * rexpr,int location)46820 makeOrExpr(Node *lexpr, Node *rexpr, int location)
46821 {
46822 	Node	   *lexp = lexpr;
46823 
46824 	/* Look through AEXPR_PAREN nodes so they don't affect flattening */
46825 	while (IsA(lexp, A_Expr) &&
46826 		   ((A_Expr *) lexp)->kind == AEXPR_PAREN)
46827 		lexp = ((A_Expr *) lexp)->lexpr;
46828 	/* Flatten "a OR b OR c ..." to a single BoolExpr on sight */
46829 	if (IsA(lexp, BoolExpr))
46830 	{
46831 		BoolExpr *blexpr = (BoolExpr *) lexp;
46832 
46833 		if (blexpr->boolop == OR_EXPR)
46834 		{
46835 			blexpr->args = lappend(blexpr->args, rexpr);
46836 			return (Node *) blexpr;
46837 		}
46838 	}
46839 	return (Node *) makeBoolExpr(OR_EXPR, list_make2(lexpr, rexpr), location);
46840 }
46841 
46842 static Node *
makeNotExpr(Node * expr,int location)46843 makeNotExpr(Node *expr, int location)
46844 {
46845 	return (Node *) makeBoolExpr(NOT_EXPR, list_make1(expr), location);
46846 }
46847 
46848 static Node *
makeAArrayExpr(List * elements,int location)46849 makeAArrayExpr(List *elements, int location)
46850 {
46851 	A_ArrayExpr *n = makeNode(A_ArrayExpr);
46852 
46853 	n->elements = elements;
46854 	n->location = location;
46855 	return (Node *) n;
46856 }
46857 
46858 static Node *
makeSQLValueFunction(SQLValueFunctionOp op,int32 typmod,int location)46859 makeSQLValueFunction(SQLValueFunctionOp op, int32 typmod, int location)
46860 {
46861 	SQLValueFunction *svf = makeNode(SQLValueFunction);
46862 
46863 	svf->op = op;
46864 	/* svf->type will be filled during parse analysis */
46865 	svf->typmod = typmod;
46866 	svf->location = location;
46867 	return (Node *) svf;
46868 }
46869 
46870 static Node *
makeXmlExpr(XmlExprOp op,char * name,List * named_args,List * args,int location)46871 makeXmlExpr(XmlExprOp op, char *name, List *named_args, List *args,
46872 			int location)
46873 {
46874 	XmlExpr		*x = makeNode(XmlExpr);
46875 
46876 	x->op = op;
46877 	x->name = name;
46878 	/*
46879 	 * named_args is a list of ResTarget; it'll be split apart into separate
46880 	 * expression and name lists in transformXmlExpr().
46881 	 */
46882 	x->named_args = named_args;
46883 	x->arg_names = NIL;
46884 	x->args = args;
46885 	/* xmloption, if relevant, must be filled in by caller */
46886 	/* type and typmod will be filled in during parse analysis */
46887 	x->type = InvalidOid;			/* marks the node as not analyzed */
46888 	x->location = location;
46889 	return (Node *) x;
46890 }
46891 
46892 /*
46893  * Merge the input and output parameters of a table function.
46894  */
46895 static List *
mergeTableFuncParameters(List * func_args,List * columns)46896 mergeTableFuncParameters(List *func_args, List *columns)
46897 {
46898 	ListCell   *lc;
46899 
46900 	/* Explicit OUT and INOUT parameters shouldn't be used in this syntax */
46901 	foreach(lc, func_args)
46902 	{
46903 		FunctionParameter *p = (FunctionParameter *) lfirst(lc);
46904 
46905 		if (p->mode != FUNC_PARAM_IN && p->mode != FUNC_PARAM_VARIADIC)
46906 			ereport(ERROR,
46907 					(errcode(ERRCODE_SYNTAX_ERROR),
46908 					 errmsg("OUT and INOUT arguments aren't allowed in TABLE functions")));
46909 	}
46910 
46911 	return list_concat(func_args, columns);
46912 }
46913 
46914 /*
46915  * Determine return type of a TABLE function.  A single result column
46916  * returns setof that column's type; otherwise return setof record.
46917  */
46918 static TypeName *
TableFuncTypeName(List * columns)46919 TableFuncTypeName(List *columns)
46920 {
46921 	TypeName *result;
46922 
46923 	if (list_length(columns) == 1)
46924 	{
46925 		FunctionParameter *p = (FunctionParameter *) linitial(columns);
46926 
46927 		result = copyObject(p->argType);
46928 	}
46929 	else
46930 		result = SystemTypeName("record");
46931 
46932 	result->setof = true;
46933 
46934 	return result;
46935 }
46936 
46937 /*
46938  * Convert a list of (dotted) names to a RangeVar (like
46939  * makeRangeVarFromNameList, but with position support).  The
46940  * "AnyName" refers to the any_name production in the grammar.
46941  */
46942 static RangeVar *
makeRangeVarFromAnyName(List * names,int position,core_yyscan_t yyscanner)46943 makeRangeVarFromAnyName(List *names, int position, core_yyscan_t yyscanner)
46944 {
46945 	RangeVar *r = makeNode(RangeVar);
46946 
46947 	switch (list_length(names))
46948 	{
46949 		case 1:
46950 			r->catalogname = NULL;
46951 			r->schemaname = NULL;
46952 			r->relname = strVal(linitial(names));
46953 			break;
46954 		case 2:
46955 			r->catalogname = NULL;
46956 			r->schemaname = strVal(linitial(names));
46957 			r->relname = strVal(lsecond(names));
46958 			break;
46959 		case 3:
46960 			r->catalogname = strVal(linitial(names));
46961 			r->schemaname = strVal(lsecond(names));
46962 			r->relname = strVal(lthird(names));
46963 			break;
46964 		default:
46965 			ereport(ERROR,
46966 					(errcode(ERRCODE_SYNTAX_ERROR),
46967 					 errmsg("improper qualified name (too many dotted names): %s",
46968 							NameListToString(names)),
46969 					 parser_errposition(position)));
46970 			break;
46971 	}
46972 
46973 	r->relpersistence = RELPERSISTENCE_PERMANENT;
46974 	r->location = position;
46975 
46976 	return r;
46977 }
46978 
46979 /* Separate Constraint nodes from COLLATE clauses in a ColQualList */
46980 static void
SplitColQualList(List * qualList,List ** constraintList,CollateClause ** collClause,core_yyscan_t yyscanner)46981 SplitColQualList(List *qualList,
46982 				 List **constraintList, CollateClause **collClause,
46983 				 core_yyscan_t yyscanner)
46984 {
46985 	ListCell   *cell;
46986 
46987 	*collClause = NULL;
46988 	foreach(cell, qualList)
46989 	{
46990 		Node   *n = (Node *) lfirst(cell);
46991 
46992 		if (IsA(n, Constraint))
46993 		{
46994 			/* keep it in list */
46995 			continue;
46996 		}
46997 		if (IsA(n, CollateClause))
46998 		{
46999 			CollateClause *c = (CollateClause *) n;
47000 
47001 			if (*collClause)
47002 				ereport(ERROR,
47003 						(errcode(ERRCODE_SYNTAX_ERROR),
47004 						 errmsg("multiple COLLATE clauses not allowed"),
47005 						 parser_errposition(c->location)));
47006 			*collClause = c;
47007 		}
47008 		else
47009 			elog(ERROR, "unexpected node type %d", (int) n->type);
47010 		/* remove non-Constraint nodes from qualList */
47011 		qualList = foreach_delete_current(qualList, cell);
47012 	}
47013 	*constraintList = qualList;
47014 }
47015 
47016 /*
47017  * Process result of ConstraintAttributeSpec, and set appropriate bool flags
47018  * in the output command node.  Pass NULL for any flags the particular
47019  * command doesn't support.
47020  */
47021 static void
processCASbits(int cas_bits,int location,const char * constrType,bool * deferrable,bool * initdeferred,bool * not_valid,bool * no_inherit,core_yyscan_t yyscanner)47022 processCASbits(int cas_bits, int location, const char *constrType,
47023 			   bool *deferrable, bool *initdeferred, bool *not_valid,
47024 			   bool *no_inherit, core_yyscan_t yyscanner)
47025 {
47026 	/* defaults */
47027 	if (deferrable)
47028 		*deferrable = false;
47029 	if (initdeferred)
47030 		*initdeferred = false;
47031 	if (not_valid)
47032 		*not_valid = false;
47033 
47034 	if (cas_bits & (CAS_DEFERRABLE | CAS_INITIALLY_DEFERRED))
47035 	{
47036 		if (deferrable)
47037 			*deferrable = true;
47038 		else
47039 			ereport(ERROR,
47040 					(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
47041 					 /* translator: %s is CHECK, UNIQUE, or similar */
47042 					 errmsg("%s constraints cannot be marked DEFERRABLE",
47043 							constrType),
47044 					 parser_errposition(location)));
47045 	}
47046 
47047 	if (cas_bits & CAS_INITIALLY_DEFERRED)
47048 	{
47049 		if (initdeferred)
47050 			*initdeferred = true;
47051 		else
47052 			ereport(ERROR,
47053 					(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
47054 					 /* translator: %s is CHECK, UNIQUE, or similar */
47055 					 errmsg("%s constraints cannot be marked DEFERRABLE",
47056 							constrType),
47057 					 parser_errposition(location)));
47058 	}
47059 
47060 	if (cas_bits & CAS_NOT_VALID)
47061 	{
47062 		if (not_valid)
47063 			*not_valid = true;
47064 		else
47065 			ereport(ERROR,
47066 					(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
47067 					 /* translator: %s is CHECK, UNIQUE, or similar */
47068 					 errmsg("%s constraints cannot be marked NOT VALID",
47069 							constrType),
47070 					 parser_errposition(location)));
47071 	}
47072 
47073 	if (cas_bits & CAS_NO_INHERIT)
47074 	{
47075 		if (no_inherit)
47076 			*no_inherit = true;
47077 		else
47078 			ereport(ERROR,
47079 					(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
47080 					 /* translator: %s is CHECK, UNIQUE, or similar */
47081 					 errmsg("%s constraints cannot be marked NO INHERIT",
47082 							constrType),
47083 					 parser_errposition(location)));
47084 	}
47085 }
47086 
47087 /*----------
47088  * Recursive view transformation
47089  *
47090  * Convert
47091  *
47092  *     CREATE RECURSIVE VIEW relname (aliases) AS query
47093  *
47094  * to
47095  *
47096  *     CREATE VIEW relname (aliases) AS
47097  *         WITH RECURSIVE relname (aliases) AS (query)
47098  *         SELECT aliases FROM relname
47099  *
47100  * Actually, just the WITH ... part, which is then inserted into the original
47101  * view definition as the query.
47102  * ----------
47103  */
47104 static Node *
makeRecursiveViewSelect(char * relname,List * aliases,Node * query)47105 makeRecursiveViewSelect(char *relname, List *aliases, Node *query)
47106 {
47107 	SelectStmt *s = makeNode(SelectStmt);
47108 	WithClause *w = makeNode(WithClause);
47109 	CommonTableExpr *cte = makeNode(CommonTableExpr);
47110 	List	   *tl = NIL;
47111 	ListCell   *lc;
47112 
47113 	/* create common table expression */
47114 	cte->ctename = relname;
47115 	cte->aliascolnames = aliases;
47116 	cte->ctematerialized = CTEMaterializeDefault;
47117 	cte->ctequery = query;
47118 	cte->location = -1;
47119 
47120 	/* create WITH clause and attach CTE */
47121 	w->recursive = true;
47122 	w->ctes = list_make1(cte);
47123 	w->location = -1;
47124 
47125 	/* create target list for the new SELECT from the alias list of the
47126 	 * recursive view specification */
47127 	foreach (lc, aliases)
47128 	{
47129 		ResTarget *rt = makeNode(ResTarget);
47130 
47131 		rt->name = NULL;
47132 		rt->indirection = NIL;
47133 		rt->val = makeColumnRef(strVal(lfirst(lc)), NIL, -1, 0);
47134 		rt->location = -1;
47135 
47136 		tl = lappend(tl, rt);
47137 	}
47138 
47139 	/* create new SELECT combining WITH clause, target list, and fake FROM
47140 	 * clause */
47141 	s->withClause = w;
47142 	s->targetList = tl;
47143 	s->fromClause = list_make1(makeRangeVar(NULL, relname, -1));
47144 
47145 	return (Node *) s;
47146 }
47147 
47148 /* parser_init()
47149  * Initialize to parse one query string
47150  */
47151 void
parser_init(base_yy_extra_type * yyext)47152 parser_init(base_yy_extra_type *yyext)
47153 {
47154 	yyext->parsetree = NIL;		/* in case grammar forgets to set it */
47155 }
47156