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-2018, PostgreSQL Global Development Group
85  * Portions Copyright (c) 1994, Regents of the University of California
86  *
87  *
88  * IDENTIFICATION
89  *	  src/backend/parser/gram.y
90  *
91  * HISTORY
92  *	  AUTHOR			DATE			MAJOR EVENT
93  *	  Andrew Yu			Sept, 1994		POSTQUEL to SQL conversion
94  *	  Andrew Yu			Oct, 1994		lispy code conversion
95  *
96  * NOTES
97  *	  CAPITALS are used to represent terminal symbols.
98  *	  non-capitals are used to represent non-terminals.
99  *
100  *	  In general, nothing in this file should initiate database accesses
101  *	  nor depend on changeable state (such as SET variables).  If you do
102  *	  database accesses, your code will fail when we have aborted the
103  *	  current transaction and are just parsing commands to find the next
104  *	  ROLLBACK or COMMIT.  If you make use of SET variables, then you
105  *	  will do the wrong thing in multi-query strings like this:
106  *			SET constraint_exclusion TO off; SELECT * FROM foo;
107  *	  because the entire string is parsed by gram.y before the SET gets
108  *	  executed.  Anything that depends on the database or changeable state
109  *	  should be handled during parse analysis so that it happens at the
110  *	  right time not the wrong time.
111  *
112  * WARNINGS
113  *	  If you use a list, make sure the datum is a node so that the printing
114  *	  routines work.
115  *
116  *	  Sometimes we assign constants to makeStrings. Make sure we don't free
117  *	  those.
118  *
119  *-------------------------------------------------------------------------
120  */
121 #include "postgres.h"
122 
123 #include <ctype.h>
124 #include <limits.h>
125 
126 #include "catalog/index.h"
127 #include "catalog/namespace.h"
128 #include "catalog/pg_am.h"
129 #include "catalog/pg_trigger.h"
130 #include "commands/defrem.h"
131 #include "commands/trigger.h"
132 #include "nodes/makefuncs.h"
133 #include "nodes/nodeFuncs.h"
134 #include "parser/gramparse.h"
135 #include "parser/parser.h"
136 #include "parser/parse_expr.h"
137 #include "storage/lmgr.h"
138 #include "utils/date.h"
139 #include "utils/datetime.h"
140 #include "utils/numeric.h"
141 #include "utils/xml.h"
142 
143 
144 /*
145  * Location tracking support --- simpler than bison's default, since we only
146  * want to track the start position not the end position of each nonterminal.
147  */
148 #define YYLLOC_DEFAULT(Current, Rhs, N) \
149 	do { \
150 		if ((N) > 0) \
151 			(Current) = (Rhs)[1]; \
152 		else \
153 			(Current) = (-1); \
154 	} while (0)
155 
156 /*
157  * The above macro assigns -1 (unknown) as the parse location of any
158  * nonterminal that was reduced from an empty rule, or whose leftmost
159  * component was reduced from an empty rule.  This is problematic
160  * for nonterminals defined like
161  *		OptFooList: / * EMPTY * / { ... } | OptFooList Foo { ... } ;
162  * because we'll set -1 as the location during the first reduction and then
163  * copy it during each subsequent reduction, leaving us with -1 for the
164  * location even when the list is not empty.  To fix that, do this in the
165  * action for the nonempty rule(s):
166  *		if (@$ < 0) @$ = @2;
167  * (Although we have many nonterminals that follow this pattern, we only
168  * bother with fixing @$ like this when the nonterminal's parse location
169  * is actually referenced in some rule.)
170  *
171  * A cleaner answer would be to make YYLLOC_DEFAULT scan all the Rhs
172  * locations until it's found one that's not -1.  Then we'd get a correct
173  * location for any nonterminal that isn't entirely empty.  But this way
174  * would add overhead to every rule reduction, and so far there's not been
175  * a compelling reason to pay that overhead.
176  */
177 
178 /*
179  * Bison doesn't allocate anything that needs to live across parser calls,
180  * so we can easily have it use palloc instead of malloc.  This prevents
181  * memory leaks if we error out during parsing.  Note this only works with
182  * bison >= 2.0.  However, in bison 1.875 the default is to use alloca()
183  * if possible, so there's not really much problem anyhow, at least if
184  * you're building with gcc.
185  */
186 #define YYMALLOC palloc
187 #define YYFREE   pfree
188 
189 /* Private struct for the result of privilege_target production */
190 typedef struct PrivTarget
191 {
192 	GrantTargetType targtype;
193 	ObjectType	objtype;
194 	List	   *objs;
195 } PrivTarget;
196 
197 /* Private struct for the result of import_qualification production */
198 typedef struct ImportQual
199 {
200 	ImportForeignSchemaType type;
201 	List	   *table_names;
202 } ImportQual;
203 
204 /* ConstraintAttributeSpec yields an integer bitmask of these flags: */
205 #define CAS_NOT_DEFERRABLE			0x01
206 #define CAS_DEFERRABLE				0x02
207 #define CAS_INITIALLY_IMMEDIATE		0x04
208 #define CAS_INITIALLY_DEFERRED		0x08
209 #define CAS_NOT_VALID				0x10
210 #define CAS_NO_INHERIT				0x20
211 
212 
213 #define parser_yyerror(msg)  scanner_yyerror(msg, yyscanner)
214 #define parser_errposition(pos)  scanner_errposition(pos, yyscanner)
215 
216 static void base_yyerror(YYLTYPE *yylloc, core_yyscan_t yyscanner,
217 						 const char *msg);
218 static RawStmt *makeRawStmt(Node *stmt, int stmt_location);
219 static void updateRawStmtEnd(RawStmt *rs, int end_location);
220 static Node *makeColumnRef(char *colname, List *indirection,
221 						   int location, core_yyscan_t yyscanner);
222 static Node *makeTypeCast(Node *arg, TypeName *typename, int location);
223 static Node *makeStringConst(char *str, int location);
224 static Node *makeStringConstCast(char *str, int location, TypeName *typename);
225 static Node *makeIntConst(int val, int location);
226 static Node *makeFloatConst(char *str, int location);
227 static Node *makeBitStringConst(char *str, int location);
228 static Node *makeNullAConst(int location);
229 static Node *makeAConst(Value *v, int location);
230 static Node *makeBoolAConst(bool state, int location);
231 static RoleSpec *makeRoleSpec(RoleSpecType type, int location);
232 static void check_qualified_name(List *names, core_yyscan_t yyscanner);
233 static List *check_func_name(List *names, core_yyscan_t yyscanner);
234 static List *check_indirection(List *indirection, core_yyscan_t yyscanner);
235 static List *extractArgTypes(List *parameters);
236 static List *extractAggrArgTypes(List *aggrargs);
237 static List *makeOrderedSetArgs(List *directargs, List *orderedargs,
238 								core_yyscan_t yyscanner);
239 static void insertSelectOptions(SelectStmt *stmt,
240 								List *sortClause, List *lockingClause,
241 								Node *limitOffset, Node *limitCount,
242 								WithClause *withClause,
243 								core_yyscan_t yyscanner);
244 static Node *makeSetOp(SetOperation op, bool all, Node *larg, Node *rarg);
245 static Node *doNegate(Node *n, int location);
246 static void doNegateFloat(Value *v);
247 static Node *makeAndExpr(Node *lexpr, Node *rexpr, int location);
248 static Node *makeOrExpr(Node *lexpr, Node *rexpr, int location);
249 static Node *makeNotExpr(Node *expr, int location);
250 static Node *makeAArrayExpr(List *elements, int location);
251 static Node *makeSQLValueFunction(SQLValueFunctionOp op, int32 typmod,
252 								  int location);
253 static Node *makeXmlExpr(XmlExprOp op, char *name, List *named_args,
254 						 List *args, int location);
255 static List *mergeTableFuncParameters(List *func_args, List *columns);
256 static TypeName *TableFuncTypeName(List *columns);
257 static RangeVar *makeRangeVarFromAnyName(List *names, int position, core_yyscan_t yyscanner);
258 static void SplitColQualList(List *qualList,
259 							 List **constraintList, CollateClause **collClause,
260 							 core_yyscan_t yyscanner);
261 static void processCASbits(int cas_bits, int location, const char *constrType,
262 			   bool *deferrable, bool *initdeferred, bool *not_valid,
263 			   bool *no_inherit, core_yyscan_t yyscanner);
264 static Node *makeRecursiveViewSelect(char *relname, List *aliases, Node *query);
265 
266 
267 #line 268 "gram.c" /* yacc.c:337  */
268 # ifndef YY_NULLPTR
269 #  if defined __cplusplus
270 #   if 201103L <= __cplusplus
271 #    define YY_NULLPTR nullptr
272 #   else
273 #    define YY_NULLPTR 0
274 #   endif
275 #  else
276 #   define YY_NULLPTR ((void*)0)
277 #  endif
278 # endif
279 
280 /* Enabling verbose error messages.  */
281 #ifdef YYERROR_VERBOSE
282 # undef YYERROR_VERBOSE
283 # define YYERROR_VERBOSE 1
284 #else
285 # define YYERROR_VERBOSE 0
286 #endif
287 
288 /* In a future release of Bison, this section will be replaced
289    by #include "gram.h".  */
290 #ifndef YY_BASE_YY_GRAM_H_INCLUDED
291 # define YY_BASE_YY_GRAM_H_INCLUDED
292 /* Debug traces.  */
293 #ifndef YYDEBUG
294 # define YYDEBUG 0
295 #endif
296 #if YYDEBUG
297 extern int base_yydebug;
298 #endif
299 
300 /* Token type.  */
301 #ifndef YYTOKENTYPE
302 # define YYTOKENTYPE
303   enum yytokentype
304   {
305     IDENT = 258,
306     FCONST = 259,
307     SCONST = 260,
308     BCONST = 261,
309     XCONST = 262,
310     Op = 263,
311     ICONST = 264,
312     PARAM = 265,
313     TYPECAST = 266,
314     DOT_DOT = 267,
315     COLON_EQUALS = 268,
316     EQUALS_GREATER = 269,
317     LESS_EQUALS = 270,
318     GREATER_EQUALS = 271,
319     NOT_EQUALS = 272,
320     ABORT_P = 273,
321     ABSOLUTE_P = 274,
322     ACCESS = 275,
323     ACTION = 276,
324     ADD_P = 277,
325     ADMIN = 278,
326     AFTER = 279,
327     AGGREGATE = 280,
328     ALL = 281,
329     ALSO = 282,
330     ALTER = 283,
331     ALWAYS = 284,
332     ANALYSE = 285,
333     ANALYZE = 286,
334     AND = 287,
335     ANY = 288,
336     ARRAY = 289,
337     AS = 290,
338     ASC = 291,
339     ASSERTION = 292,
340     ASSIGNMENT = 293,
341     ASYMMETRIC = 294,
342     AT = 295,
343     ATTACH = 296,
344     ATTRIBUTE = 297,
345     AUTHORIZATION = 298,
346     BACKWARD = 299,
347     BEFORE = 300,
348     BEGIN_P = 301,
349     BETWEEN = 302,
350     BIGINT = 303,
351     BINARY = 304,
352     BIT = 305,
353     BOOLEAN_P = 306,
354     BOTH = 307,
355     BY = 308,
356     CACHE = 309,
357     CALL = 310,
358     CALLED = 311,
359     CASCADE = 312,
360     CASCADED = 313,
361     CASE = 314,
362     CAST = 315,
363     CATALOG_P = 316,
364     CHAIN = 317,
365     CHAR_P = 318,
366     CHARACTER = 319,
367     CHARACTERISTICS = 320,
368     CHECK = 321,
369     CHECKPOINT = 322,
370     CLASS = 323,
371     CLOSE = 324,
372     CLUSTER = 325,
373     COALESCE = 326,
374     COLLATE = 327,
375     COLLATION = 328,
376     COLUMN = 329,
377     COLUMNS = 330,
378     COMMENT = 331,
379     COMMENTS = 332,
380     COMMIT = 333,
381     COMMITTED = 334,
382     CONCURRENTLY = 335,
383     CONFIGURATION = 336,
384     CONFLICT = 337,
385     CONNECTION = 338,
386     CONSTRAINT = 339,
387     CONSTRAINTS = 340,
388     CONTENT_P = 341,
389     CONTINUE_P = 342,
390     CONVERSION_P = 343,
391     COPY = 344,
392     COST = 345,
393     CREATE = 346,
394     CROSS = 347,
395     CSV = 348,
396     CUBE = 349,
397     CURRENT_P = 350,
398     CURRENT_CATALOG = 351,
399     CURRENT_DATE = 352,
400     CURRENT_ROLE = 353,
401     CURRENT_SCHEMA = 354,
402     CURRENT_TIME = 355,
403     CURRENT_TIMESTAMP = 356,
404     CURRENT_USER = 357,
405     CURSOR = 358,
406     CYCLE = 359,
407     DATA_P = 360,
408     DATABASE = 361,
409     DAY_P = 362,
410     DEALLOCATE = 363,
411     DEC = 364,
412     DECIMAL_P = 365,
413     DECLARE = 366,
414     DEFAULT = 367,
415     DEFAULTS = 368,
416     DEFERRABLE = 369,
417     DEFERRED = 370,
418     DEFINER = 371,
419     DELETE_P = 372,
420     DELIMITER = 373,
421     DELIMITERS = 374,
422     DEPENDS = 375,
423     DESC = 376,
424     DETACH = 377,
425     DICTIONARY = 378,
426     DISABLE_P = 379,
427     DISCARD = 380,
428     DISTINCT = 381,
429     DO = 382,
430     DOCUMENT_P = 383,
431     DOMAIN_P = 384,
432     DOUBLE_P = 385,
433     DROP = 386,
434     EACH = 387,
435     ELSE = 388,
436     ENABLE_P = 389,
437     ENCODING = 390,
438     ENCRYPTED = 391,
439     END_P = 392,
440     ENUM_P = 393,
441     ESCAPE = 394,
442     EVENT = 395,
443     EXCEPT = 396,
444     EXCLUDE = 397,
445     EXCLUDING = 398,
446     EXCLUSIVE = 399,
447     EXECUTE = 400,
448     EXISTS = 401,
449     EXPLAIN = 402,
450     EXTENSION = 403,
451     EXTERNAL = 404,
452     EXTRACT = 405,
453     FALSE_P = 406,
454     FAMILY = 407,
455     FETCH = 408,
456     FILTER = 409,
457     FIRST_P = 410,
458     FLOAT_P = 411,
459     FOLLOWING = 412,
460     FOR = 413,
461     FORCE = 414,
462     FOREIGN = 415,
463     FORWARD = 416,
464     FREEZE = 417,
465     FROM = 418,
466     FULL = 419,
467     FUNCTION = 420,
468     FUNCTIONS = 421,
469     GENERATED = 422,
470     GLOBAL = 423,
471     GRANT = 424,
472     GRANTED = 425,
473     GREATEST = 426,
474     GROUP_P = 427,
475     GROUPING = 428,
476     GROUPS = 429,
477     HANDLER = 430,
478     HAVING = 431,
479     HEADER_P = 432,
480     HOLD = 433,
481     HOUR_P = 434,
482     IDENTITY_P = 435,
483     IF_P = 436,
484     ILIKE = 437,
485     IMMEDIATE = 438,
486     IMMUTABLE = 439,
487     IMPLICIT_P = 440,
488     IMPORT_P = 441,
489     IN_P = 442,
490     INCLUDE = 443,
491     INCLUDING = 444,
492     INCREMENT = 445,
493     INDEX = 446,
494     INDEXES = 447,
495     INHERIT = 448,
496     INHERITS = 449,
497     INITIALLY = 450,
498     INLINE_P = 451,
499     INNER_P = 452,
500     INOUT = 453,
501     INPUT_P = 454,
502     INSENSITIVE = 455,
503     INSERT = 456,
504     INSTEAD = 457,
505     INT_P = 458,
506     INTEGER = 459,
507     INTERSECT = 460,
508     INTERVAL = 461,
509     INTO = 462,
510     INVOKER = 463,
511     IS = 464,
512     ISNULL = 465,
513     ISOLATION = 466,
514     JOIN = 467,
515     KEY = 468,
516     LABEL = 469,
517     LANGUAGE = 470,
518     LARGE_P = 471,
519     LAST_P = 472,
520     LATERAL_P = 473,
521     LEADING = 474,
522     LEAKPROOF = 475,
523     LEAST = 476,
524     LEFT = 477,
525     LEVEL = 478,
526     LIKE = 479,
527     LIMIT = 480,
528     LISTEN = 481,
529     LOAD = 482,
530     LOCAL = 483,
531     LOCALTIME = 484,
532     LOCALTIMESTAMP = 485,
533     LOCATION = 486,
534     LOCK_P = 487,
535     LOCKED = 488,
536     LOGGED = 489,
537     MAPPING = 490,
538     MATCH = 491,
539     MATERIALIZED = 492,
540     MAXVALUE = 493,
541     METHOD = 494,
542     MINUTE_P = 495,
543     MINVALUE = 496,
544     MODE = 497,
545     MONTH_P = 498,
546     MOVE = 499,
547     NAME_P = 500,
548     NAMES = 501,
549     NATIONAL = 502,
550     NATURAL = 503,
551     NCHAR = 504,
552     NEW = 505,
553     NEXT = 506,
554     NO = 507,
555     NONE = 508,
556     NOT = 509,
557     NOTHING = 510,
558     NOTIFY = 511,
559     NOTNULL = 512,
560     NOWAIT = 513,
561     NULL_P = 514,
562     NULLIF = 515,
563     NULLS_P = 516,
564     NUMERIC = 517,
565     OBJECT_P = 518,
566     OF = 519,
567     OFF = 520,
568     OFFSET = 521,
569     OIDS = 522,
570     OLD = 523,
571     ON = 524,
572     ONLY = 525,
573     OPERATOR = 526,
574     OPTION = 527,
575     OPTIONS = 528,
576     OR = 529,
577     ORDER = 530,
578     ORDINALITY = 531,
579     OTHERS = 532,
580     OUT_P = 533,
581     OUTER_P = 534,
582     OVER = 535,
583     OVERLAPS = 536,
584     OVERLAY = 537,
585     OVERRIDING = 538,
586     OWNED = 539,
587     OWNER = 540,
588     PARALLEL = 541,
589     PARSER = 542,
590     PARTIAL = 543,
591     PARTITION = 544,
592     PASSING = 545,
593     PASSWORD = 546,
594     PLACING = 547,
595     PLANS = 548,
596     POLICY = 549,
597     POSITION = 550,
598     PRECEDING = 551,
599     PRECISION = 552,
600     PRESERVE = 553,
601     PREPARE = 554,
602     PREPARED = 555,
603     PRIMARY = 556,
604     PRIOR = 557,
605     PRIVILEGES = 558,
606     PROCEDURAL = 559,
607     PROCEDURE = 560,
608     PROCEDURES = 561,
609     PROGRAM = 562,
610     PUBLICATION = 563,
611     QUOTE = 564,
612     RANGE = 565,
613     READ = 566,
614     REAL = 567,
615     REASSIGN = 568,
616     RECHECK = 569,
617     RECURSIVE = 570,
618     REF = 571,
619     REFERENCES = 572,
620     REFERENCING = 573,
621     REFRESH = 574,
622     REINDEX = 575,
623     RELATIVE_P = 576,
624     RELEASE = 577,
625     RENAME = 578,
626     REPEATABLE = 579,
627     REPLACE = 580,
628     REPLICA = 581,
629     RESET = 582,
630     RESTART = 583,
631     RESTRICT = 584,
632     RETURNING = 585,
633     RETURNS = 586,
634     REVOKE = 587,
635     RIGHT = 588,
636     ROLE = 589,
637     ROLLBACK = 590,
638     ROLLUP = 591,
639     ROUTINE = 592,
640     ROUTINES = 593,
641     ROW = 594,
642     ROWS = 595,
643     RULE = 596,
644     SAVEPOINT = 597,
645     SCHEMA = 598,
646     SCHEMAS = 599,
647     SCROLL = 600,
648     SEARCH = 601,
649     SECOND_P = 602,
650     SECURITY = 603,
651     SELECT = 604,
652     SEQUENCE = 605,
653     SEQUENCES = 606,
654     SERIALIZABLE = 607,
655     SERVER = 608,
656     SESSION = 609,
657     SESSION_USER = 610,
658     SET = 611,
659     SETS = 612,
660     SETOF = 613,
661     SHARE = 614,
662     SHOW = 615,
663     SIMILAR = 616,
664     SIMPLE = 617,
665     SKIP = 618,
666     SMALLINT = 619,
667     SNAPSHOT = 620,
668     SOME = 621,
669     SQL_P = 622,
670     STABLE = 623,
671     STANDALONE_P = 624,
672     START = 625,
673     STATEMENT = 626,
674     STATISTICS = 627,
675     STDIN = 628,
676     STDOUT = 629,
677     STORAGE = 630,
678     STRICT_P = 631,
679     STRIP_P = 632,
680     SUBSCRIPTION = 633,
681     SUBSTRING = 634,
682     SYMMETRIC = 635,
683     SYSID = 636,
684     SYSTEM_P = 637,
685     TABLE = 638,
686     TABLES = 639,
687     TABLESAMPLE = 640,
688     TABLESPACE = 641,
689     TEMP = 642,
690     TEMPLATE = 643,
691     TEMPORARY = 644,
692     TEXT_P = 645,
693     THEN = 646,
694     TIES = 647,
695     TIME = 648,
696     TIMESTAMP = 649,
697     TO = 650,
698     TRAILING = 651,
699     TRANSACTION = 652,
700     TRANSFORM = 653,
701     TREAT = 654,
702     TRIGGER = 655,
703     TRIM = 656,
704     TRUE_P = 657,
705     TRUNCATE = 658,
706     TRUSTED = 659,
707     TYPE_P = 660,
708     TYPES_P = 661,
709     UNBOUNDED = 662,
710     UNCOMMITTED = 663,
711     UNENCRYPTED = 664,
712     UNION = 665,
713     UNIQUE = 666,
714     UNKNOWN = 667,
715     UNLISTEN = 668,
716     UNLOGGED = 669,
717     UNTIL = 670,
718     UPDATE = 671,
719     USER = 672,
720     USING = 673,
721     VACUUM = 674,
722     VALID = 675,
723     VALIDATE = 676,
724     VALIDATOR = 677,
725     VALUE_P = 678,
726     VALUES = 679,
727     VARCHAR = 680,
728     VARIADIC = 681,
729     VARYING = 682,
730     VERBOSE = 683,
731     VERSION_P = 684,
732     VIEW = 685,
733     VIEWS = 686,
734     VOLATILE = 687,
735     WHEN = 688,
736     WHERE = 689,
737     WHITESPACE_P = 690,
738     WINDOW = 691,
739     WITH = 692,
740     WITHIN = 693,
741     WITHOUT = 694,
742     WORK = 695,
743     WRAPPER = 696,
744     WRITE = 697,
745     XML_P = 698,
746     XMLATTRIBUTES = 699,
747     XMLCONCAT = 700,
748     XMLELEMENT = 701,
749     XMLEXISTS = 702,
750     XMLFOREST = 703,
751     XMLNAMESPACES = 704,
752     XMLPARSE = 705,
753     XMLPI = 706,
754     XMLROOT = 707,
755     XMLSERIALIZE = 708,
756     XMLTABLE = 709,
757     YEAR_P = 710,
758     YES_P = 711,
759     ZONE = 712,
760     NOT_LA = 713,
761     NULLS_LA = 714,
762     WITH_LA = 715,
763     POSTFIXOP = 716,
764     UMINUS = 717
765   };
766 #endif
767 
768 /* Value type.  */
769 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
770 
771 union YYSTYPE
772 {
773 #line 202 "gram.y" /* yacc.c:352  */
774 
775 	core_YYSTYPE		core_yystype;
776 	/* these fields must match core_YYSTYPE: */
777 	int					ival;
778 	char				*str;
779 	const char			*keyword;
780 
781 	char				chr;
782 	bool				boolean;
783 	JoinType			jtype;
784 	DropBehavior		dbehavior;
785 	OnCommitAction		oncommit;
786 	List				*list;
787 	Node				*node;
788 	Value				*value;
789 	ObjectType			objtype;
790 	TypeName			*typnam;
791 	FunctionParameter   *fun_param;
792 	FunctionParameterMode fun_param_mode;
793 	ObjectWithArgs		*objwithargs;
794 	DefElem				*defelt;
795 	SortBy				*sortby;
796 	WindowDef			*windef;
797 	JoinExpr			*jexpr;
798 	IndexElem			*ielem;
799 	Alias				*alias;
800 	RangeVar			*range;
801 	IntoClause			*into;
802 	WithClause			*with;
803 	InferClause			*infer;
804 	OnConflictClause	*onconflict;
805 	A_Indices			*aind;
806 	ResTarget			*target;
807 	struct PrivTarget	*privtarget;
808 	AccessPriv			*accesspriv;
809 	struct ImportQual	*importqual;
810 	InsertStmt			*istmt;
811 	VariableSetStmt		*vsetstmt;
812 	PartitionElem		*partelem;
813 	PartitionSpec		*partspec;
814 	PartitionBoundSpec	*partboundspec;
815 	RoleSpec			*rolespec;
816 
817 #line 818 "gram.c" /* yacc.c:352  */
818 };
819 
820 typedef union YYSTYPE YYSTYPE;
821 # define YYSTYPE_IS_TRIVIAL 1
822 # define YYSTYPE_IS_DECLARED 1
823 #endif
824 
825 /* Location type.  */
826 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
827 typedef struct YYLTYPE YYLTYPE;
828 struct YYLTYPE
829 {
830   int first_line;
831   int first_column;
832   int last_line;
833   int last_column;
834 };
835 # define YYLTYPE_IS_DECLARED 1
836 # define YYLTYPE_IS_TRIVIAL 1
837 #endif
838 
839 
840 
841 int base_yyparse (core_yyscan_t yyscanner);
842 
843 #endif /* !YY_BASE_YY_GRAM_H_INCLUDED  */
844 
845 
846 
847 #ifdef short
848 # undef short
849 #endif
850 
851 #ifdef YYTYPE_UINT8
852 typedef YYTYPE_UINT8 yytype_uint8;
853 #else
854 typedef unsigned char yytype_uint8;
855 #endif
856 
857 #ifdef YYTYPE_INT8
858 typedef YYTYPE_INT8 yytype_int8;
859 #else
860 typedef signed char yytype_int8;
861 #endif
862 
863 #ifdef YYTYPE_UINT16
864 typedef YYTYPE_UINT16 yytype_uint16;
865 #else
866 typedef unsigned short yytype_uint16;
867 #endif
868 
869 #ifdef YYTYPE_INT16
870 typedef YYTYPE_INT16 yytype_int16;
871 #else
872 typedef short yytype_int16;
873 #endif
874 
875 #ifndef YYSIZE_T
876 # ifdef __SIZE_TYPE__
877 #  define YYSIZE_T __SIZE_TYPE__
878 # elif defined size_t
879 #  define YYSIZE_T size_t
880 # elif ! defined YYSIZE_T
881 #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
882 #  define YYSIZE_T size_t
883 # else
884 #  define YYSIZE_T unsigned
885 # endif
886 #endif
887 
888 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
889 
890 #ifndef YY_
891 # if defined YYENABLE_NLS && YYENABLE_NLS
892 #  if ENABLE_NLS
893 #   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
894 #   define YY_(Msgid) dgettext ("bison-runtime", Msgid)
895 #  endif
896 # endif
897 # ifndef YY_
898 #  define YY_(Msgid) Msgid
899 # endif
900 #endif
901 
902 #ifndef YY_ATTRIBUTE
903 # if (defined __GNUC__                                               \
904       && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__)))  \
905      || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
906 #  define YY_ATTRIBUTE(Spec) __attribute__(Spec)
907 # else
908 #  define YY_ATTRIBUTE(Spec) /* empty */
909 # endif
910 #endif
911 
912 #ifndef YY_ATTRIBUTE_PURE
913 # define YY_ATTRIBUTE_PURE   YY_ATTRIBUTE ((__pure__))
914 #endif
915 
916 #ifndef YY_ATTRIBUTE_UNUSED
917 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
918 #endif
919 
920 /* Suppress unused-variable warnings by "using" E.  */
921 #if ! defined lint || defined __GNUC__
922 # define YYUSE(E) ((void) (E))
923 #else
924 # define YYUSE(E) /* empty */
925 #endif
926 
927 #if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
928 /* Suppress an incorrect diagnostic about yylval being uninitialized.  */
929 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
930     _Pragma ("GCC diagnostic push") \
931     _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
932     _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
933 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
934     _Pragma ("GCC diagnostic pop")
935 #else
936 # define YY_INITIAL_VALUE(Value) Value
937 #endif
938 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
939 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
940 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
941 #endif
942 #ifndef YY_INITIAL_VALUE
943 # define YY_INITIAL_VALUE(Value) /* Nothing. */
944 #endif
945 
946 
947 #if ! defined yyoverflow || YYERROR_VERBOSE
948 
949 /* The parser invokes alloca or malloc; define the necessary symbols.  */
950 
951 # ifdef YYSTACK_USE_ALLOCA
952 #  if YYSTACK_USE_ALLOCA
953 #   ifdef __GNUC__
954 #    define YYSTACK_ALLOC __builtin_alloca
955 #   elif defined __BUILTIN_VA_ARG_INCR
956 #    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
957 #   elif defined _AIX
958 #    define YYSTACK_ALLOC __alloca
959 #   elif defined _MSC_VER
960 #    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
961 #    define alloca _alloca
962 #   else
963 #    define YYSTACK_ALLOC alloca
964 #    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
965 #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
966       /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
967 #     ifndef EXIT_SUCCESS
968 #      define EXIT_SUCCESS 0
969 #     endif
970 #    endif
971 #   endif
972 #  endif
973 # endif
974 
975 # ifdef YYSTACK_ALLOC
976    /* Pacify GCC's 'empty if-body' warning.  */
977 #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
978 #  ifndef YYSTACK_ALLOC_MAXIMUM
979     /* The OS might guarantee only one guard page at the bottom of the stack,
980        and a page size can be as small as 4096 bytes.  So we cannot safely
981        invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
982        to allow for a few compiler-allocated temporary stack slots.  */
983 #   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
984 #  endif
985 # else
986 #  define YYSTACK_ALLOC YYMALLOC
987 #  define YYSTACK_FREE YYFREE
988 #  ifndef YYSTACK_ALLOC_MAXIMUM
989 #   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
990 #  endif
991 #  if (defined __cplusplus && ! defined EXIT_SUCCESS \
992        && ! ((defined YYMALLOC || defined malloc) \
993              && (defined YYFREE || defined free)))
994 #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
995 #   ifndef EXIT_SUCCESS
996 #    define EXIT_SUCCESS 0
997 #   endif
998 #  endif
999 #  ifndef YYMALLOC
1000 #   define YYMALLOC malloc
1001 #   if ! defined malloc && ! defined EXIT_SUCCESS
1002 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
1003 #   endif
1004 #  endif
1005 #  ifndef YYFREE
1006 #   define YYFREE free
1007 #   if ! defined free && ! defined EXIT_SUCCESS
1008 void free (void *); /* INFRINGES ON USER NAME SPACE */
1009 #   endif
1010 #  endif
1011 # endif
1012 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
1013 
1014 
1015 #if (! defined yyoverflow \
1016      && (! defined __cplusplus \
1017          || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \
1018              && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
1019 
1020 /* A type that is properly aligned for any stack member.  */
1021 union yyalloc
1022 {
1023   yytype_int16 yyss_alloc;
1024   YYSTYPE yyvs_alloc;
1025   YYLTYPE yyls_alloc;
1026 };
1027 
1028 /* The size of the maximum gap between one aligned stack and the next.  */
1029 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
1030 
1031 /* The size of an array large to enough to hold all stacks, each with
1032    N elements.  */
1033 # define YYSTACK_BYTES(N) \
1034      ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \
1035       + 2 * YYSTACK_GAP_MAXIMUM)
1036 
1037 # define YYCOPY_NEEDED 1
1038 
1039 /* Relocate STACK from its old location to the new one.  The
1040    local variables YYSIZE and YYSTACKSIZE give the old and new number of
1041    elements in the stack, and YYPTR gives the new location of the
1042    stack.  Advance YYPTR to a properly aligned location for the next
1043    stack.  */
1044 # define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
1045     do                                                                  \
1046       {                                                                 \
1047         YYSIZE_T yynewbytes;                                            \
1048         YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
1049         Stack = &yyptr->Stack_alloc;                                    \
1050         yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
1051         yyptr += yynewbytes / sizeof (*yyptr);                          \
1052       }                                                                 \
1053     while (0)
1054 
1055 #endif
1056 
1057 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
1058 /* Copy COUNT objects from SRC to DST.  The source and destination do
1059    not overlap.  */
1060 # ifndef YYCOPY
1061 #  if defined __GNUC__ && 1 < __GNUC__
1062 #   define YYCOPY(Dst, Src, Count) \
1063       __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
1064 #  else
1065 #   define YYCOPY(Dst, Src, Count)              \
1066       do                                        \
1067         {                                       \
1068           YYSIZE_T yyi;                         \
1069           for (yyi = 0; yyi < (Count); yyi++)   \
1070             (Dst)[yyi] = (Src)[yyi];            \
1071         }                                       \
1072       while (0)
1073 #  endif
1074 # endif
1075 #endif /* !YYCOPY_NEEDED */
1076 
1077 /* YYFINAL -- State number of the termination state.  */
1078 #define YYFINAL  828
1079 /* YYLAST -- Last index in YYTABLE.  */
1080 #define YYLAST   102007
1081 
1082 /* YYNTOKENS -- Number of terminals.  */
1083 #define YYNTOKENS  480
1084 /* YYNNTS -- Number of nonterminals.  */
1085 #define YYNNTS  668
1086 /* YYNRULES -- Number of rules.  */
1087 #define YYNRULES  2728
1088 /* YYNSTATES -- Number of states.  */
1089 #define YYNSTATES  5477
1090 
1091 #define YYUNDEFTOK  2
1092 #define YYMAXUTOK   717
1093 
1094 /* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
1095    as returned by yylex, with out-of-bounds checking.  */
1096 #define YYTRANSLATE(YYX)                                                \
1097   ((unsigned) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
1098 
1099 /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
1100    as returned by yylex.  */
1101 static const yytype_uint16 yytranslate[] =
1102 {
1103        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1104        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1105        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1106        2,     2,     2,     2,     2,     2,     2,   469,     2,     2,
1107      474,   475,   467,   465,   478,   466,   476,   468,     2,     2,
1108        2,     2,     2,     2,     2,     2,     2,     2,   479,   477,
1109      461,   463,   462,     2,     2,     2,     2,     2,     2,     2,
1110        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1111        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1112        2,   472,     2,   473,   470,     2,     2,     2,     2,     2,
1113        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1114        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1115        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1116        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1117        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1118        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1119        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1120        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1121        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1122        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1123        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1124        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1125        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1126        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1127        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1128        2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
1129        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
1130       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
1131       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
1132       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
1133       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
1134       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
1135       65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
1136       75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
1137       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
1138       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
1139      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
1140      115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
1141      125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
1142      135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
1143      145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
1144      155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
1145      165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
1146      175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
1147      185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
1148      195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
1149      205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
1150      215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
1151      225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
1152      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
1153      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
1154      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
1155      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
1156      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
1157      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
1158      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
1159      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
1160      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
1161      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
1162      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
1163      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
1164      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
1165      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
1166      375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
1167      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
1168      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
1169      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
1170      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
1171      425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
1172      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
1173      445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
1174      455,   456,   457,   458,   459,   460,   464,   471
1175 };
1176 
1177 #if YYDEBUG
1178   /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
1179 static const yytype_uint16 yyrline[] =
1180 {
1181        0,   784,   784,   800,   812,   822,   823,   824,   825,   826,
1182      827,   828,   829,   830,   831,   832,   833,   834,   835,   836,
1183      837,   838,   839,   840,   841,   842,   843,   844,   845,   846,
1184      847,   848,   849,   850,   851,   852,   853,   854,   855,   856,
1185      857,   858,   859,   860,   861,   862,   863,   864,   865,   866,
1186      867,   868,   869,   870,   871,   872,   873,   874,   875,   876,
1187      877,   878,   879,   880,   881,   882,   883,   884,   885,   886,
1188      887,   888,   889,   890,   891,   892,   893,   894,   895,   896,
1189      897,   898,   899,   900,   901,   902,   903,   904,   905,   906,
1190      907,   908,   909,   910,   911,   912,   913,   914,   915,   916,
1191      917,   918,   919,   920,   921,   922,   923,   924,   925,   926,
1192      927,   928,   929,   930,   931,   932,   933,   934,   935,   936,
1193      937,   938,   939,   940,   941,   942,   943,   944,   945,   947,
1194      956,   971,   982,   983,   984,   993,   994,   998,   999,  1003,
1195     1008,  1012,  1022,  1030,  1034,  1038,  1043,  1047,  1095,  1097,
1196     1101,  1105,  1109,  1113,  1127,  1145,  1153,  1164,  1165,  1169,
1197     1177,  1185,  1193,  1214,  1221,  1228,  1235,  1242,  1249,  1266,
1198     1284,  1295,  1296,  1307,  1317,  1327,  1342,  1360,  1361,  1365,
1199     1372,  1380,  1381,  1382,  1383,  1384,  1385,  1399,  1405,  1411,
1200     1420,  1428,  1436,  1440,  1448,  1456,  1463,  1473,  1474,  1482,
1201     1493,  1501,  1509,  1520,  1528,  1536,  1543,  1552,  1562,  1563,
1202     1567,  1568,  1571,  1573,  1577,  1578,  1579,  1580,  1584,  1585,
1203     1586,  1592,  1604,  1608,  1612,  1627,  1634,  1635,  1636,  1640,
1204     1641,  1642,  1646,  1647,  1651,  1655,  1656,  1663,  1670,  1680,
1205     1687,  1697,  1698,  1703,  1704,  1709,  1715,  1721,  1727,  1733,
1206     1743,  1753,  1754,  1758,  1759,  1767,  1782,  1788,  1794,  1800,
1207     1806,  1825,  1834,  1843,  1852,  1861,  1872,  1883,  1892,  1901,
1208     1910,  1921,  1932,  1941,  1950,  1959,  1968,  1977,  1986,  1997,
1209     2011,  2012,  2017,  2030,  2046,  2062,  2071,  2080,  2089,  2098,
1210     2107,  2115,  2123,  2132,  2148,  2157,  2166,  2175,  2192,  2201,
1211     2210,  2219,  2229,  2242,  2257,  2266,  2274,  2289,  2297,  2307,
1212     2317,  2324,  2331,  2339,  2347,  2354,  2361,  2369,  2377,  2385,
1213     2392,  2399,  2407,  2414,  2421,  2429,  2437,  2445,  2453,  2461,
1214     2469,  2479,  2486,  2494,  2502,  2510,  2518,  2526,  2533,  2540,
1215     2547,  2553,  2563,  2564,  2568,  2569,  2570,  2574,  2582,  2586,
1216     2587,  2591,  2598,  2605,  2612,  2622,  2625,  2626,  2630,  2631,
1217     2636,  2640,  2644,  2649,  2656,  2658,  2663,  2667,  2671,  2682,
1218     2690,  2743,  2756,  2770,  2782,  2789,  2793,  2800,  2801,  2802,
1219     2803,  2804,  2808,  2809,  2814,  2815,  2820,  2830,  2840,  2860,
1220     2873,  2874,  2879,  2888,  2898,  2908,  2934,  2940,  2973,  3002,
1221     3024,  3025,  3029,  3030,  3039,  3040,  3041,  3044,  3045,  3050,
1222     3051,  3055,  3059,  3063,  3067,  3071,  3075,  3079,  3083,  3087,
1223     3091,  3095,  3099,  3103,  3107,  3116,  3120,  3124,  3128,  3132,
1224     3136,  3140,  3141,  3146,  3150,  3157,  3164,  3165,  3166,  3167,
1225     3168,  3172,  3176,  3184,  3195,  3212,  3230,  3249,  3268,  3287,
1226     3319,  3320,  3321,  3322,  3323,  3330,  3337,  3338,  3342,  3343,
1227     3347,  3348,  3352,  3356,  3363,  3367,  3374,  3375,  3376,  3380,
1228     3381,  3384,  3405,  3423,  3444,  3445,  3449,  3456,  3457,  3458,
1229     3489,  3496,  3503,  3514,  3525,  3537,  3546,  3555,  3573,  3574,
1230     3593,  3600,  3607,  3614,  3625,  3636,  3637,  3638,  3642,  3643,
1231     3644,  3645,  3646,  3647,  3648,  3649,  3658,  3665,  3669,  3682,
1232     3698,  3713,  3729,  3744,  3763,  3784,  3785,  3789,  3790,  3794,
1233     3795,  3798,  3804,  3805,  3808,  3812,  3820,  3825,  3831,  3832,
1234     3836,  3841,  3848,  3849,  3859,  3861,  3863,  3865,  3868,  3871,
1235     3874,  3878,  3879,  3880,  3881,  3882,  3885,  3886,  3890,  3891,
1236     3894,  3906,  3907,  3910,  3911,  3914,  3925,  3936,  3950,  3951,
1237     3952,  3953,  3956,  3957,  3958,  3959,  3962,  3963,  3966,  3967,
1238     3970,  3988,  4000,  4025,  4038,  4054,  4068,  4069,  4070,  4082,
1239     4095,  4111,  4124,  4125,  4137,  4157,  4167,  4180,  4188,  4199,
1240     4200,  4203,  4204,  4207,  4208,  4211,  4215,  4219,  4223,  4227,
1241     4231,  4235,  4239,  4243,  4247,  4251,  4256,  4260,  4264,  4270,
1242     4271,  4275,  4276,  4277,  4282,  4285,  4286,  4298,  4310,  4325,
1243     4326,  4334,  4335,  4339,  4340,  4344,  4345,  4349,  4350,  4354,
1244     4364,  4377,  4378,  4388,  4399,  4400,  4413,  4420,  4437,  4445,
1245     4456,  4459,  4463,  4467,  4471,  4475,  4487,  4497,  4500,  4504,
1246     4517,  4526,  4535,  4544,  4553,  4562,  4571,  4580,  4589,  4598,
1247     4607,  4616,  4625,  4634,  4643,  4652,  4661,  4670,  4679,  4688,
1248     4697,  4706,  4715,  4724,  4733,  4742,  4751,  4760,  4778,  4789,
1249     4790,  4791,  4792,  4796,  4797,  4801,  4802,  4812,  4820,  4832,
1250     4833,  4837,  4841,  4849,  4853,  4857,  4864,  4868,  4873,  4878,
1251     4885,  4892,  4897,  4907,  4919,  4934,  4935,  4940,  4941,  4945,
1252     4946,  4956,  4965,  4973,  4990,  5010,  5030,  5051,  5082,  5091,
1253     5112,  5127,  5128,  5132,  5140,  5155,  5164,  5176,  5177,  5189,
1254     5197,  5214,  5238,  5255,  5269,  5270,  5274,  5275,  5279,  5280,
1255     5284,  5285,  5289,  5303,  5307,  5308,  5312,  5313,  5314,  5315,
1256     5316,  5326,  5344,  5365,  5391,  5392,  5393,  5397,  5399,  5421,
1257     5423,  5425,  5427,  5429,  5434,  5435,  5439,  5440,  5444,  5455,
1258     5456,  5460,  5469,  5473,  5477,  5482,  5492,  5493,  5497,  5498,
1259     5502,  5503,  5507,  5508,  5512,  5513,  5514,  5518,  5522,  5523,
1260     5524,  5528,  5529,  5534,  5535,  5562,  5563,  5564,  5565,  5566,
1261     5567,  5580,  5590,  5604,  5606,  5611,  5616,  5618,  5623,  5633,
1262     5634,  5635,  5636,  5648,  5668,  5690,  5700,  5711,  5721,  5731,
1263     5742,  5751,  5758,  5765,  5774,  5783,  5792,  5801,  5810,  5820,
1264     5829,  5841,  5844,  5845,  5848,  5852,  5859,  5860,  5861,  5862,
1265     5863,  5864,  5867,  5870,  5871,  5879,  5886,  5887,  5890,  5892,
1266     5903,  5914,  5925,  5936,  5949,  5950,  5966,  5981,  5982,  5986,
1267     5998,  6008,  6016,  6025,  6034,  6035,  6038,  6039,  6042,  6043,
1268     6044,  6047,  6061,  6066,  6076,  6085,  6097,  6098,  6102,  6110,
1269     6122,  6132,  6145,  6155,  6177,  6187,  6205,  6215,  6225,  6235,
1270     6245,  6255,  6265,  6275,  6285,  6295,  6305,  6315,  6329,  6330,
1271     6331,  6332,  6333,  6334,  6335,  6336,  6337,  6338,  6339,  6340,
1272     6341,  6346,  6347,  6348,  6349,  6350,  6351,  6352,  6357,  6358,
1273     6359,  6363,  6364,  6367,  6368,  6371,  6373,  6378,  6379,  6390,
1274     6401,  6402,  6403,  6437,  6445,  6453,  6461,  6469,  6477,  6485,
1275     6493,  6501,  6514,  6522,  6530,  6538,  6546,  6554,  6562,  6570,
1276     6578,  6586,  6598,  6599,  6600,  6601,  6602,  6603,  6604,  6605,
1277     6606,  6607,  6608,  6609,  6610,  6611,  6616,  6617,  6618,  6619,
1278     6620,  6621,  6622,  6623,  6624,  6625,  6626,  6627,  6631,  6632,
1279     6646,  6656,  6666,  6676,  6686,  6696,  6706,  6716,  6726,  6738,
1280     6739,  6744,  6745,  6746,  6747,  6748,  6749,  6754,  6755,  6756,
1281     6757,  6758,  6759,  6760,  6761,  6764,  6765,  6775,  6781,  6789,
1282     6797,  6805,  6813,  6821,  6829,  6837,  6845,  6853,  6861,  6869,
1283     6877,  6885,  6893,  6901,  6909,  6919,  6920,  6923,  6924,  6934,
1284     6950,  6964,  6990,  6992,  6994,  6996,  7003,  7012,  7013,  7016,
1285     7023,  7030,  7037,  7051,  7059,  7067,  7075,  7083,  7091,  7099,
1286     7107,  7115,  7123,  7131,  7139,  7147,  7155,  7163,  7171,  7179,
1287     7187,  7195,  7203,  7215,  7216,  7220,  7221,  7226,  7227,  7237,
1288     7250,  7260,  7272,  7273,  7276,  7277,  7287,  7297,  7298,  7302,
1289     7306,  7310,  7321,  7334,  7348,  7365,  7366,  7367,  7368,  7369,
1290     7370,  7382,  7410,  7441,  7442,  7446,  7447,  7451,  7452,  7456,
1291     7457,  7460,  7461,  7469,  7480,  7491,  7504,  7505,  7508,  7509,
1292     7512,  7513,  7516,  7517,  7520,  7521,  7522,  7525,  7526,  7527,
1293     7543,  7555,  7568,  7580,  7595,  7596,  7599,  7600,  7604,  7605,
1294     7609,  7610,  7615,  7627,  7634,  7641,  7656,  7657,  7661,  7662,
1295     7677,  7686,  7695,  7704,  7713,  7725,  7726,  7727,  7728,  7729,
1296     7735,  7739,  7754,  7755,  7761,  7771,  7775,  7780,  7788,  7829,
1297     7833,  7837,  7841,  7849,  7850,  7854,  7864,  7865,  7871,  7872,
1298     7879,  7883,  7887,  7891,  7895,  7899,  7903,  7907,  7911,  7915,
1299     7919,  7923,  7927,  7931,  7935,  7940,  7947,  7951,  7955,  7959,
1300     7963,  7969,  7970,  7977,  7978,  7982,  7983,  7986,  7998,  8002,
1301     8017,  8025,  8033,  8045,  8046,  8051,  8052,  8069,  8079,  8089,
1302     8099,  8109,  8119,  8132,  8142,  8155,  8165,  8178,  8186,  8188,
1303     8190,  8195,  8197,  8202,  8203,  8208,  8226,  8235,  8236,  8240,
1304     8244,  8256,  8267,  8278,  8291,  8292,  8293,  8297,  8309,  8310,
1305     8320,  8332,  8336,  8340,  8344,  8351,  8371,  8380,  8389,  8398,
1306     8409,  8410,  8413,  8414,  8415,  8418,  8419,  8422,  8432,  8441,
1307     8458,  8467,  8476,  8485,  8494,  8503,  8512,  8521,  8530,  8539,
1308     8548,  8557,  8566,  8576,  8586,  8595,  8604,  8613,  8622,  8631,
1309     8640,  8650,  8660,  8670,  8680,  8690,  8700,  8710,  8720,  8730,
1310     8740,  8750,  8760,  8771,  8782,  8793,  8804,  8814,  8824,  8835,
1311     8846,  8856,  8866,  8874,  8883,  8892,  8901,  8910,  8919,  8928,
1312     8937,  8946,  8955,  8969,  8970,  8973,  8974,  8984,  8992,  9000,
1313     9008,  9017,  9025,  9042,  9051,  9060,  9069,  9078,  9087,  9096,
1314     9105,  9114,  9123,  9132,  9141,  9150,  9159,  9168,  9177,  9186,
1315     9195,  9204,  9213,  9222,  9231,  9240,  9249,  9258,  9267,  9276,
1316     9294,  9303,  9304,  9307,  9309,  9315,  9316,  9317,  9318,  9319,
1317     9328,  9336,  9344,  9352,  9360,  9368,  9376,  9384,  9392,  9400,
1318     9408,  9416,  9424,  9432,  9440,  9448,  9456,  9464,  9472,  9480,
1319     9488,  9496,  9504,  9512,  9530,  9549,  9550,  9554,  9558,  9578,
1320     9585,  9593,  9601,  9618,  9631,  9635,  9642,  9651,  9660,  9669,
1321     9678,  9688,  9698,  9716,  9724,  9740,  9757,  9758,  9759,  9764,
1322     9770,  9779,  9780,  9781,  9782,  9783,  9787,  9788,  9791,  9792,
1323     9793,  9794,  9798,  9799,  9800,  9812,  9822,  9823,  9826,  9835,
1324     9841,  9860,  9867,  9874,  9881,  9888,  9895,  9902,  9909,  9916,
1325     9923,  9930,  9937,  9944,  9951,  9960,  9961,  9962,  9966,  9969,
1326     9972,  9975,  9978,  9985,  9987,  9989,  9994,  9996, 10008, 10021,
1327    10034, 10052, 10073, 10074, 10075, 10076, 10086, 10102, 10112, 10113,
1328    10117, 10118, 10122, 10126, 10130, 10148, 10149, 10150, 10151, 10152,
1329    10153, 10154, 10161, 10162, 10173, 10180, 10187, 10198, 10215, 10222,
1330    10238, 10255, 10261, 10277, 10290, 10299, 10307, 10315, 10324, 10335,
1331    10346, 10356, 10357, 10368, 10378, 10389, 10400, 10411, 10422, 10431,
1332    10443, 10444, 10458, 10481, 10489, 10498, 10509, 10510, 10522, 10537,
1333    10547, 10548, 10552, 10553, 10554, 10555, 10556, 10568, 10577, 10587,
1334    10588, 10592, 10596, 10597, 10601, 10602, 10606, 10607, 10610, 10611,
1335    10614, 10615, 10619, 10620, 10624, 10631, 10633, 10638, 10639, 10652,
1336    10659, 10669, 10676, 10686, 10687, 10688, 10689, 10690, 10691, 10692,
1337    10693, 10694, 10698, 10702, 10709, 10716, 10717, 10721, 10722, 10723,
1338    10733, 10743, 10744, 10748, 10749, 10750, 10751, 10761, 10768, 10785,
1339    10804, 10805, 10815, 10821, 10827, 10833, 10849, 10867, 10871, 10879,
1340    10885, 10892, 10898, 10905, 10914, 10915, 10919, 10921, 10926, 10937,
1341    10947, 10957, 10963, 10972, 10981, 10987, 10988, 10999, 11013, 11014,
1342    11025, 11036, 11037, 11040, 11041, 11042, 11043, 11044, 11045, 11046,
1343    11047, 11050, 11051, 11055, 11056, 11057, 11068, 11086, 11087, 11091,
1344    11096, 11120, 11131, 11132, 11142, 11153, 11156, 11157, 11158, 11159,
1345    11160, 11163, 11164, 11165, 11213, 11214, 11218, 11219, 11234, 11235,
1346    11242, 11250, 11258, 11266, 11274, 11282, 11293, 11294, 11321, 11335,
1347    11350, 11351, 11370, 11374, 11378, 11395, 11402, 11409, 11419, 11420,
1348    11423, 11435, 11436, 11440, 11452, 11460, 11465, 11470, 11475, 11480,
1349    11488, 11496, 11501, 11506, 11513, 11514, 11518, 11519, 11520, 11527,
1350    11528, 11532, 11533, 11537, 11538, 11542, 11546, 11547, 11550, 11559,
1351    11572, 11573, 11574, 11575, 11579, 11580, 11584, 11586, 11602, 11604,
1352    11609, 11612, 11617, 11618, 11626, 11646, 11647, 11649, 11654, 11655,
1353    11659, 11660, 11663, 11664, 11689, 11690, 11694, 11695, 11699, 11700,
1354    11701, 11702, 11703, 11707, 11720, 11727, 11734, 11741, 11742, 11746,
1355    11747, 11751, 11752, 11756, 11757, 11761, 11772, 11773, 11774, 11775,
1356    11779, 11780, 11790, 11796, 11814, 11815, 11819, 11820, 11826, 11831,
1357    11839, 11846, 11854, 11860, 11867, 11902, 11927, 11931, 11957, 11961,
1358    11973, 11986, 12000, 12011, 12026, 12032, 12037, 12043, 12050, 12051,
1359    12059, 12063, 12067, 12073, 12080, 12085, 12086, 12087, 12088, 12092,
1360    12093, 12105, 12106, 12111, 12118, 12125, 12132, 12143, 12144, 12157,
1361    12161, 12168, 12181, 12194, 12195, 12210, 12220, 12232, 12237, 12238,
1362    12241, 12242, 12245, 12246, 12251, 12252, 12257, 12258, 12266, 12271,
1363    12272, 12276, 12280, 12286, 12310, 12320, 12333, 12334, 12338, 12352,
1364    12409, 12423, 12425, 12430, 12432, 12434, 12436, 12441, 12443, 12448,
1365    12456, 12476, 12481, 12488, 12493, 12499, 12504, 12513, 12515, 12518,
1366    12522, 12523, 12524, 12525, 12526, 12527, 12532, 12552, 12553, 12554,
1367    12555, 12566, 12572, 12580, 12581, 12587, 12592, 12597, 12602, 12607,
1368    12612, 12617, 12622, 12628, 12634, 12640, 12647, 12669, 12678, 12682,
1369    12690, 12694, 12702, 12714, 12735, 12739, 12745, 12749, 12762, 12770,
1370    12780, 12782, 12784, 12786, 12788, 12790, 12795, 12796, 12803, 12812,
1371    12820, 12829, 12840, 12848, 12849, 12850, 12854, 12856, 12858, 12860,
1372    12862, 12864, 12866, 12871, 12876, 12882, 12890, 12895, 12902, 12909,
1373    12913, 12917, 12953, 12954, 12956, 12964, 12979, 12981, 12983, 12985,
1374    12987, 12989, 12991, 12993, 12995, 12997, 12999, 13001, 13003, 13005,
1375    13008, 13010, 13012, 13015, 13017, 13019, 13021, 13024, 13029, 13037,
1376    13042, 13050, 13055, 13063, 13068, 13077, 13085, 13093, 13101, 13119,
1377    13127, 13135, 13143, 13151, 13167, 13175, 13183, 13191, 13199, 13207,
1378    13215, 13219, 13223, 13227, 13231, 13239, 13247, 13255, 13263, 13283,
1379    13305, 13316, 13323, 13339, 13344, 13350, 13375, 13377, 13379, 13381,
1380    13383, 13385, 13387, 13389, 13391, 13393, 13395, 13397, 13399, 13401,
1381    13403, 13405, 13407, 13409, 13411, 13413, 13417, 13421, 13425, 13429,
1382    13434, 13450, 13451, 13452, 13467, 13501, 13503, 13505, 13516, 13540,
1383    13551, 13562, 13569, 13579, 13589, 13598, 13602, 13608, 13615, 13622,
1384    13632, 13639, 13667, 13702, 13713, 13714, 13721, 13727, 13731, 13735,
1385    13739, 13743, 13747, 13751, 13755, 13759, 13763, 13767, 13771, 13775,
1386    13779, 13783, 13787, 13789, 13793, 13802, 13807, 13814, 13829, 13836,
1387    13840, 13844, 13848, 13852, 13859, 13867, 13875, 13879, 13883, 13887,
1388    13891, 13895, 13901, 13905, 13914, 13918, 13922, 13927, 13941, 13943,
1389    13947, 13949, 13951, 13954, 13957, 13960, 13961, 13964, 13972, 13982,
1390    13983, 13986, 13987, 13988, 13993, 13997, 14001, 14005, 14016, 14017,
1391    14021, 14022, 14030, 14031, 14035, 14036, 14041, 14049, 14051, 14065,
1392    14068, 14095, 14096, 14099, 14100, 14108, 14115, 14122, 14130, 14139,
1393    14156, 14201, 14209, 14217, 14225, 14233, 14244, 14245, 14246, 14247,
1394    14248, 14262, 14263, 14264, 14267, 14268, 14271, 14274, 14275, 14276,
1395    14279, 14280, 14283, 14284, 14285, 14286, 14287, 14288, 14289, 14290,
1396    14291, 14292, 14293, 14294, 14297, 14299, 14304, 14306, 14311, 14313,
1397    14315, 14317, 14319, 14321, 14333, 14337, 14344, 14348, 14354, 14358,
1398    14367, 14378, 14379, 14382, 14386, 14390, 14396, 14397, 14402, 14406,
1399    14413, 14414, 14415, 14416, 14417, 14418, 14419, 14420, 14430, 14434,
1400    14441, 14448, 14449, 14465, 14469, 14474, 14478, 14493, 14498, 14502,
1401    14505, 14508, 14509, 14510, 14513, 14520, 14530, 14544, 14545, 14549,
1402    14560, 14561, 14564, 14565, 14568, 14572, 14579, 14583, 14587, 14595,
1403    14606, 14607, 14611, 14612, 14616, 14617, 14620, 14621, 14631, 14632,
1404    14636, 14637, 14640, 14656, 14664, 14672, 14694, 14695, 14706, 14710,
1405    14737, 14739, 14744, 14747, 14750, 14752, 14754, 14756, 14766, 14768,
1406    14779, 14783, 14787, 14791, 14795, 14804, 14811, 14843, 14847, 14853,
1407    14860, 14864, 14868, 14874, 14875, 14877, 14878, 14879, 14883, 14916,
1408    14943, 14947, 14953, 14955, 14972, 14973, 14974, 14979, 14980, 14981,
1409    14986, 14987, 14988, 14989, 14995, 14996, 14997, 14998, 14999, 15019,
1410    15020, 15021, 15022, 15023, 15024, 15025, 15026, 15027, 15028, 15029,
1411    15030, 15031, 15032, 15033, 15034, 15035, 15036, 15037, 15038, 15039,
1412    15040, 15041, 15042, 15043, 15044, 15045, 15046, 15047, 15048, 15049,
1413    15050, 15051, 15052, 15053, 15054, 15055, 15056, 15057, 15058, 15059,
1414    15060, 15061, 15062, 15063, 15064, 15065, 15066, 15067, 15068, 15069,
1415    15070, 15071, 15072, 15073, 15074, 15075, 15076, 15077, 15078, 15079,
1416    15080, 15081, 15082, 15083, 15084, 15085, 15086, 15087, 15088, 15089,
1417    15090, 15091, 15092, 15093, 15094, 15095, 15096, 15097, 15098, 15099,
1418    15100, 15101, 15102, 15103, 15104, 15105, 15106, 15107, 15108, 15109,
1419    15110, 15111, 15112, 15113, 15114, 15115, 15116, 15117, 15118, 15119,
1420    15120, 15121, 15122, 15123, 15124, 15125, 15126, 15127, 15128, 15129,
1421    15130, 15131, 15132, 15133, 15134, 15135, 15136, 15137, 15138, 15139,
1422    15140, 15141, 15142, 15143, 15144, 15145, 15146, 15147, 15148, 15149,
1423    15150, 15151, 15152, 15153, 15154, 15155, 15156, 15157, 15158, 15159,
1424    15160, 15161, 15162, 15163, 15164, 15165, 15166, 15167, 15168, 15169,
1425    15170, 15171, 15172, 15173, 15174, 15175, 15176, 15177, 15178, 15179,
1426    15180, 15181, 15182, 15183, 15184, 15185, 15186, 15187, 15188, 15189,
1427    15190, 15191, 15192, 15193, 15194, 15195, 15196, 15197, 15198, 15199,
1428    15200, 15201, 15202, 15203, 15204, 15205, 15206, 15207, 15208, 15209,
1429    15210, 15211, 15212, 15213, 15214, 15215, 15216, 15217, 15218, 15219,
1430    15220, 15221, 15222, 15223, 15224, 15225, 15226, 15227, 15228, 15229,
1431    15230, 15231, 15232, 15233, 15234, 15235, 15236, 15237, 15238, 15239,
1432    15240, 15241, 15242, 15243, 15244, 15245, 15246, 15247, 15248, 15249,
1433    15250, 15251, 15252, 15253, 15254, 15255, 15256, 15257, 15258, 15259,
1434    15260, 15261, 15262, 15263, 15264, 15265, 15266, 15267, 15268, 15269,
1435    15270, 15271, 15272, 15273, 15274, 15275, 15276, 15277, 15278, 15279,
1436    15280, 15281, 15282, 15283, 15284, 15285, 15286, 15287, 15288, 15289,
1437    15290, 15291, 15292, 15293, 15294, 15295, 15296, 15297, 15298, 15299,
1438    15300, 15301, 15302, 15303, 15304, 15305, 15306, 15307, 15308, 15322,
1439    15323, 15324, 15325, 15326, 15327, 15328, 15329, 15330, 15331, 15332,
1440    15333, 15334, 15335, 15336, 15337, 15338, 15339, 15340, 15341, 15342,
1441    15343, 15344, 15345, 15346, 15347, 15348, 15349, 15350, 15351, 15352,
1442    15353, 15354, 15355, 15356, 15357, 15358, 15359, 15360, 15361, 15362,
1443    15363, 15364, 15365, 15366, 15367, 15368, 15369, 15370, 15371, 15385,
1444    15386, 15387, 15388, 15389, 15390, 15391, 15392, 15393, 15394, 15395,
1445    15396, 15397, 15398, 15399, 15400, 15401, 15402, 15403, 15404, 15405,
1446    15406, 15407, 15417, 15418, 15419, 15420, 15421, 15422, 15423, 15424,
1447    15425, 15426, 15427, 15428, 15429, 15430, 15431, 15432, 15433, 15434,
1448    15435, 15436, 15437, 15438, 15439, 15440, 15441, 15442, 15443, 15444,
1449    15445, 15446, 15447, 15448, 15449, 15450, 15451, 15452, 15453, 15454,
1450    15455, 15456, 15457, 15458, 15459, 15460, 15461, 15462, 15463, 15464,
1451    15465, 15466, 15467, 15468, 15469, 15470, 15471, 15472, 15473, 15474,
1452    15475, 15476, 15477, 15478, 15479, 15480, 15481, 15482, 15483, 15484,
1453    15485, 15486, 15487, 15488, 15489, 15490, 15491, 15492, 15493
1454 };
1455 #endif
1456 
1457 #if YYDEBUG || YYERROR_VERBOSE || 0
1458 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
1459    First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
1460 static const char *const yytname[] =
1461 {
1462   "$end", "error", "$undefined", "IDENT", "FCONST", "SCONST", "BCONST",
1463   "XCONST", "Op", "ICONST", "PARAM", "TYPECAST", "DOT_DOT", "COLON_EQUALS",
1464   "EQUALS_GREATER", "LESS_EQUALS", "GREATER_EQUALS", "NOT_EQUALS",
1465   "ABORT_P", "ABSOLUTE_P", "ACCESS", "ACTION", "ADD_P", "ADMIN", "AFTER",
1466   "AGGREGATE", "ALL", "ALSO", "ALTER", "ALWAYS", "ANALYSE", "ANALYZE",
1467   "AND", "ANY", "ARRAY", "AS", "ASC", "ASSERTION", "ASSIGNMENT",
1468   "ASYMMETRIC", "AT", "ATTACH", "ATTRIBUTE", "AUTHORIZATION", "BACKWARD",
1469   "BEFORE", "BEGIN_P", "BETWEEN", "BIGINT", "BINARY", "BIT", "BOOLEAN_P",
1470   "BOTH", "BY", "CACHE", "CALL", "CALLED", "CASCADE", "CASCADED", "CASE",
1471   "CAST", "CATALOG_P", "CHAIN", "CHAR_P", "CHARACTER", "CHARACTERISTICS",
1472   "CHECK", "CHECKPOINT", "CLASS", "CLOSE", "CLUSTER", "COALESCE",
1473   "COLLATE", "COLLATION", "COLUMN", "COLUMNS", "COMMENT", "COMMENTS",
1474   "COMMIT", "COMMITTED", "CONCURRENTLY", "CONFIGURATION", "CONFLICT",
1475   "CONNECTION", "CONSTRAINT", "CONSTRAINTS", "CONTENT_P", "CONTINUE_P",
1476   "CONVERSION_P", "COPY", "COST", "CREATE", "CROSS", "CSV", "CUBE",
1477   "CURRENT_P", "CURRENT_CATALOG", "CURRENT_DATE", "CURRENT_ROLE",
1478   "CURRENT_SCHEMA", "CURRENT_TIME", "CURRENT_TIMESTAMP", "CURRENT_USER",
1479   "CURSOR", "CYCLE", "DATA_P", "DATABASE", "DAY_P", "DEALLOCATE", "DEC",
1480   "DECIMAL_P", "DECLARE", "DEFAULT", "DEFAULTS", "DEFERRABLE", "DEFERRED",
1481   "DEFINER", "DELETE_P", "DELIMITER", "DELIMITERS", "DEPENDS", "DESC",
1482   "DETACH", "DICTIONARY", "DISABLE_P", "DISCARD", "DISTINCT", "DO",
1483   "DOCUMENT_P", "DOMAIN_P", "DOUBLE_P", "DROP", "EACH", "ELSE", "ENABLE_P",
1484   "ENCODING", "ENCRYPTED", "END_P", "ENUM_P", "ESCAPE", "EVENT", "EXCEPT",
1485   "EXCLUDE", "EXCLUDING", "EXCLUSIVE", "EXECUTE", "EXISTS", "EXPLAIN",
1486   "EXTENSION", "EXTERNAL", "EXTRACT", "FALSE_P", "FAMILY", "FETCH",
1487   "FILTER", "FIRST_P", "FLOAT_P", "FOLLOWING", "FOR", "FORCE", "FOREIGN",
1488   "FORWARD", "FREEZE", "FROM", "FULL", "FUNCTION", "FUNCTIONS",
1489   "GENERATED", "GLOBAL", "GRANT", "GRANTED", "GREATEST", "GROUP_P",
1490   "GROUPING", "GROUPS", "HANDLER", "HAVING", "HEADER_P", "HOLD", "HOUR_P",
1491   "IDENTITY_P", "IF_P", "ILIKE", "IMMEDIATE", "IMMUTABLE", "IMPLICIT_P",
1492   "IMPORT_P", "IN_P", "INCLUDE", "INCLUDING", "INCREMENT", "INDEX",
1493   "INDEXES", "INHERIT", "INHERITS", "INITIALLY", "INLINE_P", "INNER_P",
1494   "INOUT", "INPUT_P", "INSENSITIVE", "INSERT", "INSTEAD", "INT_P",
1495   "INTEGER", "INTERSECT", "INTERVAL", "INTO", "INVOKER", "IS", "ISNULL",
1496   "ISOLATION", "JOIN", "KEY", "LABEL", "LANGUAGE", "LARGE_P", "LAST_P",
1497   "LATERAL_P", "LEADING", "LEAKPROOF", "LEAST", "LEFT", "LEVEL", "LIKE",
1498   "LIMIT", "LISTEN", "LOAD", "LOCAL", "LOCALTIME", "LOCALTIMESTAMP",
1499   "LOCATION", "LOCK_P", "LOCKED", "LOGGED", "MAPPING", "MATCH",
1500   "MATERIALIZED", "MAXVALUE", "METHOD", "MINUTE_P", "MINVALUE", "MODE",
1501   "MONTH_P", "MOVE", "NAME_P", "NAMES", "NATIONAL", "NATURAL", "NCHAR",
1502   "NEW", "NEXT", "NO", "NONE", "NOT", "NOTHING", "NOTIFY", "NOTNULL",
1503   "NOWAIT", "NULL_P", "NULLIF", "NULLS_P", "NUMERIC", "OBJECT_P", "OF",
1504   "OFF", "OFFSET", "OIDS", "OLD", "ON", "ONLY", "OPERATOR", "OPTION",
1505   "OPTIONS", "OR", "ORDER", "ORDINALITY", "OTHERS", "OUT_P", "OUTER_P",
1506   "OVER", "OVERLAPS", "OVERLAY", "OVERRIDING", "OWNED", "OWNER",
1507   "PARALLEL", "PARSER", "PARTIAL", "PARTITION", "PASSING", "PASSWORD",
1508   "PLACING", "PLANS", "POLICY", "POSITION", "PRECEDING", "PRECISION",
1509   "PRESERVE", "PREPARE", "PREPARED", "PRIMARY", "PRIOR", "PRIVILEGES",
1510   "PROCEDURAL", "PROCEDURE", "PROCEDURES", "PROGRAM", "PUBLICATION",
1511   "QUOTE", "RANGE", "READ", "REAL", "REASSIGN", "RECHECK", "RECURSIVE",
1512   "REF", "REFERENCES", "REFERENCING", "REFRESH", "REINDEX", "RELATIVE_P",
1513   "RELEASE", "RENAME", "REPEATABLE", "REPLACE", "REPLICA", "RESET",
1514   "RESTART", "RESTRICT", "RETURNING", "RETURNS", "REVOKE", "RIGHT", "ROLE",
1515   "ROLLBACK", "ROLLUP", "ROUTINE", "ROUTINES", "ROW", "ROWS", "RULE",
1516   "SAVEPOINT", "SCHEMA", "SCHEMAS", "SCROLL", "SEARCH", "SECOND_P",
1517   "SECURITY", "SELECT", "SEQUENCE", "SEQUENCES", "SERIALIZABLE", "SERVER",
1518   "SESSION", "SESSION_USER", "SET", "SETS", "SETOF", "SHARE", "SHOW",
1519   "SIMILAR", "SIMPLE", "SKIP", "SMALLINT", "SNAPSHOT", "SOME", "SQL_P",
1520   "STABLE", "STANDALONE_P", "START", "STATEMENT", "STATISTICS", "STDIN",
1521   "STDOUT", "STORAGE", "STRICT_P", "STRIP_P", "SUBSCRIPTION", "SUBSTRING",
1522   "SYMMETRIC", "SYSID", "SYSTEM_P", "TABLE", "TABLES", "TABLESAMPLE",
1523   "TABLESPACE", "TEMP", "TEMPLATE", "TEMPORARY", "TEXT_P", "THEN", "TIES",
1524   "TIME", "TIMESTAMP", "TO", "TRAILING", "TRANSACTION", "TRANSFORM",
1525   "TREAT", "TRIGGER", "TRIM", "TRUE_P", "TRUNCATE", "TRUSTED", "TYPE_P",
1526   "TYPES_P", "UNBOUNDED", "UNCOMMITTED", "UNENCRYPTED", "UNION", "UNIQUE",
1527   "UNKNOWN", "UNLISTEN", "UNLOGGED", "UNTIL", "UPDATE", "USER", "USING",
1528   "VACUUM", "VALID", "VALIDATE", "VALIDATOR", "VALUE_P", "VALUES",
1529   "VARCHAR", "VARIADIC", "VARYING", "VERBOSE", "VERSION_P", "VIEW",
1530   "VIEWS", "VOLATILE", "WHEN", "WHERE", "WHITESPACE_P", "WINDOW", "WITH",
1531   "WITHIN", "WITHOUT", "WORK", "WRAPPER", "WRITE", "XML_P",
1532   "XMLATTRIBUTES", "XMLCONCAT", "XMLELEMENT", "XMLEXISTS", "XMLFOREST",
1533   "XMLNAMESPACES", "XMLPARSE", "XMLPI", "XMLROOT", "XMLSERIALIZE",
1534   "XMLTABLE", "YEAR_P", "YES_P", "ZONE", "NOT_LA", "NULLS_LA", "WITH_LA",
1535   "'<'", "'>'", "'='", "POSTFIXOP", "'+'", "'-'", "'*'", "'/'", "'%'",
1536   "'^'", "UMINUS", "'['", "']'", "'('", "')'", "'.'", "';'", "','", "':'",
1537   "$accept", "stmtblock", "stmtmulti", "stmt", "CallStmt",
1538   "CreateRoleStmt", "opt_with", "OptRoleList", "AlterOptRoleList",
1539   "AlterOptRoleElem", "CreateOptRoleElem", "CreateUserStmt",
1540   "AlterRoleStmt", "opt_in_database", "AlterRoleSetStmt", "DropRoleStmt",
1541   "CreateGroupStmt", "AlterGroupStmt", "add_drop", "CreateSchemaStmt",
1542   "OptSchemaName", "OptSchemaEltList", "schema_stmt", "VariableSetStmt",
1543   "set_rest", "generic_set", "set_rest_more", "var_name", "var_list",
1544   "var_value", "iso_level", "opt_boolean_or_string", "zone_value",
1545   "opt_encoding", "NonReservedWord_or_Sconst", "VariableResetStmt",
1546   "reset_rest", "generic_reset", "SetResetClause",
1547   "FunctionSetResetClause", "VariableShowStmt", "ConstraintsSetStmt",
1548   "constraints_set_list", "constraints_set_mode", "CheckPointStmt",
1549   "DiscardStmt", "AlterTableStmt", "alter_table_cmds", "partition_cmd",
1550   "index_partition_cmd", "alter_table_cmd", "alter_column_default",
1551   "opt_drop_behavior", "opt_collate_clause", "alter_using",
1552   "replica_identity", "reloptions", "opt_reloptions", "reloption_list",
1553   "reloption_elem", "alter_identity_column_option_list",
1554   "alter_identity_column_option", "PartitionBoundSpec",
1555   "hash_partbound_elem", "hash_partbound", "partbound_datum",
1556   "partbound_datum_list", "range_datum_list", "PartitionRangeDatum",
1557   "AlterCompositeTypeStmt", "alter_type_cmds", "alter_type_cmd",
1558   "ClosePortalStmt", "CopyStmt", "copy_from", "opt_program",
1559   "copy_file_name", "copy_options", "copy_opt_list", "copy_opt_item",
1560   "opt_binary", "opt_oids", "copy_delimiter", "opt_using",
1561   "copy_generic_opt_list", "copy_generic_opt_elem", "copy_generic_opt_arg",
1562   "copy_generic_opt_arg_list", "copy_generic_opt_arg_list_item",
1563   "CreateStmt", "OptTemp", "OptTableElementList",
1564   "OptTypedTableElementList", "TableElementList", "TypedTableElementList",
1565   "TableElement", "TypedTableElement", "columnDef", "columnOptions",
1566   "ColQualList", "ColConstraint", "ColConstraintElem", "generated_when",
1567   "ConstraintAttr", "TableLikeClause", "TableLikeOptionList",
1568   "TableLikeOption", "TableConstraint", "ConstraintElem", "opt_no_inherit",
1569   "opt_column_list", "columnList", "columnElem", "opt_c_include",
1570   "key_match", "ExclusionConstraintList", "ExclusionConstraintElem",
1571   "ExclusionWhereClause", "key_actions", "key_update", "key_delete",
1572   "key_action", "OptInherit", "OptPartitionSpec", "PartitionSpec",
1573   "part_strategy", "part_params", "part_elem", "OptWith", "OnCommitOption",
1574   "OptTableSpace", "OptConsTableSpace", "ExistingIndex", "CreateStatsStmt",
1575   "CreateAsStmt", "create_as_target", "opt_with_data", "CreateMatViewStmt",
1576   "create_mv_target", "OptNoLog", "RefreshMatViewStmt", "CreateSeqStmt",
1577   "AlterSeqStmt", "OptSeqOptList", "OptParenthesizedSeqOptList",
1578   "SeqOptList", "SeqOptElem", "opt_by", "NumericOnly", "NumericOnly_list",
1579   "CreatePLangStmt", "opt_trusted", "handler_name", "opt_inline_handler",
1580   "validator_clause", "opt_validator", "DropPLangStmt", "opt_procedural",
1581   "CreateTableSpaceStmt", "OptTableSpaceOwner", "DropTableSpaceStmt",
1582   "CreateExtensionStmt", "create_extension_opt_list",
1583   "create_extension_opt_item", "AlterExtensionStmt",
1584   "alter_extension_opt_list", "alter_extension_opt_item",
1585   "AlterExtensionContentsStmt", "CreateFdwStmt", "fdw_option",
1586   "fdw_options", "opt_fdw_options", "AlterFdwStmt",
1587   "create_generic_options", "generic_option_list", "alter_generic_options",
1588   "alter_generic_option_list", "alter_generic_option_elem",
1589   "generic_option_elem", "generic_option_name", "generic_option_arg",
1590   "CreateForeignServerStmt", "opt_type", "foreign_server_version",
1591   "opt_foreign_server_version", "AlterForeignServerStmt",
1592   "CreateForeignTableStmt", "AlterForeignTableStmt",
1593   "ImportForeignSchemaStmt", "import_qualification_type",
1594   "import_qualification", "CreateUserMappingStmt", "auth_ident",
1595   "DropUserMappingStmt", "AlterUserMappingStmt", "CreatePolicyStmt",
1596   "AlterPolicyStmt", "RowSecurityOptionalExpr",
1597   "RowSecurityOptionalWithCheck", "RowSecurityDefaultToRole",
1598   "RowSecurityOptionalToRole", "RowSecurityDefaultPermissive",
1599   "RowSecurityDefaultForCmd", "row_security_cmd", "CreateAmStmt",
1600   "CreateTrigStmt", "TriggerActionTime", "TriggerEvents",
1601   "TriggerOneEvent", "TriggerReferencing", "TriggerTransitions",
1602   "TriggerTransition", "TransitionOldOrNew", "TransitionRowOrTable",
1603   "TransitionRelName", "TriggerForSpec", "TriggerForOptEach",
1604   "TriggerForType", "TriggerWhen", "FUNCTION_or_PROCEDURE",
1605   "TriggerFuncArgs", "TriggerFuncArg", "OptConstrFromTable",
1606   "ConstraintAttributeSpec", "ConstraintAttributeElem",
1607   "CreateEventTrigStmt", "event_trigger_when_list",
1608   "event_trigger_when_item", "event_trigger_value_list",
1609   "AlterEventTrigStmt", "enable_trigger", "CreateAssertStmt",
1610   "DropAssertStmt", "DefineStmt", "definition", "def_list", "def_elem",
1611   "def_arg", "old_aggr_definition", "old_aggr_list", "old_aggr_elem",
1612   "opt_enum_val_list", "enum_val_list", "AlterEnumStmt",
1613   "opt_if_not_exists", "CreateOpClassStmt", "opclass_item_list",
1614   "opclass_item", "opt_default", "opt_opfamily", "opclass_purpose",
1615   "opt_recheck", "CreateOpFamilyStmt", "AlterOpFamilyStmt",
1616   "opclass_drop_list", "opclass_drop", "DropOpClassStmt",
1617   "DropOpFamilyStmt", "DropOwnedStmt", "ReassignOwnedStmt", "DropStmt",
1618   "drop_type_any_name", "drop_type_name", "drop_type_name_on_any_name",
1619   "any_name_list", "any_name", "attrs", "type_name_list", "TruncateStmt",
1620   "opt_restart_seqs", "CommentStmt", "comment_type_any_name",
1621   "comment_type_name", "comment_text", "SecLabelStmt", "opt_provider",
1622   "security_label_type_any_name", "security_label_type_name",
1623   "security_label", "FetchStmt", "fetch_args", "from_in", "opt_from_in",
1624   "GrantStmt", "RevokeStmt", "privileges", "privilege_list", "privilege",
1625   "privilege_target", "grantee_list", "grantee", "opt_grant_grant_option",
1626   "GrantRoleStmt", "RevokeRoleStmt", "opt_grant_admin_option",
1627   "opt_granted_by", "AlterDefaultPrivilegesStmt", "DefACLOptionList",
1628   "DefACLOption", "DefACLAction", "defacl_privilege_target", "IndexStmt",
1629   "opt_unique", "opt_concurrently", "opt_index_name",
1630   "access_method_clause", "index_params", "index_elem", "opt_include",
1631   "index_including_params", "opt_collate", "opt_class", "opt_asc_desc",
1632   "opt_nulls_order", "CreateFunctionStmt", "opt_or_replace", "func_args",
1633   "func_args_list", "function_with_argtypes_list",
1634   "function_with_argtypes", "func_args_with_defaults",
1635   "func_args_with_defaults_list", "func_arg", "arg_class", "param_name",
1636   "func_return", "func_type", "func_arg_with_default", "aggr_arg",
1637   "aggr_args", "aggr_args_list", "aggregate_with_argtypes",
1638   "aggregate_with_argtypes_list", "createfunc_opt_list",
1639   "common_func_opt_item", "createfunc_opt_item", "func_as",
1640   "transform_type_list", "opt_definition", "table_func_column",
1641   "table_func_column_list", "AlterFunctionStmt", "alterfunc_opt_list",
1642   "opt_restrict", "RemoveFuncStmt", "RemoveAggrStmt", "RemoveOperStmt",
1643   "oper_argtypes", "any_operator", "operator_with_argtypes_list",
1644   "operator_with_argtypes", "DoStmt", "dostmt_opt_list", "dostmt_opt_item",
1645   "CreateCastStmt", "cast_context", "DropCastStmt", "opt_if_exists",
1646   "CreateTransformStmt", "transform_element_list", "DropTransformStmt",
1647   "ReindexStmt", "reindex_target_type", "reindex_target_multitable",
1648   "reindex_option_list", "reindex_option_elem", "AlterTblSpcStmt",
1649   "RenameStmt", "opt_column", "opt_set_data", "AlterObjectDependsStmt",
1650   "AlterObjectSchemaStmt", "AlterOperatorStmt", "operator_def_list",
1651   "operator_def_elem", "operator_def_arg", "AlterOwnerStmt",
1652   "CreatePublicationStmt", "opt_publication_for_tables",
1653   "publication_for_tables", "AlterPublicationStmt",
1654   "CreateSubscriptionStmt", "publication_name_list",
1655   "publication_name_item", "AlterSubscriptionStmt", "DropSubscriptionStmt",
1656   "RuleStmt", "RuleActionList", "RuleActionMulti", "RuleActionStmt",
1657   "RuleActionStmtOrEmpty", "event", "opt_instead", "NotifyStmt",
1658   "notify_payload", "ListenStmt", "UnlistenStmt", "TransactionStmt",
1659   "opt_transaction", "transaction_mode_item", "transaction_mode_list",
1660   "transaction_mode_list_or_empty", "ViewStmt", "opt_check_option",
1661   "LoadStmt", "CreatedbStmt", "createdb_opt_list", "createdb_opt_items",
1662   "createdb_opt_item", "createdb_opt_name", "opt_equal",
1663   "AlterDatabaseStmt", "AlterDatabaseSetStmt", "DropdbStmt",
1664   "AlterCollationStmt", "AlterSystemStmt", "CreateDomainStmt",
1665   "AlterDomainStmt", "opt_as", "AlterTSDictionaryStmt",
1666   "AlterTSConfigurationStmt", "any_with", "CreateConversionStmt",
1667   "ClusterStmt", "cluster_index_specification", "VacuumStmt",
1668   "vacuum_option_list", "vacuum_option_elem", "AnalyzeStmt",
1669   "analyze_option_list", "analyze_option_elem", "analyze_keyword",
1670   "opt_analyze", "opt_verbose", "opt_full", "opt_freeze", "opt_name_list",
1671   "vacuum_relation", "vacuum_relation_list", "opt_vacuum_relation_list",
1672   "ExplainStmt", "ExplainableStmt", "explain_option_list",
1673   "explain_option_elem", "explain_option_name", "explain_option_arg",
1674   "PrepareStmt", "prep_type_clause", "PreparableStmt", "ExecuteStmt",
1675   "execute_param_clause", "DeallocateStmt", "InsertStmt", "insert_target",
1676   "insert_rest", "override_kind", "insert_column_list",
1677   "insert_column_item", "opt_on_conflict", "opt_conf_expr",
1678   "returning_clause", "DeleteStmt", "using_clause", "LockStmt", "opt_lock",
1679   "lock_type", "opt_nowait", "opt_nowait_or_skip", "UpdateStmt",
1680   "set_clause_list", "set_clause", "set_target", "set_target_list",
1681   "DeclareCursorStmt", "cursor_name", "cursor_options", "opt_hold",
1682   "SelectStmt", "select_with_parens", "select_no_parens", "select_clause",
1683   "simple_select", "with_clause", "cte_list", "common_table_expr",
1684   "opt_with_clause", "into_clause", "OptTempTableName", "opt_table",
1685   "all_or_distinct", "distinct_clause", "opt_all_clause",
1686   "opt_sort_clause", "sort_clause", "sortby_list", "sortby",
1687   "select_limit", "opt_select_limit", "limit_clause", "offset_clause",
1688   "select_limit_value", "select_offset_value", "select_fetch_first_value",
1689   "I_or_F_const", "row_or_rows", "first_or_next", "group_clause",
1690   "group_by_list", "group_by_item", "empty_grouping_set", "rollup_clause",
1691   "cube_clause", "grouping_sets_clause", "having_clause",
1692   "for_locking_clause", "opt_for_locking_clause", "for_locking_items",
1693   "for_locking_item", "for_locking_strength", "locked_rels_list",
1694   "values_clause", "from_clause", "from_list", "table_ref", "joined_table",
1695   "alias_clause", "opt_alias_clause", "func_alias_clause", "join_type",
1696   "join_outer", "join_qual", "relation_expr", "relation_expr_list",
1697   "relation_expr_opt_alias", "tablesample_clause", "opt_repeatable_clause",
1698   "func_table", "rowsfrom_item", "rowsfrom_list", "opt_col_def_list",
1699   "opt_ordinality", "where_clause", "where_or_current_clause",
1700   "OptTableFuncElementList", "TableFuncElementList", "TableFuncElement",
1701   "xmltable", "xmltable_column_list", "xmltable_column_el",
1702   "xmltable_column_option_list", "xmltable_column_option_el",
1703   "xml_namespace_list", "xml_namespace_el", "Typename", "opt_array_bounds",
1704   "SimpleTypename", "ConstTypename", "GenericType", "opt_type_modifiers",
1705   "Numeric", "opt_float", "Bit", "ConstBit", "BitWithLength",
1706   "BitWithoutLength", "Character", "ConstCharacter", "CharacterWithLength",
1707   "CharacterWithoutLength", "character", "opt_varying", "ConstDatetime",
1708   "ConstInterval", "opt_timezone", "opt_interval", "interval_second",
1709   "a_expr", "b_expr", "c_expr", "func_application", "func_expr",
1710   "func_expr_windowless", "func_expr_common_subexpr", "xml_root_version",
1711   "opt_xml_root_standalone", "xml_attributes", "xml_attribute_list",
1712   "xml_attribute_el", "document_or_content", "xml_whitespace_option",
1713   "xmlexists_argument", "within_group_clause", "filter_clause",
1714   "window_clause", "window_definition_list", "window_definition",
1715   "over_clause", "window_specification", "opt_existing_window_name",
1716   "opt_partition_clause", "opt_frame_clause", "frame_extent",
1717   "frame_bound", "opt_window_exclusion_clause", "row", "explicit_row",
1718   "implicit_row", "sub_type", "all_Op", "MathOp", "qual_Op", "qual_all_Op",
1719   "subquery_Op", "expr_list", "func_arg_list", "func_arg_expr",
1720   "type_list", "array_expr", "array_expr_list", "extract_list",
1721   "extract_arg", "overlay_list", "overlay_placing", "position_list",
1722   "substr_list", "substr_from", "substr_for", "trim_list", "in_expr",
1723   "case_expr", "when_clause_list", "when_clause", "case_default",
1724   "case_arg", "columnref", "indirection_el", "opt_slice_bound",
1725   "indirection", "opt_indirection", "opt_asymmetric", "opt_target_list",
1726   "target_list", "target_el", "qualified_name_list", "qualified_name",
1727   "name_list", "name", "database_name", "access_method", "attr_name",
1728   "index_name", "file_name", "func_name", "AexprConst", "Iconst", "Sconst",
1729   "SignedIconst", "RoleId", "RoleSpec", "role_list", "ColId",
1730   "type_function_name", "NonReservedWord", "ColLabel",
1731   "unreserved_keyword", "col_name_keyword", "type_func_name_keyword",
1732   "reserved_keyword", YY_NULLPTR
1733 };
1734 #endif
1735 
1736 # ifdef YYPRINT
1737 /* YYTOKNUM[NUM] -- (External) token number corresponding to the
1738    (internal) symbol number NUM (which must be that of a token).  */
1739 static const yytype_uint16 yytoknum[] =
1740 {
1741        0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
1742      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
1743      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
1744      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
1745      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
1746      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
1747      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
1748      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
1749      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
1750      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
1751      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
1752      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
1753      375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
1754      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
1755      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
1756      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
1757      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
1758      425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
1759      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
1760      445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
1761      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
1762      465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
1763      475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
1764      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
1765      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
1766      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
1767      515,   516,   517,   518,   519,   520,   521,   522,   523,   524,
1768      525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
1769      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
1770      545,   546,   547,   548,   549,   550,   551,   552,   553,   554,
1771      555,   556,   557,   558,   559,   560,   561,   562,   563,   564,
1772      565,   566,   567,   568,   569,   570,   571,   572,   573,   574,
1773      575,   576,   577,   578,   579,   580,   581,   582,   583,   584,
1774      585,   586,   587,   588,   589,   590,   591,   592,   593,   594,
1775      595,   596,   597,   598,   599,   600,   601,   602,   603,   604,
1776      605,   606,   607,   608,   609,   610,   611,   612,   613,   614,
1777      615,   616,   617,   618,   619,   620,   621,   622,   623,   624,
1778      625,   626,   627,   628,   629,   630,   631,   632,   633,   634,
1779      635,   636,   637,   638,   639,   640,   641,   642,   643,   644,
1780      645,   646,   647,   648,   649,   650,   651,   652,   653,   654,
1781      655,   656,   657,   658,   659,   660,   661,   662,   663,   664,
1782      665,   666,   667,   668,   669,   670,   671,   672,   673,   674,
1783      675,   676,   677,   678,   679,   680,   681,   682,   683,   684,
1784      685,   686,   687,   688,   689,   690,   691,   692,   693,   694,
1785      695,   696,   697,   698,   699,   700,   701,   702,   703,   704,
1786      705,   706,   707,   708,   709,   710,   711,   712,   713,   714,
1787      715,    60,    62,    61,   716,    43,    45,    42,    47,    37,
1788       94,   717,    91,    93,    40,    41,    46,    59,    44,    58
1789 };
1790 # endif
1791 
1792 #define YYPACT_NINF -4885
1793 
1794 #define yypact_value_is_default(Yystate) \
1795   (!!((Yystate) == (-4885)))
1796 
1797 #define YYTABLE_NINF -2635
1798 
1799 #define yytable_value_is_error(Yytable_value) \
1800   (!!((Yytable_value) == (-2635)))
1801 
1802   /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1803      STATE-NUM.  */
1804 static const int yypact[] =
1805 {
1806    10715,    31, 16573, -4885, -4885,    31, 61209, -4885, 68944,    27,
1807      650,  1124,   189, 14282, 69399, 76679,   598,   358, 15474,    31,
1808    76679,  1111, 52564, 66214,   809, 76679,  1044,   682, 52564, 76679,
1809    77134,   841,  1027,   767, 77589, 69854, 64849,  1402, 76679,  1098,
1810      954, 78044, 70309,  1035, 70764,   682, 48952,   411,  1019, 78499,
1811    76679,  2081,  1351,  1132, -4885, -4885, -4885, -4885, -4885, -4885,
1812    -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
1813    -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
1814    -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
1815    -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
1816    -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
1817    -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
1818    -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
1819    -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
1820    -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
1821    -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
1822    -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,   913,
1823    -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
1824     1964, -4885,  1060,  2047,  1767,   929,  1030, -4885, -4885, -4885,
1825    61209, 76679, 76679, 76679,  1364, 76679,  1315, 76679,   220, 61209,
1826    57114, 71219,  1525,  1409, 45306, 78954, -4885, 61209, 76679, 55294,
1827    61209, 76679, 76679, 79409, 76679, 76679, 76679,   111, 67579, 76679,
1828     1534, 76679, 76679, 55749, 79864,  1677,  1305,   248, -4885, -4885,
1829    -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
1830    -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
1831    -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
1832    -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
1833    -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
1834    -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
1835    -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
1836    -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
1837    -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
1838    -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
1839    -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
1840    -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
1841    -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
1842    -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
1843    -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
1844    -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
1845    -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
1846    -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
1847    -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
1848    -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
1849    -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
1850    -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
1851    -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
1852    -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
1853    -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
1854    -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
1855    -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
1856    -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
1857    -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
1858    -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
1859    -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
1860    -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
1861    -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
1862    -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
1863    -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
1864    -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
1865    -4885, -4885,  1426,  1735, -4885,   267, -4885, -4885, -4885, -4885,
1866    -4885, -4885, -4885, -4885, -4885, 76679, 15858,  1044, -4885, -4885,
1867     2081, 76679,  1713, 61209, 76679,  1521, 80319,  1673, 76679, -4885,
1868    76679,  1715, 80774,   868,  1766, 57114,  2083, 45762,  1740, 76679,
1869    76679, 57114, 81229, 81684, 82139, 76679, 76679, -4885, -4885,  1791,
1870    76679, 76679, -4885,  1881, 57569,  1453,  1946,  2105,  2008,  1379,
1871    -4885, 71674, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
1872    60299,   358, -4885, -4885,  1982, 61664, 76679,  2036, -4885, -4885,
1873    82594, 98904,  1836, -4885,   877, 62119, 58024,  2160,  1814, 46218,
1874     2220, -4885, 62574, -4885, 58479, 63029, -4885, -4885, -4885, -4885,
1875    -4885, 83049, -4885, 83504,  1905,  2036, -4885, 99345, 58934, -4885,
1876     2069, 83959, 84414, 84869, -4885,  1813,  1321,  1338, 41178, -4885,
1877    -4885, -4885,    27, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
1878    -4885,   326,  1698,   234,   226,   247, -4885, -4885,   227,   249,
1879      252,   326,  2268,  2268, -4885, 76679, -4885, -4885,  1698,   752,
1880     1820,  1820,  1820,  2034,     7, -4885,  1820,  1981, -4885, -4885,
1881    -4885, -4885, 70764, -4885,  1829,  1044,  1856,  2282,  1920, -4885,
1882    -4885, -4885, -4885, -4885,  1938, 76679, 76679, 76679, -4885, -4885,
1883     2328,  1932,  2200,  1960, -4885, -4885, -4885,  2182,  2223,  2214,
1884      149,  1044,  2143, -4885,  2271, -4885,  2231, 28123, 28123,  1044,
1885    72129, 85324,   254, 60299,  1044, 72584,  2090,  1200,  2270, -4885,
1886    -4885, -4885,   652, -4885,  2515,  2123,  2401,  1960,  1305, 42551,
1887    -4885,  2127,  1735, 70764, -4885, -4885, -4885,   415,  2441, 30011,
1888    76679,  2156, -4885,  2201,  2156,  2165,  2184,  1767, -4885, 10715,
1889     2263, 76679,  1237,  1237,  2637,  1237,   240,  1680, -4885,  2527,
1890    -4885,  2535,  2499, 70764,  2233,  1556,  2240,  1496,  2242,  1737,
1891     2961, -4885, -4885,   766, 76679,   222,  2284, 73039,  9016,  2252,
1892     1735,  2269, -4885, -4885, -4885,  2419,  1356, -4885, -4885, -4885,
1893    -4885,  2562,  2617,  5799,   314, 73494, -4885, -4885, -4885, -4885,
1894    76679, 76679, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
1895    -4885,  2309,  1262, -4885, -4885,  2308,  2622,  2520,  9064,   285,
1896     2607,  2483,   861,  9122,  2530,   910,  2685, 14717,  1431,  1800,
1897     2248, 73949, 76679,  2651,  2706,  4615,  1721,   832,  2584,  1281,
1898     2607,  2704,  2549,   861,  2730,  6632, 76679, -4885,  2659,  2775,
1899      109, -4885,   344, -4885, 23016, 30011, 48497, -4885,  1735,  2472,
1900     2625,  1156,  2663, 61209,  2424, -4885, -4885, 76679, -4885, -4885,
1901    99786,  2518, -4885,   977, 61209, -4885,  2657,  2496, 46674, 76679,
1902    61209, -4885, -4885, 61209, 76679, -4885, -4885, -4885, -4885, -4885,
1903    -4885, -4885,  2588,  2783, 76679, 99786, -4885,  2731, 76679, 76679,
1904    -4885,  2481, -4885, -4885, -4885, -4885,  1820, 76679,  2488,  2891,
1905    99786,  2709,   406, 76679,  1649,  2933, 76679,  2727,  1649,  2544,
1906    85779, -4885, -4885,  1649, -4885, -4885, -4885, 76679, 76679,  2531,
1907     1445,  2723,  2846,  1649,  2753,  2966,  2969,  2759,  2612,  2767,
1908     2201,  2939,  2738,   937,   350,   201,  1876,  1649,  2595, 86234,
1909    86689, 76679,  2596, 76679,  2950, 61209, 61209, 76679,  2880, -4885,
1910     2736, -4885, -4885,  1185, -4885, -4885, -4885, -4885, -4885,  2895,
1911    -4885,   184,   272,  2896,  2569,  2899, -4885, -4885, -4885,  2619,
1912    -4885,  2619,  2619,  2573,  2573,  2751,  2579,  2908, -4885, -4885,
1913    -4885,  1733,  2619,  2573, -4885,100668, -4885,  1732,  1816, -4885,
1914      194, -4885,  3023, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
1915    -4885,  2585, -4885,   853,  1787, -4885, -4885,  2621, -4885,  2914,
1916      323, -4885,  2917, -4885,  2586, 87144, -4885, 87599, 88054,  2920,
1917      331, -4885, 57114,  2921,   323,  2922,  2586,  2923,   323,  2925,
1918      272,  2927, -4885,   989,  2929,  2932,   194,  2944,  2000,  2586,
1919    60754,  2946,   368, -4885,  2948,   437, -4885,  2949,  2816, 30011,
1920    -4885,  2714, -4885,  1019, -4885,  1772, -4885, 51654, -4885,  1338,
1921     1698, -4885, 76679,  1698, 76679,  1698, 76679,  1698, 76679,  1698,
1922    76679, 76679, 76679,  1698, -4885, -4885, -4885, 76679,  2633, 76679,
1923    76679, -4885, -4885, -4885, 66669, 57114, 67124, -4885, 76679, -4885,
1924      133,  1044, -4885, -4885, 99786,  3073, 57114,  2950, -4885,  1845,
1925    -4885, -4885, -4885, -4885, -4885, -4885,  2886, 76679,  2952,  2953,
1926    66669, 57114, -4885, 88509, 60299,  2845,  2641, -4885, -4885, -4885,
1927    -4885, -4885,  1924,  3111,   262,  3112, 30011,  2645,   262,   262,
1928     2646,  2963, -4885, -4885, -4885,   271,  2648,  2650, -4885,   265,
1929      265, -4885,  2652,  2654, -4885,   269,  2661,  2666,  3126,  3136,
1930      273,  2668,  2670,  2671,  1733,   262, 30011, -4885,  2672,   265,
1931     2673,  2675,  2677,  3150,  2679, -4885,  3152,  2686,   245,   289,
1932     2687,  2688, -4885,  2652, -4885,   291,  2689,  2692,  2693,  2694,
1933     2695,  2698,  2702,  2715, 30011, 30011, 30011, -4885, 26707,  1735,
1934     1044, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,   293,
1935     5211, -4885,  2745, -4885, -4885,  2905, -4885, -4885, 30011, -4885,
1936    -4885,   119, -4885,   295, -4885, -4885, -4885,  1735,  2984,  2719,
1937    -4885, -4885,  1302,  2720, -4885,   394, -4885, -4885, -4885, -4885,
1938    -4885, -4885, 59389,  3158, -4885,   310,  1044,   344,   367,  3104,
1939    50744, 51199, -4885, -4885,  2977, -4885, 76679, -4885, -4885,  1735,
1940      202, -4885, -4885, -4885, -4885,  1870, -4885, -4885, -4885,    27,
1941    12966,  1874,  2156, 76679, 76679,  3168, -4885, -4885, -4885, -4885,
1942     1895, -4885, -4885,  2726, -4885,  2201, -4885, -4885,  1767,  1767,
1943    30011,  1767,   253,  1719, 28595, 30483,  3050,  2945,  1140,  1584,
1944     3052, -4885,  2954,   240,  1680, 70764, 76679, 88964,  2856, 30011,
1945     2822,  2828,  2881, 49862, -4885,  2833,  2803,  2842,  2897, 53474,
1946     2763,  2847,  2848,  2904, -4885,  3028, -4885, -4885,  2859,  2864,
1947    89419, -4885, -4885,   996, -4885, -4885, -4885,   996, -4885,  2800,
1948     1679,   978,   340,  2869,   499,   218,  3181, -4885,  1367, -4885,
1949    -4885,  2924, -4885,  5900, 76679,  3120,  6756,  3000,   314,  3003,
1950     2926, -4885, -4885,  3055,  2883, 76679,  2884,  3021,   314,   290,
1951    89874, -4885, -4885, -4885, -4885, -4885, -4885,  4099, 25824, -4885,
1952     1809,  2887,  2866,  2906, 76679, 63939,  1810,  2992,  3016,  3024,
1953     1463,  2005,   545,  2955, 76679,  1103,  3032, 76679,  2823,  2911,
1954     2912,  3121,  2844,  1343,  3236,  2851, -4885, -4885, -4885, -4885,
1955      439,  2019,  3047, -4885,  3146,  3188,  5467,  2918,  2919, 97581,
1956    -4885,  2943,    83, 47130, 76679, 76679,  3070,  2951,  2956, 90329,
1957     4099,  2967,  2972,  2962,  2964,    13,  3252,  1520,  2976, -4885,
1958    -4885, -4885,  1520,  3095,  2979,  2982, 90784,  4099, 76679,  2983,
1959     2986, 76679,100668,   314, -4885,  3326,   314,   314,  1854,  3329,
1960     2989,   382,  3141,  1049,  1649,  2851,  2820, -4885,  2993,  2997,
1961      939, -4885,  3127,  3004,  3006,  3063,  1044, -4885, -4885,  3014,
1962     3087,  3017,    59, -4885, -4885,  1118,  3027, 70764,  3125,  3131,
1963      441,  2225,  2851, -4885,  3029,  3030,  2844,  2844, 76679, 76679,
1964    76679, 76679, 76679,   298,  3374,  3381,  3036,   259,  3084,  2968,
1965    -4885,  1520, 56204,  3039, -4885,  1520, 76679,  3044,  2501,  2851,
1966     1122,  1181, -4885, -4885, -4885,  1305, -4885, 30011, 30011, 30011,
1967     2965, -4885,  2301, 12966,    86, -4885,   297,  5802,  2970, -4885,
1968    -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
1969    -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
1970    -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
1971    -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
1972    -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
1973    -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
1974    -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
1975    -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
1976    -4885, -4885, -4885, -4885, -4885, 76679, -4885, 76679, -4885,  3232,
1977    99786,  3173,  3235, -4885,  3010, -4885,  3238,   314, -4885, 76679,
1978    76679,  3244,  3176,  3245,  3247,  3189,  1013, 99786,  3190,  3251,
1979    -4885,  3253,  3257,  3066,  3040,  3059, 50303, -4885,  2531,  3020,
1980     3443,  3344, 76679, 53474, -4885,  3467,   996, -4885, 99786,  3226,
1981     3351, -4885, 76679,  3246,    62, -4885,  3386,  3081, -4885, -4885,
1982       66, 76679,   305,  3064, -4885, -4885,  3357, 57114,   328,  3358,
1983     1044,  3079,  3365,  3248,  1044, 57114,  3282, 76679, 76679, 76679,
1984    76679, -4885, -4885,  3250,  1015,   168, -4885, 56204,  3261, -4885,
1985    76679,  3262,  2820,  3265,  3485,   948,  1820, 91239,  3364, -4885,
1986    91694,  3051,  3051,  3492, 99786,  3313, -4885,  1998, -4885,  3184,
1987    -4885, 61209, -4885, -4885, 61209, -4885, -4885, -4885, 99786, 76679,
1988    -4885,  3056, -4885, -4885, 30011, -4885, -4885, -4885,  2268, -4885,
1989    99786,  2619,  2619, -4885, -4885,  3497,  3140,  3144,  2268, -4885,
1990     2268, -4885, 99786, -4885,  3062,  3067,  2268,  3143,  3147,  3149,
1991    -4885,  3069,  3153,  2268, -4885, -4885,  2088, -4885, -4885, 61209,
1992    61209, -4885, 57114, 57114,  3403,   368,  3404,  3135,  3417,  3155,
1993    47130, 47130, -4885,   457, 61209, -4885, 57114, 61209, -4885, 76679,
1994    -4885, 76679, -4885, -4885, -4885, -4885, 99786, 99786, -4885, 57114,
1995    56204,  3424,  3425,   272, 76679, 76679, -4885, 76679, 76679, -4885,
1996    76679, 76679,  1901, 92149,  1338, 59844, -4885, -4885, -4885, -4885,
1997    -4885, -4885, -4885, -4885, 76679, -4885, 76679, -4885, 76679, -4885,
1998    76679, -4885, 76679, -4885, -4885, -4885, 76679, -4885, 76679,  1902,
1999    -4885, -4885,  1906,  1489, 76679, 76679,   866, 61209, 76679,  3311,
2000    61209, 61209, 76679, 76679, 76679, 76679, 76679,  3180,  2720,  1665,
2001    -4885,   847,   870, 70764,  3319, -4885, -4885,  1910,  2081,   583,
2002    76679,  1217,  1938, -4885, -4885, 67124, 66214,  3415,   352, 76679,
2003    -4885, -4885,  5560, 30011,  1735, 27651, -4885, -4885, 12966,  3160,
2004    30011, 30011,  3128,  2268,  2268, -4885,   427, 30011, 30011, 30011,
2005     2268,  2268, 12893, 30011, 47130, 30011, 35203, 23962, 30011, 30011,
2006    27179, -4885, 30011,  3341, 36607, 30011,   367,  3349, 30011,   367,
2007    12893,  3590,  3590,  1943,  4712,  3129,  1735, -4885,  2268,   268,
2008    -4885,   336, 99786, 30011, 30011, 30011, 30011, 53474,  3210,   238,
2009    76679, 30011,  3137,  2046, -4885, 30011, -4885,  3145, 30011,  3214,
2010      887, 30011, 30011, 30011, 30011, 30011, 30011, 30011, 30011, 30011,
2011    -4885, 37978,   467,  3449,  3473,    33,   618, 74404, 28123,  3465,
2012    23016, -4885,   261,  3465, -4885, -4885, -4885, 76679,  3158, -4885,
2013    -4885,  3243, -4885, -4885, -4885, -4885, -4885,   299, -4885, -4885,
2014    -4885, -4885, -4885, -4885, -4885,  3151, -4885, -4885, -4885, -4885,
2015     3151, -4885,  3163,  3453,  3455,   272, 76679,   415,  2393, -4885,
2016    30011, -4885,  1922,  3169, 76679,  2263, 76679, -4885,  3437, -4885,
2017     3167, -4885, 11095,  3437, -4885, -4885, 35669,  3290,  3445,  3400,
2018    -4885, -4885, -4885,  3193, 12966, 30955, 30955, -4885,  2102, 12966,
2019     2169, -4885, -4885, -4885, -4885, -4885, -4885,  1301, -4885, 76679,
2020      129,  3050,  1584,  3254,  1383,  3638, 76679, -4885, 43008,  1930,
2021    57114, 76679, 76679,  3396, -4885,  3622, -4885,100668, -4885,  3202,
2022    -4885,100227, 96244, -4885, -4885,   968, -4885,  1002, 57114, -4885,
2023    76679, 76679, -4885, 53474, 57114, 76679, 76679, -4885, 57114, 76679,
2024    76679, -4885, -4885, -4885, -4885, -4885, 52109,   775, 66214,  3335,
2025    65304, -4885, -4885,  3207, 76679,  3264,  3472,  3475,  1352, -4885,
2026    -4885, 92604, -4885,  3427, 57114, 76679, 76679, 30011,  3430, 76679,
2027    76679, -4885,   881,  3295,  3296, -4885, 76679,  3298,  3456, 61209,
2028     3222, 76679, 76679, 99786,  3300,   990, 61209,  3267, 47586, 61209,
2029    61209, 76679, 76679, 76679, 76679,  3352,  3543, 99786, 76679,  3498,
2030     1368, 70764,   214,  2600,  2851,  3457, -4885,  3566,   859, -4885,
2031    57114, -4885, 76679,  3446, -4885, -4885, -4885, 74859,  3675,  3354,
2032    -4885, -4885, 93059, -4885, -4885, -4885,  1934, -4885, 57114, 57114,
2033    76679,  8042, 93514,  1502,  3469, -4885, -4885, 99786, -4885, 76679,
2034    75314, 76679, 76679,  3573,  3501, 76679, 68034, 93969, 94424,  1387,
2035     1435,  3502, 76679, 68489,  3505, -4885,  3391, 76679, -4885, -4885,
2036    53929, 57114, 76679,   869, 53474, -4885, -4885, 76679, -4885,  3464,
2037      280, -4885, 76679,  8759, -4885, -4885,  3339,  3346, 76679,  3466,
2038      235,  2713,  2851, 76679, 76679,  3259,  1935, 57114, 76679, 53474,
2039    -4885,  3474,   979,  3593, 57114, 76679, 74859, -4885, 70764, 70764,
2040    57114, 76679, 70764, -4885, 76679, 85324, -4885, 57114,   930, -4885,
2041     3594, 57114, 76679, 74859, -4885,  3421, 57114, 76679, 15305, -4885,
2042    -4885, -4885,   314, -4885, -4885, -4885, -4885, -4885, 76679, 76679,
2043      314, 76679, 76679,   314,  1290, -4885, 57114, 76679, -4885, -4885,
2044    -4885, 57114, 76679, 76679, -4885, 57114,  3064, 76679, 53474, -4885,
2045    76679,  7039, 76679, 76679, 76679, 76679, 76679, 76679, 57114, 76679,
2046    -4885, -4885,  1326,  1355,  1263,  1292,   806, 76679,  3557, 76679,
2047    94879, 57114, 76679, 76679,  1044, 76679,  1406, -4885, -4885,  3392,
2048    -4885, 57114,   930, -4885,  8255, 76679, 76679,  3366,  3373,   243,
2049     3435, -4885, -4885, -4885,   667,   667,  3495, -4885, 30011, 30011,
2050    29067,  3272, -4885, -4885, 30011, -4885, -4885, -4885,   946,  3736,
2051    95334,   946, -4885,   946,  3565,  3355,  3359,   946, 76679,   946,
2052      946, 76679, -4885, -4885, -4885, -4885,  3560, 76679,   946,   946,
2053      946,  3471,  3509,   164,  3588,  3317,  1942, -4885, -4885, 30011,
2054    99786, 76679, -4885,  1947, -4885,  3318,  1015, -4885, -4885, 53474,
2055    76679,   761,   734,  3636,  3519, 64394,  1255,  3627, 76679,  3362,
2056    76679,  3752,  3409, 70764,  2531, -4885,  1255, 76679, -4885,  1878,
2057    66214, -4885, -4885, -4885, -4885, -4885, -4885, -4885, 76679, -4885,
2058    -4885,  3628, 76679, 30011,  3487, -4885,  1044,  2531,  2531,  2531,
2059     2531, -4885, -4885, -4885, -4885,  3532,  1839, -4885,  3323,  2531,
2060    76679,  3448,  3662,  1255,  3336,  3663, -4885,  2820,  3665,  1214,
2061    76679,  3548, 64394,  2159,  3377,  3561,  3782,  1820,  1044,  3569,
2062     3549, -4885, 26265,  3035,  6424,  3550,  3609, 60299,  3647,  3648,
2063     3669, -4885,   184, -4885,  3793, -4885, 30011,  1953,  3356,   194,
2064    -4885, -4885,  3363,  3067,  3379,  3383,  3368,  3372, -4885,  2268,
2065      223,  3375,   852,   154,  3494,  2268,  3605,  3376, -4885,   323,
2066    -4885,  2586, -4885, 76679, -4885, 76679, 76679, 76679, 76679,   331,
2067    -4885, -4885,   323,  2586,   323,   272, -4885,  3634,   194,  2586,
2068     3504,  3696, 60299, -4885,   368, -4885,   437, -4885,  3586,   272,
2069    -4885,  3604,  1820, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
2070    -4885,  1968, -4885, 76679, -4885,  3673,  3676,  3677,  3678,  3679,
2071     3384,  3389,  3429, 76679,  3393,  3384,   314,  3393,  3393,  3384,
2072     2720,  2720,  3384,  3389, 56659,  3849,  3703, -4885,  3490,  3412,
2073     3724,   195, -4885,   221,   759,  3649, -4885, -4885, -4885, -4885,
2074    99786, -4885, 57114,  3452, 76679, 76679, -4885,   379,  3621,  3414,
2075    56659,  3842,   272, -4885, 61209, -4885, -4885, 99786,  3496,  3514,
2076    61209,  3637,  3476, 61209, -4885, -4885, 61209, -4885, -4885, -4885,
2077    -4885, -4885, 99786, -4885,  3684, 76679, 76679,  1978, -4885, -4885,
2078     1661, -4885,  1688, 30011,   454, -4885, 11328,  1987, 30011,  3428,
2079     3433, -4885, -4885, -4885, -4885, -4885, -4885, -4885,  3434,  3739,
2080    -4885,  1988,  2002,  2003,  3436,  3438,  3198,  3440, 11956,  3441,
2081     3431, 35203, 35203, 26707,  2352, -4885, 35203,  3442,  3623,  2007,
2082    11155,  3432,  3444, 12022, 29539, 30011, 29539, 29539, 12284,  3432,
2083     3450,  2009, 53474,  3630, 12425,  2013, -4885, 30011, 53474,  4663,
2084    30011, -4885, 30011,  3454, -4885, -4885,  2566,  2566,  2566, 12893,
2085    -4885,  3477, -4885, 35203, 35203, -4885,  1227, 26707, -4885, -4885,
2086     3749, -4885, -4885,  1499, -4885,  3447, -4885, -4885,  2439, 47130,
2087     3805, 30011,   256, 30011,  3137, 30011,  3529,  2566,  2566,  2566,
2088      359,   359,   231,   231,   231,   416,   618, -4885, -4885, -4885,
2089     3458,  3462,  3463,  3650,  3468, 30011, -4885,  2221,  2292, 76679,
2090     2960,  3564,  4093, -4885, -4885, -4885, 38893,  3506,    86,  3506,
2091    -4885,  1305,  2268,   268, 51654, -4885, -4885, -4885, -4885, -4885,
2092    -4885, -4885, 76679, 12966, -4885,  2081, -4885, -4885, -4885, 30011,
2093    -4885, -4885,  3413,  3479,    82,  3658,  2186,  2186,  2102,  3661,
2094    -4885, -4885,  3523, -4885, 30011,  2185, -4885,  2191, -4885, -4885,
2095    -4885, -4885,  2720, -4885,  3708, -4885, -4885, -4885, 38893,  3510,
2096     3521,    60, 42093,  3674, -4885, 76679, -4885, 76679,   380, -4885,
2097     3483, -4885, -4885, -4885, -4885, -4885, -4885, 96244,  1787, -4885,
2098   100227, -4885,100227, -4885,  1787,  3895, -4885, 96244,  1769, -4885,
2099    -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
2100    -4885, -4885, 57114, 57114,  3680, 76679,  3681,  3682, 30011,   424,
2101    76679,  3478,  3481,  1598,  3759, 76679, -4885,  3811,   272, -4885,
2102    -4885,  3570, -4885, 12966, -4885, -4885, -4885, -4885, -4885, 57114,
2103    76679, -4885, 60299, -4885, 76679, -4885, 99786, -4885, -4885, -4885,
2104    76679,  3518, 76679, -4885, 76679, 76679, 76679, -4885, -4885, -4885,
2105    -4885, -4885, -4885, -4885,  1108, 99786, -4885, -4885, 76679, 76679,
2106      771,  3571,  3574, 76679, -4885,  1392,  3127,  8333, 76679, 76679,
2107    76679,  3765, 76679, -4885, -4885, -4885, -4885,  3709, -4885, -4885,
2108    96244, -4885,  2586,  1126,  3577,  2851,  3719, -4885,  3829,  3704,
2109    -4885,  3624,  1034, -4885, -4885, 76679,  3635, -4885, -4885, -4885,
2110    -4885,  3836,   272,  3838,   272, 76679, 76679, 76679, 76679,  3640,
2111    -4885, -4885, -4885, -4885,  3641,  3763, -4885, 53474, 53474, 53474,
2112     2015, -4885, -4885,  1044, -4885, -4885, -4885, -4885, -4885, -4885,
2113     3800, -4885,  2021, -4885,   -22, -4885, -4885, -4885, -4885, -4885,
2114    -4885, 57114, 76679,  8741,  3845, 76679, 76679, 76679,  1803, -4885,
2115     1113, 99786, -4885, 98022, -4885, -4885,  2035, -4885,  3531, 76679,
2116     3600, 57114,  3579, 76679, -4885, -4885, -4885,  3524,  3524, -4885,
2117    -4885,  3524, -4885, -4885, -4885,  3774,  3713, -4885,   986,  3714,
2118    57114,  3591, -4885, 76679, -4885, -4885, -4885,  3614, -4885, -4885,
2119     3615,  2757,  2851,  2820, -4885, -4885, -4885, -4885, -4885, -4885,
2120    -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,  1692,
2121    -4885, -4885,  1180,   445,  2930,  2851, -4885,  1361, -4885,  3616,
2122    -4885,  3617, -4885, -4885, -4885,  3778,  3781,  3783,  3625,  3626,
2123     3683,  3629,  3632,  3685, -4885,  3639,  3687,  3643,  3688,  3748,
2124     3651,   272, 99786,  3768,  1044,  3667,  3873,   272, -4885,  3654,
2125    -4885,  3655, -4885,  3983, -4885, 76679, -4885,  3656,  3183,  2851,
2126    -4885, -4885, 57114, 76679, -4885, -4885, -4885, 30011,  3558,  3567,
2127     3568, 12966, 12966, 30011, -4885, -4885, 12966,  3559, -4885, -4885,
2128    -4885, 99786, 76679,  3826, -4885, -4885,   946, 76679, 76679, -4885,
2129     3835, -4885, -4885,  3843, 76679,  3844, -4885, -4885, -4885, -4885,
2130      260, -4885, -4885, -4885,  3471,  3881, 44382, -4885,  4054,  5535,
2131     3583,   453, -4885, 53474, 44382,  1984,  2355,   814,  1649, -4885,
2132    60299, 76679, 60299, -4885,   734,  3704, 76679, 76679, 76679,  3585,
2133     3587, -4885, -4885, -4885, -4885, 57114,   955, 57114,  2268, -4885,
2134    -4885,  3664, -4885, 76679,  1820,  4060,  3908, -4885,  3524, -4885,
2135     4027,  2969,   328,  3746,  1700,  2612,  3969,  2201,   399, 53474,
2136     3377, -4885, -4885, -4885, -4885, 76679, 76679,  1015,  1044, -4885,
2137     3602,  3597, -4885, 76679,  3925, 76679, 76679, 76679, 76679,  3452,
2138     3610, 76679,  3620, 99786,    61,  3818,  3820,  2844,  4061,  3951,
2139     2081,  3377,  3705,  3955, 70764, -4885,  2057,   193, -4885,  1044,
2140    60299, 97140,  3946, -4885,  6424, -4885, -4885,  6424,   933, 76679,
2141     3930, -4885, -4885,  2081, -4885, 99786,  2062, -4885, -4885, -4885,
2142     2268, -4885, -4885,  1439,  1439,  3633, -4885,  3642, -4885, -4885,
2143    -4885, -4885, -4885, -4885, -4885,  3644, -4885, -4885, -4885,   368,
2144     3689,   272,  3691,   272, -4885, -4885, -4885, -4885, 76679, -4885,
2145    76679, 56204,   272, -4885, -4885, 76679, -4885,  3964, -4885, -4885,
2146     3769,  3770,  3771,  3773,  3775, 76679,  3384, -4885,  3653, 57114,
2147     1701, -4885, -4885,  3839, -4885, -4885, 70764,  3764, -4885, -4885,
2148    -4885, -4885,  3976,  3977, -4885, -4885, -4885,   825, -4885, -4885,
2149    -4885, 57114, 66669,   483, 57114, -4885,  3913,  3917, -4885, -4885,
2150     3919,   314, -4885,  3920,  3923,  3924, -4885,  3927,  3929, -4885,
2151    -4885, -4885,  3668, 12557, 30011, -4885,  4004, 99786, -4885,  6460,
2152    -4885, -4885, -4885, 30011, -4885, -4885, -4885, -4885, -4885, 30011,
2153    -4885, 30011,  3980, -4885, 24435,  4133,  4133,  3672, 99786, 35203,
2154    35203, 35203, 35203,  1702,  2673, 35203, 35203, 35203, 35203, 35203,
2155    35203, 35203, 35203, 35203, 36141,   498, -4885,  3864, 30011, 30011,
2156     3988,  3980, -4885, 99786,  3690,  3432,  3692,  3693, 30011, -4885,
2157    -4885,  2074, 37064,  3695, 53474, -4885, 30011, 11622,  2085,  3718,
2158    12693,  1735,  7195,  1044, 30011,  2504,  2614, 30011,  2091, 30011,
2159     3989, -4885, -4885, -4885,  3686, -4885, -4885, 99786, 30011,  3697,
2160     3148, 35203, 35203,  3821, -4885,  4153, 30011, 26707, -4885,  3495,
2161     3717, 43465, -4885, 24908,  3698,   682,   682,   682,   682, -4885,
2162    76679, 76679, 76679, 39350,  3990,  3699, 38435, 75769,  3701,  1729,
2163    -4885, 75769, 76224, 75769, -4885,  3702, -4885,  1735, 30011,  3984,
2164     3700,  3984,   344,  3710, -4885, -4885, -4885,  3711, -4885,  3706,
2165    -4885,  3479,  1441, -4885, -4885, -4885,  3888, -4885, -4885, -4885,
2166    -4885,  3701, 31427,  3841, -4885, -4885, -4885,  3751,  2097, -4885,
2167    -4885,  4077,  3841, -4885, -4885,  2098, 43008,  3510, 30011,  1735,
2168     2111,  1835, -4885, -4885, 96244, -4885,  3785,  2586,  2586,  1558,
2169     3384,  4025,  1558,  7214, -4885, -4885, 39807, 76679, 76679, -4885,
2170    76679,  2112,  1760, 76679, -4885, 76679, -4885, -4885, -4885, -4885,
2171     4152, -4885, 76679, -4885, -4885,  3776,  3779, 76679, 76679, 76679,
2172    76679,  3986, -4885, -4885,  2242, -4885, -4885, 57114, 76679, -4885,
2173    -4885, -4885,   250,  3209,  2851, -4885,  3796, -4885, -4885, -4885,
2174     3999, -4885,  4146,  3816, 76679,  4057, 76679,  3730, -4885,  1760,
2175     3833,  4039,  1360,  2844,   382,  4862, -4885,  1378, -4885, -4885,
2176     3802, -4885, -4885, 76679, -4885, 76679, -4885, -4885, -4885, -4885,
2177    -4885, -4885, -4885,  3862, -4885, -4885, -4885, -4885, 53929, -4885,
2178    -4885, 76679, -4885, 53474, 44382, 53474, -4885,  1195,   337,  3255,
2179     2851, 76679, -4885,  3817, -4885,  3822,  3823,  3870,  1115,   239,
2180     3825,  3831,  3872,  3741,  3753,  3754, -4885, 53474, 44850,  3898,
2181    76679,  2586,  3750,  3790, -4885,   326,  1044, -4885, -4885,  1044,
2182     2586,  1044, -4885, 76679, 76679, 76679, 53474, -4885,  4177,  3846,
2183    76679, 76679, 76679, 76679, -4885,  3812, -4885, 76679, 76679,  4079,
2184      985,  2027, 57114, 76679, 76679, 57114, 76679, 76679, 76679, 76679,
2185    76679, 76679,  4087, 76679, -4885,  4166,  4094,  1986,  4134,  3837,
2186    76679, -4885, 76679,  1044,  3127, 76679, 76679, -4885, -4885, -4885,
2187    -4885, -4885,  3495, -4885,  3766,  4034,   946, -4885,  4035,  4038,
2188      946,   946,  4040,   946, -4885, -4885,  1649, -4885,   260, 76679,
2189    -4885,  3706,   439,  2019, -4885, -4885, -4885, -4885, -4885, -4885,
2190     3317, -4885, -4885,  2299, 76679, -4885, -4885, -4885, 76679,  3780,
2191    76679, 76679, 35203, -4885,  1690,  1369,   278, -4885,  4037, 76679,
2192     3064, -4885, -4885, -4885,   219, 76679, -4885, -4885, -4885, -4885,
2193    -4885,    67,  3610, -4885,  4059, 64394,  2586, 57114, 57114,  2586,
2194    -4885, 99786,  3786,  3377, -4885,   232,  3860, 57114,   328,  1272,
2195    95789,  3079,  3840,  3992, 38893,  1692, -4885,  3798,  3941, -4885,
2196     3789,  3804, -4885, -4885, 76679,  3704, 56204,  2113,  2820,  4243,
2197     1149,  1813, -4885, 65759,  3995,  3610,  4059, -4885, -4885, -4885,
2198     4207,  3907, -4885,  2081, 76679,  3452,  3907,  1044, 76679,  3264,
2199    -4885, 96244, 30011, 30011, -4885,  3819, -4885,  3832,  6424, -4885,
2200     3889,  3827, -4885, -4885, -4885, -4885, -4885,  3901,  3834, 76679,
2201    -4885,  3824, -4885,  3830, -4885, -4885, -4885, -4885, -4885, -4885,
2202    76679, -4885, 76679, -4885,   272, -4885,  3947, -4885,   272, 76679,
2203    76679, 76679, 76679, 76679, 76679,  3384,   314, -4885,  4138, 56659,
2204    -4885, -4885,  2117, 76679, -4885, -4885, -4885,  4204,   352,  4147,
2205    -4885, -4885,  1070,  1070,  1070,  4102,  1070,  1070,  1070,  1070,
2206     1070, -4885, 30011, 12966, -4885,  3847, -4885, 12966,  7353, 12966,
2207     3988, -4885,  2157, 30011, -4885,  3297,  3297,  3297,  3287,  4149,
2208    -4885,  1639,  3850,  3297,  3297,  3297,   398,   398,   246,   246,
2209      246,  4133,   498, 12966, 12966, -4885, -4885,  3848, -4885, -4885,
2210    -4885,  3432, -4885, 31899,  3997,  4261, -4885, -4885, -4885,  3880,
2211     3882,  3851, -4885, 30011, 32371,  3853,100668,  4046, -4885,   390,
2212    30011, 30011,  1925, -4885, 13328, 30011, 99786,  2158,  1925,   479,
2213    30011,  2712,  3122, 30011, 30011,  4361,  7720,  3854, 30011, 96685,
2214    -4885, -4885, -4885,  2166, 30011, 76679, 76679, 76679, 76679, -4885,
2215    -4885, -4885, 75769, 76224, 75769,  3858, 37521, 25366,  1729,  3859,
2216    76679, -4885, -4885,  3863, 38893,  4104,  4042, -4885, 38893,  4042,
2217     1869,  4042,  4116,  3948, 43922, -4885, -4885,  3865, -4885,  4062,
2218    -4885,  1809, 12966,  4283,  4167,  1044,  4167,  1044, -4885, 47130,
2219    -4885, -4885, -4885, -4885,  4080, 12966, 28123, -4885,  2081,  2119,
2220    76679,  1735,    74, -4885,  3883, 76679, -4885,  3841, 12966, -4885,
2221     3940,  2167, -4885, -4885, -4885, -4885, -4885, -4885, -4885,  3953,
2222    66214,  4186, -4885, 30011,  2172, -4885,  3914,  4278,   377,  2173,
2223     2174,  1760, -4885,  4164, -4885,  1547,  4161,   472, -4885,   272,
2224    -4885, 99786, -4885, 76679, 76679, -4885, -4885, -4885, -4885, 76679,
2225     2763, -4885, -4885, 76679, 76679, 76679, 76679, -4885, 57114, 76679,
2226    -4885, 76679, -4885, 53474,  2355,   326,  1690,  4174,  4098, -4885,
2227      314, -4885,  1690,  4101,   326, 76679, -4885, -4885,  2589, -4885,
2228    99786,   272,   272, -4885, -4885, -4885, -4885, -4885,  3900,  4305,
2229     3975, 76679, 76679, 76679, -4885, 76679, 57114, 76679, 76679,  2268,
2230     2268, 99786,  3886, -4885,  2268,  2268,  3887, -4885, 57114, 76679,
2231    76679, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
2232    -4885, -4885,  3971, -4885, 30011,  4301, -4885, -4885, -4885, -4885,
2233    -4885, -4885, -4885, -4885, -4885, 57114, 76679,  3978, -4885,  3979,
2234    -4885,   145, -4885, -4885, 76679, 76679, 76679, 76679,  4229, -4885,
2235    -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, 76679,
2236    -4885, 76679, -4885, -4885,  1044,  1044, 99786,   272,   272, -4885,
2237    -4885, -4885, -4885,  3904,  4171,   946, -4885,   946,   946, -4885,
2238    -4885,   946, -4885,  3902,   481, -4885,  1760,  1481,  4216, -4885,
2239     4219, 30011, -4885,  1597,  3287, -4885,  4271,  4352, -4885, -4885,
2240    -4885, -4885,  3064,  1820,  3970, -4885, -4885, 61209,   346, -4885,
2241     4202,   761,  4126, 64394,  1361,   292,  3921,  4043, -4885,  2586,
2242     2586,  3973, 76679,  4358, -4885, -4885, -4885, -4885, -4885, -4885,
2243    57114,  3579, -4885,  4143,  1152,  4242, 76679, 30011,  3701, -4885,
2244     1640,  4245, -4885,  1044, -4885, -4885,  4051,  3377, -4885,  1704,
2245    76679,  4142, 64394,  3452,  2179, -4885, -4885, -4885,  3981,  4354,
2246     2159, -4885,  1361,  3995,   251, 76679, -4885,  3982,  4375, -4885,
2247    -4885,  4249,  4144,  3943, -4885, 12966, 12966,  1044,101109,  6424,
2248    99786,  4256, 76679,   173,  4225,   272, -4885,   272,   272, -4885,
2249    76679, -4885,  3384,  3384,  3384,  3384,  3384, -4885,  4150, -4885,
2250    -4885,  4208, -4885,   272, 56659, -4885, -4885, -4885, -4885, -4885,
2251     1070, -4885, -4885, -4885, -4885, -4885, 12966, -4885, -4885, -4885,
2252    -4885,  8016, 35203,  4262, -4885,  3957, 99786, -4885,  3958,  2180,
2253     2192, 36607,  4111, -4885, -4885, -4885,  8036,  4006, 12966,  4065,
2254     3960,  3961,  1925,  1925, 13328,  2196, -4885,  1925, 30011, 30011,
2255     1925,  1925, 30011, -4885, -4885,  8099,  4151, -4885, -4885,  8664,
2256    -4885, -4885, -4885, -4885, -4885, -4885, -4885, 54384,  3967,  3630,
2257    75769,  3968, 76679,  1729, 38893, -4885, -4885,   984, -4885, 38893,
2258     4226, -4885, 38893, 61209, -4885, 76679,  3972, 76679, -4885, 32843,
2259    30011,  4007, -4885,  4007, -4885,  3974, 76679,  2719, -4885,    60,
2260    -4885, -4885,  4366, 39807,  4318, 30011, -4885, -4885, -4885, -4885,
2261    56659,  4183, 56659,  1760,  8763,  4164, 39807, 48042, 76679, 76679,
2262    76679,  4136,  4164,  3994,  3064, -4885, -4885, -4885, -4885, -4885,
2263    -4885,  3985, -4885, -4885, -4885, -4885,  4063, -4885, -4885,   813,
2264     3319, -4885,  2198, -4885, -4885,  4419,  4311, -4885, -4885, -4885,
2265    -4885, -4885, -4885,  4166, -4885, -4885, 44382, 57114, 76679, -4885,
2266     4067, -4885, -4885, -4885, -4885, -4885, 41636, 47130, -4885,  1115,
2267     3996,  3998,   239, -4885, -4885, -4885, 76679,  9410,  4000,   826,
2268     3319, 76679, 76679,  4005,  4010,  4011,  1684,    39,  1777,  3384,
2269     4306, -4885, -4885, -4885, -4885,  4166, -4885, -4885, -4885,   946,
2270    -4885, -4885, -4885, -4885, 53474, -4885,  3109, -4885,  1649,  4344,
2271    61209,  4431,  4431, 76679, -4885,  9781,  4210, -4885, -4885,  4291,
2272     3970,  4237,  4287, -4885,  4013, 76679,   219,  4014, 76679,  4016,
2273     4127,  1031,  1031, 76679, 76679, 76679,  2211,  2081,  2586,  3790,
2274      328,  4335, 64394,  4384,  3704,   429, -4885, -4885,  1640, -4885,
2275       81,  4360,  4064, -4885, 76679,  4459, 76679,  3452,  3610, 76679,
2276     4021, -4885, -4885, 65759,  4232,  2355,101550,  3820,  3995,  2159,
2277     4158, -4885,  4159, -4885,  1047, -4885,  2081, 76679, 70764, 39807,
2278    -4885,100227, -4885,  2217, -4885, -4885,  4097,  3506,  4139,  4140,
2279     4036, 76679,   106, -4885, -4885, -4885, -4885, -4885, 76679, -4885,
2280      483, -4885, -4885,  3337, 35203, 99786,  2230, 30011, -4885, 30011,
2281    -4885,  4456, -4885, -4885, -4885,   107, -4885, -4885, -4885,  1925,
2282     1925,  1925, -4885,  4457,  3495, -4885, -4885,  2237,  4480, 34259,
2283     4443, -4885, 76679,  2241, -4885, 30011,  4048, -4885, -4885, 38893,
2284      984,  4052,  2255, 76679,  2256, 99786,  4058,    28,  4066, 23489,
2285     4047, -4885, -4885, -4885, -4885, -4885, 12966, 12966, 76679, -4885,
2286    -4885, -4885, -4885,  4105, 76679,  2262, -4885,   105, 12966,  1701,
2287     1558,   483,  4278,  3064, -4885,  4068, -4885, -4885, -4885,   917,
2288      917, 76679,  3064, 76679,  3970, -4885, 76679,  4148, -4885, -4885,
2289    53474,  4340, -4885,  4115, -4885,   945,  3319, 76679, 99786, -4885,
2290      128,  4378, -4885, 99786, 99786, -4885, -4885, -4885, 30011,  4155,
2291    -4885, -4885, -4885,   312,   329, 63484, -4885, -4885, 76679, 76679,
2292    76679, 76679, 76679,   272, -4885,  2276, -4885, 40721, -4885, -4885,
2293     2933,  1044,  2933,  1422, -4885, -4885,  2933, -4885,  2933, -4885,
2294     3902,  1044,  4431,   936, -4885, -4885, -4885,  2017,  4292,  4072,
2295    -4885,   895,  4286,  4170,  4083, -4885, 61209,  4542,  3610,  4059,
2296    76679, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
2297    -4885,  2287,  3704,  4407,  3377,  3982, -4885, 76679,  4119, -4885,
2298    38893, -4885, -4885, -4885,  2933, -4885,  1440,  4089,  4421,  3704,
2299     2081,  1813, -4885,  3995,  3610,  4059, -4885, -4885, -4885,  4090,
2300    -4885,  3907,  2159,  3820, -4885, -4885,  4501,  4303,  4507,  3452,
2301    -4885,  3264,  2289, -4885,  6424,101109, 99786,  4449,  4156,  4157,
2302    -4885, -4885,  4162, 76679, -4885, -4885,  3704, -4885,  3337,  2294,
2303    -4885,  2295,  2302,  4267,  4154, -4885, 30011,   944,  3702, 54384,
2304     4112, -4885, 35203,  2303, -4885,  3241, 76679,  2320, -4885, 12966,
2305    76679, -4885, -4885, 30011, -4885,  2326, -4885, 30011,  4113, 30011,
2306    -4885, 32843,  4110, -4885,  4554,  2081, -4885,  3506, 39807, -4885,
2307     4234, -4885,  4429, -4885, 76679,  3970, 47130,  3479,  3479,  1820,
2308     3970,  2333, -4885, -4885, 76679, -4885,  4072, 30011, -4885,  4211,
2309    -4885, -4885,  2350,  1275,  4282,  4282,  2357,  2361,  9884, 76679,
2310    -4885, -4885, -4885, -4885, -4885, -4885,  2367, -4885, -4885, -4885,
2311    -4885,  2368, -4885,  2372,  2268,  3389,  1777,  3389, -4885,  3384,
2312    -4885, -4885, 53474, -4885, 54839, -4885, -4885, -4885,  1044, -4885,
2313     1044,  4343, 76679, 49407,  1044,  1044, -4885, -4885, -4885, -4885,
2314    -4885,  4472,  4412, -4885,  2820, -4885, -4885, -4885, -4885,   487,
2315    -4885,  4338,  4339, 76679, -4885,  4135, -4885,  2373,  1361,  4257,
2316     3704, -4885, -4885, 76679,  4577,  4578, -4885,  1268, 76679,  3701,
2317    76679, -4885, -4885, -4885, 30011,   219, -4885,  3982,  3452,  2159,
2318     1361,  3995,  2355, 40264, -4885,  3820,  3907,  4342, -4885,  4345,
2319    -4885,  4160,  4428,  6424, -4885, -4885,   330,  4460,  4461, -4885,
2320    -4885, -4885, -4885, -4885, -4885, -4885, -4885,  3432, 33315, 33315,
2321    33315,  4173, -4885, -4885, 76679,  3287,  4163, 34259, 53474,  2379,
2322    -4885, 98463, -4885,  2383,  2392, -4885,  2413, 32843,  2425, -4885,
2323    76679,  4165, -4885, -4885, -4885, 43008, 56659,   917,  4190,  4175,
2324    -4885, -4885,  4237, -4885, -4885,  1760,  3319, -4885, 12966, 76679,
2325    61209,  4575, -4885, -4885, -4885, -4885, -4885, -4885, -4885,  3319,
2326     4235,   312, -4885,   329, -4885, 63484, -4885, 76679, -4885, -4885,
2327     2436, -4885, -4885, -4885, 76679,  3798, -4885,  3798, -4885, -4885,
2328     4290, -4885,   987,   874,   874,  4514, -4885,  4217, -4885, -4885,
2329     4176, -4885,  4630,  4289, 76679, -4885, -4885,  1115,  2081, 64394,
2330     3704, -4885, -4885,  9963, 61209, -4885, -4885,  3820,  3995,  2159,
2331    30011,  2438, -4885,  4278,   377,  3907, -4885, -4885, -4885, 39807,
2332     4172,  3377, -4885, -4885,  2978, 61209, 61209, 34731,  4297,  1010,
2333    11808,  4503, -4885,  4503,  4503, -4885,  2444, 36607, -4885, -4885,
2334    -4885, 76679,  4373,  1134, -4885,  4329, -4885,  2453, -4885, -4885,
2335    -4885,  1391,   483,  3479,  4180, -4885, -4885,  4286,  1760, -4885,
2336     3319, -4885, 76679, -4885,  4184, -4885, -4885, -4885, -4885, -4885,
2337    54839,  3798,  4064, -4885, -4885,  4636, -4885,  1138, -4885, -4885,
2338    -4885, -4885, 76679,  3704,  3886,  3982, -4885, -4885,  4187,  3907,
2339     2159,  3820, 10457, -4885, 40264, 76679, 76679, -4885,  2457, 39807,
2340     3907, -4885,  2628, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
2341     4182,  4185,  4632, -4885, -4885, -4885, -4885, -4885,  1123, -4885,
2342    -4885, -4885, -4885,  3630, -4885, -4885, 35203, 35203,  4409, -4885,
2343     1134, -4885,  4196, -4885, -4885, -4885, -4885, -4885, 30011,  1760,
2344    -4885, -4885, -4885,   312, -4885,  4527, -4885, -4885, -4885,  3704,
2345    -4885, -4885, 53019, -4885,  3820,  3907,  4278, -4885, -4885, -4885,
2346     4428, -4885,  2458,  3506,  2142, -4885, -4885,  2335,  2184,  4288,
2347     4510, 33787,  4347, -4885,  4400, -4885,  4606,  3287,  3287, -4885,
2348    -4885, 30011, 10550,  1760,  2470,   219, -4885, -4885,  2475, -4885,
2349    -4885, -4885, -4885,  3907, -4885, 76679,  3377, -4885, 39807, -4885,
2350    -4885,  2628,  4315,  4317, -4885, -4885, -4885, 76679, 10920, -4885,
2351    -4885, 61209, -4885, 53019, -4885, -4885,  3907, -4885, -4885,  4251,
2352     4252,  2476, -4885,  4220, -4885,  3506,  4525,  4526, -4885, 53019,
2353    -4885, 61209, 61209,  2477, -4885, -4885, -4885
2354 };
2355 
2356   /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
2357      Performed when YYTABLE does not specify something else to do.  Zero
2358      means the default is an error.  */
2359 static const yytype_uint16 yydefact[] =
2360 {
2361     1672,  1447,   632,  1533,  1532,  1447,     0,   255,     0,  1537,
2362        0,  1447,   426,  1125,     0,     0,     0,     0,   632,  1447,
2363        0,  1672,     0,     0,     0,     0,     0,  1685,     0,     0,
2364        0,     0,     0,     0,     0,     0,     0,  1447,     0,     0,
2365     1692,     0,     0,     0,     0,  1685,     0,  1539,     0,     0,
2366        0,     0,     0,     2,     4,    37,    72,    73,    31,    30,
2367       92,    55,    18,    63,   126,   125,   127,    42,    38,    80,
2368       26,    28,    39,    43,    65,    67,    45,    56,   104,    64,
2369       24,    62,    87,    68,    90,    50,    12,    13,    51,    14,
2370       52,    15,    53,    16,   100,    74,    93,    35,    61,    23,
2371       44,    70,    71,     5,    46,    82,    78,    11,    57,    58,
2372       60,    84,    85,    86,   109,    88,   121,    41,   118,    97,
2373       98,   115,    99,   116,     9,   101,    54,    17,   112,   111,
2374      113,    81,    47,    83,    69,    91,   110,    27,   114,    19,
2375       20,    22,    21,    59,    29,    66,    32,    89,   117,   107,
2376      103,   122,   120,   128,   105,    75,     7,     8,    94,     6,
2377       25,    49,    10,    34,    33,    48,    40,   124,    36,  1537,
2378       96,   108,    95,    76,   102,    79,   106,   123,    77,   119,
2379     1645,  1644,  1694,  1648,  1671,     0,  1660,  1446,  1445,  1431,
2380        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2381        0,     0,     0,     0,     0,     0,   631,     0,     0,     0,
2382        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2383        0,     0,     0,     0,     0,     0,  1457,  2274,  2289,  2290,
2384     2291,  2292,  2293,  2294,  2295,  2296,  2297,  2298,  2299,  2300,
2385     2301,  2302,  2303,  2304,  2629,  2305,  2306,  2307,  2579,  2580,
2386     2630,  2581,  2582,  2308,  2309,  2310,  2311,  2312,  2313,  2314,
2387     2315,  2583,  2584,  2316,  2317,  2318,  2319,  2320,  2585,  2631,
2388     2321,  2322,  2323,  2324,  2325,  2632,  2326,  2327,  2328,  2329,
2389     2330,  2331,  2332,  2333,  2334,  2633,  2335,  2336,  2337,  2634,
2390     2338,  2339,  2340,  2341,  2342,  2343,  2586,  2587,  2344,  2345,
2391     2346,  2347,  2348,  2349,  2350,  2351,  2352,  2353,  2354,  2355,
2392     2356,  2357,  2358,  2359,  2360,  2361,  2362,  2363,  2364,  2365,
2393     2366,  2367,  2368,  2369,  2370,  2588,  2371,  2372,  2373,  2589,
2394     2374,  2375,  2376,  2590,  2377,  2378,  2379,  2635,  2636,  2380,
2395     2381,  2382,  2383,  2384,  2591,  2592,  2385,  2386,  2387,  2388,
2396     2389,  2390,  2391,  2637,  2392,  2393,  2394,  2395,  2396,  2397,
2397     2398,  2399,  2400,  2401,  2402,  2403,  2638,  2593,  2404,  2405,
2398     2406,  2407,  2594,  2595,  2596,  2408,  2639,  2640,  2409,  2641,
2399     2410,  2411,  2412,  2413,  2414,  2415,  2597,  2642,  2416,  2643,
2400     2417,  2418,  2419,  2420,  2421,  2422,  2423,  2424,  2425,  2426,
2401     2427,  2428,  2429,  2430,  2431,  2432,  2433,  2434,  2435,  2598,
2402     2644,  2599,  2436,  2437,  2438,  2600,  2439,  2440,  2645,  2441,
2403     2601,  2442,  2602,  2443,  2444,  2445,  2446,  2447,  2448,  2449,
2404     2450,  2451,  2452,  2603,  2646,  2453,  2647,  2604,  2454,  2455,
2405     2456,  2457,  2458,  2459,  2460,  2461,  2462,  2463,  2464,  2605,
2406     2465,  2606,  2468,  2466,  2467,  2469,  2470,  2471,  2472,  2473,
2407     2474,  2475,  2476,  2477,  2478,  2607,  2479,  2480,  2481,  2482,
2408     2483,  2484,  2485,  2486,  2487,  2488,  2489,  2490,  2491,  2492,
2409     2493,  2494,  2495,  2496,  2648,  2497,  2498,  2499,  2500,  2501,
2410     2608,  2502,  2503,  2504,  2505,  2506,  2507,  2508,  2509,  2510,
2411     2511,  2512,  2513,  2514,  2515,  2516,  2517,  2609,  2518,  2519,
2412     2649,  2520,  2521,  2610,  2522,  2523,  2524,  2525,  2526,  2527,
2413     2528,  2529,  2530,  2531,  2532,  2533,  2534,  2611,  2535,  2536,
2414     2537,  2650,  2538,  2539,  2540,  2541,  2542,  2543,  2612,  2613,
2415     2544,  2545,  2614,  2546,  2615,  2547,  2548,  2549,  2550,  2551,
2416     2552,  2553,  2554,  2555,  2556,  2557,  2558,  2559,  2560,  2561,
2417     2562,  2563,  2616,  2617,  2564,  2651,  2565,  2566,  2567,  2568,
2418     2569,  2570,  2571,  2572,  2573,  2574,  2575,  2618,  2619,  2620,
2419     2621,  2622,  2623,  2624,  2625,  2626,  2627,  2628,  2576,  2577,
2420     2578,   130,     0,     0,  2248,  2275,  2276,  2279,  2274,   397,
2421      396,  1635,  2242,  2275,  1536,  1514,   632,     0,  1434,   425,
2422     1672,     0,     0,     0,     0,     0,     0,     0,     0,   864,
2423        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2424        0,     0,   178,     0,     0,     0,     0,   451,   450,     0,
2425        0,     0,  1093,   456,     0,     0,     0,     0,     0,   620,
2426     1584,  2466,  1582,  1636,   256,   259,   260,   257,   258,  2264,
2427        0,  1226,  1227,  1229,     0,     0,     0,  1239,   904,   905,
2428        0,     0,     0,   913,     0,     0,     0,   902,     0,     0,
2429        0,   918,     0,   915,     0,     0,   919,   916,   899,   917,
2430      906,     0,   898,     0,     0,  1239,   920,     0,     0,   900,
2431        0,     0,     0,     0,  1435,  1581,   457,  1672,     0,  1558,
2432     1559,  1560,  1537,  1549,  1561,  1554,  1556,  1555,  1557,  1553,
2433     2263,  2290,  1028,  1028,  1028,  1028,  1025,  1026,  1028,  1028,
2434     1028,  2486,     0,     0,  1007,     0,  1009,  2265,  1028,  1033,
2435      518,   518,   518,     0,  1032,  1037,   518,     0,  1428,  1466,
2436     2247,  1684,     0,  1008,  1427,  2544,  1572,     0,     0,  1254,
2437     1250,  1252,  1253,  1251,     0,     0,     0,  2504,  1439,   240,
2438     2515,  2612,  2544,   239,   234,   235,   208,  2294,     0,     0,
2439     1032,     0,  1436,  1437,   990,  1691,  1689,     0,  2229,  2314,
2440     2329,  2419,   231,  2497,  2505,  2515,  2612,  2544,  2575,   187,
2441      197,   192,     0,   249,  2515,  2612,  2544,   245,  1457,     0,
2442     1661,  1793,  2238,     0,  1430,  1429,  1538,     0,  1541,     0,
2443     2481,  1665,  1668,  1543,  1666,  1657,     0,     0,     1,  1672,
2444        0,  1548,  1688,  1688,     0,  1688,     0,  1649,  1657,  1652,
2445     1656,     0,     0,     0,     0,     0,     0,     0,   923,     0,
2446     1469,  2243,  1078,     0,     0,     0,     0,     0,     0,     0,
2447     1134,  1133,  2280,  2270,  2271,     0,  2268,  2269,  2281,  2282,
2448     2283,     0,  2391,     0,     0,     0,  2140,  2151,  2152,  2153,
2449     2318,  2374,  2148,  2149,  2150,  2142,  2143,  2144,  2145,  2146,
2450     2147,     0,     0,  1221,  2141,     0,  2391,     0,     0,     0,
2451      157,     0,   134,     0,     0,     0,  2391,     0,     0,     0,
2452        0,     0,     0,     0,  2391,     0,     0,     0,     0,     0,
2453      157,  2424,     0,   134,  2391,     0,     0,  1451,     0,     0,
2454        0,  1453,  1456,  1432,     0,  2221,     0,  2222,  2249,  1517,
2455        0,  2238,     0,     0,     0,   959,   952,     0,   960,   967,
2456        0,     0,   969,     0,     0,   953,     0,     0,     0,     0,
2457        0,   972,   973,     0,     0,   974,   954,   975,   955,   976,
2458      956,   977,     0,     0,     0,     0,   957,     0,     0,     0,
2459     1443,     0,  1574,  1576,  1575,  1573,   518,     0,     0,     0,
2460        0,  2391,     0,     0,   134,  1502,     0,  2391,   134,     0,
2461        0,   455,   454,   134,  2268,   453,   452,  2318,  2374,     0,
2462     1124,     0,  1386,   134,  2391,     0,   180,  2391,   706,  2391,
2463     1543,     0,   635,     0,     0,   819,  2424,   134,     0,     0,
2464        0,     0,     0,     0,  1096,     0,     0,     0,     0,   619,
2465      632,  1585,  1583,     0,  1230,   233,   232,  1228,   911,  2391,
2466     1166,   346,   346,     0,     0,  2391,  1488,  2277,  1868,  1897,
2467     1875,  1897,  1897,  1864,  1864,  2358,  1877,  2391,  1865,  1866,
2468     1902,     0,  1897,  1864,  1869,     0,  1867,  1905,  1905,  1892,
2469      346,   927,  1849,  1850,  1851,  1852,  1878,  1879,  1853,  1884,
2470     1885,  1889,  1854,  1919,  1864,  2278,   912,     0,   903,  2391,
2471      346,  1130,  2391,  2272,   167,     0,   901,  2318,  2374,  2391,
2472      346,  1223,     0,  2391,   346,  2391,   163,  2391,   346,  2391,
2473      346,  2391,   636,     0,     0,  2391,   346,  2391,  2424,   165,
2474        0,  2391,   346,   921,  2391,   346,  2240,  2391,     0,     0,
2475     1577,     0,  1551,  2616,  1566,     0,  1562,  1569,  1565,  1672,
2476     1028,  1027,     0,  1028,     0,  1028,     0,  1028,     0,  1028,
2477        0,     0,     0,  1028,  2266,  2267,  1010,     0,  1034,     0,
2478        0,  1041,  1040,  1039,     0,     0,     0,  1042,     0,  1797,
2479     1612,     0,  1425,  1442,     0,     0,     0,  1096,  1257,     0,
2480     1255,  1246,  1247,  1438,   238,   236,     0,     0,     0,     0,
2481        0,     0,  1444,     0,     0,     0,     0,  2251,  2253,  2254,
2482     2154,  2224,     0,  2580,  2581,  2582,  2213,     0,  2583,  2584,
2483     2585,  2631,  2050,  2037,  2046,  2051,  2038,  2040,  2047,  2586,
2484     2587,  1985,  2588,  2589,  2261,  2590,  2591,  2592,  2594,  2595,
2485     2596,  2597,  2042,  2044,  2598,  2599,     0,  2262,  2601,  2602,
2486     2448,  2604,  2605,  2607,  2608,  2048,  2610,  2611,  2612,  2613,
2487     2614,  2615,  2260,     0,  2049,  2617,  2619,  2620,  2621,  2622,
2488     2624,  2625,  2626,  2627,     0,     0,     0,  2235,     0,  2017,
2489        0,  1857,  1858,  1880,  1881,  1859,  1886,  1887,  1860,     0,
2490     2234,  1922,  2099,  2016,  2033,     0,  2022,  2023,     0,  2015,
2491     2011,  1674,  2230,     0,  2012,  2250,  2252,  2214,  1674,  2228,
2492      200,   251,     0,   252,  2236,  2515,   188,   230,   202,   229,
2493      203,   201,     0,  2316,   189,     0,     0,   190,     0,     0,
2494        0,     0,   248,   246,     0,  1433,     0,  1795,  1794,  2239,
2495      932,  1526,  1524,  1525,  1523,     0,  1520,  1522,  1540,  1537,
2496     2164,     0,  1667,     0,     0,     0,  1647,  1646,     3,  1531,
2497        0,  1529,  1545,  1547,  1527,  1543,  1686,  1687,     0,     0,
2498        0,     0,     0,     0,     0,     0,  1742,  1702,  1703,  1705,
2499     1739,  1743,  1751,     0,  1653,     0,     0,  1799,     0,     0,
2500        0,     0,     0,     0,  1165,     0,     0,     0,     0,     0,
2501      924,     0,     0,     0,  1475,     0,  1477,  1478,  1479,     0,
2502        0,  1480,  1481,  1469,   242,  1487,  1485,  1468,  1470,  1483,
2503        0,     0,     0,     0,     0,     0,     0,  1494,     0,   171,
2504      172,     0,   648,   632,     0,  2391,     0,     0,     0,     0,
2505        0,  1173,  1180,     0,     0,     0,     0,     0,     0,     0,
2506        0,  1174,  1172,  1175,   244,  1184,  1203,  1206,     0,  1132,
2507     1135,     0,     0,     0,     0,     0,  1314,     0,     0,     0,
2508        0,  1314,     0,     0,     0,     0,     0,     0,     0,     0,
2509        0,     0,     0,     0,     0,   267,   269,   280,   341,   611,
2510        0,     0,     0,   614,     0,  2391,     0,     0,     0,     0,
2511     1225,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2512     1206,     0,     0,     0,     0,     0,     0,     0,     0,   132,
2513      133,   138,     0,     0,     0,     0,     0,  1206,     0,     0,
2514        0,     0,     0,     0,   597,   610,     0,     0,     0,     0,
2515        0,   607,     0,     0,   134,   272,   587,   593,     0,     0,
2516        0,   713,   712,     0,     0,     0,     0,  1402,  1401,     0,
2517        0,     0,     0,  1492,  1491,     0,     0,     0,     0,     0,
2518     1314,     0,   261,   263,     0,     0,     0,     0,     0,     0,
2519        0,     0,     0,     0,     0,     0,     0,     0,     0,   389,
2520      390,     0,     0,     0,   138,     0,     0,     0,     0,   274,
2521        0,     0,  1452,  1449,  1450,     0,  1455,     0,     0,     0,
2522        0,  2025,     0,  2168,  1694,  2166,  1150,  2220,     0,  2284,
2523     2652,  2653,  2654,  2655,  2656,  2657,  2658,  2659,  2660,  2661,
2524     2662,  2663,  2664,  2665,  2666,  2667,  2668,  2669,  2670,  2671,
2525     2672,  2673,  2674,  2675,  2676,  2677,  2678,  2679,  2680,  2681,
2526     2682,  2683,  2684,  2685,  2686,  2687,  2688,  2689,  2690,  2691,
2527     2692,  2693,  2694,  2695,  2696,  2697,  2698,  2699,  2700,  2701,
2528     2702,  2703,  2704,  2705,  2706,  2707,  2708,  2709,  2710,  2711,
2529     2712,  2713,  2714,  2715,  2716,  2717,  2718,  2719,  2720,  2721,
2530     2722,  2723,  2724,  2725,  2726,  2727,  2728,  2217,  2216,  2245,
2531     2285,  2286,  2287,  2288,  2223,     0,  1513,     0,   966,     0,
2532        0,     0,     0,   968,     0,   961,     0,     0,   958,  2318,
2533     2374,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2534      971,     0,     0,     0,   428,     0,     0,   816,     0,     0,
2535        0,     0,     0,     0,   827,     0,  1469,  1501,     0,     0,
2536        0,   641,     0,  2391,     0,   136,   865,     0,   817,   456,
2537        0,     0,     0,  1196,  1385,   136,     0,     0,   174,     0,
2538        0,   710,     0,     0,     0,     0,     0,     0,     0,     0,
2539        0,   755,   754,     0,     0,     0,   818,     0,     0,   136,
2540        0,  2391,   590,  2391,     0,   518,   518,     0,     0,  1095,
2541     1098,     0,     0,     0,     0,     0,  1639,  1641,  1640,     0,
2542     1638,     0,   344,   345,     0,  1213,   814,  1238,     0,     0,
2543     1896,  1883,  1891,  1890,     0,  1873,  1872,  1871,     0,  1870,
2544        0,  1897,  1897,  1895,  1874,  1849,     0,     0,     0,  1901,
2545        0,  1899,     0,   894,  1845,  1841,     0,  1908,  1909,  1910,
2546     1907,  1920,  1906,     0,  1855,  1911,  1864,  1861,   914,     0,
2547        0,  1207,     0,     0,  2391,   346,  2391,     0,  2391,     0,
2548        0,     0,  1215,   346,     0,  1209,     0,     0,  1211,     0,
2549     1403,     0,   910,   908,   907,   909,     0,     0,   892,     0,
2550        0,     0,  2391,   346,     0,     0,   887,     0,     0,   889,
2551        0,     0,     0,     0,  1672,     0,   219,   220,   218,  1567,
2552      221,  1568,  1564,  1550,     0,  1018,     0,  1022,     0,  1013,
2553        0,  1019,     0,  1014,  1011,  1012,     0,  1017,     0,     0,
2554      519,   521,     0,     0,  2341,  2357,     0,  2380,  2412,  2413,
2555     2472,  2500,  2505,  2511,     0,  2538,  2549,     0,  1043,  1073,
2556     1038,   724,     0,     0,  1622,  1426,  2171,     0,  1672,     0,
2557        0,     0,     0,   237,   209,     0,     0,     0,  1075,  2504,
2558     1441,   989,   632,     0,  2013,     0,  2020,  2021,  2212,     0,
2559        0,     0,     0,     0,     0,  2019,  2179,     0,     0,     0,
2560        0,     0,  1945,     0,     0,     0,  2192,     0,  2198,     0,
2561        0,  1982,     0,     0,     0,     0,     0,     0,     0,     0,
2562     1946,  1926,  1927,  2017,  2164,     0,  2018,  2257,     0,  1919,
2563     2233,  2154,     0,  2151,  2152,  2153,     0,     0,     0,  2227,
2564        0,  2162,     0,     0,  1960,  2160,  1962,     0,     0,     0,
2565        0,  2148,  2149,  2150,  2142,  2143,  2144,  2145,  2146,  2147,
2566     2158,  1942,     0,     0,  2101,     0,  1941,     0,     0,  1755,
2567        0,  2255,  2215,  1755,   253,   254,   250,     0,     0,   205,
2568      204,     0,   223,   227,   228,   199,   226,     0,   222,   207,
2569     2090,  2089,   206,   198,   195,   193,   210,   212,   213,   196,
2570      194,   247,     0,     0,     0,   346,  1548,     0,  1535,  1752,
2571        0,  1669,     0,     0,  1548,     0,     0,  1544,  1664,  1663,
2572     1695,  1696,  1116,  1662,  1722,  1723,     0,     0,     0,     0,
2573     1748,  1746,  1713,  1706,  1712,     0,     0,  1710,     0,  1714,
2574     1922,  1741,  1651,  1700,  1701,  1704,  1650,     0,  1744,     0,
2575     1625,  1742,  1705,  1609,     0,  1587,     0,  1800,     0,     0,
2576        0,     0,     0,  1145,  1147,     0,  1146,     0,  1149,     0,
2577     1158,     0,     0,  1144,  1163,     0,  1152,  1150,     0,  1490,
2578        0,     0,   925,     0,     0,     0,     0,  1476,     0,     0,
2579     2538,   241,  1479,  1484,  1471,  1482,     0,     0,     0,     0,
2580        0,  1077,  1076,     0,     0,  1100,     0,     0,     0,  1497,
2581      507,     0,   343,     0,     0,     0,     0,     0,     0,     0,
2582        0,   812,   809,     0,     0,   808,     0,   646,     0,     0,
2583        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2584        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2585      686,     0,  1314,     0,   718,     0,  1182,     0,     0,  1181,
2586        0,  1185,     0,     0,  1183,  1178,  1179,  2505,  2515,  2544,
2587      243,  1205,     0,  1204,  1200,  1127,     0,  1128,     0,     0,
2588        0,     0,     0,  2367,  2391,   285,   305,     0,  1313,     0,
2589        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2590        0,     0,     0,     0,     0,   328,     0,     0,   331,   330,
2591        0,     0,     0,     0,     0,   335,   314,     0,   315,     0,
2592        0,   334,     0,     0,   612,   613,     0,     0,     0,     0,
2593     1314,     0,   276,     0,     0,     0,     0,     0,     0,     0,
2594     1222,     0,   741,     0,     0,     0,  2505,  1201,     0,     0,
2595        0,     0,     0,  1389,     0,     0,   160,     0,   155,   159,
2596        0,     0,     0,  2505,  1202,     0,     0,     0,     0,   595,
2597      596,   609,     0,   600,   601,   598,   602,   603,     0,     0,
2598        0,     0,     0,     0,     0,   594,     0,     0,   708,   707,
2599      711,     0,     0,     0,  1398,     0,  1196,     0,     0,  1397,
2600        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2601     1259,  1258,     0,     0,     0,     0,     0,     0,   855,     0,
2602        0,     0,     0,     0,     0,     0,     0,   162,   728,     0,
2603      727,     0,   156,   161,     0,     0,     0,     0,     0,     0,
2604        0,   217,  1448,  1454,  1694,  1694,  1694,  2031,     0,     0,
2605        0,     0,  1693,  2218,  2221,  1516,  2246,  1515,     0,     0,
2606        0,     0,   970,     0,     0,     0,     0,     0,     0,     0,
2607        0,     0,   962,   963,   964,   965,     0,     0,     0,     0,
2608        0,   403,     0,     0,     0,  2277,     0,   843,   815,     0,
2609        0,     0,   829,     0,   832,   835,     0,  1467,   475,     0,
2610        0,   638,   686,     0,     0,   459,   169,     0,     0,     0,
2611        0,   743,     0,     0,     0,  1384,   131,   178,   180,   457,
2612        0,   179,   181,   183,   184,   185,   182,   186,     0,   705,
2613      709,     0,     0,     0,     0,   634,     0,     0,     0,     0,
2614        0,   756,   760,   759,   763,   761,     0,   757,     0,     0,
2615     1820,     0,     0,   154,     0,     0,   585,   589,     0,     0,
2616        0,     0,   459,   561,   357,  2391,     0,   518,     0,  2391,
2617        0,  1097,     0,     0,     0,     0,     0,     0,     0,     0,
2618        0,  1637,   346,  1167,     0,  1489,     0,     0,     0,   346,
2619     1894,  1893,  1846,  1842,     0,     0,     0,     0,   928,     0,
2620        0,     0,     0,     0,     0,     0,     0,     0,  1862,   346,
2621     1131,   168,  2273,     0,   896,     0,     0,     0,     0,   346,
2622     1224,   884,   346,   164,   346,   346,   637,     0,   346,   166,
2623        0,     0,     0,   629,   346,   922,   346,  2241,     0,   346,
2624     1580,  2391,   518,  1552,  1563,  1015,  1024,  1023,  1021,  1020,
2625     1016,     0,  1035,     0,   517,     0,     0,     0,     0,     0,
2626     1051,  1052,     0,     0,  1048,  1053,     0,  1049,  1050,  1055,
2627     1045,  1044,  1056,  1057,     0,     0,  1075,   722,     0,     0,
2628        0,     0,  1619,     0,  1617,     0,  1798,  1621,  1610,  1571,
2629        0,  1570,     0,   578,     0,     0,  1256,     0,     0,  1032,
2630        0,     0,   346,  1440,     0,   991,   997,     0,     0,     0,
2631        0,     0,     0,     0,  1000,  1001,     0,  1002,   993,  1003,
2632      994,  1004,     0,   995,     0,     0,     0,     0,  2225,  2175,
2633        0,  2176,     0,     0,  2211,  2207,     0,     0,     0,     0,
2634        0,  2180,  2183,  2184,  2185,  2182,  2186,  2181,     0,     0,
2635     2187,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2636     2608,     0,     0,     0,     0,  1986,     0,     0,  2135,     0,
2637     2164,  2197,     0,     0,     0,     0,     0,     0,  2164,  2203,
2638        0,     0,     0,     0,  2088,     0,  2085,     0,     0,     0,
2639        0,  2224,     0,     0,  2258,  1923,  1937,  1938,  1939,  1943,
2640     2232,     0,  2226,     0,     0,  1924,  1951,     0,  2204,  1978,
2641        0,  1983,  1966,     0,  1959,     0,  1964,  1968,  1947,     0,
2642     1944,     0,  2227,  2163,     0,  2161,     0,  1934,  1935,  1936,
2643     1928,  1929,  1930,  1931,  1932,  1933,  1940,  2139,  2137,  2138,
2644        0,     0,     0,  2109,     0,     0,  1963,  2383,  2419,     0,
2645     1685,  1685,  1685,  1673,  1683,  2231,     0,  1815,  1694,  1815,
2646     2237,     0,     0,  1919,     0,  1796,   930,   931,   929,  1519,
2647     1521,  1534,  1548,  2165,  1542,  1672,  1528,  1530,  1546,     0,
2648     1114,  1115,     0,  1119,  2608,  2502,     0,     0,     0,     0,
2649     1715,  1749,     0,  1740,     0,  2251,  1716,  2250,  1717,  1720,
2650     1721,  1711,  1750,  1623,     0,  1745,  1655,  1654,     0,  1818,
2651        0,     0,     0,  1601,  1589,     0,  1801,     0,  1755,  1627,
2652        0,  2224,  1753,  1360,  1260,  1323,  1148,     0,  1864,  1159,
2653        0,  1143,     0,  1142,  1864,     0,  1160,     0,  1864,  1361,
2654     1261,  1324,   926,  1362,  1262,  1325,  1363,  1263,  1486,  1474,
2655     1473,  1472,     0,     0,     0,     0,     0,     0,     0,     0,
2656        0,     0,     0,     0,     0,     0,   793,  2391,   346,  1495,
2657     1364,     0,  1264,   342,  1496,  1326,  1500,   811,   810,     0,
2658        0,  1327,     0,   647,     0,   651,     0,   653,   654,   655,
2659        0,     0,     0,   656,     0,  2318,  2374,   658,   661,   662,
2660      663,   670,   675,   665,     0,     0,   677,   671,     0,     0,
2661        0,     0,     0,     0,   683,   688,     0,     0,     0,     0,
2662        0,     0,     0,  1176,  1177,  1365,  1267,     0,  1328,  1126,
2663        0,  1268,   170,     0,     0,   268,  2391,   287,     0,   690,
2664      793,     0,  1316,   284,   312,     0,     0,   327,   322,   323,
2665      321,  2391,   346,  2391,   346,     0,     0,     0,     0,     0,
2666      324,   319,   320,   316,     0,     0,   329,  2293,  2359,  2516,
2667        0,   694,   696,     0,   701,   332,  1288,   353,   352,   351,
2668        0,   336,     0,   358,   361,   333,   310,   313,   311,   307,
2669      281,     0,     0,     0,     0,     0,     0,     0,     0,  2244,
2670        0,     0,  1217,     0,  1368,  1329,     0,  1351,     0,     0,
2671        0,     0,   735,     0,  1371,  1274,  1332,  1390,  1392,  1382,
2672     1275,  1391,   158,  1303,   147,     0,     0,   143,     0,     0,
2673        0,     0,   137,     0,  1372,  1276,  1333,     0,  1373,  1277,
2674        0,     0,   273,   588,   599,   604,  1282,   608,   605,  1341,
2675      606,  1380,  1278,  1376,  1306,  1336,  1383,  1399,  1279,  1196,
2676     1394,  1396,     0,  1314,     0,   262,   264,     0,   283,     0,
2677     1280,     0,  1334,  1375,  1305,     0,     0,     0,     0,     0,
2678        0,     0,     0,     0,  1503,     0,     0,     0,     0,     0,
2679        0,   346,     0,     0,     0,  1316,  2391,   346,  1374,     0,
2680     1311,     0,  1349,     0,   391,     0,  1304,     0,     0,   275,
2681     1284,  1343,     0,     0,   215,   214,   216,     0,     0,     0,
2682        0,  2169,  2170,     0,  2167,  2026,  2220,     0,   979,   937,
2683      978,     0,  2357,     0,   936,   938,     0,     0,     0,   939,
2684        0,   943,   944,     0,     0,     0,   935,   933,   934,   402,
2685        0,   427,   400,   401,   403,     0,     0,   842,     0,     0,
2686        0,     0,   831,     0,     0,     0,  1493,     0,   134,   645,
2687        0,     0,     0,   640,   685,   690,     0,     0,     0,     0,
2688      458,   462,   466,   467,   468,     0,     0,     0,     0,   148,
2689      135,     0,   873,     0,   518,     0,   745,  1388,  1387,  1195,
2690        0,   180,   173,     0,     0,   706,     0,  1543,     0,     0,
2691      357,   826,   824,   823,   825,     0,     0,     0,   847,   822,
2692        0,  1819,  1821,     0,     0,     0,     0,     0,     0,   578,
2693      461,     0,     0,   521,     0,     0,   565,     0,     0,     0,
2694        0,   357,     0,     0,     0,  1137,     0,  1155,  1138,     0,
2695        0,     0,     0,  1189,  1122,  1190,  1168,  1123,     0,     0,
2696      617,  1642,  1643,     0,  1214,     0,     0,  1863,  1876,   895,
2697        0,  1904,  1903,  1905,  1905,     0,  1847,     0,  1888,  1913,
2698     1914,  1915,  1916,  1917,  1918,     0,  1912,  1856,  1208,   346,
2699        0,   346,     0,   346,  1216,  1210,  1212,  1404,     0,   893,
2700        0,     0,   346,   886,   888,     0,   890,     0,  1036,   520,
2701        0,     0,     0,     0,     0,     0,  1047,   615,  1054,     0,
2702     1068,  1063,  1065,     0,  1069,   721,     0,     0,  1620,  1613,
2703     1615,  1614,     0,     0,  1611,  2172,   885,     0,   584,  1248,
2704     1249,     0,     0,   346,     0,  1070,     0,     0,   998,   992,
2705        0,     0,   996,     0,     0,     0,   999,     0,     0,  1690,
2706     2173,  2174,     0,     0,     0,  2208,     0,     0,  2063,     0,
2707     2039,  2041,  2053,     0,  2064,  2024,  2065,  2043,  2045,     0,
2708     2155,     0,     0,  2054,     0,  1988,  1989,     0,     0,     0,
2709        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2710        0,     0,     0,     0,  2004,  2003,  2055,  2134,     0,     0,
2711     2195,  2196,  2056,     0,     0,  2202,     0,     0,     0,  2061,
2712     2066,     0,     0,     0,     0,  2072,     0,  2093,     0,     0,
2713        0,  2014,  2165,     0,     0,     0,     0,     0,     0,     0,
2714        0,  1984,  1967,  1961,     0,  1965,  1969,     0,     0,     0,
2715     1955,     0,     0,  1953,  1979,  1949,     0,     0,  1980,     0,
2716        0,     0,  2032,     0,     0,  1685,  1685,  1685,  1685,  1682,
2717        0,     0,     0,     0,  2502,  2628,     0,  1779,  1754,  1756,
2718     1766,  1779,  1784,  1779,  2034,  1813,  2035,  2238,     0,  1725,
2719        0,  1725,   191,     0,   224,   211,  1518,     0,  1697,     0,
2720     2156,  1119,     0,  1699,  1719,  1718,     0,  1709,  1747,  1707,
2721     1624,  1608,     0,  1606,  1593,  1595,  1594,     0,     0,  1596,
2722     2224,     0,  1606,  1588,  1632,     0,     0,  1818,     0,  1631,
2723        0,  1864,  1140,  1141,     0,  1164,     0,  1080,  1081,     0,
2724     1079,     0,     0,     0,   506,  1099,     0,     0,     0,   793,
2725        0,     0,   510,     0,  1498,     0,  1381,  1302,   649,   650,
2726        0,   664,     0,   673,   672,     0,     0,     0,     0,     0,
2727        0,     0,   657,   679,   621,   680,   682,     0,     0,   681,
2728      684,   687,  1314,     0,   719,  1290,     0,  1347,  1170,  1317,
2729        0,  1129,     0,     0,     0,     0,     0,     0,   475,   306,
2730        0,     0,     0,     0,   366,     0,   289,   298,   364,   304,
2731        0,  1322,   338,     0,   309,     0,   302,   325,   317,   326,
2732      318,   337,   339,     0,   698,   699,   697,   693,     0,   700,
2733      702,     0,   355,     0,     0,     0,  1367,     0,  1314,     0,
2734      277,     0,  1286,     0,  1345,     0,     0,     0,     0,     0,
2735        0,     0,     0,     0,     0,     0,  1350,     0,     0,     0,
2736        0,   740,     0,   737,  1318,     0,     0,   140,   139,     0,
2737      146,     0,  1319,     0,     0,     0,     0,  1400,     0,     0,
2738        0,     0,     0,     0,   373,     0,   282,     0,     0,     0,
2739        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2740        0,     0,     0,     0,   392,   348,     0,   850,     0,     0,
2741        0,   394,     0,     0,     0,     0,     0,  1366,  1269,  2029,
2742     2030,  2027,  1694,  2219,     0,     0,     0,   950,     0,     0,
2743        0,     0,     0,     0,   405,   406,   134,   404,     0,     0,
2744      841,  2448,  2142,  2143,   839,   845,   836,   838,   840,   837,
2745        0,   844,   793,     0,     0,   828,   833,   834,     0,     0,
2746        0,     0,     0,   490,     0,     0,     0,   481,     0,     0,
2747     1196,   474,   477,   478,     0,     0,   641,   644,   642,   643,
2748      678,     0,   461,   497,   547,     0,   150,     0,     0,   151,
2749      149,     0,     0,   357,   742,     0,   739,     0,   176,   457,
2750        0,   710,     0,     0,     0,  1196,   633,   762,   765,   758,
2751        0,   846,   848,   820,     0,   690,     0,     0,   590,     0,
2752      518,  1581,   573,     0,   549,   461,   547,   559,   558,   560,
2753        0,   567,   356,     0,     0,   578,   567,     0,     0,  1100,
2754     1136,     0,     0,     0,  1186,  1191,  1187,     0,     0,  1151,
2755        0,  1188,  1169,  1420,  1421,  1418,  1419,     0,     0,     0,
2756     1634,     0,  1882,     0,  1900,  1898,  1843,  1848,  1921,   897,
2757        0,   880,     0,   882,   346,   729,     0,   630,   346,     0,
2758        0,     0,     0,     0,     0,  1046,     0,  1066,     0,     0,
2759     1029,  1072,     0,     0,  1618,  1616,   576,     0,  1075,     0,
2760     1030,  1074,     0,     0,     0,     0,     0,     0,     0,     0,
2761        0,  2177,     0,  2210,  2206,     0,  2036,  2178,     0,  2190,
2762     2189,  2135,     0,     0,  1987,  1999,  2000,  2001,  2191,     0,
2763     2009,     0,     0,  1996,  1997,  1998,  1990,  1991,  1992,  1993,
2764     1994,  1995,  2002,  2200,  2199,  2193,  2194,     0,  2058,  2059,
2765     2060,  2201,  2067,     0,  2308,  2094,  2071,  2087,  2086,     0,
2766        0,     0,  2074,     0,     0,  2083,     0,  2136,  2259,  1925,
2767        0,     0,  1952,  2205,  1970,     0,     0,     0,  1948,  2155,
2768        0,     0,     0,     0,     0,  1957,     0,     0,     0,  2112,
2769     2107,  2108,  2132,     0,     0,     0,     0,     0,     0,  1676,
2770     1675,  1681,  1779,  1784,  1779,     0,     0,  1657,     0,  1766,
2771        0,  1778,  1764,  1777,     0,     0,  1790,  1788,     0,  1790,
2772        0,  1790,     0,  1758,     0,  1780,  1760,  1777,  1762,     0,
2773     1805,  2239,  1814,     0,  1738,  2026,  1738,     0,  1670,     0,
2774     1698,  1117,  1118,  1708,  2337,  1816,     0,  1607,     0,     0,
2775        0,  1598,  1604,  1586,     0,     0,  1628,  1606,  1629,  1161,
2776        0,     0,  1153,  1086,  1087,  1090,  1088,  1085,  1089,     0,
2777        0,     0,   793,     0,     0,   528,     0,  1111,  1111,     0,
2778        0,   512,   570,   523,   796,     0,     0,     0,   794,   346,
2779     1265,     0,   674,     0,     0,   669,   667,   666,   668,     0,
2780      622,  1379,  1266,     0,     0,     0,     0,  1171,     0,     0,
2781     1289,     0,   286,     0,   471,     0,     0,   299,     0,   295,
2782        0,  1315,     0,     0,     0,     0,   294,   368,     0,   365,
2783        0,   346,   346,   340,   695,   354,   359,   360,   363,     0,
2784        0,     0,     0,     0,  1321,     0,     0,     0,     0,     0,
2785        0,     0,   874,   857,     0,     0,   875,   876,     0,     0,
2786        0,  1219,  1220,  1218,  1352,  1353,  1358,  1355,  1354,  1357,
2787     1359,  1356,     0,  1272,     0,     0,   733,   144,   141,   142,
2788      145,  1300,  1283,  1342,  1395,     0,     0,     0,  1281,     0,
2789     1335,     0,  1296,  1292,     0,     0,     0,     0,     0,  1378,
2790     1310,  1340,  1377,  1308,  1338,  1307,  1337,  1309,  1339,     0,
2791     1301,     0,  1823,   854,     0,     0,     0,   346,   346,   853,
2792      731,  1285,  1344,     0,     0,     0,   940,     0,     0,   942,
2793      945,     0,   947,   410,   430,   751,   813,     0,     0,   830,
2794      792,     0,   479,     0,   485,   488,     0,     0,   492,   493,
2795      491,   480,  1196,   518,   569,   782,   783,     0,     0,   803,
2796        0,   639,     0,   459,     0,   494,     0,     0,   463,   153,
2797      152,     0,     0,     0,   746,   750,   748,   747,   749,   744,
2798        0,   735,   180,  2391,     0,     0,     0,     0,   571,  1393,
2799        0,   775,   821,     0,  1822,   725,     0,   357,   586,     0,
2800        0,     0,   459,   578,     0,   464,   469,   470,   475,     0,
2801      561,   548,     0,   549,     0,     0,   575,  1465,     0,   579,
2802      581,     0,     0,     0,  1139,  1156,  1157,     0,     0,  1120,
2803        0,     0,     0,     0,   624,   346,  1844,   346,   346,  1245,
2804        0,   891,  1060,  1061,  1062,  1059,  1058,   616,     0,  1064,
2805      723,     0,   577,   346,     0,  1006,   984,  1005,   983,   985,
2806        0,   987,   988,   982,   980,   981,  2209,  2052,  2062,  2188,
2807     2134,  2165,     0,     0,  2010,     0,     0,  2057,  2618,     0,
2808        0,     0,     0,  2091,  2092,  2073,     0,  2438,  2078,     0,
2809        0,     0,  1976,  1974,  1971,     0,  1972,  1956,     0,     0,
2810     1954,  1950,     0,  1981,  2098,     0,  2114,  2111,  2131,  2165,
2811     1680,  1679,  1678,  1677,  1765,  1761,  1763,     0,  2623,     0,
2812     1768,  1775,     0,  1757,     0,  1789,  1785,     0,  1786,     0,
2813        0,  1787,     0,     0,  1759,     0,  1775,     0,  1812,     0,
2814        0,  2103,  2256,  2103,   225,     0,     0,  1605,  1590,     0,
2815     1591,  1597,     0,     0,     0,     0,  1633,  1626,  1154,  1162,
2816        0,     0,     0,   508,     0,   523,     0,     0,     0,  1113,
2817     1113,     0,   523,     0,  1196,   798,   797,   800,   795,   799,
2818     1499,     0,   659,   660,   676,  1291,     0,  1348,  1298,     0,
2819     1622,   288,     0,   691,   293,     0,     0,   290,   367,   369,
2820      291,   292,   296,   348,   308,   301,     0,     0,     0,  1287,
2821        0,  1346,  1294,  1369,  1270,  1330,     0,     0,   863,     0,
2822        0,     0,     0,  1370,  1271,  1331,     0,     0,     0,     0,
2823     1622,     0,     0,     0,     0,     0,     0,     0,     0,  1508,
2824        0,  1320,   347,   852,   851,   348,   393,  1312,  2028,     0,
2825      941,   948,   949,   946,     0,   399,   407,   431,   134,     0,
2826        0,  1236,  1236,     0,   793,     0,     0,   476,   489,     0,
2827      569,   527,     0,   482,     0,     0,     0,     0,     0,     0,
2828        0,     0,     0,     0,     0,     0,     0,     0,   738,   737,
2829      175,     0,   459,     0,   690,     0,   769,   770,   764,   766,
2830        0,   777,   781,   849,     0,     0,     0,   578,   461,     0,
2831        0,  1578,   460,     0,     0,   472,     0,   565,   549,   561,
2832        0,   562,     0,   566,     0,  1458,     0,     0,     0,     0,
2833     1192,     0,  1198,     0,  1150,  1193,     0,  1815,     0,     0,
2834        0,     0,   628,  1237,   881,   883,   730,  1067,     0,  1071,
2835      346,   986,  2136,  2005,     0,     0,     0,     0,  2068,     0,
2836     2069,  2096,  2095,  2075,  2079,     0,  2076,  2077,  1973,  1977,
2837     1975,  1958,  2100,     0,  1694,  2133,  1808,     0,  1811,     0,
2838        0,  1767,     0,     0,  1769,     0,     0,  1771,  1773,     0,
2839        0,     0,     0,     0,     0,  2242,  2336,  2592,  2499,     0,
2840     1724,  1726,  1729,  1731,  1730,  1732,  1728,  1737,     0,  1659,
2841     1658,  2157,  1817,     0,     0,     0,  1101,     0,  1630,  1068,
2842        0,   346,  1111,  1196,   529,  2448,   530,  1110,  1112,  1116,
2843     1116,     0,  1196,     0,   569,   652,     0,     0,   270,   689,
2844        0,     0,   300,   350,   362,     0,  1622,     0,     0,   861,
2845      870,   870,   858,     0,     0,   877,  1273,   734,     0,     0,
2846      265,  1297,  1293,     0,     0,     0,  1510,  1511,     0,     0,
2847        0,     0,     0,   346,   951,     0,   433,   440,   411,   416,
2848     1502,     0,  1502,     0,   413,   417,  1502,   412,  1502,   409,
2849      410,     0,  1236,     0,  1233,  1232,   791,     0,   516,   592,
2850      483,     0,   538,     0,     0,   804,     0,     0,   461,   547,
2851        0,   505,   498,   499,   500,   501,   502,   503,   504,   496,
2852      495,     0,   690,   867,   357,  1465,   732,     0,     0,   703,
2853        0,   767,   772,   771,  1502,   776,     0,     0,     0,   690,
2854        0,  1581,   574,   549,   461,   547,   465,   475,   551,     0,
2855      552,   567,   561,   565,   563,   564,     0,     0,     0,   578,
2856     1512,  1100,     0,  1197,     0,     0,     0,     0,     0,     0,
2857     1240,   623,     0,     0,   627,   618,   690,  1031,  2006,     0,
2858     2007,     0,     0,     0,  2081,  2080,     0,  2118,  1813,     0,
2859        0,  1807,     0,     0,  1837,     0,     0,     0,  1776,  1792,
2860        0,  1772,  1770,     0,  1781,     0,  1783,     0,     0,     0,
2861     1733,     0,  2102,  2104,     0,     0,  1603,  1815,     0,  1600,
2862        0,  1082,     0,  1083,  1113,   569,     0,  1119,  1119,   518,
2863      569,     0,   793,  1299,     0,   692,   592,     0,   303,     0,
2864      278,  1295,     0,     0,   872,   872,     0,     0,     0,     0,
2865      380,   387,   386,   381,   379,   388,     0,   384,   378,   377,
2866      382,     0,   375,     0,     0,  1504,     0,  1505,  1506,  1509,
2867      395,   408,     0,   438,     0,   436,   435,   437,     0,   424,
2868        0,     0,     0,     0,     0,     0,   398,   429,  1231,  1235,
2869     1234,     0,     0,   484,     0,   486,   524,   525,   526,     0,
2870      487,   534,   535,     0,   801,     0,   806,     0,     0,     0,
2871      690,   546,   714,     0,     0,     0,  1459,     0,     0,   572,
2872        0,   778,   779,   774,     0,     0,   726,  1465,   578,   561,
2873        0,   549,   473,     0,   446,   565,   567,     0,  1462,     0,
2874      580,     0,  1107,  1121,  1199,  1194,  1424,     0,     0,   626,
2875      625,   720,  2008,  2084,  2070,  2097,  2082,  2113,     0,     0,
2876        0,     0,  1806,  1809,     0,  1840,     0,     0,     0,     0,
2877     1826,     0,  1774,     0,     0,  1782,     0,     0,     0,  1727,
2878        0,     0,  1592,  1602,  1102,     0,     0,  1116,   533,     0,
2879     1104,  1103,   527,   793,   522,   509,  1622,   297,   349,     0,
2880        0,     0,   868,   871,   859,   860,   879,   878,   736,  1622,
2881        0,     0,   371,     0,   370,     0,   374,     0,   434,   443,
2882        0,   441,   414,   419,     0,   423,   421,   420,   415,   418,
2883        0,   515,     0,     0,     0,     0,   536,     0,   537,   568,
2884        0,   805,     0,     0,     0,   716,   866,     0,     0,   459,
2885      690,   768,   773,     0,     0,  1460,  1579,   565,   549,   561,
2886        0,     0,   553,  1111,  1111,   567,   444,  1463,  1464,     0,
2887        0,   357,  1423,  1422,  1672,     0,     0,  2579,  2337,  2551,
2888        0,  2130,  2119,  2130,  2130,  2110,     0,     0,  1838,  1839,
2889     1824,     0,     0,  1828,  1791,  1804,  1735,     0,  1734,  2105,
2890     2106,  1815,   346,  1119,     0,   793,   531,   538,   511,   271,
2891     1622,   862,     0,   266,     0,   385,   383,   376,  1507,   439,
2892        0,   422,   781,   591,   543,     0,   542,     0,   540,   539,
2893      802,   807,     0,   690,   856,  1465,   704,   780,     0,   567,
2894      561,   565,     0,   550,     0,  1113,  1113,   448,     0,     0,
2895      567,  1406,  1672,  1405,  1407,  1415,  1412,  1414,  1413,  1411,
2896     1243,  1244,     0,  2123,  2122,  2121,  2125,  2124,     0,  2117,
2897     2115,  2116,  1810,     0,  1827,  1830,     0,     0,     0,  1836,
2898     1829,  1831,     0,  1802,  1736,  1599,  1084,  1105,     0,   513,
2899      793,   279,   869,     0,   442,     0,   541,   545,   544,   690,
2900      715,  1461,   786,   447,   565,   567,  1111,   554,   556,   555,
2901     1107,  1108,     0,  1815,     0,  1416,  1410,  1657,  1644,     0,
2902        0,     0,     0,  2127,     0,  2128,     0,  1833,  1834,  1835,
2903     1832,     0,     0,   514,     0,     0,   717,   788,     0,   784,
2904      787,   789,   790,   567,   445,  1113,   357,  1106,     0,  1091,
2905     1408,  1672,     0,     0,  2120,  2126,  2129,     0,     0,   532,
2906      372,     0,   752,     0,   449,   557,   567,  1109,  1409,     0,
2907        0,     0,  1803,     0,   785,  1815,     0,     0,  1825,   786,
2908     1092,     0,     0,     0,  1241,  1242,   753
2909 };
2910 
2911   /* YYPGOTO[NTERM-NUM].  */
2912 static const yytype_int16 yypgoto[] =
2913 {
2914    -4885, -4885, -4885,  3867, -4885, -4885,  -897,    -4,  3105,  -996,
2915    -4885, -4885, -4885,  1424, -4885, -4885, -4885, -4885,  3852, -4885,
2916     2193, -2428, -4885, -4885,   141,  3792, -1286,   123,  3367,  1847,
2917    -4885, -1141, -4885, -4885,  -558,   112, -4885,  3791,   541, -4885,
2918    -4885, -4885, -4885, -4885, -4885, -4885, -4885,  -632,  2314, -4885,
2919     2394,  1674,  6665, -3529, -4885, -4885, -1374, -3202, -4885,   991,
2920    -4885,  1011, -4177,  -496, -4885, -4586, -4885,  -668,  -485, -4885,
2921    -4885,  2305, -4885, -4885, -4885,  1473,   891,  -156, -4885, -4885,
2922    -4885, -4885, -4885, -4885, -4885,  -337, -4885, -4885,  -580,   169,
2923       44, -2447, -3719, -4885, -4885,   856,    29, -1416, -4885, -3567,
2924    -4885,   400, -2226, -4885, -4885, -4885,    64, -1384,  1785, -4885,
2925     -699, -1111,  2099, -4111,  -442, -4885,   198, -4885,  -552,  -344,
2926     -341,  -473, -3759, -4242, -4885, -4885, -4885,  -581, -4249, -4493,
2927    -3802, -3644,  1802, -4885,   174, -3107, -3231,   176,   833, -4885,
2928      178,   179, -4885,   848,  -268,  -903, -1535, -4885,  -740, -4885,
2929    -4885, -4885, -2907, -4885, -4885, -4885, -4885,    77, -4885, -4885,
2930    -4885, -4885,   894, -4885, -4885, -4885, -4885, -4885, -4885, -2706,
2931     2272,  2273, -4885, -3143, -4885,  -881, -4885,  1043, -2948,  1708,
2932    -4885, -4885,  1467,  3868,   876, -4885, -4885, -4885, -4885, -4885,
2933    -4885, -4885, -1720, -4885, -4885, -4885, -4885,   397,    91, -4885,
2934    -4885, -4885, -4885, -4885, -4885,   190, -4885,  2285,  1465, -4885,
2935    -4885,    87, -4885, -4885, -4885, -4885, -4885, -4885,  -533, -4478,
2936     -691,  -673, -4885, -2954, -4885, -4885, -4885,   116, -4885, -4885,
2937    -4885, -4885, -4885, -4885,  -922, -4885,  1529, -3135, -4885, -4885,
2938     1538, -4885, -4885, -4885, -4885, -4885,  -450,   180,  3034, -4885,
2939      -53,  -244, -4885, -4885, -4885,   181, -4885, -4885, -4885, -4885,
2940    -4885, -4885, -4885, -4885, -1074, 11814,  -815,  -571, -4885, -4885,
2941    -4885, -4885, -4885, -2314, -4885, -4885, -4885, -4885, -3652, -4885,
2942     4766,  2048,  -255,   191, -4885,   -23,    56,  3619, -1126, -2622,
2943      817,   -12, -4885, -4885, -4885, -2561, -4885, -4885, -4885, -4885,
2944    -3497,   192, -4885,  3611, -4885, -3777, -4504, -3561,  -601, -4885,
2945    -4040, -4418, -4509, -3500, -4885, -4885, -4885, -4885,  -541,  -155,
2946     2998, -4885, -1408,  2639,  -856, -4885, -2068,   871,  1877,  3828,
2947    -2704,  -137,  2994, -2505,  -634, -3261, -4885, -4885, -2315,  -149,
2948    -4885, -4885,  1395, -1070, -4885, -4885, -4885, -4885,  -622,  2937,
2949     -202, -4885, -4885,  4179, -4885, -4315, -4885,  4114, -4885, -4885,
2950    -4885, -4885,  2849,  2850, -4885,  2852, -4885, -4885, -1364,  1627,
2951    -4885, -4885, -4885, -4885,  1066, -4885, -4885, -4885, -4885, -4885,
2952    -4885, -4885,  1519,  1054, -4885, -4885, -4885, -4885, -4885,  -443,
2953     -619, -4885, -4885,   197, -4885, -4885, -4885, -4885,  2243,  -898,
2954     -727,  4015,   199, -4633, -4885, -4885, -1123, -4885,  3407, -4885,
2955    -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -2645, -4885,
2956    -4885, -4273, -4885, -4885, -4885, -4885, -4885,  2728, -4885, -4885,
2957     2729,    79, -4885,   -38, -4885, -4885,  -960,  2732, -4885, -1923,
2958    -4885,  -584, -4885,  2928, -4885, -4885, -4885, -4885, -1826,   208,
2959    -3784, -4885,    12, -4885, -4885,   296, -4885,   692, -4885, -4885,
2960    -3390,    15, -4885, -4885, -4885, -4885, -4375, -4885,    21,  -339,
2961     1221, -2787, -4885,   211,    -1, -4885, -4885,    10,  1647,   -42,
2962      -37,   -25,     3,   118,  3488, -4885,  3535, -4885,    24,  1991,
2963    -4885, -4885,  -793,  -162, -4885,  1975,  -665,  2705,  3480,  3484,
2964    -4885,  1962,  2733, -1954, -1928, -4885,  1270,  -310,  -141, -4885,
2965    -4885, -4885, -4885,   736,  -615,  2724, -4885,  3486, -4885, -4885,
2966    -4885, -1925, -2821, -3451,  1298, -3432, -3334,   777,   768, -1228,
2967       96,   -43,  -747,  3499, -4885, -4885,  1308,  -102, -4885, -4885,
2968      -98, -2788,  1264, -4885, -4294, -2294,  1319,  -564,  -396, -4885,
2969     -484, -4885,  -266,  2415,  3054, -1050, -4885, -4885, -1001, 14492,
2970    -4885, -4885, -4885, 15013, 15365, -4885, -4885, 15864, 16250, -4885,
2971     -842, 17121, 13619, -1005, -1856,  -447, 13228, -1741,  -492,    84,
2972    -4885, -3453, -2652, -4885, -4885, -4885,   146,  1376,   952, -4885,
2973    -4359, -4885, -4885,   363, -4885,  -272, -4885,  -270, -4885, -4885,
2974    -4885, -2522, -4884, -2608,  2853, -4885, -4885, -4885,  -148, -4885,
2975    17585, -2739, -4885,  -419, -1316, -1524, -3423, -1865, -4885, -4885,
2976    -4885, -4885, -4885, -4885, -4885, -1656, -3283,  -424,  2089, -4885,
2977    -4885,  2178, -4885, -4885, -4885,  -916,  2460,  -761, -2614,  2093,
2978    -4885,  -780,  2854,  -772,  9080,  -648,  9535,  -534, -2235, -1233,
2979    -1640, -4885,  4649, -4885,  5356,  6198,    17,  -105,  3767,  -536,
2980       -6, 13463,  -644,  -854,  4372, 11677, 11514, -3129
2981 };
2982 
2983   /* YYDEFGOTO[NTERM-NUM].  */
2984 static const yytype_int16 yydefgoto[] =
2985 {
2986       -1,    52,    53,    54,    55,    56,  1521,  2496,  2348,  3279,
2987     3280,    57,    58,  1517,    59,    60,    61,    62,  1433,    63,
2988     1015,  1768,  2511,    64,  2181,   800,   801,   802,  2085,  2086,
2989     2432,  2087,  2075,  1318,  1910,  1454,   774,   775,  1415,  1455,
2990       66,    67,  1312,  2066,    68,    69,    70,  1485,  1573,  1486,
2991     1487,  1427,  1815,  4302,  5028,  3071,  2311,  3328,  3072,  3073,
2992     3697,  3698,  3776,  5052,  5053,  5045,  5051,  5046,  5047,    71,
2993     1589,  1590,    72,    73,  3244,  3240,  3826,  4645,  4646,  4879,
2994      611,  2473,  4648,  4649,  4865,  4866,  5066,  5210,  5211,  2512,
2995     1760,  3322,  3914,  3270,  4394,  3271,  4395,  3272,  4396,  3256,
2996     3861,  3862,  4337,  3863,  3273,  4355,  4909,  3274,  2200,  5083,
2997     2553,  1932,  1930,  4564,  4892,  4164,  4165,  5295,  5090,  5091,
2998     5092,  5318,  4357,  4400,  4401,  4939,  5251,  5252,  3326,  3921,
2999     4406,  4663,  2956,    75,   709,  1794,  3428,   710,  2556,   646,
3000      711,  2513,    80,  2546,  5085,  2547,  1547,  2362,  5048,  3408,
3001       81,  1040,  3663,  4732,  4964,  4965,    82,   225,    83,  1776,
3002       84,    85,  2491,  3263,    86,  2217,  2973,    87,    88,  3004,
3003     3005,  3006,    89,  3688,  4582,  1488,  3060,  3061,  3062,  3063,
3004     3719,    90,  1771,  2520,  2521,    91,    92,    93,    94,  2669,
3005     2670,    95,  2419,    96,    97,    98,    99,  3753,  4266,  4371,
3006     3102,  3286,  3886,  4369,   100,  2514,  1784,  2536,  2537,  4381,
3007     4688,  4689,  4690,  4924,  5241,  4692,  4926,  5113,  4928,  4347,
3008     5428,  5429,  4654,  3642,  4178,   102,  4348,  4349,  5097,   103,
3009     2215,   104,   105,   106,  1744,  2483,  2484,  3835,  1737,  2476,
3010     2477,  3900,  3901,   107,  3184,   108,  4242,  4243,   647,  5104,
3011     5034,  5194,   109,   110,  4246,  4247,   111,   112,   113,   114,
3012      115,   701,   702,   703,  1132,  1133,  2928,  1080,   116,  2095,
3013      117,   978,   979,  3219,   118,  1205,  2715,  2716,  4446,   119,
3014      734,  1151,  1152,  2515,   121,   743,  2689,   745,  1947,  3410,
3015     3411,  3980,   122,   123,  2666,  2692,   124,  1420,  2191,  2192,
3016     4159,  2516,   648,  1800,  2560,  2951,  4805,  4806,  5261,  5402,
3017     4559,  4819,  2873,  3593,   126,   649,  1459,  2266,  1100,  1101,
3018     2563,  3336,  2160,  2161,  2162,  3938,  2163,  3338,  2164,  1394,
3019     2165,  1050,  1051,  3344,  3345,  3346,  3934,  3941,  2505,  4722,
3020     4723,   127,  1457,  2264,   128,   129,   130,  1500,   891,  1110,
3021     1111,   131,   661,   662,   132,  4884,   133,  1054,   134,  4730,
3022      135,   136,   765,   766,  1189,  1190,   137,   138,  2280,  3700,
3023      139,   140,   141,  3096,  3097,  4258,   142,   143,  1763,  1764,
3024      144,   145,  3149,  3150,   146,   147,   148,  5343,  5404,  5405,
3025     5406,  3947,  5264,  5345,  1182,   150,   151,   152,   189,   931,
3026      932,   933,  2517,  4715,   154,   155,  1416,  1417,  1418,  1419,
3027     2186,   156,   157,   158,   159,   160,   161,   162,  1748,   163,
3028      164,  4858,   165,   166,  1706,   167,  1345,  1346,   168,  1360,
3029     1361,   169,  2862,   605,   818,  1349,  1355,  1362,  1363,  1364,
3030      170,   713,  1145,  1146,  1147,  1912,   171,  1185,   981,   714,
3031     1140,   173,   715,  2144,  2903,  3607,  3608,  3609,  3612,  4544,
3032     4137,   716,  2899,   176,  1954,  2675,  2678,  2895,   717,  2908,
3033     2909,  2910,  3615,   718,   736,  1043,  2570,   719,  1279,   181,
3034      182,   183,   827,   821,   822,   185,  2059,  2843,   752,  1368,
3035      787,   788,   836,  2442,  2110,  2111,  2135,  2136,  1377,  1378,
3036     2123,  2127,  2128,  2886,  2879,  2116,  4124,  4790,  4791,  4792,
3037     4793,  4794,  4795,  4531,  2131,  2132,  1380,  1381,  1382,  2140,
3038      186,  2847,  3568,  3569,  3570,  4101,  4102,  4116,  4112,  4516,
3039     4777,  3571,  1180,  1388,  4524,  5373,  3572,  4766,  4767,  4981,
3040     4120,  3579,  3603,  3310,  3311,  3312,  3573,  5159,  5160,  5370,
3041     5371,  4983,  4984,  2166,  1845,  1082,  1280,  1083,  1857,  1281,
3042     1829,  1085,  1282,  1283,  1284,  1088,  1285,  1286,  1287,  1091,
3043     1821,  1288,  1289,  1839,  1854,  1855,  1350,  4985,  1291,  1292,
3044     1293,  3575,  1294,  4055,  4480,  4469,  2775,  2776,  2082,  4051,
3045     3513,  2054,  2833,  4799,  5002,  5003,  3552,  4080,  4496,  4764,
3046     5151,  5271,  5272,  5359,  1295,  1296,  1297,  2830,  2050,   894,
3047     1298,  3837,  2052,  2769,  1614,  1615,  1957,  1977,  2722,  2738,
3048     2739,  2749,  3472,  2757,  2762,  3500,  3501,  2770,  2799,  1299,
3049     2724,  2725,  3456,  1979,  1300,   937,  1618,   938,  1974,  2794,
3050     1308,  1301,  1302,  1948,   811,  4773,  1136,   850,  3088,  1698,
3051      940,   749,  1303,  1304,  1305,  1306,  1493,   865,  1103,  1104,
3052      602,   594,   867,  3064,   603,   596,   597,  1703
3053 };
3054 
3055   /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
3056      positive, shift that token.  If negative, reduce the rule whose
3057      number is the opposite.  If YYTABLE_NINF, syntax error.  */
3058 static const yytype_int16 yytable[] =
3059 {
3060      593,   810,   892,   184,  1546,  1009,  1909,   600,  1309,   826,
3061      179,  2375,   174,   779,   653,   175,  1046,   746,  1313,   748,
3062      837,   177,  1704,   754,   184,  1835,  1594,  1551,   768,   776,
3063      746,  1865,   783,  1400,  1606,   776,   776,  2199,   812,   738,
3064      815,  1171,  1172,  1173,   858,   738,  1383,  1177,  3269,  2275,
3065     2267,  1339,   898,   845,  1135,   903,   893,   645,  1929,  3347,
3066     1773,  3581,  1825,  1826,  1148,  2445,  1340,  2541,  3433,   813,
3067     1327,  3147,  1834,  1841,  1967,  4166,  3689,  3601,  1612,   744,
3068     3292,  2276,  1699,  3942,   994,  2436,  3942,  1758,  3912,  3090,
3069      591,  4130,   780,  2921,  2923,   700,  3669,  1746,  3896,  1460,
3070      712,  1751,  1044,  1786,   901,  3414,  1755,  2288,  2305,  3714,
3071     2721,  3716,    65,  3181,  4067,  4098,  1765,  3839,   922,  3847,
3072     3614,  4204,  3870,  1142,  4410,  3839,  1126,  4393,  4560,  3926,
3073     1789,   831,  2681,  3591,  1492,  4161,  1056,  3224,  2849,  3225,
3074     4115,  1114,  4820,  3229,  1118,  3231,  3232,   839,  1116,  1046,
3075     4770,  4707,  4413,  4354,  3236,  3237,  3238,  4403,   773,   840,
3076     2561,  4709,  1129,  2784,  2260,   807,  2172,  3521,   824,    74,
3077     2620,  1376,  2888,  2859,    76,   915,    77,  4670,    78,    79,
3078     1339,  2866,   799,  4167,   593,   848,   848,   851,  4896,   848,
3079      101,   120,   125,   860,  3576,   812,  4402,   149,   895,   153,
3080     2891,   860,  2400,  2401,   860,  4828,  2396,   812,   172,   848,
3081     3909,   178,   812,  3620,  4941,  4952,   848,  4035,   812,  1822,
3082     1823,  1379,  4143,  2260,  1456,  4708, -2376, -2414,  1825,  1826,
3083     1833,  4782,   720,  4784, -2305,  1320,  1785,  4113,   609,  4118,
3084     2260,  1812,  2022,   720,  1429,  4850,  3576, -2379,  1834, -2437,
3085    -1905,  1812, -2469, -2277,  1841,  2754,   720,  3478,  4364,   659,
3086     1153, -2277, -2277,  3282,  1456,   659, -2249, -1897,  5050,  1456,
3087    -1864,  2028, -2278,  1157, -1877,  1545, -2634,  2792, -1902,  1856,
3088    -2278, -2278,  5106,  1572, -2634, -2634,  5033,  1734,  2278,  2093,
3089     2183,  2434,  2435,  1599, -1905,  2792, -1892,  3619,   659,  3670,
3090      659,  2412, -2248,  2030,   659,  3932,  2538,  1511,  4623,  2278,
3091     5017,  5018,  1201,  2072,  1489,   659,  1489,   659,  1489,   720,
3092     1952,   720,  3204,   720,  2278,   856,  2057,  3242,  3917,  1812,
3093     2207,  2502,  4624,  1489,   659,   720,  4728,  4885,   720,  3418,
3094     2407,  4448,  4449,  4542,  4451,  4452,  4453,  4454,  4455,  4365,
3095     3077,  2494, -1720,  1430,  4860,  4861,  4352,  5262,  4962,  4974,
3096     5009,   834, -2140,   659,  4859,  3420,  1317,  2388,  4710, -2140,
3097     2022,  3381,  2834,  3383,  1781,  1847,  1822,  1823,  4665,  1603,
3098     1812,  2499,  4711,  5352,  4345,  4998,  -134,  2893,  1812,   726,
3099      726,  -134,  4340,  1372,  3372,  1782,  2342,   726,  1373,  2028,
3100     1351,  2022,  1175,  1833,  4244,  2107,  2255,  1911,  2114,  3478,
3101      726,  2278,   726,   727,   727,   726,  1512, -2435,  1341,  2509,
3102     4922,   727,  2073,  1704,  2201,  1812,  2328,  2022,   187,  1606,
3103     2731,  2030,   659,  4366,   727,  4671,   727,  1322,   911,   727,
3104     2337,  3724,  3605,  2314,  4813,     3,     4,  1848,   720,  4558,
3105     5126,  4822,  2202,  2080,  3725,   604,  2028,  2354,   927,  2068,
3106     4943,  5030,  2030,  5040,  4923,  1374,  4942,   912,  1154,  1156,
3107     1158,   188,  2208,  1160,  1161,  1162,  4856,  3606,  2539,   893,
3108     5040,  4672,  2359,  1167,  5245,  1176,  1046,  1743,  2030,  4995,
3109     2193,  4666,  2894,  2827,  1812,  2081,  2500,  2510,  2256,  4857,
3110     2828,  1851,  1988,  1046,  2115, -2159,  1375,  2835,  1849,  3478,
3111     4245,  1850, -2159,  1813,  1812,  2278,  1070,  1898,  2016,  2278,
3112     1003,  5010,  2691,  1813,  4346,  2394,  1013,  5444,  4963,  3770,
3113     2094,   893,  5263,  1743,  2732,  2304,  2495,  4341,  2074,  1027,
3114     1812,  4353,  3431,  2846,  1704,  1699,  2062,  3078,  4543,  4712,
3115     5041,  1604,  1783,  5042,  3419,   928,  3474,  2329,  3670,  3243,
3116     1046,  2209,  3894,  4975,  2440,  1913,  2195,  5078,  4729,  1742,
3117     1513,  5043,  1893,   660,  2289,   816,  1873,  1342,  1431,  1343,
3118     3421,  4367,  4625,  2205,  2196,  2076,  4568,  3454,  5043,  4227,
3119     2088,  2088,  4920,  2343,  2203,  3839,  5177,  2058,   929,   941,
3120     -432,  1813,  1499,   857,  5223,   812,  2733,   593,  1514,  3008,
3121      848,  1953,   851,   184,   848,  1851,  3844,  5306,  2793,  4261,
3122      985,   895,   982,  2487,   654,   983,  1016,  1176,   848,  2022,
3123     3085,   984,  5255,  3824,  3825,   848,  3541,  5244,  1432,  1949,
3124     2389,  1515,  2540,  4485,  2370,  4193,  1971,  2373,  4368, -2435,
3125     1959,  3205,  1813,  4513,  2413,   930,  3933,  4517,  2028,   593,
3126     1813,  4115,  1814,   610,   851,  1968,   826,  2734,  5293,   860,
3127     2735,  2380,  1842,   895,  1149,  1743,   860,  1384,  1046,   860,
3128     1953,  4363,  2414,   977,  1836,  4171,  1046,  1046,  2503,  1820,
3129     2030,  5119,  5391,  5125,  4409,   848,  3366,  1813,  2246,   732,
3130      733,  2049, -2140, -2376, -2414,  1837,  2102,  2433,  2254,  1179,
3131      184, -2305,   732,   733,  5044,  3635,  3493, -2435,  2141,  1838,
3132     1902,  2408, -2277,  1852, -2379,  2197, -2437,  4459,  1836, -2469,
3133    -2435,  5044,  4231,   935,  1166, -2249, -1897,   936,  1150,  1824,
3134     1155, -2278,  1159,  1828,  2848, -2634,   812, -1902,  1163,  1837,
3135     1141,  1612,  1612,  1612,  5329,  5338,  1721,  4547,  4504,   812,
3136     4506,  1193,  4385,  1840,  2070, -1892,  1813,  2018,  2142,  2060,
3137     1179, -2248,  5014,  2852,  2736,  1490,  1491,  1490,  1491,  1490,
3138     1491,  1307,  1307,  5207,   812,   776,  1813,  1144,  1421,   776,
3139      839,   732,   733,  2360,  1490,  1491,  2363,  2364,  4741,  1716,
3140     1387,  1860,   840,   812,  2244,  1723,  1709,   812,  1724,  1871,
3141      893,  5299,  1813,  1307,  1436,  1329,  2478,  2641,  3259,  1519,
3142     2624,  2441,  1605,  2263,  5303,   812,  2046,  2047,  2048,  2049,
3143     1863,  4705,   184,  2829,  3767,  2198,  2395,   812,  5395,   179,
3144     3771,   174,  1520,  1344,   175, -2159,  1895,  -134,  -134,   935,
3145      177,   812,  3622,   936,  3623,  2598,  3027,  1176,  3616,  2015,
3146     5276,  2651,  3909,  3888,  2322,  3490,  3491,  3492,  3493,   812,
3147     5247,  2290,  2663,   759,   848,   848,  2263,  2100,  3009,  5249,
3148     1743,  2330,  2737,  2130,  2291,   817,  2292,  2723,  4326,  2485,
3149     2671,   655,  4569,  2263,  2206,  1914,  1347,  1422,  1916,  4647,
3150     1918,  5433,  1920,  5224,  1922,   776,   776,  2100,  1926,  2999,
3151     2967,  3576,  3817,  1578,  3576,  1898,  3214,  5398,  5399,   606,
3152     4151,  5233,  4325,  2888,  3260,  5381,  3179,  1743,  1307,  1307,
3153     3986,  5314,  1316,  3114,  2812,  1863,  1324,   593,  1352,  3586,
3154     2932,    65,   834,  5248,   659,  2293,  3665,  5451,   860,   656,
3155     3596,   659,   895,  2870,   860,  1579,  3086,   860,   760,  3864,
3156     1847,  3979,  1414,  3488,  3489,  3490,  3491,  3492,  3493,   747,
3157     2149,  2652,   848,   999,  5079,  3013,  2260,  2454,  2682,  4933,
3158      785,  3067,  1097,  3617,  3576,   657,  3000,   658,  2667,  2580,
3159     2581,   659,  3818,  3819,   812,  4166,  4141,  3584,    74,  1404,
3160     5331,   848,   848,    76,  5416,    77,  5330,    78,    79,  4259,
3161     3475,  3476,  2375,  3115,  2672,  3495,  4890,  5455,  1777,   101,
3162      120,   125,  1532,   812,   812,   812,   149,   848,   153,   593,
3163      593,  3369,  1848,  3068,   773,  1565, -1864,   172,  2871,  3587,
3164      178,  1533,  4424,  4746,  2193,  2940,   841,  1330,  1516,   659,
3165     3943,  1423,  3525,  3526,  4768,  1168,  3691,  4901,  2718,  5086,
3166     1778,  1863,  2194,  4774,  4833,   751,  3116,  3014,  4778,  2813,
3167     1882,  4780,  2668,  4378,  2814,   659,  4105,  3987,  4771,  1405,
3168      786,  5394,  1714,  2044,  2045,  2046,  2047,  2048,  2049,  1424,
3169     4167,  1534,  3370,  1849,  2462,  2981,  1850,  2554,  3422,   848,
3170     1704,   848,   848,  4167,  3261,  4946,  4863,  1835,  4902,  2942,
3171      761,  2815,  1883,  4947, -1864,  1331,  4903,  1805,  5148,  1580,
3172     2195,  5080,  1425,  3117,  3069,   757,  5315,  3877,  1197,  3180,
3173      842,  1406,  2532,  1307,  3944,  3738,  2463,  5366,  2196,  5124,
3174     5099,     3,     4,  4285,  4904,  3207,  1704,  5118,  4106,   762,
3175      763,  1915,   184,  1917,  3337,  1919,  3003,  1921,  3942,  1923,
3176     1924,  1925,  4701,  1931,  1931,  3692,  1927,  5354,   812,  4827,
3177      746,  2660,  2661,  2790,  5131,  3423,  5121,  1535,  3836,  5098,
3178     5022,  4107,  4849,  5087, -2268,  4695,  3836,  1426,  -157,  3657,
3179     3262,  1964,  2943,  3666,   812,  1529,  4108,  1970,  2378,  1851,
3180     1851,   832,   706,  5316,  1612,  3218,  4109,  2968,  4553,  2673,
3181     1307,  4905,  2550,  5335,  5336,  5120,  2533,  -157,  5412,  2653,
3182     1581,  3118,    15,  4906,  1779,  1536,  1169,  1407,  1537,  2674,
3183     5317,  3658,  4110,  1530,  1806,  2021,   826,  2551,  2022,  2374,
3184     1307,   764,  3576,  2925,  3739,  3757,  5367,  3865,  2816,  2626,
3185     5387,  1000,  2016,  4775,  5149,  4583,    20,  5088,  3114,  2579,
3186     1098,  1148,  2296,  1366,   758,   833,  4167,  2028,  1307,  1307,
3187     1307,  1539,  1307,  3939, -2635,  4948,  1884, -1864,  3275,  2197,
3188     4239,  2182,  3945,  2306,  5150,  2575,  2650,  3070,  1807,  3878,
3189     2655,  1863,  1307,  1372,  2659,  5413,  2297,  2662,  1519,  2030,
3190     2464,  5029,  3100,  1583,  1863,  2920,  5355,  1478,  1852,  1584,
3191     4286,  2098,   784,  5012,   927,  1541,  2618,  4111,  2599,  1699,
3192     2633,  1520,  4969,   759,  5256,  1780,  2601,  1853,  4991,  4445,
3193      812,  2108,  2109,  2612,  2113,   834,  2614,  1542,  3115,  3119,
3194     2613,   604,  1387,   840,   840,   843,   840,  3120,  3165,  3946,
3195     3121,   828,  3122,  2619,  3166,   893,  5435,  1544,  4546,  3318,
3196     1715,  3693,  3694,  1367,  1307,  1374,  3527,  2892,  1307,  1307,
3197     5122,  5178,  2747,  2982,  3101,  5414,  5183,  1885,  1429,   812,
3198      812,  2147,  1411,  1307,  1412,  1808,  4240,   830,  5368,  2198,
3199     3695,  3116,  2372,  5369,  2365,  3659,  2654,  5388,  3740,  2657,
3200     2658,  2465,  4776,  4907,   776,  2577,  4908,  2427,   760, -2635,
3201     3682,   928,  1585,  4390, -2635,  5032,  2550,  2064,  2534,   927,
3202     5036,  5037,  2552,  1863,   607, -2246,  3122,  4443,  3193,   706,
3203       32,  2535,   808,  4419,  1584,  2307,  3741,  1809,  4391,  2251,
3204      624,  2551,  3276,  2926,   776,  2428,  2927,  5174,  3117,    15,
3205     3074, -2635,  3576,  5337,   929,  3133,  3576,  3167,   812,  2277,
3206       40,  4834,  5313,  2308,  3768, -1864,  4932,  3839,   812,  3742,
3207      835,   848,  2202,  3774, -1864,  3098,  1824, -1864,  1399,  4229,
3208    -1864,  3174,  3683,    20,  4338,  2065,  2309,  1430,  2310,   624,
3209     4241,  2211,  2429,   819,    44,  2900,  3660,   895,  2037,   812,
3210      626,  2212,  4316,   776,  2755,  2430,  4319,  4320,   844,  4322,
3211     2239,   930,  2773,  1330,  2117,  5415,   928,  5180,  5181,  3775,
3212      776,   187,   812,  2304,  2391,   812,  4768,  5393,  2366,  3379,
3213     1810,  2367,  4390,  2431,  3151,    48,  3769,  1585,  5403,   707,
3214     4207,  4919,  1046,  2999,  1035,  4344,  3118,  1501,    49,   626,
3215     5191,  4230,  4339,  2118,  2717,  4167,  2720,  4391,  -583,   929,
3216      761,   812,  2727,    40,   188,  1326,  1586,  2999,  2741,  2742,
3217     2743,    50,   848,   848,   848,   848,   812,  2306,  2759,  2761,
3218     4379,  1331,  3289,  2771,  1612,   708,  3175,  4001, -2635,  3277,
3219      812,  3107,  3108,  5434,  1197,  3111,  4131,    44,  2375,   762,
3220      763,  1307,  1307,  1307,  1587,  3301,  3302,  3303,  3304,   829,
3221     4384,  3168,  3681,   624,  4208,  3177,   930,  3309,  1502,  3176,
3222     3000,  5192,  3134,  4392,  2880,  3530,  4682,  3531,   935,  1414,
3223     3137,  5454,   936,  3140,  1414,  3257,  3278,  1588,    48,  3025,
3224     3171,  3208,  3209,  3210,  3000,  2937,  4650,   180,  3178,  3169,
3225     3532,    49,  2213,  3001,  5465,  2645,  3836,    32,  4132,   637,
3226     2120,   638,  4565,  3849,  3119,  -685,  2901,   852,   180,  2610,
3227     5253,  3966,  3120,   626,    50,  3121,  5071,  2573,  3172,  4651,
3228     4257,  5072,  3170,  3214,  1036, -2635,  1759,    40,    51,  3812,
3229     2214,  3002,  2044,  2045,  2046,  2047,  2048,  2049,   825,  2446,
3230     4887,   812,   781,  1414,  1478,  2600,  3694,  1414,   637,  3852,
3231      638,  3173,  5105,   848,   848,   854,  1548,  2121,  5130,  4335,
3232     1037,    44,   893,   893,  4153,  4427,  3132,  4428,  3045,  2307,
3233     4566,  5073,    40,  3022,  4218,   643,   848,  1372,  4015,  4016,
3234     4017,  4018,  5239,  4336,  4023,  4024,  4025,  4026,  4027,  4028,
3235     4029,  4030,  4031,  4032,  1549,   812,  3288,  2308,  3533,  3155,
3236     -457,  2506,    48,  3534,  3854,  4463,    44,  4464,  1028,  5102,
3237     2954,   848,   848,   848,   848,    49,  3047,  1038,  5401,  5111,
3238     2309,  1395,  2310,  1039,   812,  2543,  5116,  3046,   874,  3772,
3239     3003,   812,  3199,  5377,  2446,  2646,  1831,  1832,    50,   187,
3240     4071,  4072,  2284,  1029,  2285,   593,  4167,    48,   593,  1374,
3241     3112,  5112,    51,   851,  3003,  1396,  4010,  2304,  1307,  1397,
3242       49,  4105,  4740,  5141,  4961,  3578,  2955,  2647,  4019,  1743,
3243     4020,   838,   637, -1693,   638,  3048,  1030,  2187, -1693,   875,
3244     2648,  1390,   188,    50,  3641,  4036,   893,    35,  2188,  4696,
3245     1375,  4656,  1398,   860,   860,  3576,  3857,  2902,  3331,  1759,
3246     1550,   726,  3576,  2286,   895,   895,  2189,  3576,   860,  3616,
3247     3576,   860,  3942,  2649,  4174,  -457,  2345,  5457,  1836,  1391,
3248      917,  5253,  5025,  1031,  2278,   727,  4167,  5246,   848,   848,
3249     4686,  3576,   926,  4106,  2279,   848,  4154,   812,  3858,  1837,
3250      934,  3535,  4155,  4465,  3576, -1693,  4669,   184,  4687,  4156,
3251     2676,  3536,  1392,  2635,  3859,  2636,  3407,  2637,  3511,  2638,
3252     2950,  2639,  1931,  1046,  3518,  2640,  4107,  2598,  4809,   848,
3253     4811,   860,  2117,  2021,   860,   860,  2022,   812,   812,  4957,
3254      848,  4108,  4157,  2688,  4680,  4700, -1693,   812,  4572,  4573,
3255     3918,  4109,   987,  3922,   812,  4175,  4021,  5235,  2365,   746,
3256      746,   184,   617,  2693,  4158,  2028,  4022,  1307,   985,  1307,
3257      982,  2118, -2635,   983,  1307,  1307, -1100,  4110,  1046,   984,
3258     4585,  1307,  1307,  1307,  1144,  4167,  4589,  1307,   895,  1307,
3259     1307,  1307,  1307,  1307,  1307,   990,  1307,  2030,  1307,  1307,
3260     4172,  4640,  1307,  4641,  4642,  3406,  1574,  4643,  3860,  3350,
3261     4304,  2190,  4176,  2296,  4177,  1028,  2954,  1307,  1307,  1307,
3262     1307,  2687,  1401,  2315,   848,  1307,  2987,  4660,   720,  1307,
3263     2119,  4305,  1307,  4106,  1787,  1307,  1307,  1307,  1307,  1307,
3264     1307,  1307,  1307,  1307,  1575,  1307,   624,  2297,  1576,  2714,
3265     1029,   812,  1307,    40,  1307,  3580,  5140,  1788,  2346,  5340,
3266     1402,   812,  4111,  2349,  3392,  1010,  4107,  3576,  5185, -1094,
3267      735,  2983,  3638,   993,  2988,  2989,   735,  1577,  2120,  2278,
3268      893,  4519,  2975,  3890, -1657,  1553,  1519,    44,  3735,  2287,
3269      812,  4109,  2366,  1403,  1307,  2367, -1657,  5326,   812,  5109,
3270      812, -1657,  2665,  3621,  3298, -1657,   626, -2635,  3306,  1520,
3271     1307,  4334, -2635,  3307,  2088,   996,    40, -1657,  -582,  1307,
3272     1307,  4856, -1657,  1554,  3582,  3671,  3736,  3576,    48,  2504,
3273     1031,  4174,  2417,   812,  3450,  2121,  2423,  1023,  3978,  2100,
3274     2906,    49,  2911,  1863,  4857,  3371,  3373,  3374, -1657, -2635,
3275       44,  3699,  3293,  1001,  2904,  1002,  1555,  3356,  1890,  3737,
3276     4217,  3451,  1898,  3021,    50,  2944,  3452,  2947, -1657, -1657,
3277     3766,  1836,  2800,   851,  2801,  5081,  1347,  2861,    51,  3979,
3278     5390,  1891,   746,  1032,   746,  4287,  4386,  3539, -1656, -1657,
3279     3594,    48,  1837,  1033,  3897,   720,  2037,  2802,  3007,  1034,
3280    -1656,  1307,  4111,  2941,  3907, -1656,  1838,   935,  4288, -1657,
3281     1046,   936,  4175,   593,  4856,   848,   848,  1053, -1657,  5173,
3282      860,  1048,   895,   860,   860,  5068,   848,  5070,   848,  5298,
3283    -1657,  5074,   848,  5075,  5456,   812,  1096,  4857,  3626, -1657,
3284     1105,    51,  3113,  1824,  1106,  2173,  5426,  1904,   226,  4824,
3285     1905,  1123, -1656,  3848,   608,  1836,   776,   180,  3307,  2755,
3286     2755,  1824,   704,  1399,  2755,   637,  2277,   638,  3576,  4176,
3287     4202,  4177, -1656,  1112,  3032,   812,  1837,   720,   640,  5110,
3288      782,   935,  3044, -2249,  1130,   936, -2635,  1139,  4412,   642,
3289     1840,   812,  1759,  1510,  1170,  1179,  1179,  3630,  1527,  1179,
3290     2803,  2755,  2755,  1174,  4150,  2804,  3989,  1181,  4194,  1824,
3291     2805,  2173,   812, -1656,  2438,  2439,  3196,  3089,  3089,  4209,
3292     1961,  4216, -1656,  1962,  1178,  4864,  1522,  3576,  1046,  3845,
3293     1184,  1556,   812,   812,  3477,  1186,   812,  3893,   851,   776,
3294     3504,  5379,  3506,  3507,  1591,  2096,  3505,  1595,  2097,  2099,
3295     1187,  1612,  2100, -1657,   180,   825,  3576,  1612,  3954,  3955,
3296     1210,  3866,   848,  3478,  4232,   848,  1188,  3479,  3480,  3481,
3297     2104,  1194,  1557,  2105, -1657,  3674,  2630,  2642,  3528,  2100,
3298     2643,  2644,  1558, -2635,  2643,  2679,   812,   812,  2680,  1195,
3299     2044,  2045,  2046,  2047,  2048,  2049,  1975,  2864,    51,  2485,
3300     1898,  3182,  4539,  3185,  3187,  2912,  3627,  3628,  2100,  3019,
3301     3092,  1196,  3020,  3093,  3648,   935,  3554,  3247,  1356,   936,
3302     3248,  3849,  3252,     3,     4,  3253,  5423,  3850,  3357,  1204,
3303       40,  2100,  1307,  1307,  1307,  2568,  1197,  2569,  1307,  3851,
3304     4913,  2889,  2890,  3398,   848,  3151,  2643,  2021,  2806,  5133,
3305     2022,  3730,   848,  3449,  1198,   848,  2100, -1656,  2807,  2306,
3306     1179,   848,  3458,  3464,    44,  2100,  2100,  3852,    40,  3853,
3307     1005,  3576,  1006,  1307,   838,   848,   180,  3465,  3466,  2028,
3308     2100,  2100,  3497,  1200,  3510,  2100, -2635,  2100,  3515,  2277,
3309     3717,  3516,  3089,  3718,   812,  1199,  3722,   812,  5015,  3723,
3310     1206,  3291,    44,  5375,   746,    48,  3834,  5020, -1715, -1715,
3311     3746,  2030,  1210,  3747,  3834,  3478,   848,  1307,    49,  3479,
3312     3480,  3481,  3854,  3337, -1719, -1719,  4169,  4170,  3836,  4397,
3313    -1718, -1718,  3930,  1559,  3182,  3931,  4060,  3952,  1203,  3482,
3314     2100,    50,  1328,    48,   848,  3440,  3323,  1325,  3443,  4042,
3315     3855,  3444,  4043,  3294,  5292,    51,    49,  3436,  1332,  3319,
3316     4052,  3483,  1824,  4053,  2173,  3751,  4063,  1560,  2397,  2100,
3317     1307,  1561,  4139,  4144,  2021,  4140,  4145,  2022,  3538,    50,
3318     1333, -2635, -2635, -2635,  3760,  3883,  4149,  4173,  4387,  2927,
3319     2643,  2643,  4440,    51,  1338,  1953,  3324,   848,  3325,   848,
3320     3089,   848,  3089,  1348,  1562,  2718,  2028,  3576,  3555,  3856,
3321     3556,  2307,  1334,  2029,  3857,  5439,  1046,  5440,  1046,  5441,
3322     2598, -2635,  1210,  3484,  1532,  3478, -2635,  5273,  5274,  3479,
3323     3480,  3481,  4460,  4486,  1353,  2100,  2680,  1931,  2030,  2308,
3324     1356,  4498,  4549,  1533,  2100,  2927,  4061,  4555,  4561,  4562,
3325     4556,  2643,  2643,  4953,  4702,  4748,  3858,  4703,  4749,  1357,
3326     4047,   893,  2309, -2635,  2310,  5360,  5361,  4750,   832,  3982,
3327     2100,  4758,  3859,  4829,  2680,  1354,  4830,  5470,   812,  3557,
3328    -1694,  3558,  3576,  4217,  1606, -1694,  4914,  3576,   593,  2643,
3329     1370,  1359,  4954,  1534,   860,  4955,  1046,   860,  1385,  2304,
3330      860,  3995,  3867,  2718,  3869,  4970,  1386,  1389,  2680,   848,
3331     2037,   826,  4978,  3483,  1393,  4979,  4988,  1307,  1399,  1898,
3332     1210,  4743,  1307,  3478,  3590,  1434,  1458,  3479,  3480,  3481,
3333     4994,  4996,   833,  3904,  3904,  2306,  4327,  5007,  4328,  3876,
3334     5008,  3879,  1461, -2279,  4488,  1307,  1307,  1307,  2031,  1463,
3335     1307,  5061, -1694,  2032,  5062,   826,  4212,  3975,  1307,  1307,
3336     1307,  1307,  5101,  1464,  5132,  2067,  3860,  5008,  1504,  5142,
3337     5143,  1307,  2680,  3516,  1307,  3484,  1307,  5144,  5156,  1535,
3338     2100,  5157,  3936,  1499,  1503,  4581,  3576,  1307,  1307,  1505,
3339     2035,  1307,  4700, -1694,  1516,  5162,   180,  4210,  1898,  1528,
3340    -2635,  5165,   834,   895,  3904,  1307,  1518,  1307,  5184,  1307,
3341     1356,  2643, -1645,  3485,  3486,  3487,  4121,  3488,  3489,  3490,
3342     3491,  3492,  3493,  3483,  1369,  5190,  1371,  1536,  2680,  1307,
3343     1537,  1531,  5196,   812,  2306,  2680,  5197,  2037,  1566,  2680,
3344     3577,  2374,  5200,  5202,  2426,  5201,  5203,  5204,  5231,  4190,
3345     5205,  5232,  1567,  1582,  5280,  1532,   812,  5281,  5284,  1976,
3346      826,  1898,  1592,  1307,  3560,  3561,  3562,  5285,   184,  3074,
3347     2100,  4228,  1593,  1539,  1533,   985,  1596,   982,  1307,  1985,
3348      983,  4518,  1601,  4521,    29,  3484,   984,  2307,  5286,  1602,
3349     1705,  2100,  3577,  3098,  1707,  3988,  3610, -2635,  1710,  3613,
3350     5288,  2911,  1708,  2100,  2044,  2045,  2046,  2047,  2048,  2049,
3351     2001,  5309,  3151,  5333,  5310,  2308,  5334,  1541,  1713,  5362,
3352     1717,  3483,  3904,  4310,  1534,  2013,  1718,  2039,  5374,  4323,
3353     3574,  5001,  5400,  5437,  1726,  5008,  5438,   835,  2309,  1542,
3354     2310,  1727,  1307,  3010,  3089,  5450,  1730,  2306,  5201,  1931,
3355     5452,  5468,  5476,  5453,  5281,  5453,  1733,  1739,  2777,  1544,
3356    -2539,  2780,  1736,  1741,  1404,  3485,  3486,  3487,  1747,  3488,
3357     3489,  3490,  3491,  3492,  3493,  2304,   848,    40,   848,   848,
3358      848,  1750,  3574,  3484,  3834,  1752,  2307,  2755,  2755,  2755,
3359     2755,  2306,  1761,  2755,  2755,  2755,  2755,  2755,  2755,  2755,
3360     2755,  2755,  2755,  4968,  1762,  1743,  4481,  1766,  4256,  1767,
3361     1535,    44,  -177,  1769,  2308,   838,   838,  1770,   838,  4313,
3362     4045,  1772,  1774,  1775,  2040,  1790,  1797, -2635, -2635, -2635,
3363     1799,  2044,  2045,  2046,  2047,  2048,  2049,  2309,  1804,  2310,
3364      206,  1811,  1817,  1818,  1405,  1819,  1820,  1824,  1827,  2755,
3365     2755, -2539,    48,  1828,  1830,  4012,  3087,  1844,  1536,  1846,
3366     1859,  1537,  1858,  1862,  1863,    49,  1870,  1874,  1876,  1877,
3367     3339,  1879,  2374,  1881,  2304,  3485,  3486,  3487,  1887,  3488,
3368     3489,  3490,  3491,  3492,  3493,  1901,  1081,  1886,    50,  4041,
3369     1889,  1437,  1894,   812,  1897,  1900,  1406,  1903,  3590,  2307,
3370     3765, -2539,    51, -1417,  1539, -1417,  3590,  1928,  1958,  1963,
3371     1965,  1966,  1081, -2539,  1972,  1973, -1868, -1875, -2539,  1980,
3372     1981,  1982,  1983, -2539,  1984,  1438,    51,  2308,  1986, -2539,
3373     1210, -1865, -2539,  3478,  4083,  1987, -2539,  3479,  3480,  3481,
3374     1988, -1866,  1989,  2307,  1990,  1991,  1993,  1994,  1541,  1995,
3375     2309,  1996,  2310,  1997,  4489, -1869,  2021, -1867,  4868,  2022,
3376     1998,  1999,  2000,  2002,  2306, -2539,  2003,  2004,  2005,  2006,
3377     1542,  2308,  2007,  3485,  3486,  3487,  2008,  3488,  3489,  3490,
3378     3491,  3492,  3493,  2053,  1440, -2539,  2055,  2304,  2028,  2009,
3379     1544,  2057,  1407,  2071,  2309, -2635,  2310,  2058,  2067,  2083,
3380     2091,  1307,  4869,  2103,  2106,  1704,  2021,  1307,  1373,  2022,
3381     2137,  1375,  2148,  2023,  2024,  2025,   848,  2150,  2139,  1441,
3382     2030,  3089,  3089,  2151,  2152,  2718, -2539,  4870,  2168, -2539,
3383     2026,  2304,  2169,  5341,    29, -2539,  4437,  2170,  2028,  2173,
3384     2171,  5155,  2174,  2175,  4871,  2029,  1408,  2176,  4872,  1210,
3385     3340,  4676,  3478,  2177,  2178,  1442,  3479,  3480,  3481,  2179,
3386      812,   812,   812,  2185,  2204,  2210,  2241,  2216,  4873,  2245,
3387     2030,  4874,  2247,  3773,  2248,  2249,  5158,   812,  2250,  2252,
3388     2253,  2281,  2268,  2269,  1409,  2282,  4875,  4070,    35,  1443,
3389    -2539,  3929,  2270,  2283,  2294,  1210,  2298,  2300,  3478,  1931,
3390      812,  2303,  3479,  3480,  3481,  1210,  2301,  2302,  3478,  1931,
3391      812,   812, -2635, -2635, -2635,   812,  2307,  1410,  2304,  4397,
3392     2312,  1445,  4432,  4433,  4434,  4435,  4436,    40,   812,  2313,
3393    -2635,  3483,  2316,  2317,  2318, -2635,  2323,  2324,  2327,  2333,
3394     3925,  4359,  4360,   751,  2308,  1210,  2334,  1411,  3478,  1412,
3395     2338,  2335,  3479,  3480,  3481,  2339,  4537,  2340,  2344,  2341,
3396     2755,    44,    35,  3950,  2350,  1712,  3341,  2309,  4876,  2310,
3397    -2539,  2347, -2635,  1179,  2351,  1448,  4877,  2352,  2356,  2361,
3398     2031,  2357,  2368,  1449,  2369,  2032,  2371,  4077,  2376,   848,
3399     1729,  2262,  2377,  3484, -2539,  2386, -2539, -2539,  1413,  2381,
3400     1478,  2382,    48,  1451,  2304,  1740,  2383,  2033,  2034,  2385,
3401      812,  1452,  2387,  2390,  2392,    49,  2409,  2306,  4878,  2037,
3402     2393,   876,  2035,  2410,  2398,  2399,   812,  2415,   877,   878,
3403      879,  2411, -2539,  3342,  2421, -2539, -2539, -2539,    50,  2425,
3404     2437,  2448,  2450,  2306,  2451,  2458,  2416,  2453,  1307,  2444,
3405     3483,  2452,  5342,  2457,  2459,  2036,  2460,  1307,  2461,  2467,
3406     2468,  2471,  2469,  1307,  2474,  1307,  2470,  1453,  1307,  2037,
3407     4588,  3343,  2038,  1307,  1307,  1307,  1307,  2472,  2480,  1307,
3408     1307,  1307,  1307,  1307,  1307,  1307,  1307,  1307,  1307,  2306,
3409     2481,  2486,  1307,  1307,  2479,  2489,  3483,  2490,   619,  2498,
3410     2493,  2504,  1307,  2507,  2518,   826,  1307,  4535,  1550, -2635,
3411     1307,  2522,  3484,  2526,  2531,  2542,  2545,  2523,  1307,  2548,
3412     2549,  1307,  2558,  1307,   826,  2562,  3806,  2565,  2567,  2571,
3413     2576,  2582,  1307,  2584,  2589,  1307,  1307,  2585,  2592,  2590,
3414     1307,  1307,  2593,  2595,  2594,  4081, -2635,  1307,  2596,  2603,
3415     2605,   180,  4195,  2606,   812,   812,   812,   593,  3484,  2039,
3416     3577,  4103,  4721,  2607, -2541,  4103,  4117,  4103,  3484,  2307,
3417     2621,  2622,  1307,  2608,  2656,  2664,  3590,  2677,  2690,  4085,
3418     4086,  4087,  4088,  3485,  3486,  3487,  2772,  3488,  3489,  3490,
3419     3491,  3492,  3493,  2723,  2778,  2307,  1307,  2308,  4233,  1956,
3420     3590,  2022,  2728,  2791,  4509,   180, -2635,  2782,  3484,  2811,
3421     2911,  2797,  1307,  2044,  2045,  2046,  2047,  2048,  2049,  2809,
3422     2309,  2831,  2310,  2308,  4470,  5417,  5418,  2832,  2846,  2854,
3423     4168,  1931,  1931,  2856,  2446,  2857,  4626,  4627,  2855,  4629,
3424     2851,  2307,   833,  2865,  4661,  2869,  2309,  3574,  2310,  2881,
3425     3574,   848,   848,   848,   848, -2541,  2040,  2304,  2882,  2041,
3426     2042,  2043,  4579,  2044,  2045,  2046,  2047,  2048,  2049,  2308,
3427     2883,  2884,  2898,  2905,  2916,  2917,  3469,  2919,  2945,  2798,
3428     2277,  2948,  2950,  2304,  3589,  2952,  2959,  2375,  2953,  2964,
3429     2969,  2970,  2309,  2972,  2310,  2974,  2976,  2984,  2994,  4222,
3430     2980,  2995,  3485,  3486,  3487, -2541,  3488,  3489,  3490,  3491,
3431     3492,  3493,  5021,  2998,  3012,  3017,  3011, -2541,  1322,  1326,
3432     3574,  3035, -2541,  3028,  3036,  3049,  5065, -2541,  3054,  2304,
3433     3055,  3076,  3082, -2541,  3081,  3084, -2541,  3091,  3183,  4619,
3434    -2541,  3103,  3123,  3099,  3127,  3195,  3206,  3215,  3485,  3486,
3435     3487,  4880,  3488,  3489,  3490,  3491,  3492,  3493, -2635, -2635,
3436    -2635,  3202,  3488,  3489,  3490,  3491,  3492,  3493,  3203, -2541,
3437      834,  3221,  4267,  3227,  3226,  3234,  3241,  3228,  3239,  3245,
3438     3246,  3254,  3266,  3267,  5055,  3281,  5057,  3285,  3296, -2541,
3439     4867,   180,  3283,  3287,  4307,  3299,  3305,  3308,  3485,  3486,
3440     3487,  3313,  3488,  3489,  3490,  3491,  3492,  3493,  3314,  3316,
3441     3315,  3317,  3321,  2021,  3327,  3329,  2022,  3330,  3334,  3348,
3442     2023,  2024,  2025,  3333,  3349,  3351,  3352,  3353,  3355,  2021,
3443    -2541,  3358,  2022, -2541,  4678,  3360,  3361,  2026,   848, -2541,
3444     3362,  1851,   812,  3363,   848,  2028,  1307,  3364,  3376,  3388,
3445     3368,  3377,  2029,   812,  3391,  3395,  3834,  3390,  3397,  4350,
3446     3400,  2028,  1898,  3401,  3402,  3403,  3404,  1895, -2635,  2277,
3447     3405,  1860,  3413,  2691,   882,   883,   884,  2030,   885,   886,
3448      887,   888,   889,   890,   812,  3415,  3416,  3417,  3577,  3427,
3449     3432,  3424,  1176,  2030, -2541,  3434,  3438,  3439,  3182,  3446,
3450     3441,  4911,  3463,  3460, -2132,  3474,  3442,  4398,  3461,  3462,
3451     2100,  3467,  3529,  3468,  2326,  3470,  3473,  3496,   812,  3502,
3452     3512,  3537,  2446,  5209,  3546,  3509,  1307,  1307, -1721,  3523,
3453     3551,  3597,  3547,  4407,  3524,  4816,  3549,  3550,  3592,  3598,
3454     3578,  3600,  3553,  3611,  3602,  3604,  3618,   751,  3624,  3629,
3455     3640,  3632,  3636,  3631,  3089,  3637,  3089,  3643,  4685,  3652,
3456     4073,  5215,  5217,   812,  3678,  3645,  3667,   866,  3680,  3668,
3457     2755,  4977,  3684,  3685, -2541,  3686,   902,  3687,  3574,  4751,
3458     3690,   893,  3703,  3702,  3705,  4840,  3713,  2031,  3711,  3712,
3459      923,  3721,  2032,  3731,  3748,  3750,  1307,  3752, -2541,  3755,
3460    -2541, -2541,  1953, -2635,  3756,  3759,  3761,  1307, -2635,  3763,
3461     3764,  3777,  3778,  3779,  2033,  2034,  3780,  3792,  3781,  3800,
3462     3782,  3783,  3796,  3798,  3785,  2407,  3784,  3786,  3787,  2035,
3463     3789,  3791,  3813,  3809,  3788,  3816, -2541,  1307,  3790, -2541,
3464    -2541, -2541,  3810,  3811,  3820, -2635,  3793,  1307,  1307,  3802,
3465     3803,  3805,  3821,  3823,  1307,  1307,  3829,  3840,  3843,  1307,
3466     3874,  4835,  2036,  3884,  1307,  3875,  3885,  1307,  1307,  3881,
3467     3887,  3889,  1307,  4497,  3892,  3904,  2037,  3903,  1307,   812,
3468      812,   812,   812,  3906,  3913,  3919,  4103,  4117,  4103,  3920,
3469     1307,  4103,  2037, -2556,  4511,  3916,  3923,  3924,  3577,  4721,
3470     3927,  3928,  3577,  5311,  3940,  3949,  3956,  3960,  4526,  3962,
3471     3969,  3981,  3970,  3971,  3972,  3957,  3973,  3983,  3974,  3958,
3472     3984,  3985,  3992,   895,  4987,  2449,  3993,  5067,  3994,  3996,
3473     1307,  3976,  3997,  3998,  3610,  4987,  3999,  4551,  4000,  2911,
3474     1975,  4004,  2466,  3499,  3478, -2131,  3498,  4054,  4538,  4540,
3475     4013,  4078,  4065,  4095,   746,  1437,  4123,  1307,  4133,  4142,
3476     4066,  2021,  4119,  2488,  2022,  4038,  2039,  4039,  4040,  5209,
3477     4046,  4136,  4069,  4096,  4138,  4125,  4084,  3089,  3089,  4104,
3478     4129,  5222, -2635,  4160, -2556,  4127,  4128,  4181,  3574,  1438,
3479     4152,  4196,  3574,  2028,  4183,  2277,   180,  4184,  4197,  4198,
3480    -2635,  4189,  4199,  4201,  4203,  4205,  4206,  4220,  4867,  4592,
3481     4223,  5054,  4235,  4238,  5059,  4250,  4251,  4236,  4237,  2566,
3482     4248,  4262,  4584,  1046,  4264,  2030,  4249,  4265,  4252,  4253,
3483     4275,  4591,  4276,  2574, -2556,  4299,  4281,  4284,  4301,  4211,
3484     4303,  4314,  4306,  4315,  4317,  1081, -2556,  4318,  1440,  4321,
3485     4342, -2556,  2755,  4356,  4331,  4370, -2556,  2588,  1307,  4380,
3486     4362,  4377, -2556,  2040,  4382, -2556,  2041,  2042,  2043, -2556,
3487     2044,  2045,  2046,  2047,  2048,  2049,  2643,  2755,  4389, -2635,
3488      848,  4376,  4383,  1441,  4399,  4404,  2044,  2045,  2046,  2047,
3489     2048,  2049,  4074,  4405,  4420,   848,  4422,  4417, -2556,  4425,
3490     4430,  2617,  1081,  4426,  5279,  4421,  4418,  4438,  4423,  4442,
3491     4444,  4450,  4462,  4471,  4472,  4473,  4514,  4474, -2556,  1442,
3492     5182,  4515,  4457,  4467,  4466,  1307,  4475, -2133,  4522,  4494,
3493     4972,  4479,  4507,  4523,  4510, -2635,  4529,  4512,  4528,  4527,
3494    -2635,   593,  5163,  4530,  4536,  4548,  4545,  2277,  4550,  4552,
3495     4558,  4557,  4563,  1443,  4567,  4586,  1931,  4587,  4597, -2556,
3496     4590,  4598, -2556,  4596,  4609,  4612,  4616,  4618, -2556,  2021,
3497     2015,  1307,  2022,  4621,  4622,  4630,  4644, -2635,   595,  4638,
3498     4639,  4652,  4653,  4658,   848,  1445,  3323,  4659,  4662,  4667,
3499     4668,  4675,  1004,  4677,  5179,  4673,  4674,  4681,  1004,  4697,
3500     2013,  2028,  4683,  4691,  4694,  4841,  4699,  4706, -2635,   893,
3501     4716,  1004,  4717,  4718,  4726,  4738,   812,  4719,  4704,  4714,
3502     1046,  4731,  4737, -2556,  2037,  4744,    35,  4752,  2261,  4754,
3503     1447,  4745,  4747,  2030,  4755,  4756,  4757,  2785,  4779,  1448,
3504     4763,  4769,  4772,  4798,  2013,  4807,  4783,  1449,  3590,  4801,
3505     4804,  4839,  4810,  4821,  4831,  2262,  1307,  4832,  4826,   893,
3506     4825,  2798,  4837,  4881,  4862,  1307,  4883,  1451,  4823,  4341,
3507     4843,  4889,  4844,  4891,  4848,  1452,   751,  3548,  4893,  4853,
3508     4900,  4917,  1307,  1307,  4854,  4855,  1307,  4894,  4897,  4918,
3509     2755,  4899,  4925,  3567,  4930,  4882,  4935,  4927,  4944,  4945,
3510     4492,   593,  4956, -2556,  4103,  4937,  4958,  4959,  3577,  4973,
3511     4976,  4960,   180,  3577, -2635,  4980,  3577,   593,  4986,  3182,
3512     5026,  4785,  4990,  1307,  1307,  5001,  4993, -2556,  5005, -2556,
3513    -2556,  1453,  4997,  5027,  5024,  4802,  5033,  4168,  5432,  1307,
3514     4999,  5039,  5016, -2635,  5082,  3567,  5084,  5096, -2635,   825,
3515     4168,   895,   848,   848,   848,  5089,  5093,  5147,  5094,  5103,
3516     5108,  5054,   595,  5114,  5123, -2556,  5115,  5127, -2556, -2556,
3517    -2556,   595,   868,  5129,  5164,  5128,  5136,  5146,  5166,   595,
3518     5168,   868,   595,  5145,  5139, -2635,  5154,  5167,  5170,  5171,
3519     5175,  3574,  5176,  5137,  5138,   868,  5193,  5189,  3574,  5432,
3520      860,   895,  5214,  3574,  5220,  5221,  3574,  5225,  5227,  5230,
3521     5234, -2635,  5237,  5238,  5257,  5432,  5260,  5258,  2044,  2045,
3522     2046,  2047,  2048,  2049,  5294,  5265,  5266,  3574,  5302,  5312,
3523     5304,  5223,  2037,  5224,  5259,  5321,  5353,  1465,  2979,  4079,
3524     3574,  5277,  5322,  1466,   860,  5358,  5339,   812,  5275,  5365,
3525     5296,  5320,  2996,  5372,  5378,   592,  1568,  5386,  5383,  4350,
3526     5409,  5392,   812,  5410,  5411,  2755,  1046,   812,  5419,  3089,
3527     5421,  2021,  5425,  5443,  2022,  4951,  2277,  5446,  2023,  2024,
3528     2025,  5447,  5459,  5442,  5460,  1468,  5445,  4915,  5466,  5467,
3529     5471,  5472,  3029,   812,  5469,  2026,  1358,  4398,  2090,  2422,
3530     3290,  3585,  1563,  2028,  1564,  3156,  3696,  3080,  4219,  5307,
3531     2029,   848,   812,  4168,  4226,  5424,  5305,  3828,  1462,  4324,
3532     2021,  3194, -2635,  2022,  5076,  5208,  4949,  2023,  2024,  2025,
3533     5384,  4358,  4936,  4657,  3634,  2030,  4910,  1569,  1307,  1470,
3534     5297,  1307,  3399,  1307,  2026,  5380,  1471,   826,  5228,  1472,
3535     5226,  5319,  2028,  5397,  4814,  3639,  4388,  4408,  5187,  2029,
3536     4351,  4224,  3891,  1307,  3264,  3265,  3715,  4375,  4679,  1307,
3537     4916,  3255,  3899,  3577,  1473,  4921,  1552,  4785,  5473,  5385,
3538     5464,  4895,  3846,  1307,  2030,  5363,  3841,  5324,  5035,  4842,
3539     2497,  5195,  5004,  4845,   753,  1950,  4439,  5011,  1960,  5436,
3540     2564,  2922,  4414,  3574,  3625,  2572,  5134,  2609,  1474,  1124,
3541     2684,  2685,  3799,  4254,  2686,   812,  1738,  1931,  3895, -2635,
3542     4274,  5344,  5458,  1335,  2184,  2860,  2044,  2045,  2046,  2047,
3543     2048,  2049,  4541,  2634,  2867,  4803,  5291,  4146,  2868,   846,
3544     1047,  2101,  1307,  2063,  3588,  2031,  3599,  2897,   859,  2878,
3545     2032,  4126,   848,   848,   848,   848,   859,  5287,  2134,   859,
3546     5169,  2133,  4533,  3574,  4099,  2896,  2138,  1475,   893,  1476,
3547     4505,  4093,  2033,  2034,  2755,  2755,  4992,  5153,  4520,  1477,
3548     5152,  4147,  4094,  5461,  2143,  5364,  5420,  2035,  1478,  2583,
3549      593,  5278,  4048,  4971,  2031,  3250,  4800,  1532,  5289,  2032,
3550     1479,  5290,  3455,  3544,  3217,  3542,     0,     0,  2836,     0,
3551        0,   812,  2845,     0,  3577,     0,  1533,     0,     0,     0,
3552     2036,  2033,  2034,     0,     0,     0,     0,     0,     0,     0,
3553        0,     0,     0,     0,  2037,     0,  2035,  2038,  1570,     0,
3554     5117,  1481,  1482,     0,     0,     0,     0,     0,     0,     0,
3555        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3556        0,     0,     0,     0,     0,     0,  1534,  4211,     0,  2036,
3557     1307,  1571,     0,   593,  2207,     0,  1307,   180,     0,     0,
3558     5161,     0,     0,  2037,     0,   595,  2038,  1307,     0,     0,
3559        0,  1307,     0,  1307,     0,  1307,     0,   868,     0,     0,
3560      180,     0,  4168,   868,  3574,     0,     0,     0,   848,     0,
3561      895,     0,     0,     0,     0,  5172,   868,     0,     0,     0,
3562        0,  1307,     0,     0,  2039,     0,     0,     0,     0,  4212,
3563        0,     0,   868,     0,     0,  5301,  1484,   595,     0,     0,
3564        0,     0,     0,  1095,     0,     0,     0,   595,   868,     0,
3565        0,     0,  1535,     0,   595,     0,   868,   595,     0,     0,
3566        0,     0,     0,  3574,     0,     0,  1931,  1931,     0,  1095,
3567      868,     0,     0,  2039,     0,     0,     0,     0,     0,     0,
3568      868,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3569        0,     0,  3574,     0,     0,  3425,     0,   848,     0,     0,
3570     1536,     0,     0,  1537,  5242,     0,     0,     0,  1307,     0,
3571     5350,  5351,  3437,     0,  2374,     0,  4213,  5254,     0,     0,
3572        0,  2040,     0,     0,  2041,  2042,  2043,  3445,  2044,  2045,
3573     2046,  2047,  2048,  2049,     0,     0,     0,     0,     0,     0,
3574        0,  3519,  1307,  1307,  1307,     0,  1539,     0,  3182,     0,
3575        0,  1307,     0,     0,     0,     0,     0,     0,     0,   595,
3576      595,  1307,     0,     0,  5004,   868,     0,     0,     0,  2911,
3577     2040,     0,     0,  2041,  2042,  2043,     0,  2044,  2045,  2046,
3578     2047,  2048,  2049,     0,   860,     0,     0,  2781,     0,     0,
3579     1541,   595,     0,     0,  2013,     0,     0,     0,     0,     0,
3580        0,   848,     0,     0,     0,     0,     0,  3574,  1931,     0,
3581     4092,     0,  1542,  4097,  2020,     0,     0,     0,     0,  2021,
3582        0,     0,  2022,     0,     0,     0,  2023,  2024,  2025,     0,
3583        0,     0,  1544,  2277,  4214,     0,     0,  4215,   593,     0,
3584        0,     0,     0,  2026,  1307,     0,  2027,     0,  5325,     0,
3585        0,  2028,     0,  4168,     0,     0,     0,     0,  2029,   860,
3586      860,  1307,   988,     0,     0,     0,     0,   184,     0,     0,
3587        0,  1307,     0,     0,  5349,  5161,  5346,     0,     0,  5347,
3588        0,     0,     0,  2030,     0,  5348,     0,     0,     0,     0,
3589        0,     0,     0,     0,     0,     0,   848,     0,     0,     0,
3590     5408,     0,     0,     0,     0,     0,   595,   595,  1700,     0,
3591        0,     0,     0,     0,   846,   595,  5474,  5475,     0,     0,
3592        0,     0,  1095,     0,   859,     0,   595,     0,  5254,   848,
3593      848,   859,   595,  4168,   859,   595,  2304,     0,     0,     0,
3594        0,     0,     0,  3574,     0,   184,     0,  1095,     0,     0,
3595        0,     0,  5349,     0,  5346,     0,     0,  5347,     0,  2420,
3596     1307,  1307,  1095,  5348,     0,     0,     0,     0,     0,     0,
3597        0,     0,  1307,     0,     0,     0,     0,     0,   737,     0,
3598        0,     0,     0,     0,   737,     0,     0,     0,     0,     0,
3599        0,  3650,     0,  2031,     0,     0,     0,     0,  2032,     0,
3600        0,     0,     0,     0,     0,  1307,     0,   595,   595,     0,
3601     3661,     0,     0,     0,     0,  1307,     0,     0,  3574,     0,
3602     2033,  2034,     0,  3574,     0,     0,     0,     0,     0,   848,
3603        0,     0,  4168,     0,     0,  2035,     0,     0,     0,     0,
3604        0,  5161,     0,     0,   184,   593,     0,  1095,     0,     0,
3605        0,  5349,     0,  5346,     0,     0,  5347,     0,     0,     0,
3606        0,     0,  5348,     0,     0,   860,   860,     0,  2036,     0,
3607        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3608        0,     0,  2037,     0,   868,  2038,     0,     0,     0,  1465,
3609        0,     0,     0,     0,     0,  1466,     0,     0,     0,     0,
3610        0,     0,   868,     0,     0,     0,  3743,     0,  3745,     0,
3611        0,   595,     0,     0,     0,     0,     0,     0,     0,   868,
3612        0,     0,  3574,     0,     0,     0,     0,     0,     0,     0,
3613        0,     0,     0,     0,  2508,     0,     0,  1468,     0,     0,
3614        0,  3567,  2525,  2021,     0,     0,  2022,   868,     0,     0,
3615     2023,  2024,  2025,     0,  2420,     0,  1095,     0,   868,     0,
3616        0,     0,     0,     0,     0,     0,     0,  2026,     0,     0,
3617      180,     0,  2039,   868,     0,  2028,   868,     0,     0,     0,
3618        0,     0,  2029,     0,     0,  2694,     0,  2319,   595,     0,
3619        0,  1470,   846,     0,     0,     0,     0,  3795,  1471,     0,
3620        0,  1472,     0,   859,     0,     0,     0,  2030,     0,   859,
3621        0,     0,   859,     0,     0,     0,     0,     0,   595,     0,
3622        0,     0,     0,     0,     0,     0,  1473,     0,     0,     0,
3623     2602,     0,     0,     0,  2695,     0,  3814,     0,     0,     0,
3624        0,     0,     0,     0,     0,     0,   595,   595,   595,     0,
3625      595,     0,     0,     0,     0,     0,     0,  2420,     0,     0,
3626     1474,     0,     0,     0,     0,     0,  2696,     0,     0,  2040,
3627      595,     0,  2041,  2042,  2043,     0,  2044,  2045,  2046,  2047,
3628     2048,  2049,     0,     0,  1801,  1802,     0,     0,     0,  2697,
3629        0,     0,     0,     0,   868,     0,     0,     0,     0,     0,
3630     2698,     0,   868,   868,     0,     0,     0,     0,     0,     0,
3631        0,     0,     0,     0,     0,     0,     0,  2031,     0,  1475,
3632     2699,  1476,  2032,     0,     0,  2700,     0,     0,     0,     0,
3633        0,  1477,     0,     0,     0,     0,     0,     0,  3029,     0,
3634     1478,     0,   595,     0,  2033,  2034,   595,   595,     0,     0,
3635        0,  3567,  1479,     0,     0,  3567,     0,     0,     0,  2035,
3636        0,   595,     0,     0,     0,  1095,     0,     0,     0,     0,
3637     3951,  1700,     0,     0,     0,     0,  2701,     0,     0,     0,
3638        0,     0,     0,     0,     0,   180,   180,     0,     0,     0,
3639     2320,     0,  2036,  1481,  1482,     0,     0,  2702,     0,     0,
3640        0,     0,     0,     0,     0,     0,  2037,     0,     0,  2038,
3641     2021,     0,     0,  2022,     0,     0,     0,  2023,  2024,  2025,
3642        0,  1465,     0,  2321,     0,     0,     0,  1466,     0,     0,
3643     1095,     0,     0,     0,  2026,     0,     0,     0,     0,     0,
3644     1467,     0,  2028,     0,     0,     0,     0,     0,     0,  2029,
3645        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3646        0,     0,     0,     0,   206,  2703,     0,     0,  2704,  1468,
3647        0,  1095,  4005,     0,  2030,     0,     0,     0,     0,     0,
3648        0,     0,     0,     0,     0,     0,     0,     0,  1484,     0,
3649        0,     0,     0,  4014,  2705,     0,  2039,  2706,     0,     0,
3650        0,     0,     0,  2707,  1095,     0,     0,     0,     0,     0,
3651     2708,     0,     0,     0,     0,     0,     0,  2913,  4037,  1469,
3652     2218,     0,     0,  1470,     0,  2219,     0,     0,     0,     0,
3653     1471,     0,     0,  1472,     0,  2929,     0,     0,  2709,     0,
3654        0,  2933,     0,  2710,     0,  2936,  2711,     0,     0,     0,
3655        0,     0,  1956,     0,     0,     0,     0,     0,  1473,     0,
3656     2220,     0,     0,     0,   868,  2712,     0,     0,     0,     0,
3657        0,  2960,     0,  2221,     0,     0,     0,     0,     0,   595,
3658      595,   595,     0,     0,  2031,     0,     0,     0,  2222,  2032,
3659     2713,     0,  1474,  2040,     0,     0,  2041,  2042,  2043,     0,
3660     2044,  2045,  2046,  2047,  2048,  2049,     0,     0,     0,     0,
3661     3842,  2033,  2034,     0,     0,     0,     0,  3015,     0,     0,
3662        0,     0,     0,     0,     0,     0,  2035,     0,     0,  2223,
3663        0,     0,     0,     0,     0,  1004,   180,     0,     0,     0,
3664     2224,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3665        0,  1475,     0,  1476,     0,     0,     0,     0,     0,  2036,
3666     2225,     0,     0,  1477,     0,  2226,     0,     0,  3065,     0,
3667        0,     0,  1478,  2037,     0,     0,  2038,   737,     0,   737,
3668        0,   737,  1095,     0,  1479,     0,     0,   737,  1164,  1165,
3669        0,     0,     0,     0,  3094,     0,     0,     0,     0,  1095,
3670        0,  3104,     0,     0,     0,     0,     0,  3109,  1095,     0,
3671        0,     0,     0,     0,  1004,  1700,     0,     0,  3124,     0,
3672     1095,     0,  1480,  3128,     0,  1481,  1482,     0,     0,     0,
3673        0,     0,     0,     0,     0,     0,     0,  2227,     0,   868,
3674        0,     0,     0,  3141,     0,     0,     0,   868,  3143,     0,
3675        0,     0,  3146,     0,     0,  1483,     0,     0,     0,   868,
3676        0,  3567,     0,  2039,     0,  3163,  3567,     0,     0,  3567,
3677        0,  2228,     0,     0,     0,     0,  1095,     0,  3188,     0,
3678        0,     0,     0,   595,     0,     0,   595,     0,  1004,     0,
3679     1095,     0,     0,     0,     0,     0,   595,     0,     0,     0,
3680        0,     0,  1095,     0,   206,  2229,     0,     0,     0,     0,
3681        0,     0,     0,     0,  1095,   663,     0,     0,     0,     0,
3682     1484,     0,     0,     0,   750,     0,     0,     0,     0,     0,
3683      737,   595,   595,     0,   868,   868,     0,  2230,     0,     0,
3684        0,     0,     0,  2231,     0,     0,   595,     0,   868,   595,
3685     2232,     0,     0,  2233,     0,     0,     0,     0,  1095,  1095,
3686     2040,   868,   868,  2041,  2042,  2043,     0,  2044,  2045,  2046,
3687     2047,  2048,  2049,     0,     0,  2443,     0,   868,     0,     0,
3688        0,     0,     0,  2234,     0,     0,     0,     0,     0,     0,
3689     2235,     0,     0,     0,     0,     0,  4361,     0,  2236,     0,
3690        0,     0,     0,     0,     0,  2237,     0,     0,     0,   595,
3691        0,     0,   595,   595,     0,     0,     0,     0,     0,     0,
3692        0,     0,     0,     0,   180,     0,     0,     0,     0,     0,
3693     2238,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3694        0,     0,     0,     0,     0,   595,     0,   595,     0,     0,
3695        0,     0,   595,   595,     0,     0,     0,     0,     0,   595,
3696      595,   595,     0,   180,     0,   595,     0,   595,   595,   595,
3697      595,   595,   595,     0,   595,     0,   595,   595,     0,     0,
3698      595,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3699        0,     0,     0,     0,  1095,   595,   595,   595,   595,  1700,
3700        0,     0,     0,   595,     0,     0,     0,   595,     0,     0,
3701      595,     0,     0,   595,   595,   595,   595,   595,   595,   595,
3702      595,   595,     0,   595,     0,     0,  3567,     0,     0,     0,
3703      595,  3412,   595,     0,     0,     0,  2013,     0,     0,     0,
3704        0,     0,     0,     0,     0,     0,     0,     0,     0,  3426,
3705        0,     0,     0,     0,     0,     0,     0,  3412,     0,  3339,
3706      846,     0,     0,   846,     0,     0,     0,     0,  2021,     0,
3707        0,  2022,   595,     0,     0,  2023,  2024,  2025,     0,     0,
3708     1437,  1956,     0,     0,     0,     0,     0,     0,   595,     0,
3709        0,     0,  2026,     0,     0,     0,     0,   595,   595,     0,
3710     2028,     0,     0,   737,     0,     0,     0,  2029,   859,   859,
3711        0,     0,     0,     0,  1438,     0,     0,     0,     0,     0,
3712        0,     0,   868,   859,     0,     0,   859,     0,     0,  1095,
3713        0,     0,  2030,  1095,  1095,     0,     0,     0,     0,     0,
3714      868,     0,     0,     0,     0,  1700,   868,     0,     0,     0,
3715      868,     0,     0,     0,     0,     0,     0,     0,   868,     0,
3716        0,     0,     0,     0,     0,     0,     0,  3567,     0,     0,
3717        0,     0,     0,  1440,     0,     0,   868,   180,     0,   595,
3718        0,     0,     0,     0,     0,     0,   859,     0,     0,   859,
3719      859,   595,     0,     0,     0,  1095,  4571,     0,   595,     0,
3720        0,   595,   595,     0,     0,     0,     0,     0,  1441,  1095,
3721        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3722        0,     0,   868,     0,     0,     0,     0,     0,     0,     0,
3723        0,     0,     0,     0,     0,  4593,     0,     0,     0,  3340,
3724      868,   868,  2031,     0,  1442,     0,     0,  2032,     0,  1095,
3725        0,     0,   180,     0,  1465,     0,  4608,     0,     0,     0,
3726     1466,     0,     0,     0,     0,     0,     0,     0,     0,  2033,
3727     2034,     0,  1700,   868,     0,     0,  1700,     0,  1443,     0,
3728        0,   737,     0,     0,  2035,     0,   737,   737,     0,     0,
3729        0,     0,     0,     0,     0,     0,     0,     0,     0,   868,
3730        0,  1700,  1468,     0,     0,     0,   868,     0,     0,     0,
3731     1445,     0,   868,     0,     0,     0,     0,  2036,     0,   868,
3732        0,  4635,     0,   868,     0,     0,     0,     0,   868,     0,
3733        0,  2037,     0,     0,  2038,     0,  3646,     0,     0,     0,
3734        0,     0,     0,     0,     0,     0,     0,     0,   868,     0,
3735        0,    35,     0,   868,     0,  1447,  1470,   868,     0,     0,
3736     1700,     0,     0,  1471,  1448,     0,  1472,     0,     0,     0,
3737      868,     0,  1449,     0,     0,     0,     0,     0,  1465,     0,
3738     2262,     0,     0,   868,  1466,     0,     0,     0,     0,     0,
3739        0,  1473,  1451,   868,   737,     0,     0,     0,     0,     0,
3740     1452,     0,     0,     0,   737,   980,     0,     0,     0,     0,
3741      595,   595,   595,     0,     0,     0,   595,     0,     0,     0,
3742        0,  2039,  3342,     0,     0,  1474,  1468,     0,     0,     0,
3743        0,     0,     0,     0,     0,  4725,     0,     0,     0,     0,
3744        0,     0,     0,     0,     0,     0,  1164,  1165,  3726,     0,
3745        0,   595,  1095,     0,     0,     0,  1453,     0,  1045,   663,
3746     3343,  1700,     0,     0,     0,     0,     0,     0,   846,     0,
3747        0,     0,     0,     0,     0,   859,     0,     0,   859,   859,
3748     1470,  1956,     0,     0,  1475,   180,  1476,  1471,     0,   737,
3749     1472,     0,   737,   737,     0,   595,  1477,     0,     0,     0,
3750        0,     0,     0,     0,     0,  1478,     0,     0,     0,     0,
3751        0,   180,     0,     0,     0,  1473,     0,  1479,  2040,     0,
3752        0,  2041,  2042,  2043,     0,  2044,  2045,  2046,  2047,  2048,
3753     2049,     0,     0,     0,  1095,  4006,     0,     0,     0,   868,
3754        0,     0,     0,     0,     0,     0,     0,     0,   595,  1474,
3755        0,     0,     0,  1183,     0,  1597,     0,     0,  1481,  1482,
3756        0,     0,     0,     0,     0,     0,     0,     0,     0,  3807,
3757        0,     0,     0,     0,     0,     0,     0,     0,     0,  1202,
3758        0,     0,     0,     0,     0,     0,     0,  1310,  1598,  5407,
3759     1319,  1045,  1321,     0,   868,     0,     0,     0,     0,     0,
3760        0,     0,     0,     0,     0,     0,     0,     0,  1475,     0,
3761     1476,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3762     1477,     0,     0,     0,     0,     0,     0,     0,     0,  1478,
3763        0,     0,     0,     0,     0,     0,   868,     0,     0,     0,
3764        0,  1479,     0,     0,     0,     0,     0,     0,     0,     0,
3765        0,     0,  1095,  1484,   868,     0,     0,     0,     0,     0,
3766        0,  1465,   868,     0,     0,     0,   595,  1466,     0,  1095,
3767        0,     0,   595,   737,     0,   595,     0,     0,   595,  2242,
3768     1568,     0,  1481,  1482,  1095,     0,     0,     0,   180,     0,
3769        0,     0,     0,     0,     0,   595,     0,     0,     0,     0,
3770      595,     0,     0,     0,     0,     0,     0,     0,     0,  1468,
3771        0,     0,  2243,     0,     0,     0,     0,     0,     0,     0,
3772        0,     0,     0,   595,   595,   595,     0,     0,   595,     0,
3773        0,     0,     0,     0,     0,     0,   595,   595,   595,   595,
3774        0,     0,     0,     0,  1700,     0,     0,     0,     0,   595,
3775     1700,     0,   595,     0,   595,     0,     0,     0,  2420,     0,
3776     1956,  1569,     0,  1470,     0,   595,   595,     0,     0,   595,
3777     1471,     0,     0,  1472,     0,     0,  3977,  1484,     0,     0,
3778        0,     0,     0,   595,  2578,   595,     0,   595,     0,     0,
3779        0,     0,     0,     0,  2586,     0,  2587,     0,  1473,     0,
3780     3795,  3991,  2591,  2021,     0,     0,  2022,   595,     0,  2597,
3781     2023,  2024,  2025,     0,     0,     0,     0,     0,   595,     0,
3782        0,     0,  2021,     0,     0,  2022,   868,  2026,     0,  2023,
3783     2024,  2025,  1474,     0,     0,  2028,     0,     0,     0,     0,
3784        0,   595,  2029,     0,     0,     0,  2026,     0,     0,     0,
3785        0,     0,     0,  1956,  2028,     0,   595,     0,  1956,  1956,
3786        0,  2029,     0,     0,     0,     0,     0,  2030,     0,     0,
3787      595,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3788        0,     0,     0,     0,     0,     0,  2030,     0,     0,  1095,
3789        0,  1475,  1095,  1476,  1095,     0,     0,     0,     0,  1095,
3790        0,     0,     0,  1477,     0,     0,     0,     0,     0,     0,
3791        0,     0,  1478,     0,   868,   868,     0,     0,     0,     0,
3792      595,     0,     0,     0,  1479,     0,     0,     0,  1045,     0,
3793        0,     0,     0,     0,     0,     0,     0,     0,     0,  2729,
3794     2730,   868,     0,   846,   868,  1045,  2744,  2745,  1095,   859,
3795        0,     0,   859,     0,     0,   859,     0,     0,     0,     0,
3796        0,  2021,  3153,     0,  2022,  1481,  1482,  1095,  2023,  2024,
3797     2025,  5135,     0,     0,  2783,     0,     0,  2031,     0,  1955,
3798        0,     0,  2032,     0,     0,  2026,     0,     0,     0,     0,
3799        0,     0,  1095,  2028,     0,  3154,  2031,     0,     0,     0,
3800     2029,  2032,  1045,     0,  2033,  2034,     0,     0,     0,     0,
3801        0,     0,     0,     0,     0,     0,     0,     0,     0,  2035,
3802        0,     0,     0,  2033,  2034,  2030,     0,     0,     0,  1700,
3803     1700,  1700,     0,     0,  4191,     0,     0,     0,  2035,     0,
3804        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3805        0,     0,  2036,   868,     0,     0,     0,     0,     0,     0,
3806     1484,     0,     0,  1095,     0,  1095,  2037,     0,     0,  2038,
3807        0,  2036,     0,   868,     0,     0,     0,     0,  2017,     0,
3808        0,  2887,  2887,     0,     0,  2037,     0,  2019,  2038,     0,
3809        0,     0,   868,     0,     0,   592,     0,     0,     0,     0,
3810        0,  2061,     0,     0,     0,     0,     0,     0,     0,     0,
3811        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3812     1045,     0,     0,  2078,  2079,     0,     0,     0,  1045,  1045,
3813        0,     0,     0,     0,     0,  2031,     0,     0,     0,     0,
3814     2032,     0,   737,     0,     0,     0,     0,   592,     0,  4289,
3815        0,     0,  4292,     0,  1095,     0,  2039,     0,     0,     0,
3816        0,     0,  2033,  2034,     0,     0,     0,     0,     0,     0,
3817        0,     0,     0,     0,   868,  2039,  5283,  2035,     0,   595,
3818        0,     0,     0,     0,     0,   595,     0,     0,     0,     0,
3819        0,     0,     0,  1095,     0,     0,     0,     0,     0,     0,
3820        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3821     2036,     0,     0,     0,     0,     0,     0,     0,  1095,     0,
3822        0,     0,     0,     0,  2037,  1700,  1095,  2038,     0,     0,
3823        0,     0,   868,     0,   868,     0,  3031,     0,     0,     0,
3824        0,     0,     0,     0,     0,     0,     0,   868,     0,   868,
3825        0,     0,     0,  2040,  4372,     0,  2041,  2042,  2043,     0,
3826     2044,  2045,  2046,  2047,  2048,  2049,     0,     0,     0,     0,
3827     4057,  1700,  2040,  2420,     0,  2041,  2042,  2043,     0,  2044,
3828     2045,  2046,  2047,  2048,  2049,     0,     0,     0,     0,  4162,
3829        0,     0,     0,     0,     0,  1095,     0,     0,     0,     0,
3830        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3831        0,     0,   868,  1095,  2039,     0,     0,  1816,   737,     0,
3832        0,     0,     0,     0,     0,     0,   737,  1095,  2021,   737,
3833        0,  2022,     0,     0,     0,  2023,  2024,  2025,     0,     0,
3834        0,     0,     0,     0,     0,  1843,  3412,     0,  2379,     0,
3835        0,     0,  2026,     0,  2384,     0,     0,     0,     0,     0,
3836     2028,     0,     0,   868,     0,  1861,     0,  2029,     0,     0,
3837        0,     0,     0,     0,     0,  1872,     0,     0,     0,  1875,
3838        0,   868,     0,  1878,     0,  1880,     0,     0,     0,     0,
3839        0,  1888,  2030,     0,     0,     0,     0,  1896,     0,     0,
3840     1899,     0,     0,   868,     0,     0,   868,     0,     0,     0,
3841        0,  2040,     0,     0,  2041,  2042,  2043,     0,  2044,  2045,
3842     2046,  2047,  2048,  2049,     0,     0,   595,     0,  4458,  1095,
3843        0,     0,     0,     0,     0,   595,     0,     0,     0,     0,
3844        0,   595,     0,   595,     0,     0,   595,     0,     0,     0,
3845     1095,   595,   595,   595,   595,     0,     0,   595,   595,   595,
3846      595,   595,   595,   595,   595,   595,   595,     0,     0,     0,
3847      595,   595,     0,     0,     0,  1095,     0,     0,     0,     0,
3848      595,     0,     0,     0,   595,     0,  1700,     0,   595,     0,
3849        0,     0,     0,     0,     0,     0,   595,     0,     0,   595,
3850        0,   595,  2031,     0,     0,     0,     0,  2032,     0,  1095,
3851      595,     0,     0,   595,   595,     0,     0,     0,   595,   595,
3852        0,     0,     0,     0,     0,   595,     0,     0,     0,  2033,
3853     2034,     0,     0,     0,     0,   595,     0,     0,   595,     0,
3854        0,     0,     0,     0,  2035,  3365,  3367,     0,     0,     0,
3855      595,  3375,     0,     0,     0,     0,     0,     0,     0,     0,
3856        0,     0,     0,     0,     0,     0,     0,     0,  2519,     0,
3857        0,     0,  2524,     0,   595,     0,     0,  2036,     0,     0,
3858        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3859      595,  2037,     0,     0,  2038,     0,  1095,     0,     0,     0,
3860        0,     0,     0,  4603,     0,     0,     0,     0,   595,     0,
3861        0,     0,   737,     0,     0,  4613,     0,     0,     0,     0,
3862        0,     0,     0,     0,  2021,     0,     0,  2022,     0,     0,
3863        0,  2023,  2024,  2025,     0,     0,     0,     0,     0,   868,
3864        0,     0,     0,     0,  2021,     0,     0,  2022,  2026,     0,
3865        0,  2023,  2024,  2025,     0,     0,  2028,     0,     0,     0,
3866        0,     0,     0,  2029,  1465,     0,     0,     0,  2026,     0,
3867     1466,     0,     0,     0,     0,     0,  2028,     0,     0,     0,
3868        0,  2039,     0,  2029,     0,     0,     0,     0,  2030,     0,
3869     1700,     0,     0,     0,     0,  1700,  1095,  1700,     0,     0,
3870        0,     0,     0,     0,     0,     0,     0,  2021,  2030,     0,
3871     2022,     0,  1468,     0,  2023,  2024,  2025,     0,     0,  1700,
3872     1095,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3873        0,  2026,     0,     0,     0,     0,     0,     0,  1700,  2028,
3874        0,     0,     0,     0,     0,     0,  2029,     0,     0,     0,
3875        0,     0,     0,     0,   868,     0,     0,   868,     0,     0,
3876        0,     0,     0,     0,     0,     0,  1470,     0,     0,     0,
3877        0,  2030,     0,  1471,     0,     0,  1472,     0,  2040,     0,
3878        0,  2041,  2042,  2043,  2740,  2044,  2045,  2046,  2047,  2048,
3879     2049,     0,     0,     0,     0,  4493,     0,     0,  2031,     0,
3880        0,  1473,     0,  2032,     0,     0,     0,     0,  3583,     0,
3881      737,  3412,   592,     0,     0,   592,     0,     0,  2031,     0,
3882        0,     0,     0,  2032,   595,  2033,  2034,     0,     0,     0,
3883        0,     0,  3595,  3595,     0,  1474,     0,     0,     0,     0,
3884     2035,     0,     0,     0,     0,  2033,  2034,     0,     0,   868,
3885      868,     0,     0,  1095,     0,     0,     0,     0,     0,   868,
3886     2035,     0,     0,     0,     0,     0,   595,     0,     0,     0,
3887        0,     0,     0,  2036,     0,  2853,     0,  1465,   868,     0,
3888        0,  2031,     0,  1466,     0,   592,  2032,  2037,     0,     0,
3889     2038,     0,     0,  2036,  1475,     0,  1476,     0,     0,     0,
3890        0,     0,     0,  1095,   595,   595,  1477,  2037,  2033,  2034,
3891     2038,     0,     0,     0,     0,  1478,     0,  3412,     0,  3412,
3892        0,     0,     0,  2035,     0,  1468,     0,  1479,     0,     0,
3893        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3894        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3895        0,   868,     0,     0,     0,  1465,  2036,     0,     0,     0,
3896        0,  1466,     0,     0,     0,  3024,     0,     0,  1481,  1482,
3897     2037,     0,     0,  2038,   595,     0,     0,  2039,     0,  1470,
3898        0,     0,     0,     0,  1045,   595,  1471,     0,     0,  1472,
3899        0,     0,     0,     0,     0,     0,     0,  2039,  1483,     0,
3900        0,     0,     0,  1468,     0,     0,     0,     0,     0,     0,
3901        0,     0,     0,     0,  1473,   595,     0,     0,     0,     0,
3902        0,     0,     0,     0,     0,   595,   595,     0,  1095,     0,
3903        0,     0,   595,   595,     0,     0,     0,   595,  1095,     0,
3904        0,     0,   595,     0,     0,   595,   595,     0,  1474,     0,
3905      595,     0,     0,     0,     0,  1321,   595,  1470,     0,     0,
3906     2039,     0,     0,  1484,  1471,     0,     0,  1472,   595,     0,
3907        0,     0,     0,     0,  2040,     0,   595,  2041,  2042,  2043,
3908      595,  2044,  2045,  2046,  2047,  2048,  2049,     0,     0,     0,
3909        0,  4742,  1473,     0,  2040,     0,     0,  2041,  2042,  2043,
3910        0,  2044,  2045,  2046,  2047,  2048,  2049,  1475,   595,  1476,
3911        0,  4753,     0,     0,     0,     0,     0,     0,     0,  1477,
3912        0,     0,     0,     0,     0,     0,  1474,     0,  1478,     0,
3913     2604,     0,     0,     0,  1321,   595,     0,     0,  2611,     0,
3914     1479,     0,     0,   592,     0,     0,     0,     0,     0,     0,
3915        0,  1321,     0,  1095,     0,     0,     0,  2040,  2623,     0,
3916     2041,  2042,  2043,     0,  2044,  2045,  2046,  2047,  2048,  2049,
3917      868,     0,     0,     0,  4762,  1700,     0,     0,  3197,     0,
3918        0,  1481,  1482,     0,     0,  1475,     0,  1476,     0,     0,
3919        0,     0,  1095,     0,     0,     0,     0,  1477,     0,     0,
3920        0,     0,   737,     0,     0,     0,  1478,     0,   868,     0,
3921      737,  3198,  3191,  1095,     0,     0,     0,     0,  1479,     0,
3922      868,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3923        0,     0,     0,     0,  3880,     0,   595,     0,     0,     0,
3924        0,     0,     0,     0,     0,     0,  3220,   868,     0,  3220,
3925        0,  3220,     0,     0,     0,  3220,  3672,  3220,  3220,  1481,
3926     1482,     0,     0,     0,     0,     0,  3220,  3220,  3220,     0,
3927        0,     0,  2021,     0,     0,  2022,  1484,     0,  1095,  2023,
3928     2024,  2025,     0,     0,     0,     0,     0,     0,     0,  3673,
3929        0,     0,     0,     0,     0,     0,  2026,     0,     0,     0,
3930        0,     0,     0,   595,  2028,     0,     0,     0,     0,     0,
3931        0,  2029,     0,     0,     0,     0,  3953,     0,     0,   595,
3932        0,     0,     0,     0,  3300,     0,     0,     0,     0,     0,
3933        0,     0,     0,     0,     0,     0,  2030,     0,     0,     0,
3934        0,     0,   868,     0,     0,     0,     0,     0,     0,   595,
3935        0,     0,     0,   592,  1484,     0,  3332,   592,     0,     0,
3936     2858,     0,     0,  1465,     0,  1045,     0,     0,     0,  1466,
3937        0,  2021,     0,     0,  2022,     0,     0,     0,  2023,  2024,
3938     2025,  1465,     0,     0,     0,     0,     0,  1466,     0,     0,
3939     1095,     0,  1095,     0,     0,  2026,     0,   737,     0,     0,
3940        0,     0,     0,  2028,     0,     0,     0,     0,     0,     0,
3941     2029,  1468,     0,     0,     0,     0,   868,     0,     0,     0,
3942     1045,     0,     0,     0,     0,     0,     0,     0,     0,  1468,
3943        0,     0,     0,     0,   595,  2030,     0,     0,  1095,     0,
3944        0,     0,     0,   595,     0,     0,  2031,     0,     0,     0,
3945        0,  2032,     0,     0,     0,     0,     0,     0,     0,     0,
3946      595,   595,     0,     0,   595,  1470,     0,     0,     0,     0,
3947        0,     0,  1471,  2033,  2034,  1472,     0,     0,     0,   595,
3948        0,     0,     0,  1470,     0,     0,   595,     0,  2035,     0,
3949     1471,   595,     0,  1472,   595,   595,     0,     0,     0,     0,
3950     1473,   595,   595,     0,     0,     0,     0,     0,     0,     0,
3951        0,     0,     0,     0,     0,   595,     0,   595,  1473,     0,
3952        0,  2036,   868,     0,   868,     0,     0,     0,   595,     0,
3953        0,     0,     0,     0,  1474,  2037,     0,     0,  2038,     0,
3954        0,     0,     0,  3412,     0,  2031,     0,     0,     0,     0,
3955     2032,     0,  1474,     0,     0,     0,     0,     0,     0,     0,
3956        0,     0,     0,     0,     0,     0,     0,     0,  1095,   868,
3957        0,     0,  2033,  2034,     0,     0,     0,     0,   595,     0,
3958        0,     0,     0,     0,     0,     0,     0,  2035,     0,     0,
3959        0,     0,     0,  1475,     0,  1476,  4664,     0,     0,     0,
3960        0,     0,     0,     0,     0,  1477,     0,     0,     0,     0,
3961        0,  1475,     0,  1476,  1478,     0,  1700,     0,     0,     0,
3962     2036,     0,   595,  1477,     0,  2039,  1479,     0,     0,     0,
3963        0,     0,  1478,     0,  2037,     0,     0,  2038,     0,     0,
3964        0,     0,     0,     0,  1479,     0,     0,     0,     0,     0,
3965        0,     0,  1045,     0,     0,     0,     0,     0,     0,     0,
3966        0,     0,     0,     0,  3728,     0,     0,  1481,  1482,     0,
3967        0,     0,  1437,     0,     0,     0,     0,     0,  4940,     0,
3968      737,     0,     0,     0,     0,  1481,  1482,     0,     0,     0,
3969        0,   595,     0,  1095,     0,     0,     0,  3729,     0,     0,
3970        0,     0,     0,     0,   737,     0,  1438,     0,     0,     0,
3971        0,   737,     0,     0,     0,  1483,   595,  1095,     0,   595,
3972     1437,   595,  2040,     0,  2039,  2041,  2042,  2043,     0,  2044,
3973     2045,  2046,  2047,  2048,  2049,     0,  1439,     0,     0,  4765,
3974        0,   595,     0,     0,     0,     0,     0,   595,     0,     0,
3975        0,   595,     0,     0,  1438,     0,   592,  1095,     0,     0,
3976        0,   595,  1484,   592,     0,  1440,     0,     0,   592,     0,
3977     1045,   592,  4781,     0,     0,     0,     0,     0,  1437,     0,
3978     1484,     0,     0,     0,  1506,     0,     0,     0,  1164,  1165,
3979        0,     0,   592,     0,     0,     0,     0,     0,     0,     0,
3980     1441,     0,  1700,     0,     0,   592,     0,     0,     0,     0,
3981     1095,     0,  1438,  1440,     0,  1095,  1095,     0,     0,     0,
3982      595,  2040,     0,     0,  2041,  2042,  2043,   868,  2044,  2045,
3983     2046,  2047,  2048,  2049,     0,     0,  1442,  3354,  4812,   868,
3984        0,     0,  1523,     0,  3359,     0,     0,     0,  1441,     0,
3985        0,     0,     0,     0,     0,   859,     0,     0,     0,     0,
3986        0,  3720,     0,     0,  3378,     0,     0,     0,   595,     0,
3987     1443,  1440,     0,     0,  3384,     0,     0,  3385,     0,  3386,
3988     3387,   873,     0,  3389,  1442,     0,     0,     0,     0,  3393,
3989        0,  3394,   595,   907,  3396,     0,     0,     0,     0,   859,
3990        0,  1444,  1445,     0,   925,     0,  1441,     0,     0,     0,
3991        0,     0,     0,     0,     0,     0,  3758,     0,  1443,     0,
3992        0,     0,     0,     0,     0,     0,     0,  1095,  1095,     0,
3993        0,     0,   737,     0,     0,     0,     0,     0,     0,  1446,
3994        0,     0,  1442,    35,     0,     0,     0,  1447,   595,  1507,
3995     1445,   595,     0,     0,   595,     0,  1448,  3435,     0,     0,
3996        0,     0,     0,     0,  1449,   595,     0,     0,   592,   595,
3997        0,   595,  1450,   595,     0,     0,  1443,     0,     0,     0,
3998      595,     0,  3797,     0,  1451,     0,     0,  1508,     0,     0,
3999        0,    35,  1452,     0,     0,  1447,     0,     0,     0,   595,
4000        0,     0,     0,     0,  1448,     0,     0,  1524,  1445,     0,
4001        0,     0,  1449,     0,     0,     0,     0,     0,  2021,     0,
4002     1509,  2022,     0,     0,  3220,  2023,  2024,  2025,   592,     0,
4003        0,     0,  1451,     0,  1700,     0,   868,     0,  3827,     0,
4004     1452,     0,  2026,     0,  3838,  1525,     0,     0,  1453,    35,
4005     2028,     0,  3838,  1447,     0,     0,     0,  2029,  1045,     0,
4006     1045,     0,  1448,     0,     0,     0,     0,     0,     0,     0,
4007     1449,     0,     0,     0,     0,     0,     0,     0,  1526,     0,
4008        0,     0,  2030,     0,     0,     0,   595,     0,     0,     0,
4009     1451,     0,     0,     0,     0,   595,  1453,     0,  1452,     0,
4010        0,     0,     0,     0,     0,     0,  3902,     0,     0,     0,
4011        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4012      595,   595,   595,     0,     0,     0,     0,     0,     0,   595,
4013     1700,     0,     0,  1095,     0,     0,     0,  3935,  1045,   595,
4014        0,     0,     0,   601,     0,  5095,     0,     0,   868,   652,
4015      601,     0,     0,     0,  1453,   705,     0,   601,     0,     0,
4016        0,   737,   595,   601,     0,   756,   737,     0,     0,   592,
4017      737,     0,     0,     0,     0,     0,     0,   868,     0,     0,
4018        0,     0,     0,     0,   823,   823,     0,     0,     0,     0,
4019        0,     0,  2031,     0,     0,  4606,  4607,  2032,     0,     0,
4020     4610,  4611,     0,     0,     0,     0,     0,     0,     0,     0,
4021        0,     0,     0,     0,     0,     0,   595,     0,     0,  2033,
4022     2034,     0,   595,  3644,     0,     0,     0,     0,   592,     0,
4023        0,   595,     0,     0,  2035,     0,     0,   595,   595,   595,
4024        0,     0,     0,     0,     0,     0,     0,     0,     0,   595,
4025        0,     0,     0,     0,     0,     0,     0,   592,     0,     0,
4026        0,     0,     0,     0,     0,     0,     0,  2036,     0,     0,
4027        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4028        0,  2037,   868,     0,  2038,   939,     0,     0,     0,     0,
4029        0,   986,     0,     0,     0,     0,     0,     0,     0,     0,
4030        0,     0,     0,     0,     0,     0,   595,  3704,     0,  3706,
4031        0,   595,     0,     0,     0,     0,     0,     0,     0,     0,
4032        0,  4058,     0,     0,     0,     0,     0,     0,     0,     0,
4033        0,     0,   855,     0,     0,     0,     0,     0,   595,   595,
4034      897,     0,     0,   899,     0,     0,   904,   905,     0,   908,
4035      595,   910,     0,     0,   916,     0,   918,     0,     0,     0,
4036        0,     0,     0,     0,  1700,     0,     0,     0,     0,     0,
4037        0,  2039,   592,     0,     0,     0,     0,     0,     0,     0,
4038        0,     0,     0,   595,     0,     0,     0,     0,     0,  2021,
4039        0,     0,  2022,   595,     0,     0,  2023,  2024,  2025,     0,
4040        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4041      595,     0,     0,  2026,     0,     0,     0,     0,     0,     0,
4042        0,  2028,     0,   595,     0,  1700,     0,     0,  2029,     0,
4043        0,     0,     0,     0,     0,     0,     0,     0,     0,   859,
4044        0,  1700,     0,   595,   595,  1191,  3794,     0,     0,     0,
4045        0,     0,  3801,  2030,     0,     0,     0,     0,     0,     0,
4046        0,     0,     0,     0,     0,     0,     0,     0,  2040,     0,
4047     1314,  2041,  2042,  2043,     0,  2044,  2045,  2046,  2047,  2048,
4048     2049,     0,     0,     0,     0,  4847,     0,     0,     0,  1337,
4049        0,     0,  2021,  5328,     0,  2022,     0,     0,     0,  2023,
4050     2024,  2025,     0,     0,     0,     0,     0,     0,   592,     0,
4051        0,  1365,     0,     0,   859,   859,  2026,     0,     0,     0,
4052        0,     0,  3838,     0,  2028,     0,     0,     0,     0,     0,
4053        0,  2029,     0,     0,     0,     0,     0,     0,     0,     0,
4054        0,     0,     0,     0,     0,     0,  4260,     0,     0,     0,
4055        0,     0,   737,     0,  4268,  1496,  2030,  4269,     0,  4270,
4056        0,     0,     0,  2031,     0,     0,     0,     0,  2032,     0,
4057        0,  2021,     0,     0,  2022,     0,     0,     0,  2023,  2024,
4058     2025,     0,     0,   592,     0,     0,     0,     0,   592,     0,
4059     2033,  2034,     0,     0,     0,  2026,     0,     0,     0,     0,
4060        0,  4309,     0,  2028,     0,  2035,     0,     0,     0,     0,
4061     2029,     0,     0,     0,  3220,     0,     0,     0,  3220,  3220,
4062        0,  3220,     0,     0,     0,     0,  3827,     0,     0,     0,
4063        0,     0,     0,     0,     0,  2030,     0,     0,  2036,     0,
4064        0,     0,     0,     0,  3959,     0,  3961,     0,  3963,     0,
4065        0,     0,  2037,     0,     0,  2038,     0,  3967,     0,     0,
4066        0,     0,     0,     0,     0,     0,  2031,     0,     0,     0,
4067        0,  2032,     0,     0,     0,     0,     0,     0,     0,     0,
4068     1754,     0,     0,     0,     0,     0,     0,   592,     0,     0,
4069        0,     0,     0,  2033,  2034,     0,     0,     0,  3990,     0,
4070     5463,     0,     0,     0,     0,     0,     0,     0,  2035,  1792,
4071     1795,  1796,     0,     0,     0,     0,     0,     0,     0,     0,
4072      859,   859,     0,     0,     0,  4411,     0,     0,     0,     0,
4073        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4074        0,  2036,  2039,     0,     0,  2031,     0,     0,     0,   989,
4075     2032,     0,     0,     0,     0,  2037,     0,   998,  2038,     0,
4076        0,     0,     0,     0,  1011,  1012,     0,     0,  1018,     0,
4077     1021,  1022,  2033,  2034,     0,  1024,     0,     0,     0,     0,
4078        0,     0,     0,     0,     0,     0,  1042,  2035,     0,     0,
4079     4447,  4447,  4447,     0,  4447,  4447,  4447,  4447,  4447,     0,
4080        0,  1052,     0,     0,     0,     0,     0,     0,     0,   737,
4081      737,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4082     2036,     0,     0,   737,     0,     0,  1120,     0,  1122,     0,
4083        0,     0,     0,     0,  2037,     0,     0,  2038,  1138,  2040,
4084        0,     0,  2041,  2042,  2043,  2039,  2044,  2045,  2046,  2047,
4085     2048,  2049,     0,     0,  1314,     0,  4888,     0,     0,     0,
4086        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4087      601,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4088     1314,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4089        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4090        0,  1192,     0,     0,     0,     0,     0,     0,     0,     0,
4091        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4092        0,     0,     0,  4532,  2039,  4534,     0,     0,     0,     0,
4093        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4094        0,     0,  2040,     0,     0,  2041,  2042,  2043,     0,  2044,
4095     2045,  2046,  2047,  2048,  2049,   823,     0,     0,     0,  5198,
4096        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4097        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4098        0,     0,     0,     0,     0,     0,     0,     0,     0,  1428,
4099        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4100        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4101     5206,     0,     0,     0,     0,     0,  2092,     0,     0,     0,
4102        0,  2040,     0,     0,  2041,  2042,  2043,     0,  2044,  2045,
4103     2046,  2047,  2048,  2049,     0,     0,     0,     0,  5327,     0,
4104        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4105        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4106        0,  1600,     0,     0,     0,  2021,  2145,     0,  2022,     0,
4107        0,     0,  2023,  2024,  2025,     0,     0,     0,     0,     0,
4108        0,     0,  1711,     0,     0,     0,     0,     0,     0,  2026,
4109        0,     0,     0,     0,  1722,     0,     0,  2028,     0,  1725,
4110        0,     0,  4633,  4634,  2029,     0,     0,     0,     0,  1728,
4111        0,     0,     0,  3220,  1732,  3220,  3220,     0,     0,  3220,
4112        0,     0,  1735,     0,     0,     0,     0,     0,  1745,  2030,
4113        0,  1749,     0,     0,     0,     0,     0,     0,     0,     0,
4114        0,     0,     0,     0,  2271,     0,     0,     0,     0,     0,
4115        0,     0,     0,     0,  2295,     0,     0,   737,  2021,   737,
4116        0,  2022,     0,     0,     0,  2023,  2024,  2025,     0,     0,
4117        0,     0,  1803,     0,     0,     0,     0,     0,     0,     0,
4118        0,  4693,  2026,     0,     0,  2332,     0,     0,     0,     0,
4119     2028,     0,     0,     0,     0,     0,     0,  2029,     0,     0,
4120        0,     0,     0,     0,     0,     0,     0,     0,  2355,     0,
4121        0,  2358,     0,     0,     0,  4720,     0,     0,     0,     0,
4122        0,     0,  2030,     0,     0,     0,     0,     0,     0,  4429,
4123        0,     0,     0,  4431,     0,     0,     0,     0,     0,  2031,
4124        0,     0,     0,     0,  2032,     0,     0,     0,  4447,     0,
4125        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4126        0,     0,  2406,     0,     0,     0,  2033,  2034,     0,     0,
4127        0,     0,     0,     0,     0,     0,  2424,     0,     0,     0,
4128        0,  2035,     0,     0,     0,     0,     0,   601,     0,   601,
4129        0,   601,     0,   601,     0,   601,   601,   601,     0,     0,
4130        0,     0,   601,     0,     0,     0,     0,     0,     0,     0,
4131        0,     0,     0,  1951,  2036,  -129,     0,     0,     0,     0,
4132        0,     0,     0,     0,     0,     0,     0,     0,  2037,     0,
4133        0,  2038,  2031,     1,     0,     0,     0,  2032,     0,   737,
4134        0,     0,     0,     2,     0,     3,     4,     0,  5430,     0,
4135        0,     0,     0,     0,     0,     0,     0,     0,     0,  2033,
4136     2034,     5,     0,     0,     0,     0,     0,     0,     0,     0,
4137        6,     0,     0,     0,  2035,     0,     0,     0,     0,     0,
4138        0,     0,     7,     0,     8,     9,     0,  2447,     0,     0,
4139        0,    10,     0,    11,  3838,     0,     0,     0,     0,     0,
4140        0,     0,     0,     0,    12,     0,    13,  2036,     0,  5430,
4141        0,     0,     0,     0,     0,     0,     0,     0,  2039,     0,
4142        0,  2037,     0,    14,  2038,  5430,    15,     0,     0,     0,
4143        0,     0,     0,     0,     0,     0,     0,  3220,     0,     0,
4144       16,  2501,    17,     0,  4570,     0,    18,     0,     0,     0,
4145        0,     0,    19,     0,     0,     0,     0,     0,     0,     0,
4146       20,     0,    21,     0,     0,     0,     0,     0,    22,     0,
4147     2544,     0,     0,     0,     0,     0,     0,  2557,     0,     0,
4148        0,     0,     0,     0,    23,     0,  4594,  4595,   823,     0,
4149        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4150        0,    24,     0,     0,     0,     0,     0,     0,     0,     0,
4151        0,  2039,     0,     0,     0,  2040,     0,     0,  2041,  2042,
4152     2043,     0,  2044,  2045,  2046,  2047,  2048,  2049,  2021,     0,
4153        0,  2022,  5396,     0,     0,  2023,  2024,  2025,     0,     0,
4154        0,    25,    26,     0,     0,     0,     0,    27,     0,     0,
4155        0,     0,  2026,     0,     0,     0,     0,     0,     0,    28,
4156     2028,     0,     0,     0,     0,     0,     0,  2029,     0,  2240,
4157        0,    29,  4636,  4637,     0,     0,     0,     0,     0,     0,
4158        0,     0,     0,  2632,     0,     0,     0,     0,     0,     0,
4159        0,     0,  2030,     0,     0,     0,     0,     0,     0,     0,
4160        0,     0,     0,     0,     0,     0,     0,     0,  2040,     0,
4161        0,  2041,  2042,  2043,    30,  2044,  2045,  2046,  2047,  2048,
4162     2049,     0,     0,  1314,  1314,  5449,     0,     0,    31,     0,
4163        0,     0,     0,     0,    32,    33,     0,    34,     0,  2331,
4164     2683,     0,    35,     0,     0,     0,     0,    36,     0,     0,
4165       37,  5049,  5049,     0,     0,     0,     0,    38,     0,     0,
4166        0,     0,     0,    39,    40,  1045,     0,     0,     0,  5069,
4167        0,    41,     0,     0,     0,    42,     0,     0,     0,  5077,
4168        0,     0,     0,     0,     0,    43,     0,     0,     0,     0,
4169     4733,     0,  4734,  4735,     0,     0,     0,     0,    44,     0,
4170        0,     0,  2031,  2021,     0,     0,  2022,  2032,  4739,     0,
4171     2023,  2024,  2025,     0,     0,     0,     0,     0,    45,     0,
4172        0,     0,     0,     0,     0,     0,     0,  2026,    46,  2033,
4173     2034,  2870,     0,     0,    47,  2028,     0,  2844,     0,    48,
4174        0,     0,  2029,     0,  2035,     0,     0,  2850,     0,     0,
4175        0,     0,    49,     0,     0,     0,     0,     0,     0,     0,
4176        0,     0,     0,  2021,     0,     0,  2022,  2030,     0,     0,
4177     2023,  2024,  2025,     0,     0,    50,  1365,  2036,     0,     0,
4178        0,     0,     0,     0,  1365,     0,  1365,  2026,     0,    51,
4179        0,  2037,  -129,     0,  2038,  2028,     0,     0,     0,     0,
4180        0,     0,  2029,     0,     0,     0,     0,     0,     0,     0,
4181        0,     0,     0,     0,     0,     0,  2871,     0,     0,  1314,
4182        0,     0,     0,     0,     0,     0,     0,  2030,     0,     0,
4183        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4184        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4185        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4186        0,     0,  1045,     0,     0,     0,  5212,     0,  5213,     0,
4187        0,     0,  5218,  5219,     0,     0,     0,  2031,     0,     0,
4188        0,  2039,  2032,     0,     0,     0,     0,  2492,     0,     0,
4189        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4190        0,     0,     0,     0,  2033,  2034,     0,     0,     0,     0,
4191        0,     0,     0,  3498,     0,     0,     0,     0,  3499,  2035,
4192        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4193        0,     0,     0,     0,     0,     0,  2021,  2031,     0,  2022,
4194        0,     0,  2032,  2023,  2024,  2025,     0,     0,     0,     0,
4195        0,     0,  2036,     0,     0,     0,     0,     0,     0,     0,
4196     2026,  3033,     0,  3457,  2033,  2034,  2037,     0,  2028,  2038,
4197        0,     0,     0,     0,     0,  2029,     0,  3056,  2040,  2035,
4198        0,  2041,  2042,  2043,     0,  2044,  2045,  2046,  2047,  2048,
4199     2049,     0,     0,     0,     0,  5462,     0,     0,  3083,  5049,
4200     2030,  5049,     0,     0,     0,  4967,     0,     0,     0,     0,
4201        0,     0,  2036,     0,  2615,     0,  2616,     0,     0,     0,
4202        0,     0,     0,     0,     0,     0,  2037,     0,     0,  2038,
4203        0,     0,     0,  2627,     0,  2628,     0,     0,     0,     0,
4204        0,     0,     0,     0,     0,     0,     0,     0,     0,   601,
4205        0,   601,     0,   601,     0,   601,  2039,   601,     0,     0,
4206        0,   601,     0,     0,     0,     0,     0,     0,     0,     0,
4207        0,     0,  3157,  3158,     0,     0,  5013,     0,     0,     0,
4208        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4209        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4210        0,     0,     0,     0,     0,     0,     0,     0,  1045,     0,
4211     2031,     0,     0,  2872,     0,  2032,  2039,     0,     0,     0,
4212        0,     0,     0,     0,     0,     0,     0,     0,  5060,     0,
4213        0,     0,     0,     0,     0,     0,     0,  2033,  2034,     0,
4214        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4215        0,     0,  2035,  2040,     0,     0,  2041,  2042,  2043,     0,
4216     2044,  2045,  2046,  2047,  2048,  2049,     0,     0,     0,     0,
4217        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4218     3284,  5049,     0,     0,     0,  2036,     0,     0,     0,     0,
4219     5431,     0,     0,     0,     0,     0,     0,     0,     0,  2037,
4220        0,     0,  2038,     0,     0,     0,     0,     0,     0,     0,
4221        0,     0,     0,  2040,     0,     0,  2041,  2042,  2043,     0,
4222     2044,  2045,  2046,  2047,  2048,  2049,     0,     0,     0,     0,
4223     2021,     0,     0,  2022,     0,     0,     0,  2023,  2024,  2025,
4224        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4225        0,  5431,     0,     0,  2026,     0,     0,     0,     0,     0,
4226        0,     0,  2028,     0,     0,     0,     0,  5431,     0,  2029,
4227        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4228        0,     0,     0,     0,     0,     0,  2914,  2915,     0,  2039,
4229        0,     0,     0,     0,  2030,     0,     0,     0,     0,     0,
4230        0,     0,     0,     0,     0,  2930,  2931,     0,     0,     0,
4231     2934,  2935,     0,   861,   870,  2938,     0,     0,     0,     0,
4232        0,   861,     0,   870,   861,     0,     0,     0,     0,  2949,
4233        0,     0,     0,     0,     0,     0,  2958,   870,     0,     0,
4234     2961,  2962,     0,     0,  2965,  2966,     0,     0,     0,     0,
4235        0,  2971,     0,     0,     0,     0,     0,     0,     0,     0,
4236        0,     0,     0,     0,  3429,     0,  2990,     0,  2992,     0,
4237        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4238        0,     0,     0,     0,     0,     0,  2040,  3016,     0,  2041,
4239     2042,  2043,  3018,  2044,  2045,  2046,  2047,  2048,  2049,     0,
4240        0,     0,     0,     0,  2031,  3023,     0,     0,     0,  2032,
4241        0,     0,     0,     0,  3030,     0,  2021,  3034,     0,  2022,
4242     3037,  3040,  3042,  2023,  2024,  2025,     0,  3050,  3053,     0,
4243        0,  2033,  2034,     0,     0,     0,     0,  3066,     0,     0,
4244     2026,     0,  3075,     0,     0,     0,  2035,  3079,  2028,     0,
4245        0,     0,     0,     0,     0,  2029,     0,     0,     0,     0,
4246        0,     0,     0,  3095,     0,     0,     0,     0,     0,     0,
4247     3105,  3106,     0,     0,     0,     0,  3110,   869,     0,  2036,
4248     2030,     0,     0,     0,     0,     0,   869,  3125,  3126,     0,
4249        0,     0,  3129,  2037,     0,     0,  2038,     0,     0,     0,
4250      869,     0,     0,     0,  3136,     0,     0,  3139,     0,     0,
4251        0,     0,  3142,     0,     0,     0,     0,  3144,  3145,  3559,
4252     4049,     0,  3148,     0,     0,  3152,     0,     0,     0,  3159,
4253     3160,  3161,  3162,     0,  3164,     0,     0,     0,     0,     0,
4254        0,     0,  1365,     0,     0,     0,     0,  3189,  3190,     0,
4255     3192,     0,     0,     0,     0,     0,     0,  5376,     0,     0,
4256     3200,  3201,     0,     0,  2021,  5356,     0,  2022,     0,     0,
4257        0,  2023,  2024,  2025,     0,     0,     0,     0,     0,     0,
4258        0,     0,     0,  2039,     0,     0,     0,     0,  2026,     0,
4259     2031,     0,     0,     0,     0,  2032,  2028,     0,     0,  4050,
4260        0,     0,     0,  2029,     0,   847,   849,     0,     0,   853,
4261        0,     0,     0,     0,     0,     0,     0,  2033,  2034,     0,
4262        0,     0,     0,     0,     0,  3258,     0,     0,  2030,   909,
4263     2021,     0,  2035,  2022,     0,     0,   919,  2023,  2024,  2025,
4264        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4265        0,     0,     0,  3295,  2026,     0,     0,  3503,     0,     0,
4266        0,     0,  2028,     0,     0,  2036,     0,     0,     0,  2029,
4267        0,     0,     0,     0,     0,     0,     0,     0,     0,  2037,
4268     2040,     0,  2038,  2041,  2042,  2043,     0,  2044,  2045,  2046,
4269     2047,  2048,  2049,     0,  2030,     0,     0,     0,     0,     0,
4270        0,     0,     0,     0,  5357,     0,     0,     0,     0,     0,
4271        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4272        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4273        0,     0,     0,     0,     0,     0,     0,     0,  2031,   870,
4274        0,     0,     0,  2032,     0,   870,     0,     0,     0,     0,
4275        0,     0,     0,     0,     0,     0,     0,     0,   870,     0,
4276        0,     0,     0,     0,     0,  2033,  2034,     0,     0,  2039,
4277        0,     0,     0,     0,   870,     0,     0,     0,     0,  3749,
4278     2035,     0,     0,     0,     0,     0,     0,     0,     0,   861,
4279      870,     0,     0,     0,     0,     0,   861,     0,   870,   861,
4280        0,     0,     0,     0,  2031,     0,     0,     0,     0,  2032,
4281        0,     0,   870,  2036,     0,     0,     0,     0,     0,     0,
4282     3430,     0,   870,     0,     0,     0,     0,  2037,     0,     0,
4283     2038,  2033,  2034,     0,     0,     0,     0,     0,     0,     0,
4284        0,     0,     0,     0,     0,     0,  2035,     0,  3471,     0,
4285        0,  3448,     0,     0,     0,     0,     0,     0,     0,     0,
4286        0,     0,     0,     0,     0,     0,  2040,     0,     0,  2041,
4287     2042,  2043,     0,  2044,  2045,  2046,  2047,  2048,  2049,  2036,
4288        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4289        0,     0,  2021,  2037,     0,  2022,  2038,     0,     0,  2023,
4290     2024,  2025,   869,     0,     0,     0,     0,   870,   869,     0,
4291        0,     0,     0,     0,     0,     0,  2026,  2039,     0,     0,
4292        0,   869,     0,     0,  2028,     0,     0,     0,     0,     0,
4293        0,  2029,     0,     0,     0,     0,     0,   869,     0,     0,
4294        0,     0,     0,     0,     0,     0,  3871,  3872,  3873,     0,
4295        0,     0,     0,   869,     0,     0,  2030,     0,     0,     0,
4296        0,   869,     0,  3882,     0,     0,     0,     0,     0,     0,
4297        0,     0,     0,     0,     0,   869,     0,     0,     0,     0,
4298        0,     0,     0,  2039,     0,   869,  3898,     0,     0,     0,
4299        0,     0,     0,     0,     0,     0,  3908,  3910,     0,     0,
4300        0,  3915,     0,     0,     0,     0,     0,     0,     0,     0,
4301        0,     0,     0,     0,  2040,     0,     0,  2041,  2042,  2043,
4302        0,  2044,  2045,  2046,  2047,  2048,  2049,     0,     0,     0,
4303      992,     0,     0,  2021,   995,     0,  2022,     0,     0,     0,
4304     2023,  2024,  2025,     0,     0,     0,     0,  3508,  1020,     0,
4305     1702,     0,     0,     0,     0,  1025,     0,  2026,     0,     0,
4306     3514,     0,     0,     0,     0,  2028,  2031,     0,   861,     0,
4307      869,  2032,  2029,     0,   861,     0,     0,   861,     0,     0,
4308     2040,     0,     0,  2041,  2042,  2043,     0,  2044,  2045,  2046,
4309     2047,  2048,  2049,  2033,  2034,     0,     0,  2030,     0,     0,
4310        0,     0,     0,     0,     0,  3647,     0,     0,  2035,  3649,
4311        0,     0,  1314,     0,     0,  3651,     0,     0,     0,     0,
4312        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4313        0,     0,     0,  3662,  3664,     0,     0,     0,  3664,     0,
4314        0,  2036,     0,  3675,  3676,  3677,     0,  3679,     0,     0,
4315        0,     0,     0,     0,     0,  2037,     0,     0,  2038,     0,
4316        0,     0,     0,     0,     0,  2021,     0,     0,  2022,     0,
4317     3701,     0,  2023,  2024,  2025,     0,     0,     0,     0,     0,
4318     3707,  3708,  3709,  3710,     0,     0,     0,     0,     0,  2026,
4319        0,     0,     0,     0,     0,     0,     0,  2028,     0,     0,
4320        0,     0,     0,     0,  2029,     0,     0,  2031,     0,     0,
4321        0,     0,  2032,  1701,     0,     0,     0,  3727,     0,     0,
4322     3732,  3733,  3734,     0,     0,     0,   870,     0,     0,  2030,
4323        0,     0,     0,     0,  2033,  2034,     0,     0,  3754,     0,
4324     4089,  4090,  4091,     0,   870,  2039,     0,     0,     0,  2035,
4325        0,     0,     0,     0,     0,     0,     0,     0,  3762,     0,
4326        0,   870,     0,     0,     0,     0,     0,     0,     0,     0,
4327        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4328        0,     0,  2036,     0,     0,     0,     0,     0,     0,   870,
4329        0,     0,     0,     0,  1497,  1498,  2037,     0,     0,  2038,
4330      870,  2021,     0,     0,  2022,     0,     0,     0,  2023,  2024,
4331     2025,     0,     0,     0,     0,   870,     0,     0,   870,     0,
4332        0,     0,     0,     0,     0,  2026,     0,     0,  4056,     0,
4333     3804,     0,     0,  2028,     0,     0,     0,     0,  3808,  2031,
4334     2029,     0,  2040,     0,  2032,  2041,  2042,  2043,     0,  2044,
4335     2045,  2046,  2047,  2048,  2049,     0,     0,     0,     0,     0,
4336        0,     0,     0,     0,     0,  2030,  2033,  2034,     0,  3822,
4337        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4338        0,  2035,     0,     0,     0,     0,  2039,     0,     0,   869,
4339        0,     0,  1731,     0,     0,     0,  3868,     0,     0,     0,
4340        0,     0,     0,     0,     0,     0,     0,   869,     0,     0,
4341        0,     0,     0,     0,  2036,     0,     0,     0,     0,     0,
4342        0,  1756,  1757,     0,   869,     0,     0,     0,  2037,     0,
4343        0,  2038,     0,     0,     0,     0,   870,     0,     0,     0,
4344        0,     0,     0,     0,   870,   870,     0,  1798,  3905,     0,
4345        0,     0,   869,  3911,     0,     0,     0,     0,     0,     0,
4346        0,     0,     0,   869,     0,     0,     0,     0,     0,     0,
4347        0,     0,     0,     0,     0,  2031,     0,     0,   869,     0,
4348     2032,   869,     0,  2040,  3948,     0,  2041,  2042,  2043,     0,
4349     2044,  2045,  2046,  2047,  2048,  2049,     0,     0,     0,     0,
4350        0,  2021,  2033,  2034,  2022,     0,     0,     0,  2023,  2024,
4351     2025,     0,     0,  1702,     0,     0,     0,  2035,  2039,     0,
4352        0,  1867,  1869,  3964,     0,  3965,     0,     0,  4330,     0,
4353        0,     0,     0,  2028,     0,     0,     0,     0,     0,  4343,
4354     2029,     0,     0,     0,     0,     0,     0,     0,  4002,     0,
4355     2036,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4356        0,     0,     0,     0,  2037,  2030,     0,  2038,     0,     0,
4357     4374,     0,     0,     0,  2021,     0,     0,  2022,     0,     0,
4358        0,  2023,  2024,  2025,     0,     0,     0,     0,     0,     0,
4359        0,     0,     0,     0,     0,     0,     0,     0,  2026,   869,
4360        0,     0,     0,     0,  2557,     0,  2028,   869,   869,     0,
4361        0,     0,     0,  2029,     0,  2040,     0,     0,  2041,  2042,
4362     2043,     0,  2044,  2045,  2046,  2047,  2048,  2049,     0,     0,
4363        0,     0,     0,     0,     0,     0,     0,     0,  2030,     0,
4364        0,     0,     0,     0,     0,     0,     0,     0,     0,  2632,
4365        0,     0,     0,     0,  2039,     0,     0,     0,     0,     0,
4366        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4367        0,     0,     0,     0,     0,  2031,  1701,     0,     0,     0,
4368     2032,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4369        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4370        0,     0,  2033,  2034,     0,     0,   870,     0,     0,     0,
4371        0,     0,     0,     0,     0,     0,     0,  2035,     0,     0,
4372        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4373        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4374        0,     0,     0,     0,     0,     0,     0,     0,  2031,     0,
4375     2036,  2040,     0,  2032,  2041,  2042,  2043,     0,  2044,  2045,
4376     2046,  2047,  2048,  2049,  2037,  4500,  4501,  4502,  4503,     0,
4377        0,     0,     0,     0,     0,  2033,  2034,     0,  4179,     0,
4378     4180,     0,     0,     0,     0,     0,     0,  4182,     0,     0,
4379     2035,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4380        0,     0,     0,  4192,     0,     0,     0,     0,     0,     0,
4381        0,     0,     0,     0,     0,     0,     0,     0,     0,  4200,
4382        0,     0,     0,  2036,     0,     0,     0,     0,     0,     0,
4383        0,     0,     0,     0,     0,     0,     0,  2037,  4221,     0,
4384     2038,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4385        0,     0,     0,     0,  2039,     0,  4225,  1702,     0,     0,
4386        0,     0,     0,     0,     0,     0,  4234,     0,     0,   869,
4387        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4388        0,   870,     0,     0,     0,  4263,     0,     0,     0,   870,
4389        0,  2299,     0,     0,     0,     0,     0,     0,  4271,  4272,
4390     4273,   870,     0,     0,     0,  4277,  4278,  4279,  4280,     0,
4391        0,     0,  4282,  4283,     0,     0,     0,     0,  4290,  4291,
4392        0,  4293,  4294,  4295,  4296,  4297,  4298,  2039,  4300,     0,
4393        0,     0,     0,     0,     0,     0,  2021,  4308,     0,  2022,
4394     4311,  4312,     0,  2023,  2024,  2025,     0,     0,     0,     0,
4395        0,  2040,     0,     0,  2041,  2042,  2043,     0,  2044,  2045,
4396     2046,  2047,  2048,  2049,  3664,     0,     0,     0,  2028,     0,
4397        0,     0,     0,   861,   861,  2029,   870,   870,     0,     0,
4398        0,     0,     0,     0,     0,     0,  4333,     0,   861,     0,
4399      870,   861,  2402,  2403,  2404,  2405,     0,     0,     0,     0,
4400     2030,     0,     0,   870,   870,     0,     0,     0,     0,     0,
4401        0,     0,     0,     0,     0,     0,     0,     0,     0,   870,
4402     1701,     0,     0,     0,  2040,     0,     0,  2041,  2042,  2043,
4403        0,  2044,  2045,  2046,  2047,  2048,  2049,     0,     0,     0,
4404        0,     0,     0,     0,   869,     0,     0,     0,     0,     0,
4405        0,   861,   869,     0,   861,   861,     0,     0,     0,     0,
4406        0,     0,     0,     0,   869,     0,     0,     0,     0,     0,
4407        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4408        0,     0,     0,     0,  3664,     0,     0,     0,     0,     0,
4409        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4410        0,     0,  4727,     0,     0,     0,     0,     0,     0,     0,
4411     2031,     0,     0,     0,     0,  2032,     0,     0,  4441,     0,
4412        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4413        0,     0,     0,  2455,  2456,     0,     0, -2635, -2635,   869,
4414      869,  1702,     0,     0,     0,     0,     0,     0,     0,     0,
4415        0,     0,  2035,   869,     0,     0,  2482,     0,     0,     0,
4416        0,     0,     0,     0,     0,     0,   869,   869,     0,     0,
4417        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4418        0,     0,   869,     0,     0, -2635,     0,     0,     0,     0,
4419        0,  2527,  2528,  2529,  2530,     0,     0,     0,     0,  2037,
4420        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4421        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4422        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4423        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4424        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4425        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4426        0,     0,     0,     0,   870,     0,     0,     0,     0,     0,
4427        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4428        0,     0,   870,     0,     0,     0,     0,  1702,   870,  2039,
4429        0,     0,   870,     0,     0,     0,     0,     0,     0,     0,
4430      870,     0,     0,     0,  1701,     0,     0,     0,     0,  2625,
4431        0,     0,     0,     0,     0,  2629,     0,     0,   870,     0,
4432        0,     0,     0,     0,  4574,     0,     0,     0,  4575,  4576,
4433     4577,  4578,     0,  4886,  4580,     0,     0,     0,     0,     0,
4434      861,     0,     0,   861,   861,     0,     0,     0,  4898,     0,
4435        0,     0,     0,  1314,     0,     0,     0,     0,     0,     0,
4436        0,     0,     0,     0,   870,     0,  4599,  4600,  4601,     0,
4437     4602,     0,  4604,  4605,     0,     0,     0,     0,     0,  4934,
4438        0,     0,   870,   870,  4614,  4615,  2040,     0,     0,  2041,
4439     2042,  2043,     0,  2044,  2045,  2046,  2047,  2048,  2049,     0,
4440        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4441        0,  4620,     0,     0,  1702,   870,     0,     0,  1702,     0,
4442        0,     0,     0,     0,     0,     0,     0,   869,     0,     0,
4443        0,     0,     0,     0,  4631,     0,     0,     0,     0,     0,
4444        0,   870,     0,  1702,  2795,   869,     0,     0,   870,     0,
4445     1701,   869,     0,     0,   870,   869,     0,     0,     0,     0,
4446        0,   870,     0,   869,     0,   870,     0,     0,     0,     0,
4447      870,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4448        0,   869,     0,     0,     0,     0,     0,     0,     0,     0,
4449      870,     0,     0,     0,     0,   870,     0,     0,     0,   870,
4450        0,  5019,  1702,     0,     0,     0,     0,     0,     0,     0,
4451        0,  4684,   870,     0,     0,     0,     0,     0,     0,     0,
4452        0,     0,     0,     0,     0,   870,     0,   869,     0,     0,
4453        0,     0,     0,     0,     0,   870,     0,     0,     0,     0,
4454     4713,     0,     0,     0,     0,   869,   869,     0,     0,     0,
4455        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4456        0,     0,     0,     0,     0,  4736,     0,     0,     0,     0,
4457        0,     0,     0,     0,     0,     0,     0,  1701,   869,     0,
4458        0,  1701,     0,     0,     0,     0,     0,     0,     0,     0,
4459        0,     0,     0,     0,     0,     0,     0,  5107,     0,     0,
4460        0,     0,     0,  1702,   869,     0,  1701,     0,     0,     0,
4461        0,   869,     0,     0,     0,  1290,  1290,   869,     0,     0,
4462        0,     0,     0,     0,   869,     0,     0,     0,   869,     0,
4463        0,     0,     0,   869,     0,  2977,  2978,     0,     0,     0,
4464        0,     0,     0,     0,     0,     0,  2991,     0,  2993,     0,
4465        0,     0,  2997,   869,     0,     0,     0,     0,   869,     0,
4466        0,     0,   869,     0,     0,  1701,     0,     0,     0,     0,
4467        0,   601,     0,     0,     0,   869,     0,     0,     0,     0,
4468        0,   870,     0,     0,     0,     0,     0,     0,   869,     0,
4469        0,     0,     0,     0,     0,     0,     0,     0,   869,     0,
4470        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4471        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4472        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4473        0,     0,     0,  4836,  1094,     0,   870,     0,     0,     0,
4474        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4475        0,  4846,     0,     0,     0,     0,  4851,  4852,     0,     0,
4476     1094,     0,  1613,  1617,     0,     0,  1701,     0,     0,     0,
4477        0,     0,     0,     0,     0,     0,     0,     0,   870,     0,
4478        0,     0,  3135,     0,     0,  3138,     0,     0,     0,     0,
4479        0,     0,     0,     0,     0,     0,   870,     0,     0,     0,
4480        0,     0,     0,     0,   870,     0,     0,     0,     0,  4912,
4481        0,     0,     0,     0,   861,     0,     0,   861,     0,     0,
4482      861,     0,     0,     0,     0,     0,     0,     0,     0,  4929,
4483        0,  4931,     0,     0,     0,     0,     0,     0,     0,     0,
4484        0,     0,     0,     0,   869,     0,     0,     0,     0,     0,
4485        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4486        0,     0,     0,     0,  3223,     0,  3664,     0,     0,     0,
4487        0,     0,  3230,  4966,     0,  3233,     0,     0,     0,     0,
4488        0,  3235,     0,     0,     0,     0,  1702,     0,     0,     0,
4489     1093,     0,  1702,     0,     0,  3251,     0,     0,     0,   869,
4490        0,     0,   612,     0,     0,     0,     0,   613,     0,     0,
4491        0,     0,     0,     0,     0,     0,  1093,     0,     0,   614,
4492        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4493        0,     0,     0,     0,     0,     0,  3297,     0,     0,  5006,
4494        0,   869,   615,     0,     0,     0,     0,     0,     0,     0,
4495        0,     0,     0,     0,     0,   616,     0,     0,     0,   869,
4496        0,  5023,     0,     0,  3320,     0,   617,   869,   870,     0,
4497     -865,     0,  5031,     0,     0,     0,     0,     0,     0,     0,
4498        0,     0,     0,     0,     0,     0,     0,     0,   618,     0,
4499        0,     0,     0,     0,   619,     0,     0,  1616,     0,     0,
4500        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4501        0,   620,     0,  1094,     0,     0,     0,     0,     0,  3380,
4502        0,  3382,   621,     0,     0,     0,     0,     0,     0,     0,
4503      622,     0,     0,     0,     0,  5100,     0,     0,  1094,     0,
4504        0,     0,   623,     0,  1978,     0,     0,     0,     0,  1701,
4505      624,     0,     0,  1094,   625,  1701,   870,   870,     0,     0,
4506        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4507        0,     0,     0, -1094,  1992,     0,     0,     0,     0,     0,
4508        0,     0,     0,   870,     0,     0,   870,     0,     0,     0,
4509        0,     0,     0,     0,     0,     0,     0,     0,  3664,     0,
4510        0,     0,  2010,  2011,  2012,     0,  2014,     0,     0,     0,
4511      626,     0,     0,     0,     0,     0,     0,     0,     0,  -583,
4512        0,     0,     0,     0,     0,     0,  2056,     0,     0,  3447,
4513        0,   869,     0,     0,     0,     0,     0,     0,  1094,     0,
4514        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4515        0,     0,     0,   627,     0,     0,   628,     0,     0,  5186,
4516        0,     0,     0,     0,     0,     0,     0,     0,     0,  1093,
4517        0,  1702,  1702,  1702,  5199,     0,   629,     0,     0,     0,
4518        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4519      630,     0,     0,     0,  1093,   870,     0,  -457,  2112,     0,
4520        0,     0,  2124,  2129,     0,     0,     0,     0,     0,  1093,
4521        0,     0,     0,     0,     0,   870,   631,     0,     0,   869,
4522      869,     0,     0,     0,     0,   632,     0,     0,  5229,     0,
4523        0,     0,  -457,     0,   870,   633,     0,     0,     0,     0,
4524        0,     0,     0,  5240,     0,     0,   869,  1094,     0,   869,
4525        0,     0,     0,     0,   634,     0,     0,     0,     0,     0,
4526      635,     0,     0,     0,     0,  -457,     0,     0,   636,   637,
4527        0,   638,   639,     0,     0,     0,     0,     0,     0,     0,
4528        0,     0,   640,     0,     0,     0,     0,   641,     0,     0,
4529        0,     0,     0,   642,  1093,     0,   643,     0,     0,   644,
4530        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4531        0,     0,  -457,     0,     0,     0,   870,     0,     0,     0,
4532        0,     0,     0,     0,  5300,     0,     0,     0,     0,     0,
4533        0,     0,     0,     0,  1701,  1701,  1701,     0,     0,  1465,
4534        0,     0,     0,     0,     0,  1466,     0,     0,     0,     0,
4535        0,     0,  1532,     0,     0,     0,     0,     0,   869,     0,
4536        0,     0,     0,     0,     0,     0,     0,  1702,     0,  5323,
4537        0,  1533,     0,     0,   870,     0,   870,     0,   869,     0,
4538        0,     0,     0,     0,     0,     0,     0,  1468,     0,   870,
4539        0,   870,     0,     0,     0,     0,  3653,   869,  3654,  3655,
4540     3656,     0,     0,  1093,     0,     0,     0,     0,     0,     0,
4541        0,     0,     0,  1702,     0,     0,     0,     0,     0,     0,
4542        0,  1534,     0,     0,     0,     0,     0,     0,     0,     0,
4543        0,     0,     0,     0,     0,  1613,  1613,  1613,     0,     0,
4544        0,  1470,     0,     0,     0,     0,     0,     0,  1471,     0,
4545        0,  1472,     0,     0,   870,     0,  2167,  5389,     0,     0,
4546        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4547        0,     0,     0,     0,     0,     0,  1473,     0,     0,   869,
4548        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4549        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4550        0,     0,     0,     0,     0,   870,     0,  1535,     0,     0,
4551     1474,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4552        0,  2167,     0,   870,     0,     0,     0,     0,     0,     0,
4553     1701,     0,     0,     0,     0,     0,     0,   869,     0,   869,
4554        0,     0,     0,     0,  2077,   870,     0,     0,   870,     0,
4555        0,     0,   869,     0,   869,  1536,     0,     0,  1537,     0,
4556        0,     0,  1094,     0,     0,     0,     0,     0,     0,  1538,
4557        0,  1476,     0,     0,     0,     0,  1701,     0,     0,     0,
4558        0,  1477,     0,     0,     0,     0,     0,     0,     0,     0,
4559     1478,     0,     0,     0,     0,  1094,     0,     0,     0,     0,
4560        0,  1539,  1479,     0,     0,     0,     0,     0,     0,     0,
4561        0,     0,  1093,     0,     0,     0,     0,   869,     0,     0,
4562        0,     0,     0,     0,     0,     0,     0,     0,  1702,     0,
4563        0,     0,     0,     0,     0,     0,  3815,     0,     0,     0,
4564     1540,     0,     0,  1481,  1482,  1541,     0,     0,     0,     0,
4565        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4566        0,     0,     0,     0,     0,     0,     0,  1542,   869,     0,
4567     1616,  1616,  1616,  1543,     0,     0,     0,  1093,     0,     0,
4568        0,     0,     0,     0,     0,     0,   869,  1544,     0,     0,
4569        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4570        0,     0,     0,     0,     0,     0,     0,     0,   869,     0,
4571        0,   869,     0,     0,     0,     0,     0,     0,  1093,     0,
4572        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4573        0,     0,     0,     0,     0,     0,     0,     0,  1484,     0,
4574        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4575        0,  1093,     0,     0,     0,     0,     0,     0,     0,     0,
4576        0,     0,     0,  1084,     0,     0,     0,     0,     0,     0,
4577        0,     0,     0,  1094,     0,     0,     0,     0,     0,     0,
4578        0,   870,     0,     0,     0,     0,     0,     0,     0,  1084,
4579     1094,  1701,     0,     0,     0,     0,     0,     0,     0,  2167,
4580        0,     0,     0,     0,     0,     0,     0,     0,  2726,  3968,
4581        0,  1094,     0,     0,     0,     0,     0,     0,     0,     0,
4582        0,  2746,     0,  2748,     0,     0,  2760,  2763,  2768,     0,
4583        0,     0,  1702,  2774,     0,     0,  2779,  1702,     0,  1702,
4584        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4585        0,  2786,  2787,  2788,  2789,     0,     0,     0,     0,  2796,
4586        0,  1702,     0,  2808,     0,     0,  2810,  1094,     0,  2817,
4587     2818,  2819,  2820,  2821,  2822,  2823,  2824,  2825,     0,  2826,
4588     1702,  1094,     0,     0,     0,     0,  1290,     0,  1613,     0,
4589        0,     0,     0,  1094,     0,     0,   870,     0,     0,   870,
4590        0,     0,     0,     0,     0,  1094,     0,     0,     0,     0,
4591        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4592        0,     0,     0,     0,     0,     0,     0,  1465,  2863,  1093,
4593        0,     0,     0,  1466,     0,     0,     0,     0,     0,     0,
4594     1532,     0,     0,     0,   869,     0,  1093,     0,     0,  1094,
4595     1094,     0,     0,  2011,  2012,  1093,     0,     0,     0,  1533,
4596        0,     0,     0,     0,     0,     0,     0,  1093,     0,     0,
4597        0,     0,     0,     0,     0,  1468,     0,     0,     0,     0,
4598        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4599        0,   870,   870,     0,     0,  1701,     0,     0,     0,     0,
4600     1701,   870,  1701,     0,     0,     0,     0,     0,     0,  1534,
4601        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4602      870,     0,     0,  1093,  1701,     0,     0,     0,     0,  1470,
4603        0,     0,     0,     0,     0,  2963,  1471,  1093,     0,  1472,
4604        0,     0,  1084,  1701,     0,     0,     0,     0,     0,  1093,
4605        0,     0,     0,     0,     0,     0,     0,     0,     0,   869,
4606        0,  1093,   869,     0,  1473,     0,     0,  1084,     0,     0,
4607        0,  4185,  4186,  4187,  4188,     0,     0,     0,     0,     0,
4608        0,     0,  1084,     0,     0,  1094,     0,     0,     0,     0,
4609        0,     0,     0,   870,   664,  1535,     0,     0,  1474,   665,
4610        0,     0,     0,     0,     0,  1093,  1093,     0,     0,     0,
4611        0,   666,     0,     0,     0,     0,     0,     0,     0,     0,
4612        0,     0,     0,  1616,     0,     0,     0,     0,     0,     0,
4613        0,     0,     0,     0,   667,     0,     0,     0,     0,     0,
4614        0,     0,     0,  1536,     0,     0,  1537,   668,     0,     0,
4615        0,     0,     0,     0,   869,   869,     0,  1538,     0,  1476,
4616        0,     0,   669,     0,   869,     0,     0,  1084,     0,  1477,
4617        0,     0,     0,     0,     0,     0,     0,     0,  1478,     0,
4618      670,     0,     0,   869,     0,     0,     0,     0,     0,  1539,
4619     1479,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4620        0,     0,     0,   671,     0,     0,     0,     0,     0,     0,
4621        0,     0,     0,     0,   672,     0,     0,     0,     0,     0,
4622     2918,     0,   673,     0,  2167,  2924,     0,     0,  3130,     0,
4623        0,  1481,  1482,  1541,   674,     0,     0,     0,     0,   675,
4624        0,  1093,     0,     0,     0,     0,   676,     0,     0,     0,
4625        0,     0,     0,     0,     0,  1542,   869,     0,  4329,     0,
4626        0,  3131,     0,     0,  4332,   677,  3211,  3212,  1613,     0,
4627        0,     0,  3216,     0,     0,  1544,  1084,     0,     0,     0,
4628        0,     0,     0,     0,  1086,     0,  1094,     0,     0,     0,
4629        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4630     1094,     0,     0,     0,     0,     0,     0,  3249,     0,     0,
4631     1086,   678,   870,     0,     0,     0,     0,  1702,     0,     0,
4632        0,     0,     0,     0,     0,     0,  1484,     0,     0,     0,
4633        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4634     1094,     0,     0,     0,     0,   679,     0,     0,     0,     0,
4635      870,     0,     0,     0,     0,     0,     0,     0,   680,     0,
4636        0,     0,   870,     0,     0,     0,     0,     0,   681,     0,
4637        0,     0,     0,     0,     0,     0,  1093,     0,   206,   682,
4638     1093,  1093,   683,     0,     0,     0,     0,     0,     0,   870,
4639        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4640        0,     0,     0,     0,     0,     0,     0,     0,   684,     0,
4641        0,   685,     0,     0,     0,   686,     0,   687,     0,     0,
4642        0,     0,     0,     0,   688,     0,     0,   689,     0,     0,
4643        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4644        0,     0,  1093,     0,     0,     0,   690,     0,     0,     0,
4645        0,     0,   691,     0,     0,     0,  1093,   692,     0,     0,
4646      693,     0,     0,     0,   694,     0,     0,     0,     0,     0,
4647        0,     0,   695,     0,   696,   869,     0,     0,   942,   697,
4648     1701,     0,     0,   943,   870,  1084,     0,     0,     0,     0,
4649        0,   698,     0,     0,     0,     0,  1093,     0,     0,     0,
4650        0,     0,     0,  1616,   699,     0,     0,     0,     0,     0,
4651        0,     0,     0,   869,     0,     0,     0,     0,   944,     0,
4652        0,     0,     0,     0,     0,   869,     0,     0,     0,     0,
4653        0,   945,   946,     0,     0,     0,     0,     0,     0,     0,
4654        0,     0,   947,  1094,     0,     0,   948,     0,     0,     0,
4655     1084,  3453,   869,     0,     0,     0,  3459,     0,   870,     0,
4656        0,     0,     0,  1086,   949,     0,     0,     0,     0,     0,
4657        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4658        0,  2014,     0,     0,     0,     0,     0,   950,  1086,     0,
4659        0,  1084,  2768,     0,  2768,  2768,     0,     0,   951,     0,
4660        0,     0,     0,  1086,     0,  3517,   952,     0,  3520,     0,
4661     3522,     0,     0,     0,     0,     0,     0,     0,   953,     0,
4662        0,     0,     0,   954,  1084,  2167,     0,     0,     0,     0,
4663        0,     0,     0,     0,     0,     0,  1087,     0,     0,  3540,
4664        0,  3543,     0,  3545,     0,     0,     0,   869,     0,   955,
4665        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4666        0,     0,  1087,     0,   870,     0,   870,     0,     0,     0,
4667        0,     0,     0,     0,   956,     0,     0,     0,     0,     0,
4668        0,     0,     0,     0,     0,     0,     0,     0,  1086,     0,
4669        0,     0,     0,     0,     0,   957,     0,  2112,     0,  1093,
4670     4628,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4671        0,   870,  2129,     0,     0,  4632,     0,     0,     0,     0,
4672      861,   869,     0,     0,     0,     0,     0,     0,     0,   958,
4673        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4674        0,     0,     0,  1094,     0,     0,     0,     0,     0,     0,
4675        0,     0,   959,     0,     0,     0,     0,     0,  1702,     0,
4676     1094,     0,   206,   960,   861,     0,   961,     0,     0,     0,
4677        0,     0,     0,     0,     0,  1094,  3633,     0,     0,     0,
4678        0,  1093,     0,     0,     0,     0,     0,     0,     0,     0,
4679        0,     0,   962,     0,     0,   963,     0,  1086,     0,   964,
4680        0,   965,  1084,     0,  4698,     0,     0,     0,   966,     0,
4681        0,   967,     0,     0,     0,     0,     0,     0,     0,  1084,
4682        0,     0,     0,     0,     0,     0,     0,   869,  1084,   869,
4683      968,     0,     0,     0,     0,     0,   969,     0,     0,     0,
4684     1084,   970,     0,     0,   971,     0,     0,     0,   972,     0,
4685        0,     0,     0,     0,     0,     0,   973,     0,   974,     0,
4686        0,     0,     0,   975,     0,     0,     0,     0,     0,     0,
4687        0,     0,     0,     0,   869,     0,     0,     0,     0,     0,
4688        0,     0,     0,     0,     0,     0,     0,     0,   976,     0,
4689        0,     0,     0,     0,     0,     0,  1084,     0,     0,  1093,
4690        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4691     1084,     0,     0,     0,     0,  1087,  1093,     0,     0,     0,
4692        0,  1701,  1084,     0,     0,     0,     0,     0,     0,     0,
4693        0,  1093,     0,     0,  1084,     0,     0,     0,     0,     0,
4694     1087,     0,     0,     0,  1702,     0,     0,     0,     0,     0,
4695        0,     0,     0,     0,     0,  1087,     0,     0,     0,     0,
4696        0,     0,     0,     0,     0,     0,     0,     0,     0,   870,
4697        0,     0,  4817,  4818,  4818,     0,     0,     0,  1084,  1084,
4698     2167,   870,     0,  2924,     0,  2924,     0,     0,     0,     0,
4699     2167,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4700        0,     0,     0,     0,     0,     0,  1086,     0,     0,     0,
4701        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4702        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4703        0,     0,     0,     0,     0,  1613,     0,     0,     0,  1094,
4704     1087,  1613,     0,     0,     0,     0,     0,     0,     0,     0,
4705        0,     0,     0,     0,     0,     0,     0,     0,  1094,     0,
4706        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4707        0,  1086,     0,     0,     0,     0,     0,     0,     0,     0,
4708        0,     0,     0,  2167,     0,     0,     0,     0,     0,     0,
4709        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4710        0,     0,     0,     0,     0,     0,     0,  1701,     0,     0,
4711        0,     0,  1086,     0,  1084,     0,     0,     0,     0,     0,
4712        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4713        0,  4950,   869,     0,     0,  1089,  1093,     0,     0,  1093,
4714        0,  1093,     0,     0,   869,  1086,  1093,     0,     0,  1087,
4715        0,     0,     0,     0,  1094,     0,  1094,     0,     0,     0,
4716        0,  1089,     0,     0,     0,     0,     0,     0,     0,     0,
4717        0,     0,     0,     0,     0,     0,  1702,     0,   870,     0,
4718        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4719        0,     0,     0,     0,     0,  1093,     0,     0,   190,     0,
4720        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4721        0,     0,     0,     0,  1093,     0,     0,     0,     0,     0,
4722        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4723        0,     0,     0,     0,     0,     0,     0,     0,     0,  1093,
4724        0,     0,     0,     0,     0,  1094,   191,     0,     0,  1084,
4725        0,     0,     0,  1084,  1084,     0,     0,     0,     0,     0,
4726        0,   192,     0,     0,     0,     0,     0,     0,     0,     0,
4727     1616,     0,  1702,  5056,     0,  5058,  1616,     0,     0,   193,
4728        0,     0,  4003,     0,  1094,   194,     0,     0,     0,     0,
4729      870,  4007,     0,     0,     0,     0,     0,  4008,     0,  4009,
4730        0,     0,   195,     0,   861,     0,     0,     0,     0,  2924,
4731     1093,     0,  1093,   196,     0,  1084,     0,  2924,     0,   870,
4732        0,   197,     0,  1086,     0,     0,  4033,  4034,     0,  1084,
4733        0,     0,     0,   198,     0,     0,     0,     0,   199,  1701,
4734     1086,   869,     0,     0,  2774,   200,     0,     0,     0,  1086,
4735        0,     0,  4059,     0,     0,  4062,     0,  4064,  1087,     0,
4736        0,  1086,     0,     0,   201,     0,  4068,     0,     0,  1084,
4737        0,     0,     0,     0,  4075,  4076,     0,     0,     0,   861,
4738      861,     0,     0,     0,     0,     0,  1094,     0,     0,   202,
4739        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4740        0,  1093,     0,     0,  2924,     0,  4122,     0,     0,     0,
4741      203,     0,     0,     0,  1089,     0,     0,  1086,  1094,     0,
4742        0,     0,     0,  1087,   870,     0,     0,     0,  4818,     0,
4743     4135,  1086,     0,     0,     0,  1701,     0,     0,     0,  1089,
4744     1093,     0,     0,  1086,   204,     0,  4148,     0,     0,     0,
4745        0,     0,     0,   869,  1089,  1086,     0,     0,     0,     0,
4746        0,     0,     0,     0,  1087,  1093,     0,   205,     0,     0,
4747        0,     0,     0,  1093,     0,     0,     0,   206,   207,     0,
4748        0,   208,   869,     0,     0,     0,     0,     0,     0,     0,
4749        0,     0,     0,     0,     0,     0,     0,  1087,     0,  1086,
4750     1086,     0,     0,     0,     0,     0,  1702,   209,     0,     0,
4751      210,     0,     0,     0,   211,     0,   212,  5236,     0,     0,
4752     1094,  1090,     0,   213,     0,     0,   214,     0,     0,     0,
4753        0,     0,     0,     0,     0,     0,     0,     0,     0,  1089,
4754        0,  1094,  1093,     0,     0,   215,     0,  1090,     0,     0,
4755        0,   216,     0,     0,     0,   217,   218,     0,     0,   219,
4756     1093,     0,     0,   220,     0,     0,  1094,  1702,     0,     0,
4757        0,     0,  1084,   221,  1093,     0,     0,     0,   222,     0,
4758        0,     0,     0,  1702,     0,   861,   861,   869,     0,     0,
4759      223,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4760     1094,     0,     0,   224,     0,     0,     0,     0,     0,     0,
4761        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4762        0,  5308,     0,     0,     0,     0,     0,     0,     0,     0,
4763        0,     0,     0,     0,     0,  1086,     0,     0,     0,     0,
4764        0,     0,     0,     0,     0,     0,     0,     0,  1089,     0,
4765        0,     0,     0,     0,  1084,     0,     0,     0,     0,     0,
4766        0,     0,     0,     0,     0,     0,     0,     0,     0,  1701,
4767        0,     0,     0,     0,     0,  1087,  1093,     0,     0,     0,
4768        0,     0,     0,     0,     0,     0,     0,  2167,     0,     0,
4769        0,     0,  1087,     0,     0,     0,     0,  1093,     0,     0,
4770        0,  1087,     0,     0,     0,     0,     0,     0,     0,     0,
4771        0,     0,     0,  1087,     0,     0,  5382,     0,     0,     0,
4772        0,     0,  1093,     0,     0,     0,     0,     0,     0,     0,
4773     1701,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4774        0,     0,     0,     0,     0,     0,  1701,     0,     0,  4818,
4775     4818,     0,     0,     0,     0,     0,  1093,     0,     0,     0,
4776     4415,  4416,     0,     0,     0,     0,     0,     0,     0,  1087,
4777     1086,     0,  1084,     0,  1086,  1086,     0,     0,     0,     0,
4778        0,     0,     0,  1087,     0,     0,     0,  2924,     0,  1084,
4779        0,     0,     0,     0,     0,  1087,     0,     0,     0,     0,
4780     1090,     0,     0,     0,  1084,     0,     0,  1087,     0,     0,
4781        0,  2924,     0,     0,     0,     0,     0,     0,     0,     0,
4782        0,     0,     0,     0,     0,  1090,     0,     0,     0,     0,
4783     4456,     0,     0,     0,     0,     0,  1086,     0,     0,     0,
4784     1090,  4461,     0,  1093,     0,     0,     0,     0,     0,  4818,
4785     1086,  1087,  1087,     0,     0,     0,     0,  1089,     0,     0,
4786        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4787        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4788        0,  4476,  4478,     0,     0,     0,     0,     0,  4482,  4483,
4789     1086,     0,     0,  4484,     0,     0,     0,     0,  4487,     0,
4790        0,  4490,  4491,     0,     0,     0,  4495,     0,     0,     0,
4791        0,     0,  4499,     0,     0,     0,     0,     0,     0,     0,
4792        0,     0,  1089,     0,     0,  1090,     0,     0,     0,     0,
4793        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4794        0,     0,     0,  1093,  1094,     0,     0,     0,     0,     0,
4795        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4796        0,     0,     0,  1089,  1290,     0,     0,  1093,     0,     0,
4797        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4798        0,     0,     0,     0,     0,     0,     0,  1087,     0,     0,
4799        0,  4554,     0,     0,  2167,     0,  1089,     0,     0,     0,
4800        0,     0,     0,     0,     0,     0,     0,     0,     0,  1084,
4801        0,     0,  1084,     0,  1084,     0,     0,     0,     0,  1084,
4802        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4803        0,     0,     0,     0,  1090,     0,     0,     0,     0,     0,
4804        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4805        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4806        0,     0,     0,     0,     0,     0,     0,     0,  1084,     0,
4807        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4808        0,     0,     0,     0,     0,     0,     0,  1084,     0,     0,
4809        0,     0,  4617,  1086,     0,     0,     0,     0,     0,     0,
4810     1093,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4811        0,     0,  1084,     0,     0,     0,     0,     0,     0,  1094,
4812        0,     0,  1087,     0,     0,     0,  1087,  1087,     0,  1094,
4813        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4814        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4815     1093,     0,     0,     0,     0,     0,     0,     0,     0,  4655,
4816        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4817        0,     0,     0,     0,  1089,  1086,     0,     0,     0,     0,
4818        0,     0,     0,  1084,     0,  1084,     0,     0,  1087,     0,
4819        0,  1089,     0,     0,     0,     0,     0,     0,     0,     0,
4820     1089,     0,  1087,     0,     0,     0,     0,     0,     0,     0,
4821        0,     0,  1089,     0,     0,     0,     0,     0,     0,     0,
4822        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4823        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4824        0,     0,  1087,  1090,  1094,     0,     0,     0,     0,     0,
4825        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4826        0,     0,     0,     0,     0,     0,     0,     0,  1089,     0,
4827        0,     0,     0,     0,  1084,  1093,     0,     0,     0,     0,
4828        0,     0,  1089,  1094,     0,  1093,     0,     0,     0,     0,
4829        0,     0,     0,  1086,  1089,     0,     0,     0,     0,     0,
4830        0,     0,     0,     0,  1094,     0,  1089,     0,  1090,     0,
4831     1086,     0,     0,  1084,     0,     0,  4759,  4760,     0,     0,
4832     4761,     0,     0,     0,     0,  1086,     0,     0,     0,     0,
4833        0,     0,     0,     0,     0,     0,     0,     0,  1084,     0,
4834        0,     0,     0,     0,     0,     0,  1084,     0,     0,  1090,
4835     1089,  1089,     0,     0,     0,     0,     0,  4796,  4797,     0,
4836        0,     0,     0,     0,     0,     0,     0,     0,     0,  1094,
4837        0,     0,     0,  4808,     0,     0,     0,     0,     0,     0,
4838        0,     0,  1090,     0,     0,     0,     0,     0,     0,     0,
4839        0,     0,  1092,     0,     0,     0,     0,     0,     0,     0,
4840     1093,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4841        0,     0,     0,     0,     0,  1084,     0,     0,  1092,     0,
4842        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4843        0,     0,     0,  1084,     0,     0,     0,     0,     0,  1093,
4844        0,     0,     0,     0,     0,  1087,     0,  1084,     0,     0,
4845        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4846     1093,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4847        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4848        0,  4724,     0,  1094,     0,     0,  1089,     0,     0,     0,
4849        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4850        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4851        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4852        0,     0,     0,     0,     0,  1093,     0,  1087,     0,  1094,
4853     1086,     0,     0,  1086,     0,  1086,     0,     0,     0,     0,
4854     1086,     0,     0,     0,     0,     0,     0,     0,     0,  1084,
4855        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4856     1090,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4857     1084,     0,     0,     0,     0,  2774,     0,  1090,     0,     0,
4858        0,     0,     0,     0,     0,     0,  1090,     0,     0,  1086,
4859        0,     0,     0,     0,     0,  1084,     0,     0,  1090,     0,
4860        0,     0,     0,  4989,     0,     0,     0,     0,  1086,     0,
4861        0,     0,     0,     0,     0,     0,     0,  2014,     0,     0,
4862        0,  1089,     0,     0,     0,  1089,  1089,     0,     0,  1084,
4863        0,     0,     0,  1086,     0,     0,     0,     0,     0,  1093,
4864        0,     0,     0,     0,     0,  1087,     0,     0,     0,     0,
4865        0,     0,     0,     0,  1090,     0,     0,     0,     0,  2924,
4866        0,     0,  1087,     0,     0,     0,     0,     0,  1090,     0,
4867        0,  1092,     0,     0,     0,     0,  5038,  1087,     0,     0,
4868     1090,     0,     0,     0,     0,  1093,     0,  1089,     0,     0,
4869        0,     0,  1090,     0,     0,     0,  1092,     0,     0,     0,
4870        0,  1089,     0,     0,  1086,     0,  1086,     0,     0,     0,
4871        0,  1092,     0,     0,     0,     0,  1084,     0,     0,     0,
4872        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4873        0,     0,     0,     0,     0,     0,  1090,  1090,     0,     0,
4874        0,  1089,     0,     0,     0,     0,     0,     0,     0,     0,
4875        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4876        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4877        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4878        0,     0,     0,     0,  2924,     0,     0,     0,     0,     0,
4879        0,     0,     0,     0,     0,  1086,  1092,     0,     0,     0,
4880        0,     0,     0,     0,     0,     0,     0,     0,  1094,     0,
4881        0,     0,     0,     0,     0,  1093,  1084,     0,     0,     0,
4882        0,     0,     0,     0,     0,     0,     0,     0,     0,  4796,
4883        0,     0,     0,     0,  1086,     0,     0,     0,     0,     0,
4884     1084,     0,     0,     0,     0,     0,     0,     0,  1094,     0,
4885        0,     0,     0,     0,     0,  5188,     0,     0,     0,  1086,
4886        0,     0,     0,     0,     0,     0,     0,  1086,     0,     0,
4887        0,     0,  1090,     0,     0,     0,     0,     0,     0,     0,
4888        0,     0,  1087,     0,     0,  1087,     0,  1087,     0,     0,
4889        0,     0,  1087,     0,     0,     0,     0,     0,     0,     0,
4890        0,  1094,     0,     0,     0,  1092,  1094,  1094,     0,     0,
4891        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4892        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4893        0,     0,     0,     0,     0,     0,  1086,     0,     0,     0,
4894     1093,  1087,  5243,     0,  1089,     0,     0,     0,     0,     0,
4895        0,     0,     0,     0,  1086,     0,     0,     0,     0,     0,
4896     1087,     0,     0,     0,  1093,     0,     0,     0,  1086,     0,
4897        0,     0,     0,  1084,     0,     0,  5270,  5270,  5270,     0,
4898        0,     0,     0,     0,     0,  1087,     0,     0,     0,     0,
4899        0,     0,     0,     0,     0,  4796,     0,     0,     0,     0,
4900        0,     0,     0,     0,  1093,     0,     0,  1090,     0,     0,
4901        0,  1090,  1090,     0,     0,     0,     0,     0,  4724,  1094,
4902        0,     0,     0,  1084,     0,     0,  1089,     0,     0,     0,
4903        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4904        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4905        0,     0,     0,     0,     0,     0,  1087,  1093,  1087,     0,
4906        0,     0,  1093,  1093,     0,     0,     0,     0,     0,     0,
4907     1086,     0,     0,  1090,     0,     0,     0,     0,  5332,     0,
4908        0,     0,     0,     0,     0,     0,     0,  1090,     0,     0,
4909        0,  1086,     0,     0,     0,  5270,     0,     0,     0,     0,
4910        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4911        0,     0,     0,     0,  1092,     0,  1086,     0,     0,     0,
4912        0,     0,     0,     0,     0,     0,     0,  1090,     0,     0,
4913        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4914        0,     0,     0,     0,  1089,     0,     0,  1087,  1084,     0,
4915     1086,     0,     0,     0,     0,     0,     0,     0,  1084,     0,
4916        0,  1089,     0,     0,     0,     0,     0,     0,     0,     0,
4917        0,     0,     0,     0,     0,  1093,  1089,     0,     0,  1092,
4918        0,     0,     0,     0,     0,     0,  1087,     0,     0,     0,
4919        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4920        0,     0,     0,     0,     0,     0,  5422,     0,     0,     0,
4921        0,  1087,     0,     0,     0,     0,     0,     0,     0,  1087,
4922     1092,     0,     0,     0,  1094,     0,     0,     0,     0,     0,
4923        0,     0,     0,     0,     0,     0,     0,  1086,     0,  5270,
4924        0,     0,     0,     0,     0,     0,     0,     0,     0,  5448,
4925        0,     0,     0,  1092,     0,     0,     0,     0,     0,     0,
4926        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4927        0,     0,     0,  1084,     0,     0,     0,     0,     0,     0,
4928        0,     0,     0,     0,     0,     0,     0,     0,  1087,     0,
4929        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4930        0,     0,     0,     0,     0,     0,  1087,     0,     0,     0,
4931        0,     0,  1084,     0,     0,     0,     0,     0,     0,     0,
4932     1087,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4933     1090,     0,     0,  1084,     0,     0,     0,  1086,     0,     0,
4934        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4935        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4936        0,  1086,     0,     0,     0,     0,     0,     0,     0,     0,
4937        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4938     1093,  1089,     0,     0,  1089,     0,  1089,     0,     0,     0,
4939        0,  1089,     0,     0,     0,     0,     0,     0,  1084,     0,
4940        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4941        0,     0,  1090,     0,     0,     0,     0,     0,     0,     0,
4942        0,     0,  1087,     0,     0,     0,     0,     0,     0,     0,
4943        0,  1092,     0,     0,     0,     0,     0,     0,     0,     0,
4944     1089,     0,     0,  1087,     0,     0,     0,     0,  1092,     0,
4945        0,     0,     0,     0,     0,     0,     0,  1092,     0,  1089,
4946        0,     0,     0,     0,     0,     0,     0,     0,  1087,  1092,
4947        0,     0,     0,     0,     0,  2051,     0,     0,     0,     0,
4948        0,     0,     0,     0,  1089,     0,     0,     0,     0,     0,
4949        0,     0,     0,     0,  1086,     0,     0,     0,     0,     0,
4950        0,     0,  1087,     0,     0,     0,     0,     0,     0,     0,
4951        0,     0,  1084,     0,     0,     0,     0,     0,     0,     0,
4952        0,     0,     0,     0,     0,  1092,     0,     0,     0,     0,
4953     1090,     0,     0,     0,     0,  2051,     0,     0,     0,  1092,
4954        0,     0,     0,     0,  1086,     0,     0,  1090,     0,     0,
4955        0,  1092,     0,     0,     0,  1089,     0,  1089,  1084,     0,
4956        0,     0,  1090,  1092,     0,     0,     0,     0,     0,     0,
4957        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4958        0,     0,     0,     0,     0,     0,     0,     0,     0,  1087,
4959        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4960        0,     0,     0,     0,     0,     0,     0,  1092,  1092,     0,
4961        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4962        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4963        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4964        0,     0,     0,     0,     0,     0,  1089,     0,     0,     0,
4965        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4966        0,     0,     0,     0,     0,     0,     0,     0,     0,  1086,
4967        0,     0,     0,     0,     0,     0,     0,     0,     0,  1086,
4968        0,     0,     0,     0,     0,  1089,     0,     0,  1084,  1087,
4969        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4970        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4971     1089,     0,     0,  1087,     0,     0,     0,     0,  1089,     0,
4972        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4973        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4974        0,     0,     0,  1092,     0,     0,     0,     0,     0,     0,
4975        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4976        0,     0,     0,     0,     0,     0,     0,  1090,     0,     0,
4977     1090,     0,  1090,     0,     0,     0,     0,  1090,     0,     0,
4978        0,     0,     0,     0,     0,     0,     0,  1089,     0,     0,
4979        0,     0,     0,     0,  1086,     0,     0,     0,  2051,     0,
4980        0,     0,  2051,     0,     0,  1089,     0,     0,     0,     0,
4981        0,     0,     0,  1084,     0,     0,     0,     0,     0,  1089,
4982        0,     0,     0,     0,     0,     0,  1090,     0,     0,     0,
4983        0,     0,     0,  1086,     0,     0,     0,  1084,     0,     0,
4984        0,     0,     0,     0,     0,  1090,  1087,     0,     0,     0,
4985        0,     0,     0,     0,  1086,     0,     0,     0,     0,     0,
4986        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4987     1090,     0,     0,     0,     0,     0,     0,  1084,  1092,     0,
4988        0,     0,  1092,  1092,     0,     0,     0,     0,     0,     0,
4989        0,     0,     0,     0,     0,     0,  1087,     0,     0,     0,
4990        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4991        0,     0,     0,     0,     0,     0,     0,     0,     0,  1086,
4992        0,  1089,     0,     0,     0,     0,     0,     0,     0,     0,
4993     1084,     0,     0,     0,     0,  1084,  1084,     0,     0,     0,
4994        0,  1090,  1089,  1090,  1092,     0,     0,     0,     0,     0,
4995        0,     0,     0,     0,     0,     0,     0,     0,  1092,     0,
4996        0,     0,     0,     0,     0,     0,     0,  1089,     0,     0,
4997        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4998        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4999        0,     0,     0,     0,     0,     0,     0,     0,  1092,     0,
5000        0,  1089,     0,     0,     0,     0,     0,     0,     0,     0,
5001        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5002        0,  1087,     0,     0,     0,     0,     0,     0,     0,     0,
5003        0,  1087,  1090,  1086,     0,     0,     0,     0,     0,     0,
5004        0,     0,     0,     0,     0,     0,     0,     0,  1084,     0,
5005        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5006        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5007        0,  1090,     0,     0,     0,     0,     0,     0,     0,  1086,
5008        0,     0,     0,     0,     0,     0,     0,     0,  1089,     0,
5009        0,     0,     0,     0,     0,     0,  1090,     0,     0,     0,
5010        0,     0,     0,     0,  1090,     0,     0,     0,     0,     0,
5011        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5012        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5013        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5014        0,     0,     0,     0,     0,     0,  1087,     0,     0,     0,
5015        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5016        0,     0,     0,  2051,     0,     0,     0,     0,     0,     0,
5017        0,     0,     0,  1090,     0,     0,     0,  2051,     0,     0,
5018        0,  2756,     0,     0,     0,  1087,     0,     0,  1089,     0,
5019        0,  1090,     0,     0,     0,  2051,  2051,  2051,     0,  2051,
5020        0,  1092,     0,     0,     0,  1090,  1087,     0,     0,  1086,
5021        0,     0,  1089,     0,     0,     0,     0,     0,     0,     0,
5022        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5023        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5024        0,  2051,     0,     0,     0,     0,     0,     0,     0,     0,
5025        0,     0,     0,  1084,     0,     0,     0,     0,     0,     0,
5026        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5027        0,  1087,     0,     0,     0,     0,     0,     0,     0,     0,
5028        0,     0,     0,  1092,     0,     0,     0,     0,     0,     0,
5029        0,     0,     0,     0,     0,     0,     0,  2051,     0,     0,
5030        0,     0,     0,     0,     0,     0,     0,  1090,     0,  2051,
5031        0,     0,     0,     0,  2051,     0,     0,     0,     0,     0,
5032        0,     0,     0,     0,     0,     0,     0,     0,  1090,     0,
5033        0,     0,     0,     0,  1086,     0,     0,     0,     0,     0,
5034        0,     0,     0,     0,     0,  1089,     0,     0,     0,     0,
5035        0,     0,     0,  1090,     0,     0,     0,     0,  1086,     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,  1087,     0,  1090,     0,     0,
5039        0,     0,     0,     0,     0,  1089,     0,     0,  1086,     0,
5040        0,  1092,     0,     0,     0,     0,     0,     0,     0,     0,
5041        0,     0,     0,     0,     0,     0,     0,     0,  1092,     0,
5042        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5043        0,  1087,     0,  1092,     0,     0,     0,     0,     0,     0,
5044        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5045        0,  1086,     0,     0,     0,     0,  1086,  1086,     0,     0,
5046        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5047        0,     0,     0,     0,  1090,     0,     0,     0,     0,     0,
5048        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5049        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5050        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5051        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5052     1089,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5053     1089,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5054        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5055        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5056        0,  1087,     0,     0,     0,     0,     0,     0,     0,  1086,
5057        0,     0,     0,     0,  1090,     0,     0,     0,     0,     0,
5058        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5059        0,     0,     0,     0,     0,     0,     0,     0,  1090,     0,
5060        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5061        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5062        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5063        0,     0,     0,     0,     0,     0,     0,     0,  1092,     0,
5064        0,  1092,     0,  1092,     0,  1089,     0,     0,  1092,     0,
5065        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5066        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5067        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5068        0,     0,     0,     0,  1089,     0,  1087,     0,     0,     0,
5069        0,     0,     0,     0,     0,     0,     0,  1092,     0,     0,
5070        0,     0,     0,     0,     0,  1089,     0,     0,     0,     0,
5071     1087,     0,     0,     0,     0,     0,  1092,     0,     0,     0,
5072        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5073        0,  1090,     0,     0,     0,     0,     0,     0,     0,     0,
5074        0,  1092,     0,     0,     0,     0,     0,     0,     0,     0,
5075     1087,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5076        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5077     1089,     0,     0,     0,  1086,     0,     0,     0,     0,     0,
5078        0,  1090,     0,     0,     0,     0,     0,     0,     0,     0,
5079        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5080        0,     0,     0,  1087,     0,     0,     0,     0,  1087,  1087,
5081        0,     0,  1092,     0,  1092,     0,     0,     0,     0,     0,
5082        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5083        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5084        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5085        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5086        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5087        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5088        0,     0,     0,     0,  1089,     0,     0,     0,     0,     0,
5089        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5090        0,     0,     0,  1092,     0,     0,  1090,     0,     0,     0,
5091        0,  2051,     0,     0,     0,     0,  1090,     0,     0,     0,
5092        0,  1087,     0,     0,     0,     0,     0,     0,     0,     0,
5093     1089,  2051,     0,  2051,     0,     0,  2756,  2756,     0,  3494,
5094        0,  2756,  1092,     0,     0,  2051,     0,     0,  2051,     0,
5095        0,     0,     0,  2051,     0,     0,     0,     0,     0,  2051,
5096        0,     0,     0,     0,  2051,     0,     0,  1092,     0,     0,
5097        0,  2051,  2051,  2051,  2051,  1092,     0,     0,  2756,  2756,
5098        0,  2051,     0,     0,     0,     0,     0,     0,     0,     0,
5099        0,     0,     0,  2051,     0,  2051,     0,     0,     0,     0,
5100        0,     0,  2051,  2051,  2051,  2051,  2051,  2051,  2051,  2051,
5101     2051,  2051,     0,     0,     0,     0,     0,     0,     0,     0,
5102        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5103        0,  1090,     0,     0,     0,     0,     0,     0,     0,     0,
5104        0,     0,     0,     0,  1092,     0,     0,     0,  2051,     0,
5105        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5106     1089,     0,  1092,     0,     0,     0,     0,     0,     0,     0,
5107     1090,     0,     0,     0,     0,     0,  1092,     0,     0,     0,
5108        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5109        0,  1090,     0,     0,     0,     0,     0,     0,     0,     0,
5110        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5111        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5112        0,     0,     0,     0,     0,     0,  1087,     0,     0,     0,
5113        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5114        0,     0,     0,     0,     0,     0,     0,     0,  2051,     0,
5115        0,     0,     0,     0,     0,     0,  1090,     0,     0,     0,
5116        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5117        0,     0,     0,     0,     0,     0,     0,     0,  1092,     0,
5118        0,     0,     0,     0,     0,  1089,     0,     0,     0,     0,
5119        0,     0,     0,     0,     0,     0,     0,     0,     0,  1092,
5120        0,     0,     0,     0,     0,     0,     0,     0,     0,  1089,
5121        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5122        0,     0,     0,     0,  1092,     0,     0,     0,     0,     0,
5123        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5124        0,     0,     0,     0,     0,     0,     0,     0,     0,  1089,
5125        0,     0,     0,     0,     0,     0,     0,     0,  1092,     0,
5126        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5127     1090,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5128        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5129        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5130        0,     0,  1089,     0,     0,     0,     0,  1089,  1089,     0,
5131        0,     0,     0,     0,     0,     0,  1090,     0,     0,     0,
5132        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5133        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5134        0,     0,     0,     0,     0,  1092,     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,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5138        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5139        0,     0,     0,     0,     0,     0,  2051,  2051,     0,     0,
5140        0,  2051,     0,     0,     0,     0,     0,     0,     0,     0,
5141        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5142     1089,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5143        0,     0,     0,     0,  2051,     0,     0,     0,     0,     0,
5144        0,     0,     0,     0,     0,  1092,  1090,     0,     0,     0,
5145        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5146        0,     0,     0,     0,     0,     0,     0,     0,     0,  1092,
5147        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5148        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5149        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5150        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5151        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5152        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5153        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5154        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5155        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5156        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5157        0,  1090,     0,     0,     0,     0,     0,     0,     0,     0,
5158        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5159        0,     0,     0,     0,     0,  1090,     0,     0,     0,     0,
5160        0,     0,  1092,     0,     0,     0,     0,     0,     0,     0,
5161        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5162        0,     0,     0,     0,     0,  1089,     0,     0,     0,     0,
5163        0,     0,     0,     0,     0,  1090,     0,     0,  2051,     0,
5164        0,     0,     0,     0,  2051,     0,     0,     0,     0,     0,
5165        0,     0,  1092,     0,     0,     0,     0,     0,     0,     0,
5166     3494,  3494,     0,     0,  2756,  2756,  2756,  2756,     0,     0,
5167     2756,  2756,  2756,  2756,  2756,  2756,  2756,  2756,  2756,  2756,
5168     3494,     0,     0,     0,     0,     0,     0,     0,  1090,     0,
5169        0,     0,     0,  1090,  1090,     0,     0,     0,     0,     0,
5170        0,     0,  2051,     0,     0,  2051,     0,  2051,     0,     0,
5171     3494,  3494,     0,     0,     0,     0,     0,     0,     0,     0,
5172        0,     0,     0,     0,     0,  2051,  2756,  2756,  2051,     0,
5173     2051,     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,  1092,     0,     0,
5178        0,     0,     0,     0,     0,     0,     0,  1092,     0,     0,
5179        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5180        0,     0,     0,     0,     0,     0,  1090,     0,     0,     0,
5181        0,     0,     0,     0,     0,     0,     0,     0,  2051,     0,
5182        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5183        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5184        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5185        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5186        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5187        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5188        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5189        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5190        0,     0,  1092,     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,     0,     0,     0,     0,
5194        0,  1092,     0,     0,     0,     0,     0,     0,     0,     0,
5195        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5196        0,     0,  1092,     0,     0,     0,     0,     0,     0,     0,
5197        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5198        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5199        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5200        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5201        0,  1090,     0,     0,     0,     0,     0,     0,     0,     0,
5202        0,     0,     0,     0,     0,     0,     0,  1092,     0,     0,
5203        0,     0,     0,     0,     0,     0,     0,  2756,     0,     0,
5204        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5205        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5206        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5207        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5208        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5209        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5210        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5211        0,     0,     0,     0,     0,     0,     0,     0,     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,  1092,     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,     0,     0,     0,     0,     0,     0,
5218        0,     0,     0,     0,     0,     0,     0,  1092,  2051,     0,
5219        0,     0,  2051,  2051,  2051,     0,     0,     0,     0,     0,
5220     3494,  3494,  3494,  3494,     0,     0,     0,     0,  3494,  3494,
5221     3494,  3494,  3494,  3494,  3494,  3494,  3494,  3494,  2051,  2051,
5222        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5223        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5224        0,     0,     0,     0,  2051,     0,     0,  2051,     0,  2051,
5225        0,     0,     0,  2051,     0,     0,  3494,  3494,     0,     0,
5226     2051,  2051,     0,     0,     0,     0,     0,     0,     0,     0,
5227        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5228        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5229        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5230        0,     0,     0,     0,     0,     0,     0,  2051,     0,     0,
5231        0,     0,     0,     0,     0,     0,     0,  1092,     0,     0,
5232     2051,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5233        0,     0,     0,  2051,     0,     0,     0,     0,     0,     0,
5234        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5235        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5236        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5237        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5238        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5239        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5240        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5241        0,     0,     0,     0,     0,     0,     0,     0,     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,  1092,     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,  1092,     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,  1092,     0,     0,     0,
5251        0,     0,     0,     0,     0,     0,     0,     0,     0,  3494,
5252        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5253        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5254        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5255        0,     0,     0,     0,     0,     0,     0,     0,     0,  1092,
5256        0,     0,     0,     0,  1092,  1092,     0,     0,     0,     0,
5257        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5258        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5259        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5260     2051,  2051,     0,     0,     0,     0,     0,     0,     0,     0,
5261        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5262        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5263        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5264        0,  2051,     0,     0,     0,     0,  2051,  2756,     0,     0,
5265        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5266        0,  2051,     0,  2051,     0,     0,     0,  2051,  2051,  2051,
5267        0,     0,  2051,     0,     0,  2051,  2051,  1092,     0,     0,
5268     2051,     0,     0,     0,  2051,     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,     0,     0,     0,
5273        0,     0,     0,     0,     0,     0,     0,     0,     0,  2051,
5274        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5275        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5276        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5277        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5278        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5279        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5280        0,     0,  2051,     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     2051,     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,  1092,     0,     0,     0,     0,     0,     0,     0,
5289        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5290        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5291        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5292        0,     0,     0,     0,     0,     0,     0,     0,  3494,  2756,
5293        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5294        0,     0,     0,     0,  2051,  2051,  2051,     0,     0,     0,
5295        0,     0,     0,     0,  2756,     0,     0,     0,     0,     0,
5296        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5297        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5298        0,  2051,  2051,     0,     0,     0,     0,     0,     0,     0,
5299        0,     0,     0,  2051,     0,     0,     0,     0,     0,     0,
5300        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5301        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5302        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5303        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5304        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5305        0,     0,     0,     0,     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,  3494,     0,     0,     0,     0,     0,     0,
5316        0,     0,     0,     0,     0,     0,     0,  2756,     0,     0,
5317     3494,     0,     0,     0,  2051,     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,  2051,     0,     0,     0,     0,     0,     0,
5323        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5324        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5325        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5326        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5327        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5328        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5329        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5330        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5331        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5332        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5333        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5334     3494,     0,  2756,     0,     0,     0,     0,     0,     0,     0,
5335        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5336        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5337        0,     0,     0,  2051,     0,     0,     0,     0,     0,     0,
5338        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5339        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5340        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5341        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5342        0,     0,     0,     0,     0,     0,     0,     0,  2051,     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,  2051,     0,     0,     0,     0,
5346        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5347        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5348        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5349        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5350        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5351        0,     0,     0,     0,     0,     0,     0,  2051,     0,     0,
5352        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5353        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5354        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5355        0,  2756,  2756,     0,     0,     0,     0,     0,     0,     0,
5356        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5357        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5358        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5359        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5360        0,     0,  3494,  3494,     0,     0,     0,  2051,     0,     0,
5361        0,     0,     0,     0,     0,     0,     0,     0,     0,   227,
5362     1207,   659,  1208,  1209,  1210,   720,  1211,     0,     0,     0,
5363        0,     0,     0,  2051,   228,   229,   230,   231,   232,   233,
5364      234,   235,  1607,   236,   237,   238,     0,     0,     0,     0,
5365     1212,     0,     0,   239,   240,     0,   241,   242,   243,   244,
5366      245,   246,   247,   248,  1213,   250,  1214,  1215,     0,   253,
5367      254,   255,   256,   257,   258,  1216,  1217,   259,   260,  1218,
5368     1219,   263,     0,   264,   265,   266,   267,  1220,     0,  1221,
5369        0,   270,   271,   272,   273,   274,   275,   276,   277,   278,
5370        0,   279,   280,   281,   282,   283,   284,     0,   285,   286,
5371      287,   288,  1222,  1223,  1224,  1225,  1226,  1227,  1228,   290,
5372      291,   292,   293,   294,   295,  1229,  1230,   298,  1231,   299,
5373        0,   300,   301,   302,   303,   304,   305,     0,   306,   307,
5374      308,   309,  1608,     0,   310,   311,  1065,   313,   314,     0,
5375      315,   316,   317,     0,   318,   319,   320,     0,   321,   322,
5376      323,   324,  1232,   326,   327,   328,  1233,  1234,   330,     0,
5377      331,   332,  1235,   334,     0,   335,     0,   336,   337,     0,
5378      338,   339,   340,   341,   342,     0,   343,  1236,     0,  1237,
5379      346,   347,     0,   348,   349,   350,   351,   352,   353,   354,
5380      355,   356,   357,     0,   358,   359,   360,   361,   362,   363,
5381      364,     0,   365,   366,   367,   368,   369,   370,   371,  1238,
5382     1239,     0,  1240,     0,   375,   376,   377,   378,   379,   380,
5383      381,   382,   383,   384,     0,     0,   385,  1241,   387,   388,
5384      389,     0,   390,   391,   392,  1242,  1243,   393,   394,   395,
5385      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
5386      406,   407,   408,  1244,   410,  1245,   412,   413,   414,   415,
5387     1246,   416,   417,   418,   419,  1247,  1248,   421,  1249,   423,
5388      424,   425,     0,   426,   427,     0,     0,  1250,   429,   430,
5389        0,     0,   431,   432,   433,   434,   435,   436,  1251,   438,
5390      439,   440,   441,   442,   443,   444,   445,   446,     0,   447,
5391      448,  1252,   450,   451,   452,   453,   454,     0,   455,   456,
5392      457,   458,   459,   460,   461,   462,   463,   464,  1253,   466,
5393      467,   468,   469,     0,   470,   471,   472,   473,   474,   475,
5394      476,   477,   478,   479,   480,   481,     0,   482,   483,   484,
5395      485,   486,   487,   488,   489,  1254,   491,   492,   493,   494,
5396      495,   496,   497,   498,   499,     0,   500,   501,   502,   503,
5397      504,  1255,   505,   506,   507,   508,   509,   510,   511,   512,
5398     1256,   514,     0,   515,   516,   517,   518,   519,   520,   521,
5399      522,   523,   524,   525,   526,  1257,     0,   528,   529,     0,
5400      530,   531,   532,   533,   534,   535,   536,     0,   537,  1258,
5401     1259,     0,     0,   540,   541,  1260,   543,  1261,  1262,   545,
5402      546,   547,   548,   549,   550,   551,     0,  1263,   552,   553,
5403      554,   555,   556,  1264,     0,   557,   558,   559,   560,   561,
5404      562,  1265,  1609,   564,   565,   566,   567,   568,   569,     0,
5405        0,   570,     0,     0,   571,   572,   573,   574,   575,   576,
5406      577,  1266,  1267,  1268,  1269,   582,  1270,  1271,  1272,  1273,
5407      587,   588,   589,   590,  1274,     0,     0,     0,     0,     0,
5408        0,  1275,  1276,  1610,     0,     0,     0,     0,     0,     0,
5409     1278,  1611,   227,  1207,   659,  1208,  1209,  1210,   720,  1211,
5410        0,     0,     0,     0,     0,     0,     0,   228,   229,   230,
5411      231,   232,   233,   234,   235,     0,   236,   237,   238,     0,
5412        0,     0,     0,  1212,     0,     0,   239,   240,     0,   241,
5413      242,   243,   244,   245,   246,   247,   248,  1213,   250,  1214,
5414     1215,     0,   253,   254,   255,   256,   257,   258,  1216,  1217,
5415      259,   260,  1218,  1219,   263,     0,   264,   265,   266,   267,
5416     1220,     0,  1221,     0,   270,   271,   272,   273,   274,   275,
5417      276,   277,   278,     0,   279,   280,   281,   282,   283,   284,
5418        0,   285,   286,   287,   288,  1222,  1223,  1224,  1225,  1226,
5419     1227,  1228,   290,   291,   292,   293,   294,   295,  1229,  1230,
5420      298,  1231,   299,     0,   300,   301,   302,   303,   304,   305,
5421        0,   306,   307,   308,   309,     0,     0,   310,   311,  1065,
5422      313,   314,     0,   315,   316,   317,     0,   318,   319,   320,
5423        0,   321,   322,   323,   324,  1232,   326,   327,   328,  1233,
5424     1234,   330,     0,   331,   332,  1235,   334,     0,   335,     0,
5425      336,   337,     0,   338,   339,   340,   341,   342,     0,   343,
5426     1236,     0,  1237,   346,   347,     0,   348,   349,   350,   351,
5427      352,   353,   354,   355,   356,   357,     0,   358,   359,   360,
5428      361,   362,   363,   364,     0,   365,   366,   367,   368,   369,
5429      370,   371,  1238,  1239,     0,  1240,     0,   375,   376,   377,
5430      378,   379,   380,   381,   382,   383,   384,     0,     0,   385,
5431     1241,   387,   388,   389,     0,   390,   391,   392,  1242,  1243,
5432      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
5433      403,   404,   405,   406,   407,   408,  1244,   410,  1245,   412,
5434      413,   414,   415,  1246,   416,   417,   418,   419,  1247,  1248,
5435      421,  1249,   423,   424,   425,     0,   426,   427,     0,     0,
5436     1250,   429,   430,     0,     0,   431,   432,   433,   434,   435,
5437      436,  1251,   438,   439,   440,   441,   442,   443,   444,   445,
5438      446,     0,   447,   448,  1252,   450,   451,   452,   453,   454,
5439        0,   455,   456,   457,   458,   459,   460,   461,   462,   463,
5440      464,  1253,   466,   467,   468,   469,     0,   470,   471,   472,
5441      473,   474,   475,   476,   477,   478,   479,   480,   481,     0,
5442      482,   483,   484,   485,   486,   487,   488,   489,  1254,   491,
5443      492,   493,   494,   495,   496,   497,   498,   499,    40,   500,
5444      501,   502,   503,   504,  1255,   505,   506,   507,   508,   509,
5445      510,   511,   512,  1256,   514,     0,   515,   516,   517,   518,
5446      519,   520,   521,   522,   523,   524,   525,   526,  1257,     0,
5447      528,   529,    44,   530,   531,   532,   533,   534,   535,   536,
5448        0,   537,  1258,  1259,     0,     0,   540,   541,  1260,   543,
5449     1261,  1262,   545,   546,   547,   548,   549,   550,   551,     0,
5450     1263,   552,   553,   554,   555,   556,  1264,     0,   557,   558,
5451      559,   560,   561,  1143,  1265,     0,   564,   565,   566,   567,
5452      568,   569,     0,     0,   570,     0,    49,   571,   572,   573,
5453      574,   575,   576,   577,  1266,  1267,  1268,  1269,   582,  1270,
5454     1271,  1272,  1273,   587,   588,   589,   590,  1274,     0,    50,
5455        0,     0,     0,     0,  1275,  1276,     0,     0,     0,     0,
5456        0,     0,     0,  1278,  5000,   227,  1207,   659,  1208,  1209,
5457     1210,   720,  1211,     0,     0,     0,     0,     0,     0,     0,
5458      228,   229,   230,   231,   232,   233,   234,   235,     0,   236,
5459      237,   238,     0,     0,     0,     0,  1212,     0,     0,   239,
5460      240,     0,   241,   242,   243,   244,   245,   246,   247,   248,
5461     1213,   250,  1214,  1215,     0,   253,   254,   255,   256,   257,
5462      258,  1216,  1217,   259,   260,  1218,  1219,   263,     0,   264,
5463      265,   266,   267,  1220,     0,  1221,     0,   270,   271,   272,
5464      273,   274,   275,   276,   277,   278,     0,   279,   280,   281,
5465      282,   283,   284,     0,   285,   286,   287,   288,  1222,  1223,
5466     1224,  1225,  1226,  1227,  1228,   290,   291,   292,   293,   294,
5467      295,  1229,  1230,   298,  1231,   299,     0,   300,   301,   302,
5468      303,   304,   305,     0,   306,   307,   308,   309,     0,     0,
5469      310,   311,  1065,   313,   314,     0,   315,   316,   317,     0,
5470      318,   319,   320,     0,   321,   322,   323,   324,  1232,   326,
5471      327,   328,  1233,  1234,   330,     0,   331,   332,  1235,   334,
5472        0,   335,     0,   336,   337,     0,   338,   339,   340,   341,
5473      342,     0,   343,  1236,     0,  1237,   346,   347,     0,   348,
5474      349,   350,   351,   352,   353,   354,   355,   356,   357,     0,
5475      358,   359,   360,   361,   362,   363,   364,     0,   365,   366,
5476      367,   368,   369,   370,   371,  1238,  1239,     0,  1240,     0,
5477      375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
5478        0,     0,   385,  1241,   387,   388,   389,     0,   390,   391,
5479      392,  1242,  1243,   393,   394,   395,   396,   397,   398,   399,
5480      400,   401,   402,   403,   404,   405,   406,   407,   408,  1244,
5481      410,  1245,   412,   413,   414,   415,  1246,   416,   417,   418,
5482      419,  1247,  1248,   421,  1249,   423,   424,   425,     0,   426,
5483      427,     0,     0,  1250,   429,   430,     0,     0,   431,   432,
5484      433,   434,   435,   436,  1251,   438,   439,   440,   441,   442,
5485      443,   444,   445,   446,     0,   447,   448,  1252,   450,   451,
5486      452,   453,   454,     0,   455,   456,   457,   458,   459,   460,
5487      461,   462,   463,   464,  1253,   466,   467,   468,   469,     0,
5488      470,   471,   472,   473,   474,   475,   476,   477,   478,   479,
5489      480,   481,     0,   482,   483,   484,   485,   486,   487,   488,
5490      489,  1254,   491,   492,   493,   494,   495,   496,   497,   498,
5491      499,     0,   500,   501,   502,   503,   504,  1255,   505,   506,
5492      507,   508,   509,   510,   511,   512,  1256,   514,     0,   515,
5493      516,   517,   518,   519,   520,   521,   522,   523,   524,   525,
5494      526,  1257,     0,   528,   529,     0,   530,   531,   532,   533,
5495      534,   535,   536,     0,   537,  1258,  1259,     0,     0,   540,
5496      541,  1260,   543,  1261,  1262,   545,   546,   547,   548,   549,
5497      550,   551,     0,  1263,   552,   553,   554,   555,   556,  1264,
5498        0,   557,   558,   559,   560,   561,   562,  1265,     0,   564,
5499      565,   566,   567,   568,   569,     0,     0,   570,     0,     0,
5500      571,   572,   573,   574,   575,   576,   577,  1266,  1267,  1268,
5501     1269,   582,  1270,  1271,  1272,  1273,   587,   588,   589,   590,
5502     1274,     0,     0,     0,     0,     0,     0,  1275,  1276,     0,
5503        0,     0,     0,     0,     0,     0,  1278,  2758,   227,  1207,
5504      659,  1208,  1209,  1210,   720,  1211,     0,     0,     0,     0,
5505        0,     0,     0,   228,   229,   230,   231,   232,   233,   234,
5506      235,     0,   236,   237,   238,     0,     0,     0,     0,  1212,
5507        0,     0,   239,   240,     0,   241,   242,   243,   244,   245,
5508      246,   247,   248,  1213,   250,  1214,  1215,     0,   253,   254,
5509      255,   256,   257,   258,  1216,  1217,   259,   260,  1218,  1219,
5510      263,     0,   264,   265,   266,   267,  1220,     0,  1221,     0,
5511      270,   271,   272,   273,   274,   275,   276,   277,   278,     0,
5512      279,   280,   281,   282,   283,   284,     0,   285,   286,   287,
5513      288,  1222,  1223,  1224,  1225,  1226,  1227,  1228,   290,   291,
5514      292,   293,   294,   295,  1229,  1230,   298,  1231,   299,     0,
5515      300,   301,   302,   303,   304,   305,     0,   306,   307,   308,
5516      309,     0,     0,   310,   311,  1065,   313,   314,     0,   315,
5517      316,   317,     0,   318,   319,   320,     0,   321,   322,   323,
5518      324,  1232,   326,   327,   328,  1233,  1234,   330,     0,   331,
5519      332,  1235,   334,     0,   335,     0,   336,   337,     0,   338,
5520      339,   340,   341,   342,     0,   343,  1236,     0,  1237,   346,
5521      347,     0,   348,   349,   350,   351,   352,   353,   354,   355,
5522      356,   357,     0,   358,   359,   360,   361,   362,   363,   364,
5523        0,   365,   366,   367,   368,   369,   370,   371,  1238,  1239,
5524        0,  1240,     0,   375,   376,   377,   378,   379,   380,   381,
5525      382,   383,   384,     0,     0,   385,  1241,   387,   388,   389,
5526        0,   390,   391,   392,  1242,  1243,   393,   394,   395,   396,
5527      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
5528      407,   408,  1244,   410,  1245,   412,   413,   414,   415,  1246,
5529      416,   417,   418,   419,  1247,  1248,   421,  1249,   423,   424,
5530      425,     0,   426,   427,     0,     0,  1250,   429,   430,     0,
5531        0,   431,   432,   433,   434,   435,   436,  1251,   438,   439,
5532      440,   441,   442,   443,   444,   445,   446,     0,   447,   448,
5533     1252,   450,   451,   452,   453,   454,     0,   455,   456,   457,
5534      458,   459,   460,   461,   462,   463,   464,  1253,   466,   467,
5535      468,   469,     0,   470,   471,   472,   473,   474,   475,   476,
5536      477,   478,   479,   480,   481,     0,   482,   483,   484,   485,
5537      486,   487,   488,   489,  1254,   491,   492,   493,   494,   495,
5538      496,   497,   498,   499,     0,   500,   501,   502,   503,   504,
5539     1255,   505,   506,   507,   508,   509,   510,   511,   512,  1256,
5540      514,     0,   515,   516,   517,   518,   519,   520,   521,   522,
5541      523,   524,   525,   526,  1257,     0,   528,   529,     0,   530,
5542      531,   532,   533,   534,   535,   536,     0,   537,  1258,  1259,
5543        0,     0,   540,   541,  1260,   543,  1261,  1262,   545,   546,
5544      547,   548,   549,   550,   551,     0,  1263,   552,   553,   554,
5545      555,   556,  1264,     0,   557,   558,   559,   560,   561,   562,
5546     1265,     0,   564,   565,   566,   567,   568,   569,     0,     0,
5547      570,     0,     0,   571,   572,   573,   574,   575,   576,   577,
5548     1266,  1267,  1268,  1269,   582,  1270,  1271,  1272,  1273,   587,
5549      588,   589,   590,  1274,     0,     0,     0,     0,     0,     0,
5550     1275,  1276,     0,     0,     0,     0,     0,     0,     0,  1278,
5551     4011,   227,  1207,   659,  1208,  1209,  1210,   720,  1211,     0,
5552        0,     0,     0,     0,     0,     0,   228,   229,   230,   231,
5553      232,   233,   234,   235,     0,   236,   237,   238,     0,     0,
5554        0,     0,  1212,     0,     0,   239,   240,     0,   241,   242,
5555      243,   244,   245,   246,   247,   248,  1213,   250,  1214,  1215,
5556        0,   253,   254,   255,   256,   257,   258,  1216,  1217,   259,
5557      260,  1218,  1219,   263,     0,   264,   265,   266,   267,  1220,
5558        0,  1221,     0,   270,   271,   272,   273,   274,   275,   276,
5559      277,   278,     0,   279,   280,   281,   282,   283,   284,     0,
5560      285,   286,   287,   288,  1222,  1223,  1224,  1225,  1226,  1227,
5561     1228,   290,   291,   292,   293,   294,   295,  1229,  1230,   298,
5562     1231,   299,     0,   300,   301,   302,   303,   304,   305,     0,
5563      306,   307,   308,   309,     0,     0,   310,   311,  1065,   313,
5564      314,     0,   315,   316,   317,     0,   318,   319,   320,     0,
5565      321,   322,   323,   324,  1232,   326,   327,   328,  1233,  1234,
5566      330,     0,   331,   332,  1235,   334,     0,   335,     0,   336,
5567      337,     0,   338,   339,   340,   341,   342,     0,   343,  1236,
5568        0,  1237,   346,   347,     0,   348,   349,   350,   351,   352,
5569      353,   354,   355,   356,   357,     0,   358,   359,   360,   361,
5570      362,   363,   364,     0,   365,   366,   367,   368,   369,   370,
5571      371,  1238,  1239,     0,  1240,     0,   375,   376,   377,   378,
5572      379,   380,   381,   382,   383,   384,     0,     0,   385,  1241,
5573      387,   388,   389,     0,   390,   391,   392,  1242,  1243,   393,
5574      394,   395,   396,   397,   398,   399,   400,   401,   402,   403,
5575      404,   405,   406,   407,   408,  1244,   410,  1245,   412,   413,
5576      414,   415,  1246,   416,   417,   418,   419,  1247,  1248,   421,
5577     1249,   423,   424,   425,     0,   426,   427,     0,     0,  1250,
5578      429,   430,     0,     0,   431,   432,   433,   434,   435,   436,
5579     1251,   438,   439,   440,   441,   442,   443,   444,   445,   446,
5580        0,   447,   448,  1252,   450,   451,   452,   453,   454,     0,
5581      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
5582     1253,   466,   467,   468,   469,     0,   470,   471,   472,   473,
5583      474,   475,   476,   477,   478,   479,   480,   481,     0,   482,
5584      483,   484,   485,   486,   487,   488,   489,  1254,   491,   492,
5585      493,   494,   495,   496,   497,   498,   499,     0,   500,   501,
5586      502,   503,   504,  1255,   505,   506,   507,   508,   509,   510,
5587      511,   512,  1256,   514,     0,   515,   516,   517,   518,   519,
5588      520,   521,   522,   523,   524,   525,   526,  1257,     0,   528,
5589      529,     0,   530,   531,   532,   533,   534,   535,   536,     0,
5590      537,  1258,  1259,     0,     0,   540,   541,  1260,   543,  1261,
5591     1262,   545,   546,   547,   548,   549,   550,   551,     0,  1263,
5592      552,   553,   554,   555,   556,  1264,     0,   557,   558,   559,
5593      560,   561,   562,  1265,     0,   564,   565,   566,   567,   568,
5594      569,     0,     0,   570,     0,     0,   571,   572,   573,   574,
5595      575,   576,   577,  1266,  1267,  1268,  1269,   582,  1270,  1271,
5596     1272,  1273,   587,   588,   589,   590,  1274,     0,     0,   598,
5597        0,     0,     0,  1275,  1276,     0,     0,     0,     0,     0,
5598        0,     0,  1278,  4082,   228,   229,   230,   231,   232,   233,
5599      234,   235,     0,   236,   237,   238,     0,     0,     0,     0,
5600        0,  4100,     0,   239,   240,     0,   241,   242,   243,     0,
5601      245,   246,   247,   248,   249,     0,   251,   252,     0,   253,
5602      254,   255,   256,   257,   258,     0,     0,   259,   260,   261,
5603      262,   263,     0,   264,   265,   266,   267,   268,     0,     0,
5604        0,   270,   271,   272,   273,   274,     0,   276,   277,   278,
5605        0,   279,   280,   281,   282,   283,   284,     0, -1779,   286,
5606      287,   288,     0,     0,     0,     0,     0,     0,     0,   290,
5607      291,   292,   293,   294,   295,   296,   297,   298,     0,   299,
5608        0,   300,   301,   302,   303,   304,   305,     0,   306,   307,
5609      308,   309,     0,     0,   310,   311,   312,   313,   314,     0,
5610      315,   316,   317,     0,   318,   319,   320,     0,   321,   322,
5611      323,   324,   325,   326,   327,   328,   329,     0,   330,     0,
5612      331,   332,   333,   334,     0,   335,     0,   336,     0,     0,
5613    -1779,   339,   340,   341,   342,     0,   343,   344,     0,   345,
5614      346,   347,     0,   348,   349,   350,   351,   352,     0,   354,
5615      355,   356,   357,     0,   358,   359,   360,   361,   362,   363,
5616      364,     0,   365, -1779,   367,   368,   369,   370,   371,   372,
5617      373,     0,   374,     0,   375,     0,     0,   378, -1779,   380,
5618      381,   382,   383,   384,     0,     0,   385,   386, -1779,   388,
5619        0,     0,   390,   391,   392,     0,     0,   393,   394,   395,
5620      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
5621      406,   407,   408,   409, -1779,   411,   412,   413,   414,   415,
5622        0,   416,   417,     0,   419,     0,   420,   421,   422,   423,
5623      424,   425,     0,   426,   427,     0,     0,   428,   429,   430,
5624        0,     0,   431,   432,   433,     0,   435,     0,   437,   438,
5625      439,   440,   441,   442,   443,   444,   445,   446,     0,   447,
5626      448,   449,   450,   451,   452,   453,   454,     0,   455,   456,
5627      457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
5628      467,   468,   469,     0,   470,   471,   472,   473,   474,   475,
5629      476,   477,   478,   479,   480,   481,     0,   482,   483, -1779,
5630      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
5631      495,   496,   497,   498,   499,     0,   500,   501,   502,   503,
5632      504,     0,   505,   506,   507,   508,   509,     0,   511,   512,
5633      513,   514,     0,   515,   516,   517,   518,   519,   520,   521,
5634      522,   523,   524,   525,   526,   527,     0,   528,   529,     0,
5635      530,     0,   532,   533,   534,   535,   536,     0,   537,   538,
5636      539,     0,     0,   540,   541,   542,   543,   544,     0,   545,
5637      546,   547,   548,   549,   550,   551,     0,     0,   552,   553,
5638      554,   555,   556,     0,     0,   557,   558,   559,   560,   561,
5639      562,   563,     0,   564,     0,   566,   567,   568,   569,     0,
5640        0,   570,     0,     0,   571,   572,   573,   574,   575,   576,
5641      577,   578,   579,   580,   581,   582,   583,   584,   585,   586,
5642      587,   588,   589,   590,     0,     0,     0,  1057,     0,     0,
5643        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5644        0,  1356,   228,   229,   230,   231,   232,   233,   234,   235,
5645        0,   236,   237,   238,     0,     0,     0,     0,     0,     0,
5646        0,   239,   240,     0,   241,   242,   243,   244,   245,   246,
5647      247,     0,  1058,   250,  1059,  1060,     0,   253,   254,   255,
5648      256,   257,   258,     0,     0,   259,   260,  1061,  1062,   263,
5649        0,   264,   265,   266,   267,     0,     0,   269,     0,   270,
5650      271,   272,   273,   274,   275,   276,   277,   278,     0,   279,
5651      280,   281,   282,   283,   284,     0,   285,   286,   287,   288,
5652        0,     0,     0,   289,     0,     0,     0,   290,   291,   292,
5653      293,   294,   295,  1063,  1064,   298,     0,   299,     0,   300,
5654      301,   302,   303,   304,   305,     0,   306,   307,   308,   309,
5655        0,     0,   310,   311,  1065,   313,   314,     0,   315,   316,
5656      317,     0,   318,   319,   320,     0,   321,   322,   323,   324,
5657        0,   326,   327,   328,     0,     0,   330,     0,   331,   332,
5658     1066,   334,     0,   335,     0,   336,   337,     0,   338,   339,
5659      340,   341,   342,     0,   343,     0,     0,     0,   346,   347,
5660        0,   348,   349,   350,   351,   352,   353,   354,   355,   356,
5661      357,  2153,   358,   359,   360,   361,   362,   363,   364,     0,
5662      365,   366,  2154,   368,   369,   370,   371,  1068,  1069,     0,
5663     1070,     0,   375,   376,   377,   378,   379,   380,   381,   382,
5664      383,   384,     0,     0,   385,     0,   387,   388,   389,     0,
5665      390,   391,   392,     0,     0,   393,   394,   395,   396,   397,
5666      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
5667      408,  1071,   410,  1072,   412,   413,   414,     0,     0,   416,
5668      417,   418,   419,     0,     0,   421,  1073,   423,   424,   425,
5669        0,   426,   427,     0,     0,   428,   429,   430,     0,     0,
5670      431,   432,  2156,   434,   435,   436,     0,   438,   439,   440,
5671      441,   442,   443,   444,   445,   446,     0,   447,   448,     0,
5672      450,     0,   452,   453,   454,     0,   455,   456,   457,   458,
5673      459,   460,   461,   462,   463,   464,  1074,   466,   467,   468,
5674      469,     0,   470,   471,   472,   473,   474,   475,   476,   477,
5675      478,   479,   480,   481,     0,   482,   483,   484,   485,   486,
5676      487,   488,   489,     0,   491,   492,   493,   494,   495,   496,
5677      497,   498,   499,     0,   500,   501,   502,   503,   504,     0,
5678      505,   506,  2157,   508,   509,   510,   511,   512,  1076,   514,
5679        0,   515,   516,   517,   518,   519,   520,   521,   522,   523,
5680      524,   525,   526,     0,     0,   528,   529,     0,   530,   531,
5681      532,   533,   534,   535,   536,     0,   537,  1077,  1078,     0,
5682        0,   540,   541,     0,   543,     0,     0,   545,   546,   547,
5683      548,   549,   550,   551,     0,     0,   552,   553,   554,   555,
5684      556,     0,     0,   557,   558,   559,   560,   561,     0,  1079,
5685     2158,   564,   565,   566,   567,   568,   569,     0,     0,   570,
5686        0,     0,   571,   572,   573,   574,   575,   576,  1057,     0,
5687        0,     0,     0,     0,     0,     0,     0,     0,     0,   588,
5688      589,   590,     0,   228,   229,   230,   231,   232,   233,   234,
5689      235,     0,   236,   237,   238,     0,     0,     0,     0,  2265,
5690        0,     0,   239,   240,     0,   241,   242,   243,   244,   245,
5691      246,   247,     0,  1058,   250,  1059,  1060,     0,   253,   254,
5692      255,   256,   257,   258,     0,     0,   259,   260,  1061,  1062,
5693      263,     0,   264,   265,   266,   267,     0,     0,   269,     0,
5694      270,   271,   272,   273,   274,   275,   276,   277,   278,     0,
5695      279,   280,   281,   282,   283,   284,     0,   285,   286,   287,
5696      288,     0,     0,     0,   289,     0,     0,     0,   290,   291,
5697      292,   293,   294,   295,  1063,  1064,   298,     0,   299,     0,
5698      300,   301,   302,   303,   304,   305,     0,   306,   307,   308,
5699      309,     0,     0,   310,   311,  1065,   313,   314,     0,   315,
5700      316,   317,     0,   318,   319,   320,     0,   321,   322,   323,
5701      324,     0,   326,   327,   328,     0,     0,   330,     0,   331,
5702      332,  1066,   334,     0,   335,     0,   336,   337,     0,   338,
5703      339,   340,   341,   342,     0,   343,     0,     0,     0,   346,
5704      347,     0,   348,   349,   350,   351,   352,   353,   354,   355,
5705      356,   357,  2153,   358,   359,   360,   361,   362,   363,   364,
5706        0,   365,   366,  2154,   368,   369,   370,   371,  1068,  1069,
5707        0,  1070,     0,   375,   376,   377,   378,   379,   380,   381,
5708      382,   383,   384,     0,     0,   385,     0,   387,   388,   389,
5709        0,   390,   391,   392,     0,     0,   393,   394,   395,   396,
5710      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
5711      407,   408,  1071,   410,  1072,   412,   413,   414,     0,     0,
5712      416,   417,   418,   419,     0,     0,   421,  1073,   423,   424,
5713      425,     0,   426,   427,     0,     0,   428,   429,   430,     0,
5714        0,   431,   432,  2156,   434,   435,   436,     0,   438,   439,
5715      440,   441,   442,   443,   444,   445,   446,     0,   447,   448,
5716        0,   450,     0,   452,   453,   454,     0,   455,   456,   457,
5717      458,   459,   460,   461,   462,   463,   464,  1074,   466,   467,
5718      468,   469,     0,   470,   471,   472,   473,   474,   475,   476,
5719      477,   478,   479,   480,   481,     0,   482,   483,   484,   485,
5720      486,   487,   488,   489,     0,   491,   492,   493,   494,   495,
5721      496,   497,   498,   499,     0,   500,   501,   502,   503,   504,
5722        0,   505,   506,  2157,   508,   509,   510,   511,   512,  1076,
5723      514,     0,   515,   516,   517,   518,   519,   520,   521,   522,
5724      523,   524,   525,   526,     0,     0,   528,   529,     0,   530,
5725      531,   532,   533,   534,   535,   536,     0,   537,  1077,  1078,
5726        0,     0,   540,   541,     0,   543,     0,     0,   545,   546,
5727      547,   548,   549,   550,   551,     0,     0,   552,   553,   554,
5728      555,   556,     0,     0,   557,   558,   559,   560,   561,     0,
5729     1079,  2158,   564,   565,   566,   567,   568,   569,     0,     0,
5730      570,     0,     0,   571,   572,   573,   574,   575,   576,     0,
5731      227,  1207,   659,  1208,  1209,  1210,   720,  1211,     0,     0,
5732      588,   589,   590,     0,     0,   228,   229,   230,   231,   232,
5733      233,   234,   235,     0,   236,   237,   238,     0,     0,     0,
5734     3335,  1212,     0,     0,   239,   240,     0,   241,   242,   243,
5735      244,   245,   246,   247,   248,  1213,   250,  1214,  1215,     0,
5736      253,   254,   255,   256,   257,   258,  1216,  1217,   259,   260,
5737     1218,  1219,   263,     0,   264,   265,   266,   267,  1220,     0,
5738     1221,     0,   270,   271,   272,   273,   274,   275,   276,   277,
5739      278,     0,   279,   280,   281,   282,   283,   284,     0,   285,
5740      286,   287,   288,  1222,  1223,  1224,  1225,  1226,  1227,  1228,
5741      290,   291,   292,   293,   294,   295,  1229,  1230,   298,  1231,
5742      299,     0,   300,   301,   302,   303,   304,   305,     0,   306,
5743      307,   308,   309,     0,     0,   310,   311,  1065,   313,   314,
5744        0,   315,   316,   317,     0,   318,   319,   320,     0,   321,
5745      322,   323,   324,  1232,   326,   327,   328,  1233,  1234,   330,
5746        0,   331,   332,  1235,   334,     0,   335,     0,   336,   337,
5747        0,   338,   339,   340,   341,   342,     0,   343,  1236,     0,
5748     1237,   346,   347,     0,   348,   349,   350,   351,   352,   353,
5749      354,   355,   356,   357,     0,   358,   359,   360,   361,   362,
5750      363,   364,     0,   365,   366,   367,   368,   369,   370,   371,
5751     1238,  1239,     0,  1240,     0,   375,   376,   377,   378,   379,
5752      380,   381,   382,   383,   384,     0,     0,   385,  1241,   387,
5753      388,   389,     0,   390,   391,   392,  1242,  1243,   393,   394,
5754      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
5755      405,   406,   407,   408,  1244,   410,  1245,   412,   413,   414,
5756      415,  1246,   416,   417,   418,   419,  1247,  1248,   421,  1249,
5757      423,   424,   425,     0,   426,   427,     0,     0,  1250,   429,
5758      430,     0,     0,   431,   432,   433,   434,   435,   436,  1251,
5759      438,   439,   440,   441,   442,   443,   444,   445,   446,     0,
5760      447,   448,  1252,   450,   451,   452,   453,   454,     0,   455,
5761      456,   457,   458,   459,   460,   461,   462,   463,   464,  1253,
5762      466,   467,   468,   469,     0,   470,   471,   472,   473,   474,
5763      475,   476,   477,   478,   479,   480,   481,     0,   482,   483,
5764      484,   485,   486,   487,   488,   489,  1254,   491,   492,   493,
5765      494,   495,   496,   497,   498,   499,    40,   500,   501,   502,
5766      503,   504,  1255,   505,   506,   507,   508,   509,   510,   511,
5767      512,  1256,   514,     0,   515,   516,   517,   518,   519,   520,
5768      521,   522,   523,   524,   525,   526,  1257,     0,   528,   529,
5769       44,   530,   531,   532,   533,   534,   535,   536,     0,   537,
5770     1258,  1259,     0,     0,   540,   541,  1260,   543,  1261,  1262,
5771      545,   546,   547,   548,   549,   550,   551,     0,  1263,   552,
5772      553,   554,   555,   556,  1264,     0,   557,   558,   559,   560,
5773      561,  1143,  1265,     0,   564,   565,   566,   567,   568,   569,
5774        0,     0,   570,     0,    49,   571,   572,   573,   574,   575,
5775      576,   577,  1266,  1267,  1268,  1269,   582,  1270,  1271,  1272,
5776     1273,   587,   588,   589,   590,  1274,     0,    50,     0,     0,
5777        0,     0,  1275,  1276,     0,     0,     0,     0,     0,     0,
5778        0,  1278,   227,  1207,   659,  1208,  1209,  1210,   720,  1211,
5779        0,     0,     0,     0,     0,     0,     0,   228,   229,   230,
5780      231,   232,   233,   234,   235,     0,   236,   237,   238,     0,
5781        0,     0,     0,  1212,     0,     0,   239,   240,     0,   241,
5782      242,   243,   244,   245,   246,   247,   248,  1213,   250,  1214,
5783     1215,  2764,   253,   254,   255,   256,   257,   258,  1216,  1217,
5784      259,   260,  1218,  1219,   263,     0,   264,   265,   266,   267,
5785     1220,     0,  1221,     0,   270,   271,   272,   273,   274,   275,
5786      276,   277,   278,     0,   279,   280,   281,   282,   283,   284,
5787        0,   285,   286,   287,   288,  1222,  1223,  1224,  1225,  1226,
5788     1227,  1228,   290,   291,   292,   293,   294,   295,  1229,  1230,
5789      298,  1231,   299,     0,   300,   301,   302,   303,   304,   305,
5790        0,   306,   307,   308,   309,     0,     0,   310,   311,  1065,
5791      313,   314,     0,   315,   316,   317,     0,   318,   319,   320,
5792        0,   321,   322,   323,   324,  1232,   326,   327,   328,  1233,
5793     1234,   330,     0,   331,   332,  1235,   334,     0,   335,     0,
5794      336,   337,  2765,   338,   339,   340,   341,   342,     0,   343,
5795     1236,     0,  1237,   346,   347,     0,   348,   349,   350,   351,
5796      352,   353,   354,   355,   356,   357,     0,   358,   359,   360,
5797      361,   362,   363,   364,     0,   365,   366,   367,   368,   369,
5798      370,   371,  1238,  1239,     0,  1240,     0,   375,   376,   377,
5799      378,   379,   380,   381,   382,   383,   384,     0,  2766,   385,
5800     1241,   387,   388,   389,     0,   390,   391,   392,  1242,  1243,
5801      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
5802      403,   404,   405,   406,   407,   408,  1244,   410,  1245,   412,
5803      413,   414,   415,  1246,   416,   417,   418,   419,  1247,  1248,
5804      421,  1249,   423,   424,   425,     0,   426,   427,     0,     0,
5805     1250,   429,   430,     0,     0,   431,   432,   433,   434,   435,
5806      436,  1251,   438,   439,   440,   441,   442,   443,   444,   445,
5807      446,     0,   447,   448,  1252,   450,   451,   452,   453,   454,
5808        0,   455,   456,   457,   458,   459,   460,   461,   462,   463,
5809      464,  1253,   466,   467,   468,   469,     0,   470,   471,   472,
5810      473,   474,   475,   476,   477,   478,   479,   480,   481,     0,
5811      482,   483,   484,   485,   486,   487,   488,   489,  1254,   491,
5812      492,   493,   494,   495,   496,   497,   498,   499,     0,   500,
5813      501,   502,   503,   504,  1255,   505,   506,   507,   508,   509,
5814      510,   511,   512,  1256,   514,     0,   515,   516,   517,   518,
5815      519,   520,   521,   522,   523,   524,   525,   526,  1257,     0,
5816      528,   529,     0,   530,   531,   532,   533,   534,   535,   536,
5817        0,   537,  1258,  1259,     0,  2767,   540,   541,  1260,   543,
5818     1261,  1262,   545,   546,   547,   548,   549,   550,   551,     0,
5819     1263,   552,   553,   554,   555,   556,  1264,     0,   557,   558,
5820      559,   560,   561,   562,  1265,     0,   564,   565,   566,   567,
5821      568,   569,     0,     0,   570,     0,     0,   571,   572,   573,
5822      574,   575,   576,   577,  1266,  1267,  1268,  1269,   582,  1270,
5823     1271,  1272,  1273,   587,   588,   589,   590,  1274,     0,     0,
5824        0,     0,     0,     0,  1275,  1276,     0,     0,     0,     0,
5825        0,     0,     0,  1278,   227,  1207,   659,  1208,  1209,  1210,
5826      720,  1211,     0,     0,     0,     0,     0,     0,     0,   228,
5827      229,   230,   231,   232,   233,   234,   235,     0,   236,   237,
5828      238,     0,     0,     0,     0,  1212,     0,     0,   239,   240,
5829        0,   241,   242,   243,   244,   245,   246,   247,   248,  1213,
5830      250,  1214,  1215,     0,   253,   254,   255,   256,   257,   258,
5831     1216,  1217,   259,   260,  1218,  1219,   263,     0,   264,   265,
5832      266,   267,  1220,     0,  1221,     0,   270,   271,   272,   273,
5833      274,   275,   276,   277,   278,     0,   279,   280,   281,   282,
5834      283,   284,     0,   285,   286,   287,   288,  1222,  1223,  1224,
5835     1225,  1226,  1227,  1228,   290,   291,   292,   293,   294,   295,
5836     1229,  1230,   298,  1231,   299,     0,   300,   301,   302,   303,
5837      304,   305,     0,   306,   307,   308,   309,     0,     0,   310,
5838      311,  1065,   313,   314,     0,   315,   316,   317,     0,   318,
5839      319,   320,     0,   321,   322,   323,   324,  1232,   326,   327,
5840      328,  1233,  1234,   330,     0,   331,   332,  1235,   334,     0,
5841      335,     0,   336,   337,     0,   338,   339,   340,   341,   342,
5842        0,   343,  1236,     0,  1237,   346,   347,     0,   348,   349,
5843      350,   351,   352,   353,   354,   355,   356,   357,     0,   358,
5844      359,   360,   361,   362,   363,   364,     0,   365,   366,   367,
5845      368,   369,   370,   371,  1238,  1239,     0,  1240,     0,   375,
5846      376,   377,   378,   379,   380,   381,   382,   383,   384,     0,
5847        0,   385,  1241,   387,   388,   389,     0,   390,   391,   392,
5848     1242,  1243,   393,   394,   395,   396,   397,   398,   399,   400,
5849      401,   402,   403,   404,   405,   406,   407,   408,  1244,   410,
5850     1245,   412,   413,   414,   415,  1246,   416,   417,   418,   419,
5851     1247,  1248,   421,  1249,   423,   424,   425,     0,   426,   427,
5852        0,     0,  1250,   429,   430,     0,     0,   431,   432,   433,
5853      434,   435,   436,  1251,   438,   439,   440,   441,   442,   443,
5854      444,   445,   446,     0,   447,   448,  1252,   450,   451,   452,
5855      453,   454,     0,   455,   456,   457,   458,   459,   460,   461,
5856      462,   463,   464,  1253,   466,   467,   468,   469,     0,   470,
5857      471,   472,   473,   474,   475,   476,   477,   478,   479,   480,
5858      481,     0,   482,   483,   484,   485,   486,   487,   488,   489,
5859     1254,   491,   492,   493,   494,   495,   496,   497,   498,   499,
5860        0,   500,   501,   502,   503,   504,  1255,   505,   506,   507,
5861      508,   509,   510,   511,   512,  1256,   514,     0,   515,   516,
5862      517,   518,   519,   520,   521,   522,   523,   524,   525,   526,
5863     1257,     0,   528,   529,     0,   530,   531,   532,   533,   534,
5864      535,   536,     0,   537,  1258,  1259,     0,     0,   540,   541,
5865     1260,   543,  1261,  1262,   545,   546,   547,   548,   549,   550,
5866      551,     0,  1263,   552,   553,   554,   555,   556,  1264,     0,
5867      557,   558,   559,   560,   561,   562,  1265,     0,   564,   565,
5868      566,   567,   568,   569,     0,     0,   570,     0,     0,   571,
5869      572,   573,   574,   575,   576,   577,  1266,  1267,  1268,  1269,
5870      582,  1270,  1271,  1272,  1273,   587,   588,   589,   590,  1274,
5871        0,     0,     0,     0,     0,     0,  1275,  1276,     0,     0,
5872        0,     0,     0,  1975,  2719,  1278,   227,  1207,   659,  1208,
5873     1209,  1210,   720,  1211,     0,     0,     0,     0,     0,     0,
5874        0,   228,   229,   230,   231,   232,   233,   234,   235,     0,
5875      236,   237,   238,     0,     0,     0,     0,  1212,     0,     0,
5876      239,   240,     0,   241,   242,   243,   244,   245,   246,   247,
5877      248,  1213,   250,  1214,  1215,     0,   253,   254,   255,   256,
5878      257,   258,  1216,  1217,   259,   260,  1218,  1219,   263,     0,
5879      264,   265,   266,   267,  1220,     0,  1221,     0,   270,   271,
5880      272,   273,   274,   275,   276,   277,   278,     0,   279,   280,
5881      281,   282,   283,   284,     0,   285,   286,   287,   288,  1222,
5882     1223,  1224,  1225,  1226,  1227,  1228,   290,   291,   292,   293,
5883      294,   295,  1229,  1230,   298,  1231,   299,     0,   300,   301,
5884      302,   303,   304,   305,     0,   306,   307,   308,   309,     0,
5885        0,   310,   311,  1065,   313,   314,     0,   315,   316,   317,
5886        0,   318,   319,   320,     0,   321,   322,   323,   324,  1232,
5887      326,   327,   328,  1233,  1234,   330,     0,   331,   332,  1235,
5888      334,     0,   335,     0,   336,   337,     0,   338,   339,   340,
5889      341,   342,     0,   343,  1236,     0,  1237,   346,   347,     0,
5890      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
5891        0,   358,   359,   360,   361,   362,   363,   364,     0,   365,
5892      366,   367,   368,   369,   370,   371,  1238,  1239,     0,  1240,
5893        0,   375,   376,   377,   378,   379,   380,   381,   382,   383,
5894      384,     0,     0,   385,  1241,   387,   388,   389,     0,   390,
5895      391,   392,  1242,  1243,   393,   394,   395,   396,   397,   398,
5896      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
5897     1244,   410,  1245,   412,   413,   414,   415,  1246,   416,   417,
5898      418,   419,  1247,  1248,   421,  1249,   423,   424,   425,     0,
5899      426,   427,     0,     0,  1250,   429,   430,     0,     0,   431,
5900      432,   433,   434,   435,   436,  1251,   438,   439,   440,   441,
5901      442,   443,   444,   445,   446,     0,   447,   448,  1252,   450,
5902      451,   452,   453,   454,     0,   455,   456,   457,   458,   459,
5903      460,   461,   462,   463,   464,  1253,   466,   467,   468,   469,
5904        0,   470,   471,   472,   473,   474,   475,   476,   477,   478,
5905      479,   480,   481,     0,   482,   483,   484,   485,   486,   487,
5906      488,   489,  1254,   491,   492,   493,   494,   495,   496,   497,
5907      498,   499,     0,   500,   501,   502,   503,   504,  1255,   505,
5908      506,   507,   508,   509,   510,   511,   512,  1256,   514,     0,
5909      515,   516,   517,   518,   519,   520,   521,   522,   523,   524,
5910      525,   526,  1257,     0,   528,   529,     0,   530,   531,   532,
5911      533,   534,   535,   536,     0,   537,  1258,  1259,     0,     0,
5912      540,   541,  1260,   543,  1261,  1262,   545,   546,   547,   548,
5913      549,   550,   551,     0,  1263,   552,   553,   554,   555,   556,
5914     1264,     0,   557,   558,   559,   560,   561,   562,  1265,     0,
5915      564,   565,   566,   567,   568,   569,     0,     0,   570,     0,
5916        0,   571,   572,   573,   574,   575,   576,   577,  1266,  1267,
5917     1268,  1269,   582,  1270,  1271,  1272,  1273,   587,   588,   589,
5918      590,  1274,     0,     0,     0,     0,     0,     0,  1275,  1276,
5919     1277,     0,     0,     0,     0,     0,     0,  1278,   227,  1207,
5920      659,  1208,  1209,  1210,   720,  1211,     0,     0,     0,     0,
5921        0,     0,     0,   228,   229,   230,   231,   232,   233,   234,
5922      235,  2122,   236,   237,   238,     0,     0,     0,     0,  1212,
5923        0,     0,   239,   240,     0,   241,   242,   243,   244,   245,
5924      246,   247,   248,  1213,   250,  1214,  1215,     0,   253,   254,
5925      255,   256,   257,   258,  1216,  1217,   259,   260,  1218,  1219,
5926      263,     0,   264,   265,   266,   267,  1220,     0,  1221,     0,
5927      270,   271,   272,   273,   274,   275,   276,   277,   278,     0,
5928      279,   280,   281,   282,   283,   284,     0,   285,   286,   287,
5929      288,  1222,  1223,  1224,  1225,  1226,  1227,  1228,   290,   291,
5930      292,   293,   294,   295,  1229,  1230,   298,  1231,   299,     0,
5931      300,   301,   302,   303,   304,   305,     0,   306,   307,   308,
5932      309,     0,     0,   310,   311,  1065,   313,   314,     0,   315,
5933      316,   317,     0,   318,   319,   320,     0,   321,   322,   323,
5934      324,  1232,   326,   327,   328,  1233,  1234,   330,     0,   331,
5935      332,  1235,   334,     0,   335,     0,   336,   337,     0,   338,
5936      339,   340,   341,   342,     0,   343,  1236,     0,  1237,   346,
5937      347,     0,   348,   349,   350,   351,   352,   353,   354,   355,
5938      356,   357,     0,   358,   359,   360,   361,   362,   363,   364,
5939        0,   365,   366,   367,   368,   369,   370,   371,  1238,  1239,
5940        0,  1240,     0,   375,   376,   377,   378,   379,   380,   381,
5941      382,   383,   384,     0,     0,   385,  1241,   387,   388,   389,
5942        0,   390,   391,   392,  1242,  1243,   393,   394,   395,   396,
5943      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
5944      407,   408,  1244,   410,  1245,   412,   413,   414,   415,  1246,
5945      416,   417,   418,   419,  1247,  1248,   421,  1249,   423,   424,
5946      425,     0,   426,   427,     0,     0,  1250,   429,   430,     0,
5947        0,   431,   432,   433,   434,   435,   436,  1251,   438,   439,
5948      440,   441,   442,   443,   444,   445,   446,     0,   447,   448,
5949     1252,   450,   451,   452,   453,   454,     0,   455,   456,   457,
5950      458,   459,   460,   461,   462,   463,   464,  1253,   466,   467,
5951      468,   469,     0,   470,   471,   472,   473,   474,   475,   476,
5952      477,   478,   479,   480,   481,     0,   482,   483,   484,   485,
5953      486,   487,   488,   489,  1254,   491,   492,   493,   494,   495,
5954      496,   497,   498,   499,     0,   500,   501,   502,   503,   504,
5955     1255,   505,   506,   507,   508,   509,   510,   511,   512,  1256,
5956      514,     0,   515,   516,   517,   518,   519,   520,   521,   522,
5957      523,   524,   525,   526,  1257,     0,   528,   529,     0,   530,
5958      531,   532,   533,   534,   535,   536,     0,   537,  1258,  1259,
5959        0,     0,   540,   541,  1260,   543,  1261,  1262,   545,   546,
5960      547,   548,   549,   550,   551,     0,  1263,   552,   553,   554,
5961      555,   556,  1264,     0,   557,   558,   559,   560,   561,   562,
5962     1265,     0,   564,   565,   566,   567,   568,   569,     0,     0,
5963      570,     0,     0,   571,   572,   573,   574,   575,   576,   577,
5964     1266,  1267,  1268,  1269,   582,  1270,  1271,  1272,  1273,   587,
5965      588,   589,   590,  1274,     0,     0,     0,     0,     0,     0,
5966     1275,  1276,     0,     0,     0,     0,     0,     0,     0,  1278,
5967      227,  1207,   659,  1208,  1209,  1210,   720,  1211,     0,     0,
5968        0,     0,     0,     0,     0,   228,   229,   230,   231,   232,
5969      233,   234,   235,     0,   236,   237,   238,     0,     0,     0,
5970        0,  1212,     0,     0,   239,   240,     0,   241,   242,   243,
5971      244,   245,   246,   247,   248,  1213,   250,  1214,  1215,     0,
5972      253,   254,   255,   256,   257,   258,  1216,  1217,   259,   260,
5973     1218,  1219,   263,     0,   264,   265,   266,   267,  1220,     0,
5974     1221,     0,   270,   271,   272,   273,   274,   275,   276,   277,
5975      278,     0,   279,   280,   281,   282,   283,   284,     0,   285,
5976      286,   287,   288,  1222,  1223,  1224,  1225,  1226,  1227,  1228,
5977      290,   291,   292,   293,   294,   295,  1229,  1230,   298,  1231,
5978      299,     0,   300,   301,   302,   303,   304,   305,     0,   306,
5979      307,   308,   309,     0,     0,   310,   311,  1065,   313,   314,
5980        0,   315,   316,   317,     0,   318,   319,   320,     0,   321,
5981      322,   323,   324,  1232,   326,   327,   328,  1233,  1234,   330,
5982        0,   331,   332,  1235,   334,     0,   335,     0,   336,   337,
5983        0,   338,   339,   340,   341,   342,     0,   343,  1236,     0,
5984     1237,   346,   347,     0,   348,   349,   350,   351,   352,   353,
5985      354,   355,   356,   357,     0,   358,   359,   360,   361,   362,
5986      363,   364,     0,   365,   366,   367,   368,   369,   370,   371,
5987     1238,  1239,     0,  1240,     0,   375,   376,   377,   378,   379,
5988      380,   381,   382,   383,   384,     0,     0,   385,  1241,   387,
5989      388,   389,     0,   390,   391,   392,  1242,  1243,   393,   394,
5990      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
5991      405,   406,   407,   408,  1244,   410,  1245,   412,   413,   414,
5992      415,  1246,   416,   417,   418,   419,  1247,  1248,   421,  1249,
5993      423,   424,   425,     0,   426,   427,     0,     0,  1250,   429,
5994      430,     0,     0,   431,   432,   433,   434,   435,   436,  1251,
5995      438,   439,   440,   441,   442,   443,   444,   445,   446,     0,
5996      447,   448,  1252,   450,   451,   452,   453,   454,     0,   455,
5997      456,   457,   458,   459,   460,   461,   462,   463,   464,  1253,
5998      466,   467,   468,   469,     0,   470,   471,   472,   473,   474,
5999      475,   476,   477,   478,   479,   480,   481,     0,   482,   483,
6000      484,   485,   486,   487,   488,   489,  1254,   491,   492,   493,
6001      494,   495,   496,   497,   498,   499,     0,   500,   501,   502,
6002      503,   504,  1255,   505,   506,   507,   508,   509,   510,   511,
6003      512,  1256,   514,     0,   515,   516,   517,   518,   519,   520,
6004      521,   522,   523,   524,   525,   526,  1257,     0,   528,   529,
6005        0,   530,   531,   532,   533,   534,   535,   536,     0,   537,
6006     1258,  1259,     0,     0,   540,   541,  1260,   543,  1261,  1262,
6007      545,   546,   547,   548,   549,   550,   551,     0,  1263,   552,
6008      553,   554,   555,   556,  1264,     0,   557,   558,   559,   560,
6009      561,   562,  1265,  3213,   564,   565,   566,   567,   568,   569,
6010        0,     0,   570,     0,     0,   571,   572,   573,   574,   575,
6011      576,   577,  1266,  1267,  1268,  1269,   582,  1270,  1271,  1272,
6012     1273,   587,   588,   589,   590,  1274,     0,     0,     0,     0,
6013        0,     0,  1275,  1276,     0,     0,     0,     0,     0,     0,
6014        0,  1278,   227,  1207,   659,  1208,  1209,  1210,   720,  1211,
6015        0,     0,     0,     0,     0,     0,     0,   228,   229,   230,
6016      231,   232,   233,   234,   235,     0,   236,   237,   238,     0,
6017        0,     0,     0,  1212,     0,     0,   239,   240,     0,   241,
6018      242,   243,   244,   245,   246,   247,   248,  1213,   250,  1214,
6019     1215,     0,   253,   254,   255,   256,   257,   258,  1216,  1217,
6020      259,   260,  1218,  1219,   263,     0,   264,   265,   266,   267,
6021     1220,     0,  1221,     0,   270,   271,   272,   273,   274,   275,
6022      276,   277,   278,     0,   279,   280,   281,   282,   283,   284,
6023        0,   285,   286,   287,   288,  1222,  1223,  1224,  1225,  1226,
6024     1227,  1228,   290,   291,   292,   293,   294,   295,  1229,  1230,
6025      298,  1231,   299,     0,   300,   301,   302,   303,   304,   305,
6026        0,   306,   307,   308,   309,     0,     0,   310,   311,  1065,
6027      313,   314,     0,   315,   316,   317,     0,   318,   319,   320,
6028        0,   321,   322,   323,   324,  1232,   326,   327,   328,  1233,
6029     1234,   330,     0,   331,   332,  1235,   334,     0,   335,     0,
6030      336,   337,  2765,   338,   339,   340,   341,   342,     0,   343,
6031     1236,     0,  1237,   346,   347,     0,   348,   349,   350,   351,
6032      352,   353,   354,   355,   356,   357,     0,   358,   359,   360,
6033      361,   362,   363,   364,     0,   365,   366,   367,   368,   369,
6034      370,   371,  1238,  1239,     0,  1240,     0,   375,   376,   377,
6035      378,   379,   380,   381,   382,   383,   384,     0,     0,   385,
6036     1241,   387,   388,   389,     0,   390,   391,   392,  1242,  1243,
6037      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
6038      403,   404,   405,   406,   407,   408,  1244,   410,  1245,   412,
6039      413,   414,   415,  1246,   416,   417,   418,   419,  1247,  1248,
6040      421,  1249,   423,   424,   425,     0,   426,   427,     0,     0,
6041     1250,   429,   430,     0,     0,   431,   432,   433,   434,   435,
6042      436,  1251,   438,   439,   440,   441,   442,   443,   444,   445,
6043      446,     0,   447,   448,  1252,   450,   451,   452,   453,   454,
6044        0,   455,   456,   457,   458,   459,   460,   461,   462,   463,
6045      464,  1253,   466,   467,   468,   469,     0,   470,   471,   472,
6046      473,   474,   475,   476,   477,   478,   479,   480,   481,     0,
6047      482,   483,   484,   485,   486,   487,   488,   489,  1254,   491,
6048      492,   493,   494,   495,   496,   497,   498,   499,     0,   500,
6049      501,   502,   503,   504,  1255,   505,   506,   507,   508,   509,
6050      510,   511,   512,  1256,   514,     0,   515,   516,   517,   518,
6051      519,   520,   521,   522,   523,   524,   525,   526,  1257,     0,
6052      528,   529,     0,   530,   531,   532,   533,   534,   535,   536,
6053        0,   537,  1258,  1259,     0,     0,   540,   541,  1260,   543,
6054     1261,  1262,   545,   546,   547,   548,   549,   550,   551,     0,
6055     1263,   552,   553,   554,   555,   556,  1264,     0,   557,   558,
6056      559,   560,   561,   562,  1265,     0,   564,   565,   566,   567,
6057      568,   569,     0,     0,   570,     0,     0,   571,   572,   573,
6058      574,   575,   576,   577,  1266,  1267,  1268,  1269,   582,  1270,
6059     1271,  1272,  1273,   587,   588,   589,   590,  1274,     0,     0,
6060        0,     0,     0,     0,  1275,  1276,     0,     0,     0,     0,
6061        0,     0,     0,  1278,   227,  1207,   659,  1208,  1209,  1210,
6062      720,  1211,     0,     0,     0,     0,     0,     0,     0,   228,
6063      229,   230,   231,   232,   233,   234,   235,     0,   236,   237,
6064      238,     0,     0,     0,     0,  1212,     0,     0,   239,   240,
6065        0,   241,   242,   243,   244,   245,   246,   247,   248,  1213,
6066      250,  1214,  1215,     0,   253,   254,   255,   256,   257,   258,
6067     1216,  1217,   259,   260,  1218,  1219,   263,     0,   264,   265,
6068      266,   267,  1220,     0,  1221,     0,   270,   271,   272,   273,
6069      274,   275,   276,   277,   278,     0,   279,   280,   281,   282,
6070      283,   284,     0,   285,   286,   287,   288,  1222,  1223,  1224,
6071     1225,  1226,  1227,  1228,   290,   291,   292,   293,   294,   295,
6072     1229,  1230,   298,  1231,   299,     0,   300,   301,   302,   303,
6073      304,   305,     0,   306,   307,   308,   309,     0,     0,   310,
6074      311,  1065,   313,   314,     0,   315,   316,   317,     0,   318,
6075      319,   320,     0,   321,   322,   323,   324,  1232,   326,   327,
6076      328,  1233,  1234,   330,     0,   331,   332,  1235,   334,     0,
6077      335,     0,   336,   337,     0,   338,   339,   340,   341,   342,
6078        0,   343,  1236,     0,  1237,   346,   347,     0,   348,   349,
6079      350,   351,   352,   353,   354,   355,   356,   357,     0,   358,
6080      359,   360,   361,   362,   363,   364,     0,   365,   366,   367,
6081      368,   369,   370,   371,  1238,  1239,     0,  1240,     0,   375,
6082      376,   377,   378,   379,   380,   381,   382,   383,   384,     0,
6083        0,   385,  1241,   387,   388,   389,     0,   390,   391,   392,
6084     1242,  1243,   393,   394,   395,   396,   397,   398,   399,   400,
6085      401,   402,   403,   404,   405,   406,   407,   408,  1244,   410,
6086     1245,   412,   413,   414,   415,  1246,   416,   417,   418,   419,
6087     1247,  1248,   421,  1249,   423,   424,   425,     0,   426,   427,
6088        0,     0,  1250,   429,   430,     0,     0,   431,   432,   433,
6089      434,   435,   436,  1251,   438,   439,   440,   441,   442,   443,
6090      444,   445,   446,     0,   447,   448,  1252,   450,   451,   452,
6091      453,   454,     0,   455,   456,   457,   458,   459,   460,   461,
6092      462,   463,   464,  1253,   466,   467,   468,   469,     0,   470,
6093      471,   472,   473,   474,   475,   476,   477,   478,   479,   480,
6094      481,     0,   482,   483,   484,   485,   486,   487,   488,   489,
6095     1254,   491,   492,   493,   494,   495,   496,   497,   498,   499,
6096        0,   500,   501,   502,   503,   504,  1255,   505,   506,   507,
6097      508,   509,   510,   511,   512,  1256,   514,     0,   515,   516,
6098      517,   518,   519,   520,   521,   522,   523,   524,   525,   526,
6099     1257,     0,   528,   529,     0,   530,   531,   532,   533,   534,
6100      535,   536,     0,   537,  1258,  1259,     0,     0,   540,   541,
6101     1260,   543,  1261,  1262,   545,   546,   547,   548,   549,   550,
6102      551,     0,  1263,   552,   553,   554,   555,   556,  1264,     0,
6103      557,   558,   559,   560,   561,   562,  1265,     0,   564,   565,
6104      566,   567,   568,   569,     0,     0,   570,     0,     0,   571,
6105      572,   573,   574,   575,   576,   577,  1266,  1267,  1268,  1269,
6106      582,  1270,  1271,  1272,  1273,   587,   588,   589,   590,  1274,
6107        0,     0,     0,     0,     0,     0,  1275,  1276,     0,     0,
6108        0,     0,     0,     0,     0,  1278,   227,  1207,   659,  1208,
6109     1209,  1210,   720,  1211,     0,     0,     0,     0,     0,     0,
6110        0,   228,   229,   230,   231,   232,   233,   234,   235,     0,
6111      236,   237,   238,     0,     0,     0,     0,  1212,     0,     0,
6112      239,   240,     0,   241,   242,   243,   244,   245,   246,   247,
6113      248,  1213,   250,  1214,  1215,     0,   253,   254,   255,   256,
6114      257,   258,  1216,  1217,   259,   260,  1218,  1219,   263,     0,
6115      264,   265,   266,   267,  1220,     0,  1221,     0,   270,   271,
6116      272,   273,   274,   275,   276,   277,   278,     0,   279,   280,
6117      281,   282,   283,   284,     0,   285,   286,   287,   288,  1222,
6118     1223,  1224,  1225,  1226,  1227,  1228,   290,   291,   292,   293,
6119      294,   295,  1229,  1230,   298,  1231,   299,     0,   300,   301,
6120      302,   303,   304,   305,     0,   306,   307,   308,   309,     0,
6121        0,   310,   311,  1065,   313,   314,     0,   315,   316,   317,
6122        0,   318,   319,   320,     0,   321,   322,   323,   324,  1232,
6123      326,   327,   328,  1233,  1234,   330,     0,   331,   332,  1235,
6124      334,     0,   335,     0,   336,   337,     0,   338,   339,   340,
6125      341,   342,     0,   343,  1236,     0,  1237,   346,   347,     0,
6126      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
6127        0,   358,   359,   360,   361,   362,   363,   364,     0,   365,
6128      366,   367,   368,   369,   370,   371,  1238,  1239,     0,  1240,
6129        0,   375,   376,   377,   378,   379,   380,   381,   382,   383,
6130      384,     0,     0,   385,  1241,   387,   388,   389,     0,   390,
6131      391,   392,  1242,  1243,   393,   394,   395,   396,   397,   398,
6132      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
6133     1244,   410,  1245,   412,   413,   414,   415,  1246,   416,   417,
6134      418,   419,  1247,  1248,   421,  1249,   423,   424,   425,     0,
6135      426,   427,     0,     0,  1250,   429,   430,     0,     0,   431,
6136      432,   433,   434,   435,   436,  1251,   438,   439,   440,   441,
6137      442,   443,   444,   445,   446,     0,   447,   448,  1252,   450,
6138      451,   452,   453,   454,     0,   455,   456,   457,   458,   459,
6139      460,   461,   462,   463,   464,  1253,   466,   467,   468,   469,
6140        0,   470,   471,   472,   473,   474,   475,   476,   477,   478,
6141      479,   480,   481,     0,   482,   483,   484,   485,   486,   487,
6142      488,   489,  1254,   491,   492,   493,   494,   495,   496,   497,
6143      498,   499,     0,   500,   501,   502,   503,   504,  1255,   505,
6144      506,   507,   508,   509,   510,   511,   512,  1256,   514,     0,
6145      515,   516,   517,   518,   519,   520,   521,   522,   523,   524,
6146      525,   526,  1257,     0,   528,   529,     0,   530,   531,   532,
6147      533,   534,   535,   536,     0,   537,  1258,  1259,     0,     0,
6148      540,   541,  1260,   543,  1261,  1262,   545,   546,   547,   548,
6149      549,   550,   551,     0,  1263,   552,   553,   554,   555,   556,
6150     1264,     0,   557,   558,   559,   560,   561,   562,  1265,     0,
6151      564,   565,   566,   567,   568,   569,     0,     0,   570,     0,
6152        0,   571,   572,   573,   574,   575,   576,   577,  1266,  1267,
6153     1268,  1269,   582,  1270,  1271,  1272,  1273,   587,   588,   589,
6154      590,  1274,     0,     0,     0,     0,     0,     0,  2125,  2126,
6155        0,     0,     0,     0,     0,     0,     0,  1278,   227,  2885,
6156      659,  1208,  1209,  1210,   720,  1211,     0,     0,     0,     0,
6157        0,     0,     0,   228,   229,   230,   231,   232,   233,   234,
6158      235,     0,   236,   237,   238,     0,     0,     0,     0,  1212,
6159        0,     0,   239,   240,     0,   241,   242,   243,   244,   245,
6160      246,   247,   248,  1213,   250,  1214,  1215,     0,   253,   254,
6161      255,   256,   257,   258,  1216,  1217,   259,   260,  1218,  1219,
6162      263,     0,   264,   265,   266,   267,  1220,     0,  1221,     0,
6163      270,   271,   272,   273,   274,   275,   276,   277,   278,     0,
6164      279,   280,   281,   282,   283,   284,     0,   285,   286,   287,
6165      288,  1222,  1223,  1224,  1225,  1226,  1227,  1228,   290,   291,
6166      292,   293,   294,   295,  1229,  1230,   298,  1231,   299,     0,
6167      300,   301,   302,   303,   304,   305,     0,   306,   307,   308,
6168      309,     0,     0,   310,   311,  1065,   313,   314,     0,   315,
6169      316,   317,     0,   318,   319,   320,     0,   321,   322,   323,
6170      324,  1232,   326,   327,   328,  1233,  1234,   330,     0,   331,
6171      332,  1235,   334,     0,   335,     0,   336,   337,     0,   338,
6172      339,   340,   341,   342,     0,   343,  1236,     0,  1237,   346,
6173      347,     0,   348,   349,   350,   351,   352,   353,   354,   355,
6174      356,   357,     0,   358,   359,   360,   361,   362,   363,   364,
6175        0,   365,   366,   367,   368,   369,   370,   371,  1238,  1239,
6176        0,  1240,     0,   375,   376,   377,   378,   379,   380,   381,
6177      382,   383,   384,     0,     0,   385,  1241,   387,   388,   389,
6178        0,   390,   391,   392,  1242,  1243,   393,   394,   395,   396,
6179      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
6180      407,   408,  1244,   410,  1245,   412,   413,   414,   415,  1246,
6181      416,   417,   418,   419,  1247,  1248,   421,  1249,   423,   424,
6182      425,     0,   426,   427,     0,     0,  1250,   429,   430,     0,
6183        0,   431,   432,   433,   434,   435,   436,  1251,   438,   439,
6184      440,   441,   442,   443,   444,   445,   446,     0,   447,   448,
6185     1252,   450,   451,   452,   453,   454,     0,   455,   456,   457,
6186      458,   459,   460,   461,   462,   463,   464,  1253,   466,   467,
6187      468,   469,     0,   470,   471,   472,   473,   474,   475,   476,
6188      477,   478,   479,   480,   481,     0,   482,   483,   484,   485,
6189      486,   487,   488,   489,  1254,   491,   492,   493,   494,   495,
6190      496,   497,   498,   499,     0,   500,   501,   502,   503,   504,
6191     1255,   505,   506,   507,   508,   509,   510,   511,   512,  1256,
6192      514,     0,   515,   516,   517,   518,   519,   520,   521,   522,
6193      523,   524,   525,   526,  1257,     0,   528,   529,     0,   530,
6194      531,   532,   533,   534,   535,   536,     0,   537,  1258,  1259,
6195        0,     0,   540,   541,  1260,   543,  1261,  1262,   545,   546,
6196      547,   548,   549,   550,   551,     0,  1263,   552,   553,   554,
6197      555,   556,  1264,     0,   557,   558,   559,   560,   561,   562,
6198     1265,     0,   564,   565,   566,   567,   568,   569,     0,     0,
6199      570,     0,     0,   571,   572,   573,   574,   575,   576,   577,
6200     1266,  1267,  1268,  1269,   582,  1270,  1271,  1272,  1273,   587,
6201      588,   589,   590,  1274,     0,     0,     0,     0,     0,     0,
6202     1275,  1276,     0,     0,     0,     0,     0,     0,     0,  1278,
6203      227,  1207,   659,  1208,  1209,  1210,   720,  1211,     0,     0,
6204        0,     0,     0,     0,     0,   228,   229,   230,   231,   232,
6205      233,   234,   235,     0,   236,   237,   238,     0,     0,     0,
6206        0,  1212,     0,     0,   239,   240,     0,   241,   242,   243,
6207      244,   245,   246,   247,   248,  1213,   250,  1214,  1215,     0,
6208      253,   254,   255,   256,   257,   258,  1216,  1217,   259,   260,
6209     1218,  1219,   263,     0,   264,   265,   266,   267,  1220,     0,
6210     1221,     0,   270,   271,   272,   273,   274,   275,   276,   277,
6211      278,     0,   279,   280,   281,   282,   283,   284,     0,   285,
6212      286,   287,  4134,  1222,  1223,  1224,  1225,  1226,  1227,  1228,
6213      290,   291,   292,   293,   294,   295,  1229,  1230,   298,  1231,
6214      299,     0,   300,   301,   302,   303,   304,   305,     0,   306,
6215      307,   308,   309,     0,     0,   310,   311,  1065,   313,   314,
6216        0,   315,   316,   317,     0,   318,   319,   320,     0,   321,
6217      322,   323,   324,  1232,   326,   327,   328,  1233,  1234,   330,
6218        0,   331,   332,  1235,   334,     0,   335,     0,   336,   337,
6219        0,   338,   339,   340,   341,   342,     0,   343,  1236,     0,
6220     1237,   346,   347,     0,   348,   349,   350,   351,   352,   353,
6221      354,   355,   356,   357,     0,   358,   359,   360,   361,   362,
6222      363,   364,     0,   365,   366,   367,   368,   369,   370,   371,
6223     1238,  1239,     0,  1240,     0,   375,   376,   377,   378,   379,
6224      380,   381,   382,   383,   384,     0,     0,   385,  1241,   387,
6225      388,   389,     0,   390,   391,   392,  1242,  1243,   393,   394,
6226      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
6227      405,   406,   407,   408,  1244,   410,  1245,   412,   413,   414,
6228      415,  1246,   416,   417,   418,   419,  1247,  1248,   421,  1249,
6229      423,   424,   425,     0,   426,   427,     0,     0,  1250,   429,
6230      430,     0,     0,   431,   432,   433,   434,   435,   436,  1251,
6231      438,   439,   440,   441,   442,   443,   444,   445,   446,     0,
6232      447,   448,  1252,   450,   451,   452,   453,   454,     0,   455,
6233      456,   457,   458,   459,   460,   461,   462,   463,   464,  1253,
6234      466,   467,   468,   469,     0,   470,   471,   472,   473,   474,
6235      475,   476,   477,   478,   479,   480,   481,     0,   482,   483,
6236      484,   485,   486,   487,   488,   489,  1254,   491,   492,   493,
6237      494,   495,   496,   497,   498,   499,     0,   500,   501,   502,
6238      503,   504,  1255,   505,   506,   507,   508,   509,   510,   511,
6239      512,  1256,   514,     0,   515,   516,   517,   518,   519,   520,
6240      521,   522,   523,   524,   525,   526,  1257,     0,   528,   529,
6241        0,   530,   531,   532,   533,   534,   535,   536,     0,   537,
6242     1258,  1259,     0,     0,   540,   541,  1260,   543,  1261,  1262,
6243      545,   546,   547,   548,   549,   550,   551,     0,  1263,   552,
6244      553,   554,   555,   556,  1264,     0,   557,   558,   559,   560,
6245      561,   562,  1265,     0,   564,   565,   566,   567,   568,   569,
6246        0,     0,   570,     0,     0,   571,   572,   573,   574,   575,
6247      576,   577,  1266,  1267,  1268,  1269,   582,  1270,  1271,  1272,
6248     1273,   587,   588,   589,   590,  1274,     0,     0,     0,     0,
6249        0,     0,  1275,  1276,     0,     0,     0,     0,     0,     0,
6250        0,  1278,   227,  1207,   659,  1208,  1209,  1210,   720,  1211,
6251        0,     0,     0,     0,     0,     0,     0,   228,   229,   230,
6252      231,   232,   233,   234,   235,     0,   236,   237,   238,     0,
6253        0,     0,     0,  1212,     0,     0,   239,   240,     0,   241,
6254      242,   243,   244,   245,   246,   247,   248,  1213,   250,  1214,
6255     1215,     0,   253,   254,   255,   256,   257,   258,  1216,  1217,
6256      259,   260,  1218,  1219,   263,     0,   264,   265,   266,   267,
6257     1220,     0,  1221,     0,   270,   271,   272,   273,   274,   275,
6258      276,   277,   278,     0,   279,   280,   281,   282,   283,   284,
6259        0,   285,   286,   287,   288,  1222,  1223,  1224,  1225,  1226,
6260     1227,  1228,   290,   291,   292,   293,   294,   295,  1229,  1230,
6261      298,  1231,   299,     0,   300,   301,   302,   303,   304,   305,
6262        0,   306,   307,   308,   309,     0,     0,   310,   311,  1065,
6263      313,   314,     0,   315,   316,   317,     0,   318,   319,   320,
6264        0,   321,   322,   323,   324,  1232,   326,   327,   328,  1233,
6265     1234,   330,     0,   331,   332,  1235,   334,     0,   335,     0,
6266      336,   337,     0,   338,   339,   340,   341,   342,     0,   343,
6267     1236,     0,  1237,   346,   347,     0,   348,   349,   350,   351,
6268      352,   353,   354,   355,   356,   357,     0,   358,   359,   360,
6269      361,   362,   363,   364,     0,   365,   366,   367,   368,   369,
6270      370,   371,  1238,  1239,     0,  1240,     0,   375,   376,   377,
6271      378,   379,   380,   381,   382,   383,   384,     0,     0,   385,
6272     1241,   387,   388,   389,     0,   390,   391,   392,  1242,  1243,
6273      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
6274      403,   404,   405,   406,   407,   408,  1244,   410,  1245,   412,
6275      413,   414,   415,  1246,   416,   417,   418,   419,  1247,  1248,
6276      421,  1249,   423,   424,   425,     0,   426,   427,     0,     0,
6277     1250,   429,   430,     0,     0,   431,   432,   433,   434,   435,
6278      436,  1251,   438,   439,   440,   441,   442,   443,   444,   445,
6279      446,     0,   447,   448,  1252,   450,   451,   452,   453,   454,
6280        0,   455,   456,   457,   458,   459,   460,   461,   462,   463,
6281      464,  1253,   466,   467,   468,   469,     0,   470,   471,   472,
6282      473,   474,   475,   476,   477,   478,   479,   480,   481,     0,
6283      482,   483,   484,   485,   486,   487,   488,   489,  1254,   491,
6284      492,   493,   494,   495,   496,   497,   498,   499,     0,   500,
6285      501,   502,   503,   504,  1255,   505,   506,   507,   508,   509,
6286      510,   511,   512,  1256,   514,     0,   515,   516,   517,   518,
6287      519,   520,   521,   522,   523,   524,   525,   526,  1257,     0,
6288      528,   529,     0,   530,   531,   532,   533,   534,   535,   536,
6289        0,   537,  1258,  1259,     0,     0,   540,   541,  1260,   543,
6290     1261,  1262,   545,   546,   547,   548,   549,   550,   551,     0,
6291     1263,   552,   553,   554,   555,   556,  1264,     0,   557,   558,
6292      559,   560,   561,   562,  1265,     0,   564,   565,   566,   567,
6293      568,   569,     0,     0,   570,     0,     0,   571,   572,   573,
6294      574,   575,   576,  4468,  1266,  1267,  1268,  1269,   582,  1270,
6295     1271,  1272,  1273,   587,   588,   589,   590,  1274,     0,     0,
6296        0,     0,     0,     0,  1275,  1276,     0,     0,     0,     0,
6297        0,     0,     0,  1278,   227,  1207,   659,  1208,  1209,  1210,
6298      720,  1211,     0,     0,     0,     0,     0,     0,     0,   228,
6299      229,   230,   231,   232,   233,   234,   235,     0,   236,   237,
6300      238,     0,     0,     0,     0,  1212,     0,     0,   239,   240,
6301        0,   241,   242,   243,   244,   245,   246,   247,   248,  1213,
6302      250,  1214,  1215,     0,   253,   254,   255,   256,   257,   258,
6303     1216,  1217,   259,   260,  1218,  1219,   263,     0,   264,   265,
6304      266,   267,  1220,     0,  1221,     0,   270,   271,   272,   273,
6305      274,   275,   276,   277,   278,     0,   279,   280,   281,   282,
6306      283,   284,     0,   285,   286,   287,   288,  1222,  1223,  1224,
6307     1225,  1226,  1227,  1228,   290,   291,   292,   293,   294,   295,
6308     1229,  1230,   298,  1231,   299,     0,   300,   301,   302,   303,
6309      304,   305,     0,   306,   307,   308,   309,     0,     0,   310,
6310      311,  1065,   313,   314,     0,   315,   316,   317,     0,   318,
6311      319,   320,     0,   321,   322,   323,   324,  1232,   326,   327,
6312      328,  1233,  1234,   330,     0,   331,   332,  1235,   334,     0,
6313      335,     0,   336,   337,     0,   338,   339,   340,   341,   342,
6314        0,   343,  1236,     0,  1237,   346,   347,     0,   348,   349,
6315      350,   351,   352,   353,   354,   355,   356,   357,     0,   358,
6316      359,   360,   361,   362,   363,   364,     0,   365,   366,   367,
6317      368,   369,   370,   371,  1238,  1239,     0,  1240,     0,   375,
6318      376,   377,   378,   379,   380,   381,   382,   383,   384,     0,
6319        0,   385,  1241,   387,   388,   389,     0,   390,   391,   392,
6320     1242,  1243,   393,   394,   395,   396,   397,   398,   399,   400,
6321      401,   402,   403,   404,   405,   406,   407,   408,  1244,   410,
6322     1245,   412,   413,  4477,   415,  1246,   416,   417,   418,   419,
6323     1247,  1248,   421,  1249,   423,   424,   425,     0,   426,   427,
6324        0,     0,  1250,   429,   430,     0,     0,   431,   432,   433,
6325      434,   435,   436,  1251,   438,   439,   440,   441,   442,   443,
6326      444,   445,   446,     0,   447,   448,  1252,   450,   451,   452,
6327      453,   454,     0,   455,   456,   457,   458,   459,   460,   461,
6328      462,   463,   464,  1253,   466,   467,   468,   469,     0,   470,
6329      471,   472,   473,   474,   475,   476,   477,   478,   479,   480,
6330      481,     0,   482,   483,   484,   485,   486,   487,   488,   489,
6331     1254,   491,   492,   493,   494,   495,   496,   497,   498,   499,
6332        0,   500,   501,   502,   503,   504,  1255,   505,   506,   507,
6333      508,   509,   510,   511,   512,  1256,   514,     0,   515,   516,
6334      517,   518,   519,   520,   521,   522,   523,   524,   525,   526,
6335     1257,     0,   528,   529,     0,   530,   531,   532,   533,   534,
6336      535,   536,     0,   537,  1258,  1259,     0,     0,   540,   541,
6337     1260,   543,  1261,  1262,   545,   546,   547,   548,   549,   550,
6338      551,     0,  1263,   552,   553,   554,   555,   556,  1264,     0,
6339      557,   558,   559,   560,   561,   562,  1265,     0,   564,   565,
6340      566,   567,   568,   569,     0,     0,   570,     0,     0,   571,
6341      572,   573,   574,   575,   576,   577,  1266,  1267,  1268,  1269,
6342      582,  1270,  1271,  1272,  1273,   587,   588,   589,   590,  1274,
6343        0,     0,     0,     0,     0,     0,  1275,  1276,     0,     0,
6344        0,     0,     0,     0,     0,  1278,   227,  1207,   659,  1208,
6345     1209,  1210,   720,  1211,     0,     0,     0,     0,     0,     0,
6346        0,   228,   229,   230,   231,   232,   233,   234,   235,     0,
6347      236,   237,   238,     0,     0,     0,     0,  1212,     0,     0,
6348      239,   240,     0,   241,   242,   243,   244,   245,   246,   247,
6349      248,  1213,   250,  1214,  1215,     0,   253,   254,   255,   256,
6350      257,   258,  1216,  1217,   259,   260,  1218,  1219,   263,     0,
6351      264,   265,   266,   267,  1220,     0,  1221,     0,   270,   271,
6352      272,   273,   274,   275,   276,   277,   278,     0,   279,   280,
6353      281,   282,   283,   284,     0,   285,   286,  4786,   288,  1222,
6354     1223,  1224,  1225,  1226,  1227,  1228,   290,   291,   292,   293,
6355      294,   295,  1229,  1230,   298,  1231,   299,     0,   300,   301,
6356      302,   303,   304,   305,     0,   306,   307,   308,   309,     0,
6357        0,   310,   311,  1065,   313,   314,     0,   315,   316,   317,
6358        0,   318,   319,   320,     0,   321,   322,   323,   324,  1232,
6359      326,   327,   328,  1233,  1234,   330,     0,   331,   332,  1235,
6360      334,     0,   335,     0,   336,   337,     0,   338,   339,   340,
6361      341,   342,     0,   343,  1236,     0,  4787,   346,   347,     0,
6362      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
6363        0,   358,   359,   360,   361,   362,   363,   364,     0,   365,
6364      366,   367,   368,   369,   370,   371,  1238,  1239,     0,  1240,
6365        0,   375,   376,   377,   378,   379,   380,   381,   382,   383,
6366      384,     0,     0,   385,  1241,   387,   388,   389,     0,   390,
6367      391,   392,  1242,  1243,   393,   394,   395,   396,   397,   398,
6368      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
6369     1244,   410,  1245,   412,   413,   414,   415,  1246,   416,   417,
6370      418,   419,  1247,  1248,   421,  1249,   423,   424,   425,     0,
6371      426,   427,     0,     0,  1250,   429,   430,     0,     0,   431,
6372      432,   433,   434,   435,   436,  1251,   438,   439,   440,   441,
6373      442,   443,   444,   445,   446,     0,   447,   448,  1252,   450,
6374      451,   452,   453,   454,     0,   455,   456,   457,   458,   459,
6375      460,   461,   462,   463,   464,  1253,   466,   467,   468,   469,
6376        0,   470,   471,   472,   473,   474,   475,   476,   477,   478,
6377      479,   480,   481,     0,   482,   483,   484,   485,   486,  4788,
6378      488,   489,  1254,   491,   492,   493,   494,   495,   496,   497,
6379      498,   499,     0,   500,   501,   502,   503,   504,  1255,   505,
6380      506,   507,   508,   509,   510,   511,   512,  1256,   514,     0,
6381      515,   516,   517,   518,   519,   520,   521,   522,   523,   524,
6382      525,   526,  1257,     0,   528,   529,     0,   530,   531,   532,
6383      533,   534,   535,   536,     0,   537,  1258,  1259,     0,     0,
6384      540,   541,  1260,   543,  1261,  1262,   545,   546,   547,   548,
6385      549,   550,   551,     0,  1263,   552,   553,   554,   555,   556,
6386     1264,     0,   557,   558,   559,   560,   561,   562,  1265,     0,
6387      564,   565,   566,   567,   568,   569,     0,     0,   570,     0,
6388        0,   571,   572,   573,   574,   575,   576,   577,  1266,  1267,
6389     1268,  1269,   582,  1270,  1271,  1272,  1273,   587,   588,   589,
6390      590,  1274,     0,     0,     0,     0,     0,     0,  1275,  1276,
6391        0,     0,     0,     0,     0,     0,     0,  4789,   227,  1207,
6392      659,  1208,  1209,  1210,   720,  1211,     0,     0,     0,     0,
6393        0,     0,     0,   228,   229,   230,   231,   232,   233,   234,
6394      235,     0,   236,   237,   238,     0,     0,     0,     0,  1212,
6395        0,     0,   239,   240,     0,   241,   242,   243,   244,   245,
6396      246,   247,  5267,  1213,   250,  1214,  1215,     0,   253,   254,
6397      255,   256,   257,   258,  1216,  1217,   259,   260,  1218,  1219,
6398      263,     0,   264,   265,   266,   267,  1220,     0,  1221,     0,
6399      270,   271,   272,   273,   274,   275,   276,   277,   278,     0,
6400      279,   280,   281,   282,   283,   284,     0,   285,   286,   287,
6401     5268,  1222,  1223,  1224,  1225,  1226,  1227,  1228,   290,   291,
6402      292,   293,   294,   295,  1229,  1230,   298,  1231,   299,     0,
6403      300,   301,   302,   303,   304,   305,     0,   306,   307,   308,
6404      309,     0,     0,   310,   311,  1065,   313,   314,     0,   315,
6405      316,   317,     0,   318,   319,   320,     0,   321,   322,   323,
6406      324,  1232,   326,   327,   328,  1233,  1234,   330,     0,   331,
6407      332,  1235,   334,     0,   335,     0,   336,   337,     0,   338,
6408      339,   340,   341,   342,     0,   343,  1236,     0,  1237,   346,
6409      347,     0,   348,   349,   350,   351,   352,   353,   354,   355,
6410      356,   357,     0,   358,   359,   360,   361,   362,   363,   364,
6411        0,   365,   366,   367,   368,   369,   370,   371,  1238,  1239,
6412        0,  1240,     0,   375,   376,   377,   378,   379,   380,   381,
6413      382,   383,   384,     0,     0,   385,  1241,   387,   388,   389,
6414        0,   390,   391,   392,  1242,  1243,   393,   394,   395,   396,
6415      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
6416      407,   408,  1244,   410,  1245,   412,   413,   414,   415,  1246,
6417      416,   417,   418,   419,  1247,  1248,   421,  1249,   423,   424,
6418      425,     0,   426,   427,     0,     0,  1250,   429,   430,     0,
6419        0,   431,   432,   433,   434,   435,   436,  1251,   438,   439,
6420      440,   441,   442,   443,   444,   445,   446,     0,   447,   448,
6421     1252,   450,   451,   452,   453,   454,     0,   455,   456,   457,
6422      458,   459,   460,   461,   462,   463,   464,  1253,   466,   467,
6423      468,   469,     0,   470,   471,   472,   473,   474,   475,   476,
6424      477,   478,   479,   480,   481,     0,   482,   483,   484,   485,
6425      486,   487,   488,   489,  1254,   491,   492,   493,   494,   495,
6426      496,   497,   498,   499,     0,   500,   501,   502,   503,   504,
6427     1255,   505,   506,   507,   508,   509,   510,   511,   512,  1256,
6428      514,     0,   515,   516,   517,   518,   519,   520,   521,   522,
6429      523,   524,   525,   526,  1257,     0,   528,   529,     0,   530,
6430      531,   532,   533,   534,   535,   536,     0,   537,  1258,  1259,
6431        0,     0,   540,   541,  1260,   543,  1261,  1262,   545,   546,
6432      547,   548,  5269,   550,   551,     0,  1263,   552,   553,   554,
6433      555,   556,  1264,     0,   557,   558,   559,   560,   561,   562,
6434     1265,     0,   564,   565,   566,   567,   568,   569,     0,     0,
6435      570,     0,     0,   571,   572,   573,   574,   575,   576,   577,
6436     1266,  1267,  1268,  1269,   582,  1270,  1271,  1272,  1273,   587,
6437      588,   589,   590,  1274,     0,     0,     0,     0,     0,     0,
6438     1275,  1276,     0,     0,     0,     0,     0,     0,     0,  1278,
6439      227,  1207,   659,  1208,  1209,  1210,   720,  1211,     0,     0,
6440        0,     0,     0,     0,     0,   228,   229,   230,   231,   232,
6441      233,   234,   235,     0,   236,   237,   238,     0,     0,     0,
6442        0,  1212,     0,     0,   239,   240,     0,   241,   242,   243,
6443      244,   245,   246,   247,   248,  1213,   250,  1214,  1215,     0,
6444      253,   254,   255,   256,   257,   258,  1216,  1217,   259,   260,
6445     1218,  1219,   263,     0,   264,   265,   266,   267,  1220,     0,
6446     1221,     0,   270,   271,   272,   273,   274,   275,   276,   277,
6447      278,     0,   279,   280,   281,   282,   283,   284,     0,   285,
6448      286,   287,  5268,  1222,  1223,  1224,  1225,  1226,  1227,  1228,
6449      290,   291,   292,   293,   294,   295,  1229,  1230,   298,  1231,
6450      299,     0,   300,   301,   302,   303,   304,   305,     0,   306,
6451      307,   308,   309,     0,     0,   310,   311,  1065,   313,   314,
6452        0,   315,   316,   317,     0,   318,   319,   320,     0,   321,
6453      322,   323,   324,  1232,   326,   327,   328,  1233,  1234,   330,
6454        0,   331,   332,  1235,   334,     0,   335,     0,   336,   337,
6455        0,   338,   339,   340,   341,   342,     0,   343,  1236,     0,
6456     1237,   346,   347,     0,   348,   349,   350,   351,   352,   353,
6457      354,   355,   356,   357,     0,   358,   359,   360,   361,   362,
6458      363,   364,     0,   365,   366,   367,   368,   369,   370,   371,
6459     1238,  1239,     0,  1240,     0,   375,   376,   377,   378,   379,
6460      380,   381,   382,   383,   384,     0,     0,   385,  1241,   387,
6461      388,   389,     0,   390,   391,   392,  1242,  1243,   393,   394,
6462      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
6463      405,   406,   407,   408,  1244,   410,  1245,   412,   413,   414,
6464      415,  1246,   416,   417,   418,   419,  1247,  1248,   421,  1249,
6465      423,   424,   425,     0,   426,   427,     0,     0,  1250,   429,
6466      430,     0,     0,   431,   432,   433,   434,   435,   436,  1251,
6467      438,   439,   440,   441,   442,   443,   444,   445,   446,     0,
6468      447,   448,  1252,   450,   451,   452,   453,   454,     0,   455,
6469      456,   457,   458,   459,   460,   461,   462,   463,   464,  1253,
6470      466,   467,   468,   469,     0,   470,   471,   472,   473,   474,
6471      475,   476,   477,   478,   479,   480,   481,     0,   482,   483,
6472      484,   485,   486,   487,   488,   489,  1254,   491,   492,   493,
6473      494,   495,   496,   497,   498,   499,     0,   500,   501,   502,
6474      503,   504,  1255,   505,   506,   507,   508,   509,   510,   511,
6475      512,  1256,   514,     0,   515,   516,   517,   518,   519,   520,
6476      521,   522,   523,   524,   525,   526,  1257,     0,   528,   529,
6477        0,   530,   531,   532,   533,   534,   535,   536,     0,   537,
6478     1258,  1259,     0,     0,   540,   541,  1260,   543,  1261,  1262,
6479      545,   546,   547,   548,  5269,   550,   551,     0,  1263,   552,
6480      553,   554,   555,   556,  1264,     0,   557,   558,   559,   560,
6481      561,   562,  1265,     0,   564,   565,   566,   567,   568,   569,
6482        0,     0,   570,     0,     0,   571,   572,   573,   574,   575,
6483      576,   577,  1266,  1267,  1268,  1269,   582,  1270,  1271,  1272,
6484     1273,   587,   588,   589,   590,  1274,     0,     0,     0,     0,
6485        0,     0,  1275,  1276,     0,     0,     0,     0,     0,     0,
6486        0,  1278,   227,  1207,   659,  1208,  1209,  1210,   720,  1211,
6487        0,     0,     0,     0,     0,     0,     0,   228,   229,   230,
6488      231,   232,   233,   234,   235,     0,   236,   237,   238,     0,
6489        0,     0,     0,  1212,     0,     0,   239,   240,     0,   241,
6490      242,   243,   244,   245,   246,   247,   248,  1213,   250,  1214,
6491     1215,     0,   253,   254,   255,   256,   257,   258,  1216,  1217,
6492      259,   260,  1218,  1219,   263,     0,   264,   265,   266,   267,
6493     1220,     0,  1221,     0,   270,   271,   272,   273,   274,   275,
6494      276,   277,   278,     0,   279,   280,   281,   282,   283,   284,
6495        0,   285,   286,   287,   288,  1222,  1223,  1224,  1225,  1226,
6496     1227,  1228,   290,   291,   292,   293,   294,   295,  1229,  1230,
6497      298,  4982,   299,     0,   300,   301,   302,   303,   304,   305,
6498        0,   306,   307,   308,   309,     0,     0,   310,   311,  1065,
6499      313,   314,     0,   315,   316,   317,     0,   318,   319,   320,
6500        0,   321,   322,   323,   324,  1232,   326,   327,   328,  1233,
6501     1234,   330,     0,   331,   332,  1235,   334,     0,   335,     0,
6502      336,   337,     0,   338,   339,   340,   341,   342,     0,   343,
6503     1236,     0,  1237,   346,   347,     0,   348,   349,   350,   351,
6504      352,   353,   354,   355,   356,   357,     0,   358,   359,   360,
6505      361,   362,   363,   364,     0,   365,   366,   367,   368,   369,
6506      370,   371,  1238,  1239,     0,  1240,     0,   375,   376,   377,
6507      378,   379,   380,   381,   382,   383,   384,     0,     0,   385,
6508     1241,   387,   388,   389,     0,   390,   391,   392,  1242,  1243,
6509      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
6510      403,   404,   405,   406,   407,   408,  1244,   410,  1245,   412,
6511      413,   414,   415,     0,   416,   417,   418,   419,  1247,  1248,
6512      421,  1249,   423,   424,   425,     0,   426,   427,     0,     0,
6513     1250,   429,   430,     0,     0,   431,   432,   433,   434,   435,
6514      436,  1251,   438,   439,   440,   441,   442,   443,   444,   445,
6515      446,     0,   447,   448,  1252,   450,   451,   452,   453,   454,
6516        0,   455,   456,   457,   458,   459,   460,   461,   462,   463,
6517      464,  1253,   466,   467,   468,   469,     0,   470,   471,   472,
6518      473,   474,   475,   476,   477,   478,   479,   480,   481,     0,
6519      482,   483,   484,   485,   486,   487,   488,   489,  2750,   491,
6520      492,   493,   494,   495,   496,   497,   498,   499,     0,   500,
6521      501,   502,   503,   504,  1255,   505,   506,   507,   508,   509,
6522      510,   511,   512,  1256,   514,     0,   515,   516,   517,   518,
6523      519,   520,   521,   522,   523,   524,   525,   526,  1257,     0,
6524      528,   529,     0,   530,   531,   532,   533,   534,   535,   536,
6525        0,   537,  1258,  1259,     0,     0,   540,   541,  1260,   543,
6526     1261,  1262,   545,   546,   547,   548,   549,   550,   551,     0,
6527        0,   552,   553,   554,   555,   556,  1264,     0,   557,   558,
6528      559,   560,   561,   562,  1265,     0,   564,   565,   566,   567,
6529      568,   569,     0,     0,   570,     0,     0,   571,   572,   573,
6530      574,   575,   576,   577,  1266,  1267,  1268,  1269,   582,  1270,
6531     1271,  1272,  1273,   587,   588,   589,   590,     0,     0,     0,
6532        0,     0,     0,     0,  2751,  2752,     0,     0,     0,     0,
6533        0,     0,     0,  2753,   227,  1207,   659,  1208,  1209,  1210,
6534      720,  1211,     0,     0,     0,     0,     0,     0,     0,   228,
6535      229,   230,   231,   232,   233,   234,   235,     0,   236,   237,
6536      238,     0,     0,     0,     0,  1212,     0,     0,   239,   240,
6537        0,   241,   242,   243,   244,   245,   246,   247, -2635,  1213,
6538      250,  1214,  1215,     0,   253,   254,   255,   256,   257,   258,
6539     1216,  1217,   259,   260,  1218,  1219,   263,     0,   264,   265,
6540      266,   267,  1220,     0,  1221,     0,   270,   271,   272,   273,
6541      274,   275,   276,   277,   278,     0,   279,   280,   281,   282,
6542      283,   284,     0,   285,   286,   287,  5268,  1222,  1223,  1224,
6543     1225,  1226,  1227,  1228,   290,   291,   292,   293,   294,   295,
6544     1229,  1230,   298,  1231,   299,     0,   300,   301,   302,   303,
6545      304,   305,     0,   306,   307,   308,   309,     0,     0,   310,
6546      311,  1065,   313,   314,     0,   315,   316,   317,     0,   318,
6547      319,   320,     0,   321,   322,   323,   324,  1232,   326,   327,
6548      328,  1233,  1234,   330,     0,   331,   332,  1235,   334,     0,
6549      335,     0,   336,   337,     0,   338,   339,   340,   341,   342,
6550        0,   343,  1236,     0,  1237,   346,   347,     0,   348,   349,
6551      350,   351,   352, -2635,   354,   355,   356,   357,     0,   358,
6552      359,   360,   361,   362,   363,   364,     0,   365,   366,   367,
6553      368,   369,   370,   371,  1238,  1239,     0,  1240,     0,   375,
6554        0,     0,   378,   379,   380,   381,   382,   383,   384,     0,
6555        0,   385,  1241,   387,   388, -2635,     0,   390,   391,   392,
6556     1242,  1243,   393,   394,   395,   396,   397,   398,   399,   400,
6557      401,   402,   403,   404,   405,   406,   407,   408,  1244,   410,
6558     1245,   412,   413,   414,   415,  1246,   416,   417,     0,   419,
6559     1247,  1248,   421,  1249,   423,   424,   425,     0,   426,   427,
6560        0,     0,  1250,   429,   430,     0,     0,   431,   432,   433,
6561      434,   435,   436,  1251,   438,   439,   440,   441,   442,   443,
6562      444,   445,   446,     0,   447,   448,  1252,   450,   451,   452,
6563      453,   454,     0,   455,   456,   457,   458,   459,   460,   461,
6564      462,   463,   464,  1253,   466,   467,   468,   469,     0,   470,
6565      471,   472,   473,   474,   475,   476,   477,   478,   479,   480,
6566      481,     0,   482,   483,   484,   485,   486,   487,   488,   489,
6567     1254,   491,   492,   493,   494,   495,   496,   497,   498,   499,
6568        0,   500,   501,   502,   503,   504,  1255,   505,   506,   507,
6569      508,   509, -2635,   511,   512,  1256,   514,     0,   515,   516,
6570      517,   518,   519,   520,   521,   522,   523,   524,   525,   526,
6571     1257,     0,   528,   529,     0,   530,   531,   532,   533,   534,
6572      535,   536,     0,   537,  1258,  1259,     0,     0,   540,   541,
6573     1260,   543,  1261,  1262,   545,   546,   547,   548,  5269,   550,
6574      551,     0,  1263,   552,   553,   554,   555,   556,  1264,     0,
6575      557,   558,   559,   560,   561,   562,  1265,     0,   564,   565,
6576      566,   567,   568,   569,     0,     0,   570,     0,     0,   571,
6577      572,   573,   574,   575,   576,   577,  1266,  1267,  1268,  1269,
6578      582,  1270,  1271,  1272,  1273,   587,   588,   589,   590, -2635,
6579        0,     0,     0,     0,     0,     0,  1275,  1276,     0,     0,
6580        0,     0,     0,     0,     0,  1278,   227,  1207,   659,  1208,
6581     1209,  1210,   720,  1211,     0,     0,     0,     0,     0,     0,
6582        0,   228,   229,   230,   231,   232,   233,   234,   235,     0,
6583      236,   237,   238,     0,     0,     0,     0,  1212,     0,     0,
6584      239,   240,     0,   241,   242,   243,   244,   245,   246,   247,
6585      248,  1213,   250,  1214,  1215,     0,   253,   254,   255,   256,
6586      257,   258,  1216,  1217,   259,   260,  1218,  1219,   263,     0,
6587      264,   265,   266,   267,  1220,     0,  1221,     0,   270,   271,
6588      272,   273,   274,   275,   276,   277,   278,     0,   279,   280,
6589      281,   282,   283,   284,     0,   285,   286,   287,   288,  1222,
6590     1223,  1224,  1225,  1226,  1227,  1228,   290,   291,   292,   293,
6591      294,   295,  1229,  1230,   298,     0,   299,     0,   300,   301,
6592      302,   303,   304,   305,     0,   306,   307,   308,   309,     0,
6593        0,   310,   311,  1065,   313,   314,     0,   315,   316,   317,
6594        0,   318,   319,   320,     0,   321,   322,   323,   324,  1232,
6595      326,   327,   328,  1233,  1234,   330,     0,   331,   332,  1235,
6596      334,     0,   335,     0,   336,   337,     0,   338,   339,   340,
6597      341,   342,     0,   343,  1236,     0,  1237,   346,   347,     0,
6598      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
6599        0,   358,   359,   360,   361,   362,   363,   364,     0,   365,
6600      366,   367,   368,   369,   370,   371,  1238,  1239,     0,  1240,
6601        0,   375,   376,   377,   378,   379,   380,   381,   382,   383,
6602      384,     0,     0,   385,  1241,   387,   388,   389,     0,   390,
6603      391,   392,  1242,  1243,   393,   394,   395,   396,   397,   398,
6604      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
6605     1244,   410,  1245,   412,   413,   414,   415,     0,   416,   417,
6606      418,   419,  1247,  1248,   421,  1249,   423,   424,   425,     0,
6607      426,   427,     0,     0,  1250,   429,   430,     0,     0,   431,
6608      432,   433,   434,   435,   436,  1251,   438,   439,   440,   441,
6609      442,   443,   444,   445,   446,     0,   447,   448,  1252,   450,
6610      451,   452,   453,   454,     0,   455,   456,   457,   458,   459,
6611      460,   461,   462,   463,   464,  1253,   466,   467,   468,   469,
6612        0,   470,   471,   472,   473,   474,   475,   476,   477,   478,
6613      479,   480,   481,     0,   482,   483,   484,   485,   486,   487,
6614      488,   489,  2750,   491,   492,   493,   494,   495,   496,   497,
6615      498,   499,     0,   500,   501,   502,   503,   504,  1255,   505,
6616      506,   507,   508,   509,   510,   511,   512,  1256,   514,     0,
6617      515,   516,   517,   518,   519,   520,   521,   522,   523,   524,
6618      525,   526,  1257,     0,   528,   529,     0,   530,   531,   532,
6619      533,   534,   535,   536,     0,   537,  1258,  1259,     0,     0,
6620      540,   541,  1260,   543,  1261,  1262,   545,   546,   547,   548,
6621      549,   550,   551,     0,     0,   552,   553,   554,   555,   556,
6622     1264,     0,   557,   558,   559,   560,   561,   562,  1265,     0,
6623      564,   565,   566,   567,   568,   569,     0,     0,   570,     0,
6624        0,   571,   572,   573,   574,   575,   576,   577,  1266,  1267,
6625     1268,  1269,   582,  1270,  1271,  1272,  1273,   587,   588,   589,
6626      590,     0,     0,     0,     0,     0,     0,     0,  2751,  2752,
6627        0,     0,   227,  1207,   659,  1208,  1209,  2753,   720,  1211,
6628        0,     0,     0,     0,     0,     0,     0,   228,   229,   230,
6629      231,   232,   233,   234,   235,     0,   236,   237,   238,     0,
6630        0,     0,     0,  1212,     0,     0,   239,   240,     0,   241,
6631      242,   243,   244,   245,   246,   247,   248,  1213,   250,  1214,
6632     1215,     0,   253,   254,   255,   256,   257,   258,  1216,  1217,
6633      259,   260,  1218,  1219,   263,     0,   264,   265,   266,   267,
6634     1220,     0,  1221,     0,   270,   271,   272,   273,   274,   275,
6635      276,   277,   278,     0,   279,   280,   281,   282,   283,   284,
6636        0,   285,   286,   287,   288,  1222,  1223,  1224,  1225,  1226,
6637     1227,  1228,   290,   291,   292,   293,   294,   295,  1229,  1230,
6638      298,     0,   299,     0,   300,   301,   302,   303,   304,   305,
6639        0,   306,   307,   308,   309,     0,     0,   310,   311,  1065,
6640      313,   314,     0,   315,   316,   317,     0,   318,   319,   320,
6641        0,   321,   322,   323,   324,  1232,   326,   327,   328,  1233,
6642     1234,   330,     0,   331,   332,  1235,   334,     0,   335,     0,
6643      336,   337,     0,   338,   339,   340,   341,   342,     0,   343,
6644     1236,     0,  1237,   346,   347,     0,   348,   349,   350,   351,
6645      352,   353,   354,   355,   356,   357,     0,   358,   359,   360,
6646      361,   362,   363,   364,     0,   365,   366,   367,   368,   369,
6647      370,   371,  1238,  1239,     0,  1240,     0,   375,   376,   377,
6648      378,   379,   380,   381,   382,   383,   384,     0,     0,   385,
6649     1241,   387,   388,   389,     0,   390,   391,   392,  1242,  1243,
6650      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
6651      403,   404,   405,   406,   407,   408,  1244,   410,  1245,   412,
6652      413,   414,   415,     0,   416,   417,   418,   419,  1247,  1248,
6653      421,  1249,   423,   424,   425,     0,   426,   427,     0,     0,
6654      428,   429,   430,     0,     0,   431,   432,   433,   434,   435,
6655      436,  1251,   438,   439,   440,   441,   442,   443,   444,   445,
6656      446,     0,   447,   448,  1252,   450,   451,   452,   453,   454,
6657        0,   455,   456,   457,   458,   459,   460,   461,   462,   463,
6658      464,  1253,   466,   467,   468,   469,     0,   470,   471,   472,
6659      473,   474,   475,   476,   477,   478,   479,   480,   481,     0,
6660      482,   483,   484,   485,   486,   487,   488,   489,  2874,  2875,
6661      492,   493,   494,   495,   496,   497,   498,   499,     0,   500,
6662      501,   502,   503,   504,  1255,   505,   506,   507,   508,   509,
6663      510,   511,   512,  1256,   514,     0,   515,   516,   517,   518,
6664      519,   520,   521,   522,   523,   524,   525,   526,  1257,     0,
6665      528,   529,     0,   530,   531,   532,   533,   534,   535,   536,
6666        0,   537,  1258,  1259,     0,     0,   540,   541,  1260,   543,
6667     1261,  1262,   545,   546,   547,   548,   549,   550,   551,     0,
6668        0,   552,   553,   554,   555,   556,  1264,     0,   557,   558,
6669      559,   560,   561,   562,  1265,     0,   564,   565,   566,   567,
6670      568,   569,     0,     0,   570,     0,     0,   571,   572,   573,
6671      574,   575,   576,   577,  1266,  1267,  1268,  1269,   582,  1270,
6672     1271,  1272,  1273,   587,   588,   589,   590,     0,     0,     0,
6673        0,     0,     0,     0,  2876,  2877,     0,     0,     0,     0,
6674        0,     0,     0,  2753,   227,  1207,   659,  1208,  1209,  1210,
6675      720,  1211,     0,     0,     0,     0,     0,     0,     0,   228,
6676      229,   230,   231,   232,   233,   234,   235,     0,   236,   237,
6677      238,     0,     0,     0,     0,  1212,     0,     0,   239,   240,
6678        0,   241,   242,   243,   244,   245,   246,   247,   248,  1213,
6679      250,  1214,  1215,     0,   253,   254,   255,   256,   257,   258,
6680     1216,  1217,   259,   260,  1218,  1219,   263,     0,   264,   265,
6681      266,   267,  1220,     0,  1221,     0,   270,   271,   272,   273,
6682      274,   275,   276,   277,   278,     0,   279,   280,   281,   282,
6683      283,   284,     0,   285,   286,   287,   288,  1222,  1223,  1224,
6684     1225,  1226,  1227,  1228,   290,   291,   292,   293,   294,   295,
6685     1229,  1230,   298,     0,   299,     0,   300,   301,   302,   303,
6686      304,   305,     0,   306,   307,   308,   309,     0,     0,   310,
6687      311,  1065,   313,   314,     0,   315,   316,   317,     0,   318,
6688      319,   320,     0,   321,   322,   323,   324,  1232,   326,   327,
6689      328,  1233,  1234,   330,     0,   331,   332,  1235,   334,     0,
6690      335,     0,   336,   337,     0,   338,   339,   340,   341,   342,
6691        0,   343,  1236,     0,  1237,   346,   347,     0,   348,   349,
6692      350,   351,   352,   353,   354,   355,   356,   357,     0,   358,
6693      359,   360,   361,   362,   363,   364,     0,   365,   366,   367,
6694      368,   369,   370,   371,  1238,  1239,     0,  1240,     0,   375,
6695        0,   377,   378,   379,   380,   381,   382,   383,   384,     0,
6696        0,   385,  1241,   387,   388,   389,     0,   390,   391,   392,
6697     1242,  1243,   393,   394,   395,   396,   397,   398,   399,   400,
6698      401,   402,   403,   404,   405,   406,   407,   408,  1244,   410,
6699     1245,   412,   413,   414,   415,     0,   416,   417,   418,   419,
6700     1247,  1248,   421,  1249,   423,   424,   425,     0,   426,   427,
6701        0,     0,  1250,   429,   430,     0,     0,   431,   432,   433,
6702      434,   435,   436,  1251,   438,   439,   440,   441,   442,   443,
6703      444,   445,   446,     0,   447,   448,  1252,   450,   451,   452,
6704      453,   454,     0,   455,   456,   457,   458,   459,   460,   461,
6705      462,   463,   464,  1253,   466,   467,   468,   469,     0,   470,
6706      471,   472,   473,   474,   475,   476,   477,   478,   479,   480,
6707      481,     0,   482,   483,   484,   485,   486,   487,   488,   489,
6708     2750,   491,   492,   493,   494,   495,   496,   497,   498,   499,
6709        0,   500,   501,   502,   503,   504,  1255,   505,   506,   507,
6710      508,   509,   510,   511,   512,  1256,   514,     0,   515,   516,
6711      517,   518,   519,   520,   521,   522,   523,   524,   525,   526,
6712     1257,     0,   528,   529,     0,   530,   531,   532,   533,   534,
6713      535,   536,     0,   537,  1258,  1259,     0,     0,   540,   541,
6714     1260,   543,  1261,  1262,   545,   546,   547,   548,   549,   550,
6715      551,     0,     0,   552,   553,   554,   555,   556,  1264,     0,
6716      557,   558,   559,   560,   561,   562,  1265,     0,   564,   565,
6717      566,   567,   568,   569,     0,     0,   570,     0,     0,   571,
6718      572,   573,   574,   575,   576,   577,  1266,  1267,  1268,  1269,
6719      582,  1270,  1271,  1272,  1273,   587,   588,   589,   590,     0,
6720        0,     0,     0,     0,     0,     0,  2751,  2752,     0,     0,
6721      227,  1207,   659,  1208,  1209,  2753,   720,  1211,     0,     0,
6722        0,     0,     0,     0,     0,   228,   229,   230,   231,   232,
6723      233,   234,   235,     0,   236,   237,   238,     0,     0,     0,
6724        0,  1212,     0,     0,   239,   240,     0,   241,   242,   243,
6725      244,   245,   246,   247,   248,  1213,   250,  1214,  1215,     0,
6726      253,   254,   255,   256,   257,   258,  1216,  1217,   259,   260,
6727     1218,  1219,   263,     0,   264,   265,   266,   267,  1220,     0,
6728     1221,     0,   270,   271,   272,   273,   274,   275,   276,   277,
6729      278,     0,   279,   280,   281,   282,   283,   284,     0,   285,
6730      286,   287,   288,  1222,  1223,  1224,  1225,  1226,  1227,  1228,
6731      290,   291,   292,   293,   294,   295,  1229,  1230,   298,     0,
6732      299,     0,   300,   301,   302,   303,   304,   305,     0,   306,
6733      307,   308,   309,     0,     0,   310,   311,  1065,   313,   314,
6734        0,   315,   316,   317,     0,   318,   319,   320,     0,   321,
6735      322,   323,   324,  1232,   326,   327,   328,  1233,  1234,   330,
6736        0,   331,   332,  1235,   334,     0,   335,     0,   336,   337,
6737        0,   338,   339,   340,   341,   342,     0,   343,  1236,     0,
6738     1237,   346,   347,     0,   348,   349,   350,   351,   352,   353,
6739      354,   355,   356,   357,     0,   358,   359,   360,   361,   362,
6740      363,   364,     0,   365,   366,   367,   368,   369,   370,   371,
6741     1238,  1239,     0,  1240,     0,   375,   376,   377,   378,   379,
6742      380,   381,   382,   383,   384,     0,     0,   385,  1241,   387,
6743      388,   389,     0,   390,   391,   392,  1242,  1243,   393,   394,
6744      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
6745      405,   406,   407,   408,  1244,   410,  1245,   412,   413,   414,
6746      415,     0,   416,   417,   418,   419,  1247,  1248,   421,  1249,
6747      423,   424,   425,     0,   426,   427,     0,     0,   428,   429,
6748      430,     0,     0,   431,   432,   433,   434,   435,   436,  1251,
6749      438,   439,   440,   441,   442,   443,   444,   445,   446,     0,
6750      447,   448,  1252,   450,   451,   452,   453,   454,     0,   455,
6751      456,   457,   458,   459,   460,   461,   462,   463,   464,  1253,
6752      466,   467,   468,   469,     0,   470,   471,   472,   473,   474,
6753      475,   476,   477,   478,   479,   480,   481,     0,   482,   483,
6754      484,   485,   486,   487,   488,   489,  2750,   491,   492,   493,
6755      494,   495,   496,   497,   498,   499,     0,   500,   501,   502,
6756      503,   504,  1255,   505,   506,   507,   508,   509,   510,   511,
6757      512,  1256,   514,     0,   515,   516,   517,   518,   519,   520,
6758      521,   522,   523,   524,   525,   526,  1257,     0,   528,   529,
6759        0,   530,   531,   532,   533,   534,   535,   536,     0,   537,
6760     1258,  1259,     0,     0,   540,   541,  1260,   543,  1261,  1262,
6761      545,   546,   547,   548,   549,   550,   551,     0,     0,   552,
6762      553,   554,   555,   556,  1264,     0,   557,   558,   559,   560,
6763      561,   562,  1265,     0,   564,   565,   566,   567,   568,   569,
6764        0,     0,   570,     0,     0,   571,   572,   573,   574,   575,
6765      576,   577,  1266,  1267,  1268,  1269,   582,  1270,  1271,  1272,
6766     1273,   587,   588,   589,   590,     0,     0,   227,  1207,   659,
6767     1208,  1209,     0,   720,  1211,     0,     0,     0,     0,     0,
6768        0,  2753,   228,   229,   230,   231,   232,   233,   234,   235,
6769        0,   236,   237,   238,     0,     0,     0,     0,  1212,     0,
6770        0,   239,   240,     0,   241,   242,   243,   244,   245,   246,
6771      247,   248,  1213,   250,  1214,  1215,     0,  4044,   254,   255,
6772      256,   257,   258,  1216,  1217,   259,   260,  1218,  1219,   263,
6773        0,   264,   265,   266,   267,  1220,     0,  1221,     0,   270,
6774      271,   272,   273,   274,   275,   276,   277,   278,     0,   279,
6775      280,   281,   282,   283,   284,     0,   285,   286,   287,   288,
6776     1222,  1223,  1224,  1225,  1226,  1227,  1228,   290,   291,   292,
6777      293,   294,   295,  1229,  1230,   298,     0,   299,     0,   300,
6778      301,   302,   303,   304,   305,     0,   306,   307,   308,   309,
6779        0,     0,   310,   311,  1065,   313,   314,     0,   315,   316,
6780      317,     0,   318,   319,   320,     0,   321,   322,   323,   324,
6781     1232,   326,   327,   328,  1233,  1234,   330,     0,   331,   332,
6782     1235,   334,     0,   335,     0,   336,   337,     0,   338,   339,
6783      340,   341,   342,     0,   343,  1236,     0,  1237,   346,   347,
6784        0,   348,   349,   350,   351,   352,   353,   354,   355,   356,
6785      357,     0,   358,   359,   360,   361,   362,   363,   364,     0,
6786      365,   366,   367,   368,   369,   370,   371,  1238,  1239,     0,
6787     1240,     0,   375,   376,   377,   378,   379,   380,   381,   382,
6788      383,   384,     0,     0,   385,  1241,   387,   388,   389,     0,
6789      390,   391,   392,  1242,  1243,   393,   394,   395,   396,   397,
6790      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
6791      408,  1244,   410,  1245,   412,   413,   414,   415,     0,   416,
6792      417,   418,   419,  1247,  1248,   421,  1249,   423,   424,   425,
6793        0,   426,   427,     0,     0,   428,   429,   430,     0,     0,
6794      431,   432,   433,   434,   435,   436,  1251,   438,   439,   440,
6795      441,   442,   443,   444,   445,   446,     0,   447,   448,  1252,
6796      450,   451,   452,   453,   454,     0,   455,   456,   457,   458,
6797      459,   460,   461,   462,   463,   464,  1253,   466,   467,   468,
6798      469,     0,   470,   471,   472,   473,   474,   475,   476,   477,
6799      478,   479,   480,   481,     0,   482,   483,   484,   485,   486,
6800      487,   488,   489,  2750,   491,   492,   493,   494,   495,   496,
6801      497,   498,   499,     0,   500,   501,   502,   503,   504,  1255,
6802      505,   506,   507,   508,   509,   510,   511,   512,  1256,   514,
6803        0,   515,   516,   517,   518,   519,   520,   521,   522,   523,
6804      524,   525,   526,  1257,     0,   528,   529,     0,   530,   531,
6805      532,   533,   534,   535,   536,     0,   537,  1258,  1259,     0,
6806        0,   540,   541,  1260,   543,  1261,  1262,   545,   546,   547,
6807      548,   549,   550,   551,     0,     0,   552,   553,   554,   555,
6808      556,  1264,     0,   557,   558,   559,   560,   561,   562,  1265,
6809        0,   564,   565,   566,   567,   568,   569,     0,     0,   570,
6810        0,     0,   571,   572,   573,   574,   575,   576,   577,  1266,
6811     1267,  1268,  1269,   582,  1270,  1271,  1272,  1273,   587,   588,
6812      589,   590,     0,     0,   227,  1207,   659,  1208,  1209,     0,
6813      720,  1211,     0,     0,     0,     0,     0,     0,  2753,   228,
6814      229,   230,   231,   232,   233,   234,   235,     0,   236,   237,
6815      238,     0,     0,     0,     0,  1212,     0,     0,   239,   240,
6816        0,   241,   242,   243,   244,   245,   246,   247,   248,  1213,
6817      250,  1214,  1215,     0,   253,   254,   255,   256,   257,   258,
6818     1216,  1217,   259,   260,  1218,  1219,   263,     0,   264,   265,
6819      266,   267,  1220,     0,  1221,     0,   270,   271,   272,   273,
6820      274,   275,   276,   277,   278,     0,   279,   280,   281,   282,
6821      283,   284,     0,   285,   286,   287,   288,  1222,  1223,  1224,
6822     1225,  1226,  1227,  1228,   290,   291,   292,   293,   294,   295,
6823     1229,  1230,   298,     0,   299,     0,   300,   301,   302,   303,
6824      304,   305,     0,   306,   307,   308,   309,     0,     0,   310,
6825      311,  1065,   313,   314,     0,   315,   316,   317,     0,   318,
6826      319,   320,     0,   321,   322,   323,   324,  1232,   326,   327,
6827      328,  1233,  1234,   330,     0,   331,   332,  1235,   334,     0,
6828      335,     0,   336,   337,     0,   338,   339,   340,   341,   342,
6829        0,   343,  1236,     0,  1237,   346,   347,     0,   348,   349,
6830      350,   351,   352,   353,   354,   355,   356,   357,     0,   358,
6831      359,   360,   361,   362,   363,   364,     0,   365,   366,   367,
6832      368,   369,   370,   371,  1238,  1239,     0,  1240,     0,   375,
6833      376,   377,   378,   379,   380,   381,   382,   383,   384,     0,
6834        0,   385,  1241,   387,   388,   389,     0,   390,   391,   392,
6835     1242,  1243,   393,   394,   395,   396,   397,   398,   399,   400,
6836      401,   402,   403,   404,   405,   406,   407,   408,  1244,   410,
6837     1245,   412,   413,   414,   415,     0,   416,   417,   418,   419,
6838     1247,  1248,   421,  1249,   423,   424,   425,     0,   426,   427,
6839        0,     0,   428,   429,   430,     0,     0,   431,   432,   433,
6840      434,   435,   436,  1251,   438,   439,   440,   441,   442,   443,
6841      444,   445,   446,     0,   447,   448,  1252,   450,   451,   452,
6842      453,   454,     0,   455,   456,   457,   458,   459,   460,   461,
6843      462,   463,   464,  1253,   466,   467,   468,   469,     0,   470,
6844      471,   472,   473,   474,   475,   476,   477,   478,   479,   480,
6845      481,     0,   482,   483,   484,   485,   486,   487,   488,   489,
6846     2750,   491,   492,   493,   494,   495,   496,   497,   498,   499,
6847        0,   500,   501,   502,   503,   504,  1255,   505,   506,   507,
6848      508,   509,   510,   511,   512,  1256,   514,     0,   515,   516,
6849      517,   518,   519,   520,   521,   522,   523,   524,   525,   526,
6850     1257,     0,   528,   529,     0,   530,   531,   532,   533,   534,
6851      535,   536,     0,   537,  1258,  1259,     0,     0,   540,   541,
6852     1260,   543,  1261,  1262,   545,   546,   547,   548,   549,   550,
6853      551,     0,     0,   552,   553,   554,   555,   556,  1264,     0,
6854      557,   558,   559,   560,   561,   562,  1265,     0,   564,   565,
6855      566,   567,   568,   569,     0,     0,   570,     0,     0,   571,
6856      572,   573,   574,   575,   576,   577,  1266,  1267,  1268,  1269,
6857     4508,  1270,  1271,  1272,  1273,   587,   588,   589,   590,     0,
6858        0,   227,  1207,   659,  1208,  1209,  1210,   720,  1211,     0,
6859        0,     0,     0,     0,     0,  2753,   228,   229,   230,   231,
6860      232,   233,   234,   235,     0,   236,   237,   238,     0,     0,
6861        0,     0,  1212,     0,     0,   239,   240,     0,   241,   242,
6862      243,   244,   245,   246,   247,     0,  1213,   250,  1214,  1215,
6863        0,   253,   254,   255,   256,   257,   258,  1216,  1217,   259,
6864      260,  1218,  1219,   263,     0,   264,   265,   266,   267,  1220,
6865        0,  1221,     0,   270,   271,   272,   273,   274,   275,   276,
6866      277,   278,     0,   279,   280,   281,   282,   283,   284,     0,
6867      285,   286,   287,   288,  1222,  1223,  1224,  1225,  1226,  1227,
6868     1228,   290,   291,   292,   293,   294,   295,  1229,  1230,   298,
6869     1231,   299,     0,   300,   301,   302,   303,   304,   305,     0,
6870      306,   307,   308,   309,     0,     0,   310,   311,  1065,   313,
6871      314,     0,   315,   316,   317,     0,   318,     0,   320,     0,
6872      321,   322,   323,   324,  1232,   326,   327,   328,  1233,  1234,
6873      330,     0,   331,   332,  1235,   334,     0,   335,     0,   336,
6874      337,     0,   338,   339,   340,   341,   342,     0,   343,  1236,
6875        0,  1237,   346,   347,     0,   348,   349,   350,   351,   352,
6876        0,   354,   355,   356,   357,     0,   358,   359,   360,   361,
6877      362,   363,   364,     0,   365,   366,   367,   368,   369,   370,
6878      371,  1238,  1239,     0,  1240,     0,   375,     0,     0,   378,
6879      379,   380,   381,   382,   383,   384,     0,     0,   385,  1241,
6880      387,   388,     0,     0,   390,   391,   392,  1242,  1243,   393,
6881      394,   395,   396,   397,   398,   399,   400,   401,   402,   403,
6882      404,   405,   406,   407,   408,  1244,   410,  1245,   412,   413,
6883      414,   415,  1246,   416,   417,     0,   419,  1247,  1248,   421,
6884     1249,   423,   424,   425,     0,   426,   427,     0,     0,  1250,
6885      429,   430,     0,     0,   431,   432,   433,   434,   435,   436,
6886     1251,   438,   439,   440,   441,   442,   443,   444,   445,   446,
6887        0,   447,   448,  1252,   450,   451,   452,   453,   454,     0,
6888      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
6889     1253,   466,   467,   468,   469,     0,   470,   471,   472,   473,
6890      474,   475,   476,   477,   478,   479,   480,   481,     0,   482,
6891      483,   484,   485,   486,   487,   488,   489,  1254,   491,   492,
6892      493,   494,   495,   496,   497,   498,   499,     0,   500,   501,
6893      502,   503,   504,  1255,   505,   506,   507,   508,   509,     0,
6894      511,   512,  1256,   514,     0,   515,   516,   517,   518,   519,
6895      520,   521,   522,   523,   524,   525,   526,  1257,     0,   528,
6896      529,     0,   530,   531,   532,   533,   534,   535,   536,     0,
6897      537,  1258,  1259,     0,     0,   540,   541,  1260,   543,  1261,
6898     1262,   545,   546,   547,   548,   549,   550,   551,     0,  1263,
6899      552,   553,   554,   555,   556,  1264,     0,   557,   558,   559,
6900      560,   561,   562,  1265,     0,   564,   565,   566,   567,   568,
6901      569,     0,     0,   570,     0,     0,   571,   572,   573,   574,
6902      575,   576,   577,  1266,  1267,  1268,  1269,   582,  1270,  1271,
6903     1272,  1273,   587,   588,   589,   590,     0,     0,   227,     0,
6904        0,     0,     0,  1275,  1276,     0,     0,     0,     0,     0,
6905        0,     0,  1278,   228,   229,   230,   231,   232,   233,   234,
6906      235,     0,   236,   237,   238,     0,     0,     0,     0,     0,
6907        0,     0,   239,   240,     0,   241,   242,   243,   244,   245,
6908      246,   247,   248,   249,   250,   251,   252,     0,   253,   254,
6909      255,   256,   257,   258,     0,  1217,   259,   260,   261,   262,
6910      263,     0,   264,   265,   266,   267,  1220,     0,  1221,     0,
6911      270,   271,   272,   273,   274,   275,   276,   277,   278,     0,
6912      279,   280,   281,   282,   283,   284,     0,   285,   286,   287,
6913      288,  1222,  1223,  1224,  1225,  1226,  1227,  1228,   290,   291,
6914      292,   293,   294,   295,   296,   297,   298,     0,   299,     0,
6915      300,   301,   302,   303,   304,   305,     0,   306,   307,   308,
6916      309,     0,     0,   310,   311,   312,   313,   314,     0,   315,
6917      316,   317,     0,   318,   319,   320,     0,   321,   322,   323,
6918      324,   325,   326,   327,   328,  1233,     0,   330,     0,   331,
6919      332,   333,   334,     0,   335,     0,   336,   337,     0,   338,
6920      339,   340,   341,   342,     0,   343,  1236,     0,   345,   346,
6921      347,     0,   348,   349,   350,   351,   352,   353,   354,   355,
6922      356,   357,     0,   358,   359,   360,   361,   362,   363,   364,
6923        0,   365,   366,   367,   368,   369,   370,   371,   372,   373,
6924        0,   374,     0,   375,   376,   377,   378,   379,   380,   381,
6925      382,   383,   384,  3563,     0,   385,  1241,   387,   388,   389,
6926        0,   390,   391,   392,  1242,  1243,   393,   394,   395,   396,
6927      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
6928      407,   408,   409,   410,   411,   412,   413,   414,   415,     0,
6929      416,   417,   418,   419,     0,  1248,   421,   422,   423,   424,
6930      425,     0,   426,   427,     0,   809,   428,   429,   430,     0,
6931        0,   431,   432,   433,   434,   435,   436,  1251,   438,   439,
6932      440,   441,   442,   443,   444,   445,   446,     0,   447,   448,
6933     1252,   450,   451,   452,   453,   454,     0,   455,   456,   457,
6934      458,   459,   460,   461,   462,   463,   464,   465,   466,   467,
6935      468,   469,     0,   470,   471,   472,   473,   474,   475,   476,
6936      477,   478,   479,   480,   481,     0,   482,   483,   484,   485,
6937      486,   487,   488,   489,   490,  3564,   492,   493,   494,   495,
6938      496,   497,   498,   499,    40,   500,   501,   502,   503,   504,
6939     1255,   505,   506,   507,   508,   509,   510,   511,   512,   513,
6940      514,     0,   515,   516,   517,   518,   519,   520,   521,   522,
6941      523,   524,   525,   526,  1257,     0,   528,   529,    44,   530,
6942      531,   532,   533,   534,   535,   536,     0,   537,   538,   539,
6943        0,     0,   540,   541,  1260,   543,  1261,     0,   545,   546,
6944      547,   548,   549,   550,   551,     0,     0,   552,   553,   554,
6945      555,   556,  1264,     0,   557,   558,   559,   560,   561,  1143,
6946      563,     0,   564,   565,   566,   567,   568,   569,     0,     0,
6947      570,     0,    49,   571,   572,   573,   574,   575,   576,   577,
6948     1266,  1267,  1268,  1269,   582,  1270,  1271,  1272,  1273,  3565,
6949      588,   589,   590,     0,     0,    50,   227,     0,     0,     0,
6950        0,     0,     0,     0,     0,     0,     0,     0,     0,  3566,
6951        0,   228,   229,   230,   231,   232,   233,   234,   235,     0,
6952      236,   237,   238,     0,     0,     0,     0,     0,     0,     0,
6953      239,   240,     0,   241,   242,   243,   244,   245,   246,   247,
6954      248,   249,   250,   251,   252,     0,   253,   254,   255,   256,
6955      257,   258,     0,  1217,   259,   260,   261,   262,   263,     0,
6956      264,   265,   266,   267,  1220,     0,  1221,     0,   270,   271,
6957      272,   273,   274,   275,   276,   277,   278,     0,   279,   280,
6958      281,   282,   283,   284,     0,   285,   286,   287,   288,  1222,
6959     1223,  1224,  1225,  1226,  1227,  1228,   290,   291,   292,   293,
6960      294,   295,   296,   297,   298,     0,   299,     0,   300,   301,
6961      302,   303,   304,   305,     0,   306,   307,   308,   309,     0,
6962        0,   310,   311,   312,   313,   314,     0,   315,   316,   317,
6963        0,   318,   319,   320,     0,   321,   322,   323,   324,   325,
6964      326,   327,   328,  1233,     0,   330,     0,   331,   332,   333,
6965      334,     0,   335,     0,   336,   337,     0,   338,   339,   340,
6966      341,   342,     0,   343,  1236,     0,   345,   346,   347,     0,
6967      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
6968        0,   358,   359,   360,   361,   362,   363,   364,     0,   365,
6969      366,   367,   368,   369,   370,   371,   372,   373,     0,   374,
6970        0,   375,   376,   377,   378,   379,   380,   381,   382,   383,
6971      384,  3563,     0,   385,  1241,   387,   388,   389,     0,   390,
6972      391,   392,  1242,  1243,   393,   394,   395,   396,   397,   398,
6973      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
6974      409,   410,   411,   412,   413,   414,   415,     0,   416,   417,
6975      418,   419,     0,  1248,   421,   422,   423,   424,   425,     0,
6976      426,   427,     0,   809,   428,   429,   430,     0,     0,   431,
6977      432,   433,   434,   435,   436,  1251,   438,   439,   440,   441,
6978      442,   443,   444,   445,   446,     0,   447,   448,  1252,   450,
6979      451,   452,   453,   454,     0,   455,   456,   457,   458,   459,
6980      460,   461,   462,   463,   464,   465,   466,   467,   468,   469,
6981        0,   470,   471,   472,   473,   474,   475,   476,   477,   478,
6982      479,   480,   481,     0,   482,   483,   484,   485,   486,   487,
6983      488,   489,   490,  3564,   492,   493,   494,   495,   496,   497,
6984      498,   499,     0,   500,   501,   502,   503,   504,  1255,   505,
6985      506,   507,   508,   509,   510,   511,   512,   513,   514,     0,
6986      515,   516,   517,   518,   519,   520,   521,   522,   523,   524,
6987      525,   526,  1257,     0,   528,   529,     0,   530,   531,   532,
6988      533,   534,   535,   536,     0,   537,   538,   539,     0,     0,
6989      540,   541,  1260,   543,  1261,     0,   545,   546,   547,   548,
6990      549,   550,   551,     0,     0,   552,   553,   554,   555,   556,
6991     1264,     0,   557,   558,   559,   560,   561,   562,   563,     0,
6992      564,   565,   566,   567,   568,   569,     0,     0,   570,     0,
6993        0,   571,   572,   573,   574,   575,   576,   577,  1266,  1267,
6994     1268,  1269,   582,  1270,  1271,  1272,  1273,  3565,   588,   589,
6995      590,     0,     0,   227,     0,     0,     0,     0,     0,     0,
6996        0,     0,     0,     0,     0,     0,     0,  3566,   228,   229,
6997      230,   231,   232,   233,   234,   235,     0,   236,   237,   238,
6998        0,     0,     0,     0,     0,     0,     0,   239,   240,     0,
6999      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
7000      251,   252,     0,   253,   254,   255,   256,   257,   258,     0,
7001     1217,   259,   260,   261,   262,   263,     0,   264,   265,   266,
7002      267,  1220,     0,  1221,     0,   270,   271,   272,   273,   274,
7003      275,   276,   277,   278,     0,   279,   280,   281,   282,   283,
7004      284,     0,   285,   286,   287,   288,  1222,  1223,  1224,  1225,
7005     1226,  1227,  1228,   290,   291,   292,   293,   294,   295,   296,
7006      297,   298,     0,   299,     0,   300,   301,   302,   303,   304,
7007      305,     0,   306,   307,   308,   309,     0,     0,   310,   311,
7008      312,   313,   314,     0,   315,   316,   317,     0,   318,   319,
7009      320,     0,   321,   322,   323,   324,   325,   326,   327,   328,
7010     1233,     0,   330,     0,   331,   332,   333,   334,     0,   335,
7011        0,   336,   337,     0,   338,   339,   340,   341,   342,     0,
7012      343,  1236,     0,   345,   346,   347,     0,   348,   349,   350,
7013      351,   352,   353,   354,   355,   356,   357,     0,   358,   359,
7014      360,   361,   362,   363,   364,     0,   365,   366,   367,   368,
7015      369,   370,   371,   372,   373,     0,   374,     0,   375,   376,
7016      377,   378,   379,   380,   381,   382,   383,   384,     0,     0,
7017      385,  1241,   387,   388,   389,     0,   390,   391,   392,  1242,
7018     1243,   393,   394,   395,   396,   397,   398,   399,   400,   401,
7019      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
7020      412,   413,   414,   415,     0,   416,   417,   418,   419,     0,
7021     1248,   421,   422,   423,   424,   425,     0,   426,   427,     0,
7022        0,   428,   429,   430,     0,     0,   431,   432,   433,   434,
7023      435,   436,  1251,   438,   439,   440,   441,   442,   443,   444,
7024      445,   446,     0,   447,   448,  1252,   450,   451,   452,   453,
7025      454,     0,   455,   456,   457,   458,   459,   460,   461,   462,
7026      463,   464,   465,   466,   467,   468,   469,     0,   470,   471,
7027      472,   473,   474,   475,   476,   477,   478,   479,   480,   481,
7028        0,   482,   483,   484,   485,   486,   487,   488,   489,   490,
7029     3564,   492,   493,   494,   495,   496,   497,   498,   499,     0,
7030      500,   501,   502,   503,   504,  1255,   505,   506,   507,   508,
7031      509,   510,   511,   512,   513,   514,     0,   515,   516,   517,
7032      518,   519,   520,   521,   522,   523,   524,   525,   526,  1257,
7033        0,   528,   529,     0,   530,   531,   532,   533,   534,   535,
7034      536,     0,   537,   538,   539,     0,     0,   540,   541,  1260,
7035      543,  1261,     0,   545,   546,   547,   548,   549,   550,   551,
7036        0,     0,   552,   553,   554,   555,   556,  1264,     0,   557,
7037      558,   559,   560,   561,   562,   563,     0,   564,   565,   566,
7038      567,   568,   569,     0,     0,   570,     0,     0,   571,   572,
7039      573,   574,   575,   576,   577,  1266,  1267,  1268,  1269,   582,
7040     1270,  1271,  1272,  1273,  3565,   588,   589,   590,     0,     0,
7041      227,     0,     0,     0,     0,     0,     0,     0,     0,     0,
7042        0,     0,     0,     0,    51,   228,   229,   230,   231,   232,
7043      233,   234,   235,     0,   236,   237,   238,     0,     0,     0,
7044        0,     0,     0,     0,   239,   240,     0,   241,   242,   243,
7045      244,   245,   246,   247,   248,   249,   250,   251,   252,     0,
7046      253,   254,   255,   256,   257,   258,     0,  1217,   259,   260,
7047      261,   262,   263,     0,   264,   265,   266,   267,  1220,     0,
7048     1221,     0,   270,   271,   272,   273,   274,   275,   276,   277,
7049      278,     0,   279,   280,   281,   282,   283,   284,     0,   285,
7050      286,   287,   288,  1222,  1223,  1224,  1225,  1226,  1227,  1228,
7051      290,   291,   292,   293,   294,   295,   296,   297,   298,     0,
7052      299,     0,   300,   301,   302,   303,   304,   305,     0,   306,
7053      307,   308,   309,     0,     0,   310,   311,   312,   313,   314,
7054        0,   315,   316,   317,     0,   318,   319,   320,     0,   321,
7055      322,   323,   324,   325,   326,   327,   328,  1233,     0,   330,
7056        0,   331,   332,   333,   334,     0,   335,     0,   336,   337,
7057        0,   338,   339,   340,   341,   342,     0,   343,  1236,     0,
7058      345,   346,   347,     0,   348,   349,   350,   351,   352,   353,
7059      354,   355,   356,   357,     0,   358,   359,   360,   361,   362,
7060      363,   364,     0,   365,   366,   367,   368,   369,   370,   371,
7061      372,   373,     0,   374,     0,   375,   376,   377,   378,   379,
7062      380,   381,   382,   383,   384,     0,     0,   385,  1241,   387,
7063      388,   389,     0,   390,   391,   392,  1242,  1243,   393,   394,
7064      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
7065      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
7066      415,     0,   416,   417,   418,   419,     0,  1248,   421,   422,
7067      423,   424,   425,     0,   426,   427,     0,     0,   428,   429,
7068      430,     0,     0,   431,   432,   433,   434,   435,   436,  1251,
7069      438,   439,   440,   441,   442,   443,   444,   445,   446,     0,
7070      447,   448,  1252,   450,   451,   452,   453,   454,     0,   455,
7071      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
7072      466,   467,   468,   469,     0,   470,   471,   472,   473,   474,
7073      475,   476,   477,   478,   479,   480,   481,     0,   482,   483,
7074      484,   485,   486,   487,   488,   489,   490,   491,   492,   493,
7075      494,   495,   496,   497,   498,   499,     0,   500,   501,   502,
7076      503,   504,  1255,   505,   506,   507,   508,   509,   510,   511,
7077      512,   513,   514,     0,   515,   516,   517,   518,   519,   520,
7078      521,   522,   523,   524,   525,   526,  1257,     0,   528,   529,
7079        0,   530,   531,   532,   533,   534,   535,   536,     0,   537,
7080      538,   539,     0,     0,   540,   541,  1260,   543,  1261,     0,
7081      545,   546,   547,   548,   549,   550,   551,     0,     0,   552,
7082      553,   554,   555,   556,  1264,     0,   557,   558,   559,   560,
7083      561,   562,   563,     0,   564,   565,   566,   567,   568,   569,
7084        0,     0,   570,     0,     0,   571,   572,   573,   574,   575,
7085      576,   577,  1266,  1267,  1268,  1269,   582,  1270,  1271,  1272,
7086     1273,   587,   588,   589,   590,     0,     0,   227,     0,     0,
7087        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
7088        0,  4163,   228,   229,   230,   231,   232,   233,   234,   235,
7089        0,   236,   237,   238,     0,     0,     0,     0,     0,     0,
7090        0,   239,   240,     0,   241,   242,   243,   244,   245,   246,
7091      247,   248,   249,   250,   251,   252,     0,   253,   254,   255,
7092      256,   257,   258,     0,  1217,   259,   260,   261,   262,   263,
7093        0,   264,   265,   266,   267,  1220,     0,  1221,     0,   270,
7094      271,   272,   273,   274,   275,   276,   277,   278,     0,   279,
7095      280,   281,   282,   283,   284,     0,   285,   286,   287,   288,
7096     1222,  1223,  1224,  1225,  1226,  1227,  1228,   290,   291,   292,
7097      293,   294,   295,   296,   297,   298,     0,   299,     0,   300,
7098      301,   302,   303,   304,   305,     0,   306,   307,   308,   309,
7099        0,     0,   310,   311,   312,   313,   314,     0,   315,   316,
7100      317,     0,   318,   319,   320,     0,   321,   322,   323,   324,
7101      325,   326,   327,   328,  1233,     0,   330,     0,   331,   332,
7102      333,   334,     0,   335,     0,   336,   337,     0,   338,   339,
7103      340,   341,   342,     0,   343,  1236,     0,   345,   346,   347,
7104        0,   348,   349,   350,   351,   352,   353,   354,   355,   356,
7105      357,     0,   358,   359,   360,   361,   362,   363,   364,     0,
7106      365,   366,   367,   368,   369,   370,   371,   372,   373,     0,
7107      374,     0,   375,   376,   377,   378,   379,   380,   381,   382,
7108      383,   384,     0,     0,   385,  1241,   387,   388,   389,     0,
7109      390,   391,   392,  1242,  1243,   393,   394,   395,   396,   397,
7110      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
7111      408,   409,   410,   411,   412,   413,   414,   415,     0,   416,
7112      417,   418,   419,     0,  1248,   421,   422,   423,   424,   425,
7113        0,   426,   427,     0,     0,   428,   429,   430,     0,     0,
7114      431,   432,   433,   434,   435,   436,  1251,   438,   439,   440,
7115      441,   442,   443,   444,   445,   446,     0,   447,   448,  1252,
7116      450,   451,   452,   453,   454,     0,   455,   456,   457,   458,
7117      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
7118      469,     0,   470,   471,   472,   473,   474,   475,   476,   477,
7119      478,   479,   480,   481,     0,   482,   483,   484,   485,   486,
7120      487,   488,   489,   490,   491,   492,   493,   494,   495,   496,
7121      497,   498,   499,     0,   500,   501,   502,   503,   504,  1255,
7122      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
7123        0,   515,   516,   517,   518,   519,   520,   521,   522,   523,
7124      524,   525,   526,  1257,     0,   528,   529,     0,   530,   531,
7125      532,   533,   534,   535,   536,     0,   537,   538,   539,     0,
7126        0,   540,   541,  1260,   543,  1261,     0,   545,   546,   547,
7127      548,   549,   550,   551,     0,     0,   552,   553,   554,   555,
7128      556,  1264,     0,   557,   558,   559,   560,   561,   562,   563,
7129        0,   564,   565,   566,   567,   568,   569,     0,     0,   570,
7130        0,     0,   571,   572,   573,   574,   575,   576,   577,  1266,
7131     1267,  1268,  1269,   582,  1270,  1271,  1272,  1273,   587,   588,
7132      589,   590,     0,     0,   862,  1489,   659,     0,     0,     0,
7133      720,     0,     0,     0,     0,     0,     0,     0,  5250,   228,
7134      229,   230,   231,   232,   233,   234,   235,     0,   236,   237,
7135      238,     0,     0,     0,     0,     0,     0,     0,   239,   240,
7136        0,   241,   242,   243,   244,   245,   246,   247,   248,   249,
7137      250,   251,   252,     0,   253,   254,   255,   256,   257,   258,
7138        0,     0,   259,   260,   261,   262,   263,     0,   264,   265,
7139      266,   267,   268,     0,   269,     0,   270,   271,   272,   273,
7140      274,   275,   276,   277,   278,     0,   279,   280,   281,   282,
7141      283,   284,     0,   285,   286,   287,   288,     0,     0,     0,
7142      289,     0,     0,     0,   290,   291,   292,   293,   294,   295,
7143      296,   297,   298,     0,   299,     0,   300,   301,   302,   303,
7144      304,   305,     0,   306,   307,   308,   309,     0,     0,   310,
7145      311,   312,   313,   314,     0,   315,   316,   317,     0,   318,
7146      319,   320,     0,   321,   322,   323,   324,   325,   326,   327,
7147      328,   329,  1906,   330,     0,   331,   332,   333,   334,     0,
7148      335,     0,   336,   337,     0,   338,   339,   340,   341,   342,
7149        0,   343,   344,     0,   345,   346,   347,     0,   348,   349,
7150      350,   351,   352,   353,   354,   355,   356,   357,     0,   358,
7151      359,   360,   361,   362,   363,   364,     0,   365,   366,   367,
7152      368,   369,   370,   371,   372,   373,     0,   374,     0,   375,
7153      376,   377,   378,   379,   380,   381,   382,   383,   384,     0,
7154        0,   385,   386,   387,   388,   389,     0,   390,   391,   392,
7155        0,     0,   393,   394,   395,   396,   397,   398,   399,   400,
7156      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
7157      411,   412,   413,   414,   415,     0,   416,   417,   418,   419,
7158        0,   420,   421,   422,   423,   424,   425,     0,   426,   427,
7159     1907,     0,   428,   429,   430,     0,     0,   431,   432,   433,
7160      434,   435,   436,   437,   438,   439,   440,   441,   442,   443,
7161      444,   445,   446,     0,   447,   448,   449,   450,   451,   452,
7162      453,   454,     0,   455,   456,   457,   458,   459,   460,   461,
7163      462,   463,   464,   465,   466,   467,   468,   469,     0,   470,
7164      471,   472,   473,   474,   475,   476,   477,   478,   479,   480,
7165      481,     0,   482,   483,   484,   485,   486,   487,   488,   489,
7166      490,   491,   492,   493,   494,   495,   496,   497,   498,   499,
7167        0,   500,   501,   502,   503,   504,     0,   505,   506,   507,
7168      508,   509,   510,   511,   512,   513,   514,     0,   515,   516,
7169      517,   518,   519,   520,   521,   522,   523,   524,   525,   526,
7170      527,     0,   528,   529,     0,   530,   531,   532,   533,   534,
7171      535,   536,     0,   537,   538,   539,     0,     0,   540,   541,
7172      542,   543,   544,  1908,   545,   546,   547,   548,   549,   550,
7173      551,     0,     0,   552,   553,   554,   555,   556,     0,     0,
7174      557,   558,   559,   560,   561,   562,   563,     0,   564,   565,
7175      566,   567,   568,   569,     0,     0,   570,     0,     0,   571,
7176      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
7177      582,   583,   584,   585,   586,   587,   588,   589,   590,     0,
7178        0,   862,     0,     0,     0,     0,  1490,  1491,  5063,     0,
7179        0,     0,     0,     0,     0,  5064,   228,   229,   230,   231,
7180      232,   233,   234,   235,     0,   236,   237,   238,     3,     4,
7181        0,     0,     0,     0,     0,   239,   240,     0,   241,   242,
7182      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
7183        0,   253,   254,   255,   256,   257,   258,     0,     0,   259,
7184      260,   261,   262,   263,     0,   264,   265,   266,   267,   268,
7185        0,   269,     0,   270,   271,   272,   273,   274,   275,   276,
7186      277,   278,     0,   279,   280,   281,   282,   283,   284,     0,
7187      285,   286,   287,   288,     0,     0,     0,   289,     0,     0,
7188        0,   290,   291,   292,   293,   294,   295,   296,   297,   298,
7189        0,   299,     0,   300,   301,   302,   303,   304,   305,     0,
7190      306,   307,   308,   309,     0,     0,   310,   311,   312,   313,
7191      314,     0,   315,   316,   317,     0,   318,   319,   320,     0,
7192      321,   322,   323,   324,   325,   326,   327,   328,   329,     0,
7193      330,     0,   331,   332,   333,   334,     0,   335,     0,   336,
7194      337,     0,   338,   339,   340,   341,   342,     0,   343,   344,
7195        0,   345,   346,   347,     0,   348,   349,   350,   351,   352,
7196      353,   354,   355,   356,   357,     0,   358,   359,   360,   361,
7197      362,   363,   364,     0,   365,   366,   367,   368,   369,   370,
7198      371,   372,   373,     0,   374,     0,   375,   376,   377,   378,
7199      379,   380,   381,   382,   383,   384,     0,     0,   385,   386,
7200      387,   388,   389,     0,   390,   391,   392,     0,     0,   393,
7201      394,   395,   396,   397,   398,   399,   400,   401,   402,   403,
7202      404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
7203      414,   415,     0,   416,   417,   418,   419,     0,   420,   421,
7204      422,   423,   424,   425,     0,   426,   427,     0,     0,   428,
7205      429,   430,     0,     0,   431,   432,   433,   434,   435,   436,
7206      437,   438,   439,   440,   441,   442,   443,   444,   445,   446,
7207        0,   447,   448,   449,   450,   451,   452,   453,   454,     0,
7208      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
7209      465,   466,   467,   468,   469,     0,   470,   471,   472,   473,
7210      474,   475,   476,   477,   478,   479,   480,   481,     0,   482,
7211      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
7212      493,   494,   495,   496,   497,   498,   499,    40,   500,   501,
7213      502,   503,   504,     0,   505,   506,   507,   508,   509,   510,
7214      511,   512,   513,   514,     0,   515,   516,   517,   518,   519,
7215      520,   521,   522,   523,   524,   525,   526,   527,     0,   528,
7216      529,    44,   530,   531,   532,   533,   534,   535,   536,     0,
7217      537,   538,   539,     0,     0,   540,   541,   542,   543,   544,
7218        0,   545,   546,   547,   548,   549,   550,   551,     0,     0,
7219      552,   553,   554,   555,   556,     0,     0,   557,   558,   559,
7220      560,   561,  1143,   563,     0,   564,   565,   566,   567,   568,
7221      569,     0,     0,   570,     0,    49,   571,   572,   573,   574,
7222      575,   576,   577,   578,   579,   580,   581,   582,   583,   584,
7223      585,   586,   587,   588,   589,   590,     0,     0,    50,   227,
7224        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
7225        0,     0,    51,     0,   228,   229,   230,   231,   232,   233,
7226      234,   235,     0,   236,   237,   238,     0,     0,     0,     0,
7227        0,     0,     0,   239,   240,     0,   241,   242,   243,   244,
7228      245,   246,   247,   248,   249,   250,   251,   252,     0,   253,
7229      254,   255,   256,   257,   258,     0,     0,   259,   260,   261,
7230      262,   263,     0,   264,   265,   266,   267,   268,     0,   269,
7231        0,   270,   271,   272,   273,   274,   275,   276,   277,   278,
7232        0,   279,   280,   281,   282,   283,   284,     0,   285,   286,
7233      287,   288,     0,     0,     0,   289,     0,     0,     0,   290,
7234      291,   292,   293,   294,   295,   296,   297,   298,     0,   299,
7235        0,   300,   301,   302,   303,   304,   305,     0,   306,   307,
7236      308,   309,     0,     0,   310,   311,   312,   313,   314,     0,
7237      315,   316,   317,     0,   318,   319,   320,     0,   321,   322,
7238      323,   324,   325,   326,   327,   328,   329,     0,   330,     0,
7239      331,   332,   333,   334,     0,   335,     0,   336,   337,     0,
7240      338,   339,   340,   341,   342,     0,   343,   344,     0,   345,
7241      346,   347,     0,   348,   349,   350,   351,   352,   353,   354,
7242      355,   356,   357,     0,   358,   359,   360,   361,   362,   363,
7243      364,     0,   365,   366,   367,   368,   369,   370,   371,   372,
7244      373,     0,   374,     0,   375,   376,   377,   378,   379,   380,
7245      381,   382,   383,   384,     0,     0,   385,   386,   387,   388,
7246      389,     0,   390,   391,   392,     0,     0,   393,   394,   395,
7247      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
7248      406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
7249        0,   416,   417,   418,   419,     0,   420,   421,   422,   423,
7250      424,   425,     0,   426,   427,     0,     0,   428,   429,   430,
7251        0,     0,   431,   432,   433,   434,   435,   436,   437,   438,
7252      439,   440,   441,   442,   443,   444,   445,   446,     0,   447,
7253      448,   449,   450,   451,   452,   453,   454,     0,   455,   456,
7254      457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
7255      467,   468,   469,     0,   470,   471,   472,   473,   474,   475,
7256      476,   477,   478,   479,   480,   481,     0,   482,   483,   484,
7257      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
7258      495,   496,   497,   498,   499,     0,   500,   501,   502,   503,
7259      504,     0,   505,   506,   507,   508,   509,   510,   511,   512,
7260      513,   514,     0,   515,   516,   517,   518,   519,   520,   521,
7261      522,   523,   524,   525,   526,   527,     0,   528,   529,     0,
7262      530,   531,   532,   533,   534,   535,   536,     0,   537,   538,
7263      539,     0,     0,   540,   541,   542,   543,   544,     0,   545,
7264      546,   547,   548,   549,   550,   551,     0,     0,   552,   553,
7265      554,   555,   556,     0,     0,   557,   558,   559,   560,   561,
7266      562,   563,     0,   564,   565,   566,   567,   568,   569,     0,
7267        0,   570,     0,     0,   571,   572,   573,   574,   575,   576,
7268      577,   578,   579,   580,   581,   582,   583,   584,   585,   586,
7269      587,   588,   589,   590,     0,     0,   598,     0,     0,     0,
7270        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
7271     4838,   228,   229,   230,   231,   232,   233,   234,   235,     0,
7272      236,   237,   238,     0,     0,     0,     0,     0,     0,     0,
7273      239,   240,     0,   241,   242,   243,     0,   245,   246,   247,
7274      248,   249,     0,   251,   252,     0,   253,   254,   255,   256,
7275      257,   258,     0,     0,   259,   260,   261,   262,   263,     0,
7276      264,   265,   266,   267,   268,     0,     0,     0,   270,   271,
7277      272,   273,   274,     0,   276,   277,   278,     0,   279,   280,
7278      281,   282,   283,   284,     0,     0,   286,   287,   288,     0,
7279        0,     0,     0,     0,     0,     0,   290,   291,   292,   293,
7280      294,   295,   296,   297,   298,     0,   299,     0,   300,   301,
7281      302,   303,   304,   305,     0,   306,   307,   308,   309,     0,
7282        0,   310,   311,   312,   313,   314,     0,   315,   316,   317,
7283        0,   318,   319,   320,     0,   321,   322,   323,   324,   325,
7284      326,   327,   328,   329,     0,   330,     0,   331,   332,   333,
7285      334,     0,   335,     0,   336,     0,     0,     0,   339,   340,
7286      341,   342,     0,   343,   344,     0,   345,   346,   347,     0,
7287      348,   349,   350,   351,   352,     0,   354,   355,   356,   357,
7288        0,   358,   359,   360,   361,   362,   363,   364,     0,   365,
7289        0,   367,   368,   369,   370,   371,   372,   373,     0,   374,
7290        0,   375,     0,     0,   378,     0,   380,   381,   382,   383,
7291      384,     0,     0,   385,   386,     0,   388,     0,     0,   390,
7292      391,   392,     0,     0,   393,   394,   395,   396,   397,   398,
7293      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
7294      409,     0,   411,   412,   413,   414,   415,     0,   416,   417,
7295        0,   419,     0,   420,   421,   422,   423,   424,   425,     0,
7296      426,   427,     0,     0,   428,   429,   430,     0,     0,   431,
7297      432,   433,     0,   435,     0,   437,   438,   439,   440,   441,
7298      442,   443,   444,   445,   446,     0,   447,   448,   449,   450,
7299      451,   452,   453,   454,     0,   455,   456,   457,   458,   459,
7300      460,   461,   462,   463,   464,   465,   466,   467,   468,   469,
7301        0,   470,   471,   472,   473,   474,   475,   476,   477,   478,
7302      479,   480,   481,     0,   482,   483,     0,   485,   486,   487,
7303      488,   489,   490,   491,   492,   493,   494,   495,   496,   497,
7304      498,   499,    40,   500,   501,   502,   503,   504,     0,   505,
7305      506,   507,   508,   509,     0,   511,   512,   513,   514,     0,
7306      515,   516,   517,   518,   519,   520,   521,   522,   523,   524,
7307      525,   526,   527,     0,   528,   529,    44,   530,     0,   532,
7308      533,   534,   535,   536,     0,   537,   538,   539,     0,     0,
7309      540,   541,   542,   543,   544,     0,   545,   546,   547,   548,
7310      549,   550,   551,     0,     0,   552,   553,   554,   555,   556,
7311        0,     0,   557,   558,   559,   560,   561,  1143,   563,     0,
7312      564,     0,   566,   567,   568,   569,     0,     0,   570,     0,
7313       49,   571,   572,   573,   574,   575,   576,   577,   578,   579,
7314      580,   581,   582,   583,   584,   585,   586,   587,   588,   589,
7315      590,     0,     0,    50,   598,     0,     0,     0,     0,     0,
7316        0,     0,     0,     0,     0,     0,     0,    51,     0,   228,
7317      229,   230,   231,   232,   233,   234,   235,     0,   236,   237,
7318      238,     0,     0,     0,     0,     0,     0,     0,   239,   240,
7319        0,   241,   242,   243,     0,   245,   246,   247,   248,   249,
7320        0,   251,   252,     0,   253,   254,   255,   256,   257,   258,
7321        0,     0,   259,   260,   261,   262,   263,     0,   264,   265,
7322      266,   267,   268,     0,     0,     0,   270,   271,   272,   273,
7323      274,     0,   276,   277,   278,     0,   279,   280,   281,   282,
7324      283,   284,     0,     0,   286,   287,   288,     0,     0,     0,
7325        0,     0,     0,     0,   290,   291,   292,   293,   294,   295,
7326      296,   297,   298,     0,   299,     0,   300,   301,   302,   303,
7327      304,   305,     0,   306,   307,   308,   309,     0,     0,   310,
7328      311,   312,   313,   314,     0,   315,   316,   317,     0,   318,
7329      319,   320,     0,   321,   322,   323,   324,   325,   326,   327,
7330      328,   329,     0,   330,     0,   331,   332,   333,   334,     0,
7331      335,     0,   336,     0,     0,     0,   339,   340,   341,   342,
7332        0,   343,   344,     0,   345,   346,   347,     0,   348,   349,
7333      350,   351,   352,     0,   354,   355,   356,   357,     0,   358,
7334      359,   360,   361,   362,   363,   364,     0,   365,     0,   367,
7335      368,   369,   370,   371,   372,   373,     0,   374,     0,   375,
7336        0,     0,   378,     0,   380,   381,   382,   383,   384,     0,
7337        0,   385,   386,     0,   388,     0,     0,   390,   391,   392,
7338        0,     0,   393,   394,   395,   396,   397,   398,   399,   400,
7339      401,   402,   403,   404,   405,   406,   407,   408,   409,     0,
7340      411,   412,   413,   414,   415,     0,   416,   417,     0,   419,
7341        0,   420,   421,   422,   423,   424,   425,     0,   426,   427,
7342        0,     0,   428,   429,   430,     0,     0,   431,   432,   433,
7343        0,   435,     0,   437,   438,   439,   440,   441,   442,   443,
7344      444,   445,   446,     0,   447,   448,   449,   450,   451,   452,
7345      453,   454,     0,   455,   456,   457,   458,   459,   460,   461,
7346      462,   463,   464,   465,   466,   467,   468,   469,     0,   470,
7347      471,   472,   473,   474,   475,   476,   477,   478,   479,   480,
7348      481,     0,   482,   483,     0,   485,   486,   487,   488,   489,
7349      490,   491,   492,   493,   494,   495,   496,   497,   498,   499,
7350        0,   500,   501,   502,   503,   504,     0,   505,   506,   507,
7351      508,   509,     0,   511,   512,   513,   514,     0,   515,   516,
7352      517,   518,   519,   520,   521,   522,   523,   524,   525,   526,
7353      527,     0,   528,   529,     0,   530,     0,   532,   533,   534,
7354      535,   536,     0,   537,   538,   539,     0,     0,   540,   541,
7355      542,   543,   544,     0,   545,   546,   547,   548,   549,   550,
7356      551,     0,     0,   552,   553,   554,   555,   556,     0,     0,
7357      557,   558,   559,   560,   561,   562,   563,     0,   564,     0,
7358      566,   567,   568,   569,     0,     0,   570,     0,     0,   571,
7359      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
7360      582,   583,   584,   585,   586,   587,   588,   589,   590,     0,
7361        0,   598,     0,     0,     0,     0,     0,     0,     0,     0,
7362        0,     0,     0,     0,     0,  1336,   228,   229,   230,   231,
7363      232,   233,   234,   235,     0,   236,   237,   238,     0,     0,
7364        0,     0,     0,     0,     0,   239,   240,     0,   241,   242,
7365      243,     0,   245,   246,   247,   248,   249,     0,   251,   252,
7366        0,   253,   254,   255,   256,   257,   258,     0,     0,   259,
7367      260,   261,   262,   263,     0,   264,   265,   266,   267,   268,
7368        0,     0,     0,   270,   271,   272,   273,   274,     0,   276,
7369      277,   278,     0,   279,   280,   281,   282,   283,   284,     0,
7370        0,   286,   287,   288,     0,     0,     0,     0,     0,     0,
7371        0,   290,   291,   292,   293,   294,   295,   296,   297,   298,
7372        0,   299,     0,   300,   301,   302,   303,   304,   305,     0,
7373      306,   307,   308,   309,     0,     0,   310,   311,   312,   313,
7374      314,     0,   315,   316,   317,     0,   318,   319,   320,     0,
7375      321,   322,   323,   324,   325,   326,   327,   328,   329,     0,
7376      330,     0,   331,   332,   333,   334,     0,   335,     0,   336,
7377        0,     0,     0,   339,   340,   341,   342,     0,   343,   344,
7378        0,   345,   346,   347,     0,   348,   349,   350,   351,   352,
7379        0,   354,   355,   356,   357,     0,   358,   359,   360,   361,
7380      362,   363,   364,     0,   365,     0,   367,   368,   369,   370,
7381      371,   372,   373,     0,   374,     0,   375,     0,     0,   378,
7382        0,   380,   381,   382,   383,   384,     0,     0,   385,   386,
7383        0,   388,     0,     0,   390,   391,   392,     0,     0,   393,
7384      394,   395,   396,   397,   398,   399,   400,   401,   402,   403,
7385      404,   405,   406,   407,   408,   409,     0,   411,   412,   413,
7386      414,   415,     0,   416,   417,     0,   419,     0,   420,   421,
7387      422,   423,   424,   425,     0,   426,   427,     0,     0,   428,
7388      429,   430,     0,     0,   431,   432,   433,     0,   435,     0,
7389      437,   438,   439,   440,   441,   442,   443,   444,   445,   446,
7390        0,   447,   448,   449,   450,   451,   452,   453,   454,     0,
7391      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
7392      465,   466,   467,   468,   469,     0,   470,   471,   472,   473,
7393      474,   475,   476,   477,   478,   479,   480,   481,     0,   482,
7394      483,     0,   485,   486,   487,   488,   489,   490,   491,   492,
7395      493,   494,   495,   496,   497,   498,   499,     0,   500,   501,
7396      502,   503,   504,     0,   505,   506,   507,   508,   509,     0,
7397      511,   512,   513,   514,     0,   515,   516,   517,   518,   519,
7398      520,   521,   522,   523,   524,   525,   526,   527,     0,   528,
7399      529,     0,   530,     0,   532,   533,   534,   535,   536,     0,
7400      537,   538,   539,     0,     0,   540,   541,   542,   543,   544,
7401        0,   545,   546,   547,   548,   549,   550,   551,     0,     0,
7402      552,   553,   554,   555,   556,     0,     0,   557,   558,   559,
7403      560,   561,   562,   563,     0,   564,     0,   566,   567,   568,
7404      569,     0,     0,   570,     0,     0,   571,   572,   573,   574,
7405      575,   576,   577,   578,   579,   580,   581,   582,   583,   584,
7406      585,   586,   587,   588,   589,   590,     0,     0,   598,     0,
7407        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
7408        0,     0,  2907,   228,   229,   230,   231,   232,   233,   234,
7409      235,     0,   236,   237,   238,     0,     0,     0,     0,     0,
7410        0,     0,   239,   240,     0,   241,   242,   243,     0,   245,
7411      246,   247,   248,   249,     0,   251,   252,     0,   253,   254,
7412      255,   256,   257,   258,     0,     0,   259,   260,   261,   262,
7413      263,     0,   264,   265,   266,   267,   268,     0,     0,     0,
7414      270,   271,   272,   273,   274,     0,   276,   277,   278,     0,
7415      279,   280,   281,   282,   283,   284,     0,     0,   286,   287,
7416      288,     0,     0,     0,     0,     0,     0,     0,   290,   291,
7417      292,   293,   294,   295,   296,   297,   298,     0,   299,     0,
7418      300,   301,   302,   303,   304,   305,     0,   306,   307,   308,
7419      309,     0,     0,   310,   311,   312,   313,   314,     0,   315,
7420      316,   317,     0,   318,   319,   320,     0,   321,   322,   323,
7421      324,   325,   326,   327,   328,   329,     0,   330,     0,   331,
7422      332,   333,   334,     0,   335,     0,   336,     0,     0,     0,
7423      339,   340,   341,   342,     0,   343,   344,     0,   345,   346,
7424      347,     0,   348,   349,   350,   351,   352,     0,   354,   355,
7425      356,   357,     0,   358,   359,   360,   361,   362,   363,   364,
7426        0,   365,     0,   367,   368,   369,   370,   371,   372,   373,
7427        0,   374,     0,   375,     0,     0,   378,     0,   380,   381,
7428      382,   383,   384,     0,     0,   385,   386,     0,   388,     0,
7429        0,   390,   391,   392,     0,     0,   393,   394,   395,   396,
7430      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
7431      407,   408,   409,     0,   411,   412,   413,   414,   415,     0,
7432      416,   417,     0,   419,     0,   420,   421,   422,   423,   424,
7433      425,     0,   426,   427,     0,     0,   428,   429,   430,     0,
7434        0,   431,   432,   433,     0,   435,     0,   437,   438,   439,
7435      440,   441,   442,   443,   444,   445,   446,     0,   447,   448,
7436      449,   450,   451,   452,   453,   454,     0,   455,   456,   457,
7437      458,   459,   460,   461,   462,   463,   464,   465,   466,   467,
7438      468,   469,     0,   470,   471,   472,   473,   474,   475,   476,
7439      477,   478,   479,   480,   481,     0,   482,   483,     0,   485,
7440      486,   487,   488,   489,   490,   491,   492,   493,   494,   495,
7441      496,   497,   498,   499,     0,   500,   501,   502,   503,   504,
7442        0,   505,   506,   507,   508,   509,     0,   511,   512,   513,
7443      514,     0,   515,   516,   517,   518,   519,   520,   521,   522,
7444      523,   524,   525,   526,   527,     0,   528,   529,     0,   530,
7445        0,   532,   533,   534,   535,   536,     0,   537,   538,   539,
7446        0,     0,   540,   541,   542,   543,   544,     0,   545,   546,
7447      547,   548,   549,   550,   551,     0,     0,   552,   553,   554,
7448      555,   556,     0,     0,   557,   558,   559,   560,   561,   562,
7449      563,     0,   564,     0,   566,   567,   568,   569,     0,     0,
7450      570,     0,     0,   571,   572,   573,   574,   575,   576,   577,
7451      578,   579,   580,   581,   582,   583,   584,   585,   586,   587,
7452      588,   589,   590,     0,     0,   598,     0,     0,     0,     0,
7453        0,     0,     0,     0,     0,     0,     0,     0,     0,  4079,
7454      228,   229,   230,   231,   232,   233,   234,   235,     0,   236,
7455      237,   238,     0,     0,     0,     0,     0,     0,     0,   239,
7456      240,     0,   241,   242,   243,     0,   245,   246,   247,   248,
7457      249,     0,   251,   252,     0,   253,   254,   255,   256,   257,
7458      258,     0,     0,   259,   260,   261,   262,   263,     0,   264,
7459      265,   266,   267,   268,     0,     0,     0,   270,   271,   272,
7460      273,   274,     0,   276,   277,   278,     0,   279,   280,   281,
7461      282,   283,   284,     0,     0,   286,   287,   288,     0,     0,
7462        0,     0,     0,     0,     0,   290,   291,   292,   293,   294,
7463      295,   296,   297,   298,     0,   299,     0,   300,   301,   302,
7464      303,   304,   305,     0,   306,   307,   308,   309,     0,     0,
7465      310,   311,   312,   313,   314,     0,   315,   316,   317,     0,
7466      318,   319,   320,     0,   321,   322,   323,   324,   325,   326,
7467      327,   328,   329,     0,   330,     0,   331,   332,   333,   334,
7468        0,   335,     0,   336,     0,     0,     0,   339,   340,   341,
7469      342,     0,   343,   344,     0,   345,   346,   347,     0,   348,
7470      349,   350,   351,   352,     0,   354,   355,   356,   357,     0,
7471      358,   359,   360,   361,   362,   363,   364,     0,   365,     0,
7472      367,   368,   369,   370,   371,   372,   373,     0,   374,     0,
7473      375,     0,     0,   378,     0,   380,   381,   382,   383,   384,
7474        0,     0,   385,   386,     0,   388,     0,     0,   390,   391,
7475      392,     0,     0,   393,   394,   395,   396,   397,   398,   399,
7476      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
7477        0,   411,   412,   413,   414,   415,     0,   416,   417,     0,
7478      419,     0,   420,   421,   422,   423,   424,   425,     0,   426,
7479      427,     0,     0,   428,   429,   430,     0,     0,   431,   432,
7480      433,     0,   435,     0,   437,   438,   439,   440,   441,   442,
7481      443,   444,   445,   446,     0,   447,   448,   449,   450,   451,
7482      452,   453,   454,     0,   455,   456,   457,   458,   459,   460,
7483      461,   462,   463,   464,   465,   466,   467,   468,   469,     0,
7484      470,   471,   472,   473,   474,   475,   476,   477,   478,   479,
7485      480,   481,     0,   482,   483,     0,   485,   486,   487,   488,
7486      489,   490,   491,   492,   493,   494,   495,   496,   497,   498,
7487      499,     0,   500,   501,   502,   503,   504,     0,   505,   506,
7488      507,   508,   509,     0,   511,   512,   513,   514,     0,   515,
7489      516,   517,   518,   519,   520,   521,   522,   523,   524,   525,
7490      526,   527,     0,   528,   529,     0,   530,     0,   532,   533,
7491      534,   535,   536,     0,   537,   538,   539,     0,     0,   540,
7492      541,   542,   543,   544,     0,   545,   546,   547,   548,   549,
7493      550,   551,     0,     0,   552,   553,   554,   555,   556,     0,
7494        0,   557,   558,   559,   560,   561,   562,   563,     0,   564,
7495        0,   566,   567,   568,   569,     0,     0,   570,     0,     0,
7496      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
7497      581,   582,   583,   584,   585,   586,   587,   588,   589,   590,
7498        0,     0,     0,     0,     0,  1057,  1489,   659,     0,     0,
7499      876,   720,     0,     0,     0,     0,  4525,   877,   878,   879,
7500      228,   229,   230,   231,   232,   233,   234,   235,  1620,   236,
7501      237,   238,  1621,  1622,  1623,  1624,  1625,  1626,  1627,   239,
7502      240,  1628,   241,   242,   243,   244,   245,   246,   247,     0,
7503     1058,   250,  1059,  1060,  1629,   253,   254,   255,   256,   257,
7504      258,  1630,  1631,   259,   260,  1061,  1062,   263,  1632,   264,
7505      265,   266,   267,     0,  1633,   269,  1634,   270,   271,   272,
7506      273,   274,   275,   276,   277,   278,  1635,   279,   280,   281,
7507      282,   283,   284,  1636,   285,   286,   287,   288,  1637,  1638,
7508     1639,   289,  1640,  1641,  1642,   290,   291,   292,   293,   294,
7509      295,  1063,  1064,   298,  1643,   299,  1644,   300,   301,   302,
7510      303,   304,   305,  1645,   306,   307,   308,   309,  1646,  1647,
7511      310,   311,  1065,   313,   314,  1648,   315,   316,   317,  1649,
7512      318,   319,   320,  1650,   321,   322,   323,   324,     0,   326,
7513      327,   328,     0,  1651,   330,  1652,   331,   332,  1066,   334,
7514     1653,   335,  1654,   336,   337,  1655,   338,   339,   340,   341,
7515      342,  1656,   343,     0,  1657,     0,   346,   347,  1658,   348,
7516      349,   350,   351,   352,   353,   354,   355,   356,   357,  1659,
7517      358,   359,   360,   361,   362,   363,   364,  1660,   365,   366,
7518        0,   368,   369,   370,   371,  1068,  1069,  1661,  1070,  1662,
7519      375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
7520     1663,  1664,   385,     0,   387,   388,   389,  1665,   390,   391,
7521      392,  1666,  1667,   393,   394,   395,   396,   397,   398,   399,
7522      400,   401,   402,   403,   404,   405,   406,   407,   408,  1071,
7523      410,  1072,   412,   413,   414,  3830,  1668,   416,   417,   418,
7524      419,  1669,     0,   421,  1073,   423,   424,   425,  1670,   426,
7525      427,  1671,  1672,  3831,   429,   430,  1673,  1674,   431,   432,
7526        0,   434,   435,   436,     0,   438,   439,   440,   441,   442,
7527      443,   444,   445,   446,  1675,   447,   448,     0,   450,     0,
7528      452,   453,   454,  1676,   455,   456,   457,   458,   459,   460,
7529      461,   462,   463,   464,  1074,   466,   467,   468,   469,  1677,
7530      470,   471,   472,   473,   474,   475,   476,   477,   478,   479,
7531      480,   481,  1678,   482,   483,   484,   485,   486,   487,   488,
7532      489,     0,   491,   492,   493,   494,   495,   496,   497,   498,
7533      499,  1679,   500,   501,   502,   503,   504,  1680,   505,   506,
7534     2157,   508,   509,   510,   511,   512,  1076,   514,  1681,   515,
7535      516,   517,   518,   519,   520,   521,   522,   523,   524,   525,
7536      526,     0,  1682,   528,   529,  1683,   530,   531,   532,   533,
7537      534,   535,   536,  1684,   537,  1077,  1078,  1685,  1686,   540,
7538      541,     0,   543,     0,  1687,   545,   546,   547,   548,   549,
7539      550,   551,  1688,  1689,   552,   553,   554,   555,   556,  1690,
7540     1691,   557,   558,   559,   560,   561,     0,  1079,  1692,   564,
7541      565,   566,   567,   568,   569,  1693,  1694,   570,  1695,  1696,
7542      571,   572,   573,   574,   575,   576,     0,     0,     0,     0,
7543        0,     0,     0,     0,     0,     0,     0,   588,   589,   590,
7544        0,     0,     0,   882,   883,   884,     0,  3832,  3833,   887,
7545      888,   889,   890,  1057,  1489,   659,     0,     0,   876,   720,
7546        0,     0,     0,     0,     0,   877,   878,   879,   228,   229,
7547      230,   231,   232,   233,   234,   235,  1620,   236,   237,   238,
7548     1621,  1622,  1623,  1624,  1625,  1626,  1627,   239,   240,  1628,
7549      241,   242,   243,   244,   245,   246,   247,     0,  1058,   250,
7550     1059,  1060,  1629,   253,   254,   255,   256,   257,   258,  1630,
7551     1631,   259,   260,  1061,  1062,   263,  1632,   264,   265,   266,
7552      267,     0,  1633,   269,  1634,   270,   271,   272,   273,   274,
7553      275,   276,   277,   278,  1635,   279,   280,   281,   282,   283,
7554      284,  1636,   285,   286,   287,   288,  1637,  1638,  1639,   289,
7555     1640,  1641,  1642,   290,   291,   292,   293,   294,   295,  1063,
7556     1064,   298,  1643,   299,  1644,   300,   301,   302,   303,   304,
7557      305,  1645,   306,   307,   308,   309,  1646,  1647,   310,   311,
7558     1065,   313,   314,  1648,   315,   316,   317,  1649,   318,   319,
7559      320,  1650,   321,   322,   323,   324,     0,   326,   327,   328,
7560        0,  1651,   330,  1652,   331,   332,  1066,   334,  1653,   335,
7561     1654,   336,   337,  1655,   338,   339,   340,   341,   342,  1656,
7562      343,     0,  1657,     0,   346,   347,  1658,   348,   349,   350,
7563      351,   352,   353,   354,   355,   356,   357,  1659,   358,   359,
7564      360,   361,   362,   363,   364,  1660,   365,   366,     0,   368,
7565      369,   370,   371,  1068,  1069,  1661,  1070,  1662,   375,   376,
7566      377,   378,   379,   380,   381,   382,   383,   384,  1663,  1664,
7567      385,     0,   387,   388,   389,  1665,   390,   391,   392,  1666,
7568     1667,   393,   394,   395,   396,   397,   398,   399,   400,   401,
7569      402,   403,   404,   405,   406,   407,   408,  1071,   410,  1072,
7570      412,   413,   414,  4255,  1668,   416,   417,   418,   419,  1669,
7571        0,   421,  1073,   423,   424,   425,  1670,   426,   427,  1671,
7572     1672,  3831,   429,   430,  1673,  1674,   431,   432,     0,   434,
7573      435,   436,     0,   438,   439,   440,   441,   442,   443,   444,
7574      445,   446,  1675,   447,   448,     0,   450,     0,   452,   453,
7575      454,  1676,   455,   456,   457,   458,   459,   460,   461,   462,
7576      463,   464,  1074,   466,   467,   468,   469,  1677,   470,   471,
7577      472,   473,   474,   475,   476,   477,   478,   479,   480,   481,
7578     1678,   482,   483,   484,   485,   486,   487,   488,   489,     0,
7579      491,   492,   493,   494,   495,   496,   497,   498,   499,  1679,
7580      500,   501,   502,   503,   504,  1680,   505,   506,  2157,   508,
7581      509,   510,   511,   512,  1076,   514,  1681,   515,   516,   517,
7582      518,   519,   520,   521,   522,   523,   524,   525,   526,     0,
7583     1682,   528,   529,  1683,   530,   531,   532,   533,   534,   535,
7584      536,  1684,   537,  1077,  1078,  1685,  1686,   540,   541,     0,
7585      543,     0,  1687,   545,   546,   547,   548,   549,   550,   551,
7586     1688,  1689,   552,   553,   554,   555,   556,  1690,  1691,   557,
7587      558,   559,   560,   561,     0,  1079,  1692,   564,   565,   566,
7588      567,   568,   569,  1693,  1694,   570,  1695,  1696,   571,   572,
7589      573,   574,   575,   576,     0,     0,     0,     0,     0,     0,
7590        0,     0,     0,     0,     0,   588,   589,   590,     0,   598,
7591        0,   882,   883,   884,   876,  3832,  3833,   887,   888,   889,
7592      890,   877,   878,   879,   228,   229,   230,   231,   232,   233,
7593      234,   235,     0,   236,   237,   238,     0,     0,     0,     0,
7594        0,     0,     0,   239,   240,     0,   241,   242,   243,     0,
7595      245,   246,   247,   248,   249,     0,   251,   252,     0,   253,
7596      254,   255,   256,   257,   258,     0,     0,   259,   260,   261,
7597      262,   263,     0,   264,   880,   266,   267,   268,     0,     0,
7598        0,   270,   271,   272,   273,   274,     0,   276,   277,   278,
7599        0,   279,   280,   281,   282,   283,   284,     0,     0,   286,
7600      287,   288,     0,     0,     0,     0,     0,     0,     0,   290,
7601      291,   292,   293,   294,   295,   296,   297,   298,     0,   299,
7602        0,   300,   301,   302,   303,   304,   305,     0,   306,   307,
7603      308,   309,     0,     0,   310,   311,   312,   313,   314,     0,
7604      315,   316,   317,     0,   318,   319,   320,     0,   321,   322,
7605      323,   324,   325,   326,   327,   328,   329,     0,   881,     0,
7606      331,   332,   333,   334,     0,   335,     0,   336,     0,     0,
7607        0,   339,   340,   341,   342,     0,   343,   344,     0,   345,
7608      346,   347,     0,   348,   349,   350,   351,   352,     0,   354,
7609      355,   356,   357,     0,   358,   359,   360,   361,   362,   363,
7610      364,     0,   365,     0,   367,   368,   369,   370,   371,   372,
7611      373,     0,   374,     0,   375,     0,     0,   378,     0,   380,
7612      381,   382,   383,   384,     0,     0,   385,   386,     0,   388,
7613        0,     0,   390,   391,   392,     0,     0,   393,   394,   395,
7614      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
7615      406,   407,   408,   409,     0,   411,   412,   413,   414,   415,
7616        0,   416,   417,     0,   419,     0,   420,   421,   422,   423,
7617      424,   425,     0,   426,   427,     0,     0,   428,   429,   430,
7618        0,     0,   431,   432,   433,     0,   435,     0,   437,   438,
7619      439,   440,   441,   442,   443,   444,   445,   446,     0,   447,
7620      448,   449,   450,   451,   452,   453,   454,     0,   455,   456,
7621      457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
7622      467,   468,   469,     0,   470,   471,   472,   473,   474,   475,
7623      476,   477,   478,   479,   480,   481,     0,   482,   483,     0,
7624      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
7625      495,   496,   497,   498,   499,     0,   500,   501,   502,   503,
7626      504,     0,   505,   506,   507,   508,   509,     0,   511,   512,
7627      513,   514,     0,   515,   516,   517,   518,   519,   520,   521,
7628      522,   523,   524,   525,   526,   527,     0,   528,   529,     0,
7629      530,     0,   532,   533,   534,   535,   536,     0,   537,   538,
7630      539,     0,     0,   540,   541,   542,   543,   544,     0,   545,
7631      546,   547,   548,   549,   550,   551,     0,     0,   552,   553,
7632      554,   555,   556,     0,     0,   557,   558,   559,   560,   561,
7633      562,   563,     0,   564,     0,   566,   567,   568,   569,     0,
7634        0,   570,     0,     0,   571,   572,   573,   574,   575,   576,
7635      577,   578,   579,   580,   581,   582,   583,   584,   585,   586,
7636      587,   588,   589,   590,     0,   598,     0,   882,   883,   884,
7637      876,   885,   886,   887,   888,   889,   890,   877,   878,   879,
7638      228,   229,   230,   231,   232,   233,   234,   235,     0,   236,
7639      237,   238,     0,     0,     0,     0,     0,     0,     0,   239,
7640      240,     0,   241,   242,   243,     0,   245,   246,   247,   248,
7641      249,     0,   251,   252,     0,   253,   254,   255,   256,   257,
7642      258,     0,     0,   259,   260,   261,   262,   263,     0,   264,
7643     1007,   266,   267,   268,     0,     0,     0,   270,   271,   272,
7644      273,   274,     0,   276,   277,   278,     0,   279,   280,   281,
7645      282,   283,   284,     0,     0,   286,   287,   288,     0,     0,
7646        0,     0,     0,     0,     0,   290,   291,   292,   293,   294,
7647      295,   296,   297,   298,     0,   299,     0,   300,   301,   302,
7648      303,   304,   305,     0,   306,   307,   308,   309,     0,     0,
7649      310,   311,   312,   313,   314,     0,   315,   316,   317,     0,
7650      318,   319,   320,     0,   321,   322,   323,   324,   325,   326,
7651      327,   328,   329,     0,  1008,     0,   331,   332,   333,   334,
7652        0,   335,     0,   336,     0,     0,     0,   339,   340,   341,
7653      342,     0,   343,   344,     0,   345,   346,   347,     0,   348,
7654      349,   350,   351,   352,     0,   354,   355,   356,   357,     0,
7655      358,   359,   360,   361,   362,   363,   364,     0,   365,     0,
7656      367,   368,   369,   370,   371,   372,   373,     0,   374,     0,
7657      375,     0,     0,   378,     0,   380,   381,   382,   383,   384,
7658        0,     0,   385,   386,     0,   388,     0,     0,   390,   391,
7659      392,     0,     0,   393,   394,   395,   396,   397,   398,   399,
7660      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
7661        0,   411,   412,   413,   414,   415,     0,   416,   417,     0,
7662      419,     0,   420,   421,   422,   423,   424,   425,     0,   426,
7663      427,     0,     0,   428,   429,   430,     0,     0,   431,   432,
7664      433,     0,   435,     0,   437,   438,   439,   440,   441,   442,
7665      443,   444,   445,   446,     0,   447,   448,   449,   450,   451,
7666      452,   453,   454,     0,   455,   456,   457,   458,   459,   460,
7667      461,   462,   463,   464,   465,   466,   467,   468,   469,     0,
7668      470,   471,   472,   473,   474,   475,   476,   477,   478,   479,
7669      480,   481,     0,   482,   483,     0,   485,   486,   487,   488,
7670      489,   490,   491,   492,   493,   494,   495,   496,   497,   498,
7671      499,     0,   500,   501,   502,   503,   504,     0,   505,   506,
7672      507,   508,   509,     0,   511,   512,   513,   514,     0,   515,
7673      516,   517,   518,   519,   520,   521,   522,   523,   524,   525,
7674      526,   527,     0,   528,   529,     0,   530,     0,   532,   533,
7675      534,   535,   536,     0,   537,   538,   539,     0,     0,   540,
7676      541,   542,   543,   544,     0,   545,   546,   547,   548,   549,
7677      550,   551,     0,     0,   552,   553,   554,   555,   556,     0,
7678        0,   557,   558,   559,   560,   561,   562,   563,     0,   564,
7679        0,   566,   567,   568,   569,     0,     0,   570,     0,     0,
7680      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
7681      581,   582,   583,   584,   585,   586,   587,   588,   589,   590,
7682        0,   598,     0,   882,   883,   884,   876,   885,   886,   887,
7683      888,   889,   890,   877,   878,   879,   228,   229,   230,   231,
7684      232,   233,   234,   235,     0,   236,   237,   238,     0,     0,
7685        0,     0,     0,     0,     0,   239,   240,     0,   241,   242,
7686      243,     0,   245,   246,   247,   248,   249,     0,   251,   252,
7687        0,   253,   254,   255,   256,   257,   258,     0,     0,   259,
7688      260,   261,   262,   263,     0,   264,  1107,   266,   267,   268,
7689        0,     0,     0,   270,   271,   272,   273,   274,     0,   276,
7690      277,   278,     0,   279,   280,   281,   282,   283,   284,     0,
7691        0,   286,   287,   288,     0,     0,     0,     0,     0,     0,
7692        0,   290,   291,   292,   293,   294,   295,   296,   297,   298,
7693        0,   299,     0,   300,   301,   302,   303,   304,   305,     0,
7694      306,   307,   308,   309,     0,     0,   310,   311,   312,   313,
7695      314,     0,   315,   316,   317,     0,   318,   319,   320,     0,
7696      321,   322,   323,   324,   325,   326,   327,   328,   329,     0,
7697     1108,     0,   331,   332,   333,   334,     0,   335,     0,   336,
7698        0,     0,     0,   339,   340,   341,   342,     0,   343,   344,
7699        0,   345,   346,   347,     0,   348,   349,   350,   351,  1109,
7700        0,   354,   355,   356,   357,     0,   358,   359,   360,   361,
7701      362,   363,   364,     0,   365,     0,   367,   368,   369,   370,
7702      371,   372,   373,     0,   374,     0,   375,     0,     0,   378,
7703        0,   380,   381,   382,   383,   384,     0,     0,   385,   386,
7704        0,   388,     0,     0,   390,   391,   392,     0,     0,   393,
7705      394,   395,   396,   397,   398,   399,   400,   401,   402,   403,
7706      404,   405,   406,   407,   408,   409,     0,   411,   412,   413,
7707      414,   415,     0,   416,   417,     0,   419,     0,   420,   421,
7708      422,   423,   424,   425,     0,   426,   427,     0,     0,   428,
7709      429,   430,     0,     0,   431,   432,   433,     0,   435,     0,
7710      437,   438,   439,   440,   441,   442,   443,   444,   445,   446,
7711        0,   447,   448,   449,   450,   451,   452,   453,   454,     0,
7712      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
7713      465,   466,   467,   468,   469,     0,   470,   471,   472,   473,
7714      474,   475,   476,   477,   478,   479,   480,   481,     0,   482,
7715      483,     0,   485,   486,   487,   488,   489,   490,   491,   492,
7716      493,   494,   495,   496,   497,   498,   499,     0,   500,   501,
7717      502,   503,   504,     0,   505,   506,   507,   508,   509,     0,
7718      511,   512,   513,   514,     0,   515,   516,   517,   518,   519,
7719      520,   521,   522,   523,   524,   525,   526,   527,     0,   528,
7720      529,     0,   530,     0,   532,   533,   534,   535,   536,     0,
7721      537,   538,   539,     0,     0,   540,   541,   542,   543,   544,
7722        0,   545,   546,   547,   548,   549,   550,   551,     0,     0,
7723      552,   553,   554,   555,   556,     0,     0,   557,   558,   559,
7724      560,   561,   562,   563,     0,   564,     0,   566,   567,   568,
7725      569,     0,     0,   570,     0,     0,   571,   572,   573,   574,
7726      575,   576,   577,   578,   579,   580,   581,   582,   583,   584,
7727      585,   586,   587,   588,   589,   590,     0,   598,     0,   882,
7728      883,   884,   876,   885,   886,   887,   888,   889,   890,   877,
7729      878,   879,   228,   229,   230,   231,   232,   233,   234,   235,
7730        0,   236,   237,   238,     0,     0,     0,     0,     0,     0,
7731        0,   239,   240,     0,   241,   242,   243,     0,   245,   246,
7732      247,   248,   249,     0,   251,   252,     0,   253,   254,   255,
7733      256,   257,   258,     0,     0,   259,   260,   261,   262,   263,
7734        0,   264,  1719,   266,   267,   268,     0,     0,     0,   270,
7735      271,   272,   273,   274,     0,   276,   277,   278,     0,   279,
7736      280,   281,   282,   283,   284,     0,     0,   286,   287,   288,
7737        0,     0,     0,     0,     0,     0,     0,   290,   291,   292,
7738      293,   294,   295,   296,   297,   298,     0,   299,     0,   300,
7739      301,   302,   303,   304,   305,     0,   306,   307,   308,   309,
7740        0,     0,   310,   311,   312,   313,   314,     0,   315,   316,
7741      317,     0,   318,   319,   320,     0,   321,   322,   323,   324,
7742      325,   326,   327,   328,   329,     0,  1720,     0,   331,   332,
7743      333,   334,     0,   335,     0,   336,     0,     0,     0,   339,
7744      340,   341,   342,     0,   343,   344,     0,   345,   346,   347,
7745        0,   348,   349,   350,   351,   352,     0,   354,   355,   356,
7746      357,     0,   358,   359,   360,   361,   362,   363,   364,     0,
7747      365,     0,   367,   368,   369,   370,   371,   372,   373,     0,
7748      374,     0,   375,     0,     0,   378,     0,   380,   381,   382,
7749      383,   384,     0,     0,   385,   386,     0,   388,     0,     0,
7750      390,   391,   392,     0,     0,   393,   394,   395,   396,   397,
7751      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
7752      408,   409,     0,   411,   412,   413,   414,   415,     0,   416,
7753      417,     0,   419,     0,   420,   421,   422,   423,   424,   425,
7754        0,   426,   427,     0,     0,   428,   429,   430,     0,     0,
7755      431,   432,   433,     0,   435,     0,   437,   438,   439,   440,
7756      441,   442,   443,   444,   445,   446,     0,   447,   448,   449,
7757      450,   451,   452,   453,   454,     0,   455,   456,   457,   458,
7758      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
7759      469,     0,   470,   471,   472,   473,   474,   475,   476,   477,
7760      478,   479,   480,   481,     0,   482,   483,     0,   485,   486,
7761      487,   488,   489,   490,   491,   492,   493,   494,   495,   496,
7762      497,   498,   499,     0,   500,   501,   502,   503,   504,     0,
7763      505,   506,   507,   508,   509,     0,   511,   512,   513,   514,
7764        0,   515,   516,   517,   518,   519,   520,   521,   522,   523,
7765      524,   525,   526,   527,     0,   528,   529,     0,   530,     0,
7766      532,   533,   534,   535,   536,     0,   537,   538,   539,     0,
7767        0,   540,   541,   542,   543,   544,     0,   545,   546,   547,
7768      548,   549,   550,   551,     0,     0,   552,   553,   554,   555,
7769      556,     0,     0,   557,   558,   559,   560,   561,   562,   563,
7770        0,   564,     0,   566,   567,   568,   569,     0,     0,   570,
7771        0,     0,   571,   572,   573,   574,   575,   576,   577,   578,
7772      579,   580,   581,   582,   583,   584,   585,   586,   587,   588,
7773      589,   590,     0,   598,     0,   882,   883,   884,   876,   885,
7774      886,   887,   888,   889,   890,   877,   878,   879,   228,   229,
7775      230,   231,   232,   233,   234,   235,     0,   236,   237,   238,
7776        0,     0,     0,     0,     0,     0,     0,   239,   240,     0,
7777      241,   242,   243,     0,   245,   246,   247,   248,   249,     0,
7778      251,   252,     0,   253,   254,   255,   256,   257,   258,     0,
7779        0,   259,   260,   261,   262,   263,     0,   264,   265,   266,
7780      267,   268,     0,     0,     0,   270,   271,   272,   273,   274,
7781        0,   276,   277,   278,     0,   279,   280,   281,   282,   283,
7782      284,     0,     0,   286,   287,   288,     0,     0,     0,     0,
7783        0,     0,     0,   290,   291,   292,   293,   294,   295,   296,
7784      297,   298,     0,   299,     0,   300,   301,   302,   303,   304,
7785      305,     0,   306,   307,   308,   309,     0,     0,   310,   311,
7786      312,   313,   314,     0,   315,   316,   317,     0,   318,   319,
7787      320,     0,   321,   322,   323,   324,   325,   326,   327,   328,
7788      329,     0,   330,     0,   331,   332,   333,   334,     0,   335,
7789        0,   336,     0,     0,     0,   339,   340,   341,   342,     0,
7790      343,   344,     0,   345,   346,   347,     0,   348,   349,   350,
7791      351,   352,     0,   354,   355,   356,   357,     0,   358,   359,
7792      360,   361,   362,   363,   364,     0,   365,     0,   367,   368,
7793      369,   370,   371,   372,   373,     0,   374,     0,   375,     0,
7794        0,   378,     0,   380,   381,   382,   383,   384,     0,     0,
7795      385,   386,     0,   388,     0,     0,   390,   391,   392,     0,
7796        0,   393,   394,   395,   396,   397,   398,   399,   400,   401,
7797      402,   403,   404,   405,   406,   407,   408,   409,     0,   411,
7798      412,   413,   414,   415,     0,   416,   417,     0,   419,     0,
7799      420,   421,   422,   423,   424,   425,     0,   426,   427,     0,
7800        0,   428,   429,   430,     0,     0,   431,   432,   433,     0,
7801      435,     0,   437,   438,   439,   440,   441,   442,   443,   444,
7802      445,   446,     0,   447,   448,   449,   450,   451,   452,   453,
7803      454,     0,   455,   456,   457,   458,   459,   460,   461,   462,
7804      463,   464,   465,   466,   467,   468,   469,     0,   470,   471,
7805      472,   473,   474,   475,   476,   477,   478,   479,   480,   481,
7806        0,   482,   483,     0,   485,   486,   487,   488,   489,   490,
7807      491,   492,   493,   494,   495,   496,   497,   498,   499,     0,
7808      500,   501,   502,   503,   504,     0,   505,   506,   507,   508,
7809      509,     0,   511,   512,   513,   514,     0,   515,   516,   517,
7810      518,   519,   520,   521,   522,   523,   524,   525,   526,   527,
7811        0,   528,   529,     0,   530,     0,   532,   533,   534,   535,
7812      536,     0,   537,   538,   539,     0,     0,   540,   541,   542,
7813      543,   544,     0,   545,   546,   547,   548,   549,   550,   551,
7814        0,     0,   552,   553,   554,   555,   556,     0,     0,   557,
7815      558,   559,   560,   561,   562,   563,     0,   564,     0,   566,
7816      567,   568,   569,     0,     0,   570,     0,     0,   571,   572,
7817      573,   574,   575,   576,   577,   578,   579,   580,   581,   582,
7818      583,   584,   585,   586,   587,   588,   589,   590,     0,   598,
7819        0,   882,   883,   884,   876,   885,   886,   887,   888,   889,
7820      890,   877,   878,   879,   228,   229,   230,   231,   232,   233,
7821      234,   235,     0,   236,   237,   238,     0,     0,     0,     0,
7822        0,     0,     0,   239,   240,     0,   241,   242,   243,     0,
7823      245,   246,   247,   248,   249,     0,   251,   252,     0,   253,
7824      254,   255,   256,   257,   258,     0,     0,   259,   260,   261,
7825      262,   263,     0,   264,  2985,   266,   267,   268,     0,     0,
7826        0,   270,   271,   272,   273,   274,     0,   276,   277,   278,
7827        0,   279,   280,   281,   282,   283,   284,     0,     0,   286,
7828      287,   288,     0,     0,     0,     0,     0,     0,     0,   290,
7829      291,   292,   293,   294,   295,   296,   297,   298,     0,   299,
7830        0,   300,   301,   302,   303,   304,   305,     0,   306,   307,
7831      308,   309,     0,     0,   310,   311,   312,   313,   314,     0,
7832      315,   316,   317,     0,   318,   319,   320,     0,   321,   322,
7833      323,   324,   325,   326,   327,   328,   329,     0,  2986,     0,
7834      331,   332,   333,   334,     0,   335,     0,   336,     0,     0,
7835        0,   339,   340,   341,   342,     0,   343,   344,     0,   345,
7836      346,   347,     0,   348,   349,   350,   351,   352,     0,   354,
7837      355,   356,   357,     0,   358,   359,   360,   361,   362,   363,
7838      364,     0,   365,     0,   367,   368,   369,   370,   371,   372,
7839      373,     0,   374,     0,   375,     0,     0,   378,     0,   380,
7840      381,   382,   383,   384,     0,     0,   385,   386,     0,   388,
7841        0,     0,   390,   391,   392,     0,     0,   393,   394,   395,
7842      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
7843      406,   407,   408,   409,     0,   411,   412,   413,   414,   415,
7844        0,   416,   417,     0,   419,     0,   420,   421,   422,   423,
7845      424,   425,     0,   426,   427,     0,     0,   428,   429,   430,
7846        0,     0,   431,   432,   433,     0,   435,     0,   437,   438,
7847      439,   440,   441,   442,   443,   444,   445,   446,     0,   447,
7848      448,   449,   450,   451,   452,   453,   454,     0,   455,   456,
7849      457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
7850      467,   468,   469,     0,   470,   471,   472,   473,   474,   475,
7851      476,   477,   478,   479,   480,   481,     0,   482,   483,     0,
7852      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
7853      495,   496,   497,   498,   499,     0,   500,   501,   502,   503,
7854      504,     0,   505,   506,   507,   508,   509,     0,   511,   512,
7855      513,   514,     0,   515,   516,   517,   518,   519,   520,   521,
7856      522,   523,   524,   525,   526,   527,     0,   528,   529,     0,
7857      530,     0,   532,   533,   534,   535,   536,     0,   537,   538,
7858      539,     0,     0,   540,   541,   542,   543,   544,     0,   545,
7859      546,   547,   548,   549,   550,   551,     0,     0,   552,   553,
7860      554,   555,   556,     0,     0,   557,   558,   559,   560,   561,
7861      562,   563,     0,   564,     0,   566,   567,   568,   569,     0,
7862        0,   570,     0,     0,   571,   572,   573,   574,   575,   576,
7863      577,   578,   579,   580,   581,   582,   583,   584,   585,   586,
7864      587,   588,   589,   590,     0,   598,     0,   882,   883,   884,
7865      876,   885,   886,   887,   888,   889,   890,   877,   878,   879,
7866      228,   229,   230,   231,   232,   233,   234,   235,     0,   236,
7867      237,   238,     0,     0,     0,     0,     0,     0,     0,   239,
7868      240,     0,   241,   242,   243,     0,   245,   246,   247,   248,
7869      249,     0,   251,   252,     0,   253,   254,   255,   256,   257,
7870      258,     0,     0,   259,   260,   261,   262,   263,     0,   264,
7871      265,   266,   267,   268,     0,     0,     0,   270,   271,   272,
7872      273,   274,     0,   276,   277,   278,     0,   279,   280,   281,
7873      282,   283,   284,     0,     0,   286,   287,   288,     0,     0,
7874        0,     0,     0,     0,     0,   290,   291,   292,   293,   294,
7875      295,   296,   297,   298,     0,   299,     0,   300,   301,   302,
7876      303,   304,   305,     0,   306,   307,   308,   309,     0,     0,
7877      310,   311,   312,   313,   314,     0,   315,   316,   317,     0,
7878      318,   319,   320,     0,   321,   322,   323,   324,   325,   326,
7879      327,   328,   329,     0,   330,     0,   331,   332,   333,   334,
7880        0,   335,     0,   336,     0,     0,     0,   339,   340,   341,
7881      342,     0,   343,   344,     0,   345,   346,   347,     0,   348,
7882      349,   350,   351,   352,     0,   354,   355,   356,   357,     0,
7883      358,   359,   360,   361,   362,   363,   364,     0,   365,     0,
7884      367,   368,   369,   370,   371,   372,   373,     0,   374,     0,
7885      375,     0,     0,   378,     0,   380,   381,   382,   383,   384,
7886        0,     0,   385,   386,     0,   388,     0,     0,   390,   391,
7887      392,     0,     0,   393,   394,   395,   396,   397,   398,   399,
7888      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
7889        0,   411,   412,   413,   414,   415,     0,   416,   417,     0,
7890      419,     0,   420,   421,   422,   423,   424,   425,     0,   426,
7891      427,     0,     0,  4815,   429,   430,     0,     0,   431,   432,
7892      433,     0,   435,     0,   437,   438,   439,   440,   441,   442,
7893      443,   444,   445,   446,     0,   447,   448,   449,   450,   451,
7894      452,   453,   454,     0,   455,   456,   457,   458,   459,   460,
7895      461,   462,   463,   464,   465,   466,   467,   468,   469,     0,
7896      470,   471,   472,   473,   474,   475,   476,   477,   478,   479,
7897      480,   481,     0,   482,   483,     0,   485,   486,   487,   488,
7898      489,   490,   491,   492,   493,   494,   495,   496,   497,   498,
7899      499,     0,   500,   501,   502,   503,   504,     0,   505,   506,
7900      507,   508,   509,     0,   511,   512,   513,   514,     0,   515,
7901      516,   517,   518,   519,   520,   521,   522,   523,   524,   525,
7902      526,   527,     0,   528,   529,     0,   530,     0,   532,   533,
7903      534,   535,   536,     0,   537,   538,   539,     0,     0,   540,
7904      541,   542,   543,   544,     0,   545,   546,   547,   548,   549,
7905      550,   551,     0,     0,   552,   553,   554,   555,   556,     0,
7906        0,   557,   558,   559,   560,   561,   562,   563,     0,   564,
7907        0,   566,   567,   568,   569,     0,     0,   570,     0,     0,
7908      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
7909      581,   582,   583,   584,   585,   586,   587,   588,   589,   590,
7910     1619,     0,     0,   882,   883,   884,     0,   885,   886,   887,
7911      888,   889,   890,     0,     0,   228,   229,   230,   231,   232,
7912      233,   234,   235,  1620,   236,   237,   238,  1621,  1622,  1623,
7913     1624,  1625,  1626,  1627,   239,   240,  1628,   241,   242,   243,
7914      244,   245,   246,   247,   248,   249,   250,   251,   252,  1629,
7915      253,   254,   255,   256,   257,   258,  1630,  1631,   259,   260,
7916      261,   262,   263,  1632,   264,   265,   266,   267,   268,  1633,
7917      269,  1634,   270,   271,   272,   273,   274,   275,   276,   277,
7918      278,  1635,   279,   280,   281,   282,   283,   284,  1636,   285,
7919      286,   287,   288,  1637,  1638,  1639,   289,  1640,  1641,  1642,
7920      290,   291,   292,   293,   294,   295,   296,   297,   298,  1643,
7921      299,  1644,   300,   301,   302,   303,   304,   305,  1645,   306,
7922      307,   308,   309,  1646,  1647,   310,   311,   312,   313,   314,
7923     1648,   315,   316,   317,  1649,   318,   319,   320,  1650,   321,
7924      322,   323,   324,   325,   326,   327,   328,   329,  1651,   330,
7925     1652,   331,   332,   333,   334,  1653,   335,  1654,   336,   337,
7926     1655,   338,   339,   340,   341,   342,  1656,   343,   344,  1657,
7927      345,   346,   347,  1658,   348,   349,   350,   351,   352,   353,
7928      354,   355,   356,   357,  1659,   358,   359,   360,   361,   362,
7929      363,   364,  1660,   365,   366,   367,   368,   369,   370,   371,
7930      372,   373,  1661,   374,  1662,   375,   376,   377,   378,   379,
7931      380,   381,   382,   383,   384,  1663,  1664,   385,   386,   387,
7932      388,   389,  1665,   390,   391,   392,  1666,  1667,   393,   394,
7933      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
7934      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
7935      415,  1668,   416,   417,   418,   419,  1669,   420,   421,   422,
7936      423,   424,   425,  1670,   426,   427,  1671,  1672,   428,   429,
7937      430,  1673,  1674,   431,   432,   433,   434,   435,   436,   437,
7938      438,   439,   440,   441,   442,   443,   444,   445,   446,  1675,
7939      447,   448,   449,   450,   451,   452,   453,   454,  1676,   455,
7940      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
7941      466,   467,   468,   469,  1677,   470,   471,   472,   473,   474,
7942      475,   476,   477,   478,   479,   480,   481,  1678,   482,   483,
7943      484,   485,   486,   487,   488,   489,   490,   491,   492,   493,
7944      494,   495,   496,   497,   498,   499,  1679,   500,   501,   502,
7945      503,   504,  1680,   505,   506,   507,   508,   509,   510,   511,
7946      512,   513,   514,  1681,   515,   516,   517,   518,   519,   520,
7947      521,   522,   523,   524,   525,   526,   527,  1682,   528,   529,
7948     1683,   530,   531,   532,   533,   534,   535,   536,  1684,   537,
7949      538,   539,  1685,  1686,   540,   541,   542,   543,   544,  1687,
7950      545,   546,   547,   548,   549,   550,   551,  1688,  1689,   552,
7951      553,   554,   555,   556,  1690,  1691,   557,   558,   559,   560,
7952      561,   562,   563,  1692,   564,   565,   566,   567,   568,   569,
7953     1693,  1694,   570,  1695,  1696,   571,   572,   573,   574,   575,
7954      576,   577,   578,   579,   580,   581,   582,   583,   584,   585,
7955      586,   587,   588,   589,   590,   598,     0,     0,     0,     0,
7956        0,     0,     0,     0,  1697,     0,     0,     0,     0,     0,
7957      228,   229,   230,   231,   232,   233,   234,   235,     0,   236,
7958      237,   238,     0,     0,     0,     0,     0,     0,     0,   239,
7959      240,     0,   241,   242,   243,     0,   245,   246,   247,   248,
7960      249,     0,   251,   252,     0,   253,   254,   255,   256,   257,
7961      258,     0,     0,   259,   260,   261,   262,   263,     0,   264,
7962      265,   266,   267,   268,     0,     0,     0,   270,   271,   272,
7963      273,   274,     0,   276,   277,   278,     0,   279,   280,   281,
7964      282,   283,   284,     0,     0,   286,   287,   288,     0,     0,
7965        0,     0,     0,     0,     0,   290,   291,   292,   293,   294,
7966      295,   296,   297,   298,     0,   299,     0,   300,   301,   302,
7967      303,   304,   305,     0,   306,   307,   308,   309,     0,     0,
7968      310,   311,   312,   313,   314,     0,   315,   316,   317,     0,
7969      318,   319,   320,     0,   321,   322,   323,   324,   325,   326,
7970      327,   328,   329,     0,   330,     0,   331,   332,   333,   334,
7971        0,   335,     0,   336,     0,     0,     0,   339,   340,   341,
7972      342,     0,   343,   344,     0,   345,   346,   347,     0,   348,
7973      349,   350,   351,   352,     0,   354,   355,   356,   357,     0,
7974      358,   359,   360,   361,   362,   363,   364,     0,   365,     0,
7975      367,   368,   369,   370,   371,   372,   373,     0,   374,     0,
7976      375,     0,     0,   378,     0,   380,   381,   382,   383,   384,
7977        0,     0,   385,   386,     0,   388,     0,     0,   390,   391,
7978      392,     0,     0,   393,   394,   395,   396,   397,   398,   399,
7979      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
7980        0,   411,   412,   413,   414,   415,     0,   416,   417,     0,
7981      419,     0,   420,   421,   422,   423,   424,   425,     0,   426,
7982      427,     0,     0,   428,   429,   430,     0,     0,   431,   432,
7983      433,     0,   435,     0,   437,   438,   439,   440,   441,   442,
7984      443,   444,   445,   446,     0,   447,   448,   449,   450,   451,
7985      452,   453,   454,     0,   455,   456,   457,   458,   459,   460,
7986      461,   462,   463,   464,   465,   466,   467,   468,   469,     0,
7987      470,   471,   472,   473,   474,   475,   476,   477,   478,   479,
7988      480,   481,     0,   482,   483,     0,   485,   486,   487,   488,
7989      489,   490,   491,   492,   493,   494,   495,   496,   497,   498,
7990      499,     0,   500,   501,   502,   503,   504,     0,   505,   506,
7991      507,   508,   509,     0,   511,   512,   513,   514,     0,   515,
7992      516,   517,   518,   519,   520,   521,   522,   523,   524,   525,
7993      526,   527,     0,   528,   529,     0,   530,     0,   532,   533,
7994      534,   535,   536,     0,   537,   538,   539,     0,     0,   540,
7995      541,   542,   543,   544,     0,   545,   546,   547,   548,   549,
7996      550,   551,     0,     0,   552,   553,   554,   555,   556,     0,
7997        0,   557,   558,   559,   560,   561,   562,   563,     0,   564,
7998        0,   566,   567,   568,   569,     0,     0,   570,     0,     0,
7999      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
8000      581,   582,   583,   584,   585,   586,   587,   588,   589,   590,
8001      598,     0,     0,     0,     0,     0,     0,     0,     0,   814,
8002        0,     0,     0,     0,     0,   228,   229,   230,   231,   232,
8003      233,   234,   235,     0,   236,   237,   238,     0,     0,     0,
8004        0,     0,     0,     0,   239,   240,     0,   241,   242,   243,
8005        0,   245,   246,   247,   248,   249,     0,   251,   252,     0,
8006      253,   254,   255,   256,   257,   258,     0,     0,   259,   260,
8007      261,   262,   263,     0,   264,   265,   266,   267,   268,     0,
8008        0,     0,   270,   271,   272,   273,   274,     0,   276,   277,
8009      278,     0,   279,   280,   281,   282,   283,   284,     0,     0,
8010      286,   287,   288,     0,     0,     0,     0,     0,     0,     0,
8011      290,   291,   292,   293,   294,   295,   296,   297,   298,     0,
8012      299,     0,   300,   301,   302,   303,   304,   305,     0,   306,
8013      307,   308,   309,     0,     0,   310,   311,   312,   313,   314,
8014        0,   315,   316,   317,     0,   318,   319,   320,     0,   321,
8015      322,   323,   324,   325,   326,   327,   328,   329,     0,   330,
8016        0,   331,   332,   333,   334,     0,   335,     0,   336,     0,
8017        0,     0,   339,   340,   341,   342,     0,   343,   344,     0,
8018      345,   346,   347,     0,   348,   349,   350,   351,   352,     0,
8019      354,   355,   356,   357,     0,   358,   359,   360,   361,   362,
8020      363,   364,     0,   365,     0,   367,   368,   369,   370,   371,
8021      372,   373,     0,   374,     0,   375,     0,     0,   378,     0,
8022      380,   381,   382,   383,   384,     0,     0,   385,   386,     0,
8023      388,     0,     0,   390,   391,   392,     0,     0,   393,   394,
8024      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
8025      405,   406,   407,   408,   409,     0,   411,   412,   413,   414,
8026      415,     0,   416,   417,     0,   419,     0,   420,   421,   422,
8027      423,   424,   425,     0,   426,   427,     0,     0,   428,   429,
8028      430,     0,     0,   431,   432,   433,     0,   435,     0,   437,
8029      438,   439,   440,   441,   442,   443,   444,   445,   446,     0,
8030      447,   448,   449,   450,   451,   452,   453,   454,     0,   455,
8031      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
8032      466,   467,   468,   469,     0,   470,   471,   472,   473,   474,
8033      475,   476,   477,   478,   479,   480,   481,     0,   482,   483,
8034        0,   485,   486,   487,   488,   489,   490,   491,   492,   493,
8035      494,   495,   496,   497,   498,   499,     0,   500,   501,   502,
8036      503,   504,     0,   505,   506,   507,   508,   509,     0,   511,
8037      512,   513,   514,     0,   515,   516,   517,   518,   519,   520,
8038      521,   522,   523,   524,   525,   526,   527,     0,   528,   529,
8039        0,   530,     0,   532,   533,   534,   535,   536,     0,   537,
8040      538,   539,     0,     0,   540,   541,   542,   543,   544,     0,
8041      545,   546,   547,   548,   549,   550,   551,     0,     0,   552,
8042      553,   554,   555,   556,     0,     0,   557,   558,   559,   560,
8043      561,   562,   563,     0,   564,     0,   566,   567,   568,   569,
8044        0,     0,   570,     0,     0,   571,   572,   573,   574,   575,
8045      576,   577,   578,   579,   580,   581,   582,   583,   584,   585,
8046      586,   587,   588,   589,   590,  1057,     0,     0,     0,     0,
8047        0,     0,     0,     0,  5216,     0,     0,     0,     0,     0,
8048      228,   229,   230,   231,   232,   233,   234,   235,     0,   236,
8049      237,   238,     0,     0,     0,     0,     0,     0,     0,   239,
8050      240,     0,   241,   242,   243,   244,   245,   246,   247,     0,
8051     1058,   250,  1059,  1060,     0,   253,   254,   255,   256,   257,
8052      258,     0,     0,   259,   260,  1061,  1062,   263,     0,   264,
8053      265,   266,   267,     0,     0,   269,     0,   270,   271,   272,
8054      273,   274,   275,   276,   277,   278,     0,   279,   280,   281,
8055      282,   283,   284,     0,   285,   286,   287,   288,     0,     0,
8056        0,   289,     0,     0,     0,   290,   291,   292,   293,   294,
8057      295,  1063,  1064,   298,     0,   299,     0,   300,   301,   302,
8058      303,   304,   305,     0,   306,   307,   308,   309,     0,     0,
8059      310,   311,  1065,   313,   314,     0,   315,   316,   317,     0,
8060      318,   319,   320,     0,   321,   322,   323,   324,     0,   326,
8061      327,   328,     0,     0,   330,     0,   331,   332,  1066,   334,
8062        0,   335,     0,   336,   337,     0,   338,   339,   340,   341,
8063      342,     0,   343,     0,     0,     0,   346,   347,     0,   348,
8064      349,   350,   351,   352,   353,   354,   355,   356,   357,  2153,
8065      358,   359,   360,   361,   362,   363,   364,     0,   365,   366,
8066     2154,   368,   369,   370,   371,  1068,  1069,     0,  1070,     0,
8067      375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
8068        0,     0,   385,     0,   387,   388,   389,     0,   390,   391,
8069      392,     0,     0,   393,   394,   395,   396,   397,   398,   399,
8070      400,   401,   402,   403,   404,   405,   406,   407,   408,  1071,
8071      410,  1072,   412,   413,   414,     0,     0,   416,   417,   418,
8072      419,     0,     0,   421,  1073,   423,   424,   425,     0,   426,
8073      427,     0,     0,   428,   429,   430,     0,  2155,   431,   432,
8074     2156,   434,   435,   436,     0,   438,   439,   440,   441,   442,
8075      443,   444,   445,   446,     0,   447,   448,     0,   450,     0,
8076      452,   453,   454,     0,   455,   456,   457,   458,   459,   460,
8077      461,   462,   463,   464,  1074,   466,   467,   468,   469,     0,
8078      470,   471,   472,   473,   474,   475,   476,   477,   478,   479,
8079      480,   481,     0,   482,   483,   484,   485,   486,   487,   488,
8080      489,     0,   491,   492,   493,   494,   495,   496,   497,   498,
8081      499,     0,   500,   501,   502,   503,   504,     0,   505,   506,
8082     2157,   508,   509,   510,   511,   512,  1076,   514,     0,   515,
8083      516,   517,   518,   519,   520,   521,   522,   523,   524,   525,
8084      526,     0,     0,   528,   529,     0,   530,   531,   532,   533,
8085      534,   535,   536,     0,   537,  1077,  1078,     0,     0,   540,
8086      541,     0,   543,     0,     0,   545,   546,   547,   548,   549,
8087      550,   551,     0,     0,   552,   553,   554,   555,   556,     0,
8088        0,   557,   558,   559,   560,   561,     0,  1079,  2158,   564,
8089      565,   566,   567,   568,   569,     0,     0,   570,     0,     0,
8090      571,   572,   573,   574,   575,   576,  2475,     0,     0,     0,
8091        0,     0,     0,     0,     0,     0,     0,   588,   589,   590,
8092        0,   228,   229,   230,   231,   232,   233,   234,   235,  2159,
8093      236,   237,   238,     0,     0,     0,     0,     0,     0,     0,
8094      239,   240,     0,   241,   242,   243,   244,   245,   246,   247,
8095        0,  1058,   250,  1059,  1060,     0,   253,   254,   255,   256,
8096      257,   258,     0,     0,   259,   260,  1061,  1062,   263,     0,
8097      264,   265,   266,   267,     0,     0,   269,     0,   270,   271,
8098      272,   273,   274,   275,   276,   277,   278,     0,   279,   280,
8099      281,   282,   283,   284,     0,   285,   286,   287,   288,     0,
8100        0,     0,   289,     0,     0,     0,   290,   291,   292,   293,
8101      294,   295,  1063,  1064,   298,     0,   299,     0,   300,   301,
8102      302,   303,   304,   305,     0,   306,   307,   308,   309,     0,
8103        0,   310,   311,  1065,   313,   314,     0,   315,   316,   317,
8104        0,   318,   319,   320,     0,   321,   322,   323,   324,     0,
8105      326,   327,   328,     0,     0,   330,     0,   331,   332,  1066,
8106      334,     0,   335,     0,   336,   337,     0,   338,   339,   340,
8107      341,   342,     0,   343,     0,     0,     0,   346,   347,     0,
8108      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
8109     2153,   358,   359,   360,   361,   362,   363,   364,     0,   365,
8110      366,  2154,   368,   369,   370,   371,  1068,  1069,     0,  1070,
8111        0,   375,   376,   377,   378,   379,   380,   381,   382,   383,
8112      384,     0,     0,   385,     0,   387,   388,   389,     0,   390,
8113      391,   392,     0,     0,   393,   394,   395,   396,   397,   398,
8114      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
8115     1071,   410,  1072,   412,   413,   414,     0,     0,   416,   417,
8116      418,   419,     0,     0,   421,  1073,   423,   424,   425,     0,
8117      426,   427,     0,     0,   428,   429,   430,     0,  2155,   431,
8118      432,  2156,   434,   435,   436,     0,   438,   439,   440,   441,
8119      442,   443,   444,   445,   446,     0,   447,   448,     0,   450,
8120        0,   452,   453,   454,     0,   455,   456,   457,   458,   459,
8121      460,   461,   462,   463,   464,  1074,   466,   467,   468,   469,
8122        0,   470,   471,   472,   473,   474,   475,   476,   477,   478,
8123      479,   480,   481,     0,   482,   483,   484,   485,   486,   487,
8124      488,   489,     0,   491,   492,   493,   494,   495,   496,   497,
8125      498,   499,     0,   500,   501,   502,   503,   504,     0,   505,
8126      506,  2157,   508,   509,   510,   511,   512,  1076,   514,     0,
8127      515,   516,   517,   518,   519,   520,   521,   522,   523,   524,
8128      525,   526,     0,     0,   528,   529,     0,   530,   531,   532,
8129      533,   534,   535,   536,     0,   537,  1077,  1078,     0,     0,
8130      540,   541,     0,   543,     0,     0,   545,   546,   547,   548,
8131      549,   550,   551,     0,     0,   552,   553,   554,   555,   556,
8132        0,     0,   557,   558,   559,   560,   561,     0,  1079,  2158,
8133      564,   565,   566,   567,   568,   569,     0,     0,   570,     0,
8134        0,   571,   572,   573,   574,   575,   576,   862,  1489,   659,
8135        0,     0,     0,   720,     0,     0,     0,     0,   588,   589,
8136      590,     0,   228,   229,   230,   231,   232,   233,   234,   235,
8137     2159,   236,   237,   238,     0,     0,     0,     0,     0,     0,
8138        0,   239,   240,     0,   241,   242,   243,   244,   245,   246,
8139      247,   248,   249,   250,   251,   252,     0,   253,   254,   255,
8140      256,   257,   258,     0,     0,   259,   260,   261,   262,   263,
8141        0,   264,   265,   266,   267,   268,     0,   269,     0,   270,
8142      271,   272,   273,   274,   275,   276,   277,   278,     0,   279,
8143      280,   281,   282,   283,   284,     0,   285,   286,   287,   288,
8144        0,     0,     0,   289,     0,     0,     0,   290,   291,   292,
8145      293,   294,   295,   296,   297,   298,  2084,   299,     0,   300,
8146      301,   302,   303,   304,   305,     0,   306,   307,   308,   309,
8147        0,     0,   310,   311,   312,   313,   314,     0,   315,   316,
8148      317,     0,   318,   319,   320,     0,   321,   322,   323,   324,
8149      325,   326,   327,   328,   329,  1906,   330,     0,   331,   332,
8150      333,   334,     0,   335,     0,   336,   337,     0,   338,   339,
8151      340,   341,   342,     0,   343,   344,     0,   345,   346,   347,
8152        0,   348,   349,   350,   351,   352,   353,   354,   355,   356,
8153      357,     0,   358,   359,   360,   361,   362,   363,   364,     0,
8154      365,   366,   367,   368,   369,   370,   371,   372,   373,     0,
8155      374,     0,   375,   376,   377,   378,   379,   380,   381,   382,
8156      383,   384,     0,     0,   385,   386,   387,   388,   389,     0,
8157      390,   391,   392,     0,     0,   393,   394,   395,   396,   397,
8158      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
8159      408,   409,   410,   411,   412,   413,   414,   415,     0,   416,
8160      417,   418,   419,     0,   420,   421,   422,   423,   424,   425,
8161        0,   426,   427,  1907,     0,   428,   429,   430,     0,     0,
8162      431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
8163      441,   442,   443,   444,   445,   446,     0,   447,   448,   449,
8164      450,   451,   452,   453,   454,     0,   455,   456,   457,   458,
8165      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
8166      469,     0,   470,   471,   472,   473,   474,   475,   476,   477,
8167      478,   479,   480,   481,     0,   482,   483,   484,   485,   486,
8168      487,   488,   489,   490,   491,   492,   493,   494,   495,   496,
8169      497,   498,   499,     0,   500,   501,   502,   503,   504,     0,
8170      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
8171        0,   515,   516,   517,   518,   519,   520,   521,   522,   523,
8172      524,   525,   526,   527,     0,   528,   529,     0,   530,   531,
8173      532,   533,   534,   535,   536,     0,   537,   538,   539,     0,
8174        0,   540,   541,   542,   543,   544,  1908,   545,   546,   547,
8175      548,   549,   550,   551,     0,     0,   552,   553,   554,   555,
8176      556,     0,     0,   557,   558,   559,   560,   561,   562,   563,
8177        0,   564,   565,   566,   567,   568,   569,     0,     0,   570,
8178        0,     0,   571,   572,   573,   574,   575,   576,   577,   578,
8179      579,   580,   581,   582,   583,   584,   585,   586,   587,   588,
8180      589,   590,   862,  1489,   659,     0,     0,     0,   720,  1490,
8181     1491,     0,     0,     0,     0,     0,     0,   228,   229,   230,
8182      231,   232,   233,   234,   235,     0,   236,   237,   238,     0,
8183        0,     0,     0,     0,     0,     0,   239,   240,     0,   241,
8184      242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
8185      252,     0,   253,   254,   255,   256,   257,   258,     0,     0,
8186      259,   260,   261,   262,   263,     0,   264,   265,   266,   267,
8187      268,     0,   269,     0,   270,   271,   272,   273,   274,   275,
8188      276,   277,   278,     0,   279,   280,   281,   282,   283,   284,
8189        0,   285,   286,   287,   288,     0,     0,     0,   289,     0,
8190        0,     0,   290,   291,   292,   293,   294,   295,   296,   297,
8191      298,  2089,   299,     0,   300,   301,   302,   303,   304,   305,
8192        0,   306,   307,   308,   309,     0,     0,   310,   311,   312,
8193      313,   314,     0,   315,   316,   317,     0,   318,   319,   320,
8194        0,   321,   322,   323,   324,   325,   326,   327,   328,   329,
8195     1906,   330,     0,   331,   332,   333,   334,     0,   335,     0,
8196      336,   337,     0,   338,   339,   340,   341,   342,     0,   343,
8197      344,     0,   345,   346,   347,     0,   348,   349,   350,   351,
8198      352,   353,   354,   355,   356,   357,     0,   358,   359,   360,
8199      361,   362,   363,   364,     0,   365,   366,   367,   368,   369,
8200      370,   371,   372,   373,     0,   374,     0,   375,   376,   377,
8201      378,   379,   380,   381,   382,   383,   384,     0,     0,   385,
8202      386,   387,   388,   389,     0,   390,   391,   392,     0,     0,
8203      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
8204      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
8205      413,   414,   415,     0,   416,   417,   418,   419,     0,   420,
8206      421,   422,   423,   424,   425,     0,   426,   427,  1907,     0,
8207      428,   429,   430,     0,     0,   431,   432,   433,   434,   435,
8208      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
8209      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
8210        0,   455,   456,   457,   458,   459,   460,   461,   462,   463,
8211      464,   465,   466,   467,   468,   469,     0,   470,   471,   472,
8212      473,   474,   475,   476,   477,   478,   479,   480,   481,     0,
8213      482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
8214      492,   493,   494,   495,   496,   497,   498,   499,     0,   500,
8215      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
8216      510,   511,   512,   513,   514,     0,   515,   516,   517,   518,
8217      519,   520,   521,   522,   523,   524,   525,   526,   527,     0,
8218      528,   529,     0,   530,   531,   532,   533,   534,   535,   536,
8219        0,   537,   538,   539,     0,     0,   540,   541,   542,   543,
8220      544,  1908,   545,   546,   547,   548,   549,   550,   551,     0,
8221        0,   552,   553,   554,   555,   556,     0,     0,   557,   558,
8222      559,   560,   561,   562,   563,     0,   564,   565,   566,   567,
8223      568,   569,     0,     0,   570,     0,     0,   571,   572,   573,
8224      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
8225      584,   585,   586,   587,   588,   589,   590,   862,  1489,   659,
8226        0,     0,     0,   720,  1490,  1491,     0,     0,     0,     0,
8227        0,     0,   228,   229,   230,   231,   232,   233,   234,   235,
8228        0,   236,   237,   238,     0,     0,     0,     0,     0,     0,
8229        0,   239,   240,     0,   241,   242,   243,   244,   245,   246,
8230      247,   248,   249,   250,   251,   252,     0,   253,   254,   255,
8231      256,   257,   258,     0,     0,   259,   260,   261,   262,   263,
8232        0,   264,   265,   266,   267,   268,     0,   269,     0,   270,
8233      271,   272,   273,   274,   275,   276,   277,   278,     0,   279,
8234      280,   281,   282,   283,   284,     0,   285,   286,   287,   288,
8235        0,     0,     0,   289,     0,     0,     0,   290,   291,   292,
8236      293,   294,   295,   296,   297,   298,     0,   299,     0,   300,
8237      301,   302,   303,   304,   305,     0,   306,   307,   308,   309,
8238        0,     0,   310,   311,   312,   313,   314,     0,   315,   316,
8239      317,     0,   318,   319,   320,     0,   321,   322,   323,   324,
8240      325,   326,   327,   328,   329,  1906,   330,     0,   331,   332,
8241      333,   334,     0,   335,     0,   336,   337,     0,   338,   339,
8242      340,   341,   342,     0,   343,   344,     0,   345,   346,   347,
8243        0,   348,   349,   350,   351,   352,   353,   354,   355,   356,
8244      357,     0,   358,   359,   360,   361,   362,   363,   364,     0,
8245      365,   366,   367,   368,   369,   370,   371,   372,   373,     0,
8246      374,     0,   375,   376,   377,   378,   379,   380,   381,   382,
8247      383,   384,     0,     0,   385,   386,   387,   388,   389,     0,
8248      390,   391,   392,     0,     0,   393,   394,   395,   396,   397,
8249      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
8250      408,   409,   410,   411,   412,   413,   414,   415,     0,   416,
8251      417,   418,   419,     0,   420,   421,   422,   423,   424,   425,
8252        0,   426,   427,  1907,     0,   428,   429,   430,     0,     0,
8253      431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
8254      441,   442,   443,   444,   445,   446,     0,   447,   448,   449,
8255      450,   451,   452,   453,   454,     0,   455,   456,   457,   458,
8256      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
8257      469,     0,   470,   471,   472,   473,   474,   475,   476,   477,
8258      478,   479,   480,   481,     0,   482,   483,   484,   485,   486,
8259      487,   488,   489,   490,   491,   492,   493,   494,   495,   496,
8260      497,   498,   499,     0,   500,   501,   502,   503,   504,     0,
8261      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
8262        0,   515,   516,   517,   518,   519,   520,   521,   522,   523,
8263      524,   525,   526,   527,     0,   528,   529,     0,   530,   531,
8264      532,   533,   534,   535,   536,     0,   537,   538,   539,     0,
8265        0,   540,   541,   542,   543,   544,  1908,   545,   546,   547,
8266      548,   549,   550,   551,     0,     0,   552,   553,   554,   555,
8267      556,     0,     0,   557,   558,   559,   560,   561,   562,   563,
8268        0,   564,   565,   566,   567,   568,   569,     0,     0,   570,
8269        0,     0,   571,   572,   573,   574,   575,   576,   577,   578,
8270      579,   580,   581,   582,   583,   584,   585,   586,   587,   588,
8271      589,   590,   862,     0,   659,     0,     0,     0,   720,  1490,
8272     1491,     0,     0,     0,     0,     0,     0,   228,   229,   230,
8273      231,   232,   233,   234,   235,     0,   236,   237,   238,     0,
8274        0,     0,     0,     0,     0,     0,   239,   240,     0,   241,
8275      242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
8276      252,     0,   253,   254,   255,   256,   257,   258,     0,     0,
8277      259,   260,   261,   262,   263,     0,   264,   265,   266,   267,
8278      268,     0,   269,     0,   270,   271,   272,   273,   274,   275,
8279      276,   277,   278,     0,   279,   280,   281,   282,   283,   284,
8280        0,   285,   286,   287,   288,     0,     0,     0,   289,     0,
8281        0,     0,   290,   291,   292,   293,   294,   295,   296,   297,
8282      298,  2939,   299,     0,   300,   301,   302,   303,   304,   305,
8283        0,   306,   307,   308,   309,     0,     0,   310,   311,   312,
8284      313,   314,     0,   315,   316,   317,     0,   318,   319,   320,
8285        0,   321,   322,   323,   324,   325,   326,   327,   328,   329,
8286     1906,   330,     0,   331,   332,   333,   334,     0,   335,     0,
8287      336,   337,     0,   338,   339,   340,   341,   342,     0,   343,
8288      344,     0,   345,   346,   347,     0,   348,   349,   350,   351,
8289      352,   353,   354,   355,   356,   357,     0,   358,   359,   360,
8290      361,   362,   363,   364,     0,   365,   366,   367,   368,   369,
8291      370,   371,   372,   373,     0,   374,     0,   375,   376,   377,
8292      378,   379,   380,   381,   382,   383,   384,     0,     0,   385,
8293      386,   387,   388,   389,     0,   390,   391,   392,     0,     0,
8294      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
8295      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
8296      413,   414,   415,     0,   416,   417,   418,   419,     0,   420,
8297      421,   422,   423,   424,   425,     0,   426,   427,  1907,     0,
8298      428,   429,   430,     0,     0,   431,   432,   433,   434,   435,
8299      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
8300      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
8301        0,   455,   456,   457,   458,   459,   460,   461,   462,   463,
8302      464,   465,   466,   467,   468,   469,     0,   470,   471,   472,
8303      473,   474,   475,   476,   477,   478,   479,   480,   481,     0,
8304      482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
8305      492,   493,   494,   495,   496,   497,   498,   499,     0,   500,
8306      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
8307      510,   511,   512,   513,   514,     0,   515,   516,   517,   518,
8308      519,   520,   521,   522,   523,   524,   525,   526,   527,     0,
8309      528,   529,     0,   530,   531,   532,   533,   534,   535,   536,
8310        0,   537,   538,   539,     0,     0,   540,   541,   542,   543,
8311      544,  1908,   545,   546,   547,   548,   549,   550,   551,     0,
8312        0,   552,   553,   554,   555,   556,     0,     0,   557,   558,
8313      559,   560,   561,   562,   563,     0,   564,   565,   566,   567,
8314      568,   569,     0,     0,   570,     0,     0,   571,   572,   573,
8315      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
8316      584,   585,   586,   587,   588,   589,   590,   598,     0,     0,
8317        0,     0,     0,   720,   732,   733,     0,     0,     0,     0,
8318        0,     0,   228,   721,   230,   231,   232,   233,   234,   235,
8319      722,   236,   237,   238,     0,     0,     0,     0,     0,     0,
8320        0,   239,   240,     0,   241,   242,   243,     0,   723,   246,
8321      247,   248,   249,     0,   251,   252,     0,   253,   254,   255,
8322      256,   257,   258,     0,     0,   259,   260,   261,   262,   263,
8323        0,   264,   265,   266,   267,   268,     0,     0,     0,   270,
8324      271,   272,   273,   274,     0,   276,   277,   278,     0,   279,
8325      280,   281,   282,   283,   284,     0,     0,   286,   287,   288,
8326        0,     0,     0,     0,     0,     0,     0,   290,   291,   292,
8327      293,   294,   295,   296,   297,   298,     0,   299,     0,   300,
8328      301,   302,   303,   304,   305,     0,   306,   307,   308,   309,
8329        0,     0,   310,   311,   312,   313,   314,     0,   315,   316,
8330      317,     0,   318,   319,   320,     0,   321,   322,   323,   324,
8331      325,   326,   327,   328,   329,     0,   330,     0,   331,   724,
8332      333,   334,     0,   335,     0,   725,     0,   726,     0,   339,
8333      340,   341,   342,     0,   343,   344,     0,   345,   346,   347,
8334        0,   348,   349,   350,   351,   352,     0,   354,   355,   356,
8335      357,   727,   358,   359,   360,   361,   362,   363,   364,     0,
8336      365,     0,   367,   368,   369,   370,   371,   372,   373,     0,
8337      374,     0,   375,     0,     0,   378,     0,   380,   381,   382,
8338      383,   728,     0,     0,   385,   386,     0,   388,     0,     0,
8339      390,   391,   392,     0,     0,   393,   394,   395,   396,   397,
8340      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
8341      408,   409,     0,   411,   412,   729,   414,   415,     0,   416,
8342      417,     0,   419,     0,   420,   421,   422,   423,   424,   425,
8343        0,   426,   427,     0,     0,   428,   429,   430,     0,     0,
8344      431,   432,   433,     0,   435,     0,   437,   438,   439,   440,
8345      441,   442,   443,   444,   445,   446,     0,   447,   448,   449,
8346      450,   451,   452,   453,   454,     0,   730,   456,   457,   458,
8347      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
8348      469,     0,   470,   471,   472,   731,   474,   475,   476,   477,
8349      478,   479,   480,   481,     0,   482,   483,     0,   485,   486,
8350      487,   488,   489,   490,   491,   492,   493,   494,   495,   496,
8351      497,   498,   499,     0,   500,   501,   502,   503,   504,     0,
8352      505,   506,   507,   508,   509,     0,   511,   512,   513,   514,
8353        0,   515,   516,   517,   518,   519,   520,   521,   522,   523,
8354      524,   525,   526,   527,     0,   528,   529,     0,   530,     0,
8355      532,   533,   534,   535,   536,     0,   537,   538,   539,     0,
8356        0,   540,   541,   542,   543,   544,     0,   545,   546,   547,
8357      548,   549,   550,   551,     0,     0,   552,   553,   554,   555,
8358      556,     0,     0,   557,   558,   559,   560,   561,   562,   563,
8359        0,   564,     0,   566,   567,   568,   569,     0,     0,   570,
8360        0,     0,   571,   572,   573,   574,   575,   576,   577,   578,
8361      579,   580,   581,   582,   583,   584,   585,   586,   587,   588,
8362      589,   590,  1619,  5427,   659,     0,     0,     0,   720,   732,
8363      733,     0,     0,     0,     0,     0,     0,   228,   229,   230,
8364      231,   232,   233,   234,   235,  1620,   236,   237,   238,  1621,
8365     1622,  1623,  1624,  1625,  1626,  1627,   239,   240,  1628,   241,
8366      242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
8367      252,  1629,   253,   254,   255,   256,   257,   258,  1630,  1631,
8368      259,   260,   261,   262,   263,  1632,   264,   265,   266,   267,
8369      268,  1633,   269,  1634,   270,   271,   272,   273,   274,   275,
8370      276,   277,   278,  1635,   279,   280,   281,   282,   283,   284,
8371     1636,   285,   286,   287,   288,  1637,  1638,  1639,   289,  1640,
8372     1641,  1642,   290,   291,   292,   293,   294,   295,   296,   297,
8373      298,  1643,   299,  1644,   300,   301,   302,   303,   304,   305,
8374     1645,   306,   307,   308,   309,  1646,  1647,   310,   311,   312,
8375      313,   314,  1648,   315,   316,   317,  1649,   318,   319,   320,
8376     1650,   321,   322,   323,   324,   325,   326,   327,   328,   329,
8377     1651,   330,  1652,   331,   332,   333,   334,  1653,   335,  1654,
8378      336,   337,  1655,   338,   339,   340,   341,   342,  1656,   343,
8379      344,  1657,   345,   346,   347,  1658,   348,   349,   350,   351,
8380      352,   353,   354,   355,   356,   357,  1659,   358,   359,   360,
8381      361,   362,   363,   364,  1660,   365,   366,   367,   368,   369,
8382      370,   371,   372,   373,  1661,   374,  1662,   375,   376,   377,
8383      378,   379,   380,   381,   382,   383,   384,  1663,  1664,   385,
8384      386,   387,   388,   389,  1665,   390,   391,   392,  1666,  1667,
8385      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
8386      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
8387      413,   414,   415,  1668,   416,   417,   418,   419,  1669,   420,
8388      421,   422,   423,   424,   425,  1670,   426,   427,  1671,  1672,
8389      428,   429,   430,  1673,  1674,   431,   432,   433,   434,   435,
8390      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
8391      446,  1675,   447,   448,   449,   450,   451,   452,   453,   454,
8392     1676,   455,   456,   457,   458,   459,   460,   461,   462,   463,
8393      464,   465,   466,   467,   468,   469,  1677,   470,   471,   472,
8394      473,   474,   475,   476,   477,   478,   479,   480,   481,  1678,
8395      482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
8396      492,   493,   494,   495,   496,   497,   498,   499,  1679,   500,
8397      501,   502,   503,   504,  1680,   505,   506,   507,   508,   509,
8398      510,   511,   512,   513,   514,  1681,   515,   516,   517,   518,
8399      519,   520,   521,   522,   523,   524,   525,   526,   527,  1682,
8400      528,   529,  1683,   530,   531,   532,   533,   534,   535,   536,
8401     1684,   537,   538,   539,  1685,  1686,   540,   541,   542,   543,
8402      544,  1687,   545,   546,   547,   548,   549,   550,   551,  1688,
8403     1689,   552,   553,   554,   555,   556,  1690,  1691,   557,   558,
8404      559,   560,   561,   562,   563,  1692,   564,   565,   566,   567,
8405      568,   569,  1693,  1694,   570,  1695,  1696,   571,   572,   573,
8406      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
8407      584,   585,   586,   587,   588,   589,   590,  1619,     0,     0,
8408        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
8409        0,     0,   228,   229,   230,   231,   232,   233,   234,   235,
8410     1620,   236,   237,   238,  1621,  1622,  1623,  1624,  1625,  1626,
8411     1627,   239,   240,  1628,   241,   242,   243,   244,   245,   246,
8412      247,   248,   249,   250,   251,   252,  1629,   253,   254,   255,
8413      256,   257,   258,  1630,  1631,   259,   260,   261,   262,   263,
8414     1632,   264,   265,   266,   267,   268,  1633,   269,  1634,   270,
8415      271,   272,   273,   274,   275,   276,   277,   278,  1635,   279,
8416      280,   281,   282,   283,   284,  1636,   285,   286,   287,   288,
8417     1637,  1638,  1639,   289,  1640,  1641,  1642,   290,   291,   292,
8418      293,   294,   295,   296,   297,   298,  1643,   299,  1644,   300,
8419      301,   302,   303,   304,   305,  1645,   306,   307,   308,   309,
8420     1646,  1647,   310,   311,   312,   313,   314,  1648,   315,   316,
8421      317,  1649,   318,   319,   320,  1650,   321,   322,   323,   324,
8422      325,   326,   327,   328,   329,  1651,   330,  1652,   331,   332,
8423      333,   334,  1653,   335,  1654,   336,   337,  1655,   338,   339,
8424      340,   341,   342,  1656,   343,   344,  1657,   345,   346,   347,
8425     1658,   348,   349,   350,   351,   352,   353,   354,   355,   356,
8426      357,  1659,   358,   359,   360,   361,   362,   363,   364,  1660,
8427      365,   366,   367,   368,   369,   370,   371,   372,   373,  1661,
8428      374,  1662,   375,   376,   377,   378,   379,   380,   381,   382,
8429      383,   384,  1663,  1664,   385,   386,   387,   388,   389,  1665,
8430      390,   391,   392,  1666,  1667,   393,   394,   395,   396,   397,
8431      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
8432      408,   409,   410,   411,   412,   413,   414,   415,  1668,   416,
8433      417,   418,   419,  1669,   420,   421,   422,   423,   424,   425,
8434     1670,   426,   427,  1671,  1672,   428,   429,   430,  1673,  1674,
8435      431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
8436      441,   442,   443,   444,   445,   446,  1675,   447,   448,   449,
8437      450,   451,   452,   453,   454,  1676,   455,   456,   457,   458,
8438      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
8439      469,  1677,   470,   471,   472,   473,   474,   475,   476,   477,
8440      478,   479,   480,   481,  1678,   482,   483,   484,   485,   486,
8441      487,   488,   489,   490,   491,   492,   493,   494,   495,   496,
8442      497,   498,   499,  1679,   500,   501,   502,   503,   504,  1680,
8443      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
8444     1681,   515,   516,   517,   518,   519,   520,   521,   522,   523,
8445      524,   525,   526,   527,  1682,   528,   529,  1683,   530,   531,
8446      532,   533,   534,   535,   536,  1684,   537,   538,   539,  1685,
8447     1686,   540,   541,   542,   543,   544,  1687,   545,   546,   547,
8448      548,   549,   550,   551,  1688,  1689,   552,   553,   554,   555,
8449      556,  1690,  1691,   557,   558,   559,   560,   561,   562,   563,
8450     1692,   564,   565,   566,   567,   568,   569,  1693,  1694,   570,
8451     1695,  1696,   571,   572,   573,   574,   575,   576,   577,   578,
8452      579,   580,   581,   582,   583,   584,   585,   586,   587,   588,
8453      589,   590,  1619,     0,     0,     0,     0,     0,     0,     0,
8454        0,     0,     0,     0,     0,     0,     0,   228,   229,   230,
8455      231,  3057,   233,   234,   235,  1620,   236,   237,   238,  1621,
8456     1622,  1623,  1624,  1625,  1626,  1627,   239,   240,  1628,   241,
8457      242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
8458      252,  1629,   253,   254,   255,   256,   257,   258,  1630,  1631,
8459      259,   260,   261,   262,   263,  1632,   264,   265,   266,   267,
8460      268,  1633,   269,  1634,   270,   271,   272,   273,   274,   275,
8461      276,   277,   278,  1635,   279,   280,   281,   282,   283,   284,
8462     1636,   285,   286,   287,   288,  1637,  1638,  1639,   289,  1640,
8463     1641,  1642,   290,   291,   292,   293,   294,   295,   296,   297,
8464      298,  1643,   299,  1644,   300,   301,   302,   303,   304,   305,
8465     1645,   306,   307,   308,   309,  1646,  1647,   310,   311,   312,
8466     3058,   314,  1648,   315,   316,   317,  1649,   318,   319,   320,
8467     1650,   321,   322,   323,   324,   325,   326,   327,   328,   329,
8468     1651,   330,  1652,   331,   332,   333,   334,  1653,   335,  1654,
8469      336,   337,  1655,   338,   339,   340,   341,   342,  1656,   343,
8470      344,  1657,   345,   346,   347,  1658,   348,   349,   350,   351,
8471      352,   353,   354,   355,   356,   357,  1659,   358,   359,   360,
8472      361,   362,   363,   364,  1660,   365,   366,   367,   368,   369,
8473      370,   371,   372,   373,  1661,   374,  1662,   375,   376,   377,
8474      378,   379,   380,   381,   382,   383,   384,  1663,  1664,   385,
8475      386,   387,   388,   389,  1665,   390,   391,   392,  1666,  1667,
8476      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
8477      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
8478      413,   414,   415,  1668,   416,   417,   418,   419,  1669,   420,
8479      421,   422,   423,   424,   425,  1670,   426,   427,  1671,  1672,
8480      428,   429,   430,  1673,  1674,   431,   432,   433,   434,   435,
8481      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
8482      446,  1675,   447,   448,   449,   450,   451,   452,   453,   454,
8483     1676,   455,   456,   457,   458,   459,   460,   461,   462,   463,
8484      464,   465,   466,   467,   468,   469,  1677,   470,   471,   472,
8485      473,   474,   475,   476,   477,   478,   479,   480,   481,  1678,
8486      482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
8487      492,   493,   494,   495,   496,   497,   498,   499,  1679,   500,
8488      501,   502,   503,   504,  1680,  3059,   506,   507,   508,   509,
8489      510,   511,   512,   513,   514,  1681,   515,   516,   517,   518,
8490      519,   520,   521,   522,   523,   524,   525,   526,   527,  1682,
8491      528,   529,  1683,   530,   531,   532,   533,   534,   535,   536,
8492     1684,   537,   538,   539,  1685,  1686,   540,   541,   542,   543,
8493      544,  1687,   545,   546,   547,   548,   549,   550,   551,  1688,
8494     1689,   552,   553,   554,   555,   556,  1690,  1691,   557,   558,
8495      559,   560,   561,   562,   563,  1692,   564,   565,   566,   567,
8496      568,   569,  1693,  1694,   570,  1695,  1696,   571,   572,   573,
8497      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
8498      584,   585,   586,   587,   588,   589,   590,   227,     0,     0,
8499        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
8500        0,     0,   228,   229,   230,   231,   232,   233,   234,   235,
8501        0,   236,   237,   238,     0,     0,     0,     0,     0,     0,
8502        0,   239,   240,     0,   241,   242,   243,   244,   245,   246,
8503      247,   248,   249,   250,   251,   252,     0,   253,   254,   255,
8504      256,   257,   258,     0,  1217,   259,   260,   261,   262,   263,
8505        0,   264,   265,   266,   267,  1220,     0,  1221,     0,   270,
8506      271,   272,   273,   274,   275,   276,   277,   278,     0,   279,
8507      280,   281,   282,   283,   284,     0,   285,   286,   287,   288,
8508     1222,  1223,  1224,  1225,  1226,  1227,  1228,   290,   291,   292,
8509      293,   294,   295,   296,   297,   298,     0,   299,     0,   300,
8510      301,   302,   303,   304,   305,     0,   306,   307,   308,   309,
8511        0,     0,   310,   311,   312,   313,   314,     0,   315,   316,
8512      317,     0,   318,   319,   320,     0,   321,   322,   323,   324,
8513      325,   326,   327,   328,  1233,     0,   330,     0,   331,   332,
8514      333,   334,     0,   335,     0,   336,   337,     0,   338,   339,
8515      340,   341,   342,     0,   343,  1236,     0,   345,   346,   347,
8516        0,   348,   349,   350,   351,   352,   353,   354,   355,   356,
8517      357,     0,   358,   359,   360,   361,   362,   363,   364,     0,
8518      365,   366,   367,   368,   369,   370,   371,   372,   373,     0,
8519      374,     0,   375,   376,   377,   378,   379,   380,   381,   382,
8520      383,   384,     0,     0,   385,  1241,   387,   388,   389,     0,
8521      390,   391,   392,  1242,  1243,   393,   394,   395,   396,   397,
8522      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
8523      408,   409,   410,   411,   412,   413,   414,   415,     0,   416,
8524      417,   418,   419,     0,  1248,   421,   422,   423,   424,   425,
8525        0,   426,   427,     0,     0,   428,   429,   430,     0,     0,
8526      431,   432,   433,   434,   435,   436,  1251,   438,   439,   440,
8527      441,   442,   443,   444,   445,   446,     0,   447,   448,  1252,
8528      450,   451,   452,   453,   454,     0,   455,   456,   457,   458,
8529      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
8530      469,     0,   470,   471,   472,   473,   474,   475,   476,   477,
8531      478,   479,   480,   481,     0,   482,   483,   484,   485,   486,
8532      487,   488,   489,   490,   491,   492,   493,   494,   495,   496,
8533      497,   498,   499,     0,   500,   501,   502,   503,   504,  1255,
8534      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
8535        0,   515,   516,   517,   518,   519,   520,   521,   522,   523,
8536      524,   525,   526,  1257,     0,   528,   529,     0,   530,   531,
8537      532,   533,   534,   535,   536,     0,   537,   538,   539,     0,
8538        0,   540,   541,  1260,   543,  1261,     0,   545,   546,   547,
8539      548,   549,   550,   551,     0,     0,   552,   553,   554,   555,
8540      556,  1264,     0,   557,   558,   559,   560,   561,   562,   563,
8541        0,   564,   565,   566,   567,   568,   569,     0,     0,   570,
8542        0,     0,   571,   572,   573,   574,   575,   576,   577,  1266,
8543     1267,  1268,  1269,   582,  1270,  1271,  1272,  1273,   587,   588,
8544      589,   590,   862,     0,   659,     0,     0,     0,     0,     0,
8545        0,     0,     0,     0,     0,     0,     0,   228,   229,   230,
8546      231,   232,   233,   234,   235,     0,   236,   237,   238,     0,
8547        0,     0,     0,     0,     0,     0,   239,   240,     0,   241,
8548      242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
8549      252,     0,   253,   254,   255,   256,   257,   258,     0,     0,
8550      259,   260,   261,   262,   263,     0,   264,   265,   266,   267,
8551      268,     0,   269,     0,   270,   271,   272,   273,   274,   275,
8552      276,   277,   278,     0,   279,   280,   281,   282,   283,   284,
8553        0,   285,   286,   287,   288,     0,     0,     0,   289,     0,
8554        0,     0,   290,   291,   292,   293,   294,   295,   296,   297,
8555      298,     0,   299,     0,   300,   301,   302,   303,   304,   305,
8556        0,   306,   307,   308,   309,     0,     0,   310,   311,   312,
8557      313,   314,     0,   315,   316,   317,     0,   318,   319,   320,
8558        0,   321,   322,   323,   324,   325,   326,   327,   328,   329,
8559     1906,   330,     0,   331,   332,   333,   334,     0,   335,     0,
8560      336,   337,     0,   338,   339,   340,   341,   342,     0,   343,
8561      344,     0,   345,   346,   347,     0,   348,   349,   350,   351,
8562      352,   353,   354,   355,   356,   357,     0,   358,   359,   360,
8563      361,   362,   363,   364,     0,   365,   366,   367,   368,   369,
8564      370,   371,   372,   373,     0,   374,     0,   375,   376,   377,
8565      378,   379,   380,   381,   382,   383,   384,     0,     0,   385,
8566      386,   387,   388,   389,     0,   390,   391,   392,     0,     0,
8567      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
8568      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
8569      413,   414,   415,     0,   416,   417,   418,   419,     0,   420,
8570      421,   422,   423,   424,   425,     0,   426,   427,  1907,     0,
8571      428,   429,   430,     0,     0,   431,   432,   433,   434,   435,
8572      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
8573      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
8574        0,   455,   456,   457,   458,   459,   460,   461,   462,   463,
8575      464,   465,   466,   467,   468,   469,     0,   470,   471,   472,
8576      473,   474,   475,   476,   477,   478,   479,   480,   481,     0,
8577      482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
8578      492,   493,   494,   495,   496,   497,   498,   499,     0,   500,
8579      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
8580      510,   511,   512,   513,   514,     0,   515,   516,   517,   518,
8581      519,   520,   521,   522,   523,   524,   525,   526,   527,     0,
8582      528,   529,     0,   530,   531,   532,   533,   534,   535,   536,
8583        0,   537,   538,   539,     0,     0,   540,   541,   542,   543,
8584      544,  1908,   545,   546,   547,   548,   549,   550,   551,     0,
8585        0,   552,   553,   554,   555,   556,     0,     0,   557,   558,
8586      559,   560,   561,   562,   563,     0,   564,   565,   566,   567,
8587      568,   569,     0,     0,   570,     0,     0,   571,   572,   573,
8588      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
8589      584,   585,   586,   587,   588,   589,   590,   862,     0,     0,
8590        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
8591        0,     0,   228,   229,   230,   231,   232,   233,   234,   235,
8592      900,   236,   237,   238,     0,     0,     0,     0,     0,     0,
8593        0,   239,   240,     0,   241,   242,   243,   244,   245,   246,
8594      247,   248,   249,   250,   251,   252,     0,   253,   254,   255,
8595      256,   257,   258,     0,     0,   259,   260,   261,   262,   263,
8596        0,   264,   265,   266,   267,   268,     0,   269,     0,   270,
8597      271,   272,   273,   274,   275,   276,   277,   278,     0,   279,
8598      280,   281,   282,   283,   284,     0,   285,   286,   287,   288,
8599        0,     0,     0,   289,     0,     0,   863,   290,   291,   292,
8600      293,   294,   295,   296,   297,   298,     0,   299,     0,   300,
8601      301,   302,   303,   304,   305,     0,   306,   307,   308,   309,
8602        0,     0,   310,   311,   312,   313,   314,     0,   315,   316,
8603      317,     0,   318,   319,   320,     0,   321,   322,   323,   324,
8604      325,   326,   327,   328,   329,     0,   330,     0,   331,   332,
8605      333,   334,     0,   335,     0,   336,   337,     0,   338,   339,
8606      340,   341,   342,     0,   343,   344,     0,   345,   346,   347,
8607        0,   348,   349,   350,   351,   352,   353,   354,   355,   356,
8608      357,     0,   358,   359,   360,   361,   362,   363,   364,     0,
8609      365,   366,   367,   368,   369,   370,   371,   372,   373,     0,
8610      374,     0,   375,   376,   377,   378,   379,   380,   381,   382,
8611      383,   384,     0,     0,   385,   386,   387,   388,   389,     0,
8612      390,   391,   392,     0,     0,   393,   394,   395,   396,   397,
8613      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
8614      408,   409,   410,   411,   412,   413,   414,   415,     0,   416,
8615      417,   418,   419,     0,   420,   421,   422,   423,   424,   425,
8616        0,   426,   427,     0,     0,   428,   429,   430,     0,     0,
8617      431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
8618      441,   442,   443,   444,   445,   446,     0,   447,   448,   449,
8619      450,   451,   452,   453,   454,     0,   455,   456,   457,   458,
8620      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
8621      469,     0,   470,   471,   472,   473,   474,   475,   476,   477,
8622      478,   479,   480,   481,     0,   482,   483,   484,   485,   486,
8623      487,   488,   489,   490,   491,   492,   493,   494,   495,   496,
8624      497,   498,   499,     0,   500,   501,   502,   503,   504,   864,
8625      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
8626        0,   515,   516,   517,   518,   519,   520,   521,   522,   523,
8627      524,   525,   526,   527,     0,   528,   529,     0,   530,   531,
8628      532,   533,   534,   535,   536,     0,   537,   538,   539,     0,
8629        0,   540,   541,   542,   543,   544,     0,   545,   546,   547,
8630      548,   549,   550,   551,     0,     0,   552,   553,   554,   555,
8631      556,     0,     0,   557,   558,   559,   560,   561,   562,   563,
8632        0,   564,   565,   566,   567,   568,   569,     0,     0,   570,
8633        0,     0,   571,   572,   573,   574,   575,   576,   577,   578,
8634      579,   580,   581,   582,   583,   584,   585,   586,   587,   588,
8635      589,   590,   862,     0,     0,     0,     0,     0,     0,     0,
8636        0,     0,     0,     0,     0,     0,     0,   228,   229,   230,
8637      231,   232,   233,   234,   235,   920,   236,   237,   238,     0,
8638        0,     0,     0,     0,     0,     0,   239,   240,     0,   241,
8639      242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
8640      252,     0,   253,   254,   255,   256,   257,   258,     0,     0,
8641      259,   260,   261,   262,   263,     0,   264,   265,   266,   267,
8642      268,     0,   269,     0,   270,   271,   272,   273,   274,   275,
8643      276,   277,   278,     0,   279,   280,   281,   282,   283,   284,
8644        0,   285,   286,   287,   288,     0,     0,     0,   289,     0,
8645        0,   863,   290,   291,   292,   293,   294,   295,   296,   297,
8646      298,     0,   299,     0,   300,   301,   302,   303,   304,   305,
8647        0,   306,   307,   308,   309,     0,     0,   310,   311,   312,
8648      313,   314,     0,   315,   316,   317,     0,   318,   319,   320,
8649        0,   321,   322,   323,   324,   325,   326,   327,   328,   329,
8650        0,   330,     0,   331,   332,   333,   334,     0,   335,     0,
8651      336,   337,     0,   338,   339,   340,   341,   342,     0,   343,
8652      344,     0,   345,   346,   347,     0,   348,   349,   350,   351,
8653      352,   353,   354,   355,   356,   357,     0,   358,   359,   360,
8654      361,   362,   363,   364,     0,   365,   366,   367,   368,   369,
8655      370,   371,   372,   373,     0,   374,     0,   375,   376,   377,
8656      378,   379,   380,   381,   382,   383,   384,     0,     0,   385,
8657      386,   387,   388,   389,     0,   390,   391,   392,     0,     0,
8658      393,   394,   395,   396,   921,   398,   399,   400,   401,   402,
8659      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
8660      413,   414,   415,     0,   416,   417,   418,   419,     0,   420,
8661      421,   422,   423,   424,   425,     0,   426,   427,     0,     0,
8662      428,   429,   430,     0,     0,   431,   432,   433,   434,   435,
8663      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
8664      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
8665        0,   455,   456,   457,   458,   459,   460,   461,   462,   463,
8666      464,   465,   466,   467,   468,   469,     0,   470,   471,   472,
8667      473,   474,   475,   476,   477,   478,   479,   480,   481,     0,
8668      482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
8669      492,   493,   494,   495,   496,   497,   498,   499,     0,   500,
8670      501,   502,   503,   504,   864,   505,   506,   507,   508,   509,
8671      510,   511,   512,   513,   514,     0,   515,   516,   517,   518,
8672      519,   520,   521,   522,   523,   524,   525,   526,   527,     0,
8673      528,   529,     0,   530,   531,   532,   533,   534,   535,   536,
8674        0,   537,   538,   539,     0,     0,   540,   541,   542,   543,
8675      544,     0,   545,   546,   547,   548,   549,   550,   551,     0,
8676        0,   552,   553,   554,   555,   556,     0,     0,   557,   558,
8677      559,   560,   561,   562,   563,     0,   564,   565,   566,   567,
8678      568,   569,     0,     0,   570,     0,     0,   571,   572,   573,
8679      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
8680      584,   585,   586,   587,   588,   589,   590,   862,     0,     0,
8681        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
8682        0,     0,   228,   229,   230,   231,   232,   233,   234,   235,
8683        0,   236,   237,   238,     0,     0,     0,     0,     0,     0,
8684        0,   239,   240,     0,   241,   242,   243,   244,   245,   246,
8685      247,   248,   249,   250,   251,   252,     0,   253,   254,   255,
8686      256,   257,   258,     0,     0,   259,   260,   261,   262,   263,
8687        0,   264,   265,   266,   267,   268,     0,   269,     0,   270,
8688      271,   272,   273,   274,   275,   276,   277,   278,     0,   279,
8689      280,   281,   282,   283,   284,     0,   285,   286,   287,   288,
8690        0,     0,     0,   289,     0,     0,   863,   290,   291,   292,
8691      293,   294,   295,   296,   297,   298,     0,   299,     0,   300,
8692      301,   302,   303,   304,   305,     0,   306,   307,   308,   309,
8693        0,     0,   310,   311,   312,   313,   314,     0,   315,   316,
8694      317,     0,   318,   319,   320,     0,   321,   322,   323,   324,
8695      325,   326,   327,   328,   329,     0,   330,     0,   331,   332,
8696      333,   334,     0,   335,     0,   336,   337,     0,   338,   339,
8697      340,   341,   342,     0,   343,   344,     0,   345,   346,   347,
8698        0,   348,   349,   350,   351,   352,   353,   354,   355,   356,
8699      357,     0,   358,   359,   360,   361,   362,   363,   364,     0,
8700      365,   366,   367,   368,   369,   370,   371,   372,   373,     0,
8701      374,     0,   375,   376,   377,   378,   379,   380,   381,   382,
8702      383,   384,     0,     0,   385,   386,   387,   388,   389,     0,
8703      390,   391,   392,     0,     0,   393,   394,   395,   396,   397,
8704      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
8705      408,   409,   410,   411,   412,   413,   414,   415,     0,   416,
8706      417,   418,   419,     0,   420,   421,   422,   423,   424,   425,
8707        0,   426,   427,     0,     0,   428,   429,   430,     0,     0,
8708      431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
8709      441,   442,   443,   444,   445,   446,     0,   447,   448,   449,
8710      450,   451,   452,   453,   454,     0,   455,   456,   457,   458,
8711      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
8712      469,     0,   470,   471,   472,   473,   474,   475,   476,   477,
8713      478,   479,   480,   481,     0,   482,   483,   484,   485,   486,
8714      487,   488,   489,   490,   491,   492,   493,   494,   495,   496,
8715      497,   498,   499,     0,   500,   501,   502,   503,   504,   864,
8716      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
8717        0,   515,   516,   517,   518,   519,   520,   521,   522,   523,
8718      524,   525,   526,   527,     0,   528,   529,     0,   530,   531,
8719      532,   533,   534,   535,   536,     0,   537,   538,   539,     0,
8720        0,   540,   541,   542,   543,   544,     0,   545,   546,   547,
8721      548,   549,   550,   551,     0,     0,   552,   553,   554,   555,
8722      556,  2418,     0,   557,   558,   559,   560,   561,   562,   563,
8723        0,   564,   565,   566,   567,   568,   569,     0,     0,   570,
8724        0,     0,   571,   572,   573,   574,   575,   576,   577,   578,
8725      579,   580,   581,   582,   583,   584,   585,   586,   587,   588,
8726      589,   590,   862,     0,     0,     0,     0,     0,     0,     0,
8727        0,     0,     0,     0,     0,     0,     0,   228,   229,   230,
8728      231,   232,   233,   234,   235,     0,   236,   237,   238,     0,
8729        0,     0,     0,     0,     0,     0,   239,   240,     0,   241,
8730      242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
8731      252,     0,   253,   254,   255,   256,   257,   258,     0,     0,
8732      259,   260,   261,   262,   263,     0,   264,   265,   266,   267,
8733      268,     0,   269,     0,   270,   271,   272,   273,   274,   275,
8734      276,   277,   278,     0,   279,   280,   281,   282,   283,   284,
8735        0,   285,   286,   287,   288,     0,     0,     0,   289,     0,
8736        0,   863,   290,   291,   292,   293,   294,   295,   296,   297,
8737      298,     0,   299,     0,   300,   301,   302,   303,   304,   305,
8738        0,   306,   307,   308,   309,     0,     0,   310,   311,   312,
8739      313,   314,     0,   315,   316,   317,     0,   318,   319,   320,
8740        0,   321,   322,   323,   324,   325,   326,   327,   328,   329,
8741        0,   330,     0,   331,   332,   333,   334,     0,   335,     0,
8742      336,   337,     0,   338,   339,   340,   341,   342,     0,   343,
8743      344,  3409,   345,   346,   347,     0,   348,   349,   350,   351,
8744      352,   353,   354,   355,   356,   357,     0,   358,   359,   360,
8745      361,   362,   363,   364,     0,   365,   366,   367,   368,   369,
8746      370,   371,   372,   373,     0,   374,     0,   375,   376,   377,
8747      378,   379,   380,   381,   382,   383,   384,     0,     0,   385,
8748      386,   387,   388,   389,     0,   390,   391,   392,     0,     0,
8749      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
8750      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
8751      413,   414,   415,     0,   416,   417,   418,   419,     0,   420,
8752      421,   422,   423,   424,   425,     0,   426,   427,     0,     0,
8753      428,   429,   430,     0,     0,   431,   432,   433,   434,   435,
8754      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
8755      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
8756        0,   455,   456,   457,   458,   459,   460,   461,   462,   463,
8757      464,   465,   466,   467,   468,   469,     0,   470,   471,   472,
8758      473,   474,   475,   476,   477,   478,   479,   480,   481,     0,
8759      482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
8760      492,   493,   494,   495,   496,   497,   498,   499,     0,   500,
8761      501,   502,   503,   504,   864,   505,   506,   507,   508,   509,
8762      510,   511,   512,   513,   514,     0,   515,   516,   517,   518,
8763      519,   520,   521,   522,   523,   524,   525,   526,   527,     0,
8764      528,   529,     0,   530,   531,   532,   533,   534,   535,   536,
8765        0,   537,   538,   539,     0,     0,   540,   541,   542,   543,
8766      544,     0,   545,   546,   547,   548,   549,   550,   551,     0,
8767        0,   552,   553,   554,   555,   556,     0,     0,   557,   558,
8768      559,   560,   561,   562,   563,     0,   564,   565,   566,   567,
8769      568,   569,     0,     0,   570,     0,     0,   571,   572,   573,
8770      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
8771      584,   585,   586,   587,   588,   589,   590,   862,     0,     0,
8772        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
8773        0,     0,   228,   229,   230,   231,   232,   233,   234,   235,
8774        0,   236,   237,   238,     0,     0,     0,     0,     0,     0,
8775        0,   239,   240,     0,   241,   242,   243,   244,   245,   246,
8776      247,   248,   249,   250,   251,   252,     0,   253,   254,   255,
8777      256,   257,   258,     0,     0,   259,   260,   261,   262,   263,
8778        0,   264,   265,   266,   267,   268,     0,   269,     0,   270,
8779      271,   272,   273,   274,   275,   276,   277,   278,     0,   279,
8780      280,   281,   282,   283,   284,     0,   285,   286,   287,   288,
8781        0,     0,     0,   289,     0,     0,   863,   290,   291,   292,
8782      293,   294,   295,   296,   297,   298,     0,   299,     0,   300,
8783      301,   302,   303,   304,   305,     0,   306,   307,   308,   309,
8784        0,     0,   310,   311,   312,   313,   314,     0,   315,   316,
8785      317,     0,   318,   319,   320,     0,   321,   322,   323,   324,
8786      325,   326,   327,   328,   329,     0,   330,     0,   331,   332,
8787      333,   334,     0,   335,     0,   336,   337,     0,   338,   339,
8788      340,   341,   342,     0,   343,   344,     0,   345,   346,   347,
8789        0,   348,   349,   350,   351,   352,   353,   354,   355,   356,
8790      357,     0,   358,   359,   360,   361,   362,   363,   364,     0,
8791      365,   366,   367,   368,   369,   370,   371,   372,   373,     0,
8792      374,     0,   375,   376,   377,   378,   379,   380,   381,   382,
8793      383,   384,     0,     0,   385,   386,   387,   388,   389,     0,
8794      390,   391,   392,     0,     0,   393,   394,   395,   396,   397,
8795      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
8796      408,   409,   410,   411,   412,   413,   414,   415,     0,   416,
8797      417,   418,   419,     0,   420,   421,   422,   423,   424,   425,
8798        0,   426,   427,     0,     0,   428,   429,   430,     0,     0,
8799      431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
8800      441,   442,   443,   444,   445,   446,     0,   447,   448,   449,
8801      450,   451,   452,   453,   454,     0,   455,   456,   457,   458,
8802      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
8803      469,     0,   470,   471,   472,   473,   474,   475,   476,   477,
8804      478,   479,   480,   481,     0,   482,   483,   484,   485,   486,
8805      487,   488,   489,   490,   491,   492,   493,   494,   495,   496,
8806      497,   498,   499,     0,   500,   501,   502,   503,   504,   864,
8807      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
8808        0,   515,   516,   517,   518,   519,   520,   521,   522,   523,
8809      524,   525,   526,   527,     0,   528,   529,     0,   530,   531,
8810      532,   533,   534,   535,   536,     0,   537,   538,   539,     0,
8811        0,   540,   541,   542,   543,   544,     0,   545,   546,   547,
8812      548,   549,   550,   551,     0,     0,   552,   553,   554,   555,
8813      556,     0,     0,   557,   558,   559,   560,   561,   562,   563,
8814        0,   564,   565,   566,   567,   568,   569,     0,     0,   570,
8815        0,     0,   571,   572,   573,   574,   575,   576,   577,   578,
8816      579,   580,   581,   582,   583,   584,   585,   586,   587,   588,
8817      589,   590,   862,     0,     0,     0,     0,     0,     0,     0,
8818        0,     0,     0,     0,     0,     0,     0,   228,   229,   230,
8819      231,   232,   233,   234,   235,     0,   236,   237,   238,     0,
8820        0,     0,     0,     0,     0,     0,   239,   240,     0,   241,
8821      242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
8822      252,     0,   253,   254,   255,   256,   257,   258,     0,     0,
8823      259,   260,   261,   262,   263,     0,   264,   265,   266,   267,
8824      268,     0,   269,     0,   270,   271,   272,   273,   274,   275,
8825      276,   277,   278,     0,   279,   280,   281,   282,   283,   284,
8826        0,   285,   286,   287,   288,     0,     0,     0,   289,     0,
8827        0,   863,   290,   291,   292,   293,   294,   295,   296,   297,
8828      298,     0,   299,     0,   300,   301,   302,   303,   304,   305,
8829        0,   306,   307,   308,   309,     0,     0,   310,   311,   312,
8830      313,   314,     0,   315,   316,   317,     0,   318,   319,   320,
8831        0,   321,   322,   323,   324,   325,   326,   327,   328,   329,
8832        0,   330,     0,   331,   332,   333,   334,     0,   335,     0,
8833      336,   337,     0,   338,   339,   340,   341,   342,     0,   343,
8834      344,     0,   345,   346,   347,     0,   348,   349,   350,   351,
8835      352,   353,   354,   355,   356,   357,     0,   358,   359,   360,
8836      361,   362,   363,   364,     0,   365,   366,   367,   368,   369,
8837      370,   371,   372,   373,     0,   374,     0,   375,   376,   377,
8838      378,   379,   380,   381,   382,   383,   384,     0,     0,   385,
8839      386,   387,   388,   389,     0,   390,   391,   392,     0,     0,
8840      393,   394,   395,   396,  1026,   398,   399,   400,   401,   402,
8841      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
8842      413,   414,   415,     0,   416,   417,   418,   419,     0,   420,
8843      421,   422,   423,   424,   425,     0,   426,   427,     0,     0,
8844      428,   429,   430,     0,     0,   431,   432,   433,   434,   435,
8845      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
8846      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
8847        0,   455,   456,   457,   458,   459,   460,   461,   462,   463,
8848      464,   465,   466,   467,   468,   469,     0,   470,   471,   472,
8849      473,   474,   475,   476,   477,   478,   479,   480,   481,     0,
8850      482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
8851      492,   493,   494,   495,   496,   497,   498,   499,     0,   500,
8852      501,   502,   503,   504,   864,   505,   506,   507,   508,   509,
8853      510,   511,   512,   513,   514,     0,   515,   516,   517,   518,
8854      519,   520,   521,   522,   523,   524,   525,   526,   527,     0,
8855      528,   529,     0,   530,   531,   532,   533,   534,   535,   536,
8856        0,   537,   538,   539,     0,     0,   540,   541,   542,   543,
8857      544,     0,   545,   546,   547,   548,   549,   550,   551,     0,
8858        0,   552,   553,   554,   555,   556,     0,     0,   557,   558,
8859      559,   560,   561,   562,   563,     0,   564,   565,   566,   567,
8860      568,   569,     0,     0,   570,     0,     0,   571,   572,   573,
8861      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
8862      584,   585,   586,   587,   588,   589,   590,   862,     0,     0,
8863        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
8864        0,     0,   228,   229,   230,   231,   232,   233,   234,   235,
8865        0,   236,   237,   238,     0,     0,     0,     0,     0,     0,
8866        0,   239,   240,     0,   241,   242,   243,   244,   245,   246,
8867      247,   248,   249,   250,   251,   252,     0,   253,   254,   255,
8868      256,   257,   258,     0,     0,   259,   260,   261,   262,   263,
8869        0,   264,   265,   266,   267,   268,     0,   269,     0,   270,
8870      271,   272,   273,   274,   275,   276,   277,   278,     0,   279,
8871      280,   281,   282,   283,   284,     0,   285,   286,   287,   288,
8872        0,     0,     0,   289,     0,     0,   863,   290,   291,   292,
8873      293,   294,   295,   296,   297,   298,     0,   299,     0,   300,
8874      301,   302,   303,   304,   305,     0,   306,   307,   308,   309,
8875        0,     0,   310,   311,   312,   313,   314,     0,   315,   316,
8876      317,     0,   318,   319,   320,     0,   321,   322,   323,   324,
8877      325,   326,   327,   328,   329,     0,   330,     0,   331,   332,
8878      333,   334,     0,   335,     0,   336,   337,     0,   338,   339,
8879      340,   341,   342,     0,   343,   344,     0,   345,   346,   347,
8880        0,   348,   349,   350,   351,  1102,   353,   354,   355,   356,
8881      357,     0,   358,   359,   360,   361,   362,   363,   364,     0,
8882      365,   366,   367,   368,   369,   370,   371,   372,   373,     0,
8883      374,     0,   375,   376,   377,   378,   379,   380,   381,   382,
8884      383,   384,     0,     0,   385,   386,   387,   388,   389,     0,
8885      390,   391,   392,     0,     0,   393,   394,   395,   396,   397,
8886      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
8887      408,   409,   410,   411,   412,   413,   414,   415,     0,   416,
8888      417,   418,   419,     0,   420,   421,   422,   423,   424,   425,
8889        0,   426,   427,     0,     0,   428,   429,   430,     0,     0,
8890      431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
8891      441,   442,   443,   444,   445,   446,     0,   447,   448,   449,
8892      450,   451,   452,   453,   454,     0,   455,   456,   457,   458,
8893      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
8894      469,     0,   470,   471,   472,   473,   474,   475,   476,   477,
8895      478,   479,   480,   481,     0,   482,   483,   484,   485,   486,
8896      487,   488,   489,   490,   491,   492,   493,   494,   495,   496,
8897      497,   498,   499,     0,   500,   501,   502,   503,   504,   864,
8898      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
8899        0,   515,   516,   517,   518,   519,   520,   521,   522,   523,
8900      524,   525,   526,   527,     0,   528,   529,     0,   530,   531,
8901      532,   533,   534,   535,   536,     0,   537,   538,   539,     0,
8902        0,   540,   541,   542,   543,   544,     0,   545,   546,   547,
8903      548,   549,   550,   551,     0,     0,   552,   553,   554,   555,
8904      556,     0,     0,   557,   558,   559,   560,   561,   562,   563,
8905        0,   564,   565,   566,   567,   568,   569,     0,     0,   570,
8906        0,     0,   571,   572,   573,   574,   575,   576,   577,   578,
8907      579,   580,   581,   582,   583,   584,   585,   586,   587,   588,
8908      589,   590,   862,     0,     0,     0,     0,     0,     0,     0,
8909        0,     0,     0,     0,     0,     0,     0,   228,   229,   230,
8910      231,   232,   233,   234,   235,     0,   236,   237,   238,     0,
8911        0,     0,     0,     0,     0,     0,   239,   240,     0,   241,
8912      242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
8913      252,     0,   253,   254,   255,   256,   257,   258,     0,     0,
8914      259,   260,   261,   262,   263,     0,   264,   265,   266,   267,
8915      268,     0,   269,     0,   270,   271,   272,   273,   274,   275,
8916      276,   277,   278,     0,   279,   280,   281,   282,   283,   284,
8917        0,   285,   286,   287,   288,     0,     0,     0,   289,     0,
8918        0,   863,   290,   291,   292,   293,   294,   295,   296,   297,
8919      298,     0,   299,     0,   300,   301,   302,   303,   304,   305,
8920        0,   306,   307,   308,   309,     0,     0,   310,   311,   312,
8921      313,   314,     0,   315,   316,   317,     0,   318,   319,   320,
8922        0,   321,   322,   323,   324,   325,   326,   327,   328,   329,
8923        0,   330,     0,   331,   332,   333,   334,     0,   335,     0,
8924      336,   337,     0,   338,   339,   340,   341,   342,     0,   343,
8925      344,     0,   345,   346,   347,     0,   348,   349,   350,   351,
8926     1115,   353,   354,   355,   356,   357,     0,   358,   359,   360,
8927      361,   362,   363,   364,     0,   365,   366,   367,   368,   369,
8928      370,   371,   372,   373,     0,   374,     0,   375,   376,   377,
8929      378,   379,   380,   381,   382,   383,   384,     0,     0,   385,
8930      386,   387,   388,   389,     0,   390,   391,   392,     0,     0,
8931      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
8932      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
8933      413,   414,   415,     0,   416,   417,   418,   419,     0,   420,
8934      421,   422,   423,   424,   425,     0,   426,   427,     0,     0,
8935      428,   429,   430,     0,     0,   431,   432,   433,   434,   435,
8936      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
8937      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
8938        0,   455,   456,   457,   458,   459,   460,   461,   462,   463,
8939      464,   465,   466,   467,   468,   469,     0,   470,   471,   472,
8940      473,   474,   475,   476,   477,   478,   479,   480,   481,     0,
8941      482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
8942      492,   493,   494,   495,   496,   497,   498,   499,     0,   500,
8943      501,   502,   503,   504,   864,   505,   506,   507,   508,   509,
8944      510,   511,   512,   513,   514,     0,   515,   516,   517,   518,
8945      519,   520,   521,   522,   523,   524,   525,   526,   527,     0,
8946      528,   529,     0,   530,   531,   532,   533,   534,   535,   536,
8947        0,   537,   538,   539,     0,     0,   540,   541,   542,   543,
8948      544,     0,   545,   546,   547,   548,   549,   550,   551,     0,
8949        0,   552,   553,   554,   555,   556,     0,     0,   557,   558,
8950      559,   560,   561,   562,   563,     0,   564,   565,   566,   567,
8951      568,   569,     0,     0,   570,     0,     0,   571,   572,   573,
8952      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
8953      584,   585,   586,   587,   588,   589,   590,   862,     0,     0,
8954        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
8955        0,     0,   228,   229,   230,   231,   232,   233,   234,   235,
8956        0,   236,   237,   238,     0,     0,     0,     0,     0,     0,
8957        0,   239,   240,     0,   241,   242,   243,   244,   245,   246,
8958      247,   248,   249,   250,   251,   252,     0,   253,   254,   255,
8959      256,   257,   258,     0,     0,   259,   260,   261,   262,   263,
8960        0,   264,   265,   266,   267,   268,     0,   269,     0,   270,
8961      271,   272,   273,   274,   275,   276,   277,   278,     0,   279,
8962      280,   281,   282,   283,   284,     0,   285,   286,   287,   288,
8963        0,     0,     0,   289,     0,     0,   863,   290,   291,   292,
8964      293,   294,   295,   296,   297,   298,     0,   299,     0,   300,
8965      301,   302,   303,   304,   305,     0,   306,   307,   308,   309,
8966        0,     0,   310,   311,   312,   313,   314,     0,   315,   316,
8967      317,     0,   318,   319,   320,     0,   321,   322,   323,   324,
8968      325,   326,   327,   328,   329,     0,   330,     0,   331,   332,
8969      333,   334,     0,   335,     0,   336,   337,     0,   338,   339,
8970      340,   341,   342,     0,   343,   344,     0,   345,   346,   347,
8971        0,   348,   349,   350,   351,  1127,   353,   354,   355,   356,
8972      357,     0,   358,   359,   360,   361,   362,   363,   364,     0,
8973      365,   366,   367,   368,   369,   370,   371,   372,   373,     0,
8974      374,     0,   375,   376,   377,   378,   379,   380,   381,   382,
8975      383,   384,     0,     0,   385,   386,   387,   388,   389,     0,
8976      390,   391,   392,     0,     0,   393,   394,   395,   396,  1128,
8977      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
8978      408,   409,   410,   411,   412,   413,   414,   415,     0,   416,
8979      417,   418,   419,     0,   420,   421,   422,   423,   424,   425,
8980        0,   426,   427,     0,     0,   428,   429,   430,     0,     0,
8981      431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
8982      441,   442,   443,   444,   445,   446,     0,   447,   448,   449,
8983      450,   451,   452,   453,   454,     0,   455,   456,   457,   458,
8984      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
8985      469,     0,   470,   471,   472,   473,   474,   475,   476,   477,
8986      478,   479,   480,   481,     0,   482,   483,   484,   485,   486,
8987      487,   488,   489,   490,   491,   492,   493,   494,   495,   496,
8988      497,   498,   499,     0,   500,   501,   502,   503,   504,   864,
8989      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
8990        0,   515,   516,   517,   518,   519,   520,   521,   522,   523,
8991      524,   525,   526,   527,     0,   528,   529,     0,   530,   531,
8992      532,   533,   534,   535,   536,     0,   537,   538,   539,     0,
8993        0,   540,   541,   542,   543,   544,     0,   545,   546,   547,
8994      548,   549,   550,   551,     0,     0,   552,   553,   554,   555,
8995      556,     0,     0,   557,   558,   559,   560,   561,   562,   563,
8996        0,   564,   565,   566,   567,   568,   569,     0,     0,   570,
8997        0,     0,   571,   572,   573,   574,   575,   576,   577,   578,
8998      579,   580,   581,   582,   583,   584,   585,   586,   587,   588,
8999      589,   590,   862,     0,   659,     0,     0,     0,     0,     0,
9000        0,     0,     0,     0,     0,     0,     0,   228,   229,   230,
9001      231,   232,   233,   234,   235,     0,   236,   237,   238,     0,
9002        0,     0,     0,     0,     0,     0,   239,   240,     0,   241,
9003      242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
9004      252,     0,   253,   254,   255,   256,   257,   258,     0,     0,
9005      259,   260,   261,   262,   263,     0,   264,   265,   266,   267,
9006      268,     0,   269,     0,   270,   271,   272,   273,   274,   275,
9007      276,   277,   278,     0,   279,   280,   281,   282,   283,   284,
9008        0,   285,   286,   287,   288,     0,     0,     0,   289,     0,
9009        0,     0,   290,   291,   292,   293,   294,   295,   296,   297,
9010      298,  2069,   299,     0,   300,   301,   302,   303,   304,   305,
9011        0,   306,   307,   308,   309,     0,     0,   310,   311,   312,
9012      313,   314,     0,   315,   316,   317,     0,   318,   319,   320,
9013        0,   321,   322,   323,   324,   325,   326,   327,   328,   329,
9014        0,   330,     0,   331,   332,   333,   334,     0,   335,     0,
9015      336,   337,     0,   338,   339,   340,   341,   342,     0,   343,
9016      344,     0,   345,   346,   347,     0,   348,   349,   350,   351,
9017      352,   353,   354,   355,   356,   357,     0,   358,   359,   360,
9018      361,   362,   363,   364,     0,   365,   366,   367,   368,   369,
9019      370,   371,   372,   373,     0,   374,     0,   375,   376,   377,
9020      378,   379,   380,   381,   382,   383,   384,     0,     0,   385,
9021      386,   387,   388,   389,     0,   390,   391,   392,     0,     0,
9022      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
9023      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
9024      413,   414,   415,     0,   416,   417,   418,   419,     0,   420,
9025      421,   422,   423,   424,   425,     0,   426,   427,     0,     0,
9026      428,   429,   430,     0,     0,   431,   432,   433,   434,   435,
9027      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
9028      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
9029        0,   455,   456,   457,   458,   459,   460,   461,   462,   463,
9030      464,   465,   466,   467,   468,   469,     0,   470,   471,   472,
9031      473,   474,   475,   476,   477,   478,   479,   480,   481,     0,
9032      482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
9033      492,   493,   494,   495,   496,   497,   498,   499,     0,   500,
9034      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
9035      510,   511,   512,   513,   514,     0,   515,   516,   517,   518,
9036      519,   520,   521,   522,   523,   524,   525,   526,   527,     0,
9037      528,   529,     0,   530,   531,   532,   533,   534,   535,   536,
9038        0,   537,   538,   539,     0,     0,   540,   541,   542,   543,
9039      544,     0,   545,   546,   547,   548,   549,   550,   551,     0,
9040        0,   552,   553,   554,   555,   556,     0,     0,   557,   558,
9041      559,   560,   561,   562,   563,     0,   564,   565,   566,   567,
9042      568,   569,     0,     0,   570,     0,     0,   571,   572,   573,
9043      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
9044      584,   585,   586,   587,   588,   589,   590,   862,     0,     0,
9045        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9046        0,     0,   228,   229,   230,   231,   232,   233,   234,   235,
9047        0,   236,   237,   238,     3,     4,     0,     0,     0,     0,
9048        0,   239,   240,     0,   241,   242,   243,   244,   245,   246,
9049      247,   248,   249,   250,   251,   252,     0,   253,   254,   255,
9050      256,   257,   258,     0,     0,   259,   260,   261,   262,   263,
9051        0,   264,   265,   266,   267,   268,     0,   269,     0,   270,
9052      271,   272,   273,   274,   275,   276,   277,   278,     0,   279,
9053      280,   281,   282,   283,   284,     0,   285,   286,   287,   288,
9054        0,     0,     0,   289,     0,     0,     0,   290,   291,   292,
9055      293,   294,   295,   296,   297,   298,     0,   299,     0,   300,
9056      301,   302,   303,   304,   305,     0,   306,   307,   308,   309,
9057        0,     0,   310,   311,   312,   313,   314,     0,   315,   316,
9058      317,     0,   318,   319,   320,     0,   321,   322,   323,   324,
9059      325,   326,   327,   328,   329,     0,   330,     0,   331,   332,
9060      333,   334,     0,   335,     0,   336,   337,     0,   338,   339,
9061      340,   341,   342,     0,   343,   344,     0,   345,   346,   347,
9062        0,   348,   349,   350,   351,   352,   353,   354,   355,   356,
9063      357,     0,   358,   359,   360,   361,   362,   363,   364,     0,
9064      365,   366,   367,   368,   369,   370,   371,   372,   373,     0,
9065      374,     0,   375,   376,   377,   378,   379,   380,   381,   382,
9066      383,   384,     0,     0,   385,   386,   387,   388,   389,     0,
9067      390,   391,   392,     0,     0,   393,   394,   395,   396,   397,
9068      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
9069      408,   409,   410,   411,   412,   413,   414,   415,     0,   416,
9070      417,   418,   419,     0,   420,   421,   422,   423,   424,   425,
9071        0,   426,   427,     0,     0,   428,   429,   430,     0,     0,
9072      431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
9073      441,   442,   443,   444,   445,   446,     0,   447,   448,   449,
9074      450,   451,   452,   453,   454,     0,   455,   456,   457,   458,
9075      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
9076      469,     0,   470,   471,   472,   473,   474,   475,   476,   477,
9077      478,   479,   480,   481,     0,   482,   483,   484,   485,   486,
9078      487,   488,   489,   490,   491,   492,   493,   494,   495,   496,
9079      497,   498,   499,     0,   500,   501,   502,   503,   504,     0,
9080      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
9081        0,   515,   516,   517,   518,   519,   520,   521,   522,   523,
9082      524,   525,   526,   527,     0,   528,   529,     0,   530,   531,
9083      532,   533,   534,   535,   536,     0,   537,   538,   539,     0,
9084        0,   540,   541,   542,   543,   544,     0,   545,   546,   547,
9085      548,   549,   550,   551,     0,     0,   552,   553,   554,   555,
9086      556,     0,     0,   557,   558,   559,   560,   561,   562,   563,
9087        0,   564,   565,   566,   567,   568,   569,     0,     0,   570,
9088        0,     0,   571,   572,   573,   574,   575,   576,   577,   578,
9089      579,   580,   581,   582,   583,   584,   585,   586,   587,   588,
9090      589,   590,   862,     0,   659,     0,     0,     0,     0,     0,
9091        0,     0,     0,     0,     0,     0,     0,   228,   229,   230,
9092      231,   232,   233,   234,   235,     0,   236,   237,   238,     0,
9093        0,     0,     0,     0,     0,     0,   239,   240,     0,   241,
9094      242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
9095      252,     0,   253,   254,   255,   256,   257,   258,     0,     0,
9096      259,   260,   261,   262,   263,     0,   264,   265,   266,   267,
9097      268,     0,   269,     0,   270,   271,   272,   273,   274,   275,
9098      276,   277,   278,     0,   279,   280,   281,   282,   283,   284,
9099        0,   285,   286,   287,   288,     0,     0,     0,   289,     0,
9100        0,     0,   290,   291,   292,   293,   294,   295,   296,   297,
9101      298,     0,   299,     0,   300,   301,   302,   303,   304,   305,
9102        0,   306,   307,   308,   309,     0,     0,   310,   311,   312,
9103      313,   314,     0,   315,   316,   317,     0,   318,   319,   320,
9104        0,   321,   322,   323,   324,   325,   326,   327,   328,   329,
9105        0,   330,     0,   331,   332,   333,   334,     0,   335,     0,
9106      336,   337,     0,   338,   339,   340,   341,   342,     0,   343,
9107      344,     0,   345,   346,   347,     0,   348,   349,   350,   351,
9108      352,   353,   354,   355,   356,   357,     0,   358,   359,   360,
9109      361,   362,   363,   364,     0,   365,   366,   367,   368,   369,
9110      370,   371,   372,   373,     0,   374,     0,   375,   376,   377,
9111      378,   379,   380,   381,   382,   383,   384,     0,     0,   385,
9112      386,   387,   388,   389,     0,   390,   391,   392,     0,     0,
9113      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
9114      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
9115      413,   414,   415,     0,   416,   417,   418,   419,     0,   420,
9116      421,   422,   423,   424,   425,     0,   426,   427,     0,     0,
9117      428,   429,   430,     0,     0,   431,   432,   433,   434,   435,
9118      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
9119      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
9120        0,   455,   456,   457,   458,   459,   460,   461,   462,   463,
9121      464,   465,   466,   467,   468,   469,     0,   470,   471,   472,
9122      473,   474,   475,   476,   477,   478,   479,   480,   481,     0,
9123      482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
9124      492,   493,   494,   495,   496,   497,   498,   499,     0,   500,
9125      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
9126      510,   511,   512,   513,   514,     0,   515,   516,   517,   518,
9127      519,   520,   521,   522,   523,   524,   525,   526,   527,     0,
9128      528,   529,     0,   530,   531,   532,   533,   534,   535,   536,
9129        0,   537,   538,   539,     0,     0,   540,   541,   542,   543,
9130      544,     0,   545,   546,   547,   548,   549,   550,   551,     0,
9131        0,   552,   553,   554,   555,   556,     0,     0,   557,   558,
9132      559,   560,   561,   562,   563,     0,   564,   565,   566,   567,
9133      568,   569,     0,     0,   570,     0,     0,   571,   572,   573,
9134      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
9135      584,   585,   586,   587,   588,   589,   590,   862,     0,   659,
9136        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9137        0,     0,   228,   229,   230,   231,   232,   233,   234,   235,
9138        0,   236,   237,   238,     0,     0,     0,     0,     0,     0,
9139        0,   239,   240,     0,   241,   242,   243,   244,   245,   246,
9140      247,   248,   249,   250,   251,   252,     0,   253,   254,   255,
9141      256,   257,   258,     0,     0,   259,   260,   261,   262,   263,
9142        0,   264,   265,   266,   267,   268,     0,   269,     0,   270,
9143      271,   272,   273,   274,   275,   276,   277,   278,     0,   279,
9144      280,   281,   282,   283,   284,     0,   285,   286,   287,   288,
9145        0,     0,     0,   289,     0,     0,     0,   290,   291,   292,
9146      293,   294,   295,   296,   297,   298,     0,   299,     0,   300,
9147      301,   302,   303,   304,   305,     0,   306,   307,   308,   309,
9148        0,     0,   310,   311,   312,   313,   314,     0,   315,   316,
9149      317,     0,   318,   319,   320,     0,   321,   322,   323,   324,
9150      325,   326,   327,   328,   329,     0,   330,     0,   331,   332,
9151      333,   334,     0,   335,     0,   336,   337,     0,   338,   339,
9152      340,   341,   342,     0,   343,   344,     0,   345,   346,   347,
9153        0,   348,   349,   350,   351,  1892,   353,   354,   355,   356,
9154      357,     0,   358,   359,   360,   361,   362,   363,   364,     0,
9155      365,   366,   367,   368,   369,   370,   371,   372,   373,     0,
9156      374,     0,   375,   376,   377,   378,   379,   380,   381,   382,
9157      383,   384,     0,     0,   385,   386,   387,   388,   389,     0,
9158      390,   391,   392,     0,     0,   393,   394,   395,   396,   397,
9159      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
9160      408,   409,   410,   411,   412,   413,   414,   415,     0,   416,
9161      417,   418,   419,     0,   420,   421,   422,   423,   424,   425,
9162        0,   426,   427,     0,     0,   428,   429,   430,     0,     0,
9163      431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
9164      441,   442,   443,   444,   445,   446,     0,   447,   448,   449,
9165      450,   451,   452,   453,   454,     0,   455,   456,   457,   458,
9166      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
9167      469,     0,   470,   471,   472,   473,   474,   475,   476,   477,
9168      478,   479,   480,   481,     0,   482,   483,   484,   485,   486,
9169      487,   488,   489,   490,   491,   492,   493,   494,   495,   496,
9170      497,   498,   499,     0,   500,   501,   502,   503,   504,     0,
9171      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
9172        0,   515,   516,   517,   518,   519,   520,   521,   522,   523,
9173      524,   525,   526,   527,     0,   528,   529,     0,   530,   531,
9174      532,   533,   534,   535,   536,     0,   537,   538,   539,     0,
9175        0,   540,   541,   542,   543,   544,     0,   545,   546,   547,
9176      548,   549,   550,   551,     0,     0,   552,   553,   554,   555,
9177      556,     0,     0,   557,   558,   559,   560,   561,   562,   563,
9178        0,   564,   565,   566,   567,   568,   569,     0,     0,   570,
9179        0,     0,   571,   572,   573,   574,   575,   576,   577,   578,
9180      579,   580,   581,   582,   583,   584,   585,   586,   587,   588,
9181      589,   590,   227,     0,     0,     0,     0,     0,     0,     0,
9182        0,     0,     0,     0,     0,     0,     0,   228,   229,   230,
9183      231,   232,   233,   234,   235,     0,   236,   237,   238,     0,
9184        0,     0,     0,     0,     0,     0,   239,   240,     0,   241,
9185      242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
9186      252,     0,   253,   254,   255,   256,   257,   258,     0,     0,
9187      259,   260,   261,   262,   263,     0,   264,   265,   266,   267,
9188      268,     0,   269,     0,   270,   271,   272,   273,   274,   275,
9189      276,   277,   278,     0,   279,   280,   281,   282,   283,   284,
9190        0,   285,   286,   287,   288,     0,     0,     0,   289,     0,
9191        0,     0,   290,   291,   292,   293,   294,   295,   296,   297,
9192      298,     0,   299,     0,   300,   301,   302,   303,   304,   305,
9193        0,   306,   307,   308,   309,     0,     0,   310,   311,   312,
9194      313,   314,     0,   315,   316,   317,     0,   318,   319,   320,
9195        0,   321,   322,   323,   324,   325,   326,   327,   328,   329,
9196        0,   330,     0,   331,   332,   333,   334,     0,   335,     0,
9197      336,   337,     0,   338,   339,   340,   341,   342,     0,   343,
9198      344,     0,   345,   346,   347,     0,   348,   349,   350,   351,
9199      352,   353,   354,   355,   356,   357,     0,   358,   359,   360,
9200      361,   362,   363,   364,     0,   365,   366,   367,   368,   369,
9201      370,   371,   372,   373,     0,   374,     0,   375,   376,   377,
9202      378,   379,   380,   381,   382,   383,   384,     0,     0,   385,
9203      386,   387,   388,   389,     0,   390,   391,   392,     0,     0,
9204      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
9205      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
9206      413,   414,   415,     0,   416,   417,   418,   419,     0,   420,
9207      421,   422,   423,   424,   425,     0,   426,   427,     0,     0,
9208      428,   429,   430,     0,     0,   431,   432,   433,   434,   435,
9209      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
9210      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
9211        0,   455,   456,   457,   458,   459,   460,   461,   462,   463,
9212      464,   465,   466,   467,   468,   469,     0,   470,   471,   472,
9213      473,   474,   475,   476,   477,   478,   479,   480,   481,     0,
9214      482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
9215      492,   493,   494,   495,   496,   497,   498,   499,     0,   500,
9216      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
9217      510,   511,   512,   513,   514,     0,   515,   516,   517,   518,
9218      519,   520,   521,   522,   523,   524,   525,   526,   527,     0,
9219      528,   529,     0,   530,   531,   532,   533,   534,   535,   536,
9220        0,   537,   538,   539,     0,     0,   540,   541,   542,   543,
9221      544,     0,   545,   546,   547,   548,   549,   550,   551,     0,
9222        0,   552,   553,   554,   555,   556,     0,     0,   557,   558,
9223      559,   560,   561,   562,   563,     0,   564,   565,   566,   567,
9224      568,   569,     0,     0,   570,     0,     0,   571,   572,   573,
9225      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
9226      584,   585,   586,   587,   588,   589,   590,   227,     0,     0,
9227        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9228        0,     0,   228,   229,   230,   231,   232,   233,   234,   235,
9229        0,   236,   237,   238,     0,     0,     0,     0,     0,     0,
9230        0,   239,   240,     0,   241,   242,   243,   244,   245,   246,
9231      247,   248,   249,   250,   251,   252,     0,   253,   254,   255,
9232      256,   257,   258,     0,     0,   259,   260,   261,   262,   263,
9233        0,   264,   265,   266,   267,   268,     0,   269,     0,   270,
9234      271,   272,   273,   274,   275,   276,   277,   278,     0,   279,
9235      280,   281,   282,   283,   284,     0,   285,   286,   287,   288,
9236        0,     0,     0,   289,     0,     0,     0,   290,   291,   292,
9237      293,   294,   295,   296,   297,   298,     0,   299,     0,   300,
9238      301,   302,   303,   304,   305,     0,   306,   307,   308,   309,
9239        0,     0,   310,   311,   312,   313,   314,     0,   315,   316,
9240      317,     0,   318,   319,   320,     0,   321,   322,   323,   324,
9241      325,   326,   327,   328,   329,     0,   330,     0,   331,   332,
9242      333,   334,     0,   335,     0,   336,   337,     0,   338,   339,
9243      340,   341,   342,     0,   343,   344,     0,   345,   346,   347,
9244        0,   348,   349,   350,   351,  1049,   353,   354,   355,   356,
9245      357,     0,   358,   359,   360,   361,   362,   363,   364,     0,
9246      365,   366,   367,   368,   369,   370,   371,   372,   373,     0,
9247      374,     0,   375,   376,   377,   378,   379,   380,   381,   382,
9248      383,   384,     0,     0,   385,   386,   387,   388,   389,     0,
9249      390,   391,   392,     0,     0,   393,   394,   395,   396,   397,
9250      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
9251      408,   409,   410,   411,   412,   413,   414,   415,     0,   416,
9252      417,   418,   419,     0,   420,   421,   422,   423,   424,   425,
9253        0,   426,   427,     0,     0,   428,   429,   430,     0,     0,
9254      431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
9255      441,   442,   443,   444,   445,   446,     0,   447,   448,   449,
9256      450,   451,   452,   453,   454,     0,   455,   456,   457,   458,
9257      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
9258      469,     0,   470,   471,   472,   473,   474,   475,   476,   477,
9259      478,   479,   480,   481,     0,   482,   483,   484,   485,   486,
9260      487,   488,   489,   490,   491,   492,   493,   494,   495,   496,
9261      497,   498,   499,     0,   500,   501,   502,   503,   504,     0,
9262      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
9263        0,   515,   516,   517,   518,   519,   520,   521,   522,   523,
9264      524,   525,   526,   527,     0,   528,   529,     0,   530,   531,
9265      532,   533,   534,   535,   536,     0,   537,   538,   539,     0,
9266        0,   540,   541,   542,   543,   544,     0,   545,   546,   547,
9267      548,   549,   550,   551,     0,     0,   552,   553,   554,   555,
9268      556,     0,     0,   557,   558,   559,   560,   561,   562,   563,
9269        0,   564,   565,   566,   567,   568,   569,     0,     0,   570,
9270        0,     0,   571,   572,   573,   574,   575,   576,   577,   578,
9271      579,   580,   581,   582,   583,   584,   585,   586,   587,   588,
9272      589,   590,   227,     0,     0,     0,     0,     0,     0,     0,
9273        0,     0,     0,     0,     0,     0,     0,   228,   229,   230,
9274      231,   232,   233,   234,   235,     0,   236,   237,   238,     0,
9275        0,     0,     0,     0,     0,     0,   239,   240,     0,   241,
9276      242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
9277      252,     0,   253,   254,   255,   256,   257,   258,     0,     0,
9278      259,   260,   261,   262,   263,     0,   264,   265,   266,   267,
9279      268,     0,   269,     0,   270,   271,   272,   273,   274,   275,
9280      276,   277,   278,     0,   279,   280,   281,   282,   283,   284,
9281        0,   285,   286,   287,   288,     0,     0,     0,   289,     0,
9282        0,     0,   290,   291,   292,   293,   294,   295,   296,   297,
9283      298,     0,   299,     0,   300,   301,   302,   303,   304,   305,
9284        0,   306,   307,   308,   309,     0,     0,   310,   311,   312,
9285      313,   314,     0,   315,   316,   317,     0,   318,   319,   320,
9286        0,   321,   322,   323,   324,   325,   326,   327,   328,   329,
9287        0,   330,     0,   331,   332,   333,   334,     0,   335,     0,
9288      336,   337,     0,   338,   339,   340,   341,   342,     0,   343,
9289      344,     0,   345,   346,   347,     0,   348,   349,   350,   351,
9290     1099,   353,   354,   355,   356,   357,     0,   358,   359,   360,
9291      361,   362,   363,   364,     0,   365,   366,   367,   368,   369,
9292      370,   371,   372,   373,     0,   374,     0,   375,   376,   377,
9293      378,   379,   380,   381,   382,   383,   384,     0,     0,   385,
9294      386,   387,   388,   389,     0,   390,   391,   392,     0,     0,
9295      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
9296      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
9297      413,   414,   415,     0,   416,   417,   418,   419,     0,   420,
9298      421,   422,   423,   424,   425,     0,   426,   427,     0,     0,
9299      428,   429,   430,     0,     0,   431,   432,   433,   434,   435,
9300      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
9301      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
9302        0,   455,   456,   457,   458,   459,   460,   461,   462,   463,
9303      464,   465,   466,   467,   468,   469,     0,   470,   471,   472,
9304      473,   474,   475,   476,   477,   478,   479,   480,   481,     0,
9305      482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
9306      492,   493,   494,   495,   496,   497,   498,   499,     0,   500,
9307      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
9308      510,   511,   512,   513,   514,     0,   515,   516,   517,   518,
9309      519,   520,   521,   522,   523,   524,   525,   526,   527,     0,
9310      528,   529,     0,   530,   531,   532,   533,   534,   535,   536,
9311        0,   537,   538,   539,     0,     0,   540,   541,   542,   543,
9312      544,     0,   545,   546,   547,   548,   549,   550,   551,     0,
9313        0,   552,   553,   554,   555,   556,     0,     0,   557,   558,
9314      559,   560,   561,   562,   563,     0,   564,   565,   566,   567,
9315      568,   569,     0,     0,   570,     0,     0,   571,   572,   573,
9316      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
9317      584,   585,   586,   587,   588,   589,   590,   227,     0,     0,
9318        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9319        0,     0,   228,   229,   230,   231,   232,   233,   234,   235,
9320        0,   236,   237,   238,     0,     0,     0,     0,     0,     0,
9321        0,   239,   240,     0,   241,   242,   243,   244,   245,   246,
9322      247,   248,   249,   250,   251,   252,     0,   253,   254,   255,
9323      256,   257,   258,     0,     0,   259,   260,   261,   262,   263,
9324        0,   264,   265,   266,   267,   268,     0,   269,     0,   270,
9325      271,   272,   273,   274,   275,   276,   277,   278,     0,   279,
9326      280,   281,   282,   283,   284,     0,   285,   286,   287,   288,
9327        0,     0,     0,   289,     0,     0,     0,   290,   291,   292,
9328      293,   294,   295,   296,   297,   298,     0,   299,     0,   300,
9329      301,   302,   303,   304,   305,     0,   306,   307,   308,   309,
9330        0,     0,   310,   311,   312,   313,   314,     0,   315,   316,
9331      317,     0,   318,   319,   320,     0,   321,   322,   323,   324,
9332      325,   326,   327,   328,   329,     0,   330,     0,   331,   332,
9333      333,   334,     0,   335,     0,   336,   337,     0,   338,   339,
9334      340,   341,   342,     0,   343,   344,     0,   345,   346,   347,
9335        0,   348,   349,   350,   351,  1113,   353,   354,   355,   356,
9336      357,     0,   358,   359,   360,   361,   362,   363,   364,     0,
9337      365,   366,   367,   368,   369,   370,   371,   372,   373,     0,
9338      374,     0,   375,   376,   377,   378,   379,   380,   381,   382,
9339      383,   384,     0,     0,   385,   386,   387,   388,   389,     0,
9340      390,   391,   392,     0,     0,   393,   394,   395,   396,   397,
9341      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
9342      408,   409,   410,   411,   412,   413,   414,   415,     0,   416,
9343      417,   418,   419,     0,   420,   421,   422,   423,   424,   425,
9344        0,   426,   427,     0,     0,   428,   429,   430,     0,     0,
9345      431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
9346      441,   442,   443,   444,   445,   446,     0,   447,   448,   449,
9347      450,   451,   452,   453,   454,     0,   455,   456,   457,   458,
9348      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
9349      469,     0,   470,   471,   472,   473,   474,   475,   476,   477,
9350      478,   479,   480,   481,     0,   482,   483,   484,   485,   486,
9351      487,   488,   489,   490,   491,   492,   493,   494,   495,   496,
9352      497,   498,   499,     0,   500,   501,   502,   503,   504,     0,
9353      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
9354        0,   515,   516,   517,   518,   519,   520,   521,   522,   523,
9355      524,   525,   526,   527,     0,   528,   529,     0,   530,   531,
9356      532,   533,   534,   535,   536,     0,   537,   538,   539,     0,
9357        0,   540,   541,   542,   543,   544,     0,   545,   546,   547,
9358      548,   549,   550,   551,     0,     0,   552,   553,   554,   555,
9359      556,     0,     0,   557,   558,   559,   560,   561,   562,   563,
9360        0,   564,   565,   566,   567,   568,   569,     0,     0,   570,
9361        0,     0,   571,   572,   573,   574,   575,   576,   577,   578,
9362      579,   580,   581,   582,   583,   584,   585,   586,   587,   588,
9363      589,   590,   227,     0,     0,     0,     0,     0,     0,     0,
9364        0,     0,     0,     0,     0,     0,     0,   228,   229,   230,
9365      231,   232,   233,   234,   235,     0,   236,   237,   238,     0,
9366        0,     0,     0,     0,     0,     0,   239,   240,     0,   241,
9367      242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
9368      252,     0,   253,   254,   255,   256,   257,   258,     0,     0,
9369      259,   260,   261,   262,   263,     0,   264,   265,   266,   267,
9370      268,     0,   269,     0,   270,   271,   272,   273,   274,   275,
9371      276,   277,   278,     0,   279,   280,   281,   282,   283,   284,
9372        0,   285,   286,   287,   288,     0,     0,     0,   289,     0,
9373        0,     0,   290,   291,   292,   293,   294,   295,   296,   297,
9374      298,     0,   299,     0,   300,   301,   302,   303,   304,   305,
9375        0,   306,   307,   308,   309,     0,     0,   310,   311,   312,
9376      313,   314,     0,   315,   316,   317,     0,   318,   319,   320,
9377        0,   321,   322,   323,   324,   325,   326,   327,   328,   329,
9378        0,   330,     0,   331,   332,   333,   334,     0,   335,     0,
9379      336,   337,     0,   338,   339,   340,   341,   342,     0,   343,
9380      344,     0,   345,   346,   347,     0,   348,   349,   350,   351,
9381     1117,   353,   354,   355,   356,   357,     0,   358,   359,   360,
9382      361,   362,   363,   364,     0,   365,   366,   367,   368,   369,
9383      370,   371,   372,   373,     0,   374,     0,   375,   376,   377,
9384      378,   379,   380,   381,   382,   383,   384,     0,     0,   385,
9385      386,   387,   388,   389,     0,   390,   391,   392,     0,     0,
9386      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
9387      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
9388      413,   414,   415,     0,   416,   417,   418,   419,     0,   420,
9389      421,   422,   423,   424,   425,     0,   426,   427,     0,     0,
9390      428,   429,   430,     0,     0,   431,   432,   433,   434,   435,
9391      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
9392      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
9393        0,   455,   456,   457,   458,   459,   460,   461,   462,   463,
9394      464,   465,   466,   467,   468,   469,     0,   470,   471,   472,
9395      473,   474,   475,   476,   477,   478,   479,   480,   481,     0,
9396      482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
9397      492,   493,   494,   495,   496,   497,   498,   499,     0,   500,
9398      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
9399      510,   511,   512,   513,   514,     0,   515,   516,   517,   518,
9400      519,   520,   521,   522,   523,   524,   525,   526,   527,     0,
9401      528,   529,     0,   530,   531,   532,   533,   534,   535,   536,
9402        0,   537,   538,   539,     0,     0,   540,   541,   542,   543,
9403      544,     0,   545,   546,   547,   548,   549,   550,   551,     0,
9404        0,   552,   553,   554,   555,   556,     0,     0,   557,   558,
9405      559,   560,   561,   562,   563,     0,   564,   565,   566,   567,
9406      568,   569,     0,     0,   570,     0,     0,   571,   572,   573,
9407      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
9408      584,   585,   586,   587,   588,   589,   590,   862,     0,     0,
9409        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9410        0,     0,   228,   229,   230,   231,   232,   233,   234,   235,
9411        0,   236,   237,   238,     0,     0,     0,     0,     0,     0,
9412        0,   239,   240,     0,   241,   242,   243,   244,   245,   246,
9413      247,   248,   249,   250,   251,   252,     0,   253,   254,   255,
9414      256,   257,   258,     0,     0,   259,   260,   261,   262,   263,
9415        0,   264,   265,   266,   267,   268,     0,   269,     0,   270,
9416      271,   272,   273,   274,   275,   276,   277,   278,     0,   279,
9417      280,   281,   282,   283,   284,     0,   285,   286,   287,   288,
9418        0,     0,     0,   289,     0,     0,     0,   290,   291,   292,
9419      293,   294,   295,   296,   297,   298,     0,   299,     0,   300,
9420      301,   302,   303,   304,   305,     0,   306,   307,   308,   309,
9421        0,     0,   310,   311,   312,   313,   314,     0,   315,   316,
9422      317,     0,   318,   319,   320,     0,   321,   322,   323,   324,
9423      325,   326,   327,   328,   329,     0,   330,     0,   331,   332,
9424      333,   334,     0,   335,     0,   336,   337,     0,   338,   339,
9425      340,   341,   342,     0,   343,   344,     0,   345,   346,   347,
9426        0,   348,   349,   350,   351,   352,   353,   354,   355,   356,
9427      357,     0,   358,   359,   360,   361,   362,   363,   364,     0,
9428      365,   366,   367,   368,   369,   370,   371,   372,   373,     0,
9429      374,     0,   375,   376,   377,   378,   379,   380,   381,   382,
9430      383,   384,     0,     0,   385,   386,   387,   388,   389,     0,
9431      390,   391,   392,     0,     0,   393,   394,   395,   396,   397,
9432      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
9433      408,   409,   410,   411,   412,   413,   414,   415,     0,   416,
9434      417,   418,   419,     0,   420,   421,   422,   423,   424,   425,
9435        0,   426,   427,     0,     0,   428,   429,   430,     0,     0,
9436      431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
9437      441,   442,   443,   444,   445,   446,     0,   447,   448,   449,
9438      450,   451,   452,   453,   454,     0,   455,   456,   457,   458,
9439      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
9440      469,     0,   470,   471,   472,   473,   474,   475,   476,   477,
9441      478,   479,   480,   481,     0,   482,   483,   484,   485,   486,
9442      487,   488,   489,   490,   491,   492,   493,   494,   495,   496,
9443      497,   498,   499,     0,   500,   501,   502,   503,   504,     0,
9444      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
9445        0,   515,   516,   517,   518,   519,   520,   521,   522,   523,
9446      524,   525,   526,   527,     0,   528,   529,     0,   530,   531,
9447      532,   533,   534,   535,   536,     0,   537,   538,   539,     0,
9448        0,   540,   541,   542,   543,   544,     0,   545,   546,   547,
9449      548,   549,   550,   551,     0,     0,   552,   553,   554,   555,
9450      556,     0,     0,   557,   558,   559,   560,   561,   562,   563,
9451        0,   564,   565,   566,   567,   568,   569,     0,     0,   570,
9452        0,     0,   571,   572,   573,   574,   575,   576,   577,   578,
9453      579,   580,   581,   582,   583,   584,   585,   586,   587,   588,
9454      589,   590,   598,     0,     0,     0,     0,     0,     0,     0,
9455        0,     0,     0,     0,     0,     0,     0,   228,   229,   230,
9456      231,   232,   233,   234,   235,     0,   236,   237,   238,     0,
9457        0,     0,     0,     0,     0,     0,   239,   240,     0,   241,
9458      242,   243,     0,   245,   246,   247,   248,   249,     0,   251,
9459      252,     0,   253,   254,   255,   256,   257,   258,     0,     0,
9460      259,   260,   261,   262,   263,  2193,   264,   265,   266,   267,
9461      268,     0,     0,  2272,   270,   271,   272,   273,   274,     0,
9462      276,   277,   278,  2194,   279,   280,   281,   282,   283,   284,
9463        0,     0,   286,   287,   288,     0,     0,     0,     0,     0,
9464        0,     0,   290,   291,   292,   293,   294,   295,   296,   297,
9465      298,     0,   299,     0,   300,   301,   302,   303,   304,   305,
9466        0,   306,   307,   308,   309,     0,     0,   310,   311,   312,
9467      313,   314,     0,   315,   316,   317,     0,   318,   319,   320,
9468        0,  2273,   322,   323,   324,   325,   326,   327,   328,   329,
9469        0,   330,     0,   331,   332,   333,   334,     0,   335,  2196,
9470      336,     0,     0,     0,   339,   340,   341,   342,     0,   343,
9471      344,     0,   345,   346,   347,     0,   348,   349,   350,   351,
9472     2274,     0,   354,   355,   356,   357,     0,   358,   359,   360,
9473      361,   362,   363,   364,     0,   365,     0,   367,   368,   369,
9474      370,   371,   372,   373,     0,   374,     0,   375,     0,     0,
9475      378,     0,   380,   381,   382,   383,   384,     0,     0,   385,
9476      386,     0,   388,     0,     0,   390,   391,   392,     0,     0,
9477      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
9478      403,   404,   405,   406,   407,   408,   409,     0,   411,   412,
9479      413,   414,   415,     0,   416,   417,     0,   419,     0,   420,
9480      421,   422,   423,   424,   425,     0,   426,   427,     0,     0,
9481      428,   429,   430,     0,     0,   431,   432,   433,     0,   435,
9482        0,   437,   438,   439,   440,   441,   442,   443,   444,   445,
9483      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
9484     2197,   455,   456,   457,   458,   459,   460,   461,   462,   463,
9485      464,   465,   466,   467,   468,   469,     0,   470,   471,   472,
9486      473,   474,   475,   476,   477,   478,   479,   480,   481,     0,
9487      482,   483,     0,   485,   486,   487,   488,   489,   490,   491,
9488      492,   493,   494,   495,   496,   497,   498,   499,     0,   500,
9489      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
9490        0,   511,   512,   513,   514,     0,   515,   516,   517,   518,
9491      519,   520,   521,   522,   523,   524,   525,   526,   527,     0,
9492      528,   529,     0,   530,     0,   532,   533,   534,   535,   536,
9493        0,   537,   538,   539,     0,     0,   540,   541,   542,   543,
9494      544,     0,   545,   546,   547,   548,   549,   550,   551,     0,
9495     2198,   552,   553,   554,   555,   556,     0,     0,   557,   558,
9496      559,   560,   561,   562,   563,     0,   564,     0,   566,   567,
9497      568,   569,     0,     0,   570,     0,     0,   571,   572,   573,
9498      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
9499      584,   585,   586,   587,   588,   589,   590,   598,     0,     0,
9500        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9501        0,     0,   228,   229,   230,   231,   232,   233,   234,   235,
9502        0,   236,   237,   238,     0,     0,     0,     0,     0,     0,
9503        0,   239,   240,     0,   241,   242,   243,     0,   245,   246,
9504      247,   248,   249,     0,   251,   252,     0,   253,   254,   255,
9505      256,   257,   258,     0,     0,   259,   260,   261,   262,   263,
9506     2193,   264,   265,   266,   267,   268,     0,     0,     0,   270,
9507      271,   272,   273,   274,     0,   276,   277,   278,  2194,   279,
9508      280,   281,   282,   283,   284,     0,     0,   286,   287,   288,
9509        0,     0,     0,     0,     0,     0,     0,   290,   291,   292,
9510      293,   294,   295,   296,   297,   298,     0,   299,     0,   300,
9511      301,   302,   303,   304,   305,     0,   306,   307,   308,   309,
9512        0,     0,   310,   311,   312,   313,   314,     0,   315,   316,
9513      317,     0,   318,   319,   320,     0,  2273,   322,   323,   324,
9514      325,   326,   327,   328,   329,     0,   330,     0,   331,   332,
9515      333,   334,     0,   335,  2196,   336,     0,     0,     0,   339,
9516      340,   341,   342,     0,   343,   344,     0,   345,   346,   347,
9517        0,   348,   349,   350,   351,   352,     0,   354,   355,   356,
9518      357,     0,   358,   359,   360,   361,   362,   363,   364,     0,
9519      365,     0,   367,   368,   369,   370,   371,   372,   373,     0,
9520      374,     0,   375,     0,     0,   378,     0,   380,   381,   382,
9521      383,   384,     0,     0,   385,   386,     0,   388,  3268,     0,
9522      390,   391,   392,     0,     0,   393,   394,   395,   396,   397,
9523      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
9524      408,   409,     0,   411,   412,   413,   414,   415,     0,   416,
9525      417,     0,   419,     0,   420,   421,   422,   423,   424,   425,
9526        0,   426,   427,     0,     0,   428,   429,   430,     0,     0,
9527      431,   432,   433,     0,   435,     0,   437,   438,   439,   440,
9528      441,   442,   443,   444,   445,   446,     0,   447,   448,   449,
9529      450,   451,   452,   453,   454,  2197,   455,   456,   457,   458,
9530      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
9531      469,     0,   470,   471,   472,   473,   474,   475,   476,   477,
9532      478,   479,   480,   481,     0,   482,   483,     0,   485,   486,
9533      487,   488,   489,   490,   491,   492,   493,   494,   495,   496,
9534      497,   498,   499,     0,   500,   501,   502,   503,   504,     0,
9535      505,   506,   507,   508,   509,     0,   511,   512,   513,   514,
9536        0,   515,   516,   517,   518,   519,   520,   521,   522,   523,
9537      524,   525,   526,   527,     0,   528,   529,     0,   530,     0,
9538      532,   533,   534,   535,   536,     0,   537,   538,   539,     0,
9539        0,   540,   541,   542,   543,   544,     0,   545,   546,   547,
9540      548,   549,   550,   551,     0,  2198,   552,   553,   554,   555,
9541      556,     0,     0,   557,   558,   559,   560,   561,   562,   563,
9542        0,   564,     0,   566,   567,   568,   569,     0,     0,   570,
9543        0,     0,   571,   572,   573,   574,   575,   576,   577,   578,
9544      579,   580,   581,   582,   583,   584,   585,   586,   587,   588,
9545      589,   590,   598,     0,     0,     0,     0,     0,     0,     0,
9546        0,     0,     0,     0,     0,     0,     0,   228,   229,   230,
9547      231,   232,   777,   234,   235,   739,   236,   237,   238,     0,
9548        0,     0,     0,     0,     0,     0,   239,   240,     0,   241,
9549      242,   243,     0,   245,   246,   247,   248,   249,     0,   251,
9550      252,     0,   253,   254,   255,   256,   257,   258,     0,     0,
9551      259,   260,   261,   262,   263,     0,   264,   265,   266,   267,
9552      268,     0,     0,     0,   270,   271,   272,   273,   274,     0,
9553      276,   277,   278,     0,   279,   280,   281,   282,   283,   284,
9554      740,     0,   286,   287,   288,     0,     0,     0,     0,     0,
9555        0,     0,   290,   291,   292,   293,   294,   295,   296,   297,
9556      298,     0,   299,     0,   300,   301,   302,   303,   304,   305,
9557        0,   306,   307,   308,   309,     0,     0,   310,   311,   312,
9558      313,   314,     0,   315,   316,   317,     0,   318,   319,   320,
9559        0,   321,   322,   323,   324,   325,   326,   327,   328,   329,
9560        0,   330,     0,   331,   332,   333,   334,     0,   335,     0,
9561      336,     0,     0,     0,   339,   340,   341,   342,   778,   343,
9562      344,     0,   345,   346,   347,     0,   348,   349,   350,   351,
9563      352,     0,   354,   355,   356,   357,     0,   358,   359,   360,
9564      361,   362,   363,   364,     0,   365,     0,   367,   368,   369,
9565      370,   371,   372,   373,     0,   374,     0,   375,     0,     0,
9566      378,     0,   380,   381,   382,   383,   384,     0,     0,   385,
9567      386,     0,   388,     0,     0,   390,   391,   392,     0,     0,
9568      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
9569      403,   404,   405,   406,   407,   408,   409,     0,   411,   412,
9570      413,   414,   415,     0,   416,   417,     0,   419,     0,   420,
9571      421,   422,   423,   424,   425,     0,   426,   427,     0,     0,
9572      428,   429,   430,     0,     0,   431,   432,   433,     0,   435,
9573        0,   437,   438,   439,   440,   441,   442,   443,   444,   445,
9574      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
9575        0,   455,   456,   457,   458,   459,   460,   461,   462,   463,
9576      464,   465,   466,   467,   468,   469,   741,   470,   471,   472,
9577      473,   474,   475,   476,   477,   478,   479,   480,   481,     0,
9578      482,   483,     0,   485,   486,   487,   488,   489,   490,   491,
9579      492,   493,   494,   495,   496,   497,   498,   499,   742,   500,
9580      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
9581        0,   511,   512,   513,   514,     0,   515,   516,   517,   518,
9582      519,   520,   521,   522,   523,   524,   525,   526,   527,     0,
9583      528,   529,     0,   530,     0,   532,   533,   534,   535,   536,
9584        0,   537,   538,   539,     0,     0,   540,   541,   542,   543,
9585      544,     0,   545,   546,   547,   548,   549,   550,   551,     0,
9586        0,   552,   553,   554,   555,   556,     0,     0,   557,   558,
9587      559,   560,   561,   562,   563,     0,   564,     0,   566,   567,
9588      568,   569,     0,     0,   570,     0,     0,   571,   572,   573,
9589      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
9590      584,   585,   586,   587,   588,   589,   590,   598,     0,     0,
9591        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9592        0,     0,   228,   229,   230,   231,   232,   233,   234,   235,
9593      739,   236,   237,   238,     0,     0,     0,     0,     0,     0,
9594        0,   239,   240,     0,   241,   242,   243,     0,   245,   246,
9595      247,   248,   249,     0,   251,   252,     0,   253,   254,   255,
9596      256,   257,   258,     0,     0,   259,   260,   261,   262,   263,
9597        0,   264,   265,   266,   267,   268,     0,     0,     0,   270,
9598      271,   272,   273,   274,     0,   276,   277,   278,     0,   279,
9599      280,   281,   282,   283,   284,   740,     0,   286,   287,   288,
9600        0,     0,     0,     0,     0,     0,     0,   290,   291,   292,
9601      293,   294,   295,   296,   297,   298,     0,   299,     0,   300,
9602      301,   302,   303,   304,   305,     0,   306,   307,   308,   309,
9603        0,     0,   310,   311,   312,   313,   314,     0,   315,   316,
9604      317,     0,   318,   319,   320,     0,   321,   322,   323,   324,
9605      325,   326,   327,   328,   329,     0,   330,     0,   331,   332,
9606      333,   334,     0,   335,     0,   336,     0,     0,     0,   339,
9607      340,   341,   342,  2946,   343,   344,     0,   345,   346,   347,
9608        0,   348,   349,   350,   351,   352,     0,   354,   355,   356,
9609      357,     0,   358,   359,   360,   361,   362,   363,   364,     0,
9610      365,     0,   367,   368,   369,   370,   371,   372,   373,     0,
9611      374,     0,   375,     0,     0,   378,     0,   380,   381,   382,
9612      383,   384,     0,     0,   385,   386,     0,   388,     0,     0,
9613      390,   391,   392,     0,     0,   393,   394,   395,   396,   397,
9614      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
9615      408,   409,     0,   411,   412,   413,   414,   415,     0,   416,
9616      417,     0,   419,     0,   420,   421,   422,   423,   424,   425,
9617        0,   426,   427,     0,     0,   428,   429,   430,     0,     0,
9618      431,   432,   433,     0,   435,     0,   437,   438,   439,   440,
9619      441,   442,   443,   444,   445,   446,     0,   447,   448,   449,
9620      450,   451,   452,   453,   454,     0,   455,   456,   457,   458,
9621      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
9622      469,   741,   470,   471,   472,   473,   474,   475,   476,   477,
9623      478,   479,   480,   481,     0,   482,   483,     0,   485,   486,
9624      487,   488,   489,   490,   491,   492,   493,   494,   495,   496,
9625      497,   498,   499,   742,   500,   501,   502,   503,   504,     0,
9626      505,   506,   507,   508,   509,     0,   511,   512,   513,   514,
9627        0,   515,   516,   517,   518,   519,   520,   521,   522,   523,
9628      524,   525,   526,   527,     0,   528,   529,     0,   530,     0,
9629      532,   533,   534,   535,   536,     0,   537,   538,   539,     0,
9630        0,   540,   541,   542,   543,   544,     0,   545,   546,   547,
9631      548,   549,   550,   551,     0,     0,   552,   553,   554,   555,
9632      556,     0,     0,   557,   558,   559,   560,   561,   562,   563,
9633        0,   564,     0,   566,   567,   568,   569,     0,     0,   570,
9634        0,     0,   571,   572,   573,   574,   575,   576,   577,   578,
9635      579,   580,   581,   582,   583,   584,   585,   586,   587,   588,
9636      589,   590,   598,     0,     0,     0,     0,     0,     0,     0,
9637        0,     0,     0,     0,     0,     0,     0,   228,   229,   230,
9638      231,   232,   233,   234,   235,     0,   236,   237,   238,     0,
9639        0,     0,     0,     0,     0,     0,   239,   240,     0,   241,
9640      242,   243,     0,   245,   246,   247,   248,   249,     0,   251,
9641      252,     0,   253,   254,   255,   256,   257,   258,     0,     0,
9642      259,   260,   261,   262,   263,  2193,   264,   265,   266,   267,
9643      268,     0,     0,     0,   270,   271,   272,   273,   274,     0,
9644      276,   277,   278,  2194,   279,   280,   281,   282,   283,   284,
9645        0,     0,   286,   287,   288,     0,     0,     0,     0,     0,
9646        0,     0,   290,   291,   292,   293,   294,   295,   296,   297,
9647      298,     0,   299,     0,   300,   301,   302,   303,   304,   305,
9648        0,   306,   307,   308,   309,     0,     0,   310,   311,   312,
9649      313,   314,     0,   315,   316,   317,     0,   318,   319,   320,
9650        0,  2273,   322,   323,   324,   325,   326,   327,   328,   329,
9651        0,   330,     0,   331,   332,   333,   334,     0,   335,  2196,
9652      336,     0,     0,     0,   339,   340,   341,   342,     0,   343,
9653      344,     0,   345,   346,   347,     0,   348,   349,   350,   351,
9654      352,     0,   354,   355,   356,   357,     0,   358,   359,   360,
9655      361,   362,   363,   364,     0,   365,     0,   367,   368,   369,
9656      370,   371,   372,   373,     0,   374,     0,   375,     0,     0,
9657      378,     0,   380,   381,   382,   383,   384,     0,     0,   385,
9658      386,     0,   388,     0,     0,   390,   391,   392,     0,     0,
9659      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
9660      403,   404,   405,   406,   407,   408,   409,     0,   411,   412,
9661      413,   414,   415,     0,   416,   417,     0,   419,     0,   420,
9662      421,   422,   423,   424,   425,     0,   426,   427,     0,     0,
9663      428,   429,   430,     0,     0,   431,   432,   433,     0,   435,
9664        0,   437,   438,   439,   440,   441,   442,   443,   444,   445,
9665      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
9666     2197,   455,   456,   457,   458,   459,   460,   461,   462,   463,
9667      464,   465,   466,   467,   468,   469,     0,   470,   471,   472,
9668      473,   474,   475,   476,   477,   478,   479,   480,   481,     0,
9669      482,   483,     0,   485,   486,   487,   488,   489,   490,   491,
9670      492,   493,   494,   495,   496,   497,   498,   499,     0,   500,
9671      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
9672        0,   511,   512,   513,   514,     0,   515,   516,   517,   518,
9673      519,   520,   521,   522,   523,   524,   525,   526,   527,     0,
9674      528,   529,     0,   530,     0,   532,   533,   534,   535,   536,
9675        0,   537,   538,   539,     0,     0,   540,   541,   542,   543,
9676      544,     0,   545,   546,   547,   548,   549,   550,   551,     0,
9677     2198,   552,   553,   554,   555,   556,     0,     0,   557,   558,
9678      559,   560,   561,   562,   563,     0,   564,     0,   566,   567,
9679      568,   569,     0,     0,   570,     0,     0,   571,   572,   573,
9680      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
9681      584,   585,   586,   587,   588,   589,   590,   598,     0,     0,
9682        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9683        0,     0,   228,   229,   230,   231,   232,   233,   234,   235,
9684      739,   236,   237,   238,     0,     0,     0,     0,     0,     0,
9685        0,   239,   240,     0,   241,   242,   243,     0,   245,   246,
9686      247,   248,   249,     0,   251,   252,     0,   253,   254,   255,
9687      256,   257,   258,     0,     0,   259,   260,   261,   262,   263,
9688        0,   264,   265,   266,   267,   268,     0,     0,     0,   270,
9689      271,   272,   273,   274,     0,   276,   277,   278,     0,   279,
9690      280,   281,   282,   283,   284,   740,     0,   286,   287,   288,
9691        0,     0,     0,     0,     0,     0,     0,   290,   291,   292,
9692      293,   294,   295,   296,   297,   298,     0,   299,     0,   300,
9693      301,   302,   303,   304,   305,     0,   306,   307,   308,   309,
9694        0,     0,   310,   311,   312,   313,   314,     0,   315,   316,
9695      317,     0,   318,   319,   320,     0,   321,   322,   323,   324,
9696      325,   326,   327,   328,   329,     0,   330,     0,   331,   332,
9697      333,   334,     0,   335,     0,   336,     0,     0,     0,   339,
9698      340,   341,   342,     0,   343,   344,     0,   345,   346,   347,
9699        0,   348,   349,   350,   351,   352,     0,   354,   355,   356,
9700      357,     0,   358,   359,   360,   361,   362,   363,   364,     0,
9701      365,     0,   367,   368,   369,   370,   371,   372,   373,     0,
9702      374,     0,   375,     0,     0,   378,     0,   380,   381,   382,
9703      383,   384,     0,     0,   385,   386,     0,   388,     0,     0,
9704      390,   391,   392,     0,     0,   393,   394,   395,   396,   397,
9705      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
9706      408,   409,     0,   411,   412,   413,   414,   415,     0,   416,
9707      417,     0,   419,     0,   420,   421,   422,   423,   424,   425,
9708        0,   426,   427,     0,     0,   428,   429,   430,     0,     0,
9709      431,   432,   433,     0,   435,     0,   437,   438,   439,   440,
9710      441,   442,   443,   444,   445,   446,     0,   447,   448,   449,
9711      450,   451,   452,   453,   454,     0,   455,   456,   457,   458,
9712      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
9713      469,   741,   470,   471,   472,   473,   474,   475,   476,   477,
9714      478,   479,   480,   481,     0,   482,   483,     0,   485,   486,
9715      487,   488,   489,   490,   491,   492,   493,   494,   495,   496,
9716      497,   498,   499,   742,   500,   501,   502,   503,   504,     0,
9717      505,   506,   507,   508,   509,     0,   511,   512,   513,   514,
9718        0,   515,   516,   517,   518,   519,   520,   521,   522,   523,
9719      524,   525,   526,   527,     0,   528,   529,     0,   530,     0,
9720      532,   533,   534,   535,   536,     0,   537,   538,   539,     0,
9721        0,   540,   541,   542,   543,   544,     0,   545,   546,   547,
9722      548,   549,   550,   551,     0,     0,   552,   553,   554,   555,
9723      556,     0,     0,   557,   558,   559,   560,   561,   562,   563,
9724        0,   564,     0,   566,   567,   568,   569,     0,     0,   570,
9725        0,     0,   571,   572,   573,   574,   575,   576,   577,   578,
9726      579,   580,   581,   582,   583,   584,   585,   586,   587,   588,
9727      589,   590,   598,     0,     0,     0,     0,     0,     0,     0,
9728        0,     0,     0,     0,     0,     0,     0,   228,   229,   230,
9729      231,   232,   233,   234,   235,  1933,   236,   237,   238,     0,
9730        0,     0,     0,     0,     0,     0,   239,   240,     0,   241,
9731      242,   243,     0,   245,   246,   247,   248,   249,     0,   251,
9732      252,     0,   253,   254,   255,   256,   257,   258,     0,     0,
9733      259,   260,   261,   262,   263,     0,   264,   265,   266,   267,
9734      268,     0,     0,     0,   270,   271,   272,   273,   274,     0,
9735      276,   277,   278,     0,   279,   280,   281,   282,   283,   284,
9736        0,     0,   286,   287,   288,     0,     0,     0,     0,     0,
9737        0,     0,   290,   291,   292,  1934,   294,   295,   296,   297,
9738      298,     0,   299,     0,   300,   301,   302,   303,   304,   305,
9739        0,   306,   307,   308,   309,     0,     0,   310,  1935,   312,
9740      313,   314,     0,   315,   316,   317,     0,   318,   319,   320,
9741        0,   321,   322,   323,   324,   325,   326,   327,   328,   329,
9742        0,   330,     0,   331,   332,   333,   334,     0,   335,  1936,
9743      336,     0,     0,     0,  1937,   340,   341,   342,     0,   343,
9744      344,     0,   345,   346,   347,     0,   348,   349,   350,   351,
9745      352,     0,   354,   355,   356,   357,     0,   358,   359,   360,
9746      361,   362,   363,   364,     0,   365,     0,   367,   368,   369,
9747      370,   371,   372,   373,     0,   374,     0,   375,     0,     0,
9748      378,     0,   380,   381,  1938,  1939,   384,     0,     0,   385,
9749      386,     0,   388,     0,     0,   390,   391,   392,     0,     0,
9750      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
9751      403,   404,   405,   406,   407,   408,   409,     0,   411,   412,
9752      413,   414,   415,     0,   416,   417,     0,   419,     0,   420,
9753      421,   422,   423,   424,   425,     0,   426,   427,     0,     0,
9754      428,   429,   430,     0,     0,   431,   432,   433,     0,   435,
9755        0,   437,   438,   439,   440,   441,   442,   443,   444,   445,
9756      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
9757        0,   455,   456,   457,  1940,   459,   460,   461,   462,   463,
9758      464,   465,   466,   467,   468,   469,     0,   470,   471,   472,
9759      473,   474,   475,   476,   477,   478,   479,   480,   481,     0,
9760      482,   483,     0,   485,   486,   487,  1941,   489,   490,   491,
9761      492,   493,  1942,   495,   496,   497,   498,   499,     0,  1943,
9762      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
9763        0,   511,   512,   513,   514,     0,   515,   516,   517,   518,
9764      519,   520,   521,   522,   523,   524,   525,   526,   527,     0,
9765      528,   529,  1944,   530,     0,  1945,   533,   534,   535,   536,
9766        0,   537,   538,   539,     0,     0,   540,   541,   542,   543,
9767      544,     0,   545,   546,  1946,   548,   549,   550,   551,     0,
9768        0,   552,   553,   554,   555,   556,     0,     0,   557,   558,
9769      559,   560,   561,   562,   563,     0,   564,     0,   566,   567,
9770      568,   569,     0,     0,   570,     0,     0,   571,   572,   573,
9771      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
9772      584,   585,   586,   587,   588,   589,   590,   598,     0,     0,
9773        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9774        0,     0,   228,   229,   230,   231,   232,   233,   234,   235,
9775        0,   236,   237,   238,     0,     0,     0,     0,     0,     0,
9776        0,   239,   240,     0,   241,   242,   243,     0,   245,   246,
9777      247,   248,   249,     0,   251,   252,     0,   253,   254,   255,
9778      256,   257,   258,     0,     0,   259,   260,   261,   262,   263,
9779        0,   264,   265,   266,   267,   268,     0,     0,     0,   270,
9780      271,   272,   273,   274,     0,   276,   277,   278,     0,   279,
9781      280,   281,   282,   283,   284,   740,     0,   286,   287,   288,
9782        0,     0,     0,     0,     0,     0,     0,   290,   291,   292,
9783      293,   294,   295,   296,   297,   298,     0,   299,     0,   300,
9784      301,   302,   303,   304,   305,     0,   306,   307,   308,   309,
9785        0,     0,   310,   311,   312,   313,   314,     0,   315,   316,
9786      317,     0,   318,   319,   320,     0,   321,   322,   323,   324,
9787      325,   326,   327,   328,   329,     0,   330,     0,   331,   332,
9788      333,   334,     0,   335,     0,   336,     0,     0,     0,   339,
9789      340,   341,   342,     0,   343,   344,     0,   345,   346,   347,
9790        0,   348,   349,   350,   351,   352,     0,   354,   355,   356,
9791      357,     0,   358,   359,   360,   361,   362,   363,   364,     0,
9792      365,     0,   367,   368,   369,   370,   371,   372,   373,     0,
9793      374,     0,   375,     0,     0,   378,     0,   380,   381,   382,
9794      383,   384,     0,     0,   385,   386,     0,   388,     0,     0,
9795      390,   391,   392,     0,     0,   393,   394,   395,   396,   397,
9796      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
9797      408,   409,     0,   411,   412,   413,   414,   415,     0,   416,
9798      417,     0,   419,     0,   420,   421,   422,   423,   424,   425,
9799        0,   426,   427,     0,     0,   428,   429,   430,     0,     0,
9800      431,   432,   433,     0,   435,     0,   437,   438,   439,   440,
9801      441,   442,   443,   444,   445,   446,     0,   447,   448,   449,
9802      450,   451,   452,   453,   454,     0,   455,   456,   457,   458,
9803      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
9804      469,   741,   470,   471,   472,   473,   474,   475,   476,   477,
9805      478,   479,   480,   481,     0,   482,   483,     0,   485,   486,
9806      487,   488,   489,   490,   491,   492,   493,   494,   495,   496,
9807      497,   498,   499,   742,   500,   501,   502,   503,   504,     0,
9808      505,   506,   507,   508,   509,     0,   511,   512,   513,   514,
9809        0,   515,   516,   517,   518,   519,   520,   521,   522,   523,
9810      524,   525,   526,   527,     0,   528,   529,     0,   530,     0,
9811      532,   533,   534,   535,   536,     0,   537,   538,   539,     0,
9812        0,   540,   541,   542,   543,   544,     0,   545,   546,   547,
9813      548,   549,   550,   551,     0,     0,   552,   553,   554,   555,
9814      556,     0,     0,   557,   558,   559,   560,   561,   562,   563,
9815        0,   564,     0,   566,   567,   568,   569,     0,     0,   570,
9816        0,     0,   571,   572,   573,   574,   575,   576,   577,   578,
9817      579,   580,   581,   582,   583,   584,   585,   586,   587,   588,
9818      589,   590,   598,     0,     0,     0,     0,     0,     0,     0,
9819        0,     0,     0,     0,     0,     0,     0,   228,   229,   230,
9820      231,   232,   233,   234,   235,   913,   236,   237,   238,     0,
9821        0,     0,     0,     0,     0,     0,   239,   240,     0,   241,
9822      242,   243,     0,   245,   246,   247,   248,   249,     0,   251,
9823      252,     0,   253,   254,   255,   256,   257,   258,     0,     0,
9824      259,   260,   261,   262,   263,     0,   264,   265,   266,   267,
9825      268,     0,     0,     0,   270,   271,   272,   273,   274,     0,
9826      276,   277,   278,     0,   279,   280,   281,   282,   283,   284,
9827        0,     0,   286,   287,   288,     0,     0,     0,     0,     0,
9828        0,     0,   290,   291,   292,   293,   294,   295,   296,   297,
9829      298,     0,   299,     0,   300,   301,   302,   303,   304,   305,
9830        0,   306,   307,   308,   309,     0,     0,   310,   311,   312,
9831      313,   314,     0,   315,   316,   317,     0,   318,   319,   320,
9832        0,   321,   322,   323,   324,   325,   326,   327,   328,   329,
9833        0,   330,     0,   331,   332,   333,   334,     0,   335,     0,
9834      336,     0,     0,     0,   339,   340,   341,   342,     0,   343,
9835      344,     0,   345,   346,   347,     0,   348,   349,   350,   351,
9836      914,     0,   354,   355,   356,   357,     0,   358,   359,   360,
9837      361,   362,   363,   364,     0,   365,     0,   367,   368,   369,
9838      370,   371,   372,   373,     0,   374,     0,   375,     0,     0,
9839      378,     0,   380,   381,   382,   383,   384,     0,     0,   385,
9840      386,     0,   388,     0,     0,   390,   391,   392,     0,     0,
9841      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
9842      403,   404,   405,   406,   407,   408,   409,     0,   411,   412,
9843      413,   414,   415,     0,   416,   417,     0,   419,     0,   420,
9844      421,   422,   423,   424,   425,     0,   426,   427,     0,   809,
9845      428,   429,   430,     0,     0,   431,   432,   433,     0,   435,
9846        0,   437,   438,   439,   440,   441,   442,   443,   444,   445,
9847      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
9848        0,   455,   456,   457,   458,   459,   460,   461,   462,   463,
9849      464,   465,   466,   467,   468,   469,     0,   470,   471,   472,
9850      473,   474,   475,   476,   477,   478,   479,   480,   481,     0,
9851      482,   483,     0,   485,   486,   487,   488,   489,   490,   491,
9852      492,   493,   494,   495,   496,   497,   498,   499,     0,   500,
9853      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
9854        0,   511,   512,   513,   514,     0,   515,   516,   517,   518,
9855      519,   520,   521,   522,   523,   524,   525,   526,   527,     0,
9856      528,   529,     0,   530,     0,   532,   533,   534,   535,   536,
9857        0,   537,   538,   539,     0,     0,   540,   541,   542,   543,
9858      544,     0,   545,   546,   547,   548,   549,   550,   551,     0,
9859        0,   552,   553,   554,   555,   556,     0,     0,   557,   558,
9860      559,   560,   561,   562,   563,     0,   564,     0,   566,   567,
9861      568,   569,     0,     0,   570,     0,     0,   571,   572,   573,
9862      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
9863      584,   585,   586,   587,   588,   589,   590,   598,     0,     0,
9864        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9865        0,     0,   228,   229,   230,   231,   232,   233,   234,   235,
9866     3038,   236,   237,   238,     0,     0,     0,     0,     0,     0,
9867        0,   239,   240,     0,   241,   242,   243,     0,   245,   246,
9868      247,   248,   249,     0,   251,   252,     0,   253,   254,   255,
9869      256,   257,   258,     0,     0,   259,   260,   261,   262,   263,
9870        0,   264,   265,   266,   267,   268,     0,     0,     0,   270,
9871      271,   272,   273,   274,     0,   276,   277,   278,     0,   279,
9872      280,   281,   282,   283,   284,     0,     0,   286,   287,   288,
9873        0,     0,     0,     0,     0,     0,     0,   290,   291,   292,
9874      293,   294,   295,   296,   297,   298,     0,   299,     0,   300,
9875      301,   302,   303,   304,   305,     0,   306,   307,   308,   309,
9876        0,     0,   310,   311,   312,   313,   314,     0,   315,   316,
9877      317,     0,   318,   319,   320,     0,   321,   322,   323,   324,
9878      325,   326,   327,   328,   329,     0,   330,     0,   331,   332,
9879      333,   334,     0,   335,     0,   336,     0,     0,     0,   339,
9880      340,   341,   342,     0,   343,   344,     0,   345,   346,   347,
9881        0,   348,   349,   350,   351,   352,     0,   354,   355,   356,
9882      357,     0,   358,   359,   360,   361,   362,   363,   364,     0,
9883      365,     0,   367,   368,   369,   370,   371,   372,   373,     0,
9884      374,     0,   375,     0,     0,   378,     0,   380,   381,   382,
9885      383,   384,     0,     0,   385,   386,     0,   388,     0,     0,
9886      390,   391,   392,     0,     0,   393,   394,   395,   396,   397,
9887      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
9888      408,   409,     0,   411,   412,   413,   414,   415,     0,   416,
9889      417,     0,   419,     0,   420,   421,   422,   423,   424,   425,
9890        0,   426,   427,     0,     0,   428,   429,   430,     0,     0,
9891      431,   432,   433,     0,   435,     0,   437,   438,   439,   440,
9892      441,   442,   443,   444,   445,   446,     0,   447,   448,   449,
9893      450,   451,   452,   453,   454,     0,   455,   456,   457,   458,
9894      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
9895      469,     0,   470,   471,   472,   473,   474,   475,   476,   477,
9896      478,   479,   480,   481,     0,   482,   483,     0,   485,   486,
9897      487,   488,   489,   490,   491,   492,   493,   494,   495,   496,
9898      497,   498,   499,     0,   500,   501,   502,   503,   504,     0,
9899      505,   506,   507,   508,   509,     0,   511,   512,   513,   514,
9900        0,   515,   516,   517,   518,   519,   520,   521,   522,   523,
9901      524,   525,   526,   527,     0,   528,   529,     0,   530,     0,
9902      532,   533,   534,   535,   536,     0,   537,   538,   539,     0,
9903        0,   540,   541,   542,   543,   544,     0,   545,   546,   547,
9904      548,   549,   550,   551,     0,     0,   552,   553,   554,   555,
9905      556,  3039,     0,   557,   558,   559,   560,   561,   562,   563,
9906        0,   564,     0,   566,   567,   568,   569,     0,     0,   570,
9907        0,     0,   571,   572,   573,   574,   575,   576,   577,   578,
9908      579,   580,   581,   582,   583,   584,   585,   586,   587,   588,
9909      589,   590,   598,     0,     0,     0,     0,     0,     0,     0,
9910        0,     0,     0,     0,     0,     0,     0,   228,   229,   230,
9911      231,   232,   233,   234,   235,  3051,   236,   237,   238,     0,
9912        0,     0,     0,     0,     0,     0,   239,   240,     0,   241,
9913      242,   243,     0,   245,   246,   247,   248,   249,     0,   251,
9914      252,     0,   253,   254,   255,   256,   257,   258,     0,     0,
9915      259,   260,   261,   262,   263,     0,   264,   265,   266,   267,
9916      268,     0,     0,     0,   270,   271,   272,   273,   274,     0,
9917      276,   277,   278,     0,   279,   280,   281,   282,   283,   284,
9918        0,     0,   286,   287,   288,     0,     0,     0,     0,     0,
9919        0,     0,   290,   291,   292,   293,   294,   295,   296,   297,
9920      298,     0,   299,     0,   300,   301,   302,   303,   304,   305,
9921        0,   306,   307,   308,   309,     0,     0,   310,   311,   312,
9922      313,   314,     0,   315,   316,   317,     0,   318,   319,   320,
9923        0,   321,   322,   323,   324,   325,   326,   327,   328,   329,
9924        0,   330,     0,   331,   332,   333,   334,     0,   335,     0,
9925      336,     0,     0,     0,   339,   340,   341,   342,     0,   343,
9926      344,     0,   345,   346,   347,     0,   348,   349,   350,   351,
9927      352,     0,   354,   355,   356,   357,     0,   358,   359,   360,
9928      361,   362,   363,   364,     0,   365,     0,   367,   368,   369,
9929      370,   371,   372,   373,     0,   374,     0,   375,     0,     0,
9930      378,     0,   380,   381,   382,   383,   384,     0,     0,   385,
9931      386,     0,   388,     0,     0,   390,   391,   392,     0,     0,
9932      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
9933      403,   404,   405,   406,   407,   408,   409,     0,   411,   412,
9934      413,   414,   415,     0,   416,   417,     0,   419,     0,   420,
9935      421,   422,   423,   424,   425,     0,   426,   427,     0,     0,
9936      428,   429,   430,     0,     0,   431,   432,   433,     0,   435,
9937        0,   437,   438,   439,   440,   441,   442,   443,   444,   445,
9938      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
9939        0,   455,   456,   457,   458,   459,   460,   461,   462,   463,
9940      464,   465,   466,   467,   468,   469,     0,   470,   471,   472,
9941      473,   474,   475,   476,   477,   478,   479,   480,   481,     0,
9942      482,   483,     0,   485,   486,   487,   488,   489,   490,   491,
9943      492,   493,   494,   495,   496,   497,   498,   499,     0,   500,
9944      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
9945        0,   511,   512,   513,   514,     0,   515,   516,   517,   518,
9946      519,   520,   521,   522,   523,   524,   525,   526,   527,     0,
9947      528,   529,     0,   530,     0,   532,   533,   534,   535,   536,
9948        0,   537,   538,   539,     0,     0,   540,   541,   542,   543,
9949      544,     0,   545,   546,   547,   548,   549,   550,   551,     0,
9950        0,   552,   553,   554,   555,   556,  3052,     0,   557,   558,
9951      559,   560,   561,   562,   563,     0,   564,     0,   566,   567,
9952      568,   569,     0,     0,   570,     0,     0,   571,   572,   573,
9953      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
9954      584,   585,   586,   587,   588,   589,   590,   598,     0,     0,
9955        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9956        0,     0,   228,   229,   230,   231,   232,   233,   234,   235,
9957      599,   236,   237,   238,     0,     0,     0,     0,     0,     0,
9958        0,   239,   240,     0,   241,   242,   243,     0,   245,   246,
9959      247,   248,   249,     0,   251,   252,     0,   253,   254,   255,
9960      256,   257,   258,     0,     0,   259,   260,   261,   262,   263,
9961        0,   264,   265,   266,   267,   268,     0,     0,     0,   270,
9962      271,   272,   273,   274,     0,   276,   277,   278,     0,   279,
9963      280,   281,   282,   283,   284,     0,     0,   286,   287,   288,
9964        0,     0,     0,     0,     0,     0,     0,   290,   291,   292,
9965      293,   294,   295,   296,   297,   298,     0,   299,     0,   300,
9966      301,   302,   303,   304,   305,     0,   306,   307,   308,   309,
9967        0,     0,   310,   311,   312,   313,   314,     0,   315,   316,
9968      317,     0,   318,   319,   320,     0,   321,   322,   323,   324,
9969      325,   326,   327,   328,   329,     0,   330,     0,   331,   332,
9970      333,   334,     0,   335,     0,   336,     0,     0,     0,   339,
9971      340,   341,   342,     0,   343,   344,     0,   345,   346,   347,
9972        0,   348,   349,   350,   351,   352,     0,   354,   355,   356,
9973      357,     0,   358,   359,   360,   361,   362,   363,   364,     0,
9974      365,     0,   367,   368,   369,   370,   371,   372,   373,     0,
9975      374,     0,   375,     0,     0,   378,     0,   380,   381,   382,
9976      383,   384,     0,     0,   385,   386,     0,   388,     0,     0,
9977      390,   391,   392,     0,     0,   393,   394,   395,   396,   397,
9978      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
9979      408,   409,     0,   411,   412,   413,   414,   415,     0,   416,
9980      417,     0,   419,     0,   420,   421,   422,   423,   424,   425,
9981        0,   426,   427,     0,     0,   428,   429,   430,     0,     0,
9982      431,   432,   433,     0,   435,     0,   437,   438,   439,   440,
9983      441,   442,   443,   444,   445,   446,     0,   447,   448,   449,
9984      450,   451,   452,   453,   454,     0,   455,   456,   457,   458,
9985      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
9986      469,     0,   470,   471,   472,   473,   474,   475,   476,   477,
9987      478,   479,   480,   481,     0,   482,   483,     0,   485,   486,
9988      487,   488,   489,   490,   491,   492,   493,   494,   495,   496,
9989      497,   498,   499,     0,   500,   501,   502,   503,   504,     0,
9990      505,   506,   507,   508,   509,     0,   511,   512,   513,   514,
9991        0,   515,   516,   517,   518,   519,   520,   521,   522,   523,
9992      524,   525,   526,   527,     0,   528,   529,     0,   530,     0,
9993      532,   533,   534,   535,   536,     0,   537,   538,   539,     0,
9994        0,   540,   541,   542,   543,   544,     0,   545,   546,   547,
9995      548,   549,   550,   551,     0,     0,   552,   553,   554,   555,
9996      556,     0,     0,   557,   558,   559,   560,   561,   562,   563,
9997        0,   564,     0,   566,   567,   568,   569,     0,     0,   570,
9998        0,     0,   571,   572,   573,   574,   575,   576,   577,   578,
9999      579,   580,   581,   582,   583,   584,   585,   586,   587,   588,
10000      589,   590,   598,     0,     0,     0,     0,     0,     0,     0,
10001        0,     0,     0,     0,     0,     0,     0,   228,   229,   230,
10002      231,   232,   233,   234,   235,   650,   236,   237,   238,     0,
10003        0,     0,     0,     0,     0,     0,   239,   240,     0,   241,
10004      242,   243,     0,   245,   246,   247,   248,   249,     0,   251,
10005      252,     0,   253,   254,   255,   256,   257,   258,     0,     0,
10006      259,   260,   261,   262,   263,     0,   264,   265,   266,   267,
10007      268,     0,     0,     0,   270,   271,   272,   273,   274,     0,
10008      276,   277,   278,     0,   279,   280,   281,   282,   283,   284,
10009        0,     0,   286,   287,   288,     0,     0,     0,     0,     0,
10010        0,     0,   290,   291,   292,   293,   294,   295,   296,   297,
10011      298,     0,   299,     0,   300,   301,   302,   303,   304,   305,
10012        0,   306,   307,   308,   309,     0,     0,   310,   311,   312,
10013      313,   314,     0,   315,   316,   317,     0,   318,   319,   320,
10014        0,   321,   322,   323,   324,   325,   326,   327,   328,   329,
10015        0,   330,     0,   331,   332,   333,   334,     0,   335,     0,
10016      336,     0,     0,     0,   339,   340,   341,   342,     0,   343,
10017      344,     0,   345,   346,   347,     0,   348,   349,   350,   351,
10018      352,     0,   354,   355,   356,   357,     0,   358,   359,   360,
10019      361,   362,   363,   364,     0,   365,     0,   367,   368,   369,
10020      370,   371,   372,   373,     0,   374,     0,   375,     0,     0,
10021      378,     0,   380,   381,   382,   383,   384,     0,     0,   385,
10022      386,     0,   388,     0,     0,   390,   391,   392,     0,     0,
10023      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
10024      403,   404,   405,   406,   407,   408,   409,     0,   411,   412,
10025      413,   414,   415,     0,   416,   417,     0,   419,     0,   420,
10026      421,   422,   423,   424,   425,     0,   426,   427,     0,     0,
10027      428,   429,   430,     0,     0,   431,   432,   433,     0,   435,
10028        0,   437,   438,   439,   440,   441,   442,   443,   444,   445,
10029      446,     0,   447,   448,   449,   450,   451,   452,   651,   454,
10030        0,   455,   456,   457,   458,   459,   460,   461,   462,   463,
10031      464,   465,   466,   467,   468,   469,     0,   470,   471,   472,
10032      473,   474,   475,   476,   477,   478,   479,   480,   481,     0,
10033      482,   483,     0,   485,   486,   487,   488,   489,   490,   491,
10034      492,   493,   494,   495,   496,   497,   498,   499,     0,   500,
10035      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
10036        0,   511,   512,   513,   514,     0,   515,   516,   517,   518,
10037      519,   520,   521,   522,   523,   524,   525,   526,   527,     0,
10038      528,   529,     0,   530,     0,   532,   533,   534,   535,   536,
10039        0,   537,   538,   539,     0,     0,   540,   541,   542,   543,
10040      544,     0,   545,   546,   547,   548,   549,   550,   551,     0,
10041        0,   552,   553,   554,   555,   556,     0,     0,   557,   558,
10042      559,   560,   561,   562,   563,     0,   564,     0,   566,   567,
10043      568,   569,     0,     0,   570,     0,     0,   571,   572,   573,
10044      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
10045      584,   585,   586,   587,   588,   589,   590,   598,     0,     0,
10046        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10047        0,     0,   228,   229,   230,   231,   232,   233,   234,   235,
10048      769,   236,   237,   238,     0,     0,     0,     0,     0,     0,
10049        0,   239,   240,     0,   241,   242,   243,     0,   245,   246,
10050      247,   248,   249,     0,   251,   252,     0,   253,   254,   255,
10051      256,   257,   258,     0,     0,   259,   260,   261,   262,   263,
10052        0,   264,   265,   266,   267,   268,     0,     0,     0,   270,
10053      271,   272,   273,   274,     0,   276,   277,   278,     0,   279,
10054      280,   281,   282,   283,   284,     0,     0,   286,   287,   288,
10055        0,     0,     0,     0,     0,     0,     0,   290,   291,   292,
10056      293,   294,   295,   296,   297,   298,     0,   299,     0,   300,
10057      301,   302,   303,   304,   305,     0,   306,   307,   308,   309,
10058        0,     0,   310,   311,   312,   313,   314,     0,   315,   316,
10059      317,     0,   318,   319,   320,     0,   321,   322,   323,   324,
10060      325,   326,   327,   328,   329,     0,   330,     0,   331,   332,
10061      333,   334,     0,   335,     0,   336,     0,     0,     0,   339,
10062      340,   341,   342,     0,   343,   344,     0,   345,   346,   347,
10063        0,   348,   349,   350,   351,   352,     0,   354,   355,   356,
10064      357,     0,   358,   359,   360,   361,   362,   363,   364,     0,
10065      365,     0,   367,   368,   369,   370,   371,   372,   373,     0,
10066      374,     0,   375,     0,     0,   378,     0,   380,   381,   382,
10067      383,   384,     0,     0,   385,   386,     0,   388,     0,     0,
10068      390,   391,   392,     0,     0,   393,   394,   395,   396,   397,
10069      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
10070      408,   409,     0,   411,   412,   413,   414,   415,     0,   416,
10071      417,     0,   419,     0,   420,   421,   422,   423,   424,   425,
10072        0,   426,   427,     0,     0,   428,   429,   430,     0,     0,
10073      431,   432,   433,     0,   435,     0,   437,   438,   439,   440,
10074      441,   442,   443,   444,   445,   446,     0,   447,   448,   449,
10075      450,   451,   452,   453,   454,     0,   455,   456,   457,   458,
10076      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
10077      469,     0,   470,   471,   472,   473,   474,   475,   476,   477,
10078      478,   479,   480,   481,     0,   482,   483,     0,   485,   486,
10079      487,   488,   489,   490,   491,   492,   493,   494,   495,   496,
10080      497,   498,   499,     0,   500,   501,   502,   503,   770,     0,
10081      505,   506,   507,   508,   509,     0,   511,   512,   513,   514,
10082        0,   515,   516,   517,   518,   519,   520,   521,   522,   523,
10083      524,   525,   526,   527,     0,   528,   529,     0,   530,     0,
10084      532,   533,   534,   535,   536,     0,   537,   771,   539,     0,
10085        0,   772,   541,   542,   543,   544,     0,   545,   546,   547,
10086      548,   549,   550,   551,     0,     0,   552,   553,   554,   555,
10087      556,     0,     0,   557,   558,   559,   560,   561,   562,   563,
10088        0,   564,     0,   566,   567,   568,   569,     0,     0,   570,
10089        0,     0,   571,   572,   573,   574,   575,   576,   577,   578,
10090      579,   580,   581,   582,   583,   584,   585,   586,   587,   588,
10091      589,   590,   598,     0,     0,     0,     0,     0,     0,     0,
10092        0,     0,     0,     0,     0,     0,     0,   228,   229,   230,
10093      231,   232,   233,   234,   235,   803,   236,   237,   238,     0,
10094        0,     0,     0,     0,     0,     0,   239,   240,     0,   241,
10095      242,   243,     0,   245,   246,   247,   248,   249,     0,   251,
10096      252,     0,   253,   254,   255,   256,   257,   258,     0,     0,
10097      259,   260,   261,   262,   263,     0,   264,   265,   266,   267,
10098      268,     0,     0,     0,   270,   271,   272,   273,   274,     0,
10099      276,   277,   278,     0,   279,   280,   281,   282,   283,   284,
10100        0,     0,   286,   287,   288,     0,     0,     0,     0,     0,
10101        0,     0,   290,   291,   292,   293,   294,   295,   296,   297,
10102      298,     0,   299,     0,   300,   301,   302,   303,   304,   305,
10103        0,   306,   307,   308,   309,     0,     0,   310,   311,   312,
10104      313,   314,     0,   315,   316,   317,     0,   318,   319,   320,
10105        0,   321,   322,   323,   324,   325,   326,   327,   328,   329,
10106        0,   330,     0,   331,   332,   333,   334,     0,   335,     0,
10107      336,     0,     0,     0,   339,   340,   341,   342,     0,   343,
10108      344,     0,   345,   346,   347,     0,   348,   349,   350,   351,
10109      352,     0,   354,   355,   356,   357,     0,   358,   359,   360,
10110      361,   362,   363,   364,     0,   365,     0,   367,   368,   369,
10111      370,   371,   372,   373,     0,   374,     0,   375,     0,     0,
10112      378,     0,   380,   381,   382,   383,   384,     0,     0,   385,
10113      386,     0,   388,     0,     0,   390,   391,   392,     0,     0,
10114      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
10115      403,   404,   405,   406,   407,   408,   409,     0,   411,   412,
10116      413,   414,   415,     0,   416,   417,     0,   419,     0,   420,
10117      421,   422,   423,   424,   425,     0,   426,   427,     0,     0,
10118      428,   429,   430,     0,     0,   431,   432,   433,     0,   435,
10119        0,   437,   438,   439,   440,   441,   442,   443,   444,   445,
10120      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
10121        0,   455,   456,   457,   458,   459,   460,   461,   462,   463,
10122      464,   465,   466,   467,   468,   469,     0,   470,   471,   472,
10123      473,   474,   475,   476,   477,   478,   479,   480,   481,     0,
10124      482,   483,     0,   485,   486,   487,   488,   489,   490,   491,
10125      492,   493,   494,   495,   496,   497,   498,   499,     0,   500,
10126      501,   502,   503,   804,     0,   505,   506,   507,   508,   509,
10127        0,   511,   512,   513,   514,     0,   515,   516,   517,   518,
10128      519,   520,   521,   522,   523,   524,   525,   526,   527,     0,
10129      528,   529,     0,   530,     0,   532,   533,   534,   535,   536,
10130        0,   537,   805,   539,     0,     0,   806,   541,   542,   543,
10131      544,     0,   545,   546,   547,   548,   549,   550,   551,     0,
10132        0,   552,   553,   554,   555,   556,     0,     0,   557,   558,
10133      559,   560,   561,   562,   563,     0,   564,     0,   566,   567,
10134      568,   569,     0,     0,   570,     0,     0,   571,   572,   573,
10135      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
10136      584,   585,   586,   587,   588,   589,   590,   598,     0,     0,
10137        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10138        0,     0,   228,   229,   230,   231,   232,   233,   234,   235,
10139        0,   236,   237,   238,     0,     0,     0,     0,     0,     0,
10140        0,   239,   240,     0,   241,   242,   243,     0,   245,   246,
10141      247,   248,   249,     0,   251,   252,     0,   253,   254,   255,
10142      256,   257,   258,     0,     0,   259,   260,   261,   262,   263,
10143        0,   264,   265,   266,   267,   268,     0,     0,     0,   270,
10144      271,   272,   273,   274,     0,   276,   277,   278,     0,   279,
10145      280,   281,   282,   283,   284,     0,     0,   286,   287,   288,
10146        0,     0,     0,     0,     0,     0,     0,   290,   291,   292,
10147      293,   294,   295,   296,   297,   298,     0,   299,     0,   300,
10148      301,   302,   303,   304,   305,     0,   306,   307,   308,   309,
10149        0,     0,   310,   311,   312,   313,   314,     0,   315,   316,
10150      317,     0,   318,   319,   320,     0,   321,   322,   323,   324,
10151      325,   326,   327,   328,   329,     0,   330,     0,   331,   332,
10152      333,   334,     0,   335,     0,   336,     0,     0,     0,   339,
10153      340,   341,   342,     0,   343,   344,     0,   345,   346,   347,
10154        0,   348,   349,   350,   351,   352,     0,   354,   355,   356,
10155      357,     0,   358,   359,   360,   361,   362,   363,   364,     0,
10156      365,     0,   367,   368,   369,   370,   371,   372,   373,     0,
10157      374,     0,   375,     0,     0,   378,     0,   380,   381,   382,
10158      383,   384,     0,     0,   385,   386,     0,   388,     0,     0,
10159      390,   391,   392,     0,     0,   393,   394,   395,   396,   397,
10160      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
10161      408,   409,     0,   411,   412,   413,   414,   415,     0,   416,
10162      417,     0,   419,     0,   420,   421,   422,   423,   424,   425,
10163        0,   426,   427,     0,   809,   428,   429,   430,     0,     0,
10164      431,   432,   433,     0,   435,     0,   437,   438,   439,   440,
10165      441,   442,   443,   444,   445,   446,     0,   447,   448,   449,
10166      450,   451,   452,   453,   454,     0,   455,   456,   457,   458,
10167      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
10168      469,     0,   470,   471,   472,   473,   474,   475,   476,   477,
10169      478,   479,   480,   481,     0,   482,   483,     0,   485,   486,
10170      487,   488,   489,   490,   491,   492,   493,   494,   495,   496,
10171      497,   498,   499,     0,   500,   501,   502,   503,   504,     0,
10172      505,   506,   507,   508,   509,     0,   511,   512,   513,   514,
10173        0,   515,   516,   517,   518,   519,   520,   521,   522,   523,
10174      524,   525,   526,   527,     0,   528,   529,     0,   530,     0,
10175      532,   533,   534,   535,   536,     0,   537,   538,   539,     0,
10176        0,   540,   541,   542,   543,   544,     0,   545,   546,   547,
10177      548,   549,   550,   551,     0,     0,   552,   553,   554,   555,
10178      556,     0,     0,   557,   558,   559,   560,   561,   562,   563,
10179        0,   564,     0,   566,   567,   568,   569,     0,     0,   570,
10180        0,     0,   571,   572,   573,   574,   575,   576,   577,   578,
10181      579,   580,   581,   582,   583,   584,   585,   586,   587,   588,
10182      589,   590,   598,     0,     0,     0,     0,     0,     0,     0,
10183        0,     0,     0,     0,     0,     0,     0,   228,   229,   230,
10184      231,   232,   233,   234,   235,   871,   236,   237,   238,     0,
10185        0,     0,     0,     0,     0,     0,   239,   240,     0,   241,
10186      242,   243,     0,   245,   246,   247,   248,   249,     0,   251,
10187      252,     0,   253,   254,   255,   256,   257,   258,     0,     0,
10188      259,   260,   261,   262,   263,     0,   264,   265,   266,   267,
10189      268,     0,     0,     0,   270,   271,   272,   273,   274,     0,
10190      276,   277,   278,     0,   279,   280,   281,   282,   283,   284,
10191        0,     0,   286,   287,   288,     0,     0,     0,     0,     0,
10192        0,     0,   290,   291,   292,   293,   294,   295,   296,   297,
10193      298,     0,   299,     0,   300,   301,   302,   303,   304,   305,
10194        0,   306,   307,   308,   309,     0,     0,   310,   311,   312,
10195      313,   314,     0,   315,   316,   317,     0,   318,   319,   320,
10196        0,   321,   322,   323,   324,   325,   326,   327,   328,   329,
10197        0,   330,     0,   331,   332,   333,   334,     0,   335,     0,
10198      336,     0,     0,     0,   339,   340,   341,   342,     0,   343,
10199      344,     0,   345,   346,   347,     0,   348,   349,   350,   351,
10200      872,     0,   354,   355,   356,   357,     0,   358,   359,   360,
10201      361,   362,   363,   364,     0,   365,     0,   367,   368,   369,
10202      370,   371,   372,   373,     0,   374,     0,   375,     0,     0,
10203      378,     0,   380,   381,   382,   383,   384,     0,     0,   385,
10204      386,     0,   388,     0,     0,   390,   391,   392,     0,     0,
10205      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
10206      403,   404,   405,   406,   407,   408,   409,     0,   411,   412,
10207      413,   414,   415,     0,   416,   417,     0,   419,     0,   420,
10208      421,   422,   423,   424,   425,     0,   426,   427,     0,     0,
10209      428,   429,   430,     0,     0,   431,   432,   433,     0,   435,
10210        0,   437,   438,   439,   440,   441,   442,   443,   444,   445,
10211      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
10212        0,   455,   456,   457,   458,   459,   460,   461,   462,   463,
10213      464,   465,   466,   467,   468,   469,     0,   470,   471,   472,
10214      473,   474,   475,   476,   477,   478,   479,   480,   481,     0,
10215      482,   483,     0,   485,   486,   487,   488,   489,   490,   491,
10216      492,   493,   494,   495,   496,   497,   498,   499,     0,   500,
10217      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
10218        0,   511,   512,   513,   514,     0,   515,   516,   517,   518,
10219      519,   520,   521,   522,   523,   524,   525,   526,   527,     0,
10220      528,   529,     0,   530,     0,   532,   533,   534,   535,   536,
10221        0,   537,   538,   539,     0,     0,   540,   541,   542,   543,
10222      544,     0,   545,   546,   547,   548,   549,   550,   551,     0,
10223        0,   552,   553,   554,   555,   556,     0,     0,   557,   558,
10224      559,   560,   561,   562,   563,     0,   564,     0,   566,   567,
10225      568,   569,     0,     0,   570,     0,     0,   571,   572,   573,
10226      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
10227      584,   585,   586,   587,   588,   589,   590,   598,     0,     0,
10228        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10229        0,     0,   228,   229,   230,   231,   232,   233,   234,   235,
10230     1041,   236,   237,   238,     0,     0,     0,     0,     0,     0,
10231        0,   239,   240,     0,   241,   242,   243,     0,   245,   246,
10232      247,   248,   249,     0,   251,   252,     0,   253,   254,   255,
10233      256,   257,   258,     0,     0,   259,   260,   261,   262,   263,
10234        0,   264,   265,   266,   267,   268,     0,     0,     0,   270,
10235      271,   272,   273,   274,     0,   276,   277,   278,     0,   279,
10236      280,   281,   282,   283,   284,     0,     0,   286,   287,   288,
10237        0,     0,     0,     0,     0,     0,     0,   290,   291,   292,
10238      293,   294,   295,   296,   297,   298,     0,   299,     0,   300,
10239      301,   302,   303,   304,   305,     0,   306,   307,   308,   309,
10240        0,     0,   310,   311,   312,   313,   314,     0,   315,   316,
10241      317,     0,   318,   319,   320,     0,   321,   322,   323,   324,
10242      325,   326,   327,   328,   329,     0,   330,     0,   331,   332,
10243      333,   334,     0,   335,     0,   336,     0,     0,     0,   339,
10244      340,   341,   342,     0,   343,   344,     0,   345,   346,   347,
10245        0,   348,   349,   350,   351,   352,     0,   354,   355,   356,
10246      357,     0,   358,   359,   360,   361,   362,   363,   364,     0,
10247      365,     0,   367,   368,   369,   370,   371,   372,   373,     0,
10248      374,     0,   375,     0,     0,   378,     0,   380,   381,   382,
10249      383,   384,     0,     0,   385,   386,     0,   388,     0,     0,
10250      390,   391,   392,     0,     0,   393,   394,   395,   396,   397,
10251      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
10252      408,   409,     0,   411,   412,   413,   414,   415,     0,   416,
10253      417,     0,   419,     0,   420,   421,   422,   423,   424,   425,
10254        0,   426,   427,     0,     0,   428,   429,   430,     0,     0,
10255      431,   432,   433,     0,   435,     0,   437,   438,   439,   440,
10256      441,   442,   443,   444,   445,   446,     0,   447,   448,   449,
10257      450,   451,   452,   453,   454,     0,   455,   456,   457,   458,
10258      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
10259      469,     0,   470,   471,   472,   473,   474,   475,   476,   477,
10260      478,   479,   480,   481,     0,   482,   483,     0,   485,   486,
10261      487,   488,   489,   490,   491,   492,   493,   494,   495,   496,
10262      497,   498,   499,     0,   500,   501,   502,   503,   504,     0,
10263      505,   506,   507,   508,   509,     0,   511,   512,   513,   514,
10264        0,   515,   516,   517,   518,   519,   520,   521,   522,   523,
10265      524,   525,   526,   527,     0,   528,   529,     0,   530,     0,
10266      532,   533,   534,   535,   536,     0,   537,   538,   539,     0,
10267        0,   540,   541,   542,   543,   544,     0,   545,   546,   547,
10268      548,   549,   550,   551,     0,     0,   552,   553,   554,   555,
10269      556,     0,     0,   557,   558,   559,   560,   561,   562,   563,
10270        0,   564,     0,   566,   567,   568,   569,     0,     0,   570,
10271        0,     0,   571,   572,   573,   574,   575,   576,   577,   578,
10272      579,   580,   581,   582,   583,   584,   585,   586,   587,   588,
10273      589,   590,   598,     0,     0,     0,     0,     0,     0,     0,
10274        0,     0,     0,     0,     0,     0,     0,   228,   229,   230,
10275      231,   232,   233,   234,   235,  1311,   236,   237,   238,     0,
10276        0,     0,     0,     0,     0,     0,   239,   240,     0,   241,
10277      242,   243,     0,   245,   246,   247,   248,   249,     0,   251,
10278      252,     0,   253,   254,   255,   256,   257,   258,     0,     0,
10279      259,   260,   261,   262,   263,     0,   264,   265,   266,   267,
10280      268,     0,     0,     0,   270,   271,   272,   273,   274,     0,
10281      276,   277,   278,     0,   279,   280,   281,   282,   283,   284,
10282        0,     0,   286,   287,   288,     0,     0,     0,     0,     0,
10283        0,     0,   290,   291,   292,   293,   294,   295,   296,   297,
10284      298,     0,   299,     0,   300,   301,   302,   303,   304,   305,
10285        0,   306,   307,   308,   309,     0,     0,   310,   311,   312,
10286      313,   314,     0,   315,   316,   317,     0,   318,   319,   320,
10287        0,   321,   322,   323,   324,   325,   326,   327,   328,   329,
10288        0,   330,     0,   331,   332,   333,   334,     0,   335,     0,
10289      336,     0,     0,     0,   339,   340,   341,   342,     0,   343,
10290      344,     0,   345,   346,   347,     0,   348,   349,   350,   351,
10291      352,     0,   354,   355,   356,   357,     0,   358,   359,   360,
10292      361,   362,   363,   364,     0,   365,     0,   367,   368,   369,
10293      370,   371,   372,   373,     0,   374,     0,   375,     0,     0,
10294      378,     0,   380,   381,   382,   383,   384,     0,     0,   385,
10295      386,     0,   388,     0,     0,   390,   391,   392,     0,     0,
10296      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
10297      403,   404,   405,   406,   407,   408,   409,     0,   411,   412,
10298      413,   414,   415,     0,   416,   417,     0,   419,     0,   420,
10299      421,   422,   423,   424,   425,     0,   426,   427,     0,     0,
10300      428,   429,   430,     0,     0,   431,   432,   433,     0,   435,
10301        0,   437,   438,   439,   440,   441,   442,   443,   444,   445,
10302      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
10303        0,   455,   456,   457,   458,   459,   460,   461,   462,   463,
10304      464,   465,   466,   467,   468,   469,     0,   470,   471,   472,
10305      473,   474,   475,   476,   477,   478,   479,   480,   481,     0,
10306      482,   483,     0,   485,   486,   487,   488,   489,   490,   491,
10307      492,   493,   494,   495,   496,   497,   498,   499,     0,   500,
10308      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
10309        0,   511,   512,   513,   514,     0,   515,   516,   517,   518,
10310      519,   520,   521,   522,   523,   524,   525,   526,   527,     0,
10311      528,   529,     0,   530,     0,   532,   533,   534,   535,   536,
10312        0,   537,   538,   539,     0,     0,   540,   541,   542,   543,
10313      544,     0,   545,   546,   547,   548,   549,   550,   551,     0,
10314        0,   552,   553,   554,   555,   556,     0,     0,   557,   558,
10315      559,   560,   561,   562,   563,     0,   564,     0,   566,   567,
10316      568,   569,     0,     0,   570,     0,     0,   571,   572,   573,
10317      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
10318      584,   585,   586,   587,   588,   589,   590,   598,     0,     0,
10319        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10320        0,     0,   228,   229,   230,   231,   232,   233,   234,   235,
10321        0,   236,   237,   238,     0,     0,     0,     0,     0,     0,
10322        0,   239,   240,     0,   241,   242,   243,  1322,   245,   246,
10323      247,   248,   249,     0,   251,   252,     0,   253,   254,   255,
10324      256,   257,   258,     0,     0,   789,   260,   261,   262,  1323,
10325        0,   264,   265,   266,   267,   268,     0,     0,     0,   270,
10326      271,   272,   273,   274,     0,   276,   277,   278,     0,   279,
10327      280,   281,   282,   283,   284,     0,     0,   286,   287,   288,
10328        0,     0,     0,     0,     0,     0,     0,   290,   291,   292,
10329      293,   294,   295,   296,   297,   298,     0,   299,     0,   300,
10330      301,   302,   303,   304,   305,     0,   306,   307,   308,   309,
10331        0,     0,   310,   311,   312,   313,   314,     0,   315,   316,
10332      317,     0,   318,   319,   320,     0,   321,   322,   323,   324,
10333      325,   326,   327,   328,   329,     0,   330,     0,   331,   332,
10334      333,   334,     0,   335,     0,   336,     0,     0,     0,   339,
10335      340,   341,   342,     0,   343,   344,     0,   345,   346,   347,
10336        0,   348,   349,   350,   351,   352,     0,   354,   355,   356,
10337      357,     0,   358,   359,   360,   361,   362,   363,   364,     0,
10338      365,     0,   367,   368,   369,   370,   371,   372,   373,     0,
10339      374,     0,   375,     0,     0,   378,     0,   380,   381,   382,
10340      383,   384,     0,     0,   385,   386,     0,   388,     0,     0,
10341      390,   391,   392,     0,     0,   393,   394,   395,   396,   397,
10342      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
10343      792,   409,     0,   411,   412,   413,   414,   415,     0,   416,
10344      417,     0,   419,     0,   420,   421,   422,   423,   424,   425,
10345        0,   426,   427,     0,     0,   428,   429,   430,     0,     0,
10346      431,   432,   433,     0,   435,     0,   437,   438,   439,   440,
10347      441,   442,   443,   444,   445,   446,     0,   447,   448,   449,
10348      450,   451,   452,   453,   454,     0,   455,   456,   457,   458,
10349      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
10350      469,     0,   470,   471,   472,   473,   474,   475,   476,   477,
10351      478,   479,   480,   481,     0,   482,   483,     0,   793,   486,
10352      487,   488,   489,   490,   491,   492,   493,   794,   495,   496,
10353      497,   498,   499,     0,   500,   501,   502,   503,  1315,     0,
10354      505,   506,   507,   508,   509,     0,   511,   512,   513,   514,
10355        0,   515,   516,   517,   518,   519,   520,   521,   522,   523,
10356      524,   525,   526,   527,     0,   528,   529,     0,   530,     0,
10357      532,   533,   534,   535,   536,     0,   537,   796,   539,     0,
10358        0,   797,   541,   542,   543,   544,     0,   545,   546,   547,
10359      548,   549,   550,   551,     0,     0,   552,   553,   554,   555,
10360      556,     0,     0,   557,   558,   559,   560,   561,   562,   563,
10361        0,   564,     0,   566,   567,   568,   569,     0,     0,   570,
10362        0,     0,   571,   572,   573,   574,   575,   798,   577,   578,
10363      579,   580,   581,   582,   583,   584,   585,   586,   587,   588,
10364      589,   590,   598,     0,     0,     0,     0,     0,     0,     0,
10365        0,     0,     0,     0,     0,     0,     0,   228,   229,   230,
10366      231,   232,   233,   234,   235,     0,   236,   237,   238,     0,
10367        0,     0,     0,     0,     0,     0,   239,   240,     0,   241,
10368      242,   243,     0,   245,   246,   247,   248,   249,     0,   251,
10369      252,     0,   253,   254,   255,   256,   257,   258,     0,     0,
10370      259,   260,   261,   262,   263,     0,   264,   265,   266,   267,
10371      268,     0,     0,     0,   270,   271,   272,   273,   274,     0,
10372      276,   277,   278,     0,   279,   280,   281,   282,   283,   284,
10373        0,     0,   286,   287,   288,     0,     0,     0,     0,     0,
10374        0,     0,   290,   291,   292,   293,   294,   295,   296,   297,
10375      298,     0,   299,     0,   300,   301,   302,   303,   304,   305,
10376        0,   306,   307,   308,   309,     0,     0,   310,   311,   312,
10377      313,   314,     0,   315,   316,   317,     0,   318,   319,   320,
10378        0,   321,   322,   323,   324,   325,   326,   327,   328,   329,
10379        0,   330,     0,   331,   332,   333,   334,     0,   335,     0,
10380      336,     0,     0,     0,   339,   340,   341,   342,     0,   343,
10381      344,     0,   345,   346,   347,     0,   348,   349,   350,   351,
10382     1435,     0,   354,   355,   356,   357,     0,   358,   359,   360,
10383      361,   362,   363,   364,     0,   365,     0,   367,   368,   369,
10384      370,   371,   372,   373,     0,   374,     0,   375,     0,     0,
10385      378,     0,   380,   381,   382,   383,   384,     0,     0,   385,
10386      386,     0,   388,     0,     0,   390,   391,   392,     0,     0,
10387      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
10388      403,   404,   405,   406,   407,   408,   409,     0,   411,   412,
10389      413,   414,   415,     0,   416,   417,     0,   419,     0,   420,
10390      421,   422,   423,   424,   425,     0,   426,   427,     0,   809,
10391      428,   429,   430,     0,     0,   431,   432,   433,     0,   435,
10392        0,   437,   438,   439,   440,   441,   442,   443,   444,   445,
10393      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
10394        0,   455,   456,   457,   458,   459,   460,   461,   462,   463,
10395      464,   465,   466,   467,   468,   469,     0,   470,   471,   472,
10396      473,   474,   475,   476,   477,   478,   479,   480,   481,     0,
10397      482,   483,     0,   485,   486,   487,   488,   489,   490,   491,
10398      492,   493,   494,   495,   496,   497,   498,   499,     0,   500,
10399      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
10400        0,   511,   512,   513,   514,     0,   515,   516,   517,   518,
10401      519,   520,   521,   522,   523,   524,   525,   526,   527,     0,
10402      528,   529,     0,   530,     0,   532,   533,   534,   535,   536,
10403        0,   537,   538,   539,     0,     0,   540,   541,   542,   543,
10404      544,     0,   545,   546,   547,   548,   549,   550,   551,     0,
10405        0,   552,   553,   554,   555,   556,     0,     0,   557,   558,
10406      559,   560,   561,   562,   563,     0,   564,     0,   566,   567,
10407      568,   569,     0,     0,   570,     0,     0,   571,   572,   573,
10408      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
10409      584,   585,   586,   587,   588,   589,   590,   598,     0,     0,
10410        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10411        0,     0,   228,   229,   230,   231,   232,   233,   234,   235,
10412     1494,   236,   237,   238,     0,     0,     0,     0,     0,     0,
10413        0,   239,   240,     0,   241,   242,   243,     0,   245,   246,
10414      247,   248,   249,     0,   251,   252,     0,   253,   254,   255,
10415      256,   257,   258,     0,     0,   259,   260,   261,   262,   263,
10416        0,   264,   265,   266,   267,   268,     0,     0,     0,   270,
10417      271,   272,   273,   274,     0,   276,   277,   278,     0,   279,
10418      280,   281,   282,   283,   284,     0,     0,   286,   287,   288,
10419        0,     0,     0,     0,     0,     0,     0,   290,   291,   292,
10420      293,   294,   295,   296,   297,   298,     0,   299,     0,   300,
10421      301,   302,   303,   304,   305,     0,   306,   307,   308,   309,
10422        0,     0,   310,   311,   312,   313,   314,     0,   315,   316,
10423      317,     0,   318,   319,   320,     0,   321,   322,   323,   324,
10424      325,   326,   327,   328,   329,     0,   330,     0,   331,   332,
10425      333,   334,     0,   335,     0,   336,     0,     0,     0,   339,
10426      340,   341,   342,     0,   343,   344,     0,   345,   346,   347,
10427        0,   348,   349,   350,   351,  1495,     0,   354,   355,   356,
10428      357,     0,   358,   359,   360,   361,   362,   363,   364,     0,
10429      365,     0,   367,   368,   369,   370,   371,   372,   373,     0,
10430      374,     0,   375,     0,     0,   378,     0,   380,   381,   382,
10431      383,   384,     0,     0,   385,   386,     0,   388,     0,     0,
10432      390,   391,   392,     0,     0,   393,   394,   395,   396,   397,
10433      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
10434      408,   409,     0,   411,   412,   413,   414,   415,     0,   416,
10435      417,     0,   419,     0,   420,   421,   422,   423,   424,   425,
10436        0,   426,   427,     0,     0,   428,   429,   430,     0,     0,
10437      431,   432,   433,     0,   435,     0,   437,   438,   439,   440,
10438      441,   442,   443,   444,   445,   446,     0,   447,   448,   449,
10439      450,   451,   452,   453,   454,     0,   455,   456,   457,   458,
10440      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
10441      469,     0,   470,   471,   472,   473,   474,   475,   476,   477,
10442      478,   479,   480,   481,     0,   482,   483,     0,   485,   486,
10443      487,   488,   489,   490,   491,   492,   493,   494,   495,   496,
10444      497,   498,   499,     0,   500,   501,   502,   503,   504,     0,
10445      505,   506,   507,   508,   509,     0,   511,   512,   513,   514,
10446        0,   515,   516,   517,   518,   519,   520,   521,   522,   523,
10447      524,   525,   526,   527,     0,   528,   529,     0,   530,     0,
10448      532,   533,   534,   535,   536,     0,   537,   538,   539,     0,
10449        0,   540,   541,   542,   543,   544,     0,   545,   546,   547,
10450      548,   549,   550,   551,     0,     0,   552,   553,   554,   555,
10451      556,     0,     0,   557,   558,   559,   560,   561,   562,   563,
10452        0,   564,     0,   566,   567,   568,   569,     0,     0,   570,
10453        0,     0,   571,   572,   573,   574,   575,   576,   577,   578,
10454      579,   580,   581,   582,   583,   584,   585,   586,   587,   588,
10455      589,   590,   598,     0,     0,     0,     0,     0,     0,     0,
10456        0,     0,     0,     0,     0,     0,     0,   228,   229,   230,
10457      231,   232,   233,   234,   235,   769,   236,   237,   238,     0,
10458        0,     0,     0,     0,     0,     0,   239,   240,     0,   241,
10459      242,   243,     0,   245,   246,   247,   248,   249,     0,   251,
10460      252,     0,   253,   254,   255,   256,   257,   258,     0,     0,
10461      259,   260,   261,   262,   263,     0,   264,   265,   266,   267,
10462      268,     0,     0,     0,   270,   271,   272,   273,   274,     0,
10463      276,   277,   278,     0,   279,   280,   281,   282,   283,   284,
10464        0,     0,   286,   287,   288,     0,     0,     0,     0,     0,
10465        0,     0,   290,   291,   292,   293,   294,   295,   296,   297,
10466      298,     0,   299,     0,   300,   301,   302,   303,   304,   305,
10467        0,   306,   307,   308,   309,     0,     0,   310,   311,   312,
10468      313,   314,     0,   315,   316,   317,     0,   318,   319,   320,
10469        0,   321,   322,   323,   324,   325,   326,   327,   328,   329,
10470        0,   330,     0,   331,   332,   333,   334,     0,   335,     0,
10471      336,     0,     0,     0,   339,   340,   341,   342,     0,   343,
10472      344,     0,   345,   346,   347,     0,   348,   349,   350,   351,
10473      352,     0,   354,   355,   356,   357,     0,   358,   359,   360,
10474      361,   362,   363,   364,     0,   365,     0,   367,   368,   369,
10475      370,   371,   372,   373,     0,   374,     0,   375,     0,     0,
10476      378,     0,   380,   381,   382,   383,   384,     0,     0,   385,
10477      386,     0,   388,     0,     0,   390,   391,   392,     0,     0,
10478      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
10479      403,   404,   405,   406,   407,   408,   409,     0,   411,   412,
10480      413,   414,   415,     0,   416,   417,     0,   419,     0,   420,
10481      421,   422,   423,   424,   425,     0,   426,   427,     0,     0,
10482      428,   429,   430,     0,     0,   431,   432,   433,     0,   435,
10483        0,   437,   438,   439,   440,   441,   442,   443,   444,   445,
10484      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
10485        0,   455,   456,   457,   458,   459,   460,   461,   462,   463,
10486      464,   465,   466,   467,   468,   469,     0,   470,   471,   472,
10487      473,   474,   475,   476,   477,   478,   479,   480,   481,     0,
10488      482,   483,     0,   485,   486,   487,   488,   489,   490,   491,
10489      492,   493,   494,   495,   496,   497,   498,   499,     0,   500,
10490      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
10491        0,   511,   512,   513,   514,     0,   515,   516,   517,   518,
10492      519,   520,   521,   522,   523,   524,   525,   526,   527,     0,
10493      528,   529,     0,   530,     0,   532,   533,   534,   535,   536,
10494        0,   537,   538,   539,     0,     0,   540,   541,   542,   543,
10495      544,     0,   545,   546,   547,   548,   549,   550,   551,     0,
10496        0,   552,   553,   554,   555,   556,     0,     0,   557,   558,
10497      559,   560,   561,   562,   563,     0,   564,     0,   566,   567,
10498      568,   569,     0,     0,   570,     0,     0,   571,   572,   573,
10499      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
10500      584,   585,   586,   587,   588,   589,   590,   598,     0,     0,
10501        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10502        0,     0,   228,   229,   230,   231,   232,   233,   234,   235,
10503        0,   236,   237,   238,     0,     0,     0,     0,     0,     0,
10504        0,   239,   240,     0,   241,   242,   243,     0,   245,   246,
10505      247,   248,   249,     0,   251,   252,     0,   253,   254,   255,
10506      256,   257,   258,     0,     0,   259,   260,   261,   262,   263,
10507        0,   264,   265,   266,   267,   268,     0,     0,     0,   270,
10508      271,   272,   273,   274,     0,   276,   277,   278,     0,   279,
10509      280,   281,   282,   283,   284,     0,     0,   286,   287,   288,
10510        0,     0,     0,     0,     0,     0,     0,   290,   291,   292,
10511      293,   294,   295,   296,   297,   298,     0,   299,     0,   300,
10512      301,   302,   303,   304,   305,     0,   306,   307,   308,   309,
10513        0,     0,   310,   311,   312,   313,   314,     0,   315,   316,
10514      317,     0,   318,   319,   320,     0,   321,   322,   323,   324,
10515      325,   326,   327,   328,   329,     0,   330,     0,   331,   332,
10516      333,   334,     0,   335,     0,   336,     0,     0,     0,   339,
10517      340,   341,  2837,     0,   343,   344,     0,   345,   346,   347,
10518        0,   348,   349,   350,   351,   352,     0,   354,   355,   356,
10519      357,     0,   358,   359,   360,   361,   362,   363,   364,     0,
10520      365,     0,   367,   368,   369,   370,   371,   372,   373,     0,
10521      374,     0,   375,     0,     0,   378,     0,   380,   381,   382,
10522      383,   384,     0,     0,   385,   386,     0,   388,     0,     0,
10523      390,   391,  2838,     0,     0,   393,   394,   395,   396,   397,
10524      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
10525      408,   409,     0,   411,   412,   413,   414,   415,     0,   416,
10526      417,     0,   419,     0,   420,   421,   422,   423,   424,   425,
10527        0,   426,   427,     0,     0,   428,   429,   430,     0,     0,
10528      431,   432,   433,     0,   435,     0,   437,   438,   439,   440,
10529      441,   442,   443,   444,   445,   446,     0,   447,   448,   449,
10530      450,   451,   452,   453,   454,     0,   455,   456,   457,   458,
10531      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
10532      469,     0,   470,   471,   472,   473,   474,   475,   476,   477,
10533      478,   479,   480,   481,     0,   482,   483,     0,   485,   486,
10534      487,   488,   489,   490,   491,   492,   493,   494,   495,   496,
10535      497,   498,   499,     0,   500,   501,   502,   503,   504,     0,
10536      505,   506,   507,   508,   509,     0,   511,   512,   513,   514,
10537        0,   515,   516,   517,   518,   519,   520,   521,   522,   523,
10538      524,   525,   526,   527,     0,   528,   529,  2839,   530,     0,
10539      532,  2840,   534,  2841,   536,     0,   537,   538,   539,     0,
10540        0,   540,   541,   542,   543,   544,     0,   545,   546,   547,
10541      548,   549,   550,   551,     0,     0,   552,   553,  2842,   555,
10542      556,     0,     0,   557,   558,   559,   560,   561,   562,   563,
10543        0,   564,     0,   566,   567,   568,   569,     0,     0,   570,
10544        0,     0,   571,   572,   573,   574,   575,   576,   577,   578,
10545      579,   580,   581,   582,   583,   584,   585,   586,   587,   588,
10546      589,   590,   598,     0,   659,     0,     0,     0,     0,     0,
10547        0,     0,     0,     0,     0,     0,     0,   228,   229,   230,
10548      231,   232,   233,   234,   235,     0,   236,   237,   238,     0,
10549        0,     0,     0,     0,     0,     0,   239,   240,     0,   241,
10550      242,   243,     0,   245,   246,   247,   248,   249,     0,   251,
10551      252,     0,   253,   254,   255,   256,   257,   258,     0,     0,
10552      259,   260,   261,   262,   263,     0,   264,   265,   266,   267,
10553      268,     0,     0,     0,   270,   271,   272,   273,   274,     0,
10554      276,   277,   278,     0,   279,   280,   281,   282,   283,   284,
10555        0,     0,   286,   287,   288,     0,     0,     0,     0,     0,
10556        0,     0,   290,   291,   292,   293,   294,   295,   296,   297,
10557      298,     0,   299,     0,   300,   301,   302,   303,   304,   305,
10558        0,   306,   307,   308,   309,     0,     0,   310,   311,   312,
10559      313,   314,     0,   315,   316,   317,     0,   318,   319,   320,
10560        0,   321,   322,   323,   324,   325,   326,   327,   328,   329,
10561        0,   330,     0,   331,   332,   333,   334,     0,   335,     0,
10562      336,     0,     0,     0,   339,   340,   341,   342,     0,   343,
10563      344,     0,   345,   346,   347,     0,   348,   349,   350,   351,
10564      352,     0,   354,   355,   356,   357,     0,   358,   359,   360,
10565      361,   362,   363,   364,     0,   365,     0,   367,   368,   369,
10566      370,   371,   372,   373,     0,   374,     0,   375,     0,     0,
10567      378,     0,   380,   381,   382,   383,   384,     0,     0,   385,
10568      386,     0,   388,     0,     0,   390,   391,   392,     0,     0,
10569      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
10570      403,   404,   405,   406,   407,   408,   409,     0,   411,   412,
10571      413,   414,   415,     0,   416,   417,     0,   419,     0,   420,
10572      421,   422,   423,   424,   425,     0,   426,   427,     0,     0,
10573      428,   429,   430,     0,     0,   431,   432,   433,     0,   435,
10574        0,   437,   438,   439,   440,   441,   442,   443,   444,   445,
10575      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
10576        0,   455,   456,   457,   458,   459,   460,   461,   462,   463,
10577      464,   465,   466,   467,   468,   469,     0,   470,   471,   472,
10578      473,   474,   475,   476,   477,   478,   479,   480,   481,     0,
10579      482,   483,     0,   485,   486,   487,   488,   489,   490,   491,
10580      492,   493,   494,   495,   496,   497,   498,   499,     0,   500,
10581      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
10582        0,   511,   512,   513,   514,     0,   515,   516,   517,   518,
10583      519,   520,   521,   522,   523,   524,   525,   526,   527,     0,
10584      528,   529,     0,   530,     0,   532,   533,   534,   535,   536,
10585        0,   537,   538,   539,     0,     0,   540,   541,   542,   543,
10586      544,     0,   545,   546,   547,   548,   549,   550,   551,     0,
10587        0,   552,   553,   554,   555,   556,     0,     0,   557,   558,
10588      559,   560,   561,   562,   563,     0,   564,     0,   566,   567,
10589      568,   569,     0,     0,   570,     0,     0,   571,   572,   573,
10590      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
10591      584,   585,   586,   587,   588,   589,   590,   598,     0,     0,
10592        0,     0,     0,   720,     0,     0,     0,     0,     0,     0,
10593        0,     0,   228,   229,   230,   231,   232,   233,   234,   235,
10594        0,   236,   237,   238,     0,     0,     0,     0,     0,     0,
10595        0,   239,   240,     0,   241,   242,   243,     0,   245,   246,
10596      247,   248,   249,     0,   251,   252,     0,   253,   254,   255,
10597      256,   257,   258,     0,     0,   259,   260,   261,   262,   263,
10598        0,   264,   265,   266,   267,   268,     0,     0,     0,   270,
10599      271,   272,   273,   274,     0,   276,   277,   278,     0,   279,
10600      280,   281,   282,   283,   284,     0,     0,   286,   287,   288,
10601        0,     0,     0,     0,     0,     0,     0,   290,   291,   292,
10602      293,   294,   295,   296,   297,   298,     0,   299,     0,   300,
10603      301,   302,   303,   304,   305,     0,   306,   307,   308,   309,
10604        0,     0,   310,   311,   312,   313,   314,     0,   315,   316,
10605      317,     0,   318,   319,   320,     0,   321,   322,   323,   324,
10606      325,   326,   327,   328,   329,     0,   330,     0,   331,   332,
10607      333,   334,     0,   335,     0,   336,     0,     0,     0,   339,
10608      340,   341,   342,     0,   343,   344,     0,   345,   346,   347,
10609        0,   348,   349,   350,   351,   352,     0,   354,   355,   356,
10610      357,     0,   358,   359,   360,   361,   362,   363,   364,     0,
10611      365,     0,   367,   368,   369,   370,   371,   372,   373,     0,
10612      374,     0,   375,     0,     0,   378,     0,   380,   381,   382,
10613      383,   384,     0,     0,   385,   386,     0,   388,     0,     0,
10614      390,   391,   392,     0,     0,   393,   394,   395,   396,   397,
10615      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
10616      408,   409,     0,   411,   412,   413,   414,   415,     0,   416,
10617      417,     0,   419,     0,   420,   421,   422,   423,   424,   425,
10618        0,   426,   427,     0,     0,   428,   429,   430,     0,     0,
10619      431,   432,   433,     0,   435,     0,   437,   438,   439,   440,
10620      441,   442,   443,   444,   445,   446,     0,   447,   448,   449,
10621      450,   451,   452,   453,   454,     0,   455,   456,   457,   458,
10622      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
10623      469,     0,   470,   471,   472,   473,   474,   475,   476,   477,
10624      478,   479,   480,   481,     0,   482,   483,     0,   485,   486,
10625      487,   488,   489,   490,   491,   492,   493,   494,   495,   496,
10626      497,   498,   499,     0,   500,   501,   502,   503,   504,     0,
10627      505,   506,   507,   508,   509,     0,   511,   512,   513,   514,
10628        0,   515,   516,   517,   518,   519,   520,   521,   522,   523,
10629      524,   525,   526,   527,     0,   528,   529,     0,   530,     0,
10630      532,   533,   534,   535,   536,     0,   537,   538,   539,     0,
10631        0,   540,   541,   542,   543,   544,     0,   545,   546,   547,
10632      548,   549,   550,   551,     0,     0,   552,   553,   554,   555,
10633      556,     0,     0,   557,   558,   559,   560,   561,   562,   563,
10634        0,   564,     0,   566,   567,   568,   569,     0,     0,   570,
10635        0,     0,   571,   572,   573,   574,   575,   576,   577,   578,
10636      579,   580,   581,   582,   583,   584,   585,   586,   587,   588,
10637      589,   590,   598,     0,     0,     0,     0,     0,     0,     0,
10638        0,     0,     0,     0,     0,     0,     0,   228,   229,   230,
10639      231,   232,   233,   234,   235,     0,   236,   237,   238,     0,
10640        0,     0,     0,     0,  4100,     0,   239,   240,     0,   241,
10641      242,   243,     0,   245,   246,   247,   248,   249,     0,   251,
10642      252,     0,   253,   254,   255,   256,   257,   258,     0,     0,
10643      259,   260,   261,   262,   263,     0,   264,   265,   266,   267,
10644      268,     0,     0,     0,   270,   271,   272,   273,   274,     0,
10645      276,   277,   278,     0,   279,   280,   281,   282,   283,   284,
10646        0,     0,   286,   287,   288,     0,     0,     0,     0,     0,
10647        0,     0,   290,   291,   292,   293,   294,   295,   296,   297,
10648      298,     0,   299,     0,   300,   301,   302,   303,   304,   305,
10649        0,   306,   307,   308,   309,     0,     0,   310,   311,   312,
10650      313,   314,     0,   315,   316,   317,     0,   318,   319,   320,
10651        0,   321,   322,   323,   324,   325,   326,   327,   328,   329,
10652        0,   330,     0,   331,   332,   333,   334,     0,   335,     0,
10653      336,     0,     0,     0,   339,   340,   341,   342,     0,   343,
10654      344,     0,   345,   346,   347,     0,   348,   349,   350,   351,
10655      352,     0,   354,   355,   356,   357,     0,   358,   359,   360,
10656      361,   362,   363,   364,     0,   365,     0,   367,   368,   369,
10657      370,   371,   372,   373,     0,   374,     0,   375,     0,     0,
10658      378,     0,   380,   381,   382,   383,   384,     0,     0,   385,
10659      386,     0,   388,     0,     0,   390,   391,   392,     0,     0,
10660      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
10661      403,   404,   405,   406,   407,   408,   409,     0,   411,   412,
10662      413,   414,   415,     0,   416,   417,     0,   419,     0,   420,
10663      421,   422,   423,   424,   425,     0,   426,   427,     0,     0,
10664      428,   429,   430,     0,     0,   431,   432,   433,     0,   435,
10665        0,   437,   438,   439,   440,   441,   442,   443,   444,   445,
10666      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
10667        0,   455,   456,   457,   458,   459,   460,   461,   462,   463,
10668      464,   465,   466,   467,   468,   469,     0,   470,   471,   472,
10669      473,   474,   475,   476,   477,   478,   479,   480,   481,     0,
10670      482,   483,     0,   485,   486,   487,   488,   489,   490,   491,
10671      492,   493,   494,   495,   496,   497,   498,   499,     0,   500,
10672      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
10673        0,   511,   512,   513,   514,     0,   515,   516,   517,   518,
10674      519,   520,   521,   522,   523,   524,   525,   526,   527,     0,
10675      528,   529,     0,   530,     0,   532,   533,   534,   535,   536,
10676        0,   537,   538,   539,     0,     0,   540,   541,   542,   543,
10677      544,     0,   545,   546,   547,   548,   549,   550,   551,     0,
10678        0,   552,   553,   554,   555,   556,     0,     0,   557,   558,
10679      559,   560,   561,   562,   563,     0,   564,     0,   566,   567,
10680      568,   569,     0,     0,   570,     0,     0,   571,   572,   573,
10681      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
10682      584,   585,   586,   587,   588,   589,   590,   598,     0,     0,
10683        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10684        0,     0,   228,   229,   230,   231,   232,   233,   234,   235,
10685        0,   236,   237,   238,     0,     0,     0,     0,     0,  4114,
10686        0,   239,   240,     0,   241,   242,   243,     0,   245,   246,
10687      247,   248,   249,     0,   251,   252,     0,   253,   254,   255,
10688      256,   257,   258,     0,     0,   259,   260,   261,   262,   263,
10689        0,   264,   265,   266,   267,   268,     0,     0,     0,   270,
10690      271,   272,   273,   274,     0,   276,   277,   278,     0,   279,
10691      280,   281,   282,   283,   284,     0,     0,   286,   287,   288,
10692        0,     0,     0,     0,     0,     0,     0,   290,   291,   292,
10693      293,   294,   295,   296,   297,   298,     0,   299,     0,   300,
10694      301,   302,   303,   304,   305,     0,   306,   307,   308,   309,
10695        0,     0,   310,   311,   312,   313,   314,     0,   315,   316,
10696      317,     0,   318,   319,   320,     0,   321,   322,   323,   324,
10697      325,   326,   327,   328,   329,     0,   330,     0,   331,   332,
10698      333,   334,     0,   335,     0,   336,     0,     0,     0,   339,
10699      340,   341,   342,     0,   343,   344,     0,   345,   346,   347,
10700        0,   348,   349,   350,   351,   352,     0,   354,   355,   356,
10701      357,     0,   358,   359,   360,   361,   362,   363,   364,     0,
10702      365,     0,   367,   368,   369,   370,   371,   372,   373,     0,
10703      374,     0,   375,     0,     0,   378,     0,   380,   381,   382,
10704      383,   384,     0,     0,   385,   386,     0,   388,     0,     0,
10705      390,   391,   392,     0,     0,   393,   394,   395,   396,   397,
10706      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
10707      408,   409,     0,   411,   412,   413,   414,   415,     0,   416,
10708      417,     0,   419,     0,   420,   421,   422,   423,   424,   425,
10709        0,   426,   427,     0,     0,   428,   429,   430,     0,     0,
10710      431,   432,   433,     0,   435,     0,   437,   438,   439,   440,
10711      441,   442,   443,   444,   445,   446,     0,   447,   448,   449,
10712      450,   451,   452,   453,   454,     0,   455,   456,   457,   458,
10713      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
10714      469,     0,   470,   471,   472,   473,   474,   475,   476,   477,
10715      478,   479,   480,   481,     0,   482,   483,     0,   485,   486,
10716      487,   488,   489,   490,   491,   492,   493,   494,   495,   496,
10717      497,   498,   499,     0,   500,   501,   502,   503,   504,     0,
10718      505,   506,   507,   508,   509,     0,   511,   512,   513,   514,
10719        0,   515,   516,   517,   518,   519,   520,   521,   522,   523,
10720      524,   525,   526,   527,     0,   528,   529,     0,   530,     0,
10721      532,   533,   534,   535,   536,     0,   537,   538,   539,     0,
10722        0,   540,   541,   542,   543,   544,     0,   545,   546,   547,
10723      548,   549,   550,   551,     0,     0,   552,   553,   554,   555,
10724      556,     0,     0,   557,   558,   559,   560,   561,   562,   563,
10725        0,   564,     0,   566,   567,   568,   569,     0,     0,   570,
10726        0,     0,   571,   572,   573,   574,   575,   576,   577,   578,
10727      579,   580,   581,   582,   583,   584,   585,   586,   587,   588,
10728      589,   590,   598,     0,     0,     0,     0,     0,     0,     0,
10729        0,     0,     0,     0,     0,     0,     0,   228,   229,   230,
10730      231,   232,   233,   234,   235,     0,   236,   237,   238,     0,
10731        0,     0,     0,     0,     0,     0,   239,   240,     0,   241,
10732      242,   243,     0,   245,   246,   247,   248,   249,     0,   251,
10733      252,     0,   253,   254,   255,   256,   257,   258,     0,     0,
10734      259,   260,   261,   262,   263,     0,   264,   265,   266,   267,
10735      268,     0,     0,     0,   270,   271,   272,   273,   274,     0,
10736      276,   277,   278,     0,   279,   280,   281,   282,   283,   284,
10737        0,     0,   286,   287,   288,     0,     0,     0,     0,     0,
10738        0,     0,   290,   291,   292,   293,   294,   295,   296,   297,
10739      298,     0,   299,     0,   300,   301,   302,   303,   304,   305,
10740        0,   306,   307,   308,   309,     0,     0,   310,   311,   312,
10741      313,   314,     0,   315,   316,   317,     0,   318,   319,   320,
10742        0,   321,   322,   323,   324,   325,   326,   327,   328,   329,
10743        0,   330,     0,   331,   332,   333,   334,     0,   335,     0,
10744      336,     0,     0,     0,   339,   340,   341,   342,     0,   343,
10745      344,     0,   345,   346,   347,     0,   348,   349,   350,   351,
10746      352,     0,   354,   355,   356,   357,     0,   358,   359,   360,
10747      361,   362,   363,   364,     0,   365,     0,   367,   368,   369,
10748      370,   371,   372,   373,     0,   374,     0,   375,     0,     0,
10749      378,     0,   380,   381,   382,   383,   384,     0,     0,   385,
10750      386,     0,   388,     0,     0,   390,   391,   392,     0,     0,
10751      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
10752      403,   404,   405,   406,   407,   408,   409,     0,   411,   412,
10753      413,   414,   415,     0,   416,   417,     0,   419,     0,   420,
10754      421,   422,   423,   424,   425,     0,   426,   427,     0,     0,
10755      428,   429,   430,     0,     0,   431,   432,   433,     0,   435,
10756        0,   437,   438,   439,   440,   441,   442,   443,   444,   445,
10757      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
10758        0,   455,   456,   457,   458,   459,   460,   461,   462,   463,
10759      464,   465,   466,   467,   468,   469,     0,   470,   471,   472,
10760      473,   474,   475,   476,   477,   478,   479,   480,   481,     0,
10761      482,   483,     0,   485,   486,   487,   488,   489,   490,   491,
10762      492,   493,   494,   495,   496,   497,   498,   499,     0,   500,
10763      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
10764        0,   511,   512,   513,   514,     0,   515,   516,   517,   518,
10765      519,   520,   521,   522,   523,   524,   525,   526,   527,     0,
10766      528,   529,     0,   530,     0,   532,   533,   534,   535,   536,
10767        0,   537,   538,   539,     0,     0,   540,   541,   542,   543,
10768      544,     0,   545,   546,   547,   548,   549,   550,   551,     0,
10769        0,   552,   553,   554,   555,   556,     0,     0,   557,   558,
10770      559,   560,   561,   562,   563,     0,   564,     0,   566,   567,
10771      568,   569,     0,     0,   570,     0,     0,   571,   572,   573,
10772      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
10773      584,   585,   586,   587,   588,   589,   590,   598,     0,     0,
10774        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10775        0,     0,   228,   229,   230,   231,   232,   233,   234,   235,
10776        0,   236,   237,   238,     0,     0,     0,     0,     0,     0,
10777        0,   239,   240,     0,   241,   242,   243,     0,   245,   246,
10778      247,   248,   249,     0,   251,   252,     0,   253,   254,   255,
10779      256,   257,   258,     0,     0,   259,   260,   261,   262,   263,
10780        0,   264,   265,   266,   267,   268,     0,     0,     0,   270,
10781      271,   272,   273,   274,     0,   276,   277,   278,     0,   279,
10782      280,   281,   282,   283,   284,     0,     0,   286,   287,   288,
10783        0,     0,     0,     0,     0,     0,     0,   290,   291,   292,
10784      293,   294,   295,   296,   297,   298,     0,   299,     0,   300,
10785      301,   302,   303,   304,   305,     0,   306,   307,   308,   309,
10786        0,     0,   310,   311,   312,   313,   314,     0,   315,   316,
10787      317,     0,   318,   319,   320,     0,   321,   322,   323,   324,
10788      325,   326,   327,   328,   329,     0,   330,     0,   331,   332,
10789      333,   334,     0,   335,     0,   336,     0,     0,     0,   339,
10790      340,   341,   342,     0,   343,   344,     0,   345,   346,   347,
10791        0,   348,   349,   350,   351,   352,     0,   354,   355,   356,
10792      357,     0,   358,   359,   360,   361,   362,   363,   364,     0,
10793      365,     0,   367,   368,   369,   370,   371,   372,   373,     0,
10794      374,     0,   375,     0,     0,   378,     0,   380,   381,   382,
10795      383,   384,     0,     0,   385,   386,     0,   388,     0,     0,
10796      390,   391,   392,     0,     0,   393,   394,   395,   396,   397,
10797      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
10798      408,   409,     0,   411,   412,   413,   414,   415,     0,   416,
10799      417,     0,   419,     0,   420,   421,   422,   423,   424,   425,
10800        0,   426,   427,     0,     0,   428,   429,   430,     0,     0,
10801      431,   432,   433,     0,   435,     0,   437,   438,   439,   440,
10802      441,   442,   443,   444,   445,   446,     0,   447,   448,   449,
10803      450,   451,   452,   453,   454,     0,   455,   456,   457,   458,
10804      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
10805      469,     0,   470,   471,   472,   473,   474,   475,   476,   477,
10806      478,   479,   480,   481,     0,   482,   483,     0,   485,   486,
10807      487,   488,   489,   490,   491,   492,   493,   494,   495,   496,
10808      497,   498,   499,     0,   500,   501,   502,   503,   504,     0,
10809      505,   506,   507,   508,   509,     0,   511,   512,   513,   514,
10810        0,   515,   516,   517,   518,   519,   520,   521,   522,   523,
10811      524,   525,   526,   527,     0,   528,   529,     0,   530,     0,
10812      532,   533,   534,   535,   536,     0,   537,   538,   539,     0,
10813        0,   755,   541,   542,   543,   544,     0,   545,   546,   547,
10814      548,   549,   550,   551,     0,     0,   552,   553,   554,   555,
10815      556,     0,     0,   557,   558,   559,   560,   561,   562,   563,
10816        0,   564,     0,   566,   567,   568,   569,     0,     0,   570,
10817        0,     0,   571,   572,   573,   574,   575,   576,   577,   578,
10818      579,   580,   581,   582,   583,   584,   585,   586,   587,   588,
10819      589,   590,   598,     0,     0,     0,     0,     0,     0,     0,
10820        0,     0,     0,     0,     0,     0,     0,   228,   229,   230,
10821      231,   232,   233,   234,   235,     0,   236,   237,   238,     0,
10822        0,     0,     0,     0,     0,     0,   239,   240,     0,   241,
10823      242,   243,     0,   245,   246,   247,   248,   249,     0,   251,
10824      252,     0,   253,   254,   255,   256,   257,   258,     0,     0,
10825      259,   260,   261,   262,   263,     0,   264,   265,   266,   267,
10826      268,     0,     0,     0,   270,   271,   272,   273,   274,     0,
10827      276,   277,   278,     0,   279,   280,   281,   282,   283,   284,
10828        0,     0,   286,   287,   288,     0,     0,     0,     0,     0,
10829        0,     0,   290,   291,   292,   293,   294,   295,   296,   297,
10830      298,     0,   299,     0,   300,   301,   302,   303,   304,   305,
10831        0,   306,   307,   308,   309,     0,     0,   310,   311,   312,
10832      313,   314,     0,   315,   316,   317,     0,   318,   319,   320,
10833        0,   321,   322,   323,   324,   325,   326,   327,   328,   329,
10834        0,   330,     0,   331,   332,   333,   334,     0,   335,     0,
10835      336,     0,     0,     0,   339,   340,   341,   342,     0,   343,
10836      344,     0,   345,   346,   347,     0,   348,   349,   350,   351,
10837      352,     0,   354,   355,   356,   357,     0,   358,   359,   360,
10838      361,   362,   363,   364,     0,   365,     0,   367,   368,   369,
10839      370,   371,   372,   373,     0,   374,     0,   375,     0,     0,
10840      378,     0,   380,   381,   382,   383,   384,     0,     0,   385,
10841      386,     0,   388,     0,     0,   390,   391,   392,     0,     0,
10842      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
10843      403,   404,   405,   406,   407,   408,   409,     0,   411,   412,
10844      413,   414,   415,     0,   416,   417,     0,   419,     0,   420,
10845      421,   422,   423,   424,   425,     0,   426,   427,     0,     0,
10846      428,   429,   430,     0,     0,   431,   432,   433,     0,   435,
10847        0,   437,   438,   439,   440,   441,   442,   443,   444,   445,
10848      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
10849        0,   455,   456,   457,   458,   459,   460,   461,   462,   463,
10850      464,   465,   466,   467,   468,   469,     0,   470,   471,   472,
10851      473,   474,   475,   476,   477,   478,   479,   480,   481,     0,
10852      482,   483,     0,   485,   486,   487,   488,   489,   490,   491,
10853      492,   767,   494,   495,   496,   497,   498,   499,     0,   500,
10854      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
10855        0,   511,   512,   513,   514,     0,   515,   516,   517,   518,
10856      519,   520,   521,   522,   523,   524,   525,   526,   527,     0,
10857      528,   529,     0,   530,     0,   532,   533,   534,   535,   536,
10858        0,   537,   538,   539,     0,     0,   540,   541,   542,   543,
10859      544,     0,   545,   546,   547,   548,   549,   550,   551,     0,
10860        0,   552,   553,   554,   555,   556,     0,     0,   557,   558,
10861      559,   560,   561,   562,   563,     0,   564,     0,   566,   567,
10862      568,   569,     0,     0,   570,     0,     0,   571,   572,   573,
10863      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
10864      584,   585,   586,   587,   588,   589,   590,   598,     0,     0,
10865        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10866        0,     0,   228,   229,   230,   231,   232,   233,   234,   235,
10867        0,   236,   237,   238,     0,     0,     0,     0,     0,     0,
10868        0,   239,   240,     0,   241,   242,   243,     0,   245,   246,
10869      247,   248,   249,     0,   251,   252,     0,   253,   254,   255,
10870      256,   257,   258,     0,     0,   789,   260,   261,   262,   263,
10871        0,   264,   265,   266,   267,   268,     0,     0,     0,   270,
10872      271,   272,   273,   274,     0,   276,   277,   278,     0,   790,
10873      280,   281,   282,   283,   284,     0,     0,   286,   287,   288,
10874        0,     0,     0,     0,     0,     0,     0,   290,   291,   292,
10875      293,   294,   295,   296,   297,   298,     0,   299,     0,   300,
10876      301,   302,   303,   304,   305,     0,   306,   307,   308,   309,
10877        0,     0,   310,   311,   312,   313,   314,     0,   315,   316,
10878      317,     0,   318,   319,   320,     0,   321,   322,   323,   324,
10879      325,   326,   327,   328,   329,     0,   330,     0,   331,   332,
10880      333,   334,     0,   335,     0,   336,     0,     0,     0,   339,
10881      340,   341,   342,     0,   343,   344,     0,   345,   346,   347,
10882        0,   348,   349,   350,   351,   352,     0,   354,   355,   356,
10883      357,     0,   358,   359,   360,   361,   362,   363,   364,     0,
10884      365,     0,   367,   368,   369,   370,   371,   372,   373,     0,
10885      374,     0,   375,     0,     0,   378,     0,   380,   381,   382,
10886      383,   384,     0,     0,   385,   386,     0,   388,     0,     0,
10887      390,   391,   791,     0,     0,   393,   394,   395,   396,   397,
10888      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
10889      792,   409,     0,   411,   412,   413,   414,   415,     0,   416,
10890      417,     0,   419,     0,   420,   421,   422,   423,   424,   425,
10891        0,   426,   427,     0,     0,   428,   429,   430,     0,     0,
10892      431,   432,   433,     0,   435,     0,   437,   438,   439,   440,
10893      441,   442,   443,   444,   445,   446,     0,   447,   448,   449,
10894      450,   451,   452,   453,   454,     0,   455,   456,   457,   458,
10895      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
10896      469,     0,   470,   471,   472,   473,   474,   475,   476,   477,
10897      478,   479,   480,   481,     0,   482,   483,     0,   793,   486,
10898      487,   488,   489,   490,   491,   492,   493,   794,   495,   496,
10899      497,   498,   499,     0,   500,   501,   502,   503,   795,     0,
10900      505,   506,   507,   508,   509,     0,   511,   512,   513,   514,
10901        0,   515,   516,   517,   518,   519,   520,   521,   522,   523,
10902      524,   525,   526,   527,     0,   528,   529,     0,   530,     0,
10903      532,   533,   534,   535,   536,     0,   537,   796,   539,     0,
10904        0,   797,   541,   542,   543,   544,     0,   545,   546,   547,
10905      548,   549,   550,   551,     0,     0,   552,   553,   554,   555,
10906      556,     0,     0,   557,   558,   559,   560,   561,   562,   563,
10907        0,   564,     0,   566,   567,   568,   569,     0,     0,   570,
10908        0,     0,   571,   572,   573,   574,   575,   798,   577,   578,
10909      579,   580,   581,   582,   583,   584,   585,   586,   587,   588,
10910      589,   590,   598,     0,     0,     0,     0,     0,     0,     0,
10911        0,     0,     0,     0,     0,     0,     0,   228,   229,   230,
10912      231,   232,   233,   234,   235,     0,   236,   237,   238,     0,
10913        0,     0,     0,     0,     0,     0,   239,   240,     0,   241,
10914      242,   243,     0,   245,   246,   247,   248,   249,     0,   251,
10915      252,     0,   253,   254,   255,   256,   257,   258,     0,     0,
10916      259,   260,   261,   262,   263,     0,   264,   265,   266,   267,
10917      268,     0,     0,     0,   270,   271,   272,   273,   274,     0,
10918      276,   277,   278,     0,   279,   280,   281,   282,   283,   284,
10919        0,     0,   286,   287,   288,     0,     0,     0,     0,     0,
10920        0,     0,   290,   291,   292,   293,   294,   295,   296,   297,
10921      298,     0,   299,     0,   300,   301,   302,   303,   304,   305,
10922        0,   306,   307,   308,   309,     0,     0,   310,   311,   312,
10923      313,   314,     0,   315,   316,   317,     0,   318,   319,   320,
10924        0,   321,   322,   323,   324,   325,   326,   327,   328,   329,
10925        0,   330,     0,   331,   332,   333,   334,     0,   335,     0,
10926      336,     0,     0,     0,   339,   340,   341,   342,     0,   343,
10927      344,     0,   345,   346,   347,     0,   348,   349,   350,   351,
10928      352,     0,   354,   355,   356,   357,     0,   358,   359,   360,
10929      361,   362,   363,   364,     0,   365,     0,   367,   368,   369,
10930      370,   371,   372,   373,     0,   374,     0,   375,     0,     0,
10931      378,     0,   380,   381,   382,   383,   384,     0,     0,   385,
10932      386,     0,   388,     0,     0,   390,   391,   392,     0,     0,
10933      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
10934      403,   404,   405,   406,   407,   408,   409,     0,   411,   412,
10935      413,   414,   415,     0,   416,   417,     0,   419,     0,   420,
10936      421,   422,   423,   424,   425,     0,   426,   427,     0,     0,
10937      428,   429,   430,     0,     0,   431,   432,   433,     0,   435,
10938        0,   437,   438,   439,   440,   441,   442,   443,   444,   445,
10939      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
10940        0,   455,   456,   457,   458,   459,   460,   461,   462,   463,
10941      464,   465,   466,   467,   820,   469,     0,   470,   471,   472,
10942      473,   474,   475,   476,   477,   478,   479,   480,   481,     0,
10943      482,   483,     0,   485,   486,   487,   488,   489,   490,   491,
10944      492,   493,   494,   495,   496,   497,   498,   499,     0,   500,
10945      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
10946        0,   511,   512,   513,   514,     0,   515,   516,   517,   518,
10947      519,   520,   521,   522,   523,   524,   525,   526,   527,     0,
10948      528,   529,     0,   530,     0,   532,   533,   534,   535,   536,
10949        0,   537,   538,   539,     0,     0,   540,   541,   542,   543,
10950      544,     0,   545,   546,   547,   548,   549,   550,   551,     0,
10951        0,   552,   553,   554,   555,   556,     0,     0,   557,   558,
10952      559,   560,   561,   562,   563,     0,   564,     0,   566,   567,
10953      568,   569,     0,     0,   570,     0,     0,   571,   572,   573,
10954      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
10955      584,   585,   586,   587,   588,   589,   590,   598,     0,     0,
10956        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10957        0,     0,   228,   229,   230,   231,   232,   233,   234,   235,
10958        0,   236,   237,   238,     0,     0,     0,     0,     0,     0,
10959        0,   239,   240,     0,   241,   242,   243,     0,   245,   246,
10960      247,   248,   249,     0,   251,   252,     0,   253,   254,   255,
10961      256,   257,   258,     0,     0,   259,   260,   261,   262,   263,
10962        0,   264,   265,   266,   267,   268,     0,     0,     0,   270,
10963      271,   272,   273,   274,     0,   276,   277,   278,     0,   279,
10964      280,   281,   282,   283,   284,     0,     0,   286,   287,   288,
10965        0,     0,     0,     0,     0,     0,     0,   290,   291,   292,
10966      293,   294,   295,   296,   297,   298,     0,   299,     0,   300,
10967      301,   302,   303,   304,   305,     0,   306,   307,   308,   309,
10968        0,     0,   310,   311,   312,   313,   314,     0,   315,   316,
10969      317,     0,   318,   319,   320,     0,   321,   322,   323,   324,
10970      325,   326,   327,   328,   329,     0,   330,     0,   331,   332,
10971      333,   334,     0,   335,     0,   336,     0,     0,     0,   339,
10972      340,   341,   342,     0,   343,   344,     0,   345,   346,   347,
10973        0,   348,   349,   350,   351,   896,     0,   354,   355,   356,
10974      357,     0,   358,   359,   360,   361,   362,   363,   364,     0,
10975      365,     0,   367,   368,   369,   370,   371,   372,   373,     0,
10976      374,     0,   375,     0,     0,   378,     0,   380,   381,   382,
10977      383,   384,     0,     0,   385,   386,     0,   388,     0,     0,
10978      390,   391,   392,     0,     0,   393,   394,   395,   396,   397,
10979      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
10980      408,   409,     0,   411,   412,   413,   414,   415,     0,   416,
10981      417,     0,   419,     0,   420,   421,   422,   423,   424,   425,
10982        0,   426,   427,     0,     0,   428,   429,   430,     0,     0,
10983      431,   432,   433,     0,   435,     0,   437,   438,   439,   440,
10984      441,   442,   443,   444,   445,   446,     0,   447,   448,   449,
10985      450,   451,   452,   453,   454,     0,   455,   456,   457,   458,
10986      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
10987      469,     0,   470,   471,   472,   473,   474,   475,   476,   477,
10988      478,   479,   480,   481,     0,   482,   483,     0,   485,   486,
10989      487,   488,   489,   490,   491,   492,   493,   494,   495,   496,
10990      497,   498,   499,     0,   500,   501,   502,   503,   504,     0,
10991      505,   506,   507,   508,   509,     0,   511,   512,   513,   514,
10992        0,   515,   516,   517,   518,   519,   520,   521,   522,   523,
10993      524,   525,   526,   527,     0,   528,   529,     0,   530,     0,
10994      532,   533,   534,   535,   536,     0,   537,   538,   539,     0,
10995        0,   540,   541,   542,   543,   544,     0,   545,   546,   547,
10996      548,   549,   550,   551,     0,     0,   552,   553,   554,   555,
10997      556,     0,     0,   557,   558,   559,   560,   561,   562,   563,
10998        0,   564,     0,   566,   567,   568,   569,     0,     0,   570,
10999        0,     0,   571,   572,   573,   574,   575,   576,   577,   578,
11000      579,   580,   581,   582,   583,   584,   585,   586,   587,   588,
11001      589,   590,   598,     0,     0,     0,     0,     0,     0,     0,
11002        0,     0,     0,     0,     0,     0,     0,   228,   229,   230,
11003      231,   232,   233,   234,   235,     0,   236,   237,   238,     0,
11004        0,     0,     0,     0,     0,     0,   239,   240,     0,   241,
11005      242,   243,     0,   245,   246,   247,   248,   249,     0,   251,
11006      252,     0,   253,   254,   255,   256,   257,   258,     0,     0,
11007      259,   260,   261,   262,   263,     0,   264,   265,   266,   267,
11008      268,     0,     0,     0,   270,   271,   272,   273,   274,     0,
11009      276,   277,   278,     0,   279,   280,   281,   282,   283,   284,
11010        0,     0,   286,   287,   288,     0,     0,     0,     0,     0,
11011        0,     0,   290,   291,   292,   293,   294,   295,   296,   297,
11012      298,     0,   299,     0,   300,   301,   302,   303,   304,   305,
11013        0,   306,   307,   308,   309,     0,     0,   310,   311,   312,
11014      313,   314,     0,   315,   316,   317,     0,   318,   319,   320,
11015        0,   321,   322,   323,   324,   325,   326,   327,   328,   329,
11016        0,   330,     0,   331,   332,   333,   334,     0,   335,     0,
11017      336,     0,     0,     0,   339,   340,   341,   342,     0,   343,
11018      344,     0,   345,   346,   347,     0,   348,   349,   350,   351,
11019      906,     0,   354,   355,   356,   357,     0,   358,   359,   360,
11020      361,   362,   363,   364,     0,   365,     0,   367,   368,   369,
11021      370,   371,   372,   373,     0,   374,     0,   375,     0,     0,
11022      378,     0,   380,   381,   382,   383,   384,     0,     0,   385,
11023      386,     0,   388,     0,     0,   390,   391,   392,     0,     0,
11024      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
11025      403,   404,   405,   406,   407,   408,   409,     0,   411,   412,
11026      413,   414,   415,     0,   416,   417,     0,   419,     0,   420,
11027      421,   422,   423,   424,   425,     0,   426,   427,     0,     0,
11028      428,   429,   430,     0,     0,   431,   432,   433,     0,   435,
11029        0,   437,   438,   439,   440,   441,   442,   443,   444,   445,
11030      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
11031        0,   455,   456,   457,   458,   459,   460,   461,   462,   463,
11032      464,   465,   466,   467,   468,   469,     0,   470,   471,   472,
11033      473,   474,   475,   476,   477,   478,   479,   480,   481,     0,
11034      482,   483,     0,   485,   486,   487,   488,   489,   490,   491,
11035      492,   493,   494,   495,   496,   497,   498,   499,     0,   500,
11036      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
11037        0,   511,   512,   513,   514,     0,   515,   516,   517,   518,
11038      519,   520,   521,   522,   523,   524,   525,   526,   527,     0,
11039      528,   529,     0,   530,     0,   532,   533,   534,   535,   536,
11040        0,   537,   538,   539,     0,     0,   540,   541,   542,   543,
11041      544,     0,   545,   546,   547,   548,   549,   550,   551,     0,
11042        0,   552,   553,   554,   555,   556,     0,     0,   557,   558,
11043      559,   560,   561,   562,   563,     0,   564,     0,   566,   567,
11044      568,   569,     0,     0,   570,     0,     0,   571,   572,   573,
11045      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
11046      584,   585,   586,   587,   588,   589,   590,   598,     0,     0,
11047        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11048        0,     0,   228,   229,   230,   231,   232,   233,   234,   235,
11049        0,   236,   237,   238,     0,     0,     0,     0,     0,     0,
11050        0,   239,   240,     0,   241,   242,   243,     0,   245,   246,
11051      247,   248,   249,     0,   251,   252,     0,   253,   254,   255,
11052      256,   257,   258,     0,     0,   259,   260,   261,   262,   263,
11053        0,   264,   265,   266,   267,   268,     0,     0,     0,   270,
11054      271,   272,   273,   274,     0,   276,   277,   278,     0,   279,
11055      280,   281,   282,   283,   284,     0,     0,   286,   287,   288,
11056        0,     0,     0,     0,     0,     0,     0,   290,   291,   292,
11057      293,   294,   295,   296,   297,   298,     0,   299,     0,   300,
11058      301,   302,   303,   304,   305,     0,   306,   307,   308,   309,
11059        0,     0,   310,   311,   312,   313,   314,     0,   315,   316,
11060      317,     0,   318,   319,   320,     0,   321,   322,   323,   324,
11061      325,   326,   327,   328,   329,     0,   330,     0,   331,   332,
11062      333,   334,     0,   335,     0,   336,     0,     0,     0,   339,
11063      340,   341,   342,     0,   343,   344,     0,   345,   346,   347,
11064        0,   348,   349,   350,   351,   924,     0,   354,   355,   356,
11065      357,     0,   358,   359,   360,   361,   362,   363,   364,     0,
11066      365,     0,   367,   368,   369,   370,   371,   372,   373,     0,
11067      374,     0,   375,     0,     0,   378,     0,   380,   381,   382,
11068      383,   384,     0,     0,   385,   386,     0,   388,     0,     0,
11069      390,   391,   392,     0,     0,   393,   394,   395,   396,   397,
11070      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
11071      408,   409,     0,   411,   412,   413,   414,   415,     0,   416,
11072      417,     0,   419,     0,   420,   421,   422,   423,   424,   425,
11073        0,   426,   427,     0,     0,   428,   429,   430,     0,     0,
11074      431,   432,   433,     0,   435,     0,   437,   438,   439,   440,
11075      441,   442,   443,   444,   445,   446,     0,   447,   448,   449,
11076      450,   451,   452,   453,   454,     0,   455,   456,   457,   458,
11077      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
11078      469,     0,   470,   471,   472,   473,   474,   475,   476,   477,
11079      478,   479,   480,   481,     0,   482,   483,     0,   485,   486,
11080      487,   488,   489,   490,   491,   492,   493,   494,   495,   496,
11081      497,   498,   499,     0,   500,   501,   502,   503,   504,     0,
11082      505,   506,   507,   508,   509,     0,   511,   512,   513,   514,
11083        0,   515,   516,   517,   518,   519,   520,   521,   522,   523,
11084      524,   525,   526,   527,     0,   528,   529,     0,   530,     0,
11085      532,   533,   534,   535,   536,     0,   537,   538,   539,     0,
11086        0,   540,   541,   542,   543,   544,     0,   545,   546,   547,
11087      548,   549,   550,   551,     0,     0,   552,   553,   554,   555,
11088      556,     0,     0,   557,   558,   559,   560,   561,   562,   563,
11089        0,   564,     0,   566,   567,   568,   569,     0,     0,   570,
11090        0,     0,   571,   572,   573,   574,   575,   576,   577,   578,
11091      579,   580,   581,   582,   583,   584,   585,   586,   587,   588,
11092      589,   590,   598,     0,     0,     0,     0,     0,     0,     0,
11093        0,     0,     0,     0,     0,     0,     0,   228,   229,   230,
11094      231,   232,   233,   234,   235,     0,   236,   237,   238,     0,
11095        0,     0,     0,     0,     0,     0,   239,   240,     0,   241,
11096      242,   243,     0,   245,   246,   247,   248,   249,     0,   251,
11097      252,     0,   253,   254,   255,   256,   257,   258,     0,     0,
11098      259,   260,   261,   262,   263,     0,   264,   265,   266,   267,
11099      268,     0,     0,     0,   270,   271,   272,   273,   274,     0,
11100      276,   277,   278,     0,   279,   280,   281,   282,   283,   284,
11101        0,     0,   286,   287,   288,     0,     0,     0,     0,     0,
11102        0,     0,   290,   291,   292,   293,   294,   295,   296,   297,
11103      298,     0,   299,     0,   300,   301,   302,   303,   304,   305,
11104        0,   306,   307,   308,   309,     0,     0,   310,   311,   312,
11105      313,   314,     0,   315,   316,   317,     0,   318,   319,   320,
11106        0,   321,   322,   323,   324,   325,   326,   327,   328,   329,
11107        0,   330,     0,   331,   332,   333,   334,     0,   335,     0,
11108      336,     0,     0,     0,   339,   340,   341,   342,     0,   343,
11109      344,     0,   345,   346,   347,     0,   348,   349,   350,   351,
11110      991,     0,   354,   355,   356,   357,     0,   358,   359,   360,
11111      361,   362,   363,   364,     0,   365,     0,   367,   368,   369,
11112      370,   371,   372,   373,     0,   374,     0,   375,     0,     0,
11113      378,     0,   380,   381,   382,   383,   384,     0,     0,   385,
11114      386,     0,   388,     0,     0,   390,   391,   392,     0,     0,
11115      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
11116      403,   404,   405,   406,   407,   408,   409,     0,   411,   412,
11117      413,   414,   415,     0,   416,   417,     0,   419,     0,   420,
11118      421,   422,   423,   424,   425,     0,   426,   427,     0,     0,
11119      428,   429,   430,     0,     0,   431,   432,   433,     0,   435,
11120        0,   437,   438,   439,   440,   441,   442,   443,   444,   445,
11121      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
11122        0,   455,   456,   457,   458,   459,   460,   461,   462,   463,
11123      464,   465,   466,   467,   468,   469,     0,   470,   471,   472,
11124      473,   474,   475,   476,   477,   478,   479,   480,   481,     0,
11125      482,   483,     0,   485,   486,   487,   488,   489,   490,   491,
11126      492,   493,   494,   495,   496,   497,   498,   499,     0,   500,
11127      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
11128        0,   511,   512,   513,   514,     0,   515,   516,   517,   518,
11129      519,   520,   521,   522,   523,   524,   525,   526,   527,     0,
11130      528,   529,     0,   530,     0,   532,   533,   534,   535,   536,
11131        0,   537,   538,   539,     0,     0,   540,   541,   542,   543,
11132      544,     0,   545,   546,   547,   548,   549,   550,   551,     0,
11133        0,   552,   553,   554,   555,   556,     0,     0,   557,   558,
11134      559,   560,   561,   562,   563,     0,   564,     0,   566,   567,
11135      568,   569,     0,     0,   570,     0,     0,   571,   572,   573,
11136      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
11137      584,   585,   586,   587,   588,   589,   590,   598,     0,     0,
11138        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11139        0,     0,   228,   229,   230,   231,   232,   233,   234,   235,
11140        0,   236,   237,   238,     0,     0,     0,     0,     0,     0,
11141        0,   239,   240,     0,   241,   242,   243,     0,   245,   246,
11142      247,   248,   249,     0,   251,   252,     0,   253,   254,   255,
11143      256,   257,   258,     0,     0,   259,   260,   261,   262,   263,
11144        0,   264,   265,   266,   267,   268,     0,     0,     0,   270,
11145      271,   272,   273,   274,     0,   276,   277,   278,     0,   279,
11146      280,   281,   282,   283,   284,     0,     0,   286,   287,   288,
11147        0,     0,     0,     0,     0,     0,     0,   290,   291,   292,
11148      293,   294,   295,   296,   297,   298,     0,   299,     0,   300,
11149      301,   302,   303,   304,   305,     0,   306,   307,   308,   309,
11150        0,     0,   310,   311,   312,   313,   314,     0,   315,   316,
11151      317,     0,   318,   319,   320,     0,   321,   322,   323,   324,
11152      325,   326,   327,   328,   329,     0,   330,     0,   331,   332,
11153      333,   334,     0,   335,     0,   336,     0,     0,     0,   339,
11154      340,   341,   342,     0,   343,   344,     0,   345,   346,   347,
11155        0,   348,   349,   350,   351,   997,     0,   354,   355,   356,
11156      357,     0,   358,   359,   360,   361,   362,   363,   364,     0,
11157      365,     0,   367,   368,   369,   370,   371,   372,   373,     0,
11158      374,     0,   375,     0,     0,   378,     0,   380,   381,   382,
11159      383,   384,     0,     0,   385,   386,     0,   388,     0,     0,
11160      390,   391,   392,     0,     0,   393,   394,   395,   396,   397,
11161      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
11162      408,   409,     0,   411,   412,   413,   414,   415,     0,   416,
11163      417,     0,   419,     0,   420,   421,   422,   423,   424,   425,
11164        0,   426,   427,     0,     0,   428,   429,   430,     0,     0,
11165      431,   432,   433,     0,   435,     0,   437,   438,   439,   440,
11166      441,   442,   443,   444,   445,   446,     0,   447,   448,   449,
11167      450,   451,   452,   453,   454,     0,   455,   456,   457,   458,
11168      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
11169      469,     0,   470,   471,   472,   473,   474,   475,   476,   477,
11170      478,   479,   480,   481,     0,   482,   483,     0,   485,   486,
11171      487,   488,   489,   490,   491,   492,   493,   494,   495,   496,
11172      497,   498,   499,     0,   500,   501,   502,   503,   504,     0,
11173      505,   506,   507,   508,   509,     0,   511,   512,   513,   514,
11174        0,   515,   516,   517,   518,   519,   520,   521,   522,   523,
11175      524,   525,   526,   527,     0,   528,   529,     0,   530,     0,
11176      532,   533,   534,   535,   536,     0,   537,   538,   539,     0,
11177        0,   540,   541,   542,   543,   544,     0,   545,   546,   547,
11178      548,   549,   550,   551,     0,     0,   552,   553,   554,   555,
11179      556,     0,     0,   557,   558,   559,   560,   561,   562,   563,
11180        0,   564,     0,   566,   567,   568,   569,     0,     0,   570,
11181        0,     0,   571,   572,   573,   574,   575,   576,   577,   578,
11182      579,   580,   581,   582,   583,   584,   585,   586,   587,   588,
11183      589,   590,   598,     0,     0,     0,     0,     0,     0,     0,
11184        0,     0,     0,     0,     0,     0,     0,   228,   229,   230,
11185      231,   232,   233,   234,   235,     0,   236,   237,   238,     0,
11186        0,     0,     0,     0,     0,     0,   239,   240,     0,   241,
11187      242,   243,     0,   245,   246,   247,   248,   249,     0,   251,
11188      252,     0,   253,   254,   255,   256,   257,   258,     0,     0,
11189      259,   260,   261,   262,   263,     0,   264,   265,   266,   267,
11190      268,     0,     0,     0,   270,   271,   272,   273,   274,     0,
11191      276,   277,   278,     0,   279,   280,   281,   282,   283,   284,
11192        0,     0,   286,   287,   288,     0,     0,     0,     0,     0,
11193        0,     0,   290,   291,   292,   293,   294,   295,   296,   297,
11194      298,     0,   299,     0,   300,   301,   302,   303,   304,   305,
11195        0,   306,   307,   308,   309,     0,     0,   310,   311,   312,
11196      313,   314,     0,   315,   316,   317,     0,   318,   319,   320,
11197        0,   321,   322,   323,   324,   325,   326,   327,   328,   329,
11198        0,   330,     0,   331,   332,   333,   334,     0,   335,     0,
11199      336,     0,     0,     0,   339,   340,   341,   342,     0,   343,
11200      344,     0,   345,   346,   347,     0,   348,   349,   350,   351,
11201     1014,     0,   354,   355,   356,   357,     0,   358,   359,   360,
11202      361,   362,   363,   364,     0,   365,     0,   367,   368,   369,
11203      370,   371,   372,   373,     0,   374,     0,   375,     0,     0,
11204      378,     0,   380,   381,   382,   383,   384,     0,     0,   385,
11205      386,     0,   388,     0,     0,   390,   391,   392,     0,     0,
11206      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
11207      403,   404,   405,   406,   407,   408,   409,     0,   411,   412,
11208      413,   414,   415,     0,   416,   417,     0,   419,     0,   420,
11209      421,   422,   423,   424,   425,     0,   426,   427,     0,     0,
11210      428,   429,   430,     0,     0,   431,   432,   433,     0,   435,
11211        0,   437,   438,   439,   440,   441,   442,   443,   444,   445,
11212      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
11213        0,   455,   456,   457,   458,   459,   460,   461,   462,   463,
11214      464,   465,   466,   467,   468,   469,     0,   470,   471,   472,
11215      473,   474,   475,   476,   477,   478,   479,   480,   481,     0,
11216      482,   483,     0,   485,   486,   487,   488,   489,   490,   491,
11217      492,   493,   494,   495,   496,   497,   498,   499,     0,   500,
11218      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
11219        0,   511,   512,   513,   514,     0,   515,   516,   517,   518,
11220      519,   520,   521,   522,   523,   524,   525,   526,   527,     0,
11221      528,   529,     0,   530,     0,   532,   533,   534,   535,   536,
11222        0,   537,   538,   539,     0,     0,   540,   541,   542,   543,
11223      544,     0,   545,   546,   547,   548,   549,   550,   551,     0,
11224        0,   552,   553,   554,   555,   556,     0,     0,   557,   558,
11225      559,   560,   561,   562,   563,     0,   564,     0,   566,   567,
11226      568,   569,     0,     0,   570,     0,     0,   571,   572,   573,
11227      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
11228      584,   585,   586,   587,   588,   589,   590,   598,     0,     0,
11229        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11230        0,     0,   228,   229,   230,   231,   232,   233,   234,   235,
11231        0,   236,   237,   238,     0,     0,     0,     0,     0,     0,
11232        0,   239,   240,     0,   241,   242,   243,     0,   245,   246,
11233      247,   248,   249,     0,   251,   252,     0,   253,   254,   255,
11234      256,   257,   258,     0,     0,   259,   260,   261,   262,   263,
11235        0,   264,   265,   266,   267,   268,     0,     0,     0,   270,
11236      271,   272,   273,   274,     0,   276,   277,   278,     0,   279,
11237      280,   281,   282,   283,   284,     0,     0,   286,   287,   288,
11238        0,     0,     0,     0,     0,     0,     0,   290,   291,   292,
11239      293,   294,   295,   296,   297,   298,     0,   299,     0,   300,
11240      301,   302,   303,   304,   305,     0,   306,   307,   308,   309,
11241        0,     0,   310,   311,   312,   313,   314,     0,   315,   316,
11242      317,     0,   318,   319,   320,     0,   321,   322,   323,   324,
11243      325,   326,   327,   328,   329,     0,   330,     0,   331,   332,
11244      333,   334,     0,   335,     0,   336,     0,     0,     0,   339,
11245      340,   341,   342,     0,   343,   344,     0,   345,   346,   347,
11246        0,   348,   349,   350,   351,  1017,     0,   354,   355,   356,
11247      357,     0,   358,   359,   360,   361,   362,   363,   364,     0,
11248      365,     0,   367,   368,   369,   370,   371,   372,   373,     0,
11249      374,     0,   375,     0,     0,   378,     0,   380,   381,   382,
11250      383,   384,     0,     0,   385,   386,     0,   388,     0,     0,
11251      390,   391,   392,     0,     0,   393,   394,   395,   396,   397,
11252      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
11253      408,   409,     0,   411,   412,   413,   414,   415,     0,   416,
11254      417,     0,   419,     0,   420,   421,   422,   423,   424,   425,
11255        0,   426,   427,     0,     0,   428,   429,   430,     0,     0,
11256      431,   432,   433,     0,   435,     0,   437,   438,   439,   440,
11257      441,   442,   443,   444,   445,   446,     0,   447,   448,   449,
11258      450,   451,   452,   453,   454,     0,   455,   456,   457,   458,
11259      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
11260      469,     0,   470,   471,   472,   473,   474,   475,   476,   477,
11261      478,   479,   480,   481,     0,   482,   483,     0,   485,   486,
11262      487,   488,   489,   490,   491,   492,   493,   494,   495,   496,
11263      497,   498,   499,     0,   500,   501,   502,   503,   504,     0,
11264      505,   506,   507,   508,   509,     0,   511,   512,   513,   514,
11265        0,   515,   516,   517,   518,   519,   520,   521,   522,   523,
11266      524,   525,   526,   527,     0,   528,   529,     0,   530,     0,
11267      532,   533,   534,   535,   536,     0,   537,   538,   539,     0,
11268        0,   540,   541,   542,   543,   544,     0,   545,   546,   547,
11269      548,   549,   550,   551,     0,     0,   552,   553,   554,   555,
11270      556,     0,     0,   557,   558,   559,   560,   561,   562,   563,
11271        0,   564,     0,   566,   567,   568,   569,     0,     0,   570,
11272        0,     0,   571,   572,   573,   574,   575,   576,   577,   578,
11273      579,   580,   581,   582,   583,   584,   585,   586,   587,   588,
11274      589,   590,   598,     0,     0,     0,     0,     0,     0,     0,
11275        0,     0,     0,     0,     0,     0,     0,   228,   229,   230,
11276      231,   232,   233,   234,   235,     0,   236,   237,   238,     0,
11277        0,     0,     0,     0,     0,     0,   239,   240,     0,   241,
11278      242,   243,     0,   245,   246,   247,   248,   249,     0,   251,
11279      252,     0,   253,   254,   255,   256,   257,   258,     0,     0,
11280      259,   260,   261,   262,   263,     0,   264,   265,   266,   267,
11281      268,     0,     0,     0,   270,   271,   272,   273,   274,     0,
11282      276,   277,   278,     0,   279,   280,   281,   282,   283,   284,
11283        0,     0,   286,   287,   288,     0,     0,     0,     0,     0,
11284        0,     0,   290,   291,   292,   293,   294,   295,   296,   297,
11285      298,     0,   299,     0,   300,   301,   302,   303,   304,   305,
11286        0,   306,   307,   308,   309,     0,     0,   310,   311,   312,
11287      313,   314,     0,   315,   316,   317,     0,   318,   319,   320,
11288        0,   321,   322,   323,   324,   325,   326,   327,   328,   329,
11289        0,   330,     0,   331,   332,   333,   334,     0,   335,     0,
11290      336,     0,     0,     0,   339,   340,   341,   342,     0,   343,
11291      344,     0,   345,   346,   347,     0,   348,   349,   350,   351,
11292     1019,     0,   354,   355,   356,   357,     0,   358,   359,   360,
11293      361,   362,   363,   364,     0,   365,     0,   367,   368,   369,
11294      370,   371,   372,   373,     0,   374,     0,   375,     0,     0,
11295      378,     0,   380,   381,   382,   383,   384,     0,     0,   385,
11296      386,     0,   388,     0,     0,   390,   391,   392,     0,     0,
11297      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
11298      403,   404,   405,   406,   407,   408,   409,     0,   411,   412,
11299      413,   414,   415,     0,   416,   417,     0,   419,     0,   420,
11300      421,   422,   423,   424,   425,     0,   426,   427,     0,     0,
11301      428,   429,   430,     0,     0,   431,   432,   433,     0,   435,
11302        0,   437,   438,   439,   440,   441,   442,   443,   444,   445,
11303      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
11304        0,   455,   456,   457,   458,   459,   460,   461,   462,   463,
11305      464,   465,   466,   467,   468,   469,     0,   470,   471,   472,
11306      473,   474,   475,   476,   477,   478,   479,   480,   481,     0,
11307      482,   483,     0,   485,   486,   487,   488,   489,   490,   491,
11308      492,   493,   494,   495,   496,   497,   498,   499,     0,   500,
11309      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
11310        0,   511,   512,   513,   514,     0,   515,   516,   517,   518,
11311      519,   520,   521,   522,   523,   524,   525,   526,   527,     0,
11312      528,   529,     0,   530,     0,   532,   533,   534,   535,   536,
11313        0,   537,   538,   539,     0,     0,   540,   541,   542,   543,
11314      544,     0,   545,   546,   547,   548,   549,   550,   551,     0,
11315        0,   552,   553,   554,   555,   556,     0,     0,   557,   558,
11316      559,   560,   561,   562,   563,     0,   564,     0,   566,   567,
11317      568,   569,     0,     0,   570,     0,     0,   571,   572,   573,
11318      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
11319      584,   585,   586,   587,   588,   589,   590,   598,     0,     0,
11320        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11321        0,     0,   228,   229,   230,   231,   232,   233,   234,   235,
11322        0,   236,   237,   238,     0,     0,     0,     0,     0,     0,
11323        0,   239,   240,     0,   241,   242,   243,     0,   245,   246,
11324      247,   248,   249,     0,   251,   252,     0,   253,   254,   255,
11325      256,   257,   258,     0,     0,   259,   260,   261,   262,   263,
11326        0,   264,   265,   266,   267,   268,     0,     0,     0,   270,
11327      271,   272,   273,   274,     0,   276,   277,   278,     0,   279,
11328      280,   281,   282,   283,   284,     0,     0,   286,   287,   288,
11329        0,     0,     0,     0,     0,     0,     0,   290,   291,   292,
11330      293,   294,   295,   296,   297,   298,     0,   299,     0,   300,
11331      301,   302,   303,   304,   305,     0,   306,   307,   308,   309,
11332        0,     0,   310,   311,   312,   313,   314,     0,   315,   316,
11333      317,     0,   318,   319,   320,     0,   321,   322,   323,   324,
11334      325,   326,   327,   328,   329,     0,   330,     0,   331,   332,
11335      333,   334,     0,   335,     0,   336,     0,     0,     0,   339,
11336      340,   341,   342,     0,   343,   344,     0,   345,   346,   347,
11337        0,   348,   349,   350,   351,  1055,     0,   354,   355,   356,
11338      357,     0,   358,   359,   360,   361,   362,   363,   364,     0,
11339      365,     0,   367,   368,   369,   370,   371,   372,   373,     0,
11340      374,     0,   375,     0,     0,   378,     0,   380,   381,   382,
11341      383,   384,     0,     0,   385,   386,     0,   388,     0,     0,
11342      390,   391,   392,     0,     0,   393,   394,   395,   396,   397,
11343      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
11344      408,   409,     0,   411,   412,   413,   414,   415,     0,   416,
11345      417,     0,   419,     0,   420,   421,   422,   423,   424,   425,
11346        0,   426,   427,     0,     0,   428,   429,   430,     0,     0,
11347      431,   432,   433,     0,   435,     0,   437,   438,   439,   440,
11348      441,   442,   443,   444,   445,   446,     0,   447,   448,   449,
11349      450,   451,   452,   453,   454,     0,   455,   456,   457,   458,
11350      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
11351      469,     0,   470,   471,   472,   473,   474,   475,   476,   477,
11352      478,   479,   480,   481,     0,   482,   483,     0,   485,   486,
11353      487,   488,   489,   490,   491,   492,   493,   494,   495,   496,
11354      497,   498,   499,     0,   500,   501,   502,   503,   504,     0,
11355      505,   506,   507,   508,   509,     0,   511,   512,   513,   514,
11356        0,   515,   516,   517,   518,   519,   520,   521,   522,   523,
11357      524,   525,   526,   527,     0,   528,   529,     0,   530,     0,
11358      532,   533,   534,   535,   536,     0,   537,   538,   539,     0,
11359        0,   540,   541,   542,   543,   544,     0,   545,   546,   547,
11360      548,   549,   550,   551,     0,     0,   552,   553,   554,   555,
11361      556,     0,     0,   557,   558,   559,   560,   561,   562,   563,
11362        0,   564,     0,   566,   567,   568,   569,     0,     0,   570,
11363        0,     0,   571,   572,   573,   574,   575,   576,   577,   578,
11364      579,   580,   581,   582,   583,   584,   585,   586,   587,   588,
11365      589,   590,   598,     0,     0,     0,     0,     0,     0,     0,
11366        0,     0,     0,     0,     0,     0,     0,   228,   229,   230,
11367      231,   232,   233,   234,   235,     0,   236,   237,   238,     0,
11368        0,     0,     0,     0,     0,     0,   239,   240,     0,   241,
11369      242,   243,     0,   245,   246,   247,   248,   249,     0,   251,
11370      252,     0,   253,   254,   255,   256,   257,   258,     0,     0,
11371      259,   260,   261,   262,   263,     0,   264,   265,   266,   267,
11372      268,     0,     0,     0,   270,   271,   272,   273,   274,     0,
11373      276,   277,   278,     0,   279,   280,   281,   282,   283,   284,
11374        0,     0,   286,   287,   288,     0,     0,     0,     0,     0,
11375        0,     0,   290,   291,   292,   293,   294,   295,   296,   297,
11376      298,     0,   299,     0,   300,   301,   302,   303,   304,   305,
11377        0,   306,   307,   308,   309,     0,     0,   310,   311,   312,
11378      313,   314,     0,   315,   316,   317,     0,   318,   319,   320,
11379        0,   321,   322,   323,   324,   325,   326,   327,   328,   329,
11380        0,   330,     0,   331,   332,   333,   334,     0,   335,     0,
11381      336,     0,     0,     0,   339,   340,   341,   342,     0,   343,
11382      344,     0,   345,   346,   347,     0,   348,   349,   350,   351,
11383     1119,     0,   354,   355,   356,   357,     0,   358,   359,   360,
11384      361,   362,   363,   364,     0,   365,     0,   367,   368,   369,
11385      370,   371,   372,   373,     0,   374,     0,   375,     0,     0,
11386      378,     0,   380,   381,   382,   383,   384,     0,     0,   385,
11387      386,     0,   388,     0,     0,   390,   391,   392,     0,     0,
11388      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
11389      403,   404,   405,   406,   407,   408,   409,     0,   411,   412,
11390      413,   414,   415,     0,   416,   417,     0,   419,     0,   420,
11391      421,   422,   423,   424,   425,     0,   426,   427,     0,     0,
11392      428,   429,   430,     0,     0,   431,   432,   433,     0,   435,
11393        0,   437,   438,   439,   440,   441,   442,   443,   444,   445,
11394      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
11395        0,   455,   456,   457,   458,   459,   460,   461,   462,   463,
11396      464,   465,   466,   467,   468,   469,     0,   470,   471,   472,
11397      473,   474,   475,   476,   477,   478,   479,   480,   481,     0,
11398      482,   483,     0,   485,   486,   487,   488,   489,   490,   491,
11399      492,   493,   494,   495,   496,   497,   498,   499,     0,   500,
11400      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
11401        0,   511,   512,   513,   514,     0,   515,   516,   517,   518,
11402      519,   520,   521,   522,   523,   524,   525,   526,   527,     0,
11403      528,   529,     0,   530,     0,   532,   533,   534,   535,   536,
11404        0,   537,   538,   539,     0,     0,   540,   541,   542,   543,
11405      544,     0,   545,   546,   547,   548,   549,   550,   551,     0,
11406        0,   552,   553,   554,   555,   556,     0,     0,   557,   558,
11407      559,   560,   561,   562,   563,     0,   564,     0,   566,   567,
11408      568,   569,     0,     0,   570,     0,     0,   571,   572,   573,
11409      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
11410      584,   585,   586,   587,   588,   589,   590,   598,     0,     0,
11411        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11412        0,     0,   228,   229,   230,   231,   232,   233,   234,   235,
11413        0,   236,   237,   238,     0,     0,     0,     0,     0,     0,
11414        0,   239,   240,     0,   241,   242,   243,     0,   245,   246,
11415      247,   248,   249,     0,   251,   252,     0,   253,   254,   255,
11416      256,   257,   258,     0,     0,   259,   260,   261,   262,   263,
11417        0,   264,   265,   266,   267,   268,     0,     0,     0,   270,
11418      271,   272,   273,   274,     0,   276,   277,   278,     0,   279,
11419      280,   281,   282,   283,   284,     0,     0,   286,   287,   288,
11420        0,     0,     0,     0,     0,     0,     0,   290,   291,   292,
11421      293,   294,   295,   296,   297,   298,     0,   299,     0,   300,
11422      301,   302,   303,   304,   305,     0,   306,   307,   308,   309,
11423        0,     0,   310,   311,   312,   313,   314,     0,   315,   316,
11424      317,     0,   318,   319,   320,     0,   321,   322,   323,   324,
11425      325,   326,   327,   328,   329,     0,   330,     0,   331,   332,
11426      333,   334,     0,   335,     0,   336,     0,     0,     0,   339,
11427      340,   341,   342,     0,   343,   344,     0,   345,   346,   347,
11428        0,   348,   349,   350,   351,  1121,     0,   354,   355,   356,
11429      357,     0,   358,   359,   360,   361,   362,   363,   364,     0,
11430      365,     0,   367,   368,   369,   370,   371,   372,   373,     0,
11431      374,     0,   375,     0,     0,   378,     0,   380,   381,   382,
11432      383,   384,     0,     0,   385,   386,     0,   388,     0,     0,
11433      390,   391,   392,     0,     0,   393,   394,   395,   396,   397,
11434      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
11435      408,   409,     0,   411,   412,   413,   414,   415,     0,   416,
11436      417,     0,   419,     0,   420,   421,   422,   423,   424,   425,
11437        0,   426,   427,     0,     0,   428,   429,   430,     0,     0,
11438      431,   432,   433,     0,   435,     0,   437,   438,   439,   440,
11439      441,   442,   443,   444,   445,   446,     0,   447,   448,   449,
11440      450,   451,   452,   453,   454,     0,   455,   456,   457,   458,
11441      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
11442      469,     0,   470,   471,   472,   473,   474,   475,   476,   477,
11443      478,   479,   480,   481,     0,   482,   483,     0,   485,   486,
11444      487,   488,   489,   490,   491,   492,   493,   494,   495,   496,
11445      497,   498,   499,     0,   500,   501,   502,   503,   504,     0,
11446      505,   506,   507,   508,   509,     0,   511,   512,   513,   514,
11447        0,   515,   516,   517,   518,   519,   520,   521,   522,   523,
11448      524,   525,   526,   527,     0,   528,   529,     0,   530,     0,
11449      532,   533,   534,   535,   536,     0,   537,   538,   539,     0,
11450        0,   540,   541,   542,   543,   544,     0,   545,   546,   547,
11451      548,   549,   550,   551,     0,     0,   552,   553,   554,   555,
11452      556,     0,     0,   557,   558,   559,   560,   561,   562,   563,
11453        0,   564,     0,   566,   567,   568,   569,     0,     0,   570,
11454        0,     0,   571,   572,   573,   574,   575,   576,   577,   578,
11455      579,   580,   581,   582,   583,   584,   585,   586,   587,   588,
11456      589,   590,   598,     0,     0,     0,     0,     0,     0,     0,
11457        0,     0,     0,     0,     0,     0,     0,   228,   229,   230,
11458      231,   232,   233,   234,   235,     0,   236,   237,   238,     0,
11459        0,     0,     0,     0,     0,     0,   239,   240,     0,   241,
11460      242,   243,     0,   245,   246,   247,   248,   249,     0,   251,
11461      252,     0,   253,   254,   255,   256,   257,   258,     0,     0,
11462      259,   260,   261,   262,   263,     0,   264,   265,   266,   267,
11463      268,     0,     0,     0,   270,   271,   272,   273,   274,     0,
11464      276,   277,   278,     0,   279,   280,   281,   282,   283,   284,
11465        0,     0,   286,   287,   288,     0,     0,     0,     0,     0,
11466        0,     0,   290,   291,   292,   293,   294,   295,   296,   297,
11467      298,     0,   299,     0,   300,   301,   302,   303,   304,   305,
11468        0,   306,   307,   308,   309,     0,     0,   310,   311,   312,
11469      313,   314,     0,   315,   316,   317,     0,   318,   319,   320,
11470        0,   321,   322,   323,   324,   325,   326,   327,   328,   329,
11471        0,   330,     0,   331,   332,   333,   334,     0,   335,     0,
11472      336,     0,     0,     0,   339,   340,   341,   342,     0,   343,
11473      344,     0,   345,   346,   347,     0,   348,   349,   350,   351,
11474     1131,     0,   354,   355,   356,   357,     0,   358,   359,   360,
11475      361,   362,   363,   364,     0,   365,     0,   367,   368,   369,
11476      370,   371,   372,   373,     0,   374,     0,   375,     0,     0,
11477      378,     0,   380,   381,   382,   383,   384,     0,     0,   385,
11478      386,     0,   388,     0,     0,   390,   391,   392,     0,     0,
11479      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
11480      403,   404,   405,   406,   407,   408,   409,     0,   411,   412,
11481      413,   414,   415,     0,   416,   417,     0,   419,     0,   420,
11482      421,   422,   423,   424,   425,     0,   426,   427,     0,     0,
11483      428,   429,   430,     0,     0,   431,   432,   433,     0,   435,
11484        0,   437,   438,   439,   440,   441,   442,   443,   444,   445,
11485      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
11486        0,   455,   456,   457,   458,   459,   460,   461,   462,   463,
11487      464,   465,   466,   467,   468,   469,     0,   470,   471,   472,
11488      473,   474,   475,   476,   477,   478,   479,   480,   481,     0,
11489      482,   483,     0,   485,   486,   487,   488,   489,   490,   491,
11490      492,   493,   494,   495,   496,   497,   498,   499,     0,   500,
11491      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
11492        0,   511,   512,   513,   514,     0,   515,   516,   517,   518,
11493      519,   520,   521,   522,   523,   524,   525,   526,   527,     0,
11494      528,   529,     0,   530,     0,   532,   533,   534,   535,   536,
11495        0,   537,   538,   539,     0,     0,   540,   541,   542,   543,
11496      544,     0,   545,   546,   547,   548,   549,   550,   551,     0,
11497        0,   552,   553,   554,   555,   556,     0,     0,   557,   558,
11498      559,   560,   561,   562,   563,     0,   564,     0,   566,   567,
11499      568,   569,     0,     0,   570,     0,     0,   571,   572,   573,
11500      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
11501      584,   585,   586,   587,   588,   589,   590,   598,     0,     0,
11502        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11503        0,     0,   228,   229,   230,   231,   232,   233,   234,   235,
11504        0,   236,   237,   238,     0,     0,     0,     0,     0,     0,
11505        0,   239,   240,     0,   241,   242,   243,     0,   245,   246,
11506      247,   248,   249,     0,   251,   252,     0,   253,   254,   255,
11507      256,   257,   258,     0,     0,   259,   260,   261,   262,   263,
11508        0,   264,   265,   266,   267,   268,     0,     0,     0,   270,
11509      271,   272,   273,   274,     0,   276,   277,   278,     0,   279,
11510      280,   281,   282,   283,   284,     0,     0,   286,   287,   288,
11511        0,     0,     0,     0,     0,     0,     0,   290,   291,   292,
11512      293,   294,   295,   296,   297,   298,     0,   299,     0,   300,
11513      301,   302,   303,   304,   305,     0,   306,   307,   308,   309,
11514        0,     0,   310,   311,   312,   313,   314,     0,   315,   316,
11515      317,     0,   318,   319,   320,     0,   321,   322,   323,   324,
11516      325,   326,   327,   328,   329,     0,   330,     0,   331,   332,
11517      333,   334,     0,   335,     0,   336,     0,     0,     0,   339,
11518      340,   341,   342,     0,   343,   344,     0,   345,   346,   347,
11519        0,   348,   349,   350,   351,  1134,     0,   354,   355,   356,
11520      357,     0,   358,   359,   360,   361,   362,   363,   364,     0,
11521      365,     0,   367,   368,   369,   370,   371,   372,   373,     0,
11522      374,     0,   375,     0,     0,   378,     0,   380,   381,   382,
11523      383,   384,     0,     0,   385,   386,     0,   388,     0,     0,
11524      390,   391,   392,     0,     0,   393,   394,   395,   396,   397,
11525      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
11526      408,   409,     0,   411,   412,   413,   414,   415,     0,   416,
11527      417,     0,   419,     0,   420,   421,   422,   423,   424,   425,
11528        0,   426,   427,     0,     0,   428,   429,   430,     0,     0,
11529      431,   432,   433,     0,   435,     0,   437,   438,   439,   440,
11530      441,   442,   443,   444,   445,   446,     0,   447,   448,   449,
11531      450,   451,   452,   453,   454,     0,   455,   456,   457,   458,
11532      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
11533      469,     0,   470,   471,   472,   473,   474,   475,   476,   477,
11534      478,   479,   480,   481,     0,   482,   483,     0,   485,   486,
11535      487,   488,   489,   490,   491,   492,   493,   494,   495,   496,
11536      497,   498,   499,     0,   500,   501,   502,   503,   504,     0,
11537      505,   506,   507,   508,   509,     0,   511,   512,   513,   514,
11538        0,   515,   516,   517,   518,   519,   520,   521,   522,   523,
11539      524,   525,   526,   527,     0,   528,   529,     0,   530,     0,
11540      532,   533,   534,   535,   536,     0,   537,   538,   539,     0,
11541        0,   540,   541,   542,   543,   544,     0,   545,   546,   547,
11542      548,   549,   550,   551,     0,     0,   552,   553,   554,   555,
11543      556,     0,     0,   557,   558,   559,   560,   561,   562,   563,
11544        0,   564,     0,   566,   567,   568,   569,     0,     0,   570,
11545        0,     0,   571,   572,   573,   574,   575,   576,   577,   578,
11546      579,   580,   581,   582,   583,   584,   585,   586,   587,   588,
11547      589,   590,   598,     0,     0,     0,     0,     0,     0,     0,
11548        0,     0,     0,     0,     0,     0,     0,   228,   229,   230,
11549      231,   232,   233,   234,   235,     0,   236,   237,   238,     0,
11550        0,     0,     0,     0,     0,     0,   239,   240,     0,   241,
11551      242,   243,     0,   245,   246,   247,   248,   249,     0,   251,
11552      252,     0,   253,   254,   255,   256,   257,   258,     0,     0,
11553      259,   260,   261,   262,   263,     0,   264,   265,   266,   267,
11554      268,     0,     0,     0,   270,   271,   272,   273,   274,     0,
11555      276,   277,   278,     0,   279,   280,   281,   282,   283,   284,
11556        0,     0,   286,   287,   288,     0,     0,     0,     0,     0,
11557        0,     0,   290,   291,   292,   293,   294,   295,   296,   297,
11558      298,     0,   299,     0,   300,   301,   302,   303,   304,   305,
11559        0,   306,   307,   308,   309,     0,     0,   310,   311,   312,
11560      313,   314,     0,   315,   316,   317,     0,   318,   319,   320,
11561        0,   321,   322,   323,   324,   325,   326,   327,   328,   329,
11562        0,   330,     0,   331,   332,   333,   334,     0,   335,     0,
11563      336,     0,     0,     0,   339,   340,   341,   342,     0,   343,
11564      344,     0,   345,   346,   347,     0,   348,   349,   350,   351,
11565     1137,     0,   354,   355,   356,   357,     0,   358,   359,   360,
11566      361,   362,   363,   364,     0,   365,     0,   367,   368,   369,
11567      370,   371,   372,   373,     0,   374,     0,   375,     0,     0,
11568      378,     0,   380,   381,   382,   383,   384,     0,     0,   385,
11569      386,     0,   388,     0,     0,   390,   391,   392,     0,     0,
11570      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
11571      403,   404,   405,   406,   407,   408,   409,     0,   411,   412,
11572      413,   414,   415,     0,   416,   417,     0,   419,     0,   420,
11573      421,   422,   423,   424,   425,     0,   426,   427,     0,     0,
11574      428,   429,   430,     0,     0,   431,   432,   433,     0,   435,
11575        0,   437,   438,   439,   440,   441,   442,   443,   444,   445,
11576      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
11577        0,   455,   456,   457,   458,   459,   460,   461,   462,   463,
11578      464,   465,   466,   467,   468,   469,     0,   470,   471,   472,
11579      473,   474,   475,   476,   477,   478,   479,   480,   481,     0,
11580      482,   483,     0,   485,   486,   487,   488,   489,   490,   491,
11581      492,   493,   494,   495,   496,   497,   498,   499,     0,   500,
11582      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
11583        0,   511,   512,   513,   514,     0,   515,   516,   517,   518,
11584      519,   520,   521,   522,   523,   524,   525,   526,   527,     0,
11585      528,   529,     0,   530,     0,   532,   533,   534,   535,   536,
11586        0,   537,   538,   539,     0,     0,   540,   541,   542,   543,
11587      544,     0,   545,   546,   547,   548,   549,   550,   551,     0,
11588        0,   552,   553,   554,   555,   556,     0,     0,   557,   558,
11589      559,   560,   561,   562,   563,     0,   564,     0,   566,   567,
11590      568,   569,     0,     0,   570,     0,     0,   571,   572,   573,
11591      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
11592      584,   585,   586,   587,   588,   589,   590,   598,     0,     0,
11593        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11594        0,     0,   228,   229,   230,   231,   232,   233,   234,   235,
11595        0,   236,   237,   238,     0,     0,     0,     0,     0,     0,
11596        0,   239,   240,     0,   241,   242,   243,     0,   245,   246,
11597      247,   248,   249,     0,   251,   252,     0,   253,   254,   255,
11598      256,   257,   258,     0,     0,   789,   260,   261,   262,   263,
11599        0,   264,   265,   266,   267,   268,     0,     0,     0,   270,
11600      271,   272,   273,   274,     0,   276,   277,   278,     0,   279,
11601      280,   281,   282,   283,   284,     0,     0,   286,   287,   288,
11602        0,     0,     0,     0,     0,     0,     0,   290,   291,   292,
11603      293,   294,   295,   296,   297,   298,     0,   299,     0,   300,
11604      301,   302,   303,   304,   305,     0,   306,   307,   308,   309,
11605        0,     0,   310,   311,   312,   313,   314,     0,   315,   316,
11606      317,     0,   318,   319,   320,     0,   321,   322,   323,   324,
11607      325,   326,   327,   328,   329,     0,   330,     0,   331,   332,
11608      333,   334,     0,   335,     0,   336,     0,     0,     0,   339,
11609      340,   341,   342,     0,   343,   344,     0,   345,   346,   347,
11610        0,   348,   349,   350,   351,   352,     0,   354,   355,   356,
11611      357,     0,   358,   359,   360,   361,   362,   363,   364,     0,
11612      365,     0,   367,   368,   369,   370,   371,   372,   373,     0,
11613      374,     0,   375,     0,     0,   378,     0,   380,   381,   382,
11614      383,   384,     0,     0,   385,   386,     0,   388,     0,     0,
11615      390,   391,   392,     0,     0,   393,   394,   395,   396,   397,
11616      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
11617      792,   409,     0,   411,   412,   413,   414,   415,     0,   416,
11618      417,     0,   419,     0,   420,   421,   422,   423,   424,   425,
11619        0,   426,   427,     0,     0,   428,   429,   430,     0,     0,
11620      431,   432,   433,     0,   435,     0,   437,   438,   439,   440,
11621      441,   442,   443,   444,   445,   446,     0,   447,   448,   449,
11622      450,   451,   452,   453,   454,     0,   455,   456,   457,   458,
11623      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
11624      469,     0,   470,   471,   472,   473,   474,   475,   476,   477,
11625      478,   479,   480,   481,     0,   482,   483,     0,   793,   486,
11626      487,   488,   489,   490,   491,   492,   493,   794,   495,   496,
11627      497,   498,   499,     0,   500,   501,   502,   503,  1315,     0,
11628      505,   506,   507,   508,   509,     0,   511,   512,   513,   514,
11629        0,   515,   516,   517,   518,   519,   520,   521,   522,   523,
11630      524,   525,   526,   527,     0,   528,   529,     0,   530,     0,
11631      532,   533,   534,   535,   536,     0,   537,   796,   539,     0,
11632        0,   797,   541,   542,   543,   544,     0,   545,   546,   547,
11633      548,   549,   550,   551,     0,     0,   552,   553,   554,   555,
11634      556,     0,     0,   557,   558,   559,   560,   561,   562,   563,
11635        0,   564,     0,   566,   567,   568,   569,     0,     0,   570,
11636        0,     0,   571,   572,   573,   574,   575,   798,   577,   578,
11637      579,   580,   581,   582,   583,   584,   585,   586,   587,   588,
11638      589,   590,   598,     0,     0,     0,     0,     0,     0,     0,
11639        0,     0,     0,     0,     0,     0,     0,   228,   229,   230,
11640      231,   232,   233,   234,   235,     0,   236,   237,   238,     0,
11641        0,     0,     0,     0,     0,     0,   239,   240,     0,   241,
11642      242,   243,     0,   245,   246,   247,   248,   249,     0,   251,
11643      252,     0,   253,   254,   255,   256,   257,   258,     0,     0,
11644      259,   260,   261,   262,   263,     0,   264,   265,   266,   267,
11645      268,     0,     0,     0,   270,   271,   272,   273,   274,     0,
11646      276,   277,   278,     0,   279,   280,   281,   282,   283,   284,
11647        0,     0,   286,   287,   288,     0,     0,     0,     0,     0,
11648        0,     0,   290,   291,   292,   293,   294,   295,   296,   297,
11649      298,     0,   299,     0,   300,   301,   302,   303,   304,   305,
11650        0,   306,   307,   308,   309,     0,     0,   310,   311,   312,
11651      313,   314,     0,   315,   316,   317,     0,   318,   319,   320,
11652        0,   321,   322,   323,   324,   325,   326,   327,   328,   329,
11653        0,   330,     0,   331,   332,   333,   334,     0,   335,     0,
11654      336,     0,     0,     0,   339,   340,   341,   342,     0,   343,
11655      344,     0,   345,   346,   347,     0,   348,   349,   350,   351,
11656     1753,     0,   354,   355,   356,   357,     0,   358,   359,   360,
11657      361,   362,   363,   364,     0,   365,     0,   367,   368,   369,
11658      370,   371,   372,   373,     0,   374,     0,   375,     0,     0,
11659      378,     0,   380,   381,   382,   383,   384,     0,     0,   385,
11660      386,     0,   388,     0,     0,   390,   391,   392,     0,     0,
11661      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
11662      403,   404,   405,   406,   407,   408,   409,     0,   411,   412,
11663      413,   414,   415,     0,   416,   417,     0,   419,     0,   420,
11664      421,   422,   423,   424,   425,     0,   426,   427,     0,     0,
11665      428,   429,   430,     0,     0,   431,   432,   433,     0,   435,
11666        0,   437,   438,   439,   440,   441,   442,   443,   444,   445,
11667      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
11668        0,   455,   456,   457,   458,   459,   460,   461,   462,   463,
11669      464,   465,   466,   467,   468,   469,     0,   470,   471,   472,
11670      473,   474,   475,   476,   477,   478,   479,   480,   481,     0,
11671      482,   483,     0,   485,   486,   487,   488,   489,   490,   491,
11672      492,   493,   494,   495,   496,   497,   498,   499,     0,   500,
11673      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
11674        0,   511,   512,   513,   514,     0,   515,   516,   517,   518,
11675      519,   520,   521,   522,   523,   524,   525,   526,   527,     0,
11676      528,   529,     0,   530,     0,   532,   533,   534,   535,   536,
11677        0,   537,   538,   539,     0,     0,   540,   541,   542,   543,
11678      544,     0,   545,   546,   547,   548,   549,   550,   551,     0,
11679        0,   552,   553,   554,   555,   556,     0,     0,   557,   558,
11680      559,   560,   561,   562,   563,     0,   564,     0,   566,   567,
11681      568,   569,     0,     0,   570,     0,     0,   571,   572,   573,
11682      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
11683      584,   585,   586,   587,   588,   589,   590,   598,     0,     0,
11684        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11685        0,     0,   228,   229,   230,   231,   232,   233,   234,   235,
11686        0,   236,   237,   238,     0,     0,     0,     0,     0,     0,
11687        0,   239,   240,     0,   241,   242,   243,     0,   245,   246,
11688      247,   248,   249,     0,   251,   252,     0,   253,   254,   255,
11689      256,   257,   258,     0,     0,   259,   260,   261,   262,   263,
11690        0,   264,   265,   266,   267,   268,     0,     0,     0,   270,
11691      271,   272,   273,   274,     0,   276,   277,   278,     0,   279,
11692      280,   281,   282,   283,   284,     0,     0,   286,   287,   288,
11693        0,     0,     0,     0,     0,     0,     0,   290,   291,   292,
11694      293,   294,   295,   296,   297,   298,     0,   299,     0,   300,
11695      301,   302,   303,   304,   305,     0,   306,   307,   308,   309,
11696        0,     0,   310,   311,   312,   313,   314,     0,   315,   316,
11697      317,     0,   318,   319,   320,     0,   321,   322,   323,   324,
11698      325,   326,   327,   328,   329,     0,   330,     0,   331,   332,
11699      333,   334,     0,   335,     0,   336,     0,     0,     0,   339,
11700      340,   341,   342,     0,   343,   344,     0,   345,   346,   347,
11701        0,   348,   349,   350,   351,  1791,     0,   354,   355,   356,
11702      357,     0,   358,   359,   360,   361,   362,   363,   364,     0,
11703      365,     0,   367,   368,   369,   370,   371,   372,   373,     0,
11704      374,     0,   375,     0,     0,   378,     0,   380,   381,   382,
11705      383,   384,     0,     0,   385,   386,     0,   388,     0,     0,
11706      390,   391,   392,     0,     0,   393,   394,   395,   396,   397,
11707      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
11708      408,   409,     0,   411,   412,   413,   414,   415,     0,   416,
11709      417,     0,   419,     0,   420,   421,   422,   423,   424,   425,
11710        0,   426,   427,     0,     0,   428,   429,   430,     0,     0,
11711      431,   432,   433,     0,   435,     0,   437,   438,   439,   440,
11712      441,   442,   443,   444,   445,   446,     0,   447,   448,   449,
11713      450,   451,   452,   453,   454,     0,   455,   456,   457,   458,
11714      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
11715      469,     0,   470,   471,   472,   473,   474,   475,   476,   477,
11716      478,   479,   480,   481,     0,   482,   483,     0,   485,   486,
11717      487,   488,   489,   490,   491,   492,   493,   494,   495,   496,
11718      497,   498,   499,     0,   500,   501,   502,   503,   504,     0,
11719      505,   506,   507,   508,   509,     0,   511,   512,   513,   514,
11720        0,   515,   516,   517,   518,   519,   520,   521,   522,   523,
11721      524,   525,   526,   527,     0,   528,   529,     0,   530,     0,
11722      532,   533,   534,   535,   536,     0,   537,   538,   539,     0,
11723        0,   540,   541,   542,   543,   544,     0,   545,   546,   547,
11724      548,   549,   550,   551,     0,     0,   552,   553,   554,   555,
11725      556,     0,     0,   557,   558,   559,   560,   561,   562,   563,
11726        0,   564,     0,   566,   567,   568,   569,     0,     0,   570,
11727        0,     0,   571,   572,   573,   574,   575,   576,   577,   578,
11728      579,   580,   581,   582,   583,   584,   585,   586,   587,   588,
11729      589,   590,   598,     0,     0,     0,     0,     0,     0,     0,
11730        0,     0,     0,     0,     0,     0,     0,   228,   229,   230,
11731      231,   232,   233,   234,   235,     0,   236,   237,   238,     0,
11732        0,     0,     0,     0,     0,     0,   239,   240,     0,   241,
11733      242,   243,     0,   245,   246,   247,   248,   249,     0,   251,
11734      252,     0,   253,   254,   255,   256,   257,   258,     0,     0,
11735      259,   260,   261,   262,   263,     0,   264,   265,   266,   267,
11736      268,     0,     0,     0,   270,   271,   272,   273,   274,     0,
11737      276,   277,   278,     0,   279,   280,   281,   282,   283,   284,
11738        0,     0,   286,   287,   288,     0,     0,     0,     0,     0,
11739        0,     0,   290,   291,   292,   293,   294,   295,   296,   297,
11740      298,     0,   299,     0,   300,   301,   302,   303,   304,   305,
11741        0,   306,   307,   308,   309,     0,     0,   310,   311,   312,
11742      313,   314,     0,   315,   316,   317,     0,   318,   319,   320,
11743        0,   321,   322,   323,   324,   325,   326,   327,   328,   329,
11744        0,   330,     0,   331,   332,   333,   334,     0,   335,     0,
11745      336,     0,     0,     0,   339,   340,   341,   342,     0,   343,
11746      344,     0,   345,   346,   347,     0,   348,   349,   350,   351,
11747     1793,     0,   354,   355,   356,   357,     0,   358,   359,   360,
11748      361,   362,   363,   364,     0,   365,     0,   367,   368,   369,
11749      370,   371,   372,   373,     0,   374,     0,   375,     0,     0,
11750      378,     0,   380,   381,   382,   383,   384,     0,     0,   385,
11751      386,     0,   388,     0,     0,   390,   391,   392,     0,     0,
11752      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
11753      403,   404,   405,   406,   407,   408,   409,     0,   411,   412,
11754      413,   414,   415,     0,   416,   417,     0,   419,     0,   420,
11755      421,   422,   423,   424,   425,     0,   426,   427,     0,     0,
11756      428,   429,   430,     0,     0,   431,   432,   433,     0,   435,
11757        0,   437,   438,   439,   440,   441,   442,   443,   444,   445,
11758      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
11759        0,   455,   456,   457,   458,   459,   460,   461,   462,   463,
11760      464,   465,   466,   467,   468,   469,     0,   470,   471,   472,
11761      473,   474,   475,   476,   477,   478,   479,   480,   481,     0,
11762      482,   483,     0,   485,   486,   487,   488,   489,   490,   491,
11763      492,   493,   494,   495,   496,   497,   498,   499,     0,   500,
11764      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
11765        0,   511,   512,   513,   514,     0,   515,   516,   517,   518,
11766      519,   520,   521,   522,   523,   524,   525,   526,   527,     0,
11767      528,   529,     0,   530,     0,   532,   533,   534,   535,   536,
11768        0,   537,   538,   539,     0,     0,   540,   541,   542,   543,
11769      544,     0,   545,   546,   547,   548,   549,   550,   551,     0,
11770        0,   552,   553,   554,   555,   556,     0,     0,   557,   558,
11771      559,   560,   561,   562,   563,     0,   564,     0,   566,   567,
11772      568,   569,     0,     0,   570,     0,     0,   571,   572,   573,
11773      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
11774      584,   585,   586,   587,   588,   589,   590,   598,     0,     0,
11775        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11776        0,     0,   228,   229,   230,   231,   232,   233,   234,   235,
11777        0,   236,   237,   238,     0,     0,     0,     0,     0,     0,
11778        0,   239,   240,     0,   241,   242,   243,     0,   245,   246,
11779      247,   248,   249,     0,   251,   252,     0,   253,   254,   255,
11780      256,   257,   258,     0,     0,   259,   260,   261,   262,   263,
11781        0,   264,   265,   266,   267,   268,     0,     0,     0,   270,
11782      271,   272,   273,   274,     0,   276,   277,   278,     0,   279,
11783      280,   281,   282,   283,   284,     0,     0,   286,   287,   288,
11784        0,     0,     0,     0,     0,     0,     0,   290,   291,   292,
11785      293,   294,   295,   296,   297,   298,     0,   299,     0,   300,
11786      301,   302,   303,   304,   305,     0,   306,   307,   308,   309,
11787        0,     0,   310,   311,   312,   313,   314,     0,   315,   316,
11788      317,     0,   318,   319,   320,     0,   321,   322,   323,   324,
11789      325,   326,   327,   328,   329,     0,   330,     0,   331,   332,
11790      333,   334,     0,   335,     0,   336,     0,     0,     0,   339,
11791      340,   341,   342,     0,   343,   344,     0,   345,   346,   347,
11792        0,   348,   349,   350,   351,  1864,     0,   354,   355,   356,
11793      357,     0,   358,   359,   360,   361,   362,   363,   364,     0,
11794      365,     0,   367,   368,   369,   370,   371,   372,   373,     0,
11795      374,     0,   375,     0,     0,   378,     0,   380,   381,   382,
11796      383,   384,     0,     0,   385,   386,     0,   388,     0,     0,
11797      390,   391,   392,     0,     0,   393,   394,   395,   396,   397,
11798      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
11799      408,   409,     0,   411,   412,   413,   414,   415,     0,   416,
11800      417,     0,   419,     0,   420,   421,   422,   423,   424,   425,
11801        0,   426,   427,     0,     0,   428,   429,   430,     0,     0,
11802      431,   432,   433,     0,   435,     0,   437,   438,   439,   440,
11803      441,   442,   443,   444,   445,   446,     0,   447,   448,   449,
11804      450,   451,   452,   453,   454,     0,   455,   456,   457,   458,
11805      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
11806      469,     0,   470,   471,   472,   473,   474,   475,   476,   477,
11807      478,   479,   480,   481,     0,   482,   483,     0,   485,   486,
11808      487,   488,   489,   490,   491,   492,   493,   494,   495,   496,
11809      497,   498,   499,     0,   500,   501,   502,   503,   504,     0,
11810      505,   506,   507,   508,   509,     0,   511,   512,   513,   514,
11811        0,   515,   516,   517,   518,   519,   520,   521,   522,   523,
11812      524,   525,   526,   527,     0,   528,   529,     0,   530,     0,
11813      532,   533,   534,   535,   536,     0,   537,   538,   539,     0,
11814        0,   540,   541,   542,   543,   544,     0,   545,   546,   547,
11815      548,   549,   550,   551,     0,     0,   552,   553,   554,   555,
11816      556,     0,     0,   557,   558,   559,   560,   561,   562,   563,
11817        0,   564,     0,   566,   567,   568,   569,     0,     0,   570,
11818        0,     0,   571,   572,   573,   574,   575,   576,   577,   578,
11819      579,   580,   581,   582,   583,   584,   585,   586,   587,   588,
11820      589,   590,   598,     0,     0,     0,     0,     0,     0,     0,
11821        0,     0,     0,     0,     0,     0,     0,   228,   229,   230,
11822      231,   232,   233,   234,   235,     0,   236,   237,   238,     0,
11823        0,     0,     0,     0,     0,     0,   239,   240,     0,   241,
11824      242,   243,     0,   245,   246,   247,   248,   249,     0,   251,
11825      252,     0,   253,   254,   255,   256,   257,   258,     0,     0,
11826      259,   260,   261,   262,   263,     0,   264,   265,   266,   267,
11827      268,     0,     0,     0,   270,   271,   272,   273,   274,     0,
11828      276,   277,   278,     0,   279,   280,   281,   282,   283,   284,
11829        0,     0,   286,   287,   288,     0,     0,     0,     0,     0,
11830        0,     0,   290,   291,   292,   293,   294,   295,   296,   297,
11831      298,     0,   299,     0,   300,   301,   302,   303,   304,   305,
11832        0,   306,   307,   308,   309,     0,     0,   310,   311,   312,
11833      313,   314,     0,   315,   316,   317,     0,   318,   319,   320,
11834        0,   321,   322,   323,   324,   325,   326,   327,   328,   329,
11835        0,   330,     0,   331,   332,   333,   334,     0,   335,     0,
11836      336,     0,     0,     0,   339,   340,   341,   342,     0,   343,
11837      344,     0,   345,   346,   347,     0,   348,   349,   350,   351,
11838     1866,     0,   354,   355,   356,   357,     0,   358,   359,   360,
11839      361,   362,   363,   364,     0,   365,     0,   367,   368,   369,
11840      370,   371,   372,   373,     0,   374,     0,   375,     0,     0,
11841      378,     0,   380,   381,   382,   383,   384,     0,     0,   385,
11842      386,     0,   388,     0,     0,   390,   391,   392,     0,     0,
11843      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
11844      403,   404,   405,   406,   407,   408,   409,     0,   411,   412,
11845      413,   414,   415,     0,   416,   417,     0,   419,     0,   420,
11846      421,   422,   423,   424,   425,     0,   426,   427,     0,     0,
11847      428,   429,   430,     0,     0,   431,   432,   433,     0,   435,
11848        0,   437,   438,   439,   440,   441,   442,   443,   444,   445,
11849      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
11850        0,   455,   456,   457,   458,   459,   460,   461,   462,   463,
11851      464,   465,   466,   467,   468,   469,     0,   470,   471,   472,
11852      473,   474,   475,   476,   477,   478,   479,   480,   481,     0,
11853      482,   483,     0,   485,   486,   487,   488,   489,   490,   491,
11854      492,   493,   494,   495,   496,   497,   498,   499,     0,   500,
11855      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
11856        0,   511,   512,   513,   514,     0,   515,   516,   517,   518,
11857      519,   520,   521,   522,   523,   524,   525,   526,   527,     0,
11858      528,   529,     0,   530,     0,   532,   533,   534,   535,   536,
11859        0,   537,   538,   539,     0,     0,   540,   541,   542,   543,
11860      544,     0,   545,   546,   547,   548,   549,   550,   551,     0,
11861        0,   552,   553,   554,   555,   556,     0,     0,   557,   558,
11862      559,   560,   561,   562,   563,     0,   564,     0,   566,   567,
11863      568,   569,     0,     0,   570,     0,     0,   571,   572,   573,
11864      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
11865      584,   585,   586,   587,   588,   589,   590,   598,     0,     0,
11866        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11867        0,     0,   228,   229,   230,   231,   232,   233,   234,   235,
11868        0,   236,   237,   238,     0,     0,     0,     0,     0,     0,
11869        0,   239,   240,     0,   241,   242,   243,     0,   245,   246,
11870      247,   248,   249,     0,   251,   252,     0,   253,   254,   255,
11871      256,   257,   258,     0,     0,   259,   260,   261,   262,   263,
11872        0,   264,   265,   266,   267,   268,     0,     0,     0,   270,
11873      271,   272,   273,   274,     0,   276,   277,   278,     0,   279,
11874      280,   281,   282,   283,   284,     0,     0,   286,   287,   288,
11875        0,     0,     0,     0,     0,     0,     0,   290,   291,   292,
11876      293,   294,   295,   296,   297,   298,     0,   299,     0,   300,
11877      301,   302,   303,   304,   305,     0,   306,   307,   308,   309,
11878        0,     0,   310,   311,   312,   313,   314,     0,   315,   316,
11879      317,     0,   318,   319,   320,     0,   321,   322,   323,   324,
11880      325,   326,   327,   328,   329,     0,   330,     0,   331,   332,
11881      333,   334,     0,   335,     0,   336,     0,     0,     0,   339,
11882      340,   341,   342,     0,   343,   344,     0,   345,   346,   347,
11883        0,   348,   349,   350,   351,  1868,     0,   354,   355,   356,
11884      357,     0,   358,   359,   360,   361,   362,   363,   364,     0,
11885      365,     0,   367,   368,   369,   370,   371,   372,   373,     0,
11886      374,     0,   375,     0,     0,   378,     0,   380,   381,   382,
11887      383,   384,     0,     0,   385,   386,     0,   388,     0,     0,
11888      390,   391,   392,     0,     0,   393,   394,   395,   396,   397,
11889      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
11890      408,   409,     0,   411,   412,   413,   414,   415,     0,   416,
11891      417,     0,   419,     0,   420,   421,   422,   423,   424,   425,
11892        0,   426,   427,     0,     0,   428,   429,   430,     0,     0,
11893      431,   432,   433,     0,   435,     0,   437,   438,   439,   440,
11894      441,   442,   443,   444,   445,   446,     0,   447,   448,   449,
11895      450,   451,   452,   453,   454,     0,   455,   456,   457,   458,
11896      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
11897      469,     0,   470,   471,   472,   473,   474,   475,   476,   477,
11898      478,   479,   480,   481,     0,   482,   483,     0,   485,   486,
11899      487,   488,   489,   490,   491,   492,   493,   494,   495,   496,
11900      497,   498,   499,     0,   500,   501,   502,   503,   504,     0,
11901      505,   506,   507,   508,   509,     0,   511,   512,   513,   514,
11902        0,   515,   516,   517,   518,   519,   520,   521,   522,   523,
11903      524,   525,   526,   527,     0,   528,   529,     0,   530,     0,
11904      532,   533,   534,   535,   536,     0,   537,   538,   539,     0,
11905        0,   540,   541,   542,   543,   544,     0,   545,   546,   547,
11906      548,   549,   550,   551,     0,     0,   552,   553,   554,   555,
11907      556,     0,     0,   557,   558,   559,   560,   561,   562,   563,
11908        0,   564,     0,   566,   567,   568,   569,     0,     0,   570,
11909        0,     0,   571,   572,   573,   574,   575,   576,   577,   578,
11910      579,   580,   581,   582,   583,   584,   585,   586,   587,   588,
11911      589,   590,   598,     0,     0,     0,     0,     0,     0,     0,
11912        0,     0,     0,     0,     0,     0,     0,   228,   229,   230,
11913      231,   232,   233,   234,   235,     0,   236,   237,   238,     0,
11914        0,     0,     0,     0,     0,     0,   239,   240,     0,   241,
11915      242,   243,     0,   245,   246,   247,   248,   249,     0,   251,
11916      252,     0,   253,   254,   255,   256,   257,   258,     0,     0,
11917      259,   260,   261,   262,   263,     0,   264,   265,   266,   267,
11918      268,     0,     0,     0,   270,   271,   272,   273,   274,     0,
11919      276,   277,   278,     0,   279,   280,   281,   282,   283,   284,
11920        0,     0,   286,   287,   288,     0,     0,     0,     0,     0,
11921        0,     0,   290,   291,   292,   293,   294,   295,   296,   297,
11922      298,     0,   299,     0,   300,   301,   302,   303,   304,   305,
11923        0,   306,   307,   308,   309,     0,     0,   310,   311,   312,
11924      313,   314,     0,   315,   316,   317,     0,   318,   319,   320,
11925        0,   321,   322,   323,   324,   325,   326,   327,   328,   329,
11926        0,   330,     0,   331,   332,   333,   334,     0,   335,     0,
11927      336,     0,     0,     0,   339,   340,   341,   342,     0,   343,
11928      344,     0,   345,   346,   347,     0,   348,   349,   350,   351,
11929      352,     0,   354,   355,   356,   357,     0,   358,   359,   360,
11930      361,   362,   363,   364,     0,   365,     0,   367,   368,   369,
11931      370,   371,   372,   373,     0,   374,     0,   375,     0,     0,
11932      378,     0,   380,   381,   382,   383,   384,     0,     0,   385,
11933      386,     0,   388,     0,     0,   390,   391,   392,     0,     0,
11934      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
11935      403,   404,   405,   406,   407,   408,   409,     0,   411,   412,
11936      413,   414,   415,     0,   416,   417,     0,   419,     0,   420,
11937      421,   422,   423,   424,   425,     0,   426,   427,     0,     0,
11938      428,   429,   430,     0,     0,   431,   432,   433,     0,   435,
11939        0,   437,   438,   439,   440,   441,   442,   443,   444,   445,
11940      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
11941        0,   455,   456,   457,   458,   459,   460,   461,   462,   463,
11942      464,   465,   466,   467,   468,   469,     0,   470,   471,   472,
11943      473,   474,   475,   476,   477,   478,   479,   480,   481,     0,
11944      482,   483,     0,   485,   486,   487,   488,   489,   490,   491,
11945      492,  1969,   494,   495,   496,   497,   498,   499,     0,   500,
11946      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
11947        0,   511,   512,   513,   514,     0,   515,   516,   517,   518,
11948      519,   520,   521,   522,   523,   524,   525,   526,   527,     0,
11949      528,   529,     0,   530,     0,   532,   533,   534,   535,   536,
11950        0,   537,   538,   539,     0,     0,   540,   541,   542,   543,
11951      544,     0,   545,   546,   547,   548,   549,   550,   551,     0,
11952        0,   552,   553,   554,   555,   556,     0,     0,   557,   558,
11953      559,   560,   561,   562,   563,     0,   564,     0,   566,   567,
11954      568,   569,     0,     0,   570,     0,     0,   571,   572,   573,
11955      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
11956      584,   585,   586,   587,   588,   589,   590,   598,     0,     0,
11957        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11958        0,     0,   228,   229,   230,   231,   232,   233,   234,   235,
11959        0,   236,   237,   238,     0,     0,     0,     0,     0,  2146,
11960        0,   239,   240,     0,   241,   242,   243,     0,   245,   246,
11961      247,   248,   249,     0,   251,   252,     0,   253,   254,   255,
11962      256,   257,   258,     0,     0,   259,   260,   261,   262,   263,
11963        0,   264,   265,   266,   267,   268,     0,     0,     0,   270,
11964      271,   272,   273,   274,     0,   276,   277,   278,     0,   279,
11965      280,   281,   282,   283,   284,     0,     0,   286,   287,   288,
11966        0,     0,     0,     0,     0,     0,     0,   290,   291,   292,
11967      293,   294,   295,   296,   297,   298,     0,   299,     0,   300,
11968      301,   302,   303,   304,   305,     0,   306,   307,   308,   309,
11969        0,     0,   310,   311,   312,   313,   314,     0,   315,   316,
11970      317,     0,   318,   319,   320,     0,   321,   322,   323,   324,
11971      325,   326,   327,   328,   329,     0,   330,     0,   331,   332,
11972      333,   334,     0,   335,     0,   336,     0,     0,     0,   339,
11973      340,   341,   342,     0,   343,   344,     0,   345,   346,   347,
11974        0,   348,   349,   350,   351,   352,     0,   354,   355,   356,
11975      357,     0,   358,   359,   360,   361,   362,   363,   364,     0,
11976      365,     0,   367,   368,   369,   370,   371,   372,   373,     0,
11977      374,     0,   375,     0,     0,   378,     0,   380,   381,   382,
11978      383,   384,     0,     0,   385,   386,     0,   388,     0,     0,
11979      390,   391,   392,     0,     0,   393,   394,   395,   396,   397,
11980      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
11981      408,   409,     0,   411,   412,   413,   414,   415,     0,   416,
11982      417,     0,   419,     0,   420,   421,   422,   423,   424,   425,
11983        0,   426,   427,     0,     0,   428,   429,   430,     0,     0,
11984      431,   432,   433,     0,   435,     0,   437,   438,   439,   440,
11985      441,   442,   443,   444,   445,   446,     0,   447,   448,   449,
11986      450,   451,   452,   453,   454,     0,   455,   456,   457,   458,
11987      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
11988      469,     0,   470,   471,   472,   473,   474,   475,   476,   477,
11989      478,   479,   480,   481,     0,   482,   483,     0,   485,   486,
11990      487,   488,   489,   490,   491,   492,   493,   494,   495,   496,
11991      497,   498,   499,     0,   500,   501,   502,   503,   504,     0,
11992        0,   506,   507,   508,   509,     0,   511,   512,   513,   514,
11993        0,   515,   516,   517,   518,   519,   520,   521,   522,   523,
11994      524,   525,   526,   527,     0,   528,   529,     0,   530,     0,
11995      532,   533,   534,   535,   536,     0,   537,   538,   539,     0,
11996        0,   540,   541,   542,   543,   544,     0,   545,   546,   547,
11997      548,   549,   550,   551,     0,     0,   552,   553,   554,   555,
11998      556,     0,     0,   557,   558,   559,   560,   561,   562,   563,
11999        0,   564,     0,   566,   567,   568,   569,     0,     0,   570,
12000        0,     0,   571,   572,   573,   574,   575,   576,   577,   578,
12001      579,   580,   581,   582,   583,   584,   585,   586,   587,   588,
12002      589,   590,   598,     0,     0,     0,     0,     0,     0,     0,
12003        0,     0,     0,     0,     0,     0,     0,   228,   229,   230,
12004      231,   232,   233,   234,   235,     0,   236,   237,   238,     0,
12005        0,     0,     0,     0,     0,     0,   239,   240,     0,   241,
12006      242,   243,     0,   245,   246,   247,   248,   249,     0,   251,
12007      252,     0,   253,   254,   255,   256,   257,   258,     0,     0,
12008      789,   260,   261,   262,   263,     0,   264,   265,   266,   267,
12009      268,     0,     0,     0,   270,   271,   272,   273,   274,     0,
12010      276,   277,   278,     0,   279,   280,   281,   282,   283,   284,
12011        0,     0,   286,   287,   288,     0,     0,     0,     0,     0,
12012        0,     0,   290,   291,   292,   293,   294,   295,   296,   297,
12013      298,     0,   299,     0,   300,   301,   302,   303,   304,   305,
12014        0,   306,   307,   308,   309,     0,     0,   310,   311,   312,
12015      313,   314,     0,   315,   316,   317,     0,   318,   319,   320,
12016        0,   321,   322,   323,   324,   325,   326,   327,   328,   329,
12017        0,   330,     0,   331,   332,   333,   334,     0,   335,     0,
12018      336,     0,     0,     0,   339,   340,   341,   342,     0,   343,
12019      344,     0,   345,   346,   347,     0,   348,   349,   350,   351,
12020      352,     0,   354,   355,   356,   357,     0,   358,   359,   360,
12021      361,   362,   363,   364,     0,   365,     0,   367,   368,   369,
12022      370,   371,   372,   373,     0,   374,     0,   375,     0,     0,
12023      378,     0,   380,   381,   382,   383,   384,     0,     0,   385,
12024      386,     0,   388,     0,     0,   390,   391,   392,     0,     0,
12025      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
12026      403,   404,   405,   406,   407,   792,   409,     0,   411,   412,
12027      413,   414,   415,     0,   416,   417,     0,   419,     0,   420,
12028      421,   422,   423,   424,   425,     0,   426,   427,     0,     0,
12029      428,   429,   430,     0,     0,   431,   432,   433,     0,   435,
12030        0,   437,   438,   439,   440,   441,   442,   443,   444,   445,
12031      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
12032        0,   455,   456,   457,   458,   459,   460,   461,   462,   463,
12033      464,   465,   466,   467,   468,   469,     0,   470,   471,   472,
12034      473,   474,   475,   476,   477,   478,   479,   480,   481,     0,
12035      482,   483,     0,   793,   486,   487,   488,   489,   490,   491,
12036      492,   493,   794,   495,   496,   497,   498,   499,     0,   500,
12037      501,   502,   503,  1315,     0,   505,   506,   507,   508,   509,
12038        0,   511,   512,   513,   514,     0,   515,   516,   517,   518,
12039      519,   520,   521,   522,   523,   524,   525,   526,   527,     0,
12040      528,   529,     0,   530,     0,  2180,   533,   534,   535,   536,
12041        0,   537,   796,   539,     0,     0,   797,   541,   542,   543,
12042      544,     0,   545,   546,   547,   548,   549,   550,   551,     0,
12043        0,   552,   553,   554,   555,   556,     0,     0,   557,   558,
12044      559,   560,   561,   562,   563,     0,   564,     0,   566,   567,
12045      568,   569,     0,     0,   570,     0,     0,   571,   572,   573,
12046      574,   575,   798,   577,   578,   579,   580,   581,   582,   583,
12047      584,   585,   586,   587,   588,   589,   590,   598,     0,     0,
12048        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12049        0,     0,   228,   229,   230,   231,   232,   233,   234,   235,
12050        0,   236,   237,   238,     0,     0,     0,     0,     0,     0,
12051        0,   239,   240,     0,   241,   242,   243,     0,   245,   246,
12052      247,   248,   249,     0,   251,   252,     0,   253,   254,   255,
12053      256,   257,   258,     0,     0,   789,   260,   261,   262,   263,
12054        0,   264,   265,   266,   267,   268,     0,     0,     0,   270,
12055      271,   272,   273,   274,     0,   276,   277,   278,     0,   279,
12056      280,   281,   282,   283,   284,     0,     0,   286,   287,   288,
12057        0,     0,     0,     0,     0,     0,     0,   290,   291,   292,
12058      293,   294,   295,   296,   297,   298,     0,   299,     0,   300,
12059      301,   302,   303,   304,   305,     0,   306,   307,   308,   309,
12060        0,     0,   310,   311,   312,   313,   314,     0,   315,   316,
12061      317,     0,   318,   319,   320,     0,   321,   322,   323,   324,
12062      325,   326,   327,   328,   329,     0,   330,     0,   331,   332,
12063      333,   334,     0,   335,     0,   336,     0,     0,     0,   339,
12064      340,   341,   342,     0,   343,   344,     0,   345,   346,   347,
12065        0,   348,   349,   350,   351,   352,     0,   354,   355,   356,
12066      357,     0,   358,   359,   360,   361,   362,   363,   364,     0,
12067      365,     0,   367,   368,   369,   370,   371,   372,   373,     0,
12068      374,     0,   375,     0,     0,   378,     0,   380,   381,   382,
12069      383,   384,     0,     0,   385,   386,     0,   388,     0,     0,
12070      390,   391,   392,     0,     0,   393,   394,   395,   396,   397,
12071      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
12072      792,   409,     0,   411,   412,   413,   414,   415,     0,   416,
12073      417,     0,   419,     0,   420,   421,   422,   423,   424,   425,
12074        0,   426,   427,     0,     0,   428,   429,   430,     0,     0,
12075      431,   432,   433,     0,   435,     0,   437,   438,   439,   440,
12076      441,   442,   443,   444,   445,   446,     0,   447,   448,   449,
12077      450,   451,   452,   453,   454,     0,   455,   456,   457,   458,
12078      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
12079      469,     0,   470,   471,   472,   473,   474,   475,   476,   477,
12080      478,   479,   480,   481,     0,   482,   483,     0,   793,   486,
12081      487,   488,   489,   490,   491,   492,   493,  2257,   495,   496,
12082      497,   498,   499,     0,   500,   501,   502,   503,  2258,     0,
12083      505,   506,   507,   508,   509,     0,   511,   512,   513,   514,
12084        0,   515,   516,   517,   518,   519,   520,   521,   522,   523,
12085      524,   525,   526,   527,     0,   528,   529,     0,   530,     0,
12086      532,   533,   534,   535,   536,     0,   537,   796,   539,     0,
12087        0,  2259,   541,   542,   543,   544,     0,   545,   546,   547,
12088      548,   549,   550,   551,     0,     0,   552,   553,   554,   555,
12089      556,     0,     0,   557,   558,   559,   560,   561,   562,   563,
12090        0,   564,     0,   566,   567,   568,   569,     0,     0,   570,
12091        0,     0,   571,   572,   573,   574,   575,   798,   577,   578,
12092      579,   580,   581,   582,   583,   584,   585,   586,   587,   588,
12093      589,   590,   598,     0,     0,     0,     0,     0,     0,     0,
12094        0,     0,     0,     0,     0,     0,     0,   228,   229,   230,
12095      231,   232,   233,   234,   235,     0,   236,   237,   238,     0,
12096        0,     0,     0,     0,     0,     0,   239,   240,     0,   241,
12097      242,   243,     0,   245,   246,   247,   248,   249,     0,   251,
12098      252,     0,   253,   254,   255,   256,   257,   258,     0,     0,
12099      789,   260,   261,   262,   263,     0,   264,   265,   266,   267,
12100      268,     0,     0,     0,   270,   271,   272,   273,   274,     0,
12101      276,   277,   278,     0,   279,   280,   281,   282,   283,   284,
12102        0,     0,   286,   287,   288,     0,     0,     0,     0,     0,
12103        0,     0,   290,   291,   292,   293,   294,   295,   296,   297,
12104      298,     0,   299,     0,   300,   301,   302,   303,   304,   305,
12105        0,   306,   307,   308,   309,     0,     0,   310,   311,   312,
12106      313,   314,     0,   315,   316,   317,     0,   318,   319,   320,
12107        0,   321,   322,   323,   324,   325,   326,   327,   328,   329,
12108        0,   330,     0,   331,   332,   333,   334,     0,   335,     0,
12109      336,     0,     0,     0,   339,   340,   341,   342,     0,   343,
12110      344,     0,   345,   346,   347,     0,   348,   349,   350,   351,
12111      352,     0,   354,   355,   356,   357,     0,   358,   359,   360,
12112      361,   362,   363,   364,     0,   365,     0,   367,   368,   369,
12113      370,   371,   372,   373,     0,   374,     0,   375,     0,     0,
12114      378,     0,   380,   381,   382,   383,   384,     0,     0,   385,
12115      386,     0,   388,     0,     0,   390,   391,   392,     0,     0,
12116      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
12117      403,   404,   405,   406,   407,   792,   409,     0,   411,   412,
12118      413,   414,   415,     0,   416,   417,     0,   419,     0,   420,
12119      421,   422,   423,   424,   425,     0,   426,   427,     0,     0,
12120      428,   429,   430,     0,     0,   431,   432,   433,     0,   435,
12121        0,   437,   438,   439,   440,   441,   442,   443,   444,   445,
12122      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
12123        0,   455,   456,   457,   458,   459,   460,   461,   462,   463,
12124      464,   465,   466,   467,   468,   469,     0,   470,   471,   472,
12125      473,   474,   475,   476,   477,   478,   479,   480,   481,     0,
12126      482,   483,     0,   793,   486,   487,   488,   489,   490,   491,
12127      492,   493,  2336,   495,   496,   497,   498,   499,     0,   500,
12128      501,   502,   503,  2258,     0,   505,   506,   507,   508,   509,
12129        0,   511,   512,   513,   514,     0,   515,   516,   517,   518,
12130      519,   520,   521,   522,   523,   524,   525,   526,   527,     0,
12131      528,   529,     0,   530,     0,   532,   533,   534,   535,   536,
12132        0,   537,   796,   539,     0,     0,  2259,   541,   542,   543,
12133      544,     0,   545,   546,   547,   548,   549,   550,   551,     0,
12134        0,   552,   553,   554,   555,   556,     0,     0,   557,   558,
12135      559,   560,   561,   562,   563,     0,   564,     0,   566,   567,
12136      568,   569,     0,     0,   570,     0,     0,   571,   572,   573,
12137      574,   575,   798,   577,   578,   579,   580,   581,   582,   583,
12138      584,   585,   586,   587,   588,   589,   590,   598,     0,     0,
12139        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12140        0,     0,   228,   229,   230,   231,   232,   233,   234,   235,
12141        0,   236,   237,   238,     0,     0,     0,     0,     0,     0,
12142        0,   239,   240,     0,   241,   242,   243,     0,   245,   246,
12143      247,   248,   249,     0,   251,   252,     0,   253,   254,   255,
12144      256,   257,   258,     0,     0,   789,   260,   261,   262,   263,
12145        0,   264,   265,   266,   267,   268,     0,     0,     0,   270,
12146      271,   272,   273,   274,     0,   276,   277,   278,     0,   279,
12147      280,   281,   282,   283,   284,     0,     0,   286,   287,   288,
12148        0,     0,     0,     0,     0,     0,     0,   290,   291,   292,
12149      293,   294,   295,   296,   297,   298,     0,   299,     0,   300,
12150      301,   302,   303,   304,   305,     0,   306,   307,   308,   309,
12151        0,     0,   310,   311,   312,   313,   314,     0,   315,   316,
12152      317,     0,   318,   319,   320,     0,   321,   322,   323,   324,
12153      325,   326,   327,   328,   329,     0,   330,     0,   331,   332,
12154      333,   334,     0,   335,     0,   336,     0,     0,     0,   339,
12155      340,   341,   342,     0,   343,   344,     0,   345,   346,   347,
12156        0,   348,   349,   350,   351,   352,     0,   354,   355,   356,
12157      357,     0,   358,   359,   360,   361,   362,   363,   364,     0,
12158      365,     0,   367,   368,   369,   370,   371,   372,   373,     0,
12159      374,     0,   375,     0,     0,   378,     0,   380,   381,   382,
12160      383,   384,     0,     0,   385,   386,     0,   388,     0,     0,
12161      390,   391,   392,     0,     0,   393,   394,   395,   396,   397,
12162      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
12163      792,   409,     0,   411,   412,   413,   414,   415,     0,   416,
12164      417,     0,   419,     0,   420,   421,   422,   423,   424,   425,
12165        0,   426,   427,     0,     0,   428,   429,   430,     0,     0,
12166      431,   432,   433,     0,   435,     0,   437,   438,   439,   440,
12167      441,   442,   443,   444,   445,   446,     0,   447,   448,   449,
12168      450,   451,   452,   453,   454,     0,   455,   456,   457,   458,
12169      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
12170      469,     0,   470,   471,   472,   473,   474,   475,   476,   477,
12171      478,   479,   480,   481,     0,   482,   483,     0,   793,   486,
12172      487,   488,   489,   490,   491,   492,   493,  2353,   495,   496,
12173      497,   498,   499,     0,   500,   501,   502,   503,  2258,     0,
12174      505,   506,   507,   508,   509,     0,   511,   512,   513,   514,
12175        0,   515,   516,   517,   518,   519,   520,   521,   522,   523,
12176      524,   525,   526,   527,     0,   528,   529,     0,   530,     0,
12177      532,   533,   534,   535,   536,     0,   537,   796,   539,     0,
12178        0,  2259,   541,   542,   543,   544,     0,   545,   546,   547,
12179      548,   549,   550,   551,     0,     0,   552,   553,   554,   555,
12180      556,     0,     0,   557,   558,   559,   560,   561,   562,   563,
12181        0,   564,     0,   566,   567,   568,   569,     0,     0,   570,
12182        0,     0,   571,   572,   573,   574,   575,   798,   577,   578,
12183      579,   580,   581,   582,   583,   584,   585,   586,   587,   588,
12184      589,   590,   598,     0,     0,     0,     0,     0,     0,     0,
12185        0,     0,     0,     0,     0,     0,     0,   228,   229,   230,
12186      231,   232,   233,   234,   235,     0,   236,   237,   238,     0,
12187        0,     0,     0,     0,     0,     0,   239,   240,     0,   241,
12188      242,   243,     0,   245,   246,   247,   248,   249,     0,   251,
12189      252,     0,   253,   254,   255,   256,   257,   258,     0,     0,
12190      259,   260,   261,   262,   263,     0,   264,   265,   266,   267,
12191      268,     0,     0,     0,   270,   271,   272,   273,   274,     0,
12192      276,   277,   278,     0,   279,   280,   281,   282,   283,   284,
12193        0,     0,   286,   287,   288,     0,     0,     0,     0,     0,
12194        0,     0,   290,   291,   292,   293,   294,   295,   296,   297,
12195      298,     0,   299,     0,   300,   301,   302,   303,   304,   305,
12196        0,   306,   307,   308,   309,     0,     0,   310,   311,   312,
12197      313,   314,     0,   315,   316,   317,     0,   318,   319,   320,
12198        0,   321,   322,   323,   324,   325,   326,   327,   328,   329,
12199        0,   330,     0,   331,   332,   333,   334,     0,   335,     0,
12200      336,     0,     0,     0,   339,   340,   341,   342,     0,   343,
12201      344,     0,   345,   346,   347,     0,   348,   349,   350,   351,
12202     2555,     0,   354,   355,   356,   357,     0,   358,   359,   360,
12203      361,   362,   363,   364,     0,   365,     0,   367,   368,   369,
12204      370,   371,   372,   373,     0,   374,     0,   375,     0,     0,
12205      378,     0,   380,   381,   382,   383,   384,     0,     0,   385,
12206      386,     0,   388,     0,     0,   390,   391,   392,     0,     0,
12207      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
12208      403,   404,   405,   406,   407,   408,   409,     0,   411,   412,
12209      413,   414,   415,     0,   416,   417,     0,   419,     0,   420,
12210      421,   422,   423,   424,   425,     0,   426,   427,     0,     0,
12211      428,   429,   430,     0,     0,   431,   432,   433,     0,   435,
12212        0,   437,   438,   439,   440,   441,   442,   443,   444,   445,
12213      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
12214        0,   455,   456,   457,   458,   459,   460,   461,   462,   463,
12215      464,   465,   466,   467,   468,   469,     0,   470,   471,   472,
12216      473,   474,   475,   476,   477,   478,   479,   480,   481,     0,
12217      482,   483,     0,   485,   486,   487,   488,   489,   490,   491,
12218      492,   493,   494,   495,   496,   497,   498,   499,     0,   500,
12219      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
12220        0,   511,   512,   513,   514,     0,   515,   516,   517,   518,
12221      519,   520,   521,   522,   523,   524,   525,   526,   527,     0,
12222      528,   529,     0,   530,     0,   532,   533,   534,   535,   536,
12223        0,   537,   538,   539,     0,     0,   540,   541,   542,   543,
12224      544,     0,   545,   546,   547,   548,   549,   550,   551,     0,
12225        0,   552,   553,   554,   555,   556,     0,     0,   557,   558,
12226      559,   560,   561,   562,   563,     0,   564,     0,   566,   567,
12227      568,   569,     0,     0,   570,     0,     0,   571,   572,   573,
12228      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
12229      584,   585,   586,   587,   588,   589,   590,   598,     0,     0,
12230        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12231        0,     0,   228,   229,   230,   231,   232,   233,   234,   235,
12232        0,   236,   237,   238,     0,     0,     0,     0,     0,     0,
12233        0,   239,   240,     0,   241,   242,   243,     0,   245,   246,
12234      247,   248,   249,     0,   251,   252,     0,   253,   254,   255,
12235      256,   257,   258,     0,     0,   259,   260,   261,   262,   263,
12236        0,   264,   265,   266,   267,   268,     0,     0,     0,   270,
12237      271,   272,   273,   274,     0,   276,   277,   278,     0,   279,
12238      280,   281,   282,   283,   284,     0,     0,   286,   287,   288,
12239        0,     0,     0,     0,     0,     0,     0,   290,   291,   292,
12240      293,   294,   295,   296,   297,   298,     0,   299,     0,   300,
12241      301,   302,   303,   304,   305,     0,   306,   307,   308,   309,
12242        0,     0,   310,   311,   312,   313,   314,     0,   315,   316,
12243      317,     0,   318,   319,   320,     0,   321,   322,   323,   324,
12244      325,   326,   327,   328,   329,     0,   330,     0,   331,   332,
12245      333,   334,     0,   335,     0,   336,     0,     0,     0,   339,
12246      340,   341,   342,     0,   343,   344,     0,   345,   346,   347,
12247        0,   348,   349,   350,   351,  2559,     0,   354,   355,   356,
12248      357,     0,   358,   359,   360,   361,   362,   363,   364,     0,
12249      365,     0,   367,   368,   369,   370,   371,   372,   373,     0,
12250      374,     0,   375,     0,     0,   378,     0,   380,   381,   382,
12251      383,   384,     0,     0,   385,   386,     0,   388,     0,     0,
12252      390,   391,   392,     0,     0,   393,   394,   395,   396,   397,
12253      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
12254      408,   409,     0,   411,   412,   413,   414,   415,     0,   416,
12255      417,     0,   419,     0,   420,   421,   422,   423,   424,   425,
12256        0,   426,   427,     0,     0,   428,   429,   430,     0,     0,
12257      431,   432,   433,     0,   435,     0,   437,   438,   439,   440,
12258      441,   442,   443,   444,   445,   446,     0,   447,   448,   449,
12259      450,   451,   452,   453,   454,     0,   455,   456,   457,   458,
12260      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
12261      469,     0,   470,   471,   472,   473,   474,   475,   476,   477,
12262      478,   479,   480,   481,     0,   482,   483,     0,   485,   486,
12263      487,   488,   489,   490,   491,   492,   493,   494,   495,   496,
12264      497,   498,   499,     0,   500,   501,   502,   503,   504,     0,
12265      505,   506,   507,   508,   509,     0,   511,   512,   513,   514,
12266        0,   515,   516,   517,   518,   519,   520,   521,   522,   523,
12267      524,   525,   526,   527,     0,   528,   529,     0,   530,     0,
12268      532,   533,   534,   535,   536,     0,   537,   538,   539,     0,
12269        0,   540,   541,   542,   543,   544,     0,   545,   546,   547,
12270      548,   549,   550,   551,     0,     0,   552,   553,   554,   555,
12271      556,     0,     0,   557,   558,   559,   560,   561,   562,   563,
12272        0,   564,     0,   566,   567,   568,   569,     0,     0,   570,
12273        0,     0,   571,   572,   573,   574,   575,   576,   577,   578,
12274      579,   580,   581,   582,   583,   584,   585,   586,   587,   588,
12275      589,   590,   598,     0,     0,     0,     0,     0,     0,     0,
12276        0,     0,     0,     0,     0,     0,     0,   228,   229,   230,
12277      231,   232,   233,   234,   235,     0,   236,   237,   238,     0,
12278        0,     0,     0,     0,     0,     0,   239,   240,     0,   241,
12279      242,   243,     0,   245,   246,   247,   248,   249,     0,   251,
12280      252,     0,   253,   254,   255,   256,   257,   258,     0,     0,
12281      259,   260,   261,   262,   263,     0,   264,   265,   266,   267,
12282      268,     0,     0,     0,   270,   271,   272,   273,   274,     0,
12283      276,   277,   278,     0,   279,   280,   281,   282,   283,   284,
12284        0,     0,   286,   287,   288,     0,     0,     0,     0,     0,
12285        0,     0,   290,   291,   292,   293,   294,   295,   296,   297,
12286      298,     0,   299,     0,   300,   301,   302,   303,   304,   305,
12287        0,   306,   307,   308,   309,     0,     0,   310,   311,   312,
12288      313,   314,     0,   315,   316,   317,     0,   318,   319,   320,
12289        0,   321,   322,   323,   324,   325,   326,   327,   328,   329,
12290        0,   330,     0,   331,   332,   333,   334,     0,   335,     0,
12291      336,     0,     0,     0,   339,   340,   341,   342,     0,   343,
12292      344,     0,   345,   346,   347,     0,   348,   349,   350,   351,
12293     2631,     0,   354,   355,   356,   357,     0,   358,   359,   360,
12294      361,   362,   363,   364,     0,   365,     0,   367,   368,   369,
12295      370,   371,   372,   373,     0,   374,     0,   375,     0,     0,
12296      378,     0,   380,   381,   382,   383,   384,     0,     0,   385,
12297      386,     0,   388,     0,     0,   390,   391,   392,     0,     0,
12298      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
12299      403,   404,   405,   406,   407,   408,   409,     0,   411,   412,
12300      413,   414,   415,     0,   416,   417,     0,   419,     0,   420,
12301      421,   422,   423,   424,   425,     0,   426,   427,     0,     0,
12302      428,   429,   430,     0,     0,   431,   432,   433,     0,   435,
12303        0,   437,   438,   439,   440,   441,   442,   443,   444,   445,
12304      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
12305        0,   455,   456,   457,   458,   459,   460,   461,   462,   463,
12306      464,   465,   466,   467,   468,   469,     0,   470,   471,   472,
12307      473,   474,   475,   476,   477,   478,   479,   480,   481,     0,
12308      482,   483,     0,   485,   486,   487,   488,   489,   490,   491,
12309      492,   493,   494,   495,   496,   497,   498,   499,     0,   500,
12310      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
12311        0,   511,   512,   513,   514,     0,   515,   516,   517,   518,
12312      519,   520,   521,   522,   523,   524,   525,   526,   527,     0,
12313      528,   529,     0,   530,     0,   532,   533,   534,   535,   536,
12314        0,   537,   538,   539,     0,     0,   540,   541,   542,   543,
12315      544,     0,   545,   546,   547,   548,   549,   550,   551,     0,
12316        0,   552,   553,   554,   555,   556,     0,     0,   557,   558,
12317      559,   560,   561,   562,   563,     0,   564,     0,   566,   567,
12318      568,   569,     0,     0,   570,     0,     0,   571,   572,   573,
12319      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
12320      584,   585,   586,   587,   588,   589,   590,   598,     0,     0,
12321        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12322        0,     0,   228,   229,   230,   231,   232,   233,   234,   235,
12323        0,   236,   237,   238,     0,     0,     0,     0,     0,     0,
12324        0,   239,   240,     0,   241,   242,   243,     0,   245,   246,
12325      247,   248,   249,     0,   251,   252,     0,   253,   254,   255,
12326      256,   257,   258,     0,     0,   259,   260,   261,   262,   263,
12327        0,   264,   265,   266,   267,   268,     0,     0,     0,   270,
12328      271,   272,   273,   274,     0,   276,   277,   278,     0,   279,
12329      280,   281,   282,   283,   284,     0,     0,   286,   287,   288,
12330        0,     0,     0,     0,     0,     0,     0,   290,   291,   292,
12331      293,   294,   295,   296,   297,   298,     0,   299,     0,   300,
12332      301,   302,   303,   304,   305,     0,   306,   307,   308,   309,
12333        0,     0,   310,   311,   312,   313,   314,     0,   315,   316,
12334      317,     0,   318,   319,   320,     0,   321,   322,   323,   324,
12335      325,   326,   327,   328,   329,     0,   330,     0,   331,   332,
12336      333,   334,     0,   335,     0,   336,     0,     0,     0,   339,
12337      340,   341,   342,     0,   343,   344,     0,   345,   346,   347,
12338        0,   348,   349,   350,   351,  2957,     0,   354,   355,   356,
12339      357,     0,   358,   359,   360,   361,   362,   363,   364,     0,
12340      365,     0,   367,   368,   369,   370,   371,   372,   373,     0,
12341      374,     0,   375,     0,     0,   378,     0,   380,   381,   382,
12342      383,   384,     0,     0,   385,   386,     0,   388,     0,     0,
12343      390,   391,   392,     0,     0,   393,   394,   395,   396,   397,
12344      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
12345      408,   409,     0,   411,   412,   413,   414,   415,     0,   416,
12346      417,     0,   419,     0,   420,   421,   422,   423,   424,   425,
12347        0,   426,   427,     0,     0,   428,   429,   430,     0,     0,
12348      431,   432,   433,     0,   435,     0,   437,   438,   439,   440,
12349      441,   442,   443,   444,   445,   446,     0,   447,   448,   449,
12350      450,   451,   452,   453,   454,     0,   455,   456,   457,   458,
12351      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
12352      469,     0,   470,   471,   472,   473,   474,   475,   476,   477,
12353      478,   479,   480,   481,     0,   482,   483,     0,   485,   486,
12354      487,   488,   489,   490,   491,   492,   493,   494,   495,   496,
12355      497,   498,   499,     0,   500,   501,   502,   503,   504,     0,
12356      505,   506,   507,   508,   509,     0,   511,   512,   513,   514,
12357        0,   515,   516,   517,   518,   519,   520,   521,   522,   523,
12358      524,   525,   526,   527,     0,   528,   529,     0,   530,     0,
12359      532,   533,   534,   535,   536,     0,   537,   538,   539,     0,
12360        0,   540,   541,   542,   543,   544,     0,   545,   546,   547,
12361      548,   549,   550,   551,     0,     0,   552,   553,   554,   555,
12362      556,     0,     0,   557,   558,   559,   560,   561,   562,   563,
12363        0,   564,     0,   566,   567,   568,   569,     0,     0,   570,
12364        0,     0,   571,   572,   573,   574,   575,   576,   577,   578,
12365      579,   580,   581,   582,   583,   584,   585,   586,   587,   588,
12366      589,   590,   598,     0,     0,     0,     0,     0,     0,     0,
12367        0,     0,     0,     0,     0,     0,     0,   228,   229,   230,
12368      231,   232,   233,   234,   235,     0,   236,   237,   238,     0,
12369        0,     0,     0,     0,     0,     0,   239,   240,     0,   241,
12370      242,   243,     0,   245,   246,   247,   248,   249,     0,   251,
12371      252,     0,   253,   254,   255,   256,   257,   258,     0,     0,
12372      789,   260,   261,   262,   263,     0,   264,   265,   266,   267,
12373      268,     0,     0,     0,   270,   271,   272,   273,   274,     0,
12374      276,   277,   278,     0,   279,   280,   281,   282,   283,   284,
12375        0,     0,   286,   287,   288,     0,     0,     0,     0,     0,
12376        0,     0,   290,   291,   292,   293,   294,   295,   296,   297,
12377      298,     0,   299,     0,   300,   301,   302,   303,   304,   305,
12378        0,   306,   307,   308,   309,     0,     0,   310,   311,   312,
12379      313,   314,     0,   315,   316,   317,     0,   318,   319,   320,
12380        0,   321,   322,   323,   324,   325,   326,   327,   328,   329,
12381        0,   330,     0,   331,   332,   333,   334,     0,   335,     0,
12382      336,     0,     0,     0,   339,   340,   341,   342,     0,   343,
12383      344,     0,   345,   346,   347,     0,   348,   349,   350,   351,
12384      352,     0,   354,   355,   356,   357,     0,   358,   359,   360,
12385      361,   362,   363,   364,     0,   365,     0,   367,   368,   369,
12386      370,   371,   372,   373,     0,   374,     0,   375,     0,     0,
12387      378,     0,   380,   381,   382,   383,   384,     0,     0,   385,
12388      386,     0,   388,     0,     0,   390,   391,   392,     0,     0,
12389      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
12390      403,   404,   405,   406,   407,   792,   409,     0,   411,   412,
12391      413,   414,   415,     0,   416,   417,     0,   419,     0,   420,
12392      421,   422,   423,   424,   425,     0,   426,   427,     0,     0,
12393      428,   429,   430,     0,     0,   431,   432,   433,     0,   435,
12394        0,   437,   438,   439,   440,   441,   442,   443,   444,   445,
12395      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
12396        0,   455,   456,   457,   458,   459,   460,   461,   462,   463,
12397      464,   465,   466,   467,   468,   469,     0,   470,   471,   472,
12398      473,   474,   475,   476,   477,   478,   479,   480,   481,     0,
12399      482,   483,     0,   793,   486,   487,   488,   489,   490,   491,
12400      492,   493,   794,   495,   496,   497,   498,   499,     0,   500,
12401      501,   502,   503,  2258,     0,   505,   506,   507,   508,   509,
12402        0,   511,   512,   513,   514,     0,   515,   516,   517,   518,
12403      519,   520,   521,   522,   523,   524,   525,   526,   527,     0,
12404      528,   529,     0,   530,     0,   532,   533,   534,   535,   536,
12405        0,   537,   796,   539,     0,     0,  2259,   541,   542,   543,
12406      544,     0,   545,   546,   547,   548,   549,   550,   551,     0,
12407        0,   552,   553,   554,   555,   556,     0,     0,   557,   558,
12408      559,   560,   561,   562,   563,     0,   564,     0,   566,   567,
12409      568,   569,     0,     0,   570,     0,     0,   571,   572,   573,
12410      574,   575,   798,   577,   578,   579,   580,   581,   582,   583,
12411      584,   585,   586,   587,   588,   589,   590,   598,     0,     0,
12412        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12413        0,     0,   228,   229,   230,   231,   232,   233,   234,   235,
12414        0,   236,   237,   238,     0,     0,     0,     0,     0,     0,
12415        0,   239,   240,     0,   241,   242,   243,     0,   245,   246,
12416      247,   248,   249,     0,   251,   252,     0,   253,   254,   255,
12417      256,   257,   258,     0,     0,   259,   260,   261,   262,   263,
12418        0,   264,   265,   266,   267,   268,     0,     0,     0,   270,
12419      271,   272,   273,   274,     0,   276,   277,   278,     0,   279,
12420      280,   281,   282,   283,   284,     0,     0,   286,   287,   288,
12421        0,     0,     0,     0,     0,     0,     0,   290,   291,   292,
12422      293,   294,   295,   296,   297,   298,     0,   299,     0,   300,
12423      301,   302,   303,   304,   305,     0,   306,   307,   308,   309,
12424        0,     0,   310,   311,   312,   313,   314,     0,   315,   316,
12425      317,     0,   318,   319,   320,     0,   321,   322,   323,   324,
12426      325,   326,   327,   328,   329,     0,   330,     0,   331,   332,
12427      333,   334,     0,   335,     0,   336,     0,     0,     0,   339,
12428      340,   341,   342,     0,   343,   344,     0,   345,   346,   347,
12429        0,   348,   349,   350,   351,  3026,     0,   354,   355,   356,
12430      357,     0,   358,   359,   360,   361,   362,   363,   364,     0,
12431      365,     0,   367,   368,   369,   370,   371,   372,   373,     0,
12432      374,     0,   375,     0,     0,   378,     0,   380,   381,   382,
12433      383,   384,     0,     0,   385,   386,     0,   388,     0,     0,
12434      390,   391,   392,     0,     0,   393,   394,   395,   396,   397,
12435      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
12436      408,   409,     0,   411,   412,   413,   414,   415,     0,   416,
12437      417,     0,   419,     0,   420,   421,   422,   423,   424,   425,
12438        0,   426,   427,     0,     0,   428,   429,   430,     0,     0,
12439      431,   432,   433,     0,   435,     0,   437,   438,   439,   440,
12440      441,   442,   443,   444,   445,   446,     0,   447,   448,   449,
12441      450,   451,   452,   453,   454,     0,   455,   456,   457,   458,
12442      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
12443      469,     0,   470,   471,   472,   473,   474,   475,   476,   477,
12444      478,   479,   480,   481,     0,   482,   483,     0,   485,   486,
12445      487,   488,   489,   490,   491,   492,   493,   494,   495,   496,
12446      497,   498,   499,     0,   500,   501,   502,   503,   504,     0,
12447      505,   506,   507,   508,   509,     0,   511,   512,   513,   514,
12448        0,   515,   516,   517,   518,   519,   520,   521,   522,   523,
12449      524,   525,   526,   527,     0,   528,   529,     0,   530,     0,
12450      532,   533,   534,   535,   536,     0,   537,   538,   539,     0,
12451        0,   540,   541,   542,   543,   544,     0,   545,   546,   547,
12452      548,   549,   550,   551,     0,     0,   552,   553,   554,   555,
12453      556,     0,     0,   557,   558,   559,   560,   561,   562,   563,
12454        0,   564,     0,   566,   567,   568,   569,     0,     0,   570,
12455        0,     0,   571,   572,   573,   574,   575,   576,   577,   578,
12456      579,   580,   581,   582,   583,   584,   585,   586,   587,   588,
12457      589,   590,   598,     0,     0,     0,     0,     0,     0,     0,
12458        0,     0,     0,     0,     0,     0,     0,   228,   229,   230,
12459      231,   232,   233,   234,   235,     0,   236,   237,   238,     0,
12460        0,     0,     0,     0,     0,     0,   239,   240,     0,   241,
12461      242,   243,     0,   245,   246,   247,   248,   249,     0,   251,
12462      252,     0,   253,   254,   255,   256,   257,   258,     0,     0,
12463      259,   260,   261,   262,   263,     0,   264,   265,   266,   267,
12464      268,     0,     0,     0,   270,   271,   272,   273,   274,     0,
12465      276,   277,   278,     0,   279,   280,   281,   282,   283,   284,
12466        0,     0,   286,   287,   288,     0,     0,     0,     0,     0,
12467        0,     0,   290,   291,   292,   293,   294,   295,   296,   297,
12468      298,     0,   299,     0,   300,   301,   302,   303,   304,   305,
12469        0,   306,   307,   308,   309,     0,     0,   310,   311,   312,
12470      313,   314,     0,   315,   316,   317,     0,   318,   319,   320,
12471        0,   321,   322,   323,   324,   325,   326,   327,   328,   329,
12472        0,   330,     0,   331,   332,   333,   334,     0,   335,     0,
12473      336,     0,     0,     0,   339,   340,   341,   342,     0,   343,
12474      344,     0,   345,   346,   347,     0,   348,   349,   350,   351,
12475     3041,     0,   354,   355,   356,   357,     0,   358,   359,   360,
12476      361,   362,   363,   364,     0,   365,     0,   367,   368,   369,
12477      370,   371,   372,   373,     0,   374,     0,   375,     0,     0,
12478      378,     0,   380,   381,   382,   383,   384,     0,     0,   385,
12479      386,     0,   388,     0,     0,   390,   391,   392,     0,     0,
12480      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
12481      403,   404,   405,   406,   407,   408,   409,     0,   411,   412,
12482      413,   414,   415,     0,   416,   417,     0,   419,     0,   420,
12483      421,   422,   423,   424,   425,     0,   426,   427,     0,     0,
12484      428,   429,   430,     0,     0,   431,   432,   433,     0,   435,
12485        0,   437,   438,   439,   440,   441,   442,   443,   444,   445,
12486      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
12487        0,   455,   456,   457,   458,   459,   460,   461,   462,   463,
12488      464,   465,   466,   467,   468,   469,     0,   470,   471,   472,
12489      473,   474,   475,   476,   477,   478,   479,   480,   481,     0,
12490      482,   483,     0,   485,   486,   487,   488,   489,   490,   491,
12491      492,   493,   494,   495,   496,   497,   498,   499,     0,   500,
12492      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
12493        0,   511,   512,   513,   514,     0,   515,   516,   517,   518,
12494      519,   520,   521,   522,   523,   524,   525,   526,   527,     0,
12495      528,   529,     0,   530,     0,   532,   533,   534,   535,   536,
12496        0,   537,   538,   539,     0,     0,   540,   541,   542,   543,
12497      544,     0,   545,   546,   547,   548,   549,   550,   551,     0,
12498        0,   552,   553,   554,   555,   556,     0,     0,   557,   558,
12499      559,   560,   561,   562,   563,     0,   564,     0,   566,   567,
12500      568,   569,     0,     0,   570,     0,     0,   571,   572,   573,
12501      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
12502      584,   585,   586,   587,   588,   589,   590,   598,     0,     0,
12503        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12504        0,     0,   228,   229,   230,   231,   232,   233,   234,   235,
12505        0,   236,   237,   238,     0,     0,     0,     0,     0,     0,
12506        0,   239,   240,     0,   241,   242,   243,     0,   245,   246,
12507      247,   248,   249,     0,   251,   252,     0,   253,   254,   255,
12508      256,   257,   258,     0,     0,   259,   260,   261,   262,   263,
12509        0,   264,   265,   266,   267,   268,     0,     0,     0,   270,
12510      271,   272,   273,   274,     0,   276,   277,   278,     0,   279,
12511      280,   281,   282,   283,   284,     0,     0,   286,   287,   288,
12512        0,     0,     0,     0,     0,     0,     0,   290,   291,   292,
12513      293,   294,   295,   296,   297,   298,     0,   299,     0,   300,
12514      301,   302,   303,   304,   305,     0,   306,   307,   308,   309,
12515        0,     0,   310,   311,   312,   313,   314,     0,   315,   316,
12516      317,     0,   318,   319,   320,     0,   321,   322,   323,   324,
12517      325,   326,   327,   328,   329,     0,   330,     0,   331,   332,
12518      333,   334,     0,   335,     0,   336,     0,     0,     0,   339,
12519      340,   341,   342,     0,   343,   344,     0,   345,   346,   347,
12520        0,   348,   349,   350,   351,  3043,     0,   354,   355,   356,
12521      357,     0,   358,   359,   360,   361,   362,   363,   364,     0,
12522      365,     0,   367,   368,   369,   370,   371,   372,   373,     0,
12523      374,     0,   375,     0,     0,   378,     0,   380,   381,   382,
12524      383,   384,     0,     0,   385,   386,     0,   388,     0,     0,
12525      390,   391,   392,     0,     0,   393,   394,   395,   396,   397,
12526      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
12527      408,   409,     0,   411,   412,   413,   414,   415,     0,   416,
12528      417,     0,   419,     0,   420,   421,   422,   423,   424,   425,
12529        0,   426,   427,     0,     0,   428,   429,   430,     0,     0,
12530      431,   432,   433,     0,   435,     0,   437,   438,   439,   440,
12531      441,   442,   443,   444,   445,   446,     0,   447,   448,   449,
12532      450,   451,   452,   453,   454,     0,   455,   456,   457,   458,
12533      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
12534      469,     0,   470,   471,   472,   473,   474,   475,   476,   477,
12535      478,   479,   480,   481,     0,   482,   483,     0,   485,   486,
12536      487,   488,   489,   490,   491,   492,   493,   494,   495,   496,
12537      497,   498,   499,     0,   500,   501,   502,   503,   504,     0,
12538      505,   506,   507,   508,   509,     0,   511,   512,   513,   514,
12539        0,   515,   516,   517,   518,   519,   520,   521,   522,   523,
12540      524,   525,   526,   527,     0,   528,   529,     0,   530,     0,
12541      532,   533,   534,   535,   536,     0,   537,   538,   539,     0,
12542        0,   540,   541,   542,   543,   544,     0,   545,   546,   547,
12543      548,   549,   550,   551,     0,     0,   552,   553,   554,   555,
12544      556,     0,     0,   557,   558,   559,   560,   561,   562,   563,
12545        0,   564,     0,   566,   567,   568,   569,     0,     0,   570,
12546        0,     0,   571,   572,   573,   574,   575,   576,   577,   578,
12547      579,   580,   581,   582,   583,   584,   585,   586,   587,   588,
12548      589,   590,   598,     0,     0,     0,     0,     0,     0,     0,
12549        0,     0,     0,     0,     0,     0,     0,   228,   229,   230,
12550      231,   232,   233,   234,   235,     0,   236,   237,   238,     0,
12551        0,     0,     0,     0,     0,     0,   239,   240,     0,   241,
12552      242,   243,     0,   245,   246,   247,   248,   249,     0,   251,
12553      252,     0,   253,   254,   255,   256,   257,   258,     0,     0,
12554      259,   260,   261,   262,   263,     0,   264,   265,   266,   267,
12555      268,     0,     0,     0,   270,   271,   272,   273,   274,     0,
12556      276,   277,   278,     0,   279,   280,   281,   282,   283,   284,
12557        0,     0,   286,   287,   288,     0,     0,     0,     0,     0,
12558        0,     0,   290,   291,   292,   293,   294,   295,   296,   297,
12559      298,     0,   299,     0,   300,   301,   302,   303,   304,   305,
12560        0,   306,   307,   308,   309,     0,     0,   310,   311,   312,
12561      313,   314,     0,   315,   316,   317,     0,   318,   319,   320,
12562        0,   321,   322,   323,   324,   325,   326,   327,   328,   329,
12563        0,   330,     0,   331,   332,   333,   334,     0,   335,     0,
12564      336,     0,     0,     0,   339,   340,   341,   342,     0,   343,
12565      344,     0,   345,   346,   347,     0,   348,   349,   350,   351,
12566     3186,     0,   354,   355,   356,   357,     0,   358,   359,   360,
12567      361,   362,   363,   364,     0,   365,     0,   367,   368,   369,
12568      370,   371,   372,   373,     0,   374,     0,   375,     0,     0,
12569      378,     0,   380,   381,   382,   383,   384,     0,     0,   385,
12570      386,     0,   388,     0,     0,   390,   391,   392,     0,     0,
12571      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
12572      403,   404,   405,   406,   407,   408,   409,     0,   411,   412,
12573      413,   414,   415,     0,   416,   417,     0,   419,     0,   420,
12574      421,   422,   423,   424,   425,     0,   426,   427,     0,     0,
12575      428,   429,   430,     0,     0,   431,   432,   433,     0,   435,
12576        0,   437,   438,   439,   440,   441,   442,   443,   444,   445,
12577      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
12578        0,   455,   456,   457,   458,   459,   460,   461,   462,   463,
12579      464,   465,   466,   467,   468,   469,     0,   470,   471,   472,
12580      473,   474,   475,   476,   477,   478,   479,   480,   481,     0,
12581      482,   483,     0,   485,   486,   487,   488,   489,   490,   491,
12582      492,   493,   494,   495,   496,   497,   498,   499,     0,   500,
12583      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
12584        0,   511,   512,   513,   514,     0,   515,   516,   517,   518,
12585      519,   520,   521,   522,   523,   524,   525,   526,   527,     0,
12586      528,   529,     0,   530,     0,   532,   533,   534,   535,   536,
12587        0,   537,   538,   539,     0,     0,   540,   541,   542,   543,
12588      544,     0,   545,   546,   547,   548,   549,   550,   551,     0,
12589        0,   552,   553,   554,   555,   556,     0,     0,   557,   558,
12590      559,   560,   561,   562,   563,     0,   564,     0,   566,   567,
12591      568,   569,     0,     0,   570,     0,     0,   571,   572,   573,
12592      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
12593      584,   585,   586,   587,   588,   589,   590,   598,     0,     0,
12594        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12595        0,     0,   228,   229,   230,   231,   232,   233,   234,   235,
12596        0,   236,   237,   238,     0,     0,     0,     0,     0,     0,
12597        0,   239,   240,     0,   241,   242,   243,     0,   245,   246,
12598      247,   248,   249,     0,   251,   252,     0,   253,   254,   255,
12599      256,   257,   258,     0,     0,   259,   260,   261,   262,   263,
12600        0,   264,   265,   266,   267,   268,     0,     0,     0,   270,
12601      271,   272,   273,   274,     0,   276,   277,   278,     0,   279,
12602      280,   281,   282,   283,   284,     0,     0,   286,   287,   288,
12603        0,     0,     0,     0,     0,     0,     0,   290,   291,   292,
12604      293,   294,   295,   296,   297,   298,     0,   299,     0,   300,
12605      301,   302,   303,   304,   305,     0,   306,   307,   308,   309,
12606        0,     0,   310,  3222,   312,   313,   314,     0,   315,   316,
12607      317,     0,   318,   319,   320,     0,   321,   322,   323,   324,
12608      325,   326,   327,   328,   329,     0,   330,     0,   331,   332,
12609      333,   334,     0,   335,     0,   336,     0,     0,     0,   339,
12610      340,   341,   342,     0,   343,   344,     0,   345,   346,   347,
12611        0,   348,   349,   350,   351,   352,     0,   354,   355,   356,
12612      357,     0,   358,   359,   360,   361,   362,   363,   364,     0,
12613      365,     0,   367,   368,   369,   370,   371,   372,   373,     0,
12614      374,     0,   375,     0,     0,   378,     0,   380,   381,   382,
12615      383,   384,     0,     0,   385,   386,     0,   388,     0,     0,
12616      390,   391,   392,     0,     0,   393,   394,   395,   396,   397,
12617      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
12618      408,   409,     0,   411,   412,   413,   414,   415,     0,   416,
12619      417,     0,   419,     0,   420,   421,   422,   423,   424,   425,
12620        0,   426,   427,     0,     0,   428,   429,   430,     0,     0,
12621      431,   432,   433,     0,   435,     0,   437,   438,   439,   440,
12622      441,   442,   443,   444,   445,   446,     0,   447,   448,   449,
12623      450,   451,   452,   453,   454,     0,   455,   456,   457,   458,
12624      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
12625      469,     0,   470,   471,   472,   473,   474,   475,   476,   477,
12626      478,   479,   480,   481,     0,   482,   483,     0,   485,   486,
12627      487,   488,   489,   490,   491,   492,   493,   494,   495,   496,
12628      497,   498,   499,     0,   500,   501,   502,   503,   504,     0,
12629      505,   506,   507,   508,   509,     0,   511,   512,   513,   514,
12630        0,   515,   516,   517,   518,   519,   520,   521,   522,   523,
12631      524,   525,   526,   527,     0,   528,   529,     0,   530,     0,
12632      532,   533,   534,   535,   536,     0,   537,   538,   539,     0,
12633        0,   540,   541,   542,   543,   544,     0,   545,   546,   547,
12634      548,   549,   550,   551,     0,     0,   552,   553,   554,   555,
12635      556,     0,     0,   557,   558,   559,   560,   561,   562,   563,
12636        0,   564,     0,   566,   567,   568,   569,     0,     0,   570,
12637        0,     0,   571,   572,   573,   574,   575,   576,   577,   578,
12638      579,   580,   581,   582,   583,   584,   585,   586,   587,   588,
12639      589,   590,   598,     0,     0,     0,     0,     0,     0,     0,
12640        0,     0,     0,     0,     0,     0,     0,   228,   229,   230,
12641      231,   232,   233,   234,   235,     0,   236,   237,   238,     0,
12642        0,     0,     0,     0,     0,     0,   239,   240,     0,   241,
12643      242,   243,     0,   245,   246,   247,   248,   249,     0,   251,
12644      252,     0,   253,   254,   255,   256,   257,   258,     0,     0,
12645      259,   260,   261,   262,   263,     0,   264,   265,   266,   267,
12646      268,     0,     0,     0,   270,   271,   272,   273,   274,     0,
12647      276,   277,   278,     0,   279,   280,   281,   282,   283,   284,
12648        0,     0,   286,   287,   288,     0,     0,     0,     0,     0,
12649        0,     0,   290,   291,   292,   293,   294,   295,   296,   297,
12650      298,     0,   299,     0,   300,   301,   302,   303,   304,   305,
12651        0,   306,   307,   308,   309,     0,     0,   310,   311,   312,
12652      313,   314,     0,   315,   316,   317,     0,   318,   319,   320,
12653        0,   321,   322,   323,   324,   325,   326,   327,   328,   329,
12654        0,   330,     0,   331,   332,   333,   334,     0,   335,     0,
12655      336,     0,     0,     0,   339,   340,   341,   342,     0,   343,
12656      344,     0,   345,   346,   347,     0,   348,   349,   350,   351,
12657     4373,     0,   354,   355,   356,   357,     0,   358,   359,   360,
12658      361,   362,   363,   364,     0,   365,     0,   367,   368,   369,
12659      370,   371,   372,   373,     0,   374,     0,   375,     0,     0,
12660      378,     0,   380,   381,   382,   383,   384,     0,     0,   385,
12661      386,     0,   388,     0,     0,   390,   391,   392,     0,     0,
12662      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
12663      403,   404,   405,   406,   407,   408,   409,     0,   411,   412,
12664      413,   414,   415,     0,   416,   417,     0,   419,     0,   420,
12665      421,   422,   423,   424,   425,     0,   426,   427,     0,     0,
12666      428,   429,   430,     0,     0,   431,   432,   433,     0,   435,
12667        0,   437,   438,   439,   440,   441,   442,   443,   444,   445,
12668      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
12669        0,   455,   456,   457,   458,   459,   460,   461,   462,   463,
12670      464,   465,   466,   467,   468,   469,     0,   470,   471,   472,
12671      473,   474,   475,   476,   477,   478,   479,   480,   481,     0,
12672      482,   483,     0,   485,   486,   487,   488,   489,   490,   491,
12673      492,   493,   494,   495,   496,   497,   498,   499,     0,   500,
12674      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
12675        0,   511,   512,   513,   514,     0,   515,   516,   517,   518,
12676      519,   520,   521,   522,   523,   524,   525,   526,   527,     0,
12677      528,   529,     0,   530,     0,   532,   533,   534,   535,   536,
12678        0,   537,   538,   539,     0,     0,   540,   541,   542,   543,
12679      544,     0,   545,   546,   547,   548,   549,   550,   551,     0,
12680        0,   552,   553,   554,   555,   556,     0,     0,   557,   558,
12681      559,   560,   561,   562,   563,     0,   564,     0,   566,   567,
12682      568,   569,     0,     0,   570,     0,     0,   571,   572,   573,
12683      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
12684      584,   585,   586,   587,   588,   589,   590,  1057,     0,     0,
12685        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12686        0,     0,   228,   229,   230,   231,   232,   233,   234,   235,
12687        0,   236,   237,   238,     0,     0,     0,     0,     0,     0,
12688        0,   239,   240,     0,   241,   242,   243,   244,   245,   246,
12689      247,     0,  1058,   250,  1059,  1060,     0,   253,   254,   255,
12690      256,   257,   258,     0,     0,   259,   260,  1061,  1062,   263,
12691        0,   264,   265,   266,   267,     0,     0,   269,     0,   270,
12692      271,   272,   273,   274,   275,   276,   277,   278,     0,   279,
12693      280,   281,   282,   283,   284,     0,   285,   286,   287,   288,
12694        0,     0,     0,   289,     0,     0,     0,   290,   291,   292,
12695      293,   294,   295,  1063,  1064,   298,     0,   299,     0,   300,
12696      301,   302,   303,   304,   305,     0,   306,   307,   308,   309,
12697        0,     0,   310,   311,  1065,   313,   314,     0,   315,   316,
12698      317,     0,   318,   319,   320,     0,   321,   322,   323,   324,
12699        0,   326,   327,   328,     0,     0,   330,     0,   331,   332,
12700     1066,   334,     0,   335,     0,   336,   337,     0,   338,   339,
12701      340,   341,   342,     0,   343,     0,     0,     0,   346,   347,
12702        0,   348,   349,   350,   351,   352,   353,   354,   355,   356,
12703      357,  2153,   358,   359,   360,   361,   362,   363,   364,     0,
12704      365,   366,  2154,   368,   369,   370,   371,  1068,  1069,     0,
12705     1070,     0,   375,   376,   377,   378,   379,   380,   381,   382,
12706      383,   384,     0,     0,   385,     0,   387,   388,   389,     0,
12707      390,   391,   392,     0,     0,   393,   394,   395,   396,   397,
12708      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
12709      408,  1071,   410,  1072,   412,   413,   414,     0,     0,   416,
12710      417,   418,   419,     0,     0,   421,  1073,   423,   424,   425,
12711        0,   426,   427,     0,     0,   428,   429,   430,     0,     0,
12712      431,   432,  2156,   434,   435,   436,     0,   438,   439,   440,
12713      441,   442,   443,   444,   445,   446,     0,   447,   448,     0,
12714      450,     0,   452,   453,   454,     0,   455,   456,   457,   458,
12715      459,   460,   461,   462,   463,   464,  1074,   466,   467,   468,
12716      469,     0,   470,   471,   472,   473,   474,   475,   476,   477,
12717      478,   479,   480,   481,     0,   482,   483,   484,   485,   486,
12718      487,   488,   489,     0,   491,   492,   493,   494,   495,   496,
12719      497,   498,   499,     0,   500,   501,   502,   503,   504,     0,
12720      505,   506,  2157,   508,   509,   510,   511,   512,  1076,   514,
12721        0,   515,   516,   517,   518,   519,   520,   521,   522,   523,
12722      524,   525,   526,     0,     0,   528,   529,     0,   530,   531,
12723      532,   533,   534,   535,   536,     0,   537,  1077,  1078,     0,
12724        0,   540,   541,     0,   543,     0,     0,   545,   546,   547,
12725      548,   549,   550,   551,     0,     0,   552,   553,   554,   555,
12726      556,     0,     0,   557,   558,   559,   560,   561,     0,  1079,
12727     2158,   564,   565,   566,   567,   568,   569,     0,     0,   570,
12728        0,     0,   571,   572,   573,   574,   575,   576,   598,     0,
12729        0,     0,     0,     0,     0,     0,     0,     0,     0,   588,
12730      589,   590,     0,   228,   229,   230,   231,   232,   233,   234,
12731      235,     0,   236,   237,   238,     0,     0,     0,     0,     0,
12732        0,     0,   239,   240,     0,   241,   242,   243,     0,   245,
12733      246,   247,   248,   249,     0,   251,   252,     0,   253,   254,
12734      255,   256,   257,   258,     0,     0,   259,   260,   261,   262,
12735      263,     0,   264,   265,   266,   267,   268,     0,     0,     0,
12736      270,   271,   272,   273,   274,     0,   276,   277,   278,     0,
12737      279,   280,   281,   282,   283,   284,     0,     0,   286,   287,
12738      288,     0,     0,     0,     0,     0,     0,     0,   290,   291,
12739      292,   293,   294,   295,   296,   297,   298,     0,   299,     0,
12740      300,   301,   302,   303,   304,   305,     0,   306,   307,   308,
12741      309,     0,     0,   310,   311,   312,   313,   314,     0,   315,
12742      316,   317,     0,   318,   319,   320,     0,   321,   322,   323,
12743      324,   325,   326,   327,   328,   329,     0,   330,     0,   331,
12744      332,   333,   334,     0,   335,     0,   336,     0,     0,     0,
12745      339,   340,   341,   342,     0,   343,   344,     0,   345,     0,
12746      347,     0,   348,   349,   350,   351,   352,     0,   354,   355,
12747      356,   357,     0,   358,   359,   360,   361,   362,   363,   364,
12748        0,   365,     0,   367,   368,   369,   370,   371,   372,   373,
12749        0,   374,     0,   375,     0,     0,   378,     0,   380,   381,
12750      382,   383,   384,     0,     0,   385,   386,     0,   388,     0,
12751        0,   390,   391,   392,     0,     0,   393,   394,   395,   396,
12752      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
12753      407,   408,   409,     0,   411,   412,   413,   414,   415,     0,
12754      416,   417,     0,   419,     0,   420,   421,   422,   423,   424,
12755      425,     0,   426,   427,     0,     0,   428,   429,   430,     0,
12756        0,   431,   432,   433,     0,   435,     0,   437,   438,   439,
12757      440,   441,   442,   443,     0,   445,   446,     0,   447,   448,
12758      449,   450,   451,   452,   453,   454,     0,   455,   456,   457,
12759      458,   459,   460,   461,   462,     0,   464,   465,   466,   467,
12760      468,   469,     0,   470,   471,   472,   473,   474,   475,   476,
12761      477,   478,   479,   480,   481,     0,   482,   483,     0,   485,
12762      486,   487,   488,   489,   490,     0,   492,   493,   494,   495,
12763      496,   497,   498,   499,     0,   500,   501,   502,   503,   504,
12764        0,   505,   506,   507,   508,   509,     0,   511,   512,   513,
12765      514,     0,   515,   516,   517,   518,   519,   520,   521,   522,
12766      523,   524,   525,   526,   527,     0,   528,   529,     0,   530,
12767        0,   532,   533,   534,   535,   536,     0,   537,   538,   539,
12768        0,     0,   540,   541,   542,   543,   544,     0,   545,   546,
12769      547,   548,   549,   550,   551,     0,     0,   552,   553,   554,
12770      555,   556,     0,     0,   557,   558,   559,   560,   561,   562,
12771      563,     0,   564,     0,   566,   567,   568,   569,     0,     0,
12772      570,     0,     0,   571,   572,   573,   574,   575,   576,   577,
12773      578,   579,   580,   581,   582,   583,   584,   585,   586,   587,
12774      588,   589,   590,  1057,     0,     0,     0,     0,     0,     0,
12775        0,     0,     0,     0,     0,     0,     0,     0,   228,   229,
12776      230,   231,   232,   233,   234,   235,     0,   236,   237,   238,
12777        0,     0,     0,     0,     0,     0,     0,   239,   240,     0,
12778      241,   242,   243,   244,   245,   246,   247,     0,  1058,   250,
12779     1059,  1060,     0,   253,   254,   255,   256,   257,   258,     0,
12780        0,   259,   260,  1061,  1062,   263,     0,   264,   265,   266,
12781      267,     0,     0,   269,     0,   270,   271,   272,   273,   274,
12782      275,   276,   277,   278,     0,   279,   280,   281,   282,   283,
12783      284,     0,   285,   286,   287,   288,     0,     0,     0,   289,
12784        0,     0,     0,   290,   291,   292,   293,   294,   295,  1063,
12785     1064,   298,     0,   299,     0,   300,   301,   302,   303,   304,
12786      305,     0,   306,   307,   308,   309,     0,     0,   310,   311,
12787     1065,   313,   314,     0,   315,   316,   317,     0,   318,   319,
12788      320,     0,   321,   322,   323,   324,     0,   326,   327,   328,
12789        0,     0,   330,     0,   331,   332,  1066,   334,     0,   335,
12790        0,   336,   337,     0,   338,   339,   340,   341,   342,     0,
12791      343,     0,     0,     0,   346,   347,     0,   348,   349,   350,
12792      351,   352,   353,   354,   355,   356,   357,     0,   358,   359,
12793      360,   361,   362,   363,   364,     0,   365,   366,     0,   368,
12794      369,   370,   371,  1068,  1069,     0,  1070,     0,   375,   376,
12795      377,   378,   379,   380,   381,   382,   383,   384,     0,     0,
12796      385,     0,   387,   388,   389,     0,   390,   391,   392,     0,
12797        0,   393,   394,   395,   396,   397,   398,   399,   400,   401,
12798      402,   403,   404,   405,   406,   407,   408,  1071,   410,  1072,
12799      412,   413,   414,     0,     0,   416,   417,   418,   419,  2253,
12800        0,   421,  1073,   423,   424,   425,     0,   426,   427,     0,
12801        0,   428,   429,   430,     0,     0,   431,   432,     0,   434,
12802      435,   436,     0,   438,   439,   440,   441,   442,   443,   444,
12803      445,   446,     0,   447,   448,     0,   450,     0,   452,   453,
12804      454,     0,   455,   456,   457,   458,   459,   460,   461,   462,
12805      463,   464,  1074,   466,   467,   468,   469,     0,   470,   471,
12806      472,   473,   474,   475,   476,   477,   478,   479,   480,   481,
12807        0,   482,   483,   484,   485,   486,   487,   488,   489,     0,
12808      491,   492,   493,   494,   495,   496,   497,   498,   499,     0,
12809      500,   501,   502,   503,   504,     0,   505,   506,  2157,   508,
12810      509,   510,   511,   512,  1076,   514,     0,   515,   516,   517,
12811      518,   519,   520,   521,   522,   523,   524,   525,   526,     0,
12812        0,   528,   529,  3937,   530,   531,   532,   533,   534,   535,
12813      536,     0,   537,  1077,  1078,     0,     0,   540,   541,     0,
12814      543,     0,     0,   545,   546,   547,   548,   549,   550,   551,
12815        0,     0,   552,   553,   554,   555,   556,     0,     0,   557,
12816      558,   559,   560,   561,     0,  1079,     0,   564,   565,   566,
12817      567,   568,   569,     0,     0,   570,     0,     0,   571,   572,
12818      573,   574,   575,   576,  1057,     0,     0,     0,     0,     0,
12819        0,     0,     0,     0,     0,   588,   589,   590,     0,   228,
12820      229,   230,   231,   232,   233,   234,   235,     0,   236,   237,
12821      238,     0,     0,     0,     0,     0,     0,     0,   239,   240,
12822        0,   241,   242,   243,   244,   245,   246,   247,     0,  1058,
12823      250,  1059,  1060,     0,   253,   254,   255,   256,   257,   258,
12824        0,     0,   259,   260,  1061,  1062,   263,     0,   264,   265,
12825      266,   267,     0,     0,   269,     0,   270,   271,   272,   273,
12826      274,   275,   276,   277,   278,     0,   279,   280,   281,   282,
12827      283,   284,     0,   285,   286,   287,   288,     0,     0,     0,
12828      289,     0,     0,     0,   290,   291,   292,   293,   294,   295,
12829     1063,  1064,   298,     0,   299,     0,   300,   301,   302,   303,
12830      304,   305,     0,   306,   307,   308,   309,     0,     0,   310,
12831      311,  1065,   313,   314,     0,   315,   316,   317,     0,   318,
12832      319,   320,     0,   321,   322,   323,   324,     0,   326,   327,
12833      328,     0,     0,   330,     0,   331,   332,  1066,   334,     0,
12834      335,     0,   336,   337,     0,   338,   339,   340,   341,   342,
12835        0,   343,     0,     0,     0,   346,   347,     0,   348,   349,
12836      350,   351,   352,   353,   354,   355,   356,   357,     0,   358,
12837      359,   360,   361,   362,   363,   364,     0,   365,   366,     0,
12838      368,   369,   370,   371,  1068,  1069,     0,  1070,     0,   375,
12839      376,   377,   378,   379,   380,   381,   382,   383,   384,     0,
12840        0,   385,     0,   387,   388,   389,     0,   390,   391,   392,
12841        0,     0,   393,   394,   395,   396,   397,   398,   399,   400,
12842      401,   402,   403,   404,   405,   406,   407,   408,  1071,   410,
12843     1072,   412,   413,   414,  2325,     0,   416,   417,   418,   419,
12844        0,     0,   421,  1073,   423,   424,   425,     0,   426,   427,
12845        0,     0,   428,   429,   430,     0,     0,   431,   432,     0,
12846      434,   435,   436,     0,   438,   439,   440,   441,   442,   443,
12847      444,   445,   446,     0,   447,   448,     0,   450,     0,   452,
12848      453,   454,     0,   455,   456,   457,   458,   459,   460,   461,
12849      462,   463,   464,  1074,   466,   467,   468,   469,     0,   470,
12850      471,   472,   473,   474,   475,   476,   477,   478,   479,   480,
12851      481,     0,   482,   483,   484,   485,   486,   487,   488,   489,
12852        0,   491,   492,   493,   494,   495,   496,   497,   498,   499,
12853        0,   500,   501,   502,   503,   504,     0,   505,   506,  1075,
12854      508,   509,   510,   511,   512,  1076,   514,     0,   515,   516,
12855      517,   518,   519,   520,   521,   522,   523,   524,   525,   526,
12856        0,     0,   528,   529,     0,   530,   531,   532,   533,   534,
12857      535,   536,     0,   537,  1077,  1078,     0,     0,   540,   541,
12858        0,   543,     0,     0,   545,   546,   547,   548,   549,   550,
12859      551,     0,     0,   552,   553,   554,   555,   556,     0,     0,
12860      557,   558,   559,   560,   561,     0,  1079,     0,   564,   565,
12861      566,   567,   568,   569,     0,     0,   570,     0,     0,   571,
12862      572,   573,   574,   575,   576,  1057,     0,     0,     0,     0,
12863        0,     0,     0,     0,     0,     0,   588,   589,   590,     0,
12864      228,   229,   230,   231,   232,   233,   234,   235,     0,   236,
12865      237,   238,     0,     0,     0,     0,     0,     0,     0,   239,
12866      240,     0,   241,   242,   243,   244,   245,   246,   247,     0,
12867     1058,   250,  1059,  1060,     0,   253,   254,   255,   256,   257,
12868      258,     0,     0,   259,   260,  1061,  1062,   263,     0,   264,
12869      265,   266,   267,     0,     0,   269,     0,   270,   271,   272,
12870      273,   274,   275,   276,   277,   278,     0,   279,   280,   281,
12871      282,   283,   284,     0,   285,   286,   287,   288,     0,     0,
12872        0,   289,     0,     0,     0,   290,   291,   292,   293,   294,
12873      295,  1063,  1064,   298,     0,   299,     0,   300,   301,   302,
12874      303,   304,   305,     0,   306,   307,   308,   309,     0,     0,
12875      310,   311,  1065,   313,   314,     0,   315,   316,   317,     0,
12876      318,   319,   320,     0,   321,   322,   323,   324,     0,   326,
12877      327,   328,     0,     0,   330,     0,   331,   332,  1066,   334,
12878        0,   335,     0,   336,   337,     0,   338,   339,   340,   341,
12879      342,     0,   343,     0,     0,     0,   346,   347,     0,   348,
12880      349,   350,   351,   352,   353,   354,   355,   356,   357,     0,
12881      358,   359,   360,   361,   362,   363,   364,     0,   365,   366,
12882        0,   368,   369,   370,   371,  1068,  1069,     0,  1070,     0,
12883      375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
12884        0,     0,   385,     0,   387,   388,   389,     0,   390,   391,
12885      392,     0,     0,   393,   394,   395,   396,   397,   398,   399,
12886      400,   401,   402,   403,   404,   405,   406,   407,   408,  1071,
12887      410,  1072,   412,   413,   414,  3744,     0,   416,   417,   418,
12888      419,     0,     0,   421,  1073,   423,   424,   425,     0,   426,
12889      427,     0,     0,   428,   429,   430,     0,     0,   431,   432,
12890        0,   434,   435,   436,     0,   438,   439,   440,   441,   442,
12891      443,   444,   445,   446,     0,   447,   448,     0,   450,     0,
12892      452,   453,   454,     0,   455,   456,   457,   458,   459,   460,
12893      461,   462,   463,   464,  1074,   466,   467,   468,   469,     0,
12894      470,   471,   472,   473,   474,   475,   476,   477,   478,   479,
12895      480,   481,     0,   482,   483,   484,   485,   486,   487,   488,
12896      489,     0,   491,   492,   493,   494,   495,   496,   497,   498,
12897      499,     0,   500,   501,   502,   503,   504,     0,   505,   506,
12898     1075,   508,   509,   510,   511,   512,  1076,   514,     0,   515,
12899      516,   517,   518,   519,   520,   521,   522,   523,   524,   525,
12900      526,     0,     0,   528,   529,     0,   530,   531,   532,   533,
12901      534,   535,   536,     0,   537,  1077,  1078,     0,     0,   540,
12902      541,     0,   543,     0,     0,   545,   546,   547,   548,   549,
12903      550,   551,     0,     0,   552,   553,   554,   555,   556,     0,
12904        0,   557,   558,   559,   560,   561,     0,  1079,     0,   564,
12905      565,   566,   567,   568,   569,     0,     0,   570,     0,     0,
12906      571,   572,   573,   574,   575,   576,  1057,     0,     0,     0,
12907        0,     0,     0,     0,     0,     0,     0,   588,   589,   590,
12908        0,   228,   229,   230,   231,   232,   233,   234,   235,     0,
12909      236,   237,   238,     0,     0,     0,     0,     0,     0,     0,
12910      239,   240,     0,   241,   242,   243,   244,   245,   246,   247,
12911        0,  1058,   250,  1059,  1060,     0,   253,   254,   255,   256,
12912      257,   258,     0,     0,   259,   260,  1061,  1062,   263,     0,
12913      264,   265,   266,   267,     0,     0,   269,     0,   270,   271,
12914      272,   273,   274,   275,   276,   277,   278,     0,   279,   280,
12915      281,   282,   283,   284,     0,   285,   286,   287,   288,     0,
12916        0,     0,   289,     0,     0,     0,   290,   291,   292,   293,
12917      294,   295,  1063,  1064,   298,     0,   299,     0,   300,   301,
12918      302,   303,   304,   305,     0,   306,   307,   308,   309,     0,
12919        0,   310,   311,  1065,   313,   314,     0,   315,   316,   317,
12920        0,   318,   319,   320,     0,   321,   322,   323,   324,     0,
12921      326,   327,   328,     0,     0,   330,     0,   331,   332,  1066,
12922      334,  5282,   335,     0,   336,   337,     0,   338,   339,   340,
12923      341,   342,     0,   343,     0,     0,     0,   346,   347,     0,
12924      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
12925        0,   358,   359,   360,   361,   362,   363,   364,     0,   365,
12926      366,     0,   368,   369,   370,   371,  1068,  1069,     0,  1070,
12927        0,   375,   376,   377,   378,   379,   380,   381,   382,   383,
12928      384,     0,     0,   385,     0,   387,   388,   389,     0,   390,
12929      391,   392,     0,     0,   393,   394,   395,   396,   397,   398,
12930      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
12931     1071,   410,  1072,   412,   413,   414,     0,     0,   416,   417,
12932      418,   419,     0,     0,   421,  1073,   423,   424,   425,     0,
12933      426,   427,     0,     0,   428,   429,   430,     0,     0,   431,
12934      432,     0,   434,   435,   436,     0,   438,   439,   440,   441,
12935      442,   443,   444,   445,   446,     0,   447,   448,     0,   450,
12936        0,   452,   453,   454,     0,   455,   456,   457,   458,   459,
12937      460,   461,   462,   463,   464,  1074,   466,   467,   468,   469,
12938        0,   470,   471,   472,   473,   474,   475,   476,   477,   478,
12939      479,   480,   481,     0,   482,   483,   484,   485,   486,   487,
12940      488,   489,     0,   491,   492,   493,   494,   495,   496,   497,
12941      498,   499,     0,   500,   501,   502,   503,   504,     0,   505,
12942      506,  1075,   508,   509,   510,   511,   512,  1076,   514,     0,
12943      515,   516,   517,   518,   519,   520,   521,   522,   523,   524,
12944      525,   526,     0,     0,   528,   529,     0,   530,   531,   532,
12945      533,   534,   535,   536,     0,   537,  1077,  1078,     0,     0,
12946      540,   541,     0,   543,     0,     0,   545,   546,   547,   548,
12947      549,   550,   551,     0,     0,   552,   553,   554,   555,   556,
12948        0,     0,   557,   558,   559,   560,   561,     0,  1079,     0,
12949      564,   565,   566,   567,   568,   569,     0,     0,   570,     0,
12950        0,   571,   572,   573,   574,   575,   576,  1057,     0,     0,
12951        0,     0,     0,     0,     0,     0,     0,     0,   588,   589,
12952      590,     0,   228,   229,   230,   231,   232,   233,   234,   235,
12953        0,   236,   237,   238,     0,     0,     0,     0,     0,     0,
12954        0,   239,   240,     0,   241,   242,   243,   244,   245,   246,
12955      247,     0,  1058,   250,  1059,  1060,     0,   253,   254,   255,
12956      256,   257,   258,     0,     0,   259,   260,  1061,  1062,   263,
12957        0,   264,   265,   266,   267,     0,     0,   269,     0,   270,
12958      271,   272,   273,   274,   275,   276,   277,   278,     0,   279,
12959      280,   281,   282,   283,   284,     0,   285,   286,   287,   288,
12960        0,     0,     0,   289,     0,     0,     0,   290,   291,   292,
12961      293,   294,   295,  1063,  1064,   298,     0,   299,     0,   300,
12962      301,   302,   303,   304,   305,     0,   306,   307,   308,   309,
12963        0,     0,   310,   311,  1065,   313,   314,     0,   315,   316,
12964      317,     0,   318,   319,   320,     0,   321,   322,   323,   324,
12965        0,   326,   327,   328,     0,     0,   330,     0,   331,   332,
12966     1066,   334,     0,   335,     0,   336,   337,     0,   338,   339,
12967      340,   341,   342,     0,   343,     0,     0,     0,   346,   347,
12968        0,   348,   349,   350,   351,  1067,   353,   354,   355,   356,
12969      357,     0,   358,   359,   360,   361,   362,   363,   364,     0,
12970      365,   366,     0,   368,   369,   370,   371,  1068,  1069,     0,
12971     1070,     0,   375,   376,   377,   378,   379,   380,   381,   382,
12972      383,   384,     0,     0,   385,     0,   387,   388,   389,     0,
12973      390,   391,   392,     0,     0,   393,   394,   395,   396,   397,
12974      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
12975      408,  1071,   410,  1072,   412,   413,   414,     0,     0,   416,
12976      417,   418,   419,     0,     0,   421,  1073,   423,   424,   425,
12977        0,   426,   427,     0,     0,   428,   429,   430,     0,     0,
12978      431,   432,     0,   434,   435,   436,     0,   438,   439,   440,
12979      441,   442,   443,   444,   445,   446,     0,   447,   448,     0,
12980      450,     0,   452,   453,   454,     0,   455,   456,   457,   458,
12981      459,   460,   461,   462,   463,   464,  1074,   466,   467,   468,
12982      469,     0,   470,   471,   472,   473,   474,   475,   476,   477,
12983      478,   479,   480,   481,     0,   482,   483,   484,   485,   486,
12984      487,   488,   489,     0,   491,   492,   493,   494,   495,   496,
12985      497,   498,   499,     0,   500,   501,   502,   503,   504,     0,
12986      505,   506,  1075,   508,   509,   510,   511,   512,  1076,   514,
12987        0,   515,   516,   517,   518,   519,   520,   521,   522,   523,
12988      524,   525,   526,     0,     0,   528,   529,     0,   530,   531,
12989      532,   533,   534,   535,   536,     0,   537,  1077,  1078,     0,
12990        0,   540,   541,     0,   543,     0,     0,   545,   546,   547,
12991      548,   549,   550,   551,     0,     0,   552,   553,   554,   555,
12992      556,     0,     0,   557,   558,   559,   560,   561,     0,  1079,
12993        0,   564,   565,   566,   567,   568,   569,     0,     0,   570,
12994        0,     0,   571,   572,   573,   574,   575,   576,  1057,     0,
12995        0,     0,     0,     0,     0,     0,     0,     0,     0,   588,
12996      589,   590,     0,   228,   229,   230,   231,   232,   233,   234,
12997      235,     0,   236,   237,   238,     0,     0,     0,     0,     0,
12998        0,     0,   239,   240,     0,   241,   242,   243,   244,   245,
12999      246,   247,     0,  1058,   250,  1059,  1060,     0,   253,   254,
13000      255,   256,   257,   258,     0,     0,   259,   260,  1061,  1062,
13001      263,     0,   264,   265,   266,   267,     0,     0,   269,     0,
13002      270,   271,   272,   273,   274,   275,   276,   277,   278,     0,
13003      279,   280,   281,   282,   283,   284,     0,   285,   286,   287,
13004      288,     0,     0,     0,   289,     0,     0,     0,   290,   291,
13005      292,   293,   294,   295,  1063,  1064,   298,     0,   299,     0,
13006      300,   301,   302,   303,   304,   305,     0,   306,   307,   308,
13007      309,     0,     0,   310,   311,  1065,   313,   314,     0,   315,
13008      316,   317,     0,   318,   319,   320,     0,   321,   322,   323,
13009      324,     0,   326,   327,   328,     0,     0,   330,     0,   331,
13010      332,  1066,   334,     0,   335,     0,   336,   337,     0,   338,
13011      339,   340,   341,   342,     0,   343,     0,     0,     0,   346,
13012      347,     0,   348,   349,   350,   351,  1125,   353,   354,   355,
13013      356,   357,     0,   358,   359,   360,   361,   362,   363,   364,
13014        0,   365,   366,     0,   368,   369,   370,   371,  1068,  1069,
13015        0,  1070,     0,   375,   376,   377,   378,   379,   380,   381,
13016      382,   383,   384,     0,     0,   385,     0,   387,   388,   389,
13017        0,   390,   391,   392,     0,     0,   393,   394,   395,   396,
13018      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
13019      407,   408,  1071,   410,  1072,   412,   413,   414,     0,     0,
13020      416,   417,   418,   419,     0,     0,   421,  1073,   423,   424,
13021      425,     0,   426,   427,     0,     0,   428,   429,   430,     0,
13022        0,   431,   432,     0,   434,   435,   436,     0,   438,   439,
13023      440,   441,   442,   443,   444,   445,   446,     0,   447,   448,
13024        0,   450,     0,   452,   453,   454,     0,   455,   456,   457,
13025      458,   459,   460,   461,   462,   463,   464,  1074,   466,   467,
13026      468,   469,     0,   470,   471,   472,   473,   474,   475,   476,
13027      477,   478,   479,   480,   481,     0,   482,   483,   484,   485,
13028      486,   487,   488,   489,     0,   491,   492,   493,   494,   495,
13029      496,   497,   498,   499,     0,   500,   501,   502,   503,   504,
13030        0,   505,   506,  1075,   508,   509,   510,   511,   512,  1076,
13031      514,     0,   515,   516,   517,   518,   519,   520,   521,   522,
13032      523,   524,   525,   526,     0,     0,   528,   529,     0,   530,
13033      531,   532,   533,   534,   535,   536,     0,   537,  1077,  1078,
13034        0,     0,   540,   541,     0,   543,     0,     0,   545,   546,
13035      547,   548,   549,   550,   551,     0,     0,   552,   553,   554,
13036      555,   556,     0,     0,   557,   558,   559,   560,   561,     0,
13037     1079,     0,   564,   565,   566,   567,   568,   569,     0,     0,
13038      570,     0,     0,   571,   572,   573,   574,   575,   576,  1057,
13039        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
13040      588,   589,   590,     0,   228,   229,   230,   231,   232,   233,
13041      234,   235,     0,   236,   237,   238,     0,     0,     0,     0,
13042        0,     0,     0,   239,   240,     0,   241,   242,   243,   244,
13043      245,   246,   247,     0,  1058,   250,  1059,  1060,     0,   253,
13044      254,   255,   256,   257,   258,     0,     0,   259,   260,  1061,
13045     1062,   263,     0,   264,   265,   266,   267,     0,     0,   269,
13046        0,   270,   271,   272,   273,   274,   275,   276,   277,   278,
13047        0,   279,   280,   281,   282,   283,   284,     0,   285,   286,
13048      287,   288,     0,     0,     0,   289,     0,     0,     0,   290,
13049      291,   292,   293,   294,   295,  1063,  1064,   298,     0,   299,
13050        0,   300,   301,   302,   303,   304,   305,     0,   306,   307,
13051      308,   309,     0,     0,   310,   311,  1065,   313,   314,     0,
13052      315,   316,   317,     0,   318,   319,   320,     0,   321,   322,
13053      323,   324,     0,   326,   327,   328,     0,     0,   330,     0,
13054      331,   332,  1066,   334,     0,   335,     0,   336,   337,     0,
13055      338,   339,   340,   341,   342,     0,   343,     0,     0,     0,
13056      346,   347,     0,   348,   349,   350,   351,   352,   353,   354,
13057      355,   356,   357,     0,   358,   359,   360,   361,   362,   363,
13058      364,     0,   365,   366,     0,   368,   369,   370,   371,  1068,
13059     1069,     0,  1070,     0,   375,   376,   377,   378,   379,   380,
13060      381,   382,   383,   384,     0,     0,   385,     0,   387,   388,
13061      389,     0,   390,   391,   392,     0,     0,   393,   394,   395,
13062      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
13063      406,   407,   408,  1071,   410,  1072,   412,   413,   414,     0,
13064        0,   416,   417,   418,   419,     0,     0,   421,  1073,   423,
13065      424,   425,     0,   426,   427,     0,     0,   428,   429,   430,
13066        0,     0,   431,   432,     0,   434,   435,   436,     0,   438,
13067      439,   440,   441,   442,   443,   444,   445,   446,     0,   447,
13068      448,     0,   450,     0,   452,   453,   454,     0,   455,   456,
13069      457,   458,   459,   460,   461,   462,   463,   464,  1074,   466,
13070      467,   468,   469,     0,   470,   471,   472,   473,   474,   475,
13071      476,   477,   478,   479,   480,   481,     0,   482,   483,   484,
13072      485,   486,   487,   488,   489,     0,   491,   492,   493,   494,
13073      495,   496,   497,   498,   499,     0,   500,   501,   502,   503,
13074      504,     0,   505,   506,  1075,   508,   509,   510,   511,   512,
13075     1076,   514,     0,   515,   516,   517,   518,   519,   520,   521,
13076      522,   523,   524,   525,   526,     0,     0,   528,   529,     0,
13077      530,   531,   532,   533,   534,   535,   536,     0,   537,  1077,
13078     1078,     0,     0,   540,   541,     0,   543,     0,     0,   545,
13079      546,   547,   548,   549,   550,   551,     0,     0,   552,   553,
13080      554,   555,   556,     0,     0,   557,   558,   559,   560,   561,
13081        0,  1079,     0,   564,   565,   566,   567,   568,   569,     0,
13082        0,   570,     0,     0,   571,   572,   573,   574,   575,   576,
13083     1057,     0,     0,     0,     0,     0,     0,     0,     0,     0,
13084        0,   588,   589,   590,     0,   228,   229,   230,   231,   232,
13085      233,   234,   235,     0,   236,   237,   238,     0,     0,     0,
13086        0,     0,     0,     0,   239,   240,     0,   241,   242,   243,
13087      244,   245,   246,   247,     0,  1058,   250,  1059,  1060,     0,
13088      253,   254,   255,   256,   257,   258,     0,     0,   259,   260,
13089     1061,  1062,   263,     0,   264,   265,   266,   267,     0,     0,
13090      269,     0,   270,   271,   272,   273,   274,   275,   276,   277,
13091      278,     0,   279,   280,   281,   282,   283,   284,     0,   285,
13092      286,   287,   288,     0,     0,     0,   289,     0,     0,     0,
13093      290,   291,   292,   293,   294,   295,  1063,  1064,   298,     0,
13094      299,     0,   300,   301,   302,   303,   304,   305,     0,   306,
13095      307,   308,   309,     0,     0,   310,   311,  1065,   313,   314,
13096        0,   315,   316,   317,     0,   318,   319,   320,     0,   321,
13097      322,   323,   324,     0,   326,   327,   328,     0,     0,   330,
13098        0,   331,   332,  1066,   334,     0,   335,     0,   336,   337,
13099        0,   338,   339,   340,   341,   342,     0,   343,     0,     0,
13100        0,   346,   347,     0,   348,   349,   350,   351,   352,   353,
13101      354,   355,   356,   357,     0,   358,   359,   360,   361,   362,
13102      363,   364,     0,   365,   366,     0,   368,   369,   370,   371,
13103     1068,  1069,     0,  1070,     0,   375,   376,   377,   378,   379,
13104      380,   381,   382,   383,   384,     0,     0,   385,     0,   387,
13105      388,   389,     0,   390,   391,   392,     0,     0,   393,   394,
13106      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
13107      405,   406,   407,   408,  1071,   410,  1072,   412,   413,   414,
13108        0,     0,   416,   417,   418,   419,     0,     0,   421,  1073,
13109      423,   424,   425,     0,   426,   427,     0,     0,   428,   429,
13110      430,     0,     0,   431,   432,     0,   434,   435,   436,     0,
13111      438,   439,   440,   441,   442,   443,   444,   445,   446,     0,
13112      447,   448,     0,   450,     0,   452,   453,   454,     0,   455,
13113      456,   457,   458,   459,   460,   461,   462,   463,   464,  1074,
13114      466,   467,   468,   469,     0,   470,   471,   472,   473,   474,
13115      475,   476,   477,   478,   479,   480,   481,     0,   482,   483,
13116      484,   485,   486,   487,   488,   489,     0,   491,   492,   493,
13117      494,   495,   496,   497,   498,   499,     0,   500,   501,   502,
13118      503,   504,     0,   505,   506,  2157,   508,   509,   510,   511,
13119      512,  1076,   514,     0,   515,   516,   517,   518,   519,   520,
13120      521,   522,   523,   524,   525,   526,     0,     0,   528,   529,
13121        0,   530,   531,   532,   533,   534,   535,   536,     0,   537,
13122     1077,  1078,     0,     0,   540,   541,     0,   543,     0,     0,
13123      545,   546,   547,   548,   549,   550,   551,     0,     0,   552,
13124      553,   554,   555,   556,     0,     0,   557,   558,   559,   560,
13125      561,     0,  1079,     0,   564,   565,   566,   567,   568,   569,
13126        0,     0,   570,     0,     0,   571,   572,   573,   574,   575,
13127      576,  1057,     0,     0,     0,     0,     0,     0,     0,     0,
13128        0,     0,   588,   589,   590,     0,   228,   229,   230,   231,
13129      232,   233,   234,   235,     0,   236,   237,   238,     0,     0,
13130        0,     0,     0,     0,     0,   239,   240,     0,   241,   242,
13131      243,   244,   245,   246,   247,     0,  1058,   250,  1059,  1060,
13132        0,   253,   254,   255,   256,   257,   258,     0,     0,   259,
13133      260,  1061,  1062,   263,     0,   264,   265,   266,   267,     0,
13134        0,   269,     0,   270,   271,   272,   273,   274,   275,   276,
13135      277,   278,     0,   279,   280,   281,   282,   283,   284,     0,
13136      285,   286,   287,   288,     0,     0,     0,   289,     0,     0,
13137        0,   290,   291,   292,   293,   294,   295,  1063,  1064,   298,
13138        0,   299,     0,   300,   301,   302,   303,   304,   305,     0,
13139      306,   307,   308,   309,     0,     0,   310,   311,  1065,   313,
13140      314,     0,   315,   316,   317,     0,   318,   319,   320,     0,
13141      321,   322,   323,   324,     0,   326,   327,   328,     0,     0,
13142      330,     0,   331,   332,  1066,   334,     0,   335,     0,   336,
13143      337,     0,   338,   339,   340,   341,   342,     0,   343,     0,
13144        0,     0,   346,   347,     0,   348,   349,   350,   351,   352,
13145      353,   354,   355,   356,   357,     0,   358,   359,   360,   361,
13146      362,   363,   364,     0,   365,   366,     0,   368,   369,   370,
13147      371,  1068,  1069,     0,  1070,     0,   375,   376,   377,   378,
13148      379,   380,   381,   382,   383,   384,     0,     0,   385,     0,
13149      387,   388,   389,     0,   390,   391,   392,     0,     0,   393,
13150      394,   395,   396,   397,   398,   399,   400,   401,   402,   403,
13151      404,   405,   406,   407,   408,  1071,   410,  1072,   412,   413,
13152      414,     0,     0,   416,   417,   418,   419,     0,     0,   421,
13153     1073,   423,   424,   425,     0,   426,   427,     0,     0,   428,
13154      429,   430,     0,     0,   431,   432,     0,   434,   435,   436,
13155        0,   438,   439,   440,   441,   442,   443,   444,   445,   446,
13156        0,   447,   448,     0,   450,     0,   452,   453,   454,     0,
13157      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
13158     1074,   466,   467,   468,   469,     0,   470,   471,   472,   473,
13159      474,   475,   476,   477,   478,   479,   480,   481,     0,   482,
13160      483,   484,   485,   486,   487,   488,   489,     0,   491,   492,
13161      493,   494,   495,   496,   497,   498,   499,     0,   500,   501,
13162      502,   503,   504,     0,   505,   506,     0,   508,   509,   510,
13163      511,   512,  1076,   514,     0,   515,   516,   517,   518,   519,
13164      520,   521,   522,   523,   524,   525,   526,     0,     0,   528,
13165      529,     0,   530,   531,   532,   533,   534,   535,   536,     0,
13166      537,  1077,  1078,     0,     0,   540,   541,     0,   543,     0,
13167        0,   545,   546,   547,   548,   549,   550,   551,     0,     0,
13168      552,   553,   554,   555,   556,     0,     0,   557,   558,   559,
13169      560,   561,     0,  1079,     0,   564,   565,   566,   567,   568,
13170      569,     0,     0,   570,     0,     0,   571,   572,   573,   574,
13171      575,   576,  1057,     0,     0,     0,     0,     0,     0,     0,
13172        0,     0,     0,   588,   589,   590,     0,   228,   229,   230,
13173      231,   232,   233,   234,   235,     0,   236,   237,   238,     0,
13174        0,     0,     0,     0,     0,     0,   239,   240,     0,   241,
13175      242,   243,   244,   245,   246,   247,     0,     0,   250,     0,
13176        0,     0,   253,   254,   255,   256,   257,   258,     0,     0,
13177      259,   260,     0,     0,   263,     0,   264,   265,   266,   267,
13178        0,     0,   269,     0,   270,   271,   272,   273,   274,   275,
13179      276,   277,   278,     0,   279,   280,   281,   282,   283,   284,
13180        0,   285,   286,   287,   288,     0,     0,     0,   289,     0,
13181        0,     0,   290,   291,   292,   293,   294,   295,     0,     0,
13182      298,     0,   299,     0,   300,   301,   302,   303,   304,   305,
13183        0,   306,   307,   308,   309,     0,     0,   310,   311,   312,
13184      313,   314,     0,   315,   316,   317,     0,   318,   319,   320,
13185        0,   321,   322,   323,   324,     0,   326,   327,   328,     0,
13186        0,   330,     0,   331,   332,     0,   334,     0,   335,     0,
13187      336,   337,     0,   338,   339,   340,   341,   342,     0,   343,
13188        0,     0,     0,   346,   347,     0,   348,   349,   350,   351,
13189      352,   353,   354,   355,   356,   357,     0,   358,   359,   360,
13190      361,   362,   363,   364,     0,   365,   366,     0,   368,   369,
13191      370,   371,     0,     0,     0,     0,     0,   375,   376,   377,
13192      378,   379,   380,   381,   382,   383,   384,     0,     0,   385,
13193        0,   387,   388,   389,     0,   390,   391,   392,     0,     0,
13194      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
13195      403,   404,   405,   406,   407,   408,     0,   410,     0,   412,
13196      413,   414,     0,     0,   416,   417,   418,   419,     0,     0,
13197      421,     0,   423,   424,   425,     0,   426,   427,     0,     0,
13198      428,   429,   430,     0,     0,   431,   432,     0,   434,   435,
13199      436,     0,   438,   439,   440,   441,   442,   443,   444,   445,
13200      446,     0,   447,   448,     0,   450,     0,   452,   453,   454,
13201        0,   455,   456,   457,   458,   459,   460,   461,   462,   463,
13202      464,     0,   466,   467,   468,   469,     0,   470,   471,   472,
13203      473,   474,   475,   476,   477,   478,   479,   480,   481,     0,
13204      482,   483,   484,   485,   486,   487,   488,   489,     0,   491,
13205      492,   493,   494,   495,   496,   497,   498,   499,     0,   500,
13206      501,   502,   503,   504,     0,   505,   506,     0,   508,   509,
13207      510,   511,   512,     0,   514,     0,   515,   516,   517,   518,
13208      519,   520,   521,   522,   523,   524,   525,   526,     0,     0,
13209      528,   529,     0,   530,   531,   532,   533,   534,   535,   536,
13210        0,   537,     0,     0,     0,     0,   540,   541,     0,   543,
13211        0,     0,   545,   546,   547,   548,   549,   550,   551,     0,
13212        0,   552,   553,   554,   555,   556,     0,     0,   557,   558,
13213      559,   560,   561,     0,     0,     0,   564,   565,   566,   567,
13214      568,   569,     0,     0,   570,     0,     0,   571,   572,   573,
13215      574,   575,   576,  4938,     0,     0,     0,     0,     0,     0,
13216        0,     0,     0,     0,   588,   589,   590,     0,   228,   229,
13217      230,   231,   232,   233,   234,   235,     0,   236,   237,   238,
13218        0,     0,     0,     0,     0,     0,     0,   239,   240,     0,
13219      241,   242,   243,     0,   245,   246,   247,     0,     0,     0,
13220        0,     0,     0,   253,   254,   255,   256,   257,   258,     0,
13221        0,   259,   260,     0,     0,   263,     0,   264,   265,   266,
13222      267,     0,     0,     0,     0,   270,   271,   272,   273,   274,
13223        0,   276,   277,   278,     0,   279,   280,   281,   282,   283,
13224      284,     0,     0,   286,   287,   288,     0,     0,     0,     0,
13225        0,     0,     0,   290,   291,   292,   293,   294,   295,     0,
13226        0,   298,     0,   299,     0,   300,   301,   302,   303,   304,
13227      305,     0,   306,   307,   308,   309,     0,     0,   310,   311,
13228      312,   313,   314,     0,   315,   316,   317,     0,   318,   319,
13229      320,     0,   321,   322,   323,   324,     0,   326,   327,   328,
13230        0,     0,   330,     0,   331,   332,     0,   334,     0,   335,
13231        0,   336,     0,     0,     0,   339,   340,   341,   342,     0,
13232      343,     0,     0,     0,   346,   347,     0,   348,   349,   350,
13233      351,   352,     0,   354,   355,   356,   357,     0,   358,   359,
13234      360,   361,   362,   363,   364,     0,   365,     0,     0,   368,
13235      369,   370,   371,     0,     0,     0,     0,     0,   375,     0,
13236        0,   378,     0,   380,   381,   382,   383,   384,     0,     0,
13237      385,     0,     0,   388,     0,     0,   390,   391,   392,     0,
13238        0,   393,   394,   395,   396,   397,   398,   399,   400,   401,
13239      402,   403,   404,   405,   406,   407,   408,     0,     0,     0,
13240      412,   413,   414,     0,     0,   416,   417,     0,   419,     0,
13241        0,   421,     0,   423,   424,   425,     0,   426,   427,     0,
13242        0,   428,   429,   430,     0,     0,   431,   432,     0,     0,
13243      435,     0,     0,   438,   439,   440,   441,   442,   443,   444,
13244      445,   446,     0,   447,   448,     0,   450,     0,   452,   453,
13245      454,     0,   455,   456,   457,   458,   459,   460,   461,   462,
13246      463,   464,     0,   466,   467,   468,   469,     0,   470,   471,
13247      472,   473,   474,   475,   476,   477,   478,   479,   480,   481,
13248        0,   482,   483,     0,   485,   486,   487,   488,   489,     0,
13249      491,   492,   493,   494,   495,   496,   497,   498,   499,     0,
13250      500,   501,   502,   503,   504,     0,   505,   506,     0,   508,
13251      509,     0,   511,   512,     0,   514,     0,   515,   516,   517,
13252      518,   519,   520,   521,   522,   523,   524,   525,   526,     0,
13253        0,   528,   529,     0,   530,     0,   532,   533,   534,   535,
13254      536,     0,   537,     0,     0,     0,     0,   540,   541,     0,
13255      543,     0,     0,   545,   546,   547,   548,   549,   550,   551,
13256        0,     0,   552,   553,   554,   555,   556,     0,     0,   557,
13257      558,   559,   560,   561,     0,     0,     0,   564,     0,   566,
13258      567,   568,   569,     0,     0,   570,     0,     0,   571,   572,
13259      573,   574,   575,   576,     0,     0,     0,     0,     0,     0,
13260        0,     0,     0,     0,     0,   588,   589,   590
13261 };
13262 
13263 static const yytype_int16 yycheck[] =
13264 {
13265        6,    44,   204,     0,   907,   627,  1147,     8,   788,    51,
13266        0,  1546,     0,    36,    15,     0,   660,    23,   790,    25,
13267      182,     0,   938,    29,    21,  1075,   923,   908,    34,    35,
13268       36,  1105,    38,   848,   932,    41,    42,  1421,    44,    22,
13269       46,   740,   741,   742,   199,    28,   839,   746,  2495,  1465,
13270     1458,   812,   207,   190,   702,   210,   204,    13,  1169,  2564,
13271     1020,  2849,  1063,  1064,   708,  1705,   813,  1787,  2690,    45,
13272      797,  2386,  1073,  1078,  1200,  3636,  3030,  2898,   934,    23,
13273     2508,  1465,   936,  3344,   618,  1609,  3347,  1009,  3319,  2324,
13274        6,  3591,    36,  2161,  2162,    18,  3003,   994,  3300,   860,
13275       21,   998,   660,  1025,   209,  2666,  1003,  1471,  1482,  3057,
13276     1975,  3059,     0,  2407,  3537,  3566,  1013,  3246,   223,  3254,
13277     2907,  3688,  3265,   707,  3926,  3254,   697,  3911,  4168,  3331,
13278     1027,   169,  1958,  2872,   874,  3632,   670,  2451,  2063,  2453,
13279     3572,   682,  4560,  2457,   685,  2459,  2460,   184,   684,   793,
13280     4509,  4400,  3929,  3872,  2468,  2469,  2470,  3916,    35,   184,
13281     1800,  4403,   698,  2019,  1450,    42,  1399,  2781,    50,     0,
13282     1890,   836,  2126,  2096,     0,   218,     0,  4354,     0,     0,
13283      941,  2104,    41,  3636,   190,   191,   192,   193,  4666,   195,
13284        0,     0,     0,   199,  2846,   201,  3915,     0,   204,     0,
13285     2128,   207,  1576,  1577,   210,  4580,  1570,   213,     0,   215,
13286     3317,     0,   218,  2917,  4707,  4719,   222,  3500,   224,  1061,
13287     1062,   836,  3612,  1509,   858,  4402,     0,     0,  1229,  1230,
13288     1072,  4525,     9,  4527,     0,   793,    35,  3571,    49,  3573,
13289     1526,    57,    11,     9,    22,  4620,  2898,     0,  1249,     0,
13290        5,    57,     0,     5,  1259,  1996,     9,    11,    26,     5,
13291       26,    13,    14,  2498,   898,     5,     5,     5,  4854,   903,
13292        5,    40,     5,    26,     5,   907,     5,    39,     5,  1094,
13293       13,    14,  4915,   915,    13,    14,   158,   986,    74,    87,
13294     1413,  1607,  1608,   925,     5,    39,     5,  2911,     5,  3005,
13295        5,    42,     5,    72,     5,   112,   138,    22,   163,    74,
13296     4819,  4820,   163,     3,     4,     5,     4,     5,     4,     9,
13297      187,     9,    79,     9,    74,   105,   207,   163,   267,    57,
13298      112,    26,   187,     4,     5,     9,   163,  4652,     9,   144,
13299       42,  3993,  3994,   269,  3996,  3997,  3998,  3999,  4000,   117,
13300       70,   289,   270,   131,  4627,  4628,   289,    27,   252,   252,
13301      255,   275,    26,     5,   325,   144,   112,   308,   117,    33,
13302       11,  2606,   339,  2608,    24,   107,  1218,  1219,    32,   270,
13303       57,   315,   131,  5267,   165,   357,     4,   258,    57,   163,
13304      163,     9,   114,   153,   240,    45,   383,   163,   158,    40,
13305      819,    11,   395,  1245,   165,  1365,   116,  1147,   155,    11,
13306      163,    74,   163,   187,   187,   163,   131,   163,     3,    91,
13307      339,   187,   112,  1339,    84,    57,   343,    11,   397,  1327,
13308        3,    72,     5,   201,   187,   143,   187,    43,   327,   187,
13309     1510,   463,   382,     4,  4555,    30,    31,   179,     9,    72,
13310     4943,  4562,   112,    86,   476,   428,    40,  1527,   114,    65,
13311     4709,  4836,    72,   151,   383,   225,  4708,   356,   723,   724,
13312      725,   440,   254,   728,   729,   730,   437,   417,   310,   627,
13313      151,   189,  1532,   738,  5117,   478,  1130,   474,    72,  4783,
13314       66,   145,   363,    26,    57,   128,   430,   169,   208,   460,
13315       33,   347,   474,  1147,   251,    26,   266,   474,   240,    11,
13316      271,   243,    33,   329,    57,    74,   206,   478,  1279,    74,
13317      625,   416,   170,   329,   305,    84,   631,  5411,   422,    84,
13318      328,   679,   202,   474,   107,   474,   474,   259,   228,   644,
13319       57,   474,   163,   163,  1460,  1399,  1307,   267,   474,   298,
13320      238,   442,   202,   241,   359,   211,   474,   474,  3264,   395,
13321     1204,   343,   163,   456,   478,  1149,   142,  4882,   395,   163,
13322      285,   259,  1130,   215,    29,   164,  1112,   162,   356,   164,
13323      359,   349,   437,    84,   160,  1325,   114,   133,   259,  3724,
13324     1330,  1331,   163,  1515,   254,  3724,  5014,   478,   254,   605,
13325      119,   329,   474,   383,   117,   611,   179,   613,   323,   395,
13326      616,   478,   618,   610,   620,   347,   163,  5203,   380,  3748,
13327      610,   627,   610,  1746,    26,   610,   632,   478,   634,    11,
13328      395,   610,  5125,   373,   374,   641,   380,  5115,   416,  1175,
13329     1562,   356,   474,  4066,  1541,   395,  1204,  1544,   416,   395,
13330     1186,   408,   329,  4104,   395,   311,   463,  4108,    40,   665,
13331      329,  4093,   478,   474,   670,  1201,   708,   240,  5177,   675,
13332      243,  1552,   478,   679,   712,   474,   682,   839,  1322,   685,
13333      478,  3883,   423,   606,   439,  3639,  1330,  1331,   383,   427,
13334       72,  4933,  5325,  4942,  3925,   701,   473,   329,  1438,   465,
13335      466,   470,   366,   477,   477,   460,  1354,  1605,  1448,   752,
13336      707,   477,   465,   466,   402,  2950,   470,   463,  1383,   474,
13337     1139,   423,   474,   455,   477,   301,   477,  4010,   439,   477,
13338      476,   402,   395,   472,   735,   474,   474,   476,   721,   474,
13339      723,   474,   725,   474,  2060,   474,   752,   474,   731,   460,
13340      706,  1607,  1608,  1609,  5247,  5259,   958,  4147,  4092,   765,
13341     4094,   767,  3905,   474,  1322,   474,   329,   474,  1383,   474,
13342      813,   474,  4812,   474,   347,   465,   466,   465,   466,   465,
13343      466,   787,   788,  5056,   790,   791,   329,   708,    22,   795,
13344      827,   465,   466,  1533,   465,   466,  1536,  1537,  4450,   954,
13345      843,   478,   827,   809,  1436,   960,   943,   813,   963,   478,
13346      958,  5186,   329,   819,   857,   163,  1738,  1928,    57,   437,
13347     1894,  1614,   478,  1457,  5199,   831,   467,   468,   469,   470,
13348      478,  4398,   829,   366,  3149,   411,   395,   843,  5331,   829,
13349      395,   829,   460,   428,   829,   366,   478,   465,   466,   472,
13350      829,   857,  2920,   476,  2922,  1856,  2272,   478,   478,  1278,
13351     5154,  1935,  3969,  3291,  1496,   467,   468,   469,   470,   875,
13352     5119,   326,  1946,   106,   880,   881,  1510,   478,  2242,  5121,
13353      474,  1503,   455,  1375,   339,   474,   341,   433,  3842,  1743,
13354       20,   293,   420,  1527,   395,  1150,   817,   131,  1153,   418,
13355     1155,  5394,  1157,   416,  1159,   911,   912,   478,  1163,   175,
13356       29,  3563,  3226,    81,  3566,   478,  2440,  5335,  5336,   269,
13357     3624,  5098,  3829,  2877,   163,  5300,   120,   474,   934,   935,
13358      105,    57,   791,     3,    47,   478,   795,   943,   820,  2862,
13359     2173,   829,   275,  5120,     5,   400,   175,  5425,   954,   351,
13360     2878,     5,   958,    36,   960,   123,  2320,   963,   191,   145,
13361      107,   478,   850,   465,   466,   467,   468,   469,   470,   160,
13362     1389,   105,   978,   105,    38,   116,  2262,  1717,   395,  4698,
13363       26,   112,   105,  2908,  3636,   387,   252,   389,   141,  1831,
13364     1832,     5,  3227,  3228,  1000,  4556,  3610,  2853,   829,     3,
13365     5249,  1007,  1008,   829,  5363,   829,  5248,   829,   829,  3748,
13366     2751,  2752,  2547,    83,   144,  2756,  4660,  5435,    81,   829,
13367      829,   829,    35,  1029,  1030,  1031,   829,  1033,   829,  1035,
13368     1036,   179,   179,   164,   911,   912,    34,   829,   121,  2865,
13369      829,    54,  3949,  4466,    66,  2186,   117,   395,   187,     5,
13370      117,   285,  2793,  2794,  4507,   303,    22,    26,  1974,   164,
13371      123,   478,    84,  4514,  4593,   383,   136,   208,  4519,   182,
13372       81,  4522,   225,  3894,   187,     5,    92,   252,  4510,    83,
13373      126,  5330,   105,   465,   466,   467,   468,   469,   470,   323,
13374     4543,   104,   240,   240,    81,   105,   243,  1796,   339,  1105,
13375     2016,  1107,  1108,  4556,   343,    58,  4635,  2157,    77,   334,
13376      343,   224,   123,    66,   112,   463,    85,  1040,   174,   287,
13377      142,   185,   356,   193,   255,   284,   252,   172,   476,   323,
13378      201,   135,   117,  1139,   201,    22,   123,     3,   160,  4941,
13379     4899,    30,    31,   158,   113,   478,  2062,  4931,   164,   382,
13380      383,  1152,  1149,  1154,  2562,  1156,   422,  1158,  4419,  1160,
13381     1161,  1162,  4393,  1169,  1170,   131,  1167,   157,  1174,   356,
13382     1176,  1943,  1944,  2027,  4951,   416,  4935,   190,  3246,  4898,
13383     4824,   197,   356,   288,   323,  4387,  3254,   421,   327,    81,
13384      429,  1197,   417,   422,  1200,   285,   212,  1203,   259,   347,
13385      347,   141,    91,   329,  2060,   259,   222,   326,  4162,   339,
13386     1216,   180,   264,  5253,  5254,  4934,   201,   356,    95,   353,
13387      388,   291,   111,   192,   287,   238,   474,   231,   241,   359,
13388      356,   123,   248,   323,    49,     8,  1278,   289,    11,   252,
13389     1246,   474,  3894,   275,   131,   259,   112,   433,   361,  1897,
13390      112,   383,  2013,   269,   310,  4203,   145,   362,     3,  1830,
13391      383,  1905,   159,    26,   237,   205,  4719,    40,  1274,  1275,
13392     1276,   284,  1278,  3341,    47,   228,   287,   275,    23,   301,
13393      165,   285,   349,   234,   340,  1819,  1934,   418,   103,   334,
13394     1938,   478,  1298,   153,  1942,   172,   193,  1945,   437,    72,
13395      287,   356,   323,    22,   478,  2161,   296,   273,   455,    28,
13396      325,  1349,   214,  4810,   114,   328,  1887,   333,  1859,  2173,
13397     1904,   460,  4745,   106,  5126,   388,  1862,   474,  4779,   259,
13398     1336,  1368,  1369,  1874,  1371,   275,  1877,   350,    83,   409,
13399     1876,   428,  1385,  1368,  1369,   416,  1371,   417,    22,   416,
13400      420,     0,  2348,  1889,    28,  1503,  5396,   370,  4145,   145,
13401      383,   327,   328,   126,  1370,   225,   139,  2139,  1374,  1375,
13402     4937,  5015,  1994,   383,   395,   252,  5020,   388,    22,  1385,
13403     1386,  1387,   386,  1389,   388,   200,   271,   474,   254,   411,
13404      356,   136,   343,   259,   104,   287,  1937,   259,   285,  1940,
13405     1941,   388,   418,   372,  1410,  1824,   375,   285,   191,   182,
13406      284,   211,   131,   264,   187,  4838,   264,   115,   403,   114,
13407     4843,  4844,   474,   478,   300,   269,  2422,  3988,    22,    91,
13408      319,   416,   397,  3938,    28,   386,   323,   252,   289,  1445,
13409      168,   289,   187,   475,  1450,   323,   478,  5008,   193,   111,
13410     2304,   224,  4104,  5255,   254,  2358,  4108,   131,  1464,  1465,
13411      349,  4596,   475,   414,   284,   463,  4697,  4596,  1474,   356,
13412      410,  1477,   112,   112,   472,  2329,   474,   475,   476,   284,
13413      478,  2403,   356,   145,   115,   183,   437,   131,   439,   168,
13414      375,   124,   311,   474,   383,   112,   388,  1503,   271,  1505,
13415      228,   134,  3816,  1509,  1996,   324,  3820,  3821,   478,  3823,
13416     1433,   311,  2004,   395,   213,   392,   211,  5017,  5018,   158,
13417     1526,   397,  1528,   474,  1567,  1531,  4979,  5329,   238,  2603,
13418      345,   241,   264,   352,  2388,   424,   356,   131,  5340,   428,
13419      180,  4684,  2186,   175,   165,  3860,   291,   285,   437,   228,
13420      275,   356,   183,   252,  1973,  5008,  1975,   289,   237,   254,
13421      343,  1567,  1981,   349,   440,   365,   285,   175,  1987,  1988,
13422     1989,   460,  1578,  1579,  1580,  1581,  1582,   234,  1997,  1998,
13423     3895,   463,  2504,  2002,  2440,   474,   323,  3452,   361,   334,
13424     1596,  2338,  2339,  5395,   476,  2342,   155,   383,  3133,   382,
13425      383,  1607,  1608,  1609,   323,  2527,  2528,  2529,  2530,   477,
13426     3904,   285,  3020,   168,   254,   323,   311,  2539,   356,   356,
13427      252,   346,  2362,   474,  2116,   126,   474,   128,   472,  1517,
13428     2370,  5433,   476,  2373,  1522,  2489,   381,   356,   424,  2271,
13429      285,  2434,  2435,  2436,   252,  2179,   165,     0,   356,   323,
13430      151,   437,   285,   285,  5456,   166,  3724,   319,   217,   387,
13431      359,   389,   115,    66,   409,   273,   283,   303,    21,  1871,
13432     5123,  3391,   417,   228,   460,   420,   254,  1814,   323,   198,
13433     3748,   259,   356,  3207,   305,   458,   414,   349,   474,  3213,
13434      323,   323,   465,   466,   467,   468,   469,   470,    51,  1705,
13435     4654,  1707,   300,  1591,   273,  1860,   328,  1595,   387,   112,
13436      389,   356,  4914,  1719,  1720,   400,   285,   416,  4949,    29,
13437      341,   383,  1870,  1871,   166,  3960,  2358,  3962,   341,   386,
13438      183,   309,   349,  2269,   356,   414,  1742,   153,  3479,  3480,
13439     3481,  3482,   474,    53,  3485,  3486,  3487,  3488,  3489,  3490,
13440     3491,  3492,  3493,  3494,   323,  1761,  2503,   414,   259,  2391,
13441      315,  1765,   424,   264,   167,   126,   383,   128,   315,  4912,
13442      418,  1777,  1778,  1779,  1780,   437,   341,   398,  5339,   339,
13443      437,   285,   439,   404,  1790,  1789,  4929,   400,   263,  3153,
13444      422,  1797,  2424,  5293,  1800,   306,    63,    64,   460,   397,
13445     3541,  3542,   339,   350,   341,  1811,  5259,   424,  1814,   225,
13446     2344,   371,   474,  1819,   422,   319,  3472,   474,  1824,   323,
13447      437,    92,  4444,  4966,  4731,   434,   474,   338,   126,   474,
13448      128,   184,   387,   153,   389,   400,   383,   158,   158,   430,
13449      351,   285,   440,   460,  2955,  3501,  1994,   327,   169,   145,
13450      266,   254,   356,  1859,  1860,  4507,   259,   474,  2557,   414,
13451      429,   163,  4514,   400,  1870,  1871,   187,  4519,  1874,   478,
13452     4522,  1877,  5133,   384,   114,   430,   356,  5438,   439,   323,
13453      346,  5334,  4830,   430,    74,   187,  5339,  5118,  1894,  1895,
13454      250,  4543,   215,   164,    84,  1901,   338,  1903,   301,   460,
13455      474,   402,   344,   264,  4556,   225,  4353,  1904,   268,   351,
13456     1953,   412,   356,  1914,   317,  1916,  2656,  1918,  2772,  1920,
13457      418,  1922,  1928,  2567,  2778,  1926,   197,  2928,  4550,  1935,
13458     4552,  1937,   213,     8,  1940,  1941,    11,  1943,  1944,  4727,
13459     1946,   212,   384,  1966,  4372,  4392,   266,  1953,  4183,  4184,
13460     3324,   222,   239,  3327,  1960,   195,   254,  5100,   104,  1965,
13461     1966,  1958,    84,  1969,   406,    40,   264,  1973,  1958,  1975,
13462     1958,   252,    47,  1958,  1980,  1981,   474,   248,  2622,  1958,
13463     4206,  1987,  1988,  1989,  1905,  5438,  4212,  1993,  1994,  1995,
13464     1996,  1997,  1998,  1999,  2000,   474,  2002,    72,  2004,  2005,
13465     3640,  4315,  2008,  4317,  4318,  2653,   285,  4321,   411,  2567,
13466       24,   332,   252,   159,   254,   315,   418,  2023,  2024,  2025,
13467     2026,  1965,   285,     4,  2030,  2031,  2228,  4342,     9,  2035,
13468      311,    45,  2038,   164,   158,  2041,  2042,  2043,  2044,  2045,
13469     2046,  2047,  2048,  2049,   323,  2051,   168,   193,   327,  1972,
13470      350,  2057,  2058,   349,  2060,  2848,  4963,   181,  1517,  5261,
13471      323,  2067,   333,  1522,  2622,   325,   197,  4719,  5022,   191,
13472       22,  2226,   474,   400,  2229,  2230,    28,   356,   359,    74,
13473     2228,   212,  2219,   383,   141,   285,   437,   383,   285,    84,
13474     2096,   222,   238,   356,  2100,   241,   153,  5240,  2104,  4920,
13475     2106,   158,   437,  2918,  2523,   141,   228,   182,   269,   460,
13476     2116,  3852,   187,   274,  2854,   400,   349,   153,   237,  2125,
13477     2126,   437,   158,   323,  2851,  3006,   323,  4779,   424,   437,
13478      430,   114,  1591,  2139,   473,   416,  1595,   346,   437,   478,
13479     2146,   437,  2148,   478,   460,  2592,  2593,  2594,   205,   224,
13480      383,  3032,   274,   387,  2144,   389,   356,  2576,   158,   356,
13481     3695,   473,   478,  2268,   460,  2188,   478,  2190,   225,   205,
13482      478,   439,   126,  2179,   128,   158,  2097,  2098,   474,   478,
13483     5323,   181,  2188,   237,  2190,   158,  3906,  2809,   141,   225,
13484        4,   424,   460,    88,  3305,     9,   271,   151,  2241,   191,
13485      153,  2207,   333,  2186,  3315,   158,   474,   472,   181,   266,
13486     2854,   476,   195,  2219,   437,  2221,  2222,   181,   275,  5007,
13487     2226,   239,  2228,  2229,  2230,  4870,  2232,  4872,  2234,  5183,
13488      266,  4876,  2238,  4878,  5436,  2241,   400,   460,   469,   275,
13489       80,   474,  2347,   474,   430,   476,  5389,   475,     5,  4564,
13490      478,   346,   205,   269,    11,   439,  2262,   610,   274,  2751,
13491     2752,   474,    19,   476,  2756,   387,  2272,   389,  4920,   252,
13492     3686,   254,   225,    53,  2280,  2281,   460,     9,   400,  4924,
13493       37,   472,  2288,   474,   215,   476,   361,   474,  3928,   411,
13494      474,  2297,   414,   898,   474,  2338,  2339,  2945,   903,  2342,
13495      254,  2793,  2794,   269,   469,   259,  3432,   478,  3672,   474,
13496      264,   476,  2318,   266,    13,    14,  2421,  2323,  2324,  3693,
13497      475,  3695,   275,   478,   343,  4639,   902,  4979,  2972,  3251,
13498      474,    83,  2338,  2339,  2753,    53,  2342,  3297,  2344,  2345,
13499     2764,  5295,  2766,  2767,   920,   475,  2765,   923,   478,   475,
13500      430,  3207,   478,   410,   707,   708,  5008,  3213,  3363,  3364,
13501        8,  3258,  2368,    11,  3728,  2371,   428,    15,    16,    17,
13502      475,    43,   124,   478,   410,  3007,   475,   475,  2797,   478,
13503      478,   475,   134,   458,   478,   475,  2392,  2393,   478,   457,
13504      465,   466,   467,   468,   469,   470,   472,   475,   474,  3253,
13505      478,  2407,   283,  2409,  2410,   475,  2942,  2943,   478,   475,
13506      475,   211,   478,   478,  2972,   472,  2835,   475,   475,   476,
13507      478,    66,   475,    30,    31,   478,  5380,    72,   475,   158,
13508      349,   478,  2438,  2439,  2440,   437,   476,   439,  2444,    84,
13509     4675,   339,   340,   475,  2450,  3299,   478,     8,   402,  4954,
13510       11,  3083,  2458,   475,   272,  2461,   478,   410,   412,   234,
13511     2503,  2467,   475,   475,   383,   478,   478,   112,   349,   114,
13512      387,  5123,   389,  2479,   827,  2481,   829,   475,   475,    40,
13513      478,   478,   475,   269,   475,   478,    47,   478,   475,  2495,
13514      475,   478,  2498,   478,  2500,   272,   475,  2503,  4813,   478,
13515      269,  2507,   383,  5291,  2510,   424,  3246,  4822,   339,   340,
13516      475,    72,     8,   478,  3254,    11,  2522,  2523,   437,    15,
13517       16,    17,   167,  3931,   339,   340,  3637,  3638,  4596,  3913,
13518      339,   340,   475,   285,  2540,   478,    32,   475,   395,   187,
13519      478,   460,   272,   424,  2550,  2700,  2552,   457,  2703,   475,
13520      195,  2706,   478,  2509,  5176,   474,   437,  2694,    43,  2549,
13521      475,   209,   474,   478,   476,  3101,   475,   319,   343,   478,
13522     2576,   323,   475,   475,     8,   478,   478,    11,   139,   460,
13523      457,    15,    16,    17,  3120,  3284,   475,   475,   475,   478,
13524      478,   478,   475,   474,   467,   478,   437,  2603,   439,  2605,
13525     2606,  2607,  2608,   162,   356,  3521,    40,  5259,   387,   254,
13526      389,   386,   211,    47,   259,  5403,  3260,   475,  3262,   477,
13527     3621,   182,     8,   271,    35,    11,   187,  5149,  5150,    15,
13528       16,    17,   475,   475,   478,   478,   478,  2643,    72,   414,
13529      475,   475,   475,    54,   478,   478,    32,   475,   475,   475,
13530      478,   478,   478,  4721,   475,   475,   301,   478,   478,   475,
13531     3514,  2809,   437,   224,   439,  5273,  5274,   475,   141,  3416,
13532      478,   475,   317,   475,   478,   474,   478,  5465,  2684,   387,
13533      153,   389,  5334,  4218,  3582,   158,   475,  5339,  2694,   478,
13534       53,   428,   475,   104,  2700,   478,  3340,  2703,   163,   474,
13535     2706,  3441,  3260,  3619,  3262,   475,   207,   474,   478,  2715,
13536      271,  2753,   475,   209,   474,   478,   475,  2723,   476,   478,
13537        8,  4462,  2728,    11,  2872,   441,   474,    15,    16,    17,
13538      475,   475,   205,   478,   478,   234,   437,   475,   439,  3275,
13539      478,  3277,   323,   474,    32,  2751,  2752,  2753,   182,   187,
13540     2756,   475,   225,   187,   478,  2797,   167,  3405,  2764,  2765,
13541     2766,  2767,   475,   146,   475,   478,   411,   478,   146,   475,
13542      475,  2777,   478,   478,  2780,   271,  2782,   475,   475,   190,
13543      478,   478,  3340,   474,   476,  4201,  5438,  2793,  2794,   269,
13544      224,  2797,  5239,   266,   187,   475,  1149,  3694,   478,   269,
13545      361,   475,   275,  2809,   478,  2811,   323,  2813,   475,  2815,
13546      475,   478,   477,   461,   462,   463,  3577,   465,   466,   467,
13547      468,   469,   470,   209,   833,   475,   835,   238,   478,  2835,
13548      241,   146,   475,  2839,   234,   478,   475,   271,   187,   478,
13549     2846,   252,   475,   475,   343,   478,   478,   475,   475,  3664,
13550      478,   478,   146,   269,   475,    35,  2862,   478,   475,  1212,
13551     2902,   478,   158,  2869,  2840,  2841,  2842,   475,  2865,  3723,
13552      478,  3725,   323,   284,    54,  2865,   146,  2865,  2884,  1232,
13553     2865,  4109,   223,  4111,   256,   271,  2865,   386,   475,   114,
13554      418,   478,  2898,  3747,   269,  3431,  2902,   458,   474,  2905,
13555      475,  2907,   239,   478,   465,   466,   467,   468,   469,   470,
13556     1263,   475,  3766,   475,   478,   414,   478,   328,   400,   475,
13557      263,   209,   478,  3804,   104,  1278,   430,   361,   475,  3826,
13558     2846,   478,   475,   475,   346,   478,   478,   410,   437,   350,
13559      439,   158,  2948,   343,  2950,   475,   215,   234,   478,  2955,
13560      475,   475,   475,   478,   478,   478,   475,    66,  2006,   370,
13561        0,  2009,   474,   254,     3,   461,   462,   463,    35,   465,
13562      466,   467,   468,   469,   470,   474,  2982,   349,  2984,  2985,
13563     2986,   254,  2898,   271,  3724,   441,   386,  3479,  3480,  3481,
13564     3482,   234,   269,  3485,  3486,  3487,  3488,  3489,  3490,  3491,
13565     3492,  3493,  3494,  4744,   158,   474,  4056,   254,  3748,    43,
13566      190,   383,    43,   254,   414,  1368,  1369,   405,  1371,  3812,
13567     3512,   254,    83,   285,   458,   430,   430,   461,   462,   463,
13568       80,   465,   466,   467,   468,   469,   470,   437,   158,   439,
13569      304,   146,   146,   474,    83,   146,   427,   474,   297,  3541,
13570     3542,    91,   424,   474,   146,  3474,   343,    34,   238,   474,
13571      146,   241,   441,   146,   478,   437,   146,   146,   146,   146,
13572       35,   146,   252,   146,   474,   461,   462,   463,   146,   465,
13573      466,   467,   468,   469,   470,   269,   671,   158,   460,  3508,
13574      146,    56,   146,  3099,   146,   146,   135,   383,  3246,   386,
13575      343,   141,   474,   475,   284,   477,  3254,   474,    35,   223,
13576      158,   158,   697,   153,   269,   474,     5,     5,   158,   474,
13577      474,   158,   474,   163,   474,    90,   474,   414,   474,   169,
13578        8,     5,   172,    11,  3553,   474,   176,    15,    16,    17,
13579      474,     5,   474,   386,   474,   474,   474,   474,   328,   474,
13580      437,   474,   439,   474,    32,     5,     8,     5,    49,    11,
13581      474,   474,   474,   474,   234,   205,   474,   474,   474,   474,
13582      350,   414,   474,   461,   462,   463,   474,   465,   466,   467,
13583      468,   469,   470,   438,   149,   225,   281,   474,    40,   474,
13584      370,   207,   231,    35,   437,    47,   439,   478,   478,    95,
13585      223,  3207,    93,    35,   478,  4121,     8,  3213,   158,    11,
13586      158,   266,   356,    15,    16,    17,  3222,   395,   264,   184,
13587       72,  3227,  3228,   395,   343,  4141,   266,   118,   395,   269,
13588       32,   474,   429,   255,   256,   275,  3976,   395,    40,   476,
13589      343,  4982,   395,   395,   135,    47,   285,   343,   139,     8,
13590      215,  4362,    11,   225,   395,   220,    15,    16,    17,   395,
13591     3266,  3267,  3268,   463,   395,    84,   146,   343,   159,   269,
13592       72,   162,   269,   343,   348,   220,    35,  3283,   395,   395,
13593      259,   289,   395,   417,   323,   269,   177,   139,   327,   254,
13594      330,  3334,   386,   269,   339,     8,   264,   474,    11,  3305,
13595     3306,   180,    15,    16,    17,     8,   395,   395,    11,  3315,
13596     3316,  3317,    15,    16,    17,  3321,   386,   356,   474,  4703,
13597       84,   286,  3970,  3971,  3972,  3973,  3974,   349,  3334,   478,
13598      182,   209,   285,   187,   146,   187,   418,   418,   395,   269,
13599     3330,  3877,  3878,   383,   414,     8,   395,   386,    11,   388,
13600      383,   395,    15,    16,    17,   383,  4136,   395,   106,   395,
13601     3852,   383,   327,  3353,   269,   950,   331,   437,   259,   439,
13602      410,   395,   224,  3416,   395,   340,   267,   395,   395,    53,
13603      182,   395,    53,   348,   395,   187,   245,  3549,   395,  3395,
13604      975,   356,   395,   271,   434,   308,   436,   437,   437,   395,
13605      273,   395,   424,   368,   474,   990,   343,   209,   210,   395,
13606     3416,   376,   395,   386,   289,   437,    42,   234,   309,   271,
13607      289,     8,   224,    42,   395,   395,  3432,   343,    15,    16,
13608       17,   395,   472,   398,   395,   475,   476,   477,   460,   395,
13609      475,   209,   269,   234,   209,   269,   478,   209,  3454,   479,
13610      209,   441,   474,   209,   209,   257,   209,  3463,   269,   269,
13611      209,   395,   209,  3469,   405,  3471,   209,   432,  3474,   271,
13612     4210,   436,   274,  3479,  3480,  3481,  3482,   437,    35,  3485,
13613     3486,  3487,  3488,  3489,  3490,  3491,  3492,  3493,  3494,   234,
13614      146,    24,  3498,  3499,   474,   269,   209,   146,   112,   418,
13615      254,   437,  3508,   146,   146,  3547,  3512,  4129,   429,   361,
13616     3516,   146,   271,   231,   264,   254,   254,   269,  3524,   254,
13617       35,  3527,   158,  3529,  3566,   474,   343,    35,   215,   345,
13618      474,    34,  3538,   393,   472,  3541,  3542,   393,   395,   472,
13619     3546,  3547,   395,   474,   395,  3551,   209,  3553,   395,   146,
13620      146,  1904,   343,   418,  3560,  3561,  3562,  3563,   271,   361,
13621     3566,  3567,  4418,   146,     0,  3571,  3572,  3573,   271,   386,
13622      146,   146,  3578,   418,   263,   395,  3724,   258,   163,  3555,
13623     3556,  3557,  3558,   461,   462,   463,   245,   465,   466,   467,
13624      468,   469,   470,   433,   245,   386,  3602,   414,   343,  1184,
13625     3748,    11,   474,   393,  4096,  1958,   458,   478,   271,   395,
13626     3616,   474,  3618,   465,   466,   467,   468,   469,   470,   474,
13627      437,   172,   439,   414,  4043,  5366,  5367,   154,   163,   478,
13628     3636,  3637,  3638,   180,  3640,   180,  4284,  4285,   475,  4287,
13629      397,   386,   205,   474,  4343,   478,   437,  3563,   439,   359,
13630     3566,  3657,  3658,  3659,  3660,    91,   458,   474,   213,   461,
13631      462,   463,  4198,   465,   466,   467,   468,   469,   470,   414,
13632      270,   478,   418,    35,   278,    53,   478,   475,   343,  2032,
13633     3686,   474,   418,   474,   271,   213,   259,  5222,   213,   259,
13634      395,   395,   437,   395,   439,   239,   474,   430,   346,  3705,
13635      400,   158,   461,   462,   463,   141,   465,   466,   467,   468,
13636      469,   470,  4823,   215,   148,   269,   259,   153,    43,   365,
13637     3636,   148,   158,   254,   223,   223,  4867,   163,   223,   474,
13638      339,   267,   386,   169,   395,   269,   172,   478,   181,  4275,
13639      176,   148,   148,   269,   323,   353,   311,   475,   461,   462,
13640      463,  4648,   465,   466,   467,   468,   469,   470,   461,   462,
13641      463,   395,   465,   466,   467,   468,   469,   470,   395,   205,
13642      275,    35,  3755,   418,   209,   215,   267,   418,   307,   191,
13643      463,   463,   146,   264,  4858,   158,  4860,    35,   160,   225,
13644     4644,  2144,   430,   384,  3800,   308,   264,   474,   461,   462,
13645      463,   353,   465,   466,   467,   468,   469,   470,   146,   146,
13646      474,   146,   264,     8,   437,   254,    11,    35,   269,   269,
13647       15,    16,    17,   254,   215,   178,   178,   158,    35,     8,
13648      266,   475,    11,   269,  4370,   472,   457,    32,  3844,   275,
13649      457,   347,  3848,   475,  3850,    40,  3852,   475,   243,   215,
13650      475,   475,    47,  3859,   158,   269,  4596,   353,   254,  3865,
13651      187,    40,   478,   187,   187,   187,   187,   478,    47,  3875,
13652      441,   478,    23,   170,   461,   462,   463,    72,   465,   466,
13653      467,   468,   469,   470,  3890,   395,   474,   163,  3894,   437,
13654      269,   242,   478,    72,   330,    53,   400,   383,  3904,   215,
13655      263,  4673,   163,   475,   281,   474,   430,  3913,   475,   475,
13656      478,   475,   163,   475,  1499,   475,   475,   475,  3924,   475,
13657      290,   474,  3928,  5064,   395,   475,  3932,  3933,   270,   475,
13658      280,   270,   474,  3923,   457,  4557,   474,   474,   459,   416,
13659      434,   233,   474,   269,   434,   424,   463,   383,    53,   269,
13660      191,   269,   474,   272,  3960,   474,  3962,   146,  4377,   441,
13661      139,  5072,  5073,  3969,   199,   395,   395,   200,   259,   395,
13662     4462,  4764,   395,   254,   410,   146,   209,   273,  3894,  4471,
13663      356,  4129,   146,   348,   146,  4607,   223,   182,   348,   348,
13664      223,   191,   187,   148,   463,   395,  4002,   418,   434,   225,
13665      436,   437,   478,   182,   291,   291,   415,  4013,   187,   395,
13666      395,   395,   395,   235,   209,   210,   235,   269,   235,   146,
13667      395,   395,   254,   356,   395,    42,   343,   395,   343,   224,
13668      343,   343,   473,   475,   395,   209,   472,  4043,   395,   475,
13669      476,   477,   475,   475,   209,   224,   395,  4053,  4054,   395,
13670      395,   395,   209,   209,  4060,  4061,   175,     3,   475,  4065,
13671      475,  4597,   257,     3,  4070,   478,   158,  4073,  4074,   405,
13672       43,   325,  4078,  4079,   105,   478,   271,   475,  4084,  4085,
13673     4086,  4087,  4088,   158,   474,   267,  4092,  4093,  4094,   269,
13674     4096,  4097,   271,     0,  4100,   475,    35,   146,  4104,  4955,
13675      395,   146,  4108,  5214,   158,   175,   473,   418,  4114,   418,
13676      146,   272,   343,   343,   343,   473,   343,   353,   343,   475,
13677      144,   144,   209,  4129,  4772,  1710,   209,  4867,   209,   209,
13678     4136,   478,   209,   209,  4140,  4783,   209,  4160,   209,  4145,
13679      472,   137,  1727,   163,    11,   281,   158,   429,  4138,  4139,
13680      478,   434,   163,   163,  4160,    56,   172,  4163,   270,    82,
13681      474,     8,   460,  1748,    11,   475,   361,   475,   475,  5310,
13682      475,   330,   475,   474,   423,   475,   478,  4183,  4184,   478,
13683      474,  5084,   361,   158,    91,   475,   475,    35,  4104,    90,
13684      405,   395,  4108,    40,   418,  4201,  2549,   418,   199,    53,
13685       47,   215,   386,   146,   474,   372,   167,   405,  5062,  4215,
13686      348,  4855,   395,   343,  4862,   343,   475,   395,   395,  1804,
13687      395,   323,  4205,  4867,   474,    72,   395,   437,   475,   475,
13688       53,  4214,   386,  1818,   141,   148,   424,   158,    72,   105,
13689      146,   475,   405,   209,   209,  1830,   153,   209,   149,   209,
13690      213,   158,  4744,   194,   474,   395,   163,  1842,  4264,   318,
13691      474,   269,   169,   458,   475,   172,   461,   462,   463,   176,
13692      465,   466,   467,   468,   469,   470,   478,  4769,    35,   458,
13693     4286,   441,   478,   184,   289,    78,   465,   466,   467,   468,
13694      469,   470,   139,   386,   405,  4301,   395,   478,   205,   475,
13695      353,  1886,  1887,   473,  5158,   478,   474,   169,   474,   105,
13696      163,   209,   163,   316,    53,   435,   212,   435,   225,   220,
13697     5019,   279,   475,   475,   474,  4331,   475,   281,   212,   475,
13698     4749,   478,   474,   385,   475,   182,    53,   474,   276,   474,
13699      187,  4347,  4990,   176,   264,   405,   463,  4353,   395,   163,
13700       72,   437,   188,   254,   193,   181,  4362,   259,    53,   266,
13701      259,   386,   269,   463,   478,   478,   395,    66,   275,     8,
13702     4789,  4377,    11,   395,   395,   146,   474,   224,     6,   475,
13703      209,   165,   163,   112,  4390,   286,  4392,    35,   418,   187,
13704      264,   418,   625,    35,  5016,   474,   353,   254,   631,  4389,
13705     2753,    40,   160,   158,   353,  4607,   264,    53,    47,  4557,
13706       35,   644,   163,   269,   158,   207,  4422,   474,   437,   437,
13707     5064,   196,   272,   330,   271,   163,   327,   316,   329,   423,
13708      331,   474,   474,    72,   369,   475,   475,  2022,   212,   340,
13709      289,   474,   474,   436,  2797,   127,   474,   348,  4596,   475,
13710       84,  4606,   269,   317,    35,   356,  4462,   146,   395,  4607,
13711      475,  2814,   395,   119,   158,  4471,    35,   368,   474,   259,
13712      474,   180,   474,   236,   474,   376,   383,  2830,   191,   474,
13713      353,   146,  4488,  4489,   474,   474,  4492,   474,   474,   105,
13714     4982,   475,   132,  2846,    35,  4650,   475,   433,   340,   340,
13715      139,  4507,   405,   410,  4510,   273,   367,   367,  4514,    53,
13716       53,   475,  2865,  4519,   361,    35,  4522,  4523,    75,  4525,
13717      180,  4527,   474,  4529,  4530,   478,   474,   434,   423,   436,
13718      437,   432,   474,   418,   386,  4536,   158,  4543,  5392,  4545,
13719      474,   386,   474,   182,   252,  2898,   474,     5,   187,  2902,
13720     4556,  4557,  4558,  4559,  4560,   269,   386,  4976,   475,   152,
13721      441,  5205,   190,   474,   474,   472,   145,    66,   475,   476,
13722      477,   199,   200,    66,  4993,   272,   127,   423,  4997,   207,
13723     4999,   209,   210,   316,   422,   224,   474,   474,   478,    35,
13724      356,  4507,   163,   437,   437,   223,   314,   386,  4514,  5453,
13725     4606,  4607,   259,  4519,   132,   193,  4522,   269,   269,   474,
13726      353,   458,    35,    35,   272,  5469,   188,   272,   465,   466,
13727      467,   468,   469,   470,   434,   165,   165,  4543,    53,   339,
13728      395,   117,   271,   416,   474,     5,   339,    22,  2223,   474,
13729     4556,   478,   353,    28,  4650,   142,   474,  4653,   475,   276,
13730      475,   475,  2237,   324,   474,     6,    41,    21,   474,  4665,
13731      478,   474,  4668,   478,    32,  5157,  5310,  4673,   259,  4675,
13732      474,     8,   145,   163,    11,  4718,  4682,   277,    15,    16,
13733       17,    75,   367,   395,   367,    70,   339,  4677,   437,   437,
13734      165,   165,  2277,  4699,   474,    32,   829,  4703,  1331,  1594,
13735     2507,  2854,   911,    40,   912,  2391,  3032,  2313,  3697,  5205,
13736       47,  4717,  4718,  4719,  3723,  5383,  5201,  3244,   866,  3828,
13737        8,  2416,   361,    11,  4880,  5062,  4716,    15,    16,    17,
13738     5310,  3875,  4703,  4333,  2949,    72,  4672,   122,  4744,   124,
13739     5182,  4747,  2643,  4749,    32,  5297,   131,  4789,  5092,   134,
13740     5091,  5224,    40,  5334,  4556,  2953,  3908,  3924,  5026,    47,
13741     3866,  3718,  3295,  4769,  2492,  2492,  3058,  3891,  4371,  4775,
13742     4679,  2486,  3307,  4779,   159,  4688,   908,  4783,  5469,  5312,
13743     5453,  4665,  3253,  4789,    72,  5277,  3248,  5237,  4841,  4609,
13744     1756,  5035,  4798,  4612,    28,  1176,  3979,  4809,  1187,  5400,
13745     1802,  2162,  3931,  4719,  2927,  1811,  4955,  1870,   193,   695,
13746     1961,  1961,  3185,  3747,  1962,  4821,   988,  4823,  3299,   458,
13747     3766,  5264,  5441,   808,  1417,  2097,   465,   466,   467,   468,
13748      469,   470,  4140,  1905,  2105,  4539,  5175,  3616,  2106,   190,
13749      661,  1353,  4848,  1308,  2869,   182,  2884,  2142,   199,  2116,
13750      187,  3581,  4858,  4859,  4860,  4861,   207,  5167,  1378,   210,
13751     5001,  1377,  4126,  4779,  3566,  2141,  1380,   252,  5016,   254,
13752     4093,  3563,   209,   210,  5366,  5367,  4780,  4979,  4110,   264,
13753     4978,  3617,  3563,  5447,  1385,  5281,  5370,   224,   273,  1835,
13754     4896,  5157,  3516,  4747,   182,  2480,  4533,    35,  5170,   187,
13755      285,  5171,  2724,  2814,  2444,  2812,    -1,    -1,  2055,    -1,
13756       -1,  4917,  2058,    -1,  4920,    -1,    54,    -1,    -1,    -1,
13757      257,   209,   210,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13758       -1,    -1,    -1,    -1,   271,    -1,   224,   274,   323,    -1,
13759     4930,   326,   327,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13760       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13761       -1,    -1,    -1,    -1,    -1,    -1,   104,   105,    -1,   257,
13762     4976,   356,    -1,  4979,   112,    -1,  4982,  3330,    -1,    -1,
13763     4986,    -1,    -1,   271,    -1,   613,   274,  4993,    -1,    -1,
13764       -1,  4997,    -1,  4999,    -1,  5001,    -1,   625,    -1,    -1,
13765     3353,    -1,  5008,   631,  4920,    -1,    -1,    -1,  5014,    -1,
13766     5016,    -1,    -1,    -1,    -1,  5005,   644,    -1,    -1,    -1,
13767       -1,  5027,    -1,    -1,   361,    -1,    -1,    -1,    -1,   167,
13768       -1,    -1,   660,    -1,    -1,  5190,   421,   665,    -1,    -1,
13769       -1,    -1,    -1,   671,    -1,    -1,    -1,   675,   676,    -1,
13770       -1,    -1,   190,    -1,   682,    -1,   684,   685,    -1,    -1,
13771       -1,    -1,    -1,  4979,    -1,    -1,  5072,  5073,    -1,   697,
13772      698,    -1,    -1,   361,    -1,    -1,    -1,    -1,    -1,    -1,
13773      708,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13774       -1,    -1,  5008,    -1,    -1,  2680,    -1,  5103,    -1,    -1,
13775      238,    -1,    -1,   241,  5110,    -1,    -1,    -1,  5114,    -1,
13776     5265,  5266,  2697,    -1,   252,    -1,   254,  5123,    -1,    -1,
13777       -1,   458,    -1,    -1,   461,   462,   463,  2712,   465,   466,
13778      467,   468,   469,   470,    -1,    -1,    -1,    -1,    -1,    -1,
13779       -1,   478,  5148,  5149,  5150,    -1,   284,    -1,  5154,    -1,
13780       -1,  5157,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   787,
13781      788,  5167,    -1,    -1,  5170,   793,    -1,    -1,    -1,  5175,
13782      458,    -1,    -1,   461,   462,   463,    -1,   465,   466,   467,
13783      468,   469,   470,    -1,  5190,    -1,    -1,   475,    -1,    -1,
13784      328,   819,    -1,    -1,  3547,    -1,    -1,    -1,    -1,    -1,
13785       -1,  5207,    -1,    -1,    -1,    -1,    -1,  5123,  5214,    -1,
13786     3563,    -1,   350,  3566,     3,    -1,    -1,    -1,    -1,     8,
13787       -1,    -1,    11,    -1,    -1,    -1,    15,    16,    17,    -1,
13788       -1,    -1,   370,  5239,   372,    -1,    -1,   375,  5244,    -1,
13789       -1,    -1,    -1,    32,  5250,    -1,    35,    -1,  5238,    -1,
13790       -1,    40,    -1,  5259,    -1,    -1,    -1,    -1,    47,  5265,
13791     5266,  5267,   613,    -1,    -1,    -1,    -1,  5264,    -1,    -1,
13792       -1,  5277,    -1,    -1,  5264,  5281,  5264,    -1,    -1,  5264,
13793       -1,    -1,    -1,    72,    -1,  5264,    -1,    -1,    -1,    -1,
13794       -1,    -1,    -1,    -1,    -1,    -1,  5302,    -1,    -1,    -1,
13795     5342,    -1,    -1,    -1,    -1,    -1,   934,   935,   936,    -1,
13796       -1,    -1,    -1,    -1,   665,   943,  5471,  5472,    -1,    -1,
13797       -1,    -1,   950,    -1,   675,    -1,   954,    -1,  5334,  5335,
13798     5336,   682,   960,  5339,   685,   963,   474,    -1,    -1,    -1,
13799       -1,    -1,    -1,  5259,    -1,  5342,    -1,   975,    -1,    -1,
13800       -1,    -1,  5342,    -1,  5342,    -1,    -1,  5342,    -1,  1592,
13801     5366,  5367,   990,  5342,    -1,    -1,    -1,    -1,    -1,    -1,
13802       -1,    -1,  5378,    -1,    -1,    -1,    -1,    -1,    22,    -1,
13803       -1,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,    -1,
13804       -1,  2976,    -1,   182,    -1,    -1,    -1,    -1,   187,    -1,
13805       -1,    -1,    -1,    -1,    -1,  5411,    -1,  1035,  1036,    -1,
13806     2995,    -1,    -1,    -1,    -1,  5421,    -1,    -1,  5334,    -1,
13807      209,   210,    -1,  5339,    -1,    -1,    -1,    -1,    -1,  5435,
13808       -1,    -1,  5438,    -1,    -1,   224,    -1,    -1,    -1,    -1,
13809       -1,  5447,    -1,    -1,  5441,  5451,    -1,  1075,    -1,    -1,
13810       -1,  5441,    -1,  5441,    -1,    -1,  5441,    -1,    -1,    -1,
13811       -1,    -1,  5441,    -1,    -1,  5471,  5472,    -1,   257,    -1,
13812       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13813       -1,    -1,   271,    -1,  1112,   274,    -1,    -1,    -1,    22,
13814       -1,    -1,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
13815       -1,    -1,  1130,    -1,    -1,    -1,  3091,    -1,  3093,    -1,
13816       -1,  1139,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1147,
13817       -1,    -1,  5438,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13818       -1,    -1,    -1,    -1,  1767,    -1,    -1,    70,    -1,    -1,
13819       -1,  3894,  1775,     8,    -1,    -1,    11,  1175,    -1,    -1,
13820       15,    16,    17,    -1,  1787,    -1,  1184,    -1,  1186,    -1,
13821       -1,    -1,    -1,    -1,    -1,    -1,    -1,    32,    -1,    -1,
13822     3923,    -1,   361,  1201,    -1,    40,  1204,    -1,    -1,    -1,
13823       -1,    -1,    47,    -1,    -1,    25,    -1,   120,  1216,    -1,
13824       -1,   124,   943,    -1,    -1,    -1,    -1,  3182,   131,    -1,
13825       -1,   134,    -1,   954,    -1,    -1,    -1,    72,    -1,   960,
13826       -1,    -1,   963,    -1,    -1,    -1,    -1,    -1,  1246,    -1,
13827       -1,    -1,    -1,    -1,    -1,    -1,   159,    -1,    -1,    -1,
13828     1863,    -1,    -1,    -1,    74,    -1,  3221,    -1,    -1,    -1,
13829       -1,    -1,    -1,    -1,    -1,    -1,  1274,  1275,  1276,    -1,
13830     1278,    -1,    -1,    -1,    -1,    -1,    -1,  1890,    -1,    -1,
13831      193,    -1,    -1,    -1,    -1,    -1,   106,    -1,    -1,   458,
13832     1298,    -1,   461,   462,   463,    -1,   465,   466,   467,   468,
13833      469,   470,    -1,    -1,  1035,  1036,    -1,    -1,    -1,   129,
13834       -1,    -1,    -1,    -1,  1322,    -1,    -1,    -1,    -1,    -1,
13835      140,    -1,  1330,  1331,    -1,    -1,    -1,    -1,    -1,    -1,
13836       -1,    -1,    -1,    -1,    -1,    -1,    -1,   182,    -1,   252,
13837      160,   254,   187,    -1,    -1,   165,    -1,    -1,    -1,    -1,
13838       -1,   264,    -1,    -1,    -1,    -1,    -1,    -1,  3323,    -1,
13839      273,    -1,  1370,    -1,   209,   210,  1374,  1375,    -1,    -1,
13840       -1,  4104,   285,    -1,    -1,  4108,    -1,    -1,    -1,   224,
13841       -1,  1389,    -1,    -1,    -1,  1393,    -1,    -1,    -1,    -1,
13842     3355,  1399,    -1,    -1,    -1,    -1,   216,    -1,    -1,    -1,
13843       -1,    -1,    -1,    -1,    -1,  4138,  4139,    -1,    -1,    -1,
13844      323,    -1,   257,   326,   327,    -1,    -1,   237,    -1,    -1,
13845       -1,    -1,    -1,    -1,    -1,    -1,   271,    -1,    -1,   274,
13846        8,    -1,    -1,    11,    -1,    -1,    -1,    15,    16,    17,
13847       -1,    22,    -1,   356,    -1,    -1,    -1,    28,    -1,    -1,
13848     1458,    -1,    -1,    -1,    32,    -1,    -1,    -1,    -1,    -1,
13849       41,    -1,    40,    -1,    -1,    -1,    -1,    -1,    -1,    47,
13850       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13851       -1,    -1,    -1,    -1,   304,   305,    -1,    -1,   308,    70,
13852       -1,  1499,  3457,    -1,    72,    -1,    -1,    -1,    -1,    -1,
13853       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   421,    -1,
13854       -1,    -1,    -1,  3478,   334,    -1,   361,   337,    -1,    -1,
13855       -1,    -1,    -1,   343,  1532,    -1,    -1,    -1,    -1,    -1,
13856      350,    -1,    -1,    -1,    -1,    -1,    -1,  2150,  3503,   120,
13857       20,    -1,    -1,   124,    -1,    25,    -1,    -1,    -1,    -1,
13858      131,    -1,    -1,   134,    -1,  2168,    -1,    -1,   378,    -1,
13859       -1,  2174,    -1,   383,    -1,  2178,   386,    -1,    -1,    -1,
13860       -1,    -1,  3537,    -1,    -1,    -1,    -1,    -1,   159,    -1,
13861       60,    -1,    -1,    -1,  1592,   405,    -1,    -1,    -1,    -1,
13862       -1,  2204,    -1,    73,    -1,    -1,    -1,    -1,    -1,  1607,
13863     1608,  1609,    -1,    -1,   182,    -1,    -1,    -1,    88,   187,
13864      430,    -1,   193,   458,    -1,    -1,   461,   462,   463,    -1,
13865      465,   466,   467,   468,   469,   470,    -1,    -1,    -1,    -1,
13866      475,   209,   210,    -1,    -1,    -1,    -1,  2250,    -1,    -1,
13867       -1,    -1,    -1,    -1,    -1,    -1,   224,    -1,    -1,   129,
13868       -1,    -1,    -1,    -1,    -1,  2268,  4389,    -1,    -1,    -1,
13869      140,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13870       -1,   252,    -1,   254,    -1,    -1,    -1,    -1,    -1,   257,
13871      160,    -1,    -1,   264,    -1,   165,    -1,    -1,  2301,    -1,
13872       -1,    -1,   273,   271,    -1,    -1,   274,   721,    -1,   723,
13873       -1,   725,  1710,    -1,   285,    -1,    -1,   731,   732,   733,
13874       -1,    -1,    -1,    -1,  2327,    -1,    -1,    -1,    -1,  1727,
13875       -1,  2334,    -1,    -1,    -1,    -1,    -1,  2340,  1736,    -1,
13876       -1,    -1,    -1,    -1,  2347,  1743,    -1,    -1,  2351,    -1,
13877     1748,    -1,   323,  2356,    -1,   326,   327,    -1,    -1,    -1,
13878       -1,    -1,    -1,    -1,    -1,    -1,    -1,   237,    -1,  1767,
13879       -1,    -1,    -1,  2376,    -1,    -1,    -1,  1775,  2381,    -1,
13880       -1,    -1,  2385,    -1,    -1,   356,    -1,    -1,    -1,  1787,
13881       -1,  4514,    -1,   361,    -1,  2398,  4519,    -1,    -1,  4522,
13882       -1,   271,    -1,    -1,    -1,    -1,  1804,    -1,  2411,    -1,
13883       -1,    -1,    -1,  1811,    -1,    -1,  1814,    -1,  2421,    -1,
13884     1818,    -1,    -1,    -1,    -1,    -1,  1824,    -1,    -1,    -1,
13885       -1,    -1,  1830,    -1,   304,   305,    -1,    -1,    -1,    -1,
13886       -1,    -1,    -1,    -1,  1842,    17,    -1,    -1,    -1,    -1,
13887      421,    -1,    -1,    -1,    26,    -1,    -1,    -1,    -1,    -1,
13888      874,  1859,  1860,    -1,  1862,  1863,    -1,   337,    -1,    -1,
13889       -1,    -1,    -1,   343,    -1,    -1,  1874,    -1,  1876,  1877,
13890      350,    -1,    -1,   353,    -1,    -1,    -1,    -1,  1886,  1887,
13891      458,  1889,  1890,   461,   462,   463,    -1,   465,   466,   467,
13892      468,   469,   470,    -1,    -1,   473,    -1,  1905,    -1,    -1,
13893       -1,    -1,    -1,   383,    -1,    -1,    -1,    -1,    -1,    -1,
13894      390,    -1,    -1,    -1,    -1,    -1,  3881,    -1,   398,    -1,
13895       -1,    -1,    -1,    -1,    -1,   405,    -1,    -1,    -1,  1937,
13896       -1,    -1,  1940,  1941,    -1,    -1,    -1,    -1,    -1,    -1,
13897       -1,    -1,    -1,    -1,  4677,    -1,    -1,    -1,    -1,    -1,
13898      430,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13899       -1,    -1,    -1,    -1,    -1,  1973,    -1,  1975,    -1,    -1,
13900       -1,    -1,  1980,  1981,    -1,    -1,    -1,    -1,    -1,  1987,
13901     1988,  1989,    -1,  4716,    -1,  1993,    -1,  1995,  1996,  1997,
13902     1998,  1999,  2000,    -1,  2002,    -1,  2004,  2005,    -1,    -1,
13903     2008,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13904       -1,    -1,    -1,    -1,  2022,  2023,  2024,  2025,  2026,  2027,
13905       -1,    -1,    -1,  2031,    -1,    -1,    -1,  2035,    -1,    -1,
13906     2038,    -1,    -1,  2041,  2042,  2043,  2044,  2045,  2046,  2047,
13907     2048,  2049,    -1,  2051,    -1,    -1,  4779,    -1,    -1,    -1,
13908     2058,  2664,  2060,    -1,    -1,    -1,  4789,    -1,    -1,    -1,
13909       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2682,
13910       -1,    -1,    -1,    -1,    -1,    -1,    -1,  2690,    -1,    35,
13911     1811,    -1,    -1,  1814,    -1,    -1,    -1,    -1,     8,    -1,
13912       -1,    11,  2100,    -1,    -1,    15,    16,    17,    -1,    -1,
13913       56,  4066,    -1,    -1,    -1,    -1,    -1,    -1,  2116,    -1,
13914       -1,    -1,    32,    -1,    -1,    -1,    -1,  2125,  2126,    -1,
13915       40,    -1,    -1,  1147,    -1,    -1,    -1,    47,  1859,  1860,
13916       -1,    -1,    -1,    -1,    90,    -1,    -1,    -1,    -1,    -1,
13917       -1,    -1,  2150,  1874,    -1,    -1,  1877,    -1,    -1,  2157,
13918       -1,    -1,    72,  2161,  2162,    -1,    -1,    -1,    -1,    -1,
13919     2168,    -1,    -1,    -1,    -1,  2173,  2174,    -1,    -1,    -1,
13920     2178,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2186,    -1,
13921       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4920,    -1,    -1,
13922       -1,    -1,    -1,   149,    -1,    -1,  2204,  4930,    -1,  2207,
13923       -1,    -1,    -1,    -1,    -1,    -1,  1937,    -1,    -1,  1940,
13924     1941,  2219,    -1,    -1,    -1,  2223,  4181,    -1,  2226,    -1,
13925       -1,  2229,  2230,    -1,    -1,    -1,    -1,    -1,   184,  2237,
13926       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13927       -1,    -1,  2250,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13928       -1,    -1,    -1,    -1,    -1,  4220,    -1,    -1,    -1,   215,
13929     2268,  2269,   182,    -1,   220,    -1,    -1,   187,    -1,  2277,
13930       -1,    -1,  5005,    -1,    22,    -1,  4241,    -1,    -1,    -1,
13931       28,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   209,
13932      210,    -1,  2300,  2301,    -1,    -1,  2304,    -1,   254,    -1,
13933       -1,  1325,    -1,    -1,   224,    -1,  1330,  1331,    -1,    -1,
13934       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2327,
13935       -1,  2329,    70,    -1,    -1,    -1,  2334,    -1,    -1,    -1,
13936      286,    -1,  2340,    -1,    -1,    -1,    -1,   257,    -1,  2347,
13937       -1,  4306,    -1,  2351,    -1,    -1,    -1,    -1,  2356,    -1,
13938       -1,   271,    -1,    -1,   274,    -1,  2969,    -1,    -1,    -1,
13939       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2376,    -1,
13940       -1,   327,    -1,  2381,    -1,   331,   124,  2385,    -1,    -1,
13941     2388,    -1,    -1,   131,   340,    -1,   134,    -1,    -1,    -1,
13942     2398,    -1,   348,    -1,    -1,    -1,    -1,    -1,    22,    -1,
13943      356,    -1,    -1,  2411,    28,    -1,    -1,    -1,    -1,    -1,
13944       -1,   159,   368,  2421,  1438,    -1,    -1,    -1,    -1,    -1,
13945      376,    -1,    -1,    -1,  1448,   607,    -1,    -1,    -1,    -1,
13946     2438,  2439,  2440,    -1,    -1,    -1,  2444,    -1,    -1,    -1,
13947       -1,   361,   398,    -1,    -1,   193,    70,    -1,    -1,    -1,
13948       -1,    -1,    -1,    -1,    -1,  4420,    -1,    -1,    -1,    -1,
13949       -1,    -1,    -1,    -1,    -1,    -1,  1490,  1491,  3081,    -1,
13950       -1,  2479,  2480,    -1,    -1,    -1,   432,    -1,   660,   661,
13951      436,  2489,    -1,    -1,    -1,    -1,    -1,    -1,  2219,    -1,
13952       -1,    -1,    -1,    -1,    -1,  2226,    -1,    -1,  2229,  2230,
13953      124,  4466,    -1,    -1,   252,  5238,   254,   131,    -1,  1533,
13954      134,    -1,  1536,  1537,    -1,  2523,   264,    -1,    -1,    -1,
13955       -1,    -1,    -1,    -1,    -1,   273,    -1,    -1,    -1,    -1,
13956       -1,  5264,    -1,    -1,    -1,   159,    -1,   285,   458,    -1,
13957       -1,   461,   462,   463,    -1,   465,   466,   467,   468,   469,
13958      470,    -1,    -1,    -1,  2562,   475,    -1,    -1,    -1,  2567,
13959       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2576,   193,
13960       -1,    -1,    -1,   755,    -1,   323,    -1,    -1,   326,   327,
13961       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3202,
13962       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   781,
13963       -1,    -1,    -1,    -1,    -1,    -1,    -1,   789,   356,  5342,
13964      792,   793,   794,    -1,  2622,    -1,    -1,    -1,    -1,    -1,
13965       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   252,    -1,
13966      254,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13967      264,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   273,
13968       -1,    -1,    -1,    -1,    -1,    -1,  2664,    -1,    -1,    -1,
13969       -1,   285,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13970       -1,    -1,  2680,   421,  2682,    -1,    -1,    -1,    -1,    -1,
13971       -1,    22,  2690,    -1,    -1,    -1,  2694,    28,    -1,  2697,
13972       -1,    -1,  2700,  1717,    -1,  2703,    -1,    -1,  2706,   323,
13973       41,    -1,   326,   327,  2712,    -1,    -1,    -1,  5441,    -1,
13974       -1,    -1,    -1,    -1,    -1,  2723,    -1,    -1,    -1,    -1,
13975     2728,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    70,
13976       -1,    -1,   356,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13977       -1,    -1,    -1,  2751,  2752,  2753,    -1,    -1,  2756,    -1,
13978       -1,    -1,    -1,    -1,    -1,    -1,  2764,  2765,  2766,  2767,
13979       -1,    -1,    -1,    -1,  2772,    -1,    -1,    -1,    -1,  2777,
13980     2778,    -1,  2780,    -1,  2782,    -1,    -1,    -1,  3391,    -1,
13981     4745,   122,    -1,   124,    -1,  2793,  2794,    -1,    -1,  2797,
13982      131,    -1,    -1,   134,    -1,    -1,  3409,   421,    -1,    -1,
13983       -1,    -1,    -1,  2811,  1828,  2813,    -1,  2815,    -1,    -1,
13984       -1,    -1,    -1,    -1,  1838,    -1,  1840,    -1,   159,    -1,
13985     4785,  3434,  1846,     8,    -1,    -1,    11,  2835,    -1,  1853,
13986       15,    16,    17,    -1,    -1,    -1,    -1,    -1,  2846,    -1,
13987       -1,    -1,     8,    -1,    -1,    11,  2854,    32,    -1,    15,
13988       16,    17,   193,    -1,    -1,    40,    -1,    -1,    -1,    -1,
13989       -1,  2869,    47,    -1,    -1,    -1,    32,    -1,    -1,    -1,
13990       -1,    -1,    -1,  4838,    40,    -1,  2884,    -1,  4843,  4844,
13991       -1,    47,    -1,    -1,    -1,    -1,    -1,    72,    -1,    -1,
13992     2898,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13993       -1,    -1,    -1,    -1,    -1,    -1,    72,    -1,    -1,  2917,
13994       -1,   252,  2920,   254,  2922,    -1,    -1,    -1,    -1,  2927,
13995       -1,    -1,    -1,   264,    -1,    -1,    -1,    -1,    -1,    -1,
13996       -1,    -1,   273,    -1,  2942,  2943,    -1,    -1,    -1,    -1,
13997     2948,    -1,    -1,    -1,   285,    -1,    -1,    -1,  1130,    -1,
13998       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1983,
13999     1984,  2969,    -1,  2694,  2972,  1147,  1990,  1991,  2976,  2700,
14000       -1,    -1,  2703,    -1,    -1,  2706,    -1,    -1,    -1,    -1,
14001       -1,     8,   323,    -1,    11,   326,   327,  2995,    15,    16,
14002       17,  4956,    -1,    -1,  2018,    -1,    -1,   182,    -1,  1181,
14003       -1,    -1,   187,    -1,    -1,    32,    -1,    -1,    -1,    -1,
14004       -1,    -1,  3020,    40,    -1,   356,   182,    -1,    -1,    -1,
14005       47,   187,  1204,    -1,   209,   210,    -1,    -1,    -1,    -1,
14006       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   224,
14007       -1,    -1,    -1,   209,   210,    72,    -1,    -1,    -1,  3057,
14008     3058,  3059,    -1,    -1,  3667,    -1,    -1,    -1,   224,    -1,
14009       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14010       -1,    -1,   257,  3081,    -1,    -1,    -1,    -1,    -1,    -1,
14011      421,    -1,    -1,  3091,    -1,  3093,   271,    -1,    -1,   274,
14012       -1,   257,    -1,  3101,    -1,    -1,    -1,    -1,  1280,    -1,
14013       -1,  2125,  2126,    -1,    -1,   271,    -1,  1289,   274,    -1,
14014       -1,    -1,  3120,    -1,    -1,  2846,    -1,    -1,    -1,    -1,
14015       -1,  1303,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14016       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14017     1322,    -1,    -1,  1325,  1326,    -1,    -1,    -1,  1330,  1331,
14018       -1,    -1,    -1,    -1,    -1,   182,    -1,    -1,    -1,    -1,
14019      187,    -1,  2186,    -1,    -1,    -1,    -1,  2898,    -1,  3782,
14020       -1,    -1,  3785,    -1,  3182,    -1,   361,    -1,    -1,    -1,
14021       -1,    -1,   209,   210,    -1,    -1,    -1,    -1,    -1,    -1,
14022       -1,    -1,    -1,    -1,  3202,   361,  5161,   224,    -1,  3207,
14023       -1,    -1,    -1,    -1,    -1,  3213,    -1,    -1,    -1,    -1,
14024       -1,    -1,    -1,  3221,    -1,    -1,    -1,    -1,    -1,    -1,
14025       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14026      257,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3246,    -1,
14027       -1,    -1,    -1,    -1,   271,  3253,  3254,   274,    -1,    -1,
14028       -1,    -1,  3260,    -1,  3262,    -1,  2280,    -1,    -1,    -1,
14029       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3275,    -1,  3277,
14030       -1,    -1,    -1,   458,  3887,    -1,   461,   462,   463,    -1,
14031      465,   466,   467,   468,   469,   470,    -1,    -1,    -1,    -1,
14032      475,  3299,   458,  3906,    -1,   461,   462,   463,    -1,   465,
14033      466,   467,   468,   469,   470,    -1,    -1,    -1,    -1,   475,
14034       -1,    -1,    -1,    -1,    -1,  3323,    -1,    -1,    -1,    -1,
14035       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14036       -1,    -1,  3340,  3341,   361,    -1,    -1,  1052,  2362,    -1,
14037       -1,    -1,    -1,    -1,    -1,    -1,  2370,  3355,     8,  2373,
14038       -1,    11,    -1,    -1,    -1,    15,    16,    17,    -1,    -1,
14039       -1,    -1,    -1,    -1,    -1,  1080,  3979,    -1,  1550,    -1,
14040       -1,    -1,    32,    -1,  1556,    -1,    -1,    -1,    -1,    -1,
14041       40,    -1,    -1,  3391,    -1,  1100,    -1,    47,    -1,    -1,
14042       -1,    -1,    -1,    -1,    -1,  1110,    -1,    -1,    -1,  1114,
14043       -1,  3409,    -1,  1118,    -1,  1120,    -1,    -1,    -1,    -1,
14044       -1,  1126,    72,    -1,    -1,    -1,    -1,  1132,    -1,    -1,
14045     1135,    -1,    -1,  3431,    -1,    -1,  3434,    -1,    -1,    -1,
14046       -1,   458,    -1,    -1,   461,   462,   463,    -1,   465,   466,
14047      467,   468,   469,   470,    -1,    -1,  3454,    -1,   475,  3457,
14048       -1,    -1,    -1,    -1,    -1,  3463,    -1,    -1,    -1,    -1,
14049       -1,  3469,    -1,  3471,    -1,    -1,  3474,    -1,    -1,    -1,
14050     3478,  3479,  3480,  3481,  3482,    -1,    -1,  3485,  3486,  3487,
14051     3488,  3489,  3490,  3491,  3492,  3493,  3494,    -1,    -1,    -1,
14052     3498,  3499,    -1,    -1,    -1,  3503,    -1,    -1,    -1,    -1,
14053     3508,    -1,    -1,    -1,  3512,    -1,  3514,    -1,  3516,    -1,
14054       -1,    -1,    -1,    -1,    -1,    -1,  3524,    -1,    -1,  3527,
14055       -1,  3529,   182,    -1,    -1,    -1,    -1,   187,    -1,  3537,
14056     3538,    -1,    -1,  3541,  3542,    -1,    -1,    -1,  3546,  3547,
14057       -1,    -1,    -1,    -1,    -1,  3553,    -1,    -1,    -1,   209,
14058      210,    -1,    -1,    -1,    -1,  3563,    -1,    -1,  3566,    -1,
14059       -1,    -1,    -1,    -1,   224,  2589,  2590,    -1,    -1,    -1,
14060     3578,  2595,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14061       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1770,    -1,
14062       -1,    -1,  1774,    -1,  3602,    -1,    -1,   257,    -1,    -1,
14063       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14064     3618,   271,    -1,    -1,   274,    -1,  3624,    -1,    -1,    -1,
14065       -1,    -1,    -1,  4236,    -1,    -1,    -1,    -1,  3636,    -1,
14066       -1,    -1,  2656,    -1,    -1,  4248,    -1,    -1,    -1,    -1,
14067       -1,    -1,    -1,    -1,     8,    -1,    -1,    11,    -1,    -1,
14068       -1,    15,    16,    17,    -1,    -1,    -1,    -1,    -1,  3667,
14069       -1,    -1,    -1,    -1,     8,    -1,    -1,    11,    32,    -1,
14070       -1,    15,    16,    17,    -1,    -1,    40,    -1,    -1,    -1,
14071       -1,    -1,    -1,    47,    22,    -1,    -1,    -1,    32,    -1,
14072       28,    -1,    -1,    -1,    -1,    -1,    40,    -1,    -1,    -1,
14073       -1,   361,    -1,    47,    -1,    -1,    -1,    -1,    72,    -1,
14074     3718,    -1,    -1,    -1,    -1,  3723,  3724,  3725,    -1,    -1,
14075       -1,    -1,    -1,    -1,    -1,    -1,    -1,     8,    72,    -1,
14076       11,    -1,    70,    -1,    15,    16,    17,    -1,    -1,  3747,
14077     3748,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14078       -1,    32,    -1,    -1,    -1,    -1,    -1,    -1,  3766,    40,
14079       -1,    -1,    -1,    -1,    -1,    -1,    47,    -1,    -1,    -1,
14080       -1,    -1,    -1,    -1,  3782,    -1,    -1,  3785,    -1,    -1,
14081       -1,    -1,    -1,    -1,    -1,    -1,   124,    -1,    -1,    -1,
14082       -1,    72,    -1,   131,    -1,    -1,   134,    -1,   458,    -1,
14083       -1,   461,   462,   463,  1986,   465,   466,   467,   468,   469,
14084      470,    -1,    -1,    -1,    -1,   475,    -1,    -1,   182,    -1,
14085       -1,   159,    -1,   187,    -1,    -1,    -1,    -1,  2852,    -1,
14086     2854,  4444,  3563,    -1,    -1,  3566,    -1,    -1,   182,    -1,
14087       -1,    -1,    -1,   187,  3852,   209,   210,    -1,    -1,    -1,
14088       -1,    -1,  2876,  2877,    -1,   193,    -1,    -1,    -1,    -1,
14089      224,    -1,    -1,    -1,    -1,   209,   210,    -1,    -1,  3877,
14090     3878,    -1,    -1,  3881,    -1,    -1,    -1,    -1,    -1,  3887,
14091      224,    -1,    -1,    -1,    -1,    -1,  3894,    -1,    -1,    -1,
14092       -1,    -1,    -1,   257,    -1,  2077,    -1,    22,  3906,    -1,
14093       -1,   182,    -1,    28,    -1,  3636,   187,   271,    -1,    -1,
14094      274,    -1,    -1,   257,   252,    -1,   254,    -1,    -1,    -1,
14095       -1,    -1,    -1,  3931,  3932,  3933,   264,   271,   209,   210,
14096      274,    -1,    -1,    -1,    -1,   273,    -1,  4550,    -1,  4552,
14097       -1,    -1,    -1,   224,    -1,    70,    -1,   285,    -1,    -1,
14098       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14099       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14100       -1,  3979,    -1,    -1,    -1,    22,   257,    -1,    -1,    -1,
14101       -1,    28,    -1,    -1,    -1,   323,    -1,    -1,   326,   327,
14102      271,    -1,    -1,   274,  4002,    -1,    -1,   361,    -1,   124,
14103       -1,    -1,    -1,    -1,  2186,  4013,   131,    -1,    -1,   134,
14104       -1,    -1,    -1,    -1,    -1,    -1,    -1,   361,   356,    -1,
14105       -1,    -1,    -1,    70,    -1,    -1,    -1,    -1,    -1,    -1,
14106       -1,    -1,    -1,    -1,   159,  4043,    -1,    -1,    -1,    -1,
14107       -1,    -1,    -1,    -1,    -1,  4053,  4054,    -1,  4056,    -1,
14108       -1,    -1,  4060,  4061,    -1,    -1,    -1,  4065,  4066,    -1,
14109       -1,    -1,  4070,    -1,    -1,  4073,  4074,    -1,   193,    -1,
14110     4078,    -1,    -1,    -1,    -1,  2257,  4084,   124,    -1,    -1,
14111      361,    -1,    -1,   421,   131,    -1,    -1,   134,  4096,    -1,
14112       -1,    -1,    -1,    -1,   458,    -1,  4104,   461,   462,   463,
14113     4108,   465,   466,   467,   468,   469,   470,    -1,    -1,    -1,
14114       -1,   475,   159,    -1,   458,    -1,    -1,   461,   462,   463,
14115       -1,   465,   466,   467,   468,   469,   470,   252,  4136,   254,
14116       -1,   475,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   264,
14117       -1,    -1,    -1,    -1,    -1,    -1,   193,    -1,   273,    -1,
14118     1865,    -1,    -1,    -1,  2336,  4163,    -1,    -1,  1873,    -1,
14119      285,    -1,    -1,  3894,    -1,    -1,    -1,    -1,    -1,    -1,
14120       -1,  2353,    -1,  4181,    -1,    -1,    -1,   458,  1893,    -1,
14121      461,   462,   463,    -1,   465,   466,   467,   468,   469,   470,
14122     4198,    -1,    -1,    -1,   475,  4203,    -1,    -1,   323,    -1,
14123       -1,   326,   327,    -1,    -1,   252,    -1,   254,    -1,    -1,
14124       -1,    -1,  4220,    -1,    -1,    -1,    -1,   264,    -1,    -1,
14125       -1,    -1,  3246,    -1,    -1,    -1,   273,    -1,  4236,    -1,
14126     3254,   356,  2414,  4241,    -1,    -1,    -1,    -1,   285,    -1,
14127     4248,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14128       -1,    -1,    -1,    -1,  3278,    -1,  4264,    -1,    -1,    -1,
14129       -1,    -1,    -1,    -1,    -1,    -1,  2448,  4275,    -1,  2451,
14130       -1,  2453,    -1,    -1,    -1,  2457,   323,  2459,  2460,   326,
14131      327,    -1,    -1,    -1,    -1,    -1,  2468,  2469,  2470,    -1,
14132       -1,    -1,     8,    -1,    -1,    11,   421,    -1,  4306,    15,
14133       16,    17,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   356,
14134       -1,    -1,    -1,    -1,    -1,    -1,    32,    -1,    -1,    -1,
14135       -1,    -1,    -1,  4331,    40,    -1,    -1,    -1,    -1,    -1,
14136       -1,    47,    -1,    -1,    -1,    -1,  3360,    -1,    -1,  4347,
14137       -1,    -1,    -1,    -1,  2526,    -1,    -1,    -1,    -1,    -1,
14138       -1,    -1,    -1,    -1,    -1,    -1,    72,    -1,    -1,    -1,
14139       -1,    -1,  4370,    -1,    -1,    -1,    -1,    -1,    -1,  4377,
14140       -1,    -1,    -1,  4104,   421,    -1,  2558,  4108,    -1,    -1,
14141     2095,    -1,    -1,    22,    -1,  2567,    -1,    -1,    -1,    28,
14142       -1,     8,    -1,    -1,    11,    -1,    -1,    -1,    15,    16,
14143       17,    22,    -1,    -1,    -1,    -1,    -1,    28,    -1,    -1,
14144     4418,    -1,  4420,    -1,    -1,    32,    -1,  3441,    -1,    -1,
14145       -1,    -1,    -1,    40,    -1,    -1,    -1,    -1,    -1,    -1,
14146       47,    70,    -1,    -1,    -1,    -1,  4444,    -1,    -1,    -1,
14147     2622,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    70,
14148       -1,    -1,    -1,    -1,  4462,    72,    -1,    -1,  4466,    -1,
14149       -1,    -1,    -1,  4471,    -1,    -1,   182,    -1,    -1,    -1,
14150       -1,   187,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14151     4488,  4489,    -1,    -1,  4492,   124,    -1,    -1,    -1,    -1,
14152       -1,    -1,   131,   209,   210,   134,    -1,    -1,    -1,  4507,
14153       -1,    -1,    -1,   124,    -1,    -1,  4514,    -1,   224,    -1,
14154      131,  4519,    -1,   134,  4522,  4523,    -1,    -1,    -1,    -1,
14155      159,  4529,  4530,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14156       -1,    -1,    -1,    -1,    -1,  4543,    -1,  4545,   159,    -1,
14157       -1,   257,  4550,    -1,  4552,    -1,    -1,    -1,  4556,    -1,
14158       -1,    -1,    -1,    -1,   193,   271,    -1,    -1,   274,    -1,
14159       -1,    -1,    -1,  5176,    -1,   182,    -1,    -1,    -1,    -1,
14160      187,    -1,   193,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14161       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4596,  4597,
14162       -1,    -1,   209,   210,    -1,    -1,    -1,    -1,  4606,    -1,
14163       -1,    -1,    -1,    -1,    -1,    -1,    -1,   224,    -1,    -1,
14164       -1,    -1,    -1,   252,    -1,   254,  4347,    -1,    -1,    -1,
14165       -1,    -1,    -1,    -1,    -1,   264,    -1,    -1,    -1,    -1,
14166       -1,   252,    -1,   254,   273,    -1,  4644,    -1,    -1,    -1,
14167      257,    -1,  4650,   264,    -1,   361,   285,    -1,    -1,    -1,
14168       -1,    -1,   273,    -1,   271,    -1,    -1,   274,    -1,    -1,
14169       -1,    -1,    -1,    -1,   285,    -1,    -1,    -1,    -1,    -1,
14170       -1,    -1,  2854,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14171       -1,    -1,    -1,    -1,   323,    -1,    -1,   326,   327,    -1,
14172       -1,    -1,    56,    -1,    -1,    -1,    -1,    -1,  4706,    -1,
14173     3724,    -1,    -1,    -1,    -1,   326,   327,    -1,    -1,    -1,
14174       -1,  4719,    -1,  4721,    -1,    -1,    -1,   356,    -1,    -1,
14175       -1,    -1,    -1,    -1,  3748,    -1,    90,    -1,    -1,    -1,
14176       -1,  3755,    -1,    -1,    -1,   356,  4744,  4745,    -1,  4747,
14177       56,  4749,   458,    -1,   361,   461,   462,   463,    -1,   465,
14178      466,   467,   468,   469,   470,    -1,   120,    -1,    -1,   475,
14179       -1,  4769,    -1,    -1,    -1,    -1,    -1,  4775,    -1,    -1,
14180       -1,  4779,    -1,    -1,    90,    -1,  4507,  4785,    -1,    -1,
14181       -1,  4789,   421,  4514,    -1,   149,    -1,    -1,  4519,    -1,
14182     2972,  4522,  4523,    -1,    -1,    -1,    -1,    -1,    56,    -1,
14183      421,    -1,    -1,    -1,   120,    -1,    -1,    -1,  3832,  3833,
14184       -1,    -1,  4543,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14185      184,    -1,  4830,    -1,    -1,  4556,    -1,    -1,    -1,    -1,
14186     4838,    -1,    90,   149,    -1,  4843,  4844,    -1,    -1,    -1,
14187     4848,   458,    -1,    -1,   461,   462,   463,  4855,   465,   466,
14188      467,   468,   469,   470,    -1,    -1,   220,  2572,   475,  4867,
14189       -1,    -1,   120,    -1,  2579,    -1,    -1,    -1,   184,    -1,
14190       -1,    -1,    -1,    -1,    -1,  4606,    -1,    -1,    -1,    -1,
14191       -1,  3063,    -1,    -1,  2599,    -1,    -1,    -1,  4896,    -1,
14192      254,   149,    -1,    -1,  2609,    -1,    -1,  2612,    -1,  2614,
14193     2615,   201,    -1,  2618,   220,    -1,    -1,    -1,    -1,  2624,
14194       -1,  2626,  4920,   213,  2629,    -1,    -1,    -1,    -1,  4650,
14195       -1,   285,   286,    -1,   224,    -1,   184,    -1,    -1,    -1,
14196       -1,    -1,    -1,    -1,    -1,    -1,  3118,    -1,   254,    -1,
14197       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4955,  4956,    -1,
14198       -1,    -1,  3976,    -1,    -1,    -1,    -1,    -1,    -1,   323,
14199       -1,    -1,   220,   327,    -1,    -1,    -1,   331,  4976,   285,
14200      286,  4979,    -1,    -1,  4982,    -1,   340,  2692,    -1,    -1,
14201       -1,    -1,    -1,    -1,   348,  4993,    -1,    -1,  4719,  4997,
14202       -1,  4999,   356,  5001,    -1,    -1,   254,    -1,    -1,    -1,
14203     5008,    -1,  3184,    -1,   368,    -1,    -1,   323,    -1,    -1,
14204       -1,   327,   376,    -1,    -1,   331,    -1,    -1,    -1,  5027,
14205       -1,    -1,    -1,    -1,   340,    -1,    -1,   285,   286,    -1,
14206       -1,    -1,   348,    -1,    -1,    -1,    -1,    -1,     8,    -1,
14207      356,    11,    -1,    -1,  3226,    15,    16,    17,  4779,    -1,
14208       -1,    -1,   368,    -1,  5062,    -1,  5064,    -1,  3240,    -1,
14209      376,    -1,    32,    -1,  3246,   323,    -1,    -1,   432,   327,
14210       40,    -1,  3254,   331,    -1,    -1,    -1,    47,  3260,    -1,
14211     3262,    -1,   340,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14212      348,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   356,    -1,
14213       -1,    -1,    72,    -1,    -1,    -1,  5114,    -1,    -1,    -1,
14214      368,    -1,    -1,    -1,    -1,  5123,   432,    -1,   376,    -1,
14215       -1,    -1,    -1,    -1,    -1,    -1,  3308,    -1,    -1,    -1,
14216       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14217     5148,  5149,  5150,    -1,    -1,    -1,    -1,    -1,    -1,  5157,
14218     5158,    -1,    -1,  5161,    -1,    -1,    -1,  3339,  3340,  5167,
14219       -1,    -1,    -1,     8,    -1,  4896,    -1,    -1,  5176,    14,
14220       15,    -1,    -1,    -1,   432,    20,    -1,    22,    -1,    -1,
14221       -1,  4205,  5190,    28,    -1,    30,  4210,    -1,    -1,  4920,
14222     4214,    -1,    -1,    -1,    -1,    -1,    -1,  5205,    -1,    -1,
14223       -1,    -1,    -1,    -1,    49,    50,    -1,    -1,    -1,    -1,
14224       -1,    -1,   182,    -1,    -1,  4239,  4240,   187,    -1,    -1,
14225     4244,  4245,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14226       -1,    -1,    -1,    -1,    -1,    -1,  5244,    -1,    -1,   209,
14227      210,    -1,  5250,  2958,    -1,    -1,    -1,    -1,  4979,    -1,
14228       -1,  5259,    -1,    -1,   224,    -1,    -1,  5265,  5266,  5267,
14229       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5277,
14230       -1,    -1,    -1,    -1,    -1,    -1,    -1,  5008,    -1,    -1,
14231       -1,    -1,    -1,    -1,    -1,    -1,    -1,   257,    -1,    -1,
14232       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14233       -1,   271,  5310,    -1,   274,   605,    -1,    -1,    -1,    -1,
14234       -1,   611,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14235       -1,    -1,    -1,    -1,    -1,    -1,  5334,  3042,    -1,  3044,
14236       -1,  5339,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14237       -1,  3523,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14238       -1,    -1,   197,    -1,    -1,    -1,    -1,    -1,  5366,  5367,
14239      205,    -1,    -1,   208,    -1,    -1,   211,   212,    -1,   214,
14240     5378,   216,    -1,    -1,   219,    -1,   221,    -1,    -1,    -1,
14241       -1,    -1,    -1,    -1,  5392,    -1,    -1,    -1,    -1,    -1,
14242       -1,   361,  5123,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14243       -1,    -1,    -1,  5411,    -1,    -1,    -1,    -1,    -1,     8,
14244       -1,    -1,    11,  5421,    -1,    -1,    15,    16,    17,    -1,
14245       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14246     5438,    -1,    -1,    32,    -1,    -1,    -1,    -1,    -1,    -1,
14247       -1,    40,    -1,  5451,    -1,  5453,    -1,    -1,    47,    -1,
14248       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5190,
14249       -1,  5469,    -1,  5471,  5472,   765,  3181,    -1,    -1,    -1,
14250       -1,    -1,  3187,    72,    -1,    -1,    -1,    -1,    -1,    -1,
14251       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   458,    -1,
14252      790,   461,   462,   463,    -1,   465,   466,   467,   468,   469,
14253      470,    -1,    -1,    -1,    -1,   475,    -1,    -1,    -1,   809,
14254       -1,    -1,     8,  5244,    -1,    11,    -1,    -1,    -1,    15,
14255       16,    17,    -1,    -1,    -1,    -1,    -1,    -1,  5259,    -1,
14256       -1,   831,    -1,    -1,  5265,  5266,    32,    -1,    -1,    -1,
14257       -1,    -1,  3724,    -1,    40,    -1,    -1,    -1,    -1,    -1,
14258       -1,    47,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14259       -1,    -1,    -1,    -1,    -1,    -1,  3748,    -1,    -1,    -1,
14260       -1,    -1,  4596,    -1,  3756,   875,    72,  3759,    -1,  3761,
14261       -1,    -1,    -1,   182,    -1,    -1,    -1,    -1,   187,    -1,
14262       -1,     8,    -1,    -1,    11,    -1,    -1,    -1,    15,    16,
14263       17,    -1,    -1,  5334,    -1,    -1,    -1,    -1,  5339,    -1,
14264      209,   210,    -1,    -1,    -1,    32,    -1,    -1,    -1,    -1,
14265       -1,  3803,    -1,    40,    -1,   224,    -1,    -1,    -1,    -1,
14266       47,    -1,    -1,    -1,  3816,    -1,    -1,    -1,  3820,  3821,
14267       -1,  3823,    -1,    -1,    -1,    -1,  3828,    -1,    -1,    -1,
14268       -1,    -1,    -1,    -1,    -1,    72,    -1,    -1,   257,    -1,
14269       -1,    -1,    -1,    -1,  3379,    -1,  3381,    -1,  3383,    -1,
14270       -1,    -1,   271,    -1,    -1,   274,    -1,  3392,    -1,    -1,
14271       -1,    -1,    -1,    -1,    -1,    -1,   182,    -1,    -1,    -1,
14272       -1,   187,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14273     1000,    -1,    -1,    -1,    -1,    -1,    -1,  5438,    -1,    -1,
14274       -1,    -1,    -1,   209,   210,    -1,    -1,    -1,  3433,    -1,
14275     5451,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   224,  1029,
14276     1030,  1031,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14277     5471,  5472,    -1,    -1,    -1,  3927,    -1,    -1,    -1,    -1,
14278       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14279       -1,   257,   361,    -1,    -1,   182,    -1,    -1,    -1,   614,
14280      187,    -1,    -1,    -1,    -1,   271,    -1,   622,   274,    -1,
14281       -1,    -1,    -1,    -1,   629,   630,    -1,    -1,   633,    -1,
14282      635,   636,   209,   210,    -1,   640,    -1,    -1,    -1,    -1,
14283       -1,    -1,    -1,    -1,    -1,    -1,   651,   224,    -1,    -1,
14284     3992,  3993,  3994,    -1,  3996,  3997,  3998,  3999,  4000,    -1,
14285       -1,   666,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4853,
14286     4854,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14287      257,    -1,    -1,  4867,    -1,    -1,   691,    -1,   693,    -1,
14288       -1,    -1,    -1,    -1,   271,    -1,    -1,   274,   703,   458,
14289       -1,    -1,   461,   462,   463,   361,   465,   466,   467,   468,
14290      469,   470,    -1,    -1,  1174,    -1,   475,    -1,    -1,    -1,
14291       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14292      735,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14293     1200,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14294       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14295       -1,   766,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14296       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14297       -1,    -1,    -1,  4125,   361,  4127,    -1,    -1,    -1,    -1,
14298       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14299       -1,    -1,   458,    -1,    -1,   461,   462,   463,    -1,   465,
14300      466,   467,   468,   469,   470,   820,    -1,    -1,    -1,   475,
14301       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14302       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14303       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   854,
14304       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14305       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14306     5054,    -1,    -1,    -1,    -1,    -1,  1336,    -1,    -1,    -1,
14307       -1,   458,    -1,    -1,   461,   462,   463,    -1,   465,   466,
14308      467,   468,   469,   470,    -1,    -1,    -1,    -1,   475,    -1,
14309       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14310       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14311       -1,   926,    -1,    -1,    -1,     8,  1386,    -1,    11,    -1,
14312       -1,    -1,    15,    16,    17,    -1,    -1,    -1,    -1,    -1,
14313       -1,    -1,   947,    -1,    -1,    -1,    -1,    -1,    -1,    32,
14314       -1,    -1,    -1,    -1,   959,    -1,    -1,    40,    -1,   964,
14315       -1,    -1,  4304,  4305,    47,    -1,    -1,    -1,    -1,   974,
14316       -1,    -1,    -1,  4315,   979,  4317,  4318,    -1,    -1,  4321,
14317       -1,    -1,   987,    -1,    -1,    -1,    -1,    -1,   993,    72,
14318       -1,   996,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14319       -1,    -1,    -1,    -1,  1464,    -1,    -1,    -1,    -1,    -1,
14320       -1,    -1,    -1,    -1,  1474,    -1,    -1,  5201,     8,  5203,
14321       -1,    11,    -1,    -1,    -1,    15,    16,    17,    -1,    -1,
14322       -1,    -1,  1037,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14323       -1,  4383,    32,    -1,    -1,  1505,    -1,    -1,    -1,    -1,
14324       40,    -1,    -1,    -1,    -1,    -1,    -1,    47,    -1,    -1,
14325       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1528,    -1,
14326       -1,  1531,    -1,    -1,    -1,  4417,    -1,    -1,    -1,    -1,
14327       -1,    -1,    72,    -1,    -1,    -1,    -1,    -1,    -1,  3964,
14328       -1,    -1,    -1,  3968,    -1,    -1,    -1,    -1,    -1,   182,
14329       -1,    -1,    -1,    -1,   187,    -1,    -1,    -1,  4450,    -1,
14330       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14331       -1,    -1,  1582,    -1,    -1,    -1,   209,   210,    -1,    -1,
14332       -1,    -1,    -1,    -1,    -1,    -1,  1596,    -1,    -1,    -1,
14333       -1,   224,    -1,    -1,    -1,    -1,    -1,  1152,    -1,  1154,
14334       -1,  1156,    -1,  1158,    -1,  1160,  1161,  1162,    -1,    -1,
14335       -1,    -1,  1167,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14336       -1,    -1,    -1,  1178,   257,     0,    -1,    -1,    -1,    -1,
14337       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   271,    -1,
14338       -1,   274,   182,    18,    -1,    -1,    -1,   187,    -1,  5383,
14339       -1,    -1,    -1,    28,    -1,    30,    31,    -1,  5392,    -1,
14340       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   209,
14341      210,    46,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14342       55,    -1,    -1,    -1,   224,    -1,    -1,    -1,    -1,    -1,
14343       -1,    -1,    67,    -1,    69,    70,    -1,  1707,    -1,    -1,
14344       -1,    76,    -1,    78,  4596,    -1,    -1,    -1,    -1,    -1,
14345       -1,    -1,    -1,    -1,    89,    -1,    91,   257,    -1,  5453,
14346       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   361,    -1,
14347       -1,   271,    -1,   108,   274,  5469,   111,    -1,    -1,    -1,
14348       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4639,    -1,    -1,
14349      125,  1761,   127,    -1,  4179,    -1,   131,    -1,    -1,    -1,
14350       -1,    -1,   137,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14351      145,    -1,   147,    -1,    -1,    -1,    -1,    -1,   153,    -1,
14352     1790,    -1,    -1,    -1,    -1,    -1,    -1,  1797,    -1,    -1,
14353       -1,    -1,    -1,    -1,   169,    -1,  4221,  4222,  1353,    -1,
14354       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14355       -1,   186,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14356       -1,   361,    -1,    -1,    -1,   458,    -1,    -1,   461,   462,
14357      463,    -1,   465,   466,   467,   468,   469,   470,     8,    -1,
14358       -1,    11,   475,    -1,    -1,    15,    16,    17,    -1,    -1,
14359       -1,   226,   227,    -1,    -1,    -1,    -1,   232,    -1,    -1,
14360       -1,    -1,    32,    -1,    -1,    -1,    -1,    -1,    -1,   244,
14361       40,    -1,    -1,    -1,    -1,    -1,    -1,    47,    -1,  1434,
14362       -1,   256,  4307,  4308,    -1,    -1,    -1,    -1,    -1,    -1,
14363       -1,    -1,    -1,  1903,    -1,    -1,    -1,    -1,    -1,    -1,
14364       -1,    -1,    72,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14365       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   458,    -1,
14366       -1,   461,   462,   463,   299,   465,   466,   467,   468,   469,
14367      470,    -1,    -1,  1943,  1944,   475,    -1,    -1,   313,    -1,
14368       -1,    -1,    -1,    -1,   319,   320,    -1,   322,    -1,  1504,
14369     1960,    -1,   327,    -1,    -1,    -1,    -1,   332,    -1,    -1,
14370      335,  4853,  4854,    -1,    -1,    -1,    -1,   342,    -1,    -1,
14371       -1,    -1,    -1,   348,   349,  4867,    -1,    -1,    -1,  4871,
14372       -1,   356,    -1,    -1,    -1,   360,    -1,    -1,    -1,  4881,
14373       -1,    -1,    -1,    -1,    -1,   370,    -1,    -1,    -1,    -1,
14374     4425,    -1,  4427,  4428,    -1,    -1,    -1,    -1,   383,    -1,
14375       -1,    -1,   182,     8,    -1,    -1,    11,   187,  4443,    -1,
14376       15,    16,    17,    -1,    -1,    -1,    -1,    -1,   403,    -1,
14377       -1,    -1,    -1,    -1,    -1,    -1,    -1,    32,   413,   209,
14378      210,    36,    -1,    -1,   419,    40,    -1,  2057,    -1,   424,
14379       -1,    -1,    47,    -1,   224,    -1,    -1,  2067,    -1,    -1,
14380       -1,    -1,   437,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14381       -1,    -1,    -1,     8,    -1,    -1,    11,    72,    -1,    -1,
14382       15,    16,    17,    -1,    -1,   460,  2096,   257,    -1,    -1,
14383       -1,    -1,    -1,    -1,  2104,    -1,  2106,    32,    -1,   474,
14384       -1,   271,   477,    -1,   274,    40,    -1,    -1,    -1,    -1,
14385       -1,    -1,    47,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14386       -1,    -1,    -1,    -1,    -1,    -1,   121,    -1,    -1,  2139,
14387       -1,    -1,    -1,    -1,    -1,    -1,    -1,    72,    -1,    -1,
14388       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14389       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14390       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14391       -1,    -1,  5064,    -1,    -1,    -1,  5068,    -1,  5070,    -1,
14392       -1,    -1,  5074,  5075,    -1,    -1,    -1,   182,    -1,    -1,
14393       -1,   361,   187,    -1,    -1,    -1,    -1,  1752,    -1,    -1,
14394       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14395       -1,    -1,    -1,    -1,   209,   210,    -1,    -1,    -1,    -1,
14396       -1,    -1,    -1,   158,    -1,    -1,    -1,    -1,   163,   224,
14397       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14398       -1,    -1,    -1,    -1,    -1,    -1,     8,   182,    -1,    11,
14399       -1,    -1,   187,    15,    16,    17,    -1,    -1,    -1,    -1,
14400       -1,    -1,   257,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14401       32,  2281,    -1,    35,   209,   210,   271,    -1,    40,   274,
14402       -1,    -1,    -1,    -1,    -1,    47,    -1,  2297,   458,   224,
14403       -1,   461,   462,   463,    -1,   465,   466,   467,   468,   469,
14404      470,    -1,    -1,    -1,    -1,   475,    -1,    -1,  2318,  5201,
14405       72,  5203,    -1,    -1,    -1,  4740,    -1,    -1,    -1,    -1,
14406       -1,    -1,   257,    -1,  1879,    -1,  1881,    -1,    -1,    -1,
14407       -1,    -1,    -1,    -1,    -1,    -1,   271,    -1,    -1,   274,
14408       -1,    -1,    -1,  1898,    -1,  1900,    -1,    -1,    -1,    -1,
14409       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1914,
14410       -1,  1916,    -1,  1918,    -1,  1920,   361,  1922,    -1,    -1,
14411       -1,  1926,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14412       -1,    -1,  2392,  2393,    -1,    -1,  4811,    -1,    -1,    -1,
14413       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14414       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14415       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5310,    -1,
14416      182,    -1,    -1,   418,    -1,   187,   361,    -1,    -1,    -1,
14417       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4863,    -1,
14418       -1,    -1,    -1,    -1,    -1,    -1,    -1,   209,   210,    -1,
14419       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14420       -1,    -1,   224,   458,    -1,    -1,   461,   462,   463,    -1,
14421      465,   466,   467,   468,   469,   470,    -1,    -1,    -1,    -1,
14422       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14423     2500,  5383,    -1,    -1,    -1,   257,    -1,    -1,    -1,    -1,
14424     5392,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   271,
14425       -1,    -1,   274,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14426       -1,    -1,    -1,   458,    -1,    -1,   461,   462,   463,    -1,
14427      465,   466,   467,   468,   469,   470,    -1,    -1,    -1,    -1,
14428        8,    -1,    -1,    11,    -1,    -1,    -1,    15,    16,    17,
14429       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14430       -1,  5453,    -1,    -1,    32,    -1,    -1,    -1,    -1,    -1,
14431       -1,    -1,    40,    -1,    -1,    -1,    -1,  5469,    -1,    47,
14432       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14433       -1,    -1,    -1,    -1,    -1,    -1,  2151,  2152,    -1,   361,
14434       -1,    -1,    -1,    -1,    72,    -1,    -1,    -1,    -1,    -1,
14435       -1,    -1,    -1,    -1,    -1,  2170,  2171,    -1,    -1,    -1,
14436     2175,  2176,    -1,   199,   200,  2180,    -1,    -1,    -1,    -1,
14437       -1,   207,    -1,   209,   210,    -1,    -1,    -1,    -1,  2194,
14438       -1,    -1,    -1,    -1,    -1,    -1,  2201,   223,    -1,    -1,
14439     2205,  2206,    -1,    -1,  2209,  2210,    -1,    -1,    -1,    -1,
14440       -1,  2216,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14441       -1,    -1,    -1,    -1,  2684,    -1,  2231,    -1,  2233,    -1,
14442       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14443       -1,    -1,    -1,    -1,    -1,    -1,   458,  2252,    -1,   461,
14444      462,   463,  2257,   465,   466,   467,   468,   469,   470,    -1,
14445       -1,    -1,    -1,    -1,   182,  2270,    -1,    -1,    -1,   187,
14446       -1,    -1,    -1,    -1,  2279,    -1,     8,  2282,    -1,    11,
14447     2285,  2286,  2287,    15,    16,    17,    -1,  2292,  2293,    -1,
14448       -1,   209,   210,    -1,    -1,    -1,    -1,  2302,    -1,    -1,
14449       32,    -1,  2307,    -1,    -1,    -1,   224,  2312,    40,    -1,
14450       -1,    -1,    -1,    -1,    -1,    47,    -1,    -1,    -1,    -1,
14451       -1,    -1,    -1,  2328,    -1,    -1,    -1,    -1,    -1,    -1,
14452     2335,  2336,    -1,    -1,    -1,    -1,  2341,   200,    -1,   257,
14453       72,    -1,    -1,    -1,    -1,    -1,   209,  2352,  2353,    -1,
14454       -1,    -1,  2357,   271,    -1,    -1,   274,    -1,    -1,    -1,
14455      223,    -1,    -1,    -1,  2369,    -1,    -1,  2372,    -1,    -1,
14456       -1,    -1,  2377,    -1,    -1,    -1,    -1,  2382,  2383,  2839,
14457      298,    -1,  2387,    -1,    -1,  2390,    -1,    -1,    -1,  2394,
14458     2395,  2396,  2397,    -1,  2399,    -1,    -1,    -1,    -1,    -1,
14459       -1,    -1,  2862,    -1,    -1,    -1,    -1,  2412,  2413,    -1,
14460     2415,    -1,    -1,    -1,    -1,    -1,    -1,  5292,    -1,    -1,
14461     2425,  2426,    -1,    -1,     8,   157,    -1,    11,    -1,    -1,
14462       -1,    15,    16,    17,    -1,    -1,    -1,    -1,    -1,    -1,
14463       -1,    -1,    -1,   361,    -1,    -1,    -1,    -1,    32,    -1,
14464      182,    -1,    -1,    -1,    -1,   187,    40,    -1,    -1,   377,
14465       -1,    -1,    -1,    47,    -1,   191,   192,    -1,    -1,   195,
14466       -1,    -1,    -1,    -1,    -1,    -1,    -1,   209,   210,    -1,
14467       -1,    -1,    -1,    -1,    -1,  2490,    -1,    -1,    72,   215,
14468        8,    -1,   224,    11,    -1,    -1,   222,    15,    16,    17,
14469       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14470       -1,    -1,    -1,  2518,    32,    -1,    -1,    35,    -1,    -1,
14471       -1,    -1,    40,    -1,    -1,   257,    -1,    -1,    -1,    47,
14472       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   271,
14473      458,    -1,   274,   461,   462,   463,    -1,   465,   466,   467,
14474      468,   469,   470,    -1,    72,    -1,    -1,    -1,    -1,    -1,
14475       -1,    -1,    -1,    -1,   296,    -1,    -1,    -1,    -1,    -1,
14476       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14477       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14478       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   182,   625,
14479       -1,    -1,    -1,   187,    -1,   631,    -1,    -1,    -1,    -1,
14480       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   644,    -1,
14481       -1,    -1,    -1,    -1,    -1,   209,   210,    -1,    -1,   361,
14482       -1,    -1,    -1,    -1,   660,    -1,    -1,    -1,    -1,  3099,
14483      224,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   675,
14484      676,    -1,    -1,    -1,    -1,    -1,   682,    -1,   684,   685,
14485       -1,    -1,    -1,    -1,   182,    -1,    -1,    -1,    -1,   187,
14486       -1,    -1,   698,   257,    -1,    -1,    -1,    -1,    -1,    -1,
14487     2685,    -1,   708,    -1,    -1,    -1,    -1,   271,    -1,    -1,
14488      274,   209,   210,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14489       -1,    -1,    -1,    -1,    -1,    -1,   224,    -1,   292,    -1,
14490       -1,  2716,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14491       -1,    -1,    -1,    -1,    -1,    -1,   458,    -1,    -1,   461,
14492      462,   463,    -1,   465,   466,   467,   468,   469,   470,   257,
14493       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14494       -1,    -1,     8,   271,    -1,    11,   274,    -1,    -1,    15,
14495       16,    17,   625,    -1,    -1,    -1,    -1,   793,   631,    -1,
14496       -1,    -1,    -1,    -1,    -1,    -1,    32,   361,    -1,    -1,
14497       -1,   644,    -1,    -1,    40,    -1,    -1,    -1,    -1,    -1,
14498       -1,    47,    -1,    -1,    -1,    -1,    -1,   660,    -1,    -1,
14499       -1,    -1,    -1,    -1,    -1,    -1,  3266,  3267,  3268,    -1,
14500       -1,    -1,    -1,   676,    -1,    -1,    72,    -1,    -1,    -1,
14501       -1,   684,    -1,  3283,    -1,    -1,    -1,    -1,    -1,    -1,
14502       -1,    -1,    -1,    -1,    -1,   698,    -1,    -1,    -1,    -1,
14503       -1,    -1,    -1,   361,    -1,   708,  3306,    -1,    -1,    -1,
14504       -1,    -1,    -1,    -1,    -1,    -1,  3316,  3317,    -1,    -1,
14505       -1,  3321,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14506       -1,    -1,    -1,    -1,   458,    -1,    -1,   461,   462,   463,
14507       -1,   465,   466,   467,   468,   469,   470,    -1,    -1,    -1,
14508      616,    -1,    -1,     8,   620,    -1,    11,    -1,    -1,    -1,
14509       15,    16,    17,    -1,    -1,    -1,    -1,   163,   634,    -1,
14510      936,    -1,    -1,    -1,    -1,   641,    -1,    32,    -1,    -1,
14511       35,    -1,    -1,    -1,    -1,    40,   182,    -1,   954,    -1,
14512      793,   187,    47,    -1,   960,    -1,    -1,   963,    -1,    -1,
14513      458,    -1,    -1,   461,   462,   463,    -1,   465,   466,   467,
14514      468,   469,   470,   209,   210,    -1,    -1,    72,    -1,    -1,
14515       -1,    -1,    -1,    -1,    -1,  2970,    -1,    -1,   224,  2974,
14516       -1,    -1,  3432,    -1,    -1,  2980,    -1,    -1,    -1,    -1,
14517       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14518       -1,    -1,    -1,  2998,  2999,    -1,    -1,    -1,  3003,    -1,
14519       -1,   257,    -1,  3008,  3009,  3010,    -1,  3012,    -1,    -1,
14520       -1,    -1,    -1,    -1,    -1,   271,    -1,    -1,   274,    -1,
14521       -1,    -1,    -1,    -1,    -1,     8,    -1,    -1,    11,    -1,
14522     3035,    -1,    15,    16,    17,    -1,    -1,    -1,    -1,    -1,
14523     3045,  3046,  3047,  3048,    -1,    -1,    -1,    -1,    -1,    32,
14524       -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    -1,    -1,
14525       -1,    -1,    -1,    -1,    47,    -1,    -1,   182,    -1,    -1,
14526       -1,    -1,   187,   936,    -1,    -1,    -1,  3082,    -1,    -1,
14527     3085,  3086,  3087,    -1,    -1,    -1,  1112,    -1,    -1,    72,
14528       -1,    -1,    -1,    -1,   209,   210,    -1,    -1,  3103,    -1,
14529     3560,  3561,  3562,    -1,  1130,   361,    -1,    -1,    -1,   224,
14530       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3123,    -1,
14531       -1,  1147,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14532       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14533       -1,    -1,   257,    -1,    -1,    -1,    -1,    -1,    -1,  1175,
14534       -1,    -1,    -1,    -1,   880,   881,   271,    -1,    -1,   274,
14535     1186,     8,    -1,    -1,    11,    -1,    -1,    -1,    15,    16,
14536       17,    -1,    -1,    -1,    -1,  1201,    -1,    -1,  1204,    -1,
14537       -1,    -1,    -1,    -1,    -1,    32,    -1,    -1,    35,    -1,
14538     3195,    -1,    -1,    40,    -1,    -1,    -1,    -1,  3203,   182,
14539       47,    -1,   458,    -1,   187,   461,   462,   463,    -1,   465,
14540      466,   467,   468,   469,   470,    -1,    -1,    -1,    -1,    -1,
14541       -1,    -1,    -1,    -1,    -1,    72,   209,   210,    -1,  3234,
14542       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14543       -1,   224,    -1,    -1,    -1,    -1,   361,    -1,    -1,  1112,
14544       -1,    -1,   978,    -1,    -1,    -1,  3261,    -1,    -1,    -1,
14545       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1130,    -1,    -1,
14546       -1,    -1,    -1,    -1,   257,    -1,    -1,    -1,    -1,    -1,
14547       -1,  1007,  1008,    -1,  1147,    -1,    -1,    -1,   271,    -1,
14548       -1,   274,    -1,    -1,    -1,    -1,  1322,    -1,    -1,    -1,
14549       -1,    -1,    -1,    -1,  1330,  1331,    -1,  1033,  3313,    -1,
14550       -1,    -1,  1175,  3318,    -1,    -1,    -1,    -1,    -1,    -1,
14551       -1,    -1,    -1,  1186,    -1,    -1,    -1,    -1,    -1,    -1,
14552       -1,    -1,    -1,    -1,    -1,   182,    -1,    -1,  1201,    -1,
14553      187,  1204,    -1,   458,  3349,    -1,   461,   462,   463,    -1,
14554      465,   466,   467,   468,   469,   470,    -1,    -1,    -1,    -1,
14555       -1,     8,   209,   210,    11,    -1,    -1,    -1,    15,    16,
14556       17,    -1,    -1,  1399,    -1,    -1,    -1,   224,   361,    -1,
14557       -1,  1107,  1108,  3388,    -1,  3390,    -1,    -1,  3848,    -1,
14558       -1,    -1,    -1,    40,    -1,    -1,    -1,    -1,    -1,  3859,
14559       47,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   391,    -1,
14560      257,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14561       -1,    -1,    -1,    -1,   271,    72,    -1,   274,    -1,    -1,
14562     3890,    -1,    -1,    -1,     8,    -1,    -1,    11,    -1,    -1,
14563       -1,    15,    16,    17,    -1,    -1,    -1,    -1,    -1,    -1,
14564       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    32,  1322,
14565       -1,    -1,    -1,    -1,  3924,    -1,    40,  1330,  1331,    -1,
14566       -1,    -1,    -1,    47,    -1,   458,    -1,    -1,   461,   462,
14567      463,    -1,   465,   466,   467,   468,   469,   470,    -1,    -1,
14568       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    72,    -1,
14569       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3969,
14570       -1,    -1,    -1,    -1,   361,    -1,    -1,    -1,    -1,    -1,
14571       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14572       -1,    -1,    -1,    -1,    -1,   182,  1399,    -1,    -1,    -1,
14573      187,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14574       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14575       -1,    -1,   209,   210,    -1,    -1,  1592,    -1,    -1,    -1,
14576       -1,    -1,    -1,    -1,    -1,    -1,    -1,   224,    -1,    -1,
14577       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14578       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14579       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   182,    -1,
14580      257,   458,    -1,   187,   461,   462,   463,    -1,   465,   466,
14581      467,   468,   469,   470,   271,  4085,  4086,  4087,  4088,    -1,
14582       -1,    -1,    -1,    -1,    -1,   209,   210,    -1,  3643,    -1,
14583     3645,    -1,    -1,    -1,    -1,    -1,    -1,  3652,    -1,    -1,
14584      224,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14585       -1,    -1,    -1,  3668,    -1,    -1,    -1,    -1,    -1,    -1,
14586       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3684,
14587       -1,    -1,    -1,   257,    -1,    -1,    -1,    -1,    -1,    -1,
14588       -1,    -1,    -1,    -1,    -1,    -1,    -1,   271,  3703,    -1,
14589      274,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14590       -1,    -1,    -1,    -1,   361,    -1,  3721,  1743,    -1,    -1,
14591       -1,    -1,    -1,    -1,    -1,    -1,  3731,    -1,    -1,  1592,
14592       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14593       -1,  1767,    -1,    -1,    -1,  3750,    -1,    -1,    -1,  1775,
14594       -1,  1477,    -1,    -1,    -1,    -1,    -1,    -1,  3763,  3764,
14595     3765,  1787,    -1,    -1,    -1,  3770,  3771,  3772,  3773,    -1,
14596       -1,    -1,  3777,  3778,    -1,    -1,    -1,    -1,  3783,  3784,
14597       -1,  3786,  3787,  3788,  3789,  3790,  3791,   361,  3793,    -1,
14598       -1,    -1,    -1,    -1,    -1,    -1,     8,  3802,    -1,    11,
14599     3805,  3806,    -1,    15,    16,    17,    -1,    -1,    -1,    -1,
14600       -1,   458,    -1,    -1,   461,   462,   463,    -1,   465,   466,
14601      467,   468,   469,   470,  3829,    -1,    -1,    -1,    40,    -1,
14602       -1,    -1,    -1,  1859,  1860,    47,  1862,  1863,    -1,    -1,
14603       -1,    -1,    -1,    -1,    -1,    -1,  3851,    -1,  1874,    -1,
14604     1876,  1877,  1578,  1579,  1580,  1581,    -1,    -1,    -1,    -1,
14605       72,    -1,    -1,  1889,  1890,    -1,    -1,    -1,    -1,    -1,
14606       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1905,
14607     1743,    -1,    -1,    -1,   458,    -1,    -1,   461,   462,   463,
14608       -1,   465,   466,   467,   468,   469,   470,    -1,    -1,    -1,
14609       -1,    -1,    -1,    -1,  1767,    -1,    -1,    -1,    -1,    -1,
14610       -1,  1937,  1775,    -1,  1940,  1941,    -1,    -1,    -1,    -1,
14611       -1,    -1,    -1,    -1,  1787,    -1,    -1,    -1,    -1,    -1,
14612       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14613       -1,    -1,    -1,    -1,  3949,    -1,    -1,    -1,    -1,    -1,
14614       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14615       -1,    -1,  4422,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14616      182,    -1,    -1,    -1,    -1,   187,    -1,    -1,  3983,    -1,
14617       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14618       -1,    -1,    -1,  1719,  1720,    -1,    -1,   209,   210,  1862,
14619     1863,  2027,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14620       -1,    -1,   224,  1876,    -1,    -1,  1742,    -1,    -1,    -1,
14621       -1,    -1,    -1,    -1,    -1,    -1,  1889,  1890,    -1,    -1,
14622       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14623       -1,    -1,  1905,    -1,    -1,   257,    -1,    -1,    -1,    -1,
14624       -1,  1777,  1778,  1779,  1780,    -1,    -1,    -1,    -1,   271,
14625       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14626       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14627       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14628       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14629       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14630       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14631       -1,    -1,    -1,    -1,  2150,    -1,    -1,    -1,    -1,    -1,
14632       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14633       -1,    -1,  2168,    -1,    -1,    -1,    -1,  2173,  2174,   361,
14634       -1,    -1,  2178,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14635     2186,    -1,    -1,    -1,  2027,    -1,    -1,    -1,    -1,  1895,
14636       -1,    -1,    -1,    -1,    -1,  1901,    -1,    -1,  2204,    -1,
14637       -1,    -1,    -1,    -1,  4189,    -1,    -1,    -1,  4193,  4194,
14638     4195,  4196,    -1,  4653,  4199,    -1,    -1,    -1,    -1,    -1,
14639     2226,    -1,    -1,  2229,  2230,    -1,    -1,    -1,  4668,    -1,
14640       -1,    -1,    -1,  4673,    -1,    -1,    -1,    -1,    -1,    -1,
14641       -1,    -1,    -1,    -1,  2250,    -1,  4231,  4232,  4233,    -1,
14642     4235,    -1,  4237,  4238,    -1,    -1,    -1,    -1,    -1,  4699,
14643       -1,    -1,  2268,  2269,  4249,  4250,   458,    -1,    -1,   461,
14644      462,   463,    -1,   465,   466,   467,   468,   469,   470,    -1,
14645       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14646       -1,  4276,    -1,    -1,  2300,  2301,    -1,    -1,  2304,    -1,
14647       -1,    -1,    -1,    -1,    -1,    -1,    -1,  2150,    -1,    -1,
14648       -1,    -1,    -1,    -1,  4299,    -1,    -1,    -1,    -1,    -1,
14649       -1,  2327,    -1,  2329,  2030,  2168,    -1,    -1,  2334,    -1,
14650     2173,  2174,    -1,    -1,  2340,  2178,    -1,    -1,    -1,    -1,
14651       -1,  2347,    -1,  2186,    -1,  2351,    -1,    -1,    -1,    -1,
14652     2356,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14653       -1,  2204,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14654     2376,    -1,    -1,    -1,    -1,  2381,    -1,    -1,    -1,  2385,
14655       -1,  4821,  2388,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14656       -1,  4376,  2398,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14657       -1,    -1,    -1,    -1,    -1,  2411,    -1,  2250,    -1,    -1,
14658       -1,    -1,    -1,    -1,    -1,  2421,    -1,    -1,    -1,    -1,
14659     4405,    -1,    -1,    -1,    -1,  2268,  2269,    -1,    -1,    -1,
14660       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14661       -1,    -1,    -1,    -1,    -1,  4430,    -1,    -1,    -1,    -1,
14662       -1,    -1,    -1,    -1,    -1,    -1,    -1,  2300,  2301,    -1,
14663       -1,  2304,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14664       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4917,    -1,    -1,
14665       -1,    -1,    -1,  2489,  2327,    -1,  2329,    -1,    -1,    -1,
14666       -1,  2334,    -1,    -1,    -1,   787,   788,  2340,    -1,    -1,
14667       -1,    -1,    -1,    -1,  2347,    -1,    -1,    -1,  2351,    -1,
14668       -1,    -1,    -1,  2356,    -1,  2221,  2222,    -1,    -1,    -1,
14669       -1,    -1,    -1,    -1,    -1,    -1,  2232,    -1,  2234,    -1,
14670       -1,    -1,  2238,  2376,    -1,    -1,    -1,    -1,  2381,    -1,
14671       -1,    -1,  2385,    -1,    -1,  2388,    -1,    -1,    -1,    -1,
14672       -1,  4536,    -1,    -1,    -1,  2398,    -1,    -1,    -1,    -1,
14673       -1,  2567,    -1,    -1,    -1,    -1,    -1,    -1,  2411,    -1,
14674       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2421,    -1,
14675       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14676       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14677       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14678       -1,    -1,    -1,  4598,   671,    -1,  2622,    -1,    -1,    -1,
14679       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14680       -1,  4616,    -1,    -1,    -1,    -1,  4621,  4622,    -1,    -1,
14681      697,    -1,   934,   935,    -1,    -1,  2489,    -1,    -1,    -1,
14682       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2664,    -1,
14683       -1,    -1,  2368,    -1,    -1,  2371,    -1,    -1,    -1,    -1,
14684       -1,    -1,    -1,    -1,    -1,    -1,  2682,    -1,    -1,    -1,
14685       -1,    -1,    -1,    -1,  2690,    -1,    -1,    -1,    -1,  4674,
14686       -1,    -1,    -1,    -1,  2700,    -1,    -1,  2703,    -1,    -1,
14687     2706,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4694,
14688       -1,  4696,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14689       -1,    -1,    -1,    -1,  2567,    -1,    -1,    -1,    -1,    -1,
14690       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14691       -1,    -1,    -1,    -1,  2450,    -1,  4731,    -1,    -1,    -1,
14692       -1,    -1,  2458,  4738,    -1,  2461,    -1,    -1,    -1,    -1,
14693       -1,  2467,    -1,    -1,    -1,    -1,  2772,    -1,    -1,    -1,
14694      671,    -1,  2778,    -1,    -1,  2481,    -1,    -1,    -1,  2622,
14695       -1,    -1,    20,    -1,    -1,    -1,    -1,    25,    -1,    -1,
14696       -1,    -1,    -1,    -1,    -1,    -1,   697,    -1,    -1,    37,
14697       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14698       -1,    -1,    -1,    -1,    -1,    -1,  2522,    -1,    -1,  4804,
14699       -1,  2664,    60,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14700       -1,    -1,    -1,    -1,    -1,    73,    -1,    -1,    -1,  2682,
14701       -1,  4826,    -1,    -1,  2550,    -1,    84,  2690,  2854,    -1,
14702       88,    -1,  4837,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14703       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   106,    -1,
14704       -1,    -1,    -1,    -1,   112,    -1,    -1,   934,    -1,    -1,
14705       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14706       -1,   129,    -1,   950,    -1,    -1,    -1,    -1,    -1,  2605,
14707       -1,  2607,   140,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14708      148,    -1,    -1,    -1,    -1,  4900,    -1,    -1,   975,    -1,
14709       -1,    -1,   160,    -1,  1216,    -1,    -1,    -1,    -1,  2772,
14710      168,    -1,    -1,   990,   172,  2778,  2942,  2943,    -1,    -1,
14711       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14712       -1,    -1,    -1,   191,  1246,    -1,    -1,    -1,    -1,    -1,
14713       -1,    -1,    -1,  2969,    -1,    -1,  2972,    -1,    -1,    -1,
14714       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4963,    -1,
14715       -1,    -1,  1274,  1275,  1276,    -1,  1278,    -1,    -1,    -1,
14716      228,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   237,
14717       -1,    -1,    -1,    -1,    -1,    -1,  1298,    -1,    -1,  2715,
14718       -1,  2854,    -1,    -1,    -1,    -1,    -1,    -1,  1075,    -1,
14719       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14720       -1,    -1,    -1,   271,    -1,    -1,   274,    -1,    -1,  5024,
14721       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   950,
14722       -1,  3057,  3058,  3059,  5039,    -1,   294,    -1,    -1,    -1,
14723       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14724      308,    -1,    -1,    -1,   975,  3081,    -1,   315,  1370,    -1,
14725       -1,    -1,  1374,  1375,    -1,    -1,    -1,    -1,    -1,   990,
14726       -1,    -1,    -1,    -1,    -1,  3101,   334,    -1,    -1,  2942,
14727     2943,    -1,    -1,    -1,    -1,   343,    -1,    -1,  5093,    -1,
14728       -1,    -1,   350,    -1,  3120,   353,    -1,    -1,    -1,    -1,
14729       -1,    -1,    -1,  5108,    -1,    -1,  2969,  1184,    -1,  2972,
14730       -1,    -1,    -1,    -1,   372,    -1,    -1,    -1,    -1,    -1,
14731      378,    -1,    -1,    -1,    -1,   383,    -1,    -1,   386,   387,
14732       -1,   389,   390,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14733       -1,    -1,   400,    -1,    -1,    -1,    -1,   405,    -1,    -1,
14734       -1,    -1,    -1,   411,  1075,    -1,   414,    -1,    -1,   417,
14735       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14736       -1,    -1,   430,    -1,    -1,    -1,  3202,    -1,    -1,    -1,
14737       -1,    -1,    -1,    -1,  5189,    -1,    -1,    -1,    -1,    -1,
14738       -1,    -1,    -1,    -1,  3057,  3058,  3059,    -1,    -1,    22,
14739       -1,    -1,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,
14740       -1,    -1,    35,    -1,    -1,    -1,    -1,    -1,  3081,    -1,
14741       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3253,    -1,  5234,
14742       -1,    54,    -1,    -1,  3260,    -1,  3262,    -1,  3101,    -1,
14743       -1,    -1,    -1,    -1,    -1,    -1,    -1,    70,    -1,  3275,
14744       -1,  3277,    -1,    -1,    -1,    -1,  2982,  3120,  2984,  2985,
14745     2986,    -1,    -1,  1184,    -1,    -1,    -1,    -1,    -1,    -1,
14746       -1,    -1,    -1,  3299,    -1,    -1,    -1,    -1,    -1,    -1,
14747       -1,   104,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14748       -1,    -1,    -1,    -1,    -1,  1607,  1608,  1609,    -1,    -1,
14749       -1,   124,    -1,    -1,    -1,    -1,    -1,    -1,   131,    -1,
14750       -1,   134,    -1,    -1,  3340,    -1,  1393,  5322,    -1,    -1,
14751       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14752       -1,    -1,    -1,    -1,    -1,    -1,   159,    -1,    -1,  3202,
14753       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14754       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14755       -1,    -1,    -1,    -1,    -1,  3391,    -1,   190,    -1,    -1,
14756      193,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14757       -1,  1458,    -1,  3409,    -1,    -1,    -1,    -1,    -1,    -1,
14758     3253,    -1,    -1,    -1,    -1,    -1,    -1,  3260,    -1,  3262,
14759       -1,    -1,    -1,    -1,  1325,  3431,    -1,    -1,  3434,    -1,
14760       -1,    -1,  3275,    -1,  3277,   238,    -1,    -1,   241,    -1,
14761       -1,    -1,  1499,    -1,    -1,    -1,    -1,    -1,    -1,   252,
14762       -1,   254,    -1,    -1,    -1,    -1,  3299,    -1,    -1,    -1,
14763       -1,   264,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14764      273,    -1,    -1,    -1,    -1,  1532,    -1,    -1,    -1,    -1,
14765       -1,   284,   285,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14766       -1,    -1,  1393,    -1,    -1,    -1,    -1,  3340,    -1,    -1,
14767       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3514,    -1,
14768       -1,    -1,    -1,    -1,    -1,    -1,  3222,    -1,    -1,    -1,
14769      323,    -1,    -1,   326,   327,   328,    -1,    -1,    -1,    -1,
14770       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14771       -1,    -1,    -1,    -1,    -1,    -1,    -1,   350,  3391,    -1,
14772     1607,  1608,  1609,   356,    -1,    -1,    -1,  1458,    -1,    -1,
14773       -1,    -1,    -1,    -1,    -1,    -1,  3409,   370,    -1,    -1,
14774       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14775       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3431,    -1,
14776       -1,  3434,    -1,    -1,    -1,    -1,    -1,    -1,  1499,    -1,
14777       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14778       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   421,    -1,
14779       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14780       -1,  1532,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14781       -1,    -1,    -1,   671,    -1,    -1,    -1,    -1,    -1,    -1,
14782       -1,    -1,    -1,  1710,    -1,    -1,    -1,    -1,    -1,    -1,
14783       -1,  3667,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   697,
14784     1727,  3514,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1736,
14785       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1980,  3395,
14786       -1,  1748,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14787       -1,  1993,    -1,  1995,    -1,    -1,  1998,  1999,  2000,    -1,
14788       -1,    -1,  3718,  2005,    -1,    -1,  2008,  3723,    -1,  3725,
14789       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14790       -1,  2023,  2024,  2025,  2026,    -1,    -1,    -1,    -1,  2031,
14791       -1,  3747,    -1,  2035,    -1,    -1,  2038,  1804,    -1,  2041,
14792     2042,  2043,  2044,  2045,  2046,  2047,  2048,  2049,    -1,  2051,
14793     3766,  1818,    -1,    -1,    -1,    -1,  2058,    -1,  2060,    -1,
14794       -1,    -1,    -1,  1830,    -1,    -1,  3782,    -1,    -1,  3785,
14795       -1,    -1,    -1,    -1,    -1,  1842,    -1,    -1,    -1,    -1,
14796       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14797       -1,    -1,    -1,    -1,    -1,    -1,    -1,    22,  2100,  1710,
14798       -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,    -1,    -1,
14799       35,    -1,    -1,    -1,  3667,    -1,  1727,    -1,    -1,  1886,
14800     1887,    -1,    -1,  2125,  2126,  1736,    -1,    -1,    -1,    54,
14801       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1748,    -1,    -1,
14802       -1,    -1,    -1,    -1,    -1,    70,    -1,    -1,    -1,    -1,
14803       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14804       -1,  3877,  3878,    -1,    -1,  3718,    -1,    -1,    -1,    -1,
14805     3723,  3887,  3725,    -1,    -1,    -1,    -1,    -1,    -1,   104,
14806       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14807     3906,    -1,    -1,  1804,  3747,    -1,    -1,    -1,    -1,   124,
14808       -1,    -1,    -1,    -1,    -1,  2207,   131,  1818,    -1,   134,
14809       -1,    -1,   950,  3766,    -1,    -1,    -1,    -1,    -1,  1830,
14810       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3782,
14811       -1,  1842,  3785,    -1,   159,    -1,    -1,   975,    -1,    -1,
14812       -1,  3657,  3658,  3659,  3660,    -1,    -1,    -1,    -1,    -1,
14813       -1,    -1,   990,    -1,    -1,  2022,    -1,    -1,    -1,    -1,
14814       -1,    -1,    -1,  3979,    20,   190,    -1,    -1,   193,    25,
14815       -1,    -1,    -1,    -1,    -1,  1886,  1887,    -1,    -1,    -1,
14816       -1,    37,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14817       -1,    -1,    -1,  2060,    -1,    -1,    -1,    -1,    -1,    -1,
14818       -1,    -1,    -1,    -1,    60,    -1,    -1,    -1,    -1,    -1,
14819       -1,    -1,    -1,   238,    -1,    -1,   241,    73,    -1,    -1,
14820       -1,    -1,    -1,    -1,  3877,  3878,    -1,   252,    -1,   254,
14821       -1,    -1,    88,    -1,  3887,    -1,    -1,  1075,    -1,   264,
14822       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   273,    -1,
14823      106,    -1,    -1,  3906,    -1,    -1,    -1,    -1,    -1,   284,
14824      285,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14825       -1,    -1,    -1,   129,    -1,    -1,    -1,    -1,    -1,    -1,
14826       -1,    -1,    -1,    -1,   140,    -1,    -1,    -1,    -1,    -1,
14827     2157,    -1,   148,    -1,  2161,  2162,    -1,    -1,   323,    -1,
14828       -1,   326,   327,   328,   160,    -1,    -1,    -1,    -1,   165,
14829       -1,  2022,    -1,    -1,    -1,    -1,   172,    -1,    -1,    -1,
14830       -1,    -1,    -1,    -1,    -1,   350,  3979,    -1,  3844,    -1,
14831       -1,   356,    -1,    -1,  3850,   191,  2438,  2439,  2440,    -1,
14832       -1,    -1,  2444,    -1,    -1,   370,  1184,    -1,    -1,    -1,
14833       -1,    -1,    -1,    -1,   671,    -1,  2223,    -1,    -1,    -1,
14834       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14835     2237,    -1,    -1,    -1,    -1,    -1,    -1,  2479,    -1,    -1,
14836      697,   237,  4198,    -1,    -1,    -1,    -1,  4203,    -1,    -1,
14837       -1,    -1,    -1,    -1,    -1,    -1,   421,    -1,    -1,    -1,
14838       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14839     2277,    -1,    -1,    -1,    -1,   271,    -1,    -1,    -1,    -1,
14840     4236,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   284,    -1,
14841       -1,    -1,  4248,    -1,    -1,    -1,    -1,    -1,   294,    -1,
14842       -1,    -1,    -1,    -1,    -1,    -1,  2157,    -1,   304,   305,
14843     2161,  2162,   308,    -1,    -1,    -1,    -1,    -1,    -1,  4275,
14844       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14845       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   334,    -1,
14846       -1,   337,    -1,    -1,    -1,   341,    -1,   343,    -1,    -1,
14847       -1,    -1,    -1,    -1,   350,    -1,    -1,   353,    -1,    -1,
14848       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14849       -1,    -1,  2223,    -1,    -1,    -1,   372,    -1,    -1,    -1,
14850       -1,    -1,   378,    -1,    -1,    -1,  2237,   383,    -1,    -1,
14851      386,    -1,    -1,    -1,   390,    -1,    -1,    -1,    -1,    -1,
14852       -1,    -1,   398,    -1,   400,  4198,    -1,    -1,    20,   405,
14853     4203,    -1,    -1,    25,  4370,  1393,    -1,    -1,    -1,    -1,
14854       -1,   417,    -1,    -1,    -1,    -1,  2277,    -1,    -1,    -1,
14855       -1,    -1,    -1,  2440,   430,    -1,    -1,    -1,    -1,    -1,
14856       -1,    -1,    -1,  4236,    -1,    -1,    -1,    -1,    60,    -1,
14857       -1,    -1,    -1,    -1,    -1,  4248,    -1,    -1,    -1,    -1,
14858       -1,    73,    74,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14859       -1,    -1,    84,  2480,    -1,    -1,    88,    -1,    -1,    -1,
14860     1458,  2723,  4275,    -1,    -1,    -1,  2728,    -1,  4444,    -1,
14861       -1,    -1,    -1,   950,   106,    -1,    -1,    -1,    -1,    -1,
14862       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14863       -1,  2753,    -1,    -1,    -1,    -1,    -1,   129,   975,    -1,
14864       -1,  1499,  2764,    -1,  2766,  2767,    -1,    -1,   140,    -1,
14865       -1,    -1,    -1,   990,    -1,  2777,   148,    -1,  2780,    -1,
14866     2782,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   160,    -1,
14867       -1,    -1,    -1,   165,  1532,  2562,    -1,    -1,    -1,    -1,
14868       -1,    -1,    -1,    -1,    -1,    -1,   671,    -1,    -1,  2811,
14869       -1,  2813,    -1,  2815,    -1,    -1,    -1,  4370,    -1,   191,
14870       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14871       -1,    -1,   697,    -1,  4550,    -1,  4552,    -1,    -1,    -1,
14872       -1,    -1,    -1,    -1,   216,    -1,    -1,    -1,    -1,    -1,
14873       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1075,    -1,
14874       -1,    -1,    -1,    -1,    -1,   237,    -1,  2869,    -1,  2480,
14875     4286,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14876       -1,  4597,  2884,    -1,    -1,  4301,    -1,    -1,    -1,    -1,
14877     4606,  4444,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   271,
14878       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14879       -1,    -1,    -1,  2680,    -1,    -1,    -1,    -1,    -1,    -1,
14880       -1,    -1,   294,    -1,    -1,    -1,    -1,    -1,  4644,    -1,
14881     2697,    -1,   304,   305,  4650,    -1,   308,    -1,    -1,    -1,
14882       -1,    -1,    -1,    -1,    -1,  2712,  2948,    -1,    -1,    -1,
14883       -1,  2562,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14884       -1,    -1,   334,    -1,    -1,   337,    -1,  1184,    -1,   341,
14885       -1,   343,  1710,    -1,  4390,    -1,    -1,    -1,   350,    -1,
14886       -1,   353,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1727,
14887       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4550,  1736,  4552,
14888      372,    -1,    -1,    -1,    -1,    -1,   378,    -1,    -1,    -1,
14889     1748,   383,    -1,    -1,   386,    -1,    -1,    -1,   390,    -1,
14890       -1,    -1,    -1,    -1,    -1,    -1,   398,    -1,   400,    -1,
14891       -1,    -1,    -1,   405,    -1,    -1,    -1,    -1,    -1,    -1,
14892       -1,    -1,    -1,    -1,  4597,    -1,    -1,    -1,    -1,    -1,
14893       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   430,    -1,
14894       -1,    -1,    -1,    -1,    -1,    -1,  1804,    -1,    -1,  2680,
14895       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14896     1818,    -1,    -1,    -1,    -1,   950,  2697,    -1,    -1,    -1,
14897       -1,  4644,  1830,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14898       -1,  2712,    -1,    -1,  1842,    -1,    -1,    -1,    -1,    -1,
14899      975,    -1,    -1,    -1,  4830,    -1,    -1,    -1,    -1,    -1,
14900       -1,    -1,    -1,    -1,    -1,   990,    -1,    -1,    -1,    -1,
14901       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4855,
14902       -1,    -1,  4558,  4559,  4560,    -1,    -1,    -1,  1886,  1887,
14903     2917,  4867,    -1,  2920,    -1,  2922,    -1,    -1,    -1,    -1,
14904     2927,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14905       -1,    -1,    -1,    -1,    -1,    -1,  1393,    -1,    -1,    -1,
14906       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14907       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14908       -1,    -1,    -1,    -1,    -1,  3207,    -1,    -1,    -1,  2976,
14909     1075,  3213,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14910       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2995,    -1,
14911       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14912       -1,  1458,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14913       -1,    -1,    -1,  3020,    -1,    -1,    -1,    -1,    -1,    -1,
14914       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14915       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4830,    -1,    -1,
14916       -1,    -1,  1499,    -1,  2022,    -1,    -1,    -1,    -1,    -1,
14917       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14918       -1,  4717,  4855,    -1,    -1,   671,  2917,    -1,    -1,  2920,
14919       -1,  2922,    -1,    -1,  4867,  1532,  2927,    -1,    -1,  1184,
14920       -1,    -1,    -1,    -1,  3091,    -1,  3093,    -1,    -1,    -1,
14921       -1,   697,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14922       -1,    -1,    -1,    -1,    -1,    -1,  5062,    -1,  5064,    -1,
14923       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14924       -1,    -1,    -1,    -1,    -1,  2976,    -1,    -1,    25,    -1,
14925       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14926       -1,    -1,    -1,    -1,  2995,    -1,    -1,    -1,    -1,    -1,
14927       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14928       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3020,
14929       -1,    -1,    -1,    -1,    -1,  3182,    73,    -1,    -1,  2157,
14930       -1,    -1,    -1,  2161,  2162,    -1,    -1,    -1,    -1,    -1,
14931       -1,    88,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14932     3207,    -1,  5158,  4859,    -1,  4861,  3213,    -1,    -1,   106,
14933       -1,    -1,  3454,    -1,  3221,   112,    -1,    -1,    -1,    -1,
14934     5176,  3463,    -1,    -1,    -1,    -1,    -1,  3469,    -1,  3471,
14935       -1,    -1,   129,    -1,  5190,    -1,    -1,    -1,    -1,  3246,
14936     3091,    -1,  3093,   140,    -1,  2223,    -1,  3254,    -1,  5205,
14937       -1,   148,    -1,  1710,    -1,    -1,  3498,  3499,    -1,  2237,
14938       -1,    -1,    -1,   160,    -1,    -1,    -1,    -1,   165,  5062,
14939     1727,  5064,    -1,    -1,  3516,   172,    -1,    -1,    -1,  1736,
14940       -1,    -1,  3524,    -1,    -1,  3527,    -1,  3529,  1393,    -1,
14941       -1,  1748,    -1,    -1,   191,    -1,  3538,    -1,    -1,  2277,
14942       -1,    -1,    -1,    -1,  3546,  3547,    -1,    -1,    -1,  5265,
14943     5266,    -1,    -1,    -1,    -1,    -1,  3323,    -1,    -1,   216,
14944       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14945       -1,  3182,    -1,    -1,  3341,    -1,  3578,    -1,    -1,    -1,
14946      237,    -1,    -1,    -1,   950,    -1,    -1,  1804,  3355,    -1,
14947       -1,    -1,    -1,  1458,  5310,    -1,    -1,    -1,  5014,    -1,
14948     3602,  1818,    -1,    -1,    -1,  5158,    -1,    -1,    -1,   975,
14949     3221,    -1,    -1,  1830,   271,    -1,  3618,    -1,    -1,    -1,
14950       -1,    -1,    -1,  5176,   990,  1842,    -1,    -1,    -1,    -1,
14951       -1,    -1,    -1,    -1,  1499,  3246,    -1,   294,    -1,    -1,
14952       -1,    -1,    -1,  3254,    -1,    -1,    -1,   304,   305,    -1,
14953       -1,   308,  5205,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14954       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1532,    -1,  1886,
14955     1887,    -1,    -1,    -1,    -1,    -1,  5392,   334,    -1,    -1,
14956      337,    -1,    -1,    -1,   341,    -1,   343,  5103,    -1,    -1,
14957     3457,   671,    -1,   350,    -1,    -1,   353,    -1,    -1,    -1,
14958       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1075,
14959       -1,  3478,  3323,    -1,    -1,   372,    -1,   697,    -1,    -1,
14960       -1,   378,    -1,    -1,    -1,   382,   383,    -1,    -1,   386,
14961     3341,    -1,    -1,   390,    -1,    -1,  3503,  5453,    -1,    -1,
14962       -1,    -1,  2480,   400,  3355,    -1,    -1,    -1,   405,    -1,
14963       -1,    -1,    -1,  5469,    -1,  5471,  5472,  5310,    -1,    -1,
14964      417,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14965     3537,    -1,    -1,   430,    -1,    -1,    -1,    -1,    -1,    -1,
14966       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14967       -1,  5207,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14968       -1,    -1,    -1,    -1,    -1,  2022,    -1,    -1,    -1,    -1,
14969       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1184,    -1,
14970       -1,    -1,    -1,    -1,  2562,    -1,    -1,    -1,    -1,    -1,
14971       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5392,
14972       -1,    -1,    -1,    -1,    -1,  1710,  3457,    -1,    -1,    -1,
14973       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3624,    -1,    -1,
14974       -1,    -1,  1727,    -1,    -1,    -1,    -1,  3478,    -1,    -1,
14975       -1,  1736,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14976       -1,    -1,    -1,  1748,    -1,    -1,  5302,    -1,    -1,    -1,
14977       -1,    -1,  3503,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14978     5453,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14979       -1,    -1,    -1,    -1,    -1,    -1,  5469,    -1,    -1,  5335,
14980     5336,    -1,    -1,    -1,    -1,    -1,  3537,    -1,    -1,    -1,
14981     3932,  3933,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1804,
14982     2157,    -1,  2680,    -1,  2161,  2162,    -1,    -1,    -1,    -1,
14983       -1,    -1,    -1,  1818,    -1,    -1,    -1,  3724,    -1,  2697,
14984       -1,    -1,    -1,    -1,    -1,  1830,    -1,    -1,    -1,    -1,
14985      950,    -1,    -1,    -1,  2712,    -1,    -1,  1842,    -1,    -1,
14986       -1,  3748,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14987       -1,    -1,    -1,    -1,    -1,   975,    -1,    -1,    -1,    -1,
14988     4002,    -1,    -1,    -1,    -1,    -1,  2223,    -1,    -1,    -1,
14989      990,  4013,    -1,  3624,    -1,    -1,    -1,    -1,    -1,  5435,
14990     2237,  1886,  1887,    -1,    -1,    -1,    -1,  1393,    -1,    -1,
14991       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14992       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14993       -1,  4053,  4054,    -1,    -1,    -1,    -1,    -1,  4060,  4061,
14994     2277,    -1,    -1,  4065,    -1,    -1,    -1,    -1,  4070,    -1,
14995       -1,  4073,  4074,    -1,    -1,    -1,  4078,    -1,    -1,    -1,
14996       -1,    -1,  4084,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14997       -1,    -1,  1458,    -1,    -1,  1075,    -1,    -1,    -1,    -1,
14998       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14999       -1,    -1,    -1,  3724,  3881,    -1,    -1,    -1,    -1,    -1,
15000       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15001       -1,    -1,    -1,  1499,  4136,    -1,    -1,  3748,    -1,    -1,
15002       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15003       -1,    -1,    -1,    -1,    -1,    -1,    -1,  2022,    -1,    -1,
15004       -1,  4163,    -1,    -1,  3931,    -1,  1532,    -1,    -1,    -1,
15005       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2917,
15006       -1,    -1,  2920,    -1,  2922,    -1,    -1,    -1,    -1,  2927,
15007       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15008       -1,    -1,    -1,    -1,  1184,    -1,    -1,    -1,    -1,    -1,
15009       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15010       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15011       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2976,    -1,
15012       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15013       -1,    -1,    -1,    -1,    -1,    -1,    -1,  2995,    -1,    -1,
15014       -1,    -1,  4264,  2480,    -1,    -1,    -1,    -1,    -1,    -1,
15015     3881,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15016       -1,    -1,  3020,    -1,    -1,    -1,    -1,    -1,    -1,  4056,
15017       -1,    -1,  2157,    -1,    -1,    -1,  2161,  2162,    -1,  4066,
15018       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15019       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15020     3931,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4331,
15021       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15022       -1,    -1,    -1,    -1,  1710,  2562,    -1,    -1,    -1,    -1,
15023       -1,    -1,    -1,  3091,    -1,  3093,    -1,    -1,  2223,    -1,
15024       -1,  1727,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15025     1736,    -1,  2237,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15026       -1,    -1,  1748,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15027       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15028       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15029       -1,    -1,  2277,  1393,  4181,    -1,    -1,    -1,    -1,    -1,
15030       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15031       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1804,    -1,
15032       -1,    -1,    -1,    -1,  3182,  4056,    -1,    -1,    -1,    -1,
15033       -1,    -1,  1818,  4220,    -1,  4066,    -1,    -1,    -1,    -1,
15034       -1,    -1,    -1,  2680,  1830,    -1,    -1,    -1,    -1,    -1,
15035       -1,    -1,    -1,    -1,  4241,    -1,  1842,    -1,  1458,    -1,
15036     2697,    -1,    -1,  3221,    -1,    -1,  4488,  4489,    -1,    -1,
15037     4492,    -1,    -1,    -1,    -1,  2712,    -1,    -1,    -1,    -1,
15038       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3246,    -1,
15039       -1,    -1,    -1,    -1,    -1,    -1,  3254,    -1,    -1,  1499,
15040     1886,  1887,    -1,    -1,    -1,    -1,    -1,  4529,  4530,    -1,
15041       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4306,
15042       -1,    -1,    -1,  4545,    -1,    -1,    -1,    -1,    -1,    -1,
15043       -1,    -1,  1532,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15044       -1,    -1,   671,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15045     4181,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15046       -1,    -1,    -1,    -1,    -1,  3323,    -1,    -1,   697,    -1,
15047       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15048       -1,    -1,    -1,  3341,    -1,    -1,    -1,    -1,    -1,  4220,
15049       -1,    -1,    -1,    -1,    -1,  2480,    -1,  3355,    -1,    -1,
15050       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15051     4241,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15052       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15053       -1,  4418,    -1,  4420,    -1,    -1,  2022,    -1,    -1,    -1,
15054       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15055       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15056       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15057       -1,    -1,    -1,    -1,    -1,  4306,    -1,  2562,    -1,  4466,
15058     2917,    -1,    -1,  2920,    -1,  2922,    -1,    -1,    -1,    -1,
15059     2927,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3457,
15060       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15061     1710,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15062     3478,    -1,    -1,    -1,    -1,  4747,    -1,  1727,    -1,    -1,
15063       -1,    -1,    -1,    -1,    -1,    -1,  1736,    -1,    -1,  2976,
15064       -1,    -1,    -1,    -1,    -1,  3503,    -1,    -1,  1748,    -1,
15065       -1,    -1,    -1,  4775,    -1,    -1,    -1,    -1,  2995,    -1,
15066       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4789,    -1,    -1,
15067       -1,  2157,    -1,    -1,    -1,  2161,  2162,    -1,    -1,  3537,
15068       -1,    -1,    -1,  3020,    -1,    -1,    -1,    -1,    -1,  4420,
15069       -1,    -1,    -1,    -1,    -1,  2680,    -1,    -1,    -1,    -1,
15070       -1,    -1,    -1,    -1,  1804,    -1,    -1,    -1,    -1,  4596,
15071       -1,    -1,  2697,    -1,    -1,    -1,    -1,    -1,  1818,    -1,
15072       -1,   950,    -1,    -1,    -1,    -1,  4848,  2712,    -1,    -1,
15073     1830,    -1,    -1,    -1,    -1,  4466,    -1,  2223,    -1,    -1,
15074       -1,    -1,  1842,    -1,    -1,    -1,   975,    -1,    -1,    -1,
15075       -1,  2237,    -1,    -1,  3091,    -1,  3093,    -1,    -1,    -1,
15076       -1,   990,    -1,    -1,    -1,    -1,  3624,    -1,    -1,    -1,
15077       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15078       -1,    -1,    -1,    -1,    -1,    -1,  1886,  1887,    -1,    -1,
15079       -1,  2277,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15080       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15081       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15082       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15083       -1,    -1,    -1,    -1,  4721,    -1,    -1,    -1,    -1,    -1,
15084       -1,    -1,    -1,    -1,    -1,  3182,  1075,    -1,    -1,    -1,
15085       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4745,    -1,
15086       -1,    -1,    -1,    -1,    -1,  4596,  3724,    -1,    -1,    -1,
15087       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5001,
15088       -1,    -1,    -1,    -1,  3221,    -1,    -1,    -1,    -1,    -1,
15089     3748,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4785,    -1,
15090       -1,    -1,    -1,    -1,    -1,  5027,    -1,    -1,    -1,  3246,
15091       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3254,    -1,    -1,
15092       -1,    -1,  2022,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15093       -1,    -1,  2917,    -1,    -1,  2920,    -1,  2922,    -1,    -1,
15094       -1,    -1,  2927,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15095       -1,  4838,    -1,    -1,    -1,  1184,  4843,  4844,    -1,    -1,
15096       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15097       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15098       -1,    -1,    -1,    -1,    -1,    -1,  3323,    -1,    -1,    -1,
15099     4721,  2976,  5114,    -1,  2480,    -1,    -1,    -1,    -1,    -1,
15100       -1,    -1,    -1,    -1,  3341,    -1,    -1,    -1,    -1,    -1,
15101     2995,    -1,    -1,    -1,  4745,    -1,    -1,    -1,  3355,    -1,
15102       -1,    -1,    -1,  3881,    -1,    -1,  5148,  5149,  5150,    -1,
15103       -1,    -1,    -1,    -1,    -1,  3020,    -1,    -1,    -1,    -1,
15104       -1,    -1,    -1,    -1,    -1,  5167,    -1,    -1,    -1,    -1,
15105       -1,    -1,    -1,    -1,  4785,    -1,    -1,  2157,    -1,    -1,
15106       -1,  2161,  2162,    -1,    -1,    -1,    -1,    -1,  4955,  4956,
15107       -1,    -1,    -1,  3931,    -1,    -1,  2562,    -1,    -1,    -1,
15108       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15109       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15110       -1,    -1,    -1,    -1,    -1,    -1,  3091,  4838,  3093,    -1,
15111       -1,    -1,  4843,  4844,    -1,    -1,    -1,    -1,    -1,    -1,
15112     3457,    -1,    -1,  2223,    -1,    -1,    -1,    -1,  5250,    -1,
15113       -1,    -1,    -1,    -1,    -1,    -1,    -1,  2237,    -1,    -1,
15114       -1,  3478,    -1,    -1,    -1,  5267,    -1,    -1,    -1,    -1,
15115       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15116       -1,    -1,    -1,    -1,  1393,    -1,  3503,    -1,    -1,    -1,
15117       -1,    -1,    -1,    -1,    -1,    -1,    -1,  2277,    -1,    -1,
15118       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15119       -1,    -1,    -1,    -1,  2680,    -1,    -1,  3182,  4056,    -1,
15120     3537,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4066,    -1,
15121       -1,  2697,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15122       -1,    -1,    -1,    -1,    -1,  4956,  2712,    -1,    -1,  1458,
15123       -1,    -1,    -1,    -1,    -1,    -1,  3221,    -1,    -1,    -1,
15124       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15125       -1,    -1,    -1,    -1,    -1,    -1,  5378,    -1,    -1,    -1,
15126       -1,  3246,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3254,
15127     1499,    -1,    -1,    -1,  5161,    -1,    -1,    -1,    -1,    -1,
15128       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3624,    -1,  5411,
15129       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5421,
15130       -1,    -1,    -1,  1532,    -1,    -1,    -1,    -1,    -1,    -1,
15131       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15132       -1,    -1,    -1,  4181,    -1,    -1,    -1,    -1,    -1,    -1,
15133       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3323,    -1,
15134       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15135       -1,    -1,    -1,    -1,    -1,    -1,  3341,    -1,    -1,    -1,
15136       -1,    -1,  4220,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15137     3355,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15138     2480,    -1,    -1,  4241,    -1,    -1,    -1,  3724,    -1,    -1,
15139       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15140       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15141       -1,  3748,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15142       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15143     5161,  2917,    -1,    -1,  2920,    -1,  2922,    -1,    -1,    -1,
15144       -1,  2927,    -1,    -1,    -1,    -1,    -1,    -1,  4306,    -1,
15145       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15146       -1,    -1,  2562,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15147       -1,    -1,  3457,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15148       -1,  1710,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15149     2976,    -1,    -1,  3478,    -1,    -1,    -1,    -1,  1727,    -1,
15150       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1736,    -1,  2995,
15151       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3503,  1748,
15152       -1,    -1,    -1,    -1,    -1,  1290,    -1,    -1,    -1,    -1,
15153       -1,    -1,    -1,    -1,  3020,    -1,    -1,    -1,    -1,    -1,
15154       -1,    -1,    -1,    -1,  3881,    -1,    -1,    -1,    -1,    -1,
15155       -1,    -1,  3537,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15156       -1,    -1,  4420,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15157       -1,    -1,    -1,    -1,    -1,  1804,    -1,    -1,    -1,    -1,
15158     2680,    -1,    -1,    -1,    -1,  1350,    -1,    -1,    -1,  1818,
15159       -1,    -1,    -1,    -1,  3931,    -1,    -1,  2697,    -1,    -1,
15160       -1,  1830,    -1,    -1,    -1,  3091,    -1,  3093,  4466,    -1,
15161       -1,    -1,  2712,  1842,    -1,    -1,    -1,    -1,    -1,    -1,
15162       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15163       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3624,
15164       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15165       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1886,  1887,    -1,
15166       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15167       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15168       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15169       -1,    -1,    -1,    -1,    -1,    -1,  3182,    -1,    -1,    -1,
15170       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15171       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4056,
15172       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4066,
15173       -1,    -1,    -1,    -1,    -1,  3221,    -1,    -1,  4596,  3724,
15174       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15175       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15176     3246,    -1,    -1,  3748,    -1,    -1,    -1,    -1,  3254,    -1,
15177       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15178       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15179       -1,    -1,    -1,  2022,    -1,    -1,    -1,    -1,    -1,    -1,
15180       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15181       -1,    -1,    -1,    -1,    -1,    -1,    -1,  2917,    -1,    -1,
15182     2920,    -1,  2922,    -1,    -1,    -1,    -1,  2927,    -1,    -1,
15183       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3323,    -1,    -1,
15184       -1,    -1,    -1,    -1,  4181,    -1,    -1,    -1,  1613,    -1,
15185       -1,    -1,  1617,    -1,    -1,  3341,    -1,    -1,    -1,    -1,
15186       -1,    -1,    -1,  4721,    -1,    -1,    -1,    -1,    -1,  3355,
15187       -1,    -1,    -1,    -1,    -1,    -1,  2976,    -1,    -1,    -1,
15188       -1,    -1,    -1,  4220,    -1,    -1,    -1,  4745,    -1,    -1,
15189       -1,    -1,    -1,    -1,    -1,  2995,  3881,    -1,    -1,    -1,
15190       -1,    -1,    -1,    -1,  4241,    -1,    -1,    -1,    -1,    -1,
15191       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15192     3020,    -1,    -1,    -1,    -1,    -1,    -1,  4785,  2157,    -1,
15193       -1,    -1,  2161,  2162,    -1,    -1,    -1,    -1,    -1,    -1,
15194       -1,    -1,    -1,    -1,    -1,    -1,  3931,    -1,    -1,    -1,
15195       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15196       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4306,
15197       -1,  3457,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15198     4838,    -1,    -1,    -1,    -1,  4843,  4844,    -1,    -1,    -1,
15199       -1,  3091,  3478,  3093,  2223,    -1,    -1,    -1,    -1,    -1,
15200       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2237,    -1,
15201       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3503,    -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,    -1,    -1,    -1,    -1,    -1,  2277,    -1,
15205       -1,  3537,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15206       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15207       -1,  4056,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15208       -1,  4066,  3182,  4420,    -1,    -1,    -1,    -1,    -1,    -1,
15209       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4956,    -1,
15210       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15211       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15212       -1,  3221,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4466,
15213       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3624,    -1,
15214       -1,    -1,    -1,    -1,    -1,    -1,  3246,    -1,    -1,    -1,
15215       -1,    -1,    -1,    -1,  3254,    -1,    -1,    -1,    -1,    -1,
15216       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15217       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15218       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15219       -1,    -1,    -1,    -1,    -1,    -1,  4181,    -1,    -1,    -1,
15220       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15221       -1,    -1,    -1,  1978,    -1,    -1,    -1,    -1,    -1,    -1,
15222       -1,    -1,    -1,  3323,    -1,    -1,    -1,  1992,    -1,    -1,
15223       -1,  1996,    -1,    -1,    -1,  4220,    -1,    -1,  3724,    -1,
15224       -1,  3341,    -1,    -1,    -1,  2010,  2011,  2012,    -1,  2014,
15225       -1,  2480,    -1,    -1,    -1,  3355,  4241,    -1,    -1,  4596,
15226       -1,    -1,  3748,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15227       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15228       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15229       -1,  2056,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15230       -1,    -1,    -1,  5161,    -1,    -1,    -1,    -1,    -1,    -1,
15231       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15232       -1,  4306,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15233       -1,    -1,    -1,  2562,    -1,    -1,    -1,    -1,    -1,    -1,
15234       -1,    -1,    -1,    -1,    -1,    -1,    -1,  2112,    -1,    -1,
15235       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3457,    -1,  2124,
15236       -1,    -1,    -1,    -1,  2129,    -1,    -1,    -1,    -1,    -1,
15237       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3478,    -1,
15238       -1,    -1,    -1,    -1,  4721,    -1,    -1,    -1,    -1,    -1,
15239       -1,    -1,    -1,    -1,    -1,  3881,    -1,    -1,    -1,    -1,
15240       -1,    -1,    -1,  3503,    -1,    -1,    -1,    -1,  4745,    -1,
15241       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15242       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15243       -1,    -1,    -1,    -1,    -1,  4420,    -1,  3537,    -1,    -1,
15244       -1,    -1,    -1,    -1,    -1,  3931,    -1,    -1,  4785,    -1,
15245       -1,  2680,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15246       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2697,    -1,
15247       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15248       -1,  4466,    -1,  2712,    -1,    -1,    -1,    -1,    -1,    -1,
15249       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15250       -1,  4838,    -1,    -1,    -1,    -1,  4843,  4844,    -1,    -1,
15251       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15252       -1,    -1,    -1,    -1,  3624,    -1,    -1,    -1,    -1,    -1,
15253       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15254       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15255       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15256       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15257     4056,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15258     4066,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15259       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15260       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15261       -1,  4596,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4956,
15262       -1,    -1,    -1,    -1,  3724,    -1,    -1,    -1,    -1,    -1,
15263       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15264       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3748,    -1,
15265       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15266       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15267       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15268       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2917,    -1,
15269       -1,  2920,    -1,  2922,    -1,  4181,    -1,    -1,  2927,    -1,
15270       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15271       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15272       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15273       -1,    -1,    -1,    -1,  4220,    -1,  4721,    -1,    -1,    -1,
15274       -1,    -1,    -1,    -1,    -1,    -1,    -1,  2976,    -1,    -1,
15275       -1,    -1,    -1,    -1,    -1,  4241,    -1,    -1,    -1,    -1,
15276     4745,    -1,    -1,    -1,    -1,    -1,  2995,    -1,    -1,    -1,
15277       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15278       -1,  3881,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15279       -1,  3020,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15280     4785,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15281       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15282     4306,    -1,    -1,    -1,  5161,    -1,    -1,    -1,    -1,    -1,
15283       -1,  3931,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15284       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15285       -1,    -1,    -1,  4838,    -1,    -1,    -1,    -1,  4843,  4844,
15286       -1,    -1,  3091,    -1,  3093,    -1,    -1,    -1,    -1,    -1,
15287       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15288       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15289       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15290       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15291       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15292       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15293       -1,    -1,    -1,    -1,  4420,    -1,    -1,    -1,    -1,    -1,
15294       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15295       -1,    -1,    -1,  3182,    -1,    -1,  4056,    -1,    -1,    -1,
15296       -1,  2726,    -1,    -1,    -1,    -1,  4066,    -1,    -1,    -1,
15297       -1,  4956,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15298     4466,  2746,    -1,  2748,    -1,    -1,  2751,  2752,    -1,  2754,
15299       -1,  2756,  3221,    -1,    -1,  2760,    -1,    -1,  2763,    -1,
15300       -1,    -1,    -1,  2768,    -1,    -1,    -1,    -1,    -1,  2774,
15301       -1,    -1,    -1,    -1,  2779,    -1,    -1,  3246,    -1,    -1,
15302       -1,  2786,  2787,  2788,  2789,  3254,    -1,    -1,  2793,  2794,
15303       -1,  2796,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15304       -1,    -1,    -1,  2808,    -1,  2810,    -1,    -1,    -1,    -1,
15305       -1,    -1,  2817,  2818,  2819,  2820,  2821,  2822,  2823,  2824,
15306     2825,  2826,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15307       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15308       -1,  4181,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15309       -1,    -1,    -1,    -1,  3323,    -1,    -1,    -1,  2863,    -1,
15310       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15311     4596,    -1,  3341,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15312     4220,    -1,    -1,    -1,    -1,    -1,  3355,    -1,    -1,    -1,
15313       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15314       -1,  4241,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15315       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15316       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15317       -1,    -1,    -1,    -1,    -1,    -1,  5161,    -1,    -1,    -1,
15318       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15319       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2963,    -1,
15320       -1,    -1,    -1,    -1,    -1,    -1,  4306,    -1,    -1,    -1,
15321       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15322       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3457,    -1,
15323       -1,    -1,    -1,    -1,    -1,  4721,    -1,    -1,    -1,    -1,
15324       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3478,
15325       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4745,
15326       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15327       -1,    -1,    -1,    -1,  3503,    -1,    -1,    -1,    -1,    -1,
15328       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15329       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4785,
15330       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3537,    -1,
15331       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15332     4420,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15333       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15334       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15335       -1,    -1,  4838,    -1,    -1,    -1,    -1,  4843,  4844,    -1,
15336       -1,    -1,    -1,    -1,    -1,    -1,  4466,    -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,  3624,    -1,    -1,    -1,    -1,
15340       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15341       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15342       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15343       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15344       -1,    -1,    -1,    -1,    -1,    -1,  3211,  3212,    -1,    -1,
15345       -1,  3216,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15346       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15347     4956,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15348       -1,    -1,    -1,    -1,  3249,    -1,    -1,    -1,    -1,    -1,
15349       -1,    -1,    -1,    -1,    -1,  3724,  4596,    -1,    -1,    -1,
15350       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15351       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3748,
15352       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15353       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15354       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15355       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15356       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15357       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15358       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15359       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15360       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15361       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15362       -1,  4721,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15363       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15364       -1,    -1,    -1,    -1,    -1,  4745,    -1,    -1,    -1,    -1,
15365       -1,    -1,  3881,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15366       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15367       -1,    -1,    -1,    -1,    -1,  5161,    -1,    -1,    -1,    -1,
15368       -1,    -1,    -1,    -1,    -1,  4785,    -1,    -1,  3453,    -1,
15369       -1,    -1,    -1,    -1,  3459,    -1,    -1,    -1,    -1,    -1,
15370       -1,    -1,  3931,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15371     3475,  3476,    -1,    -1,  3479,  3480,  3481,  3482,    -1,    -1,
15372     3485,  3486,  3487,  3488,  3489,  3490,  3491,  3492,  3493,  3494,
15373     3495,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4838,    -1,
15374       -1,    -1,    -1,  4843,  4844,    -1,    -1,    -1,    -1,    -1,
15375       -1,    -1,  3517,    -1,    -1,  3520,    -1,  3522,    -1,    -1,
15376     3525,  3526,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15377       -1,    -1,    -1,    -1,    -1,  3540,  3541,  3542,  3543,    -1,
15378     3545,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15379       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15380       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15381       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15382       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4056,    -1,    -1,
15383       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4066,    -1,    -1,
15384       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15385       -1,    -1,    -1,    -1,    -1,    -1,  4956,    -1,    -1,    -1,
15386       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3633,    -1,
15387       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15388       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15389       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15390       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15391       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15392       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15393       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15394       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15395       -1,    -1,  4181,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15396       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15397       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15398       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15399       -1,  4220,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15400       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15401       -1,    -1,  4241,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15402       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15403       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15404       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15405       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15406       -1,  5161,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15407       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4306,    -1,    -1,
15408       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3852,    -1,    -1,
15409       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15410       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15411       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15412       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15413       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15414       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15415       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15416       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15417       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15418       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15419       -1,  4420,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15420       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15421       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15422       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15423       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4466,  4003,    -1,
15424       -1,    -1,  4007,  4008,  4009,    -1,    -1,    -1,    -1,    -1,
15425     4015,  4016,  4017,  4018,    -1,    -1,    -1,    -1,  4023,  4024,
15426     4025,  4026,  4027,  4028,  4029,  4030,  4031,  4032,  4033,  4034,
15427       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15428       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15429       -1,    -1,    -1,    -1,  4059,    -1,    -1,  4062,    -1,  4064,
15430       -1,    -1,    -1,  4068,    -1,    -1,  4071,  4072,    -1,    -1,
15431     4075,  4076,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15432       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15433       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15434       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15435       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4122,    -1,    -1,
15436       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4596,    -1,    -1,
15437     4135,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15438       -1,    -1,    -1,  4148,    -1,    -1,    -1,    -1,    -1,    -1,
15439       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15440       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15441       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15442       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15443       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15444       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15445       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15446       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15447       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15448       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15449       -1,    -1,  4721,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15450       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15451       -1,    -1,    -1,    -1,    -1,    -1,  4745,    -1,    -1,    -1,
15452       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15453       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15454       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15455       -1,    -1,    -1,    -1,    -1,    -1,  4785,    -1,    -1,    -1,
15456       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4334,
15457       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15458       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15459       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15460       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4838,
15461       -1,    -1,    -1,    -1,  4843,  4844,    -1,    -1,    -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     4415,  4416,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
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,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15469       -1,  4456,    -1,    -1,    -1,    -1,  4461,  4462,    -1,    -1,
15470       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15471       -1,  4476,    -1,  4478,    -1,    -1,    -1,  4482,  4483,  4484,
15472       -1,    -1,  4487,    -1,    -1,  4490,  4491,  4956,    -1,    -1,
15473     4495,    -1,    -1,    -1,  4499,    -1,    -1,    -1,    -1,    -1,
15474       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15475       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15476       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15477       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15478       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4554,
15479       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15480       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15481       -1,    -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,    -1,  4617,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15486       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15487       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15488       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15489     4655,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15490       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15491       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15492       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15493       -1,    -1,  5161,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15494       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15495       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15496       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15497       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4743,  4744,
15498       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15499       -1,    -1,    -1,    -1,  4759,  4760,  4761,    -1,    -1,    -1,
15500       -1,    -1,    -1,    -1,  4769,    -1,    -1,    -1,    -1,    -1,
15501       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15502       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15503       -1,  4796,  4797,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15504       -1,    -1,    -1,  4808,    -1,    -1,    -1,    -1,    -1,    -1,
15505       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15506       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15507       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15508       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15509       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15510       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15511       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15512       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15513       -1,    -1,    -1,    -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,    -1,    -1,    -1,    -1,    -1,
15517       -1,    -1,    -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,    -1,    -1,    -1,    -1,    -1,
15520       -1,    -1,    -1,  4968,    -1,    -1,    -1,    -1,    -1,    -1,
15521       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4982,    -1,    -1,
15522     4985,    -1,    -1,    -1,  4989,    -1,    -1,    -1,    -1,    -1,
15523       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15524       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15525       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15526       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15527       -1,    -1,    -1,  5038,    -1,    -1,    -1,    -1,    -1,    -1,
15528       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15529       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15530       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15531       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15532       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
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,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15536       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15537       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15538       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15539     5155,    -1,  5157,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15540       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15541       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15542       -1,    -1,    -1,  5188,    -1,    -1,    -1,    -1,    -1,    -1,
15543       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
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,    -1,    -1,    -1,
15547       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5243,    -1,
15548       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15549       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15550       -1,    -1,    -1,    -1,    -1,  5270,    -1,    -1,    -1,    -1,
15551       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15552       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15553       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15554       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15555       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15556       -1,    -1,    -1,    -1,    -1,    -1,    -1,  5332,    -1,    -1,
15557       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15558       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15559       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15560       -1,  5366,  5367,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15561       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15562       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15563       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15564       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15565       -1,    -1,  5417,  5418,    -1,    -1,    -1,  5422,    -1,    -1,
15566       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,
15567        4,     5,     6,     7,     8,     9,    10,    -1,    -1,    -1,
15568       -1,    -1,    -1,  5448,    18,    19,    20,    21,    22,    23,
15569       24,    25,    26,    27,    28,    29,    -1,    -1,    -1,    -1,
15570       34,    -1,    -1,    37,    38,    -1,    40,    41,    42,    43,
15571       44,    45,    46,    47,    48,    49,    50,    51,    -1,    53,
15572       54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
15573       64,    65,    -1,    67,    68,    69,    70,    71,    -1,    73,
15574       -1,    75,    76,    77,    78,    79,    80,    81,    82,    83,
15575       -1,    85,    86,    87,    88,    89,    90,    -1,    92,    93,
15576       94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
15577      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
15578       -1,   115,   116,   117,   118,   119,   120,    -1,   122,   123,
15579      124,   125,   126,    -1,   128,   129,   130,   131,   132,    -1,
15580      134,   135,   136,    -1,   138,   139,   140,    -1,   142,   143,
15581      144,   145,   146,   147,   148,   149,   150,   151,   152,    -1,
15582      154,   155,   156,   157,    -1,   159,    -1,   161,   162,    -1,
15583      164,   165,   166,   167,   168,    -1,   170,   171,    -1,   173,
15584      174,   175,    -1,   177,   178,   179,   180,   181,   182,   183,
15585      184,   185,   186,    -1,   188,   189,   190,   191,   192,   193,
15586      194,    -1,   196,   197,   198,   199,   200,   201,   202,   203,
15587      204,    -1,   206,    -1,   208,   209,   210,   211,   212,   213,
15588      214,   215,   216,   217,    -1,    -1,   220,   221,   222,   223,
15589      224,    -1,   226,   227,   228,   229,   230,   231,   232,   233,
15590      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
15591      244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
15592      254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
15593      264,   265,    -1,   267,   268,    -1,    -1,   271,   272,   273,
15594       -1,    -1,   276,   277,   278,   279,   280,   281,   282,   283,
15595      284,   285,   286,   287,   288,   289,   290,   291,    -1,   293,
15596      294,   295,   296,   297,   298,   299,   300,    -1,   302,   303,
15597      304,   305,   306,   307,   308,   309,   310,   311,   312,   313,
15598      314,   315,   316,    -1,   318,   319,   320,   321,   322,   323,
15599      324,   325,   326,   327,   328,   329,    -1,   331,   332,   333,
15600      334,   335,   336,   337,   338,   339,   340,   341,   342,   343,
15601      344,   345,   346,   347,   348,    -1,   350,   351,   352,   353,
15602      354,   355,   356,   357,   358,   359,   360,   361,   362,   363,
15603      364,   365,    -1,   367,   368,   369,   370,   371,   372,   373,
15604      374,   375,   376,   377,   378,   379,    -1,   381,   382,    -1,
15605      384,   385,   386,   387,   388,   389,   390,    -1,   392,   393,
15606      394,    -1,    -1,   397,   398,   399,   400,   401,   402,   403,
15607      404,   405,   406,   407,   408,   409,    -1,   411,   412,   413,
15608      414,   415,   416,   417,    -1,   419,   420,   421,   422,   423,
15609      424,   425,   426,   427,   428,   429,   430,   431,   432,    -1,
15610       -1,   435,    -1,    -1,   438,   439,   440,   441,   442,   443,
15611      444,   445,   446,   447,   448,   449,   450,   451,   452,   453,
15612      454,   455,   456,   457,   458,    -1,    -1,    -1,    -1,    -1,
15613       -1,   465,   466,   467,    -1,    -1,    -1,    -1,    -1,    -1,
15614      474,   475,     3,     4,     5,     6,     7,     8,     9,    10,
15615       -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
15616       21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
15617       -1,    -1,    -1,    34,    -1,    -1,    37,    38,    -1,    40,
15618       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
15619       51,    -1,    53,    54,    55,    56,    57,    58,    59,    60,
15620       61,    62,    63,    64,    65,    -1,    67,    68,    69,    70,
15621       71,    -1,    73,    -1,    75,    76,    77,    78,    79,    80,
15622       81,    82,    83,    -1,    85,    86,    87,    88,    89,    90,
15623       -1,    92,    93,    94,    95,    96,    97,    98,    99,   100,
15624      101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
15625      111,   112,   113,    -1,   115,   116,   117,   118,   119,   120,
15626       -1,   122,   123,   124,   125,    -1,    -1,   128,   129,   130,
15627      131,   132,    -1,   134,   135,   136,    -1,   138,   139,   140,
15628       -1,   142,   143,   144,   145,   146,   147,   148,   149,   150,
15629      151,   152,    -1,   154,   155,   156,   157,    -1,   159,    -1,
15630      161,   162,    -1,   164,   165,   166,   167,   168,    -1,   170,
15631      171,    -1,   173,   174,   175,    -1,   177,   178,   179,   180,
15632      181,   182,   183,   184,   185,   186,    -1,   188,   189,   190,
15633      191,   192,   193,   194,    -1,   196,   197,   198,   199,   200,
15634      201,   202,   203,   204,    -1,   206,    -1,   208,   209,   210,
15635      211,   212,   213,   214,   215,   216,   217,    -1,    -1,   220,
15636      221,   222,   223,   224,    -1,   226,   227,   228,   229,   230,
15637      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
15638      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
15639      251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
15640      261,   262,   263,   264,   265,    -1,   267,   268,    -1,    -1,
15641      271,   272,   273,    -1,    -1,   276,   277,   278,   279,   280,
15642      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
15643      291,    -1,   293,   294,   295,   296,   297,   298,   299,   300,
15644       -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
15645      311,   312,   313,   314,   315,   316,    -1,   318,   319,   320,
15646      321,   322,   323,   324,   325,   326,   327,   328,   329,    -1,
15647      331,   332,   333,   334,   335,   336,   337,   338,   339,   340,
15648      341,   342,   343,   344,   345,   346,   347,   348,   349,   350,
15649      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
15650      361,   362,   363,   364,   365,    -1,   367,   368,   369,   370,
15651      371,   372,   373,   374,   375,   376,   377,   378,   379,    -1,
15652      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
15653       -1,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
15654      401,   402,   403,   404,   405,   406,   407,   408,   409,    -1,
15655      411,   412,   413,   414,   415,   416,   417,    -1,   419,   420,
15656      421,   422,   423,   424,   425,    -1,   427,   428,   429,   430,
15657      431,   432,    -1,    -1,   435,    -1,   437,   438,   439,   440,
15658      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
15659      451,   452,   453,   454,   455,   456,   457,   458,    -1,   460,
15660       -1,    -1,    -1,    -1,   465,   466,    -1,    -1,    -1,    -1,
15661       -1,    -1,    -1,   474,   475,     3,     4,     5,     6,     7,
15662        8,     9,    10,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15663       18,    19,    20,    21,    22,    23,    24,    25,    -1,    27,
15664       28,    29,    -1,    -1,    -1,    -1,    34,    -1,    -1,    37,
15665       38,    -1,    40,    41,    42,    43,    44,    45,    46,    47,
15666       48,    49,    50,    51,    -1,    53,    54,    55,    56,    57,
15667       58,    59,    60,    61,    62,    63,    64,    65,    -1,    67,
15668       68,    69,    70,    71,    -1,    73,    -1,    75,    76,    77,
15669       78,    79,    80,    81,    82,    83,    -1,    85,    86,    87,
15670       88,    89,    90,    -1,    92,    93,    94,    95,    96,    97,
15671       98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
15672      108,   109,   110,   111,   112,   113,    -1,   115,   116,   117,
15673      118,   119,   120,    -1,   122,   123,   124,   125,    -1,    -1,
15674      128,   129,   130,   131,   132,    -1,   134,   135,   136,    -1,
15675      138,   139,   140,    -1,   142,   143,   144,   145,   146,   147,
15676      148,   149,   150,   151,   152,    -1,   154,   155,   156,   157,
15677       -1,   159,    -1,   161,   162,    -1,   164,   165,   166,   167,
15678      168,    -1,   170,   171,    -1,   173,   174,   175,    -1,   177,
15679      178,   179,   180,   181,   182,   183,   184,   185,   186,    -1,
15680      188,   189,   190,   191,   192,   193,   194,    -1,   196,   197,
15681      198,   199,   200,   201,   202,   203,   204,    -1,   206,    -1,
15682      208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
15683       -1,    -1,   220,   221,   222,   223,   224,    -1,   226,   227,
15684      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
15685      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
15686      248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
15687      258,   259,   260,   261,   262,   263,   264,   265,    -1,   267,
15688      268,    -1,    -1,   271,   272,   273,    -1,    -1,   276,   277,
15689      278,   279,   280,   281,   282,   283,   284,   285,   286,   287,
15690      288,   289,   290,   291,    -1,   293,   294,   295,   296,   297,
15691      298,   299,   300,    -1,   302,   303,   304,   305,   306,   307,
15692      308,   309,   310,   311,   312,   313,   314,   315,   316,    -1,
15693      318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
15694      328,   329,    -1,   331,   332,   333,   334,   335,   336,   337,
15695      338,   339,   340,   341,   342,   343,   344,   345,   346,   347,
15696      348,    -1,   350,   351,   352,   353,   354,   355,   356,   357,
15697      358,   359,   360,   361,   362,   363,   364,   365,    -1,   367,
15698      368,   369,   370,   371,   372,   373,   374,   375,   376,   377,
15699      378,   379,    -1,   381,   382,    -1,   384,   385,   386,   387,
15700      388,   389,   390,    -1,   392,   393,   394,    -1,    -1,   397,
15701      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
15702      408,   409,    -1,   411,   412,   413,   414,   415,   416,   417,
15703       -1,   419,   420,   421,   422,   423,   424,   425,    -1,   427,
15704      428,   429,   430,   431,   432,    -1,    -1,   435,    -1,    -1,
15705      438,   439,   440,   441,   442,   443,   444,   445,   446,   447,
15706      448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
15707      458,    -1,    -1,    -1,    -1,    -1,    -1,   465,   466,    -1,
15708       -1,    -1,    -1,    -1,    -1,    -1,   474,   475,     3,     4,
15709        5,     6,     7,     8,     9,    10,    -1,    -1,    -1,    -1,
15710       -1,    -1,    -1,    18,    19,    20,    21,    22,    23,    24,
15711       25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,    34,
15712       -1,    -1,    37,    38,    -1,    40,    41,    42,    43,    44,
15713       45,    46,    47,    48,    49,    50,    51,    -1,    53,    54,
15714       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
15715       65,    -1,    67,    68,    69,    70,    71,    -1,    73,    -1,
15716       75,    76,    77,    78,    79,    80,    81,    82,    83,    -1,
15717       85,    86,    87,    88,    89,    90,    -1,    92,    93,    94,
15718       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
15719      105,   106,   107,   108,   109,   110,   111,   112,   113,    -1,
15720      115,   116,   117,   118,   119,   120,    -1,   122,   123,   124,
15721      125,    -1,    -1,   128,   129,   130,   131,   132,    -1,   134,
15722      135,   136,    -1,   138,   139,   140,    -1,   142,   143,   144,
15723      145,   146,   147,   148,   149,   150,   151,   152,    -1,   154,
15724      155,   156,   157,    -1,   159,    -1,   161,   162,    -1,   164,
15725      165,   166,   167,   168,    -1,   170,   171,    -1,   173,   174,
15726      175,    -1,   177,   178,   179,   180,   181,   182,   183,   184,
15727      185,   186,    -1,   188,   189,   190,   191,   192,   193,   194,
15728       -1,   196,   197,   198,   199,   200,   201,   202,   203,   204,
15729       -1,   206,    -1,   208,   209,   210,   211,   212,   213,   214,
15730      215,   216,   217,    -1,    -1,   220,   221,   222,   223,   224,
15731       -1,   226,   227,   228,   229,   230,   231,   232,   233,   234,
15732      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
15733      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
15734      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
15735      265,    -1,   267,   268,    -1,    -1,   271,   272,   273,    -1,
15736       -1,   276,   277,   278,   279,   280,   281,   282,   283,   284,
15737      285,   286,   287,   288,   289,   290,   291,    -1,   293,   294,
15738      295,   296,   297,   298,   299,   300,    -1,   302,   303,   304,
15739      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
15740      315,   316,    -1,   318,   319,   320,   321,   322,   323,   324,
15741      325,   326,   327,   328,   329,    -1,   331,   332,   333,   334,
15742      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
15743      345,   346,   347,   348,    -1,   350,   351,   352,   353,   354,
15744      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
15745      365,    -1,   367,   368,   369,   370,   371,   372,   373,   374,
15746      375,   376,   377,   378,   379,    -1,   381,   382,    -1,   384,
15747      385,   386,   387,   388,   389,   390,    -1,   392,   393,   394,
15748       -1,    -1,   397,   398,   399,   400,   401,   402,   403,   404,
15749      405,   406,   407,   408,   409,    -1,   411,   412,   413,   414,
15750      415,   416,   417,    -1,   419,   420,   421,   422,   423,   424,
15751      425,    -1,   427,   428,   429,   430,   431,   432,    -1,    -1,
15752      435,    -1,    -1,   438,   439,   440,   441,   442,   443,   444,
15753      445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
15754      455,   456,   457,   458,    -1,    -1,    -1,    -1,    -1,    -1,
15755      465,   466,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   474,
15756      475,     3,     4,     5,     6,     7,     8,     9,    10,    -1,
15757       -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,
15758       22,    23,    24,    25,    -1,    27,    28,    29,    -1,    -1,
15759       -1,    -1,    34,    -1,    -1,    37,    38,    -1,    40,    41,
15760       42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
15761       -1,    53,    54,    55,    56,    57,    58,    59,    60,    61,
15762       62,    63,    64,    65,    -1,    67,    68,    69,    70,    71,
15763       -1,    73,    -1,    75,    76,    77,    78,    79,    80,    81,
15764       82,    83,    -1,    85,    86,    87,    88,    89,    90,    -1,
15765       92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
15766      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
15767      112,   113,    -1,   115,   116,   117,   118,   119,   120,    -1,
15768      122,   123,   124,   125,    -1,    -1,   128,   129,   130,   131,
15769      132,    -1,   134,   135,   136,    -1,   138,   139,   140,    -1,
15770      142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
15771      152,    -1,   154,   155,   156,   157,    -1,   159,    -1,   161,
15772      162,    -1,   164,   165,   166,   167,   168,    -1,   170,   171,
15773       -1,   173,   174,   175,    -1,   177,   178,   179,   180,   181,
15774      182,   183,   184,   185,   186,    -1,   188,   189,   190,   191,
15775      192,   193,   194,    -1,   196,   197,   198,   199,   200,   201,
15776      202,   203,   204,    -1,   206,    -1,   208,   209,   210,   211,
15777      212,   213,   214,   215,   216,   217,    -1,    -1,   220,   221,
15778      222,   223,   224,    -1,   226,   227,   228,   229,   230,   231,
15779      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
15780      242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
15781      252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
15782      262,   263,   264,   265,    -1,   267,   268,    -1,    -1,   271,
15783      272,   273,    -1,    -1,   276,   277,   278,   279,   280,   281,
15784      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
15785       -1,   293,   294,   295,   296,   297,   298,   299,   300,    -1,
15786      302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
15787      312,   313,   314,   315,   316,    -1,   318,   319,   320,   321,
15788      322,   323,   324,   325,   326,   327,   328,   329,    -1,   331,
15789      332,   333,   334,   335,   336,   337,   338,   339,   340,   341,
15790      342,   343,   344,   345,   346,   347,   348,    -1,   350,   351,
15791      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
15792      362,   363,   364,   365,    -1,   367,   368,   369,   370,   371,
15793      372,   373,   374,   375,   376,   377,   378,   379,    -1,   381,
15794      382,    -1,   384,   385,   386,   387,   388,   389,   390,    -1,
15795      392,   393,   394,    -1,    -1,   397,   398,   399,   400,   401,
15796      402,   403,   404,   405,   406,   407,   408,   409,    -1,   411,
15797      412,   413,   414,   415,   416,   417,    -1,   419,   420,   421,
15798      422,   423,   424,   425,    -1,   427,   428,   429,   430,   431,
15799      432,    -1,    -1,   435,    -1,    -1,   438,   439,   440,   441,
15800      442,   443,   444,   445,   446,   447,   448,   449,   450,   451,
15801      452,   453,   454,   455,   456,   457,   458,    -1,    -1,     3,
15802       -1,    -1,    -1,   465,   466,    -1,    -1,    -1,    -1,    -1,
15803       -1,    -1,   474,   475,    18,    19,    20,    21,    22,    23,
15804       24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,
15805       -1,    35,    -1,    37,    38,    -1,    40,    41,    42,    -1,
15806       44,    45,    46,    47,    48,    -1,    50,    51,    -1,    53,
15807       54,    55,    56,    57,    58,    -1,    -1,    61,    62,    63,
15808       64,    65,    -1,    67,    68,    69,    70,    71,    -1,    -1,
15809       -1,    75,    76,    77,    78,    79,    -1,    81,    82,    83,
15810       -1,    85,    86,    87,    88,    89,    90,    -1,    92,    93,
15811       94,    95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,
15812      104,   105,   106,   107,   108,   109,   110,   111,    -1,   113,
15813       -1,   115,   116,   117,   118,   119,   120,    -1,   122,   123,
15814      124,   125,    -1,    -1,   128,   129,   130,   131,   132,    -1,
15815      134,   135,   136,    -1,   138,   139,   140,    -1,   142,   143,
15816      144,   145,   146,   147,   148,   149,   150,    -1,   152,    -1,
15817      154,   155,   156,   157,    -1,   159,    -1,   161,    -1,    -1,
15818      164,   165,   166,   167,   168,    -1,   170,   171,    -1,   173,
15819      174,   175,    -1,   177,   178,   179,   180,   181,    -1,   183,
15820      184,   185,   186,    -1,   188,   189,   190,   191,   192,   193,
15821      194,    -1,   196,   197,   198,   199,   200,   201,   202,   203,
15822      204,    -1,   206,    -1,   208,    -1,    -1,   211,   212,   213,
15823      214,   215,   216,   217,    -1,    -1,   220,   221,   222,   223,
15824       -1,    -1,   226,   227,   228,    -1,    -1,   231,   232,   233,
15825      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
15826      244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
15827       -1,   255,   256,    -1,   258,    -1,   260,   261,   262,   263,
15828      264,   265,    -1,   267,   268,    -1,    -1,   271,   272,   273,
15829       -1,    -1,   276,   277,   278,    -1,   280,    -1,   282,   283,
15830      284,   285,   286,   287,   288,   289,   290,   291,    -1,   293,
15831      294,   295,   296,   297,   298,   299,   300,    -1,   302,   303,
15832      304,   305,   306,   307,   308,   309,   310,   311,   312,   313,
15833      314,   315,   316,    -1,   318,   319,   320,   321,   322,   323,
15834      324,   325,   326,   327,   328,   329,    -1,   331,   332,   333,
15835      334,   335,   336,   337,   338,   339,   340,   341,   342,   343,
15836      344,   345,   346,   347,   348,    -1,   350,   351,   352,   353,
15837      354,    -1,   356,   357,   358,   359,   360,    -1,   362,   363,
15838      364,   365,    -1,   367,   368,   369,   370,   371,   372,   373,
15839      374,   375,   376,   377,   378,   379,    -1,   381,   382,    -1,
15840      384,    -1,   386,   387,   388,   389,   390,    -1,   392,   393,
15841      394,    -1,    -1,   397,   398,   399,   400,   401,    -1,   403,
15842      404,   405,   406,   407,   408,   409,    -1,    -1,   412,   413,
15843      414,   415,   416,    -1,    -1,   419,   420,   421,   422,   423,
15844      424,   425,    -1,   427,    -1,   429,   430,   431,   432,    -1,
15845       -1,   435,    -1,    -1,   438,   439,   440,   441,   442,   443,
15846      444,   445,   446,   447,   448,   449,   450,   451,   452,   453,
15847      454,   455,   456,   457,    -1,    -1,    -1,     3,    -1,    -1,
15848       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15849       -1,   475,    18,    19,    20,    21,    22,    23,    24,    25,
15850       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
15851       -1,    37,    38,    -1,    40,    41,    42,    43,    44,    45,
15852       46,    -1,    48,    49,    50,    51,    -1,    53,    54,    55,
15853       56,    57,    58,    -1,    -1,    61,    62,    63,    64,    65,
15854       -1,    67,    68,    69,    70,    -1,    -1,    73,    -1,    75,
15855       76,    77,    78,    79,    80,    81,    82,    83,    -1,    85,
15856       86,    87,    88,    89,    90,    -1,    92,    93,    94,    95,
15857       -1,    -1,    -1,    99,    -1,    -1,    -1,   103,   104,   105,
15858      106,   107,   108,   109,   110,   111,    -1,   113,    -1,   115,
15859      116,   117,   118,   119,   120,    -1,   122,   123,   124,   125,
15860       -1,    -1,   128,   129,   130,   131,   132,    -1,   134,   135,
15861      136,    -1,   138,   139,   140,    -1,   142,   143,   144,   145,
15862       -1,   147,   148,   149,    -1,    -1,   152,    -1,   154,   155,
15863      156,   157,    -1,   159,    -1,   161,   162,    -1,   164,   165,
15864      166,   167,   168,    -1,   170,    -1,    -1,    -1,   174,   175,
15865       -1,   177,   178,   179,   180,   181,   182,   183,   184,   185,
15866      186,   187,   188,   189,   190,   191,   192,   193,   194,    -1,
15867      196,   197,   198,   199,   200,   201,   202,   203,   204,    -1,
15868      206,    -1,   208,   209,   210,   211,   212,   213,   214,   215,
15869      216,   217,    -1,    -1,   220,    -1,   222,   223,   224,    -1,
15870      226,   227,   228,    -1,    -1,   231,   232,   233,   234,   235,
15871      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
15872      246,   247,   248,   249,   250,   251,   252,    -1,    -1,   255,
15873      256,   257,   258,    -1,    -1,   261,   262,   263,   264,   265,
15874       -1,   267,   268,    -1,    -1,   271,   272,   273,    -1,    -1,
15875      276,   277,   278,   279,   280,   281,    -1,   283,   284,   285,
15876      286,   287,   288,   289,   290,   291,    -1,   293,   294,    -1,
15877      296,    -1,   298,   299,   300,    -1,   302,   303,   304,   305,
15878      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
15879      316,    -1,   318,   319,   320,   321,   322,   323,   324,   325,
15880      326,   327,   328,   329,    -1,   331,   332,   333,   334,   335,
15881      336,   337,   338,    -1,   340,   341,   342,   343,   344,   345,
15882      346,   347,   348,    -1,   350,   351,   352,   353,   354,    -1,
15883      356,   357,   358,   359,   360,   361,   362,   363,   364,   365,
15884       -1,   367,   368,   369,   370,   371,   372,   373,   374,   375,
15885      376,   377,   378,    -1,    -1,   381,   382,    -1,   384,   385,
15886      386,   387,   388,   389,   390,    -1,   392,   393,   394,    -1,
15887       -1,   397,   398,    -1,   400,    -1,    -1,   403,   404,   405,
15888      406,   407,   408,   409,    -1,    -1,   412,   413,   414,   415,
15889      416,    -1,    -1,   419,   420,   421,   422,   423,    -1,   425,
15890      426,   427,   428,   429,   430,   431,   432,    -1,    -1,   435,
15891       -1,    -1,   438,   439,   440,   441,   442,   443,     3,    -1,
15892       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   455,
15893      456,   457,    -1,    18,    19,    20,    21,    22,    23,    24,
15894       25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,   475,
15895       -1,    -1,    37,    38,    -1,    40,    41,    42,    43,    44,
15896       45,    46,    -1,    48,    49,    50,    51,    -1,    53,    54,
15897       55,    56,    57,    58,    -1,    -1,    61,    62,    63,    64,
15898       65,    -1,    67,    68,    69,    70,    -1,    -1,    73,    -1,
15899       75,    76,    77,    78,    79,    80,    81,    82,    83,    -1,
15900       85,    86,    87,    88,    89,    90,    -1,    92,    93,    94,
15901       95,    -1,    -1,    -1,    99,    -1,    -1,    -1,   103,   104,
15902      105,   106,   107,   108,   109,   110,   111,    -1,   113,    -1,
15903      115,   116,   117,   118,   119,   120,    -1,   122,   123,   124,
15904      125,    -1,    -1,   128,   129,   130,   131,   132,    -1,   134,
15905      135,   136,    -1,   138,   139,   140,    -1,   142,   143,   144,
15906      145,    -1,   147,   148,   149,    -1,    -1,   152,    -1,   154,
15907      155,   156,   157,    -1,   159,    -1,   161,   162,    -1,   164,
15908      165,   166,   167,   168,    -1,   170,    -1,    -1,    -1,   174,
15909      175,    -1,   177,   178,   179,   180,   181,   182,   183,   184,
15910      185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
15911       -1,   196,   197,   198,   199,   200,   201,   202,   203,   204,
15912       -1,   206,    -1,   208,   209,   210,   211,   212,   213,   214,
15913      215,   216,   217,    -1,    -1,   220,    -1,   222,   223,   224,
15914       -1,   226,   227,   228,    -1,    -1,   231,   232,   233,   234,
15915      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
15916      245,   246,   247,   248,   249,   250,   251,   252,    -1,    -1,
15917      255,   256,   257,   258,    -1,    -1,   261,   262,   263,   264,
15918      265,    -1,   267,   268,    -1,    -1,   271,   272,   273,    -1,
15919       -1,   276,   277,   278,   279,   280,   281,    -1,   283,   284,
15920      285,   286,   287,   288,   289,   290,   291,    -1,   293,   294,
15921       -1,   296,    -1,   298,   299,   300,    -1,   302,   303,   304,
15922      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
15923      315,   316,    -1,   318,   319,   320,   321,   322,   323,   324,
15924      325,   326,   327,   328,   329,    -1,   331,   332,   333,   334,
15925      335,   336,   337,   338,    -1,   340,   341,   342,   343,   344,
15926      345,   346,   347,   348,    -1,   350,   351,   352,   353,   354,
15927       -1,   356,   357,   358,   359,   360,   361,   362,   363,   364,
15928      365,    -1,   367,   368,   369,   370,   371,   372,   373,   374,
15929      375,   376,   377,   378,    -1,    -1,   381,   382,    -1,   384,
15930      385,   386,   387,   388,   389,   390,    -1,   392,   393,   394,
15931       -1,    -1,   397,   398,    -1,   400,    -1,    -1,   403,   404,
15932      405,   406,   407,   408,   409,    -1,    -1,   412,   413,   414,
15933      415,   416,    -1,    -1,   419,   420,   421,   422,   423,    -1,
15934      425,   426,   427,   428,   429,   430,   431,   432,    -1,    -1,
15935      435,    -1,    -1,   438,   439,   440,   441,   442,   443,    -1,
15936        3,     4,     5,     6,     7,     8,     9,    10,    -1,    -1,
15937      455,   456,   457,    -1,    -1,    18,    19,    20,    21,    22,
15938       23,    24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,
15939      475,    34,    -1,    -1,    37,    38,    -1,    40,    41,    42,
15940       43,    44,    45,    46,    47,    48,    49,    50,    51,    -1,
15941       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
15942       63,    64,    65,    -1,    67,    68,    69,    70,    71,    -1,
15943       73,    -1,    75,    76,    77,    78,    79,    80,    81,    82,
15944       83,    -1,    85,    86,    87,    88,    89,    90,    -1,    92,
15945       93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
15946      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
15947      113,    -1,   115,   116,   117,   118,   119,   120,    -1,   122,
15948      123,   124,   125,    -1,    -1,   128,   129,   130,   131,   132,
15949       -1,   134,   135,   136,    -1,   138,   139,   140,    -1,   142,
15950      143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
15951       -1,   154,   155,   156,   157,    -1,   159,    -1,   161,   162,
15952       -1,   164,   165,   166,   167,   168,    -1,   170,   171,    -1,
15953      173,   174,   175,    -1,   177,   178,   179,   180,   181,   182,
15954      183,   184,   185,   186,    -1,   188,   189,   190,   191,   192,
15955      193,   194,    -1,   196,   197,   198,   199,   200,   201,   202,
15956      203,   204,    -1,   206,    -1,   208,   209,   210,   211,   212,
15957      213,   214,   215,   216,   217,    -1,    -1,   220,   221,   222,
15958      223,   224,    -1,   226,   227,   228,   229,   230,   231,   232,
15959      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
15960      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
15961      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
15962      263,   264,   265,    -1,   267,   268,    -1,    -1,   271,   272,
15963      273,    -1,    -1,   276,   277,   278,   279,   280,   281,   282,
15964      283,   284,   285,   286,   287,   288,   289,   290,   291,    -1,
15965      293,   294,   295,   296,   297,   298,   299,   300,    -1,   302,
15966      303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
15967      313,   314,   315,   316,    -1,   318,   319,   320,   321,   322,
15968      323,   324,   325,   326,   327,   328,   329,    -1,   331,   332,
15969      333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
15970      343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
15971      353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
15972      363,   364,   365,    -1,   367,   368,   369,   370,   371,   372,
15973      373,   374,   375,   376,   377,   378,   379,    -1,   381,   382,
15974      383,   384,   385,   386,   387,   388,   389,   390,    -1,   392,
15975      393,   394,    -1,    -1,   397,   398,   399,   400,   401,   402,
15976      403,   404,   405,   406,   407,   408,   409,    -1,   411,   412,
15977      413,   414,   415,   416,   417,    -1,   419,   420,   421,   422,
15978      423,   424,   425,    -1,   427,   428,   429,   430,   431,   432,
15979       -1,    -1,   435,    -1,   437,   438,   439,   440,   441,   442,
15980      443,   444,   445,   446,   447,   448,   449,   450,   451,   452,
15981      453,   454,   455,   456,   457,   458,    -1,   460,    -1,    -1,
15982       -1,    -1,   465,   466,    -1,    -1,    -1,    -1,    -1,    -1,
15983       -1,   474,     3,     4,     5,     6,     7,     8,     9,    10,
15984       -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
15985       21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
15986       -1,    -1,    -1,    34,    -1,    -1,    37,    38,    -1,    40,
15987       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
15988       51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
15989       61,    62,    63,    64,    65,    -1,    67,    68,    69,    70,
15990       71,    -1,    73,    -1,    75,    76,    77,    78,    79,    80,
15991       81,    82,    83,    -1,    85,    86,    87,    88,    89,    90,
15992       -1,    92,    93,    94,    95,    96,    97,    98,    99,   100,
15993      101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
15994      111,   112,   113,    -1,   115,   116,   117,   118,   119,   120,
15995       -1,   122,   123,   124,   125,    -1,    -1,   128,   129,   130,
15996      131,   132,    -1,   134,   135,   136,    -1,   138,   139,   140,
15997       -1,   142,   143,   144,   145,   146,   147,   148,   149,   150,
15998      151,   152,    -1,   154,   155,   156,   157,    -1,   159,    -1,
15999      161,   162,   163,   164,   165,   166,   167,   168,    -1,   170,
16000      171,    -1,   173,   174,   175,    -1,   177,   178,   179,   180,
16001      181,   182,   183,   184,   185,   186,    -1,   188,   189,   190,
16002      191,   192,   193,   194,    -1,   196,   197,   198,   199,   200,
16003      201,   202,   203,   204,    -1,   206,    -1,   208,   209,   210,
16004      211,   212,   213,   214,   215,   216,   217,    -1,   219,   220,
16005      221,   222,   223,   224,    -1,   226,   227,   228,   229,   230,
16006      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
16007      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
16008      251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
16009      261,   262,   263,   264,   265,    -1,   267,   268,    -1,    -1,
16010      271,   272,   273,    -1,    -1,   276,   277,   278,   279,   280,
16011      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
16012      291,    -1,   293,   294,   295,   296,   297,   298,   299,   300,
16013       -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
16014      311,   312,   313,   314,   315,   316,    -1,   318,   319,   320,
16015      321,   322,   323,   324,   325,   326,   327,   328,   329,    -1,
16016      331,   332,   333,   334,   335,   336,   337,   338,   339,   340,
16017      341,   342,   343,   344,   345,   346,   347,   348,    -1,   350,
16018      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
16019      361,   362,   363,   364,   365,    -1,   367,   368,   369,   370,
16020      371,   372,   373,   374,   375,   376,   377,   378,   379,    -1,
16021      381,   382,    -1,   384,   385,   386,   387,   388,   389,   390,
16022       -1,   392,   393,   394,    -1,   396,   397,   398,   399,   400,
16023      401,   402,   403,   404,   405,   406,   407,   408,   409,    -1,
16024      411,   412,   413,   414,   415,   416,   417,    -1,   419,   420,
16025      421,   422,   423,   424,   425,    -1,   427,   428,   429,   430,
16026      431,   432,    -1,    -1,   435,    -1,    -1,   438,   439,   440,
16027      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
16028      451,   452,   453,   454,   455,   456,   457,   458,    -1,    -1,
16029       -1,    -1,    -1,    -1,   465,   466,    -1,    -1,    -1,    -1,
16030       -1,    -1,    -1,   474,     3,     4,     5,     6,     7,     8,
16031        9,    10,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,
16032       19,    20,    21,    22,    23,    24,    25,    -1,    27,    28,
16033       29,    -1,    -1,    -1,    -1,    34,    -1,    -1,    37,    38,
16034       -1,    40,    41,    42,    43,    44,    45,    46,    47,    48,
16035       49,    50,    51,    -1,    53,    54,    55,    56,    57,    58,
16036       59,    60,    61,    62,    63,    64,    65,    -1,    67,    68,
16037       69,    70,    71,    -1,    73,    -1,    75,    76,    77,    78,
16038       79,    80,    81,    82,    83,    -1,    85,    86,    87,    88,
16039       89,    90,    -1,    92,    93,    94,    95,    96,    97,    98,
16040       99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
16041      109,   110,   111,   112,   113,    -1,   115,   116,   117,   118,
16042      119,   120,    -1,   122,   123,   124,   125,    -1,    -1,   128,
16043      129,   130,   131,   132,    -1,   134,   135,   136,    -1,   138,
16044      139,   140,    -1,   142,   143,   144,   145,   146,   147,   148,
16045      149,   150,   151,   152,    -1,   154,   155,   156,   157,    -1,
16046      159,    -1,   161,   162,    -1,   164,   165,   166,   167,   168,
16047       -1,   170,   171,    -1,   173,   174,   175,    -1,   177,   178,
16048      179,   180,   181,   182,   183,   184,   185,   186,    -1,   188,
16049      189,   190,   191,   192,   193,   194,    -1,   196,   197,   198,
16050      199,   200,   201,   202,   203,   204,    -1,   206,    -1,   208,
16051      209,   210,   211,   212,   213,   214,   215,   216,   217,    -1,
16052       -1,   220,   221,   222,   223,   224,    -1,   226,   227,   228,
16053      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
16054      239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
16055      249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
16056      259,   260,   261,   262,   263,   264,   265,    -1,   267,   268,
16057       -1,    -1,   271,   272,   273,    -1,    -1,   276,   277,   278,
16058      279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
16059      289,   290,   291,    -1,   293,   294,   295,   296,   297,   298,
16060      299,   300,    -1,   302,   303,   304,   305,   306,   307,   308,
16061      309,   310,   311,   312,   313,   314,   315,   316,    -1,   318,
16062      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
16063      329,    -1,   331,   332,   333,   334,   335,   336,   337,   338,
16064      339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
16065       -1,   350,   351,   352,   353,   354,   355,   356,   357,   358,
16066      359,   360,   361,   362,   363,   364,   365,    -1,   367,   368,
16067      369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
16068      379,    -1,   381,   382,    -1,   384,   385,   386,   387,   388,
16069      389,   390,    -1,   392,   393,   394,    -1,    -1,   397,   398,
16070      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
16071      409,    -1,   411,   412,   413,   414,   415,   416,   417,    -1,
16072      419,   420,   421,   422,   423,   424,   425,    -1,   427,   428,
16073      429,   430,   431,   432,    -1,    -1,   435,    -1,    -1,   438,
16074      439,   440,   441,   442,   443,   444,   445,   446,   447,   448,
16075      449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
16076       -1,    -1,    -1,    -1,    -1,    -1,   465,   466,    -1,    -1,
16077       -1,    -1,    -1,   472,   473,   474,     3,     4,     5,     6,
16078        7,     8,     9,    10,    -1,    -1,    -1,    -1,    -1,    -1,
16079       -1,    18,    19,    20,    21,    22,    23,    24,    25,    -1,
16080       27,    28,    29,    -1,    -1,    -1,    -1,    34,    -1,    -1,
16081       37,    38,    -1,    40,    41,    42,    43,    44,    45,    46,
16082       47,    48,    49,    50,    51,    -1,    53,    54,    55,    56,
16083       57,    58,    59,    60,    61,    62,    63,    64,    65,    -1,
16084       67,    68,    69,    70,    71,    -1,    73,    -1,    75,    76,
16085       77,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
16086       87,    88,    89,    90,    -1,    92,    93,    94,    95,    96,
16087       97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
16088      107,   108,   109,   110,   111,   112,   113,    -1,   115,   116,
16089      117,   118,   119,   120,    -1,   122,   123,   124,   125,    -1,
16090       -1,   128,   129,   130,   131,   132,    -1,   134,   135,   136,
16091       -1,   138,   139,   140,    -1,   142,   143,   144,   145,   146,
16092      147,   148,   149,   150,   151,   152,    -1,   154,   155,   156,
16093      157,    -1,   159,    -1,   161,   162,    -1,   164,   165,   166,
16094      167,   168,    -1,   170,   171,    -1,   173,   174,   175,    -1,
16095      177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
16096       -1,   188,   189,   190,   191,   192,   193,   194,    -1,   196,
16097      197,   198,   199,   200,   201,   202,   203,   204,    -1,   206,
16098       -1,   208,   209,   210,   211,   212,   213,   214,   215,   216,
16099      217,    -1,    -1,   220,   221,   222,   223,   224,    -1,   226,
16100      227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
16101      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
16102      247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
16103      257,   258,   259,   260,   261,   262,   263,   264,   265,    -1,
16104      267,   268,    -1,    -1,   271,   272,   273,    -1,    -1,   276,
16105      277,   278,   279,   280,   281,   282,   283,   284,   285,   286,
16106      287,   288,   289,   290,   291,    -1,   293,   294,   295,   296,
16107      297,   298,   299,   300,    -1,   302,   303,   304,   305,   306,
16108      307,   308,   309,   310,   311,   312,   313,   314,   315,   316,
16109       -1,   318,   319,   320,   321,   322,   323,   324,   325,   326,
16110      327,   328,   329,    -1,   331,   332,   333,   334,   335,   336,
16111      337,   338,   339,   340,   341,   342,   343,   344,   345,   346,
16112      347,   348,    -1,   350,   351,   352,   353,   354,   355,   356,
16113      357,   358,   359,   360,   361,   362,   363,   364,   365,    -1,
16114      367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
16115      377,   378,   379,    -1,   381,   382,    -1,   384,   385,   386,
16116      387,   388,   389,   390,    -1,   392,   393,   394,    -1,    -1,
16117      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
16118      407,   408,   409,    -1,   411,   412,   413,   414,   415,   416,
16119      417,    -1,   419,   420,   421,   422,   423,   424,   425,    -1,
16120      427,   428,   429,   430,   431,   432,    -1,    -1,   435,    -1,
16121       -1,   438,   439,   440,   441,   442,   443,   444,   445,   446,
16122      447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
16123      457,   458,    -1,    -1,    -1,    -1,    -1,    -1,   465,   466,
16124      467,    -1,    -1,    -1,    -1,    -1,    -1,   474,     3,     4,
16125        5,     6,     7,     8,     9,    10,    -1,    -1,    -1,    -1,
16126       -1,    -1,    -1,    18,    19,    20,    21,    22,    23,    24,
16127       25,    26,    27,    28,    29,    -1,    -1,    -1,    -1,    34,
16128       -1,    -1,    37,    38,    -1,    40,    41,    42,    43,    44,
16129       45,    46,    47,    48,    49,    50,    51,    -1,    53,    54,
16130       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
16131       65,    -1,    67,    68,    69,    70,    71,    -1,    73,    -1,
16132       75,    76,    77,    78,    79,    80,    81,    82,    83,    -1,
16133       85,    86,    87,    88,    89,    90,    -1,    92,    93,    94,
16134       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
16135      105,   106,   107,   108,   109,   110,   111,   112,   113,    -1,
16136      115,   116,   117,   118,   119,   120,    -1,   122,   123,   124,
16137      125,    -1,    -1,   128,   129,   130,   131,   132,    -1,   134,
16138      135,   136,    -1,   138,   139,   140,    -1,   142,   143,   144,
16139      145,   146,   147,   148,   149,   150,   151,   152,    -1,   154,
16140      155,   156,   157,    -1,   159,    -1,   161,   162,    -1,   164,
16141      165,   166,   167,   168,    -1,   170,   171,    -1,   173,   174,
16142      175,    -1,   177,   178,   179,   180,   181,   182,   183,   184,
16143      185,   186,    -1,   188,   189,   190,   191,   192,   193,   194,
16144       -1,   196,   197,   198,   199,   200,   201,   202,   203,   204,
16145       -1,   206,    -1,   208,   209,   210,   211,   212,   213,   214,
16146      215,   216,   217,    -1,    -1,   220,   221,   222,   223,   224,
16147       -1,   226,   227,   228,   229,   230,   231,   232,   233,   234,
16148      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
16149      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
16150      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
16151      265,    -1,   267,   268,    -1,    -1,   271,   272,   273,    -1,
16152       -1,   276,   277,   278,   279,   280,   281,   282,   283,   284,
16153      285,   286,   287,   288,   289,   290,   291,    -1,   293,   294,
16154      295,   296,   297,   298,   299,   300,    -1,   302,   303,   304,
16155      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
16156      315,   316,    -1,   318,   319,   320,   321,   322,   323,   324,
16157      325,   326,   327,   328,   329,    -1,   331,   332,   333,   334,
16158      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
16159      345,   346,   347,   348,    -1,   350,   351,   352,   353,   354,
16160      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
16161      365,    -1,   367,   368,   369,   370,   371,   372,   373,   374,
16162      375,   376,   377,   378,   379,    -1,   381,   382,    -1,   384,
16163      385,   386,   387,   388,   389,   390,    -1,   392,   393,   394,
16164       -1,    -1,   397,   398,   399,   400,   401,   402,   403,   404,
16165      405,   406,   407,   408,   409,    -1,   411,   412,   413,   414,
16166      415,   416,   417,    -1,   419,   420,   421,   422,   423,   424,
16167      425,    -1,   427,   428,   429,   430,   431,   432,    -1,    -1,
16168      435,    -1,    -1,   438,   439,   440,   441,   442,   443,   444,
16169      445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
16170      455,   456,   457,   458,    -1,    -1,    -1,    -1,    -1,    -1,
16171      465,   466,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   474,
16172        3,     4,     5,     6,     7,     8,     9,    10,    -1,    -1,
16173       -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,
16174       23,    24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,
16175       -1,    34,    -1,    -1,    37,    38,    -1,    40,    41,    42,
16176       43,    44,    45,    46,    47,    48,    49,    50,    51,    -1,
16177       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
16178       63,    64,    65,    -1,    67,    68,    69,    70,    71,    -1,
16179       73,    -1,    75,    76,    77,    78,    79,    80,    81,    82,
16180       83,    -1,    85,    86,    87,    88,    89,    90,    -1,    92,
16181       93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
16182      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
16183      113,    -1,   115,   116,   117,   118,   119,   120,    -1,   122,
16184      123,   124,   125,    -1,    -1,   128,   129,   130,   131,   132,
16185       -1,   134,   135,   136,    -1,   138,   139,   140,    -1,   142,
16186      143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
16187       -1,   154,   155,   156,   157,    -1,   159,    -1,   161,   162,
16188       -1,   164,   165,   166,   167,   168,    -1,   170,   171,    -1,
16189      173,   174,   175,    -1,   177,   178,   179,   180,   181,   182,
16190      183,   184,   185,   186,    -1,   188,   189,   190,   191,   192,
16191      193,   194,    -1,   196,   197,   198,   199,   200,   201,   202,
16192      203,   204,    -1,   206,    -1,   208,   209,   210,   211,   212,
16193      213,   214,   215,   216,   217,    -1,    -1,   220,   221,   222,
16194      223,   224,    -1,   226,   227,   228,   229,   230,   231,   232,
16195      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
16196      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
16197      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
16198      263,   264,   265,    -1,   267,   268,    -1,    -1,   271,   272,
16199      273,    -1,    -1,   276,   277,   278,   279,   280,   281,   282,
16200      283,   284,   285,   286,   287,   288,   289,   290,   291,    -1,
16201      293,   294,   295,   296,   297,   298,   299,   300,    -1,   302,
16202      303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
16203      313,   314,   315,   316,    -1,   318,   319,   320,   321,   322,
16204      323,   324,   325,   326,   327,   328,   329,    -1,   331,   332,
16205      333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
16206      343,   344,   345,   346,   347,   348,    -1,   350,   351,   352,
16207      353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
16208      363,   364,   365,    -1,   367,   368,   369,   370,   371,   372,
16209      373,   374,   375,   376,   377,   378,   379,    -1,   381,   382,
16210       -1,   384,   385,   386,   387,   388,   389,   390,    -1,   392,
16211      393,   394,    -1,    -1,   397,   398,   399,   400,   401,   402,
16212      403,   404,   405,   406,   407,   408,   409,    -1,   411,   412,
16213      413,   414,   415,   416,   417,    -1,   419,   420,   421,   422,
16214      423,   424,   425,   426,   427,   428,   429,   430,   431,   432,
16215       -1,    -1,   435,    -1,    -1,   438,   439,   440,   441,   442,
16216      443,   444,   445,   446,   447,   448,   449,   450,   451,   452,
16217      453,   454,   455,   456,   457,   458,    -1,    -1,    -1,    -1,
16218       -1,    -1,   465,   466,    -1,    -1,    -1,    -1,    -1,    -1,
16219       -1,   474,     3,     4,     5,     6,     7,     8,     9,    10,
16220       -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
16221       21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
16222       -1,    -1,    -1,    34,    -1,    -1,    37,    38,    -1,    40,
16223       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
16224       51,    -1,    53,    54,    55,    56,    57,    58,    59,    60,
16225       61,    62,    63,    64,    65,    -1,    67,    68,    69,    70,
16226       71,    -1,    73,    -1,    75,    76,    77,    78,    79,    80,
16227       81,    82,    83,    -1,    85,    86,    87,    88,    89,    90,
16228       -1,    92,    93,    94,    95,    96,    97,    98,    99,   100,
16229      101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
16230      111,   112,   113,    -1,   115,   116,   117,   118,   119,   120,
16231       -1,   122,   123,   124,   125,    -1,    -1,   128,   129,   130,
16232      131,   132,    -1,   134,   135,   136,    -1,   138,   139,   140,
16233       -1,   142,   143,   144,   145,   146,   147,   148,   149,   150,
16234      151,   152,    -1,   154,   155,   156,   157,    -1,   159,    -1,
16235      161,   162,   163,   164,   165,   166,   167,   168,    -1,   170,
16236      171,    -1,   173,   174,   175,    -1,   177,   178,   179,   180,
16237      181,   182,   183,   184,   185,   186,    -1,   188,   189,   190,
16238      191,   192,   193,   194,    -1,   196,   197,   198,   199,   200,
16239      201,   202,   203,   204,    -1,   206,    -1,   208,   209,   210,
16240      211,   212,   213,   214,   215,   216,   217,    -1,    -1,   220,
16241      221,   222,   223,   224,    -1,   226,   227,   228,   229,   230,
16242      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
16243      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
16244      251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
16245      261,   262,   263,   264,   265,    -1,   267,   268,    -1,    -1,
16246      271,   272,   273,    -1,    -1,   276,   277,   278,   279,   280,
16247      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
16248      291,    -1,   293,   294,   295,   296,   297,   298,   299,   300,
16249       -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
16250      311,   312,   313,   314,   315,   316,    -1,   318,   319,   320,
16251      321,   322,   323,   324,   325,   326,   327,   328,   329,    -1,
16252      331,   332,   333,   334,   335,   336,   337,   338,   339,   340,
16253      341,   342,   343,   344,   345,   346,   347,   348,    -1,   350,
16254      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
16255      361,   362,   363,   364,   365,    -1,   367,   368,   369,   370,
16256      371,   372,   373,   374,   375,   376,   377,   378,   379,    -1,
16257      381,   382,    -1,   384,   385,   386,   387,   388,   389,   390,
16258       -1,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
16259      401,   402,   403,   404,   405,   406,   407,   408,   409,    -1,
16260      411,   412,   413,   414,   415,   416,   417,    -1,   419,   420,
16261      421,   422,   423,   424,   425,    -1,   427,   428,   429,   430,
16262      431,   432,    -1,    -1,   435,    -1,    -1,   438,   439,   440,
16263      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
16264      451,   452,   453,   454,   455,   456,   457,   458,    -1,    -1,
16265       -1,    -1,    -1,    -1,   465,   466,    -1,    -1,    -1,    -1,
16266       -1,    -1,    -1,   474,     3,     4,     5,     6,     7,     8,
16267        9,    10,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,
16268       19,    20,    21,    22,    23,    24,    25,    -1,    27,    28,
16269       29,    -1,    -1,    -1,    -1,    34,    -1,    -1,    37,    38,
16270       -1,    40,    41,    42,    43,    44,    45,    46,    47,    48,
16271       49,    50,    51,    -1,    53,    54,    55,    56,    57,    58,
16272       59,    60,    61,    62,    63,    64,    65,    -1,    67,    68,
16273       69,    70,    71,    -1,    73,    -1,    75,    76,    77,    78,
16274       79,    80,    81,    82,    83,    -1,    85,    86,    87,    88,
16275       89,    90,    -1,    92,    93,    94,    95,    96,    97,    98,
16276       99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
16277      109,   110,   111,   112,   113,    -1,   115,   116,   117,   118,
16278      119,   120,    -1,   122,   123,   124,   125,    -1,    -1,   128,
16279      129,   130,   131,   132,    -1,   134,   135,   136,    -1,   138,
16280      139,   140,    -1,   142,   143,   144,   145,   146,   147,   148,
16281      149,   150,   151,   152,    -1,   154,   155,   156,   157,    -1,
16282      159,    -1,   161,   162,    -1,   164,   165,   166,   167,   168,
16283       -1,   170,   171,    -1,   173,   174,   175,    -1,   177,   178,
16284      179,   180,   181,   182,   183,   184,   185,   186,    -1,   188,
16285      189,   190,   191,   192,   193,   194,    -1,   196,   197,   198,
16286      199,   200,   201,   202,   203,   204,    -1,   206,    -1,   208,
16287      209,   210,   211,   212,   213,   214,   215,   216,   217,    -1,
16288       -1,   220,   221,   222,   223,   224,    -1,   226,   227,   228,
16289      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
16290      239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
16291      249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
16292      259,   260,   261,   262,   263,   264,   265,    -1,   267,   268,
16293       -1,    -1,   271,   272,   273,    -1,    -1,   276,   277,   278,
16294      279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
16295      289,   290,   291,    -1,   293,   294,   295,   296,   297,   298,
16296      299,   300,    -1,   302,   303,   304,   305,   306,   307,   308,
16297      309,   310,   311,   312,   313,   314,   315,   316,    -1,   318,
16298      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
16299      329,    -1,   331,   332,   333,   334,   335,   336,   337,   338,
16300      339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
16301       -1,   350,   351,   352,   353,   354,   355,   356,   357,   358,
16302      359,   360,   361,   362,   363,   364,   365,    -1,   367,   368,
16303      369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
16304      379,    -1,   381,   382,    -1,   384,   385,   386,   387,   388,
16305      389,   390,    -1,   392,   393,   394,    -1,    -1,   397,   398,
16306      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
16307      409,    -1,   411,   412,   413,   414,   415,   416,   417,    -1,
16308      419,   420,   421,   422,   423,   424,   425,    -1,   427,   428,
16309      429,   430,   431,   432,    -1,    -1,   435,    -1,    -1,   438,
16310      439,   440,   441,   442,   443,   444,   445,   446,   447,   448,
16311      449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
16312       -1,    -1,    -1,    -1,    -1,    -1,   465,   466,    -1,    -1,
16313       -1,    -1,    -1,    -1,    -1,   474,     3,     4,     5,     6,
16314        7,     8,     9,    10,    -1,    -1,    -1,    -1,    -1,    -1,
16315       -1,    18,    19,    20,    21,    22,    23,    24,    25,    -1,
16316       27,    28,    29,    -1,    -1,    -1,    -1,    34,    -1,    -1,
16317       37,    38,    -1,    40,    41,    42,    43,    44,    45,    46,
16318       47,    48,    49,    50,    51,    -1,    53,    54,    55,    56,
16319       57,    58,    59,    60,    61,    62,    63,    64,    65,    -1,
16320       67,    68,    69,    70,    71,    -1,    73,    -1,    75,    76,
16321       77,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
16322       87,    88,    89,    90,    -1,    92,    93,    94,    95,    96,
16323       97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
16324      107,   108,   109,   110,   111,   112,   113,    -1,   115,   116,
16325      117,   118,   119,   120,    -1,   122,   123,   124,   125,    -1,
16326       -1,   128,   129,   130,   131,   132,    -1,   134,   135,   136,
16327       -1,   138,   139,   140,    -1,   142,   143,   144,   145,   146,
16328      147,   148,   149,   150,   151,   152,    -1,   154,   155,   156,
16329      157,    -1,   159,    -1,   161,   162,    -1,   164,   165,   166,
16330      167,   168,    -1,   170,   171,    -1,   173,   174,   175,    -1,
16331      177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
16332       -1,   188,   189,   190,   191,   192,   193,   194,    -1,   196,
16333      197,   198,   199,   200,   201,   202,   203,   204,    -1,   206,
16334       -1,   208,   209,   210,   211,   212,   213,   214,   215,   216,
16335      217,    -1,    -1,   220,   221,   222,   223,   224,    -1,   226,
16336      227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
16337      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
16338      247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
16339      257,   258,   259,   260,   261,   262,   263,   264,   265,    -1,
16340      267,   268,    -1,    -1,   271,   272,   273,    -1,    -1,   276,
16341      277,   278,   279,   280,   281,   282,   283,   284,   285,   286,
16342      287,   288,   289,   290,   291,    -1,   293,   294,   295,   296,
16343      297,   298,   299,   300,    -1,   302,   303,   304,   305,   306,
16344      307,   308,   309,   310,   311,   312,   313,   314,   315,   316,
16345       -1,   318,   319,   320,   321,   322,   323,   324,   325,   326,
16346      327,   328,   329,    -1,   331,   332,   333,   334,   335,   336,
16347      337,   338,   339,   340,   341,   342,   343,   344,   345,   346,
16348      347,   348,    -1,   350,   351,   352,   353,   354,   355,   356,
16349      357,   358,   359,   360,   361,   362,   363,   364,   365,    -1,
16350      367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
16351      377,   378,   379,    -1,   381,   382,    -1,   384,   385,   386,
16352      387,   388,   389,   390,    -1,   392,   393,   394,    -1,    -1,
16353      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
16354      407,   408,   409,    -1,   411,   412,   413,   414,   415,   416,
16355      417,    -1,   419,   420,   421,   422,   423,   424,   425,    -1,
16356      427,   428,   429,   430,   431,   432,    -1,    -1,   435,    -1,
16357       -1,   438,   439,   440,   441,   442,   443,   444,   445,   446,
16358      447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
16359      457,   458,    -1,    -1,    -1,    -1,    -1,    -1,   465,   466,
16360       -1,    -1,    -1,    -1,    -1,    -1,    -1,   474,     3,     4,
16361        5,     6,     7,     8,     9,    10,    -1,    -1,    -1,    -1,
16362       -1,    -1,    -1,    18,    19,    20,    21,    22,    23,    24,
16363       25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,    34,
16364       -1,    -1,    37,    38,    -1,    40,    41,    42,    43,    44,
16365       45,    46,    47,    48,    49,    50,    51,    -1,    53,    54,
16366       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
16367       65,    -1,    67,    68,    69,    70,    71,    -1,    73,    -1,
16368       75,    76,    77,    78,    79,    80,    81,    82,    83,    -1,
16369       85,    86,    87,    88,    89,    90,    -1,    92,    93,    94,
16370       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
16371      105,   106,   107,   108,   109,   110,   111,   112,   113,    -1,
16372      115,   116,   117,   118,   119,   120,    -1,   122,   123,   124,
16373      125,    -1,    -1,   128,   129,   130,   131,   132,    -1,   134,
16374      135,   136,    -1,   138,   139,   140,    -1,   142,   143,   144,
16375      145,   146,   147,   148,   149,   150,   151,   152,    -1,   154,
16376      155,   156,   157,    -1,   159,    -1,   161,   162,    -1,   164,
16377      165,   166,   167,   168,    -1,   170,   171,    -1,   173,   174,
16378      175,    -1,   177,   178,   179,   180,   181,   182,   183,   184,
16379      185,   186,    -1,   188,   189,   190,   191,   192,   193,   194,
16380       -1,   196,   197,   198,   199,   200,   201,   202,   203,   204,
16381       -1,   206,    -1,   208,   209,   210,   211,   212,   213,   214,
16382      215,   216,   217,    -1,    -1,   220,   221,   222,   223,   224,
16383       -1,   226,   227,   228,   229,   230,   231,   232,   233,   234,
16384      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
16385      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
16386      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
16387      265,    -1,   267,   268,    -1,    -1,   271,   272,   273,    -1,
16388       -1,   276,   277,   278,   279,   280,   281,   282,   283,   284,
16389      285,   286,   287,   288,   289,   290,   291,    -1,   293,   294,
16390      295,   296,   297,   298,   299,   300,    -1,   302,   303,   304,
16391      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
16392      315,   316,    -1,   318,   319,   320,   321,   322,   323,   324,
16393      325,   326,   327,   328,   329,    -1,   331,   332,   333,   334,
16394      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
16395      345,   346,   347,   348,    -1,   350,   351,   352,   353,   354,
16396      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
16397      365,    -1,   367,   368,   369,   370,   371,   372,   373,   374,
16398      375,   376,   377,   378,   379,    -1,   381,   382,    -1,   384,
16399      385,   386,   387,   388,   389,   390,    -1,   392,   393,   394,
16400       -1,    -1,   397,   398,   399,   400,   401,   402,   403,   404,
16401      405,   406,   407,   408,   409,    -1,   411,   412,   413,   414,
16402      415,   416,   417,    -1,   419,   420,   421,   422,   423,   424,
16403      425,    -1,   427,   428,   429,   430,   431,   432,    -1,    -1,
16404      435,    -1,    -1,   438,   439,   440,   441,   442,   443,   444,
16405      445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
16406      455,   456,   457,   458,    -1,    -1,    -1,    -1,    -1,    -1,
16407      465,   466,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   474,
16408        3,     4,     5,     6,     7,     8,     9,    10,    -1,    -1,
16409       -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,
16410       23,    24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,
16411       -1,    34,    -1,    -1,    37,    38,    -1,    40,    41,    42,
16412       43,    44,    45,    46,    47,    48,    49,    50,    51,    -1,
16413       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
16414       63,    64,    65,    -1,    67,    68,    69,    70,    71,    -1,
16415       73,    -1,    75,    76,    77,    78,    79,    80,    81,    82,
16416       83,    -1,    85,    86,    87,    88,    89,    90,    -1,    92,
16417       93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
16418      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
16419      113,    -1,   115,   116,   117,   118,   119,   120,    -1,   122,
16420      123,   124,   125,    -1,    -1,   128,   129,   130,   131,   132,
16421       -1,   134,   135,   136,    -1,   138,   139,   140,    -1,   142,
16422      143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
16423       -1,   154,   155,   156,   157,    -1,   159,    -1,   161,   162,
16424       -1,   164,   165,   166,   167,   168,    -1,   170,   171,    -1,
16425      173,   174,   175,    -1,   177,   178,   179,   180,   181,   182,
16426      183,   184,   185,   186,    -1,   188,   189,   190,   191,   192,
16427      193,   194,    -1,   196,   197,   198,   199,   200,   201,   202,
16428      203,   204,    -1,   206,    -1,   208,   209,   210,   211,   212,
16429      213,   214,   215,   216,   217,    -1,    -1,   220,   221,   222,
16430      223,   224,    -1,   226,   227,   228,   229,   230,   231,   232,
16431      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
16432      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
16433      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
16434      263,   264,   265,    -1,   267,   268,    -1,    -1,   271,   272,
16435      273,    -1,    -1,   276,   277,   278,   279,   280,   281,   282,
16436      283,   284,   285,   286,   287,   288,   289,   290,   291,    -1,
16437      293,   294,   295,   296,   297,   298,   299,   300,    -1,   302,
16438      303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
16439      313,   314,   315,   316,    -1,   318,   319,   320,   321,   322,
16440      323,   324,   325,   326,   327,   328,   329,    -1,   331,   332,
16441      333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
16442      343,   344,   345,   346,   347,   348,    -1,   350,   351,   352,
16443      353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
16444      363,   364,   365,    -1,   367,   368,   369,   370,   371,   372,
16445      373,   374,   375,   376,   377,   378,   379,    -1,   381,   382,
16446       -1,   384,   385,   386,   387,   388,   389,   390,    -1,   392,
16447      393,   394,    -1,    -1,   397,   398,   399,   400,   401,   402,
16448      403,   404,   405,   406,   407,   408,   409,    -1,   411,   412,
16449      413,   414,   415,   416,   417,    -1,   419,   420,   421,   422,
16450      423,   424,   425,    -1,   427,   428,   429,   430,   431,   432,
16451       -1,    -1,   435,    -1,    -1,   438,   439,   440,   441,   442,
16452      443,   444,   445,   446,   447,   448,   449,   450,   451,   452,
16453      453,   454,   455,   456,   457,   458,    -1,    -1,    -1,    -1,
16454       -1,    -1,   465,   466,    -1,    -1,    -1,    -1,    -1,    -1,
16455       -1,   474,     3,     4,     5,     6,     7,     8,     9,    10,
16456       -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
16457       21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
16458       -1,    -1,    -1,    34,    -1,    -1,    37,    38,    -1,    40,
16459       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
16460       51,    -1,    53,    54,    55,    56,    57,    58,    59,    60,
16461       61,    62,    63,    64,    65,    -1,    67,    68,    69,    70,
16462       71,    -1,    73,    -1,    75,    76,    77,    78,    79,    80,
16463       81,    82,    83,    -1,    85,    86,    87,    88,    89,    90,
16464       -1,    92,    93,    94,    95,    96,    97,    98,    99,   100,
16465      101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
16466      111,   112,   113,    -1,   115,   116,   117,   118,   119,   120,
16467       -1,   122,   123,   124,   125,    -1,    -1,   128,   129,   130,
16468      131,   132,    -1,   134,   135,   136,    -1,   138,   139,   140,
16469       -1,   142,   143,   144,   145,   146,   147,   148,   149,   150,
16470      151,   152,    -1,   154,   155,   156,   157,    -1,   159,    -1,
16471      161,   162,    -1,   164,   165,   166,   167,   168,    -1,   170,
16472      171,    -1,   173,   174,   175,    -1,   177,   178,   179,   180,
16473      181,   182,   183,   184,   185,   186,    -1,   188,   189,   190,
16474      191,   192,   193,   194,    -1,   196,   197,   198,   199,   200,
16475      201,   202,   203,   204,    -1,   206,    -1,   208,   209,   210,
16476      211,   212,   213,   214,   215,   216,   217,    -1,    -1,   220,
16477      221,   222,   223,   224,    -1,   226,   227,   228,   229,   230,
16478      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
16479      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
16480      251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
16481      261,   262,   263,   264,   265,    -1,   267,   268,    -1,    -1,
16482      271,   272,   273,    -1,    -1,   276,   277,   278,   279,   280,
16483      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
16484      291,    -1,   293,   294,   295,   296,   297,   298,   299,   300,
16485       -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
16486      311,   312,   313,   314,   315,   316,    -1,   318,   319,   320,
16487      321,   322,   323,   324,   325,   326,   327,   328,   329,    -1,
16488      331,   332,   333,   334,   335,   336,   337,   338,   339,   340,
16489      341,   342,   343,   344,   345,   346,   347,   348,    -1,   350,
16490      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
16491      361,   362,   363,   364,   365,    -1,   367,   368,   369,   370,
16492      371,   372,   373,   374,   375,   376,   377,   378,   379,    -1,
16493      381,   382,    -1,   384,   385,   386,   387,   388,   389,   390,
16494       -1,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
16495      401,   402,   403,   404,   405,   406,   407,   408,   409,    -1,
16496      411,   412,   413,   414,   415,   416,   417,    -1,   419,   420,
16497      421,   422,   423,   424,   425,    -1,   427,   428,   429,   430,
16498      431,   432,    -1,    -1,   435,    -1,    -1,   438,   439,   440,
16499      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
16500      451,   452,   453,   454,   455,   456,   457,   458,    -1,    -1,
16501       -1,    -1,    -1,    -1,   465,   466,    -1,    -1,    -1,    -1,
16502       -1,    -1,    -1,   474,     3,     4,     5,     6,     7,     8,
16503        9,    10,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,
16504       19,    20,    21,    22,    23,    24,    25,    -1,    27,    28,
16505       29,    -1,    -1,    -1,    -1,    34,    -1,    -1,    37,    38,
16506       -1,    40,    41,    42,    43,    44,    45,    46,    47,    48,
16507       49,    50,    51,    -1,    53,    54,    55,    56,    57,    58,
16508       59,    60,    61,    62,    63,    64,    65,    -1,    67,    68,
16509       69,    70,    71,    -1,    73,    -1,    75,    76,    77,    78,
16510       79,    80,    81,    82,    83,    -1,    85,    86,    87,    88,
16511       89,    90,    -1,    92,    93,    94,    95,    96,    97,    98,
16512       99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
16513      109,   110,   111,   112,   113,    -1,   115,   116,   117,   118,
16514      119,   120,    -1,   122,   123,   124,   125,    -1,    -1,   128,
16515      129,   130,   131,   132,    -1,   134,   135,   136,    -1,   138,
16516      139,   140,    -1,   142,   143,   144,   145,   146,   147,   148,
16517      149,   150,   151,   152,    -1,   154,   155,   156,   157,    -1,
16518      159,    -1,   161,   162,    -1,   164,   165,   166,   167,   168,
16519       -1,   170,   171,    -1,   173,   174,   175,    -1,   177,   178,
16520      179,   180,   181,   182,   183,   184,   185,   186,    -1,   188,
16521      189,   190,   191,   192,   193,   194,    -1,   196,   197,   198,
16522      199,   200,   201,   202,   203,   204,    -1,   206,    -1,   208,
16523      209,   210,   211,   212,   213,   214,   215,   216,   217,    -1,
16524       -1,   220,   221,   222,   223,   224,    -1,   226,   227,   228,
16525      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
16526      239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
16527      249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
16528      259,   260,   261,   262,   263,   264,   265,    -1,   267,   268,
16529       -1,    -1,   271,   272,   273,    -1,    -1,   276,   277,   278,
16530      279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
16531      289,   290,   291,    -1,   293,   294,   295,   296,   297,   298,
16532      299,   300,    -1,   302,   303,   304,   305,   306,   307,   308,
16533      309,   310,   311,   312,   313,   314,   315,   316,    -1,   318,
16534      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
16535      329,    -1,   331,   332,   333,   334,   335,   336,   337,   338,
16536      339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
16537       -1,   350,   351,   352,   353,   354,   355,   356,   357,   358,
16538      359,   360,   361,   362,   363,   364,   365,    -1,   367,   368,
16539      369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
16540      379,    -1,   381,   382,    -1,   384,   385,   386,   387,   388,
16541      389,   390,    -1,   392,   393,   394,    -1,    -1,   397,   398,
16542      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
16543      409,    -1,   411,   412,   413,   414,   415,   416,   417,    -1,
16544      419,   420,   421,   422,   423,   424,   425,    -1,   427,   428,
16545      429,   430,   431,   432,    -1,    -1,   435,    -1,    -1,   438,
16546      439,   440,   441,   442,   443,   444,   445,   446,   447,   448,
16547      449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
16548       -1,    -1,    -1,    -1,    -1,    -1,   465,   466,    -1,    -1,
16549       -1,    -1,    -1,    -1,    -1,   474,     3,     4,     5,     6,
16550        7,     8,     9,    10,    -1,    -1,    -1,    -1,    -1,    -1,
16551       -1,    18,    19,    20,    21,    22,    23,    24,    25,    -1,
16552       27,    28,    29,    -1,    -1,    -1,    -1,    34,    -1,    -1,
16553       37,    38,    -1,    40,    41,    42,    43,    44,    45,    46,
16554       47,    48,    49,    50,    51,    -1,    53,    54,    55,    56,
16555       57,    58,    59,    60,    61,    62,    63,    64,    65,    -1,
16556       67,    68,    69,    70,    71,    -1,    73,    -1,    75,    76,
16557       77,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
16558       87,    88,    89,    90,    -1,    92,    93,    94,    95,    96,
16559       97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
16560      107,   108,   109,   110,   111,   112,   113,    -1,   115,   116,
16561      117,   118,   119,   120,    -1,   122,   123,   124,   125,    -1,
16562       -1,   128,   129,   130,   131,   132,    -1,   134,   135,   136,
16563       -1,   138,   139,   140,    -1,   142,   143,   144,   145,   146,
16564      147,   148,   149,   150,   151,   152,    -1,   154,   155,   156,
16565      157,    -1,   159,    -1,   161,   162,    -1,   164,   165,   166,
16566      167,   168,    -1,   170,   171,    -1,   173,   174,   175,    -1,
16567      177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
16568       -1,   188,   189,   190,   191,   192,   193,   194,    -1,   196,
16569      197,   198,   199,   200,   201,   202,   203,   204,    -1,   206,
16570       -1,   208,   209,   210,   211,   212,   213,   214,   215,   216,
16571      217,    -1,    -1,   220,   221,   222,   223,   224,    -1,   226,
16572      227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
16573      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
16574      247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
16575      257,   258,   259,   260,   261,   262,   263,   264,   265,    -1,
16576      267,   268,    -1,    -1,   271,   272,   273,    -1,    -1,   276,
16577      277,   278,   279,   280,   281,   282,   283,   284,   285,   286,
16578      287,   288,   289,   290,   291,    -1,   293,   294,   295,   296,
16579      297,   298,   299,   300,    -1,   302,   303,   304,   305,   306,
16580      307,   308,   309,   310,   311,   312,   313,   314,   315,   316,
16581       -1,   318,   319,   320,   321,   322,   323,   324,   325,   326,
16582      327,   328,   329,    -1,   331,   332,   333,   334,   335,   336,
16583      337,   338,   339,   340,   341,   342,   343,   344,   345,   346,
16584      347,   348,    -1,   350,   351,   352,   353,   354,   355,   356,
16585      357,   358,   359,   360,   361,   362,   363,   364,   365,    -1,
16586      367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
16587      377,   378,   379,    -1,   381,   382,    -1,   384,   385,   386,
16588      387,   388,   389,   390,    -1,   392,   393,   394,    -1,    -1,
16589      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
16590      407,   408,   409,    -1,   411,   412,   413,   414,   415,   416,
16591      417,    -1,   419,   420,   421,   422,   423,   424,   425,    -1,
16592      427,   428,   429,   430,   431,   432,    -1,    -1,   435,    -1,
16593       -1,   438,   439,   440,   441,   442,   443,   444,   445,   446,
16594      447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
16595      457,   458,    -1,    -1,    -1,    -1,    -1,    -1,   465,   466,
16596       -1,    -1,    -1,    -1,    -1,    -1,    -1,   474,     3,     4,
16597        5,     6,     7,     8,     9,    10,    -1,    -1,    -1,    -1,
16598       -1,    -1,    -1,    18,    19,    20,    21,    22,    23,    24,
16599       25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,    34,
16600       -1,    -1,    37,    38,    -1,    40,    41,    42,    43,    44,
16601       45,    46,    47,    48,    49,    50,    51,    -1,    53,    54,
16602       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
16603       65,    -1,    67,    68,    69,    70,    71,    -1,    73,    -1,
16604       75,    76,    77,    78,    79,    80,    81,    82,    83,    -1,
16605       85,    86,    87,    88,    89,    90,    -1,    92,    93,    94,
16606       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
16607      105,   106,   107,   108,   109,   110,   111,   112,   113,    -1,
16608      115,   116,   117,   118,   119,   120,    -1,   122,   123,   124,
16609      125,    -1,    -1,   128,   129,   130,   131,   132,    -1,   134,
16610      135,   136,    -1,   138,   139,   140,    -1,   142,   143,   144,
16611      145,   146,   147,   148,   149,   150,   151,   152,    -1,   154,
16612      155,   156,   157,    -1,   159,    -1,   161,   162,    -1,   164,
16613      165,   166,   167,   168,    -1,   170,   171,    -1,   173,   174,
16614      175,    -1,   177,   178,   179,   180,   181,   182,   183,   184,
16615      185,   186,    -1,   188,   189,   190,   191,   192,   193,   194,
16616       -1,   196,   197,   198,   199,   200,   201,   202,   203,   204,
16617       -1,   206,    -1,   208,   209,   210,   211,   212,   213,   214,
16618      215,   216,   217,    -1,    -1,   220,   221,   222,   223,   224,
16619       -1,   226,   227,   228,   229,   230,   231,   232,   233,   234,
16620      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
16621      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
16622      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
16623      265,    -1,   267,   268,    -1,    -1,   271,   272,   273,    -1,
16624       -1,   276,   277,   278,   279,   280,   281,   282,   283,   284,
16625      285,   286,   287,   288,   289,   290,   291,    -1,   293,   294,
16626      295,   296,   297,   298,   299,   300,    -1,   302,   303,   304,
16627      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
16628      315,   316,    -1,   318,   319,   320,   321,   322,   323,   324,
16629      325,   326,   327,   328,   329,    -1,   331,   332,   333,   334,
16630      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
16631      345,   346,   347,   348,    -1,   350,   351,   352,   353,   354,
16632      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
16633      365,    -1,   367,   368,   369,   370,   371,   372,   373,   374,
16634      375,   376,   377,   378,   379,    -1,   381,   382,    -1,   384,
16635      385,   386,   387,   388,   389,   390,    -1,   392,   393,   394,
16636       -1,    -1,   397,   398,   399,   400,   401,   402,   403,   404,
16637      405,   406,   407,   408,   409,    -1,   411,   412,   413,   414,
16638      415,   416,   417,    -1,   419,   420,   421,   422,   423,   424,
16639      425,    -1,   427,   428,   429,   430,   431,   432,    -1,    -1,
16640      435,    -1,    -1,   438,   439,   440,   441,   442,   443,   444,
16641      445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
16642      455,   456,   457,   458,    -1,    -1,    -1,    -1,    -1,    -1,
16643      465,   466,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   474,
16644        3,     4,     5,     6,     7,     8,     9,    10,    -1,    -1,
16645       -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,
16646       23,    24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,
16647       -1,    34,    -1,    -1,    37,    38,    -1,    40,    41,    42,
16648       43,    44,    45,    46,    47,    48,    49,    50,    51,    -1,
16649       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
16650       63,    64,    65,    -1,    67,    68,    69,    70,    71,    -1,
16651       73,    -1,    75,    76,    77,    78,    79,    80,    81,    82,
16652       83,    -1,    85,    86,    87,    88,    89,    90,    -1,    92,
16653       93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
16654      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
16655      113,    -1,   115,   116,   117,   118,   119,   120,    -1,   122,
16656      123,   124,   125,    -1,    -1,   128,   129,   130,   131,   132,
16657       -1,   134,   135,   136,    -1,   138,   139,   140,    -1,   142,
16658      143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
16659       -1,   154,   155,   156,   157,    -1,   159,    -1,   161,   162,
16660       -1,   164,   165,   166,   167,   168,    -1,   170,   171,    -1,
16661      173,   174,   175,    -1,   177,   178,   179,   180,   181,   182,
16662      183,   184,   185,   186,    -1,   188,   189,   190,   191,   192,
16663      193,   194,    -1,   196,   197,   198,   199,   200,   201,   202,
16664      203,   204,    -1,   206,    -1,   208,   209,   210,   211,   212,
16665      213,   214,   215,   216,   217,    -1,    -1,   220,   221,   222,
16666      223,   224,    -1,   226,   227,   228,   229,   230,   231,   232,
16667      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
16668      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
16669      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
16670      263,   264,   265,    -1,   267,   268,    -1,    -1,   271,   272,
16671      273,    -1,    -1,   276,   277,   278,   279,   280,   281,   282,
16672      283,   284,   285,   286,   287,   288,   289,   290,   291,    -1,
16673      293,   294,   295,   296,   297,   298,   299,   300,    -1,   302,
16674      303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
16675      313,   314,   315,   316,    -1,   318,   319,   320,   321,   322,
16676      323,   324,   325,   326,   327,   328,   329,    -1,   331,   332,
16677      333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
16678      343,   344,   345,   346,   347,   348,    -1,   350,   351,   352,
16679      353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
16680      363,   364,   365,    -1,   367,   368,   369,   370,   371,   372,
16681      373,   374,   375,   376,   377,   378,   379,    -1,   381,   382,
16682       -1,   384,   385,   386,   387,   388,   389,   390,    -1,   392,
16683      393,   394,    -1,    -1,   397,   398,   399,   400,   401,   402,
16684      403,   404,   405,   406,   407,   408,   409,    -1,   411,   412,
16685      413,   414,   415,   416,   417,    -1,   419,   420,   421,   422,
16686      423,   424,   425,    -1,   427,   428,   429,   430,   431,   432,
16687       -1,    -1,   435,    -1,    -1,   438,   439,   440,   441,   442,
16688      443,   444,   445,   446,   447,   448,   449,   450,   451,   452,
16689      453,   454,   455,   456,   457,   458,    -1,    -1,    -1,    -1,
16690       -1,    -1,   465,   466,    -1,    -1,    -1,    -1,    -1,    -1,
16691       -1,   474,     3,     4,     5,     6,     7,     8,     9,    10,
16692       -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
16693       21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
16694       -1,    -1,    -1,    34,    -1,    -1,    37,    38,    -1,    40,
16695       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
16696       51,    -1,    53,    54,    55,    56,    57,    58,    59,    60,
16697       61,    62,    63,    64,    65,    -1,    67,    68,    69,    70,
16698       71,    -1,    73,    -1,    75,    76,    77,    78,    79,    80,
16699       81,    82,    83,    -1,    85,    86,    87,    88,    89,    90,
16700       -1,    92,    93,    94,    95,    96,    97,    98,    99,   100,
16701      101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
16702      111,   112,   113,    -1,   115,   116,   117,   118,   119,   120,
16703       -1,   122,   123,   124,   125,    -1,    -1,   128,   129,   130,
16704      131,   132,    -1,   134,   135,   136,    -1,   138,   139,   140,
16705       -1,   142,   143,   144,   145,   146,   147,   148,   149,   150,
16706      151,   152,    -1,   154,   155,   156,   157,    -1,   159,    -1,
16707      161,   162,    -1,   164,   165,   166,   167,   168,    -1,   170,
16708      171,    -1,   173,   174,   175,    -1,   177,   178,   179,   180,
16709      181,   182,   183,   184,   185,   186,    -1,   188,   189,   190,
16710      191,   192,   193,   194,    -1,   196,   197,   198,   199,   200,
16711      201,   202,   203,   204,    -1,   206,    -1,   208,   209,   210,
16712      211,   212,   213,   214,   215,   216,   217,    -1,    -1,   220,
16713      221,   222,   223,   224,    -1,   226,   227,   228,   229,   230,
16714      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
16715      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
16716      251,   252,   253,    -1,   255,   256,   257,   258,   259,   260,
16717      261,   262,   263,   264,   265,    -1,   267,   268,    -1,    -1,
16718      271,   272,   273,    -1,    -1,   276,   277,   278,   279,   280,
16719      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
16720      291,    -1,   293,   294,   295,   296,   297,   298,   299,   300,
16721       -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
16722      311,   312,   313,   314,   315,   316,    -1,   318,   319,   320,
16723      321,   322,   323,   324,   325,   326,   327,   328,   329,    -1,
16724      331,   332,   333,   334,   335,   336,   337,   338,   339,   340,
16725      341,   342,   343,   344,   345,   346,   347,   348,    -1,   350,
16726      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
16727      361,   362,   363,   364,   365,    -1,   367,   368,   369,   370,
16728      371,   372,   373,   374,   375,   376,   377,   378,   379,    -1,
16729      381,   382,    -1,   384,   385,   386,   387,   388,   389,   390,
16730       -1,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
16731      401,   402,   403,   404,   405,   406,   407,   408,   409,    -1,
16732       -1,   412,   413,   414,   415,   416,   417,    -1,   419,   420,
16733      421,   422,   423,   424,   425,    -1,   427,   428,   429,   430,
16734      431,   432,    -1,    -1,   435,    -1,    -1,   438,   439,   440,
16735      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
16736      451,   452,   453,   454,   455,   456,   457,    -1,    -1,    -1,
16737       -1,    -1,    -1,    -1,   465,   466,    -1,    -1,    -1,    -1,
16738       -1,    -1,    -1,   474,     3,     4,     5,     6,     7,     8,
16739        9,    10,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,
16740       19,    20,    21,    22,    23,    24,    25,    -1,    27,    28,
16741       29,    -1,    -1,    -1,    -1,    34,    -1,    -1,    37,    38,
16742       -1,    40,    41,    42,    43,    44,    45,    46,    47,    48,
16743       49,    50,    51,    -1,    53,    54,    55,    56,    57,    58,
16744       59,    60,    61,    62,    63,    64,    65,    -1,    67,    68,
16745       69,    70,    71,    -1,    73,    -1,    75,    76,    77,    78,
16746       79,    80,    81,    82,    83,    -1,    85,    86,    87,    88,
16747       89,    90,    -1,    92,    93,    94,    95,    96,    97,    98,
16748       99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
16749      109,   110,   111,   112,   113,    -1,   115,   116,   117,   118,
16750      119,   120,    -1,   122,   123,   124,   125,    -1,    -1,   128,
16751      129,   130,   131,   132,    -1,   134,   135,   136,    -1,   138,
16752      139,   140,    -1,   142,   143,   144,   145,   146,   147,   148,
16753      149,   150,   151,   152,    -1,   154,   155,   156,   157,    -1,
16754      159,    -1,   161,   162,    -1,   164,   165,   166,   167,   168,
16755       -1,   170,   171,    -1,   173,   174,   175,    -1,   177,   178,
16756      179,   180,   181,   182,   183,   184,   185,   186,    -1,   188,
16757      189,   190,   191,   192,   193,   194,    -1,   196,   197,   198,
16758      199,   200,   201,   202,   203,   204,    -1,   206,    -1,   208,
16759       -1,    -1,   211,   212,   213,   214,   215,   216,   217,    -1,
16760       -1,   220,   221,   222,   223,   224,    -1,   226,   227,   228,
16761      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
16762      239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
16763      249,   250,   251,   252,   253,   254,   255,   256,    -1,   258,
16764      259,   260,   261,   262,   263,   264,   265,    -1,   267,   268,
16765       -1,    -1,   271,   272,   273,    -1,    -1,   276,   277,   278,
16766      279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
16767      289,   290,   291,    -1,   293,   294,   295,   296,   297,   298,
16768      299,   300,    -1,   302,   303,   304,   305,   306,   307,   308,
16769      309,   310,   311,   312,   313,   314,   315,   316,    -1,   318,
16770      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
16771      329,    -1,   331,   332,   333,   334,   335,   336,   337,   338,
16772      339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
16773       -1,   350,   351,   352,   353,   354,   355,   356,   357,   358,
16774      359,   360,   361,   362,   363,   364,   365,    -1,   367,   368,
16775      369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
16776      379,    -1,   381,   382,    -1,   384,   385,   386,   387,   388,
16777      389,   390,    -1,   392,   393,   394,    -1,    -1,   397,   398,
16778      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
16779      409,    -1,   411,   412,   413,   414,   415,   416,   417,    -1,
16780      419,   420,   421,   422,   423,   424,   425,    -1,   427,   428,
16781      429,   430,   431,   432,    -1,    -1,   435,    -1,    -1,   438,
16782      439,   440,   441,   442,   443,   444,   445,   446,   447,   448,
16783      449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
16784       -1,    -1,    -1,    -1,    -1,    -1,   465,   466,    -1,    -1,
16785       -1,    -1,    -1,    -1,    -1,   474,     3,     4,     5,     6,
16786        7,     8,     9,    10,    -1,    -1,    -1,    -1,    -1,    -1,
16787       -1,    18,    19,    20,    21,    22,    23,    24,    25,    -1,
16788       27,    28,    29,    -1,    -1,    -1,    -1,    34,    -1,    -1,
16789       37,    38,    -1,    40,    41,    42,    43,    44,    45,    46,
16790       47,    48,    49,    50,    51,    -1,    53,    54,    55,    56,
16791       57,    58,    59,    60,    61,    62,    63,    64,    65,    -1,
16792       67,    68,    69,    70,    71,    -1,    73,    -1,    75,    76,
16793       77,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
16794       87,    88,    89,    90,    -1,    92,    93,    94,    95,    96,
16795       97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
16796      107,   108,   109,   110,   111,    -1,   113,    -1,   115,   116,
16797      117,   118,   119,   120,    -1,   122,   123,   124,   125,    -1,
16798       -1,   128,   129,   130,   131,   132,    -1,   134,   135,   136,
16799       -1,   138,   139,   140,    -1,   142,   143,   144,   145,   146,
16800      147,   148,   149,   150,   151,   152,    -1,   154,   155,   156,
16801      157,    -1,   159,    -1,   161,   162,    -1,   164,   165,   166,
16802      167,   168,    -1,   170,   171,    -1,   173,   174,   175,    -1,
16803      177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
16804       -1,   188,   189,   190,   191,   192,   193,   194,    -1,   196,
16805      197,   198,   199,   200,   201,   202,   203,   204,    -1,   206,
16806       -1,   208,   209,   210,   211,   212,   213,   214,   215,   216,
16807      217,    -1,    -1,   220,   221,   222,   223,   224,    -1,   226,
16808      227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
16809      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
16810      247,   248,   249,   250,   251,   252,   253,    -1,   255,   256,
16811      257,   258,   259,   260,   261,   262,   263,   264,   265,    -1,
16812      267,   268,    -1,    -1,   271,   272,   273,    -1,    -1,   276,
16813      277,   278,   279,   280,   281,   282,   283,   284,   285,   286,
16814      287,   288,   289,   290,   291,    -1,   293,   294,   295,   296,
16815      297,   298,   299,   300,    -1,   302,   303,   304,   305,   306,
16816      307,   308,   309,   310,   311,   312,   313,   314,   315,   316,
16817       -1,   318,   319,   320,   321,   322,   323,   324,   325,   326,
16818      327,   328,   329,    -1,   331,   332,   333,   334,   335,   336,
16819      337,   338,   339,   340,   341,   342,   343,   344,   345,   346,
16820      347,   348,    -1,   350,   351,   352,   353,   354,   355,   356,
16821      357,   358,   359,   360,   361,   362,   363,   364,   365,    -1,
16822      367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
16823      377,   378,   379,    -1,   381,   382,    -1,   384,   385,   386,
16824      387,   388,   389,   390,    -1,   392,   393,   394,    -1,    -1,
16825      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
16826      407,   408,   409,    -1,    -1,   412,   413,   414,   415,   416,
16827      417,    -1,   419,   420,   421,   422,   423,   424,   425,    -1,
16828      427,   428,   429,   430,   431,   432,    -1,    -1,   435,    -1,
16829       -1,   438,   439,   440,   441,   442,   443,   444,   445,   446,
16830      447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
16831      457,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   465,   466,
16832       -1,    -1,     3,     4,     5,     6,     7,   474,     9,    10,
16833       -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
16834       21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
16835       -1,    -1,    -1,    34,    -1,    -1,    37,    38,    -1,    40,
16836       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
16837       51,    -1,    53,    54,    55,    56,    57,    58,    59,    60,
16838       61,    62,    63,    64,    65,    -1,    67,    68,    69,    70,
16839       71,    -1,    73,    -1,    75,    76,    77,    78,    79,    80,
16840       81,    82,    83,    -1,    85,    86,    87,    88,    89,    90,
16841       -1,    92,    93,    94,    95,    96,    97,    98,    99,   100,
16842      101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
16843      111,    -1,   113,    -1,   115,   116,   117,   118,   119,   120,
16844       -1,   122,   123,   124,   125,    -1,    -1,   128,   129,   130,
16845      131,   132,    -1,   134,   135,   136,    -1,   138,   139,   140,
16846       -1,   142,   143,   144,   145,   146,   147,   148,   149,   150,
16847      151,   152,    -1,   154,   155,   156,   157,    -1,   159,    -1,
16848      161,   162,    -1,   164,   165,   166,   167,   168,    -1,   170,
16849      171,    -1,   173,   174,   175,    -1,   177,   178,   179,   180,
16850      181,   182,   183,   184,   185,   186,    -1,   188,   189,   190,
16851      191,   192,   193,   194,    -1,   196,   197,   198,   199,   200,
16852      201,   202,   203,   204,    -1,   206,    -1,   208,   209,   210,
16853      211,   212,   213,   214,   215,   216,   217,    -1,    -1,   220,
16854      221,   222,   223,   224,    -1,   226,   227,   228,   229,   230,
16855      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
16856      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
16857      251,   252,   253,    -1,   255,   256,   257,   258,   259,   260,
16858      261,   262,   263,   264,   265,    -1,   267,   268,    -1,    -1,
16859      271,   272,   273,    -1,    -1,   276,   277,   278,   279,   280,
16860      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
16861      291,    -1,   293,   294,   295,   296,   297,   298,   299,   300,
16862       -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
16863      311,   312,   313,   314,   315,   316,    -1,   318,   319,   320,
16864      321,   322,   323,   324,   325,   326,   327,   328,   329,    -1,
16865      331,   332,   333,   334,   335,   336,   337,   338,   339,   340,
16866      341,   342,   343,   344,   345,   346,   347,   348,    -1,   350,
16867      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
16868      361,   362,   363,   364,   365,    -1,   367,   368,   369,   370,
16869      371,   372,   373,   374,   375,   376,   377,   378,   379,    -1,
16870      381,   382,    -1,   384,   385,   386,   387,   388,   389,   390,
16871       -1,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
16872      401,   402,   403,   404,   405,   406,   407,   408,   409,    -1,
16873       -1,   412,   413,   414,   415,   416,   417,    -1,   419,   420,
16874      421,   422,   423,   424,   425,    -1,   427,   428,   429,   430,
16875      431,   432,    -1,    -1,   435,    -1,    -1,   438,   439,   440,
16876      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
16877      451,   452,   453,   454,   455,   456,   457,    -1,    -1,    -1,
16878       -1,    -1,    -1,    -1,   465,   466,    -1,    -1,    -1,    -1,
16879       -1,    -1,    -1,   474,     3,     4,     5,     6,     7,     8,
16880        9,    10,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,
16881       19,    20,    21,    22,    23,    24,    25,    -1,    27,    28,
16882       29,    -1,    -1,    -1,    -1,    34,    -1,    -1,    37,    38,
16883       -1,    40,    41,    42,    43,    44,    45,    46,    47,    48,
16884       49,    50,    51,    -1,    53,    54,    55,    56,    57,    58,
16885       59,    60,    61,    62,    63,    64,    65,    -1,    67,    68,
16886       69,    70,    71,    -1,    73,    -1,    75,    76,    77,    78,
16887       79,    80,    81,    82,    83,    -1,    85,    86,    87,    88,
16888       89,    90,    -1,    92,    93,    94,    95,    96,    97,    98,
16889       99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
16890      109,   110,   111,    -1,   113,    -1,   115,   116,   117,   118,
16891      119,   120,    -1,   122,   123,   124,   125,    -1,    -1,   128,
16892      129,   130,   131,   132,    -1,   134,   135,   136,    -1,   138,
16893      139,   140,    -1,   142,   143,   144,   145,   146,   147,   148,
16894      149,   150,   151,   152,    -1,   154,   155,   156,   157,    -1,
16895      159,    -1,   161,   162,    -1,   164,   165,   166,   167,   168,
16896       -1,   170,   171,    -1,   173,   174,   175,    -1,   177,   178,
16897      179,   180,   181,   182,   183,   184,   185,   186,    -1,   188,
16898      189,   190,   191,   192,   193,   194,    -1,   196,   197,   198,
16899      199,   200,   201,   202,   203,   204,    -1,   206,    -1,   208,
16900       -1,   210,   211,   212,   213,   214,   215,   216,   217,    -1,
16901       -1,   220,   221,   222,   223,   224,    -1,   226,   227,   228,
16902      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
16903      239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
16904      249,   250,   251,   252,   253,    -1,   255,   256,   257,   258,
16905      259,   260,   261,   262,   263,   264,   265,    -1,   267,   268,
16906       -1,    -1,   271,   272,   273,    -1,    -1,   276,   277,   278,
16907      279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
16908      289,   290,   291,    -1,   293,   294,   295,   296,   297,   298,
16909      299,   300,    -1,   302,   303,   304,   305,   306,   307,   308,
16910      309,   310,   311,   312,   313,   314,   315,   316,    -1,   318,
16911      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
16912      329,    -1,   331,   332,   333,   334,   335,   336,   337,   338,
16913      339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
16914       -1,   350,   351,   352,   353,   354,   355,   356,   357,   358,
16915      359,   360,   361,   362,   363,   364,   365,    -1,   367,   368,
16916      369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
16917      379,    -1,   381,   382,    -1,   384,   385,   386,   387,   388,
16918      389,   390,    -1,   392,   393,   394,    -1,    -1,   397,   398,
16919      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
16920      409,    -1,    -1,   412,   413,   414,   415,   416,   417,    -1,
16921      419,   420,   421,   422,   423,   424,   425,    -1,   427,   428,
16922      429,   430,   431,   432,    -1,    -1,   435,    -1,    -1,   438,
16923      439,   440,   441,   442,   443,   444,   445,   446,   447,   448,
16924      449,   450,   451,   452,   453,   454,   455,   456,   457,    -1,
16925       -1,    -1,    -1,    -1,    -1,    -1,   465,   466,    -1,    -1,
16926        3,     4,     5,     6,     7,   474,     9,    10,    -1,    -1,
16927       -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,
16928       23,    24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,
16929       -1,    34,    -1,    -1,    37,    38,    -1,    40,    41,    42,
16930       43,    44,    45,    46,    47,    48,    49,    50,    51,    -1,
16931       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
16932       63,    64,    65,    -1,    67,    68,    69,    70,    71,    -1,
16933       73,    -1,    75,    76,    77,    78,    79,    80,    81,    82,
16934       83,    -1,    85,    86,    87,    88,    89,    90,    -1,    92,
16935       93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
16936      103,   104,   105,   106,   107,   108,   109,   110,   111,    -1,
16937      113,    -1,   115,   116,   117,   118,   119,   120,    -1,   122,
16938      123,   124,   125,    -1,    -1,   128,   129,   130,   131,   132,
16939       -1,   134,   135,   136,    -1,   138,   139,   140,    -1,   142,
16940      143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
16941       -1,   154,   155,   156,   157,    -1,   159,    -1,   161,   162,
16942       -1,   164,   165,   166,   167,   168,    -1,   170,   171,    -1,
16943      173,   174,   175,    -1,   177,   178,   179,   180,   181,   182,
16944      183,   184,   185,   186,    -1,   188,   189,   190,   191,   192,
16945      193,   194,    -1,   196,   197,   198,   199,   200,   201,   202,
16946      203,   204,    -1,   206,    -1,   208,   209,   210,   211,   212,
16947      213,   214,   215,   216,   217,    -1,    -1,   220,   221,   222,
16948      223,   224,    -1,   226,   227,   228,   229,   230,   231,   232,
16949      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
16950      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
16951      253,    -1,   255,   256,   257,   258,   259,   260,   261,   262,
16952      263,   264,   265,    -1,   267,   268,    -1,    -1,   271,   272,
16953      273,    -1,    -1,   276,   277,   278,   279,   280,   281,   282,
16954      283,   284,   285,   286,   287,   288,   289,   290,   291,    -1,
16955      293,   294,   295,   296,   297,   298,   299,   300,    -1,   302,
16956      303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
16957      313,   314,   315,   316,    -1,   318,   319,   320,   321,   322,
16958      323,   324,   325,   326,   327,   328,   329,    -1,   331,   332,
16959      333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
16960      343,   344,   345,   346,   347,   348,    -1,   350,   351,   352,
16961      353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
16962      363,   364,   365,    -1,   367,   368,   369,   370,   371,   372,
16963      373,   374,   375,   376,   377,   378,   379,    -1,   381,   382,
16964       -1,   384,   385,   386,   387,   388,   389,   390,    -1,   392,
16965      393,   394,    -1,    -1,   397,   398,   399,   400,   401,   402,
16966      403,   404,   405,   406,   407,   408,   409,    -1,    -1,   412,
16967      413,   414,   415,   416,   417,    -1,   419,   420,   421,   422,
16968      423,   424,   425,    -1,   427,   428,   429,   430,   431,   432,
16969       -1,    -1,   435,    -1,    -1,   438,   439,   440,   441,   442,
16970      443,   444,   445,   446,   447,   448,   449,   450,   451,   452,
16971      453,   454,   455,   456,   457,    -1,    -1,     3,     4,     5,
16972        6,     7,    -1,     9,    10,    -1,    -1,    -1,    -1,    -1,
16973       -1,   474,    18,    19,    20,    21,    22,    23,    24,    25,
16974       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    34,    -1,
16975       -1,    37,    38,    -1,    40,    41,    42,    43,    44,    45,
16976       46,    47,    48,    49,    50,    51,    -1,    53,    54,    55,
16977       56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
16978       -1,    67,    68,    69,    70,    71,    -1,    73,    -1,    75,
16979       76,    77,    78,    79,    80,    81,    82,    83,    -1,    85,
16980       86,    87,    88,    89,    90,    -1,    92,    93,    94,    95,
16981       96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
16982      106,   107,   108,   109,   110,   111,    -1,   113,    -1,   115,
16983      116,   117,   118,   119,   120,    -1,   122,   123,   124,   125,
16984       -1,    -1,   128,   129,   130,   131,   132,    -1,   134,   135,
16985      136,    -1,   138,   139,   140,    -1,   142,   143,   144,   145,
16986      146,   147,   148,   149,   150,   151,   152,    -1,   154,   155,
16987      156,   157,    -1,   159,    -1,   161,   162,    -1,   164,   165,
16988      166,   167,   168,    -1,   170,   171,    -1,   173,   174,   175,
16989       -1,   177,   178,   179,   180,   181,   182,   183,   184,   185,
16990      186,    -1,   188,   189,   190,   191,   192,   193,   194,    -1,
16991      196,   197,   198,   199,   200,   201,   202,   203,   204,    -1,
16992      206,    -1,   208,   209,   210,   211,   212,   213,   214,   215,
16993      216,   217,    -1,    -1,   220,   221,   222,   223,   224,    -1,
16994      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
16995      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
16996      246,   247,   248,   249,   250,   251,   252,   253,    -1,   255,
16997      256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
16998       -1,   267,   268,    -1,    -1,   271,   272,   273,    -1,    -1,
16999      276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
17000      286,   287,   288,   289,   290,   291,    -1,   293,   294,   295,
17001      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
17002      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
17003      316,    -1,   318,   319,   320,   321,   322,   323,   324,   325,
17004      326,   327,   328,   329,    -1,   331,   332,   333,   334,   335,
17005      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
17006      346,   347,   348,    -1,   350,   351,   352,   353,   354,   355,
17007      356,   357,   358,   359,   360,   361,   362,   363,   364,   365,
17008       -1,   367,   368,   369,   370,   371,   372,   373,   374,   375,
17009      376,   377,   378,   379,    -1,   381,   382,    -1,   384,   385,
17010      386,   387,   388,   389,   390,    -1,   392,   393,   394,    -1,
17011       -1,   397,   398,   399,   400,   401,   402,   403,   404,   405,
17012      406,   407,   408,   409,    -1,    -1,   412,   413,   414,   415,
17013      416,   417,    -1,   419,   420,   421,   422,   423,   424,   425,
17014       -1,   427,   428,   429,   430,   431,   432,    -1,    -1,   435,
17015       -1,    -1,   438,   439,   440,   441,   442,   443,   444,   445,
17016      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
17017      456,   457,    -1,    -1,     3,     4,     5,     6,     7,    -1,
17018        9,    10,    -1,    -1,    -1,    -1,    -1,    -1,   474,    18,
17019       19,    20,    21,    22,    23,    24,    25,    -1,    27,    28,
17020       29,    -1,    -1,    -1,    -1,    34,    -1,    -1,    37,    38,
17021       -1,    40,    41,    42,    43,    44,    45,    46,    47,    48,
17022       49,    50,    51,    -1,    53,    54,    55,    56,    57,    58,
17023       59,    60,    61,    62,    63,    64,    65,    -1,    67,    68,
17024       69,    70,    71,    -1,    73,    -1,    75,    76,    77,    78,
17025       79,    80,    81,    82,    83,    -1,    85,    86,    87,    88,
17026       89,    90,    -1,    92,    93,    94,    95,    96,    97,    98,
17027       99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
17028      109,   110,   111,    -1,   113,    -1,   115,   116,   117,   118,
17029      119,   120,    -1,   122,   123,   124,   125,    -1,    -1,   128,
17030      129,   130,   131,   132,    -1,   134,   135,   136,    -1,   138,
17031      139,   140,    -1,   142,   143,   144,   145,   146,   147,   148,
17032      149,   150,   151,   152,    -1,   154,   155,   156,   157,    -1,
17033      159,    -1,   161,   162,    -1,   164,   165,   166,   167,   168,
17034       -1,   170,   171,    -1,   173,   174,   175,    -1,   177,   178,
17035      179,   180,   181,   182,   183,   184,   185,   186,    -1,   188,
17036      189,   190,   191,   192,   193,   194,    -1,   196,   197,   198,
17037      199,   200,   201,   202,   203,   204,    -1,   206,    -1,   208,
17038      209,   210,   211,   212,   213,   214,   215,   216,   217,    -1,
17039       -1,   220,   221,   222,   223,   224,    -1,   226,   227,   228,
17040      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
17041      239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
17042      249,   250,   251,   252,   253,    -1,   255,   256,   257,   258,
17043      259,   260,   261,   262,   263,   264,   265,    -1,   267,   268,
17044       -1,    -1,   271,   272,   273,    -1,    -1,   276,   277,   278,
17045      279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
17046      289,   290,   291,    -1,   293,   294,   295,   296,   297,   298,
17047      299,   300,    -1,   302,   303,   304,   305,   306,   307,   308,
17048      309,   310,   311,   312,   313,   314,   315,   316,    -1,   318,
17049      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
17050      329,    -1,   331,   332,   333,   334,   335,   336,   337,   338,
17051      339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
17052       -1,   350,   351,   352,   353,   354,   355,   356,   357,   358,
17053      359,   360,   361,   362,   363,   364,   365,    -1,   367,   368,
17054      369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
17055      379,    -1,   381,   382,    -1,   384,   385,   386,   387,   388,
17056      389,   390,    -1,   392,   393,   394,    -1,    -1,   397,   398,
17057      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
17058      409,    -1,    -1,   412,   413,   414,   415,   416,   417,    -1,
17059      419,   420,   421,   422,   423,   424,   425,    -1,   427,   428,
17060      429,   430,   431,   432,    -1,    -1,   435,    -1,    -1,   438,
17061      439,   440,   441,   442,   443,   444,   445,   446,   447,   448,
17062      449,   450,   451,   452,   453,   454,   455,   456,   457,    -1,
17063       -1,     3,     4,     5,     6,     7,     8,     9,    10,    -1,
17064       -1,    -1,    -1,    -1,    -1,   474,    18,    19,    20,    21,
17065       22,    23,    24,    25,    -1,    27,    28,    29,    -1,    -1,
17066       -1,    -1,    34,    -1,    -1,    37,    38,    -1,    40,    41,
17067       42,    43,    44,    45,    46,    -1,    48,    49,    50,    51,
17068       -1,    53,    54,    55,    56,    57,    58,    59,    60,    61,
17069       62,    63,    64,    65,    -1,    67,    68,    69,    70,    71,
17070       -1,    73,    -1,    75,    76,    77,    78,    79,    80,    81,
17071       82,    83,    -1,    85,    86,    87,    88,    89,    90,    -1,
17072       92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
17073      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
17074      112,   113,    -1,   115,   116,   117,   118,   119,   120,    -1,
17075      122,   123,   124,   125,    -1,    -1,   128,   129,   130,   131,
17076      132,    -1,   134,   135,   136,    -1,   138,    -1,   140,    -1,
17077      142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
17078      152,    -1,   154,   155,   156,   157,    -1,   159,    -1,   161,
17079      162,    -1,   164,   165,   166,   167,   168,    -1,   170,   171,
17080       -1,   173,   174,   175,    -1,   177,   178,   179,   180,   181,
17081       -1,   183,   184,   185,   186,    -1,   188,   189,   190,   191,
17082      192,   193,   194,    -1,   196,   197,   198,   199,   200,   201,
17083      202,   203,   204,    -1,   206,    -1,   208,    -1,    -1,   211,
17084      212,   213,   214,   215,   216,   217,    -1,    -1,   220,   221,
17085      222,   223,    -1,    -1,   226,   227,   228,   229,   230,   231,
17086      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
17087      242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
17088      252,   253,   254,   255,   256,    -1,   258,   259,   260,   261,
17089      262,   263,   264,   265,    -1,   267,   268,    -1,    -1,   271,
17090      272,   273,    -1,    -1,   276,   277,   278,   279,   280,   281,
17091      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
17092       -1,   293,   294,   295,   296,   297,   298,   299,   300,    -1,
17093      302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
17094      312,   313,   314,   315,   316,    -1,   318,   319,   320,   321,
17095      322,   323,   324,   325,   326,   327,   328,   329,    -1,   331,
17096      332,   333,   334,   335,   336,   337,   338,   339,   340,   341,
17097      342,   343,   344,   345,   346,   347,   348,    -1,   350,   351,
17098      352,   353,   354,   355,   356,   357,   358,   359,   360,    -1,
17099      362,   363,   364,   365,    -1,   367,   368,   369,   370,   371,
17100      372,   373,   374,   375,   376,   377,   378,   379,    -1,   381,
17101      382,    -1,   384,   385,   386,   387,   388,   389,   390,    -1,
17102      392,   393,   394,    -1,    -1,   397,   398,   399,   400,   401,
17103      402,   403,   404,   405,   406,   407,   408,   409,    -1,   411,
17104      412,   413,   414,   415,   416,   417,    -1,   419,   420,   421,
17105      422,   423,   424,   425,    -1,   427,   428,   429,   430,   431,
17106      432,    -1,    -1,   435,    -1,    -1,   438,   439,   440,   441,
17107      442,   443,   444,   445,   446,   447,   448,   449,   450,   451,
17108      452,   453,   454,   455,   456,   457,    -1,    -1,     3,    -1,
17109       -1,    -1,    -1,   465,   466,    -1,    -1,    -1,    -1,    -1,
17110       -1,    -1,   474,    18,    19,    20,    21,    22,    23,    24,
17111       25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,
17112       -1,    -1,    37,    38,    -1,    40,    41,    42,    43,    44,
17113       45,    46,    47,    48,    49,    50,    51,    -1,    53,    54,
17114       55,    56,    57,    58,    -1,    60,    61,    62,    63,    64,
17115       65,    -1,    67,    68,    69,    70,    71,    -1,    73,    -1,
17116       75,    76,    77,    78,    79,    80,    81,    82,    83,    -1,
17117       85,    86,    87,    88,    89,    90,    -1,    92,    93,    94,
17118       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
17119      105,   106,   107,   108,   109,   110,   111,    -1,   113,    -1,
17120      115,   116,   117,   118,   119,   120,    -1,   122,   123,   124,
17121      125,    -1,    -1,   128,   129,   130,   131,   132,    -1,   134,
17122      135,   136,    -1,   138,   139,   140,    -1,   142,   143,   144,
17123      145,   146,   147,   148,   149,   150,    -1,   152,    -1,   154,
17124      155,   156,   157,    -1,   159,    -1,   161,   162,    -1,   164,
17125      165,   166,   167,   168,    -1,   170,   171,    -1,   173,   174,
17126      175,    -1,   177,   178,   179,   180,   181,   182,   183,   184,
17127      185,   186,    -1,   188,   189,   190,   191,   192,   193,   194,
17128       -1,   196,   197,   198,   199,   200,   201,   202,   203,   204,
17129       -1,   206,    -1,   208,   209,   210,   211,   212,   213,   214,
17130      215,   216,   217,   218,    -1,   220,   221,   222,   223,   224,
17131       -1,   226,   227,   228,   229,   230,   231,   232,   233,   234,
17132      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
17133      245,   246,   247,   248,   249,   250,   251,   252,   253,    -1,
17134      255,   256,   257,   258,    -1,   260,   261,   262,   263,   264,
17135      265,    -1,   267,   268,    -1,   270,   271,   272,   273,    -1,
17136       -1,   276,   277,   278,   279,   280,   281,   282,   283,   284,
17137      285,   286,   287,   288,   289,   290,   291,    -1,   293,   294,
17138      295,   296,   297,   298,   299,   300,    -1,   302,   303,   304,
17139      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
17140      315,   316,    -1,   318,   319,   320,   321,   322,   323,   324,
17141      325,   326,   327,   328,   329,    -1,   331,   332,   333,   334,
17142      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
17143      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
17144      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
17145      365,    -1,   367,   368,   369,   370,   371,   372,   373,   374,
17146      375,   376,   377,   378,   379,    -1,   381,   382,   383,   384,
17147      385,   386,   387,   388,   389,   390,    -1,   392,   393,   394,
17148       -1,    -1,   397,   398,   399,   400,   401,    -1,   403,   404,
17149      405,   406,   407,   408,   409,    -1,    -1,   412,   413,   414,
17150      415,   416,   417,    -1,   419,   420,   421,   422,   423,   424,
17151      425,    -1,   427,   428,   429,   430,   431,   432,    -1,    -1,
17152      435,    -1,   437,   438,   439,   440,   441,   442,   443,   444,
17153      445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
17154      455,   456,   457,    -1,    -1,   460,     3,    -1,    -1,    -1,
17155       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   474,
17156       -1,    18,    19,    20,    21,    22,    23,    24,    25,    -1,
17157       27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
17158       37,    38,    -1,    40,    41,    42,    43,    44,    45,    46,
17159       47,    48,    49,    50,    51,    -1,    53,    54,    55,    56,
17160       57,    58,    -1,    60,    61,    62,    63,    64,    65,    -1,
17161       67,    68,    69,    70,    71,    -1,    73,    -1,    75,    76,
17162       77,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
17163       87,    88,    89,    90,    -1,    92,    93,    94,    95,    96,
17164       97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
17165      107,   108,   109,   110,   111,    -1,   113,    -1,   115,   116,
17166      117,   118,   119,   120,    -1,   122,   123,   124,   125,    -1,
17167       -1,   128,   129,   130,   131,   132,    -1,   134,   135,   136,
17168       -1,   138,   139,   140,    -1,   142,   143,   144,   145,   146,
17169      147,   148,   149,   150,    -1,   152,    -1,   154,   155,   156,
17170      157,    -1,   159,    -1,   161,   162,    -1,   164,   165,   166,
17171      167,   168,    -1,   170,   171,    -1,   173,   174,   175,    -1,
17172      177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
17173       -1,   188,   189,   190,   191,   192,   193,   194,    -1,   196,
17174      197,   198,   199,   200,   201,   202,   203,   204,    -1,   206,
17175       -1,   208,   209,   210,   211,   212,   213,   214,   215,   216,
17176      217,   218,    -1,   220,   221,   222,   223,   224,    -1,   226,
17177      227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
17178      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
17179      247,   248,   249,   250,   251,   252,   253,    -1,   255,   256,
17180      257,   258,    -1,   260,   261,   262,   263,   264,   265,    -1,
17181      267,   268,    -1,   270,   271,   272,   273,    -1,    -1,   276,
17182      277,   278,   279,   280,   281,   282,   283,   284,   285,   286,
17183      287,   288,   289,   290,   291,    -1,   293,   294,   295,   296,
17184      297,   298,   299,   300,    -1,   302,   303,   304,   305,   306,
17185      307,   308,   309,   310,   311,   312,   313,   314,   315,   316,
17186       -1,   318,   319,   320,   321,   322,   323,   324,   325,   326,
17187      327,   328,   329,    -1,   331,   332,   333,   334,   335,   336,
17188      337,   338,   339,   340,   341,   342,   343,   344,   345,   346,
17189      347,   348,    -1,   350,   351,   352,   353,   354,   355,   356,
17190      357,   358,   359,   360,   361,   362,   363,   364,   365,    -1,
17191      367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
17192      377,   378,   379,    -1,   381,   382,    -1,   384,   385,   386,
17193      387,   388,   389,   390,    -1,   392,   393,   394,    -1,    -1,
17194      397,   398,   399,   400,   401,    -1,   403,   404,   405,   406,
17195      407,   408,   409,    -1,    -1,   412,   413,   414,   415,   416,
17196      417,    -1,   419,   420,   421,   422,   423,   424,   425,    -1,
17197      427,   428,   429,   430,   431,   432,    -1,    -1,   435,    -1,
17198       -1,   438,   439,   440,   441,   442,   443,   444,   445,   446,
17199      447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
17200      457,    -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,
17201       -1,    -1,    -1,    -1,    -1,    -1,    -1,   474,    18,    19,
17202       20,    21,    22,    23,    24,    25,    -1,    27,    28,    29,
17203       -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,
17204       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
17205       50,    51,    -1,    53,    54,    55,    56,    57,    58,    -1,
17206       60,    61,    62,    63,    64,    65,    -1,    67,    68,    69,
17207       70,    71,    -1,    73,    -1,    75,    76,    77,    78,    79,
17208       80,    81,    82,    83,    -1,    85,    86,    87,    88,    89,
17209       90,    -1,    92,    93,    94,    95,    96,    97,    98,    99,
17210      100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
17211      110,   111,    -1,   113,    -1,   115,   116,   117,   118,   119,
17212      120,    -1,   122,   123,   124,   125,    -1,    -1,   128,   129,
17213      130,   131,   132,    -1,   134,   135,   136,    -1,   138,   139,
17214      140,    -1,   142,   143,   144,   145,   146,   147,   148,   149,
17215      150,    -1,   152,    -1,   154,   155,   156,   157,    -1,   159,
17216       -1,   161,   162,    -1,   164,   165,   166,   167,   168,    -1,
17217      170,   171,    -1,   173,   174,   175,    -1,   177,   178,   179,
17218      180,   181,   182,   183,   184,   185,   186,    -1,   188,   189,
17219      190,   191,   192,   193,   194,    -1,   196,   197,   198,   199,
17220      200,   201,   202,   203,   204,    -1,   206,    -1,   208,   209,
17221      210,   211,   212,   213,   214,   215,   216,   217,    -1,    -1,
17222      220,   221,   222,   223,   224,    -1,   226,   227,   228,   229,
17223      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
17224      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
17225      250,   251,   252,   253,    -1,   255,   256,   257,   258,    -1,
17226      260,   261,   262,   263,   264,   265,    -1,   267,   268,    -1,
17227       -1,   271,   272,   273,    -1,    -1,   276,   277,   278,   279,
17228      280,   281,   282,   283,   284,   285,   286,   287,   288,   289,
17229      290,   291,    -1,   293,   294,   295,   296,   297,   298,   299,
17230      300,    -1,   302,   303,   304,   305,   306,   307,   308,   309,
17231      310,   311,   312,   313,   314,   315,   316,    -1,   318,   319,
17232      320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
17233       -1,   331,   332,   333,   334,   335,   336,   337,   338,   339,
17234      340,   341,   342,   343,   344,   345,   346,   347,   348,    -1,
17235      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
17236      360,   361,   362,   363,   364,   365,    -1,   367,   368,   369,
17237      370,   371,   372,   373,   374,   375,   376,   377,   378,   379,
17238       -1,   381,   382,    -1,   384,   385,   386,   387,   388,   389,
17239      390,    -1,   392,   393,   394,    -1,    -1,   397,   398,   399,
17240      400,   401,    -1,   403,   404,   405,   406,   407,   408,   409,
17241       -1,    -1,   412,   413,   414,   415,   416,   417,    -1,   419,
17242      420,   421,   422,   423,   424,   425,    -1,   427,   428,   429,
17243      430,   431,   432,    -1,    -1,   435,    -1,    -1,   438,   439,
17244      440,   441,   442,   443,   444,   445,   446,   447,   448,   449,
17245      450,   451,   452,   453,   454,   455,   456,   457,    -1,    -1,
17246        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
17247       -1,    -1,    -1,    -1,   474,    18,    19,    20,    21,    22,
17248       23,    24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,
17249       -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,    42,
17250       43,    44,    45,    46,    47,    48,    49,    50,    51,    -1,
17251       53,    54,    55,    56,    57,    58,    -1,    60,    61,    62,
17252       63,    64,    65,    -1,    67,    68,    69,    70,    71,    -1,
17253       73,    -1,    75,    76,    77,    78,    79,    80,    81,    82,
17254       83,    -1,    85,    86,    87,    88,    89,    90,    -1,    92,
17255       93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
17256      103,   104,   105,   106,   107,   108,   109,   110,   111,    -1,
17257      113,    -1,   115,   116,   117,   118,   119,   120,    -1,   122,
17258      123,   124,   125,    -1,    -1,   128,   129,   130,   131,   132,
17259       -1,   134,   135,   136,    -1,   138,   139,   140,    -1,   142,
17260      143,   144,   145,   146,   147,   148,   149,   150,    -1,   152,
17261       -1,   154,   155,   156,   157,    -1,   159,    -1,   161,   162,
17262       -1,   164,   165,   166,   167,   168,    -1,   170,   171,    -1,
17263      173,   174,   175,    -1,   177,   178,   179,   180,   181,   182,
17264      183,   184,   185,   186,    -1,   188,   189,   190,   191,   192,
17265      193,   194,    -1,   196,   197,   198,   199,   200,   201,   202,
17266      203,   204,    -1,   206,    -1,   208,   209,   210,   211,   212,
17267      213,   214,   215,   216,   217,    -1,    -1,   220,   221,   222,
17268      223,   224,    -1,   226,   227,   228,   229,   230,   231,   232,
17269      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
17270      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
17271      253,    -1,   255,   256,   257,   258,    -1,   260,   261,   262,
17272      263,   264,   265,    -1,   267,   268,    -1,    -1,   271,   272,
17273      273,    -1,    -1,   276,   277,   278,   279,   280,   281,   282,
17274      283,   284,   285,   286,   287,   288,   289,   290,   291,    -1,
17275      293,   294,   295,   296,   297,   298,   299,   300,    -1,   302,
17276      303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
17277      313,   314,   315,   316,    -1,   318,   319,   320,   321,   322,
17278      323,   324,   325,   326,   327,   328,   329,    -1,   331,   332,
17279      333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
17280      343,   344,   345,   346,   347,   348,    -1,   350,   351,   352,
17281      353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
17282      363,   364,   365,    -1,   367,   368,   369,   370,   371,   372,
17283      373,   374,   375,   376,   377,   378,   379,    -1,   381,   382,
17284       -1,   384,   385,   386,   387,   388,   389,   390,    -1,   392,
17285      393,   394,    -1,    -1,   397,   398,   399,   400,   401,    -1,
17286      403,   404,   405,   406,   407,   408,   409,    -1,    -1,   412,
17287      413,   414,   415,   416,   417,    -1,   419,   420,   421,   422,
17288      423,   424,   425,    -1,   427,   428,   429,   430,   431,   432,
17289       -1,    -1,   435,    -1,    -1,   438,   439,   440,   441,   442,
17290      443,   444,   445,   446,   447,   448,   449,   450,   451,   452,
17291      453,   454,   455,   456,   457,    -1,    -1,     3,    -1,    -1,
17292       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
17293       -1,   474,    18,    19,    20,    21,    22,    23,    24,    25,
17294       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
17295       -1,    37,    38,    -1,    40,    41,    42,    43,    44,    45,
17296       46,    47,    48,    49,    50,    51,    -1,    53,    54,    55,
17297       56,    57,    58,    -1,    60,    61,    62,    63,    64,    65,
17298       -1,    67,    68,    69,    70,    71,    -1,    73,    -1,    75,
17299       76,    77,    78,    79,    80,    81,    82,    83,    -1,    85,
17300       86,    87,    88,    89,    90,    -1,    92,    93,    94,    95,
17301       96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
17302      106,   107,   108,   109,   110,   111,    -1,   113,    -1,   115,
17303      116,   117,   118,   119,   120,    -1,   122,   123,   124,   125,
17304       -1,    -1,   128,   129,   130,   131,   132,    -1,   134,   135,
17305      136,    -1,   138,   139,   140,    -1,   142,   143,   144,   145,
17306      146,   147,   148,   149,   150,    -1,   152,    -1,   154,   155,
17307      156,   157,    -1,   159,    -1,   161,   162,    -1,   164,   165,
17308      166,   167,   168,    -1,   170,   171,    -1,   173,   174,   175,
17309       -1,   177,   178,   179,   180,   181,   182,   183,   184,   185,
17310      186,    -1,   188,   189,   190,   191,   192,   193,   194,    -1,
17311      196,   197,   198,   199,   200,   201,   202,   203,   204,    -1,
17312      206,    -1,   208,   209,   210,   211,   212,   213,   214,   215,
17313      216,   217,    -1,    -1,   220,   221,   222,   223,   224,    -1,
17314      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
17315      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
17316      246,   247,   248,   249,   250,   251,   252,   253,    -1,   255,
17317      256,   257,   258,    -1,   260,   261,   262,   263,   264,   265,
17318       -1,   267,   268,    -1,    -1,   271,   272,   273,    -1,    -1,
17319      276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
17320      286,   287,   288,   289,   290,   291,    -1,   293,   294,   295,
17321      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
17322      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
17323      316,    -1,   318,   319,   320,   321,   322,   323,   324,   325,
17324      326,   327,   328,   329,    -1,   331,   332,   333,   334,   335,
17325      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
17326      346,   347,   348,    -1,   350,   351,   352,   353,   354,   355,
17327      356,   357,   358,   359,   360,   361,   362,   363,   364,   365,
17328       -1,   367,   368,   369,   370,   371,   372,   373,   374,   375,
17329      376,   377,   378,   379,    -1,   381,   382,    -1,   384,   385,
17330      386,   387,   388,   389,   390,    -1,   392,   393,   394,    -1,
17331       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
17332      406,   407,   408,   409,    -1,    -1,   412,   413,   414,   415,
17333      416,   417,    -1,   419,   420,   421,   422,   423,   424,   425,
17334       -1,   427,   428,   429,   430,   431,   432,    -1,    -1,   435,
17335       -1,    -1,   438,   439,   440,   441,   442,   443,   444,   445,
17336      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
17337      456,   457,    -1,    -1,     3,     4,     5,    -1,    -1,    -1,
17338        9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   474,    18,
17339       19,    20,    21,    22,    23,    24,    25,    -1,    27,    28,
17340       29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,
17341       -1,    40,    41,    42,    43,    44,    45,    46,    47,    48,
17342       49,    50,    51,    -1,    53,    54,    55,    56,    57,    58,
17343       -1,    -1,    61,    62,    63,    64,    65,    -1,    67,    68,
17344       69,    70,    71,    -1,    73,    -1,    75,    76,    77,    78,
17345       79,    80,    81,    82,    83,    -1,    85,    86,    87,    88,
17346       89,    90,    -1,    92,    93,    94,    95,    -1,    -1,    -1,
17347       99,    -1,    -1,    -1,   103,   104,   105,   106,   107,   108,
17348      109,   110,   111,    -1,   113,    -1,   115,   116,   117,   118,
17349      119,   120,    -1,   122,   123,   124,   125,    -1,    -1,   128,
17350      129,   130,   131,   132,    -1,   134,   135,   136,    -1,   138,
17351      139,   140,    -1,   142,   143,   144,   145,   146,   147,   148,
17352      149,   150,   151,   152,    -1,   154,   155,   156,   157,    -1,
17353      159,    -1,   161,   162,    -1,   164,   165,   166,   167,   168,
17354       -1,   170,   171,    -1,   173,   174,   175,    -1,   177,   178,
17355      179,   180,   181,   182,   183,   184,   185,   186,    -1,   188,
17356      189,   190,   191,   192,   193,   194,    -1,   196,   197,   198,
17357      199,   200,   201,   202,   203,   204,    -1,   206,    -1,   208,
17358      209,   210,   211,   212,   213,   214,   215,   216,   217,    -1,
17359       -1,   220,   221,   222,   223,   224,    -1,   226,   227,   228,
17360       -1,    -1,   231,   232,   233,   234,   235,   236,   237,   238,
17361      239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
17362      249,   250,   251,   252,   253,    -1,   255,   256,   257,   258,
17363       -1,   260,   261,   262,   263,   264,   265,    -1,   267,   268,
17364      269,    -1,   271,   272,   273,    -1,    -1,   276,   277,   278,
17365      279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
17366      289,   290,   291,    -1,   293,   294,   295,   296,   297,   298,
17367      299,   300,    -1,   302,   303,   304,   305,   306,   307,   308,
17368      309,   310,   311,   312,   313,   314,   315,   316,    -1,   318,
17369      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
17370      329,    -1,   331,   332,   333,   334,   335,   336,   337,   338,
17371      339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
17372       -1,   350,   351,   352,   353,   354,    -1,   356,   357,   358,
17373      359,   360,   361,   362,   363,   364,   365,    -1,   367,   368,
17374      369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
17375      379,    -1,   381,   382,    -1,   384,   385,   386,   387,   388,
17376      389,   390,    -1,   392,   393,   394,    -1,    -1,   397,   398,
17377      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
17378      409,    -1,    -1,   412,   413,   414,   415,   416,    -1,    -1,
17379      419,   420,   421,   422,   423,   424,   425,    -1,   427,   428,
17380      429,   430,   431,   432,    -1,    -1,   435,    -1,    -1,   438,
17381      439,   440,   441,   442,   443,   444,   445,   446,   447,   448,
17382      449,   450,   451,   452,   453,   454,   455,   456,   457,    -1,
17383       -1,     3,    -1,    -1,    -1,    -1,   465,   466,   467,    -1,
17384       -1,    -1,    -1,    -1,    -1,   474,    18,    19,    20,    21,
17385       22,    23,    24,    25,    -1,    27,    28,    29,    30,    31,
17386       -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,
17387       42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
17388       -1,    53,    54,    55,    56,    57,    58,    -1,    -1,    61,
17389       62,    63,    64,    65,    -1,    67,    68,    69,    70,    71,
17390       -1,    73,    -1,    75,    76,    77,    78,    79,    80,    81,
17391       82,    83,    -1,    85,    86,    87,    88,    89,    90,    -1,
17392       92,    93,    94,    95,    -1,    -1,    -1,    99,    -1,    -1,
17393       -1,   103,   104,   105,   106,   107,   108,   109,   110,   111,
17394       -1,   113,    -1,   115,   116,   117,   118,   119,   120,    -1,
17395      122,   123,   124,   125,    -1,    -1,   128,   129,   130,   131,
17396      132,    -1,   134,   135,   136,    -1,   138,   139,   140,    -1,
17397      142,   143,   144,   145,   146,   147,   148,   149,   150,    -1,
17398      152,    -1,   154,   155,   156,   157,    -1,   159,    -1,   161,
17399      162,    -1,   164,   165,   166,   167,   168,    -1,   170,   171,
17400       -1,   173,   174,   175,    -1,   177,   178,   179,   180,   181,
17401      182,   183,   184,   185,   186,    -1,   188,   189,   190,   191,
17402      192,   193,   194,    -1,   196,   197,   198,   199,   200,   201,
17403      202,   203,   204,    -1,   206,    -1,   208,   209,   210,   211,
17404      212,   213,   214,   215,   216,   217,    -1,    -1,   220,   221,
17405      222,   223,   224,    -1,   226,   227,   228,    -1,    -1,   231,
17406      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
17407      242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
17408      252,   253,    -1,   255,   256,   257,   258,    -1,   260,   261,
17409      262,   263,   264,   265,    -1,   267,   268,    -1,    -1,   271,
17410      272,   273,    -1,    -1,   276,   277,   278,   279,   280,   281,
17411      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
17412       -1,   293,   294,   295,   296,   297,   298,   299,   300,    -1,
17413      302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
17414      312,   313,   314,   315,   316,    -1,   318,   319,   320,   321,
17415      322,   323,   324,   325,   326,   327,   328,   329,    -1,   331,
17416      332,   333,   334,   335,   336,   337,   338,   339,   340,   341,
17417      342,   343,   344,   345,   346,   347,   348,   349,   350,   351,
17418      352,   353,   354,    -1,   356,   357,   358,   359,   360,   361,
17419      362,   363,   364,   365,    -1,   367,   368,   369,   370,   371,
17420      372,   373,   374,   375,   376,   377,   378,   379,    -1,   381,
17421      382,   383,   384,   385,   386,   387,   388,   389,   390,    -1,
17422      392,   393,   394,    -1,    -1,   397,   398,   399,   400,   401,
17423       -1,   403,   404,   405,   406,   407,   408,   409,    -1,    -1,
17424      412,   413,   414,   415,   416,    -1,    -1,   419,   420,   421,
17425      422,   423,   424,   425,    -1,   427,   428,   429,   430,   431,
17426      432,    -1,    -1,   435,    -1,   437,   438,   439,   440,   441,
17427      442,   443,   444,   445,   446,   447,   448,   449,   450,   451,
17428      452,   453,   454,   455,   456,   457,    -1,    -1,   460,     3,
17429       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
17430       -1,    -1,   474,    -1,    18,    19,    20,    21,    22,    23,
17431       24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,
17432       -1,    -1,    -1,    37,    38,    -1,    40,    41,    42,    43,
17433       44,    45,    46,    47,    48,    49,    50,    51,    -1,    53,
17434       54,    55,    56,    57,    58,    -1,    -1,    61,    62,    63,
17435       64,    65,    -1,    67,    68,    69,    70,    71,    -1,    73,
17436       -1,    75,    76,    77,    78,    79,    80,    81,    82,    83,
17437       -1,    85,    86,    87,    88,    89,    90,    -1,    92,    93,
17438       94,    95,    -1,    -1,    -1,    99,    -1,    -1,    -1,   103,
17439      104,   105,   106,   107,   108,   109,   110,   111,    -1,   113,
17440       -1,   115,   116,   117,   118,   119,   120,    -1,   122,   123,
17441      124,   125,    -1,    -1,   128,   129,   130,   131,   132,    -1,
17442      134,   135,   136,    -1,   138,   139,   140,    -1,   142,   143,
17443      144,   145,   146,   147,   148,   149,   150,    -1,   152,    -1,
17444      154,   155,   156,   157,    -1,   159,    -1,   161,   162,    -1,
17445      164,   165,   166,   167,   168,    -1,   170,   171,    -1,   173,
17446      174,   175,    -1,   177,   178,   179,   180,   181,   182,   183,
17447      184,   185,   186,    -1,   188,   189,   190,   191,   192,   193,
17448      194,    -1,   196,   197,   198,   199,   200,   201,   202,   203,
17449      204,    -1,   206,    -1,   208,   209,   210,   211,   212,   213,
17450      214,   215,   216,   217,    -1,    -1,   220,   221,   222,   223,
17451      224,    -1,   226,   227,   228,    -1,    -1,   231,   232,   233,
17452      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
17453      244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
17454       -1,   255,   256,   257,   258,    -1,   260,   261,   262,   263,
17455      264,   265,    -1,   267,   268,    -1,    -1,   271,   272,   273,
17456       -1,    -1,   276,   277,   278,   279,   280,   281,   282,   283,
17457      284,   285,   286,   287,   288,   289,   290,   291,    -1,   293,
17458      294,   295,   296,   297,   298,   299,   300,    -1,   302,   303,
17459      304,   305,   306,   307,   308,   309,   310,   311,   312,   313,
17460      314,   315,   316,    -1,   318,   319,   320,   321,   322,   323,
17461      324,   325,   326,   327,   328,   329,    -1,   331,   332,   333,
17462      334,   335,   336,   337,   338,   339,   340,   341,   342,   343,
17463      344,   345,   346,   347,   348,    -1,   350,   351,   352,   353,
17464      354,    -1,   356,   357,   358,   359,   360,   361,   362,   363,
17465      364,   365,    -1,   367,   368,   369,   370,   371,   372,   373,
17466      374,   375,   376,   377,   378,   379,    -1,   381,   382,    -1,
17467      384,   385,   386,   387,   388,   389,   390,    -1,   392,   393,
17468      394,    -1,    -1,   397,   398,   399,   400,   401,    -1,   403,
17469      404,   405,   406,   407,   408,   409,    -1,    -1,   412,   413,
17470      414,   415,   416,    -1,    -1,   419,   420,   421,   422,   423,
17471      424,   425,    -1,   427,   428,   429,   430,   431,   432,    -1,
17472       -1,   435,    -1,    -1,   438,   439,   440,   441,   442,   443,
17473      444,   445,   446,   447,   448,   449,   450,   451,   452,   453,
17474      454,   455,   456,   457,    -1,    -1,     3,    -1,    -1,    -1,
17475       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
17476      474,    18,    19,    20,    21,    22,    23,    24,    25,    -1,
17477       27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
17478       37,    38,    -1,    40,    41,    42,    -1,    44,    45,    46,
17479       47,    48,    -1,    50,    51,    -1,    53,    54,    55,    56,
17480       57,    58,    -1,    -1,    61,    62,    63,    64,    65,    -1,
17481       67,    68,    69,    70,    71,    -1,    -1,    -1,    75,    76,
17482       77,    78,    79,    -1,    81,    82,    83,    -1,    85,    86,
17483       87,    88,    89,    90,    -1,    -1,    93,    94,    95,    -1,
17484       -1,    -1,    -1,    -1,    -1,    -1,   103,   104,   105,   106,
17485      107,   108,   109,   110,   111,    -1,   113,    -1,   115,   116,
17486      117,   118,   119,   120,    -1,   122,   123,   124,   125,    -1,
17487       -1,   128,   129,   130,   131,   132,    -1,   134,   135,   136,
17488       -1,   138,   139,   140,    -1,   142,   143,   144,   145,   146,
17489      147,   148,   149,   150,    -1,   152,    -1,   154,   155,   156,
17490      157,    -1,   159,    -1,   161,    -1,    -1,    -1,   165,   166,
17491      167,   168,    -1,   170,   171,    -1,   173,   174,   175,    -1,
17492      177,   178,   179,   180,   181,    -1,   183,   184,   185,   186,
17493       -1,   188,   189,   190,   191,   192,   193,   194,    -1,   196,
17494       -1,   198,   199,   200,   201,   202,   203,   204,    -1,   206,
17495       -1,   208,    -1,    -1,   211,    -1,   213,   214,   215,   216,
17496      217,    -1,    -1,   220,   221,    -1,   223,    -1,    -1,   226,
17497      227,   228,    -1,    -1,   231,   232,   233,   234,   235,   236,
17498      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
17499      247,    -1,   249,   250,   251,   252,   253,    -1,   255,   256,
17500       -1,   258,    -1,   260,   261,   262,   263,   264,   265,    -1,
17501      267,   268,    -1,    -1,   271,   272,   273,    -1,    -1,   276,
17502      277,   278,    -1,   280,    -1,   282,   283,   284,   285,   286,
17503      287,   288,   289,   290,   291,    -1,   293,   294,   295,   296,
17504      297,   298,   299,   300,    -1,   302,   303,   304,   305,   306,
17505      307,   308,   309,   310,   311,   312,   313,   314,   315,   316,
17506       -1,   318,   319,   320,   321,   322,   323,   324,   325,   326,
17507      327,   328,   329,    -1,   331,   332,    -1,   334,   335,   336,
17508      337,   338,   339,   340,   341,   342,   343,   344,   345,   346,
17509      347,   348,   349,   350,   351,   352,   353,   354,    -1,   356,
17510      357,   358,   359,   360,    -1,   362,   363,   364,   365,    -1,
17511      367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
17512      377,   378,   379,    -1,   381,   382,   383,   384,    -1,   386,
17513      387,   388,   389,   390,    -1,   392,   393,   394,    -1,    -1,
17514      397,   398,   399,   400,   401,    -1,   403,   404,   405,   406,
17515      407,   408,   409,    -1,    -1,   412,   413,   414,   415,   416,
17516       -1,    -1,   419,   420,   421,   422,   423,   424,   425,    -1,
17517      427,    -1,   429,   430,   431,   432,    -1,    -1,   435,    -1,
17518      437,   438,   439,   440,   441,   442,   443,   444,   445,   446,
17519      447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
17520      457,    -1,    -1,   460,     3,    -1,    -1,    -1,    -1,    -1,
17521       -1,    -1,    -1,    -1,    -1,    -1,    -1,   474,    -1,    18,
17522       19,    20,    21,    22,    23,    24,    25,    -1,    27,    28,
17523       29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,
17524       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    48,
17525       -1,    50,    51,    -1,    53,    54,    55,    56,    57,    58,
17526       -1,    -1,    61,    62,    63,    64,    65,    -1,    67,    68,
17527       69,    70,    71,    -1,    -1,    -1,    75,    76,    77,    78,
17528       79,    -1,    81,    82,    83,    -1,    85,    86,    87,    88,
17529       89,    90,    -1,    -1,    93,    94,    95,    -1,    -1,    -1,
17530       -1,    -1,    -1,    -1,   103,   104,   105,   106,   107,   108,
17531      109,   110,   111,    -1,   113,    -1,   115,   116,   117,   118,
17532      119,   120,    -1,   122,   123,   124,   125,    -1,    -1,   128,
17533      129,   130,   131,   132,    -1,   134,   135,   136,    -1,   138,
17534      139,   140,    -1,   142,   143,   144,   145,   146,   147,   148,
17535      149,   150,    -1,   152,    -1,   154,   155,   156,   157,    -1,
17536      159,    -1,   161,    -1,    -1,    -1,   165,   166,   167,   168,
17537       -1,   170,   171,    -1,   173,   174,   175,    -1,   177,   178,
17538      179,   180,   181,    -1,   183,   184,   185,   186,    -1,   188,
17539      189,   190,   191,   192,   193,   194,    -1,   196,    -1,   198,
17540      199,   200,   201,   202,   203,   204,    -1,   206,    -1,   208,
17541       -1,    -1,   211,    -1,   213,   214,   215,   216,   217,    -1,
17542       -1,   220,   221,    -1,   223,    -1,    -1,   226,   227,   228,
17543       -1,    -1,   231,   232,   233,   234,   235,   236,   237,   238,
17544      239,   240,   241,   242,   243,   244,   245,   246,   247,    -1,
17545      249,   250,   251,   252,   253,    -1,   255,   256,    -1,   258,
17546       -1,   260,   261,   262,   263,   264,   265,    -1,   267,   268,
17547       -1,    -1,   271,   272,   273,    -1,    -1,   276,   277,   278,
17548       -1,   280,    -1,   282,   283,   284,   285,   286,   287,   288,
17549      289,   290,   291,    -1,   293,   294,   295,   296,   297,   298,
17550      299,   300,    -1,   302,   303,   304,   305,   306,   307,   308,
17551      309,   310,   311,   312,   313,   314,   315,   316,    -1,   318,
17552      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
17553      329,    -1,   331,   332,    -1,   334,   335,   336,   337,   338,
17554      339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
17555       -1,   350,   351,   352,   353,   354,    -1,   356,   357,   358,
17556      359,   360,    -1,   362,   363,   364,   365,    -1,   367,   368,
17557      369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
17558      379,    -1,   381,   382,    -1,   384,    -1,   386,   387,   388,
17559      389,   390,    -1,   392,   393,   394,    -1,    -1,   397,   398,
17560      399,   400,   401,    -1,   403,   404,   405,   406,   407,   408,
17561      409,    -1,    -1,   412,   413,   414,   415,   416,    -1,    -1,
17562      419,   420,   421,   422,   423,   424,   425,    -1,   427,    -1,
17563      429,   430,   431,   432,    -1,    -1,   435,    -1,    -1,   438,
17564      439,   440,   441,   442,   443,   444,   445,   446,   447,   448,
17565      449,   450,   451,   452,   453,   454,   455,   456,   457,    -1,
17566       -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
17567       -1,    -1,    -1,    -1,    -1,   474,    18,    19,    20,    21,
17568       22,    23,    24,    25,    -1,    27,    28,    29,    -1,    -1,
17569       -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,
17570       42,    -1,    44,    45,    46,    47,    48,    -1,    50,    51,
17571       -1,    53,    54,    55,    56,    57,    58,    -1,    -1,    61,
17572       62,    63,    64,    65,    -1,    67,    68,    69,    70,    71,
17573       -1,    -1,    -1,    75,    76,    77,    78,    79,    -1,    81,
17574       82,    83,    -1,    85,    86,    87,    88,    89,    90,    -1,
17575       -1,    93,    94,    95,    -1,    -1,    -1,    -1,    -1,    -1,
17576       -1,   103,   104,   105,   106,   107,   108,   109,   110,   111,
17577       -1,   113,    -1,   115,   116,   117,   118,   119,   120,    -1,
17578      122,   123,   124,   125,    -1,    -1,   128,   129,   130,   131,
17579      132,    -1,   134,   135,   136,    -1,   138,   139,   140,    -1,
17580      142,   143,   144,   145,   146,   147,   148,   149,   150,    -1,
17581      152,    -1,   154,   155,   156,   157,    -1,   159,    -1,   161,
17582       -1,    -1,    -1,   165,   166,   167,   168,    -1,   170,   171,
17583       -1,   173,   174,   175,    -1,   177,   178,   179,   180,   181,
17584       -1,   183,   184,   185,   186,    -1,   188,   189,   190,   191,
17585      192,   193,   194,    -1,   196,    -1,   198,   199,   200,   201,
17586      202,   203,   204,    -1,   206,    -1,   208,    -1,    -1,   211,
17587       -1,   213,   214,   215,   216,   217,    -1,    -1,   220,   221,
17588       -1,   223,    -1,    -1,   226,   227,   228,    -1,    -1,   231,
17589      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
17590      242,   243,   244,   245,   246,   247,    -1,   249,   250,   251,
17591      252,   253,    -1,   255,   256,    -1,   258,    -1,   260,   261,
17592      262,   263,   264,   265,    -1,   267,   268,    -1,    -1,   271,
17593      272,   273,    -1,    -1,   276,   277,   278,    -1,   280,    -1,
17594      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
17595       -1,   293,   294,   295,   296,   297,   298,   299,   300,    -1,
17596      302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
17597      312,   313,   314,   315,   316,    -1,   318,   319,   320,   321,
17598      322,   323,   324,   325,   326,   327,   328,   329,    -1,   331,
17599      332,    -1,   334,   335,   336,   337,   338,   339,   340,   341,
17600      342,   343,   344,   345,   346,   347,   348,    -1,   350,   351,
17601      352,   353,   354,    -1,   356,   357,   358,   359,   360,    -1,
17602      362,   363,   364,   365,    -1,   367,   368,   369,   370,   371,
17603      372,   373,   374,   375,   376,   377,   378,   379,    -1,   381,
17604      382,    -1,   384,    -1,   386,   387,   388,   389,   390,    -1,
17605      392,   393,   394,    -1,    -1,   397,   398,   399,   400,   401,
17606       -1,   403,   404,   405,   406,   407,   408,   409,    -1,    -1,
17607      412,   413,   414,   415,   416,    -1,    -1,   419,   420,   421,
17608      422,   423,   424,   425,    -1,   427,    -1,   429,   430,   431,
17609      432,    -1,    -1,   435,    -1,    -1,   438,   439,   440,   441,
17610      442,   443,   444,   445,   446,   447,   448,   449,   450,   451,
17611      452,   453,   454,   455,   456,   457,    -1,    -1,     3,    -1,
17612       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
17613       -1,    -1,   474,    18,    19,    20,    21,    22,    23,    24,
17614       25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,
17615       -1,    -1,    37,    38,    -1,    40,    41,    42,    -1,    44,
17616       45,    46,    47,    48,    -1,    50,    51,    -1,    53,    54,
17617       55,    56,    57,    58,    -1,    -1,    61,    62,    63,    64,
17618       65,    -1,    67,    68,    69,    70,    71,    -1,    -1,    -1,
17619       75,    76,    77,    78,    79,    -1,    81,    82,    83,    -1,
17620       85,    86,    87,    88,    89,    90,    -1,    -1,    93,    94,
17621       95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,   104,
17622      105,   106,   107,   108,   109,   110,   111,    -1,   113,    -1,
17623      115,   116,   117,   118,   119,   120,    -1,   122,   123,   124,
17624      125,    -1,    -1,   128,   129,   130,   131,   132,    -1,   134,
17625      135,   136,    -1,   138,   139,   140,    -1,   142,   143,   144,
17626      145,   146,   147,   148,   149,   150,    -1,   152,    -1,   154,
17627      155,   156,   157,    -1,   159,    -1,   161,    -1,    -1,    -1,
17628      165,   166,   167,   168,    -1,   170,   171,    -1,   173,   174,
17629      175,    -1,   177,   178,   179,   180,   181,    -1,   183,   184,
17630      185,   186,    -1,   188,   189,   190,   191,   192,   193,   194,
17631       -1,   196,    -1,   198,   199,   200,   201,   202,   203,   204,
17632       -1,   206,    -1,   208,    -1,    -1,   211,    -1,   213,   214,
17633      215,   216,   217,    -1,    -1,   220,   221,    -1,   223,    -1,
17634       -1,   226,   227,   228,    -1,    -1,   231,   232,   233,   234,
17635      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
17636      245,   246,   247,    -1,   249,   250,   251,   252,   253,    -1,
17637      255,   256,    -1,   258,    -1,   260,   261,   262,   263,   264,
17638      265,    -1,   267,   268,    -1,    -1,   271,   272,   273,    -1,
17639       -1,   276,   277,   278,    -1,   280,    -1,   282,   283,   284,
17640      285,   286,   287,   288,   289,   290,   291,    -1,   293,   294,
17641      295,   296,   297,   298,   299,   300,    -1,   302,   303,   304,
17642      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
17643      315,   316,    -1,   318,   319,   320,   321,   322,   323,   324,
17644      325,   326,   327,   328,   329,    -1,   331,   332,    -1,   334,
17645      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
17646      345,   346,   347,   348,    -1,   350,   351,   352,   353,   354,
17647       -1,   356,   357,   358,   359,   360,    -1,   362,   363,   364,
17648      365,    -1,   367,   368,   369,   370,   371,   372,   373,   374,
17649      375,   376,   377,   378,   379,    -1,   381,   382,    -1,   384,
17650       -1,   386,   387,   388,   389,   390,    -1,   392,   393,   394,
17651       -1,    -1,   397,   398,   399,   400,   401,    -1,   403,   404,
17652      405,   406,   407,   408,   409,    -1,    -1,   412,   413,   414,
17653      415,   416,    -1,    -1,   419,   420,   421,   422,   423,   424,
17654      425,    -1,   427,    -1,   429,   430,   431,   432,    -1,    -1,
17655      435,    -1,    -1,   438,   439,   440,   441,   442,   443,   444,
17656      445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
17657      455,   456,   457,    -1,    -1,     3,    -1,    -1,    -1,    -1,
17658       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   474,
17659       18,    19,    20,    21,    22,    23,    24,    25,    -1,    27,
17660       28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,
17661       38,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
17662       48,    -1,    50,    51,    -1,    53,    54,    55,    56,    57,
17663       58,    -1,    -1,    61,    62,    63,    64,    65,    -1,    67,
17664       68,    69,    70,    71,    -1,    -1,    -1,    75,    76,    77,
17665       78,    79,    -1,    81,    82,    83,    -1,    85,    86,    87,
17666       88,    89,    90,    -1,    -1,    93,    94,    95,    -1,    -1,
17667       -1,    -1,    -1,    -1,    -1,   103,   104,   105,   106,   107,
17668      108,   109,   110,   111,    -1,   113,    -1,   115,   116,   117,
17669      118,   119,   120,    -1,   122,   123,   124,   125,    -1,    -1,
17670      128,   129,   130,   131,   132,    -1,   134,   135,   136,    -1,
17671      138,   139,   140,    -1,   142,   143,   144,   145,   146,   147,
17672      148,   149,   150,    -1,   152,    -1,   154,   155,   156,   157,
17673       -1,   159,    -1,   161,    -1,    -1,    -1,   165,   166,   167,
17674      168,    -1,   170,   171,    -1,   173,   174,   175,    -1,   177,
17675      178,   179,   180,   181,    -1,   183,   184,   185,   186,    -1,
17676      188,   189,   190,   191,   192,   193,   194,    -1,   196,    -1,
17677      198,   199,   200,   201,   202,   203,   204,    -1,   206,    -1,
17678      208,    -1,    -1,   211,    -1,   213,   214,   215,   216,   217,
17679       -1,    -1,   220,   221,    -1,   223,    -1,    -1,   226,   227,
17680      228,    -1,    -1,   231,   232,   233,   234,   235,   236,   237,
17681      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
17682       -1,   249,   250,   251,   252,   253,    -1,   255,   256,    -1,
17683      258,    -1,   260,   261,   262,   263,   264,   265,    -1,   267,
17684      268,    -1,    -1,   271,   272,   273,    -1,    -1,   276,   277,
17685      278,    -1,   280,    -1,   282,   283,   284,   285,   286,   287,
17686      288,   289,   290,   291,    -1,   293,   294,   295,   296,   297,
17687      298,   299,   300,    -1,   302,   303,   304,   305,   306,   307,
17688      308,   309,   310,   311,   312,   313,   314,   315,   316,    -1,
17689      318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
17690      328,   329,    -1,   331,   332,    -1,   334,   335,   336,   337,
17691      338,   339,   340,   341,   342,   343,   344,   345,   346,   347,
17692      348,    -1,   350,   351,   352,   353,   354,    -1,   356,   357,
17693      358,   359,   360,    -1,   362,   363,   364,   365,    -1,   367,
17694      368,   369,   370,   371,   372,   373,   374,   375,   376,   377,
17695      378,   379,    -1,   381,   382,    -1,   384,    -1,   386,   387,
17696      388,   389,   390,    -1,   392,   393,   394,    -1,    -1,   397,
17697      398,   399,   400,   401,    -1,   403,   404,   405,   406,   407,
17698      408,   409,    -1,    -1,   412,   413,   414,   415,   416,    -1,
17699       -1,   419,   420,   421,   422,   423,   424,   425,    -1,   427,
17700       -1,   429,   430,   431,   432,    -1,    -1,   435,    -1,    -1,
17701      438,   439,   440,   441,   442,   443,   444,   445,   446,   447,
17702      448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
17703       -1,    -1,    -1,    -1,    -1,     3,     4,     5,    -1,    -1,
17704        8,     9,    -1,    -1,    -1,    -1,   474,    15,    16,    17,
17705       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
17706       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
17707       38,    39,    40,    41,    42,    43,    44,    45,    46,    -1,
17708       48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
17709       58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
17710       68,    69,    70,    -1,    72,    73,    74,    75,    76,    77,
17711       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
17712       88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
17713       98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
17714      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
17715      118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
17716      128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
17717      138,   139,   140,   141,   142,   143,   144,   145,    -1,   147,
17718      148,   149,    -1,   151,   152,   153,   154,   155,   156,   157,
17719      158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
17720      168,   169,   170,    -1,   172,    -1,   174,   175,   176,   177,
17721      178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
17722      188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
17723       -1,   199,   200,   201,   202,   203,   204,   205,   206,   207,
17724      208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
17725      218,   219,   220,    -1,   222,   223,   224,   225,   226,   227,
17726      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
17727      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
17728      248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
17729      258,   259,    -1,   261,   262,   263,   264,   265,   266,   267,
17730      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
17731       -1,   279,   280,   281,    -1,   283,   284,   285,   286,   287,
17732      288,   289,   290,   291,   292,   293,   294,    -1,   296,    -1,
17733      298,   299,   300,   301,   302,   303,   304,   305,   306,   307,
17734      308,   309,   310,   311,   312,   313,   314,   315,   316,   317,
17735      318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
17736      328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
17737      338,    -1,   340,   341,   342,   343,   344,   345,   346,   347,
17738      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
17739      358,   359,   360,   361,   362,   363,   364,   365,   366,   367,
17740      368,   369,   370,   371,   372,   373,   374,   375,   376,   377,
17741      378,    -1,   380,   381,   382,   383,   384,   385,   386,   387,
17742      388,   389,   390,   391,   392,   393,   394,   395,   396,   397,
17743      398,    -1,   400,    -1,   402,   403,   404,   405,   406,   407,
17744      408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
17745      418,   419,   420,   421,   422,   423,    -1,   425,   426,   427,
17746      428,   429,   430,   431,   432,   433,   434,   435,   436,   437,
17747      438,   439,   440,   441,   442,   443,    -1,    -1,    -1,    -1,
17748       -1,    -1,    -1,    -1,    -1,    -1,    -1,   455,   456,   457,
17749       -1,    -1,    -1,   461,   462,   463,    -1,   465,   466,   467,
17750      468,   469,   470,     3,     4,     5,    -1,    -1,     8,     9,
17751       -1,    -1,    -1,    -1,    -1,    15,    16,    17,    18,    19,
17752       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
17753       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
17754       40,    41,    42,    43,    44,    45,    46,    -1,    48,    49,
17755       50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
17756       60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
17757       70,    -1,    72,    73,    74,    75,    76,    77,    78,    79,
17758       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
17759       90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
17760      100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
17761      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
17762      120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
17763      130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
17764      140,   141,   142,   143,   144,   145,    -1,   147,   148,   149,
17765       -1,   151,   152,   153,   154,   155,   156,   157,   158,   159,
17766      160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
17767      170,    -1,   172,    -1,   174,   175,   176,   177,   178,   179,
17768      180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
17769      190,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
17770      200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
17771      210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
17772      220,    -1,   222,   223,   224,   225,   226,   227,   228,   229,
17773      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
17774      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
17775      250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
17776       -1,   261,   262,   263,   264,   265,   266,   267,   268,   269,
17777      270,   271,   272,   273,   274,   275,   276,   277,    -1,   279,
17778      280,   281,    -1,   283,   284,   285,   286,   287,   288,   289,
17779      290,   291,   292,   293,   294,    -1,   296,    -1,   298,   299,
17780      300,   301,   302,   303,   304,   305,   306,   307,   308,   309,
17781      310,   311,   312,   313,   314,   315,   316,   317,   318,   319,
17782      320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
17783      330,   331,   332,   333,   334,   335,   336,   337,   338,    -1,
17784      340,   341,   342,   343,   344,   345,   346,   347,   348,   349,
17785      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
17786      360,   361,   362,   363,   364,   365,   366,   367,   368,   369,
17787      370,   371,   372,   373,   374,   375,   376,   377,   378,    -1,
17788      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
17789      390,   391,   392,   393,   394,   395,   396,   397,   398,    -1,
17790      400,    -1,   402,   403,   404,   405,   406,   407,   408,   409,
17791      410,   411,   412,   413,   414,   415,   416,   417,   418,   419,
17792      420,   421,   422,   423,    -1,   425,   426,   427,   428,   429,
17793      430,   431,   432,   433,   434,   435,   436,   437,   438,   439,
17794      440,   441,   442,   443,    -1,    -1,    -1,    -1,    -1,    -1,
17795       -1,    -1,    -1,    -1,    -1,   455,   456,   457,    -1,     3,
17796       -1,   461,   462,   463,     8,   465,   466,   467,   468,   469,
17797      470,    15,    16,    17,    18,    19,    20,    21,    22,    23,
17798       24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,
17799       -1,    -1,    -1,    37,    38,    -1,    40,    41,    42,    -1,
17800       44,    45,    46,    47,    48,    -1,    50,    51,    -1,    53,
17801       54,    55,    56,    57,    58,    -1,    -1,    61,    62,    63,
17802       64,    65,    -1,    67,    68,    69,    70,    71,    -1,    -1,
17803       -1,    75,    76,    77,    78,    79,    -1,    81,    82,    83,
17804       -1,    85,    86,    87,    88,    89,    90,    -1,    -1,    93,
17805       94,    95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,
17806      104,   105,   106,   107,   108,   109,   110,   111,    -1,   113,
17807       -1,   115,   116,   117,   118,   119,   120,    -1,   122,   123,
17808      124,   125,    -1,    -1,   128,   129,   130,   131,   132,    -1,
17809      134,   135,   136,    -1,   138,   139,   140,    -1,   142,   143,
17810      144,   145,   146,   147,   148,   149,   150,    -1,   152,    -1,
17811      154,   155,   156,   157,    -1,   159,    -1,   161,    -1,    -1,
17812       -1,   165,   166,   167,   168,    -1,   170,   171,    -1,   173,
17813      174,   175,    -1,   177,   178,   179,   180,   181,    -1,   183,
17814      184,   185,   186,    -1,   188,   189,   190,   191,   192,   193,
17815      194,    -1,   196,    -1,   198,   199,   200,   201,   202,   203,
17816      204,    -1,   206,    -1,   208,    -1,    -1,   211,    -1,   213,
17817      214,   215,   216,   217,    -1,    -1,   220,   221,    -1,   223,
17818       -1,    -1,   226,   227,   228,    -1,    -1,   231,   232,   233,
17819      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
17820      244,   245,   246,   247,    -1,   249,   250,   251,   252,   253,
17821       -1,   255,   256,    -1,   258,    -1,   260,   261,   262,   263,
17822      264,   265,    -1,   267,   268,    -1,    -1,   271,   272,   273,
17823       -1,    -1,   276,   277,   278,    -1,   280,    -1,   282,   283,
17824      284,   285,   286,   287,   288,   289,   290,   291,    -1,   293,
17825      294,   295,   296,   297,   298,   299,   300,    -1,   302,   303,
17826      304,   305,   306,   307,   308,   309,   310,   311,   312,   313,
17827      314,   315,   316,    -1,   318,   319,   320,   321,   322,   323,
17828      324,   325,   326,   327,   328,   329,    -1,   331,   332,    -1,
17829      334,   335,   336,   337,   338,   339,   340,   341,   342,   343,
17830      344,   345,   346,   347,   348,    -1,   350,   351,   352,   353,
17831      354,    -1,   356,   357,   358,   359,   360,    -1,   362,   363,
17832      364,   365,    -1,   367,   368,   369,   370,   371,   372,   373,
17833      374,   375,   376,   377,   378,   379,    -1,   381,   382,    -1,
17834      384,    -1,   386,   387,   388,   389,   390,    -1,   392,   393,
17835      394,    -1,    -1,   397,   398,   399,   400,   401,    -1,   403,
17836      404,   405,   406,   407,   408,   409,    -1,    -1,   412,   413,
17837      414,   415,   416,    -1,    -1,   419,   420,   421,   422,   423,
17838      424,   425,    -1,   427,    -1,   429,   430,   431,   432,    -1,
17839       -1,   435,    -1,    -1,   438,   439,   440,   441,   442,   443,
17840      444,   445,   446,   447,   448,   449,   450,   451,   452,   453,
17841      454,   455,   456,   457,    -1,     3,    -1,   461,   462,   463,
17842        8,   465,   466,   467,   468,   469,   470,    15,    16,    17,
17843       18,    19,    20,    21,    22,    23,    24,    25,    -1,    27,
17844       28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,
17845       38,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
17846       48,    -1,    50,    51,    -1,    53,    54,    55,    56,    57,
17847       58,    -1,    -1,    61,    62,    63,    64,    65,    -1,    67,
17848       68,    69,    70,    71,    -1,    -1,    -1,    75,    76,    77,
17849       78,    79,    -1,    81,    82,    83,    -1,    85,    86,    87,
17850       88,    89,    90,    -1,    -1,    93,    94,    95,    -1,    -1,
17851       -1,    -1,    -1,    -1,    -1,   103,   104,   105,   106,   107,
17852      108,   109,   110,   111,    -1,   113,    -1,   115,   116,   117,
17853      118,   119,   120,    -1,   122,   123,   124,   125,    -1,    -1,
17854      128,   129,   130,   131,   132,    -1,   134,   135,   136,    -1,
17855      138,   139,   140,    -1,   142,   143,   144,   145,   146,   147,
17856      148,   149,   150,    -1,   152,    -1,   154,   155,   156,   157,
17857       -1,   159,    -1,   161,    -1,    -1,    -1,   165,   166,   167,
17858      168,    -1,   170,   171,    -1,   173,   174,   175,    -1,   177,
17859      178,   179,   180,   181,    -1,   183,   184,   185,   186,    -1,
17860      188,   189,   190,   191,   192,   193,   194,    -1,   196,    -1,
17861      198,   199,   200,   201,   202,   203,   204,    -1,   206,    -1,
17862      208,    -1,    -1,   211,    -1,   213,   214,   215,   216,   217,
17863       -1,    -1,   220,   221,    -1,   223,    -1,    -1,   226,   227,
17864      228,    -1,    -1,   231,   232,   233,   234,   235,   236,   237,
17865      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
17866       -1,   249,   250,   251,   252,   253,    -1,   255,   256,    -1,
17867      258,    -1,   260,   261,   262,   263,   264,   265,    -1,   267,
17868      268,    -1,    -1,   271,   272,   273,    -1,    -1,   276,   277,
17869      278,    -1,   280,    -1,   282,   283,   284,   285,   286,   287,
17870      288,   289,   290,   291,    -1,   293,   294,   295,   296,   297,
17871      298,   299,   300,    -1,   302,   303,   304,   305,   306,   307,
17872      308,   309,   310,   311,   312,   313,   314,   315,   316,    -1,
17873      318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
17874      328,   329,    -1,   331,   332,    -1,   334,   335,   336,   337,
17875      338,   339,   340,   341,   342,   343,   344,   345,   346,   347,
17876      348,    -1,   350,   351,   352,   353,   354,    -1,   356,   357,
17877      358,   359,   360,    -1,   362,   363,   364,   365,    -1,   367,
17878      368,   369,   370,   371,   372,   373,   374,   375,   376,   377,
17879      378,   379,    -1,   381,   382,    -1,   384,    -1,   386,   387,
17880      388,   389,   390,    -1,   392,   393,   394,    -1,    -1,   397,
17881      398,   399,   400,   401,    -1,   403,   404,   405,   406,   407,
17882      408,   409,    -1,    -1,   412,   413,   414,   415,   416,    -1,
17883       -1,   419,   420,   421,   422,   423,   424,   425,    -1,   427,
17884       -1,   429,   430,   431,   432,    -1,    -1,   435,    -1,    -1,
17885      438,   439,   440,   441,   442,   443,   444,   445,   446,   447,
17886      448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
17887       -1,     3,    -1,   461,   462,   463,     8,   465,   466,   467,
17888      468,   469,   470,    15,    16,    17,    18,    19,    20,    21,
17889       22,    23,    24,    25,    -1,    27,    28,    29,    -1,    -1,
17890       -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,
17891       42,    -1,    44,    45,    46,    47,    48,    -1,    50,    51,
17892       -1,    53,    54,    55,    56,    57,    58,    -1,    -1,    61,
17893       62,    63,    64,    65,    -1,    67,    68,    69,    70,    71,
17894       -1,    -1,    -1,    75,    76,    77,    78,    79,    -1,    81,
17895       82,    83,    -1,    85,    86,    87,    88,    89,    90,    -1,
17896       -1,    93,    94,    95,    -1,    -1,    -1,    -1,    -1,    -1,
17897       -1,   103,   104,   105,   106,   107,   108,   109,   110,   111,
17898       -1,   113,    -1,   115,   116,   117,   118,   119,   120,    -1,
17899      122,   123,   124,   125,    -1,    -1,   128,   129,   130,   131,
17900      132,    -1,   134,   135,   136,    -1,   138,   139,   140,    -1,
17901      142,   143,   144,   145,   146,   147,   148,   149,   150,    -1,
17902      152,    -1,   154,   155,   156,   157,    -1,   159,    -1,   161,
17903       -1,    -1,    -1,   165,   166,   167,   168,    -1,   170,   171,
17904       -1,   173,   174,   175,    -1,   177,   178,   179,   180,   181,
17905       -1,   183,   184,   185,   186,    -1,   188,   189,   190,   191,
17906      192,   193,   194,    -1,   196,    -1,   198,   199,   200,   201,
17907      202,   203,   204,    -1,   206,    -1,   208,    -1,    -1,   211,
17908       -1,   213,   214,   215,   216,   217,    -1,    -1,   220,   221,
17909       -1,   223,    -1,    -1,   226,   227,   228,    -1,    -1,   231,
17910      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
17911      242,   243,   244,   245,   246,   247,    -1,   249,   250,   251,
17912      252,   253,    -1,   255,   256,    -1,   258,    -1,   260,   261,
17913      262,   263,   264,   265,    -1,   267,   268,    -1,    -1,   271,
17914      272,   273,    -1,    -1,   276,   277,   278,    -1,   280,    -1,
17915      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
17916       -1,   293,   294,   295,   296,   297,   298,   299,   300,    -1,
17917      302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
17918      312,   313,   314,   315,   316,    -1,   318,   319,   320,   321,
17919      322,   323,   324,   325,   326,   327,   328,   329,    -1,   331,
17920      332,    -1,   334,   335,   336,   337,   338,   339,   340,   341,
17921      342,   343,   344,   345,   346,   347,   348,    -1,   350,   351,
17922      352,   353,   354,    -1,   356,   357,   358,   359,   360,    -1,
17923      362,   363,   364,   365,    -1,   367,   368,   369,   370,   371,
17924      372,   373,   374,   375,   376,   377,   378,   379,    -1,   381,
17925      382,    -1,   384,    -1,   386,   387,   388,   389,   390,    -1,
17926      392,   393,   394,    -1,    -1,   397,   398,   399,   400,   401,
17927       -1,   403,   404,   405,   406,   407,   408,   409,    -1,    -1,
17928      412,   413,   414,   415,   416,    -1,    -1,   419,   420,   421,
17929      422,   423,   424,   425,    -1,   427,    -1,   429,   430,   431,
17930      432,    -1,    -1,   435,    -1,    -1,   438,   439,   440,   441,
17931      442,   443,   444,   445,   446,   447,   448,   449,   450,   451,
17932      452,   453,   454,   455,   456,   457,    -1,     3,    -1,   461,
17933      462,   463,     8,   465,   466,   467,   468,   469,   470,    15,
17934       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
17935       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
17936       -1,    37,    38,    -1,    40,    41,    42,    -1,    44,    45,
17937       46,    47,    48,    -1,    50,    51,    -1,    53,    54,    55,
17938       56,    57,    58,    -1,    -1,    61,    62,    63,    64,    65,
17939       -1,    67,    68,    69,    70,    71,    -1,    -1,    -1,    75,
17940       76,    77,    78,    79,    -1,    81,    82,    83,    -1,    85,
17941       86,    87,    88,    89,    90,    -1,    -1,    93,    94,    95,
17942       -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,   104,   105,
17943      106,   107,   108,   109,   110,   111,    -1,   113,    -1,   115,
17944      116,   117,   118,   119,   120,    -1,   122,   123,   124,   125,
17945       -1,    -1,   128,   129,   130,   131,   132,    -1,   134,   135,
17946      136,    -1,   138,   139,   140,    -1,   142,   143,   144,   145,
17947      146,   147,   148,   149,   150,    -1,   152,    -1,   154,   155,
17948      156,   157,    -1,   159,    -1,   161,    -1,    -1,    -1,   165,
17949      166,   167,   168,    -1,   170,   171,    -1,   173,   174,   175,
17950       -1,   177,   178,   179,   180,   181,    -1,   183,   184,   185,
17951      186,    -1,   188,   189,   190,   191,   192,   193,   194,    -1,
17952      196,    -1,   198,   199,   200,   201,   202,   203,   204,    -1,
17953      206,    -1,   208,    -1,    -1,   211,    -1,   213,   214,   215,
17954      216,   217,    -1,    -1,   220,   221,    -1,   223,    -1,    -1,
17955      226,   227,   228,    -1,    -1,   231,   232,   233,   234,   235,
17956      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
17957      246,   247,    -1,   249,   250,   251,   252,   253,    -1,   255,
17958      256,    -1,   258,    -1,   260,   261,   262,   263,   264,   265,
17959       -1,   267,   268,    -1,    -1,   271,   272,   273,    -1,    -1,
17960      276,   277,   278,    -1,   280,    -1,   282,   283,   284,   285,
17961      286,   287,   288,   289,   290,   291,    -1,   293,   294,   295,
17962      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
17963      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
17964      316,    -1,   318,   319,   320,   321,   322,   323,   324,   325,
17965      326,   327,   328,   329,    -1,   331,   332,    -1,   334,   335,
17966      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
17967      346,   347,   348,    -1,   350,   351,   352,   353,   354,    -1,
17968      356,   357,   358,   359,   360,    -1,   362,   363,   364,   365,
17969       -1,   367,   368,   369,   370,   371,   372,   373,   374,   375,
17970      376,   377,   378,   379,    -1,   381,   382,    -1,   384,    -1,
17971      386,   387,   388,   389,   390,    -1,   392,   393,   394,    -1,
17972       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
17973      406,   407,   408,   409,    -1,    -1,   412,   413,   414,   415,
17974      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
17975       -1,   427,    -1,   429,   430,   431,   432,    -1,    -1,   435,
17976       -1,    -1,   438,   439,   440,   441,   442,   443,   444,   445,
17977      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
17978      456,   457,    -1,     3,    -1,   461,   462,   463,     8,   465,
17979      466,   467,   468,   469,   470,    15,    16,    17,    18,    19,
17980       20,    21,    22,    23,    24,    25,    -1,    27,    28,    29,
17981       -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,
17982       40,    41,    42,    -1,    44,    45,    46,    47,    48,    -1,
17983       50,    51,    -1,    53,    54,    55,    56,    57,    58,    -1,
17984       -1,    61,    62,    63,    64,    65,    -1,    67,    68,    69,
17985       70,    71,    -1,    -1,    -1,    75,    76,    77,    78,    79,
17986       -1,    81,    82,    83,    -1,    85,    86,    87,    88,    89,
17987       90,    -1,    -1,    93,    94,    95,    -1,    -1,    -1,    -1,
17988       -1,    -1,    -1,   103,   104,   105,   106,   107,   108,   109,
17989      110,   111,    -1,   113,    -1,   115,   116,   117,   118,   119,
17990      120,    -1,   122,   123,   124,   125,    -1,    -1,   128,   129,
17991      130,   131,   132,    -1,   134,   135,   136,    -1,   138,   139,
17992      140,    -1,   142,   143,   144,   145,   146,   147,   148,   149,
17993      150,    -1,   152,    -1,   154,   155,   156,   157,    -1,   159,
17994       -1,   161,    -1,    -1,    -1,   165,   166,   167,   168,    -1,
17995      170,   171,    -1,   173,   174,   175,    -1,   177,   178,   179,
17996      180,   181,    -1,   183,   184,   185,   186,    -1,   188,   189,
17997      190,   191,   192,   193,   194,    -1,   196,    -1,   198,   199,
17998      200,   201,   202,   203,   204,    -1,   206,    -1,   208,    -1,
17999       -1,   211,    -1,   213,   214,   215,   216,   217,    -1,    -1,
18000      220,   221,    -1,   223,    -1,    -1,   226,   227,   228,    -1,
18001       -1,   231,   232,   233,   234,   235,   236,   237,   238,   239,
18002      240,   241,   242,   243,   244,   245,   246,   247,    -1,   249,
18003      250,   251,   252,   253,    -1,   255,   256,    -1,   258,    -1,
18004      260,   261,   262,   263,   264,   265,    -1,   267,   268,    -1,
18005       -1,   271,   272,   273,    -1,    -1,   276,   277,   278,    -1,
18006      280,    -1,   282,   283,   284,   285,   286,   287,   288,   289,
18007      290,   291,    -1,   293,   294,   295,   296,   297,   298,   299,
18008      300,    -1,   302,   303,   304,   305,   306,   307,   308,   309,
18009      310,   311,   312,   313,   314,   315,   316,    -1,   318,   319,
18010      320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
18011       -1,   331,   332,    -1,   334,   335,   336,   337,   338,   339,
18012      340,   341,   342,   343,   344,   345,   346,   347,   348,    -1,
18013      350,   351,   352,   353,   354,    -1,   356,   357,   358,   359,
18014      360,    -1,   362,   363,   364,   365,    -1,   367,   368,   369,
18015      370,   371,   372,   373,   374,   375,   376,   377,   378,   379,
18016       -1,   381,   382,    -1,   384,    -1,   386,   387,   388,   389,
18017      390,    -1,   392,   393,   394,    -1,    -1,   397,   398,   399,
18018      400,   401,    -1,   403,   404,   405,   406,   407,   408,   409,
18019       -1,    -1,   412,   413,   414,   415,   416,    -1,    -1,   419,
18020      420,   421,   422,   423,   424,   425,    -1,   427,    -1,   429,
18021      430,   431,   432,    -1,    -1,   435,    -1,    -1,   438,   439,
18022      440,   441,   442,   443,   444,   445,   446,   447,   448,   449,
18023      450,   451,   452,   453,   454,   455,   456,   457,    -1,     3,
18024       -1,   461,   462,   463,     8,   465,   466,   467,   468,   469,
18025      470,    15,    16,    17,    18,    19,    20,    21,    22,    23,
18026       24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,
18027       -1,    -1,    -1,    37,    38,    -1,    40,    41,    42,    -1,
18028       44,    45,    46,    47,    48,    -1,    50,    51,    -1,    53,
18029       54,    55,    56,    57,    58,    -1,    -1,    61,    62,    63,
18030       64,    65,    -1,    67,    68,    69,    70,    71,    -1,    -1,
18031       -1,    75,    76,    77,    78,    79,    -1,    81,    82,    83,
18032       -1,    85,    86,    87,    88,    89,    90,    -1,    -1,    93,
18033       94,    95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,
18034      104,   105,   106,   107,   108,   109,   110,   111,    -1,   113,
18035       -1,   115,   116,   117,   118,   119,   120,    -1,   122,   123,
18036      124,   125,    -1,    -1,   128,   129,   130,   131,   132,    -1,
18037      134,   135,   136,    -1,   138,   139,   140,    -1,   142,   143,
18038      144,   145,   146,   147,   148,   149,   150,    -1,   152,    -1,
18039      154,   155,   156,   157,    -1,   159,    -1,   161,    -1,    -1,
18040       -1,   165,   166,   167,   168,    -1,   170,   171,    -1,   173,
18041      174,   175,    -1,   177,   178,   179,   180,   181,    -1,   183,
18042      184,   185,   186,    -1,   188,   189,   190,   191,   192,   193,
18043      194,    -1,   196,    -1,   198,   199,   200,   201,   202,   203,
18044      204,    -1,   206,    -1,   208,    -1,    -1,   211,    -1,   213,
18045      214,   215,   216,   217,    -1,    -1,   220,   221,    -1,   223,
18046       -1,    -1,   226,   227,   228,    -1,    -1,   231,   232,   233,
18047      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
18048      244,   245,   246,   247,    -1,   249,   250,   251,   252,   253,
18049       -1,   255,   256,    -1,   258,    -1,   260,   261,   262,   263,
18050      264,   265,    -1,   267,   268,    -1,    -1,   271,   272,   273,
18051       -1,    -1,   276,   277,   278,    -1,   280,    -1,   282,   283,
18052      284,   285,   286,   287,   288,   289,   290,   291,    -1,   293,
18053      294,   295,   296,   297,   298,   299,   300,    -1,   302,   303,
18054      304,   305,   306,   307,   308,   309,   310,   311,   312,   313,
18055      314,   315,   316,    -1,   318,   319,   320,   321,   322,   323,
18056      324,   325,   326,   327,   328,   329,    -1,   331,   332,    -1,
18057      334,   335,   336,   337,   338,   339,   340,   341,   342,   343,
18058      344,   345,   346,   347,   348,    -1,   350,   351,   352,   353,
18059      354,    -1,   356,   357,   358,   359,   360,    -1,   362,   363,
18060      364,   365,    -1,   367,   368,   369,   370,   371,   372,   373,
18061      374,   375,   376,   377,   378,   379,    -1,   381,   382,    -1,
18062      384,    -1,   386,   387,   388,   389,   390,    -1,   392,   393,
18063      394,    -1,    -1,   397,   398,   399,   400,   401,    -1,   403,
18064      404,   405,   406,   407,   408,   409,    -1,    -1,   412,   413,
18065      414,   415,   416,    -1,    -1,   419,   420,   421,   422,   423,
18066      424,   425,    -1,   427,    -1,   429,   430,   431,   432,    -1,
18067       -1,   435,    -1,    -1,   438,   439,   440,   441,   442,   443,
18068      444,   445,   446,   447,   448,   449,   450,   451,   452,   453,
18069      454,   455,   456,   457,    -1,     3,    -1,   461,   462,   463,
18070        8,   465,   466,   467,   468,   469,   470,    15,    16,    17,
18071       18,    19,    20,    21,    22,    23,    24,    25,    -1,    27,
18072       28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,
18073       38,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
18074       48,    -1,    50,    51,    -1,    53,    54,    55,    56,    57,
18075       58,    -1,    -1,    61,    62,    63,    64,    65,    -1,    67,
18076       68,    69,    70,    71,    -1,    -1,    -1,    75,    76,    77,
18077       78,    79,    -1,    81,    82,    83,    -1,    85,    86,    87,
18078       88,    89,    90,    -1,    -1,    93,    94,    95,    -1,    -1,
18079       -1,    -1,    -1,    -1,    -1,   103,   104,   105,   106,   107,
18080      108,   109,   110,   111,    -1,   113,    -1,   115,   116,   117,
18081      118,   119,   120,    -1,   122,   123,   124,   125,    -1,    -1,
18082      128,   129,   130,   131,   132,    -1,   134,   135,   136,    -1,
18083      138,   139,   140,    -1,   142,   143,   144,   145,   146,   147,
18084      148,   149,   150,    -1,   152,    -1,   154,   155,   156,   157,
18085       -1,   159,    -1,   161,    -1,    -1,    -1,   165,   166,   167,
18086      168,    -1,   170,   171,    -1,   173,   174,   175,    -1,   177,
18087      178,   179,   180,   181,    -1,   183,   184,   185,   186,    -1,
18088      188,   189,   190,   191,   192,   193,   194,    -1,   196,    -1,
18089      198,   199,   200,   201,   202,   203,   204,    -1,   206,    -1,
18090      208,    -1,    -1,   211,    -1,   213,   214,   215,   216,   217,
18091       -1,    -1,   220,   221,    -1,   223,    -1,    -1,   226,   227,
18092      228,    -1,    -1,   231,   232,   233,   234,   235,   236,   237,
18093      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
18094       -1,   249,   250,   251,   252,   253,    -1,   255,   256,    -1,
18095      258,    -1,   260,   261,   262,   263,   264,   265,    -1,   267,
18096      268,    -1,    -1,   271,   272,   273,    -1,    -1,   276,   277,
18097      278,    -1,   280,    -1,   282,   283,   284,   285,   286,   287,
18098      288,   289,   290,   291,    -1,   293,   294,   295,   296,   297,
18099      298,   299,   300,    -1,   302,   303,   304,   305,   306,   307,
18100      308,   309,   310,   311,   312,   313,   314,   315,   316,    -1,
18101      318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
18102      328,   329,    -1,   331,   332,    -1,   334,   335,   336,   337,
18103      338,   339,   340,   341,   342,   343,   344,   345,   346,   347,
18104      348,    -1,   350,   351,   352,   353,   354,    -1,   356,   357,
18105      358,   359,   360,    -1,   362,   363,   364,   365,    -1,   367,
18106      368,   369,   370,   371,   372,   373,   374,   375,   376,   377,
18107      378,   379,    -1,   381,   382,    -1,   384,    -1,   386,   387,
18108      388,   389,   390,    -1,   392,   393,   394,    -1,    -1,   397,
18109      398,   399,   400,   401,    -1,   403,   404,   405,   406,   407,
18110      408,   409,    -1,    -1,   412,   413,   414,   415,   416,    -1,
18111       -1,   419,   420,   421,   422,   423,   424,   425,    -1,   427,
18112       -1,   429,   430,   431,   432,    -1,    -1,   435,    -1,    -1,
18113      438,   439,   440,   441,   442,   443,   444,   445,   446,   447,
18114      448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
18115        3,    -1,    -1,   461,   462,   463,    -1,   465,   466,   467,
18116      468,   469,   470,    -1,    -1,    18,    19,    20,    21,    22,
18117       23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
18118       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
18119       43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
18120       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
18121       63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
18122       73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
18123       83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
18124       93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
18125      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
18126      113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
18127      123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
18128      133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
18129      143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
18130      153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
18131      163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
18132      173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
18133      183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
18134      193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
18135      203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
18136      213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
18137      223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
18138      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
18139      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
18140      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
18141      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
18142      273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
18143      283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
18144      293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
18145      303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
18146      313,   314,   315,   316,   317,   318,   319,   320,   321,   322,
18147      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
18148      333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
18149      343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
18150      353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
18151      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
18152      373,   374,   375,   376,   377,   378,   379,   380,   381,   382,
18153      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
18154      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
18155      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
18156      413,   414,   415,   416,   417,   418,   419,   420,   421,   422,
18157      423,   424,   425,   426,   427,   428,   429,   430,   431,   432,
18158      433,   434,   435,   436,   437,   438,   439,   440,   441,   442,
18159      443,   444,   445,   446,   447,   448,   449,   450,   451,   452,
18160      453,   454,   455,   456,   457,     3,    -1,    -1,    -1,    -1,
18161       -1,    -1,    -1,    -1,   467,    -1,    -1,    -1,    -1,    -1,
18162       18,    19,    20,    21,    22,    23,    24,    25,    -1,    27,
18163       28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,
18164       38,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
18165       48,    -1,    50,    51,    -1,    53,    54,    55,    56,    57,
18166       58,    -1,    -1,    61,    62,    63,    64,    65,    -1,    67,
18167       68,    69,    70,    71,    -1,    -1,    -1,    75,    76,    77,
18168       78,    79,    -1,    81,    82,    83,    -1,    85,    86,    87,
18169       88,    89,    90,    -1,    -1,    93,    94,    95,    -1,    -1,
18170       -1,    -1,    -1,    -1,    -1,   103,   104,   105,   106,   107,
18171      108,   109,   110,   111,    -1,   113,    -1,   115,   116,   117,
18172      118,   119,   120,    -1,   122,   123,   124,   125,    -1,    -1,
18173      128,   129,   130,   131,   132,    -1,   134,   135,   136,    -1,
18174      138,   139,   140,    -1,   142,   143,   144,   145,   146,   147,
18175      148,   149,   150,    -1,   152,    -1,   154,   155,   156,   157,
18176       -1,   159,    -1,   161,    -1,    -1,    -1,   165,   166,   167,
18177      168,    -1,   170,   171,    -1,   173,   174,   175,    -1,   177,
18178      178,   179,   180,   181,    -1,   183,   184,   185,   186,    -1,
18179      188,   189,   190,   191,   192,   193,   194,    -1,   196,    -1,
18180      198,   199,   200,   201,   202,   203,   204,    -1,   206,    -1,
18181      208,    -1,    -1,   211,    -1,   213,   214,   215,   216,   217,
18182       -1,    -1,   220,   221,    -1,   223,    -1,    -1,   226,   227,
18183      228,    -1,    -1,   231,   232,   233,   234,   235,   236,   237,
18184      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
18185       -1,   249,   250,   251,   252,   253,    -1,   255,   256,    -1,
18186      258,    -1,   260,   261,   262,   263,   264,   265,    -1,   267,
18187      268,    -1,    -1,   271,   272,   273,    -1,    -1,   276,   277,
18188      278,    -1,   280,    -1,   282,   283,   284,   285,   286,   287,
18189      288,   289,   290,   291,    -1,   293,   294,   295,   296,   297,
18190      298,   299,   300,    -1,   302,   303,   304,   305,   306,   307,
18191      308,   309,   310,   311,   312,   313,   314,   315,   316,    -1,
18192      318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
18193      328,   329,    -1,   331,   332,    -1,   334,   335,   336,   337,
18194      338,   339,   340,   341,   342,   343,   344,   345,   346,   347,
18195      348,    -1,   350,   351,   352,   353,   354,    -1,   356,   357,
18196      358,   359,   360,    -1,   362,   363,   364,   365,    -1,   367,
18197      368,   369,   370,   371,   372,   373,   374,   375,   376,   377,
18198      378,   379,    -1,   381,   382,    -1,   384,    -1,   386,   387,
18199      388,   389,   390,    -1,   392,   393,   394,    -1,    -1,   397,
18200      398,   399,   400,   401,    -1,   403,   404,   405,   406,   407,
18201      408,   409,    -1,    -1,   412,   413,   414,   415,   416,    -1,
18202       -1,   419,   420,   421,   422,   423,   424,   425,    -1,   427,
18203       -1,   429,   430,   431,   432,    -1,    -1,   435,    -1,    -1,
18204      438,   439,   440,   441,   442,   443,   444,   445,   446,   447,
18205      448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
18206        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   467,
18207       -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,
18208       23,    24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,
18209       -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,    42,
18210       -1,    44,    45,    46,    47,    48,    -1,    50,    51,    -1,
18211       53,    54,    55,    56,    57,    58,    -1,    -1,    61,    62,
18212       63,    64,    65,    -1,    67,    68,    69,    70,    71,    -1,
18213       -1,    -1,    75,    76,    77,    78,    79,    -1,    81,    82,
18214       83,    -1,    85,    86,    87,    88,    89,    90,    -1,    -1,
18215       93,    94,    95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18216      103,   104,   105,   106,   107,   108,   109,   110,   111,    -1,
18217      113,    -1,   115,   116,   117,   118,   119,   120,    -1,   122,
18218      123,   124,   125,    -1,    -1,   128,   129,   130,   131,   132,
18219       -1,   134,   135,   136,    -1,   138,   139,   140,    -1,   142,
18220      143,   144,   145,   146,   147,   148,   149,   150,    -1,   152,
18221       -1,   154,   155,   156,   157,    -1,   159,    -1,   161,    -1,
18222       -1,    -1,   165,   166,   167,   168,    -1,   170,   171,    -1,
18223      173,   174,   175,    -1,   177,   178,   179,   180,   181,    -1,
18224      183,   184,   185,   186,    -1,   188,   189,   190,   191,   192,
18225      193,   194,    -1,   196,    -1,   198,   199,   200,   201,   202,
18226      203,   204,    -1,   206,    -1,   208,    -1,    -1,   211,    -1,
18227      213,   214,   215,   216,   217,    -1,    -1,   220,   221,    -1,
18228      223,    -1,    -1,   226,   227,   228,    -1,    -1,   231,   232,
18229      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
18230      243,   244,   245,   246,   247,    -1,   249,   250,   251,   252,
18231      253,    -1,   255,   256,    -1,   258,    -1,   260,   261,   262,
18232      263,   264,   265,    -1,   267,   268,    -1,    -1,   271,   272,
18233      273,    -1,    -1,   276,   277,   278,    -1,   280,    -1,   282,
18234      283,   284,   285,   286,   287,   288,   289,   290,   291,    -1,
18235      293,   294,   295,   296,   297,   298,   299,   300,    -1,   302,
18236      303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
18237      313,   314,   315,   316,    -1,   318,   319,   320,   321,   322,
18238      323,   324,   325,   326,   327,   328,   329,    -1,   331,   332,
18239       -1,   334,   335,   336,   337,   338,   339,   340,   341,   342,
18240      343,   344,   345,   346,   347,   348,    -1,   350,   351,   352,
18241      353,   354,    -1,   356,   357,   358,   359,   360,    -1,   362,
18242      363,   364,   365,    -1,   367,   368,   369,   370,   371,   372,
18243      373,   374,   375,   376,   377,   378,   379,    -1,   381,   382,
18244       -1,   384,    -1,   386,   387,   388,   389,   390,    -1,   392,
18245      393,   394,    -1,    -1,   397,   398,   399,   400,   401,    -1,
18246      403,   404,   405,   406,   407,   408,   409,    -1,    -1,   412,
18247      413,   414,   415,   416,    -1,    -1,   419,   420,   421,   422,
18248      423,   424,   425,    -1,   427,    -1,   429,   430,   431,   432,
18249       -1,    -1,   435,    -1,    -1,   438,   439,   440,   441,   442,
18250      443,   444,   445,   446,   447,   448,   449,   450,   451,   452,
18251      453,   454,   455,   456,   457,     3,    -1,    -1,    -1,    -1,
18252       -1,    -1,    -1,    -1,   467,    -1,    -1,    -1,    -1,    -1,
18253       18,    19,    20,    21,    22,    23,    24,    25,    -1,    27,
18254       28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,
18255       38,    -1,    40,    41,    42,    43,    44,    45,    46,    -1,
18256       48,    49,    50,    51,    -1,    53,    54,    55,    56,    57,
18257       58,    -1,    -1,    61,    62,    63,    64,    65,    -1,    67,
18258       68,    69,    70,    -1,    -1,    73,    -1,    75,    76,    77,
18259       78,    79,    80,    81,    82,    83,    -1,    85,    86,    87,
18260       88,    89,    90,    -1,    92,    93,    94,    95,    -1,    -1,
18261       -1,    99,    -1,    -1,    -1,   103,   104,   105,   106,   107,
18262      108,   109,   110,   111,    -1,   113,    -1,   115,   116,   117,
18263      118,   119,   120,    -1,   122,   123,   124,   125,    -1,    -1,
18264      128,   129,   130,   131,   132,    -1,   134,   135,   136,    -1,
18265      138,   139,   140,    -1,   142,   143,   144,   145,    -1,   147,
18266      148,   149,    -1,    -1,   152,    -1,   154,   155,   156,   157,
18267       -1,   159,    -1,   161,   162,    -1,   164,   165,   166,   167,
18268      168,    -1,   170,    -1,    -1,    -1,   174,   175,    -1,   177,
18269      178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
18270      188,   189,   190,   191,   192,   193,   194,    -1,   196,   197,
18271      198,   199,   200,   201,   202,   203,   204,    -1,   206,    -1,
18272      208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
18273       -1,    -1,   220,    -1,   222,   223,   224,    -1,   226,   227,
18274      228,    -1,    -1,   231,   232,   233,   234,   235,   236,   237,
18275      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
18276      248,   249,   250,   251,   252,    -1,    -1,   255,   256,   257,
18277      258,    -1,    -1,   261,   262,   263,   264,   265,    -1,   267,
18278      268,    -1,    -1,   271,   272,   273,    -1,   275,   276,   277,
18279      278,   279,   280,   281,    -1,   283,   284,   285,   286,   287,
18280      288,   289,   290,   291,    -1,   293,   294,    -1,   296,    -1,
18281      298,   299,   300,    -1,   302,   303,   304,   305,   306,   307,
18282      308,   309,   310,   311,   312,   313,   314,   315,   316,    -1,
18283      318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
18284      328,   329,    -1,   331,   332,   333,   334,   335,   336,   337,
18285      338,    -1,   340,   341,   342,   343,   344,   345,   346,   347,
18286      348,    -1,   350,   351,   352,   353,   354,    -1,   356,   357,
18287      358,   359,   360,   361,   362,   363,   364,   365,    -1,   367,
18288      368,   369,   370,   371,   372,   373,   374,   375,   376,   377,
18289      378,    -1,    -1,   381,   382,    -1,   384,   385,   386,   387,
18290      388,   389,   390,    -1,   392,   393,   394,    -1,    -1,   397,
18291      398,    -1,   400,    -1,    -1,   403,   404,   405,   406,   407,
18292      408,   409,    -1,    -1,   412,   413,   414,   415,   416,    -1,
18293       -1,   419,   420,   421,   422,   423,    -1,   425,   426,   427,
18294      428,   429,   430,   431,   432,    -1,    -1,   435,    -1,    -1,
18295      438,   439,   440,   441,   442,   443,     3,    -1,    -1,    -1,
18296       -1,    -1,    -1,    -1,    -1,    -1,    -1,   455,   456,   457,
18297       -1,    18,    19,    20,    21,    22,    23,    24,    25,   467,
18298       27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18299       37,    38,    -1,    40,    41,    42,    43,    44,    45,    46,
18300       -1,    48,    49,    50,    51,    -1,    53,    54,    55,    56,
18301       57,    58,    -1,    -1,    61,    62,    63,    64,    65,    -1,
18302       67,    68,    69,    70,    -1,    -1,    73,    -1,    75,    76,
18303       77,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
18304       87,    88,    89,    90,    -1,    92,    93,    94,    95,    -1,
18305       -1,    -1,    99,    -1,    -1,    -1,   103,   104,   105,   106,
18306      107,   108,   109,   110,   111,    -1,   113,    -1,   115,   116,
18307      117,   118,   119,   120,    -1,   122,   123,   124,   125,    -1,
18308       -1,   128,   129,   130,   131,   132,    -1,   134,   135,   136,
18309       -1,   138,   139,   140,    -1,   142,   143,   144,   145,    -1,
18310      147,   148,   149,    -1,    -1,   152,    -1,   154,   155,   156,
18311      157,    -1,   159,    -1,   161,   162,    -1,   164,   165,   166,
18312      167,   168,    -1,   170,    -1,    -1,    -1,   174,   175,    -1,
18313      177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
18314      187,   188,   189,   190,   191,   192,   193,   194,    -1,   196,
18315      197,   198,   199,   200,   201,   202,   203,   204,    -1,   206,
18316       -1,   208,   209,   210,   211,   212,   213,   214,   215,   216,
18317      217,    -1,    -1,   220,    -1,   222,   223,   224,    -1,   226,
18318      227,   228,    -1,    -1,   231,   232,   233,   234,   235,   236,
18319      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
18320      247,   248,   249,   250,   251,   252,    -1,    -1,   255,   256,
18321      257,   258,    -1,    -1,   261,   262,   263,   264,   265,    -1,
18322      267,   268,    -1,    -1,   271,   272,   273,    -1,   275,   276,
18323      277,   278,   279,   280,   281,    -1,   283,   284,   285,   286,
18324      287,   288,   289,   290,   291,    -1,   293,   294,    -1,   296,
18325       -1,   298,   299,   300,    -1,   302,   303,   304,   305,   306,
18326      307,   308,   309,   310,   311,   312,   313,   314,   315,   316,
18327       -1,   318,   319,   320,   321,   322,   323,   324,   325,   326,
18328      327,   328,   329,    -1,   331,   332,   333,   334,   335,   336,
18329      337,   338,    -1,   340,   341,   342,   343,   344,   345,   346,
18330      347,   348,    -1,   350,   351,   352,   353,   354,    -1,   356,
18331      357,   358,   359,   360,   361,   362,   363,   364,   365,    -1,
18332      367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
18333      377,   378,    -1,    -1,   381,   382,    -1,   384,   385,   386,
18334      387,   388,   389,   390,    -1,   392,   393,   394,    -1,    -1,
18335      397,   398,    -1,   400,    -1,    -1,   403,   404,   405,   406,
18336      407,   408,   409,    -1,    -1,   412,   413,   414,   415,   416,
18337       -1,    -1,   419,   420,   421,   422,   423,    -1,   425,   426,
18338      427,   428,   429,   430,   431,   432,    -1,    -1,   435,    -1,
18339       -1,   438,   439,   440,   441,   442,   443,     3,     4,     5,
18340       -1,    -1,    -1,     9,    -1,    -1,    -1,    -1,   455,   456,
18341      457,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
18342      467,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
18343       -1,    37,    38,    -1,    40,    41,    42,    43,    44,    45,
18344       46,    47,    48,    49,    50,    51,    -1,    53,    54,    55,
18345       56,    57,    58,    -1,    -1,    61,    62,    63,    64,    65,
18346       -1,    67,    68,    69,    70,    71,    -1,    73,    -1,    75,
18347       76,    77,    78,    79,    80,    81,    82,    83,    -1,    85,
18348       86,    87,    88,    89,    90,    -1,    92,    93,    94,    95,
18349       -1,    -1,    -1,    99,    -1,    -1,    -1,   103,   104,   105,
18350      106,   107,   108,   109,   110,   111,   112,   113,    -1,   115,
18351      116,   117,   118,   119,   120,    -1,   122,   123,   124,   125,
18352       -1,    -1,   128,   129,   130,   131,   132,    -1,   134,   135,
18353      136,    -1,   138,   139,   140,    -1,   142,   143,   144,   145,
18354      146,   147,   148,   149,   150,   151,   152,    -1,   154,   155,
18355      156,   157,    -1,   159,    -1,   161,   162,    -1,   164,   165,
18356      166,   167,   168,    -1,   170,   171,    -1,   173,   174,   175,
18357       -1,   177,   178,   179,   180,   181,   182,   183,   184,   185,
18358      186,    -1,   188,   189,   190,   191,   192,   193,   194,    -1,
18359      196,   197,   198,   199,   200,   201,   202,   203,   204,    -1,
18360      206,    -1,   208,   209,   210,   211,   212,   213,   214,   215,
18361      216,   217,    -1,    -1,   220,   221,   222,   223,   224,    -1,
18362      226,   227,   228,    -1,    -1,   231,   232,   233,   234,   235,
18363      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
18364      246,   247,   248,   249,   250,   251,   252,   253,    -1,   255,
18365      256,   257,   258,    -1,   260,   261,   262,   263,   264,   265,
18366       -1,   267,   268,   269,    -1,   271,   272,   273,    -1,    -1,
18367      276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
18368      286,   287,   288,   289,   290,   291,    -1,   293,   294,   295,
18369      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
18370      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
18371      316,    -1,   318,   319,   320,   321,   322,   323,   324,   325,
18372      326,   327,   328,   329,    -1,   331,   332,   333,   334,   335,
18373      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
18374      346,   347,   348,    -1,   350,   351,   352,   353,   354,    -1,
18375      356,   357,   358,   359,   360,   361,   362,   363,   364,   365,
18376       -1,   367,   368,   369,   370,   371,   372,   373,   374,   375,
18377      376,   377,   378,   379,    -1,   381,   382,    -1,   384,   385,
18378      386,   387,   388,   389,   390,    -1,   392,   393,   394,    -1,
18379       -1,   397,   398,   399,   400,   401,   402,   403,   404,   405,
18380      406,   407,   408,   409,    -1,    -1,   412,   413,   414,   415,
18381      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
18382       -1,   427,   428,   429,   430,   431,   432,    -1,    -1,   435,
18383       -1,    -1,   438,   439,   440,   441,   442,   443,   444,   445,
18384      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
18385      456,   457,     3,     4,     5,    -1,    -1,    -1,     9,   465,
18386      466,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
18387       21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
18388       -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
18389       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
18390       51,    -1,    53,    54,    55,    56,    57,    58,    -1,    -1,
18391       61,    62,    63,    64,    65,    -1,    67,    68,    69,    70,
18392       71,    -1,    73,    -1,    75,    76,    77,    78,    79,    80,
18393       81,    82,    83,    -1,    85,    86,    87,    88,    89,    90,
18394       -1,    92,    93,    94,    95,    -1,    -1,    -1,    99,    -1,
18395       -1,    -1,   103,   104,   105,   106,   107,   108,   109,   110,
18396      111,   112,   113,    -1,   115,   116,   117,   118,   119,   120,
18397       -1,   122,   123,   124,   125,    -1,    -1,   128,   129,   130,
18398      131,   132,    -1,   134,   135,   136,    -1,   138,   139,   140,
18399       -1,   142,   143,   144,   145,   146,   147,   148,   149,   150,
18400      151,   152,    -1,   154,   155,   156,   157,    -1,   159,    -1,
18401      161,   162,    -1,   164,   165,   166,   167,   168,    -1,   170,
18402      171,    -1,   173,   174,   175,    -1,   177,   178,   179,   180,
18403      181,   182,   183,   184,   185,   186,    -1,   188,   189,   190,
18404      191,   192,   193,   194,    -1,   196,   197,   198,   199,   200,
18405      201,   202,   203,   204,    -1,   206,    -1,   208,   209,   210,
18406      211,   212,   213,   214,   215,   216,   217,    -1,    -1,   220,
18407      221,   222,   223,   224,    -1,   226,   227,   228,    -1,    -1,
18408      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
18409      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
18410      251,   252,   253,    -1,   255,   256,   257,   258,    -1,   260,
18411      261,   262,   263,   264,   265,    -1,   267,   268,   269,    -1,
18412      271,   272,   273,    -1,    -1,   276,   277,   278,   279,   280,
18413      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
18414      291,    -1,   293,   294,   295,   296,   297,   298,   299,   300,
18415       -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
18416      311,   312,   313,   314,   315,   316,    -1,   318,   319,   320,
18417      321,   322,   323,   324,   325,   326,   327,   328,   329,    -1,
18418      331,   332,   333,   334,   335,   336,   337,   338,   339,   340,
18419      341,   342,   343,   344,   345,   346,   347,   348,    -1,   350,
18420      351,   352,   353,   354,    -1,   356,   357,   358,   359,   360,
18421      361,   362,   363,   364,   365,    -1,   367,   368,   369,   370,
18422      371,   372,   373,   374,   375,   376,   377,   378,   379,    -1,
18423      381,   382,    -1,   384,   385,   386,   387,   388,   389,   390,
18424       -1,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
18425      401,   402,   403,   404,   405,   406,   407,   408,   409,    -1,
18426       -1,   412,   413,   414,   415,   416,    -1,    -1,   419,   420,
18427      421,   422,   423,   424,   425,    -1,   427,   428,   429,   430,
18428      431,   432,    -1,    -1,   435,    -1,    -1,   438,   439,   440,
18429      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
18430      451,   452,   453,   454,   455,   456,   457,     3,     4,     5,
18431       -1,    -1,    -1,     9,   465,   466,    -1,    -1,    -1,    -1,
18432       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
18433       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
18434       -1,    37,    38,    -1,    40,    41,    42,    43,    44,    45,
18435       46,    47,    48,    49,    50,    51,    -1,    53,    54,    55,
18436       56,    57,    58,    -1,    -1,    61,    62,    63,    64,    65,
18437       -1,    67,    68,    69,    70,    71,    -1,    73,    -1,    75,
18438       76,    77,    78,    79,    80,    81,    82,    83,    -1,    85,
18439       86,    87,    88,    89,    90,    -1,    92,    93,    94,    95,
18440       -1,    -1,    -1,    99,    -1,    -1,    -1,   103,   104,   105,
18441      106,   107,   108,   109,   110,   111,    -1,   113,    -1,   115,
18442      116,   117,   118,   119,   120,    -1,   122,   123,   124,   125,
18443       -1,    -1,   128,   129,   130,   131,   132,    -1,   134,   135,
18444      136,    -1,   138,   139,   140,    -1,   142,   143,   144,   145,
18445      146,   147,   148,   149,   150,   151,   152,    -1,   154,   155,
18446      156,   157,    -1,   159,    -1,   161,   162,    -1,   164,   165,
18447      166,   167,   168,    -1,   170,   171,    -1,   173,   174,   175,
18448       -1,   177,   178,   179,   180,   181,   182,   183,   184,   185,
18449      186,    -1,   188,   189,   190,   191,   192,   193,   194,    -1,
18450      196,   197,   198,   199,   200,   201,   202,   203,   204,    -1,
18451      206,    -1,   208,   209,   210,   211,   212,   213,   214,   215,
18452      216,   217,    -1,    -1,   220,   221,   222,   223,   224,    -1,
18453      226,   227,   228,    -1,    -1,   231,   232,   233,   234,   235,
18454      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
18455      246,   247,   248,   249,   250,   251,   252,   253,    -1,   255,
18456      256,   257,   258,    -1,   260,   261,   262,   263,   264,   265,
18457       -1,   267,   268,   269,    -1,   271,   272,   273,    -1,    -1,
18458      276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
18459      286,   287,   288,   289,   290,   291,    -1,   293,   294,   295,
18460      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
18461      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
18462      316,    -1,   318,   319,   320,   321,   322,   323,   324,   325,
18463      326,   327,   328,   329,    -1,   331,   332,   333,   334,   335,
18464      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
18465      346,   347,   348,    -1,   350,   351,   352,   353,   354,    -1,
18466      356,   357,   358,   359,   360,   361,   362,   363,   364,   365,
18467       -1,   367,   368,   369,   370,   371,   372,   373,   374,   375,
18468      376,   377,   378,   379,    -1,   381,   382,    -1,   384,   385,
18469      386,   387,   388,   389,   390,    -1,   392,   393,   394,    -1,
18470       -1,   397,   398,   399,   400,   401,   402,   403,   404,   405,
18471      406,   407,   408,   409,    -1,    -1,   412,   413,   414,   415,
18472      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
18473       -1,   427,   428,   429,   430,   431,   432,    -1,    -1,   435,
18474       -1,    -1,   438,   439,   440,   441,   442,   443,   444,   445,
18475      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
18476      456,   457,     3,    -1,     5,    -1,    -1,    -1,     9,   465,
18477      466,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
18478       21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
18479       -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
18480       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
18481       51,    -1,    53,    54,    55,    56,    57,    58,    -1,    -1,
18482       61,    62,    63,    64,    65,    -1,    67,    68,    69,    70,
18483       71,    -1,    73,    -1,    75,    76,    77,    78,    79,    80,
18484       81,    82,    83,    -1,    85,    86,    87,    88,    89,    90,
18485       -1,    92,    93,    94,    95,    -1,    -1,    -1,    99,    -1,
18486       -1,    -1,   103,   104,   105,   106,   107,   108,   109,   110,
18487      111,   112,   113,    -1,   115,   116,   117,   118,   119,   120,
18488       -1,   122,   123,   124,   125,    -1,    -1,   128,   129,   130,
18489      131,   132,    -1,   134,   135,   136,    -1,   138,   139,   140,
18490       -1,   142,   143,   144,   145,   146,   147,   148,   149,   150,
18491      151,   152,    -1,   154,   155,   156,   157,    -1,   159,    -1,
18492      161,   162,    -1,   164,   165,   166,   167,   168,    -1,   170,
18493      171,    -1,   173,   174,   175,    -1,   177,   178,   179,   180,
18494      181,   182,   183,   184,   185,   186,    -1,   188,   189,   190,
18495      191,   192,   193,   194,    -1,   196,   197,   198,   199,   200,
18496      201,   202,   203,   204,    -1,   206,    -1,   208,   209,   210,
18497      211,   212,   213,   214,   215,   216,   217,    -1,    -1,   220,
18498      221,   222,   223,   224,    -1,   226,   227,   228,    -1,    -1,
18499      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
18500      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
18501      251,   252,   253,    -1,   255,   256,   257,   258,    -1,   260,
18502      261,   262,   263,   264,   265,    -1,   267,   268,   269,    -1,
18503      271,   272,   273,    -1,    -1,   276,   277,   278,   279,   280,
18504      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
18505      291,    -1,   293,   294,   295,   296,   297,   298,   299,   300,
18506       -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
18507      311,   312,   313,   314,   315,   316,    -1,   318,   319,   320,
18508      321,   322,   323,   324,   325,   326,   327,   328,   329,    -1,
18509      331,   332,   333,   334,   335,   336,   337,   338,   339,   340,
18510      341,   342,   343,   344,   345,   346,   347,   348,    -1,   350,
18511      351,   352,   353,   354,    -1,   356,   357,   358,   359,   360,
18512      361,   362,   363,   364,   365,    -1,   367,   368,   369,   370,
18513      371,   372,   373,   374,   375,   376,   377,   378,   379,    -1,
18514      381,   382,    -1,   384,   385,   386,   387,   388,   389,   390,
18515       -1,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
18516      401,   402,   403,   404,   405,   406,   407,   408,   409,    -1,
18517       -1,   412,   413,   414,   415,   416,    -1,    -1,   419,   420,
18518      421,   422,   423,   424,   425,    -1,   427,   428,   429,   430,
18519      431,   432,    -1,    -1,   435,    -1,    -1,   438,   439,   440,
18520      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
18521      451,   452,   453,   454,   455,   456,   457,     3,    -1,    -1,
18522       -1,    -1,    -1,     9,   465,   466,    -1,    -1,    -1,    -1,
18523       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
18524       26,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
18525       -1,    37,    38,    -1,    40,    41,    42,    -1,    44,    45,
18526       46,    47,    48,    -1,    50,    51,    -1,    53,    54,    55,
18527       56,    57,    58,    -1,    -1,    61,    62,    63,    64,    65,
18528       -1,    67,    68,    69,    70,    71,    -1,    -1,    -1,    75,
18529       76,    77,    78,    79,    -1,    81,    82,    83,    -1,    85,
18530       86,    87,    88,    89,    90,    -1,    -1,    93,    94,    95,
18531       -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,   104,   105,
18532      106,   107,   108,   109,   110,   111,    -1,   113,    -1,   115,
18533      116,   117,   118,   119,   120,    -1,   122,   123,   124,   125,
18534       -1,    -1,   128,   129,   130,   131,   132,    -1,   134,   135,
18535      136,    -1,   138,   139,   140,    -1,   142,   143,   144,   145,
18536      146,   147,   148,   149,   150,    -1,   152,    -1,   154,   155,
18537      156,   157,    -1,   159,    -1,   161,    -1,   163,    -1,   165,
18538      166,   167,   168,    -1,   170,   171,    -1,   173,   174,   175,
18539       -1,   177,   178,   179,   180,   181,    -1,   183,   184,   185,
18540      186,   187,   188,   189,   190,   191,   192,   193,   194,    -1,
18541      196,    -1,   198,   199,   200,   201,   202,   203,   204,    -1,
18542      206,    -1,   208,    -1,    -1,   211,    -1,   213,   214,   215,
18543      216,   217,    -1,    -1,   220,   221,    -1,   223,    -1,    -1,
18544      226,   227,   228,    -1,    -1,   231,   232,   233,   234,   235,
18545      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
18546      246,   247,    -1,   249,   250,   251,   252,   253,    -1,   255,
18547      256,    -1,   258,    -1,   260,   261,   262,   263,   264,   265,
18548       -1,   267,   268,    -1,    -1,   271,   272,   273,    -1,    -1,
18549      276,   277,   278,    -1,   280,    -1,   282,   283,   284,   285,
18550      286,   287,   288,   289,   290,   291,    -1,   293,   294,   295,
18551      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
18552      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
18553      316,    -1,   318,   319,   320,   321,   322,   323,   324,   325,
18554      326,   327,   328,   329,    -1,   331,   332,    -1,   334,   335,
18555      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
18556      346,   347,   348,    -1,   350,   351,   352,   353,   354,    -1,
18557      356,   357,   358,   359,   360,    -1,   362,   363,   364,   365,
18558       -1,   367,   368,   369,   370,   371,   372,   373,   374,   375,
18559      376,   377,   378,   379,    -1,   381,   382,    -1,   384,    -1,
18560      386,   387,   388,   389,   390,    -1,   392,   393,   394,    -1,
18561       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
18562      406,   407,   408,   409,    -1,    -1,   412,   413,   414,   415,
18563      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
18564       -1,   427,    -1,   429,   430,   431,   432,    -1,    -1,   435,
18565       -1,    -1,   438,   439,   440,   441,   442,   443,   444,   445,
18566      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
18567      456,   457,     3,     4,     5,    -1,    -1,    -1,     9,   465,
18568      466,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
18569       21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
18570       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
18571       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
18572       51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
18573       61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
18574       71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
18575       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
18576       91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
18577      101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
18578      111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
18579      121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
18580      131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
18581      141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
18582      151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
18583      161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
18584      171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
18585      181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
18586      191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
18587      201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
18588      211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
18589      221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
18590      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
18591      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
18592      251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
18593      261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
18594      271,   272,   273,   274,   275,   276,   277,   278,   279,   280,
18595      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
18596      291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
18597      301,   302,   303,   304,   305,   306,   307,   308,   309,   310,
18598      311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
18599      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
18600      331,   332,   333,   334,   335,   336,   337,   338,   339,   340,
18601      341,   342,   343,   344,   345,   346,   347,   348,   349,   350,
18602      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
18603      361,   362,   363,   364,   365,   366,   367,   368,   369,   370,
18604      371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
18605      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
18606      391,   392,   393,   394,   395,   396,   397,   398,   399,   400,
18607      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
18608      411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
18609      421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
18610      431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
18611      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
18612      451,   452,   453,   454,   455,   456,   457,     3,    -1,    -1,
18613       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18614       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
18615       26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
18616       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
18617       46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
18618       56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
18619       66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
18620       76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
18621       86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
18622       96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
18623      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
18624      116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
18625      126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
18626      136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
18627      146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
18628      156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
18629      166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
18630      176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
18631      186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
18632      196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
18633      206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
18634      216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
18635      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
18636      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
18637      246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
18638      256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
18639      266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
18640      276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
18641      286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
18642      296,   297,   298,   299,   300,   301,   302,   303,   304,   305,
18643      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
18644      316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
18645      326,   327,   328,   329,   330,   331,   332,   333,   334,   335,
18646      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
18647      346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
18648      356,   357,   358,   359,   360,   361,   362,   363,   364,   365,
18649      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
18650      376,   377,   378,   379,   380,   381,   382,   383,   384,   385,
18651      386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
18652      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
18653      406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
18654      416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
18655      426,   427,   428,   429,   430,   431,   432,   433,   434,   435,
18656      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
18657      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
18658      456,   457,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18659       -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
18660       21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
18661       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
18662       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
18663       51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
18664       61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
18665       71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
18666       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
18667       91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
18668      101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
18669      111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
18670      121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
18671      131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
18672      141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
18673      151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
18674      161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
18675      171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
18676      181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
18677      191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
18678      201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
18679      211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
18680      221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
18681      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
18682      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
18683      251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
18684      261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
18685      271,   272,   273,   274,   275,   276,   277,   278,   279,   280,
18686      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
18687      291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
18688      301,   302,   303,   304,   305,   306,   307,   308,   309,   310,
18689      311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
18690      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
18691      331,   332,   333,   334,   335,   336,   337,   338,   339,   340,
18692      341,   342,   343,   344,   345,   346,   347,   348,   349,   350,
18693      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
18694      361,   362,   363,   364,   365,   366,   367,   368,   369,   370,
18695      371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
18696      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
18697      391,   392,   393,   394,   395,   396,   397,   398,   399,   400,
18698      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
18699      411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
18700      421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
18701      431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
18702      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
18703      451,   452,   453,   454,   455,   456,   457,     3,    -1,    -1,
18704       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18705       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
18706       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
18707       -1,    37,    38,    -1,    40,    41,    42,    43,    44,    45,
18708       46,    47,    48,    49,    50,    51,    -1,    53,    54,    55,
18709       56,    57,    58,    -1,    60,    61,    62,    63,    64,    65,
18710       -1,    67,    68,    69,    70,    71,    -1,    73,    -1,    75,
18711       76,    77,    78,    79,    80,    81,    82,    83,    -1,    85,
18712       86,    87,    88,    89,    90,    -1,    92,    93,    94,    95,
18713       96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
18714      106,   107,   108,   109,   110,   111,    -1,   113,    -1,   115,
18715      116,   117,   118,   119,   120,    -1,   122,   123,   124,   125,
18716       -1,    -1,   128,   129,   130,   131,   132,    -1,   134,   135,
18717      136,    -1,   138,   139,   140,    -1,   142,   143,   144,   145,
18718      146,   147,   148,   149,   150,    -1,   152,    -1,   154,   155,
18719      156,   157,    -1,   159,    -1,   161,   162,    -1,   164,   165,
18720      166,   167,   168,    -1,   170,   171,    -1,   173,   174,   175,
18721       -1,   177,   178,   179,   180,   181,   182,   183,   184,   185,
18722      186,    -1,   188,   189,   190,   191,   192,   193,   194,    -1,
18723      196,   197,   198,   199,   200,   201,   202,   203,   204,    -1,
18724      206,    -1,   208,   209,   210,   211,   212,   213,   214,   215,
18725      216,   217,    -1,    -1,   220,   221,   222,   223,   224,    -1,
18726      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
18727      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
18728      246,   247,   248,   249,   250,   251,   252,   253,    -1,   255,
18729      256,   257,   258,    -1,   260,   261,   262,   263,   264,   265,
18730       -1,   267,   268,    -1,    -1,   271,   272,   273,    -1,    -1,
18731      276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
18732      286,   287,   288,   289,   290,   291,    -1,   293,   294,   295,
18733      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
18734      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
18735      316,    -1,   318,   319,   320,   321,   322,   323,   324,   325,
18736      326,   327,   328,   329,    -1,   331,   332,   333,   334,   335,
18737      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
18738      346,   347,   348,    -1,   350,   351,   352,   353,   354,   355,
18739      356,   357,   358,   359,   360,   361,   362,   363,   364,   365,
18740       -1,   367,   368,   369,   370,   371,   372,   373,   374,   375,
18741      376,   377,   378,   379,    -1,   381,   382,    -1,   384,   385,
18742      386,   387,   388,   389,   390,    -1,   392,   393,   394,    -1,
18743       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
18744      406,   407,   408,   409,    -1,    -1,   412,   413,   414,   415,
18745      416,   417,    -1,   419,   420,   421,   422,   423,   424,   425,
18746       -1,   427,   428,   429,   430,   431,   432,    -1,    -1,   435,
18747       -1,    -1,   438,   439,   440,   441,   442,   443,   444,   445,
18748      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
18749      456,   457,     3,    -1,     5,    -1,    -1,    -1,    -1,    -1,
18750       -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
18751       21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
18752       -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
18753       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
18754       51,    -1,    53,    54,    55,    56,    57,    58,    -1,    -1,
18755       61,    62,    63,    64,    65,    -1,    67,    68,    69,    70,
18756       71,    -1,    73,    -1,    75,    76,    77,    78,    79,    80,
18757       81,    82,    83,    -1,    85,    86,    87,    88,    89,    90,
18758       -1,    92,    93,    94,    95,    -1,    -1,    -1,    99,    -1,
18759       -1,    -1,   103,   104,   105,   106,   107,   108,   109,   110,
18760      111,    -1,   113,    -1,   115,   116,   117,   118,   119,   120,
18761       -1,   122,   123,   124,   125,    -1,    -1,   128,   129,   130,
18762      131,   132,    -1,   134,   135,   136,    -1,   138,   139,   140,
18763       -1,   142,   143,   144,   145,   146,   147,   148,   149,   150,
18764      151,   152,    -1,   154,   155,   156,   157,    -1,   159,    -1,
18765      161,   162,    -1,   164,   165,   166,   167,   168,    -1,   170,
18766      171,    -1,   173,   174,   175,    -1,   177,   178,   179,   180,
18767      181,   182,   183,   184,   185,   186,    -1,   188,   189,   190,
18768      191,   192,   193,   194,    -1,   196,   197,   198,   199,   200,
18769      201,   202,   203,   204,    -1,   206,    -1,   208,   209,   210,
18770      211,   212,   213,   214,   215,   216,   217,    -1,    -1,   220,
18771      221,   222,   223,   224,    -1,   226,   227,   228,    -1,    -1,
18772      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
18773      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
18774      251,   252,   253,    -1,   255,   256,   257,   258,    -1,   260,
18775      261,   262,   263,   264,   265,    -1,   267,   268,   269,    -1,
18776      271,   272,   273,    -1,    -1,   276,   277,   278,   279,   280,
18777      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
18778      291,    -1,   293,   294,   295,   296,   297,   298,   299,   300,
18779       -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
18780      311,   312,   313,   314,   315,   316,    -1,   318,   319,   320,
18781      321,   322,   323,   324,   325,   326,   327,   328,   329,    -1,
18782      331,   332,   333,   334,   335,   336,   337,   338,   339,   340,
18783      341,   342,   343,   344,   345,   346,   347,   348,    -1,   350,
18784      351,   352,   353,   354,    -1,   356,   357,   358,   359,   360,
18785      361,   362,   363,   364,   365,    -1,   367,   368,   369,   370,
18786      371,   372,   373,   374,   375,   376,   377,   378,   379,    -1,
18787      381,   382,    -1,   384,   385,   386,   387,   388,   389,   390,
18788       -1,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
18789      401,   402,   403,   404,   405,   406,   407,   408,   409,    -1,
18790       -1,   412,   413,   414,   415,   416,    -1,    -1,   419,   420,
18791      421,   422,   423,   424,   425,    -1,   427,   428,   429,   430,
18792      431,   432,    -1,    -1,   435,    -1,    -1,   438,   439,   440,
18793      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
18794      451,   452,   453,   454,   455,   456,   457,     3,    -1,    -1,
18795       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18796       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
18797       26,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
18798       -1,    37,    38,    -1,    40,    41,    42,    43,    44,    45,
18799       46,    47,    48,    49,    50,    51,    -1,    53,    54,    55,
18800       56,    57,    58,    -1,    -1,    61,    62,    63,    64,    65,
18801       -1,    67,    68,    69,    70,    71,    -1,    73,    -1,    75,
18802       76,    77,    78,    79,    80,    81,    82,    83,    -1,    85,
18803       86,    87,    88,    89,    90,    -1,    92,    93,    94,    95,
18804       -1,    -1,    -1,    99,    -1,    -1,   102,   103,   104,   105,
18805      106,   107,   108,   109,   110,   111,    -1,   113,    -1,   115,
18806      116,   117,   118,   119,   120,    -1,   122,   123,   124,   125,
18807       -1,    -1,   128,   129,   130,   131,   132,    -1,   134,   135,
18808      136,    -1,   138,   139,   140,    -1,   142,   143,   144,   145,
18809      146,   147,   148,   149,   150,    -1,   152,    -1,   154,   155,
18810      156,   157,    -1,   159,    -1,   161,   162,    -1,   164,   165,
18811      166,   167,   168,    -1,   170,   171,    -1,   173,   174,   175,
18812       -1,   177,   178,   179,   180,   181,   182,   183,   184,   185,
18813      186,    -1,   188,   189,   190,   191,   192,   193,   194,    -1,
18814      196,   197,   198,   199,   200,   201,   202,   203,   204,    -1,
18815      206,    -1,   208,   209,   210,   211,   212,   213,   214,   215,
18816      216,   217,    -1,    -1,   220,   221,   222,   223,   224,    -1,
18817      226,   227,   228,    -1,    -1,   231,   232,   233,   234,   235,
18818      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
18819      246,   247,   248,   249,   250,   251,   252,   253,    -1,   255,
18820      256,   257,   258,    -1,   260,   261,   262,   263,   264,   265,
18821       -1,   267,   268,    -1,    -1,   271,   272,   273,    -1,    -1,
18822      276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
18823      286,   287,   288,   289,   290,   291,    -1,   293,   294,   295,
18824      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
18825      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
18826      316,    -1,   318,   319,   320,   321,   322,   323,   324,   325,
18827      326,   327,   328,   329,    -1,   331,   332,   333,   334,   335,
18828      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
18829      346,   347,   348,    -1,   350,   351,   352,   353,   354,   355,
18830      356,   357,   358,   359,   360,   361,   362,   363,   364,   365,
18831       -1,   367,   368,   369,   370,   371,   372,   373,   374,   375,
18832      376,   377,   378,   379,    -1,   381,   382,    -1,   384,   385,
18833      386,   387,   388,   389,   390,    -1,   392,   393,   394,    -1,
18834       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
18835      406,   407,   408,   409,    -1,    -1,   412,   413,   414,   415,
18836      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
18837       -1,   427,   428,   429,   430,   431,   432,    -1,    -1,   435,
18838       -1,    -1,   438,   439,   440,   441,   442,   443,   444,   445,
18839      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
18840      456,   457,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18841       -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
18842       21,    22,    23,    24,    25,    26,    27,    28,    29,    -1,
18843       -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
18844       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
18845       51,    -1,    53,    54,    55,    56,    57,    58,    -1,    -1,
18846       61,    62,    63,    64,    65,    -1,    67,    68,    69,    70,
18847       71,    -1,    73,    -1,    75,    76,    77,    78,    79,    80,
18848       81,    82,    83,    -1,    85,    86,    87,    88,    89,    90,
18849       -1,    92,    93,    94,    95,    -1,    -1,    -1,    99,    -1,
18850       -1,   102,   103,   104,   105,   106,   107,   108,   109,   110,
18851      111,    -1,   113,    -1,   115,   116,   117,   118,   119,   120,
18852       -1,   122,   123,   124,   125,    -1,    -1,   128,   129,   130,
18853      131,   132,    -1,   134,   135,   136,    -1,   138,   139,   140,
18854       -1,   142,   143,   144,   145,   146,   147,   148,   149,   150,
18855       -1,   152,    -1,   154,   155,   156,   157,    -1,   159,    -1,
18856      161,   162,    -1,   164,   165,   166,   167,   168,    -1,   170,
18857      171,    -1,   173,   174,   175,    -1,   177,   178,   179,   180,
18858      181,   182,   183,   184,   185,   186,    -1,   188,   189,   190,
18859      191,   192,   193,   194,    -1,   196,   197,   198,   199,   200,
18860      201,   202,   203,   204,    -1,   206,    -1,   208,   209,   210,
18861      211,   212,   213,   214,   215,   216,   217,    -1,    -1,   220,
18862      221,   222,   223,   224,    -1,   226,   227,   228,    -1,    -1,
18863      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
18864      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
18865      251,   252,   253,    -1,   255,   256,   257,   258,    -1,   260,
18866      261,   262,   263,   264,   265,    -1,   267,   268,    -1,    -1,
18867      271,   272,   273,    -1,    -1,   276,   277,   278,   279,   280,
18868      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
18869      291,    -1,   293,   294,   295,   296,   297,   298,   299,   300,
18870       -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
18871      311,   312,   313,   314,   315,   316,    -1,   318,   319,   320,
18872      321,   322,   323,   324,   325,   326,   327,   328,   329,    -1,
18873      331,   332,   333,   334,   335,   336,   337,   338,   339,   340,
18874      341,   342,   343,   344,   345,   346,   347,   348,    -1,   350,
18875      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
18876      361,   362,   363,   364,   365,    -1,   367,   368,   369,   370,
18877      371,   372,   373,   374,   375,   376,   377,   378,   379,    -1,
18878      381,   382,    -1,   384,   385,   386,   387,   388,   389,   390,
18879       -1,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
18880      401,    -1,   403,   404,   405,   406,   407,   408,   409,    -1,
18881       -1,   412,   413,   414,   415,   416,    -1,    -1,   419,   420,
18882      421,   422,   423,   424,   425,    -1,   427,   428,   429,   430,
18883      431,   432,    -1,    -1,   435,    -1,    -1,   438,   439,   440,
18884      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
18885      451,   452,   453,   454,   455,   456,   457,     3,    -1,    -1,
18886       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18887       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
18888       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
18889       -1,    37,    38,    -1,    40,    41,    42,    43,    44,    45,
18890       46,    47,    48,    49,    50,    51,    -1,    53,    54,    55,
18891       56,    57,    58,    -1,    -1,    61,    62,    63,    64,    65,
18892       -1,    67,    68,    69,    70,    71,    -1,    73,    -1,    75,
18893       76,    77,    78,    79,    80,    81,    82,    83,    -1,    85,
18894       86,    87,    88,    89,    90,    -1,    92,    93,    94,    95,
18895       -1,    -1,    -1,    99,    -1,    -1,   102,   103,   104,   105,
18896      106,   107,   108,   109,   110,   111,    -1,   113,    -1,   115,
18897      116,   117,   118,   119,   120,    -1,   122,   123,   124,   125,
18898       -1,    -1,   128,   129,   130,   131,   132,    -1,   134,   135,
18899      136,    -1,   138,   139,   140,    -1,   142,   143,   144,   145,
18900      146,   147,   148,   149,   150,    -1,   152,    -1,   154,   155,
18901      156,   157,    -1,   159,    -1,   161,   162,    -1,   164,   165,
18902      166,   167,   168,    -1,   170,   171,    -1,   173,   174,   175,
18903       -1,   177,   178,   179,   180,   181,   182,   183,   184,   185,
18904      186,    -1,   188,   189,   190,   191,   192,   193,   194,    -1,
18905      196,   197,   198,   199,   200,   201,   202,   203,   204,    -1,
18906      206,    -1,   208,   209,   210,   211,   212,   213,   214,   215,
18907      216,   217,    -1,    -1,   220,   221,   222,   223,   224,    -1,
18908      226,   227,   228,    -1,    -1,   231,   232,   233,   234,   235,
18909      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
18910      246,   247,   248,   249,   250,   251,   252,   253,    -1,   255,
18911      256,   257,   258,    -1,   260,   261,   262,   263,   264,   265,
18912       -1,   267,   268,    -1,    -1,   271,   272,   273,    -1,    -1,
18913      276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
18914      286,   287,   288,   289,   290,   291,    -1,   293,   294,   295,
18915      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
18916      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
18917      316,    -1,   318,   319,   320,   321,   322,   323,   324,   325,
18918      326,   327,   328,   329,    -1,   331,   332,   333,   334,   335,
18919      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
18920      346,   347,   348,    -1,   350,   351,   352,   353,   354,   355,
18921      356,   357,   358,   359,   360,   361,   362,   363,   364,   365,
18922       -1,   367,   368,   369,   370,   371,   372,   373,   374,   375,
18923      376,   377,   378,   379,    -1,   381,   382,    -1,   384,   385,
18924      386,   387,   388,   389,   390,    -1,   392,   393,   394,    -1,
18925       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
18926      406,   407,   408,   409,    -1,    -1,   412,   413,   414,   415,
18927      416,   417,    -1,   419,   420,   421,   422,   423,   424,   425,
18928       -1,   427,   428,   429,   430,   431,   432,    -1,    -1,   435,
18929       -1,    -1,   438,   439,   440,   441,   442,   443,   444,   445,
18930      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
18931      456,   457,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18932       -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
18933       21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
18934       -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
18935       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
18936       51,    -1,    53,    54,    55,    56,    57,    58,    -1,    -1,
18937       61,    62,    63,    64,    65,    -1,    67,    68,    69,    70,
18938       71,    -1,    73,    -1,    75,    76,    77,    78,    79,    80,
18939       81,    82,    83,    -1,    85,    86,    87,    88,    89,    90,
18940       -1,    92,    93,    94,    95,    -1,    -1,    -1,    99,    -1,
18941       -1,   102,   103,   104,   105,   106,   107,   108,   109,   110,
18942      111,    -1,   113,    -1,   115,   116,   117,   118,   119,   120,
18943       -1,   122,   123,   124,   125,    -1,    -1,   128,   129,   130,
18944      131,   132,    -1,   134,   135,   136,    -1,   138,   139,   140,
18945       -1,   142,   143,   144,   145,   146,   147,   148,   149,   150,
18946       -1,   152,    -1,   154,   155,   156,   157,    -1,   159,    -1,
18947      161,   162,    -1,   164,   165,   166,   167,   168,    -1,   170,
18948      171,   172,   173,   174,   175,    -1,   177,   178,   179,   180,
18949      181,   182,   183,   184,   185,   186,    -1,   188,   189,   190,
18950      191,   192,   193,   194,    -1,   196,   197,   198,   199,   200,
18951      201,   202,   203,   204,    -1,   206,    -1,   208,   209,   210,
18952      211,   212,   213,   214,   215,   216,   217,    -1,    -1,   220,
18953      221,   222,   223,   224,    -1,   226,   227,   228,    -1,    -1,
18954      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
18955      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
18956      251,   252,   253,    -1,   255,   256,   257,   258,    -1,   260,
18957      261,   262,   263,   264,   265,    -1,   267,   268,    -1,    -1,
18958      271,   272,   273,    -1,    -1,   276,   277,   278,   279,   280,
18959      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
18960      291,    -1,   293,   294,   295,   296,   297,   298,   299,   300,
18961       -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
18962      311,   312,   313,   314,   315,   316,    -1,   318,   319,   320,
18963      321,   322,   323,   324,   325,   326,   327,   328,   329,    -1,
18964      331,   332,   333,   334,   335,   336,   337,   338,   339,   340,
18965      341,   342,   343,   344,   345,   346,   347,   348,    -1,   350,
18966      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
18967      361,   362,   363,   364,   365,    -1,   367,   368,   369,   370,
18968      371,   372,   373,   374,   375,   376,   377,   378,   379,    -1,
18969      381,   382,    -1,   384,   385,   386,   387,   388,   389,   390,
18970       -1,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
18971      401,    -1,   403,   404,   405,   406,   407,   408,   409,    -1,
18972       -1,   412,   413,   414,   415,   416,    -1,    -1,   419,   420,
18973      421,   422,   423,   424,   425,    -1,   427,   428,   429,   430,
18974      431,   432,    -1,    -1,   435,    -1,    -1,   438,   439,   440,
18975      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
18976      451,   452,   453,   454,   455,   456,   457,     3,    -1,    -1,
18977       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18978       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
18979       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
18980       -1,    37,    38,    -1,    40,    41,    42,    43,    44,    45,
18981       46,    47,    48,    49,    50,    51,    -1,    53,    54,    55,
18982       56,    57,    58,    -1,    -1,    61,    62,    63,    64,    65,
18983       -1,    67,    68,    69,    70,    71,    -1,    73,    -1,    75,
18984       76,    77,    78,    79,    80,    81,    82,    83,    -1,    85,
18985       86,    87,    88,    89,    90,    -1,    92,    93,    94,    95,
18986       -1,    -1,    -1,    99,    -1,    -1,   102,   103,   104,   105,
18987      106,   107,   108,   109,   110,   111,    -1,   113,    -1,   115,
18988      116,   117,   118,   119,   120,    -1,   122,   123,   124,   125,
18989       -1,    -1,   128,   129,   130,   131,   132,    -1,   134,   135,
18990      136,    -1,   138,   139,   140,    -1,   142,   143,   144,   145,
18991      146,   147,   148,   149,   150,    -1,   152,    -1,   154,   155,
18992      156,   157,    -1,   159,    -1,   161,   162,    -1,   164,   165,
18993      166,   167,   168,    -1,   170,   171,    -1,   173,   174,   175,
18994       -1,   177,   178,   179,   180,   181,   182,   183,   184,   185,
18995      186,    -1,   188,   189,   190,   191,   192,   193,   194,    -1,
18996      196,   197,   198,   199,   200,   201,   202,   203,   204,    -1,
18997      206,    -1,   208,   209,   210,   211,   212,   213,   214,   215,
18998      216,   217,    -1,    -1,   220,   221,   222,   223,   224,    -1,
18999      226,   227,   228,    -1,    -1,   231,   232,   233,   234,   235,
19000      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
19001      246,   247,   248,   249,   250,   251,   252,   253,    -1,   255,
19002      256,   257,   258,    -1,   260,   261,   262,   263,   264,   265,
19003       -1,   267,   268,    -1,    -1,   271,   272,   273,    -1,    -1,
19004      276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
19005      286,   287,   288,   289,   290,   291,    -1,   293,   294,   295,
19006      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
19007      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
19008      316,    -1,   318,   319,   320,   321,   322,   323,   324,   325,
19009      326,   327,   328,   329,    -1,   331,   332,   333,   334,   335,
19010      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
19011      346,   347,   348,    -1,   350,   351,   352,   353,   354,   355,
19012      356,   357,   358,   359,   360,   361,   362,   363,   364,   365,
19013       -1,   367,   368,   369,   370,   371,   372,   373,   374,   375,
19014      376,   377,   378,   379,    -1,   381,   382,    -1,   384,   385,
19015      386,   387,   388,   389,   390,    -1,   392,   393,   394,    -1,
19016       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
19017      406,   407,   408,   409,    -1,    -1,   412,   413,   414,   415,
19018      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
19019       -1,   427,   428,   429,   430,   431,   432,    -1,    -1,   435,
19020       -1,    -1,   438,   439,   440,   441,   442,   443,   444,   445,
19021      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
19022      456,   457,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19023       -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
19024       21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
19025       -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
19026       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
19027       51,    -1,    53,    54,    55,    56,    57,    58,    -1,    -1,
19028       61,    62,    63,    64,    65,    -1,    67,    68,    69,    70,
19029       71,    -1,    73,    -1,    75,    76,    77,    78,    79,    80,
19030       81,    82,    83,    -1,    85,    86,    87,    88,    89,    90,
19031       -1,    92,    93,    94,    95,    -1,    -1,    -1,    99,    -1,
19032       -1,   102,   103,   104,   105,   106,   107,   108,   109,   110,
19033      111,    -1,   113,    -1,   115,   116,   117,   118,   119,   120,
19034       -1,   122,   123,   124,   125,    -1,    -1,   128,   129,   130,
19035      131,   132,    -1,   134,   135,   136,    -1,   138,   139,   140,
19036       -1,   142,   143,   144,   145,   146,   147,   148,   149,   150,
19037       -1,   152,    -1,   154,   155,   156,   157,    -1,   159,    -1,
19038      161,   162,    -1,   164,   165,   166,   167,   168,    -1,   170,
19039      171,    -1,   173,   174,   175,    -1,   177,   178,   179,   180,
19040      181,   182,   183,   184,   185,   186,    -1,   188,   189,   190,
19041      191,   192,   193,   194,    -1,   196,   197,   198,   199,   200,
19042      201,   202,   203,   204,    -1,   206,    -1,   208,   209,   210,
19043      211,   212,   213,   214,   215,   216,   217,    -1,    -1,   220,
19044      221,   222,   223,   224,    -1,   226,   227,   228,    -1,    -1,
19045      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
19046      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
19047      251,   252,   253,    -1,   255,   256,   257,   258,    -1,   260,
19048      261,   262,   263,   264,   265,    -1,   267,   268,    -1,    -1,
19049      271,   272,   273,    -1,    -1,   276,   277,   278,   279,   280,
19050      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
19051      291,    -1,   293,   294,   295,   296,   297,   298,   299,   300,
19052       -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
19053      311,   312,   313,   314,   315,   316,    -1,   318,   319,   320,
19054      321,   322,   323,   324,   325,   326,   327,   328,   329,    -1,
19055      331,   332,   333,   334,   335,   336,   337,   338,   339,   340,
19056      341,   342,   343,   344,   345,   346,   347,   348,    -1,   350,
19057      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
19058      361,   362,   363,   364,   365,    -1,   367,   368,   369,   370,
19059      371,   372,   373,   374,   375,   376,   377,   378,   379,    -1,
19060      381,   382,    -1,   384,   385,   386,   387,   388,   389,   390,
19061       -1,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
19062      401,    -1,   403,   404,   405,   406,   407,   408,   409,    -1,
19063       -1,   412,   413,   414,   415,   416,    -1,    -1,   419,   420,
19064      421,   422,   423,   424,   425,    -1,   427,   428,   429,   430,
19065      431,   432,    -1,    -1,   435,    -1,    -1,   438,   439,   440,
19066      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
19067      451,   452,   453,   454,   455,   456,   457,     3,    -1,    -1,
19068       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19069       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
19070       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
19071       -1,    37,    38,    -1,    40,    41,    42,    43,    44,    45,
19072       46,    47,    48,    49,    50,    51,    -1,    53,    54,    55,
19073       56,    57,    58,    -1,    -1,    61,    62,    63,    64,    65,
19074       -1,    67,    68,    69,    70,    71,    -1,    73,    -1,    75,
19075       76,    77,    78,    79,    80,    81,    82,    83,    -1,    85,
19076       86,    87,    88,    89,    90,    -1,    92,    93,    94,    95,
19077       -1,    -1,    -1,    99,    -1,    -1,   102,   103,   104,   105,
19078      106,   107,   108,   109,   110,   111,    -1,   113,    -1,   115,
19079      116,   117,   118,   119,   120,    -1,   122,   123,   124,   125,
19080       -1,    -1,   128,   129,   130,   131,   132,    -1,   134,   135,
19081      136,    -1,   138,   139,   140,    -1,   142,   143,   144,   145,
19082      146,   147,   148,   149,   150,    -1,   152,    -1,   154,   155,
19083      156,   157,    -1,   159,    -1,   161,   162,    -1,   164,   165,
19084      166,   167,   168,    -1,   170,   171,    -1,   173,   174,   175,
19085       -1,   177,   178,   179,   180,   181,   182,   183,   184,   185,
19086      186,    -1,   188,   189,   190,   191,   192,   193,   194,    -1,
19087      196,   197,   198,   199,   200,   201,   202,   203,   204,    -1,
19088      206,    -1,   208,   209,   210,   211,   212,   213,   214,   215,
19089      216,   217,    -1,    -1,   220,   221,   222,   223,   224,    -1,
19090      226,   227,   228,    -1,    -1,   231,   232,   233,   234,   235,
19091      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
19092      246,   247,   248,   249,   250,   251,   252,   253,    -1,   255,
19093      256,   257,   258,    -1,   260,   261,   262,   263,   264,   265,
19094       -1,   267,   268,    -1,    -1,   271,   272,   273,    -1,    -1,
19095      276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
19096      286,   287,   288,   289,   290,   291,    -1,   293,   294,   295,
19097      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
19098      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
19099      316,    -1,   318,   319,   320,   321,   322,   323,   324,   325,
19100      326,   327,   328,   329,    -1,   331,   332,   333,   334,   335,
19101      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
19102      346,   347,   348,    -1,   350,   351,   352,   353,   354,   355,
19103      356,   357,   358,   359,   360,   361,   362,   363,   364,   365,
19104       -1,   367,   368,   369,   370,   371,   372,   373,   374,   375,
19105      376,   377,   378,   379,    -1,   381,   382,    -1,   384,   385,
19106      386,   387,   388,   389,   390,    -1,   392,   393,   394,    -1,
19107       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
19108      406,   407,   408,   409,    -1,    -1,   412,   413,   414,   415,
19109      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
19110       -1,   427,   428,   429,   430,   431,   432,    -1,    -1,   435,
19111       -1,    -1,   438,   439,   440,   441,   442,   443,   444,   445,
19112      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
19113      456,   457,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19114       -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
19115       21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
19116       -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
19117       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
19118       51,    -1,    53,    54,    55,    56,    57,    58,    -1,    -1,
19119       61,    62,    63,    64,    65,    -1,    67,    68,    69,    70,
19120       71,    -1,    73,    -1,    75,    76,    77,    78,    79,    80,
19121       81,    82,    83,    -1,    85,    86,    87,    88,    89,    90,
19122       -1,    92,    93,    94,    95,    -1,    -1,    -1,    99,    -1,
19123       -1,   102,   103,   104,   105,   106,   107,   108,   109,   110,
19124      111,    -1,   113,    -1,   115,   116,   117,   118,   119,   120,
19125       -1,   122,   123,   124,   125,    -1,    -1,   128,   129,   130,
19126      131,   132,    -1,   134,   135,   136,    -1,   138,   139,   140,
19127       -1,   142,   143,   144,   145,   146,   147,   148,   149,   150,
19128       -1,   152,    -1,   154,   155,   156,   157,    -1,   159,    -1,
19129      161,   162,    -1,   164,   165,   166,   167,   168,    -1,   170,
19130      171,    -1,   173,   174,   175,    -1,   177,   178,   179,   180,
19131      181,   182,   183,   184,   185,   186,    -1,   188,   189,   190,
19132      191,   192,   193,   194,    -1,   196,   197,   198,   199,   200,
19133      201,   202,   203,   204,    -1,   206,    -1,   208,   209,   210,
19134      211,   212,   213,   214,   215,   216,   217,    -1,    -1,   220,
19135      221,   222,   223,   224,    -1,   226,   227,   228,    -1,    -1,
19136      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
19137      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
19138      251,   252,   253,    -1,   255,   256,   257,   258,    -1,   260,
19139      261,   262,   263,   264,   265,    -1,   267,   268,    -1,    -1,
19140      271,   272,   273,    -1,    -1,   276,   277,   278,   279,   280,
19141      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
19142      291,    -1,   293,   294,   295,   296,   297,   298,   299,   300,
19143       -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
19144      311,   312,   313,   314,   315,   316,    -1,   318,   319,   320,
19145      321,   322,   323,   324,   325,   326,   327,   328,   329,    -1,
19146      331,   332,   333,   334,   335,   336,   337,   338,   339,   340,
19147      341,   342,   343,   344,   345,   346,   347,   348,    -1,   350,
19148      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
19149      361,   362,   363,   364,   365,    -1,   367,   368,   369,   370,
19150      371,   372,   373,   374,   375,   376,   377,   378,   379,    -1,
19151      381,   382,    -1,   384,   385,   386,   387,   388,   389,   390,
19152       -1,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
19153      401,    -1,   403,   404,   405,   406,   407,   408,   409,    -1,
19154       -1,   412,   413,   414,   415,   416,    -1,    -1,   419,   420,
19155      421,   422,   423,   424,   425,    -1,   427,   428,   429,   430,
19156      431,   432,    -1,    -1,   435,    -1,    -1,   438,   439,   440,
19157      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
19158      451,   452,   453,   454,   455,   456,   457,     3,    -1,    -1,
19159       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19160       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
19161       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
19162       -1,    37,    38,    -1,    40,    41,    42,    43,    44,    45,
19163       46,    47,    48,    49,    50,    51,    -1,    53,    54,    55,
19164       56,    57,    58,    -1,    -1,    61,    62,    63,    64,    65,
19165       -1,    67,    68,    69,    70,    71,    -1,    73,    -1,    75,
19166       76,    77,    78,    79,    80,    81,    82,    83,    -1,    85,
19167       86,    87,    88,    89,    90,    -1,    92,    93,    94,    95,
19168       -1,    -1,    -1,    99,    -1,    -1,   102,   103,   104,   105,
19169      106,   107,   108,   109,   110,   111,    -1,   113,    -1,   115,
19170      116,   117,   118,   119,   120,    -1,   122,   123,   124,   125,
19171       -1,    -1,   128,   129,   130,   131,   132,    -1,   134,   135,
19172      136,    -1,   138,   139,   140,    -1,   142,   143,   144,   145,
19173      146,   147,   148,   149,   150,    -1,   152,    -1,   154,   155,
19174      156,   157,    -1,   159,    -1,   161,   162,    -1,   164,   165,
19175      166,   167,   168,    -1,   170,   171,    -1,   173,   174,   175,
19176       -1,   177,   178,   179,   180,   181,   182,   183,   184,   185,
19177      186,    -1,   188,   189,   190,   191,   192,   193,   194,    -1,
19178      196,   197,   198,   199,   200,   201,   202,   203,   204,    -1,
19179      206,    -1,   208,   209,   210,   211,   212,   213,   214,   215,
19180      216,   217,    -1,    -1,   220,   221,   222,   223,   224,    -1,
19181      226,   227,   228,    -1,    -1,   231,   232,   233,   234,   235,
19182      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
19183      246,   247,   248,   249,   250,   251,   252,   253,    -1,   255,
19184      256,   257,   258,    -1,   260,   261,   262,   263,   264,   265,
19185       -1,   267,   268,    -1,    -1,   271,   272,   273,    -1,    -1,
19186      276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
19187      286,   287,   288,   289,   290,   291,    -1,   293,   294,   295,
19188      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
19189      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
19190      316,    -1,   318,   319,   320,   321,   322,   323,   324,   325,
19191      326,   327,   328,   329,    -1,   331,   332,   333,   334,   335,
19192      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
19193      346,   347,   348,    -1,   350,   351,   352,   353,   354,   355,
19194      356,   357,   358,   359,   360,   361,   362,   363,   364,   365,
19195       -1,   367,   368,   369,   370,   371,   372,   373,   374,   375,
19196      376,   377,   378,   379,    -1,   381,   382,    -1,   384,   385,
19197      386,   387,   388,   389,   390,    -1,   392,   393,   394,    -1,
19198       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
19199      406,   407,   408,   409,    -1,    -1,   412,   413,   414,   415,
19200      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
19201       -1,   427,   428,   429,   430,   431,   432,    -1,    -1,   435,
19202       -1,    -1,   438,   439,   440,   441,   442,   443,   444,   445,
19203      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
19204      456,   457,     3,    -1,     5,    -1,    -1,    -1,    -1,    -1,
19205       -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
19206       21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
19207       -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
19208       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
19209       51,    -1,    53,    54,    55,    56,    57,    58,    -1,    -1,
19210       61,    62,    63,    64,    65,    -1,    67,    68,    69,    70,
19211       71,    -1,    73,    -1,    75,    76,    77,    78,    79,    80,
19212       81,    82,    83,    -1,    85,    86,    87,    88,    89,    90,
19213       -1,    92,    93,    94,    95,    -1,    -1,    -1,    99,    -1,
19214       -1,    -1,   103,   104,   105,   106,   107,   108,   109,   110,
19215      111,   112,   113,    -1,   115,   116,   117,   118,   119,   120,
19216       -1,   122,   123,   124,   125,    -1,    -1,   128,   129,   130,
19217      131,   132,    -1,   134,   135,   136,    -1,   138,   139,   140,
19218       -1,   142,   143,   144,   145,   146,   147,   148,   149,   150,
19219       -1,   152,    -1,   154,   155,   156,   157,    -1,   159,    -1,
19220      161,   162,    -1,   164,   165,   166,   167,   168,    -1,   170,
19221      171,    -1,   173,   174,   175,    -1,   177,   178,   179,   180,
19222      181,   182,   183,   184,   185,   186,    -1,   188,   189,   190,
19223      191,   192,   193,   194,    -1,   196,   197,   198,   199,   200,
19224      201,   202,   203,   204,    -1,   206,    -1,   208,   209,   210,
19225      211,   212,   213,   214,   215,   216,   217,    -1,    -1,   220,
19226      221,   222,   223,   224,    -1,   226,   227,   228,    -1,    -1,
19227      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
19228      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
19229      251,   252,   253,    -1,   255,   256,   257,   258,    -1,   260,
19230      261,   262,   263,   264,   265,    -1,   267,   268,    -1,    -1,
19231      271,   272,   273,    -1,    -1,   276,   277,   278,   279,   280,
19232      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
19233      291,    -1,   293,   294,   295,   296,   297,   298,   299,   300,
19234       -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
19235      311,   312,   313,   314,   315,   316,    -1,   318,   319,   320,
19236      321,   322,   323,   324,   325,   326,   327,   328,   329,    -1,
19237      331,   332,   333,   334,   335,   336,   337,   338,   339,   340,
19238      341,   342,   343,   344,   345,   346,   347,   348,    -1,   350,
19239      351,   352,   353,   354,    -1,   356,   357,   358,   359,   360,
19240      361,   362,   363,   364,   365,    -1,   367,   368,   369,   370,
19241      371,   372,   373,   374,   375,   376,   377,   378,   379,    -1,
19242      381,   382,    -1,   384,   385,   386,   387,   388,   389,   390,
19243       -1,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
19244      401,    -1,   403,   404,   405,   406,   407,   408,   409,    -1,
19245       -1,   412,   413,   414,   415,   416,    -1,    -1,   419,   420,
19246      421,   422,   423,   424,   425,    -1,   427,   428,   429,   430,
19247      431,   432,    -1,    -1,   435,    -1,    -1,   438,   439,   440,
19248      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
19249      451,   452,   453,   454,   455,   456,   457,     3,    -1,    -1,
19250       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19251       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
19252       -1,    27,    28,    29,    30,    31,    -1,    -1,    -1,    -1,
19253       -1,    37,    38,    -1,    40,    41,    42,    43,    44,    45,
19254       46,    47,    48,    49,    50,    51,    -1,    53,    54,    55,
19255       56,    57,    58,    -1,    -1,    61,    62,    63,    64,    65,
19256       -1,    67,    68,    69,    70,    71,    -1,    73,    -1,    75,
19257       76,    77,    78,    79,    80,    81,    82,    83,    -1,    85,
19258       86,    87,    88,    89,    90,    -1,    92,    93,    94,    95,
19259       -1,    -1,    -1,    99,    -1,    -1,    -1,   103,   104,   105,
19260      106,   107,   108,   109,   110,   111,    -1,   113,    -1,   115,
19261      116,   117,   118,   119,   120,    -1,   122,   123,   124,   125,
19262       -1,    -1,   128,   129,   130,   131,   132,    -1,   134,   135,
19263      136,    -1,   138,   139,   140,    -1,   142,   143,   144,   145,
19264      146,   147,   148,   149,   150,    -1,   152,    -1,   154,   155,
19265      156,   157,    -1,   159,    -1,   161,   162,    -1,   164,   165,
19266      166,   167,   168,    -1,   170,   171,    -1,   173,   174,   175,
19267       -1,   177,   178,   179,   180,   181,   182,   183,   184,   185,
19268      186,    -1,   188,   189,   190,   191,   192,   193,   194,    -1,
19269      196,   197,   198,   199,   200,   201,   202,   203,   204,    -1,
19270      206,    -1,   208,   209,   210,   211,   212,   213,   214,   215,
19271      216,   217,    -1,    -1,   220,   221,   222,   223,   224,    -1,
19272      226,   227,   228,    -1,    -1,   231,   232,   233,   234,   235,
19273      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
19274      246,   247,   248,   249,   250,   251,   252,   253,    -1,   255,
19275      256,   257,   258,    -1,   260,   261,   262,   263,   264,   265,
19276       -1,   267,   268,    -1,    -1,   271,   272,   273,    -1,    -1,
19277      276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
19278      286,   287,   288,   289,   290,   291,    -1,   293,   294,   295,
19279      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
19280      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
19281      316,    -1,   318,   319,   320,   321,   322,   323,   324,   325,
19282      326,   327,   328,   329,    -1,   331,   332,   333,   334,   335,
19283      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
19284      346,   347,   348,    -1,   350,   351,   352,   353,   354,    -1,
19285      356,   357,   358,   359,   360,   361,   362,   363,   364,   365,
19286       -1,   367,   368,   369,   370,   371,   372,   373,   374,   375,
19287      376,   377,   378,   379,    -1,   381,   382,    -1,   384,   385,
19288      386,   387,   388,   389,   390,    -1,   392,   393,   394,    -1,
19289       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
19290      406,   407,   408,   409,    -1,    -1,   412,   413,   414,   415,
19291      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
19292       -1,   427,   428,   429,   430,   431,   432,    -1,    -1,   435,
19293       -1,    -1,   438,   439,   440,   441,   442,   443,   444,   445,
19294      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
19295      456,   457,     3,    -1,     5,    -1,    -1,    -1,    -1,    -1,
19296       -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
19297       21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
19298       -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
19299       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
19300       51,    -1,    53,    54,    55,    56,    57,    58,    -1,    -1,
19301       61,    62,    63,    64,    65,    -1,    67,    68,    69,    70,
19302       71,    -1,    73,    -1,    75,    76,    77,    78,    79,    80,
19303       81,    82,    83,    -1,    85,    86,    87,    88,    89,    90,
19304       -1,    92,    93,    94,    95,    -1,    -1,    -1,    99,    -1,
19305       -1,    -1,   103,   104,   105,   106,   107,   108,   109,   110,
19306      111,    -1,   113,    -1,   115,   116,   117,   118,   119,   120,
19307       -1,   122,   123,   124,   125,    -1,    -1,   128,   129,   130,
19308      131,   132,    -1,   134,   135,   136,    -1,   138,   139,   140,
19309       -1,   142,   143,   144,   145,   146,   147,   148,   149,   150,
19310       -1,   152,    -1,   154,   155,   156,   157,    -1,   159,    -1,
19311      161,   162,    -1,   164,   165,   166,   167,   168,    -1,   170,
19312      171,    -1,   173,   174,   175,    -1,   177,   178,   179,   180,
19313      181,   182,   183,   184,   185,   186,    -1,   188,   189,   190,
19314      191,   192,   193,   194,    -1,   196,   197,   198,   199,   200,
19315      201,   202,   203,   204,    -1,   206,    -1,   208,   209,   210,
19316      211,   212,   213,   214,   215,   216,   217,    -1,    -1,   220,
19317      221,   222,   223,   224,    -1,   226,   227,   228,    -1,    -1,
19318      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
19319      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
19320      251,   252,   253,    -1,   255,   256,   257,   258,    -1,   260,
19321      261,   262,   263,   264,   265,    -1,   267,   268,    -1,    -1,
19322      271,   272,   273,    -1,    -1,   276,   277,   278,   279,   280,
19323      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
19324      291,    -1,   293,   294,   295,   296,   297,   298,   299,   300,
19325       -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
19326      311,   312,   313,   314,   315,   316,    -1,   318,   319,   320,
19327      321,   322,   323,   324,   325,   326,   327,   328,   329,    -1,
19328      331,   332,   333,   334,   335,   336,   337,   338,   339,   340,
19329      341,   342,   343,   344,   345,   346,   347,   348,    -1,   350,
19330      351,   352,   353,   354,    -1,   356,   357,   358,   359,   360,
19331      361,   362,   363,   364,   365,    -1,   367,   368,   369,   370,
19332      371,   372,   373,   374,   375,   376,   377,   378,   379,    -1,
19333      381,   382,    -1,   384,   385,   386,   387,   388,   389,   390,
19334       -1,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
19335      401,    -1,   403,   404,   405,   406,   407,   408,   409,    -1,
19336       -1,   412,   413,   414,   415,   416,    -1,    -1,   419,   420,
19337      421,   422,   423,   424,   425,    -1,   427,   428,   429,   430,
19338      431,   432,    -1,    -1,   435,    -1,    -1,   438,   439,   440,
19339      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
19340      451,   452,   453,   454,   455,   456,   457,     3,    -1,     5,
19341       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19342       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
19343       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
19344       -1,    37,    38,    -1,    40,    41,    42,    43,    44,    45,
19345       46,    47,    48,    49,    50,    51,    -1,    53,    54,    55,
19346       56,    57,    58,    -1,    -1,    61,    62,    63,    64,    65,
19347       -1,    67,    68,    69,    70,    71,    -1,    73,    -1,    75,
19348       76,    77,    78,    79,    80,    81,    82,    83,    -1,    85,
19349       86,    87,    88,    89,    90,    -1,    92,    93,    94,    95,
19350       -1,    -1,    -1,    99,    -1,    -1,    -1,   103,   104,   105,
19351      106,   107,   108,   109,   110,   111,    -1,   113,    -1,   115,
19352      116,   117,   118,   119,   120,    -1,   122,   123,   124,   125,
19353       -1,    -1,   128,   129,   130,   131,   132,    -1,   134,   135,
19354      136,    -1,   138,   139,   140,    -1,   142,   143,   144,   145,
19355      146,   147,   148,   149,   150,    -1,   152,    -1,   154,   155,
19356      156,   157,    -1,   159,    -1,   161,   162,    -1,   164,   165,
19357      166,   167,   168,    -1,   170,   171,    -1,   173,   174,   175,
19358       -1,   177,   178,   179,   180,   181,   182,   183,   184,   185,
19359      186,    -1,   188,   189,   190,   191,   192,   193,   194,    -1,
19360      196,   197,   198,   199,   200,   201,   202,   203,   204,    -1,
19361      206,    -1,   208,   209,   210,   211,   212,   213,   214,   215,
19362      216,   217,    -1,    -1,   220,   221,   222,   223,   224,    -1,
19363      226,   227,   228,    -1,    -1,   231,   232,   233,   234,   235,
19364      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
19365      246,   247,   248,   249,   250,   251,   252,   253,    -1,   255,
19366      256,   257,   258,    -1,   260,   261,   262,   263,   264,   265,
19367       -1,   267,   268,    -1,    -1,   271,   272,   273,    -1,    -1,
19368      276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
19369      286,   287,   288,   289,   290,   291,    -1,   293,   294,   295,
19370      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
19371      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
19372      316,    -1,   318,   319,   320,   321,   322,   323,   324,   325,
19373      326,   327,   328,   329,    -1,   331,   332,   333,   334,   335,
19374      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
19375      346,   347,   348,    -1,   350,   351,   352,   353,   354,    -1,
19376      356,   357,   358,   359,   360,   361,   362,   363,   364,   365,
19377       -1,   367,   368,   369,   370,   371,   372,   373,   374,   375,
19378      376,   377,   378,   379,    -1,   381,   382,    -1,   384,   385,
19379      386,   387,   388,   389,   390,    -1,   392,   393,   394,    -1,
19380       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
19381      406,   407,   408,   409,    -1,    -1,   412,   413,   414,   415,
19382      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
19383       -1,   427,   428,   429,   430,   431,   432,    -1,    -1,   435,
19384       -1,    -1,   438,   439,   440,   441,   442,   443,   444,   445,
19385      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
19386      456,   457,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19387       -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
19388       21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
19389       -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
19390       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
19391       51,    -1,    53,    54,    55,    56,    57,    58,    -1,    -1,
19392       61,    62,    63,    64,    65,    -1,    67,    68,    69,    70,
19393       71,    -1,    73,    -1,    75,    76,    77,    78,    79,    80,
19394       81,    82,    83,    -1,    85,    86,    87,    88,    89,    90,
19395       -1,    92,    93,    94,    95,    -1,    -1,    -1,    99,    -1,
19396       -1,    -1,   103,   104,   105,   106,   107,   108,   109,   110,
19397      111,    -1,   113,    -1,   115,   116,   117,   118,   119,   120,
19398       -1,   122,   123,   124,   125,    -1,    -1,   128,   129,   130,
19399      131,   132,    -1,   134,   135,   136,    -1,   138,   139,   140,
19400       -1,   142,   143,   144,   145,   146,   147,   148,   149,   150,
19401       -1,   152,    -1,   154,   155,   156,   157,    -1,   159,    -1,
19402      161,   162,    -1,   164,   165,   166,   167,   168,    -1,   170,
19403      171,    -1,   173,   174,   175,    -1,   177,   178,   179,   180,
19404      181,   182,   183,   184,   185,   186,    -1,   188,   189,   190,
19405      191,   192,   193,   194,    -1,   196,   197,   198,   199,   200,
19406      201,   202,   203,   204,    -1,   206,    -1,   208,   209,   210,
19407      211,   212,   213,   214,   215,   216,   217,    -1,    -1,   220,
19408      221,   222,   223,   224,    -1,   226,   227,   228,    -1,    -1,
19409      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
19410      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
19411      251,   252,   253,    -1,   255,   256,   257,   258,    -1,   260,
19412      261,   262,   263,   264,   265,    -1,   267,   268,    -1,    -1,
19413      271,   272,   273,    -1,    -1,   276,   277,   278,   279,   280,
19414      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
19415      291,    -1,   293,   294,   295,   296,   297,   298,   299,   300,
19416       -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
19417      311,   312,   313,   314,   315,   316,    -1,   318,   319,   320,
19418      321,   322,   323,   324,   325,   326,   327,   328,   329,    -1,
19419      331,   332,   333,   334,   335,   336,   337,   338,   339,   340,
19420      341,   342,   343,   344,   345,   346,   347,   348,    -1,   350,
19421      351,   352,   353,   354,    -1,   356,   357,   358,   359,   360,
19422      361,   362,   363,   364,   365,    -1,   367,   368,   369,   370,
19423      371,   372,   373,   374,   375,   376,   377,   378,   379,    -1,
19424      381,   382,    -1,   384,   385,   386,   387,   388,   389,   390,
19425       -1,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
19426      401,    -1,   403,   404,   405,   406,   407,   408,   409,    -1,
19427       -1,   412,   413,   414,   415,   416,    -1,    -1,   419,   420,
19428      421,   422,   423,   424,   425,    -1,   427,   428,   429,   430,
19429      431,   432,    -1,    -1,   435,    -1,    -1,   438,   439,   440,
19430      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
19431      451,   452,   453,   454,   455,   456,   457,     3,    -1,    -1,
19432       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19433       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
19434       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
19435       -1,    37,    38,    -1,    40,    41,    42,    43,    44,    45,
19436       46,    47,    48,    49,    50,    51,    -1,    53,    54,    55,
19437       56,    57,    58,    -1,    -1,    61,    62,    63,    64,    65,
19438       -1,    67,    68,    69,    70,    71,    -1,    73,    -1,    75,
19439       76,    77,    78,    79,    80,    81,    82,    83,    -1,    85,
19440       86,    87,    88,    89,    90,    -1,    92,    93,    94,    95,
19441       -1,    -1,    -1,    99,    -1,    -1,    -1,   103,   104,   105,
19442      106,   107,   108,   109,   110,   111,    -1,   113,    -1,   115,
19443      116,   117,   118,   119,   120,    -1,   122,   123,   124,   125,
19444       -1,    -1,   128,   129,   130,   131,   132,    -1,   134,   135,
19445      136,    -1,   138,   139,   140,    -1,   142,   143,   144,   145,
19446      146,   147,   148,   149,   150,    -1,   152,    -1,   154,   155,
19447      156,   157,    -1,   159,    -1,   161,   162,    -1,   164,   165,
19448      166,   167,   168,    -1,   170,   171,    -1,   173,   174,   175,
19449       -1,   177,   178,   179,   180,   181,   182,   183,   184,   185,
19450      186,    -1,   188,   189,   190,   191,   192,   193,   194,    -1,
19451      196,   197,   198,   199,   200,   201,   202,   203,   204,    -1,
19452      206,    -1,   208,   209,   210,   211,   212,   213,   214,   215,
19453      216,   217,    -1,    -1,   220,   221,   222,   223,   224,    -1,
19454      226,   227,   228,    -1,    -1,   231,   232,   233,   234,   235,
19455      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
19456      246,   247,   248,   249,   250,   251,   252,   253,    -1,   255,
19457      256,   257,   258,    -1,   260,   261,   262,   263,   264,   265,
19458       -1,   267,   268,    -1,    -1,   271,   272,   273,    -1,    -1,
19459      276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
19460      286,   287,   288,   289,   290,   291,    -1,   293,   294,   295,
19461      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
19462      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
19463      316,    -1,   318,   319,   320,   321,   322,   323,   324,   325,
19464      326,   327,   328,   329,    -1,   331,   332,   333,   334,   335,
19465      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
19466      346,   347,   348,    -1,   350,   351,   352,   353,   354,    -1,
19467      356,   357,   358,   359,   360,   361,   362,   363,   364,   365,
19468       -1,   367,   368,   369,   370,   371,   372,   373,   374,   375,
19469      376,   377,   378,   379,    -1,   381,   382,    -1,   384,   385,
19470      386,   387,   388,   389,   390,    -1,   392,   393,   394,    -1,
19471       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
19472      406,   407,   408,   409,    -1,    -1,   412,   413,   414,   415,
19473      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
19474       -1,   427,   428,   429,   430,   431,   432,    -1,    -1,   435,
19475       -1,    -1,   438,   439,   440,   441,   442,   443,   444,   445,
19476      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
19477      456,   457,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19478       -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
19479       21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
19480       -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
19481       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
19482       51,    -1,    53,    54,    55,    56,    57,    58,    -1,    -1,
19483       61,    62,    63,    64,    65,    -1,    67,    68,    69,    70,
19484       71,    -1,    73,    -1,    75,    76,    77,    78,    79,    80,
19485       81,    82,    83,    -1,    85,    86,    87,    88,    89,    90,
19486       -1,    92,    93,    94,    95,    -1,    -1,    -1,    99,    -1,
19487       -1,    -1,   103,   104,   105,   106,   107,   108,   109,   110,
19488      111,    -1,   113,    -1,   115,   116,   117,   118,   119,   120,
19489       -1,   122,   123,   124,   125,    -1,    -1,   128,   129,   130,
19490      131,   132,    -1,   134,   135,   136,    -1,   138,   139,   140,
19491       -1,   142,   143,   144,   145,   146,   147,   148,   149,   150,
19492       -1,   152,    -1,   154,   155,   156,   157,    -1,   159,    -1,
19493      161,   162,    -1,   164,   165,   166,   167,   168,    -1,   170,
19494      171,    -1,   173,   174,   175,    -1,   177,   178,   179,   180,
19495      181,   182,   183,   184,   185,   186,    -1,   188,   189,   190,
19496      191,   192,   193,   194,    -1,   196,   197,   198,   199,   200,
19497      201,   202,   203,   204,    -1,   206,    -1,   208,   209,   210,
19498      211,   212,   213,   214,   215,   216,   217,    -1,    -1,   220,
19499      221,   222,   223,   224,    -1,   226,   227,   228,    -1,    -1,
19500      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
19501      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
19502      251,   252,   253,    -1,   255,   256,   257,   258,    -1,   260,
19503      261,   262,   263,   264,   265,    -1,   267,   268,    -1,    -1,
19504      271,   272,   273,    -1,    -1,   276,   277,   278,   279,   280,
19505      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
19506      291,    -1,   293,   294,   295,   296,   297,   298,   299,   300,
19507       -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
19508      311,   312,   313,   314,   315,   316,    -1,   318,   319,   320,
19509      321,   322,   323,   324,   325,   326,   327,   328,   329,    -1,
19510      331,   332,   333,   334,   335,   336,   337,   338,   339,   340,
19511      341,   342,   343,   344,   345,   346,   347,   348,    -1,   350,
19512      351,   352,   353,   354,    -1,   356,   357,   358,   359,   360,
19513      361,   362,   363,   364,   365,    -1,   367,   368,   369,   370,
19514      371,   372,   373,   374,   375,   376,   377,   378,   379,    -1,
19515      381,   382,    -1,   384,   385,   386,   387,   388,   389,   390,
19516       -1,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
19517      401,    -1,   403,   404,   405,   406,   407,   408,   409,    -1,
19518       -1,   412,   413,   414,   415,   416,    -1,    -1,   419,   420,
19519      421,   422,   423,   424,   425,    -1,   427,   428,   429,   430,
19520      431,   432,    -1,    -1,   435,    -1,    -1,   438,   439,   440,
19521      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
19522      451,   452,   453,   454,   455,   456,   457,     3,    -1,    -1,
19523       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19524       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
19525       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
19526       -1,    37,    38,    -1,    40,    41,    42,    43,    44,    45,
19527       46,    47,    48,    49,    50,    51,    -1,    53,    54,    55,
19528       56,    57,    58,    -1,    -1,    61,    62,    63,    64,    65,
19529       -1,    67,    68,    69,    70,    71,    -1,    73,    -1,    75,
19530       76,    77,    78,    79,    80,    81,    82,    83,    -1,    85,
19531       86,    87,    88,    89,    90,    -1,    92,    93,    94,    95,
19532       -1,    -1,    -1,    99,    -1,    -1,    -1,   103,   104,   105,
19533      106,   107,   108,   109,   110,   111,    -1,   113,    -1,   115,
19534      116,   117,   118,   119,   120,    -1,   122,   123,   124,   125,
19535       -1,    -1,   128,   129,   130,   131,   132,    -1,   134,   135,
19536      136,    -1,   138,   139,   140,    -1,   142,   143,   144,   145,
19537      146,   147,   148,   149,   150,    -1,   152,    -1,   154,   155,
19538      156,   157,    -1,   159,    -1,   161,   162,    -1,   164,   165,
19539      166,   167,   168,    -1,   170,   171,    -1,   173,   174,   175,
19540       -1,   177,   178,   179,   180,   181,   182,   183,   184,   185,
19541      186,    -1,   188,   189,   190,   191,   192,   193,   194,    -1,
19542      196,   197,   198,   199,   200,   201,   202,   203,   204,    -1,
19543      206,    -1,   208,   209,   210,   211,   212,   213,   214,   215,
19544      216,   217,    -1,    -1,   220,   221,   222,   223,   224,    -1,
19545      226,   227,   228,    -1,    -1,   231,   232,   233,   234,   235,
19546      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
19547      246,   247,   248,   249,   250,   251,   252,   253,    -1,   255,
19548      256,   257,   258,    -1,   260,   261,   262,   263,   264,   265,
19549       -1,   267,   268,    -1,    -1,   271,   272,   273,    -1,    -1,
19550      276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
19551      286,   287,   288,   289,   290,   291,    -1,   293,   294,   295,
19552      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
19553      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
19554      316,    -1,   318,   319,   320,   321,   322,   323,   324,   325,
19555      326,   327,   328,   329,    -1,   331,   332,   333,   334,   335,
19556      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
19557      346,   347,   348,    -1,   350,   351,   352,   353,   354,    -1,
19558      356,   357,   358,   359,   360,   361,   362,   363,   364,   365,
19559       -1,   367,   368,   369,   370,   371,   372,   373,   374,   375,
19560      376,   377,   378,   379,    -1,   381,   382,    -1,   384,   385,
19561      386,   387,   388,   389,   390,    -1,   392,   393,   394,    -1,
19562       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
19563      406,   407,   408,   409,    -1,    -1,   412,   413,   414,   415,
19564      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
19565       -1,   427,   428,   429,   430,   431,   432,    -1,    -1,   435,
19566       -1,    -1,   438,   439,   440,   441,   442,   443,   444,   445,
19567      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
19568      456,   457,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19569       -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
19570       21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
19571       -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
19572       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
19573       51,    -1,    53,    54,    55,    56,    57,    58,    -1,    -1,
19574       61,    62,    63,    64,    65,    -1,    67,    68,    69,    70,
19575       71,    -1,    73,    -1,    75,    76,    77,    78,    79,    80,
19576       81,    82,    83,    -1,    85,    86,    87,    88,    89,    90,
19577       -1,    92,    93,    94,    95,    -1,    -1,    -1,    99,    -1,
19578       -1,    -1,   103,   104,   105,   106,   107,   108,   109,   110,
19579      111,    -1,   113,    -1,   115,   116,   117,   118,   119,   120,
19580       -1,   122,   123,   124,   125,    -1,    -1,   128,   129,   130,
19581      131,   132,    -1,   134,   135,   136,    -1,   138,   139,   140,
19582       -1,   142,   143,   144,   145,   146,   147,   148,   149,   150,
19583       -1,   152,    -1,   154,   155,   156,   157,    -1,   159,    -1,
19584      161,   162,    -1,   164,   165,   166,   167,   168,    -1,   170,
19585      171,    -1,   173,   174,   175,    -1,   177,   178,   179,   180,
19586      181,   182,   183,   184,   185,   186,    -1,   188,   189,   190,
19587      191,   192,   193,   194,    -1,   196,   197,   198,   199,   200,
19588      201,   202,   203,   204,    -1,   206,    -1,   208,   209,   210,
19589      211,   212,   213,   214,   215,   216,   217,    -1,    -1,   220,
19590      221,   222,   223,   224,    -1,   226,   227,   228,    -1,    -1,
19591      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
19592      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
19593      251,   252,   253,    -1,   255,   256,   257,   258,    -1,   260,
19594      261,   262,   263,   264,   265,    -1,   267,   268,    -1,    -1,
19595      271,   272,   273,    -1,    -1,   276,   277,   278,   279,   280,
19596      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
19597      291,    -1,   293,   294,   295,   296,   297,   298,   299,   300,
19598       -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
19599      311,   312,   313,   314,   315,   316,    -1,   318,   319,   320,
19600      321,   322,   323,   324,   325,   326,   327,   328,   329,    -1,
19601      331,   332,   333,   334,   335,   336,   337,   338,   339,   340,
19602      341,   342,   343,   344,   345,   346,   347,   348,    -1,   350,
19603      351,   352,   353,   354,    -1,   356,   357,   358,   359,   360,
19604      361,   362,   363,   364,   365,    -1,   367,   368,   369,   370,
19605      371,   372,   373,   374,   375,   376,   377,   378,   379,    -1,
19606      381,   382,    -1,   384,   385,   386,   387,   388,   389,   390,
19607       -1,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
19608      401,    -1,   403,   404,   405,   406,   407,   408,   409,    -1,
19609       -1,   412,   413,   414,   415,   416,    -1,    -1,   419,   420,
19610      421,   422,   423,   424,   425,    -1,   427,   428,   429,   430,
19611      431,   432,    -1,    -1,   435,    -1,    -1,   438,   439,   440,
19612      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
19613      451,   452,   453,   454,   455,   456,   457,     3,    -1,    -1,
19614       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19615       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
19616       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
19617       -1,    37,    38,    -1,    40,    41,    42,    43,    44,    45,
19618       46,    47,    48,    49,    50,    51,    -1,    53,    54,    55,
19619       56,    57,    58,    -1,    -1,    61,    62,    63,    64,    65,
19620       -1,    67,    68,    69,    70,    71,    -1,    73,    -1,    75,
19621       76,    77,    78,    79,    80,    81,    82,    83,    -1,    85,
19622       86,    87,    88,    89,    90,    -1,    92,    93,    94,    95,
19623       -1,    -1,    -1,    99,    -1,    -1,    -1,   103,   104,   105,
19624      106,   107,   108,   109,   110,   111,    -1,   113,    -1,   115,
19625      116,   117,   118,   119,   120,    -1,   122,   123,   124,   125,
19626       -1,    -1,   128,   129,   130,   131,   132,    -1,   134,   135,
19627      136,    -1,   138,   139,   140,    -1,   142,   143,   144,   145,
19628      146,   147,   148,   149,   150,    -1,   152,    -1,   154,   155,
19629      156,   157,    -1,   159,    -1,   161,   162,    -1,   164,   165,
19630      166,   167,   168,    -1,   170,   171,    -1,   173,   174,   175,
19631       -1,   177,   178,   179,   180,   181,   182,   183,   184,   185,
19632      186,    -1,   188,   189,   190,   191,   192,   193,   194,    -1,
19633      196,   197,   198,   199,   200,   201,   202,   203,   204,    -1,
19634      206,    -1,   208,   209,   210,   211,   212,   213,   214,   215,
19635      216,   217,    -1,    -1,   220,   221,   222,   223,   224,    -1,
19636      226,   227,   228,    -1,    -1,   231,   232,   233,   234,   235,
19637      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
19638      246,   247,   248,   249,   250,   251,   252,   253,    -1,   255,
19639      256,   257,   258,    -1,   260,   261,   262,   263,   264,   265,
19640       -1,   267,   268,    -1,    -1,   271,   272,   273,    -1,    -1,
19641      276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
19642      286,   287,   288,   289,   290,   291,    -1,   293,   294,   295,
19643      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
19644      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
19645      316,    -1,   318,   319,   320,   321,   322,   323,   324,   325,
19646      326,   327,   328,   329,    -1,   331,   332,   333,   334,   335,
19647      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
19648      346,   347,   348,    -1,   350,   351,   352,   353,   354,    -1,
19649      356,   357,   358,   359,   360,   361,   362,   363,   364,   365,
19650       -1,   367,   368,   369,   370,   371,   372,   373,   374,   375,
19651      376,   377,   378,   379,    -1,   381,   382,    -1,   384,   385,
19652      386,   387,   388,   389,   390,    -1,   392,   393,   394,    -1,
19653       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
19654      406,   407,   408,   409,    -1,    -1,   412,   413,   414,   415,
19655      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
19656       -1,   427,   428,   429,   430,   431,   432,    -1,    -1,   435,
19657       -1,    -1,   438,   439,   440,   441,   442,   443,   444,   445,
19658      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
19659      456,   457,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19660       -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
19661       21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
19662       -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
19663       41,    42,    -1,    44,    45,    46,    47,    48,    -1,    50,
19664       51,    -1,    53,    54,    55,    56,    57,    58,    -1,    -1,
19665       61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
19666       71,    -1,    -1,    74,    75,    76,    77,    78,    79,    -1,
19667       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
19668       -1,    -1,    93,    94,    95,    -1,    -1,    -1,    -1,    -1,
19669       -1,    -1,   103,   104,   105,   106,   107,   108,   109,   110,
19670      111,    -1,   113,    -1,   115,   116,   117,   118,   119,   120,
19671       -1,   122,   123,   124,   125,    -1,    -1,   128,   129,   130,
19672      131,   132,    -1,   134,   135,   136,    -1,   138,   139,   140,
19673       -1,   142,   143,   144,   145,   146,   147,   148,   149,   150,
19674       -1,   152,    -1,   154,   155,   156,   157,    -1,   159,   160,
19675      161,    -1,    -1,    -1,   165,   166,   167,   168,    -1,   170,
19676      171,    -1,   173,   174,   175,    -1,   177,   178,   179,   180,
19677      181,    -1,   183,   184,   185,   186,    -1,   188,   189,   190,
19678      191,   192,   193,   194,    -1,   196,    -1,   198,   199,   200,
19679      201,   202,   203,   204,    -1,   206,    -1,   208,    -1,    -1,
19680      211,    -1,   213,   214,   215,   216,   217,    -1,    -1,   220,
19681      221,    -1,   223,    -1,    -1,   226,   227,   228,    -1,    -1,
19682      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
19683      241,   242,   243,   244,   245,   246,   247,    -1,   249,   250,
19684      251,   252,   253,    -1,   255,   256,    -1,   258,    -1,   260,
19685      261,   262,   263,   264,   265,    -1,   267,   268,    -1,    -1,
19686      271,   272,   273,    -1,    -1,   276,   277,   278,    -1,   280,
19687       -1,   282,   283,   284,   285,   286,   287,   288,   289,   290,
19688      291,    -1,   293,   294,   295,   296,   297,   298,   299,   300,
19689      301,   302,   303,   304,   305,   306,   307,   308,   309,   310,
19690      311,   312,   313,   314,   315,   316,    -1,   318,   319,   320,
19691      321,   322,   323,   324,   325,   326,   327,   328,   329,    -1,
19692      331,   332,    -1,   334,   335,   336,   337,   338,   339,   340,
19693      341,   342,   343,   344,   345,   346,   347,   348,    -1,   350,
19694      351,   352,   353,   354,    -1,   356,   357,   358,   359,   360,
19695       -1,   362,   363,   364,   365,    -1,   367,   368,   369,   370,
19696      371,   372,   373,   374,   375,   376,   377,   378,   379,    -1,
19697      381,   382,    -1,   384,    -1,   386,   387,   388,   389,   390,
19698       -1,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
19699      401,    -1,   403,   404,   405,   406,   407,   408,   409,    -1,
19700      411,   412,   413,   414,   415,   416,    -1,    -1,   419,   420,
19701      421,   422,   423,   424,   425,    -1,   427,    -1,   429,   430,
19702      431,   432,    -1,    -1,   435,    -1,    -1,   438,   439,   440,
19703      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
19704      451,   452,   453,   454,   455,   456,   457,     3,    -1,    -1,
19705       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19706       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
19707       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
19708       -1,    37,    38,    -1,    40,    41,    42,    -1,    44,    45,
19709       46,    47,    48,    -1,    50,    51,    -1,    53,    54,    55,
19710       56,    57,    58,    -1,    -1,    61,    62,    63,    64,    65,
19711       66,    67,    68,    69,    70,    71,    -1,    -1,    -1,    75,
19712       76,    77,    78,    79,    -1,    81,    82,    83,    84,    85,
19713       86,    87,    88,    89,    90,    -1,    -1,    93,    94,    95,
19714       -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,   104,   105,
19715      106,   107,   108,   109,   110,   111,    -1,   113,    -1,   115,
19716      116,   117,   118,   119,   120,    -1,   122,   123,   124,   125,
19717       -1,    -1,   128,   129,   130,   131,   132,    -1,   134,   135,
19718      136,    -1,   138,   139,   140,    -1,   142,   143,   144,   145,
19719      146,   147,   148,   149,   150,    -1,   152,    -1,   154,   155,
19720      156,   157,    -1,   159,   160,   161,    -1,    -1,    -1,   165,
19721      166,   167,   168,    -1,   170,   171,    -1,   173,   174,   175,
19722       -1,   177,   178,   179,   180,   181,    -1,   183,   184,   185,
19723      186,    -1,   188,   189,   190,   191,   192,   193,   194,    -1,
19724      196,    -1,   198,   199,   200,   201,   202,   203,   204,    -1,
19725      206,    -1,   208,    -1,    -1,   211,    -1,   213,   214,   215,
19726      216,   217,    -1,    -1,   220,   221,    -1,   223,   224,    -1,
19727      226,   227,   228,    -1,    -1,   231,   232,   233,   234,   235,
19728      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
19729      246,   247,    -1,   249,   250,   251,   252,   253,    -1,   255,
19730      256,    -1,   258,    -1,   260,   261,   262,   263,   264,   265,
19731       -1,   267,   268,    -1,    -1,   271,   272,   273,    -1,    -1,
19732      276,   277,   278,    -1,   280,    -1,   282,   283,   284,   285,
19733      286,   287,   288,   289,   290,   291,    -1,   293,   294,   295,
19734      296,   297,   298,   299,   300,   301,   302,   303,   304,   305,
19735      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
19736      316,    -1,   318,   319,   320,   321,   322,   323,   324,   325,
19737      326,   327,   328,   329,    -1,   331,   332,    -1,   334,   335,
19738      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
19739      346,   347,   348,    -1,   350,   351,   352,   353,   354,    -1,
19740      356,   357,   358,   359,   360,    -1,   362,   363,   364,   365,
19741       -1,   367,   368,   369,   370,   371,   372,   373,   374,   375,
19742      376,   377,   378,   379,    -1,   381,   382,    -1,   384,    -1,
19743      386,   387,   388,   389,   390,    -1,   392,   393,   394,    -1,
19744       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
19745      406,   407,   408,   409,    -1,   411,   412,   413,   414,   415,
19746      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
19747       -1,   427,    -1,   429,   430,   431,   432,    -1,    -1,   435,
19748       -1,    -1,   438,   439,   440,   441,   442,   443,   444,   445,
19749      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
19750      456,   457,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19751       -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
19752       21,    22,    23,    24,    25,    26,    27,    28,    29,    -1,
19753       -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
19754       41,    42,    -1,    44,    45,    46,    47,    48,    -1,    50,
19755       51,    -1,    53,    54,    55,    56,    57,    58,    -1,    -1,
19756       61,    62,    63,    64,    65,    -1,    67,    68,    69,    70,
19757       71,    -1,    -1,    -1,    75,    76,    77,    78,    79,    -1,
19758       81,    82,    83,    -1,    85,    86,    87,    88,    89,    90,
19759       91,    -1,    93,    94,    95,    -1,    -1,    -1,    -1,    -1,
19760       -1,    -1,   103,   104,   105,   106,   107,   108,   109,   110,
19761      111,    -1,   113,    -1,   115,   116,   117,   118,   119,   120,
19762       -1,   122,   123,   124,   125,    -1,    -1,   128,   129,   130,
19763      131,   132,    -1,   134,   135,   136,    -1,   138,   139,   140,
19764       -1,   142,   143,   144,   145,   146,   147,   148,   149,   150,
19765       -1,   152,    -1,   154,   155,   156,   157,    -1,   159,    -1,
19766      161,    -1,    -1,    -1,   165,   166,   167,   168,   169,   170,
19767      171,    -1,   173,   174,   175,    -1,   177,   178,   179,   180,
19768      181,    -1,   183,   184,   185,   186,    -1,   188,   189,   190,
19769      191,   192,   193,   194,    -1,   196,    -1,   198,   199,   200,
19770      201,   202,   203,   204,    -1,   206,    -1,   208,    -1,    -1,
19771      211,    -1,   213,   214,   215,   216,   217,    -1,    -1,   220,
19772      221,    -1,   223,    -1,    -1,   226,   227,   228,    -1,    -1,
19773      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
19774      241,   242,   243,   244,   245,   246,   247,    -1,   249,   250,
19775      251,   252,   253,    -1,   255,   256,    -1,   258,    -1,   260,
19776      261,   262,   263,   264,   265,    -1,   267,   268,    -1,    -1,
19777      271,   272,   273,    -1,    -1,   276,   277,   278,    -1,   280,
19778       -1,   282,   283,   284,   285,   286,   287,   288,   289,   290,
19779      291,    -1,   293,   294,   295,   296,   297,   298,   299,   300,
19780       -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
19781      311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
19782      321,   322,   323,   324,   325,   326,   327,   328,   329,    -1,
19783      331,   332,    -1,   334,   335,   336,   337,   338,   339,   340,
19784      341,   342,   343,   344,   345,   346,   347,   348,   349,   350,
19785      351,   352,   353,   354,    -1,   356,   357,   358,   359,   360,
19786       -1,   362,   363,   364,   365,    -1,   367,   368,   369,   370,
19787      371,   372,   373,   374,   375,   376,   377,   378,   379,    -1,
19788      381,   382,    -1,   384,    -1,   386,   387,   388,   389,   390,
19789       -1,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
19790      401,    -1,   403,   404,   405,   406,   407,   408,   409,    -1,
19791       -1,   412,   413,   414,   415,   416,    -1,    -1,   419,   420,
19792      421,   422,   423,   424,   425,    -1,   427,    -1,   429,   430,
19793      431,   432,    -1,    -1,   435,    -1,    -1,   438,   439,   440,
19794      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
19795      451,   452,   453,   454,   455,   456,   457,     3,    -1,    -1,
19796       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19797       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
19798       26,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
19799       -1,    37,    38,    -1,    40,    41,    42,    -1,    44,    45,
19800       46,    47,    48,    -1,    50,    51,    -1,    53,    54,    55,
19801       56,    57,    58,    -1,    -1,    61,    62,    63,    64,    65,
19802       -1,    67,    68,    69,    70,    71,    -1,    -1,    -1,    75,
19803       76,    77,    78,    79,    -1,    81,    82,    83,    -1,    85,
19804       86,    87,    88,    89,    90,    91,    -1,    93,    94,    95,
19805       -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,   104,   105,
19806      106,   107,   108,   109,   110,   111,    -1,   113,    -1,   115,
19807      116,   117,   118,   119,   120,    -1,   122,   123,   124,   125,
19808       -1,    -1,   128,   129,   130,   131,   132,    -1,   134,   135,
19809      136,    -1,   138,   139,   140,    -1,   142,   143,   144,   145,
19810      146,   147,   148,   149,   150,    -1,   152,    -1,   154,   155,
19811      156,   157,    -1,   159,    -1,   161,    -1,    -1,    -1,   165,
19812      166,   167,   168,   169,   170,   171,    -1,   173,   174,   175,
19813       -1,   177,   178,   179,   180,   181,    -1,   183,   184,   185,
19814      186,    -1,   188,   189,   190,   191,   192,   193,   194,    -1,
19815      196,    -1,   198,   199,   200,   201,   202,   203,   204,    -1,
19816      206,    -1,   208,    -1,    -1,   211,    -1,   213,   214,   215,
19817      216,   217,    -1,    -1,   220,   221,    -1,   223,    -1,    -1,
19818      226,   227,   228,    -1,    -1,   231,   232,   233,   234,   235,
19819      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
19820      246,   247,    -1,   249,   250,   251,   252,   253,    -1,   255,
19821      256,    -1,   258,    -1,   260,   261,   262,   263,   264,   265,
19822       -1,   267,   268,    -1,    -1,   271,   272,   273,    -1,    -1,
19823      276,   277,   278,    -1,   280,    -1,   282,   283,   284,   285,
19824      286,   287,   288,   289,   290,   291,    -1,   293,   294,   295,
19825      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
19826      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
19827      316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
19828      326,   327,   328,   329,    -1,   331,   332,    -1,   334,   335,
19829      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
19830      346,   347,   348,   349,   350,   351,   352,   353,   354,    -1,
19831      356,   357,   358,   359,   360,    -1,   362,   363,   364,   365,
19832       -1,   367,   368,   369,   370,   371,   372,   373,   374,   375,
19833      376,   377,   378,   379,    -1,   381,   382,    -1,   384,    -1,
19834      386,   387,   388,   389,   390,    -1,   392,   393,   394,    -1,
19835       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
19836      406,   407,   408,   409,    -1,    -1,   412,   413,   414,   415,
19837      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
19838       -1,   427,    -1,   429,   430,   431,   432,    -1,    -1,   435,
19839       -1,    -1,   438,   439,   440,   441,   442,   443,   444,   445,
19840      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
19841      456,   457,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19842       -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
19843       21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
19844       -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
19845       41,    42,    -1,    44,    45,    46,    47,    48,    -1,    50,
19846       51,    -1,    53,    54,    55,    56,    57,    58,    -1,    -1,
19847       61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
19848       71,    -1,    -1,    -1,    75,    76,    77,    78,    79,    -1,
19849       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
19850       -1,    -1,    93,    94,    95,    -1,    -1,    -1,    -1,    -1,
19851       -1,    -1,   103,   104,   105,   106,   107,   108,   109,   110,
19852      111,    -1,   113,    -1,   115,   116,   117,   118,   119,   120,
19853       -1,   122,   123,   124,   125,    -1,    -1,   128,   129,   130,
19854      131,   132,    -1,   134,   135,   136,    -1,   138,   139,   140,
19855       -1,   142,   143,   144,   145,   146,   147,   148,   149,   150,
19856       -1,   152,    -1,   154,   155,   156,   157,    -1,   159,   160,
19857      161,    -1,    -1,    -1,   165,   166,   167,   168,    -1,   170,
19858      171,    -1,   173,   174,   175,    -1,   177,   178,   179,   180,
19859      181,    -1,   183,   184,   185,   186,    -1,   188,   189,   190,
19860      191,   192,   193,   194,    -1,   196,    -1,   198,   199,   200,
19861      201,   202,   203,   204,    -1,   206,    -1,   208,    -1,    -1,
19862      211,    -1,   213,   214,   215,   216,   217,    -1,    -1,   220,
19863      221,    -1,   223,    -1,    -1,   226,   227,   228,    -1,    -1,
19864      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
19865      241,   242,   243,   244,   245,   246,   247,    -1,   249,   250,
19866      251,   252,   253,    -1,   255,   256,    -1,   258,    -1,   260,
19867      261,   262,   263,   264,   265,    -1,   267,   268,    -1,    -1,
19868      271,   272,   273,    -1,    -1,   276,   277,   278,    -1,   280,
19869       -1,   282,   283,   284,   285,   286,   287,   288,   289,   290,
19870      291,    -1,   293,   294,   295,   296,   297,   298,   299,   300,
19871      301,   302,   303,   304,   305,   306,   307,   308,   309,   310,
19872      311,   312,   313,   314,   315,   316,    -1,   318,   319,   320,
19873      321,   322,   323,   324,   325,   326,   327,   328,   329,    -1,
19874      331,   332,    -1,   334,   335,   336,   337,   338,   339,   340,
19875      341,   342,   343,   344,   345,   346,   347,   348,    -1,   350,
19876      351,   352,   353,   354,    -1,   356,   357,   358,   359,   360,
19877       -1,   362,   363,   364,   365,    -1,   367,   368,   369,   370,
19878      371,   372,   373,   374,   375,   376,   377,   378,   379,    -1,
19879      381,   382,    -1,   384,    -1,   386,   387,   388,   389,   390,
19880       -1,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
19881      401,    -1,   403,   404,   405,   406,   407,   408,   409,    -1,
19882      411,   412,   413,   414,   415,   416,    -1,    -1,   419,   420,
19883      421,   422,   423,   424,   425,    -1,   427,    -1,   429,   430,
19884      431,   432,    -1,    -1,   435,    -1,    -1,   438,   439,   440,
19885      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
19886      451,   452,   453,   454,   455,   456,   457,     3,    -1,    -1,
19887       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19888       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
19889       26,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
19890       -1,    37,    38,    -1,    40,    41,    42,    -1,    44,    45,
19891       46,    47,    48,    -1,    50,    51,    -1,    53,    54,    55,
19892       56,    57,    58,    -1,    -1,    61,    62,    63,    64,    65,
19893       -1,    67,    68,    69,    70,    71,    -1,    -1,    -1,    75,
19894       76,    77,    78,    79,    -1,    81,    82,    83,    -1,    85,
19895       86,    87,    88,    89,    90,    91,    -1,    93,    94,    95,
19896       -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,   104,   105,
19897      106,   107,   108,   109,   110,   111,    -1,   113,    -1,   115,
19898      116,   117,   118,   119,   120,    -1,   122,   123,   124,   125,
19899       -1,    -1,   128,   129,   130,   131,   132,    -1,   134,   135,
19900      136,    -1,   138,   139,   140,    -1,   142,   143,   144,   145,
19901      146,   147,   148,   149,   150,    -1,   152,    -1,   154,   155,
19902      156,   157,    -1,   159,    -1,   161,    -1,    -1,    -1,   165,
19903      166,   167,   168,    -1,   170,   171,    -1,   173,   174,   175,
19904       -1,   177,   178,   179,   180,   181,    -1,   183,   184,   185,
19905      186,    -1,   188,   189,   190,   191,   192,   193,   194,    -1,
19906      196,    -1,   198,   199,   200,   201,   202,   203,   204,    -1,
19907      206,    -1,   208,    -1,    -1,   211,    -1,   213,   214,   215,
19908      216,   217,    -1,    -1,   220,   221,    -1,   223,    -1,    -1,
19909      226,   227,   228,    -1,    -1,   231,   232,   233,   234,   235,
19910      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
19911      246,   247,    -1,   249,   250,   251,   252,   253,    -1,   255,
19912      256,    -1,   258,    -1,   260,   261,   262,   263,   264,   265,
19913       -1,   267,   268,    -1,    -1,   271,   272,   273,    -1,    -1,
19914      276,   277,   278,    -1,   280,    -1,   282,   283,   284,   285,
19915      286,   287,   288,   289,   290,   291,    -1,   293,   294,   295,
19916      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
19917      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
19918      316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
19919      326,   327,   328,   329,    -1,   331,   332,    -1,   334,   335,
19920      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
19921      346,   347,   348,   349,   350,   351,   352,   353,   354,    -1,
19922      356,   357,   358,   359,   360,    -1,   362,   363,   364,   365,
19923       -1,   367,   368,   369,   370,   371,   372,   373,   374,   375,
19924      376,   377,   378,   379,    -1,   381,   382,    -1,   384,    -1,
19925      386,   387,   388,   389,   390,    -1,   392,   393,   394,    -1,
19926       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
19927      406,   407,   408,   409,    -1,    -1,   412,   413,   414,   415,
19928      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
19929       -1,   427,    -1,   429,   430,   431,   432,    -1,    -1,   435,
19930       -1,    -1,   438,   439,   440,   441,   442,   443,   444,   445,
19931      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
19932      456,   457,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19933       -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
19934       21,    22,    23,    24,    25,    26,    27,    28,    29,    -1,
19935       -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
19936       41,    42,    -1,    44,    45,    46,    47,    48,    -1,    50,
19937       51,    -1,    53,    54,    55,    56,    57,    58,    -1,    -1,
19938       61,    62,    63,    64,    65,    -1,    67,    68,    69,    70,
19939       71,    -1,    -1,    -1,    75,    76,    77,    78,    79,    -1,
19940       81,    82,    83,    -1,    85,    86,    87,    88,    89,    90,
19941       -1,    -1,    93,    94,    95,    -1,    -1,    -1,    -1,    -1,
19942       -1,    -1,   103,   104,   105,   106,   107,   108,   109,   110,
19943      111,    -1,   113,    -1,   115,   116,   117,   118,   119,   120,
19944       -1,   122,   123,   124,   125,    -1,    -1,   128,   129,   130,
19945      131,   132,    -1,   134,   135,   136,    -1,   138,   139,   140,
19946       -1,   142,   143,   144,   145,   146,   147,   148,   149,   150,
19947       -1,   152,    -1,   154,   155,   156,   157,    -1,   159,   160,
19948      161,    -1,    -1,    -1,   165,   166,   167,   168,    -1,   170,
19949      171,    -1,   173,   174,   175,    -1,   177,   178,   179,   180,
19950      181,    -1,   183,   184,   185,   186,    -1,   188,   189,   190,
19951      191,   192,   193,   194,    -1,   196,    -1,   198,   199,   200,
19952      201,   202,   203,   204,    -1,   206,    -1,   208,    -1,    -1,
19953      211,    -1,   213,   214,   215,   216,   217,    -1,    -1,   220,
19954      221,    -1,   223,    -1,    -1,   226,   227,   228,    -1,    -1,
19955      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
19956      241,   242,   243,   244,   245,   246,   247,    -1,   249,   250,
19957      251,   252,   253,    -1,   255,   256,    -1,   258,    -1,   260,
19958      261,   262,   263,   264,   265,    -1,   267,   268,    -1,    -1,
19959      271,   272,   273,    -1,    -1,   276,   277,   278,    -1,   280,
19960       -1,   282,   283,   284,   285,   286,   287,   288,   289,   290,
19961      291,    -1,   293,   294,   295,   296,   297,   298,   299,   300,
19962       -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
19963      311,   312,   313,   314,   315,   316,    -1,   318,   319,   320,
19964      321,   322,   323,   324,   325,   326,   327,   328,   329,    -1,
19965      331,   332,    -1,   334,   335,   336,   337,   338,   339,   340,
19966      341,   342,   343,   344,   345,   346,   347,   348,    -1,   350,
19967      351,   352,   353,   354,    -1,   356,   357,   358,   359,   360,
19968       -1,   362,   363,   364,   365,    -1,   367,   368,   369,   370,
19969      371,   372,   373,   374,   375,   376,   377,   378,   379,    -1,
19970      381,   382,   383,   384,    -1,   386,   387,   388,   389,   390,
19971       -1,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
19972      401,    -1,   403,   404,   405,   406,   407,   408,   409,    -1,
19973       -1,   412,   413,   414,   415,   416,    -1,    -1,   419,   420,
19974      421,   422,   423,   424,   425,    -1,   427,    -1,   429,   430,
19975      431,   432,    -1,    -1,   435,    -1,    -1,   438,   439,   440,
19976      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
19977      451,   452,   453,   454,   455,   456,   457,     3,    -1,    -1,
19978       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19979       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
19980       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
19981       -1,    37,    38,    -1,    40,    41,    42,    -1,    44,    45,
19982       46,    47,    48,    -1,    50,    51,    -1,    53,    54,    55,
19983       56,    57,    58,    -1,    -1,    61,    62,    63,    64,    65,
19984       -1,    67,    68,    69,    70,    71,    -1,    -1,    -1,    75,
19985       76,    77,    78,    79,    -1,    81,    82,    83,    -1,    85,
19986       86,    87,    88,    89,    90,    91,    -1,    93,    94,    95,
19987       -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,   104,   105,
19988      106,   107,   108,   109,   110,   111,    -1,   113,    -1,   115,
19989      116,   117,   118,   119,   120,    -1,   122,   123,   124,   125,
19990       -1,    -1,   128,   129,   130,   131,   132,    -1,   134,   135,
19991      136,    -1,   138,   139,   140,    -1,   142,   143,   144,   145,
19992      146,   147,   148,   149,   150,    -1,   152,    -1,   154,   155,
19993      156,   157,    -1,   159,    -1,   161,    -1,    -1,    -1,   165,
19994      166,   167,   168,    -1,   170,   171,    -1,   173,   174,   175,
19995       -1,   177,   178,   179,   180,   181,    -1,   183,   184,   185,
19996      186,    -1,   188,   189,   190,   191,   192,   193,   194,    -1,
19997      196,    -1,   198,   199,   200,   201,   202,   203,   204,    -1,
19998      206,    -1,   208,    -1,    -1,   211,    -1,   213,   214,   215,
19999      216,   217,    -1,    -1,   220,   221,    -1,   223,    -1,    -1,
20000      226,   227,   228,    -1,    -1,   231,   232,   233,   234,   235,
20001      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
20002      246,   247,    -1,   249,   250,   251,   252,   253,    -1,   255,
20003      256,    -1,   258,    -1,   260,   261,   262,   263,   264,   265,
20004       -1,   267,   268,    -1,    -1,   271,   272,   273,    -1,    -1,
20005      276,   277,   278,    -1,   280,    -1,   282,   283,   284,   285,
20006      286,   287,   288,   289,   290,   291,    -1,   293,   294,   295,
20007      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
20008      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
20009      316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
20010      326,   327,   328,   329,    -1,   331,   332,    -1,   334,   335,
20011      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
20012      346,   347,   348,   349,   350,   351,   352,   353,   354,    -1,
20013      356,   357,   358,   359,   360,    -1,   362,   363,   364,   365,
20014       -1,   367,   368,   369,   370,   371,   372,   373,   374,   375,
20015      376,   377,   378,   379,    -1,   381,   382,    -1,   384,    -1,
20016      386,   387,   388,   389,   390,    -1,   392,   393,   394,    -1,
20017       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
20018      406,   407,   408,   409,    -1,    -1,   412,   413,   414,   415,
20019      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
20020       -1,   427,    -1,   429,   430,   431,   432,    -1,    -1,   435,
20021       -1,    -1,   438,   439,   440,   441,   442,   443,   444,   445,
20022      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
20023      456,   457,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20024       -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
20025       21,    22,    23,    24,    25,    26,    27,    28,    29,    -1,
20026       -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
20027       41,    42,    -1,    44,    45,    46,    47,    48,    -1,    50,
20028       51,    -1,    53,    54,    55,    56,    57,    58,    -1,    -1,
20029       61,    62,    63,    64,    65,    -1,    67,    68,    69,    70,
20030       71,    -1,    -1,    -1,    75,    76,    77,    78,    79,    -1,
20031       81,    82,    83,    -1,    85,    86,    87,    88,    89,    90,
20032       -1,    -1,    93,    94,    95,    -1,    -1,    -1,    -1,    -1,
20033       -1,    -1,   103,   104,   105,   106,   107,   108,   109,   110,
20034      111,    -1,   113,    -1,   115,   116,   117,   118,   119,   120,
20035       -1,   122,   123,   124,   125,    -1,    -1,   128,   129,   130,
20036      131,   132,    -1,   134,   135,   136,    -1,   138,   139,   140,
20037       -1,   142,   143,   144,   145,   146,   147,   148,   149,   150,
20038       -1,   152,    -1,   154,   155,   156,   157,    -1,   159,    -1,
20039      161,    -1,    -1,    -1,   165,   166,   167,   168,    -1,   170,
20040      171,    -1,   173,   174,   175,    -1,   177,   178,   179,   180,
20041      181,    -1,   183,   184,   185,   186,    -1,   188,   189,   190,
20042      191,   192,   193,   194,    -1,   196,    -1,   198,   199,   200,
20043      201,   202,   203,   204,    -1,   206,    -1,   208,    -1,    -1,
20044      211,    -1,   213,   214,   215,   216,   217,    -1,    -1,   220,
20045      221,    -1,   223,    -1,    -1,   226,   227,   228,    -1,    -1,
20046      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
20047      241,   242,   243,   244,   245,   246,   247,    -1,   249,   250,
20048      251,   252,   253,    -1,   255,   256,    -1,   258,    -1,   260,
20049      261,   262,   263,   264,   265,    -1,   267,   268,    -1,   270,
20050      271,   272,   273,    -1,    -1,   276,   277,   278,    -1,   280,
20051       -1,   282,   283,   284,   285,   286,   287,   288,   289,   290,
20052      291,    -1,   293,   294,   295,   296,   297,   298,   299,   300,
20053       -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
20054      311,   312,   313,   314,   315,   316,    -1,   318,   319,   320,
20055      321,   322,   323,   324,   325,   326,   327,   328,   329,    -1,
20056      331,   332,    -1,   334,   335,   336,   337,   338,   339,   340,
20057      341,   342,   343,   344,   345,   346,   347,   348,    -1,   350,
20058      351,   352,   353,   354,    -1,   356,   357,   358,   359,   360,
20059       -1,   362,   363,   364,   365,    -1,   367,   368,   369,   370,
20060      371,   372,   373,   374,   375,   376,   377,   378,   379,    -1,
20061      381,   382,    -1,   384,    -1,   386,   387,   388,   389,   390,
20062       -1,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
20063      401,    -1,   403,   404,   405,   406,   407,   408,   409,    -1,
20064       -1,   412,   413,   414,   415,   416,    -1,    -1,   419,   420,
20065      421,   422,   423,   424,   425,    -1,   427,    -1,   429,   430,
20066      431,   432,    -1,    -1,   435,    -1,    -1,   438,   439,   440,
20067      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
20068      451,   452,   453,   454,   455,   456,   457,     3,    -1,    -1,
20069       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20070       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
20071       26,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
20072       -1,    37,    38,    -1,    40,    41,    42,    -1,    44,    45,
20073       46,    47,    48,    -1,    50,    51,    -1,    53,    54,    55,
20074       56,    57,    58,    -1,    -1,    61,    62,    63,    64,    65,
20075       -1,    67,    68,    69,    70,    71,    -1,    -1,    -1,    75,
20076       76,    77,    78,    79,    -1,    81,    82,    83,    -1,    85,
20077       86,    87,    88,    89,    90,    -1,    -1,    93,    94,    95,
20078       -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,   104,   105,
20079      106,   107,   108,   109,   110,   111,    -1,   113,    -1,   115,
20080      116,   117,   118,   119,   120,    -1,   122,   123,   124,   125,
20081       -1,    -1,   128,   129,   130,   131,   132,    -1,   134,   135,
20082      136,    -1,   138,   139,   140,    -1,   142,   143,   144,   145,
20083      146,   147,   148,   149,   150,    -1,   152,    -1,   154,   155,
20084      156,   157,    -1,   159,    -1,   161,    -1,    -1,    -1,   165,
20085      166,   167,   168,    -1,   170,   171,    -1,   173,   174,   175,
20086       -1,   177,   178,   179,   180,   181,    -1,   183,   184,   185,
20087      186,    -1,   188,   189,   190,   191,   192,   193,   194,    -1,
20088      196,    -1,   198,   199,   200,   201,   202,   203,   204,    -1,
20089      206,    -1,   208,    -1,    -1,   211,    -1,   213,   214,   215,
20090      216,   217,    -1,    -1,   220,   221,    -1,   223,    -1,    -1,
20091      226,   227,   228,    -1,    -1,   231,   232,   233,   234,   235,
20092      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
20093      246,   247,    -1,   249,   250,   251,   252,   253,    -1,   255,
20094      256,    -1,   258,    -1,   260,   261,   262,   263,   264,   265,
20095       -1,   267,   268,    -1,    -1,   271,   272,   273,    -1,    -1,
20096      276,   277,   278,    -1,   280,    -1,   282,   283,   284,   285,
20097      286,   287,   288,   289,   290,   291,    -1,   293,   294,   295,
20098      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
20099      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
20100      316,    -1,   318,   319,   320,   321,   322,   323,   324,   325,
20101      326,   327,   328,   329,    -1,   331,   332,    -1,   334,   335,
20102      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
20103      346,   347,   348,    -1,   350,   351,   352,   353,   354,    -1,
20104      356,   357,   358,   359,   360,    -1,   362,   363,   364,   365,
20105       -1,   367,   368,   369,   370,   371,   372,   373,   374,   375,
20106      376,   377,   378,   379,    -1,   381,   382,    -1,   384,    -1,
20107      386,   387,   388,   389,   390,    -1,   392,   393,   394,    -1,
20108       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
20109      406,   407,   408,   409,    -1,    -1,   412,   413,   414,   415,
20110      416,   417,    -1,   419,   420,   421,   422,   423,   424,   425,
20111       -1,   427,    -1,   429,   430,   431,   432,    -1,    -1,   435,
20112       -1,    -1,   438,   439,   440,   441,   442,   443,   444,   445,
20113      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
20114      456,   457,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20115       -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
20116       21,    22,    23,    24,    25,    26,    27,    28,    29,    -1,
20117       -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
20118       41,    42,    -1,    44,    45,    46,    47,    48,    -1,    50,
20119       51,    -1,    53,    54,    55,    56,    57,    58,    -1,    -1,
20120       61,    62,    63,    64,    65,    -1,    67,    68,    69,    70,
20121       71,    -1,    -1,    -1,    75,    76,    77,    78,    79,    -1,
20122       81,    82,    83,    -1,    85,    86,    87,    88,    89,    90,
20123       -1,    -1,    93,    94,    95,    -1,    -1,    -1,    -1,    -1,
20124       -1,    -1,   103,   104,   105,   106,   107,   108,   109,   110,
20125      111,    -1,   113,    -1,   115,   116,   117,   118,   119,   120,
20126       -1,   122,   123,   124,   125,    -1,    -1,   128,   129,   130,
20127      131,   132,    -1,   134,   135,   136,    -1,   138,   139,   140,
20128       -1,   142,   143,   144,   145,   146,   147,   148,   149,   150,
20129       -1,   152,    -1,   154,   155,   156,   157,    -1,   159,    -1,
20130      161,    -1,    -1,    -1,   165,   166,   167,   168,    -1,   170,
20131      171,    -1,   173,   174,   175,    -1,   177,   178,   179,   180,
20132      181,    -1,   183,   184,   185,   186,    -1,   188,   189,   190,
20133      191,   192,   193,   194,    -1,   196,    -1,   198,   199,   200,
20134      201,   202,   203,   204,    -1,   206,    -1,   208,    -1,    -1,
20135      211,    -1,   213,   214,   215,   216,   217,    -1,    -1,   220,
20136      221,    -1,   223,    -1,    -1,   226,   227,   228,    -1,    -1,
20137      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
20138      241,   242,   243,   244,   245,   246,   247,    -1,   249,   250,
20139      251,   252,   253,    -1,   255,   256,    -1,   258,    -1,   260,
20140      261,   262,   263,   264,   265,    -1,   267,   268,    -1,    -1,
20141      271,   272,   273,    -1,    -1,   276,   277,   278,    -1,   280,
20142       -1,   282,   283,   284,   285,   286,   287,   288,   289,   290,
20143      291,    -1,   293,   294,   295,   296,   297,   298,   299,   300,
20144       -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
20145      311,   312,   313,   314,   315,   316,    -1,   318,   319,   320,
20146      321,   322,   323,   324,   325,   326,   327,   328,   329,    -1,
20147      331,   332,    -1,   334,   335,   336,   337,   338,   339,   340,
20148      341,   342,   343,   344,   345,   346,   347,   348,    -1,   350,
20149      351,   352,   353,   354,    -1,   356,   357,   358,   359,   360,
20150       -1,   362,   363,   364,   365,    -1,   367,   368,   369,   370,
20151      371,   372,   373,   374,   375,   376,   377,   378,   379,    -1,
20152      381,   382,    -1,   384,    -1,   386,   387,   388,   389,   390,
20153       -1,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
20154      401,    -1,   403,   404,   405,   406,   407,   408,   409,    -1,
20155       -1,   412,   413,   414,   415,   416,   417,    -1,   419,   420,
20156      421,   422,   423,   424,   425,    -1,   427,    -1,   429,   430,
20157      431,   432,    -1,    -1,   435,    -1,    -1,   438,   439,   440,
20158      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
20159      451,   452,   453,   454,   455,   456,   457,     3,    -1,    -1,
20160       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20161       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
20162       26,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
20163       -1,    37,    38,    -1,    40,    41,    42,    -1,    44,    45,
20164       46,    47,    48,    -1,    50,    51,    -1,    53,    54,    55,
20165       56,    57,    58,    -1,    -1,    61,    62,    63,    64,    65,
20166       -1,    67,    68,    69,    70,    71,    -1,    -1,    -1,    75,
20167       76,    77,    78,    79,    -1,    81,    82,    83,    -1,    85,
20168       86,    87,    88,    89,    90,    -1,    -1,    93,    94,    95,
20169       -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,   104,   105,
20170      106,   107,   108,   109,   110,   111,    -1,   113,    -1,   115,
20171      116,   117,   118,   119,   120,    -1,   122,   123,   124,   125,
20172       -1,    -1,   128,   129,   130,   131,   132,    -1,   134,   135,
20173      136,    -1,   138,   139,   140,    -1,   142,   143,   144,   145,
20174      146,   147,   148,   149,   150,    -1,   152,    -1,   154,   155,
20175      156,   157,    -1,   159,    -1,   161,    -1,    -1,    -1,   165,
20176      166,   167,   168,    -1,   170,   171,    -1,   173,   174,   175,
20177       -1,   177,   178,   179,   180,   181,    -1,   183,   184,   185,
20178      186,    -1,   188,   189,   190,   191,   192,   193,   194,    -1,
20179      196,    -1,   198,   199,   200,   201,   202,   203,   204,    -1,
20180      206,    -1,   208,    -1,    -1,   211,    -1,   213,   214,   215,
20181      216,   217,    -1,    -1,   220,   221,    -1,   223,    -1,    -1,
20182      226,   227,   228,    -1,    -1,   231,   232,   233,   234,   235,
20183      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
20184      246,   247,    -1,   249,   250,   251,   252,   253,    -1,   255,
20185      256,    -1,   258,    -1,   260,   261,   262,   263,   264,   265,
20186       -1,   267,   268,    -1,    -1,   271,   272,   273,    -1,    -1,
20187      276,   277,   278,    -1,   280,    -1,   282,   283,   284,   285,
20188      286,   287,   288,   289,   290,   291,    -1,   293,   294,   295,
20189      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
20190      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
20191      316,    -1,   318,   319,   320,   321,   322,   323,   324,   325,
20192      326,   327,   328,   329,    -1,   331,   332,    -1,   334,   335,
20193      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
20194      346,   347,   348,    -1,   350,   351,   352,   353,   354,    -1,
20195      356,   357,   358,   359,   360,    -1,   362,   363,   364,   365,
20196       -1,   367,   368,   369,   370,   371,   372,   373,   374,   375,
20197      376,   377,   378,   379,    -1,   381,   382,    -1,   384,    -1,
20198      386,   387,   388,   389,   390,    -1,   392,   393,   394,    -1,
20199       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
20200      406,   407,   408,   409,    -1,    -1,   412,   413,   414,   415,
20201      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
20202       -1,   427,    -1,   429,   430,   431,   432,    -1,    -1,   435,
20203       -1,    -1,   438,   439,   440,   441,   442,   443,   444,   445,
20204      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
20205      456,   457,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20206       -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
20207       21,    22,    23,    24,    25,    26,    27,    28,    29,    -1,
20208       -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
20209       41,    42,    -1,    44,    45,    46,    47,    48,    -1,    50,
20210       51,    -1,    53,    54,    55,    56,    57,    58,    -1,    -1,
20211       61,    62,    63,    64,    65,    -1,    67,    68,    69,    70,
20212       71,    -1,    -1,    -1,    75,    76,    77,    78,    79,    -1,
20213       81,    82,    83,    -1,    85,    86,    87,    88,    89,    90,
20214       -1,    -1,    93,    94,    95,    -1,    -1,    -1,    -1,    -1,
20215       -1,    -1,   103,   104,   105,   106,   107,   108,   109,   110,
20216      111,    -1,   113,    -1,   115,   116,   117,   118,   119,   120,
20217       -1,   122,   123,   124,   125,    -1,    -1,   128,   129,   130,
20218      131,   132,    -1,   134,   135,   136,    -1,   138,   139,   140,
20219       -1,   142,   143,   144,   145,   146,   147,   148,   149,   150,
20220       -1,   152,    -1,   154,   155,   156,   157,    -1,   159,    -1,
20221      161,    -1,    -1,    -1,   165,   166,   167,   168,    -1,   170,
20222      171,    -1,   173,   174,   175,    -1,   177,   178,   179,   180,
20223      181,    -1,   183,   184,   185,   186,    -1,   188,   189,   190,
20224      191,   192,   193,   194,    -1,   196,    -1,   198,   199,   200,
20225      201,   202,   203,   204,    -1,   206,    -1,   208,    -1,    -1,
20226      211,    -1,   213,   214,   215,   216,   217,    -1,    -1,   220,
20227      221,    -1,   223,    -1,    -1,   226,   227,   228,    -1,    -1,
20228      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
20229      241,   242,   243,   244,   245,   246,   247,    -1,   249,   250,
20230      251,   252,   253,    -1,   255,   256,    -1,   258,    -1,   260,
20231      261,   262,   263,   264,   265,    -1,   267,   268,    -1,    -1,
20232      271,   272,   273,    -1,    -1,   276,   277,   278,    -1,   280,
20233       -1,   282,   283,   284,   285,   286,   287,   288,   289,   290,
20234      291,    -1,   293,   294,   295,   296,   297,   298,   299,   300,
20235       -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
20236      311,   312,   313,   314,   315,   316,    -1,   318,   319,   320,
20237      321,   322,   323,   324,   325,   326,   327,   328,   329,    -1,
20238      331,   332,    -1,   334,   335,   336,   337,   338,   339,   340,
20239      341,   342,   343,   344,   345,   346,   347,   348,    -1,   350,
20240      351,   352,   353,   354,    -1,   356,   357,   358,   359,   360,
20241       -1,   362,   363,   364,   365,    -1,   367,   368,   369,   370,
20242      371,   372,   373,   374,   375,   376,   377,   378,   379,    -1,
20243      381,   382,    -1,   384,    -1,   386,   387,   388,   389,   390,
20244       -1,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
20245      401,    -1,   403,   404,   405,   406,   407,   408,   409,    -1,
20246       -1,   412,   413,   414,   415,   416,    -1,    -1,   419,   420,
20247      421,   422,   423,   424,   425,    -1,   427,    -1,   429,   430,
20248      431,   432,    -1,    -1,   435,    -1,    -1,   438,   439,   440,
20249      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
20250      451,   452,   453,   454,   455,   456,   457,     3,    -1,    -1,
20251       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20252       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
20253       26,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
20254       -1,    37,    38,    -1,    40,    41,    42,    -1,    44,    45,
20255       46,    47,    48,    -1,    50,    51,    -1,    53,    54,    55,
20256       56,    57,    58,    -1,    -1,    61,    62,    63,    64,    65,
20257       -1,    67,    68,    69,    70,    71,    -1,    -1,    -1,    75,
20258       76,    77,    78,    79,    -1,    81,    82,    83,    -1,    85,
20259       86,    87,    88,    89,    90,    -1,    -1,    93,    94,    95,
20260       -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,   104,   105,
20261      106,   107,   108,   109,   110,   111,    -1,   113,    -1,   115,
20262      116,   117,   118,   119,   120,    -1,   122,   123,   124,   125,
20263       -1,    -1,   128,   129,   130,   131,   132,    -1,   134,   135,
20264      136,    -1,   138,   139,   140,    -1,   142,   143,   144,   145,
20265      146,   147,   148,   149,   150,    -1,   152,    -1,   154,   155,
20266      156,   157,    -1,   159,    -1,   161,    -1,    -1,    -1,   165,
20267      166,   167,   168,    -1,   170,   171,    -1,   173,   174,   175,
20268       -1,   177,   178,   179,   180,   181,    -1,   183,   184,   185,
20269      186,    -1,   188,   189,   190,   191,   192,   193,   194,    -1,
20270      196,    -1,   198,   199,   200,   201,   202,   203,   204,    -1,
20271      206,    -1,   208,    -1,    -1,   211,    -1,   213,   214,   215,
20272      216,   217,    -1,    -1,   220,   221,    -1,   223,    -1,    -1,
20273      226,   227,   228,    -1,    -1,   231,   232,   233,   234,   235,
20274      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
20275      246,   247,    -1,   249,   250,   251,   252,   253,    -1,   255,
20276      256,    -1,   258,    -1,   260,   261,   262,   263,   264,   265,
20277       -1,   267,   268,    -1,    -1,   271,   272,   273,    -1,    -1,
20278      276,   277,   278,    -1,   280,    -1,   282,   283,   284,   285,
20279      286,   287,   288,   289,   290,   291,    -1,   293,   294,   295,
20280      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
20281      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
20282      316,    -1,   318,   319,   320,   321,   322,   323,   324,   325,
20283      326,   327,   328,   329,    -1,   331,   332,    -1,   334,   335,
20284      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
20285      346,   347,   348,    -1,   350,   351,   352,   353,   354,    -1,
20286      356,   357,   358,   359,   360,    -1,   362,   363,   364,   365,
20287       -1,   367,   368,   369,   370,   371,   372,   373,   374,   375,
20288      376,   377,   378,   379,    -1,   381,   382,    -1,   384,    -1,
20289      386,   387,   388,   389,   390,    -1,   392,   393,   394,    -1,
20290       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
20291      406,   407,   408,   409,    -1,    -1,   412,   413,   414,   415,
20292      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
20293       -1,   427,    -1,   429,   430,   431,   432,    -1,    -1,   435,
20294       -1,    -1,   438,   439,   440,   441,   442,   443,   444,   445,
20295      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
20296      456,   457,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20297       -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
20298       21,    22,    23,    24,    25,    26,    27,    28,    29,    -1,
20299       -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
20300       41,    42,    -1,    44,    45,    46,    47,    48,    -1,    50,
20301       51,    -1,    53,    54,    55,    56,    57,    58,    -1,    -1,
20302       61,    62,    63,    64,    65,    -1,    67,    68,    69,    70,
20303       71,    -1,    -1,    -1,    75,    76,    77,    78,    79,    -1,
20304       81,    82,    83,    -1,    85,    86,    87,    88,    89,    90,
20305       -1,    -1,    93,    94,    95,    -1,    -1,    -1,    -1,    -1,
20306       -1,    -1,   103,   104,   105,   106,   107,   108,   109,   110,
20307      111,    -1,   113,    -1,   115,   116,   117,   118,   119,   120,
20308       -1,   122,   123,   124,   125,    -1,    -1,   128,   129,   130,
20309      131,   132,    -1,   134,   135,   136,    -1,   138,   139,   140,
20310       -1,   142,   143,   144,   145,   146,   147,   148,   149,   150,
20311       -1,   152,    -1,   154,   155,   156,   157,    -1,   159,    -1,
20312      161,    -1,    -1,    -1,   165,   166,   167,   168,    -1,   170,
20313      171,    -1,   173,   174,   175,    -1,   177,   178,   179,   180,
20314      181,    -1,   183,   184,   185,   186,    -1,   188,   189,   190,
20315      191,   192,   193,   194,    -1,   196,    -1,   198,   199,   200,
20316      201,   202,   203,   204,    -1,   206,    -1,   208,    -1,    -1,
20317      211,    -1,   213,   214,   215,   216,   217,    -1,    -1,   220,
20318      221,    -1,   223,    -1,    -1,   226,   227,   228,    -1,    -1,
20319      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
20320      241,   242,   243,   244,   245,   246,   247,    -1,   249,   250,
20321      251,   252,   253,    -1,   255,   256,    -1,   258,    -1,   260,
20322      261,   262,   263,   264,   265,    -1,   267,   268,    -1,    -1,
20323      271,   272,   273,    -1,    -1,   276,   277,   278,    -1,   280,
20324       -1,   282,   283,   284,   285,   286,   287,   288,   289,   290,
20325      291,    -1,   293,   294,   295,   296,   297,   298,   299,   300,
20326       -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
20327      311,   312,   313,   314,   315,   316,    -1,   318,   319,   320,
20328      321,   322,   323,   324,   325,   326,   327,   328,   329,    -1,
20329      331,   332,    -1,   334,   335,   336,   337,   338,   339,   340,
20330      341,   342,   343,   344,   345,   346,   347,   348,    -1,   350,
20331      351,   352,   353,   354,    -1,   356,   357,   358,   359,   360,
20332       -1,   362,   363,   364,   365,    -1,   367,   368,   369,   370,
20333      371,   372,   373,   374,   375,   376,   377,   378,   379,    -1,
20334      381,   382,    -1,   384,    -1,   386,   387,   388,   389,   390,
20335       -1,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
20336      401,    -1,   403,   404,   405,   406,   407,   408,   409,    -1,
20337       -1,   412,   413,   414,   415,   416,    -1,    -1,   419,   420,
20338      421,   422,   423,   424,   425,    -1,   427,    -1,   429,   430,
20339      431,   432,    -1,    -1,   435,    -1,    -1,   438,   439,   440,
20340      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
20341      451,   452,   453,   454,   455,   456,   457,     3,    -1,    -1,
20342       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20343       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
20344       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
20345       -1,    37,    38,    -1,    40,    41,    42,    -1,    44,    45,
20346       46,    47,    48,    -1,    50,    51,    -1,    53,    54,    55,
20347       56,    57,    58,    -1,    -1,    61,    62,    63,    64,    65,
20348       -1,    67,    68,    69,    70,    71,    -1,    -1,    -1,    75,
20349       76,    77,    78,    79,    -1,    81,    82,    83,    -1,    85,
20350       86,    87,    88,    89,    90,    -1,    -1,    93,    94,    95,
20351       -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,   104,   105,
20352      106,   107,   108,   109,   110,   111,    -1,   113,    -1,   115,
20353      116,   117,   118,   119,   120,    -1,   122,   123,   124,   125,
20354       -1,    -1,   128,   129,   130,   131,   132,    -1,   134,   135,
20355      136,    -1,   138,   139,   140,    -1,   142,   143,   144,   145,
20356      146,   147,   148,   149,   150,    -1,   152,    -1,   154,   155,
20357      156,   157,    -1,   159,    -1,   161,    -1,    -1,    -1,   165,
20358      166,   167,   168,    -1,   170,   171,    -1,   173,   174,   175,
20359       -1,   177,   178,   179,   180,   181,    -1,   183,   184,   185,
20360      186,    -1,   188,   189,   190,   191,   192,   193,   194,    -1,
20361      196,    -1,   198,   199,   200,   201,   202,   203,   204,    -1,
20362      206,    -1,   208,    -1,    -1,   211,    -1,   213,   214,   215,
20363      216,   217,    -1,    -1,   220,   221,    -1,   223,    -1,    -1,
20364      226,   227,   228,    -1,    -1,   231,   232,   233,   234,   235,
20365      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
20366      246,   247,    -1,   249,   250,   251,   252,   253,    -1,   255,
20367      256,    -1,   258,    -1,   260,   261,   262,   263,   264,   265,
20368       -1,   267,   268,    -1,   270,   271,   272,   273,    -1,    -1,
20369      276,   277,   278,    -1,   280,    -1,   282,   283,   284,   285,
20370      286,   287,   288,   289,   290,   291,    -1,   293,   294,   295,
20371      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
20372      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
20373      316,    -1,   318,   319,   320,   321,   322,   323,   324,   325,
20374      326,   327,   328,   329,    -1,   331,   332,    -1,   334,   335,
20375      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
20376      346,   347,   348,    -1,   350,   351,   352,   353,   354,    -1,
20377      356,   357,   358,   359,   360,    -1,   362,   363,   364,   365,
20378       -1,   367,   368,   369,   370,   371,   372,   373,   374,   375,
20379      376,   377,   378,   379,    -1,   381,   382,    -1,   384,    -1,
20380      386,   387,   388,   389,   390,    -1,   392,   393,   394,    -1,
20381       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
20382      406,   407,   408,   409,    -1,    -1,   412,   413,   414,   415,
20383      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
20384       -1,   427,    -1,   429,   430,   431,   432,    -1,    -1,   435,
20385       -1,    -1,   438,   439,   440,   441,   442,   443,   444,   445,
20386      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
20387      456,   457,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20388       -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
20389       21,    22,    23,    24,    25,    26,    27,    28,    29,    -1,
20390       -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
20391       41,    42,    -1,    44,    45,    46,    47,    48,    -1,    50,
20392       51,    -1,    53,    54,    55,    56,    57,    58,    -1,    -1,
20393       61,    62,    63,    64,    65,    -1,    67,    68,    69,    70,
20394       71,    -1,    -1,    -1,    75,    76,    77,    78,    79,    -1,
20395       81,    82,    83,    -1,    85,    86,    87,    88,    89,    90,
20396       -1,    -1,    93,    94,    95,    -1,    -1,    -1,    -1,    -1,
20397       -1,    -1,   103,   104,   105,   106,   107,   108,   109,   110,
20398      111,    -1,   113,    -1,   115,   116,   117,   118,   119,   120,
20399       -1,   122,   123,   124,   125,    -1,    -1,   128,   129,   130,
20400      131,   132,    -1,   134,   135,   136,    -1,   138,   139,   140,
20401       -1,   142,   143,   144,   145,   146,   147,   148,   149,   150,
20402       -1,   152,    -1,   154,   155,   156,   157,    -1,   159,    -1,
20403      161,    -1,    -1,    -1,   165,   166,   167,   168,    -1,   170,
20404      171,    -1,   173,   174,   175,    -1,   177,   178,   179,   180,
20405      181,    -1,   183,   184,   185,   186,    -1,   188,   189,   190,
20406      191,   192,   193,   194,    -1,   196,    -1,   198,   199,   200,
20407      201,   202,   203,   204,    -1,   206,    -1,   208,    -1,    -1,
20408      211,    -1,   213,   214,   215,   216,   217,    -1,    -1,   220,
20409      221,    -1,   223,    -1,    -1,   226,   227,   228,    -1,    -1,
20410      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
20411      241,   242,   243,   244,   245,   246,   247,    -1,   249,   250,
20412      251,   252,   253,    -1,   255,   256,    -1,   258,    -1,   260,
20413      261,   262,   263,   264,   265,    -1,   267,   268,    -1,    -1,
20414      271,   272,   273,    -1,    -1,   276,   277,   278,    -1,   280,
20415       -1,   282,   283,   284,   285,   286,   287,   288,   289,   290,
20416      291,    -1,   293,   294,   295,   296,   297,   298,   299,   300,
20417       -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
20418      311,   312,   313,   314,   315,   316,    -1,   318,   319,   320,
20419      321,   322,   323,   324,   325,   326,   327,   328,   329,    -1,
20420      331,   332,    -1,   334,   335,   336,   337,   338,   339,   340,
20421      341,   342,   343,   344,   345,   346,   347,   348,    -1,   350,
20422      351,   352,   353,   354,    -1,   356,   357,   358,   359,   360,
20423       -1,   362,   363,   364,   365,    -1,   367,   368,   369,   370,
20424      371,   372,   373,   374,   375,   376,   377,   378,   379,    -1,
20425      381,   382,    -1,   384,    -1,   386,   387,   388,   389,   390,
20426       -1,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
20427      401,    -1,   403,   404,   405,   406,   407,   408,   409,    -1,
20428       -1,   412,   413,   414,   415,   416,    -1,    -1,   419,   420,
20429      421,   422,   423,   424,   425,    -1,   427,    -1,   429,   430,
20430      431,   432,    -1,    -1,   435,    -1,    -1,   438,   439,   440,
20431      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
20432      451,   452,   453,   454,   455,   456,   457,     3,    -1,    -1,
20433       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20434       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
20435       26,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
20436       -1,    37,    38,    -1,    40,    41,    42,    -1,    44,    45,
20437       46,    47,    48,    -1,    50,    51,    -1,    53,    54,    55,
20438       56,    57,    58,    -1,    -1,    61,    62,    63,    64,    65,
20439       -1,    67,    68,    69,    70,    71,    -1,    -1,    -1,    75,
20440       76,    77,    78,    79,    -1,    81,    82,    83,    -1,    85,
20441       86,    87,    88,    89,    90,    -1,    -1,    93,    94,    95,
20442       -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,   104,   105,
20443      106,   107,   108,   109,   110,   111,    -1,   113,    -1,   115,
20444      116,   117,   118,   119,   120,    -1,   122,   123,   124,   125,
20445       -1,    -1,   128,   129,   130,   131,   132,    -1,   134,   135,
20446      136,    -1,   138,   139,   140,    -1,   142,   143,   144,   145,
20447      146,   147,   148,   149,   150,    -1,   152,    -1,   154,   155,
20448      156,   157,    -1,   159,    -1,   161,    -1,    -1,    -1,   165,
20449      166,   167,   168,    -1,   170,   171,    -1,   173,   174,   175,
20450       -1,   177,   178,   179,   180,   181,    -1,   183,   184,   185,
20451      186,    -1,   188,   189,   190,   191,   192,   193,   194,    -1,
20452      196,    -1,   198,   199,   200,   201,   202,   203,   204,    -1,
20453      206,    -1,   208,    -1,    -1,   211,    -1,   213,   214,   215,
20454      216,   217,    -1,    -1,   220,   221,    -1,   223,    -1,    -1,
20455      226,   227,   228,    -1,    -1,   231,   232,   233,   234,   235,
20456      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
20457      246,   247,    -1,   249,   250,   251,   252,   253,    -1,   255,
20458      256,    -1,   258,    -1,   260,   261,   262,   263,   264,   265,
20459       -1,   267,   268,    -1,    -1,   271,   272,   273,    -1,    -1,
20460      276,   277,   278,    -1,   280,    -1,   282,   283,   284,   285,
20461      286,   287,   288,   289,   290,   291,    -1,   293,   294,   295,
20462      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
20463      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
20464      316,    -1,   318,   319,   320,   321,   322,   323,   324,   325,
20465      326,   327,   328,   329,    -1,   331,   332,    -1,   334,   335,
20466      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
20467      346,   347,   348,    -1,   350,   351,   352,   353,   354,    -1,
20468      356,   357,   358,   359,   360,    -1,   362,   363,   364,   365,
20469       -1,   367,   368,   369,   370,   371,   372,   373,   374,   375,
20470      376,   377,   378,   379,    -1,   381,   382,    -1,   384,    -1,
20471      386,   387,   388,   389,   390,    -1,   392,   393,   394,    -1,
20472       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
20473      406,   407,   408,   409,    -1,    -1,   412,   413,   414,   415,
20474      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
20475       -1,   427,    -1,   429,   430,   431,   432,    -1,    -1,   435,
20476       -1,    -1,   438,   439,   440,   441,   442,   443,   444,   445,
20477      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
20478      456,   457,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20479       -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
20480       21,    22,    23,    24,    25,    26,    27,    28,    29,    -1,
20481       -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
20482       41,    42,    -1,    44,    45,    46,    47,    48,    -1,    50,
20483       51,    -1,    53,    54,    55,    56,    57,    58,    -1,    -1,
20484       61,    62,    63,    64,    65,    -1,    67,    68,    69,    70,
20485       71,    -1,    -1,    -1,    75,    76,    77,    78,    79,    -1,
20486       81,    82,    83,    -1,    85,    86,    87,    88,    89,    90,
20487       -1,    -1,    93,    94,    95,    -1,    -1,    -1,    -1,    -1,
20488       -1,    -1,   103,   104,   105,   106,   107,   108,   109,   110,
20489      111,    -1,   113,    -1,   115,   116,   117,   118,   119,   120,
20490       -1,   122,   123,   124,   125,    -1,    -1,   128,   129,   130,
20491      131,   132,    -1,   134,   135,   136,    -1,   138,   139,   140,
20492       -1,   142,   143,   144,   145,   146,   147,   148,   149,   150,
20493       -1,   152,    -1,   154,   155,   156,   157,    -1,   159,    -1,
20494      161,    -1,    -1,    -1,   165,   166,   167,   168,    -1,   170,
20495      171,    -1,   173,   174,   175,    -1,   177,   178,   179,   180,
20496      181,    -1,   183,   184,   185,   186,    -1,   188,   189,   190,
20497      191,   192,   193,   194,    -1,   196,    -1,   198,   199,   200,
20498      201,   202,   203,   204,    -1,   206,    -1,   208,    -1,    -1,
20499      211,    -1,   213,   214,   215,   216,   217,    -1,    -1,   220,
20500      221,    -1,   223,    -1,    -1,   226,   227,   228,    -1,    -1,
20501      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
20502      241,   242,   243,   244,   245,   246,   247,    -1,   249,   250,
20503      251,   252,   253,    -1,   255,   256,    -1,   258,    -1,   260,
20504      261,   262,   263,   264,   265,    -1,   267,   268,    -1,    -1,
20505      271,   272,   273,    -1,    -1,   276,   277,   278,    -1,   280,
20506       -1,   282,   283,   284,   285,   286,   287,   288,   289,   290,
20507      291,    -1,   293,   294,   295,   296,   297,   298,   299,   300,
20508       -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
20509      311,   312,   313,   314,   315,   316,    -1,   318,   319,   320,
20510      321,   322,   323,   324,   325,   326,   327,   328,   329,    -1,
20511      331,   332,    -1,   334,   335,   336,   337,   338,   339,   340,
20512      341,   342,   343,   344,   345,   346,   347,   348,    -1,   350,
20513      351,   352,   353,   354,    -1,   356,   357,   358,   359,   360,
20514       -1,   362,   363,   364,   365,    -1,   367,   368,   369,   370,
20515      371,   372,   373,   374,   375,   376,   377,   378,   379,    -1,
20516      381,   382,    -1,   384,    -1,   386,   387,   388,   389,   390,
20517       -1,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
20518      401,    -1,   403,   404,   405,   406,   407,   408,   409,    -1,
20519       -1,   412,   413,   414,   415,   416,    -1,    -1,   419,   420,
20520      421,   422,   423,   424,   425,    -1,   427,    -1,   429,   430,
20521      431,   432,    -1,    -1,   435,    -1,    -1,   438,   439,   440,
20522      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
20523      451,   452,   453,   454,   455,   456,   457,     3,    -1,    -1,
20524       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20525       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
20526       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
20527       -1,    37,    38,    -1,    40,    41,    42,    43,    44,    45,
20528       46,    47,    48,    -1,    50,    51,    -1,    53,    54,    55,
20529       56,    57,    58,    -1,    -1,    61,    62,    63,    64,    65,
20530       -1,    67,    68,    69,    70,    71,    -1,    -1,    -1,    75,
20531       76,    77,    78,    79,    -1,    81,    82,    83,    -1,    85,
20532       86,    87,    88,    89,    90,    -1,    -1,    93,    94,    95,
20533       -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,   104,   105,
20534      106,   107,   108,   109,   110,   111,    -1,   113,    -1,   115,
20535      116,   117,   118,   119,   120,    -1,   122,   123,   124,   125,
20536       -1,    -1,   128,   129,   130,   131,   132,    -1,   134,   135,
20537      136,    -1,   138,   139,   140,    -1,   142,   143,   144,   145,
20538      146,   147,   148,   149,   150,    -1,   152,    -1,   154,   155,
20539      156,   157,    -1,   159,    -1,   161,    -1,    -1,    -1,   165,
20540      166,   167,   168,    -1,   170,   171,    -1,   173,   174,   175,
20541       -1,   177,   178,   179,   180,   181,    -1,   183,   184,   185,
20542      186,    -1,   188,   189,   190,   191,   192,   193,   194,    -1,
20543      196,    -1,   198,   199,   200,   201,   202,   203,   204,    -1,
20544      206,    -1,   208,    -1,    -1,   211,    -1,   213,   214,   215,
20545      216,   217,    -1,    -1,   220,   221,    -1,   223,    -1,    -1,
20546      226,   227,   228,    -1,    -1,   231,   232,   233,   234,   235,
20547      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
20548      246,   247,    -1,   249,   250,   251,   252,   253,    -1,   255,
20549      256,    -1,   258,    -1,   260,   261,   262,   263,   264,   265,
20550       -1,   267,   268,    -1,    -1,   271,   272,   273,    -1,    -1,
20551      276,   277,   278,    -1,   280,    -1,   282,   283,   284,   285,
20552      286,   287,   288,   289,   290,   291,    -1,   293,   294,   295,
20553      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
20554      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
20555      316,    -1,   318,   319,   320,   321,   322,   323,   324,   325,
20556      326,   327,   328,   329,    -1,   331,   332,    -1,   334,   335,
20557      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
20558      346,   347,   348,    -1,   350,   351,   352,   353,   354,    -1,
20559      356,   357,   358,   359,   360,    -1,   362,   363,   364,   365,
20560       -1,   367,   368,   369,   370,   371,   372,   373,   374,   375,
20561      376,   377,   378,   379,    -1,   381,   382,    -1,   384,    -1,
20562      386,   387,   388,   389,   390,    -1,   392,   393,   394,    -1,
20563       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
20564      406,   407,   408,   409,    -1,    -1,   412,   413,   414,   415,
20565      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
20566       -1,   427,    -1,   429,   430,   431,   432,    -1,    -1,   435,
20567       -1,    -1,   438,   439,   440,   441,   442,   443,   444,   445,
20568      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
20569      456,   457,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20570       -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
20571       21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
20572       -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
20573       41,    42,    -1,    44,    45,    46,    47,    48,    -1,    50,
20574       51,    -1,    53,    54,    55,    56,    57,    58,    -1,    -1,
20575       61,    62,    63,    64,    65,    -1,    67,    68,    69,    70,
20576       71,    -1,    -1,    -1,    75,    76,    77,    78,    79,    -1,
20577       81,    82,    83,    -1,    85,    86,    87,    88,    89,    90,
20578       -1,    -1,    93,    94,    95,    -1,    -1,    -1,    -1,    -1,
20579       -1,    -1,   103,   104,   105,   106,   107,   108,   109,   110,
20580      111,    -1,   113,    -1,   115,   116,   117,   118,   119,   120,
20581       -1,   122,   123,   124,   125,    -1,    -1,   128,   129,   130,
20582      131,   132,    -1,   134,   135,   136,    -1,   138,   139,   140,
20583       -1,   142,   143,   144,   145,   146,   147,   148,   149,   150,
20584       -1,   152,    -1,   154,   155,   156,   157,    -1,   159,    -1,
20585      161,    -1,    -1,    -1,   165,   166,   167,   168,    -1,   170,
20586      171,    -1,   173,   174,   175,    -1,   177,   178,   179,   180,
20587      181,    -1,   183,   184,   185,   186,    -1,   188,   189,   190,
20588      191,   192,   193,   194,    -1,   196,    -1,   198,   199,   200,
20589      201,   202,   203,   204,    -1,   206,    -1,   208,    -1,    -1,
20590      211,    -1,   213,   214,   215,   216,   217,    -1,    -1,   220,
20591      221,    -1,   223,    -1,    -1,   226,   227,   228,    -1,    -1,
20592      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
20593      241,   242,   243,   244,   245,   246,   247,    -1,   249,   250,
20594      251,   252,   253,    -1,   255,   256,    -1,   258,    -1,   260,
20595      261,   262,   263,   264,   265,    -1,   267,   268,    -1,   270,
20596      271,   272,   273,    -1,    -1,   276,   277,   278,    -1,   280,
20597       -1,   282,   283,   284,   285,   286,   287,   288,   289,   290,
20598      291,    -1,   293,   294,   295,   296,   297,   298,   299,   300,
20599       -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
20600      311,   312,   313,   314,   315,   316,    -1,   318,   319,   320,
20601      321,   322,   323,   324,   325,   326,   327,   328,   329,    -1,
20602      331,   332,    -1,   334,   335,   336,   337,   338,   339,   340,
20603      341,   342,   343,   344,   345,   346,   347,   348,    -1,   350,
20604      351,   352,   353,   354,    -1,   356,   357,   358,   359,   360,
20605       -1,   362,   363,   364,   365,    -1,   367,   368,   369,   370,
20606      371,   372,   373,   374,   375,   376,   377,   378,   379,    -1,
20607      381,   382,    -1,   384,    -1,   386,   387,   388,   389,   390,
20608       -1,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
20609      401,    -1,   403,   404,   405,   406,   407,   408,   409,    -1,
20610       -1,   412,   413,   414,   415,   416,    -1,    -1,   419,   420,
20611      421,   422,   423,   424,   425,    -1,   427,    -1,   429,   430,
20612      431,   432,    -1,    -1,   435,    -1,    -1,   438,   439,   440,
20613      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
20614      451,   452,   453,   454,   455,   456,   457,     3,    -1,    -1,
20615       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20616       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
20617       26,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
20618       -1,    37,    38,    -1,    40,    41,    42,    -1,    44,    45,
20619       46,    47,    48,    -1,    50,    51,    -1,    53,    54,    55,
20620       56,    57,    58,    -1,    -1,    61,    62,    63,    64,    65,
20621       -1,    67,    68,    69,    70,    71,    -1,    -1,    -1,    75,
20622       76,    77,    78,    79,    -1,    81,    82,    83,    -1,    85,
20623       86,    87,    88,    89,    90,    -1,    -1,    93,    94,    95,
20624       -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,   104,   105,
20625      106,   107,   108,   109,   110,   111,    -1,   113,    -1,   115,
20626      116,   117,   118,   119,   120,    -1,   122,   123,   124,   125,
20627       -1,    -1,   128,   129,   130,   131,   132,    -1,   134,   135,
20628      136,    -1,   138,   139,   140,    -1,   142,   143,   144,   145,
20629      146,   147,   148,   149,   150,    -1,   152,    -1,   154,   155,
20630      156,   157,    -1,   159,    -1,   161,    -1,    -1,    -1,   165,
20631      166,   167,   168,    -1,   170,   171,    -1,   173,   174,   175,
20632       -1,   177,   178,   179,   180,   181,    -1,   183,   184,   185,
20633      186,    -1,   188,   189,   190,   191,   192,   193,   194,    -1,
20634      196,    -1,   198,   199,   200,   201,   202,   203,   204,    -1,
20635      206,    -1,   208,    -1,    -1,   211,    -1,   213,   214,   215,
20636      216,   217,    -1,    -1,   220,   221,    -1,   223,    -1,    -1,
20637      226,   227,   228,    -1,    -1,   231,   232,   233,   234,   235,
20638      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
20639      246,   247,    -1,   249,   250,   251,   252,   253,    -1,   255,
20640      256,    -1,   258,    -1,   260,   261,   262,   263,   264,   265,
20641       -1,   267,   268,    -1,    -1,   271,   272,   273,    -1,    -1,
20642      276,   277,   278,    -1,   280,    -1,   282,   283,   284,   285,
20643      286,   287,   288,   289,   290,   291,    -1,   293,   294,   295,
20644      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
20645      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
20646      316,    -1,   318,   319,   320,   321,   322,   323,   324,   325,
20647      326,   327,   328,   329,    -1,   331,   332,    -1,   334,   335,
20648      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
20649      346,   347,   348,    -1,   350,   351,   352,   353,   354,    -1,
20650      356,   357,   358,   359,   360,    -1,   362,   363,   364,   365,
20651       -1,   367,   368,   369,   370,   371,   372,   373,   374,   375,
20652      376,   377,   378,   379,    -1,   381,   382,    -1,   384,    -1,
20653      386,   387,   388,   389,   390,    -1,   392,   393,   394,    -1,
20654       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
20655      406,   407,   408,   409,    -1,    -1,   412,   413,   414,   415,
20656      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
20657       -1,   427,    -1,   429,   430,   431,   432,    -1,    -1,   435,
20658       -1,    -1,   438,   439,   440,   441,   442,   443,   444,   445,
20659      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
20660      456,   457,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20661       -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
20662       21,    22,    23,    24,    25,    26,    27,    28,    29,    -1,
20663       -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
20664       41,    42,    -1,    44,    45,    46,    47,    48,    -1,    50,
20665       51,    -1,    53,    54,    55,    56,    57,    58,    -1,    -1,
20666       61,    62,    63,    64,    65,    -1,    67,    68,    69,    70,
20667       71,    -1,    -1,    -1,    75,    76,    77,    78,    79,    -1,
20668       81,    82,    83,    -1,    85,    86,    87,    88,    89,    90,
20669       -1,    -1,    93,    94,    95,    -1,    -1,    -1,    -1,    -1,
20670       -1,    -1,   103,   104,   105,   106,   107,   108,   109,   110,
20671      111,    -1,   113,    -1,   115,   116,   117,   118,   119,   120,
20672       -1,   122,   123,   124,   125,    -1,    -1,   128,   129,   130,
20673      131,   132,    -1,   134,   135,   136,    -1,   138,   139,   140,
20674       -1,   142,   143,   144,   145,   146,   147,   148,   149,   150,
20675       -1,   152,    -1,   154,   155,   156,   157,    -1,   159,    -1,
20676      161,    -1,    -1,    -1,   165,   166,   167,   168,    -1,   170,
20677      171,    -1,   173,   174,   175,    -1,   177,   178,   179,   180,
20678      181,    -1,   183,   184,   185,   186,    -1,   188,   189,   190,
20679      191,   192,   193,   194,    -1,   196,    -1,   198,   199,   200,
20680      201,   202,   203,   204,    -1,   206,    -1,   208,    -1,    -1,
20681      211,    -1,   213,   214,   215,   216,   217,    -1,    -1,   220,
20682      221,    -1,   223,    -1,    -1,   226,   227,   228,    -1,    -1,
20683      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
20684      241,   242,   243,   244,   245,   246,   247,    -1,   249,   250,
20685      251,   252,   253,    -1,   255,   256,    -1,   258,    -1,   260,
20686      261,   262,   263,   264,   265,    -1,   267,   268,    -1,    -1,
20687      271,   272,   273,    -1,    -1,   276,   277,   278,    -1,   280,
20688       -1,   282,   283,   284,   285,   286,   287,   288,   289,   290,
20689      291,    -1,   293,   294,   295,   296,   297,   298,   299,   300,
20690       -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
20691      311,   312,   313,   314,   315,   316,    -1,   318,   319,   320,
20692      321,   322,   323,   324,   325,   326,   327,   328,   329,    -1,
20693      331,   332,    -1,   334,   335,   336,   337,   338,   339,   340,
20694      341,   342,   343,   344,   345,   346,   347,   348,    -1,   350,
20695      351,   352,   353,   354,    -1,   356,   357,   358,   359,   360,
20696       -1,   362,   363,   364,   365,    -1,   367,   368,   369,   370,
20697      371,   372,   373,   374,   375,   376,   377,   378,   379,    -1,
20698      381,   382,    -1,   384,    -1,   386,   387,   388,   389,   390,
20699       -1,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
20700      401,    -1,   403,   404,   405,   406,   407,   408,   409,    -1,
20701       -1,   412,   413,   414,   415,   416,    -1,    -1,   419,   420,
20702      421,   422,   423,   424,   425,    -1,   427,    -1,   429,   430,
20703      431,   432,    -1,    -1,   435,    -1,    -1,   438,   439,   440,
20704      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
20705      451,   452,   453,   454,   455,   456,   457,     3,    -1,    -1,
20706       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20707       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
20708       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
20709       -1,    37,    38,    -1,    40,    41,    42,    -1,    44,    45,
20710       46,    47,    48,    -1,    50,    51,    -1,    53,    54,    55,
20711       56,    57,    58,    -1,    -1,    61,    62,    63,    64,    65,
20712       -1,    67,    68,    69,    70,    71,    -1,    -1,    -1,    75,
20713       76,    77,    78,    79,    -1,    81,    82,    83,    -1,    85,
20714       86,    87,    88,    89,    90,    -1,    -1,    93,    94,    95,
20715       -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,   104,   105,
20716      106,   107,   108,   109,   110,   111,    -1,   113,    -1,   115,
20717      116,   117,   118,   119,   120,    -1,   122,   123,   124,   125,
20718       -1,    -1,   128,   129,   130,   131,   132,    -1,   134,   135,
20719      136,    -1,   138,   139,   140,    -1,   142,   143,   144,   145,
20720      146,   147,   148,   149,   150,    -1,   152,    -1,   154,   155,
20721      156,   157,    -1,   159,    -1,   161,    -1,    -1,    -1,   165,
20722      166,   167,   168,    -1,   170,   171,    -1,   173,   174,   175,
20723       -1,   177,   178,   179,   180,   181,    -1,   183,   184,   185,
20724      186,    -1,   188,   189,   190,   191,   192,   193,   194,    -1,
20725      196,    -1,   198,   199,   200,   201,   202,   203,   204,    -1,
20726      206,    -1,   208,    -1,    -1,   211,    -1,   213,   214,   215,
20727      216,   217,    -1,    -1,   220,   221,    -1,   223,    -1,    -1,
20728      226,   227,   228,    -1,    -1,   231,   232,   233,   234,   235,
20729      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
20730      246,   247,    -1,   249,   250,   251,   252,   253,    -1,   255,
20731      256,    -1,   258,    -1,   260,   261,   262,   263,   264,   265,
20732       -1,   267,   268,    -1,    -1,   271,   272,   273,    -1,    -1,
20733      276,   277,   278,    -1,   280,    -1,   282,   283,   284,   285,
20734      286,   287,   288,   289,   290,   291,    -1,   293,   294,   295,
20735      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
20736      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
20737      316,    -1,   318,   319,   320,   321,   322,   323,   324,   325,
20738      326,   327,   328,   329,    -1,   331,   332,    -1,   334,   335,
20739      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
20740      346,   347,   348,    -1,   350,   351,   352,   353,   354,    -1,
20741      356,   357,   358,   359,   360,    -1,   362,   363,   364,   365,
20742       -1,   367,   368,   369,   370,   371,   372,   373,   374,   375,
20743      376,   377,   378,   379,    -1,   381,   382,   383,   384,    -1,
20744      386,   387,   388,   389,   390,    -1,   392,   393,   394,    -1,
20745       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
20746      406,   407,   408,   409,    -1,    -1,   412,   413,   414,   415,
20747      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
20748       -1,   427,    -1,   429,   430,   431,   432,    -1,    -1,   435,
20749       -1,    -1,   438,   439,   440,   441,   442,   443,   444,   445,
20750      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
20751      456,   457,     3,    -1,     5,    -1,    -1,    -1,    -1,    -1,
20752       -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
20753       21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
20754       -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
20755       41,    42,    -1,    44,    45,    46,    47,    48,    -1,    50,
20756       51,    -1,    53,    54,    55,    56,    57,    58,    -1,    -1,
20757       61,    62,    63,    64,    65,    -1,    67,    68,    69,    70,
20758       71,    -1,    -1,    -1,    75,    76,    77,    78,    79,    -1,
20759       81,    82,    83,    -1,    85,    86,    87,    88,    89,    90,
20760       -1,    -1,    93,    94,    95,    -1,    -1,    -1,    -1,    -1,
20761       -1,    -1,   103,   104,   105,   106,   107,   108,   109,   110,
20762      111,    -1,   113,    -1,   115,   116,   117,   118,   119,   120,
20763       -1,   122,   123,   124,   125,    -1,    -1,   128,   129,   130,
20764      131,   132,    -1,   134,   135,   136,    -1,   138,   139,   140,
20765       -1,   142,   143,   144,   145,   146,   147,   148,   149,   150,
20766       -1,   152,    -1,   154,   155,   156,   157,    -1,   159,    -1,
20767      161,    -1,    -1,    -1,   165,   166,   167,   168,    -1,   170,
20768      171,    -1,   173,   174,   175,    -1,   177,   178,   179,   180,
20769      181,    -1,   183,   184,   185,   186,    -1,   188,   189,   190,
20770      191,   192,   193,   194,    -1,   196,    -1,   198,   199,   200,
20771      201,   202,   203,   204,    -1,   206,    -1,   208,    -1,    -1,
20772      211,    -1,   213,   214,   215,   216,   217,    -1,    -1,   220,
20773      221,    -1,   223,    -1,    -1,   226,   227,   228,    -1,    -1,
20774      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
20775      241,   242,   243,   244,   245,   246,   247,    -1,   249,   250,
20776      251,   252,   253,    -1,   255,   256,    -1,   258,    -1,   260,
20777      261,   262,   263,   264,   265,    -1,   267,   268,    -1,    -1,
20778      271,   272,   273,    -1,    -1,   276,   277,   278,    -1,   280,
20779       -1,   282,   283,   284,   285,   286,   287,   288,   289,   290,
20780      291,    -1,   293,   294,   295,   296,   297,   298,   299,   300,
20781       -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
20782      311,   312,   313,   314,   315,   316,    -1,   318,   319,   320,
20783      321,   322,   323,   324,   325,   326,   327,   328,   329,    -1,
20784      331,   332,    -1,   334,   335,   336,   337,   338,   339,   340,
20785      341,   342,   343,   344,   345,   346,   347,   348,    -1,   350,
20786      351,   352,   353,   354,    -1,   356,   357,   358,   359,   360,
20787       -1,   362,   363,   364,   365,    -1,   367,   368,   369,   370,
20788      371,   372,   373,   374,   375,   376,   377,   378,   379,    -1,
20789      381,   382,    -1,   384,    -1,   386,   387,   388,   389,   390,
20790       -1,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
20791      401,    -1,   403,   404,   405,   406,   407,   408,   409,    -1,
20792       -1,   412,   413,   414,   415,   416,    -1,    -1,   419,   420,
20793      421,   422,   423,   424,   425,    -1,   427,    -1,   429,   430,
20794      431,   432,    -1,    -1,   435,    -1,    -1,   438,   439,   440,
20795      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
20796      451,   452,   453,   454,   455,   456,   457,     3,    -1,    -1,
20797       -1,    -1,    -1,     9,    -1,    -1,    -1,    -1,    -1,    -1,
20798       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
20799       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
20800       -1,    37,    38,    -1,    40,    41,    42,    -1,    44,    45,
20801       46,    47,    48,    -1,    50,    51,    -1,    53,    54,    55,
20802       56,    57,    58,    -1,    -1,    61,    62,    63,    64,    65,
20803       -1,    67,    68,    69,    70,    71,    -1,    -1,    -1,    75,
20804       76,    77,    78,    79,    -1,    81,    82,    83,    -1,    85,
20805       86,    87,    88,    89,    90,    -1,    -1,    93,    94,    95,
20806       -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,   104,   105,
20807      106,   107,   108,   109,   110,   111,    -1,   113,    -1,   115,
20808      116,   117,   118,   119,   120,    -1,   122,   123,   124,   125,
20809       -1,    -1,   128,   129,   130,   131,   132,    -1,   134,   135,
20810      136,    -1,   138,   139,   140,    -1,   142,   143,   144,   145,
20811      146,   147,   148,   149,   150,    -1,   152,    -1,   154,   155,
20812      156,   157,    -1,   159,    -1,   161,    -1,    -1,    -1,   165,
20813      166,   167,   168,    -1,   170,   171,    -1,   173,   174,   175,
20814       -1,   177,   178,   179,   180,   181,    -1,   183,   184,   185,
20815      186,    -1,   188,   189,   190,   191,   192,   193,   194,    -1,
20816      196,    -1,   198,   199,   200,   201,   202,   203,   204,    -1,
20817      206,    -1,   208,    -1,    -1,   211,    -1,   213,   214,   215,
20818      216,   217,    -1,    -1,   220,   221,    -1,   223,    -1,    -1,
20819      226,   227,   228,    -1,    -1,   231,   232,   233,   234,   235,
20820      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
20821      246,   247,    -1,   249,   250,   251,   252,   253,    -1,   255,
20822      256,    -1,   258,    -1,   260,   261,   262,   263,   264,   265,
20823       -1,   267,   268,    -1,    -1,   271,   272,   273,    -1,    -1,
20824      276,   277,   278,    -1,   280,    -1,   282,   283,   284,   285,
20825      286,   287,   288,   289,   290,   291,    -1,   293,   294,   295,
20826      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
20827      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
20828      316,    -1,   318,   319,   320,   321,   322,   323,   324,   325,
20829      326,   327,   328,   329,    -1,   331,   332,    -1,   334,   335,
20830      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
20831      346,   347,   348,    -1,   350,   351,   352,   353,   354,    -1,
20832      356,   357,   358,   359,   360,    -1,   362,   363,   364,   365,
20833       -1,   367,   368,   369,   370,   371,   372,   373,   374,   375,
20834      376,   377,   378,   379,    -1,   381,   382,    -1,   384,    -1,
20835      386,   387,   388,   389,   390,    -1,   392,   393,   394,    -1,
20836       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
20837      406,   407,   408,   409,    -1,    -1,   412,   413,   414,   415,
20838      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
20839       -1,   427,    -1,   429,   430,   431,   432,    -1,    -1,   435,
20840       -1,    -1,   438,   439,   440,   441,   442,   443,   444,   445,
20841      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
20842      456,   457,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20843       -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
20844       21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
20845       -1,    -1,    -1,    -1,    35,    -1,    37,    38,    -1,    40,
20846       41,    42,    -1,    44,    45,    46,    47,    48,    -1,    50,
20847       51,    -1,    53,    54,    55,    56,    57,    58,    -1,    -1,
20848       61,    62,    63,    64,    65,    -1,    67,    68,    69,    70,
20849       71,    -1,    -1,    -1,    75,    76,    77,    78,    79,    -1,
20850       81,    82,    83,    -1,    85,    86,    87,    88,    89,    90,
20851       -1,    -1,    93,    94,    95,    -1,    -1,    -1,    -1,    -1,
20852       -1,    -1,   103,   104,   105,   106,   107,   108,   109,   110,
20853      111,    -1,   113,    -1,   115,   116,   117,   118,   119,   120,
20854       -1,   122,   123,   124,   125,    -1,    -1,   128,   129,   130,
20855      131,   132,    -1,   134,   135,   136,    -1,   138,   139,   140,
20856       -1,   142,   143,   144,   145,   146,   147,   148,   149,   150,
20857       -1,   152,    -1,   154,   155,   156,   157,    -1,   159,    -1,
20858      161,    -1,    -1,    -1,   165,   166,   167,   168,    -1,   170,
20859      171,    -1,   173,   174,   175,    -1,   177,   178,   179,   180,
20860      181,    -1,   183,   184,   185,   186,    -1,   188,   189,   190,
20861      191,   192,   193,   194,    -1,   196,    -1,   198,   199,   200,
20862      201,   202,   203,   204,    -1,   206,    -1,   208,    -1,    -1,
20863      211,    -1,   213,   214,   215,   216,   217,    -1,    -1,   220,
20864      221,    -1,   223,    -1,    -1,   226,   227,   228,    -1,    -1,
20865      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
20866      241,   242,   243,   244,   245,   246,   247,    -1,   249,   250,
20867      251,   252,   253,    -1,   255,   256,    -1,   258,    -1,   260,
20868      261,   262,   263,   264,   265,    -1,   267,   268,    -1,    -1,
20869      271,   272,   273,    -1,    -1,   276,   277,   278,    -1,   280,
20870       -1,   282,   283,   284,   285,   286,   287,   288,   289,   290,
20871      291,    -1,   293,   294,   295,   296,   297,   298,   299,   300,
20872       -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
20873      311,   312,   313,   314,   315,   316,    -1,   318,   319,   320,
20874      321,   322,   323,   324,   325,   326,   327,   328,   329,    -1,
20875      331,   332,    -1,   334,   335,   336,   337,   338,   339,   340,
20876      341,   342,   343,   344,   345,   346,   347,   348,    -1,   350,
20877      351,   352,   353,   354,    -1,   356,   357,   358,   359,   360,
20878       -1,   362,   363,   364,   365,    -1,   367,   368,   369,   370,
20879      371,   372,   373,   374,   375,   376,   377,   378,   379,    -1,
20880      381,   382,    -1,   384,    -1,   386,   387,   388,   389,   390,
20881       -1,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
20882      401,    -1,   403,   404,   405,   406,   407,   408,   409,    -1,
20883       -1,   412,   413,   414,   415,   416,    -1,    -1,   419,   420,
20884      421,   422,   423,   424,   425,    -1,   427,    -1,   429,   430,
20885      431,   432,    -1,    -1,   435,    -1,    -1,   438,   439,   440,
20886      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
20887      451,   452,   453,   454,   455,   456,   457,     3,    -1,    -1,
20888       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20889       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
20890       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    35,
20891       -1,    37,    38,    -1,    40,    41,    42,    -1,    44,    45,
20892       46,    47,    48,    -1,    50,    51,    -1,    53,    54,    55,
20893       56,    57,    58,    -1,    -1,    61,    62,    63,    64,    65,
20894       -1,    67,    68,    69,    70,    71,    -1,    -1,    -1,    75,
20895       76,    77,    78,    79,    -1,    81,    82,    83,    -1,    85,
20896       86,    87,    88,    89,    90,    -1,    -1,    93,    94,    95,
20897       -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,   104,   105,
20898      106,   107,   108,   109,   110,   111,    -1,   113,    -1,   115,
20899      116,   117,   118,   119,   120,    -1,   122,   123,   124,   125,
20900       -1,    -1,   128,   129,   130,   131,   132,    -1,   134,   135,
20901      136,    -1,   138,   139,   140,    -1,   142,   143,   144,   145,
20902      146,   147,   148,   149,   150,    -1,   152,    -1,   154,   155,
20903      156,   157,    -1,   159,    -1,   161,    -1,    -1,    -1,   165,
20904      166,   167,   168,    -1,   170,   171,    -1,   173,   174,   175,
20905       -1,   177,   178,   179,   180,   181,    -1,   183,   184,   185,
20906      186,    -1,   188,   189,   190,   191,   192,   193,   194,    -1,
20907      196,    -1,   198,   199,   200,   201,   202,   203,   204,    -1,
20908      206,    -1,   208,    -1,    -1,   211,    -1,   213,   214,   215,
20909      216,   217,    -1,    -1,   220,   221,    -1,   223,    -1,    -1,
20910      226,   227,   228,    -1,    -1,   231,   232,   233,   234,   235,
20911      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
20912      246,   247,    -1,   249,   250,   251,   252,   253,    -1,   255,
20913      256,    -1,   258,    -1,   260,   261,   262,   263,   264,   265,
20914       -1,   267,   268,    -1,    -1,   271,   272,   273,    -1,    -1,
20915      276,   277,   278,    -1,   280,    -1,   282,   283,   284,   285,
20916      286,   287,   288,   289,   290,   291,    -1,   293,   294,   295,
20917      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
20918      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
20919      316,    -1,   318,   319,   320,   321,   322,   323,   324,   325,
20920      326,   327,   328,   329,    -1,   331,   332,    -1,   334,   335,
20921      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
20922      346,   347,   348,    -1,   350,   351,   352,   353,   354,    -1,
20923      356,   357,   358,   359,   360,    -1,   362,   363,   364,   365,
20924       -1,   367,   368,   369,   370,   371,   372,   373,   374,   375,
20925      376,   377,   378,   379,    -1,   381,   382,    -1,   384,    -1,
20926      386,   387,   388,   389,   390,    -1,   392,   393,   394,    -1,
20927       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
20928      406,   407,   408,   409,    -1,    -1,   412,   413,   414,   415,
20929      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
20930       -1,   427,    -1,   429,   430,   431,   432,    -1,    -1,   435,
20931       -1,    -1,   438,   439,   440,   441,   442,   443,   444,   445,
20932      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
20933      456,   457,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20934       -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
20935       21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
20936       -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
20937       41,    42,    -1,    44,    45,    46,    47,    48,    -1,    50,
20938       51,    -1,    53,    54,    55,    56,    57,    58,    -1,    -1,
20939       61,    62,    63,    64,    65,    -1,    67,    68,    69,    70,
20940       71,    -1,    -1,    -1,    75,    76,    77,    78,    79,    -1,
20941       81,    82,    83,    -1,    85,    86,    87,    88,    89,    90,
20942       -1,    -1,    93,    94,    95,    -1,    -1,    -1,    -1,    -1,
20943       -1,    -1,   103,   104,   105,   106,   107,   108,   109,   110,
20944      111,    -1,   113,    -1,   115,   116,   117,   118,   119,   120,
20945       -1,   122,   123,   124,   125,    -1,    -1,   128,   129,   130,
20946      131,   132,    -1,   134,   135,   136,    -1,   138,   139,   140,
20947       -1,   142,   143,   144,   145,   146,   147,   148,   149,   150,
20948       -1,   152,    -1,   154,   155,   156,   157,    -1,   159,    -1,
20949      161,    -1,    -1,    -1,   165,   166,   167,   168,    -1,   170,
20950      171,    -1,   173,   174,   175,    -1,   177,   178,   179,   180,
20951      181,    -1,   183,   184,   185,   186,    -1,   188,   189,   190,
20952      191,   192,   193,   194,    -1,   196,    -1,   198,   199,   200,
20953      201,   202,   203,   204,    -1,   206,    -1,   208,    -1,    -1,
20954      211,    -1,   213,   214,   215,   216,   217,    -1,    -1,   220,
20955      221,    -1,   223,    -1,    -1,   226,   227,   228,    -1,    -1,
20956      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
20957      241,   242,   243,   244,   245,   246,   247,    -1,   249,   250,
20958      251,   252,   253,    -1,   255,   256,    -1,   258,    -1,   260,
20959      261,   262,   263,   264,   265,    -1,   267,   268,    -1,    -1,
20960      271,   272,   273,    -1,    -1,   276,   277,   278,    -1,   280,
20961       -1,   282,   283,   284,   285,   286,   287,   288,   289,   290,
20962      291,    -1,   293,   294,   295,   296,   297,   298,   299,   300,
20963       -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
20964      311,   312,   313,   314,   315,   316,    -1,   318,   319,   320,
20965      321,   322,   323,   324,   325,   326,   327,   328,   329,    -1,
20966      331,   332,    -1,   334,   335,   336,   337,   338,   339,   340,
20967      341,   342,   343,   344,   345,   346,   347,   348,    -1,   350,
20968      351,   352,   353,   354,    -1,   356,   357,   358,   359,   360,
20969       -1,   362,   363,   364,   365,    -1,   367,   368,   369,   370,
20970      371,   372,   373,   374,   375,   376,   377,   378,   379,    -1,
20971      381,   382,    -1,   384,    -1,   386,   387,   388,   389,   390,
20972       -1,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
20973      401,    -1,   403,   404,   405,   406,   407,   408,   409,    -1,
20974       -1,   412,   413,   414,   415,   416,    -1,    -1,   419,   420,
20975      421,   422,   423,   424,   425,    -1,   427,    -1,   429,   430,
20976      431,   432,    -1,    -1,   435,    -1,    -1,   438,   439,   440,
20977      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
20978      451,   452,   453,   454,   455,   456,   457,     3,    -1,    -1,
20979       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20980       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
20981       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
20982       -1,    37,    38,    -1,    40,    41,    42,    -1,    44,    45,
20983       46,    47,    48,    -1,    50,    51,    -1,    53,    54,    55,
20984       56,    57,    58,    -1,    -1,    61,    62,    63,    64,    65,
20985       -1,    67,    68,    69,    70,    71,    -1,    -1,    -1,    75,
20986       76,    77,    78,    79,    -1,    81,    82,    83,    -1,    85,
20987       86,    87,    88,    89,    90,    -1,    -1,    93,    94,    95,
20988       -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,   104,   105,
20989      106,   107,   108,   109,   110,   111,    -1,   113,    -1,   115,
20990      116,   117,   118,   119,   120,    -1,   122,   123,   124,   125,
20991       -1,    -1,   128,   129,   130,   131,   132,    -1,   134,   135,
20992      136,    -1,   138,   139,   140,    -1,   142,   143,   144,   145,
20993      146,   147,   148,   149,   150,    -1,   152,    -1,   154,   155,
20994      156,   157,    -1,   159,    -1,   161,    -1,    -1,    -1,   165,
20995      166,   167,   168,    -1,   170,   171,    -1,   173,   174,   175,
20996       -1,   177,   178,   179,   180,   181,    -1,   183,   184,   185,
20997      186,    -1,   188,   189,   190,   191,   192,   193,   194,    -1,
20998      196,    -1,   198,   199,   200,   201,   202,   203,   204,    -1,
20999      206,    -1,   208,    -1,    -1,   211,    -1,   213,   214,   215,
21000      216,   217,    -1,    -1,   220,   221,    -1,   223,    -1,    -1,
21001      226,   227,   228,    -1,    -1,   231,   232,   233,   234,   235,
21002      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
21003      246,   247,    -1,   249,   250,   251,   252,   253,    -1,   255,
21004      256,    -1,   258,    -1,   260,   261,   262,   263,   264,   265,
21005       -1,   267,   268,    -1,    -1,   271,   272,   273,    -1,    -1,
21006      276,   277,   278,    -1,   280,    -1,   282,   283,   284,   285,
21007      286,   287,   288,   289,   290,   291,    -1,   293,   294,   295,
21008      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
21009      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
21010      316,    -1,   318,   319,   320,   321,   322,   323,   324,   325,
21011      326,   327,   328,   329,    -1,   331,   332,    -1,   334,   335,
21012      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
21013      346,   347,   348,    -1,   350,   351,   352,   353,   354,    -1,
21014      356,   357,   358,   359,   360,    -1,   362,   363,   364,   365,
21015       -1,   367,   368,   369,   370,   371,   372,   373,   374,   375,
21016      376,   377,   378,   379,    -1,   381,   382,    -1,   384,    -1,
21017      386,   387,   388,   389,   390,    -1,   392,   393,   394,    -1,
21018       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
21019      406,   407,   408,   409,    -1,    -1,   412,   413,   414,   415,
21020      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
21021       -1,   427,    -1,   429,   430,   431,   432,    -1,    -1,   435,
21022       -1,    -1,   438,   439,   440,   441,   442,   443,   444,   445,
21023      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
21024      456,   457,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21025       -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
21026       21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
21027       -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
21028       41,    42,    -1,    44,    45,    46,    47,    48,    -1,    50,
21029       51,    -1,    53,    54,    55,    56,    57,    58,    -1,    -1,
21030       61,    62,    63,    64,    65,    -1,    67,    68,    69,    70,
21031       71,    -1,    -1,    -1,    75,    76,    77,    78,    79,    -1,
21032       81,    82,    83,    -1,    85,    86,    87,    88,    89,    90,
21033       -1,    -1,    93,    94,    95,    -1,    -1,    -1,    -1,    -1,
21034       -1,    -1,   103,   104,   105,   106,   107,   108,   109,   110,
21035      111,    -1,   113,    -1,   115,   116,   117,   118,   119,   120,
21036       -1,   122,   123,   124,   125,    -1,    -1,   128,   129,   130,
21037      131,   132,    -1,   134,   135,   136,    -1,   138,   139,   140,
21038       -1,   142,   143,   144,   145,   146,   147,   148,   149,   150,
21039       -1,   152,    -1,   154,   155,   156,   157,    -1,   159,    -1,
21040      161,    -1,    -1,    -1,   165,   166,   167,   168,    -1,   170,
21041      171,    -1,   173,   174,   175,    -1,   177,   178,   179,   180,
21042      181,    -1,   183,   184,   185,   186,    -1,   188,   189,   190,
21043      191,   192,   193,   194,    -1,   196,    -1,   198,   199,   200,
21044      201,   202,   203,   204,    -1,   206,    -1,   208,    -1,    -1,
21045      211,    -1,   213,   214,   215,   216,   217,    -1,    -1,   220,
21046      221,    -1,   223,    -1,    -1,   226,   227,   228,    -1,    -1,
21047      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
21048      241,   242,   243,   244,   245,   246,   247,    -1,   249,   250,
21049      251,   252,   253,    -1,   255,   256,    -1,   258,    -1,   260,
21050      261,   262,   263,   264,   265,    -1,   267,   268,    -1,    -1,
21051      271,   272,   273,    -1,    -1,   276,   277,   278,    -1,   280,
21052       -1,   282,   283,   284,   285,   286,   287,   288,   289,   290,
21053      291,    -1,   293,   294,   295,   296,   297,   298,   299,   300,
21054       -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
21055      311,   312,   313,   314,   315,   316,    -1,   318,   319,   320,
21056      321,   322,   323,   324,   325,   326,   327,   328,   329,    -1,
21057      331,   332,    -1,   334,   335,   336,   337,   338,   339,   340,
21058      341,   342,   343,   344,   345,   346,   347,   348,    -1,   350,
21059      351,   352,   353,   354,    -1,   356,   357,   358,   359,   360,
21060       -1,   362,   363,   364,   365,    -1,   367,   368,   369,   370,
21061      371,   372,   373,   374,   375,   376,   377,   378,   379,    -1,
21062      381,   382,    -1,   384,    -1,   386,   387,   388,   389,   390,
21063       -1,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
21064      401,    -1,   403,   404,   405,   406,   407,   408,   409,    -1,
21065       -1,   412,   413,   414,   415,   416,    -1,    -1,   419,   420,
21066      421,   422,   423,   424,   425,    -1,   427,    -1,   429,   430,
21067      431,   432,    -1,    -1,   435,    -1,    -1,   438,   439,   440,
21068      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
21069      451,   452,   453,   454,   455,   456,   457,     3,    -1,    -1,
21070       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21071       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
21072       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
21073       -1,    37,    38,    -1,    40,    41,    42,    -1,    44,    45,
21074       46,    47,    48,    -1,    50,    51,    -1,    53,    54,    55,
21075       56,    57,    58,    -1,    -1,    61,    62,    63,    64,    65,
21076       -1,    67,    68,    69,    70,    71,    -1,    -1,    -1,    75,
21077       76,    77,    78,    79,    -1,    81,    82,    83,    -1,    85,
21078       86,    87,    88,    89,    90,    -1,    -1,    93,    94,    95,
21079       -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,   104,   105,
21080      106,   107,   108,   109,   110,   111,    -1,   113,    -1,   115,
21081      116,   117,   118,   119,   120,    -1,   122,   123,   124,   125,
21082       -1,    -1,   128,   129,   130,   131,   132,    -1,   134,   135,
21083      136,    -1,   138,   139,   140,    -1,   142,   143,   144,   145,
21084      146,   147,   148,   149,   150,    -1,   152,    -1,   154,   155,
21085      156,   157,    -1,   159,    -1,   161,    -1,    -1,    -1,   165,
21086      166,   167,   168,    -1,   170,   171,    -1,   173,   174,   175,
21087       -1,   177,   178,   179,   180,   181,    -1,   183,   184,   185,
21088      186,    -1,   188,   189,   190,   191,   192,   193,   194,    -1,
21089      196,    -1,   198,   199,   200,   201,   202,   203,   204,    -1,
21090      206,    -1,   208,    -1,    -1,   211,    -1,   213,   214,   215,
21091      216,   217,    -1,    -1,   220,   221,    -1,   223,    -1,    -1,
21092      226,   227,   228,    -1,    -1,   231,   232,   233,   234,   235,
21093      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
21094      246,   247,    -1,   249,   250,   251,   252,   253,    -1,   255,
21095      256,    -1,   258,    -1,   260,   261,   262,   263,   264,   265,
21096       -1,   267,   268,    -1,    -1,   271,   272,   273,    -1,    -1,
21097      276,   277,   278,    -1,   280,    -1,   282,   283,   284,   285,
21098      286,   287,   288,   289,   290,   291,    -1,   293,   294,   295,
21099      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
21100      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
21101      316,    -1,   318,   319,   320,   321,   322,   323,   324,   325,
21102      326,   327,   328,   329,    -1,   331,   332,    -1,   334,   335,
21103      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
21104      346,   347,   348,    -1,   350,   351,   352,   353,   354,    -1,
21105      356,   357,   358,   359,   360,    -1,   362,   363,   364,   365,
21106       -1,   367,   368,   369,   370,   371,   372,   373,   374,   375,
21107      376,   377,   378,   379,    -1,   381,   382,    -1,   384,    -1,
21108      386,   387,   388,   389,   390,    -1,   392,   393,   394,    -1,
21109       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
21110      406,   407,   408,   409,    -1,    -1,   412,   413,   414,   415,
21111      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
21112       -1,   427,    -1,   429,   430,   431,   432,    -1,    -1,   435,
21113       -1,    -1,   438,   439,   440,   441,   442,   443,   444,   445,
21114      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
21115      456,   457,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21116       -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
21117       21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
21118       -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
21119       41,    42,    -1,    44,    45,    46,    47,    48,    -1,    50,
21120       51,    -1,    53,    54,    55,    56,    57,    58,    -1,    -1,
21121       61,    62,    63,    64,    65,    -1,    67,    68,    69,    70,
21122       71,    -1,    -1,    -1,    75,    76,    77,    78,    79,    -1,
21123       81,    82,    83,    -1,    85,    86,    87,    88,    89,    90,
21124       -1,    -1,    93,    94,    95,    -1,    -1,    -1,    -1,    -1,
21125       -1,    -1,   103,   104,   105,   106,   107,   108,   109,   110,
21126      111,    -1,   113,    -1,   115,   116,   117,   118,   119,   120,
21127       -1,   122,   123,   124,   125,    -1,    -1,   128,   129,   130,
21128      131,   132,    -1,   134,   135,   136,    -1,   138,   139,   140,
21129       -1,   142,   143,   144,   145,   146,   147,   148,   149,   150,
21130       -1,   152,    -1,   154,   155,   156,   157,    -1,   159,    -1,
21131      161,    -1,    -1,    -1,   165,   166,   167,   168,    -1,   170,
21132      171,    -1,   173,   174,   175,    -1,   177,   178,   179,   180,
21133      181,    -1,   183,   184,   185,   186,    -1,   188,   189,   190,
21134      191,   192,   193,   194,    -1,   196,    -1,   198,   199,   200,
21135      201,   202,   203,   204,    -1,   206,    -1,   208,    -1,    -1,
21136      211,    -1,   213,   214,   215,   216,   217,    -1,    -1,   220,
21137      221,    -1,   223,    -1,    -1,   226,   227,   228,    -1,    -1,
21138      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
21139      241,   242,   243,   244,   245,   246,   247,    -1,   249,   250,
21140      251,   252,   253,    -1,   255,   256,    -1,   258,    -1,   260,
21141      261,   262,   263,   264,   265,    -1,   267,   268,    -1,    -1,
21142      271,   272,   273,    -1,    -1,   276,   277,   278,    -1,   280,
21143       -1,   282,   283,   284,   285,   286,   287,   288,   289,   290,
21144      291,    -1,   293,   294,   295,   296,   297,   298,   299,   300,
21145       -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
21146      311,   312,   313,   314,   315,   316,    -1,   318,   319,   320,
21147      321,   322,   323,   324,   325,   326,   327,   328,   329,    -1,
21148      331,   332,    -1,   334,   335,   336,   337,   338,   339,   340,
21149      341,   342,   343,   344,   345,   346,   347,   348,    -1,   350,
21150      351,   352,   353,   354,    -1,   356,   357,   358,   359,   360,
21151       -1,   362,   363,   364,   365,    -1,   367,   368,   369,   370,
21152      371,   372,   373,   374,   375,   376,   377,   378,   379,    -1,
21153      381,   382,    -1,   384,    -1,   386,   387,   388,   389,   390,
21154       -1,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
21155      401,    -1,   403,   404,   405,   406,   407,   408,   409,    -1,
21156       -1,   412,   413,   414,   415,   416,    -1,    -1,   419,   420,
21157      421,   422,   423,   424,   425,    -1,   427,    -1,   429,   430,
21158      431,   432,    -1,    -1,   435,    -1,    -1,   438,   439,   440,
21159      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
21160      451,   452,   453,   454,   455,   456,   457,     3,    -1,    -1,
21161       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21162       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
21163       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
21164       -1,    37,    38,    -1,    40,    41,    42,    -1,    44,    45,
21165       46,    47,    48,    -1,    50,    51,    -1,    53,    54,    55,
21166       56,    57,    58,    -1,    -1,    61,    62,    63,    64,    65,
21167       -1,    67,    68,    69,    70,    71,    -1,    -1,    -1,    75,
21168       76,    77,    78,    79,    -1,    81,    82,    83,    -1,    85,
21169       86,    87,    88,    89,    90,    -1,    -1,    93,    94,    95,
21170       -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,   104,   105,
21171      106,   107,   108,   109,   110,   111,    -1,   113,    -1,   115,
21172      116,   117,   118,   119,   120,    -1,   122,   123,   124,   125,
21173       -1,    -1,   128,   129,   130,   131,   132,    -1,   134,   135,
21174      136,    -1,   138,   139,   140,    -1,   142,   143,   144,   145,
21175      146,   147,   148,   149,   150,    -1,   152,    -1,   154,   155,
21176      156,   157,    -1,   159,    -1,   161,    -1,    -1,    -1,   165,
21177      166,   167,   168,    -1,   170,   171,    -1,   173,   174,   175,
21178       -1,   177,   178,   179,   180,   181,    -1,   183,   184,   185,
21179      186,    -1,   188,   189,   190,   191,   192,   193,   194,    -1,
21180      196,    -1,   198,   199,   200,   201,   202,   203,   204,    -1,
21181      206,    -1,   208,    -1,    -1,   211,    -1,   213,   214,   215,
21182      216,   217,    -1,    -1,   220,   221,    -1,   223,    -1,    -1,
21183      226,   227,   228,    -1,    -1,   231,   232,   233,   234,   235,
21184      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
21185      246,   247,    -1,   249,   250,   251,   252,   253,    -1,   255,
21186      256,    -1,   258,    -1,   260,   261,   262,   263,   264,   265,
21187       -1,   267,   268,    -1,    -1,   271,   272,   273,    -1,    -1,
21188      276,   277,   278,    -1,   280,    -1,   282,   283,   284,   285,
21189      286,   287,   288,   289,   290,   291,    -1,   293,   294,   295,
21190      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
21191      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
21192      316,    -1,   318,   319,   320,   321,   322,   323,   324,   325,
21193      326,   327,   328,   329,    -1,   331,   332,    -1,   334,   335,
21194      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
21195      346,   347,   348,    -1,   350,   351,   352,   353,   354,    -1,
21196      356,   357,   358,   359,   360,    -1,   362,   363,   364,   365,
21197       -1,   367,   368,   369,   370,   371,   372,   373,   374,   375,
21198      376,   377,   378,   379,    -1,   381,   382,    -1,   384,    -1,
21199      386,   387,   388,   389,   390,    -1,   392,   393,   394,    -1,
21200       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
21201      406,   407,   408,   409,    -1,    -1,   412,   413,   414,   415,
21202      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
21203       -1,   427,    -1,   429,   430,   431,   432,    -1,    -1,   435,
21204       -1,    -1,   438,   439,   440,   441,   442,   443,   444,   445,
21205      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
21206      456,   457,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21207       -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
21208       21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
21209       -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
21210       41,    42,    -1,    44,    45,    46,    47,    48,    -1,    50,
21211       51,    -1,    53,    54,    55,    56,    57,    58,    -1,    -1,
21212       61,    62,    63,    64,    65,    -1,    67,    68,    69,    70,
21213       71,    -1,    -1,    -1,    75,    76,    77,    78,    79,    -1,
21214       81,    82,    83,    -1,    85,    86,    87,    88,    89,    90,
21215       -1,    -1,    93,    94,    95,    -1,    -1,    -1,    -1,    -1,
21216       -1,    -1,   103,   104,   105,   106,   107,   108,   109,   110,
21217      111,    -1,   113,    -1,   115,   116,   117,   118,   119,   120,
21218       -1,   122,   123,   124,   125,    -1,    -1,   128,   129,   130,
21219      131,   132,    -1,   134,   135,   136,    -1,   138,   139,   140,
21220       -1,   142,   143,   144,   145,   146,   147,   148,   149,   150,
21221       -1,   152,    -1,   154,   155,   156,   157,    -1,   159,    -1,
21222      161,    -1,    -1,    -1,   165,   166,   167,   168,    -1,   170,
21223      171,    -1,   173,   174,   175,    -1,   177,   178,   179,   180,
21224      181,    -1,   183,   184,   185,   186,    -1,   188,   189,   190,
21225      191,   192,   193,   194,    -1,   196,    -1,   198,   199,   200,
21226      201,   202,   203,   204,    -1,   206,    -1,   208,    -1,    -1,
21227      211,    -1,   213,   214,   215,   216,   217,    -1,    -1,   220,
21228      221,    -1,   223,    -1,    -1,   226,   227,   228,    -1,    -1,
21229      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
21230      241,   242,   243,   244,   245,   246,   247,    -1,   249,   250,
21231      251,   252,   253,    -1,   255,   256,    -1,   258,    -1,   260,
21232      261,   262,   263,   264,   265,    -1,   267,   268,    -1,    -1,
21233      271,   272,   273,    -1,    -1,   276,   277,   278,    -1,   280,
21234       -1,   282,   283,   284,   285,   286,   287,   288,   289,   290,
21235      291,    -1,   293,   294,   295,   296,   297,   298,   299,   300,
21236       -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
21237      311,   312,   313,   314,   315,   316,    -1,   318,   319,   320,
21238      321,   322,   323,   324,   325,   326,   327,   328,   329,    -1,
21239      331,   332,    -1,   334,   335,   336,   337,   338,   339,   340,
21240      341,   342,   343,   344,   345,   346,   347,   348,    -1,   350,
21241      351,   352,   353,   354,    -1,   356,   357,   358,   359,   360,
21242       -1,   362,   363,   364,   365,    -1,   367,   368,   369,   370,
21243      371,   372,   373,   374,   375,   376,   377,   378,   379,    -1,
21244      381,   382,    -1,   384,    -1,   386,   387,   388,   389,   390,
21245       -1,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
21246      401,    -1,   403,   404,   405,   406,   407,   408,   409,    -1,
21247       -1,   412,   413,   414,   415,   416,    -1,    -1,   419,   420,
21248      421,   422,   423,   424,   425,    -1,   427,    -1,   429,   430,
21249      431,   432,    -1,    -1,   435,    -1,    -1,   438,   439,   440,
21250      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
21251      451,   452,   453,   454,   455,   456,   457,     3,    -1,    -1,
21252       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21253       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
21254       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
21255       -1,    37,    38,    -1,    40,    41,    42,    -1,    44,    45,
21256       46,    47,    48,    -1,    50,    51,    -1,    53,    54,    55,
21257       56,    57,    58,    -1,    -1,    61,    62,    63,    64,    65,
21258       -1,    67,    68,    69,    70,    71,    -1,    -1,    -1,    75,
21259       76,    77,    78,    79,    -1,    81,    82,    83,    -1,    85,
21260       86,    87,    88,    89,    90,    -1,    -1,    93,    94,    95,
21261       -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,   104,   105,
21262      106,   107,   108,   109,   110,   111,    -1,   113,    -1,   115,
21263      116,   117,   118,   119,   120,    -1,   122,   123,   124,   125,
21264       -1,    -1,   128,   129,   130,   131,   132,    -1,   134,   135,
21265      136,    -1,   138,   139,   140,    -1,   142,   143,   144,   145,
21266      146,   147,   148,   149,   150,    -1,   152,    -1,   154,   155,
21267      156,   157,    -1,   159,    -1,   161,    -1,    -1,    -1,   165,
21268      166,   167,   168,    -1,   170,   171,    -1,   173,   174,   175,
21269       -1,   177,   178,   179,   180,   181,    -1,   183,   184,   185,
21270      186,    -1,   188,   189,   190,   191,   192,   193,   194,    -1,
21271      196,    -1,   198,   199,   200,   201,   202,   203,   204,    -1,
21272      206,    -1,   208,    -1,    -1,   211,    -1,   213,   214,   215,
21273      216,   217,    -1,    -1,   220,   221,    -1,   223,    -1,    -1,
21274      226,   227,   228,    -1,    -1,   231,   232,   233,   234,   235,
21275      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
21276      246,   247,    -1,   249,   250,   251,   252,   253,    -1,   255,
21277      256,    -1,   258,    -1,   260,   261,   262,   263,   264,   265,
21278       -1,   267,   268,    -1,    -1,   271,   272,   273,    -1,    -1,
21279      276,   277,   278,    -1,   280,    -1,   282,   283,   284,   285,
21280      286,   287,   288,   289,   290,   291,    -1,   293,   294,   295,
21281      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
21282      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
21283      316,    -1,   318,   319,   320,   321,   322,   323,   324,   325,
21284      326,   327,   328,   329,    -1,   331,   332,    -1,   334,   335,
21285      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
21286      346,   347,   348,    -1,   350,   351,   352,   353,   354,    -1,
21287      356,   357,   358,   359,   360,    -1,   362,   363,   364,   365,
21288       -1,   367,   368,   369,   370,   371,   372,   373,   374,   375,
21289      376,   377,   378,   379,    -1,   381,   382,    -1,   384,    -1,
21290      386,   387,   388,   389,   390,    -1,   392,   393,   394,    -1,
21291       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
21292      406,   407,   408,   409,    -1,    -1,   412,   413,   414,   415,
21293      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
21294       -1,   427,    -1,   429,   430,   431,   432,    -1,    -1,   435,
21295       -1,    -1,   438,   439,   440,   441,   442,   443,   444,   445,
21296      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
21297      456,   457,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21298       -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
21299       21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
21300       -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
21301       41,    42,    -1,    44,    45,    46,    47,    48,    -1,    50,
21302       51,    -1,    53,    54,    55,    56,    57,    58,    -1,    -1,
21303       61,    62,    63,    64,    65,    -1,    67,    68,    69,    70,
21304       71,    -1,    -1,    -1,    75,    76,    77,    78,    79,    -1,
21305       81,    82,    83,    -1,    85,    86,    87,    88,    89,    90,
21306       -1,    -1,    93,    94,    95,    -1,    -1,    -1,    -1,    -1,
21307       -1,    -1,   103,   104,   105,   106,   107,   108,   109,   110,
21308      111,    -1,   113,    -1,   115,   116,   117,   118,   119,   120,
21309       -1,   122,   123,   124,   125,    -1,    -1,   128,   129,   130,
21310      131,   132,    -1,   134,   135,   136,    -1,   138,   139,   140,
21311       -1,   142,   143,   144,   145,   146,   147,   148,   149,   150,
21312       -1,   152,    -1,   154,   155,   156,   157,    -1,   159,    -1,
21313      161,    -1,    -1,    -1,   165,   166,   167,   168,    -1,   170,
21314      171,    -1,   173,   174,   175,    -1,   177,   178,   179,   180,
21315      181,    -1,   183,   184,   185,   186,    -1,   188,   189,   190,
21316      191,   192,   193,   194,    -1,   196,    -1,   198,   199,   200,
21317      201,   202,   203,   204,    -1,   206,    -1,   208,    -1,    -1,
21318      211,    -1,   213,   214,   215,   216,   217,    -1,    -1,   220,
21319      221,    -1,   223,    -1,    -1,   226,   227,   228,    -1,    -1,
21320      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
21321      241,   242,   243,   244,   245,   246,   247,    -1,   249,   250,
21322      251,   252,   253,    -1,   255,   256,    -1,   258,    -1,   260,
21323      261,   262,   263,   264,   265,    -1,   267,   268,    -1,    -1,
21324      271,   272,   273,    -1,    -1,   276,   277,   278,    -1,   280,
21325       -1,   282,   283,   284,   285,   286,   287,   288,   289,   290,
21326      291,    -1,   293,   294,   295,   296,   297,   298,   299,   300,
21327       -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
21328      311,   312,   313,   314,   315,   316,    -1,   318,   319,   320,
21329      321,   322,   323,   324,   325,   326,   327,   328,   329,    -1,
21330      331,   332,    -1,   334,   335,   336,   337,   338,   339,   340,
21331      341,   342,   343,   344,   345,   346,   347,   348,    -1,   350,
21332      351,   352,   353,   354,    -1,   356,   357,   358,   359,   360,
21333       -1,   362,   363,   364,   365,    -1,   367,   368,   369,   370,
21334      371,   372,   373,   374,   375,   376,   377,   378,   379,    -1,
21335      381,   382,    -1,   384,    -1,   386,   387,   388,   389,   390,
21336       -1,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
21337      401,    -1,   403,   404,   405,   406,   407,   408,   409,    -1,
21338       -1,   412,   413,   414,   415,   416,    -1,    -1,   419,   420,
21339      421,   422,   423,   424,   425,    -1,   427,    -1,   429,   430,
21340      431,   432,    -1,    -1,   435,    -1,    -1,   438,   439,   440,
21341      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
21342      451,   452,   453,   454,   455,   456,   457,     3,    -1,    -1,
21343       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21344       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
21345       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
21346       -1,    37,    38,    -1,    40,    41,    42,    -1,    44,    45,
21347       46,    47,    48,    -1,    50,    51,    -1,    53,    54,    55,
21348       56,    57,    58,    -1,    -1,    61,    62,    63,    64,    65,
21349       -1,    67,    68,    69,    70,    71,    -1,    -1,    -1,    75,
21350       76,    77,    78,    79,    -1,    81,    82,    83,    -1,    85,
21351       86,    87,    88,    89,    90,    -1,    -1,    93,    94,    95,
21352       -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,   104,   105,
21353      106,   107,   108,   109,   110,   111,    -1,   113,    -1,   115,
21354      116,   117,   118,   119,   120,    -1,   122,   123,   124,   125,
21355       -1,    -1,   128,   129,   130,   131,   132,    -1,   134,   135,
21356      136,    -1,   138,   139,   140,    -1,   142,   143,   144,   145,
21357      146,   147,   148,   149,   150,    -1,   152,    -1,   154,   155,
21358      156,   157,    -1,   159,    -1,   161,    -1,    -1,    -1,   165,
21359      166,   167,   168,    -1,   170,   171,    -1,   173,   174,   175,
21360       -1,   177,   178,   179,   180,   181,    -1,   183,   184,   185,
21361      186,    -1,   188,   189,   190,   191,   192,   193,   194,    -1,
21362      196,    -1,   198,   199,   200,   201,   202,   203,   204,    -1,
21363      206,    -1,   208,    -1,    -1,   211,    -1,   213,   214,   215,
21364      216,   217,    -1,    -1,   220,   221,    -1,   223,    -1,    -1,
21365      226,   227,   228,    -1,    -1,   231,   232,   233,   234,   235,
21366      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
21367      246,   247,    -1,   249,   250,   251,   252,   253,    -1,   255,
21368      256,    -1,   258,    -1,   260,   261,   262,   263,   264,   265,
21369       -1,   267,   268,    -1,    -1,   271,   272,   273,    -1,    -1,
21370      276,   277,   278,    -1,   280,    -1,   282,   283,   284,   285,
21371      286,   287,   288,   289,   290,   291,    -1,   293,   294,   295,
21372      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
21373      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
21374      316,    -1,   318,   319,   320,   321,   322,   323,   324,   325,
21375      326,   327,   328,   329,    -1,   331,   332,    -1,   334,   335,
21376      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
21377      346,   347,   348,    -1,   350,   351,   352,   353,   354,    -1,
21378      356,   357,   358,   359,   360,    -1,   362,   363,   364,   365,
21379       -1,   367,   368,   369,   370,   371,   372,   373,   374,   375,
21380      376,   377,   378,   379,    -1,   381,   382,    -1,   384,    -1,
21381      386,   387,   388,   389,   390,    -1,   392,   393,   394,    -1,
21382       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
21383      406,   407,   408,   409,    -1,    -1,   412,   413,   414,   415,
21384      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
21385       -1,   427,    -1,   429,   430,   431,   432,    -1,    -1,   435,
21386       -1,    -1,   438,   439,   440,   441,   442,   443,   444,   445,
21387      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
21388      456,   457,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21389       -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
21390       21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
21391       -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
21392       41,    42,    -1,    44,    45,    46,    47,    48,    -1,    50,
21393       51,    -1,    53,    54,    55,    56,    57,    58,    -1,    -1,
21394       61,    62,    63,    64,    65,    -1,    67,    68,    69,    70,
21395       71,    -1,    -1,    -1,    75,    76,    77,    78,    79,    -1,
21396       81,    82,    83,    -1,    85,    86,    87,    88,    89,    90,
21397       -1,    -1,    93,    94,    95,    -1,    -1,    -1,    -1,    -1,
21398       -1,    -1,   103,   104,   105,   106,   107,   108,   109,   110,
21399      111,    -1,   113,    -1,   115,   116,   117,   118,   119,   120,
21400       -1,   122,   123,   124,   125,    -1,    -1,   128,   129,   130,
21401      131,   132,    -1,   134,   135,   136,    -1,   138,   139,   140,
21402       -1,   142,   143,   144,   145,   146,   147,   148,   149,   150,
21403       -1,   152,    -1,   154,   155,   156,   157,    -1,   159,    -1,
21404      161,    -1,    -1,    -1,   165,   166,   167,   168,    -1,   170,
21405      171,    -1,   173,   174,   175,    -1,   177,   178,   179,   180,
21406      181,    -1,   183,   184,   185,   186,    -1,   188,   189,   190,
21407      191,   192,   193,   194,    -1,   196,    -1,   198,   199,   200,
21408      201,   202,   203,   204,    -1,   206,    -1,   208,    -1,    -1,
21409      211,    -1,   213,   214,   215,   216,   217,    -1,    -1,   220,
21410      221,    -1,   223,    -1,    -1,   226,   227,   228,    -1,    -1,
21411      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
21412      241,   242,   243,   244,   245,   246,   247,    -1,   249,   250,
21413      251,   252,   253,    -1,   255,   256,    -1,   258,    -1,   260,
21414      261,   262,   263,   264,   265,    -1,   267,   268,    -1,    -1,
21415      271,   272,   273,    -1,    -1,   276,   277,   278,    -1,   280,
21416       -1,   282,   283,   284,   285,   286,   287,   288,   289,   290,
21417      291,    -1,   293,   294,   295,   296,   297,   298,   299,   300,
21418       -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
21419      311,   312,   313,   314,   315,   316,    -1,   318,   319,   320,
21420      321,   322,   323,   324,   325,   326,   327,   328,   329,    -1,
21421      331,   332,    -1,   334,   335,   336,   337,   338,   339,   340,
21422      341,   342,   343,   344,   345,   346,   347,   348,    -1,   350,
21423      351,   352,   353,   354,    -1,   356,   357,   358,   359,   360,
21424       -1,   362,   363,   364,   365,    -1,   367,   368,   369,   370,
21425      371,   372,   373,   374,   375,   376,   377,   378,   379,    -1,
21426      381,   382,    -1,   384,    -1,   386,   387,   388,   389,   390,
21427       -1,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
21428      401,    -1,   403,   404,   405,   406,   407,   408,   409,    -1,
21429       -1,   412,   413,   414,   415,   416,    -1,    -1,   419,   420,
21430      421,   422,   423,   424,   425,    -1,   427,    -1,   429,   430,
21431      431,   432,    -1,    -1,   435,    -1,    -1,   438,   439,   440,
21432      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
21433      451,   452,   453,   454,   455,   456,   457,     3,    -1,    -1,
21434       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21435       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
21436       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
21437       -1,    37,    38,    -1,    40,    41,    42,    -1,    44,    45,
21438       46,    47,    48,    -1,    50,    51,    -1,    53,    54,    55,
21439       56,    57,    58,    -1,    -1,    61,    62,    63,    64,    65,
21440       -1,    67,    68,    69,    70,    71,    -1,    -1,    -1,    75,
21441       76,    77,    78,    79,    -1,    81,    82,    83,    -1,    85,
21442       86,    87,    88,    89,    90,    -1,    -1,    93,    94,    95,
21443       -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,   104,   105,
21444      106,   107,   108,   109,   110,   111,    -1,   113,    -1,   115,
21445      116,   117,   118,   119,   120,    -1,   122,   123,   124,   125,
21446       -1,    -1,   128,   129,   130,   131,   132,    -1,   134,   135,
21447      136,    -1,   138,   139,   140,    -1,   142,   143,   144,   145,
21448      146,   147,   148,   149,   150,    -1,   152,    -1,   154,   155,
21449      156,   157,    -1,   159,    -1,   161,    -1,    -1,    -1,   165,
21450      166,   167,   168,    -1,   170,   171,    -1,   173,   174,   175,
21451       -1,   177,   178,   179,   180,   181,    -1,   183,   184,   185,
21452      186,    -1,   188,   189,   190,   191,   192,   193,   194,    -1,
21453      196,    -1,   198,   199,   200,   201,   202,   203,   204,    -1,
21454      206,    -1,   208,    -1,    -1,   211,    -1,   213,   214,   215,
21455      216,   217,    -1,    -1,   220,   221,    -1,   223,    -1,    -1,
21456      226,   227,   228,    -1,    -1,   231,   232,   233,   234,   235,
21457      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
21458      246,   247,    -1,   249,   250,   251,   252,   253,    -1,   255,
21459      256,    -1,   258,    -1,   260,   261,   262,   263,   264,   265,
21460       -1,   267,   268,    -1,    -1,   271,   272,   273,    -1,    -1,
21461      276,   277,   278,    -1,   280,    -1,   282,   283,   284,   285,
21462      286,   287,   288,   289,   290,   291,    -1,   293,   294,   295,
21463      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
21464      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
21465      316,    -1,   318,   319,   320,   321,   322,   323,   324,   325,
21466      326,   327,   328,   329,    -1,   331,   332,    -1,   334,   335,
21467      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
21468      346,   347,   348,    -1,   350,   351,   352,   353,   354,    -1,
21469      356,   357,   358,   359,   360,    -1,   362,   363,   364,   365,
21470       -1,   367,   368,   369,   370,   371,   372,   373,   374,   375,
21471      376,   377,   378,   379,    -1,   381,   382,    -1,   384,    -1,
21472      386,   387,   388,   389,   390,    -1,   392,   393,   394,    -1,
21473       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
21474      406,   407,   408,   409,    -1,    -1,   412,   413,   414,   415,
21475      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
21476       -1,   427,    -1,   429,   430,   431,   432,    -1,    -1,   435,
21477       -1,    -1,   438,   439,   440,   441,   442,   443,   444,   445,
21478      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
21479      456,   457,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21480       -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
21481       21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
21482       -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
21483       41,    42,    -1,    44,    45,    46,    47,    48,    -1,    50,
21484       51,    -1,    53,    54,    55,    56,    57,    58,    -1,    -1,
21485       61,    62,    63,    64,    65,    -1,    67,    68,    69,    70,
21486       71,    -1,    -1,    -1,    75,    76,    77,    78,    79,    -1,
21487       81,    82,    83,    -1,    85,    86,    87,    88,    89,    90,
21488       -1,    -1,    93,    94,    95,    -1,    -1,    -1,    -1,    -1,
21489       -1,    -1,   103,   104,   105,   106,   107,   108,   109,   110,
21490      111,    -1,   113,    -1,   115,   116,   117,   118,   119,   120,
21491       -1,   122,   123,   124,   125,    -1,    -1,   128,   129,   130,
21492      131,   132,    -1,   134,   135,   136,    -1,   138,   139,   140,
21493       -1,   142,   143,   144,   145,   146,   147,   148,   149,   150,
21494       -1,   152,    -1,   154,   155,   156,   157,    -1,   159,    -1,
21495      161,    -1,    -1,    -1,   165,   166,   167,   168,    -1,   170,
21496      171,    -1,   173,   174,   175,    -1,   177,   178,   179,   180,
21497      181,    -1,   183,   184,   185,   186,    -1,   188,   189,   190,
21498      191,   192,   193,   194,    -1,   196,    -1,   198,   199,   200,
21499      201,   202,   203,   204,    -1,   206,    -1,   208,    -1,    -1,
21500      211,    -1,   213,   214,   215,   216,   217,    -1,    -1,   220,
21501      221,    -1,   223,    -1,    -1,   226,   227,   228,    -1,    -1,
21502      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
21503      241,   242,   243,   244,   245,   246,   247,    -1,   249,   250,
21504      251,   252,   253,    -1,   255,   256,    -1,   258,    -1,   260,
21505      261,   262,   263,   264,   265,    -1,   267,   268,    -1,    -1,
21506      271,   272,   273,    -1,    -1,   276,   277,   278,    -1,   280,
21507       -1,   282,   283,   284,   285,   286,   287,   288,   289,   290,
21508      291,    -1,   293,   294,   295,   296,   297,   298,   299,   300,
21509       -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
21510      311,   312,   313,   314,   315,   316,    -1,   318,   319,   320,
21511      321,   322,   323,   324,   325,   326,   327,   328,   329,    -1,
21512      331,   332,    -1,   334,   335,   336,   337,   338,   339,   340,
21513      341,   342,   343,   344,   345,   346,   347,   348,    -1,   350,
21514      351,   352,   353,   354,    -1,   356,   357,   358,   359,   360,
21515       -1,   362,   363,   364,   365,    -1,   367,   368,   369,   370,
21516      371,   372,   373,   374,   375,   376,   377,   378,   379,    -1,
21517      381,   382,    -1,   384,    -1,   386,   387,   388,   389,   390,
21518       -1,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
21519      401,    -1,   403,   404,   405,   406,   407,   408,   409,    -1,
21520       -1,   412,   413,   414,   415,   416,    -1,    -1,   419,   420,
21521      421,   422,   423,   424,   425,    -1,   427,    -1,   429,   430,
21522      431,   432,    -1,    -1,   435,    -1,    -1,   438,   439,   440,
21523      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
21524      451,   452,   453,   454,   455,   456,   457,     3,    -1,    -1,
21525       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21526       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
21527       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
21528       -1,    37,    38,    -1,    40,    41,    42,    -1,    44,    45,
21529       46,    47,    48,    -1,    50,    51,    -1,    53,    54,    55,
21530       56,    57,    58,    -1,    -1,    61,    62,    63,    64,    65,
21531       -1,    67,    68,    69,    70,    71,    -1,    -1,    -1,    75,
21532       76,    77,    78,    79,    -1,    81,    82,    83,    -1,    85,
21533       86,    87,    88,    89,    90,    -1,    -1,    93,    94,    95,
21534       -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,   104,   105,
21535      106,   107,   108,   109,   110,   111,    -1,   113,    -1,   115,
21536      116,   117,   118,   119,   120,    -1,   122,   123,   124,   125,
21537       -1,    -1,   128,   129,   130,   131,   132,    -1,   134,   135,
21538      136,    -1,   138,   139,   140,    -1,   142,   143,   144,   145,
21539      146,   147,   148,   149,   150,    -1,   152,    -1,   154,   155,
21540      156,   157,    -1,   159,    -1,   161,    -1,    -1,    -1,   165,
21541      166,   167,   168,    -1,   170,   171,    -1,   173,   174,   175,
21542       -1,   177,   178,   179,   180,   181,    -1,   183,   184,   185,
21543      186,    -1,   188,   189,   190,   191,   192,   193,   194,    -1,
21544      196,    -1,   198,   199,   200,   201,   202,   203,   204,    -1,
21545      206,    -1,   208,    -1,    -1,   211,    -1,   213,   214,   215,
21546      216,   217,    -1,    -1,   220,   221,    -1,   223,    -1,    -1,
21547      226,   227,   228,    -1,    -1,   231,   232,   233,   234,   235,
21548      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
21549      246,   247,    -1,   249,   250,   251,   252,   253,    -1,   255,
21550      256,    -1,   258,    -1,   260,   261,   262,   263,   264,   265,
21551       -1,   267,   268,    -1,    -1,   271,   272,   273,    -1,    -1,
21552      276,   277,   278,    -1,   280,    -1,   282,   283,   284,   285,
21553      286,   287,   288,   289,   290,   291,    -1,   293,   294,   295,
21554      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
21555      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
21556      316,    -1,   318,   319,   320,   321,   322,   323,   324,   325,
21557      326,   327,   328,   329,    -1,   331,   332,    -1,   334,   335,
21558      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
21559      346,   347,   348,    -1,   350,   351,   352,   353,   354,    -1,
21560      356,   357,   358,   359,   360,    -1,   362,   363,   364,   365,
21561       -1,   367,   368,   369,   370,   371,   372,   373,   374,   375,
21562      376,   377,   378,   379,    -1,   381,   382,    -1,   384,    -1,
21563      386,   387,   388,   389,   390,    -1,   392,   393,   394,    -1,
21564       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
21565      406,   407,   408,   409,    -1,    -1,   412,   413,   414,   415,
21566      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
21567       -1,   427,    -1,   429,   430,   431,   432,    -1,    -1,   435,
21568       -1,    -1,   438,   439,   440,   441,   442,   443,   444,   445,
21569      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
21570      456,   457,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21571       -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
21572       21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
21573       -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
21574       41,    42,    -1,    44,    45,    46,    47,    48,    -1,    50,
21575       51,    -1,    53,    54,    55,    56,    57,    58,    -1,    -1,
21576       61,    62,    63,    64,    65,    -1,    67,    68,    69,    70,
21577       71,    -1,    -1,    -1,    75,    76,    77,    78,    79,    -1,
21578       81,    82,    83,    -1,    85,    86,    87,    88,    89,    90,
21579       -1,    -1,    93,    94,    95,    -1,    -1,    -1,    -1,    -1,
21580       -1,    -1,   103,   104,   105,   106,   107,   108,   109,   110,
21581      111,    -1,   113,    -1,   115,   116,   117,   118,   119,   120,
21582       -1,   122,   123,   124,   125,    -1,    -1,   128,   129,   130,
21583      131,   132,    -1,   134,   135,   136,    -1,   138,   139,   140,
21584       -1,   142,   143,   144,   145,   146,   147,   148,   149,   150,
21585       -1,   152,    -1,   154,   155,   156,   157,    -1,   159,    -1,
21586      161,    -1,    -1,    -1,   165,   166,   167,   168,    -1,   170,
21587      171,    -1,   173,   174,   175,    -1,   177,   178,   179,   180,
21588      181,    -1,   183,   184,   185,   186,    -1,   188,   189,   190,
21589      191,   192,   193,   194,    -1,   196,    -1,   198,   199,   200,
21590      201,   202,   203,   204,    -1,   206,    -1,   208,    -1,    -1,
21591      211,    -1,   213,   214,   215,   216,   217,    -1,    -1,   220,
21592      221,    -1,   223,    -1,    -1,   226,   227,   228,    -1,    -1,
21593      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
21594      241,   242,   243,   244,   245,   246,   247,    -1,   249,   250,
21595      251,   252,   253,    -1,   255,   256,    -1,   258,    -1,   260,
21596      261,   262,   263,   264,   265,    -1,   267,   268,    -1,    -1,
21597      271,   272,   273,    -1,    -1,   276,   277,   278,    -1,   280,
21598       -1,   282,   283,   284,   285,   286,   287,   288,   289,   290,
21599      291,    -1,   293,   294,   295,   296,   297,   298,   299,   300,
21600       -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
21601      311,   312,   313,   314,   315,   316,    -1,   318,   319,   320,
21602      321,   322,   323,   324,   325,   326,   327,   328,   329,    -1,
21603      331,   332,    -1,   334,   335,   336,   337,   338,   339,   340,
21604      341,   342,   343,   344,   345,   346,   347,   348,    -1,   350,
21605      351,   352,   353,   354,    -1,   356,   357,   358,   359,   360,
21606       -1,   362,   363,   364,   365,    -1,   367,   368,   369,   370,
21607      371,   372,   373,   374,   375,   376,   377,   378,   379,    -1,
21608      381,   382,    -1,   384,    -1,   386,   387,   388,   389,   390,
21609       -1,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
21610      401,    -1,   403,   404,   405,   406,   407,   408,   409,    -1,
21611       -1,   412,   413,   414,   415,   416,    -1,    -1,   419,   420,
21612      421,   422,   423,   424,   425,    -1,   427,    -1,   429,   430,
21613      431,   432,    -1,    -1,   435,    -1,    -1,   438,   439,   440,
21614      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
21615      451,   452,   453,   454,   455,   456,   457,     3,    -1,    -1,
21616       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21617       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
21618       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
21619       -1,    37,    38,    -1,    40,    41,    42,    -1,    44,    45,
21620       46,    47,    48,    -1,    50,    51,    -1,    53,    54,    55,
21621       56,    57,    58,    -1,    -1,    61,    62,    63,    64,    65,
21622       -1,    67,    68,    69,    70,    71,    -1,    -1,    -1,    75,
21623       76,    77,    78,    79,    -1,    81,    82,    83,    -1,    85,
21624       86,    87,    88,    89,    90,    -1,    -1,    93,    94,    95,
21625       -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,   104,   105,
21626      106,   107,   108,   109,   110,   111,    -1,   113,    -1,   115,
21627      116,   117,   118,   119,   120,    -1,   122,   123,   124,   125,
21628       -1,    -1,   128,   129,   130,   131,   132,    -1,   134,   135,
21629      136,    -1,   138,   139,   140,    -1,   142,   143,   144,   145,
21630      146,   147,   148,   149,   150,    -1,   152,    -1,   154,   155,
21631      156,   157,    -1,   159,    -1,   161,    -1,    -1,    -1,   165,
21632      166,   167,   168,    -1,   170,   171,    -1,   173,   174,   175,
21633       -1,   177,   178,   179,   180,   181,    -1,   183,   184,   185,
21634      186,    -1,   188,   189,   190,   191,   192,   193,   194,    -1,
21635      196,    -1,   198,   199,   200,   201,   202,   203,   204,    -1,
21636      206,    -1,   208,    -1,    -1,   211,    -1,   213,   214,   215,
21637      216,   217,    -1,    -1,   220,   221,    -1,   223,    -1,    -1,
21638      226,   227,   228,    -1,    -1,   231,   232,   233,   234,   235,
21639      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
21640      246,   247,    -1,   249,   250,   251,   252,   253,    -1,   255,
21641      256,    -1,   258,    -1,   260,   261,   262,   263,   264,   265,
21642       -1,   267,   268,    -1,    -1,   271,   272,   273,    -1,    -1,
21643      276,   277,   278,    -1,   280,    -1,   282,   283,   284,   285,
21644      286,   287,   288,   289,   290,   291,    -1,   293,   294,   295,
21645      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
21646      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
21647      316,    -1,   318,   319,   320,   321,   322,   323,   324,   325,
21648      326,   327,   328,   329,    -1,   331,   332,    -1,   334,   335,
21649      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
21650      346,   347,   348,    -1,   350,   351,   352,   353,   354,    -1,
21651      356,   357,   358,   359,   360,    -1,   362,   363,   364,   365,
21652       -1,   367,   368,   369,   370,   371,   372,   373,   374,   375,
21653      376,   377,   378,   379,    -1,   381,   382,    -1,   384,    -1,
21654      386,   387,   388,   389,   390,    -1,   392,   393,   394,    -1,
21655       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
21656      406,   407,   408,   409,    -1,    -1,   412,   413,   414,   415,
21657      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
21658       -1,   427,    -1,   429,   430,   431,   432,    -1,    -1,   435,
21659       -1,    -1,   438,   439,   440,   441,   442,   443,   444,   445,
21660      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
21661      456,   457,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21662       -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
21663       21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
21664       -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
21665       41,    42,    -1,    44,    45,    46,    47,    48,    -1,    50,
21666       51,    -1,    53,    54,    55,    56,    57,    58,    -1,    -1,
21667       61,    62,    63,    64,    65,    -1,    67,    68,    69,    70,
21668       71,    -1,    -1,    -1,    75,    76,    77,    78,    79,    -1,
21669       81,    82,    83,    -1,    85,    86,    87,    88,    89,    90,
21670       -1,    -1,    93,    94,    95,    -1,    -1,    -1,    -1,    -1,
21671       -1,    -1,   103,   104,   105,   106,   107,   108,   109,   110,
21672      111,    -1,   113,    -1,   115,   116,   117,   118,   119,   120,
21673       -1,   122,   123,   124,   125,    -1,    -1,   128,   129,   130,
21674      131,   132,    -1,   134,   135,   136,    -1,   138,   139,   140,
21675       -1,   142,   143,   144,   145,   146,   147,   148,   149,   150,
21676       -1,   152,    -1,   154,   155,   156,   157,    -1,   159,    -1,
21677      161,    -1,    -1,    -1,   165,   166,   167,   168,    -1,   170,
21678      171,    -1,   173,   174,   175,    -1,   177,   178,   179,   180,
21679      181,    -1,   183,   184,   185,   186,    -1,   188,   189,   190,
21680      191,   192,   193,   194,    -1,   196,    -1,   198,   199,   200,
21681      201,   202,   203,   204,    -1,   206,    -1,   208,    -1,    -1,
21682      211,    -1,   213,   214,   215,   216,   217,    -1,    -1,   220,
21683      221,    -1,   223,    -1,    -1,   226,   227,   228,    -1,    -1,
21684      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
21685      241,   242,   243,   244,   245,   246,   247,    -1,   249,   250,
21686      251,   252,   253,    -1,   255,   256,    -1,   258,    -1,   260,
21687      261,   262,   263,   264,   265,    -1,   267,   268,    -1,    -1,
21688      271,   272,   273,    -1,    -1,   276,   277,   278,    -1,   280,
21689       -1,   282,   283,   284,   285,   286,   287,   288,   289,   290,
21690      291,    -1,   293,   294,   295,   296,   297,   298,   299,   300,
21691       -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
21692      311,   312,   313,   314,   315,   316,    -1,   318,   319,   320,
21693      321,   322,   323,   324,   325,   326,   327,   328,   329,    -1,
21694      331,   332,    -1,   334,   335,   336,   337,   338,   339,   340,
21695      341,   342,   343,   344,   345,   346,   347,   348,    -1,   350,
21696      351,   352,   353,   354,    -1,   356,   357,   358,   359,   360,
21697       -1,   362,   363,   364,   365,    -1,   367,   368,   369,   370,
21698      371,   372,   373,   374,   375,   376,   377,   378,   379,    -1,
21699      381,   382,    -1,   384,    -1,   386,   387,   388,   389,   390,
21700       -1,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
21701      401,    -1,   403,   404,   405,   406,   407,   408,   409,    -1,
21702       -1,   412,   413,   414,   415,   416,    -1,    -1,   419,   420,
21703      421,   422,   423,   424,   425,    -1,   427,    -1,   429,   430,
21704      431,   432,    -1,    -1,   435,    -1,    -1,   438,   439,   440,
21705      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
21706      451,   452,   453,   454,   455,   456,   457,     3,    -1,    -1,
21707       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21708       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
21709       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
21710       -1,    37,    38,    -1,    40,    41,    42,    -1,    44,    45,
21711       46,    47,    48,    -1,    50,    51,    -1,    53,    54,    55,
21712       56,    57,    58,    -1,    -1,    61,    62,    63,    64,    65,
21713       -1,    67,    68,    69,    70,    71,    -1,    -1,    -1,    75,
21714       76,    77,    78,    79,    -1,    81,    82,    83,    -1,    85,
21715       86,    87,    88,    89,    90,    -1,    -1,    93,    94,    95,
21716       -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,   104,   105,
21717      106,   107,   108,   109,   110,   111,    -1,   113,    -1,   115,
21718      116,   117,   118,   119,   120,    -1,   122,   123,   124,   125,
21719       -1,    -1,   128,   129,   130,   131,   132,    -1,   134,   135,
21720      136,    -1,   138,   139,   140,    -1,   142,   143,   144,   145,
21721      146,   147,   148,   149,   150,    -1,   152,    -1,   154,   155,
21722      156,   157,    -1,   159,    -1,   161,    -1,    -1,    -1,   165,
21723      166,   167,   168,    -1,   170,   171,    -1,   173,   174,   175,
21724       -1,   177,   178,   179,   180,   181,    -1,   183,   184,   185,
21725      186,    -1,   188,   189,   190,   191,   192,   193,   194,    -1,
21726      196,    -1,   198,   199,   200,   201,   202,   203,   204,    -1,
21727      206,    -1,   208,    -1,    -1,   211,    -1,   213,   214,   215,
21728      216,   217,    -1,    -1,   220,   221,    -1,   223,    -1,    -1,
21729      226,   227,   228,    -1,    -1,   231,   232,   233,   234,   235,
21730      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
21731      246,   247,    -1,   249,   250,   251,   252,   253,    -1,   255,
21732      256,    -1,   258,    -1,   260,   261,   262,   263,   264,   265,
21733       -1,   267,   268,    -1,    -1,   271,   272,   273,    -1,    -1,
21734      276,   277,   278,    -1,   280,    -1,   282,   283,   284,   285,
21735      286,   287,   288,   289,   290,   291,    -1,   293,   294,   295,
21736      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
21737      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
21738      316,    -1,   318,   319,   320,   321,   322,   323,   324,   325,
21739      326,   327,   328,   329,    -1,   331,   332,    -1,   334,   335,
21740      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
21741      346,   347,   348,    -1,   350,   351,   352,   353,   354,    -1,
21742      356,   357,   358,   359,   360,    -1,   362,   363,   364,   365,
21743       -1,   367,   368,   369,   370,   371,   372,   373,   374,   375,
21744      376,   377,   378,   379,    -1,   381,   382,    -1,   384,    -1,
21745      386,   387,   388,   389,   390,    -1,   392,   393,   394,    -1,
21746       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
21747      406,   407,   408,   409,    -1,    -1,   412,   413,   414,   415,
21748      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
21749       -1,   427,    -1,   429,   430,   431,   432,    -1,    -1,   435,
21750       -1,    -1,   438,   439,   440,   441,   442,   443,   444,   445,
21751      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
21752      456,   457,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21753       -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
21754       21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
21755       -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
21756       41,    42,    -1,    44,    45,    46,    47,    48,    -1,    50,
21757       51,    -1,    53,    54,    55,    56,    57,    58,    -1,    -1,
21758       61,    62,    63,    64,    65,    -1,    67,    68,    69,    70,
21759       71,    -1,    -1,    -1,    75,    76,    77,    78,    79,    -1,
21760       81,    82,    83,    -1,    85,    86,    87,    88,    89,    90,
21761       -1,    -1,    93,    94,    95,    -1,    -1,    -1,    -1,    -1,
21762       -1,    -1,   103,   104,   105,   106,   107,   108,   109,   110,
21763      111,    -1,   113,    -1,   115,   116,   117,   118,   119,   120,
21764       -1,   122,   123,   124,   125,    -1,    -1,   128,   129,   130,
21765      131,   132,    -1,   134,   135,   136,    -1,   138,   139,   140,
21766       -1,   142,   143,   144,   145,   146,   147,   148,   149,   150,
21767       -1,   152,    -1,   154,   155,   156,   157,    -1,   159,    -1,
21768      161,    -1,    -1,    -1,   165,   166,   167,   168,    -1,   170,
21769      171,    -1,   173,   174,   175,    -1,   177,   178,   179,   180,
21770      181,    -1,   183,   184,   185,   186,    -1,   188,   189,   190,
21771      191,   192,   193,   194,    -1,   196,    -1,   198,   199,   200,
21772      201,   202,   203,   204,    -1,   206,    -1,   208,    -1,    -1,
21773      211,    -1,   213,   214,   215,   216,   217,    -1,    -1,   220,
21774      221,    -1,   223,    -1,    -1,   226,   227,   228,    -1,    -1,
21775      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
21776      241,   242,   243,   244,   245,   246,   247,    -1,   249,   250,
21777      251,   252,   253,    -1,   255,   256,    -1,   258,    -1,   260,
21778      261,   262,   263,   264,   265,    -1,   267,   268,    -1,    -1,
21779      271,   272,   273,    -1,    -1,   276,   277,   278,    -1,   280,
21780       -1,   282,   283,   284,   285,   286,   287,   288,   289,   290,
21781      291,    -1,   293,   294,   295,   296,   297,   298,   299,   300,
21782       -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
21783      311,   312,   313,   314,   315,   316,    -1,   318,   319,   320,
21784      321,   322,   323,   324,   325,   326,   327,   328,   329,    -1,
21785      331,   332,    -1,   334,   335,   336,   337,   338,   339,   340,
21786      341,   342,   343,   344,   345,   346,   347,   348,    -1,   350,
21787      351,   352,   353,   354,    -1,   356,   357,   358,   359,   360,
21788       -1,   362,   363,   364,   365,    -1,   367,   368,   369,   370,
21789      371,   372,   373,   374,   375,   376,   377,   378,   379,    -1,
21790      381,   382,    -1,   384,    -1,   386,   387,   388,   389,   390,
21791       -1,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
21792      401,    -1,   403,   404,   405,   406,   407,   408,   409,    -1,
21793       -1,   412,   413,   414,   415,   416,    -1,    -1,   419,   420,
21794      421,   422,   423,   424,   425,    -1,   427,    -1,   429,   430,
21795      431,   432,    -1,    -1,   435,    -1,    -1,   438,   439,   440,
21796      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
21797      451,   452,   453,   454,   455,   456,   457,     3,    -1,    -1,
21798       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21799       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
21800       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
21801       -1,    37,    38,    -1,    40,    41,    42,    -1,    44,    45,
21802       46,    47,    48,    -1,    50,    51,    -1,    53,    54,    55,
21803       56,    57,    58,    -1,    -1,    61,    62,    63,    64,    65,
21804       -1,    67,    68,    69,    70,    71,    -1,    -1,    -1,    75,
21805       76,    77,    78,    79,    -1,    81,    82,    83,    -1,    85,
21806       86,    87,    88,    89,    90,    -1,    -1,    93,    94,    95,
21807       -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,   104,   105,
21808      106,   107,   108,   109,   110,   111,    -1,   113,    -1,   115,
21809      116,   117,   118,   119,   120,    -1,   122,   123,   124,   125,
21810       -1,    -1,   128,   129,   130,   131,   132,    -1,   134,   135,
21811      136,    -1,   138,   139,   140,    -1,   142,   143,   144,   145,
21812      146,   147,   148,   149,   150,    -1,   152,    -1,   154,   155,
21813      156,   157,    -1,   159,    -1,   161,    -1,    -1,    -1,   165,
21814      166,   167,   168,    -1,   170,   171,    -1,   173,   174,   175,
21815       -1,   177,   178,   179,   180,   181,    -1,   183,   184,   185,
21816      186,    -1,   188,   189,   190,   191,   192,   193,   194,    -1,
21817      196,    -1,   198,   199,   200,   201,   202,   203,   204,    -1,
21818      206,    -1,   208,    -1,    -1,   211,    -1,   213,   214,   215,
21819      216,   217,    -1,    -1,   220,   221,    -1,   223,    -1,    -1,
21820      226,   227,   228,    -1,    -1,   231,   232,   233,   234,   235,
21821      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
21822      246,   247,    -1,   249,   250,   251,   252,   253,    -1,   255,
21823      256,    -1,   258,    -1,   260,   261,   262,   263,   264,   265,
21824       -1,   267,   268,    -1,    -1,   271,   272,   273,    -1,    -1,
21825      276,   277,   278,    -1,   280,    -1,   282,   283,   284,   285,
21826      286,   287,   288,   289,   290,   291,    -1,   293,   294,   295,
21827      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
21828      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
21829      316,    -1,   318,   319,   320,   321,   322,   323,   324,   325,
21830      326,   327,   328,   329,    -1,   331,   332,    -1,   334,   335,
21831      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
21832      346,   347,   348,    -1,   350,   351,   352,   353,   354,    -1,
21833      356,   357,   358,   359,   360,    -1,   362,   363,   364,   365,
21834       -1,   367,   368,   369,   370,   371,   372,   373,   374,   375,
21835      376,   377,   378,   379,    -1,   381,   382,    -1,   384,    -1,
21836      386,   387,   388,   389,   390,    -1,   392,   393,   394,    -1,
21837       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
21838      406,   407,   408,   409,    -1,    -1,   412,   413,   414,   415,
21839      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
21840       -1,   427,    -1,   429,   430,   431,   432,    -1,    -1,   435,
21841       -1,    -1,   438,   439,   440,   441,   442,   443,   444,   445,
21842      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
21843      456,   457,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21844       -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
21845       21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
21846       -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
21847       41,    42,    -1,    44,    45,    46,    47,    48,    -1,    50,
21848       51,    -1,    53,    54,    55,    56,    57,    58,    -1,    -1,
21849       61,    62,    63,    64,    65,    -1,    67,    68,    69,    70,
21850       71,    -1,    -1,    -1,    75,    76,    77,    78,    79,    -1,
21851       81,    82,    83,    -1,    85,    86,    87,    88,    89,    90,
21852       -1,    -1,    93,    94,    95,    -1,    -1,    -1,    -1,    -1,
21853       -1,    -1,   103,   104,   105,   106,   107,   108,   109,   110,
21854      111,    -1,   113,    -1,   115,   116,   117,   118,   119,   120,
21855       -1,   122,   123,   124,   125,    -1,    -1,   128,   129,   130,
21856      131,   132,    -1,   134,   135,   136,    -1,   138,   139,   140,
21857       -1,   142,   143,   144,   145,   146,   147,   148,   149,   150,
21858       -1,   152,    -1,   154,   155,   156,   157,    -1,   159,    -1,
21859      161,    -1,    -1,    -1,   165,   166,   167,   168,    -1,   170,
21860      171,    -1,   173,   174,   175,    -1,   177,   178,   179,   180,
21861      181,    -1,   183,   184,   185,   186,    -1,   188,   189,   190,
21862      191,   192,   193,   194,    -1,   196,    -1,   198,   199,   200,
21863      201,   202,   203,   204,    -1,   206,    -1,   208,    -1,    -1,
21864      211,    -1,   213,   214,   215,   216,   217,    -1,    -1,   220,
21865      221,    -1,   223,    -1,    -1,   226,   227,   228,    -1,    -1,
21866      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
21867      241,   242,   243,   244,   245,   246,   247,    -1,   249,   250,
21868      251,   252,   253,    -1,   255,   256,    -1,   258,    -1,   260,
21869      261,   262,   263,   264,   265,    -1,   267,   268,    -1,    -1,
21870      271,   272,   273,    -1,    -1,   276,   277,   278,    -1,   280,
21871       -1,   282,   283,   284,   285,   286,   287,   288,   289,   290,
21872      291,    -1,   293,   294,   295,   296,   297,   298,   299,   300,
21873       -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
21874      311,   312,   313,   314,   315,   316,    -1,   318,   319,   320,
21875      321,   322,   323,   324,   325,   326,   327,   328,   329,    -1,
21876      331,   332,    -1,   334,   335,   336,   337,   338,   339,   340,
21877      341,   342,   343,   344,   345,   346,   347,   348,    -1,   350,
21878      351,   352,   353,   354,    -1,   356,   357,   358,   359,   360,
21879       -1,   362,   363,   364,   365,    -1,   367,   368,   369,   370,
21880      371,   372,   373,   374,   375,   376,   377,   378,   379,    -1,
21881      381,   382,    -1,   384,    -1,   386,   387,   388,   389,   390,
21882       -1,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
21883      401,    -1,   403,   404,   405,   406,   407,   408,   409,    -1,
21884       -1,   412,   413,   414,   415,   416,    -1,    -1,   419,   420,
21885      421,   422,   423,   424,   425,    -1,   427,    -1,   429,   430,
21886      431,   432,    -1,    -1,   435,    -1,    -1,   438,   439,   440,
21887      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
21888      451,   452,   453,   454,   455,   456,   457,     3,    -1,    -1,
21889       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21890       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
21891       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
21892       -1,    37,    38,    -1,    40,    41,    42,    -1,    44,    45,
21893       46,    47,    48,    -1,    50,    51,    -1,    53,    54,    55,
21894       56,    57,    58,    -1,    -1,    61,    62,    63,    64,    65,
21895       -1,    67,    68,    69,    70,    71,    -1,    -1,    -1,    75,
21896       76,    77,    78,    79,    -1,    81,    82,    83,    -1,    85,
21897       86,    87,    88,    89,    90,    -1,    -1,    93,    94,    95,
21898       -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,   104,   105,
21899      106,   107,   108,   109,   110,   111,    -1,   113,    -1,   115,
21900      116,   117,   118,   119,   120,    -1,   122,   123,   124,   125,
21901       -1,    -1,   128,   129,   130,   131,   132,    -1,   134,   135,
21902      136,    -1,   138,   139,   140,    -1,   142,   143,   144,   145,
21903      146,   147,   148,   149,   150,    -1,   152,    -1,   154,   155,
21904      156,   157,    -1,   159,    -1,   161,    -1,    -1,    -1,   165,
21905      166,   167,   168,    -1,   170,   171,    -1,   173,   174,   175,
21906       -1,   177,   178,   179,   180,   181,    -1,   183,   184,   185,
21907      186,    -1,   188,   189,   190,   191,   192,   193,   194,    -1,
21908      196,    -1,   198,   199,   200,   201,   202,   203,   204,    -1,
21909      206,    -1,   208,    -1,    -1,   211,    -1,   213,   214,   215,
21910      216,   217,    -1,    -1,   220,   221,    -1,   223,    -1,    -1,
21911      226,   227,   228,    -1,    -1,   231,   232,   233,   234,   235,
21912      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
21913      246,   247,    -1,   249,   250,   251,   252,   253,    -1,   255,
21914      256,    -1,   258,    -1,   260,   261,   262,   263,   264,   265,
21915       -1,   267,   268,    -1,    -1,   271,   272,   273,    -1,    -1,
21916      276,   277,   278,    -1,   280,    -1,   282,   283,   284,   285,
21917      286,   287,   288,   289,   290,   291,    -1,   293,   294,   295,
21918      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
21919      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
21920      316,    -1,   318,   319,   320,   321,   322,   323,   324,   325,
21921      326,   327,   328,   329,    -1,   331,   332,    -1,   334,   335,
21922      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
21923      346,   347,   348,    -1,   350,   351,   352,   353,   354,    -1,
21924      356,   357,   358,   359,   360,    -1,   362,   363,   364,   365,
21925       -1,   367,   368,   369,   370,   371,   372,   373,   374,   375,
21926      376,   377,   378,   379,    -1,   381,   382,    -1,   384,    -1,
21927      386,   387,   388,   389,   390,    -1,   392,   393,   394,    -1,
21928       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
21929      406,   407,   408,   409,    -1,    -1,   412,   413,   414,   415,
21930      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
21931       -1,   427,    -1,   429,   430,   431,   432,    -1,    -1,   435,
21932       -1,    -1,   438,   439,   440,   441,   442,   443,   444,   445,
21933      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
21934      456,   457,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21935       -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
21936       21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
21937       -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
21938       41,    42,    -1,    44,    45,    46,    47,    48,    -1,    50,
21939       51,    -1,    53,    54,    55,    56,    57,    58,    -1,    -1,
21940       61,    62,    63,    64,    65,    -1,    67,    68,    69,    70,
21941       71,    -1,    -1,    -1,    75,    76,    77,    78,    79,    -1,
21942       81,    82,    83,    -1,    85,    86,    87,    88,    89,    90,
21943       -1,    -1,    93,    94,    95,    -1,    -1,    -1,    -1,    -1,
21944       -1,    -1,   103,   104,   105,   106,   107,   108,   109,   110,
21945      111,    -1,   113,    -1,   115,   116,   117,   118,   119,   120,
21946       -1,   122,   123,   124,   125,    -1,    -1,   128,   129,   130,
21947      131,   132,    -1,   134,   135,   136,    -1,   138,   139,   140,
21948       -1,   142,   143,   144,   145,   146,   147,   148,   149,   150,
21949       -1,   152,    -1,   154,   155,   156,   157,    -1,   159,    -1,
21950      161,    -1,    -1,    -1,   165,   166,   167,   168,    -1,   170,
21951      171,    -1,   173,   174,   175,    -1,   177,   178,   179,   180,
21952      181,    -1,   183,   184,   185,   186,    -1,   188,   189,   190,
21953      191,   192,   193,   194,    -1,   196,    -1,   198,   199,   200,
21954      201,   202,   203,   204,    -1,   206,    -1,   208,    -1,    -1,
21955      211,    -1,   213,   214,   215,   216,   217,    -1,    -1,   220,
21956      221,    -1,   223,    -1,    -1,   226,   227,   228,    -1,    -1,
21957      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
21958      241,   242,   243,   244,   245,   246,   247,    -1,   249,   250,
21959      251,   252,   253,    -1,   255,   256,    -1,   258,    -1,   260,
21960      261,   262,   263,   264,   265,    -1,   267,   268,    -1,    -1,
21961      271,   272,   273,    -1,    -1,   276,   277,   278,    -1,   280,
21962       -1,   282,   283,   284,   285,   286,   287,   288,   289,   290,
21963      291,    -1,   293,   294,   295,   296,   297,   298,   299,   300,
21964       -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
21965      311,   312,   313,   314,   315,   316,    -1,   318,   319,   320,
21966      321,   322,   323,   324,   325,   326,   327,   328,   329,    -1,
21967      331,   332,    -1,   334,   335,   336,   337,   338,   339,   340,
21968      341,   342,   343,   344,   345,   346,   347,   348,    -1,   350,
21969      351,   352,   353,   354,    -1,   356,   357,   358,   359,   360,
21970       -1,   362,   363,   364,   365,    -1,   367,   368,   369,   370,
21971      371,   372,   373,   374,   375,   376,   377,   378,   379,    -1,
21972      381,   382,    -1,   384,    -1,   386,   387,   388,   389,   390,
21973       -1,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
21974      401,    -1,   403,   404,   405,   406,   407,   408,   409,    -1,
21975       -1,   412,   413,   414,   415,   416,    -1,    -1,   419,   420,
21976      421,   422,   423,   424,   425,    -1,   427,    -1,   429,   430,
21977      431,   432,    -1,    -1,   435,    -1,    -1,   438,   439,   440,
21978      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
21979      451,   452,   453,   454,   455,   456,   457,     3,    -1,    -1,
21980       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21981       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
21982       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
21983       -1,    37,    38,    -1,    40,    41,    42,    -1,    44,    45,
21984       46,    47,    48,    -1,    50,    51,    -1,    53,    54,    55,
21985       56,    57,    58,    -1,    -1,    61,    62,    63,    64,    65,
21986       -1,    67,    68,    69,    70,    71,    -1,    -1,    -1,    75,
21987       76,    77,    78,    79,    -1,    81,    82,    83,    -1,    85,
21988       86,    87,    88,    89,    90,    -1,    -1,    93,    94,    95,
21989       -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,   104,   105,
21990      106,   107,   108,   109,   110,   111,    -1,   113,    -1,   115,
21991      116,   117,   118,   119,   120,    -1,   122,   123,   124,   125,
21992       -1,    -1,   128,   129,   130,   131,   132,    -1,   134,   135,
21993      136,    -1,   138,   139,   140,    -1,   142,   143,   144,   145,
21994      146,   147,   148,   149,   150,    -1,   152,    -1,   154,   155,
21995      156,   157,    -1,   159,    -1,   161,    -1,    -1,    -1,   165,
21996      166,   167,   168,    -1,   170,   171,    -1,   173,   174,   175,
21997       -1,   177,   178,   179,   180,   181,    -1,   183,   184,   185,
21998      186,    -1,   188,   189,   190,   191,   192,   193,   194,    -1,
21999      196,    -1,   198,   199,   200,   201,   202,   203,   204,    -1,
22000      206,    -1,   208,    -1,    -1,   211,    -1,   213,   214,   215,
22001      216,   217,    -1,    -1,   220,   221,    -1,   223,    -1,    -1,
22002      226,   227,   228,    -1,    -1,   231,   232,   233,   234,   235,
22003      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
22004      246,   247,    -1,   249,   250,   251,   252,   253,    -1,   255,
22005      256,    -1,   258,    -1,   260,   261,   262,   263,   264,   265,
22006       -1,   267,   268,    -1,    -1,   271,   272,   273,    -1,    -1,
22007      276,   277,   278,    -1,   280,    -1,   282,   283,   284,   285,
22008      286,   287,   288,   289,   290,   291,    -1,   293,   294,   295,
22009      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
22010      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
22011      316,    -1,   318,   319,   320,   321,   322,   323,   324,   325,
22012      326,   327,   328,   329,    -1,   331,   332,    -1,   334,   335,
22013      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
22014      346,   347,   348,    -1,   350,   351,   352,   353,   354,    -1,
22015      356,   357,   358,   359,   360,    -1,   362,   363,   364,   365,
22016       -1,   367,   368,   369,   370,   371,   372,   373,   374,   375,
22017      376,   377,   378,   379,    -1,   381,   382,    -1,   384,    -1,
22018      386,   387,   388,   389,   390,    -1,   392,   393,   394,    -1,
22019       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
22020      406,   407,   408,   409,    -1,    -1,   412,   413,   414,   415,
22021      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
22022       -1,   427,    -1,   429,   430,   431,   432,    -1,    -1,   435,
22023       -1,    -1,   438,   439,   440,   441,   442,   443,   444,   445,
22024      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
22025      456,   457,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22026       -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
22027       21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
22028       -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
22029       41,    42,    -1,    44,    45,    46,    47,    48,    -1,    50,
22030       51,    -1,    53,    54,    55,    56,    57,    58,    -1,    -1,
22031       61,    62,    63,    64,    65,    -1,    67,    68,    69,    70,
22032       71,    -1,    -1,    -1,    75,    76,    77,    78,    79,    -1,
22033       81,    82,    83,    -1,    85,    86,    87,    88,    89,    90,
22034       -1,    -1,    93,    94,    95,    -1,    -1,    -1,    -1,    -1,
22035       -1,    -1,   103,   104,   105,   106,   107,   108,   109,   110,
22036      111,    -1,   113,    -1,   115,   116,   117,   118,   119,   120,
22037       -1,   122,   123,   124,   125,    -1,    -1,   128,   129,   130,
22038      131,   132,    -1,   134,   135,   136,    -1,   138,   139,   140,
22039       -1,   142,   143,   144,   145,   146,   147,   148,   149,   150,
22040       -1,   152,    -1,   154,   155,   156,   157,    -1,   159,    -1,
22041      161,    -1,    -1,    -1,   165,   166,   167,   168,    -1,   170,
22042      171,    -1,   173,   174,   175,    -1,   177,   178,   179,   180,
22043      181,    -1,   183,   184,   185,   186,    -1,   188,   189,   190,
22044      191,   192,   193,   194,    -1,   196,    -1,   198,   199,   200,
22045      201,   202,   203,   204,    -1,   206,    -1,   208,    -1,    -1,
22046      211,    -1,   213,   214,   215,   216,   217,    -1,    -1,   220,
22047      221,    -1,   223,    -1,    -1,   226,   227,   228,    -1,    -1,
22048      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
22049      241,   242,   243,   244,   245,   246,   247,    -1,   249,   250,
22050      251,   252,   253,    -1,   255,   256,    -1,   258,    -1,   260,
22051      261,   262,   263,   264,   265,    -1,   267,   268,    -1,    -1,
22052      271,   272,   273,    -1,    -1,   276,   277,   278,    -1,   280,
22053       -1,   282,   283,   284,   285,   286,   287,   288,   289,   290,
22054      291,    -1,   293,   294,   295,   296,   297,   298,   299,   300,
22055       -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
22056      311,   312,   313,   314,   315,   316,    -1,   318,   319,   320,
22057      321,   322,   323,   324,   325,   326,   327,   328,   329,    -1,
22058      331,   332,    -1,   334,   335,   336,   337,   338,   339,   340,
22059      341,   342,   343,   344,   345,   346,   347,   348,    -1,   350,
22060      351,   352,   353,   354,    -1,   356,   357,   358,   359,   360,
22061       -1,   362,   363,   364,   365,    -1,   367,   368,   369,   370,
22062      371,   372,   373,   374,   375,   376,   377,   378,   379,    -1,
22063      381,   382,    -1,   384,    -1,   386,   387,   388,   389,   390,
22064       -1,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
22065      401,    -1,   403,   404,   405,   406,   407,   408,   409,    -1,
22066       -1,   412,   413,   414,   415,   416,    -1,    -1,   419,   420,
22067      421,   422,   423,   424,   425,    -1,   427,    -1,   429,   430,
22068      431,   432,    -1,    -1,   435,    -1,    -1,   438,   439,   440,
22069      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
22070      451,   452,   453,   454,   455,   456,   457,     3,    -1,    -1,
22071       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22072       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
22073       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
22074       -1,    37,    38,    -1,    40,    41,    42,    -1,    44,    45,
22075       46,    47,    48,    -1,    50,    51,    -1,    53,    54,    55,
22076       56,    57,    58,    -1,    -1,    61,    62,    63,    64,    65,
22077       -1,    67,    68,    69,    70,    71,    -1,    -1,    -1,    75,
22078       76,    77,    78,    79,    -1,    81,    82,    83,    -1,    85,
22079       86,    87,    88,    89,    90,    -1,    -1,    93,    94,    95,
22080       -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,   104,   105,
22081      106,   107,   108,   109,   110,   111,    -1,   113,    -1,   115,
22082      116,   117,   118,   119,   120,    -1,   122,   123,   124,   125,
22083       -1,    -1,   128,   129,   130,   131,   132,    -1,   134,   135,
22084      136,    -1,   138,   139,   140,    -1,   142,   143,   144,   145,
22085      146,   147,   148,   149,   150,    -1,   152,    -1,   154,   155,
22086      156,   157,    -1,   159,    -1,   161,    -1,    -1,    -1,   165,
22087      166,   167,   168,    -1,   170,   171,    -1,   173,   174,   175,
22088       -1,   177,   178,   179,   180,   181,    -1,   183,   184,   185,
22089      186,    -1,   188,   189,   190,   191,   192,   193,   194,    -1,
22090      196,    -1,   198,   199,   200,   201,   202,   203,   204,    -1,
22091      206,    -1,   208,    -1,    -1,   211,    -1,   213,   214,   215,
22092      216,   217,    -1,    -1,   220,   221,    -1,   223,    -1,    -1,
22093      226,   227,   228,    -1,    -1,   231,   232,   233,   234,   235,
22094      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
22095      246,   247,    -1,   249,   250,   251,   252,   253,    -1,   255,
22096      256,    -1,   258,    -1,   260,   261,   262,   263,   264,   265,
22097       -1,   267,   268,    -1,    -1,   271,   272,   273,    -1,    -1,
22098      276,   277,   278,    -1,   280,    -1,   282,   283,   284,   285,
22099      286,   287,   288,   289,   290,   291,    -1,   293,   294,   295,
22100      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
22101      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
22102      316,    -1,   318,   319,   320,   321,   322,   323,   324,   325,
22103      326,   327,   328,   329,    -1,   331,   332,    -1,   334,   335,
22104      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
22105      346,   347,   348,    -1,   350,   351,   352,   353,   354,    -1,
22106      356,   357,   358,   359,   360,    -1,   362,   363,   364,   365,
22107       -1,   367,   368,   369,   370,   371,   372,   373,   374,   375,
22108      376,   377,   378,   379,    -1,   381,   382,    -1,   384,    -1,
22109      386,   387,   388,   389,   390,    -1,   392,   393,   394,    -1,
22110       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
22111      406,   407,   408,   409,    -1,    -1,   412,   413,   414,   415,
22112      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
22113       -1,   427,    -1,   429,   430,   431,   432,    -1,    -1,   435,
22114       -1,    -1,   438,   439,   440,   441,   442,   443,   444,   445,
22115      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
22116      456,   457,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22117       -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
22118       21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
22119       -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
22120       41,    42,    -1,    44,    45,    46,    47,    48,    -1,    50,
22121       51,    -1,    53,    54,    55,    56,    57,    58,    -1,    -1,
22122       61,    62,    63,    64,    65,    -1,    67,    68,    69,    70,
22123       71,    -1,    -1,    -1,    75,    76,    77,    78,    79,    -1,
22124       81,    82,    83,    -1,    85,    86,    87,    88,    89,    90,
22125       -1,    -1,    93,    94,    95,    -1,    -1,    -1,    -1,    -1,
22126       -1,    -1,   103,   104,   105,   106,   107,   108,   109,   110,
22127      111,    -1,   113,    -1,   115,   116,   117,   118,   119,   120,
22128       -1,   122,   123,   124,   125,    -1,    -1,   128,   129,   130,
22129      131,   132,    -1,   134,   135,   136,    -1,   138,   139,   140,
22130       -1,   142,   143,   144,   145,   146,   147,   148,   149,   150,
22131       -1,   152,    -1,   154,   155,   156,   157,    -1,   159,    -1,
22132      161,    -1,    -1,    -1,   165,   166,   167,   168,    -1,   170,
22133      171,    -1,   173,   174,   175,    -1,   177,   178,   179,   180,
22134      181,    -1,   183,   184,   185,   186,    -1,   188,   189,   190,
22135      191,   192,   193,   194,    -1,   196,    -1,   198,   199,   200,
22136      201,   202,   203,   204,    -1,   206,    -1,   208,    -1,    -1,
22137      211,    -1,   213,   214,   215,   216,   217,    -1,    -1,   220,
22138      221,    -1,   223,    -1,    -1,   226,   227,   228,    -1,    -1,
22139      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
22140      241,   242,   243,   244,   245,   246,   247,    -1,   249,   250,
22141      251,   252,   253,    -1,   255,   256,    -1,   258,    -1,   260,
22142      261,   262,   263,   264,   265,    -1,   267,   268,    -1,    -1,
22143      271,   272,   273,    -1,    -1,   276,   277,   278,    -1,   280,
22144       -1,   282,   283,   284,   285,   286,   287,   288,   289,   290,
22145      291,    -1,   293,   294,   295,   296,   297,   298,   299,   300,
22146       -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
22147      311,   312,   313,   314,   315,   316,    -1,   318,   319,   320,
22148      321,   322,   323,   324,   325,   326,   327,   328,   329,    -1,
22149      331,   332,    -1,   334,   335,   336,   337,   338,   339,   340,
22150      341,   342,   343,   344,   345,   346,   347,   348,    -1,   350,
22151      351,   352,   353,   354,    -1,   356,   357,   358,   359,   360,
22152       -1,   362,   363,   364,   365,    -1,   367,   368,   369,   370,
22153      371,   372,   373,   374,   375,   376,   377,   378,   379,    -1,
22154      381,   382,    -1,   384,    -1,   386,   387,   388,   389,   390,
22155       -1,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
22156      401,    -1,   403,   404,   405,   406,   407,   408,   409,    -1,
22157       -1,   412,   413,   414,   415,   416,    -1,    -1,   419,   420,
22158      421,   422,   423,   424,   425,    -1,   427,    -1,   429,   430,
22159      431,   432,    -1,    -1,   435,    -1,    -1,   438,   439,   440,
22160      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
22161      451,   452,   453,   454,   455,   456,   457,     3,    -1,    -1,
22162       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22163       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
22164       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    35,
22165       -1,    37,    38,    -1,    40,    41,    42,    -1,    44,    45,
22166       46,    47,    48,    -1,    50,    51,    -1,    53,    54,    55,
22167       56,    57,    58,    -1,    -1,    61,    62,    63,    64,    65,
22168       -1,    67,    68,    69,    70,    71,    -1,    -1,    -1,    75,
22169       76,    77,    78,    79,    -1,    81,    82,    83,    -1,    85,
22170       86,    87,    88,    89,    90,    -1,    -1,    93,    94,    95,
22171       -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,   104,   105,
22172      106,   107,   108,   109,   110,   111,    -1,   113,    -1,   115,
22173      116,   117,   118,   119,   120,    -1,   122,   123,   124,   125,
22174       -1,    -1,   128,   129,   130,   131,   132,    -1,   134,   135,
22175      136,    -1,   138,   139,   140,    -1,   142,   143,   144,   145,
22176      146,   147,   148,   149,   150,    -1,   152,    -1,   154,   155,
22177      156,   157,    -1,   159,    -1,   161,    -1,    -1,    -1,   165,
22178      166,   167,   168,    -1,   170,   171,    -1,   173,   174,   175,
22179       -1,   177,   178,   179,   180,   181,    -1,   183,   184,   185,
22180      186,    -1,   188,   189,   190,   191,   192,   193,   194,    -1,
22181      196,    -1,   198,   199,   200,   201,   202,   203,   204,    -1,
22182      206,    -1,   208,    -1,    -1,   211,    -1,   213,   214,   215,
22183      216,   217,    -1,    -1,   220,   221,    -1,   223,    -1,    -1,
22184      226,   227,   228,    -1,    -1,   231,   232,   233,   234,   235,
22185      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
22186      246,   247,    -1,   249,   250,   251,   252,   253,    -1,   255,
22187      256,    -1,   258,    -1,   260,   261,   262,   263,   264,   265,
22188       -1,   267,   268,    -1,    -1,   271,   272,   273,    -1,    -1,
22189      276,   277,   278,    -1,   280,    -1,   282,   283,   284,   285,
22190      286,   287,   288,   289,   290,   291,    -1,   293,   294,   295,
22191      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
22192      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
22193      316,    -1,   318,   319,   320,   321,   322,   323,   324,   325,
22194      326,   327,   328,   329,    -1,   331,   332,    -1,   334,   335,
22195      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
22196      346,   347,   348,    -1,   350,   351,   352,   353,   354,    -1,
22197       -1,   357,   358,   359,   360,    -1,   362,   363,   364,   365,
22198       -1,   367,   368,   369,   370,   371,   372,   373,   374,   375,
22199      376,   377,   378,   379,    -1,   381,   382,    -1,   384,    -1,
22200      386,   387,   388,   389,   390,    -1,   392,   393,   394,    -1,
22201       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
22202      406,   407,   408,   409,    -1,    -1,   412,   413,   414,   415,
22203      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
22204       -1,   427,    -1,   429,   430,   431,   432,    -1,    -1,   435,
22205       -1,    -1,   438,   439,   440,   441,   442,   443,   444,   445,
22206      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
22207      456,   457,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22208       -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
22209       21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
22210       -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
22211       41,    42,    -1,    44,    45,    46,    47,    48,    -1,    50,
22212       51,    -1,    53,    54,    55,    56,    57,    58,    -1,    -1,
22213       61,    62,    63,    64,    65,    -1,    67,    68,    69,    70,
22214       71,    -1,    -1,    -1,    75,    76,    77,    78,    79,    -1,
22215       81,    82,    83,    -1,    85,    86,    87,    88,    89,    90,
22216       -1,    -1,    93,    94,    95,    -1,    -1,    -1,    -1,    -1,
22217       -1,    -1,   103,   104,   105,   106,   107,   108,   109,   110,
22218      111,    -1,   113,    -1,   115,   116,   117,   118,   119,   120,
22219       -1,   122,   123,   124,   125,    -1,    -1,   128,   129,   130,
22220      131,   132,    -1,   134,   135,   136,    -1,   138,   139,   140,
22221       -1,   142,   143,   144,   145,   146,   147,   148,   149,   150,
22222       -1,   152,    -1,   154,   155,   156,   157,    -1,   159,    -1,
22223      161,    -1,    -1,    -1,   165,   166,   167,   168,    -1,   170,
22224      171,    -1,   173,   174,   175,    -1,   177,   178,   179,   180,
22225      181,    -1,   183,   184,   185,   186,    -1,   188,   189,   190,
22226      191,   192,   193,   194,    -1,   196,    -1,   198,   199,   200,
22227      201,   202,   203,   204,    -1,   206,    -1,   208,    -1,    -1,
22228      211,    -1,   213,   214,   215,   216,   217,    -1,    -1,   220,
22229      221,    -1,   223,    -1,    -1,   226,   227,   228,    -1,    -1,
22230      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
22231      241,   242,   243,   244,   245,   246,   247,    -1,   249,   250,
22232      251,   252,   253,    -1,   255,   256,    -1,   258,    -1,   260,
22233      261,   262,   263,   264,   265,    -1,   267,   268,    -1,    -1,
22234      271,   272,   273,    -1,    -1,   276,   277,   278,    -1,   280,
22235       -1,   282,   283,   284,   285,   286,   287,   288,   289,   290,
22236      291,    -1,   293,   294,   295,   296,   297,   298,   299,   300,
22237       -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
22238      311,   312,   313,   314,   315,   316,    -1,   318,   319,   320,
22239      321,   322,   323,   324,   325,   326,   327,   328,   329,    -1,
22240      331,   332,    -1,   334,   335,   336,   337,   338,   339,   340,
22241      341,   342,   343,   344,   345,   346,   347,   348,    -1,   350,
22242      351,   352,   353,   354,    -1,   356,   357,   358,   359,   360,
22243       -1,   362,   363,   364,   365,    -1,   367,   368,   369,   370,
22244      371,   372,   373,   374,   375,   376,   377,   378,   379,    -1,
22245      381,   382,    -1,   384,    -1,   386,   387,   388,   389,   390,
22246       -1,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
22247      401,    -1,   403,   404,   405,   406,   407,   408,   409,    -1,
22248       -1,   412,   413,   414,   415,   416,    -1,    -1,   419,   420,
22249      421,   422,   423,   424,   425,    -1,   427,    -1,   429,   430,
22250      431,   432,    -1,    -1,   435,    -1,    -1,   438,   439,   440,
22251      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
22252      451,   452,   453,   454,   455,   456,   457,     3,    -1,    -1,
22253       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22254       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
22255       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
22256       -1,    37,    38,    -1,    40,    41,    42,    -1,    44,    45,
22257       46,    47,    48,    -1,    50,    51,    -1,    53,    54,    55,
22258       56,    57,    58,    -1,    -1,    61,    62,    63,    64,    65,
22259       -1,    67,    68,    69,    70,    71,    -1,    -1,    -1,    75,
22260       76,    77,    78,    79,    -1,    81,    82,    83,    -1,    85,
22261       86,    87,    88,    89,    90,    -1,    -1,    93,    94,    95,
22262       -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,   104,   105,
22263      106,   107,   108,   109,   110,   111,    -1,   113,    -1,   115,
22264      116,   117,   118,   119,   120,    -1,   122,   123,   124,   125,
22265       -1,    -1,   128,   129,   130,   131,   132,    -1,   134,   135,
22266      136,    -1,   138,   139,   140,    -1,   142,   143,   144,   145,
22267      146,   147,   148,   149,   150,    -1,   152,    -1,   154,   155,
22268      156,   157,    -1,   159,    -1,   161,    -1,    -1,    -1,   165,
22269      166,   167,   168,    -1,   170,   171,    -1,   173,   174,   175,
22270       -1,   177,   178,   179,   180,   181,    -1,   183,   184,   185,
22271      186,    -1,   188,   189,   190,   191,   192,   193,   194,    -1,
22272      196,    -1,   198,   199,   200,   201,   202,   203,   204,    -1,
22273      206,    -1,   208,    -1,    -1,   211,    -1,   213,   214,   215,
22274      216,   217,    -1,    -1,   220,   221,    -1,   223,    -1,    -1,
22275      226,   227,   228,    -1,    -1,   231,   232,   233,   234,   235,
22276      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
22277      246,   247,    -1,   249,   250,   251,   252,   253,    -1,   255,
22278      256,    -1,   258,    -1,   260,   261,   262,   263,   264,   265,
22279       -1,   267,   268,    -1,    -1,   271,   272,   273,    -1,    -1,
22280      276,   277,   278,    -1,   280,    -1,   282,   283,   284,   285,
22281      286,   287,   288,   289,   290,   291,    -1,   293,   294,   295,
22282      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
22283      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
22284      316,    -1,   318,   319,   320,   321,   322,   323,   324,   325,
22285      326,   327,   328,   329,    -1,   331,   332,    -1,   334,   335,
22286      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
22287      346,   347,   348,    -1,   350,   351,   352,   353,   354,    -1,
22288      356,   357,   358,   359,   360,    -1,   362,   363,   364,   365,
22289       -1,   367,   368,   369,   370,   371,   372,   373,   374,   375,
22290      376,   377,   378,   379,    -1,   381,   382,    -1,   384,    -1,
22291      386,   387,   388,   389,   390,    -1,   392,   393,   394,    -1,
22292       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
22293      406,   407,   408,   409,    -1,    -1,   412,   413,   414,   415,
22294      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
22295       -1,   427,    -1,   429,   430,   431,   432,    -1,    -1,   435,
22296       -1,    -1,   438,   439,   440,   441,   442,   443,   444,   445,
22297      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
22298      456,   457,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22299       -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
22300       21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
22301       -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
22302       41,    42,    -1,    44,    45,    46,    47,    48,    -1,    50,
22303       51,    -1,    53,    54,    55,    56,    57,    58,    -1,    -1,
22304       61,    62,    63,    64,    65,    -1,    67,    68,    69,    70,
22305       71,    -1,    -1,    -1,    75,    76,    77,    78,    79,    -1,
22306       81,    82,    83,    -1,    85,    86,    87,    88,    89,    90,
22307       -1,    -1,    93,    94,    95,    -1,    -1,    -1,    -1,    -1,
22308       -1,    -1,   103,   104,   105,   106,   107,   108,   109,   110,
22309      111,    -1,   113,    -1,   115,   116,   117,   118,   119,   120,
22310       -1,   122,   123,   124,   125,    -1,    -1,   128,   129,   130,
22311      131,   132,    -1,   134,   135,   136,    -1,   138,   139,   140,
22312       -1,   142,   143,   144,   145,   146,   147,   148,   149,   150,
22313       -1,   152,    -1,   154,   155,   156,   157,    -1,   159,    -1,
22314      161,    -1,    -1,    -1,   165,   166,   167,   168,    -1,   170,
22315      171,    -1,   173,   174,   175,    -1,   177,   178,   179,   180,
22316      181,    -1,   183,   184,   185,   186,    -1,   188,   189,   190,
22317      191,   192,   193,   194,    -1,   196,    -1,   198,   199,   200,
22318      201,   202,   203,   204,    -1,   206,    -1,   208,    -1,    -1,
22319      211,    -1,   213,   214,   215,   216,   217,    -1,    -1,   220,
22320      221,    -1,   223,    -1,    -1,   226,   227,   228,    -1,    -1,
22321      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
22322      241,   242,   243,   244,   245,   246,   247,    -1,   249,   250,
22323      251,   252,   253,    -1,   255,   256,    -1,   258,    -1,   260,
22324      261,   262,   263,   264,   265,    -1,   267,   268,    -1,    -1,
22325      271,   272,   273,    -1,    -1,   276,   277,   278,    -1,   280,
22326       -1,   282,   283,   284,   285,   286,   287,   288,   289,   290,
22327      291,    -1,   293,   294,   295,   296,   297,   298,   299,   300,
22328       -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
22329      311,   312,   313,   314,   315,   316,    -1,   318,   319,   320,
22330      321,   322,   323,   324,   325,   326,   327,   328,   329,    -1,
22331      331,   332,    -1,   334,   335,   336,   337,   338,   339,   340,
22332      341,   342,   343,   344,   345,   346,   347,   348,    -1,   350,
22333      351,   352,   353,   354,    -1,   356,   357,   358,   359,   360,
22334       -1,   362,   363,   364,   365,    -1,   367,   368,   369,   370,
22335      371,   372,   373,   374,   375,   376,   377,   378,   379,    -1,
22336      381,   382,    -1,   384,    -1,   386,   387,   388,   389,   390,
22337       -1,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
22338      401,    -1,   403,   404,   405,   406,   407,   408,   409,    -1,
22339       -1,   412,   413,   414,   415,   416,    -1,    -1,   419,   420,
22340      421,   422,   423,   424,   425,    -1,   427,    -1,   429,   430,
22341      431,   432,    -1,    -1,   435,    -1,    -1,   438,   439,   440,
22342      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
22343      451,   452,   453,   454,   455,   456,   457,     3,    -1,    -1,
22344       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22345       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
22346       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
22347       -1,    37,    38,    -1,    40,    41,    42,    -1,    44,    45,
22348       46,    47,    48,    -1,    50,    51,    -1,    53,    54,    55,
22349       56,    57,    58,    -1,    -1,    61,    62,    63,    64,    65,
22350       -1,    67,    68,    69,    70,    71,    -1,    -1,    -1,    75,
22351       76,    77,    78,    79,    -1,    81,    82,    83,    -1,    85,
22352       86,    87,    88,    89,    90,    -1,    -1,    93,    94,    95,
22353       -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,   104,   105,
22354      106,   107,   108,   109,   110,   111,    -1,   113,    -1,   115,
22355      116,   117,   118,   119,   120,    -1,   122,   123,   124,   125,
22356       -1,    -1,   128,   129,   130,   131,   132,    -1,   134,   135,
22357      136,    -1,   138,   139,   140,    -1,   142,   143,   144,   145,
22358      146,   147,   148,   149,   150,    -1,   152,    -1,   154,   155,
22359      156,   157,    -1,   159,    -1,   161,    -1,    -1,    -1,   165,
22360      166,   167,   168,    -1,   170,   171,    -1,   173,   174,   175,
22361       -1,   177,   178,   179,   180,   181,    -1,   183,   184,   185,
22362      186,    -1,   188,   189,   190,   191,   192,   193,   194,    -1,
22363      196,    -1,   198,   199,   200,   201,   202,   203,   204,    -1,
22364      206,    -1,   208,    -1,    -1,   211,    -1,   213,   214,   215,
22365      216,   217,    -1,    -1,   220,   221,    -1,   223,    -1,    -1,
22366      226,   227,   228,    -1,    -1,   231,   232,   233,   234,   235,
22367      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
22368      246,   247,    -1,   249,   250,   251,   252,   253,    -1,   255,
22369      256,    -1,   258,    -1,   260,   261,   262,   263,   264,   265,
22370       -1,   267,   268,    -1,    -1,   271,   272,   273,    -1,    -1,
22371      276,   277,   278,    -1,   280,    -1,   282,   283,   284,   285,
22372      286,   287,   288,   289,   290,   291,    -1,   293,   294,   295,
22373      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
22374      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
22375      316,    -1,   318,   319,   320,   321,   322,   323,   324,   325,
22376      326,   327,   328,   329,    -1,   331,   332,    -1,   334,   335,
22377      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
22378      346,   347,   348,    -1,   350,   351,   352,   353,   354,    -1,
22379      356,   357,   358,   359,   360,    -1,   362,   363,   364,   365,
22380       -1,   367,   368,   369,   370,   371,   372,   373,   374,   375,
22381      376,   377,   378,   379,    -1,   381,   382,    -1,   384,    -1,
22382      386,   387,   388,   389,   390,    -1,   392,   393,   394,    -1,
22383       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
22384      406,   407,   408,   409,    -1,    -1,   412,   413,   414,   415,
22385      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
22386       -1,   427,    -1,   429,   430,   431,   432,    -1,    -1,   435,
22387       -1,    -1,   438,   439,   440,   441,   442,   443,   444,   445,
22388      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
22389      456,   457,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22390       -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
22391       21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
22392       -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
22393       41,    42,    -1,    44,    45,    46,    47,    48,    -1,    50,
22394       51,    -1,    53,    54,    55,    56,    57,    58,    -1,    -1,
22395       61,    62,    63,    64,    65,    -1,    67,    68,    69,    70,
22396       71,    -1,    -1,    -1,    75,    76,    77,    78,    79,    -1,
22397       81,    82,    83,    -1,    85,    86,    87,    88,    89,    90,
22398       -1,    -1,    93,    94,    95,    -1,    -1,    -1,    -1,    -1,
22399       -1,    -1,   103,   104,   105,   106,   107,   108,   109,   110,
22400      111,    -1,   113,    -1,   115,   116,   117,   118,   119,   120,
22401       -1,   122,   123,   124,   125,    -1,    -1,   128,   129,   130,
22402      131,   132,    -1,   134,   135,   136,    -1,   138,   139,   140,
22403       -1,   142,   143,   144,   145,   146,   147,   148,   149,   150,
22404       -1,   152,    -1,   154,   155,   156,   157,    -1,   159,    -1,
22405      161,    -1,    -1,    -1,   165,   166,   167,   168,    -1,   170,
22406      171,    -1,   173,   174,   175,    -1,   177,   178,   179,   180,
22407      181,    -1,   183,   184,   185,   186,    -1,   188,   189,   190,
22408      191,   192,   193,   194,    -1,   196,    -1,   198,   199,   200,
22409      201,   202,   203,   204,    -1,   206,    -1,   208,    -1,    -1,
22410      211,    -1,   213,   214,   215,   216,   217,    -1,    -1,   220,
22411      221,    -1,   223,    -1,    -1,   226,   227,   228,    -1,    -1,
22412      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
22413      241,   242,   243,   244,   245,   246,   247,    -1,   249,   250,
22414      251,   252,   253,    -1,   255,   256,    -1,   258,    -1,   260,
22415      261,   262,   263,   264,   265,    -1,   267,   268,    -1,    -1,
22416      271,   272,   273,    -1,    -1,   276,   277,   278,    -1,   280,
22417       -1,   282,   283,   284,   285,   286,   287,   288,   289,   290,
22418      291,    -1,   293,   294,   295,   296,   297,   298,   299,   300,
22419       -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
22420      311,   312,   313,   314,   315,   316,    -1,   318,   319,   320,
22421      321,   322,   323,   324,   325,   326,   327,   328,   329,    -1,
22422      331,   332,    -1,   334,   335,   336,   337,   338,   339,   340,
22423      341,   342,   343,   344,   345,   346,   347,   348,    -1,   350,
22424      351,   352,   353,   354,    -1,   356,   357,   358,   359,   360,
22425       -1,   362,   363,   364,   365,    -1,   367,   368,   369,   370,
22426      371,   372,   373,   374,   375,   376,   377,   378,   379,    -1,
22427      381,   382,    -1,   384,    -1,   386,   387,   388,   389,   390,
22428       -1,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
22429      401,    -1,   403,   404,   405,   406,   407,   408,   409,    -1,
22430       -1,   412,   413,   414,   415,   416,    -1,    -1,   419,   420,
22431      421,   422,   423,   424,   425,    -1,   427,    -1,   429,   430,
22432      431,   432,    -1,    -1,   435,    -1,    -1,   438,   439,   440,
22433      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
22434      451,   452,   453,   454,   455,   456,   457,     3,    -1,    -1,
22435       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22436       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
22437       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
22438       -1,    37,    38,    -1,    40,    41,    42,    -1,    44,    45,
22439       46,    47,    48,    -1,    50,    51,    -1,    53,    54,    55,
22440       56,    57,    58,    -1,    -1,    61,    62,    63,    64,    65,
22441       -1,    67,    68,    69,    70,    71,    -1,    -1,    -1,    75,
22442       76,    77,    78,    79,    -1,    81,    82,    83,    -1,    85,
22443       86,    87,    88,    89,    90,    -1,    -1,    93,    94,    95,
22444       -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,   104,   105,
22445      106,   107,   108,   109,   110,   111,    -1,   113,    -1,   115,
22446      116,   117,   118,   119,   120,    -1,   122,   123,   124,   125,
22447       -1,    -1,   128,   129,   130,   131,   132,    -1,   134,   135,
22448      136,    -1,   138,   139,   140,    -1,   142,   143,   144,   145,
22449      146,   147,   148,   149,   150,    -1,   152,    -1,   154,   155,
22450      156,   157,    -1,   159,    -1,   161,    -1,    -1,    -1,   165,
22451      166,   167,   168,    -1,   170,   171,    -1,   173,   174,   175,
22452       -1,   177,   178,   179,   180,   181,    -1,   183,   184,   185,
22453      186,    -1,   188,   189,   190,   191,   192,   193,   194,    -1,
22454      196,    -1,   198,   199,   200,   201,   202,   203,   204,    -1,
22455      206,    -1,   208,    -1,    -1,   211,    -1,   213,   214,   215,
22456      216,   217,    -1,    -1,   220,   221,    -1,   223,    -1,    -1,
22457      226,   227,   228,    -1,    -1,   231,   232,   233,   234,   235,
22458      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
22459      246,   247,    -1,   249,   250,   251,   252,   253,    -1,   255,
22460      256,    -1,   258,    -1,   260,   261,   262,   263,   264,   265,
22461       -1,   267,   268,    -1,    -1,   271,   272,   273,    -1,    -1,
22462      276,   277,   278,    -1,   280,    -1,   282,   283,   284,   285,
22463      286,   287,   288,   289,   290,   291,    -1,   293,   294,   295,
22464      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
22465      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
22466      316,    -1,   318,   319,   320,   321,   322,   323,   324,   325,
22467      326,   327,   328,   329,    -1,   331,   332,    -1,   334,   335,
22468      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
22469      346,   347,   348,    -1,   350,   351,   352,   353,   354,    -1,
22470      356,   357,   358,   359,   360,    -1,   362,   363,   364,   365,
22471       -1,   367,   368,   369,   370,   371,   372,   373,   374,   375,
22472      376,   377,   378,   379,    -1,   381,   382,    -1,   384,    -1,
22473      386,   387,   388,   389,   390,    -1,   392,   393,   394,    -1,
22474       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
22475      406,   407,   408,   409,    -1,    -1,   412,   413,   414,   415,
22476      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
22477       -1,   427,    -1,   429,   430,   431,   432,    -1,    -1,   435,
22478       -1,    -1,   438,   439,   440,   441,   442,   443,   444,   445,
22479      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
22480      456,   457,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22481       -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
22482       21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
22483       -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
22484       41,    42,    -1,    44,    45,    46,    47,    48,    -1,    50,
22485       51,    -1,    53,    54,    55,    56,    57,    58,    -1,    -1,
22486       61,    62,    63,    64,    65,    -1,    67,    68,    69,    70,
22487       71,    -1,    -1,    -1,    75,    76,    77,    78,    79,    -1,
22488       81,    82,    83,    -1,    85,    86,    87,    88,    89,    90,
22489       -1,    -1,    93,    94,    95,    -1,    -1,    -1,    -1,    -1,
22490       -1,    -1,   103,   104,   105,   106,   107,   108,   109,   110,
22491      111,    -1,   113,    -1,   115,   116,   117,   118,   119,   120,
22492       -1,   122,   123,   124,   125,    -1,    -1,   128,   129,   130,
22493      131,   132,    -1,   134,   135,   136,    -1,   138,   139,   140,
22494       -1,   142,   143,   144,   145,   146,   147,   148,   149,   150,
22495       -1,   152,    -1,   154,   155,   156,   157,    -1,   159,    -1,
22496      161,    -1,    -1,    -1,   165,   166,   167,   168,    -1,   170,
22497      171,    -1,   173,   174,   175,    -1,   177,   178,   179,   180,
22498      181,    -1,   183,   184,   185,   186,    -1,   188,   189,   190,
22499      191,   192,   193,   194,    -1,   196,    -1,   198,   199,   200,
22500      201,   202,   203,   204,    -1,   206,    -1,   208,    -1,    -1,
22501      211,    -1,   213,   214,   215,   216,   217,    -1,    -1,   220,
22502      221,    -1,   223,    -1,    -1,   226,   227,   228,    -1,    -1,
22503      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
22504      241,   242,   243,   244,   245,   246,   247,    -1,   249,   250,
22505      251,   252,   253,    -1,   255,   256,    -1,   258,    -1,   260,
22506      261,   262,   263,   264,   265,    -1,   267,   268,    -1,    -1,
22507      271,   272,   273,    -1,    -1,   276,   277,   278,    -1,   280,
22508       -1,   282,   283,   284,   285,   286,   287,   288,   289,   290,
22509      291,    -1,   293,   294,   295,   296,   297,   298,   299,   300,
22510       -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
22511      311,   312,   313,   314,   315,   316,    -1,   318,   319,   320,
22512      321,   322,   323,   324,   325,   326,   327,   328,   329,    -1,
22513      331,   332,    -1,   334,   335,   336,   337,   338,   339,   340,
22514      341,   342,   343,   344,   345,   346,   347,   348,    -1,   350,
22515      351,   352,   353,   354,    -1,   356,   357,   358,   359,   360,
22516       -1,   362,   363,   364,   365,    -1,   367,   368,   369,   370,
22517      371,   372,   373,   374,   375,   376,   377,   378,   379,    -1,
22518      381,   382,    -1,   384,    -1,   386,   387,   388,   389,   390,
22519       -1,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
22520      401,    -1,   403,   404,   405,   406,   407,   408,   409,    -1,
22521       -1,   412,   413,   414,   415,   416,    -1,    -1,   419,   420,
22522      421,   422,   423,   424,   425,    -1,   427,    -1,   429,   430,
22523      431,   432,    -1,    -1,   435,    -1,    -1,   438,   439,   440,
22524      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
22525      451,   452,   453,   454,   455,   456,   457,     3,    -1,    -1,
22526       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22527       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
22528       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
22529       -1,    37,    38,    -1,    40,    41,    42,    -1,    44,    45,
22530       46,    47,    48,    -1,    50,    51,    -1,    53,    54,    55,
22531       56,    57,    58,    -1,    -1,    61,    62,    63,    64,    65,
22532       -1,    67,    68,    69,    70,    71,    -1,    -1,    -1,    75,
22533       76,    77,    78,    79,    -1,    81,    82,    83,    -1,    85,
22534       86,    87,    88,    89,    90,    -1,    -1,    93,    94,    95,
22535       -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,   104,   105,
22536      106,   107,   108,   109,   110,   111,    -1,   113,    -1,   115,
22537      116,   117,   118,   119,   120,    -1,   122,   123,   124,   125,
22538       -1,    -1,   128,   129,   130,   131,   132,    -1,   134,   135,
22539      136,    -1,   138,   139,   140,    -1,   142,   143,   144,   145,
22540      146,   147,   148,   149,   150,    -1,   152,    -1,   154,   155,
22541      156,   157,    -1,   159,    -1,   161,    -1,    -1,    -1,   165,
22542      166,   167,   168,    -1,   170,   171,    -1,   173,   174,   175,
22543       -1,   177,   178,   179,   180,   181,    -1,   183,   184,   185,
22544      186,    -1,   188,   189,   190,   191,   192,   193,   194,    -1,
22545      196,    -1,   198,   199,   200,   201,   202,   203,   204,    -1,
22546      206,    -1,   208,    -1,    -1,   211,    -1,   213,   214,   215,
22547      216,   217,    -1,    -1,   220,   221,    -1,   223,    -1,    -1,
22548      226,   227,   228,    -1,    -1,   231,   232,   233,   234,   235,
22549      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
22550      246,   247,    -1,   249,   250,   251,   252,   253,    -1,   255,
22551      256,    -1,   258,    -1,   260,   261,   262,   263,   264,   265,
22552       -1,   267,   268,    -1,    -1,   271,   272,   273,    -1,    -1,
22553      276,   277,   278,    -1,   280,    -1,   282,   283,   284,   285,
22554      286,   287,   288,   289,   290,   291,    -1,   293,   294,   295,
22555      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
22556      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
22557      316,    -1,   318,   319,   320,   321,   322,   323,   324,   325,
22558      326,   327,   328,   329,    -1,   331,   332,    -1,   334,   335,
22559      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
22560      346,   347,   348,    -1,   350,   351,   352,   353,   354,    -1,
22561      356,   357,   358,   359,   360,    -1,   362,   363,   364,   365,
22562       -1,   367,   368,   369,   370,   371,   372,   373,   374,   375,
22563      376,   377,   378,   379,    -1,   381,   382,    -1,   384,    -1,
22564      386,   387,   388,   389,   390,    -1,   392,   393,   394,    -1,
22565       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
22566      406,   407,   408,   409,    -1,    -1,   412,   413,   414,   415,
22567      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
22568       -1,   427,    -1,   429,   430,   431,   432,    -1,    -1,   435,
22569       -1,    -1,   438,   439,   440,   441,   442,   443,   444,   445,
22570      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
22571      456,   457,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22572       -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
22573       21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
22574       -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
22575       41,    42,    -1,    44,    45,    46,    47,    48,    -1,    50,
22576       51,    -1,    53,    54,    55,    56,    57,    58,    -1,    -1,
22577       61,    62,    63,    64,    65,    -1,    67,    68,    69,    70,
22578       71,    -1,    -1,    -1,    75,    76,    77,    78,    79,    -1,
22579       81,    82,    83,    -1,    85,    86,    87,    88,    89,    90,
22580       -1,    -1,    93,    94,    95,    -1,    -1,    -1,    -1,    -1,
22581       -1,    -1,   103,   104,   105,   106,   107,   108,   109,   110,
22582      111,    -1,   113,    -1,   115,   116,   117,   118,   119,   120,
22583       -1,   122,   123,   124,   125,    -1,    -1,   128,   129,   130,
22584      131,   132,    -1,   134,   135,   136,    -1,   138,   139,   140,
22585       -1,   142,   143,   144,   145,   146,   147,   148,   149,   150,
22586       -1,   152,    -1,   154,   155,   156,   157,    -1,   159,    -1,
22587      161,    -1,    -1,    -1,   165,   166,   167,   168,    -1,   170,
22588      171,    -1,   173,   174,   175,    -1,   177,   178,   179,   180,
22589      181,    -1,   183,   184,   185,   186,    -1,   188,   189,   190,
22590      191,   192,   193,   194,    -1,   196,    -1,   198,   199,   200,
22591      201,   202,   203,   204,    -1,   206,    -1,   208,    -1,    -1,
22592      211,    -1,   213,   214,   215,   216,   217,    -1,    -1,   220,
22593      221,    -1,   223,    -1,    -1,   226,   227,   228,    -1,    -1,
22594      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
22595      241,   242,   243,   244,   245,   246,   247,    -1,   249,   250,
22596      251,   252,   253,    -1,   255,   256,    -1,   258,    -1,   260,
22597      261,   262,   263,   264,   265,    -1,   267,   268,    -1,    -1,
22598      271,   272,   273,    -1,    -1,   276,   277,   278,    -1,   280,
22599       -1,   282,   283,   284,   285,   286,   287,   288,   289,   290,
22600      291,    -1,   293,   294,   295,   296,   297,   298,   299,   300,
22601       -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
22602      311,   312,   313,   314,   315,   316,    -1,   318,   319,   320,
22603      321,   322,   323,   324,   325,   326,   327,   328,   329,    -1,
22604      331,   332,    -1,   334,   335,   336,   337,   338,   339,   340,
22605      341,   342,   343,   344,   345,   346,   347,   348,    -1,   350,
22606      351,   352,   353,   354,    -1,   356,   357,   358,   359,   360,
22607       -1,   362,   363,   364,   365,    -1,   367,   368,   369,   370,
22608      371,   372,   373,   374,   375,   376,   377,   378,   379,    -1,
22609      381,   382,    -1,   384,    -1,   386,   387,   388,   389,   390,
22610       -1,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
22611      401,    -1,   403,   404,   405,   406,   407,   408,   409,    -1,
22612       -1,   412,   413,   414,   415,   416,    -1,    -1,   419,   420,
22613      421,   422,   423,   424,   425,    -1,   427,    -1,   429,   430,
22614      431,   432,    -1,    -1,   435,    -1,    -1,   438,   439,   440,
22615      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
22616      451,   452,   453,   454,   455,   456,   457,     3,    -1,    -1,
22617       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22618       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
22619       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
22620       -1,    37,    38,    -1,    40,    41,    42,    -1,    44,    45,
22621       46,    47,    48,    -1,    50,    51,    -1,    53,    54,    55,
22622       56,    57,    58,    -1,    -1,    61,    62,    63,    64,    65,
22623       -1,    67,    68,    69,    70,    71,    -1,    -1,    -1,    75,
22624       76,    77,    78,    79,    -1,    81,    82,    83,    -1,    85,
22625       86,    87,    88,    89,    90,    -1,    -1,    93,    94,    95,
22626       -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,   104,   105,
22627      106,   107,   108,   109,   110,   111,    -1,   113,    -1,   115,
22628      116,   117,   118,   119,   120,    -1,   122,   123,   124,   125,
22629       -1,    -1,   128,   129,   130,   131,   132,    -1,   134,   135,
22630      136,    -1,   138,   139,   140,    -1,   142,   143,   144,   145,
22631      146,   147,   148,   149,   150,    -1,   152,    -1,   154,   155,
22632      156,   157,    -1,   159,    -1,   161,    -1,    -1,    -1,   165,
22633      166,   167,   168,    -1,   170,   171,    -1,   173,   174,   175,
22634       -1,   177,   178,   179,   180,   181,    -1,   183,   184,   185,
22635      186,    -1,   188,   189,   190,   191,   192,   193,   194,    -1,
22636      196,    -1,   198,   199,   200,   201,   202,   203,   204,    -1,
22637      206,    -1,   208,    -1,    -1,   211,    -1,   213,   214,   215,
22638      216,   217,    -1,    -1,   220,   221,    -1,   223,    -1,    -1,
22639      226,   227,   228,    -1,    -1,   231,   232,   233,   234,   235,
22640      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
22641      246,   247,    -1,   249,   250,   251,   252,   253,    -1,   255,
22642      256,    -1,   258,    -1,   260,   261,   262,   263,   264,   265,
22643       -1,   267,   268,    -1,    -1,   271,   272,   273,    -1,    -1,
22644      276,   277,   278,    -1,   280,    -1,   282,   283,   284,   285,
22645      286,   287,   288,   289,   290,   291,    -1,   293,   294,   295,
22646      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
22647      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
22648      316,    -1,   318,   319,   320,   321,   322,   323,   324,   325,
22649      326,   327,   328,   329,    -1,   331,   332,    -1,   334,   335,
22650      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
22651      346,   347,   348,    -1,   350,   351,   352,   353,   354,    -1,
22652      356,   357,   358,   359,   360,    -1,   362,   363,   364,   365,
22653       -1,   367,   368,   369,   370,   371,   372,   373,   374,   375,
22654      376,   377,   378,   379,    -1,   381,   382,    -1,   384,    -1,
22655      386,   387,   388,   389,   390,    -1,   392,   393,   394,    -1,
22656       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
22657      406,   407,   408,   409,    -1,    -1,   412,   413,   414,   415,
22658      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
22659       -1,   427,    -1,   429,   430,   431,   432,    -1,    -1,   435,
22660       -1,    -1,   438,   439,   440,   441,   442,   443,   444,   445,
22661      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
22662      456,   457,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22663       -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
22664       21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
22665       -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
22666       41,    42,    -1,    44,    45,    46,    47,    48,    -1,    50,
22667       51,    -1,    53,    54,    55,    56,    57,    58,    -1,    -1,
22668       61,    62,    63,    64,    65,    -1,    67,    68,    69,    70,
22669       71,    -1,    -1,    -1,    75,    76,    77,    78,    79,    -1,
22670       81,    82,    83,    -1,    85,    86,    87,    88,    89,    90,
22671       -1,    -1,    93,    94,    95,    -1,    -1,    -1,    -1,    -1,
22672       -1,    -1,   103,   104,   105,   106,   107,   108,   109,   110,
22673      111,    -1,   113,    -1,   115,   116,   117,   118,   119,   120,
22674       -1,   122,   123,   124,   125,    -1,    -1,   128,   129,   130,
22675      131,   132,    -1,   134,   135,   136,    -1,   138,   139,   140,
22676       -1,   142,   143,   144,   145,   146,   147,   148,   149,   150,
22677       -1,   152,    -1,   154,   155,   156,   157,    -1,   159,    -1,
22678      161,    -1,    -1,    -1,   165,   166,   167,   168,    -1,   170,
22679      171,    -1,   173,   174,   175,    -1,   177,   178,   179,   180,
22680      181,    -1,   183,   184,   185,   186,    -1,   188,   189,   190,
22681      191,   192,   193,   194,    -1,   196,    -1,   198,   199,   200,
22682      201,   202,   203,   204,    -1,   206,    -1,   208,    -1,    -1,
22683      211,    -1,   213,   214,   215,   216,   217,    -1,    -1,   220,
22684      221,    -1,   223,    -1,    -1,   226,   227,   228,    -1,    -1,
22685      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
22686      241,   242,   243,   244,   245,   246,   247,    -1,   249,   250,
22687      251,   252,   253,    -1,   255,   256,    -1,   258,    -1,   260,
22688      261,   262,   263,   264,   265,    -1,   267,   268,    -1,    -1,
22689      271,   272,   273,    -1,    -1,   276,   277,   278,    -1,   280,
22690       -1,   282,   283,   284,   285,   286,   287,   288,   289,   290,
22691      291,    -1,   293,   294,   295,   296,   297,   298,   299,   300,
22692       -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
22693      311,   312,   313,   314,   315,   316,    -1,   318,   319,   320,
22694      321,   322,   323,   324,   325,   326,   327,   328,   329,    -1,
22695      331,   332,    -1,   334,   335,   336,   337,   338,   339,   340,
22696      341,   342,   343,   344,   345,   346,   347,   348,    -1,   350,
22697      351,   352,   353,   354,    -1,   356,   357,   358,   359,   360,
22698       -1,   362,   363,   364,   365,    -1,   367,   368,   369,   370,
22699      371,   372,   373,   374,   375,   376,   377,   378,   379,    -1,
22700      381,   382,    -1,   384,    -1,   386,   387,   388,   389,   390,
22701       -1,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
22702      401,    -1,   403,   404,   405,   406,   407,   408,   409,    -1,
22703       -1,   412,   413,   414,   415,   416,    -1,    -1,   419,   420,
22704      421,   422,   423,   424,   425,    -1,   427,    -1,   429,   430,
22705      431,   432,    -1,    -1,   435,    -1,    -1,   438,   439,   440,
22706      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
22707      451,   452,   453,   454,   455,   456,   457,     3,    -1,    -1,
22708       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22709       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
22710       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
22711       -1,    37,    38,    -1,    40,    41,    42,    -1,    44,    45,
22712       46,    47,    48,    -1,    50,    51,    -1,    53,    54,    55,
22713       56,    57,    58,    -1,    -1,    61,    62,    63,    64,    65,
22714       -1,    67,    68,    69,    70,    71,    -1,    -1,    -1,    75,
22715       76,    77,    78,    79,    -1,    81,    82,    83,    -1,    85,
22716       86,    87,    88,    89,    90,    -1,    -1,    93,    94,    95,
22717       -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,   104,   105,
22718      106,   107,   108,   109,   110,   111,    -1,   113,    -1,   115,
22719      116,   117,   118,   119,   120,    -1,   122,   123,   124,   125,
22720       -1,    -1,   128,   129,   130,   131,   132,    -1,   134,   135,
22721      136,    -1,   138,   139,   140,    -1,   142,   143,   144,   145,
22722      146,   147,   148,   149,   150,    -1,   152,    -1,   154,   155,
22723      156,   157,    -1,   159,    -1,   161,    -1,    -1,    -1,   165,
22724      166,   167,   168,    -1,   170,   171,    -1,   173,   174,   175,
22725       -1,   177,   178,   179,   180,   181,    -1,   183,   184,   185,
22726      186,    -1,   188,   189,   190,   191,   192,   193,   194,    -1,
22727      196,    -1,   198,   199,   200,   201,   202,   203,   204,    -1,
22728      206,    -1,   208,    -1,    -1,   211,    -1,   213,   214,   215,
22729      216,   217,    -1,    -1,   220,   221,    -1,   223,    -1,    -1,
22730      226,   227,   228,    -1,    -1,   231,   232,   233,   234,   235,
22731      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
22732      246,   247,    -1,   249,   250,   251,   252,   253,    -1,   255,
22733      256,    -1,   258,    -1,   260,   261,   262,   263,   264,   265,
22734       -1,   267,   268,    -1,    -1,   271,   272,   273,    -1,    -1,
22735      276,   277,   278,    -1,   280,    -1,   282,   283,   284,   285,
22736      286,   287,   288,   289,   290,   291,    -1,   293,   294,   295,
22737      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
22738      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
22739      316,    -1,   318,   319,   320,   321,   322,   323,   324,   325,
22740      326,   327,   328,   329,    -1,   331,   332,    -1,   334,   335,
22741      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
22742      346,   347,   348,    -1,   350,   351,   352,   353,   354,    -1,
22743      356,   357,   358,   359,   360,    -1,   362,   363,   364,   365,
22744       -1,   367,   368,   369,   370,   371,   372,   373,   374,   375,
22745      376,   377,   378,   379,    -1,   381,   382,    -1,   384,    -1,
22746      386,   387,   388,   389,   390,    -1,   392,   393,   394,    -1,
22747       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
22748      406,   407,   408,   409,    -1,    -1,   412,   413,   414,   415,
22749      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
22750       -1,   427,    -1,   429,   430,   431,   432,    -1,    -1,   435,
22751       -1,    -1,   438,   439,   440,   441,   442,   443,   444,   445,
22752      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
22753      456,   457,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22754       -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
22755       21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
22756       -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
22757       41,    42,    -1,    44,    45,    46,    47,    48,    -1,    50,
22758       51,    -1,    53,    54,    55,    56,    57,    58,    -1,    -1,
22759       61,    62,    63,    64,    65,    -1,    67,    68,    69,    70,
22760       71,    -1,    -1,    -1,    75,    76,    77,    78,    79,    -1,
22761       81,    82,    83,    -1,    85,    86,    87,    88,    89,    90,
22762       -1,    -1,    93,    94,    95,    -1,    -1,    -1,    -1,    -1,
22763       -1,    -1,   103,   104,   105,   106,   107,   108,   109,   110,
22764      111,    -1,   113,    -1,   115,   116,   117,   118,   119,   120,
22765       -1,   122,   123,   124,   125,    -1,    -1,   128,   129,   130,
22766      131,   132,    -1,   134,   135,   136,    -1,   138,   139,   140,
22767       -1,   142,   143,   144,   145,   146,   147,   148,   149,   150,
22768       -1,   152,    -1,   154,   155,   156,   157,    -1,   159,    -1,
22769      161,    -1,    -1,    -1,   165,   166,   167,   168,    -1,   170,
22770      171,    -1,   173,   174,   175,    -1,   177,   178,   179,   180,
22771      181,    -1,   183,   184,   185,   186,    -1,   188,   189,   190,
22772      191,   192,   193,   194,    -1,   196,    -1,   198,   199,   200,
22773      201,   202,   203,   204,    -1,   206,    -1,   208,    -1,    -1,
22774      211,    -1,   213,   214,   215,   216,   217,    -1,    -1,   220,
22775      221,    -1,   223,    -1,    -1,   226,   227,   228,    -1,    -1,
22776      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
22777      241,   242,   243,   244,   245,   246,   247,    -1,   249,   250,
22778      251,   252,   253,    -1,   255,   256,    -1,   258,    -1,   260,
22779      261,   262,   263,   264,   265,    -1,   267,   268,    -1,    -1,
22780      271,   272,   273,    -1,    -1,   276,   277,   278,    -1,   280,
22781       -1,   282,   283,   284,   285,   286,   287,   288,   289,   290,
22782      291,    -1,   293,   294,   295,   296,   297,   298,   299,   300,
22783       -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
22784      311,   312,   313,   314,   315,   316,    -1,   318,   319,   320,
22785      321,   322,   323,   324,   325,   326,   327,   328,   329,    -1,
22786      331,   332,    -1,   334,   335,   336,   337,   338,   339,   340,
22787      341,   342,   343,   344,   345,   346,   347,   348,    -1,   350,
22788      351,   352,   353,   354,    -1,   356,   357,   358,   359,   360,
22789       -1,   362,   363,   364,   365,    -1,   367,   368,   369,   370,
22790      371,   372,   373,   374,   375,   376,   377,   378,   379,    -1,
22791      381,   382,    -1,   384,    -1,   386,   387,   388,   389,   390,
22792       -1,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
22793      401,    -1,   403,   404,   405,   406,   407,   408,   409,    -1,
22794       -1,   412,   413,   414,   415,   416,    -1,    -1,   419,   420,
22795      421,   422,   423,   424,   425,    -1,   427,    -1,   429,   430,
22796      431,   432,    -1,    -1,   435,    -1,    -1,   438,   439,   440,
22797      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
22798      451,   452,   453,   454,   455,   456,   457,     3,    -1,    -1,
22799       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22800       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
22801       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
22802       -1,    37,    38,    -1,    40,    41,    42,    -1,    44,    45,
22803       46,    47,    48,    -1,    50,    51,    -1,    53,    54,    55,
22804       56,    57,    58,    -1,    -1,    61,    62,    63,    64,    65,
22805       -1,    67,    68,    69,    70,    71,    -1,    -1,    -1,    75,
22806       76,    77,    78,    79,    -1,    81,    82,    83,    -1,    85,
22807       86,    87,    88,    89,    90,    -1,    -1,    93,    94,    95,
22808       -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,   104,   105,
22809      106,   107,   108,   109,   110,   111,    -1,   113,    -1,   115,
22810      116,   117,   118,   119,   120,    -1,   122,   123,   124,   125,
22811       -1,    -1,   128,   129,   130,   131,   132,    -1,   134,   135,
22812      136,    -1,   138,   139,   140,    -1,   142,   143,   144,   145,
22813      146,   147,   148,   149,   150,    -1,   152,    -1,   154,   155,
22814      156,   157,    -1,   159,    -1,   161,    -1,    -1,    -1,   165,
22815      166,   167,   168,    -1,   170,   171,    -1,   173,   174,   175,
22816       -1,   177,   178,   179,   180,   181,    -1,   183,   184,   185,
22817      186,    -1,   188,   189,   190,   191,   192,   193,   194,    -1,
22818      196,    -1,   198,   199,   200,   201,   202,   203,   204,    -1,
22819      206,    -1,   208,    -1,    -1,   211,    -1,   213,   214,   215,
22820      216,   217,    -1,    -1,   220,   221,    -1,   223,    -1,    -1,
22821      226,   227,   228,    -1,    -1,   231,   232,   233,   234,   235,
22822      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
22823      246,   247,    -1,   249,   250,   251,   252,   253,    -1,   255,
22824      256,    -1,   258,    -1,   260,   261,   262,   263,   264,   265,
22825       -1,   267,   268,    -1,    -1,   271,   272,   273,    -1,    -1,
22826      276,   277,   278,    -1,   280,    -1,   282,   283,   284,   285,
22827      286,   287,   288,   289,   290,   291,    -1,   293,   294,   295,
22828      296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
22829      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
22830      316,    -1,   318,   319,   320,   321,   322,   323,   324,   325,
22831      326,   327,   328,   329,    -1,   331,   332,    -1,   334,   335,
22832      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
22833      346,   347,   348,    -1,   350,   351,   352,   353,   354,    -1,
22834      356,   357,   358,   359,   360,    -1,   362,   363,   364,   365,
22835       -1,   367,   368,   369,   370,   371,   372,   373,   374,   375,
22836      376,   377,   378,   379,    -1,   381,   382,    -1,   384,    -1,
22837      386,   387,   388,   389,   390,    -1,   392,   393,   394,    -1,
22838       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
22839      406,   407,   408,   409,    -1,    -1,   412,   413,   414,   415,
22840      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
22841       -1,   427,    -1,   429,   430,   431,   432,    -1,    -1,   435,
22842       -1,    -1,   438,   439,   440,   441,   442,   443,   444,   445,
22843      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
22844      456,   457,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22845       -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
22846       21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
22847       -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
22848       41,    42,    -1,    44,    45,    46,    47,    48,    -1,    50,
22849       51,    -1,    53,    54,    55,    56,    57,    58,    -1,    -1,
22850       61,    62,    63,    64,    65,    -1,    67,    68,    69,    70,
22851       71,    -1,    -1,    -1,    75,    76,    77,    78,    79,    -1,
22852       81,    82,    83,    -1,    85,    86,    87,    88,    89,    90,
22853       -1,    -1,    93,    94,    95,    -1,    -1,    -1,    -1,    -1,
22854       -1,    -1,   103,   104,   105,   106,   107,   108,   109,   110,
22855      111,    -1,   113,    -1,   115,   116,   117,   118,   119,   120,
22856       -1,   122,   123,   124,   125,    -1,    -1,   128,   129,   130,
22857      131,   132,    -1,   134,   135,   136,    -1,   138,   139,   140,
22858       -1,   142,   143,   144,   145,   146,   147,   148,   149,   150,
22859       -1,   152,    -1,   154,   155,   156,   157,    -1,   159,    -1,
22860      161,    -1,    -1,    -1,   165,   166,   167,   168,    -1,   170,
22861      171,    -1,   173,   174,   175,    -1,   177,   178,   179,   180,
22862      181,    -1,   183,   184,   185,   186,    -1,   188,   189,   190,
22863      191,   192,   193,   194,    -1,   196,    -1,   198,   199,   200,
22864      201,   202,   203,   204,    -1,   206,    -1,   208,    -1,    -1,
22865      211,    -1,   213,   214,   215,   216,   217,    -1,    -1,   220,
22866      221,    -1,   223,    -1,    -1,   226,   227,   228,    -1,    -1,
22867      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
22868      241,   242,   243,   244,   245,   246,   247,    -1,   249,   250,
22869      251,   252,   253,    -1,   255,   256,    -1,   258,    -1,   260,
22870      261,   262,   263,   264,   265,    -1,   267,   268,    -1,    -1,
22871      271,   272,   273,    -1,    -1,   276,   277,   278,    -1,   280,
22872       -1,   282,   283,   284,   285,   286,   287,   288,   289,   290,
22873      291,    -1,   293,   294,   295,   296,   297,   298,   299,   300,
22874       -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
22875      311,   312,   313,   314,   315,   316,    -1,   318,   319,   320,
22876      321,   322,   323,   324,   325,   326,   327,   328,   329,    -1,
22877      331,   332,    -1,   334,   335,   336,   337,   338,   339,   340,
22878      341,   342,   343,   344,   345,   346,   347,   348,    -1,   350,
22879      351,   352,   353,   354,    -1,   356,   357,   358,   359,   360,
22880       -1,   362,   363,   364,   365,    -1,   367,   368,   369,   370,
22881      371,   372,   373,   374,   375,   376,   377,   378,   379,    -1,
22882      381,   382,    -1,   384,    -1,   386,   387,   388,   389,   390,
22883       -1,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
22884      401,    -1,   403,   404,   405,   406,   407,   408,   409,    -1,
22885       -1,   412,   413,   414,   415,   416,    -1,    -1,   419,   420,
22886      421,   422,   423,   424,   425,    -1,   427,    -1,   429,   430,
22887      431,   432,    -1,    -1,   435,    -1,    -1,   438,   439,   440,
22888      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
22889      451,   452,   453,   454,   455,   456,   457,     3,    -1,    -1,
22890       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22891       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
22892       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
22893       -1,    37,    38,    -1,    40,    41,    42,    43,    44,    45,
22894       46,    -1,    48,    49,    50,    51,    -1,    53,    54,    55,
22895       56,    57,    58,    -1,    -1,    61,    62,    63,    64,    65,
22896       -1,    67,    68,    69,    70,    -1,    -1,    73,    -1,    75,
22897       76,    77,    78,    79,    80,    81,    82,    83,    -1,    85,
22898       86,    87,    88,    89,    90,    -1,    92,    93,    94,    95,
22899       -1,    -1,    -1,    99,    -1,    -1,    -1,   103,   104,   105,
22900      106,   107,   108,   109,   110,   111,    -1,   113,    -1,   115,
22901      116,   117,   118,   119,   120,    -1,   122,   123,   124,   125,
22902       -1,    -1,   128,   129,   130,   131,   132,    -1,   134,   135,
22903      136,    -1,   138,   139,   140,    -1,   142,   143,   144,   145,
22904       -1,   147,   148,   149,    -1,    -1,   152,    -1,   154,   155,
22905      156,   157,    -1,   159,    -1,   161,   162,    -1,   164,   165,
22906      166,   167,   168,    -1,   170,    -1,    -1,    -1,   174,   175,
22907       -1,   177,   178,   179,   180,   181,   182,   183,   184,   185,
22908      186,   187,   188,   189,   190,   191,   192,   193,   194,    -1,
22909      196,   197,   198,   199,   200,   201,   202,   203,   204,    -1,
22910      206,    -1,   208,   209,   210,   211,   212,   213,   214,   215,
22911      216,   217,    -1,    -1,   220,    -1,   222,   223,   224,    -1,
22912      226,   227,   228,    -1,    -1,   231,   232,   233,   234,   235,
22913      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
22914      246,   247,   248,   249,   250,   251,   252,    -1,    -1,   255,
22915      256,   257,   258,    -1,    -1,   261,   262,   263,   264,   265,
22916       -1,   267,   268,    -1,    -1,   271,   272,   273,    -1,    -1,
22917      276,   277,   278,   279,   280,   281,    -1,   283,   284,   285,
22918      286,   287,   288,   289,   290,   291,    -1,   293,   294,    -1,
22919      296,    -1,   298,   299,   300,    -1,   302,   303,   304,   305,
22920      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
22921      316,    -1,   318,   319,   320,   321,   322,   323,   324,   325,
22922      326,   327,   328,   329,    -1,   331,   332,   333,   334,   335,
22923      336,   337,   338,    -1,   340,   341,   342,   343,   344,   345,
22924      346,   347,   348,    -1,   350,   351,   352,   353,   354,    -1,
22925      356,   357,   358,   359,   360,   361,   362,   363,   364,   365,
22926       -1,   367,   368,   369,   370,   371,   372,   373,   374,   375,
22927      376,   377,   378,    -1,    -1,   381,   382,    -1,   384,   385,
22928      386,   387,   388,   389,   390,    -1,   392,   393,   394,    -1,
22929       -1,   397,   398,    -1,   400,    -1,    -1,   403,   404,   405,
22930      406,   407,   408,   409,    -1,    -1,   412,   413,   414,   415,
22931      416,    -1,    -1,   419,   420,   421,   422,   423,    -1,   425,
22932      426,   427,   428,   429,   430,   431,   432,    -1,    -1,   435,
22933       -1,    -1,   438,   439,   440,   441,   442,   443,     3,    -1,
22934       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   455,
22935      456,   457,    -1,    18,    19,    20,    21,    22,    23,    24,
22936       25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,
22937       -1,    -1,    37,    38,    -1,    40,    41,    42,    -1,    44,
22938       45,    46,    47,    48,    -1,    50,    51,    -1,    53,    54,
22939       55,    56,    57,    58,    -1,    -1,    61,    62,    63,    64,
22940       65,    -1,    67,    68,    69,    70,    71,    -1,    -1,    -1,
22941       75,    76,    77,    78,    79,    -1,    81,    82,    83,    -1,
22942       85,    86,    87,    88,    89,    90,    -1,    -1,    93,    94,
22943       95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,   104,
22944      105,   106,   107,   108,   109,   110,   111,    -1,   113,    -1,
22945      115,   116,   117,   118,   119,   120,    -1,   122,   123,   124,
22946      125,    -1,    -1,   128,   129,   130,   131,   132,    -1,   134,
22947      135,   136,    -1,   138,   139,   140,    -1,   142,   143,   144,
22948      145,   146,   147,   148,   149,   150,    -1,   152,    -1,   154,
22949      155,   156,   157,    -1,   159,    -1,   161,    -1,    -1,    -1,
22950      165,   166,   167,   168,    -1,   170,   171,    -1,   173,    -1,
22951      175,    -1,   177,   178,   179,   180,   181,    -1,   183,   184,
22952      185,   186,    -1,   188,   189,   190,   191,   192,   193,   194,
22953       -1,   196,    -1,   198,   199,   200,   201,   202,   203,   204,
22954       -1,   206,    -1,   208,    -1,    -1,   211,    -1,   213,   214,
22955      215,   216,   217,    -1,    -1,   220,   221,    -1,   223,    -1,
22956       -1,   226,   227,   228,    -1,    -1,   231,   232,   233,   234,
22957      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
22958      245,   246,   247,    -1,   249,   250,   251,   252,   253,    -1,
22959      255,   256,    -1,   258,    -1,   260,   261,   262,   263,   264,
22960      265,    -1,   267,   268,    -1,    -1,   271,   272,   273,    -1,
22961       -1,   276,   277,   278,    -1,   280,    -1,   282,   283,   284,
22962      285,   286,   287,   288,    -1,   290,   291,    -1,   293,   294,
22963      295,   296,   297,   298,   299,   300,    -1,   302,   303,   304,
22964      305,   306,   307,   308,   309,    -1,   311,   312,   313,   314,
22965      315,   316,    -1,   318,   319,   320,   321,   322,   323,   324,
22966      325,   326,   327,   328,   329,    -1,   331,   332,    -1,   334,
22967      335,   336,   337,   338,   339,    -1,   341,   342,   343,   344,
22968      345,   346,   347,   348,    -1,   350,   351,   352,   353,   354,
22969       -1,   356,   357,   358,   359,   360,    -1,   362,   363,   364,
22970      365,    -1,   367,   368,   369,   370,   371,   372,   373,   374,
22971      375,   376,   377,   378,   379,    -1,   381,   382,    -1,   384,
22972       -1,   386,   387,   388,   389,   390,    -1,   392,   393,   394,
22973       -1,    -1,   397,   398,   399,   400,   401,    -1,   403,   404,
22974      405,   406,   407,   408,   409,    -1,    -1,   412,   413,   414,
22975      415,   416,    -1,    -1,   419,   420,   421,   422,   423,   424,
22976      425,    -1,   427,    -1,   429,   430,   431,   432,    -1,    -1,
22977      435,    -1,    -1,   438,   439,   440,   441,   442,   443,   444,
22978      445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
22979      455,   456,   457,     3,    -1,    -1,    -1,    -1,    -1,    -1,
22980       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,
22981       20,    21,    22,    23,    24,    25,    -1,    27,    28,    29,
22982       -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,
22983       40,    41,    42,    43,    44,    45,    46,    -1,    48,    49,
22984       50,    51,    -1,    53,    54,    55,    56,    57,    58,    -1,
22985       -1,    61,    62,    63,    64,    65,    -1,    67,    68,    69,
22986       70,    -1,    -1,    73,    -1,    75,    76,    77,    78,    79,
22987       80,    81,    82,    83,    -1,    85,    86,    87,    88,    89,
22988       90,    -1,    92,    93,    94,    95,    -1,    -1,    -1,    99,
22989       -1,    -1,    -1,   103,   104,   105,   106,   107,   108,   109,
22990      110,   111,    -1,   113,    -1,   115,   116,   117,   118,   119,
22991      120,    -1,   122,   123,   124,   125,    -1,    -1,   128,   129,
22992      130,   131,   132,    -1,   134,   135,   136,    -1,   138,   139,
22993      140,    -1,   142,   143,   144,   145,    -1,   147,   148,   149,
22994       -1,    -1,   152,    -1,   154,   155,   156,   157,    -1,   159,
22995       -1,   161,   162,    -1,   164,   165,   166,   167,   168,    -1,
22996      170,    -1,    -1,    -1,   174,   175,    -1,   177,   178,   179,
22997      180,   181,   182,   183,   184,   185,   186,    -1,   188,   189,
22998      190,   191,   192,   193,   194,    -1,   196,   197,    -1,   199,
22999      200,   201,   202,   203,   204,    -1,   206,    -1,   208,   209,
23000      210,   211,   212,   213,   214,   215,   216,   217,    -1,    -1,
23001      220,    -1,   222,   223,   224,    -1,   226,   227,   228,    -1,
23002       -1,   231,   232,   233,   234,   235,   236,   237,   238,   239,
23003      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
23004      250,   251,   252,    -1,    -1,   255,   256,   257,   258,   259,
23005       -1,   261,   262,   263,   264,   265,    -1,   267,   268,    -1,
23006       -1,   271,   272,   273,    -1,    -1,   276,   277,    -1,   279,
23007      280,   281,    -1,   283,   284,   285,   286,   287,   288,   289,
23008      290,   291,    -1,   293,   294,    -1,   296,    -1,   298,   299,
23009      300,    -1,   302,   303,   304,   305,   306,   307,   308,   309,
23010      310,   311,   312,   313,   314,   315,   316,    -1,   318,   319,
23011      320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
23012       -1,   331,   332,   333,   334,   335,   336,   337,   338,    -1,
23013      340,   341,   342,   343,   344,   345,   346,   347,   348,    -1,
23014      350,   351,   352,   353,   354,    -1,   356,   357,   358,   359,
23015      360,   361,   362,   363,   364,   365,    -1,   367,   368,   369,
23016      370,   371,   372,   373,   374,   375,   376,   377,   378,    -1,
23017       -1,   381,   382,   383,   384,   385,   386,   387,   388,   389,
23018      390,    -1,   392,   393,   394,    -1,    -1,   397,   398,    -1,
23019      400,    -1,    -1,   403,   404,   405,   406,   407,   408,   409,
23020       -1,    -1,   412,   413,   414,   415,   416,    -1,    -1,   419,
23021      420,   421,   422,   423,    -1,   425,    -1,   427,   428,   429,
23022      430,   431,   432,    -1,    -1,   435,    -1,    -1,   438,   439,
23023      440,   441,   442,   443,     3,    -1,    -1,    -1,    -1,    -1,
23024       -1,    -1,    -1,    -1,    -1,   455,   456,   457,    -1,    18,
23025       19,    20,    21,    22,    23,    24,    25,    -1,    27,    28,
23026       29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,
23027       -1,    40,    41,    42,    43,    44,    45,    46,    -1,    48,
23028       49,    50,    51,    -1,    53,    54,    55,    56,    57,    58,
23029       -1,    -1,    61,    62,    63,    64,    65,    -1,    67,    68,
23030       69,    70,    -1,    -1,    73,    -1,    75,    76,    77,    78,
23031       79,    80,    81,    82,    83,    -1,    85,    86,    87,    88,
23032       89,    90,    -1,    92,    93,    94,    95,    -1,    -1,    -1,
23033       99,    -1,    -1,    -1,   103,   104,   105,   106,   107,   108,
23034      109,   110,   111,    -1,   113,    -1,   115,   116,   117,   118,
23035      119,   120,    -1,   122,   123,   124,   125,    -1,    -1,   128,
23036      129,   130,   131,   132,    -1,   134,   135,   136,    -1,   138,
23037      139,   140,    -1,   142,   143,   144,   145,    -1,   147,   148,
23038      149,    -1,    -1,   152,    -1,   154,   155,   156,   157,    -1,
23039      159,    -1,   161,   162,    -1,   164,   165,   166,   167,   168,
23040       -1,   170,    -1,    -1,    -1,   174,   175,    -1,   177,   178,
23041      179,   180,   181,   182,   183,   184,   185,   186,    -1,   188,
23042      189,   190,   191,   192,   193,   194,    -1,   196,   197,    -1,
23043      199,   200,   201,   202,   203,   204,    -1,   206,    -1,   208,
23044      209,   210,   211,   212,   213,   214,   215,   216,   217,    -1,
23045       -1,   220,    -1,   222,   223,   224,    -1,   226,   227,   228,
23046       -1,    -1,   231,   232,   233,   234,   235,   236,   237,   238,
23047      239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
23048      249,   250,   251,   252,   253,    -1,   255,   256,   257,   258,
23049       -1,    -1,   261,   262,   263,   264,   265,    -1,   267,   268,
23050       -1,    -1,   271,   272,   273,    -1,    -1,   276,   277,    -1,
23051      279,   280,   281,    -1,   283,   284,   285,   286,   287,   288,
23052      289,   290,   291,    -1,   293,   294,    -1,   296,    -1,   298,
23053      299,   300,    -1,   302,   303,   304,   305,   306,   307,   308,
23054      309,   310,   311,   312,   313,   314,   315,   316,    -1,   318,
23055      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
23056      329,    -1,   331,   332,   333,   334,   335,   336,   337,   338,
23057       -1,   340,   341,   342,   343,   344,   345,   346,   347,   348,
23058       -1,   350,   351,   352,   353,   354,    -1,   356,   357,   358,
23059      359,   360,   361,   362,   363,   364,   365,    -1,   367,   368,
23060      369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
23061       -1,    -1,   381,   382,    -1,   384,   385,   386,   387,   388,
23062      389,   390,    -1,   392,   393,   394,    -1,    -1,   397,   398,
23063       -1,   400,    -1,    -1,   403,   404,   405,   406,   407,   408,
23064      409,    -1,    -1,   412,   413,   414,   415,   416,    -1,    -1,
23065      419,   420,   421,   422,   423,    -1,   425,    -1,   427,   428,
23066      429,   430,   431,   432,    -1,    -1,   435,    -1,    -1,   438,
23067      439,   440,   441,   442,   443,     3,    -1,    -1,    -1,    -1,
23068       -1,    -1,    -1,    -1,    -1,    -1,   455,   456,   457,    -1,
23069       18,    19,    20,    21,    22,    23,    24,    25,    -1,    27,
23070       28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,
23071       38,    -1,    40,    41,    42,    43,    44,    45,    46,    -1,
23072       48,    49,    50,    51,    -1,    53,    54,    55,    56,    57,
23073       58,    -1,    -1,    61,    62,    63,    64,    65,    -1,    67,
23074       68,    69,    70,    -1,    -1,    73,    -1,    75,    76,    77,
23075       78,    79,    80,    81,    82,    83,    -1,    85,    86,    87,
23076       88,    89,    90,    -1,    92,    93,    94,    95,    -1,    -1,
23077       -1,    99,    -1,    -1,    -1,   103,   104,   105,   106,   107,
23078      108,   109,   110,   111,    -1,   113,    -1,   115,   116,   117,
23079      118,   119,   120,    -1,   122,   123,   124,   125,    -1,    -1,
23080      128,   129,   130,   131,   132,    -1,   134,   135,   136,    -1,
23081      138,   139,   140,    -1,   142,   143,   144,   145,    -1,   147,
23082      148,   149,    -1,    -1,   152,    -1,   154,   155,   156,   157,
23083       -1,   159,    -1,   161,   162,    -1,   164,   165,   166,   167,
23084      168,    -1,   170,    -1,    -1,    -1,   174,   175,    -1,   177,
23085      178,   179,   180,   181,   182,   183,   184,   185,   186,    -1,
23086      188,   189,   190,   191,   192,   193,   194,    -1,   196,   197,
23087       -1,   199,   200,   201,   202,   203,   204,    -1,   206,    -1,
23088      208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
23089       -1,    -1,   220,    -1,   222,   223,   224,    -1,   226,   227,
23090      228,    -1,    -1,   231,   232,   233,   234,   235,   236,   237,
23091      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
23092      248,   249,   250,   251,   252,   253,    -1,   255,   256,   257,
23093      258,    -1,    -1,   261,   262,   263,   264,   265,    -1,   267,
23094      268,    -1,    -1,   271,   272,   273,    -1,    -1,   276,   277,
23095       -1,   279,   280,   281,    -1,   283,   284,   285,   286,   287,
23096      288,   289,   290,   291,    -1,   293,   294,    -1,   296,    -1,
23097      298,   299,   300,    -1,   302,   303,   304,   305,   306,   307,
23098      308,   309,   310,   311,   312,   313,   314,   315,   316,    -1,
23099      318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
23100      328,   329,    -1,   331,   332,   333,   334,   335,   336,   337,
23101      338,    -1,   340,   341,   342,   343,   344,   345,   346,   347,
23102      348,    -1,   350,   351,   352,   353,   354,    -1,   356,   357,
23103      358,   359,   360,   361,   362,   363,   364,   365,    -1,   367,
23104      368,   369,   370,   371,   372,   373,   374,   375,   376,   377,
23105      378,    -1,    -1,   381,   382,    -1,   384,   385,   386,   387,
23106      388,   389,   390,    -1,   392,   393,   394,    -1,    -1,   397,
23107      398,    -1,   400,    -1,    -1,   403,   404,   405,   406,   407,
23108      408,   409,    -1,    -1,   412,   413,   414,   415,   416,    -1,
23109       -1,   419,   420,   421,   422,   423,    -1,   425,    -1,   427,
23110      428,   429,   430,   431,   432,    -1,    -1,   435,    -1,    -1,
23111      438,   439,   440,   441,   442,   443,     3,    -1,    -1,    -1,
23112       -1,    -1,    -1,    -1,    -1,    -1,    -1,   455,   456,   457,
23113       -1,    18,    19,    20,    21,    22,    23,    24,    25,    -1,
23114       27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23115       37,    38,    -1,    40,    41,    42,    43,    44,    45,    46,
23116       -1,    48,    49,    50,    51,    -1,    53,    54,    55,    56,
23117       57,    58,    -1,    -1,    61,    62,    63,    64,    65,    -1,
23118       67,    68,    69,    70,    -1,    -1,    73,    -1,    75,    76,
23119       77,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
23120       87,    88,    89,    90,    -1,    92,    93,    94,    95,    -1,
23121       -1,    -1,    99,    -1,    -1,    -1,   103,   104,   105,   106,
23122      107,   108,   109,   110,   111,    -1,   113,    -1,   115,   116,
23123      117,   118,   119,   120,    -1,   122,   123,   124,   125,    -1,
23124       -1,   128,   129,   130,   131,   132,    -1,   134,   135,   136,
23125       -1,   138,   139,   140,    -1,   142,   143,   144,   145,    -1,
23126      147,   148,   149,    -1,    -1,   152,    -1,   154,   155,   156,
23127      157,   158,   159,    -1,   161,   162,    -1,   164,   165,   166,
23128      167,   168,    -1,   170,    -1,    -1,    -1,   174,   175,    -1,
23129      177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
23130       -1,   188,   189,   190,   191,   192,   193,   194,    -1,   196,
23131      197,    -1,   199,   200,   201,   202,   203,   204,    -1,   206,
23132       -1,   208,   209,   210,   211,   212,   213,   214,   215,   216,
23133      217,    -1,    -1,   220,    -1,   222,   223,   224,    -1,   226,
23134      227,   228,    -1,    -1,   231,   232,   233,   234,   235,   236,
23135      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
23136      247,   248,   249,   250,   251,   252,    -1,    -1,   255,   256,
23137      257,   258,    -1,    -1,   261,   262,   263,   264,   265,    -1,
23138      267,   268,    -1,    -1,   271,   272,   273,    -1,    -1,   276,
23139      277,    -1,   279,   280,   281,    -1,   283,   284,   285,   286,
23140      287,   288,   289,   290,   291,    -1,   293,   294,    -1,   296,
23141       -1,   298,   299,   300,    -1,   302,   303,   304,   305,   306,
23142      307,   308,   309,   310,   311,   312,   313,   314,   315,   316,
23143       -1,   318,   319,   320,   321,   322,   323,   324,   325,   326,
23144      327,   328,   329,    -1,   331,   332,   333,   334,   335,   336,
23145      337,   338,    -1,   340,   341,   342,   343,   344,   345,   346,
23146      347,   348,    -1,   350,   351,   352,   353,   354,    -1,   356,
23147      357,   358,   359,   360,   361,   362,   363,   364,   365,    -1,
23148      367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
23149      377,   378,    -1,    -1,   381,   382,    -1,   384,   385,   386,
23150      387,   388,   389,   390,    -1,   392,   393,   394,    -1,    -1,
23151      397,   398,    -1,   400,    -1,    -1,   403,   404,   405,   406,
23152      407,   408,   409,    -1,    -1,   412,   413,   414,   415,   416,
23153       -1,    -1,   419,   420,   421,   422,   423,    -1,   425,    -1,
23154      427,   428,   429,   430,   431,   432,    -1,    -1,   435,    -1,
23155       -1,   438,   439,   440,   441,   442,   443,     3,    -1,    -1,
23156       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   455,   456,
23157      457,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
23158       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
23159       -1,    37,    38,    -1,    40,    41,    42,    43,    44,    45,
23160       46,    -1,    48,    49,    50,    51,    -1,    53,    54,    55,
23161       56,    57,    58,    -1,    -1,    61,    62,    63,    64,    65,
23162       -1,    67,    68,    69,    70,    -1,    -1,    73,    -1,    75,
23163       76,    77,    78,    79,    80,    81,    82,    83,    -1,    85,
23164       86,    87,    88,    89,    90,    -1,    92,    93,    94,    95,
23165       -1,    -1,    -1,    99,    -1,    -1,    -1,   103,   104,   105,
23166      106,   107,   108,   109,   110,   111,    -1,   113,    -1,   115,
23167      116,   117,   118,   119,   120,    -1,   122,   123,   124,   125,
23168       -1,    -1,   128,   129,   130,   131,   132,    -1,   134,   135,
23169      136,    -1,   138,   139,   140,    -1,   142,   143,   144,   145,
23170       -1,   147,   148,   149,    -1,    -1,   152,    -1,   154,   155,
23171      156,   157,    -1,   159,    -1,   161,   162,    -1,   164,   165,
23172      166,   167,   168,    -1,   170,    -1,    -1,    -1,   174,   175,
23173       -1,   177,   178,   179,   180,   181,   182,   183,   184,   185,
23174      186,    -1,   188,   189,   190,   191,   192,   193,   194,    -1,
23175      196,   197,    -1,   199,   200,   201,   202,   203,   204,    -1,
23176      206,    -1,   208,   209,   210,   211,   212,   213,   214,   215,
23177      216,   217,    -1,    -1,   220,    -1,   222,   223,   224,    -1,
23178      226,   227,   228,    -1,    -1,   231,   232,   233,   234,   235,
23179      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
23180      246,   247,   248,   249,   250,   251,   252,    -1,    -1,   255,
23181      256,   257,   258,    -1,    -1,   261,   262,   263,   264,   265,
23182       -1,   267,   268,    -1,    -1,   271,   272,   273,    -1,    -1,
23183      276,   277,    -1,   279,   280,   281,    -1,   283,   284,   285,
23184      286,   287,   288,   289,   290,   291,    -1,   293,   294,    -1,
23185      296,    -1,   298,   299,   300,    -1,   302,   303,   304,   305,
23186      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
23187      316,    -1,   318,   319,   320,   321,   322,   323,   324,   325,
23188      326,   327,   328,   329,    -1,   331,   332,   333,   334,   335,
23189      336,   337,   338,    -1,   340,   341,   342,   343,   344,   345,
23190      346,   347,   348,    -1,   350,   351,   352,   353,   354,    -1,
23191      356,   357,   358,   359,   360,   361,   362,   363,   364,   365,
23192       -1,   367,   368,   369,   370,   371,   372,   373,   374,   375,
23193      376,   377,   378,    -1,    -1,   381,   382,    -1,   384,   385,
23194      386,   387,   388,   389,   390,    -1,   392,   393,   394,    -1,
23195       -1,   397,   398,    -1,   400,    -1,    -1,   403,   404,   405,
23196      406,   407,   408,   409,    -1,    -1,   412,   413,   414,   415,
23197      416,    -1,    -1,   419,   420,   421,   422,   423,    -1,   425,
23198       -1,   427,   428,   429,   430,   431,   432,    -1,    -1,   435,
23199       -1,    -1,   438,   439,   440,   441,   442,   443,     3,    -1,
23200       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   455,
23201      456,   457,    -1,    18,    19,    20,    21,    22,    23,    24,
23202       25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,
23203       -1,    -1,    37,    38,    -1,    40,    41,    42,    43,    44,
23204       45,    46,    -1,    48,    49,    50,    51,    -1,    53,    54,
23205       55,    56,    57,    58,    -1,    -1,    61,    62,    63,    64,
23206       65,    -1,    67,    68,    69,    70,    -1,    -1,    73,    -1,
23207       75,    76,    77,    78,    79,    80,    81,    82,    83,    -1,
23208       85,    86,    87,    88,    89,    90,    -1,    92,    93,    94,
23209       95,    -1,    -1,    -1,    99,    -1,    -1,    -1,   103,   104,
23210      105,   106,   107,   108,   109,   110,   111,    -1,   113,    -1,
23211      115,   116,   117,   118,   119,   120,    -1,   122,   123,   124,
23212      125,    -1,    -1,   128,   129,   130,   131,   132,    -1,   134,
23213      135,   136,    -1,   138,   139,   140,    -1,   142,   143,   144,
23214      145,    -1,   147,   148,   149,    -1,    -1,   152,    -1,   154,
23215      155,   156,   157,    -1,   159,    -1,   161,   162,    -1,   164,
23216      165,   166,   167,   168,    -1,   170,    -1,    -1,    -1,   174,
23217      175,    -1,   177,   178,   179,   180,   181,   182,   183,   184,
23218      185,   186,    -1,   188,   189,   190,   191,   192,   193,   194,
23219       -1,   196,   197,    -1,   199,   200,   201,   202,   203,   204,
23220       -1,   206,    -1,   208,   209,   210,   211,   212,   213,   214,
23221      215,   216,   217,    -1,    -1,   220,    -1,   222,   223,   224,
23222       -1,   226,   227,   228,    -1,    -1,   231,   232,   233,   234,
23223      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
23224      245,   246,   247,   248,   249,   250,   251,   252,    -1,    -1,
23225      255,   256,   257,   258,    -1,    -1,   261,   262,   263,   264,
23226      265,    -1,   267,   268,    -1,    -1,   271,   272,   273,    -1,
23227       -1,   276,   277,    -1,   279,   280,   281,    -1,   283,   284,
23228      285,   286,   287,   288,   289,   290,   291,    -1,   293,   294,
23229       -1,   296,    -1,   298,   299,   300,    -1,   302,   303,   304,
23230      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
23231      315,   316,    -1,   318,   319,   320,   321,   322,   323,   324,
23232      325,   326,   327,   328,   329,    -1,   331,   332,   333,   334,
23233      335,   336,   337,   338,    -1,   340,   341,   342,   343,   344,
23234      345,   346,   347,   348,    -1,   350,   351,   352,   353,   354,
23235       -1,   356,   357,   358,   359,   360,   361,   362,   363,   364,
23236      365,    -1,   367,   368,   369,   370,   371,   372,   373,   374,
23237      375,   376,   377,   378,    -1,    -1,   381,   382,    -1,   384,
23238      385,   386,   387,   388,   389,   390,    -1,   392,   393,   394,
23239       -1,    -1,   397,   398,    -1,   400,    -1,    -1,   403,   404,
23240      405,   406,   407,   408,   409,    -1,    -1,   412,   413,   414,
23241      415,   416,    -1,    -1,   419,   420,   421,   422,   423,    -1,
23242      425,    -1,   427,   428,   429,   430,   431,   432,    -1,    -1,
23243      435,    -1,    -1,   438,   439,   440,   441,   442,   443,     3,
23244       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23245      455,   456,   457,    -1,    18,    19,    20,    21,    22,    23,
23246       24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,
23247       -1,    -1,    -1,    37,    38,    -1,    40,    41,    42,    43,
23248       44,    45,    46,    -1,    48,    49,    50,    51,    -1,    53,
23249       54,    55,    56,    57,    58,    -1,    -1,    61,    62,    63,
23250       64,    65,    -1,    67,    68,    69,    70,    -1,    -1,    73,
23251       -1,    75,    76,    77,    78,    79,    80,    81,    82,    83,
23252       -1,    85,    86,    87,    88,    89,    90,    -1,    92,    93,
23253       94,    95,    -1,    -1,    -1,    99,    -1,    -1,    -1,   103,
23254      104,   105,   106,   107,   108,   109,   110,   111,    -1,   113,
23255       -1,   115,   116,   117,   118,   119,   120,    -1,   122,   123,
23256      124,   125,    -1,    -1,   128,   129,   130,   131,   132,    -1,
23257      134,   135,   136,    -1,   138,   139,   140,    -1,   142,   143,
23258      144,   145,    -1,   147,   148,   149,    -1,    -1,   152,    -1,
23259      154,   155,   156,   157,    -1,   159,    -1,   161,   162,    -1,
23260      164,   165,   166,   167,   168,    -1,   170,    -1,    -1,    -1,
23261      174,   175,    -1,   177,   178,   179,   180,   181,   182,   183,
23262      184,   185,   186,    -1,   188,   189,   190,   191,   192,   193,
23263      194,    -1,   196,   197,    -1,   199,   200,   201,   202,   203,
23264      204,    -1,   206,    -1,   208,   209,   210,   211,   212,   213,
23265      214,   215,   216,   217,    -1,    -1,   220,    -1,   222,   223,
23266      224,    -1,   226,   227,   228,    -1,    -1,   231,   232,   233,
23267      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
23268      244,   245,   246,   247,   248,   249,   250,   251,   252,    -1,
23269       -1,   255,   256,   257,   258,    -1,    -1,   261,   262,   263,
23270      264,   265,    -1,   267,   268,    -1,    -1,   271,   272,   273,
23271       -1,    -1,   276,   277,    -1,   279,   280,   281,    -1,   283,
23272      284,   285,   286,   287,   288,   289,   290,   291,    -1,   293,
23273      294,    -1,   296,    -1,   298,   299,   300,    -1,   302,   303,
23274      304,   305,   306,   307,   308,   309,   310,   311,   312,   313,
23275      314,   315,   316,    -1,   318,   319,   320,   321,   322,   323,
23276      324,   325,   326,   327,   328,   329,    -1,   331,   332,   333,
23277      334,   335,   336,   337,   338,    -1,   340,   341,   342,   343,
23278      344,   345,   346,   347,   348,    -1,   350,   351,   352,   353,
23279      354,    -1,   356,   357,   358,   359,   360,   361,   362,   363,
23280      364,   365,    -1,   367,   368,   369,   370,   371,   372,   373,
23281      374,   375,   376,   377,   378,    -1,    -1,   381,   382,    -1,
23282      384,   385,   386,   387,   388,   389,   390,    -1,   392,   393,
23283      394,    -1,    -1,   397,   398,    -1,   400,    -1,    -1,   403,
23284      404,   405,   406,   407,   408,   409,    -1,    -1,   412,   413,
23285      414,   415,   416,    -1,    -1,   419,   420,   421,   422,   423,
23286       -1,   425,    -1,   427,   428,   429,   430,   431,   432,    -1,
23287       -1,   435,    -1,    -1,   438,   439,   440,   441,   442,   443,
23288        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23289       -1,   455,   456,   457,    -1,    18,    19,    20,    21,    22,
23290       23,    24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,
23291       -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,    42,
23292       43,    44,    45,    46,    -1,    48,    49,    50,    51,    -1,
23293       53,    54,    55,    56,    57,    58,    -1,    -1,    61,    62,
23294       63,    64,    65,    -1,    67,    68,    69,    70,    -1,    -1,
23295       73,    -1,    75,    76,    77,    78,    79,    80,    81,    82,
23296       83,    -1,    85,    86,    87,    88,    89,    90,    -1,    92,
23297       93,    94,    95,    -1,    -1,    -1,    99,    -1,    -1,    -1,
23298      103,   104,   105,   106,   107,   108,   109,   110,   111,    -1,
23299      113,    -1,   115,   116,   117,   118,   119,   120,    -1,   122,
23300      123,   124,   125,    -1,    -1,   128,   129,   130,   131,   132,
23301       -1,   134,   135,   136,    -1,   138,   139,   140,    -1,   142,
23302      143,   144,   145,    -1,   147,   148,   149,    -1,    -1,   152,
23303       -1,   154,   155,   156,   157,    -1,   159,    -1,   161,   162,
23304       -1,   164,   165,   166,   167,   168,    -1,   170,    -1,    -1,
23305       -1,   174,   175,    -1,   177,   178,   179,   180,   181,   182,
23306      183,   184,   185,   186,    -1,   188,   189,   190,   191,   192,
23307      193,   194,    -1,   196,   197,    -1,   199,   200,   201,   202,
23308      203,   204,    -1,   206,    -1,   208,   209,   210,   211,   212,
23309      213,   214,   215,   216,   217,    -1,    -1,   220,    -1,   222,
23310      223,   224,    -1,   226,   227,   228,    -1,    -1,   231,   232,
23311      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
23312      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
23313       -1,    -1,   255,   256,   257,   258,    -1,    -1,   261,   262,
23314      263,   264,   265,    -1,   267,   268,    -1,    -1,   271,   272,
23315      273,    -1,    -1,   276,   277,    -1,   279,   280,   281,    -1,
23316      283,   284,   285,   286,   287,   288,   289,   290,   291,    -1,
23317      293,   294,    -1,   296,    -1,   298,   299,   300,    -1,   302,
23318      303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
23319      313,   314,   315,   316,    -1,   318,   319,   320,   321,   322,
23320      323,   324,   325,   326,   327,   328,   329,    -1,   331,   332,
23321      333,   334,   335,   336,   337,   338,    -1,   340,   341,   342,
23322      343,   344,   345,   346,   347,   348,    -1,   350,   351,   352,
23323      353,   354,    -1,   356,   357,   358,   359,   360,   361,   362,
23324      363,   364,   365,    -1,   367,   368,   369,   370,   371,   372,
23325      373,   374,   375,   376,   377,   378,    -1,    -1,   381,   382,
23326       -1,   384,   385,   386,   387,   388,   389,   390,    -1,   392,
23327      393,   394,    -1,    -1,   397,   398,    -1,   400,    -1,    -1,
23328      403,   404,   405,   406,   407,   408,   409,    -1,    -1,   412,
23329      413,   414,   415,   416,    -1,    -1,   419,   420,   421,   422,
23330      423,    -1,   425,    -1,   427,   428,   429,   430,   431,   432,
23331       -1,    -1,   435,    -1,    -1,   438,   439,   440,   441,   442,
23332      443,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23333       -1,    -1,   455,   456,   457,    -1,    18,    19,    20,    21,
23334       22,    23,    24,    25,    -1,    27,    28,    29,    -1,    -1,
23335       -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,
23336       42,    43,    44,    45,    46,    -1,    48,    49,    50,    51,
23337       -1,    53,    54,    55,    56,    57,    58,    -1,    -1,    61,
23338       62,    63,    64,    65,    -1,    67,    68,    69,    70,    -1,
23339       -1,    73,    -1,    75,    76,    77,    78,    79,    80,    81,
23340       82,    83,    -1,    85,    86,    87,    88,    89,    90,    -1,
23341       92,    93,    94,    95,    -1,    -1,    -1,    99,    -1,    -1,
23342       -1,   103,   104,   105,   106,   107,   108,   109,   110,   111,
23343       -1,   113,    -1,   115,   116,   117,   118,   119,   120,    -1,
23344      122,   123,   124,   125,    -1,    -1,   128,   129,   130,   131,
23345      132,    -1,   134,   135,   136,    -1,   138,   139,   140,    -1,
23346      142,   143,   144,   145,    -1,   147,   148,   149,    -1,    -1,
23347      152,    -1,   154,   155,   156,   157,    -1,   159,    -1,   161,
23348      162,    -1,   164,   165,   166,   167,   168,    -1,   170,    -1,
23349       -1,    -1,   174,   175,    -1,   177,   178,   179,   180,   181,
23350      182,   183,   184,   185,   186,    -1,   188,   189,   190,   191,
23351      192,   193,   194,    -1,   196,   197,    -1,   199,   200,   201,
23352      202,   203,   204,    -1,   206,    -1,   208,   209,   210,   211,
23353      212,   213,   214,   215,   216,   217,    -1,    -1,   220,    -1,
23354      222,   223,   224,    -1,   226,   227,   228,    -1,    -1,   231,
23355      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
23356      242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
23357      252,    -1,    -1,   255,   256,   257,   258,    -1,    -1,   261,
23358      262,   263,   264,   265,    -1,   267,   268,    -1,    -1,   271,
23359      272,   273,    -1,    -1,   276,   277,    -1,   279,   280,   281,
23360       -1,   283,   284,   285,   286,   287,   288,   289,   290,   291,
23361       -1,   293,   294,    -1,   296,    -1,   298,   299,   300,    -1,
23362      302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
23363      312,   313,   314,   315,   316,    -1,   318,   319,   320,   321,
23364      322,   323,   324,   325,   326,   327,   328,   329,    -1,   331,
23365      332,   333,   334,   335,   336,   337,   338,    -1,   340,   341,
23366      342,   343,   344,   345,   346,   347,   348,    -1,   350,   351,
23367      352,   353,   354,    -1,   356,   357,    -1,   359,   360,   361,
23368      362,   363,   364,   365,    -1,   367,   368,   369,   370,   371,
23369      372,   373,   374,   375,   376,   377,   378,    -1,    -1,   381,
23370      382,    -1,   384,   385,   386,   387,   388,   389,   390,    -1,
23371      392,   393,   394,    -1,    -1,   397,   398,    -1,   400,    -1,
23372       -1,   403,   404,   405,   406,   407,   408,   409,    -1,    -1,
23373      412,   413,   414,   415,   416,    -1,    -1,   419,   420,   421,
23374      422,   423,    -1,   425,    -1,   427,   428,   429,   430,   431,
23375      432,    -1,    -1,   435,    -1,    -1,   438,   439,   440,   441,
23376      442,   443,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23377       -1,    -1,    -1,   455,   456,   457,    -1,    18,    19,    20,
23378       21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
23379       -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
23380       41,    42,    43,    44,    45,    46,    -1,    -1,    49,    -1,
23381       -1,    -1,    53,    54,    55,    56,    57,    58,    -1,    -1,
23382       61,    62,    -1,    -1,    65,    -1,    67,    68,    69,    70,
23383       -1,    -1,    73,    -1,    75,    76,    77,    78,    79,    80,
23384       81,    82,    83,    -1,    85,    86,    87,    88,    89,    90,
23385       -1,    92,    93,    94,    95,    -1,    -1,    -1,    99,    -1,
23386       -1,    -1,   103,   104,   105,   106,   107,   108,    -1,    -1,
23387      111,    -1,   113,    -1,   115,   116,   117,   118,   119,   120,
23388       -1,   122,   123,   124,   125,    -1,    -1,   128,   129,   130,
23389      131,   132,    -1,   134,   135,   136,    -1,   138,   139,   140,
23390       -1,   142,   143,   144,   145,    -1,   147,   148,   149,    -1,
23391       -1,   152,    -1,   154,   155,    -1,   157,    -1,   159,    -1,
23392      161,   162,    -1,   164,   165,   166,   167,   168,    -1,   170,
23393       -1,    -1,    -1,   174,   175,    -1,   177,   178,   179,   180,
23394      181,   182,   183,   184,   185,   186,    -1,   188,   189,   190,
23395      191,   192,   193,   194,    -1,   196,   197,    -1,   199,   200,
23396      201,   202,    -1,    -1,    -1,    -1,    -1,   208,   209,   210,
23397      211,   212,   213,   214,   215,   216,   217,    -1,    -1,   220,
23398       -1,   222,   223,   224,    -1,   226,   227,   228,    -1,    -1,
23399      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
23400      241,   242,   243,   244,   245,   246,    -1,   248,    -1,   250,
23401      251,   252,    -1,    -1,   255,   256,   257,   258,    -1,    -1,
23402      261,    -1,   263,   264,   265,    -1,   267,   268,    -1,    -1,
23403      271,   272,   273,    -1,    -1,   276,   277,    -1,   279,   280,
23404      281,    -1,   283,   284,   285,   286,   287,   288,   289,   290,
23405      291,    -1,   293,   294,    -1,   296,    -1,   298,   299,   300,
23406       -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
23407      311,    -1,   313,   314,   315,   316,    -1,   318,   319,   320,
23408      321,   322,   323,   324,   325,   326,   327,   328,   329,    -1,
23409      331,   332,   333,   334,   335,   336,   337,   338,    -1,   340,
23410      341,   342,   343,   344,   345,   346,   347,   348,    -1,   350,
23411      351,   352,   353,   354,    -1,   356,   357,    -1,   359,   360,
23412      361,   362,   363,    -1,   365,    -1,   367,   368,   369,   370,
23413      371,   372,   373,   374,   375,   376,   377,   378,    -1,    -1,
23414      381,   382,    -1,   384,   385,   386,   387,   388,   389,   390,
23415       -1,   392,    -1,    -1,    -1,    -1,   397,   398,    -1,   400,
23416       -1,    -1,   403,   404,   405,   406,   407,   408,   409,    -1,
23417       -1,   412,   413,   414,   415,   416,    -1,    -1,   419,   420,
23418      421,   422,   423,    -1,    -1,    -1,   427,   428,   429,   430,
23419      431,   432,    -1,    -1,   435,    -1,    -1,   438,   439,   440,
23420      441,   442,   443,     3,    -1,    -1,    -1,    -1,    -1,    -1,
23421       -1,    -1,    -1,    -1,   455,   456,   457,    -1,    18,    19,
23422       20,    21,    22,    23,    24,    25,    -1,    27,    28,    29,
23423       -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,
23424       40,    41,    42,    -1,    44,    45,    46,    -1,    -1,    -1,
23425       -1,    -1,    -1,    53,    54,    55,    56,    57,    58,    -1,
23426       -1,    61,    62,    -1,    -1,    65,    -1,    67,    68,    69,
23427       70,    -1,    -1,    -1,    -1,    75,    76,    77,    78,    79,
23428       -1,    81,    82,    83,    -1,    85,    86,    87,    88,    89,
23429       90,    -1,    -1,    93,    94,    95,    -1,    -1,    -1,    -1,
23430       -1,    -1,    -1,   103,   104,   105,   106,   107,   108,    -1,
23431       -1,   111,    -1,   113,    -1,   115,   116,   117,   118,   119,
23432      120,    -1,   122,   123,   124,   125,    -1,    -1,   128,   129,
23433      130,   131,   132,    -1,   134,   135,   136,    -1,   138,   139,
23434      140,    -1,   142,   143,   144,   145,    -1,   147,   148,   149,
23435       -1,    -1,   152,    -1,   154,   155,    -1,   157,    -1,   159,
23436       -1,   161,    -1,    -1,    -1,   165,   166,   167,   168,    -1,
23437      170,    -1,    -1,    -1,   174,   175,    -1,   177,   178,   179,
23438      180,   181,    -1,   183,   184,   185,   186,    -1,   188,   189,
23439      190,   191,   192,   193,   194,    -1,   196,    -1,    -1,   199,
23440      200,   201,   202,    -1,    -1,    -1,    -1,    -1,   208,    -1,
23441       -1,   211,    -1,   213,   214,   215,   216,   217,    -1,    -1,
23442      220,    -1,    -1,   223,    -1,    -1,   226,   227,   228,    -1,
23443       -1,   231,   232,   233,   234,   235,   236,   237,   238,   239,
23444      240,   241,   242,   243,   244,   245,   246,    -1,    -1,    -1,
23445      250,   251,   252,    -1,    -1,   255,   256,    -1,   258,    -1,
23446       -1,   261,    -1,   263,   264,   265,    -1,   267,   268,    -1,
23447       -1,   271,   272,   273,    -1,    -1,   276,   277,    -1,    -1,
23448      280,    -1,    -1,   283,   284,   285,   286,   287,   288,   289,
23449      290,   291,    -1,   293,   294,    -1,   296,    -1,   298,   299,
23450      300,    -1,   302,   303,   304,   305,   306,   307,   308,   309,
23451      310,   311,    -1,   313,   314,   315,   316,    -1,   318,   319,
23452      320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
23453       -1,   331,   332,    -1,   334,   335,   336,   337,   338,    -1,
23454      340,   341,   342,   343,   344,   345,   346,   347,   348,    -1,
23455      350,   351,   352,   353,   354,    -1,   356,   357,    -1,   359,
23456      360,    -1,   362,   363,    -1,   365,    -1,   367,   368,   369,
23457      370,   371,   372,   373,   374,   375,   376,   377,   378,    -1,
23458       -1,   381,   382,    -1,   384,    -1,   386,   387,   388,   389,
23459      390,    -1,   392,    -1,    -1,    -1,    -1,   397,   398,    -1,
23460      400,    -1,    -1,   403,   404,   405,   406,   407,   408,   409,
23461       -1,    -1,   412,   413,   414,   415,   416,    -1,    -1,   419,
23462      420,   421,   422,   423,    -1,    -1,    -1,   427,    -1,   429,
23463      430,   431,   432,    -1,    -1,   435,    -1,    -1,   438,   439,
23464      440,   441,   442,   443,    -1,    -1,    -1,    -1,    -1,    -1,
23465       -1,    -1,    -1,    -1,    -1,   455,   456,   457
23466 };
23467 
23468   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
23469      symbol of state STATE-NUM.  */
23470 static const yytype_uint16 yystos[] =
23471 {
23472        0,    18,    28,    30,    31,    46,    55,    67,    69,    70,
23473       76,    78,    89,    91,   108,   111,   125,   127,   131,   137,
23474      145,   147,   153,   169,   186,   226,   227,   232,   244,   256,
23475      299,   313,   319,   320,   322,   327,   332,   335,   342,   348,
23476      349,   356,   360,   370,   383,   403,   413,   419,   424,   437,
23477      460,   474,   481,   482,   483,   484,   485,   491,   492,   494,
23478      495,   496,   497,   499,   503,   515,   520,   521,   524,   525,
23479      526,   549,   552,   553,   569,   613,   614,   617,   620,   621,
23480      622,   630,   636,   638,   640,   641,   644,   647,   648,   652,
23481      661,   665,   666,   667,   668,   671,   673,   674,   675,   676,
23482      684,   685,   705,   709,   711,   712,   713,   723,   725,   732,
23483      733,   736,   737,   738,   739,   740,   748,   750,   754,   759,
23484      763,   764,   772,   773,   776,   781,   794,   821,   824,   825,
23485      826,   831,   834,   836,   838,   840,   841,   846,   847,   850,
23486      851,   852,   856,   857,   860,   861,   864,   865,   866,   873,
23487      875,   876,   877,   882,   884,   885,   891,   892,   893,   894,
23488      895,   896,   897,   899,   900,   902,   903,   905,   908,   911,
23489      920,   926,   929,   931,   932,   941,   943,   948,   953,   957,
23490      958,   959,   960,   961,   962,   965,  1000,   397,   440,   878,
23491       25,    73,    88,   106,   112,   129,   140,   148,   160,   165,
23492      172,   191,   216,   237,   271,   294,   304,   305,   308,   334,
23493      337,   341,   343,   350,   353,   372,   378,   382,   383,   386,
23494      390,   400,   405,   417,   430,   637,   878,     3,    18,    19,
23495       20,    21,    22,    23,    24,    25,    27,    28,    29,    37,
23496       38,    40,    41,    42,    43,    44,    45,    46,    47,    48,
23497       49,    50,    51,    53,    54,    55,    56,    57,    58,    61,
23498       62,    63,    64,    65,    67,    68,    69,    70,    71,    73,
23499       75,    76,    77,    78,    79,    80,    81,    82,    83,    85,
23500       86,    87,    88,    89,    90,    92,    93,    94,    95,    99,
23501      103,   104,   105,   106,   107,   108,   109,   110,   111,   113,
23502      115,   116,   117,   118,   119,   120,   122,   123,   124,   125,
23503      128,   129,   130,   131,   132,   134,   135,   136,   138,   139,
23504      140,   142,   143,   144,   145,   146,   147,   148,   149,   150,
23505      152,   154,   155,   156,   157,   159,   161,   162,   164,   165,
23506      166,   167,   168,   170,   171,   173,   174,   175,   177,   178,
23507      179,   180,   181,   182,   183,   184,   185,   186,   188,   189,
23508      190,   191,   192,   193,   194,   196,   197,   198,   199,   200,
23509      201,   202,   203,   204,   206,   208,   209,   210,   211,   212,
23510      213,   214,   215,   216,   217,   220,   221,   222,   223,   224,
23511      226,   227,   228,   231,   232,   233,   234,   235,   236,   237,
23512      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
23513      248,   249,   250,   251,   252,   253,   255,   256,   257,   258,
23514      260,   261,   262,   263,   264,   265,   267,   268,   271,   272,
23515      273,   276,   277,   278,   279,   280,   281,   282,   283,   284,
23516      285,   286,   287,   288,   289,   290,   291,   293,   294,   295,
23517      296,   297,   298,   299,   300,   302,   303,   304,   305,   306,
23518      307,   308,   309,   310,   311,   312,   313,   314,   315,   316,
23519      318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
23520      328,   329,   331,   332,   333,   334,   335,   336,   337,   338,
23521      339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
23522      350,   351,   352,   353,   354,   356,   357,   358,   359,   360,
23523      361,   362,   363,   364,   365,   367,   368,   369,   370,   371,
23524      372,   373,   374,   375,   376,   377,   378,   379,   381,   382,
23525      384,   385,   386,   387,   388,   389,   390,   392,   393,   394,
23526      397,   398,   399,   400,   401,   403,   404,   405,   406,   407,
23527      408,   409,   412,   413,   414,   415,   416,   419,   420,   421,
23528      422,   423,   424,   425,   427,   428,   429,   430,   431,   432,
23529      435,   438,   439,   440,   441,   442,   443,   444,   445,   446,
23530      447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
23531      457,  1059,  1132,  1140,  1141,  1144,  1145,  1146,     3,    26,
23532      954,  1126,  1140,  1144,   428,   913,   269,   300,   878,    49,
23533      474,   560,    20,    25,    37,    60,    73,    84,   106,   112,
23534      129,   140,   148,   160,   168,   172,   228,   271,   274,   294,
23535      308,   334,   343,   353,   372,   378,   386,   387,   389,   390,
23536      400,   405,   411,   414,   417,   570,   619,   728,   782,   795,
23537       26,   299,  1126,   954,    26,   293,   351,   387,   389,     5,
23538      215,   832,   833,  1135,    20,    25,    37,    60,    73,    88,
23539      106,   129,   140,   148,   160,   165,   172,   191,   237,   271,
23540      284,   294,   305,   308,   334,   337,   341,   343,   350,   353,
23541      372,   378,   383,   386,   390,   398,   400,   405,   417,   430,
23542      637,   741,   742,   743,   878,  1126,    91,   428,   474,   614,
23543      617,   620,   911,   921,   929,   932,   941,   948,   953,   957,
23544        9,    19,    26,    44,   155,   161,   163,   187,   217,   251,
23545      302,   321,   465,   466,   760,   761,   954,  1134,  1136,    26,
23546       91,   317,   349,   765,   766,   767,  1140,   160,  1140,  1131,
23547     1135,   383,   968,   760,  1140,   397,  1126,   284,   237,   106,
23548      191,   343,   382,   383,   474,   842,   843,   342,  1140,    26,
23549      354,   393,   397,   507,   516,   517,  1140,    23,   169,   765,
23550      766,   300,   878,  1140,   214,    26,   126,   970,   971,    61,
23551       85,   228,   246,   334,   343,   354,   393,   397,   443,   504,
23552      505,   506,   507,    26,   354,   393,   397,   507,   397,   270,
23553     1011,  1124,  1140,   968,   467,  1140,   164,   474,   914,   474,
23554      315,   963,   964,  1126,   963,   958,   959,   962,     0,   477,
23555      474,   913,   141,   205,   275,   410,   972,   973,   958,   960,
23556      961,   117,   201,   416,   478,   811,  1132,   745,  1140,   745,
23557     1127,  1140,   303,   745,   400,  1126,   105,   383,   799,  1132,
23558     1140,  1146,     3,   102,   355,  1137,  1138,  1142,  1144,  1145,
23559     1146,    26,   181,  1124,   263,   430,     8,    15,    16,    17,
23560       68,   152,   461,   462,   463,   465,   466,   467,   468,   469,
23561      470,   828,   830,  1088,  1089,  1140,   181,  1126,   799,  1126,
23562       26,  1137,  1138,   799,  1126,  1126,   181,  1124,  1126,   745,
23563     1126,   327,   356,    26,   181,  1011,  1126,   346,  1126,   745,
23564       26,   235,  1137,  1138,   181,  1124,   215,   114,   211,   254,
23565      311,   879,   880,   881,   474,   472,   476,  1115,  1117,  1124,
23566     1130,  1140,    20,    25,    60,    73,    74,    84,    88,   106,
23567      129,   140,   148,   160,   165,   191,   216,   237,   271,   294,
23568      305,   308,   334,   337,   341,   343,   350,   353,   372,   378,
23569      383,   386,   390,   398,   400,   405,   430,   637,   751,   752,
23570     1135,   928,   932,   941,   948,   957,  1124,   239,  1132,  1126,
23571      474,   181,   745,   400,  1127,   745,   400,   181,  1126,   105,
23572      383,   387,   389,  1137,  1138,   387,   389,    68,   152,   828,
23573      325,  1126,  1126,  1137,   181,   500,  1140,   181,  1126,   181,
23574      745,  1126,  1126,   346,  1126,   745,   235,  1137,   315,   350,
23575      383,   430,   237,    88,   191,   165,   305,   341,   398,   404,
23576      631,    26,  1126,   955,   514,  1135,  1142,   833,   239,   181,
23577      811,   812,  1126,   181,   837,   181,  1127,     3,    48,    50,
23578       51,    63,    64,   109,   110,   130,   156,   181,   203,   204,
23579      206,   247,   249,   262,   312,   358,   364,   393,   394,   425,
23580      747,  1033,  1035,  1037,  1039,  1041,  1043,  1044,  1045,  1047,
23581     1048,  1049,  1051,  1052,  1141,  1144,   400,   105,   383,   181,
23582      798,   799,   181,  1138,  1139,    80,   430,    68,   152,   181,
23583      829,   830,    53,   181,   798,   181,  1139,   181,   798,   181,
23584     1126,   181,  1126,   346,   837,   181,   747,   181,   235,  1139,
23585      215,   181,   744,   745,   181,  1125,  1126,   181,  1126,   474,
23586      930,   570,   921,   424,   911,   922,   923,   924,  1142,   913,
23587     1136,   761,   762,    26,   762,  1136,   762,    26,   762,  1136,
23588      762,   762,   762,  1136,  1134,  1134,   954,   762,   303,   474,
23589      474,   590,   590,   590,   269,   395,   478,   590,   343,  1011,
23590     1012,   478,   874,  1135,   474,   927,    53,   430,   428,   844,
23591      845,  1124,  1126,  1140,    43,   457,   211,   476,   272,   272,
23592      269,   163,  1135,   395,   158,   755,   269,     4,     6,     7,
23593        8,    10,    34,    48,    50,    51,    59,    60,    63,    64,
23594       71,    73,    96,    97,    98,    99,   100,   101,   102,   109,
23595      110,   112,   146,   150,   151,   156,   171,   173,   203,   204,
23596      206,   221,   229,   230,   247,   249,   254,   259,   260,   262,
23597      271,   282,   295,   312,   339,   355,   364,   379,   393,   394,
23598      399,   401,   402,   411,   417,   425,   445,   446,   447,   448,
23599      450,   451,   452,   453,   458,   465,   466,   467,   474,   958,
23600     1036,  1039,  1042,  1043,  1044,  1046,  1047,  1048,  1051,  1052,
23601     1056,  1058,  1059,  1060,  1062,  1084,  1085,  1086,  1090,  1109,
23602     1114,  1121,  1122,  1132,  1133,  1134,  1135,  1140,  1120,  1121,
23603     1135,    26,   522,  1123,  1124,   354,   504,   112,   513,  1135,
23604      514,  1135,    43,    65,   504,   457,   365,   880,   272,   163,
23605      395,   463,    43,   457,   211,   881,   474,  1124,   467,  1117,
23606     1012,     3,   162,   164,   428,   906,   907,   911,   162,   915,
23607     1056,  1093,   963,   478,   474,   916,   475,   475,   483,   428,
23608      909,   910,   917,   918,   919,  1124,    26,   126,   969,   969,
23609       53,   969,   153,   158,   225,   266,   976,   978,   979,   994,
23610      996,   997,   998,   972,   973,   163,   207,  1011,  1013,   474,
23611      285,   323,   356,   474,   809,   285,   319,   323,   356,   476,
23612      746,   285,   323,   356,     3,    83,   135,   231,   285,   323,
23613      356,   386,   388,   437,   515,   518,   886,   887,   888,   889,
23614      777,    22,   131,   285,   323,   356,   421,   531,  1126,    22,
23615      131,   356,   416,   498,   441,   181,  1011,    56,    90,   120,
23616      149,   184,   220,   254,   285,   286,   323,   331,   340,   348,
23617      356,   368,   376,   432,   515,   519,   814,   822,   474,   796,
23618     1117,   323,   498,   187,   146,    22,    28,    41,    70,   120,
23619      124,   131,   134,   159,   193,   252,   254,   264,   273,   285,
23620      323,   326,   327,   356,   421,   527,   529,   530,   655,     4,
23621      465,   466,   628,  1136,    26,   181,  1124,   745,   745,   474,
23622      827,   285,   356,   476,   146,   269,   120,   285,   323,   356,
23623      822,    22,   131,   285,   323,   356,   187,   493,   323,   437,
23624      460,   486,   493,   120,   285,   323,   356,   822,   269,   285,
23625      323,   146,    35,    54,   104,   190,   238,   241,   252,   284,
23626      323,   328,   350,   356,   370,   527,   625,   626,   285,   323,
23627      429,   655,   663,   285,   323,   356,    83,   124,   134,   285,
23628      319,   323,   356,   517,   505,   507,   187,   146,    41,   122,
23629      323,   356,   527,   528,   285,   323,   327,   356,    81,   123,
23630      287,   388,   269,    22,    28,   131,   285,   323,   356,   550,
23631      551,   493,   158,   323,   486,   493,   146,   323,   356,   527,
23632     1126,   223,   114,   270,   442,   478,   879,    26,   126,   426,
23633      467,   475,   804,  1056,  1094,  1095,  1141,  1056,  1116,     3,
23634       26,    30,    31,    32,    33,    34,    35,    36,    39,    52,
23635       59,    60,    66,    72,    74,    84,    91,    96,    97,    98,
23636      100,   101,   102,   112,   114,   121,   126,   127,   133,   137,
23637      141,   151,   153,   158,   160,   163,   169,   172,   176,   187,
23638      195,   205,   207,   218,   219,   225,   229,   230,   254,   259,
23639      266,   269,   270,   274,   275,   292,   301,   317,   330,   349,
23640      355,   366,   380,   383,   391,   395,   396,   402,   410,   411,
23641      417,   418,   426,   433,   434,   436,   437,   467,  1129,  1143,
23642     1144,  1145,  1146,  1147,  1115,   418,   904,   269,   239,   811,
23643      474,  1126,  1033,   400,   105,   383,   799,   263,   430,    68,
23644      152,   830,  1126,   799,   799,  1126,   346,   158,  1126,  1033,
23645      215,   745,  1126,   475,   590,  1126,   474,   718,   809,    66,
23646     1033,   254,   163,   474,   714,  1126,   486,    35,   898,  1126,
23647      254,   486,   441,   181,  1124,   486,   745,   745,   714,   414,
23648      570,   269,   158,   858,   859,   486,   254,    43,   501,   254,
23649      405,   662,   254,   916,    83,   285,   639,    81,   123,   287,
23650      388,    24,    45,   202,   686,    35,   714,   158,   181,   486,
23651      430,   181,  1124,   181,   615,  1124,  1124,   430,   745,    80,
23652      783,  1132,  1132,  1126,   158,   637,    49,   103,   200,   252,
23653      345,   146,    57,   329,   478,   532,   532,   146,   474,   146,
23654      427,  1050,  1050,  1050,   474,  1038,  1038,   297,   474,  1040,
23655      146,    63,    64,  1050,  1038,  1035,   439,   460,   474,  1053,
23656      474,  1053,   478,   532,    34,  1034,   474,   107,   179,   240,
23657      243,   347,   455,   474,  1054,  1055,   746,  1038,   441,   146,
23658      478,   532,   146,   478,   181,   744,   181,   745,   181,   745,
23659      146,   478,   532,  1139,   146,   532,   146,   146,   532,   146,
23660      532,   146,    81,   123,   287,   388,   158,   146,   532,   146,
23661      158,   181,   181,   514,   146,   478,   532,   146,   478,   532,
23662      146,   269,  1093,   383,   475,   478,   151,   269,   402,   511,
23663      514,   628,   925,   921,   762,   954,   762,   954,   762,   954,
23664      762,   954,   762,   954,   954,   954,   762,   954,   474,   591,
23665      592,  1140,   591,    26,   106,   129,   160,   165,   215,   216,
23666      305,   337,   343,   350,   383,   386,   405,   768,  1123,  1139,
23667      767,  1126,   187,   478,   944,  1135,  1033,  1096,    35,  1139,
23668      783,   475,   478,   223,  1140,   158,   158,   768,  1139,   342,
23669     1140,   514,   269,   474,  1118,   472,   958,  1097,  1056,  1113,
23670      474,   474,   158,   474,   474,   958,   474,   474,   474,   474,
23671      474,   474,  1056,   474,   474,   474,   474,   474,   474,   474,
23672      474,   958,   474,   474,   474,   474,   474,   474,   474,   474,
23673     1056,  1056,  1056,   958,  1056,  1093,  1117,  1135,   474,  1135,
23674        3,     8,    11,    15,    16,    17,    32,    35,    40,    47,
23675       72,   182,   187,   209,   210,   224,   257,   271,   274,   361,
23676      458,   461,   462,   463,   465,   466,   467,   468,   469,   470,
23677     1088,  1090,  1092,   438,  1071,   281,  1056,   207,   478,   966,
23678      474,  1135,  1117,   966,   115,   183,   523,   478,    65,   112,
23679      514,    35,     3,   112,   228,   512,   628,  1052,  1135,  1135,
23680       86,   128,  1068,    95,   112,   508,   509,   511,   628,   112,
23681      508,   223,  1124,    87,   328,   749,   475,   478,   913,   475,
23682      478,   964,  1125,    35,   475,   478,   478,   916,   960,   960,
23683      974,   975,  1056,   960,   155,   251,   985,   213,   252,   311,
23684      359,   416,    26,   980,  1056,   465,   466,   981,   982,  1056,
23685     1058,   994,   995,   979,   978,   976,   977,   158,   997,   264,
23686      999,   976,   994,  1013,   933,  1124,    35,  1140,   356,  1093,
23687      395,   395,   343,   187,   198,   275,   278,   358,   426,   467,
23688      802,   803,   804,   806,   808,   810,  1033,  1141,   395,   429,
23689      395,   343,  1129,   476,   395,   395,   343,   225,   395,   395,
23690      386,   504,   285,   886,   888,   463,   890,   158,   169,   187,
23691      332,   778,   779,    66,    84,   142,   160,   301,   411,   587,
23692      588,    84,   112,   254,   395,    84,   395,   112,   254,   343,
23693       84,   124,   134,   285,   323,   710,   343,   645,    20,    25,
23694       60,    73,    88,   129,   140,   160,   165,   237,   271,   305,
23695      337,   343,   350,   353,   383,   390,   398,   405,   430,   637,
23696     1126,   146,   323,   356,   527,   269,   628,   269,   348,   220,
23697      395,  1140,   395,   259,   628,   116,   208,   343,   354,   397,
23698      506,   329,   356,   814,   823,   475,   797,   802,   395,   417,
23699      386,  1124,    74,   142,   181,   577,   587,  1140,    74,    84,
23700      848,   289,   269,   269,   339,   341,   400,    84,   848,    29,
23701      326,   339,   341,   400,   339,  1124,   159,   193,   264,   745,
23702      474,   395,   395,   180,   474,   536,   234,   386,   414,   437,
23703      439,   536,    84,   478,     4,     4,   285,   187,   146,   120,
23704      323,   356,   527,   418,   418,   253,  1033,   395,   343,   474,
23705      828,  1126,  1124,   269,   395,   395,   343,   823,   383,   383,
23706      395,   395,   383,   714,   106,   356,   518,   395,   488,   518,
23707      269,   395,   395,   343,   823,  1124,   395,   395,  1124,  1035,
23708      628,    53,   627,   628,   628,   104,   238,   241,    53,   395,
23709      486,   245,   343,   486,   252,   626,   395,   395,   259,  1135,
23710      655,   395,   395,   343,  1135,   395,   308,   395,   308,   714,
23711      386,  1011,   289,   289,    84,   395,   848,   343,   395,   395,
23712      536,   536,   745,   745,   745,   745,  1124,    42,   423,    42,
23713       42,   395,    42,   395,   423,   343,   478,   518,   417,   672,
23714     1138,   395,   488,   518,  1124,   395,   343,   285,   323,   311,
23715      324,   352,   510,   879,  1094,  1094,  1095,   475,    13,    14,
23716      478,   972,   973,   473,   479,  1130,  1140,  1124,   209,  1033,
23717      269,   209,   441,   209,   628,   745,   745,   209,   269,   209,
23718      209,   269,    81,   123,   287,   388,  1033,   269,   209,   209,
23719      209,   395,   437,   561,   405,     3,   719,   720,   714,   474,
23720       35,   146,   745,   715,   716,  1143,    24,   886,  1033,   269,
23721      146,   642,  1126,   254,   289,   474,   487,   728,   418,   315,
23722      430,  1124,    26,   383,   437,   818,   487,   146,  1138,    91,
23723      169,   502,   569,   621,   685,   763,   781,   882,   146,  1135,
23724      663,   664,   146,   269,  1135,  1138,   231,   745,   745,   745,
23725      745,   264,   117,   201,   403,   416,   687,   688,   138,   310,
23726      474,   672,   254,   487,  1124,   254,   623,   625,   254,    35,
23727      264,   289,   474,   590,   590,   181,   618,  1124,   158,   181,
23728      784,  1130,   474,   800,   800,    35,  1033,   215,   437,   439,
23729      956,   345,   812,   811,  1033,  1127,   474,  1093,  1134,   747,
23730     1050,  1050,    34,  1034,   393,   393,  1134,  1134,  1033,   472,
23731      472,  1134,   395,   395,   395,   474,   395,  1134,  1038,   798,
23732      799,  1139,  1138,   146,   532,   146,   418,   146,   418,   829,
23733      830,   532,   798,  1139,   798,  1126,  1126,  1033,   747,  1139,
23734      672,   146,   146,   532,   744,   745,  1125,  1126,  1126,   745,
23735      475,   181,  1124,   921,   923,   954,   954,   954,   954,   954,
23736      954,   591,   475,   478,   475,   166,   306,   338,   351,   384,
23737     1125,   744,   105,   353,   798,  1125,   263,   798,   798,  1125,
23738     1123,  1123,  1125,   744,   395,   437,   774,   141,   225,   669,
23739      670,    20,   144,   339,   359,   945,  1011,   258,   946,   475,
23740      478,   928,   395,  1124,   842,   843,   845,   766,   765,   766,
23741      163,   170,   775,  1140,    25,    74,   106,   129,   140,   160,
23742      165,   216,   237,   305,   308,   334,   337,   343,   350,   378,
23743      383,   386,   405,   430,   637,   756,   757,  1093,  1115,   473,
23744     1093,  1097,  1098,   433,  1110,  1111,  1056,  1093,   474,  1134,
23745     1134,     3,   107,   179,   240,   243,   347,   455,  1099,  1100,
23746     1135,  1093,  1093,  1093,  1134,  1134,  1056,   828,  1056,  1101,
23747      339,   465,   466,   474,  1057,  1058,  1090,  1103,   475,  1093,
23748     1056,  1093,  1104,  1056,    52,   163,   219,   396,  1056,  1093,
23749     1107,  1093,   245,  1058,  1056,  1066,  1067,  1068,   245,  1056,
23750     1068,   475,   478,  1134,  1054,  1033,  1056,  1056,  1056,  1056,
23751     1143,   393,    39,   380,  1119,   745,  1056,   474,   958,  1108,
23752      126,   128,   151,   254,   259,   264,   402,   412,  1056,   474,
23753     1056,   395,    47,   182,   187,   224,   361,  1056,  1056,  1056,
23754     1056,  1056,  1056,  1056,  1056,  1056,  1056,    26,    33,   366,
23755     1087,   172,   154,  1072,   339,   474,  1084,   168,   228,   383,
23756      387,   389,   414,   967,  1124,  1122,   163,  1001,  1094,  1001,
23757     1124,   397,   474,  1135,   478,   475,   180,   180,   532,   919,
23758      907,   911,   912,  1056,   475,   474,   919,   910,   917,   478,
23759       36,   121,   418,   792,   339,   340,   465,   466,   982,   984,
23760     1058,   359,   213,   270,   478,     4,   983,  1134,   983,   339,
23761      340,   984,  1123,   258,   363,   947,   995,   977,   418,   942,
23762      112,   283,   474,   934,   957,    35,  1140,   474,   949,   950,
23763      951,  1140,   475,  1138,  1126,  1126,   278,    53,  1141,   475,
23764      804,   806,   803,   806,  1141,   275,   475,   478,   746,  1138,
23765     1126,  1126,  1129,  1138,  1126,  1126,  1138,  1127,  1126,   112,
23766      511,  1136,   334,   417,   765,   343,   169,   765,   474,  1126,
23767      418,   785,   213,   213,   418,   474,   612,   181,  1126,   259,
23768     1138,  1126,  1126,  1056,   259,  1126,  1126,    29,   326,   395,
23769      395,  1126,   395,   646,   239,   811,   474,   745,   745,  1033,
23770      400,   105,   383,   799,   430,    68,   152,   830,   799,   799,
23771     1126,   745,  1126,   745,   346,   158,  1033,   745,   215,   175,
23772      252,   285,   323,   422,   649,   650,   651,  1011,   395,   848,
23773      343,   259,   148,   116,   208,  1138,  1126,   269,  1126,   475,
23774      478,  1137,  1139,  1126,   323,   527,   181,   577,   254,  1033,
23775     1126,  1134,  1140,  1124,  1126,   148,   223,  1126,    26,   417,
23776     1126,   181,  1126,   181,  1140,   341,   400,   341,   400,   223,
23777     1126,    26,   417,  1126,   223,   339,  1124,    22,   131,   356,
23778      656,   657,   658,   659,  1143,  1138,  1126,   112,   164,   255,
23779      418,   535,   538,   539,  1143,  1126,   267,    70,   267,  1126,
23780      530,   395,   386,  1124,   269,   395,   848,   343,  1128,  1140,
23781     1128,   478,   475,   478,  1138,  1126,   853,   854,  1143,   269,
23782      323,   395,   680,   148,  1138,  1126,  1126,  1012,  1012,  1138,
23783     1126,  1012,  1127,  1137,     3,    83,   136,   193,   291,   409,
23784      417,   420,   489,   148,  1138,  1126,  1126,   323,  1138,  1126,
23785      323,   356,   527,   625,   628,   745,  1126,   628,   745,  1126,
23786      628,  1138,  1126,  1138,  1126,  1126,  1138,   818,  1126,   862,
23787      863,  1143,  1126,   323,   356,   527,   528,  1124,  1124,  1126,
23788     1126,  1126,  1126,  1138,  1126,    22,    28,   131,   285,   323,
23789      356,   285,   323,   356,   714,   323,   356,   323,   356,   120,
23790      323,  1025,  1140,   181,   724,  1140,   181,  1140,  1138,  1126,
23791     1126,  1135,  1126,    22,   551,   353,  1137,   323,   356,   527,
23792     1126,  1126,   395,   395,    79,   408,   311,   478,   972,   972,
23793      972,  1056,  1056,   426,  1095,   475,  1056,  1116,   259,   753,
23794     1135,    35,   129,   745,   753,   753,   209,   418,   418,   753,
23795      745,   753,   753,   745,   215,   745,   753,   753,   753,   307,
23796      555,   267,   163,   395,   554,   191,   463,   475,   478,  1056,
23797     1033,   745,   475,   478,   463,   687,   579,  1143,  1126,    57,
23798      163,   343,   429,   643,   650,   651,   146,   264,   224,   571,
23799      573,   575,   577,   584,   587,    23,   187,   334,   381,   489,
23800      490,   158,  1128,   430,  1124,    35,   681,   384,  1012,   714,
23801      500,  1140,   501,   274,   570,  1126,   160,   745,  1093,   308,
23802     1135,   714,   714,   714,   714,   264,   269,   274,   474,   714,
23803     1023,  1024,  1025,   353,   146,   474,   146,   146,   145,   957,
23804      745,   264,   571,  1140,   437,   439,   608,   437,   537,   254,
23805       35,   590,  1135,   254,   269,   475,   801,   802,   807,    35,
23806      215,   331,   398,   436,   813,   814,   815,   813,   269,   215,
23807      514,   178,   178,   158,   532,    35,  1093,   475,   475,   532,
23808      472,   457,   457,   475,   475,  1134,   473,  1134,   475,   179,
23809      240,  1055,   240,  1055,  1055,  1134,   243,   475,   532,   744,
23810      745,  1128,   745,  1128,   532,   532,   532,   532,   215,   532,
23811      353,   158,   514,   532,   532,   269,   532,   254,   475,   592,
23812      187,   187,   187,   187,   187,   441,  1125,   628,   629,   172,
23813      769,   770,  1138,    23,   775,   395,   474,   163,   144,   359,
23814      144,   359,   339,   416,   242,  1033,  1138,   437,   616,  1124,
23815     1126,   163,   269,   769,    53,   532,   811,  1033,   400,   383,
23816      799,   263,   430,   799,   799,  1033,   215,   745,  1126,   475,
23817      473,   473,   478,  1056,   133,  1111,  1112,    35,   475,  1056,
23818      475,   475,   475,   163,   475,   475,   475,   475,   475,   478,
23819      475,   292,  1102,   475,   474,  1057,  1057,  1093,    11,    15,
23820       16,    17,   187,   209,   271,   461,   462,   463,   465,   466,
23821      467,   468,   469,   470,  1090,  1057,   475,   475,   158,   163,
23822     1105,  1106,   475,    35,  1107,  1093,  1107,  1107,   163,   475,
23823      475,  1143,   290,  1070,    35,   475,   478,  1056,  1143,   478,
23824     1056,  1118,  1056,   475,   457,  1057,  1057,   139,  1093,   163,
23825      126,   128,   151,   259,   264,   402,   412,   474,   139,   828,
23826     1056,   380,  1119,  1056,  1108,  1056,   395,   474,   958,   474,
23827      474,   280,  1076,   474,  1093,   387,   389,   387,   389,  1124,
23828      968,   968,   968,   218,   340,   454,   474,   958,  1002,  1003,
23829     1004,  1011,  1016,  1026,  1059,  1061,  1062,  1140,   434,  1021,
23830      972,  1021,   880,  1134,  1054,   509,   919,   928,   975,   271,
23831     1088,  1091,   459,   793,     4,  1134,   984,   270,   416,   981,
23832      233,  1002,   434,  1022,   424,   382,   417,   935,   936,   937,
23833     1140,   269,   938,  1140,   951,   952,   478,  1001,   463,  1118,
23834      810,   746,   806,   806,    53,   808,   469,  1139,  1139,   269,
23835     1125,   272,   269,  1056,   588,  1128,   474,   474,   474,   612,
23836      191,   591,   703,   146,   532,   395,  1138,  1126,   514,  1126,
23837     1033,  1126,   441,   745,   745,   745,   745,    81,   123,   287,
23838      388,  1033,  1126,   632,  1126,   175,   422,   395,   395,   632,
23839      649,   655,   323,   356,   527,  1126,  1126,  1126,   199,  1126,
23840      259,   802,   284,   356,   395,   254,   146,   273,   653,   703,
23841      356,    22,   131,   327,   328,   356,   531,   540,   541,   655,
23842      849,  1126,   348,   146,   532,   146,   532,  1126,  1126,  1126,
23843     1126,   348,   348,   223,   658,   659,   658,   475,   478,   660,
23844     1135,   191,   475,   478,   463,   476,  1138,  1126,   323,   356,
23845      527,   148,  1126,  1126,  1126,   285,   323,   356,    22,   131,
23846      285,   323,   356,  1033,   253,  1033,   475,   478,   463,  1124,
23847      395,  1139,   418,   677,  1126,   225,   291,   259,  1135,   291,
23848     1139,   415,  1126,   395,   395,   343,   478,   818,   284,   356,
23849       84,   395,   848,   343,   112,   158,   542,   395,   395,   235,
23850      235,   235,   395,   395,   343,   395,   395,   343,   395,   343,
23851      395,   343,   269,   395,   532,  1033,   254,  1135,   356,   849,
23852      146,   532,   395,   395,  1126,   395,   343,  1138,  1126,   475,
23853      475,   475,  1095,   473,  1033,   745,   209,   753,  1128,  1128,
23854      209,   209,  1126,   209,   373,   374,   556,  1135,   555,   175,
23855      253,   271,   465,   466,   628,   717,   806,  1091,  1135,  1147,
23856        3,   720,   475,   475,   163,   714,   716,   717,   269,    66,
23857       72,    84,   112,   114,   167,   195,   254,   259,   301,   317,
23858      411,   580,   581,   583,   145,   433,   486,   514,  1126,   514,
23859      653,  1124,  1124,  1124,   475,   478,  1139,   172,   334,  1139,
23860     1134,   405,  1124,   590,     3,   158,   682,    43,   501,   325,
23861      383,   662,   105,   916,   163,   862,   537,   591,  1124,   688,
23862      721,   722,  1135,   475,   478,  1126,   158,   591,  1124,   615,
23863     1124,  1126,   616,   474,   572,  1124,   475,   267,   536,   267,
23864      269,   609,   536,    35,   146,   957,   537,   395,   146,  1011,
23865      475,   478,   112,   463,   816,  1135,   514,   383,   805,   806,
23866      158,   817,   815,   117,   201,   349,   416,   871,  1126,   175,
23867      957,  1033,   475,  1134,  1053,  1053,   473,   473,   475,   532,
23868      418,   532,   418,   532,  1126,  1126,   672,   532,   745,   146,
23869      343,   343,   343,   343,   343,  1125,   478,  1138,   437,   478,
23870      771,   272,  1012,   353,   144,   144,   105,   252,  1139,   768,
23871      532,  1138,   209,   209,   209,   628,   209,   209,   209,   209,
23872      209,  1097,   391,  1056,   137,  1033,   475,  1056,  1056,  1056,
23873     1105,   475,  1093,   478,  1033,  1057,  1057,  1057,  1057,   126,
23874      128,   254,   264,  1057,  1057,  1057,  1057,  1057,  1057,  1057,
23875     1057,  1057,  1057,  1056,  1056,  1106,  1105,  1033,   475,   475,
23876      475,  1093,   475,   478,    53,  1058,   475,  1143,  1067,   298,
23877      377,  1069,   475,   478,   429,  1063,    35,   475,  1135,  1056,
23878       32,    32,  1056,   475,  1056,   163,   474,  1096,  1056,   475,
23879      139,  1057,  1057,   139,   139,  1056,  1056,   973,   434,   474,
23880     1077,  1140,   475,  1093,   478,   968,   968,   968,   968,  1124,
23881     1124,  1124,   958,  1016,  1026,   163,   474,   958,  1003,  1004,
23882       35,  1005,  1006,  1140,   478,    92,   164,   197,   212,   222,
23883      248,   333,  1008,  1006,    35,  1005,  1007,  1140,  1006,   460,
23884     1020,  1117,  1056,   172,   986,   475,   986,   475,   475,   474,
23885      793,   155,   217,   270,    95,  1056,   330,   940,   423,   475,
23886      478,  1118,    82,   940,   475,   478,   950,  1022,  1056,   475,
23887      469,   810,   405,   166,   338,   344,   351,   384,   406,   780,
23888      158,   780,   475,   474,   595,   596,   787,  1061,  1140,   591,
23889      591,   703,  1130,   475,   114,   195,   252,   254,   704,  1126,
23890     1126,    35,  1126,   418,   418,   745,   745,   745,   745,   215,
23891      746,  1138,  1126,   395,   848,   343,   395,   199,    53,   386,
23892     1126,   146,   577,   474,   579,   372,   167,   180,   254,   536,
23893      486,   105,   167,   254,   372,   375,   536,   626,   356,   541,
23894      405,  1126,  1140,   348,   657,  1126,   539,   717,  1143,   284,
23895      356,   395,   848,   343,  1126,   395,   395,   395,   343,   165,
23896      271,   375,   726,   727,   165,   271,   734,   735,   395,   395,
23897      343,   475,   475,   475,   854,   253,   628,   806,   855,  1091,
23898     1135,  1147,   323,  1126,   474,   437,   678,  1136,  1135,  1135,
23899     1135,  1126,  1126,  1126,   863,    53,   386,  1126,  1126,  1126,
23900     1126,   424,  1126,  1126,   158,   158,   325,   158,   181,  1138,
23901     1126,  1126,  1138,  1126,  1126,  1126,  1126,  1126,  1126,   148,
23902     1126,    72,   533,   146,    24,    45,   405,  1140,  1126,  1135,
23903      655,  1126,  1126,   972,   475,   209,   753,   209,   209,   753,
23904      753,   209,   753,   486,   556,   632,   703,   437,   439,   745,
23905     1124,   474,   745,  1126,  1057,    29,    53,   582,   115,   183,
23906      114,   259,   213,  1124,   818,   165,   305,   699,   706,   707,
23907     1140,   642,   289,   474,   572,   585,   194,   602,   575,  1139,
23908     1139,  1033,   474,   537,    26,   117,   201,   349,   416,   683,
23909      395,   679,  1138,   181,  1124,   664,   441,   269,  1002,   818,
23910      318,   689,   475,   478,  1025,   653,   672,   475,   623,    35,
23911      264,   289,   474,   930,   574,   576,   578,   587,  1140,   289,
23912      603,   604,   572,   602,    78,   386,   610,   957,   618,   616,
23913      610,  1135,  1130,   785,   807,  1056,  1056,   478,   474,   813,
23914      405,   478,   395,   474,   632,   475,   473,  1128,  1128,   532,
23915      353,   532,  1125,  1125,  1125,  1125,  1125,   628,   169,   770,
23916      475,  1126,   105,   775,   163,   259,   758,  1135,   758,   758,
23917      209,   758,   758,   758,   758,   758,  1056,   475,   475,  1106,
23918      475,  1056,   163,   126,   128,   264,   474,   475,   444,  1065,
23919     1093,   316,    53,   435,   435,   475,  1056,   252,  1056,   478,
23920     1064,  1035,  1056,  1056,  1056,  1096,   475,  1056,    32,    32,
23921     1056,  1056,   139,   475,   475,  1056,  1078,  1140,   475,  1056,
23922     1124,  1124,  1124,  1124,  1006,  1007,  1006,   474,   449,  1058,
23923      475,  1140,   474,  1003,   212,   279,  1009,  1003,  1009,   212,
23924     1008,  1009,   212,   385,  1014,   474,  1140,   474,   276,    53,
23925      176,   993,  1135,   993,  1135,   828,   264,  1121,   957,   283,
23926      957,   937,   269,   474,   939,   463,   951,   940,   405,   475,
23927      395,   765,   163,   703,  1056,   475,   478,   437,    72,   790,
23928      790,   475,   475,   188,   593,   115,   183,   193,   114,   420,
23929      532,  1033,  1128,  1128,  1126,  1126,  1126,  1126,  1126,  1139,
23930     1126,   577,   654,   658,  1136,   582,   181,   259,   628,   582,
23931      259,  1136,  1140,  1033,   532,   532,   463,    53,   386,  1126,
23932     1126,  1126,  1126,  1138,  1126,  1126,  1134,  1134,  1033,   478,
23933     1134,  1134,   478,  1138,  1126,  1126,   395,  1056,    66,  1139,
23934     1126,   395,   395,   163,   187,   437,  1125,  1125,   745,  1125,
23935      146,  1126,   745,  1135,  1135,  1033,   532,   532,   475,   209,
23936      753,   753,   753,   753,   474,   557,   558,   418,   562,   563,
23937      165,   198,   165,   163,   702,  1056,   254,   581,   112,    35,
23938      818,   590,   418,   611,  1132,    32,   145,   187,   264,   571,
23939      542,   143,   189,   474,   353,   418,   591,    35,  1139,   677,
23940      501,   254,   474,   160,  1126,  1093,   250,   268,   690,   691,
23941      692,   158,   695,  1135,   353,   537,   145,   957,   745,   264,
23942      571,   616,   475,   478,   437,   579,    53,   608,   542,   603,
23943      117,   131,   298,  1126,   437,   883,    35,   163,   269,   474,
23944     1135,   804,   819,   820,  1141,  1033,   158,  1124,   163,   395,
23945      839,   196,   633,   532,   532,   532,  1126,   272,   207,   532,
23946      769,   758,   475,  1057,   163,   474,  1096,   474,   475,   478,
23947      475,  1058,   316,   475,   423,   369,   475,   475,   475,  1056,
23948     1056,  1056,   475,   289,  1079,   475,  1017,  1018,  1061,   474,
23949     1070,  1005,   474,  1125,  1003,   269,   418,  1010,  1003,   212,
23950     1003,  1132,  1024,   474,  1024,  1140,    94,   173,   336,   474,
23951      987,   988,   989,   990,   991,   992,  1056,  1056,   436,  1073,
23952     1073,   475,   954,   935,    84,   786,   787,   127,  1056,   769,
23953      269,   769,   475,   593,   596,   271,   828,   745,   745,   791,
23954      791,   317,   593,   474,   818,   475,   395,   356,   946,   475,
23955      478,    35,   146,   533,   717,  1139,  1126,   395,   474,   799,
23956      828,   830,   727,   474,   474,   735,  1126,   475,   474,   356,
23957      946,  1126,  1126,   474,   474,   474,   437,   460,   901,   325,
23958      901,   901,   158,   533,   753,   564,   565,  1143,    49,    93,
23959      118,   135,   139,   159,   162,   177,   259,   267,   309,   559,
23960      486,   119,   799,    35,   835,   835,  1124,   703,   475,   180,
23961      611,   236,   594,   191,   474,   707,   699,   474,  1124,   475,
23962      353,    26,    77,    85,   113,   180,   192,   372,   375,   586,
23963      586,  1123,  1126,  1128,   475,   957,   678,   146,   105,   653,
23964      163,   691,   339,   383,   693,   132,   696,   433,   698,  1126,
23965       35,  1126,   616,   572,  1124,   475,   576,   273,     3,   605,
23966     1144,   609,   603,   608,   340,   340,    58,    66,   228,   957,
23967      745,  1011,   786,   806,   475,   478,   405,  1021,   367,   367,
23968      475,   632,   252,   422,   634,   635,  1126,   532,  1057,  1096,
23969      475,  1066,  1093,    53,   252,   456,    53,   972,   475,   478,
23970       35,  1019,   112,  1031,  1032,  1057,    75,  1125,   475,  1056,
23971      474,  1003,  1010,   474,   475,  1024,   475,   474,   357,   474,
23972      475,   478,  1074,  1075,  1140,   423,  1126,   475,   478,   255,
23973      416,   771,   780,   532,   790,   818,   474,   792,   792,  1124,
23974      818,   591,   611,  1126,   386,   658,   180,   418,   534,   356,
23975      946,  1126,  1096,   158,   730,   730,  1096,  1096,  1056,   386,
23976      151,   238,   241,   259,   402,   545,   547,   548,   628,  1135,
23977      545,   546,   543,   544,  1142,   744,   745,   744,   745,  1125,
23978      532,   475,   478,   467,   474,   511,   566,   628,   898,  1135,
23979      898,   254,   259,   309,   898,   898,   557,  1135,   835,    38,
23980      185,   158,   252,   589,   474,   624,   164,   288,   362,   269,
23981      598,   599,   600,   386,   475,  1132,     5,   708,   572,   602,
23982     1126,   475,   653,   152,   729,   537,   883,  1124,   441,  1002,
23983      898,   339,   371,   697,   474,   145,   653,   957,   930,   603,
23984      572,   602,   579,   474,   610,   608,   609,    66,   272,    66,
23985      616,   785,   475,   813,   819,  1033,   127,   437,   437,   422,
23986      632,   653,   475,   475,   475,   316,   423,  1093,   174,   310,
23987      340,  1080,  1020,  1017,   474,  1057,   475,   478,    35,  1027,
23988     1028,  1140,   475,  1125,  1093,   475,  1093,   474,  1093,   988,
23989      478,    35,   957,  1021,   787,   356,   163,   791,   611,   828,
23990      793,   793,   590,   611,   475,   703,  1126,   624,  1056,   386,
23991      475,   275,   346,   314,   731,   731,   475,   475,   475,  1126,
23992      475,   478,   475,   478,   475,   478,  1134,   901,   565,   511,
23993      567,   568,  1135,  1135,   259,   591,   467,   591,  1135,  1135,
23994      132,   193,   625,   117,   416,   269,   600,   269,   599,  1126,
23995      474,   475,   478,   542,   353,   653,   745,    35,    35,   474,
23996     1126,   694,  1140,  1056,   699,   883,   616,   608,   542,   603,
23997      474,   606,   607,  1061,  1140,   609,   610,   272,   272,   474,
23998      188,   788,    27,   202,   872,   165,   165,    47,    95,   407,
23999     1056,  1081,  1082,  1081,  1081,   475,  1024,   478,  1032,  1143,
24000      475,   478,   158,  1033,   475,   475,   475,   987,   475,  1075,
24001     1077,   949,   769,   792,   434,   597,   475,   594,   703,   946,
24002     1126,   799,    53,   946,   395,   548,   545,   543,   745,   475,
24003      478,   591,   339,   475,    57,   252,   329,   356,   601,   601,
24004      475,     5,   353,  1126,   726,   957,   653,   475,  1132,   609,
24005      603,   608,  1056,   475,   478,   790,   790,   610,   786,   474,
24006      537,   255,   474,   867,   869,   873,   932,   941,   948,   957,
24007      799,   799,  1082,   339,   157,   296,   157,   296,   142,  1083,
24008     1083,  1083,   475,  1058,  1028,   276,     3,   112,   254,   259,
24009     1029,  1030,   324,  1015,   475,  1021,   532,   793,   474,   703,
24010      598,   946,   745,   474,   568,   698,    21,   112,   259,  1126,
24011      653,   883,   474,   610,   608,   609,   475,   607,   791,   791,
24012      475,   787,   789,   610,   868,   869,   870,   958,   959,   478,
24013      478,    32,    95,   172,   252,   392,  1070,  1057,  1057,   259,
24014     1030,   474,  1056,   703,   547,   145,   653,     4,   700,   701,
24015     1134,  1135,  1143,   609,   610,   790,   788,   475,   478,  1021,
24016      475,   477,   395,   163,  1082,   339,   277,    75,  1056,   475,
24017      475,   699,   475,   478,   610,   791,   537,   787,   870,   367,
24018      367,  1027,   475,  1132,   701,   610,   437,   437,   475,   474,
24019     1021,   165,   165,   700,   799,   799,   475
24020 };
24021 
24022   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
24023 static const yytype_uint16 yyr1[] =
24024 {
24025        0,   480,   481,   482,   482,   483,   483,   483,   483,   483,
24026      483,   483,   483,   483,   483,   483,   483,   483,   483,   483,
24027      483,   483,   483,   483,   483,   483,   483,   483,   483,   483,
24028      483,   483,   483,   483,   483,   483,   483,   483,   483,   483,
24029      483,   483,   483,   483,   483,   483,   483,   483,   483,   483,
24030      483,   483,   483,   483,   483,   483,   483,   483,   483,   483,
24031      483,   483,   483,   483,   483,   483,   483,   483,   483,   483,
24032      483,   483,   483,   483,   483,   483,   483,   483,   483,   483,
24033      483,   483,   483,   483,   483,   483,   483,   483,   483,   483,
24034      483,   483,   483,   483,   483,   483,   483,   483,   483,   483,
24035      483,   483,   483,   483,   483,   483,   483,   483,   483,   483,
24036      483,   483,   483,   483,   483,   483,   483,   483,   483,   483,
24037      483,   483,   483,   483,   483,   483,   483,   483,   483,   483,
24038      484,   485,   486,   486,   486,   487,   487,   488,   488,   489,
24039      489,   489,   489,   489,   489,   489,   489,   489,   490,   490,
24040      490,   490,   490,   490,   491,   492,   492,   493,   493,   494,
24041      494,   494,   494,   495,   495,   495,   495,   495,   495,   496,
24042      497,   498,   498,   499,   499,   499,   499,   500,   500,   501,
24043      501,   502,   502,   502,   502,   502,   502,   503,   503,   503,
24044      504,   504,   504,   505,   505,   505,   505,   506,   506,   506,
24045      506,   506,   506,   506,   506,   506,   506,   506,   507,   507,
24046      508,   508,   509,   509,   510,   510,   510,   510,   511,   511,
24047      511,   511,   512,   512,   512,   512,   512,   512,   512,   513,
24048      513,   513,   514,   514,   515,   516,   516,   516,   516,   517,
24049      517,   518,   518,   519,   519,   520,   520,   520,   520,   520,
24050      521,   522,   522,   523,   523,   524,   525,   525,   525,   525,
24051      525,   526,   526,   526,   526,   526,   526,   526,   526,   526,
24052      526,   526,   526,   526,   526,   526,   526,   526,   526,   526,
24053      527,   527,   528,   528,   529,   530,   530,   530,   530,   530,
24054      530,   530,   530,   530,   530,   530,   530,   530,   530,   530,
24055      530,   530,   530,   530,   530,   530,   530,   530,   530,   530,
24056      530,   530,   530,   530,   530,   530,   530,   530,   530,   530,
24057      530,   530,   530,   530,   530,   530,   530,   530,   530,   530,
24058      530,   530,   530,   530,   530,   530,   530,   530,   530,   530,
24059      530,   530,   531,   531,   532,   532,   532,   533,   533,   534,
24060      534,   535,   535,   535,   535,   536,   537,   537,   538,   538,
24061      539,   539,   539,   539,   540,   540,   541,   541,   541,   541,
24062      542,   542,   542,   542,   543,   544,   544,   545,   545,   545,
24063      545,   545,   546,   546,   547,   547,   548,   548,   548,   549,
24064      550,   550,   551,   551,   551,   551,   552,   552,   553,   553,
24065      554,   554,   555,   555,   556,   556,   556,   557,   557,   558,
24066      558,   559,   559,   559,   559,   559,   559,   559,   559,   559,
24067      559,   559,   559,   559,   559,   560,   560,   561,   561,   562,
24068      562,   563,   563,   564,   564,   565,   566,   566,   566,   566,
24069      566,   567,   567,   568,   569,   569,   569,   569,   569,   569,
24070      570,   570,   570,   570,   570,   570,   570,   570,   571,   571,
24071      572,   572,   573,   573,   574,   574,   575,   575,   575,   576,
24072      576,   577,   578,   578,   579,   579,   580,   580,   580,   580,
24073      581,   581,   581,   581,   581,   581,   581,   581,   582,   582,
24074      583,   583,   583,   583,   584,   585,   585,   585,   586,   586,
24075      586,   586,   586,   586,   586,   586,   587,   587,   588,   588,
24076      588,   588,   588,   588,   588,   589,   589,   590,   590,   591,
24077      591,   592,   593,   593,   594,   594,   594,   594,   595,   595,
24078      596,   596,   597,   597,   598,   598,   598,   598,   598,   599,
24079      600,   601,   601,   601,   601,   601,   602,   602,   603,   603,
24080      604,   605,   605,   606,   606,   607,   607,   607,   608,   608,
24081      608,   608,   609,   609,   609,   609,   610,   610,   611,   611,
24082      612,   613,   613,   614,   614,   615,   616,   616,   616,   617,
24083      617,   618,   619,   619,   620,   621,   621,   622,   622,   623,
24084      623,   624,   624,   625,   625,   626,   626,   626,   626,   626,
24085      626,   626,   626,   626,   626,   626,   626,   626,   626,   627,
24086      627,   628,   628,   628,   628,   629,   629,   630,   630,   631,
24087      631,   632,   632,   633,   633,   634,   634,   635,   635,   636,
24088      636,   637,   637,   638,   639,   639,   640,   640,   641,   641,
24089      642,   642,   643,   643,   643,   643,   644,   645,   645,   646,
24090      647,   647,   647,   647,   647,   647,   647,   647,   647,   647,
24091      647,   647,   647,   647,   647,   647,   647,   647,   647,   647,
24092      647,   647,   647,   647,   647,   647,   647,   647,   648,   649,
24093      649,   649,   649,   650,   650,   651,   651,   652,   652,   653,
24094      653,   654,   654,   655,   656,   656,   657,   657,   657,   657,
24095      658,   659,   660,   661,   661,   662,   662,   663,   663,   664,
24096      664,   665,   665,   665,   666,   666,   666,   666,   667,   667,
24097      668,   669,   669,   670,   670,   671,   671,   672,   672,   673,
24098      673,   674,   675,   676,   677,   677,   678,   678,   679,   679,
24099      680,   680,   681,   681,   682,   682,   683,   683,   683,   683,
24100      683,   684,   685,   685,   686,   686,   686,   687,   687,   688,
24101      688,   688,   688,   688,   689,   689,   690,   690,   691,   692,
24102      692,   693,   693,   694,   695,   695,   696,   696,   697,   697,
24103      698,   698,   699,   699,   700,   700,   700,   701,   701,   701,
24104      701,   702,   702,   703,   703,   704,   704,   704,   704,   704,
24105      704,   705,   705,   706,   706,   707,   708,   708,   709,   710,
24106      710,   710,   710,   711,   712,   713,   713,   713,   713,   713,
24107      713,   713,   713,   713,   713,   713,   713,   713,   713,   713,
24108      713,   714,   715,   715,   716,   716,   717,   717,   717,   717,
24109      717,   717,   718,   719,   719,   720,   721,   721,   722,   722,
24110      723,   723,   723,   723,   724,   724,   725,   726,   726,   727,
24111      727,   727,   727,   727,   728,   728,   729,   729,   730,   730,
24112      730,   731,   731,   732,   733,   733,   734,   734,   735,   735,
24113      736,   736,   737,   737,   738,   739,   740,   740,   740,   740,
24114      740,   740,   740,   740,   740,   740,   740,   740,   741,   741,
24115      741,   741,   741,   741,   741,   741,   741,   741,   741,   741,
24116      741,   742,   742,   742,   742,   742,   742,   742,   743,   743,
24117      743,   744,   744,   745,   745,   746,   746,   747,   747,   748,
24118      749,   749,   749,   750,   750,   750,   750,   750,   750,   750,
24119      750,   750,   750,   750,   750,   750,   750,   750,   750,   750,
24120      750,   750,   751,   751,   751,   751,   751,   751,   751,   751,
24121      751,   751,   751,   751,   751,   751,   752,   752,   752,   752,
24122      752,   752,   752,   752,   752,   752,   752,   752,   753,   753,
24123      754,   754,   754,   754,   754,   754,   754,   754,   754,   755,
24124      755,   756,   756,   756,   756,   756,   756,   757,   757,   757,
24125      757,   757,   757,   757,   757,   758,   758,   759,   759,   760,
24126      760,   760,   760,   760,   760,   760,   760,   760,   760,   760,
24127      760,   760,   760,   760,   760,   761,   761,   762,   762,   763,
24128      764,   764,   765,   765,   765,   765,   765,   766,   766,   767,
24129      767,   767,   767,   768,   768,   768,   768,   768,   768,   768,
24130      768,   768,   768,   768,   768,   768,   768,   768,   768,   768,
24131      768,   768,   768,   769,   769,   770,   770,   771,   771,   772,
24132      773,   773,   774,   774,   775,   775,   776,   777,   777,   778,
24133      778,   778,   779,   779,   779,   780,   780,   780,   780,   780,
24134      780,   781,   781,   782,   782,   783,   783,   784,   784,   785,
24135      785,   786,   786,   787,   787,   787,   788,   788,   789,   789,
24136      790,   790,   791,   791,   792,   792,   792,   793,   793,   793,
24137      794,   794,   794,   794,   795,   795,   796,   796,   797,   797,
24138      798,   798,   799,   799,   799,   799,   800,   800,   801,   801,
24139      802,   802,   802,   802,   802,   803,   803,   803,   803,   803,
24140      804,   805,   806,   806,   806,   807,   807,   807,   808,   809,
24141      809,   809,   809,   810,   810,   811,   812,   812,   813,   813,
24142      814,   814,   814,   814,   814,   814,   814,   814,   814,   814,
24143      814,   814,   814,   814,   814,   814,   815,   815,   815,   815,
24144      815,   816,   816,   817,   817,   818,   818,   819,   820,   820,
24145      821,   821,   821,   822,   822,   823,   823,   824,   824,   824,
24146      824,   824,   824,   825,   825,   826,   826,   827,   827,   827,
24147      827,   828,   828,   829,   829,   830,   831,   832,   832,   833,
24148      833,   834,   834,   834,   835,   835,   835,   836,   837,   837,
24149      838,   839,   839,   839,   839,   840,   841,   841,   841,   841,
24150      842,   842,   843,   843,   843,   844,   844,   845,   846,   846,
24151      847,   847,   847,   847,   847,   847,   847,   847,   847,   847,
24152      847,   847,   847,   847,   847,   847,   847,   847,   847,   847,
24153      847,   847,   847,   847,   847,   847,   847,   847,   847,   847,
24154      847,   847,   847,   847,   847,   847,   847,   847,   847,   847,
24155      847,   847,   847,   847,   847,   847,   847,   847,   847,   847,
24156      847,   847,   847,   848,   848,   849,   849,   850,   850,   850,
24157      850,   850,   850,   851,   851,   851,   851,   851,   851,   851,
24158      851,   851,   851,   851,   851,   851,   851,   851,   851,   851,
24159      851,   851,   851,   851,   851,   851,   851,   851,   851,   851,
24160      852,   853,   853,   854,   854,   855,   855,   855,   855,   855,
24161      856,   856,   856,   856,   856,   856,   856,   856,   856,   856,
24162      856,   856,   856,   856,   856,   856,   856,   856,   856,   856,
24163      856,   856,   856,   856,   857,   858,   858,   859,   859,   860,
24164      860,   860,   860,   861,   862,   862,   863,   864,   864,   864,
24165      864,   864,   864,   865,   865,   866,   867,   867,   867,   868,
24166      868,   869,   869,   869,   869,   869,   870,   870,   871,   871,
24167      871,   871,   872,   872,   872,   873,   874,   874,   875,   876,
24168      876,   877,   877,   877,   877,   877,   877,   877,   877,   877,
24169      877,   877,   877,   877,   877,   878,   878,   878,   879,   879,
24170      879,   879,   879,   880,   880,   880,   881,   881,   882,   882,
24171      882,   882,   883,   883,   883,   883,   884,   885,   886,   886,
24172      887,   887,   888,   888,   888,   889,   889,   889,   889,   889,
24173      889,   889,   890,   890,   891,   891,   891,   892,   893,   893,
24174      894,   895,   895,   896,   897,   897,   897,   897,   897,   897,
24175      897,   898,   898,   899,   900,   900,   900,   900,   900,   900,
24176      901,   901,   902,   903,   903,   903,   904,   904,   905,   905,
24177      906,   906,   907,   907,   907,   907,   907,   908,   908,   909,
24178      909,   910,   911,   911,   912,   912,   913,   913,   914,   914,
24179      915,   915,   916,   916,   917,   918,   918,   919,   919,   920,
24180      920,   920,   920,   921,   921,   921,   921,   921,   921,   921,
24181      921,   921,   922,   922,   923,   924,   924,   925,   925,   925,
24182      926,   927,   927,   928,   928,   928,   928,   929,   929,   929,
24183      930,   930,   931,   931,   931,   931,   932,   933,   933,   934,
24184      934,   934,   934,   934,   935,   935,   936,   936,   937,   938,
24185      938,   938,   939,   939,   939,   940,   940,   941,   942,   942,
24186      943,   944,   944,   945,   945,   945,   945,   945,   945,   945,
24187      945,   946,   946,   947,   947,   947,   948,   949,   949,   950,
24188      950,   951,   952,   952,   953,   954,   955,   955,   955,   955,
24189      955,   956,   956,   956,   957,   957,   958,   958,   959,   959,
24190      959,   959,   959,   959,   959,   959,   960,   960,   961,   961,
24191      961,   961,   961,   961,   961,   962,   962,   962,   963,   963,
24192      964,   965,   965,   966,   966,   967,   967,   967,   967,   967,
24193      967,   967,   967,   967,   968,   968,   969,   969,   969,   970,
24194      970,   971,   971,   972,   972,   973,   974,   974,   975,   975,
24195      976,   976,   976,   976,   977,   977,   978,   978,   978,   978,
24196      979,   979,   980,   980,   981,   982,   982,   982,   983,   983,
24197      984,   984,   985,   985,   986,   986,   987,   987,   988,   988,
24198      988,   988,   988,   989,   990,   991,   992,   993,   993,   994,
24199      994,   995,   995,   996,   996,   997,   998,   998,   998,   998,
24200      999,   999,  1000,  1000,  1001,  1001,  1002,  1002,  1003,  1003,
24201     1003,  1003,  1003,  1003,  1003,  1003,  1003,  1003,  1004,  1004,
24202     1004,  1004,  1004,  1004,  1005,  1005,  1005,  1005,  1006,  1006,
24203     1007,  1007,  1007,  1007,  1007,  1008,  1008,  1008,  1008,  1009,
24204     1009,  1010,  1010,  1011,  1011,  1011,  1011,  1012,  1012,  1013,
24205     1013,  1013,  1014,  1015,  1015,  1016,  1016,  1017,  1018,  1018,
24206     1019,  1019,  1020,  1020,  1021,  1021,  1022,  1022,  1022,  1023,
24207     1023,  1024,  1024,  1025,  1026,  1026,  1027,  1027,  1028,  1028,
24208     1028,  1029,  1029,  1030,  1030,  1030,  1030,  1031,  1031,  1032,
24209     1032,  1033,  1033,  1033,  1033,  1033,  1033,  1034,  1034,  1034,
24210     1035,  1035,  1035,  1035,  1035,  1035,  1035,  1036,  1036,  1036,
24211     1036,  1037,  1037,  1038,  1038,  1039,  1039,  1039,  1039,  1039,
24212     1039,  1039,  1039,  1039,  1039,  1039,  1040,  1040,  1041,  1041,
24213     1042,  1042,  1043,  1044,  1045,  1045,  1046,  1046,  1047,  1048,
24214     1049,  1049,  1049,  1049,  1049,  1049,  1050,  1050,  1051,  1051,
24215     1051,  1051,  1052,  1053,  1053,  1053,  1054,  1054,  1054,  1054,
24216     1054,  1054,  1054,  1054,  1054,  1054,  1054,  1054,  1054,  1054,
24217     1055,  1055,  1056,  1056,  1056,  1056,  1056,  1056,  1056,  1056,
24218     1056,  1056,  1056,  1056,  1056,  1056,  1056,  1056,  1056,  1056,
24219     1056,  1056,  1056,  1056,  1056,  1056,  1056,  1056,  1056,  1056,
24220     1056,  1056,  1056,  1056,  1056,  1056,  1056,  1056,  1056,  1056,
24221     1056,  1056,  1056,  1056,  1056,  1056,  1056,  1056,  1056,  1056,
24222     1056,  1056,  1056,  1056,  1056,  1056,  1056,  1056,  1056,  1056,
24223     1056,  1056,  1056,  1056,  1056,  1056,  1057,  1057,  1057,  1057,
24224     1057,  1057,  1057,  1057,  1057,  1057,  1057,  1057,  1057,  1057,
24225     1057,  1057,  1057,  1057,  1057,  1057,  1057,  1057,  1057,  1057,
24226     1057,  1058,  1058,  1058,  1058,  1058,  1058,  1058,  1058,  1058,
24227     1058,  1058,  1058,  1058,  1058,  1059,  1059,  1059,  1059,  1059,
24228     1059,  1059,  1060,  1060,  1061,  1061,  1062,  1062,  1062,  1062,
24229     1062,  1062,  1062,  1062,  1062,  1062,  1062,  1062,  1062,  1062,
24230     1062,  1062,  1062,  1062,  1062,  1062,  1062,  1062,  1062,  1062,
24231     1062,  1062,  1062,  1062,  1062,  1062,  1062,  1062,  1062,  1062,
24232     1062,  1062,  1062,  1062,  1062,  1062,  1062,  1062,  1063,  1063,
24233     1064,  1064,  1064,  1064,  1065,  1066,  1066,  1067,  1067,  1068,
24234     1068,  1069,  1069,  1069,  1070,  1070,  1070,  1070,  1071,  1071,
24235     1072,  1072,  1073,  1073,  1074,  1074,  1075,  1076,  1076,  1076,
24236     1077,  1078,  1078,  1079,  1079,  1080,  1080,  1080,  1080,  1081,
24237     1081,  1082,  1082,  1082,  1082,  1082,  1083,  1083,  1083,  1083,
24238     1083,  1084,  1084,  1084,  1085,  1085,  1086,  1087,  1087,  1087,
24239     1088,  1088,  1089,  1089,  1089,  1089,  1089,  1089,  1089,  1089,
24240     1089,  1089,  1089,  1089,  1090,  1090,  1091,  1091,  1092,  1092,
24241     1092,  1092,  1092,  1092,  1093,  1093,  1094,  1094,  1095,  1095,
24242     1095,  1096,  1096,  1097,  1097,  1097,  1098,  1098,  1099,  1099,
24243     1100,  1100,  1100,  1100,  1100,  1100,  1100,  1100,  1101,  1101,
24244     1102,  1103,  1103,  1104,  1104,  1104,  1104,  1104,  1104,  1105,
24245     1106,  1107,  1107,  1107,  1108,  1108,  1109,  1110,  1110,  1111,
24246     1112,  1112,  1113,  1113,  1114,  1114,  1115,  1115,  1115,  1115,
24247     1116,  1116,  1117,  1117,  1118,  1118,  1119,  1119,  1120,  1120,
24248     1121,  1121,  1122,  1122,  1122,  1122,  1123,  1123,  1124,  1124,
24249     1125,  1125,  1126,  1127,  1128,  1129,  1130,  1131,  1132,  1132,
24250     1133,  1133,  1133,  1133,  1133,  1133,  1133,  1133,  1133,  1133,
24251     1133,  1133,  1133,  1134,  1135,  1136,  1136,  1136,  1137,  1138,
24252     1138,  1138,  1139,  1139,  1140,  1140,  1140,  1141,  1141,  1141,
24253     1142,  1142,  1142,  1142,  1143,  1143,  1143,  1143,  1143,  1144,
24254     1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,
24255     1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,
24256     1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,
24257     1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,
24258     1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,
24259     1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,
24260     1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,
24261     1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,
24262     1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,
24263     1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,
24264     1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,
24265     1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,
24266     1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,
24267     1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,
24268     1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,
24269     1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,
24270     1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,
24271     1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,
24272     1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,
24273     1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,
24274     1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,
24275     1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,
24276     1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,
24277     1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,
24278     1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,
24279     1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,
24280     1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,
24281     1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,
24282     1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1145,
24283     1145,  1145,  1145,  1145,  1145,  1145,  1145,  1145,  1145,  1145,
24284     1145,  1145,  1145,  1145,  1145,  1145,  1145,  1145,  1145,  1145,
24285     1145,  1145,  1145,  1145,  1145,  1145,  1145,  1145,  1145,  1145,
24286     1145,  1145,  1145,  1145,  1145,  1145,  1145,  1145,  1145,  1145,
24287     1145,  1145,  1145,  1145,  1145,  1145,  1145,  1145,  1145,  1146,
24288     1146,  1146,  1146,  1146,  1146,  1146,  1146,  1146,  1146,  1146,
24289     1146,  1146,  1146,  1146,  1146,  1146,  1146,  1146,  1146,  1146,
24290     1146,  1146,  1147,  1147,  1147,  1147,  1147,  1147,  1147,  1147,
24291     1147,  1147,  1147,  1147,  1147,  1147,  1147,  1147,  1147,  1147,
24292     1147,  1147,  1147,  1147,  1147,  1147,  1147,  1147,  1147,  1147,
24293     1147,  1147,  1147,  1147,  1147,  1147,  1147,  1147,  1147,  1147,
24294     1147,  1147,  1147,  1147,  1147,  1147,  1147,  1147,  1147,  1147,
24295     1147,  1147,  1147,  1147,  1147,  1147,  1147,  1147,  1147,  1147,
24296     1147,  1147,  1147,  1147,  1147,  1147,  1147,  1147,  1147,  1147,
24297     1147,  1147,  1147,  1147,  1147,  1147,  1147,  1147,  1147
24298 };
24299 
24300   /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
24301 static const yytype_uint8 yyr2[] =
24302 {
24303        0,     2,     1,     3,     1,     1,     1,     1,     1,     1,
24304        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24305        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24306        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24307        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24308        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24309        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24310        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24311        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24312        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24313        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24314        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24315        1,     1,     1,     1,     1,     1,     1,     1,     1,     0,
24316        2,     5,     1,     1,     0,     2,     0,     2,     0,     2,
24317        2,     3,     3,     1,     3,     3,     2,     1,     1,     2,
24318        2,     2,     3,     3,     5,     5,     5,     0,     3,     5,
24319        5,     5,     5,     3,     5,     3,     5,     3,     5,     5,
24320        6,     1,     1,     6,     4,     9,     7,     1,     0,     2,
24321        0,     1,     1,     1,     1,     1,     1,     2,     3,     3,
24322        2,     5,     1,     3,     3,     3,     3,     1,     3,     3,
24323        2,     2,     2,     2,     3,     3,     3,     3,     1,     3,
24324        1,     3,     1,     1,     2,     2,     2,     1,     1,     1,
24325        1,     1,     1,     1,     3,     5,     1,     1,     1,     1,
24326        1,     0,     1,     1,     2,     1,     2,     3,     2,     1,
24327        1,     2,     1,     2,     1,     2,     3,     4,     3,     2,
24328        4,     1,     1,     1,     1,     1,     2,     2,     2,     2,
24329        2,     4,     6,     4,     6,    10,    13,     4,     6,     4,
24330       10,    13,     4,     6,     4,     6,     5,     7,    11,    14,
24331        1,     3,     4,     3,     3,     2,     5,     3,     6,     4,
24332        6,     6,     6,     6,     5,     5,     6,     9,     4,     5,
24333        7,     6,     4,     8,     4,     2,     4,     3,     6,     4,
24334        3,     3,     3,     3,     2,     2,     3,     4,     4,     3,
24335        3,     3,     3,     3,     3,     4,     4,     3,     2,     3,
24336        2,     2,     3,     3,     2,     2,     3,     4,     4,     4,
24337        5,     1,     3,     2,     1,     1,     0,     2,     0,     2,
24338        0,     1,     1,     1,     3,     3,     2,     0,     1,     3,
24339        3,     1,     5,     3,     1,     2,     1,     3,     2,     3,
24340        6,     6,    10,     1,     2,     1,     3,     1,     1,     1,
24341        1,     1,     1,     3,     1,     3,     1,     1,     1,     4,
24342        1,     3,     4,     6,     4,     8,     2,     2,    11,     9,
24343        1,     1,     1,     0,     1,     1,     1,     1,     3,     2,
24344        0,     1,     1,     1,     3,     3,     1,     1,     3,     3,
24345        3,     3,     4,     3,     2,     1,     0,     2,     0,     3,
24346        0,     1,     0,     1,     3,     2,     1,     1,     1,     3,
24347        0,     1,     3,     1,    12,    15,    11,    14,    13,    16,
24348        1,     1,     2,     2,     2,     2,     1,     0,     1,     0,
24349        3,     0,     1,     3,     1,     3,     1,     1,     1,     1,
24350        1,     4,     2,     4,     2,     0,     3,     1,     1,     2,
24351        2,     1,     3,     4,     5,     2,     5,     5,     1,     2,
24352        1,     2,     2,     2,     3,     3,     3,     0,     1,     1,
24353        1,     1,     1,     1,     1,     1,     3,     1,     5,     8,
24354        3,     9,     4,    10,    11,     2,     0,     3,     0,     1,
24355        3,     1,     4,     0,     2,     2,     2,     0,     1,     3,
24356        3,     6,     4,     0,     1,     1,     2,     2,     0,     3,
24357        3,     2,     1,     1,     2,     2,     4,     0,     1,     0,
24358        6,     1,     1,     1,     3,     3,     3,     5,     2,     2,
24359        2,     0,     3,     4,     4,     0,     2,     0,     4,     0,
24360        3,     8,    11,     7,    10,     5,     2,     3,     0,     8,
24361       11,     4,     1,     0,     6,     5,     8,     4,     6,     1,
24362        0,     3,     0,     1,     2,     2,     2,     1,     2,     3,
24363        2,     2,     2,     2,     3,     3,     3,     1,     3,     1,
24364        0,     1,     2,     2,     1,     1,     3,     6,    10,     1,
24365        0,     1,     2,     2,     0,     2,     2,     1,     0,     5,
24366        7,     1,     0,     7,     2,     0,     3,     5,     5,     8,
24367        2,     0,     2,     2,     2,     1,     5,     2,     0,     2,
24368        7,     6,    10,     6,     6,     6,     6,     7,     6,     9,
24369        9,     6,     6,     6,     7,     6,     8,     8,     8,     8,
24370        6,     6,     7,     7,     8,     6,     9,     6,     7,     2,
24371        2,     2,     2,     1,     2,     1,     0,     7,     6,     4,
24372        0,     1,     3,     4,     1,     3,     1,     2,     2,     2,
24373        2,     1,     1,    10,    13,     2,     0,     2,     2,     1,
24374        0,     5,     4,     4,    11,    14,    12,    15,     5,     7,
24375       11,     2,     1,     4,     0,     8,    11,     1,     1,     7,
24376        9,     8,    10,     8,     4,     0,     5,     0,     2,     0,
24377        2,     0,     2,     0,     2,     0,     1,     1,     1,     1,
24378        1,     8,    16,    20,     1,     1,     2,     1,     3,     1,
24379        1,     1,     3,     1,     2,     0,     1,     2,     4,     1,
24380        1,     1,     1,     1,     3,     0,     1,     0,     1,     1,
24381        4,     0,     1,     1,     1,     3,     0,     1,     1,     1,
24382        1,     2,     0,     0,     2,     2,     1,     2,     2,     2,
24383        2,    11,    13,     1,     3,     5,     1,     3,     5,     1,
24384        2,     2,     1,     8,     4,     5,     4,     4,     4,     3,
24385        7,     8,     6,     6,     6,     6,     6,     4,     7,     5,
24386        8,     3,     1,     3,     3,     1,     1,     1,     1,     1,
24387        1,     1,     3,     1,     3,     3,     1,     0,     1,     3,
24388        7,     9,     9,     8,     3,     0,    13,     1,     3,     5,
24389        5,     3,     6,     2,     1,     0,     2,     0,     2,     4,
24390        0,     1,     0,     6,     8,     8,     1,     3,     5,     5,
24391        7,     9,     7,     9,     5,     6,     6,     4,     6,     4,
24392        6,     8,     4,     6,     4,     6,     5,     7,     1,     1,
24393        1,     2,     1,     2,     1,     1,     1,     3,     3,     3,
24394        3,     2,     2,     1,     3,     1,     1,     1,     1,     1,
24395        1,     1,     3,     1,     2,     2,     3,     1,     3,     5,
24396        2,     2,     0,     6,     6,     6,     6,     6,     6,     6,
24397        8,     9,     8,     6,     6,     8,     9,     8,     9,     9,
24398        7,    10,     1,     1,     1,     1,     1,     1,     2,     1,
24399        1,     2,     3,     3,     3,     3,     2,     1,     2,     1,
24400        3,     2,     1,     1,     1,     1,     1,     1,     1,     1,
24401        8,     8,     8,     8,     8,     8,     9,     8,     8,     2,
24402        0,     1,     2,     1,     1,     1,     2,     1,     2,     2,
24403        1,     1,     1,     1,     1,     1,     1,     2,     2,     1,
24404        2,     3,     3,     3,     3,     4,     4,     3,     3,     3,
24405        4,     4,     3,     4,     4,     1,     1,     1,     0,     7,
24406        7,    10,     1,     1,     2,     4,     5,     1,     3,     2,
24407        2,     2,     2,     1,     2,     2,     4,     3,     2,     2,
24408        2,     2,     2,     2,     3,     2,     2,     2,     5,     5,
24409        5,     5,     5,     1,     3,     1,     2,     3,     0,     6,
24410        6,     9,     3,     0,     3,     0,     5,     2,     0,     3,
24411        3,     3,     7,     7,    10,     1,     1,     1,     1,     1,
24412        1,    15,    18,     1,     0,     1,     0,     1,     0,     2,
24413        0,     1,     3,     5,     5,     7,     4,     0,     1,     3,
24414        2,     0,     1,     0,     1,     1,     0,     2,     2,     0,
24415        8,    11,     6,     6,     2,     0,     3,     2,     1,     3,
24416        1,     3,     2,     1,     1,     2,     3,     2,     1,     3,
24417        3,     3,     2,     2,     1,     1,     1,     1,     2,     1,
24418        1,     1,     1,     4,     5,     1,     3,     3,     1,     3,
24419        3,     5,     6,     1,     3,     2,     1,     3,     1,     2,
24420        4,     5,     1,     1,     1,     1,     3,     3,     2,     2,
24421        1,     2,     2,     2,     1,     2,     2,     2,     2,     1,
24422        1,     1,     3,     3,     5,     2,     0,     2,     1,     3,
24423        5,     5,     5,     1,     2,     1,     0,     4,     6,     4,
24424        6,     4,     6,     4,     6,     4,     6,     3,     5,     5,
24425        5,     1,     3,     1,     3,     2,     2,     1,     2,     1,
24426        2,    11,    10,    10,     2,     2,     0,     9,     2,     0,
24427       10,    11,    11,     5,     5,     8,     3,     3,     6,     6,
24428        1,     1,     1,     1,     1,     1,     3,     1,     5,     5,
24429        6,     6,     6,     6,     6,     8,     8,     6,     6,     7,
24430        9,     9,     8,    10,     6,     6,     6,     6,     6,     6,
24431        6,     8,     6,     8,     6,     8,     7,     9,     6,     8,
24432        7,     9,     8,    10,     9,    11,     8,    10,     9,    11,
24433        8,     8,     7,     6,     6,     6,     6,     8,     8,     8,
24434        8,     6,     9,     1,     0,     2,     0,     7,     7,     7,
24435        9,     8,     7,     6,     6,     6,     6,     6,     6,     6,
24436        9,     9,     6,     6,     6,     8,     6,     8,     8,     8,
24437        8,     6,     8,     6,     8,     7,     9,     7,     9,     6,
24438        7,     1,     3,     3,     3,     1,     1,     1,     1,     1,
24439        6,     6,     6,     6,     6,     6,     7,     7,     6,     9,
24440        9,     6,     6,     6,     6,     6,     6,     8,     8,     8,
24441        6,     7,     6,     6,     5,     1,     0,     3,     3,     5,
24442        6,     6,     6,     8,     1,     3,     1,     5,     5,     6,
24443        7,     4,     4,     4,     6,    13,     1,     1,     3,     3,
24444        1,     1,     1,     1,     1,     1,     1,     0,     1,     1,
24445        1,     1,     1,     1,     0,     3,     2,     0,     2,     2,
24446        2,     2,     3,     3,     2,     2,     2,     2,     3,     2,
24447        5,     4,     3,     3,     3,     1,     1,     0,     3,     2,
24448        2,     1,     2,     1,     3,     2,     1,     0,     9,    11,
24449       12,    14,     3,     4,     4,     0,     2,     5,     1,     0,
24450        1,     2,     3,     3,     3,     1,     2,     1,     1,     1,
24451        1,     1,     1,     0,     5,     4,     6,     4,     3,     5,
24452        5,     4,     4,     6,     4,     6,     6,     5,     7,     9,
24453        6,     1,     0,     6,    11,    11,    11,    13,     9,    11,
24454        1,     1,    10,     4,     2,     5,     2,     0,     6,     5,
24455        1,     3,     1,     1,     1,     1,     1,     3,     5,     1,
24456        3,     1,     1,     1,     1,     0,     1,     0,     1,     0,
24457        1,     0,     3,     0,     2,     1,     3,     1,     0,     2,
24458        4,     3,     5,     1,     1,     1,     1,     1,     1,     1,
24459        1,     1,     1,     3,     2,     1,     1,     1,     1,     0,
24460        5,     3,     0,     1,     1,     1,     1,     3,     9,    12,
24461        3,     0,     2,     3,     2,     3,     7,     1,     3,     1,
24462        4,     4,     7,     2,     1,     1,     1,     3,     2,     8,
24463        5,     0,     4,     3,     0,     2,     0,     7,     2,     0,
24464        5,     3,     0,     2,     2,     2,     3,     1,     3,     1,
24465        2,     1,     0,     1,     2,     0,     8,     1,     3,     3,
24466        5,     2,     1,     3,     7,     1,     0,     3,     2,     2,
24467        2,     0,     2,     2,     1,     1,     3,     3,     1,     2,
24468        4,     4,     2,     3,     5,     5,     1,     1,     9,     9,
24469        1,     2,     4,     4,     4,     2,     2,     3,     1,     3,
24470        6,     1,     0,     2,     0,     3,     3,     4,     4,     4,
24471        4,     3,     2,     1,     1,     0,     1,     1,     0,     1,
24472        5,     1,     0,     1,     0,     3,     1,     3,     4,     3,
24473        2,     2,     1,     1,     1,     0,     2,     4,     5,     4,
24474        2,     3,     1,     1,     1,     1,     2,     2,     1,     1,
24475        1,     1,     1,     1,     3,     0,     1,     3,     1,     1,
24476        1,     1,     1,     2,     4,     4,     5,     2,     0,     1,
24477        3,     1,     0,     1,     2,     3,     2,     4,     2,     3,
24478        2,     0,     4,     5,     2,     0,     1,     3,     2,     3,
24479        2,     3,     2,     3,     2,     3,     1,     4,     3,     4,
24480        5,     4,     5,     4,     5,     2,     4,     1,     1,     0,
24481        1,     4,     5,     4,     0,     2,     2,     2,     1,     1,
24482        0,     4,     2,     1,     2,     2,     4,     1,     3,     1,
24483        2,     3,     6,     4,     0,     2,     6,     2,     1,     3,
24484        4,     0,     2,     0,     2,     0,     2,     4,     0,     1,
24485        0,     1,     3,     3,     7,    12,     1,     3,     2,     3,
24486        3,     1,     2,     2,     2,     2,     1,     1,     3,     3,
24487        2,     2,     3,     5,     6,     2,     3,     3,     4,     0,
24488        1,     1,     1,     1,     1,     2,     4,     1,     1,     1,
24489        1,     2,     3,     3,     0,     1,     1,     1,     1,     1,
24490        2,     2,     2,     2,     2,     1,     3,     0,     1,     1,
24491        1,     1,     5,     2,     1,     1,     1,     1,     4,     1,
24492        2,     2,     1,     3,     3,     2,     1,     0,     5,     2,
24493        5,     2,     1,     3,     3,     0,     1,     1,     1,     1,
24494        1,     1,     3,     3,     3,     3,     3,     3,     3,     0,
24495        1,     4,     1,     3,     3,     5,     2,     2,     3,     3,
24496        3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
24497        3,     2,     2,     3,     3,     2,     2,     3,     5,     4,
24498        6,     3,     5,     4,     6,     4,     6,     5,     7,     3,
24499        2,     4,     2,     3,     3,     4,     3,     4,     3,     4,
24500        5,     6,     6,     7,     6,     7,     6,     7,     3,     4,
24501        4,     6,     2,     3,     4,     1,     1,     3,     2,     2,
24502        3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
24503        3,     3,     3,     2,     2,     5,     6,     6,     7,     3,
24504        4,     1,     1,     2,     4,     1,     1,     1,     2,     2,
24505        2,     2,     1,     1,     4,     3,     5,     6,     8,     6,
24506        6,     4,     4,     1,     1,     1,     5,     1,     1,     4,
24507        1,     4,     1,     4,     1,     4,     1,     1,     1,     1,
24508        1,     1,     6,     4,     4,     4,     4,     6,     5,     5,
24509        5,     4,     6,     4,     4,     4,     4,     5,     7,     7,
24510        9,     5,     4,     6,     5,     7,     7,     7,     2,     3,
24511        3,     3,     4,     0,     4,     1,     3,     3,     1,     1,
24512        1,     2,     2,     0,     2,     4,     4,     6,     5,     0,
24513        5,     0,     2,     0,     1,     3,     3,     2,     2,     0,
24514        6,     1,     0,     3,     0,     3,     3,     3,     0,     1,
24515        4,     2,     2,     2,     2,     2,     3,     2,     2,     3,
24516        0,     4,     3,     5,     4,     3,     5,     1,     1,     1,
24517        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24518        1,     1,     1,     1,     1,     4,     1,     4,     1,     4,
24519        1,     2,     1,     2,     1,     3,     1,     3,     1,     3,
24520        3,     1,     3,     3,     3,     2,     1,     3,     3,     0,
24521        1,     1,     1,     1,     1,     1,     1,     1,     4,     3,
24522        2,     3,     0,     3,     3,     2,     2,     1,     0,     2,
24523        2,     3,     2,     1,     1,     3,     5,     1,     2,     4,
24524        2,     0,     1,     0,     1,     2,     2,     2,     3,     5,
24525        1,     0,     1,     2,     0,     2,     1,     0,     1,     0,
24526        1,     3,     3,     2,     1,     1,     1,     3,     1,     2,
24527        1,     3,     1,     1,     1,     1,     1,     1,     1,     2,
24528        1,     1,     1,     1,     1,     2,     6,     2,     3,     5,
24529        1,     1,     1,     1,     1,     1,     2,     2,     1,     1,
24530        1,     1,     1,     3,     1,     1,     1,     1,     1,     1,
24531        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24532        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24533        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24534        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24535        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24536        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24537        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24538        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24539        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24540        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24541        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24542        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24543        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24544        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24545        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24546        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24547        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24548        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24549        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24550        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24551        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24552        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24553        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24554        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24555        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24556        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24557        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24558        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24559        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24560        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24561        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24562        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24563        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24564        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24565        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24566        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24567        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24568        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24569        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24570        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24571        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24572        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24573        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24574        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24575        1,     1,     1,     1,     1,     1,     1,     1,     1
24576 };
24577 
24578 
24579 #define yyerrok         (yyerrstatus = 0)
24580 #define yyclearin       (yychar = YYEMPTY)
24581 #define YYEMPTY         (-2)
24582 #define YYEOF           0
24583 
24584 #define YYACCEPT        goto yyacceptlab
24585 #define YYABORT         goto yyabortlab
24586 #define YYERROR         goto yyerrorlab
24587 
24588 
24589 #define YYRECOVERING()  (!!yyerrstatus)
24590 
24591 #define YYBACKUP(Token, Value)                                    \
24592   do                                                              \
24593     if (yychar == YYEMPTY)                                        \
24594       {                                                           \
24595         yychar = (Token);                                         \
24596         yylval = (Value);                                         \
24597         YYPOPSTACK (yylen);                                       \
24598         yystate = *yyssp;                                         \
24599         goto yybackup;                                            \
24600       }                                                           \
24601     else                                                          \
24602       {                                                           \
24603         yyerror (&yylloc, yyscanner, YY_("syntax error: cannot back up")); \
24604         YYERROR;                                                  \
24605       }                                                           \
24606   while (0)
24607 
24608 /* Error token number */
24609 #define YYTERROR        1
24610 #define YYERRCODE       256
24611 
24612 
24613 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
24614    If N is 0, then set CURRENT to the empty location which ends
24615    the previous symbol: RHS[0] (always defined).  */
24616 
24617 #ifndef YYLLOC_DEFAULT
24618 # define YYLLOC_DEFAULT(Current, Rhs, N)                                \
24619     do                                                                  \
24620       if (N)                                                            \
24621         {                                                               \
24622           (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
24623           (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
24624           (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
24625           (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
24626         }                                                               \
24627       else                                                              \
24628         {                                                               \
24629           (Current).first_line   = (Current).last_line   =              \
24630             YYRHSLOC (Rhs, 0).last_line;                                \
24631           (Current).first_column = (Current).last_column =              \
24632             YYRHSLOC (Rhs, 0).last_column;                              \
24633         }                                                               \
24634     while (0)
24635 #endif
24636 
24637 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
24638 
24639 
24640 /* Enable debugging if requested.  */
24641 #if YYDEBUG
24642 
24643 # ifndef YYFPRINTF
24644 #  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
24645 #  define YYFPRINTF fprintf
24646 # endif
24647 
24648 # define YYDPRINTF(Args)                        \
24649 do {                                            \
24650   if (yydebug)                                  \
24651     YYFPRINTF Args;                             \
24652 } while (0)
24653 
24654 
24655 /* YY_LOCATION_PRINT -- Print the location on the stream.
24656    This macro was not mandated originally: define only if we know
24657    we won't break user code: when these are the locations we know.  */
24658 
24659 #ifndef YY_LOCATION_PRINT
24660 # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
24661 
24662 /* Print *YYLOCP on YYO.  Private, do not rely on its existence. */
24663 
24664 YY_ATTRIBUTE_UNUSED
24665 static int
24666 yy_location_print_ (FILE *yyo, YYLTYPE const * const yylocp)
24667 {
24668   int res = 0;
24669   int end_col = 0 != yylocp->last_column ? yylocp->last_column - 1 : 0;
24670   if (0 <= yylocp->first_line)
24671     {
24672       res += YYFPRINTF (yyo, "%d", yylocp->first_line);
24673       if (0 <= yylocp->first_column)
24674         res += YYFPRINTF (yyo, ".%d", yylocp->first_column);
24675     }
24676   if (0 <= yylocp->last_line)
24677     {
24678       if (yylocp->first_line < yylocp->last_line)
24679         {
24680           res += YYFPRINTF (yyo, "-%d", yylocp->last_line);
24681           if (0 <= end_col)
24682             res += YYFPRINTF (yyo, ".%d", end_col);
24683         }
24684       else if (0 <= end_col && yylocp->first_column < end_col)
24685         res += YYFPRINTF (yyo, "-%d", end_col);
24686     }
24687   return res;
24688  }
24689 
24690 #  define YY_LOCATION_PRINT(File, Loc)          \
24691   yy_location_print_ (File, &(Loc))
24692 
24693 # else
24694 #  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
24695 # endif
24696 #endif
24697 
24698 
24699 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
24700 do {                                                                      \
24701   if (yydebug)                                                            \
24702     {                                                                     \
24703       YYFPRINTF (stderr, "%s ", Title);                                   \
24704       yy_symbol_print (stderr,                                            \
24705                   Type, Value, Location, yyscanner); \
24706       YYFPRINTF (stderr, "\n");                                           \
24707     }                                                                     \
24708 } while (0)
24709 
24710 
24711 /*-----------------------------------.
24712 | Print this symbol's value on YYO.  |
24713 `-----------------------------------*/
24714 
24715 static void
24716 yy_symbol_value_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, core_yyscan_t yyscanner)
24717 {
24718   FILE *yyoutput = yyo;
24719   YYUSE (yyoutput);
24720   YYUSE (yylocationp);
24721   YYUSE (yyscanner);
24722   if (!yyvaluep)
24723     return;
24724 # ifdef YYPRINT
24725   if (yytype < YYNTOKENS)
24726     YYPRINT (yyo, yytoknum[yytype], *yyvaluep);
24727 # endif
24728   YYUSE (yytype);
24729 }
24730 
24731 
24732 /*---------------------------.
24733 | Print this symbol on YYO.  |
24734 `---------------------------*/
24735 
24736 static void
24737 yy_symbol_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, core_yyscan_t yyscanner)
24738 {
24739   YYFPRINTF (yyo, "%s %s (",
24740              yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
24741 
24742   YY_LOCATION_PRINT (yyo, *yylocationp);
24743   YYFPRINTF (yyo, ": ");
24744   yy_symbol_value_print (yyo, yytype, yyvaluep, yylocationp, yyscanner);
24745   YYFPRINTF (yyo, ")");
24746 }
24747 
24748 /*------------------------------------------------------------------.
24749 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
24750 | TOP (included).                                                   |
24751 `------------------------------------------------------------------*/
24752 
24753 static void
24754 yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
24755 {
24756   YYFPRINTF (stderr, "Stack now");
24757   for (; yybottom <= yytop; yybottom++)
24758     {
24759       int yybot = *yybottom;
24760       YYFPRINTF (stderr, " %d", yybot);
24761     }
24762   YYFPRINTF (stderr, "\n");
24763 }
24764 
24765 # define YY_STACK_PRINT(Bottom, Top)                            \
24766 do {                                                            \
24767   if (yydebug)                                                  \
24768     yy_stack_print ((Bottom), (Top));                           \
24769 } while (0)
24770 
24771 
24772 /*------------------------------------------------.
24773 | Report that the YYRULE is going to be reduced.  |
24774 `------------------------------------------------*/
24775 
24776 static void
24777 yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, YYLTYPE *yylsp, int yyrule, core_yyscan_t yyscanner)
24778 {
24779   unsigned long yylno = yyrline[yyrule];
24780   int yynrhs = yyr2[yyrule];
24781   int yyi;
24782   YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
24783              yyrule - 1, yylno);
24784   /* The symbols being reduced.  */
24785   for (yyi = 0; yyi < yynrhs; yyi++)
24786     {
24787       YYFPRINTF (stderr, "   $%d = ", yyi + 1);
24788       yy_symbol_print (stderr,
24789                        yystos[yyssp[yyi + 1 - yynrhs]],
24790                        &yyvsp[(yyi + 1) - (yynrhs)]
24791                        , &(yylsp[(yyi + 1) - (yynrhs)])                       , yyscanner);
24792       YYFPRINTF (stderr, "\n");
24793     }
24794 }
24795 
24796 # define YY_REDUCE_PRINT(Rule)          \
24797 do {                                    \
24798   if (yydebug)                          \
24799     yy_reduce_print (yyssp, yyvsp, yylsp, Rule, yyscanner); \
24800 } while (0)
24801 
24802 /* Nonzero means print parse trace.  It is left uninitialized so that
24803    multiple parsers can coexist.  */
24804 int yydebug;
24805 #else /* !YYDEBUG */
24806 # define YYDPRINTF(Args)
24807 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
24808 # define YY_STACK_PRINT(Bottom, Top)
24809 # define YY_REDUCE_PRINT(Rule)
24810 #endif /* !YYDEBUG */
24811 
24812 
24813 /* YYINITDEPTH -- initial size of the parser's stacks.  */
24814 #ifndef YYINITDEPTH
24815 # define YYINITDEPTH 200
24816 #endif
24817 
24818 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
24819    if the built-in stack extension method is used).
24820 
24821    Do not make this value too large; the results are undefined if
24822    YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
24823    evaluated with infinite-precision integer arithmetic.  */
24824 
24825 #ifndef YYMAXDEPTH
24826 # define YYMAXDEPTH 10000
24827 #endif
24828 
24829 
24830 #if YYERROR_VERBOSE
24831 
24832 # ifndef yystrlen
24833 #  if defined __GLIBC__ && defined _STRING_H
24834 #   define yystrlen strlen
24835 #  else
24836 /* Return the length of YYSTR.  */
24837 static YYSIZE_T
24838 yystrlen (const char *yystr)
24839 {
24840   YYSIZE_T yylen;
24841   for (yylen = 0; yystr[yylen]; yylen++)
24842     continue;
24843   return yylen;
24844 }
24845 #  endif
24846 # endif
24847 
24848 # ifndef yystpcpy
24849 #  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
24850 #   define yystpcpy stpcpy
24851 #  else
24852 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
24853    YYDEST.  */
24854 static char *
24855 yystpcpy (char *yydest, const char *yysrc)
24856 {
24857   char *yyd = yydest;
24858   const char *yys = yysrc;
24859 
24860   while ((*yyd++ = *yys++) != '\0')
24861     continue;
24862 
24863   return yyd - 1;
24864 }
24865 #  endif
24866 # endif
24867 
24868 # ifndef yytnamerr
24869 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
24870    quotes and backslashes, so that it's suitable for yyerror.  The
24871    heuristic is that double-quoting is unnecessary unless the string
24872    contains an apostrophe, a comma, or backslash (other than
24873    backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
24874    null, do not copy; instead, return the length of what the result
24875    would have been.  */
24876 static YYSIZE_T
24877 yytnamerr (char *yyres, const char *yystr)
24878 {
24879   if (*yystr == '"')
24880     {
24881       YYSIZE_T yyn = 0;
24882       char const *yyp = yystr;
24883 
24884       for (;;)
24885         switch (*++yyp)
24886           {
24887           case '\'':
24888           case ',':
24889             goto do_not_strip_quotes;
24890 
24891           case '\\':
24892             if (*++yyp != '\\')
24893               goto do_not_strip_quotes;
24894             else
24895               goto append;
24896 
24897           append:
24898           default:
24899             if (yyres)
24900               yyres[yyn] = *yyp;
24901             yyn++;
24902             break;
24903 
24904           case '"':
24905             if (yyres)
24906               yyres[yyn] = '\0';
24907             return yyn;
24908           }
24909     do_not_strip_quotes: ;
24910     }
24911 
24912   if (! yyres)
24913     return yystrlen (yystr);
24914 
24915   return (YYSIZE_T) (yystpcpy (yyres, yystr) - yyres);
24916 }
24917 # endif
24918 
24919 /* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
24920    about the unexpected token YYTOKEN for the state stack whose top is
24921    YYSSP.
24922 
24923    Return 0 if *YYMSG was successfully written.  Return 1 if *YYMSG is
24924    not large enough to hold the message.  In that case, also set
24925    *YYMSG_ALLOC to the required number of bytes.  Return 2 if the
24926    required number of bytes is too large to store.  */
24927 static int
24928 yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
24929                 yytype_int16 *yyssp, int yytoken)
24930 {
24931   YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
24932   YYSIZE_T yysize = yysize0;
24933   enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
24934   /* Internationalized format string. */
24935   const char *yyformat = YY_NULLPTR;
24936   /* Arguments of yyformat. */
24937   char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
24938   /* Number of reported tokens (one for the "unexpected", one per
24939      "expected"). */
24940   int yycount = 0;
24941 
24942   /* There are many possibilities here to consider:
24943      - If this state is a consistent state with a default action, then
24944        the only way this function was invoked is if the default action
24945        is an error action.  In that case, don't check for expected
24946        tokens because there are none.
24947      - The only way there can be no lookahead present (in yychar) is if
24948        this state is a consistent state with a default action.  Thus,
24949        detecting the absence of a lookahead is sufficient to determine
24950        that there is no unexpected or expected token to report.  In that
24951        case, just report a simple "syntax error".
24952      - Don't assume there isn't a lookahead just because this state is a
24953        consistent state with a default action.  There might have been a
24954        previous inconsistent state, consistent state with a non-default
24955        action, or user semantic action that manipulated yychar.
24956      - Of course, the expected token list depends on states to have
24957        correct lookahead information, and it depends on the parser not
24958        to perform extra reductions after fetching a lookahead from the
24959        scanner and before detecting a syntax error.  Thus, state merging
24960        (from LALR or IELR) and default reductions corrupt the expected
24961        token list.  However, the list is correct for canonical LR with
24962        one exception: it will still contain any token that will not be
24963        accepted due to an error action in a later state.
24964   */
24965   if (yytoken != YYEMPTY)
24966     {
24967       int yyn = yypact[*yyssp];
24968       yyarg[yycount++] = yytname[yytoken];
24969       if (!yypact_value_is_default (yyn))
24970         {
24971           /* Start YYX at -YYN if negative to avoid negative indexes in
24972              YYCHECK.  In other words, skip the first -YYN actions for
24973              this state because they are default actions.  */
24974           int yyxbegin = yyn < 0 ? -yyn : 0;
24975           /* Stay within bounds of both yycheck and yytname.  */
24976           int yychecklim = YYLAST - yyn + 1;
24977           int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
24978           int yyx;
24979 
24980           for (yyx = yyxbegin; yyx < yyxend; ++yyx)
24981             if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
24982                 && !yytable_value_is_error (yytable[yyx + yyn]))
24983               {
24984                 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
24985                   {
24986                     yycount = 1;
24987                     yysize = yysize0;
24988                     break;
24989                   }
24990                 yyarg[yycount++] = yytname[yyx];
24991                 {
24992                   YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
24993                   if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)
24994                     yysize = yysize1;
24995                   else
24996                     return 2;
24997                 }
24998               }
24999         }
25000     }
25001 
25002   switch (yycount)
25003     {
25004 # define YYCASE_(N, S)                      \
25005       case N:                               \
25006         yyformat = S;                       \
25007       break
25008     default: /* Avoid compiler warnings. */
25009       YYCASE_(0, YY_("syntax error"));
25010       YYCASE_(1, YY_("syntax error, unexpected %s"));
25011       YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
25012       YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
25013       YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
25014       YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
25015 # undef YYCASE_
25016     }
25017 
25018   {
25019     YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
25020     if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)
25021       yysize = yysize1;
25022     else
25023       return 2;
25024   }
25025 
25026   if (*yymsg_alloc < yysize)
25027     {
25028       *yymsg_alloc = 2 * yysize;
25029       if (! (yysize <= *yymsg_alloc
25030              && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
25031         *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
25032       return 1;
25033     }
25034 
25035   /* Avoid sprintf, as that infringes on the user's name space.
25036      Don't have undefined behavior even if the translation
25037      produced a string with the wrong number of "%s"s.  */
25038   {
25039     char *yyp = *yymsg;
25040     int yyi = 0;
25041     while ((*yyp = *yyformat) != '\0')
25042       if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
25043         {
25044           yyp += yytnamerr (yyp, yyarg[yyi++]);
25045           yyformat += 2;
25046         }
25047       else
25048         {
25049           yyp++;
25050           yyformat++;
25051         }
25052   }
25053   return 0;
25054 }
25055 #endif /* YYERROR_VERBOSE */
25056 
25057 /*-----------------------------------------------.
25058 | Release the memory associated to this symbol.  |
25059 `-----------------------------------------------*/
25060 
25061 static void
25062 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp, core_yyscan_t yyscanner)
25063 {
25064   YYUSE (yyvaluep);
25065   YYUSE (yylocationp);
25066   YYUSE (yyscanner);
25067   if (!yymsg)
25068     yymsg = "Deleting";
25069   YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
25070 
25071   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
25072   YYUSE (yytype);
25073   YY_IGNORE_MAYBE_UNINITIALIZED_END
25074 }
25075 
25076 
25077 
25078 
25079 /*----------.
25080 | yyparse.  |
25081 `----------*/
25082 
25083 int
25084 yyparse (core_yyscan_t yyscanner)
25085 {
25086 /* The lookahead symbol.  */
25087 int yychar;
25088 
25089 
25090 /* The semantic value of the lookahead symbol.  */
25091 /* Default value used for initialization, for pacifying older GCCs
25092    or non-GCC compilers.  */
25093 YY_INITIAL_VALUE (static YYSTYPE yyval_default;)
25094 YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
25095 
25096 /* Location data for the lookahead symbol.  */
25097 static YYLTYPE yyloc_default
25098 # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
25099   = { 1, 1, 1, 1 }
25100 # endif
25101 ;
25102 YYLTYPE yylloc = yyloc_default;
25103 
25104     /* Number of syntax errors so far.  */
25105     int yynerrs;
25106 
25107     int yystate;
25108     /* Number of tokens to shift before error messages enabled.  */
25109     int yyerrstatus;
25110 
25111     /* The stacks and their tools:
25112        'yyss': related to states.
25113        'yyvs': related to semantic values.
25114        'yyls': related to locations.
25115 
25116        Refer to the stacks through separate pointers, to allow yyoverflow
25117        to reallocate them elsewhere.  */
25118 
25119     /* The state stack.  */
25120     yytype_int16 yyssa[YYINITDEPTH];
25121     yytype_int16 *yyss;
25122     yytype_int16 *yyssp;
25123 
25124     /* The semantic value stack.  */
25125     YYSTYPE yyvsa[YYINITDEPTH];
25126     YYSTYPE *yyvs;
25127     YYSTYPE *yyvsp;
25128 
25129     /* The location stack.  */
25130     YYLTYPE yylsa[YYINITDEPTH];
25131     YYLTYPE *yyls;
25132     YYLTYPE *yylsp;
25133 
25134     /* The locations where the error started and ended.  */
25135     YYLTYPE yyerror_range[3];
25136 
25137     YYSIZE_T yystacksize;
25138 
25139   int yyn;
25140   int yyresult;
25141   /* Lookahead token as an internal (translated) token number.  */
25142   int yytoken = 0;
25143   /* The variables used to return semantic value and location from the
25144      action routines.  */
25145   YYSTYPE yyval;
25146   YYLTYPE yyloc;
25147 
25148 #if YYERROR_VERBOSE
25149   /* Buffer for error messages, and its allocated size.  */
25150   char yymsgbuf[128];
25151   char *yymsg = yymsgbuf;
25152   YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
25153 #endif
25154 
25155 #define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
25156 
25157   /* The number of symbols on the RHS of the reduced rule.
25158      Keep to zero when no symbol should be popped.  */
25159   int yylen = 0;
25160 
25161   yyssp = yyss = yyssa;
25162   yyvsp = yyvs = yyvsa;
25163   yylsp = yyls = yylsa;
25164   yystacksize = YYINITDEPTH;
25165 
25166   YYDPRINTF ((stderr, "Starting parse\n"));
25167 
25168   yystate = 0;
25169   yyerrstatus = 0;
25170   yynerrs = 0;
25171   yychar = YYEMPTY; /* Cause a token to be read.  */
25172   yylsp[0] = yylloc;
25173   goto yysetstate;
25174 
25175 
25176 /*------------------------------------------------------------.
25177 | yynewstate -- push a new state, which is found in yystate.  |
25178 `------------------------------------------------------------*/
25179 yynewstate:
25180   /* In all cases, when you get here, the value and location stacks
25181      have just been pushed.  So pushing a state here evens the stacks.  */
25182   yyssp++;
25183 
25184 
25185 /*--------------------------------------------------------------------.
25186 | yynewstate -- set current state (the top of the stack) to yystate.  |
25187 `--------------------------------------------------------------------*/
25188 yysetstate:
25189   *yyssp = (yytype_int16) yystate;
25190 
25191   if (yyss + yystacksize - 1 <= yyssp)
25192 #if !defined yyoverflow && !defined YYSTACK_RELOCATE
25193     goto yyexhaustedlab;
25194 #else
25195     {
25196       /* Get the current used size of the three stacks, in elements.  */
25197       YYSIZE_T yysize = (YYSIZE_T) (yyssp - yyss + 1);
25198 
25199 # if defined yyoverflow
25200       {
25201         /* Give user a chance to reallocate the stack.  Use copies of
25202            these so that the &'s don't force the real ones into
25203            memory.  */
25204         YYSTYPE *yyvs1 = yyvs;
25205         yytype_int16 *yyss1 = yyss;
25206         YYLTYPE *yyls1 = yyls;
25207 
25208         /* Each stack pointer address is followed by the size of the
25209            data in use in that stack, in bytes.  This used to be a
25210            conditional around just the two extra args, but that might
25211            be undefined if yyoverflow is a macro.  */
25212         yyoverflow (YY_("memory exhausted"),
25213                     &yyss1, yysize * sizeof (*yyssp),
25214                     &yyvs1, yysize * sizeof (*yyvsp),
25215                     &yyls1, yysize * sizeof (*yylsp),
25216                     &yystacksize);
25217         yyss = yyss1;
25218         yyvs = yyvs1;
25219         yyls = yyls1;
25220       }
25221 # else /* defined YYSTACK_RELOCATE */
25222       /* Extend the stack our own way.  */
25223       if (YYMAXDEPTH <= yystacksize)
25224         goto yyexhaustedlab;
25225       yystacksize *= 2;
25226       if (YYMAXDEPTH < yystacksize)
25227         yystacksize = YYMAXDEPTH;
25228 
25229       {
25230         yytype_int16 *yyss1 = yyss;
25231         union yyalloc *yyptr =
25232           (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
25233         if (! yyptr)
25234           goto yyexhaustedlab;
25235         YYSTACK_RELOCATE (yyss_alloc, yyss);
25236         YYSTACK_RELOCATE (yyvs_alloc, yyvs);
25237         YYSTACK_RELOCATE (yyls_alloc, yyls);
25238 # undef YYSTACK_RELOCATE
25239         if (yyss1 != yyssa)
25240           YYSTACK_FREE (yyss1);
25241       }
25242 # endif
25243 
25244       yyssp = yyss + yysize - 1;
25245       yyvsp = yyvs + yysize - 1;
25246       yylsp = yyls + yysize - 1;
25247 
25248       YYDPRINTF ((stderr, "Stack size increased to %lu\n",
25249                   (unsigned long) yystacksize));
25250 
25251       if (yyss + yystacksize - 1 <= yyssp)
25252         YYABORT;
25253     }
25254 #endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */
25255 
25256   YYDPRINTF ((stderr, "Entering state %d\n", yystate));
25257 
25258   if (yystate == YYFINAL)
25259     YYACCEPT;
25260 
25261   goto yybackup;
25262 
25263 
25264 /*-----------.
25265 | yybackup.  |
25266 `-----------*/
25267 yybackup:
25268   /* Do appropriate processing given the current state.  Read a
25269      lookahead token if we need one and don't already have one.  */
25270 
25271   /* First try to decide what to do without reference to lookahead token.  */
25272   yyn = yypact[yystate];
25273   if (yypact_value_is_default (yyn))
25274     goto yydefault;
25275 
25276   /* Not known => get a lookahead token if don't already have one.  */
25277 
25278   /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */
25279   if (yychar == YYEMPTY)
25280     {
25281       YYDPRINTF ((stderr, "Reading a token: "));
25282       yychar = yylex (&yylval, &yylloc, yyscanner);
25283     }
25284 
25285   if (yychar <= YYEOF)
25286     {
25287       yychar = yytoken = YYEOF;
25288       YYDPRINTF ((stderr, "Now at end of input.\n"));
25289     }
25290   else
25291     {
25292       yytoken = YYTRANSLATE (yychar);
25293       YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
25294     }
25295 
25296   /* If the proper action on seeing token YYTOKEN is to reduce or to
25297      detect an error, take that action.  */
25298   yyn += yytoken;
25299   if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
25300     goto yydefault;
25301   yyn = yytable[yyn];
25302   if (yyn <= 0)
25303     {
25304       if (yytable_value_is_error (yyn))
25305         goto yyerrlab;
25306       yyn = -yyn;
25307       goto yyreduce;
25308     }
25309 
25310   /* Count tokens shifted since error; after three, turn off error
25311      status.  */
25312   if (yyerrstatus)
25313     yyerrstatus--;
25314 
25315   /* Shift the lookahead token.  */
25316   YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
25317 
25318   /* Discard the shifted token.  */
25319   yychar = YYEMPTY;
25320 
25321   yystate = yyn;
25322   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
25323   *++yyvsp = yylval;
25324   YY_IGNORE_MAYBE_UNINITIALIZED_END
25325   *++yylsp = yylloc;
25326   goto yynewstate;
25327 
25328 
25329 /*-----------------------------------------------------------.
25330 | yydefault -- do the default action for the current state.  |
25331 `-----------------------------------------------------------*/
25332 yydefault:
25333   yyn = yydefact[yystate];
25334   if (yyn == 0)
25335     goto yyerrlab;
25336   goto yyreduce;
25337 
25338 
25339 /*-----------------------------.
25340 | yyreduce -- do a reduction.  |
25341 `-----------------------------*/
25342 yyreduce:
25343   /* yyn is the number of a rule to reduce with.  */
25344   yylen = yyr2[yyn];
25345 
25346   /* If YYLEN is nonzero, implement the default value of the action:
25347      '$$ = $1'.
25348 
25349      Otherwise, the following line sets YYVAL to garbage.
25350      This behavior is undocumented and Bison
25351      users should not rely upon it.  Assigning to YYVAL
25352      unconditionally makes the parser a bit smaller, and it avoids a
25353      GCC warning that YYVAL may be used uninitialized.  */
25354   yyval = yyvsp[1-yylen];
25355 
25356   /* Default location. */
25357   YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
25358   yyerror_range[1] = yyloc;
25359   YY_REDUCE_PRINT (yyn);
25360   switch (yyn)
25361     {
25362         case 2:
25363 #line 785 "gram.y" /* yacc.c:1652  */
25364     {
25365 				pg_yyget_extra(yyscanner)->parsetree = (yyvsp[0].list);
25366 			}
25367 #line 25368 "gram.c" /* yacc.c:1652  */
25368     break;
25369 
25370   case 3:
25371 #line 801 "gram.y" /* yacc.c:1652  */
25372     {
25373 					if ((yyvsp[-2].list) != NIL)
25374 					{
25375 						/* update length of previous stmt */
25376 						updateRawStmtEnd(llast_node(RawStmt, (yyvsp[-2].list)), (yylsp[-1]));
25377 					}
25378 					if ((yyvsp[0].node) != NULL)
25379 						(yyval.list) = lappend((yyvsp[-2].list), makeRawStmt((yyvsp[0].node), (yylsp[-1]) + 1));
25380 					else
25381 						(yyval.list) = (yyvsp[-2].list);
25382 				}
25383 #line 25384 "gram.c" /* yacc.c:1652  */
25384     break;
25385 
25386   case 4:
25387 #line 813 "gram.y" /* yacc.c:1652  */
25388     {
25389 					if ((yyvsp[0].node) != NULL)
25390 						(yyval.list) = list_make1(makeRawStmt((yyvsp[0].node), 0));
25391 					else
25392 						(yyval.list) = NIL;
25393 				}
25394 #line 25395 "gram.c" /* yacc.c:1652  */
25395     break;
25396 
25397   case 129:
25398 #line 947 "gram.y" /* yacc.c:1652  */
25399     { (yyval.node) = NULL; }
25400 #line 25401 "gram.c" /* yacc.c:1652  */
25401     break;
25402 
25403   case 130:
25404 #line 957 "gram.y" /* yacc.c:1652  */
25405     {
25406 					CallStmt *n = makeNode(CallStmt);
25407 					n->funccall = castNode(FuncCall, (yyvsp[0].node));
25408 					(yyval.node) = (Node *)n;
25409 				}
25410 #line 25411 "gram.c" /* yacc.c:1652  */
25411     break;
25412 
25413   case 131:
25414 #line 972 "gram.y" /* yacc.c:1652  */
25415     {
25416 					CreateRoleStmt *n = makeNode(CreateRoleStmt);
25417 					n->stmt_type = ROLESTMT_ROLE;
25418 					n->role = (yyvsp[-2].str);
25419 					n->options = (yyvsp[0].list);
25420 					(yyval.node) = (Node *)n;
25421 				}
25422 #line 25423 "gram.c" /* yacc.c:1652  */
25423     break;
25424 
25425   case 132:
25426 #line 982 "gram.y" /* yacc.c:1652  */
25427     {}
25428 #line 25429 "gram.c" /* yacc.c:1652  */
25429     break;
25430 
25431   case 133:
25432 #line 983 "gram.y" /* yacc.c:1652  */
25433     {}
25434 #line 25435 "gram.c" /* yacc.c:1652  */
25435     break;
25436 
25437   case 134:
25438 #line 984 "gram.y" /* yacc.c:1652  */
25439     {}
25440 #line 25441 "gram.c" /* yacc.c:1652  */
25441     break;
25442 
25443   case 135:
25444 #line 993 "gram.y" /* yacc.c:1652  */
25445     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
25446 #line 25447 "gram.c" /* yacc.c:1652  */
25447     break;
25448 
25449   case 136:
25450 #line 994 "gram.y" /* yacc.c:1652  */
25451     { (yyval.list) = NIL; }
25452 #line 25453 "gram.c" /* yacc.c:1652  */
25453     break;
25454 
25455   case 137:
25456 #line 998 "gram.y" /* yacc.c:1652  */
25457     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
25458 #line 25459 "gram.c" /* yacc.c:1652  */
25459     break;
25460 
25461   case 138:
25462 #line 999 "gram.y" /* yacc.c:1652  */
25463     { (yyval.list) = NIL; }
25464 #line 25465 "gram.c" /* yacc.c:1652  */
25465     break;
25466 
25467   case 139:
25468 #line 1004 "gram.y" /* yacc.c:1652  */
25469     {
25470 					(yyval.defelt) = makeDefElem("password",
25471 									 (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
25472 				}
25473 #line 25474 "gram.c" /* yacc.c:1652  */
25474     break;
25475 
25476   case 140:
25477 #line 1009 "gram.y" /* yacc.c:1652  */
25478     {
25479 					(yyval.defelt) = makeDefElem("password", NULL, (yylsp[-1]));
25480 				}
25481 #line 25482 "gram.c" /* yacc.c:1652  */
25482     break;
25483 
25484   case 141:
25485 #line 1013 "gram.y" /* yacc.c:1652  */
25486     {
25487 					/*
25488 					 * These days, passwords are always stored in encrypted
25489 					 * form, so there is no difference between PASSWORD and
25490 					 * ENCRYPTED PASSWORD.
25491 					 */
25492 					(yyval.defelt) = makeDefElem("password",
25493 									 (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
25494 				}
25495 #line 25496 "gram.c" /* yacc.c:1652  */
25496     break;
25497 
25498   case 142:
25499 #line 1023 "gram.y" /* yacc.c:1652  */
25500     {
25501 					ereport(ERROR,
25502 							(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
25503 							 errmsg("UNENCRYPTED PASSWORD is no longer supported"),
25504 							 errhint("Remove UNENCRYPTED to store the password in encrypted form instead."),
25505 							 parser_errposition((yylsp[-2]))));
25506 				}
25507 #line 25508 "gram.c" /* yacc.c:1652  */
25508     break;
25509 
25510   case 143:
25511 #line 1031 "gram.y" /* yacc.c:1652  */
25512     {
25513 					(yyval.defelt) = makeDefElem("inherit", (Node *)makeInteger(true), (yylsp[0]));
25514 				}
25515 #line 25516 "gram.c" /* yacc.c:1652  */
25516     break;
25517 
25518   case 144:
25519 #line 1035 "gram.y" /* yacc.c:1652  */
25520     {
25521 					(yyval.defelt) = makeDefElem("connectionlimit", (Node *)makeInteger((yyvsp[0].ival)), (yylsp[-2]));
25522 				}
25523 #line 25524 "gram.c" /* yacc.c:1652  */
25524     break;
25525 
25526   case 145:
25527 #line 1039 "gram.y" /* yacc.c:1652  */
25528     {
25529 					(yyval.defelt) = makeDefElem("validUntil", (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
25530 				}
25531 #line 25532 "gram.c" /* yacc.c:1652  */
25532     break;
25533 
25534   case 146:
25535 #line 1044 "gram.y" /* yacc.c:1652  */
25536     {
25537 					(yyval.defelt) = makeDefElem("rolemembers", (Node *)(yyvsp[0].list), (yylsp[-1]));
25538 				}
25539 #line 25540 "gram.c" /* yacc.c:1652  */
25540     break;
25541 
25542   case 147:
25543 #line 1048 "gram.y" /* yacc.c:1652  */
25544     {
25545 					/*
25546 					 * We handle identifiers that aren't parser keywords with
25547 					 * the following special-case codes, to avoid bloating the
25548 					 * size of the main parser.
25549 					 */
25550 					if (strcmp((yyvsp[0].str), "superuser") == 0)
25551 						(yyval.defelt) = makeDefElem("superuser", (Node *)makeInteger(true), (yylsp[0]));
25552 					else if (strcmp((yyvsp[0].str), "nosuperuser") == 0)
25553 						(yyval.defelt) = makeDefElem("superuser", (Node *)makeInteger(false), (yylsp[0]));
25554 					else if (strcmp((yyvsp[0].str), "createrole") == 0)
25555 						(yyval.defelt) = makeDefElem("createrole", (Node *)makeInteger(true), (yylsp[0]));
25556 					else if (strcmp((yyvsp[0].str), "nocreaterole") == 0)
25557 						(yyval.defelt) = makeDefElem("createrole", (Node *)makeInteger(false), (yylsp[0]));
25558 					else if (strcmp((yyvsp[0].str), "replication") == 0)
25559 						(yyval.defelt) = makeDefElem("isreplication", (Node *)makeInteger(true), (yylsp[0]));
25560 					else if (strcmp((yyvsp[0].str), "noreplication") == 0)
25561 						(yyval.defelt) = makeDefElem("isreplication", (Node *)makeInteger(false), (yylsp[0]));
25562 					else if (strcmp((yyvsp[0].str), "createdb") == 0)
25563 						(yyval.defelt) = makeDefElem("createdb", (Node *)makeInteger(true), (yylsp[0]));
25564 					else if (strcmp((yyvsp[0].str), "nocreatedb") == 0)
25565 						(yyval.defelt) = makeDefElem("createdb", (Node *)makeInteger(false), (yylsp[0]));
25566 					else if (strcmp((yyvsp[0].str), "login") == 0)
25567 						(yyval.defelt) = makeDefElem("canlogin", (Node *)makeInteger(true), (yylsp[0]));
25568 					else if (strcmp((yyvsp[0].str), "nologin") == 0)
25569 						(yyval.defelt) = makeDefElem("canlogin", (Node *)makeInteger(false), (yylsp[0]));
25570 					else if (strcmp((yyvsp[0].str), "bypassrls") == 0)
25571 						(yyval.defelt) = makeDefElem("bypassrls", (Node *)makeInteger(true), (yylsp[0]));
25572 					else if (strcmp((yyvsp[0].str), "nobypassrls") == 0)
25573 						(yyval.defelt) = makeDefElem("bypassrls", (Node *)makeInteger(false), (yylsp[0]));
25574 					else if (strcmp((yyvsp[0].str), "noinherit") == 0)
25575 					{
25576 						/*
25577 						 * Note that INHERIT is a keyword, so it's handled by main parser, but
25578 						 * NOINHERIT is handled here.
25579 						 */
25580 						(yyval.defelt) = makeDefElem("inherit", (Node *)makeInteger(false), (yylsp[0]));
25581 					}
25582 					else
25583 						ereport(ERROR,
25584 								(errcode(ERRCODE_SYNTAX_ERROR),
25585 								 errmsg("unrecognized role option \"%s\"", (yyvsp[0].str)),
25586 									 parser_errposition((yylsp[0]))));
25587 				}
25588 #line 25589 "gram.c" /* yacc.c:1652  */
25589     break;
25590 
25591   case 148:
25592 #line 1095 "gram.y" /* yacc.c:1652  */
25593     { (yyval.defelt) = (yyvsp[0].defelt); }
25594 #line 25595 "gram.c" /* yacc.c:1652  */
25595     break;
25596 
25597   case 149:
25598 #line 1098 "gram.y" /* yacc.c:1652  */
25599     {
25600 					(yyval.defelt) = makeDefElem("sysid", (Node *)makeInteger((yyvsp[0].ival)), (yylsp[-1]));
25601 				}
25602 #line 25603 "gram.c" /* yacc.c:1652  */
25603     break;
25604 
25605   case 150:
25606 #line 1102 "gram.y" /* yacc.c:1652  */
25607     {
25608 					(yyval.defelt) = makeDefElem("adminmembers", (Node *)(yyvsp[0].list), (yylsp[-1]));
25609 				}
25610 #line 25611 "gram.c" /* yacc.c:1652  */
25611     break;
25612 
25613   case 151:
25614 #line 1106 "gram.y" /* yacc.c:1652  */
25615     {
25616 					(yyval.defelt) = makeDefElem("rolemembers", (Node *)(yyvsp[0].list), (yylsp[-1]));
25617 				}
25618 #line 25619 "gram.c" /* yacc.c:1652  */
25619     break;
25620 
25621   case 152:
25622 #line 1110 "gram.y" /* yacc.c:1652  */
25623     {
25624 					(yyval.defelt) = makeDefElem("addroleto", (Node *)(yyvsp[0].list), (yylsp[-2]));
25625 				}
25626 #line 25627 "gram.c" /* yacc.c:1652  */
25627     break;
25628 
25629   case 153:
25630 #line 1114 "gram.y" /* yacc.c:1652  */
25631     {
25632 					(yyval.defelt) = makeDefElem("addroleto", (Node *)(yyvsp[0].list), (yylsp[-2]));
25633 				}
25634 #line 25635 "gram.c" /* yacc.c:1652  */
25635     break;
25636 
25637   case 154:
25638 #line 1128 "gram.y" /* yacc.c:1652  */
25639     {
25640 					CreateRoleStmt *n = makeNode(CreateRoleStmt);
25641 					n->stmt_type = ROLESTMT_USER;
25642 					n->role = (yyvsp[-2].str);
25643 					n->options = (yyvsp[0].list);
25644 					(yyval.node) = (Node *)n;
25645 				}
25646 #line 25647 "gram.c" /* yacc.c:1652  */
25647     break;
25648 
25649   case 155:
25650 #line 1146 "gram.y" /* yacc.c:1652  */
25651     {
25652 					AlterRoleStmt *n = makeNode(AlterRoleStmt);
25653 					n->role = (yyvsp[-2].rolespec);
25654 					n->action = +1;	/* add, if there are members */
25655 					n->options = (yyvsp[0].list);
25656 					(yyval.node) = (Node *)n;
25657 				 }
25658 #line 25659 "gram.c" /* yacc.c:1652  */
25659     break;
25660 
25661   case 156:
25662 #line 1154 "gram.y" /* yacc.c:1652  */
25663     {
25664 					AlterRoleStmt *n = makeNode(AlterRoleStmt);
25665 					n->role = (yyvsp[-2].rolespec);
25666 					n->action = +1;	/* add, if there are members */
25667 					n->options = (yyvsp[0].list);
25668 					(yyval.node) = (Node *)n;
25669 				 }
25670 #line 25671 "gram.c" /* yacc.c:1652  */
25671     break;
25672 
25673   case 157:
25674 #line 1164 "gram.y" /* yacc.c:1652  */
25675     { (yyval.str) = NULL; }
25676 #line 25677 "gram.c" /* yacc.c:1652  */
25677     break;
25678 
25679   case 158:
25680 #line 1165 "gram.y" /* yacc.c:1652  */
25681     { (yyval.str) = (yyvsp[0].str); }
25682 #line 25683 "gram.c" /* yacc.c:1652  */
25683     break;
25684 
25685   case 159:
25686 #line 1170 "gram.y" /* yacc.c:1652  */
25687     {
25688 					AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
25689 					n->role = (yyvsp[-2].rolespec);
25690 					n->database = (yyvsp[-1].str);
25691 					n->setstmt = (yyvsp[0].vsetstmt);
25692 					(yyval.node) = (Node *)n;
25693 				}
25694 #line 25695 "gram.c" /* yacc.c:1652  */
25695     break;
25696 
25697   case 160:
25698 #line 1178 "gram.y" /* yacc.c:1652  */
25699     {
25700 					AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
25701 					n->role = NULL;
25702 					n->database = (yyvsp[-1].str);
25703 					n->setstmt = (yyvsp[0].vsetstmt);
25704 					(yyval.node) = (Node *)n;
25705 				}
25706 #line 25707 "gram.c" /* yacc.c:1652  */
25707     break;
25708 
25709   case 161:
25710 #line 1186 "gram.y" /* yacc.c:1652  */
25711     {
25712 					AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
25713 					n->role = (yyvsp[-2].rolespec);
25714 					n->database = (yyvsp[-1].str);
25715 					n->setstmt = (yyvsp[0].vsetstmt);
25716 					(yyval.node) = (Node *)n;
25717 				}
25718 #line 25719 "gram.c" /* yacc.c:1652  */
25719     break;
25720 
25721   case 162:
25722 #line 1194 "gram.y" /* yacc.c:1652  */
25723     {
25724 					AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
25725 					n->role = NULL;
25726 					n->database = (yyvsp[-1].str);
25727 					n->setstmt = (yyvsp[0].vsetstmt);
25728 					(yyval.node) = (Node *)n;
25729 				}
25730 #line 25731 "gram.c" /* yacc.c:1652  */
25731     break;
25732 
25733   case 163:
25734 #line 1215 "gram.y" /* yacc.c:1652  */
25735     {
25736 					DropRoleStmt *n = makeNode(DropRoleStmt);
25737 					n->missing_ok = false;
25738 					n->roles = (yyvsp[0].list);
25739 					(yyval.node) = (Node *)n;
25740 				}
25741 #line 25742 "gram.c" /* yacc.c:1652  */
25742     break;
25743 
25744   case 164:
25745 #line 1222 "gram.y" /* yacc.c:1652  */
25746     {
25747 					DropRoleStmt *n = makeNode(DropRoleStmt);
25748 					n->missing_ok = true;
25749 					n->roles = (yyvsp[0].list);
25750 					(yyval.node) = (Node *)n;
25751 				}
25752 #line 25753 "gram.c" /* yacc.c:1652  */
25753     break;
25754 
25755   case 165:
25756 #line 1229 "gram.y" /* yacc.c:1652  */
25757     {
25758 					DropRoleStmt *n = makeNode(DropRoleStmt);
25759 					n->missing_ok = false;
25760 					n->roles = (yyvsp[0].list);
25761 					(yyval.node) = (Node *)n;
25762 				}
25763 #line 25764 "gram.c" /* yacc.c:1652  */
25764     break;
25765 
25766   case 166:
25767 #line 1236 "gram.y" /* yacc.c:1652  */
25768     {
25769 					DropRoleStmt *n = makeNode(DropRoleStmt);
25770 					n->roles = (yyvsp[0].list);
25771 					n->missing_ok = true;
25772 					(yyval.node) = (Node *)n;
25773 				}
25774 #line 25775 "gram.c" /* yacc.c:1652  */
25775     break;
25776 
25777   case 167:
25778 #line 1243 "gram.y" /* yacc.c:1652  */
25779     {
25780 					DropRoleStmt *n = makeNode(DropRoleStmt);
25781 					n->missing_ok = false;
25782 					n->roles = (yyvsp[0].list);
25783 					(yyval.node) = (Node *)n;
25784 				}
25785 #line 25786 "gram.c" /* yacc.c:1652  */
25786     break;
25787 
25788   case 168:
25789 #line 1250 "gram.y" /* yacc.c:1652  */
25790     {
25791 					DropRoleStmt *n = makeNode(DropRoleStmt);
25792 					n->missing_ok = true;
25793 					n->roles = (yyvsp[0].list);
25794 					(yyval.node) = (Node *)n;
25795 				}
25796 #line 25797 "gram.c" /* yacc.c:1652  */
25797     break;
25798 
25799   case 169:
25800 #line 1267 "gram.y" /* yacc.c:1652  */
25801     {
25802 					CreateRoleStmt *n = makeNode(CreateRoleStmt);
25803 					n->stmt_type = ROLESTMT_GROUP;
25804 					n->role = (yyvsp[-2].str);
25805 					n->options = (yyvsp[0].list);
25806 					(yyval.node) = (Node *)n;
25807 				}
25808 #line 25809 "gram.c" /* yacc.c:1652  */
25809     break;
25810 
25811   case 170:
25812 #line 1285 "gram.y" /* yacc.c:1652  */
25813     {
25814 					AlterRoleStmt *n = makeNode(AlterRoleStmt);
25815 					n->role = (yyvsp[-3].rolespec);
25816 					n->action = (yyvsp[-2].ival);
25817 					n->options = list_make1(makeDefElem("rolemembers",
25818 														(Node *)(yyvsp[0].list), (yylsp[0])));
25819 					(yyval.node) = (Node *)n;
25820 				}
25821 #line 25822 "gram.c" /* yacc.c:1652  */
25822     break;
25823 
25824   case 171:
25825 #line 1295 "gram.y" /* yacc.c:1652  */
25826     { (yyval.ival) = +1; }
25827 #line 25828 "gram.c" /* yacc.c:1652  */
25828     break;
25829 
25830   case 172:
25831 #line 1296 "gram.y" /* yacc.c:1652  */
25832     { (yyval.ival) = -1; }
25833 #line 25834 "gram.c" /* yacc.c:1652  */
25834     break;
25835 
25836   case 173:
25837 #line 1308 "gram.y" /* yacc.c:1652  */
25838     {
25839 					CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
25840 					/* One can omit the schema name or the authorization id. */
25841 					n->schemaname = (yyvsp[-3].str);
25842 					n->authrole = (yyvsp[-1].rolespec);
25843 					n->schemaElts = (yyvsp[0].list);
25844 					n->if_not_exists = false;
25845 					(yyval.node) = (Node *)n;
25846 				}
25847 #line 25848 "gram.c" /* yacc.c:1652  */
25848     break;
25849 
25850   case 174:
25851 #line 1318 "gram.y" /* yacc.c:1652  */
25852     {
25853 					CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
25854 					/* ...but not both */
25855 					n->schemaname = (yyvsp[-1].str);
25856 					n->authrole = NULL;
25857 					n->schemaElts = (yyvsp[0].list);
25858 					n->if_not_exists = false;
25859 					(yyval.node) = (Node *)n;
25860 				}
25861 #line 25862 "gram.c" /* yacc.c:1652  */
25862     break;
25863 
25864   case 175:
25865 #line 1328 "gram.y" /* yacc.c:1652  */
25866     {
25867 					CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
25868 					/* schema name can be omitted here, too */
25869 					n->schemaname = (yyvsp[-3].str);
25870 					n->authrole = (yyvsp[-1].rolespec);
25871 					if ((yyvsp[0].list) != NIL)
25872 						ereport(ERROR,
25873 								(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
25874 								 errmsg("CREATE SCHEMA IF NOT EXISTS cannot include schema elements"),
25875 								 parser_errposition((yylsp[0]))));
25876 					n->schemaElts = (yyvsp[0].list);
25877 					n->if_not_exists = true;
25878 					(yyval.node) = (Node *)n;
25879 				}
25880 #line 25881 "gram.c" /* yacc.c:1652  */
25881     break;
25882 
25883   case 176:
25884 #line 1343 "gram.y" /* yacc.c:1652  */
25885     {
25886 					CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
25887 					/* ...but not here */
25888 					n->schemaname = (yyvsp[-1].str);
25889 					n->authrole = NULL;
25890 					if ((yyvsp[0].list) != NIL)
25891 						ereport(ERROR,
25892 								(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
25893 								 errmsg("CREATE SCHEMA IF NOT EXISTS cannot include schema elements"),
25894 								 parser_errposition((yylsp[0]))));
25895 					n->schemaElts = (yyvsp[0].list);
25896 					n->if_not_exists = true;
25897 					(yyval.node) = (Node *)n;
25898 				}
25899 #line 25900 "gram.c" /* yacc.c:1652  */
25900     break;
25901 
25902   case 177:
25903 #line 1360 "gram.y" /* yacc.c:1652  */
25904     { (yyval.str) = (yyvsp[0].str); }
25905 #line 25906 "gram.c" /* yacc.c:1652  */
25906     break;
25907 
25908   case 178:
25909 #line 1361 "gram.y" /* yacc.c:1652  */
25910     { (yyval.str) = NULL; }
25911 #line 25912 "gram.c" /* yacc.c:1652  */
25912     break;
25913 
25914   case 179:
25915 #line 1366 "gram.y" /* yacc.c:1652  */
25916     {
25917 					if ((yyloc) < 0)			/* see comments for YYLLOC_DEFAULT */
25918 						(yyloc) = (yylsp[0]);
25919 					(yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node));
25920 				}
25921 #line 25922 "gram.c" /* yacc.c:1652  */
25922     break;
25923 
25924   case 180:
25925 #line 1372 "gram.y" /* yacc.c:1652  */
25926     { (yyval.list) = NIL; }
25927 #line 25928 "gram.c" /* yacc.c:1652  */
25928     break;
25929 
25930   case 187:
25931 #line 1400 "gram.y" /* yacc.c:1652  */
25932     {
25933 					VariableSetStmt *n = (yyvsp[0].vsetstmt);
25934 					n->is_local = false;
25935 					(yyval.node) = (Node *) n;
25936 				}
25937 #line 25938 "gram.c" /* yacc.c:1652  */
25938     break;
25939 
25940   case 188:
25941 #line 1406 "gram.y" /* yacc.c:1652  */
25942     {
25943 					VariableSetStmt *n = (yyvsp[0].vsetstmt);
25944 					n->is_local = true;
25945 					(yyval.node) = (Node *) n;
25946 				}
25947 #line 25948 "gram.c" /* yacc.c:1652  */
25948     break;
25949 
25950   case 189:
25951 #line 1412 "gram.y" /* yacc.c:1652  */
25952     {
25953 					VariableSetStmt *n = (yyvsp[0].vsetstmt);
25954 					n->is_local = false;
25955 					(yyval.node) = (Node *) n;
25956 				}
25957 #line 25958 "gram.c" /* yacc.c:1652  */
25958     break;
25959 
25960   case 190:
25961 #line 1421 "gram.y" /* yacc.c:1652  */
25962     {
25963 					VariableSetStmt *n = makeNode(VariableSetStmt);
25964 					n->kind = VAR_SET_MULTI;
25965 					n->name = "TRANSACTION";
25966 					n->args = (yyvsp[0].list);
25967 					(yyval.vsetstmt) = n;
25968 				}
25969 #line 25970 "gram.c" /* yacc.c:1652  */
25970     break;
25971 
25972   case 191:
25973 #line 1429 "gram.y" /* yacc.c:1652  */
25974     {
25975 					VariableSetStmt *n = makeNode(VariableSetStmt);
25976 					n->kind = VAR_SET_MULTI;
25977 					n->name = "SESSION CHARACTERISTICS";
25978 					n->args = (yyvsp[0].list);
25979 					(yyval.vsetstmt) = n;
25980 				}
25981 #line 25982 "gram.c" /* yacc.c:1652  */
25982     break;
25983 
25984   case 193:
25985 #line 1441 "gram.y" /* yacc.c:1652  */
25986     {
25987 					VariableSetStmt *n = makeNode(VariableSetStmt);
25988 					n->kind = VAR_SET_VALUE;
25989 					n->name = (yyvsp[-2].str);
25990 					n->args = (yyvsp[0].list);
25991 					(yyval.vsetstmt) = n;
25992 				}
25993 #line 25994 "gram.c" /* yacc.c:1652  */
25994     break;
25995 
25996   case 194:
25997 #line 1449 "gram.y" /* yacc.c:1652  */
25998     {
25999 					VariableSetStmt *n = makeNode(VariableSetStmt);
26000 					n->kind = VAR_SET_VALUE;
26001 					n->name = (yyvsp[-2].str);
26002 					n->args = (yyvsp[0].list);
26003 					(yyval.vsetstmt) = n;
26004 				}
26005 #line 26006 "gram.c" /* yacc.c:1652  */
26006     break;
26007 
26008   case 195:
26009 #line 1457 "gram.y" /* yacc.c:1652  */
26010     {
26011 					VariableSetStmt *n = makeNode(VariableSetStmt);
26012 					n->kind = VAR_SET_DEFAULT;
26013 					n->name = (yyvsp[-2].str);
26014 					(yyval.vsetstmt) = n;
26015 				}
26016 #line 26017 "gram.c" /* yacc.c:1652  */
26017     break;
26018 
26019   case 196:
26020 #line 1464 "gram.y" /* yacc.c:1652  */
26021     {
26022 					VariableSetStmt *n = makeNode(VariableSetStmt);
26023 					n->kind = VAR_SET_DEFAULT;
26024 					n->name = (yyvsp[-2].str);
26025 					(yyval.vsetstmt) = n;
26026 				}
26027 #line 26028 "gram.c" /* yacc.c:1652  */
26028     break;
26029 
26030   case 197:
26031 #line 1473 "gram.y" /* yacc.c:1652  */
26032     {(yyval.vsetstmt) = (yyvsp[0].vsetstmt);}
26033 #line 26034 "gram.c" /* yacc.c:1652  */
26034     break;
26035 
26036   case 198:
26037 #line 1475 "gram.y" /* yacc.c:1652  */
26038     {
26039 					VariableSetStmt *n = makeNode(VariableSetStmt);
26040 					n->kind = VAR_SET_CURRENT;
26041 					n->name = (yyvsp[-2].str);
26042 					(yyval.vsetstmt) = n;
26043 				}
26044 #line 26045 "gram.c" /* yacc.c:1652  */
26045     break;
26046 
26047   case 199:
26048 #line 1483 "gram.y" /* yacc.c:1652  */
26049     {
26050 					VariableSetStmt *n = makeNode(VariableSetStmt);
26051 					n->kind = VAR_SET_VALUE;
26052 					n->name = "timezone";
26053 					if ((yyvsp[0].node) != NULL)
26054 						n->args = list_make1((yyvsp[0].node));
26055 					else
26056 						n->kind = VAR_SET_DEFAULT;
26057 					(yyval.vsetstmt) = n;
26058 				}
26059 #line 26060 "gram.c" /* yacc.c:1652  */
26060     break;
26061 
26062   case 200:
26063 #line 1494 "gram.y" /* yacc.c:1652  */
26064     {
26065 					ereport(ERROR,
26066 							(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
26067 							 errmsg("current database cannot be changed"),
26068 							 parser_errposition((yylsp[0]))));
26069 					(yyval.vsetstmt) = NULL; /*not reached*/
26070 				}
26071 #line 26072 "gram.c" /* yacc.c:1652  */
26072     break;
26073 
26074   case 201:
26075 #line 1502 "gram.y" /* yacc.c:1652  */
26076     {
26077 					VariableSetStmt *n = makeNode(VariableSetStmt);
26078 					n->kind = VAR_SET_VALUE;
26079 					n->name = "search_path";
26080 					n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
26081 					(yyval.vsetstmt) = n;
26082 				}
26083 #line 26084 "gram.c" /* yacc.c:1652  */
26084     break;
26085 
26086   case 202:
26087 #line 1510 "gram.y" /* yacc.c:1652  */
26088     {
26089 					VariableSetStmt *n = makeNode(VariableSetStmt);
26090 					n->kind = VAR_SET_VALUE;
26091 					n->name = "client_encoding";
26092 					if ((yyvsp[0].str) != NULL)
26093 						n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
26094 					else
26095 						n->kind = VAR_SET_DEFAULT;
26096 					(yyval.vsetstmt) = n;
26097 				}
26098 #line 26099 "gram.c" /* yacc.c:1652  */
26099     break;
26100 
26101   case 203:
26102 #line 1521 "gram.y" /* yacc.c:1652  */
26103     {
26104 					VariableSetStmt *n = makeNode(VariableSetStmt);
26105 					n->kind = VAR_SET_VALUE;
26106 					n->name = "role";
26107 					n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
26108 					(yyval.vsetstmt) = n;
26109 				}
26110 #line 26111 "gram.c" /* yacc.c:1652  */
26111     break;
26112 
26113   case 204:
26114 #line 1529 "gram.y" /* yacc.c:1652  */
26115     {
26116 					VariableSetStmt *n = makeNode(VariableSetStmt);
26117 					n->kind = VAR_SET_VALUE;
26118 					n->name = "session_authorization";
26119 					n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
26120 					(yyval.vsetstmt) = n;
26121 				}
26122 #line 26123 "gram.c" /* yacc.c:1652  */
26123     break;
26124 
26125   case 205:
26126 #line 1537 "gram.y" /* yacc.c:1652  */
26127     {
26128 					VariableSetStmt *n = makeNode(VariableSetStmt);
26129 					n->kind = VAR_SET_DEFAULT;
26130 					n->name = "session_authorization";
26131 					(yyval.vsetstmt) = n;
26132 				}
26133 #line 26134 "gram.c" /* yacc.c:1652  */
26134     break;
26135 
26136   case 206:
26137 #line 1544 "gram.y" /* yacc.c:1652  */
26138     {
26139 					VariableSetStmt *n = makeNode(VariableSetStmt);
26140 					n->kind = VAR_SET_VALUE;
26141 					n->name = "xmloption";
26142 					n->args = list_make1(makeStringConst((yyvsp[0].ival) == XMLOPTION_DOCUMENT ? "DOCUMENT" : "CONTENT", (yylsp[0])));
26143 					(yyval.vsetstmt) = n;
26144 				}
26145 #line 26146 "gram.c" /* yacc.c:1652  */
26146     break;
26147 
26148   case 207:
26149 #line 1553 "gram.y" /* yacc.c:1652  */
26150     {
26151 					VariableSetStmt *n = makeNode(VariableSetStmt);
26152 					n->kind = VAR_SET_MULTI;
26153 					n->name = "TRANSACTION SNAPSHOT";
26154 					n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
26155 					(yyval.vsetstmt) = n;
26156 				}
26157 #line 26158 "gram.c" /* yacc.c:1652  */
26158     break;
26159 
26160   case 208:
26161 #line 1562 "gram.y" /* yacc.c:1652  */
26162     { (yyval.str) = (yyvsp[0].str); }
26163 #line 26164 "gram.c" /* yacc.c:1652  */
26164     break;
26165 
26166   case 209:
26167 #line 1564 "gram.y" /* yacc.c:1652  */
26168     { (yyval.str) = psprintf("%s.%s", (yyvsp[-2].str), (yyvsp[0].str)); }
26169 #line 26170 "gram.c" /* yacc.c:1652  */
26170     break;
26171 
26172   case 210:
26173 #line 1567 "gram.y" /* yacc.c:1652  */
26174     { (yyval.list) = list_make1((yyvsp[0].node)); }
26175 #line 26176 "gram.c" /* yacc.c:1652  */
26176     break;
26177 
26178   case 211:
26179 #line 1568 "gram.y" /* yacc.c:1652  */
26180     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
26181 #line 26182 "gram.c" /* yacc.c:1652  */
26182     break;
26183 
26184   case 212:
26185 #line 1572 "gram.y" /* yacc.c:1652  */
26186     { (yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0])); }
26187 #line 26188 "gram.c" /* yacc.c:1652  */
26188     break;
26189 
26190   case 213:
26191 #line 1574 "gram.y" /* yacc.c:1652  */
26192     { (yyval.node) = makeAConst((yyvsp[0].value), (yylsp[0])); }
26193 #line 26194 "gram.c" /* yacc.c:1652  */
26194     break;
26195 
26196   case 214:
26197 #line 1577 "gram.y" /* yacc.c:1652  */
26198     { (yyval.str) = "read uncommitted"; }
26199 #line 26200 "gram.c" /* yacc.c:1652  */
26200     break;
26201 
26202   case 215:
26203 #line 1578 "gram.y" /* yacc.c:1652  */
26204     { (yyval.str) = "read committed"; }
26205 #line 26206 "gram.c" /* yacc.c:1652  */
26206     break;
26207 
26208   case 216:
26209 #line 1579 "gram.y" /* yacc.c:1652  */
26210     { (yyval.str) = "repeatable read"; }
26211 #line 26212 "gram.c" /* yacc.c:1652  */
26212     break;
26213 
26214   case 217:
26215 #line 1580 "gram.y" /* yacc.c:1652  */
26216     { (yyval.str) = "serializable"; }
26217 #line 26218 "gram.c" /* yacc.c:1652  */
26218     break;
26219 
26220   case 218:
26221 #line 1584 "gram.y" /* yacc.c:1652  */
26222     { (yyval.str) = "true"; }
26223 #line 26224 "gram.c" /* yacc.c:1652  */
26224     break;
26225 
26226   case 219:
26227 #line 1585 "gram.y" /* yacc.c:1652  */
26228     { (yyval.str) = "false"; }
26229 #line 26230 "gram.c" /* yacc.c:1652  */
26230     break;
26231 
26232   case 220:
26233 #line 1586 "gram.y" /* yacc.c:1652  */
26234     { (yyval.str) = "on"; }
26235 #line 26236 "gram.c" /* yacc.c:1652  */
26236     break;
26237 
26238   case 221:
26239 #line 1592 "gram.y" /* yacc.c:1652  */
26240     { (yyval.str) = (yyvsp[0].str); }
26241 #line 26242 "gram.c" /* yacc.c:1652  */
26242     break;
26243 
26244   case 222:
26245 #line 1605 "gram.y" /* yacc.c:1652  */
26246     {
26247 					(yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0]));
26248 				}
26249 #line 26250 "gram.c" /* yacc.c:1652  */
26250     break;
26251 
26252   case 223:
26253 #line 1609 "gram.y" /* yacc.c:1652  */
26254     {
26255 					(yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0]));
26256 				}
26257 #line 26258 "gram.c" /* yacc.c:1652  */
26258     break;
26259 
26260   case 224:
26261 #line 1613 "gram.y" /* yacc.c:1652  */
26262     {
26263 					TypeName *t = (yyvsp[-2].typnam);
26264 					if ((yyvsp[0].list) != NIL)
26265 					{
26266 						A_Const *n = (A_Const *) linitial((yyvsp[0].list));
26267 						if ((n->val.val.ival & ~(INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE))) != 0)
26268 							ereport(ERROR,
26269 									(errcode(ERRCODE_SYNTAX_ERROR),
26270 									 errmsg("time zone interval must be HOUR or HOUR TO MINUTE"),
26271 									 parser_errposition((yylsp[0]))));
26272 					}
26273 					t->typmods = (yyvsp[0].list);
26274 					(yyval.node) = makeStringConstCast((yyvsp[-1].str), (yylsp[-1]), t);
26275 				}
26276 #line 26277 "gram.c" /* yacc.c:1652  */
26277     break;
26278 
26279   case 225:
26280 #line 1628 "gram.y" /* yacc.c:1652  */
26281     {
26282 					TypeName *t = (yyvsp[-4].typnam);
26283 					t->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1),
26284 											makeIntConst((yyvsp[-2].ival), (yylsp[-2])));
26285 					(yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t);
26286 				}
26287 #line 26288 "gram.c" /* yacc.c:1652  */
26288     break;
26289 
26290   case 226:
26291 #line 1634 "gram.y" /* yacc.c:1652  */
26292     { (yyval.node) = makeAConst((yyvsp[0].value), (yylsp[0])); }
26293 #line 26294 "gram.c" /* yacc.c:1652  */
26294     break;
26295 
26296   case 227:
26297 #line 1635 "gram.y" /* yacc.c:1652  */
26298     { (yyval.node) = NULL; }
26299 #line 26300 "gram.c" /* yacc.c:1652  */
26300     break;
26301 
26302   case 228:
26303 #line 1636 "gram.y" /* yacc.c:1652  */
26304     { (yyval.node) = NULL; }
26305 #line 26306 "gram.c" /* yacc.c:1652  */
26306     break;
26307 
26308   case 229:
26309 #line 1640 "gram.y" /* yacc.c:1652  */
26310     { (yyval.str) = (yyvsp[0].str); }
26311 #line 26312 "gram.c" /* yacc.c:1652  */
26312     break;
26313 
26314   case 230:
26315 #line 1641 "gram.y" /* yacc.c:1652  */
26316     { (yyval.str) = NULL; }
26317 #line 26318 "gram.c" /* yacc.c:1652  */
26318     break;
26319 
26320   case 231:
26321 #line 1642 "gram.y" /* yacc.c:1652  */
26322     { (yyval.str) = NULL; }
26323 #line 26324 "gram.c" /* yacc.c:1652  */
26324     break;
26325 
26326   case 232:
26327 #line 1646 "gram.y" /* yacc.c:1652  */
26328     { (yyval.str) = (yyvsp[0].str); }
26329 #line 26330 "gram.c" /* yacc.c:1652  */
26330     break;
26331 
26332   case 233:
26333 #line 1647 "gram.y" /* yacc.c:1652  */
26334     { (yyval.str) = (yyvsp[0].str); }
26335 #line 26336 "gram.c" /* yacc.c:1652  */
26336     break;
26337 
26338   case 234:
26339 #line 1651 "gram.y" /* yacc.c:1652  */
26340     { (yyval.node) = (Node *) (yyvsp[0].vsetstmt); }
26341 #line 26342 "gram.c" /* yacc.c:1652  */
26342     break;
26343 
26344   case 235:
26345 #line 1655 "gram.y" /* yacc.c:1652  */
26346     { (yyval.vsetstmt) = (yyvsp[0].vsetstmt); }
26347 #line 26348 "gram.c" /* yacc.c:1652  */
26348     break;
26349 
26350   case 236:
26351 #line 1657 "gram.y" /* yacc.c:1652  */
26352     {
26353 					VariableSetStmt *n = makeNode(VariableSetStmt);
26354 					n->kind = VAR_RESET;
26355 					n->name = "timezone";
26356 					(yyval.vsetstmt) = n;
26357 				}
26358 #line 26359 "gram.c" /* yacc.c:1652  */
26359     break;
26360 
26361   case 237:
26362 #line 1664 "gram.y" /* yacc.c:1652  */
26363     {
26364 					VariableSetStmt *n = makeNode(VariableSetStmt);
26365 					n->kind = VAR_RESET;
26366 					n->name = "transaction_isolation";
26367 					(yyval.vsetstmt) = n;
26368 				}
26369 #line 26370 "gram.c" /* yacc.c:1652  */
26370     break;
26371 
26372   case 238:
26373 #line 1671 "gram.y" /* yacc.c:1652  */
26374     {
26375 					VariableSetStmt *n = makeNode(VariableSetStmt);
26376 					n->kind = VAR_RESET;
26377 					n->name = "session_authorization";
26378 					(yyval.vsetstmt) = n;
26379 				}
26380 #line 26381 "gram.c" /* yacc.c:1652  */
26381     break;
26382 
26383   case 239:
26384 #line 1681 "gram.y" /* yacc.c:1652  */
26385     {
26386 					VariableSetStmt *n = makeNode(VariableSetStmt);
26387 					n->kind = VAR_RESET;
26388 					n->name = (yyvsp[0].str);
26389 					(yyval.vsetstmt) = n;
26390 				}
26391 #line 26392 "gram.c" /* yacc.c:1652  */
26392     break;
26393 
26394   case 240:
26395 #line 1688 "gram.y" /* yacc.c:1652  */
26396     {
26397 					VariableSetStmt *n = makeNode(VariableSetStmt);
26398 					n->kind = VAR_RESET_ALL;
26399 					(yyval.vsetstmt) = n;
26400 				}
26401 #line 26402 "gram.c" /* yacc.c:1652  */
26402     break;
26403 
26404   case 241:
26405 #line 1697 "gram.y" /* yacc.c:1652  */
26406     { (yyval.vsetstmt) = (yyvsp[0].vsetstmt); }
26407 #line 26408 "gram.c" /* yacc.c:1652  */
26408     break;
26409 
26410   case 242:
26411 #line 1698 "gram.y" /* yacc.c:1652  */
26412     { (yyval.vsetstmt) = (VariableSetStmt *) (yyvsp[0].node); }
26413 #line 26414 "gram.c" /* yacc.c:1652  */
26414     break;
26415 
26416   case 243:
26417 #line 1703 "gram.y" /* yacc.c:1652  */
26418     { (yyval.vsetstmt) = (yyvsp[0].vsetstmt); }
26419 #line 26420 "gram.c" /* yacc.c:1652  */
26420     break;
26421 
26422   case 244:
26423 #line 1704 "gram.y" /* yacc.c:1652  */
26424     { (yyval.vsetstmt) = (VariableSetStmt *) (yyvsp[0].node); }
26425 #line 26426 "gram.c" /* yacc.c:1652  */
26426     break;
26427 
26428   case 245:
26429 #line 1710 "gram.y" /* yacc.c:1652  */
26430     {
26431 					VariableShowStmt *n = makeNode(VariableShowStmt);
26432 					n->name = (yyvsp[0].str);
26433 					(yyval.node) = (Node *) n;
26434 				}
26435 #line 26436 "gram.c" /* yacc.c:1652  */
26436     break;
26437 
26438   case 246:
26439 #line 1716 "gram.y" /* yacc.c:1652  */
26440     {
26441 					VariableShowStmt *n = makeNode(VariableShowStmt);
26442 					n->name = "timezone";
26443 					(yyval.node) = (Node *) n;
26444 				}
26445 #line 26446 "gram.c" /* yacc.c:1652  */
26446     break;
26447 
26448   case 247:
26449 #line 1722 "gram.y" /* yacc.c:1652  */
26450     {
26451 					VariableShowStmt *n = makeNode(VariableShowStmt);
26452 					n->name = "transaction_isolation";
26453 					(yyval.node) = (Node *) n;
26454 				}
26455 #line 26456 "gram.c" /* yacc.c:1652  */
26456     break;
26457 
26458   case 248:
26459 #line 1728 "gram.y" /* yacc.c:1652  */
26460     {
26461 					VariableShowStmt *n = makeNode(VariableShowStmt);
26462 					n->name = "session_authorization";
26463 					(yyval.node) = (Node *) n;
26464 				}
26465 #line 26466 "gram.c" /* yacc.c:1652  */
26466     break;
26467 
26468   case 249:
26469 #line 1734 "gram.y" /* yacc.c:1652  */
26470     {
26471 					VariableShowStmt *n = makeNode(VariableShowStmt);
26472 					n->name = "all";
26473 					(yyval.node) = (Node *) n;
26474 				}
26475 #line 26476 "gram.c" /* yacc.c:1652  */
26476     break;
26477 
26478   case 250:
26479 #line 1744 "gram.y" /* yacc.c:1652  */
26480     {
26481 					ConstraintsSetStmt *n = makeNode(ConstraintsSetStmt);
26482 					n->constraints = (yyvsp[-1].list);
26483 					n->deferred = (yyvsp[0].boolean);
26484 					(yyval.node) = (Node *) n;
26485 				}
26486 #line 26487 "gram.c" /* yacc.c:1652  */
26487     break;
26488 
26489   case 251:
26490 #line 1753 "gram.y" /* yacc.c:1652  */
26491     { (yyval.list) = NIL; }
26492 #line 26493 "gram.c" /* yacc.c:1652  */
26493     break;
26494 
26495   case 252:
26496 #line 1754 "gram.y" /* yacc.c:1652  */
26497     { (yyval.list) = (yyvsp[0].list); }
26498 #line 26499 "gram.c" /* yacc.c:1652  */
26499     break;
26500 
26501   case 253:
26502 #line 1758 "gram.y" /* yacc.c:1652  */
26503     { (yyval.boolean) = true; }
26504 #line 26505 "gram.c" /* yacc.c:1652  */
26505     break;
26506 
26507   case 254:
26508 #line 1759 "gram.y" /* yacc.c:1652  */
26509     { (yyval.boolean) = false; }
26510 #line 26511 "gram.c" /* yacc.c:1652  */
26511     break;
26512 
26513   case 255:
26514 #line 1768 "gram.y" /* yacc.c:1652  */
26515     {
26516 					CheckPointStmt *n = makeNode(CheckPointStmt);
26517 					(yyval.node) = (Node *)n;
26518 				}
26519 #line 26520 "gram.c" /* yacc.c:1652  */
26520     break;
26521 
26522   case 256:
26523 #line 1783 "gram.y" /* yacc.c:1652  */
26524     {
26525 					DiscardStmt *n = makeNode(DiscardStmt);
26526 					n->target = DISCARD_ALL;
26527 					(yyval.node) = (Node *) n;
26528 				}
26529 #line 26530 "gram.c" /* yacc.c:1652  */
26530     break;
26531 
26532   case 257:
26533 #line 1789 "gram.y" /* yacc.c:1652  */
26534     {
26535 					DiscardStmt *n = makeNode(DiscardStmt);
26536 					n->target = DISCARD_TEMP;
26537 					(yyval.node) = (Node *) n;
26538 				}
26539 #line 26540 "gram.c" /* yacc.c:1652  */
26540     break;
26541 
26542   case 258:
26543 #line 1795 "gram.y" /* yacc.c:1652  */
26544     {
26545 					DiscardStmt *n = makeNode(DiscardStmt);
26546 					n->target = DISCARD_TEMP;
26547 					(yyval.node) = (Node *) n;
26548 				}
26549 #line 26550 "gram.c" /* yacc.c:1652  */
26550     break;
26551 
26552   case 259:
26553 #line 1801 "gram.y" /* yacc.c:1652  */
26554     {
26555 					DiscardStmt *n = makeNode(DiscardStmt);
26556 					n->target = DISCARD_PLANS;
26557 					(yyval.node) = (Node *) n;
26558 				}
26559 #line 26560 "gram.c" /* yacc.c:1652  */
26560     break;
26561 
26562   case 260:
26563 #line 1807 "gram.y" /* yacc.c:1652  */
26564     {
26565 					DiscardStmt *n = makeNode(DiscardStmt);
26566 					n->target = DISCARD_SEQUENCES;
26567 					(yyval.node) = (Node *) n;
26568 				}
26569 #line 26570 "gram.c" /* yacc.c:1652  */
26570     break;
26571 
26572   case 261:
26573 #line 1826 "gram.y" /* yacc.c:1652  */
26574     {
26575 					AlterTableStmt *n = makeNode(AlterTableStmt);
26576 					n->relation = (yyvsp[-1].range);
26577 					n->cmds = (yyvsp[0].list);
26578 					n->relkind = OBJECT_TABLE;
26579 					n->missing_ok = false;
26580 					(yyval.node) = (Node *)n;
26581 				}
26582 #line 26583 "gram.c" /* yacc.c:1652  */
26583     break;
26584 
26585   case 262:
26586 #line 1835 "gram.y" /* yacc.c:1652  */
26587     {
26588 					AlterTableStmt *n = makeNode(AlterTableStmt);
26589 					n->relation = (yyvsp[-1].range);
26590 					n->cmds = (yyvsp[0].list);
26591 					n->relkind = OBJECT_TABLE;
26592 					n->missing_ok = true;
26593 					(yyval.node) = (Node *)n;
26594 				}
26595 #line 26596 "gram.c" /* yacc.c:1652  */
26596     break;
26597 
26598   case 263:
26599 #line 1844 "gram.y" /* yacc.c:1652  */
26600     {
26601 					AlterTableStmt *n = makeNode(AlterTableStmt);
26602 					n->relation = (yyvsp[-1].range);
26603 					n->cmds = list_make1((yyvsp[0].node));
26604 					n->relkind = OBJECT_TABLE;
26605 					n->missing_ok = false;
26606 					(yyval.node) = (Node *)n;
26607 				}
26608 #line 26609 "gram.c" /* yacc.c:1652  */
26609     break;
26610 
26611   case 264:
26612 #line 1853 "gram.y" /* yacc.c:1652  */
26613     {
26614 					AlterTableStmt *n = makeNode(AlterTableStmt);
26615 					n->relation = (yyvsp[-1].range);
26616 					n->cmds = list_make1((yyvsp[0].node));
26617 					n->relkind = OBJECT_TABLE;
26618 					n->missing_ok = true;
26619 					(yyval.node) = (Node *)n;
26620 				}
26621 #line 26622 "gram.c" /* yacc.c:1652  */
26622     break;
26623 
26624   case 265:
26625 #line 1862 "gram.y" /* yacc.c:1652  */
26626     {
26627 					AlterTableMoveAllStmt *n =
26628 						makeNode(AlterTableMoveAllStmt);
26629 					n->orig_tablespacename = (yyvsp[-4].str);
26630 					n->objtype = OBJECT_TABLE;
26631 					n->roles = NIL;
26632 					n->new_tablespacename = (yyvsp[-1].str);
26633 					n->nowait = (yyvsp[0].boolean);
26634 					(yyval.node) = (Node *)n;
26635 				}
26636 #line 26637 "gram.c" /* yacc.c:1652  */
26637     break;
26638 
26639   case 266:
26640 #line 1873 "gram.y" /* yacc.c:1652  */
26641     {
26642 					AlterTableMoveAllStmt *n =
26643 						makeNode(AlterTableMoveAllStmt);
26644 					n->orig_tablespacename = (yyvsp[-7].str);
26645 					n->objtype = OBJECT_TABLE;
26646 					n->roles = (yyvsp[-4].list);
26647 					n->new_tablespacename = (yyvsp[-1].str);
26648 					n->nowait = (yyvsp[0].boolean);
26649 					(yyval.node) = (Node *)n;
26650 				}
26651 #line 26652 "gram.c" /* yacc.c:1652  */
26652     break;
26653 
26654   case 267:
26655 #line 1884 "gram.y" /* yacc.c:1652  */
26656     {
26657 					AlterTableStmt *n = makeNode(AlterTableStmt);
26658 					n->relation = (yyvsp[-1].range);
26659 					n->cmds = (yyvsp[0].list);
26660 					n->relkind = OBJECT_INDEX;
26661 					n->missing_ok = false;
26662 					(yyval.node) = (Node *)n;
26663 				}
26664 #line 26665 "gram.c" /* yacc.c:1652  */
26665     break;
26666 
26667   case 268:
26668 #line 1893 "gram.y" /* yacc.c:1652  */
26669     {
26670 					AlterTableStmt *n = makeNode(AlterTableStmt);
26671 					n->relation = (yyvsp[-1].range);
26672 					n->cmds = (yyvsp[0].list);
26673 					n->relkind = OBJECT_INDEX;
26674 					n->missing_ok = true;
26675 					(yyval.node) = (Node *)n;
26676 				}
26677 #line 26678 "gram.c" /* yacc.c:1652  */
26678     break;
26679 
26680   case 269:
26681 #line 1902 "gram.y" /* yacc.c:1652  */
26682     {
26683 					AlterTableStmt *n = makeNode(AlterTableStmt);
26684 					n->relation = (yyvsp[-1].range);
26685 					n->cmds = list_make1((yyvsp[0].node));
26686 					n->relkind = OBJECT_INDEX;
26687 					n->missing_ok = false;
26688 					(yyval.node) = (Node *)n;
26689 				}
26690 #line 26691 "gram.c" /* yacc.c:1652  */
26691     break;
26692 
26693   case 270:
26694 #line 1911 "gram.y" /* yacc.c:1652  */
26695     {
26696 					AlterTableMoveAllStmt *n =
26697 						makeNode(AlterTableMoveAllStmt);
26698 					n->orig_tablespacename = (yyvsp[-4].str);
26699 					n->objtype = OBJECT_INDEX;
26700 					n->roles = NIL;
26701 					n->new_tablespacename = (yyvsp[-1].str);
26702 					n->nowait = (yyvsp[0].boolean);
26703 					(yyval.node) = (Node *)n;
26704 				}
26705 #line 26706 "gram.c" /* yacc.c:1652  */
26706     break;
26707 
26708   case 271:
26709 #line 1922 "gram.y" /* yacc.c:1652  */
26710     {
26711 					AlterTableMoveAllStmt *n =
26712 						makeNode(AlterTableMoveAllStmt);
26713 					n->orig_tablespacename = (yyvsp[-7].str);
26714 					n->objtype = OBJECT_INDEX;
26715 					n->roles = (yyvsp[-4].list);
26716 					n->new_tablespacename = (yyvsp[-1].str);
26717 					n->nowait = (yyvsp[0].boolean);
26718 					(yyval.node) = (Node *)n;
26719 				}
26720 #line 26721 "gram.c" /* yacc.c:1652  */
26721     break;
26722 
26723   case 272:
26724 #line 1933 "gram.y" /* yacc.c:1652  */
26725     {
26726 					AlterTableStmt *n = makeNode(AlterTableStmt);
26727 					n->relation = (yyvsp[-1].range);
26728 					n->cmds = (yyvsp[0].list);
26729 					n->relkind = OBJECT_SEQUENCE;
26730 					n->missing_ok = false;
26731 					(yyval.node) = (Node *)n;
26732 				}
26733 #line 26734 "gram.c" /* yacc.c:1652  */
26734     break;
26735 
26736   case 273:
26737 #line 1942 "gram.y" /* yacc.c:1652  */
26738     {
26739 					AlterTableStmt *n = makeNode(AlterTableStmt);
26740 					n->relation = (yyvsp[-1].range);
26741 					n->cmds = (yyvsp[0].list);
26742 					n->relkind = OBJECT_SEQUENCE;
26743 					n->missing_ok = true;
26744 					(yyval.node) = (Node *)n;
26745 				}
26746 #line 26747 "gram.c" /* yacc.c:1652  */
26747     break;
26748 
26749   case 274:
26750 #line 1951 "gram.y" /* yacc.c:1652  */
26751     {
26752 					AlterTableStmt *n = makeNode(AlterTableStmt);
26753 					n->relation = (yyvsp[-1].range);
26754 					n->cmds = (yyvsp[0].list);
26755 					n->relkind = OBJECT_VIEW;
26756 					n->missing_ok = false;
26757 					(yyval.node) = (Node *)n;
26758 				}
26759 #line 26760 "gram.c" /* yacc.c:1652  */
26760     break;
26761 
26762   case 275:
26763 #line 1960 "gram.y" /* yacc.c:1652  */
26764     {
26765 					AlterTableStmt *n = makeNode(AlterTableStmt);
26766 					n->relation = (yyvsp[-1].range);
26767 					n->cmds = (yyvsp[0].list);
26768 					n->relkind = OBJECT_VIEW;
26769 					n->missing_ok = true;
26770 					(yyval.node) = (Node *)n;
26771 				}
26772 #line 26773 "gram.c" /* yacc.c:1652  */
26773     break;
26774 
26775   case 276:
26776 #line 1969 "gram.y" /* yacc.c:1652  */
26777     {
26778 					AlterTableStmt *n = makeNode(AlterTableStmt);
26779 					n->relation = (yyvsp[-1].range);
26780 					n->cmds = (yyvsp[0].list);
26781 					n->relkind = OBJECT_MATVIEW;
26782 					n->missing_ok = false;
26783 					(yyval.node) = (Node *)n;
26784 				}
26785 #line 26786 "gram.c" /* yacc.c:1652  */
26786     break;
26787 
26788   case 277:
26789 #line 1978 "gram.y" /* yacc.c:1652  */
26790     {
26791 					AlterTableStmt *n = makeNode(AlterTableStmt);
26792 					n->relation = (yyvsp[-1].range);
26793 					n->cmds = (yyvsp[0].list);
26794 					n->relkind = OBJECT_MATVIEW;
26795 					n->missing_ok = true;
26796 					(yyval.node) = (Node *)n;
26797 				}
26798 #line 26799 "gram.c" /* yacc.c:1652  */
26799     break;
26800 
26801   case 278:
26802 #line 1987 "gram.y" /* yacc.c:1652  */
26803     {
26804 					AlterTableMoveAllStmt *n =
26805 						makeNode(AlterTableMoveAllStmt);
26806 					n->orig_tablespacename = (yyvsp[-4].str);
26807 					n->objtype = OBJECT_MATVIEW;
26808 					n->roles = NIL;
26809 					n->new_tablespacename = (yyvsp[-1].str);
26810 					n->nowait = (yyvsp[0].boolean);
26811 					(yyval.node) = (Node *)n;
26812 				}
26813 #line 26814 "gram.c" /* yacc.c:1652  */
26814     break;
26815 
26816   case 279:
26817 #line 1998 "gram.y" /* yacc.c:1652  */
26818     {
26819 					AlterTableMoveAllStmt *n =
26820 						makeNode(AlterTableMoveAllStmt);
26821 					n->orig_tablespacename = (yyvsp[-7].str);
26822 					n->objtype = OBJECT_MATVIEW;
26823 					n->roles = (yyvsp[-4].list);
26824 					n->new_tablespacename = (yyvsp[-1].str);
26825 					n->nowait = (yyvsp[0].boolean);
26826 					(yyval.node) = (Node *)n;
26827 				}
26828 #line 26829 "gram.c" /* yacc.c:1652  */
26829     break;
26830 
26831   case 280:
26832 #line 2011 "gram.y" /* yacc.c:1652  */
26833     { (yyval.list) = list_make1((yyvsp[0].node)); }
26834 #line 26835 "gram.c" /* yacc.c:1652  */
26835     break;
26836 
26837   case 281:
26838 #line 2012 "gram.y" /* yacc.c:1652  */
26839     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
26840 #line 26841 "gram.c" /* yacc.c:1652  */
26841     break;
26842 
26843   case 282:
26844 #line 2018 "gram.y" /* yacc.c:1652  */
26845     {
26846 					AlterTableCmd *n = makeNode(AlterTableCmd);
26847 					PartitionCmd *cmd = makeNode(PartitionCmd);
26848 
26849 					n->subtype = AT_AttachPartition;
26850 					cmd->name = (yyvsp[-1].range);
26851 					cmd->bound = (yyvsp[0].partboundspec);
26852 					n->def = (Node *) cmd;
26853 
26854 					(yyval.node) = (Node *) n;
26855 				}
26856 #line 26857 "gram.c" /* yacc.c:1652  */
26857     break;
26858 
26859   case 283:
26860 #line 2031 "gram.y" /* yacc.c:1652  */
26861     {
26862 					AlterTableCmd *n = makeNode(AlterTableCmd);
26863 					PartitionCmd *cmd = makeNode(PartitionCmd);
26864 
26865 					n->subtype = AT_DetachPartition;
26866 					cmd->name = (yyvsp[0].range);
26867 					cmd->bound = NULL;
26868 					n->def = (Node *) cmd;
26869 
26870 					(yyval.node) = (Node *) n;
26871 				}
26872 #line 26873 "gram.c" /* yacc.c:1652  */
26873     break;
26874 
26875   case 284:
26876 #line 2047 "gram.y" /* yacc.c:1652  */
26877     {
26878 					AlterTableCmd *n = makeNode(AlterTableCmd);
26879 					PartitionCmd *cmd = makeNode(PartitionCmd);
26880 
26881 					n->subtype = AT_AttachPartition;
26882 					cmd->name = (yyvsp[0].range);
26883 					cmd->bound = NULL;
26884 					n->def = (Node *) cmd;
26885 
26886 					(yyval.node) = (Node *) n;
26887 				}
26888 #line 26889 "gram.c" /* yacc.c:1652  */
26889     break;
26890 
26891   case 285:
26892 #line 2063 "gram.y" /* yacc.c:1652  */
26893     {
26894 					AlterTableCmd *n = makeNode(AlterTableCmd);
26895 					n->subtype = AT_AddColumn;
26896 					n->def = (yyvsp[0].node);
26897 					n->missing_ok = false;
26898 					(yyval.node) = (Node *)n;
26899 				}
26900 #line 26901 "gram.c" /* yacc.c:1652  */
26901     break;
26902 
26903   case 286:
26904 #line 2072 "gram.y" /* yacc.c:1652  */
26905     {
26906 					AlterTableCmd *n = makeNode(AlterTableCmd);
26907 					n->subtype = AT_AddColumn;
26908 					n->def = (yyvsp[0].node);
26909 					n->missing_ok = true;
26910 					(yyval.node) = (Node *)n;
26911 				}
26912 #line 26913 "gram.c" /* yacc.c:1652  */
26913     break;
26914 
26915   case 287:
26916 #line 2081 "gram.y" /* yacc.c:1652  */
26917     {
26918 					AlterTableCmd *n = makeNode(AlterTableCmd);
26919 					n->subtype = AT_AddColumn;
26920 					n->def = (yyvsp[0].node);
26921 					n->missing_ok = false;
26922 					(yyval.node) = (Node *)n;
26923 				}
26924 #line 26925 "gram.c" /* yacc.c:1652  */
26925     break;
26926 
26927   case 288:
26928 #line 2090 "gram.y" /* yacc.c:1652  */
26929     {
26930 					AlterTableCmd *n = makeNode(AlterTableCmd);
26931 					n->subtype = AT_AddColumn;
26932 					n->def = (yyvsp[0].node);
26933 					n->missing_ok = true;
26934 					(yyval.node) = (Node *)n;
26935 				}
26936 #line 26937 "gram.c" /* yacc.c:1652  */
26937     break;
26938 
26939   case 289:
26940 #line 2099 "gram.y" /* yacc.c:1652  */
26941     {
26942 					AlterTableCmd *n = makeNode(AlterTableCmd);
26943 					n->subtype = AT_ColumnDefault;
26944 					n->name = (yyvsp[-1].str);
26945 					n->def = (yyvsp[0].node);
26946 					(yyval.node) = (Node *)n;
26947 				}
26948 #line 26949 "gram.c" /* yacc.c:1652  */
26949     break;
26950 
26951   case 290:
26952 #line 2108 "gram.y" /* yacc.c:1652  */
26953     {
26954 					AlterTableCmd *n = makeNode(AlterTableCmd);
26955 					n->subtype = AT_DropNotNull;
26956 					n->name = (yyvsp[-3].str);
26957 					(yyval.node) = (Node *)n;
26958 				}
26959 #line 26960 "gram.c" /* yacc.c:1652  */
26960     break;
26961 
26962   case 291:
26963 #line 2116 "gram.y" /* yacc.c:1652  */
26964     {
26965 					AlterTableCmd *n = makeNode(AlterTableCmd);
26966 					n->subtype = AT_SetNotNull;
26967 					n->name = (yyvsp[-3].str);
26968 					(yyval.node) = (Node *)n;
26969 				}
26970 #line 26971 "gram.c" /* yacc.c:1652  */
26971     break;
26972 
26973   case 292:
26974 #line 2124 "gram.y" /* yacc.c:1652  */
26975     {
26976 					AlterTableCmd *n = makeNode(AlterTableCmd);
26977 					n->subtype = AT_SetStatistics;
26978 					n->name = (yyvsp[-3].str);
26979 					n->def = (Node *) makeInteger((yyvsp[0].ival));
26980 					(yyval.node) = (Node *)n;
26981 				}
26982 #line 26983 "gram.c" /* yacc.c:1652  */
26983     break;
26984 
26985   case 293:
26986 #line 2133 "gram.y" /* yacc.c:1652  */
26987     {
26988 					AlterTableCmd *n = makeNode(AlterTableCmd);
26989 
26990 					if ((yyvsp[-3].ival) <= 0 || (yyvsp[-3].ival) > PG_INT16_MAX)
26991 						ereport(ERROR,
26992 								(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
26993 								 errmsg("column number must be in range from 1 to %d", PG_INT16_MAX),
26994 								 parser_errposition((yylsp[-3]))));
26995 
26996 					n->subtype = AT_SetStatistics;
26997 					n->num = (int16) (yyvsp[-3].ival);
26998 					n->def = (Node *) makeInteger((yyvsp[0].ival));
26999 					(yyval.node) = (Node *)n;
27000 				}
27001 #line 27002 "gram.c" /* yacc.c:1652  */
27002     break;
27003 
27004   case 294:
27005 #line 2149 "gram.y" /* yacc.c:1652  */
27006     {
27007 					AlterTableCmd *n = makeNode(AlterTableCmd);
27008 					n->subtype = AT_SetOptions;
27009 					n->name = (yyvsp[-2].str);
27010 					n->def = (Node *) (yyvsp[0].list);
27011 					(yyval.node) = (Node *)n;
27012 				}
27013 #line 27014 "gram.c" /* yacc.c:1652  */
27014     break;
27015 
27016   case 295:
27017 #line 2158 "gram.y" /* yacc.c:1652  */
27018     {
27019 					AlterTableCmd *n = makeNode(AlterTableCmd);
27020 					n->subtype = AT_ResetOptions;
27021 					n->name = (yyvsp[-2].str);
27022 					n->def = (Node *) (yyvsp[0].list);
27023 					(yyval.node) = (Node *)n;
27024 				}
27025 #line 27026 "gram.c" /* yacc.c:1652  */
27026     break;
27027 
27028   case 296:
27029 #line 2167 "gram.y" /* yacc.c:1652  */
27030     {
27031 					AlterTableCmd *n = makeNode(AlterTableCmd);
27032 					n->subtype = AT_SetStorage;
27033 					n->name = (yyvsp[-3].str);
27034 					n->def = (Node *) makeString((yyvsp[0].str));
27035 					(yyval.node) = (Node *)n;
27036 				}
27037 #line 27038 "gram.c" /* yacc.c:1652  */
27038     break;
27039 
27040   case 297:
27041 #line 2176 "gram.y" /* yacc.c:1652  */
27042     {
27043 					AlterTableCmd *n = makeNode(AlterTableCmd);
27044 					Constraint *c = makeNode(Constraint);
27045 
27046 					c->contype = CONSTR_IDENTITY;
27047 					c->generated_when = (yyvsp[-3].ival);
27048 					c->options = (yyvsp[0].list);
27049 					c->location = (yylsp[-4]);
27050 
27051 					n->subtype = AT_AddIdentity;
27052 					n->name = (yyvsp[-6].str);
27053 					n->def = (Node *) c;
27054 
27055 					(yyval.node) = (Node *)n;
27056 				}
27057 #line 27058 "gram.c" /* yacc.c:1652  */
27058     break;
27059 
27060   case 298:
27061 #line 2193 "gram.y" /* yacc.c:1652  */
27062     {
27063 					AlterTableCmd *n = makeNode(AlterTableCmd);
27064 					n->subtype = AT_SetIdentity;
27065 					n->name = (yyvsp[-1].str);
27066 					n->def = (Node *) (yyvsp[0].list);
27067 					(yyval.node) = (Node *)n;
27068 				}
27069 #line 27070 "gram.c" /* yacc.c:1652  */
27070     break;
27071 
27072   case 299:
27073 #line 2202 "gram.y" /* yacc.c:1652  */
27074     {
27075 					AlterTableCmd *n = makeNode(AlterTableCmd);
27076 					n->subtype = AT_DropIdentity;
27077 					n->name = (yyvsp[-2].str);
27078 					n->missing_ok = false;
27079 					(yyval.node) = (Node *)n;
27080 				}
27081 #line 27082 "gram.c" /* yacc.c:1652  */
27082     break;
27083 
27084   case 300:
27085 #line 2211 "gram.y" /* yacc.c:1652  */
27086     {
27087 					AlterTableCmd *n = makeNode(AlterTableCmd);
27088 					n->subtype = AT_DropIdentity;
27089 					n->name = (yyvsp[-4].str);
27090 					n->missing_ok = true;
27091 					(yyval.node) = (Node *)n;
27092 				}
27093 #line 27094 "gram.c" /* yacc.c:1652  */
27094     break;
27095 
27096   case 301:
27097 #line 2220 "gram.y" /* yacc.c:1652  */
27098     {
27099 					AlterTableCmd *n = makeNode(AlterTableCmd);
27100 					n->subtype = AT_DropColumn;
27101 					n->name = (yyvsp[-1].str);
27102 					n->behavior = (yyvsp[0].dbehavior);
27103 					n->missing_ok = true;
27104 					(yyval.node) = (Node *)n;
27105 				}
27106 #line 27107 "gram.c" /* yacc.c:1652  */
27107     break;
27108 
27109   case 302:
27110 #line 2230 "gram.y" /* yacc.c:1652  */
27111     {
27112 					AlterTableCmd *n = makeNode(AlterTableCmd);
27113 					n->subtype = AT_DropColumn;
27114 					n->name = (yyvsp[-1].str);
27115 					n->behavior = (yyvsp[0].dbehavior);
27116 					n->missing_ok = false;
27117 					(yyval.node) = (Node *)n;
27118 				}
27119 #line 27120 "gram.c" /* yacc.c:1652  */
27120     break;
27121 
27122   case 303:
27123 #line 2243 "gram.y" /* yacc.c:1652  */
27124     {
27125 					AlterTableCmd *n = makeNode(AlterTableCmd);
27126 					ColumnDef *def = makeNode(ColumnDef);
27127 					n->subtype = AT_AlterColumnType;
27128 					n->name = (yyvsp[-5].str);
27129 					n->def = (Node *) def;
27130 					/* We only use these fields of the ColumnDef node */
27131 					def->typeName = (yyvsp[-2].typnam);
27132 					def->collClause = (CollateClause *) (yyvsp[-1].node);
27133 					def->raw_default = (yyvsp[0].node);
27134 					def->location = (yylsp[-5]);
27135 					(yyval.node) = (Node *)n;
27136 				}
27137 #line 27138 "gram.c" /* yacc.c:1652  */
27138     break;
27139 
27140   case 304:
27141 #line 2258 "gram.y" /* yacc.c:1652  */
27142     {
27143 					AlterTableCmd *n = makeNode(AlterTableCmd);
27144 					n->subtype = AT_AlterColumnGenericOptions;
27145 					n->name = (yyvsp[-1].str);
27146 					n->def = (Node *) (yyvsp[0].list);
27147 					(yyval.node) = (Node *)n;
27148 				}
27149 #line 27150 "gram.c" /* yacc.c:1652  */
27150     break;
27151 
27152   case 305:
27153 #line 2267 "gram.y" /* yacc.c:1652  */
27154     {
27155 					AlterTableCmd *n = makeNode(AlterTableCmd);
27156 					n->subtype = AT_AddConstraint;
27157 					n->def = (yyvsp[0].node);
27158 					(yyval.node) = (Node *)n;
27159 				}
27160 #line 27161 "gram.c" /* yacc.c:1652  */
27161     break;
27162 
27163   case 306:
27164 #line 2275 "gram.y" /* yacc.c:1652  */
27165     {
27166 					AlterTableCmd *n = makeNode(AlterTableCmd);
27167 					Constraint *c = makeNode(Constraint);
27168 					n->subtype = AT_AlterConstraint;
27169 					n->def = (Node *) c;
27170 					c->contype = CONSTR_FOREIGN; /* others not supported, yet */
27171 					c->conname = (yyvsp[-1].str);
27172 					processCASbits((yyvsp[0].ival), (yylsp[0]), "ALTER CONSTRAINT statement",
27173 									&c->deferrable,
27174 									&c->initdeferred,
27175 									NULL, NULL, yyscanner);
27176 					(yyval.node) = (Node *)n;
27177 				}
27178 #line 27179 "gram.c" /* yacc.c:1652  */
27179     break;
27180 
27181   case 307:
27182 #line 2290 "gram.y" /* yacc.c:1652  */
27183     {
27184 					AlterTableCmd *n = makeNode(AlterTableCmd);
27185 					n->subtype = AT_ValidateConstraint;
27186 					n->name = (yyvsp[0].str);
27187 					(yyval.node) = (Node *)n;
27188 				}
27189 #line 27190 "gram.c" /* yacc.c:1652  */
27190     break;
27191 
27192   case 308:
27193 #line 2298 "gram.y" /* yacc.c:1652  */
27194     {
27195 					AlterTableCmd *n = makeNode(AlterTableCmd);
27196 					n->subtype = AT_DropConstraint;
27197 					n->name = (yyvsp[-1].str);
27198 					n->behavior = (yyvsp[0].dbehavior);
27199 					n->missing_ok = true;
27200 					(yyval.node) = (Node *)n;
27201 				}
27202 #line 27203 "gram.c" /* yacc.c:1652  */
27203     break;
27204 
27205   case 309:
27206 #line 2308 "gram.y" /* yacc.c:1652  */
27207     {
27208 					AlterTableCmd *n = makeNode(AlterTableCmd);
27209 					n->subtype = AT_DropConstraint;
27210 					n->name = (yyvsp[-1].str);
27211 					n->behavior = (yyvsp[0].dbehavior);
27212 					n->missing_ok = false;
27213 					(yyval.node) = (Node *)n;
27214 				}
27215 #line 27216 "gram.c" /* yacc.c:1652  */
27216     break;
27217 
27218   case 310:
27219 #line 2318 "gram.y" /* yacc.c:1652  */
27220     {
27221 					AlterTableCmd *n = makeNode(AlterTableCmd);
27222 					n->subtype = AT_AddOids;
27223 					(yyval.node) = (Node *)n;
27224 				}
27225 #line 27226 "gram.c" /* yacc.c:1652  */
27226     break;
27227 
27228   case 311:
27229 #line 2325 "gram.y" /* yacc.c:1652  */
27230     {
27231 					AlterTableCmd *n = makeNode(AlterTableCmd);
27232 					n->subtype = AT_DropOids;
27233 					(yyval.node) = (Node *)n;
27234 				}
27235 #line 27236 "gram.c" /* yacc.c:1652  */
27236     break;
27237 
27238   case 312:
27239 #line 2332 "gram.y" /* yacc.c:1652  */
27240     {
27241 					AlterTableCmd *n = makeNode(AlterTableCmd);
27242 					n->subtype = AT_ClusterOn;
27243 					n->name = (yyvsp[0].str);
27244 					(yyval.node) = (Node *)n;
27245 				}
27246 #line 27247 "gram.c" /* yacc.c:1652  */
27247     break;
27248 
27249   case 313:
27250 #line 2340 "gram.y" /* yacc.c:1652  */
27251     {
27252 					AlterTableCmd *n = makeNode(AlterTableCmd);
27253 					n->subtype = AT_DropCluster;
27254 					n->name = NULL;
27255 					(yyval.node) = (Node *)n;
27256 				}
27257 #line 27258 "gram.c" /* yacc.c:1652  */
27258     break;
27259 
27260   case 314:
27261 #line 2348 "gram.y" /* yacc.c:1652  */
27262     {
27263 					AlterTableCmd *n = makeNode(AlterTableCmd);
27264 					n->subtype = AT_SetLogged;
27265 					(yyval.node) = (Node *)n;
27266 				}
27267 #line 27268 "gram.c" /* yacc.c:1652  */
27268     break;
27269 
27270   case 315:
27271 #line 2355 "gram.y" /* yacc.c:1652  */
27272     {
27273 					AlterTableCmd *n = makeNode(AlterTableCmd);
27274 					n->subtype = AT_SetUnLogged;
27275 					(yyval.node) = (Node *)n;
27276 				}
27277 #line 27278 "gram.c" /* yacc.c:1652  */
27278     break;
27279 
27280   case 316:
27281 #line 2362 "gram.y" /* yacc.c:1652  */
27282     {
27283 					AlterTableCmd *n = makeNode(AlterTableCmd);
27284 					n->subtype = AT_EnableTrig;
27285 					n->name = (yyvsp[0].str);
27286 					(yyval.node) = (Node *)n;
27287 				}
27288 #line 27289 "gram.c" /* yacc.c:1652  */
27289     break;
27290 
27291   case 317:
27292 #line 2370 "gram.y" /* yacc.c:1652  */
27293     {
27294 					AlterTableCmd *n = makeNode(AlterTableCmd);
27295 					n->subtype = AT_EnableAlwaysTrig;
27296 					n->name = (yyvsp[0].str);
27297 					(yyval.node) = (Node *)n;
27298 				}
27299 #line 27300 "gram.c" /* yacc.c:1652  */
27300     break;
27301 
27302   case 318:
27303 #line 2378 "gram.y" /* yacc.c:1652  */
27304     {
27305 					AlterTableCmd *n = makeNode(AlterTableCmd);
27306 					n->subtype = AT_EnableReplicaTrig;
27307 					n->name = (yyvsp[0].str);
27308 					(yyval.node) = (Node *)n;
27309 				}
27310 #line 27311 "gram.c" /* yacc.c:1652  */
27311     break;
27312 
27313   case 319:
27314 #line 2386 "gram.y" /* yacc.c:1652  */
27315     {
27316 					AlterTableCmd *n = makeNode(AlterTableCmd);
27317 					n->subtype = AT_EnableTrigAll;
27318 					(yyval.node) = (Node *)n;
27319 				}
27320 #line 27321 "gram.c" /* yacc.c:1652  */
27321     break;
27322 
27323   case 320:
27324 #line 2393 "gram.y" /* yacc.c:1652  */
27325     {
27326 					AlterTableCmd *n = makeNode(AlterTableCmd);
27327 					n->subtype = AT_EnableTrigUser;
27328 					(yyval.node) = (Node *)n;
27329 				}
27330 #line 27331 "gram.c" /* yacc.c:1652  */
27331     break;
27332 
27333   case 321:
27334 #line 2400 "gram.y" /* yacc.c:1652  */
27335     {
27336 					AlterTableCmd *n = makeNode(AlterTableCmd);
27337 					n->subtype = AT_DisableTrig;
27338 					n->name = (yyvsp[0].str);
27339 					(yyval.node) = (Node *)n;
27340 				}
27341 #line 27342 "gram.c" /* yacc.c:1652  */
27342     break;
27343 
27344   case 322:
27345 #line 2408 "gram.y" /* yacc.c:1652  */
27346     {
27347 					AlterTableCmd *n = makeNode(AlterTableCmd);
27348 					n->subtype = AT_DisableTrigAll;
27349 					(yyval.node) = (Node *)n;
27350 				}
27351 #line 27352 "gram.c" /* yacc.c:1652  */
27352     break;
27353 
27354   case 323:
27355 #line 2415 "gram.y" /* yacc.c:1652  */
27356     {
27357 					AlterTableCmd *n = makeNode(AlterTableCmd);
27358 					n->subtype = AT_DisableTrigUser;
27359 					(yyval.node) = (Node *)n;
27360 				}
27361 #line 27362 "gram.c" /* yacc.c:1652  */
27362     break;
27363 
27364   case 324:
27365 #line 2422 "gram.y" /* yacc.c:1652  */
27366     {
27367 					AlterTableCmd *n = makeNode(AlterTableCmd);
27368 					n->subtype = AT_EnableRule;
27369 					n->name = (yyvsp[0].str);
27370 					(yyval.node) = (Node *)n;
27371 				}
27372 #line 27373 "gram.c" /* yacc.c:1652  */
27373     break;
27374 
27375   case 325:
27376 #line 2430 "gram.y" /* yacc.c:1652  */
27377     {
27378 					AlterTableCmd *n = makeNode(AlterTableCmd);
27379 					n->subtype = AT_EnableAlwaysRule;
27380 					n->name = (yyvsp[0].str);
27381 					(yyval.node) = (Node *)n;
27382 				}
27383 #line 27384 "gram.c" /* yacc.c:1652  */
27384     break;
27385 
27386   case 326:
27387 #line 2438 "gram.y" /* yacc.c:1652  */
27388     {
27389 					AlterTableCmd *n = makeNode(AlterTableCmd);
27390 					n->subtype = AT_EnableReplicaRule;
27391 					n->name = (yyvsp[0].str);
27392 					(yyval.node) = (Node *)n;
27393 				}
27394 #line 27395 "gram.c" /* yacc.c:1652  */
27395     break;
27396 
27397   case 327:
27398 #line 2446 "gram.y" /* yacc.c:1652  */
27399     {
27400 					AlterTableCmd *n = makeNode(AlterTableCmd);
27401 					n->subtype = AT_DisableRule;
27402 					n->name = (yyvsp[0].str);
27403 					(yyval.node) = (Node *)n;
27404 				}
27405 #line 27406 "gram.c" /* yacc.c:1652  */
27406     break;
27407 
27408   case 328:
27409 #line 2454 "gram.y" /* yacc.c:1652  */
27410     {
27411 					AlterTableCmd *n = makeNode(AlterTableCmd);
27412 					n->subtype = AT_AddInherit;
27413 					n->def = (Node *) (yyvsp[0].range);
27414 					(yyval.node) = (Node *)n;
27415 				}
27416 #line 27417 "gram.c" /* yacc.c:1652  */
27417     break;
27418 
27419   case 329:
27420 #line 2462 "gram.y" /* yacc.c:1652  */
27421     {
27422 					AlterTableCmd *n = makeNode(AlterTableCmd);
27423 					n->subtype = AT_DropInherit;
27424 					n->def = (Node *) (yyvsp[0].range);
27425 					(yyval.node) = (Node *)n;
27426 				}
27427 #line 27428 "gram.c" /* yacc.c:1652  */
27428     break;
27429 
27430   case 330:
27431 #line 2470 "gram.y" /* yacc.c:1652  */
27432     {
27433 					AlterTableCmd *n = makeNode(AlterTableCmd);
27434 					TypeName *def = makeTypeNameFromNameList((yyvsp[0].list));
27435 					def->location = (yylsp[0]);
27436 					n->subtype = AT_AddOf;
27437 					n->def = (Node *) def;
27438 					(yyval.node) = (Node *)n;
27439 				}
27440 #line 27441 "gram.c" /* yacc.c:1652  */
27441     break;
27442 
27443   case 331:
27444 #line 2480 "gram.y" /* yacc.c:1652  */
27445     {
27446 					AlterTableCmd *n = makeNode(AlterTableCmd);
27447 					n->subtype = AT_DropOf;
27448 					(yyval.node) = (Node *)n;
27449 				}
27450 #line 27451 "gram.c" /* yacc.c:1652  */
27451     break;
27452 
27453   case 332:
27454 #line 2487 "gram.y" /* yacc.c:1652  */
27455     {
27456 					AlterTableCmd *n = makeNode(AlterTableCmd);
27457 					n->subtype = AT_ChangeOwner;
27458 					n->newowner = (yyvsp[0].rolespec);
27459 					(yyval.node) = (Node *)n;
27460 				}
27461 #line 27462 "gram.c" /* yacc.c:1652  */
27462     break;
27463 
27464   case 333:
27465 #line 2495 "gram.y" /* yacc.c:1652  */
27466     {
27467 					AlterTableCmd *n = makeNode(AlterTableCmd);
27468 					n->subtype = AT_SetTableSpace;
27469 					n->name = (yyvsp[0].str);
27470 					(yyval.node) = (Node *)n;
27471 				}
27472 #line 27473 "gram.c" /* yacc.c:1652  */
27473     break;
27474 
27475   case 334:
27476 #line 2503 "gram.y" /* yacc.c:1652  */
27477     {
27478 					AlterTableCmd *n = makeNode(AlterTableCmd);
27479 					n->subtype = AT_SetRelOptions;
27480 					n->def = (Node *)(yyvsp[0].list);
27481 					(yyval.node) = (Node *)n;
27482 				}
27483 #line 27484 "gram.c" /* yacc.c:1652  */
27484     break;
27485 
27486   case 335:
27487 #line 2511 "gram.y" /* yacc.c:1652  */
27488     {
27489 					AlterTableCmd *n = makeNode(AlterTableCmd);
27490 					n->subtype = AT_ResetRelOptions;
27491 					n->def = (Node *)(yyvsp[0].list);
27492 					(yyval.node) = (Node *)n;
27493 				}
27494 #line 27495 "gram.c" /* yacc.c:1652  */
27495     break;
27496 
27497   case 336:
27498 #line 2519 "gram.y" /* yacc.c:1652  */
27499     {
27500 					AlterTableCmd *n = makeNode(AlterTableCmd);
27501 					n->subtype = AT_ReplicaIdentity;
27502 					n->def = (yyvsp[0].node);
27503 					(yyval.node) = (Node *)n;
27504 				}
27505 #line 27506 "gram.c" /* yacc.c:1652  */
27506     break;
27507 
27508   case 337:
27509 #line 2527 "gram.y" /* yacc.c:1652  */
27510     {
27511 					AlterTableCmd *n = makeNode(AlterTableCmd);
27512 					n->subtype = AT_EnableRowSecurity;
27513 					(yyval.node) = (Node *)n;
27514 				}
27515 #line 27516 "gram.c" /* yacc.c:1652  */
27516     break;
27517 
27518   case 338:
27519 #line 2534 "gram.y" /* yacc.c:1652  */
27520     {
27521 					AlterTableCmd *n = makeNode(AlterTableCmd);
27522 					n->subtype = AT_DisableRowSecurity;
27523 					(yyval.node) = (Node *)n;
27524 				}
27525 #line 27526 "gram.c" /* yacc.c:1652  */
27526     break;
27527 
27528   case 339:
27529 #line 2541 "gram.y" /* yacc.c:1652  */
27530     {
27531 					AlterTableCmd *n = makeNode(AlterTableCmd);
27532 					n->subtype = AT_ForceRowSecurity;
27533 					(yyval.node) = (Node *)n;
27534 				}
27535 #line 27536 "gram.c" /* yacc.c:1652  */
27536     break;
27537 
27538   case 340:
27539 #line 2548 "gram.y" /* yacc.c:1652  */
27540     {
27541 					AlterTableCmd *n = makeNode(AlterTableCmd);
27542 					n->subtype = AT_NoForceRowSecurity;
27543 					(yyval.node) = (Node *)n;
27544 				}
27545 #line 27546 "gram.c" /* yacc.c:1652  */
27546     break;
27547 
27548   case 341:
27549 #line 2554 "gram.y" /* yacc.c:1652  */
27550     {
27551 					AlterTableCmd *n = makeNode(AlterTableCmd);
27552 					n->subtype = AT_GenericOptions;
27553 					n->def = (Node *)(yyvsp[0].list);
27554 					(yyval.node) = (Node *) n;
27555 				}
27556 #line 27557 "gram.c" /* yacc.c:1652  */
27557     break;
27558 
27559   case 342:
27560 #line 2563 "gram.y" /* yacc.c:1652  */
27561     { (yyval.node) = (yyvsp[0].node); }
27562 #line 27563 "gram.c" /* yacc.c:1652  */
27563     break;
27564 
27565   case 343:
27566 #line 2564 "gram.y" /* yacc.c:1652  */
27567     { (yyval.node) = NULL; }
27568 #line 27569 "gram.c" /* yacc.c:1652  */
27569     break;
27570 
27571   case 344:
27572 #line 2568 "gram.y" /* yacc.c:1652  */
27573     { (yyval.dbehavior) = DROP_CASCADE; }
27574 #line 27575 "gram.c" /* yacc.c:1652  */
27575     break;
27576 
27577   case 345:
27578 #line 2569 "gram.y" /* yacc.c:1652  */
27579     { (yyval.dbehavior) = DROP_RESTRICT; }
27580 #line 27581 "gram.c" /* yacc.c:1652  */
27581     break;
27582 
27583   case 346:
27584 #line 2570 "gram.y" /* yacc.c:1652  */
27585     { (yyval.dbehavior) = DROP_RESTRICT; /* default */ }
27586 #line 27587 "gram.c" /* yacc.c:1652  */
27587     break;
27588 
27589   case 347:
27590 #line 2575 "gram.y" /* yacc.c:1652  */
27591     {
27592 					CollateClause *n = makeNode(CollateClause);
27593 					n->arg = NULL;
27594 					n->collname = (yyvsp[0].list);
27595 					n->location = (yylsp[-1]);
27596 					(yyval.node) = (Node *) n;
27597 				}
27598 #line 27599 "gram.c" /* yacc.c:1652  */
27599     break;
27600 
27601   case 348:
27602 #line 2582 "gram.y" /* yacc.c:1652  */
27603     { (yyval.node) = NULL; }
27604 #line 27605 "gram.c" /* yacc.c:1652  */
27605     break;
27606 
27607   case 349:
27608 #line 2586 "gram.y" /* yacc.c:1652  */
27609     { (yyval.node) = (yyvsp[0].node); }
27610 #line 27611 "gram.c" /* yacc.c:1652  */
27611     break;
27612 
27613   case 350:
27614 #line 2587 "gram.y" /* yacc.c:1652  */
27615     { (yyval.node) = NULL; }
27616 #line 27617 "gram.c" /* yacc.c:1652  */
27617     break;
27618 
27619   case 351:
27620 #line 2592 "gram.y" /* yacc.c:1652  */
27621     {
27622 					ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
27623 					n->identity_type = REPLICA_IDENTITY_NOTHING;
27624 					n->name = NULL;
27625 					(yyval.node) = (Node *) n;
27626 				}
27627 #line 27628 "gram.c" /* yacc.c:1652  */
27628     break;
27629 
27630   case 352:
27631 #line 2599 "gram.y" /* yacc.c:1652  */
27632     {
27633 					ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
27634 					n->identity_type = REPLICA_IDENTITY_FULL;
27635 					n->name = NULL;
27636 					(yyval.node) = (Node *) n;
27637 				}
27638 #line 27639 "gram.c" /* yacc.c:1652  */
27639     break;
27640 
27641   case 353:
27642 #line 2606 "gram.y" /* yacc.c:1652  */
27643     {
27644 					ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
27645 					n->identity_type = REPLICA_IDENTITY_DEFAULT;
27646 					n->name = NULL;
27647 					(yyval.node) = (Node *) n;
27648 				}
27649 #line 27650 "gram.c" /* yacc.c:1652  */
27650     break;
27651 
27652   case 354:
27653 #line 2613 "gram.y" /* yacc.c:1652  */
27654     {
27655 					ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
27656 					n->identity_type = REPLICA_IDENTITY_INDEX;
27657 					n->name = (yyvsp[0].str);
27658 					(yyval.node) = (Node *) n;
27659 				}
27660 #line 27661 "gram.c" /* yacc.c:1652  */
27661     break;
27662 
27663   case 355:
27664 #line 2622 "gram.y" /* yacc.c:1652  */
27665     { (yyval.list) = (yyvsp[-1].list); }
27666 #line 27667 "gram.c" /* yacc.c:1652  */
27667     break;
27668 
27669   case 356:
27670 #line 2625 "gram.y" /* yacc.c:1652  */
27671     { (yyval.list) = (yyvsp[0].list); }
27672 #line 27673 "gram.c" /* yacc.c:1652  */
27673     break;
27674 
27675   case 357:
27676 #line 2626 "gram.y" /* yacc.c:1652  */
27677     { (yyval.list) = NIL; }
27678 #line 27679 "gram.c" /* yacc.c:1652  */
27679     break;
27680 
27681   case 358:
27682 #line 2630 "gram.y" /* yacc.c:1652  */
27683     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
27684 #line 27685 "gram.c" /* yacc.c:1652  */
27685     break;
27686 
27687   case 359:
27688 #line 2631 "gram.y" /* yacc.c:1652  */
27689     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
27690 #line 27691 "gram.c" /* yacc.c:1652  */
27691     break;
27692 
27693   case 360:
27694 #line 2637 "gram.y" /* yacc.c:1652  */
27695     {
27696 					(yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *) (yyvsp[0].node), (yylsp[-2]));
27697 				}
27698 #line 27699 "gram.c" /* yacc.c:1652  */
27699     break;
27700 
27701   case 361:
27702 #line 2641 "gram.y" /* yacc.c:1652  */
27703     {
27704 					(yyval.defelt) = makeDefElem((yyvsp[0].str), NULL, (yylsp[0]));
27705 				}
27706 #line 27707 "gram.c" /* yacc.c:1652  */
27707     break;
27708 
27709   case 362:
27710 #line 2645 "gram.y" /* yacc.c:1652  */
27711     {
27712 					(yyval.defelt) = makeDefElemExtended((yyvsp[-4].str), (yyvsp[-2].str), (Node *) (yyvsp[0].node),
27713 											 DEFELEM_UNSPEC, (yylsp[-4]));
27714 				}
27715 #line 27716 "gram.c" /* yacc.c:1652  */
27716     break;
27717 
27718   case 363:
27719 #line 2650 "gram.y" /* yacc.c:1652  */
27720     {
27721 					(yyval.defelt) = makeDefElemExtended((yyvsp[-2].str), (yyvsp[0].str), NULL, DEFELEM_UNSPEC, (yylsp[-2]));
27722 				}
27723 #line 27724 "gram.c" /* yacc.c:1652  */
27724     break;
27725 
27726   case 364:
27727 #line 2657 "gram.y" /* yacc.c:1652  */
27728     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
27729 #line 27730 "gram.c" /* yacc.c:1652  */
27730     break;
27731 
27732   case 365:
27733 #line 2659 "gram.y" /* yacc.c:1652  */
27734     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
27735 #line 27736 "gram.c" /* yacc.c:1652  */
27736     break;
27737 
27738   case 366:
27739 #line 2664 "gram.y" /* yacc.c:1652  */
27740     {
27741 					(yyval.defelt) = makeDefElem("restart", NULL, (yylsp[0]));
27742 				}
27743 #line 27744 "gram.c" /* yacc.c:1652  */
27744     break;
27745 
27746   case 367:
27747 #line 2668 "gram.y" /* yacc.c:1652  */
27748     {
27749 					(yyval.defelt) = makeDefElem("restart", (Node *)(yyvsp[0].value), (yylsp[-2]));
27750 				}
27751 #line 27752 "gram.c" /* yacc.c:1652  */
27752     break;
27753 
27754   case 368:
27755 #line 2672 "gram.y" /* yacc.c:1652  */
27756     {
27757 					if (strcmp((yyvsp[0].defelt)->defname, "as") == 0 ||
27758 						strcmp((yyvsp[0].defelt)->defname, "restart") == 0 ||
27759 						strcmp((yyvsp[0].defelt)->defname, "owned_by") == 0)
27760 						ereport(ERROR,
27761 								(errcode(ERRCODE_SYNTAX_ERROR),
27762 								 errmsg("sequence option \"%s\" not supported here", (yyvsp[0].defelt)->defname),
27763 								 parser_errposition((yylsp[0]))));
27764 					(yyval.defelt) = (yyvsp[0].defelt);
27765 				}
27766 #line 27767 "gram.c" /* yacc.c:1652  */
27767     break;
27768 
27769   case 369:
27770 #line 2683 "gram.y" /* yacc.c:1652  */
27771     {
27772 					(yyval.defelt) = makeDefElem("generated", (Node *) makeInteger((yyvsp[0].ival)), (yylsp[-2]));
27773 				}
27774 #line 27775 "gram.c" /* yacc.c:1652  */
27775     break;
27776 
27777   case 370:
27778 #line 2691 "gram.y" /* yacc.c:1652  */
27779     {
27780 					ListCell   *lc;
27781 					PartitionBoundSpec *n = makeNode(PartitionBoundSpec);
27782 
27783 					n->strategy = PARTITION_STRATEGY_HASH;
27784 					n->modulus = n->remainder = -1;
27785 
27786 					foreach (lc, (yyvsp[-1].list))
27787 					{
27788 						DefElem    *opt = lfirst_node(DefElem, lc);
27789 
27790 						if (strcmp(opt->defname, "modulus") == 0)
27791 						{
27792 							if (n->modulus != -1)
27793 								ereport(ERROR,
27794 										(errcode(ERRCODE_DUPLICATE_OBJECT),
27795 										 errmsg("modulus for hash partition provided more than once"),
27796 										 parser_errposition(opt->location)));
27797 							n->modulus = defGetInt32(opt);
27798 						}
27799 						else if (strcmp(opt->defname, "remainder") == 0)
27800 						{
27801 							if (n->remainder != -1)
27802 								ereport(ERROR,
27803 										(errcode(ERRCODE_DUPLICATE_OBJECT),
27804 										 errmsg("remainder for hash partition provided more than once"),
27805 										 parser_errposition(opt->location)));
27806 							n->remainder = defGetInt32(opt);
27807 						}
27808 						else
27809 							ereport(ERROR,
27810 									(errcode(ERRCODE_SYNTAX_ERROR),
27811 									 errmsg("unrecognized hash partition bound specification \"%s\"",
27812 											opt->defname),
27813 									 parser_errposition(opt->location)));
27814 					}
27815 
27816 					if (n->modulus == -1)
27817 						ereport(ERROR,
27818 								(errcode(ERRCODE_SYNTAX_ERROR),
27819 								 errmsg("modulus for hash partition must be specified")));
27820 					if (n->remainder == -1)
27821 						ereport(ERROR,
27822 								(errcode(ERRCODE_SYNTAX_ERROR),
27823 								 errmsg("remainder for hash partition must be specified")));
27824 
27825 					n->location = (yylsp[-3]);
27826 
27827 					(yyval.partboundspec) = n;
27828 				}
27829 #line 27830 "gram.c" /* yacc.c:1652  */
27830     break;
27831 
27832   case 371:
27833 #line 2744 "gram.y" /* yacc.c:1652  */
27834     {
27835 					PartitionBoundSpec *n = makeNode(PartitionBoundSpec);
27836 
27837 					n->strategy = PARTITION_STRATEGY_LIST;
27838 					n->is_default = false;
27839 					n->listdatums = (yyvsp[-1].list);
27840 					n->location = (yylsp[-3]);
27841 
27842 					(yyval.partboundspec) = n;
27843 				}
27844 #line 27845 "gram.c" /* yacc.c:1652  */
27845     break;
27846 
27847   case 372:
27848 #line 2757 "gram.y" /* yacc.c:1652  */
27849     {
27850 					PartitionBoundSpec *n = makeNode(PartitionBoundSpec);
27851 
27852 					n->strategy = PARTITION_STRATEGY_RANGE;
27853 					n->is_default = false;
27854 					n->lowerdatums = (yyvsp[-5].list);
27855 					n->upperdatums = (yyvsp[-1].list);
27856 					n->location = (yylsp[-7]);
27857 
27858 					(yyval.partboundspec) = n;
27859 				}
27860 #line 27861 "gram.c" /* yacc.c:1652  */
27861     break;
27862 
27863   case 373:
27864 #line 2771 "gram.y" /* yacc.c:1652  */
27865     {
27866 					PartitionBoundSpec *n = makeNode(PartitionBoundSpec);
27867 
27868 					n->is_default = true;
27869 					n->location = (yylsp[0]);
27870 
27871 					(yyval.partboundspec) = n;
27872 				}
27873 #line 27874 "gram.c" /* yacc.c:1652  */
27874     break;
27875 
27876   case 374:
27877 #line 2783 "gram.y" /* yacc.c:1652  */
27878     {
27879 				(yyval.defelt) = makeDefElem((yyvsp[-1].str), (Node *)makeInteger((yyvsp[0].ival)), (yylsp[-1]));
27880 			}
27881 #line 27882 "gram.c" /* yacc.c:1652  */
27882     break;
27883 
27884   case 375:
27885 #line 2790 "gram.y" /* yacc.c:1652  */
27886     {
27887 				(yyval.list) = list_make1((yyvsp[0].defelt));
27888 			}
27889 #line 27890 "gram.c" /* yacc.c:1652  */
27890     break;
27891 
27892   case 376:
27893 #line 2794 "gram.y" /* yacc.c:1652  */
27894     {
27895 				(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
27896 			}
27897 #line 27898 "gram.c" /* yacc.c:1652  */
27898     break;
27899 
27900   case 377:
27901 #line 2800 "gram.y" /* yacc.c:1652  */
27902     { (yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0])); }
27903 #line 27904 "gram.c" /* yacc.c:1652  */
27904     break;
27905 
27906   case 378:
27907 #line 2801 "gram.y" /* yacc.c:1652  */
27908     { (yyval.node) = makeAConst((yyvsp[0].value), (yylsp[0])); }
27909 #line 27910 "gram.c" /* yacc.c:1652  */
27910     break;
27911 
27912   case 379:
27913 #line 2802 "gram.y" /* yacc.c:1652  */
27914     { (yyval.node) = makeStringConst(pstrdup("true"), (yylsp[0])); }
27915 #line 27916 "gram.c" /* yacc.c:1652  */
27916     break;
27917 
27918   case 380:
27919 #line 2803 "gram.y" /* yacc.c:1652  */
27920     { (yyval.node) = makeStringConst(pstrdup("false"), (yylsp[0])); }
27921 #line 27922 "gram.c" /* yacc.c:1652  */
27922     break;
27923 
27924   case 381:
27925 #line 2804 "gram.y" /* yacc.c:1652  */
27926     { (yyval.node) = makeNullAConst((yylsp[0])); }
27927 #line 27928 "gram.c" /* yacc.c:1652  */
27928     break;
27929 
27930   case 382:
27931 #line 2808 "gram.y" /* yacc.c:1652  */
27932     { (yyval.list) = list_make1((yyvsp[0].node)); }
27933 #line 27934 "gram.c" /* yacc.c:1652  */
27934     break;
27935 
27936   case 383:
27937 #line 2810 "gram.y" /* yacc.c:1652  */
27938     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
27939 #line 27940 "gram.c" /* yacc.c:1652  */
27940     break;
27941 
27942   case 384:
27943 #line 2814 "gram.y" /* yacc.c:1652  */
27944     { (yyval.list) = list_make1((yyvsp[0].node)); }
27945 #line 27946 "gram.c" /* yacc.c:1652  */
27946     break;
27947 
27948   case 385:
27949 #line 2816 "gram.y" /* yacc.c:1652  */
27950     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
27951 #line 27952 "gram.c" /* yacc.c:1652  */
27952     break;
27953 
27954   case 386:
27955 #line 2821 "gram.y" /* yacc.c:1652  */
27956     {
27957 					PartitionRangeDatum *n = makeNode(PartitionRangeDatum);
27958 
27959 					n->kind = PARTITION_RANGE_DATUM_MINVALUE;
27960 					n->value = NULL;
27961 					n->location = (yylsp[0]);
27962 
27963 					(yyval.node) = (Node *) n;
27964 				}
27965 #line 27966 "gram.c" /* yacc.c:1652  */
27966     break;
27967 
27968   case 387:
27969 #line 2831 "gram.y" /* yacc.c:1652  */
27970     {
27971 					PartitionRangeDatum *n = makeNode(PartitionRangeDatum);
27972 
27973 					n->kind = PARTITION_RANGE_DATUM_MAXVALUE;
27974 					n->value = NULL;
27975 					n->location = (yylsp[0]);
27976 
27977 					(yyval.node) = (Node *) n;
27978 				}
27979 #line 27980 "gram.c" /* yacc.c:1652  */
27980     break;
27981 
27982   case 388:
27983 #line 2841 "gram.y" /* yacc.c:1652  */
27984     {
27985 					PartitionRangeDatum *n = makeNode(PartitionRangeDatum);
27986 
27987 					n->kind = PARTITION_RANGE_DATUM_VALUE;
27988 					n->value = (yyvsp[0].node);
27989 					n->location = (yylsp[0]);
27990 
27991 					(yyval.node) = (Node *) n;
27992 				}
27993 #line 27994 "gram.c" /* yacc.c:1652  */
27994     break;
27995 
27996   case 389:
27997 #line 2861 "gram.y" /* yacc.c:1652  */
27998     {
27999 					AlterTableStmt *n = makeNode(AlterTableStmt);
28000 
28001 					/* can't use qualified_name, sigh */
28002 					n->relation = makeRangeVarFromAnyName((yyvsp[-1].list), (yylsp[-1]), yyscanner);
28003 					n->cmds = (yyvsp[0].list);
28004 					n->relkind = OBJECT_TYPE;
28005 					(yyval.node) = (Node *)n;
28006 				}
28007 #line 28008 "gram.c" /* yacc.c:1652  */
28008     break;
28009 
28010   case 390:
28011 #line 2873 "gram.y" /* yacc.c:1652  */
28012     { (yyval.list) = list_make1((yyvsp[0].node)); }
28013 #line 28014 "gram.c" /* yacc.c:1652  */
28014     break;
28015 
28016   case 391:
28017 #line 2874 "gram.y" /* yacc.c:1652  */
28018     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
28019 #line 28020 "gram.c" /* yacc.c:1652  */
28020     break;
28021 
28022   case 392:
28023 #line 2880 "gram.y" /* yacc.c:1652  */
28024     {
28025 					AlterTableCmd *n = makeNode(AlterTableCmd);
28026 					n->subtype = AT_AddColumn;
28027 					n->def = (yyvsp[-1].node);
28028 					n->behavior = (yyvsp[0].dbehavior);
28029 					(yyval.node) = (Node *)n;
28030 				}
28031 #line 28032 "gram.c" /* yacc.c:1652  */
28032     break;
28033 
28034   case 393:
28035 #line 2889 "gram.y" /* yacc.c:1652  */
28036     {
28037 					AlterTableCmd *n = makeNode(AlterTableCmd);
28038 					n->subtype = AT_DropColumn;
28039 					n->name = (yyvsp[-1].str);
28040 					n->behavior = (yyvsp[0].dbehavior);
28041 					n->missing_ok = true;
28042 					(yyval.node) = (Node *)n;
28043 				}
28044 #line 28045 "gram.c" /* yacc.c:1652  */
28045     break;
28046 
28047   case 394:
28048 #line 2899 "gram.y" /* yacc.c:1652  */
28049     {
28050 					AlterTableCmd *n = makeNode(AlterTableCmd);
28051 					n->subtype = AT_DropColumn;
28052 					n->name = (yyvsp[-1].str);
28053 					n->behavior = (yyvsp[0].dbehavior);
28054 					n->missing_ok = false;
28055 					(yyval.node) = (Node *)n;
28056 				}
28057 #line 28058 "gram.c" /* yacc.c:1652  */
28058     break;
28059 
28060   case 395:
28061 #line 2909 "gram.y" /* yacc.c:1652  */
28062     {
28063 					AlterTableCmd *n = makeNode(AlterTableCmd);
28064 					ColumnDef *def = makeNode(ColumnDef);
28065 					n->subtype = AT_AlterColumnType;
28066 					n->name = (yyvsp[-5].str);
28067 					n->def = (Node *) def;
28068 					n->behavior = (yyvsp[0].dbehavior);
28069 					/* We only use these fields of the ColumnDef node */
28070 					def->typeName = (yyvsp[-2].typnam);
28071 					def->collClause = (CollateClause *) (yyvsp[-1].node);
28072 					def->raw_default = NULL;
28073 					def->location = (yylsp[-5]);
28074 					(yyval.node) = (Node *)n;
28075 				}
28076 #line 28077 "gram.c" /* yacc.c:1652  */
28077     break;
28078 
28079   case 396:
28080 #line 2935 "gram.y" /* yacc.c:1652  */
28081     {
28082 					ClosePortalStmt *n = makeNode(ClosePortalStmt);
28083 					n->portalname = (yyvsp[0].str);
28084 					(yyval.node) = (Node *)n;
28085 				}
28086 #line 28087 "gram.c" /* yacc.c:1652  */
28087     break;
28088 
28089   case 397:
28090 #line 2941 "gram.y" /* yacc.c:1652  */
28091     {
28092 					ClosePortalStmt *n = makeNode(ClosePortalStmt);
28093 					n->portalname = NULL;
28094 					(yyval.node) = (Node *)n;
28095 				}
28096 #line 28097 "gram.c" /* yacc.c:1652  */
28097     break;
28098 
28099   case 398:
28100 #line 2975 "gram.y" /* yacc.c:1652  */
28101     {
28102 					CopyStmt *n = makeNode(CopyStmt);
28103 					n->relation = (yyvsp[-8].range);
28104 					n->query = NULL;
28105 					n->attlist = (yyvsp[-7].list);
28106 					n->is_from = (yyvsp[-5].boolean);
28107 					n->is_program = (yyvsp[-4].boolean);
28108 					n->filename = (yyvsp[-3].str);
28109 
28110 					if (n->is_program && n->filename == NULL)
28111 						ereport(ERROR,
28112 								(errcode(ERRCODE_SYNTAX_ERROR),
28113 								 errmsg("STDIN/STDOUT not allowed with PROGRAM"),
28114 								 parser_errposition((yylsp[-3]))));
28115 
28116 					n->options = NIL;
28117 					/* Concatenate user-supplied flags */
28118 					if ((yyvsp[-9].defelt))
28119 						n->options = lappend(n->options, (yyvsp[-9].defelt));
28120 					if ((yyvsp[-6].defelt))
28121 						n->options = lappend(n->options, (yyvsp[-6].defelt));
28122 					if ((yyvsp[-2].defelt))
28123 						n->options = lappend(n->options, (yyvsp[-2].defelt));
28124 					if ((yyvsp[0].list))
28125 						n->options = list_concat(n->options, (yyvsp[0].list));
28126 					(yyval.node) = (Node *)n;
28127 				}
28128 #line 28129 "gram.c" /* yacc.c:1652  */
28129     break;
28130 
28131   case 399:
28132 #line 3003 "gram.y" /* yacc.c:1652  */
28133     {
28134 					CopyStmt *n = makeNode(CopyStmt);
28135 					n->relation = NULL;
28136 					n->query = (yyvsp[-6].node);
28137 					n->attlist = NIL;
28138 					n->is_from = false;
28139 					n->is_program = (yyvsp[-3].boolean);
28140 					n->filename = (yyvsp[-2].str);
28141 					n->options = (yyvsp[0].list);
28142 
28143 					if (n->is_program && n->filename == NULL)
28144 						ereport(ERROR,
28145 								(errcode(ERRCODE_SYNTAX_ERROR),
28146 								 errmsg("STDIN/STDOUT not allowed with PROGRAM"),
28147 								 parser_errposition((yylsp[-4]))));
28148 
28149 					(yyval.node) = (Node *)n;
28150 				}
28151 #line 28152 "gram.c" /* yacc.c:1652  */
28152     break;
28153 
28154   case 400:
28155 #line 3024 "gram.y" /* yacc.c:1652  */
28156     { (yyval.boolean) = true; }
28157 #line 28158 "gram.c" /* yacc.c:1652  */
28158     break;
28159 
28160   case 401:
28161 #line 3025 "gram.y" /* yacc.c:1652  */
28162     { (yyval.boolean) = false; }
28163 #line 28164 "gram.c" /* yacc.c:1652  */
28164     break;
28165 
28166   case 402:
28167 #line 3029 "gram.y" /* yacc.c:1652  */
28168     { (yyval.boolean) = true; }
28169 #line 28170 "gram.c" /* yacc.c:1652  */
28170     break;
28171 
28172   case 403:
28173 #line 3030 "gram.y" /* yacc.c:1652  */
28174     { (yyval.boolean) = false; }
28175 #line 28176 "gram.c" /* yacc.c:1652  */
28176     break;
28177 
28178   case 404:
28179 #line 3039 "gram.y" /* yacc.c:1652  */
28180     { (yyval.str) = (yyvsp[0].str); }
28181 #line 28182 "gram.c" /* yacc.c:1652  */
28182     break;
28183 
28184   case 405:
28185 #line 3040 "gram.y" /* yacc.c:1652  */
28186     { (yyval.str) = NULL; }
28187 #line 28188 "gram.c" /* yacc.c:1652  */
28188     break;
28189 
28190   case 406:
28191 #line 3041 "gram.y" /* yacc.c:1652  */
28192     { (yyval.str) = NULL; }
28193 #line 28194 "gram.c" /* yacc.c:1652  */
28194     break;
28195 
28196   case 407:
28197 #line 3044 "gram.y" /* yacc.c:1652  */
28198     { (yyval.list) = (yyvsp[0].list); }
28199 #line 28200 "gram.c" /* yacc.c:1652  */
28200     break;
28201 
28202   case 408:
28203 #line 3045 "gram.y" /* yacc.c:1652  */
28204     { (yyval.list) = (yyvsp[-1].list); }
28205 #line 28206 "gram.c" /* yacc.c:1652  */
28206     break;
28207 
28208   case 409:
28209 #line 3050 "gram.y" /* yacc.c:1652  */
28210     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
28211 #line 28212 "gram.c" /* yacc.c:1652  */
28212     break;
28213 
28214   case 410:
28215 #line 3051 "gram.y" /* yacc.c:1652  */
28216     { (yyval.list) = NIL; }
28217 #line 28218 "gram.c" /* yacc.c:1652  */
28218     break;
28219 
28220   case 411:
28221 #line 3056 "gram.y" /* yacc.c:1652  */
28222     {
28223 					(yyval.defelt) = makeDefElem("format", (Node *)makeString("binary"), (yylsp[0]));
28224 				}
28225 #line 28226 "gram.c" /* yacc.c:1652  */
28226     break;
28227 
28228   case 412:
28229 #line 3060 "gram.y" /* yacc.c:1652  */
28230     {
28231 					(yyval.defelt) = makeDefElem("oids", (Node *)makeInteger(true), (yylsp[0]));
28232 				}
28233 #line 28234 "gram.c" /* yacc.c:1652  */
28234     break;
28235 
28236   case 413:
28237 #line 3064 "gram.y" /* yacc.c:1652  */
28238     {
28239 					(yyval.defelt) = makeDefElem("freeze", (Node *)makeInteger(true), (yylsp[0]));
28240 				}
28241 #line 28242 "gram.c" /* yacc.c:1652  */
28242     break;
28243 
28244   case 414:
28245 #line 3068 "gram.y" /* yacc.c:1652  */
28246     {
28247 					(yyval.defelt) = makeDefElem("delimiter", (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
28248 				}
28249 #line 28250 "gram.c" /* yacc.c:1652  */
28250     break;
28251 
28252   case 415:
28253 #line 3072 "gram.y" /* yacc.c:1652  */
28254     {
28255 					(yyval.defelt) = makeDefElem("null", (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
28256 				}
28257 #line 28258 "gram.c" /* yacc.c:1652  */
28258     break;
28259 
28260   case 416:
28261 #line 3076 "gram.y" /* yacc.c:1652  */
28262     {
28263 					(yyval.defelt) = makeDefElem("format", (Node *)makeString("csv"), (yylsp[0]));
28264 				}
28265 #line 28266 "gram.c" /* yacc.c:1652  */
28266     break;
28267 
28268   case 417:
28269 #line 3080 "gram.y" /* yacc.c:1652  */
28270     {
28271 					(yyval.defelt) = makeDefElem("header", (Node *)makeInteger(true), (yylsp[0]));
28272 				}
28273 #line 28274 "gram.c" /* yacc.c:1652  */
28274     break;
28275 
28276   case 418:
28277 #line 3084 "gram.y" /* yacc.c:1652  */
28278     {
28279 					(yyval.defelt) = makeDefElem("quote", (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
28280 				}
28281 #line 28282 "gram.c" /* yacc.c:1652  */
28282     break;
28283 
28284   case 419:
28285 #line 3088 "gram.y" /* yacc.c:1652  */
28286     {
28287 					(yyval.defelt) = makeDefElem("escape", (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
28288 				}
28289 #line 28290 "gram.c" /* yacc.c:1652  */
28290     break;
28291 
28292   case 420:
28293 #line 3092 "gram.y" /* yacc.c:1652  */
28294     {
28295 					(yyval.defelt) = makeDefElem("force_quote", (Node *)(yyvsp[0].list), (yylsp[-2]));
28296 				}
28297 #line 28298 "gram.c" /* yacc.c:1652  */
28298     break;
28299 
28300   case 421:
28301 #line 3096 "gram.y" /* yacc.c:1652  */
28302     {
28303 					(yyval.defelt) = makeDefElem("force_quote", (Node *)makeNode(A_Star), (yylsp[-2]));
28304 				}
28305 #line 28306 "gram.c" /* yacc.c:1652  */
28306     break;
28307 
28308   case 422:
28309 #line 3100 "gram.y" /* yacc.c:1652  */
28310     {
28311 					(yyval.defelt) = makeDefElem("force_not_null", (Node *)(yyvsp[0].list), (yylsp[-3]));
28312 				}
28313 #line 28314 "gram.c" /* yacc.c:1652  */
28314     break;
28315 
28316   case 423:
28317 #line 3104 "gram.y" /* yacc.c:1652  */
28318     {
28319 					(yyval.defelt) = makeDefElem("force_null", (Node *)(yyvsp[0].list), (yylsp[-2]));
28320 				}
28321 #line 28322 "gram.c" /* yacc.c:1652  */
28322     break;
28323 
28324   case 424:
28325 #line 3108 "gram.y" /* yacc.c:1652  */
28326     {
28327 					(yyval.defelt) = makeDefElem("encoding", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
28328 				}
28329 #line 28330 "gram.c" /* yacc.c:1652  */
28330     break;
28331 
28332   case 425:
28333 #line 3117 "gram.y" /* yacc.c:1652  */
28334     {
28335 					(yyval.defelt) = makeDefElem("format", (Node *)makeString("binary"), (yylsp[0]));
28336 				}
28337 #line 28338 "gram.c" /* yacc.c:1652  */
28338     break;
28339 
28340   case 426:
28341 #line 3120 "gram.y" /* yacc.c:1652  */
28342     { (yyval.defelt) = NULL; }
28343 #line 28344 "gram.c" /* yacc.c:1652  */
28344     break;
28345 
28346   case 427:
28347 #line 3125 "gram.y" /* yacc.c:1652  */
28348     {
28349 					(yyval.defelt) = makeDefElem("oids", (Node *)makeInteger(true), (yylsp[-1]));
28350 				}
28351 #line 28352 "gram.c" /* yacc.c:1652  */
28352     break;
28353 
28354   case 428:
28355 #line 3128 "gram.y" /* yacc.c:1652  */
28356     { (yyval.defelt) = NULL; }
28357 #line 28358 "gram.c" /* yacc.c:1652  */
28358     break;
28359 
28360   case 429:
28361 #line 3133 "gram.y" /* yacc.c:1652  */
28362     {
28363 					(yyval.defelt) = makeDefElem("delimiter", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
28364 				}
28365 #line 28366 "gram.c" /* yacc.c:1652  */
28366     break;
28367 
28368   case 430:
28369 #line 3136 "gram.y" /* yacc.c:1652  */
28370     { (yyval.defelt) = NULL; }
28371 #line 28372 "gram.c" /* yacc.c:1652  */
28372     break;
28373 
28374   case 431:
28375 #line 3140 "gram.y" /* yacc.c:1652  */
28376     {}
28377 #line 28378 "gram.c" /* yacc.c:1652  */
28378     break;
28379 
28380   case 432:
28381 #line 3141 "gram.y" /* yacc.c:1652  */
28382     {}
28383 #line 28384 "gram.c" /* yacc.c:1652  */
28384     break;
28385 
28386   case 433:
28387 #line 3147 "gram.y" /* yacc.c:1652  */
28388     {
28389 					(yyval.list) = list_make1((yyvsp[0].defelt));
28390 				}
28391 #line 28392 "gram.c" /* yacc.c:1652  */
28392     break;
28393 
28394   case 434:
28395 #line 3151 "gram.y" /* yacc.c:1652  */
28396     {
28397 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
28398 				}
28399 #line 28400 "gram.c" /* yacc.c:1652  */
28400     break;
28401 
28402   case 435:
28403 #line 3158 "gram.y" /* yacc.c:1652  */
28404     {
28405 					(yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1]));
28406 				}
28407 #line 28408 "gram.c" /* yacc.c:1652  */
28408     break;
28409 
28410   case 436:
28411 #line 3164 "gram.y" /* yacc.c:1652  */
28412     { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
28413 #line 28414 "gram.c" /* yacc.c:1652  */
28414     break;
28415 
28416   case 437:
28417 #line 3165 "gram.y" /* yacc.c:1652  */
28418     { (yyval.node) = (Node *) (yyvsp[0].value); }
28419 #line 28420 "gram.c" /* yacc.c:1652  */
28420     break;
28421 
28422   case 438:
28423 #line 3166 "gram.y" /* yacc.c:1652  */
28424     { (yyval.node) = (Node *) makeNode(A_Star); }
28425 #line 28426 "gram.c" /* yacc.c:1652  */
28426     break;
28427 
28428   case 439:
28429 #line 3167 "gram.y" /* yacc.c:1652  */
28430     { (yyval.node) = (Node *) (yyvsp[-1].list); }
28431 #line 28432 "gram.c" /* yacc.c:1652  */
28432     break;
28433 
28434   case 440:
28435 #line 3168 "gram.y" /* yacc.c:1652  */
28436     { (yyval.node) = NULL; }
28437 #line 28438 "gram.c" /* yacc.c:1652  */
28438     break;
28439 
28440   case 441:
28441 #line 3173 "gram.y" /* yacc.c:1652  */
28442     {
28443 					(yyval.list) = list_make1((yyvsp[0].node));
28444 				}
28445 #line 28446 "gram.c" /* yacc.c:1652  */
28446     break;
28447 
28448   case 442:
28449 #line 3177 "gram.y" /* yacc.c:1652  */
28450     {
28451 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
28452 				}
28453 #line 28454 "gram.c" /* yacc.c:1652  */
28454     break;
28455 
28456   case 443:
28457 #line 3184 "gram.y" /* yacc.c:1652  */
28458     { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
28459 #line 28460 "gram.c" /* yacc.c:1652  */
28460     break;
28461 
28462   case 444:
28463 #line 3197 "gram.y" /* yacc.c:1652  */
28464     {
28465 					CreateStmt *n = makeNode(CreateStmt);
28466 					(yyvsp[-8].range)->relpersistence = (yyvsp[-10].ival);
28467 					n->relation = (yyvsp[-8].range);
28468 					n->tableElts = (yyvsp[-6].list);
28469 					n->inhRelations = (yyvsp[-4].list);
28470 					n->partspec = (yyvsp[-3].partspec);
28471 					n->ofTypename = NULL;
28472 					n->constraints = NIL;
28473 					n->options = (yyvsp[-2].list);
28474 					n->oncommit = (yyvsp[-1].oncommit);
28475 					n->tablespacename = (yyvsp[0].str);
28476 					n->if_not_exists = false;
28477 					(yyval.node) = (Node *)n;
28478 				}
28479 #line 28480 "gram.c" /* yacc.c:1652  */
28480     break;
28481 
28482   case 445:
28483 #line 3215 "gram.y" /* yacc.c:1652  */
28484     {
28485 					CreateStmt *n = makeNode(CreateStmt);
28486 					(yyvsp[-8].range)->relpersistence = (yyvsp[-13].ival);
28487 					n->relation = (yyvsp[-8].range);
28488 					n->tableElts = (yyvsp[-6].list);
28489 					n->inhRelations = (yyvsp[-4].list);
28490 					n->partspec = (yyvsp[-3].partspec);
28491 					n->ofTypename = NULL;
28492 					n->constraints = NIL;
28493 					n->options = (yyvsp[-2].list);
28494 					n->oncommit = (yyvsp[-1].oncommit);
28495 					n->tablespacename = (yyvsp[0].str);
28496 					n->if_not_exists = true;
28497 					(yyval.node) = (Node *)n;
28498 				}
28499 #line 28500 "gram.c" /* yacc.c:1652  */
28500     break;
28501 
28502   case 446:
28503 #line 3233 "gram.y" /* yacc.c:1652  */
28504     {
28505 					CreateStmt *n = makeNode(CreateStmt);
28506 					(yyvsp[-7].range)->relpersistence = (yyvsp[-9].ival);
28507 					n->relation = (yyvsp[-7].range);
28508 					n->tableElts = (yyvsp[-4].list);
28509 					n->inhRelations = NIL;
28510 					n->partspec = (yyvsp[-3].partspec);
28511 					n->ofTypename = makeTypeNameFromNameList((yyvsp[-5].list));
28512 					n->ofTypename->location = (yylsp[-5]);
28513 					n->constraints = NIL;
28514 					n->options = (yyvsp[-2].list);
28515 					n->oncommit = (yyvsp[-1].oncommit);
28516 					n->tablespacename = (yyvsp[0].str);
28517 					n->if_not_exists = false;
28518 					(yyval.node) = (Node *)n;
28519 				}
28520 #line 28521 "gram.c" /* yacc.c:1652  */
28521     break;
28522 
28523   case 447:
28524 #line 3252 "gram.y" /* yacc.c:1652  */
28525     {
28526 					CreateStmt *n = makeNode(CreateStmt);
28527 					(yyvsp[-7].range)->relpersistence = (yyvsp[-12].ival);
28528 					n->relation = (yyvsp[-7].range);
28529 					n->tableElts = (yyvsp[-4].list);
28530 					n->inhRelations = NIL;
28531 					n->partspec = (yyvsp[-3].partspec);
28532 					n->ofTypename = makeTypeNameFromNameList((yyvsp[-5].list));
28533 					n->ofTypename->location = (yylsp[-5]);
28534 					n->constraints = NIL;
28535 					n->options = (yyvsp[-2].list);
28536 					n->oncommit = (yyvsp[-1].oncommit);
28537 					n->tablespacename = (yyvsp[0].str);
28538 					n->if_not_exists = true;
28539 					(yyval.node) = (Node *)n;
28540 				}
28541 #line 28542 "gram.c" /* yacc.c:1652  */
28542     break;
28543 
28544   case 448:
28545 #line 3271 "gram.y" /* yacc.c:1652  */
28546     {
28547 					CreateStmt *n = makeNode(CreateStmt);
28548 					(yyvsp[-9].range)->relpersistence = (yyvsp[-11].ival);
28549 					n->relation = (yyvsp[-9].range);
28550 					n->tableElts = (yyvsp[-5].list);
28551 					n->inhRelations = list_make1((yyvsp[-6].range));
28552 					n->partbound = (yyvsp[-4].partboundspec);
28553 					n->partspec = (yyvsp[-3].partspec);
28554 					n->ofTypename = NULL;
28555 					n->constraints = NIL;
28556 					n->options = (yyvsp[-2].list);
28557 					n->oncommit = (yyvsp[-1].oncommit);
28558 					n->tablespacename = (yyvsp[0].str);
28559 					n->if_not_exists = false;
28560 					(yyval.node) = (Node *)n;
28561 				}
28562 #line 28563 "gram.c" /* yacc.c:1652  */
28563     break;
28564 
28565   case 449:
28566 #line 3290 "gram.y" /* yacc.c:1652  */
28567     {
28568 					CreateStmt *n = makeNode(CreateStmt);
28569 					(yyvsp[-9].range)->relpersistence = (yyvsp[-14].ival);
28570 					n->relation = (yyvsp[-9].range);
28571 					n->tableElts = (yyvsp[-5].list);
28572 					n->inhRelations = list_make1((yyvsp[-6].range));
28573 					n->partbound = (yyvsp[-4].partboundspec);
28574 					n->partspec = (yyvsp[-3].partspec);
28575 					n->ofTypename = NULL;
28576 					n->constraints = NIL;
28577 					n->options = (yyvsp[-2].list);
28578 					n->oncommit = (yyvsp[-1].oncommit);
28579 					n->tablespacename = (yyvsp[0].str);
28580 					n->if_not_exists = true;
28581 					(yyval.node) = (Node *)n;
28582 				}
28583 #line 28584 "gram.c" /* yacc.c:1652  */
28584     break;
28585 
28586   case 450:
28587 #line 3319 "gram.y" /* yacc.c:1652  */
28588     { (yyval.ival) = RELPERSISTENCE_TEMP; }
28589 #line 28590 "gram.c" /* yacc.c:1652  */
28590     break;
28591 
28592   case 451:
28593 #line 3320 "gram.y" /* yacc.c:1652  */
28594     { (yyval.ival) = RELPERSISTENCE_TEMP; }
28595 #line 28596 "gram.c" /* yacc.c:1652  */
28596     break;
28597 
28598   case 452:
28599 #line 3321 "gram.y" /* yacc.c:1652  */
28600     { (yyval.ival) = RELPERSISTENCE_TEMP; }
28601 #line 28602 "gram.c" /* yacc.c:1652  */
28602     break;
28603 
28604   case 453:
28605 #line 3322 "gram.y" /* yacc.c:1652  */
28606     { (yyval.ival) = RELPERSISTENCE_TEMP; }
28607 #line 28608 "gram.c" /* yacc.c:1652  */
28608     break;
28609 
28610   case 454:
28611 #line 3324 "gram.y" /* yacc.c:1652  */
28612     {
28613 					ereport(WARNING,
28614 							(errmsg("GLOBAL is deprecated in temporary table creation"),
28615 							 parser_errposition((yylsp[-1]))));
28616 					(yyval.ival) = RELPERSISTENCE_TEMP;
28617 				}
28618 #line 28619 "gram.c" /* yacc.c:1652  */
28619     break;
28620 
28621   case 455:
28622 #line 3331 "gram.y" /* yacc.c:1652  */
28623     {
28624 					ereport(WARNING,
28625 							(errmsg("GLOBAL is deprecated in temporary table creation"),
28626 							 parser_errposition((yylsp[-1]))));
28627 					(yyval.ival) = RELPERSISTENCE_TEMP;
28628 				}
28629 #line 28630 "gram.c" /* yacc.c:1652  */
28630     break;
28631 
28632   case 456:
28633 #line 3337 "gram.y" /* yacc.c:1652  */
28634     { (yyval.ival) = RELPERSISTENCE_UNLOGGED; }
28635 #line 28636 "gram.c" /* yacc.c:1652  */
28636     break;
28637 
28638   case 457:
28639 #line 3338 "gram.y" /* yacc.c:1652  */
28640     { (yyval.ival) = RELPERSISTENCE_PERMANENT; }
28641 #line 28642 "gram.c" /* yacc.c:1652  */
28642     break;
28643 
28644   case 458:
28645 #line 3342 "gram.y" /* yacc.c:1652  */
28646     { (yyval.list) = (yyvsp[0].list); }
28647 #line 28648 "gram.c" /* yacc.c:1652  */
28648     break;
28649 
28650   case 459:
28651 #line 3343 "gram.y" /* yacc.c:1652  */
28652     { (yyval.list) = NIL; }
28653 #line 28654 "gram.c" /* yacc.c:1652  */
28654     break;
28655 
28656   case 460:
28657 #line 3347 "gram.y" /* yacc.c:1652  */
28658     { (yyval.list) = (yyvsp[-1].list); }
28659 #line 28660 "gram.c" /* yacc.c:1652  */
28660     break;
28661 
28662   case 461:
28663 #line 3348 "gram.y" /* yacc.c:1652  */
28664     { (yyval.list) = NIL; }
28665 #line 28666 "gram.c" /* yacc.c:1652  */
28666     break;
28667 
28668   case 462:
28669 #line 3353 "gram.y" /* yacc.c:1652  */
28670     {
28671 					(yyval.list) = list_make1((yyvsp[0].node));
28672 				}
28673 #line 28674 "gram.c" /* yacc.c:1652  */
28674     break;
28675 
28676   case 463:
28677 #line 3357 "gram.y" /* yacc.c:1652  */
28678     {
28679 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
28680 				}
28681 #line 28682 "gram.c" /* yacc.c:1652  */
28682     break;
28683 
28684   case 464:
28685 #line 3364 "gram.y" /* yacc.c:1652  */
28686     {
28687 					(yyval.list) = list_make1((yyvsp[0].node));
28688 				}
28689 #line 28690 "gram.c" /* yacc.c:1652  */
28690     break;
28691 
28692   case 465:
28693 #line 3368 "gram.y" /* yacc.c:1652  */
28694     {
28695 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
28696 				}
28697 #line 28698 "gram.c" /* yacc.c:1652  */
28698     break;
28699 
28700   case 466:
28701 #line 3374 "gram.y" /* yacc.c:1652  */
28702     { (yyval.node) = (yyvsp[0].node); }
28703 #line 28704 "gram.c" /* yacc.c:1652  */
28704     break;
28705 
28706   case 467:
28707 #line 3375 "gram.y" /* yacc.c:1652  */
28708     { (yyval.node) = (yyvsp[0].node); }
28709 #line 28710 "gram.c" /* yacc.c:1652  */
28710     break;
28711 
28712   case 468:
28713 #line 3376 "gram.y" /* yacc.c:1652  */
28714     { (yyval.node) = (yyvsp[0].node); }
28715 #line 28716 "gram.c" /* yacc.c:1652  */
28716     break;
28717 
28718   case 469:
28719 #line 3380 "gram.y" /* yacc.c:1652  */
28720     { (yyval.node) = (yyvsp[0].node); }
28721 #line 28722 "gram.c" /* yacc.c:1652  */
28722     break;
28723 
28724   case 470:
28725 #line 3381 "gram.y" /* yacc.c:1652  */
28726     { (yyval.node) = (yyvsp[0].node); }
28727 #line 28728 "gram.c" /* yacc.c:1652  */
28728     break;
28729 
28730   case 471:
28731 #line 3385 "gram.y" /* yacc.c:1652  */
28732     {
28733 					ColumnDef *n = makeNode(ColumnDef);
28734 					n->colname = (yyvsp[-3].str);
28735 					n->typeName = (yyvsp[-2].typnam);
28736 					n->inhcount = 0;
28737 					n->is_local = true;
28738 					n->is_not_null = false;
28739 					n->is_from_type = false;
28740 					n->storage = 0;
28741 					n->raw_default = NULL;
28742 					n->cooked_default = NULL;
28743 					n->collOid = InvalidOid;
28744 					n->fdwoptions = (yyvsp[-1].list);
28745 					SplitColQualList((yyvsp[0].list), &n->constraints, &n->collClause,
28746 									 yyscanner);
28747 					n->location = (yylsp[-3]);
28748 					(yyval.node) = (Node *)n;
28749 				}
28750 #line 28751 "gram.c" /* yacc.c:1652  */
28751     break;
28752 
28753   case 472:
28754 #line 3406 "gram.y" /* yacc.c:1652  */
28755     {
28756 					ColumnDef *n = makeNode(ColumnDef);
28757 					n->colname = (yyvsp[-1].str);
28758 					n->typeName = NULL;
28759 					n->inhcount = 0;
28760 					n->is_local = true;
28761 					n->is_not_null = false;
28762 					n->is_from_type = false;
28763 					n->storage = 0;
28764 					n->raw_default = NULL;
28765 					n->cooked_default = NULL;
28766 					n->collOid = InvalidOid;
28767 					SplitColQualList((yyvsp[0].list), &n->constraints, &n->collClause,
28768 									 yyscanner);
28769 					n->location = (yylsp[-1]);
28770 					(yyval.node) = (Node *)n;
28771 				}
28772 #line 28773 "gram.c" /* yacc.c:1652  */
28773     break;
28774 
28775   case 473:
28776 #line 3424 "gram.y" /* yacc.c:1652  */
28777     {
28778 					ColumnDef *n = makeNode(ColumnDef);
28779 					n->colname = (yyvsp[-3].str);
28780 					n->typeName = NULL;
28781 					n->inhcount = 0;
28782 					n->is_local = true;
28783 					n->is_not_null = false;
28784 					n->is_from_type = false;
28785 					n->storage = 0;
28786 					n->raw_default = NULL;
28787 					n->cooked_default = NULL;
28788 					n->collOid = InvalidOid;
28789 					SplitColQualList((yyvsp[0].list), &n->constraints, &n->collClause,
28790 									 yyscanner);
28791 					n->location = (yylsp[-3]);
28792 					(yyval.node) = (Node *)n;
28793 				}
28794 #line 28795 "gram.c" /* yacc.c:1652  */
28795     break;
28796 
28797   case 474:
28798 #line 3444 "gram.y" /* yacc.c:1652  */
28799     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
28800 #line 28801 "gram.c" /* yacc.c:1652  */
28801     break;
28802 
28803   case 475:
28804 #line 3445 "gram.y" /* yacc.c:1652  */
28805     { (yyval.list) = NIL; }
28806 #line 28807 "gram.c" /* yacc.c:1652  */
28807     break;
28808 
28809   case 476:
28810 #line 3450 "gram.y" /* yacc.c:1652  */
28811     {
28812 					Constraint *n = castNode(Constraint, (yyvsp[0].node));
28813 					n->conname = (yyvsp[-1].str);
28814 					n->location = (yylsp[-2]);
28815 					(yyval.node) = (Node *) n;
28816 				}
28817 #line 28818 "gram.c" /* yacc.c:1652  */
28818     break;
28819 
28820   case 477:
28821 #line 3456 "gram.y" /* yacc.c:1652  */
28822     { (yyval.node) = (yyvsp[0].node); }
28823 #line 28824 "gram.c" /* yacc.c:1652  */
28824     break;
28825 
28826   case 478:
28827 #line 3457 "gram.y" /* yacc.c:1652  */
28828     { (yyval.node) = (yyvsp[0].node); }
28829 #line 28830 "gram.c" /* yacc.c:1652  */
28830     break;
28831 
28832   case 479:
28833 #line 3459 "gram.y" /* yacc.c:1652  */
28834     {
28835 					/*
28836 					 * Note: the CollateClause is momentarily included in
28837 					 * the list built by ColQualList, but we split it out
28838 					 * again in SplitColQualList.
28839 					 */
28840 					CollateClause *n = makeNode(CollateClause);
28841 					n->arg = NULL;
28842 					n->collname = (yyvsp[0].list);
28843 					n->location = (yylsp[-1]);
28844 					(yyval.node) = (Node *) n;
28845 				}
28846 #line 28847 "gram.c" /* yacc.c:1652  */
28847     break;
28848 
28849   case 480:
28850 #line 3490 "gram.y" /* yacc.c:1652  */
28851     {
28852 					Constraint *n = makeNode(Constraint);
28853 					n->contype = CONSTR_NOTNULL;
28854 					n->location = (yylsp[-1]);
28855 					(yyval.node) = (Node *)n;
28856 				}
28857 #line 28858 "gram.c" /* yacc.c:1652  */
28858     break;
28859 
28860   case 481:
28861 #line 3497 "gram.y" /* yacc.c:1652  */
28862     {
28863 					Constraint *n = makeNode(Constraint);
28864 					n->contype = CONSTR_NULL;
28865 					n->location = (yylsp[0]);
28866 					(yyval.node) = (Node *)n;
28867 				}
28868 #line 28869 "gram.c" /* yacc.c:1652  */
28869     break;
28870 
28871   case 482:
28872 #line 3504 "gram.y" /* yacc.c:1652  */
28873     {
28874 					Constraint *n = makeNode(Constraint);
28875 					n->contype = CONSTR_UNIQUE;
28876 					n->location = (yylsp[-2]);
28877 					n->keys = NULL;
28878 					n->options = (yyvsp[-1].list);
28879 					n->indexname = NULL;
28880 					n->indexspace = (yyvsp[0].str);
28881 					(yyval.node) = (Node *)n;
28882 				}
28883 #line 28884 "gram.c" /* yacc.c:1652  */
28884     break;
28885 
28886   case 483:
28887 #line 3515 "gram.y" /* yacc.c:1652  */
28888     {
28889 					Constraint *n = makeNode(Constraint);
28890 					n->contype = CONSTR_PRIMARY;
28891 					n->location = (yylsp[-3]);
28892 					n->keys = NULL;
28893 					n->options = (yyvsp[-1].list);
28894 					n->indexname = NULL;
28895 					n->indexspace = (yyvsp[0].str);
28896 					(yyval.node) = (Node *)n;
28897 				}
28898 #line 28899 "gram.c" /* yacc.c:1652  */
28899     break;
28900 
28901   case 484:
28902 #line 3526 "gram.y" /* yacc.c:1652  */
28903     {
28904 					Constraint *n = makeNode(Constraint);
28905 					n->contype = CONSTR_CHECK;
28906 					n->location = (yylsp[-4]);
28907 					n->is_no_inherit = (yyvsp[0].boolean);
28908 					n->raw_expr = (yyvsp[-2].node);
28909 					n->cooked_expr = NULL;
28910 					n->skip_validation = false;
28911 					n->initially_valid = true;
28912 					(yyval.node) = (Node *)n;
28913 				}
28914 #line 28915 "gram.c" /* yacc.c:1652  */
28915     break;
28916 
28917   case 485:
28918 #line 3538 "gram.y" /* yacc.c:1652  */
28919     {
28920 					Constraint *n = makeNode(Constraint);
28921 					n->contype = CONSTR_DEFAULT;
28922 					n->location = (yylsp[-1]);
28923 					n->raw_expr = (yyvsp[0].node);
28924 					n->cooked_expr = NULL;
28925 					(yyval.node) = (Node *)n;
28926 				}
28927 #line 28928 "gram.c" /* yacc.c:1652  */
28928     break;
28929 
28930   case 486:
28931 #line 3547 "gram.y" /* yacc.c:1652  */
28932     {
28933 					Constraint *n = makeNode(Constraint);
28934 					n->contype = CONSTR_IDENTITY;
28935 					n->generated_when = (yyvsp[-3].ival);
28936 					n->options = (yyvsp[0].list);
28937 					n->location = (yylsp[-4]);
28938 					(yyval.node) = (Node *)n;
28939 				}
28940 #line 28941 "gram.c" /* yacc.c:1652  */
28941     break;
28942 
28943   case 487:
28944 #line 3556 "gram.y" /* yacc.c:1652  */
28945     {
28946 					Constraint *n = makeNode(Constraint);
28947 					n->contype = CONSTR_FOREIGN;
28948 					n->location = (yylsp[-4]);
28949 					n->pktable			= (yyvsp[-3].range);
28950 					n->fk_attrs			= NIL;
28951 					n->pk_attrs			= (yyvsp[-2].list);
28952 					n->fk_matchtype		= (yyvsp[-1].ival);
28953 					n->fk_upd_action	= (char) ((yyvsp[0].ival) >> 8);
28954 					n->fk_del_action	= (char) ((yyvsp[0].ival) & 0xFF);
28955 					n->skip_validation  = false;
28956 					n->initially_valid  = true;
28957 					(yyval.node) = (Node *)n;
28958 				}
28959 #line 28960 "gram.c" /* yacc.c:1652  */
28960     break;
28961 
28962   case 488:
28963 #line 3573 "gram.y" /* yacc.c:1652  */
28964     { (yyval.ival) = ATTRIBUTE_IDENTITY_ALWAYS; }
28965 #line 28966 "gram.c" /* yacc.c:1652  */
28966     break;
28967 
28968   case 489:
28969 #line 3574 "gram.y" /* yacc.c:1652  */
28970     { (yyval.ival) = ATTRIBUTE_IDENTITY_BY_DEFAULT; }
28971 #line 28972 "gram.c" /* yacc.c:1652  */
28972     break;
28973 
28974   case 490:
28975 #line 3594 "gram.y" /* yacc.c:1652  */
28976     {
28977 					Constraint *n = makeNode(Constraint);
28978 					n->contype = CONSTR_ATTR_DEFERRABLE;
28979 					n->location = (yylsp[0]);
28980 					(yyval.node) = (Node *)n;
28981 				}
28982 #line 28983 "gram.c" /* yacc.c:1652  */
28983     break;
28984 
28985   case 491:
28986 #line 3601 "gram.y" /* yacc.c:1652  */
28987     {
28988 					Constraint *n = makeNode(Constraint);
28989 					n->contype = CONSTR_ATTR_NOT_DEFERRABLE;
28990 					n->location = (yylsp[-1]);
28991 					(yyval.node) = (Node *)n;
28992 				}
28993 #line 28994 "gram.c" /* yacc.c:1652  */
28994     break;
28995 
28996   case 492:
28997 #line 3608 "gram.y" /* yacc.c:1652  */
28998     {
28999 					Constraint *n = makeNode(Constraint);
29000 					n->contype = CONSTR_ATTR_DEFERRED;
29001 					n->location = (yylsp[-1]);
29002 					(yyval.node) = (Node *)n;
29003 				}
29004 #line 29005 "gram.c" /* yacc.c:1652  */
29005     break;
29006 
29007   case 493:
29008 #line 3615 "gram.y" /* yacc.c:1652  */
29009     {
29010 					Constraint *n = makeNode(Constraint);
29011 					n->contype = CONSTR_ATTR_IMMEDIATE;
29012 					n->location = (yylsp[-1]);
29013 					(yyval.node) = (Node *)n;
29014 				}
29015 #line 29016 "gram.c" /* yacc.c:1652  */
29016     break;
29017 
29018   case 494:
29019 #line 3626 "gram.y" /* yacc.c:1652  */
29020     {
29021 					TableLikeClause *n = makeNode(TableLikeClause);
29022 					n->relation = (yyvsp[-1].range);
29023 					n->options = (yyvsp[0].ival);
29024 					n->relationOid = InvalidOid;
29025 					(yyval.node) = (Node *)n;
29026 				}
29027 #line 29028 "gram.c" /* yacc.c:1652  */
29028     break;
29029 
29030   case 495:
29031 #line 3636 "gram.y" /* yacc.c:1652  */
29032     { (yyval.ival) = (yyvsp[-2].ival) | (yyvsp[0].ival); }
29033 #line 29034 "gram.c" /* yacc.c:1652  */
29034     break;
29035 
29036   case 496:
29037 #line 3637 "gram.y" /* yacc.c:1652  */
29038     { (yyval.ival) = (yyvsp[-2].ival) & ~(yyvsp[0].ival); }
29039 #line 29040 "gram.c" /* yacc.c:1652  */
29040     break;
29041 
29042   case 497:
29043 #line 3638 "gram.y" /* yacc.c:1652  */
29044     { (yyval.ival) = 0; }
29045 #line 29046 "gram.c" /* yacc.c:1652  */
29046     break;
29047 
29048   case 498:
29049 #line 3642 "gram.y" /* yacc.c:1652  */
29050     { (yyval.ival) = CREATE_TABLE_LIKE_COMMENTS; }
29051 #line 29052 "gram.c" /* yacc.c:1652  */
29052     break;
29053 
29054   case 499:
29055 #line 3643 "gram.y" /* yacc.c:1652  */
29056     { (yyval.ival) = CREATE_TABLE_LIKE_CONSTRAINTS; }
29057 #line 29058 "gram.c" /* yacc.c:1652  */
29058     break;
29059 
29060   case 500:
29061 #line 3644 "gram.y" /* yacc.c:1652  */
29062     { (yyval.ival) = CREATE_TABLE_LIKE_DEFAULTS; }
29063 #line 29064 "gram.c" /* yacc.c:1652  */
29064     break;
29065 
29066   case 501:
29067 #line 3645 "gram.y" /* yacc.c:1652  */
29068     { (yyval.ival) = CREATE_TABLE_LIKE_IDENTITY; }
29069 #line 29070 "gram.c" /* yacc.c:1652  */
29070     break;
29071 
29072   case 502:
29073 #line 3646 "gram.y" /* yacc.c:1652  */
29074     { (yyval.ival) = CREATE_TABLE_LIKE_INDEXES; }
29075 #line 29076 "gram.c" /* yacc.c:1652  */
29076     break;
29077 
29078   case 503:
29079 #line 3647 "gram.y" /* yacc.c:1652  */
29080     { (yyval.ival) = CREATE_TABLE_LIKE_STATISTICS; }
29081 #line 29082 "gram.c" /* yacc.c:1652  */
29082     break;
29083 
29084   case 504:
29085 #line 3648 "gram.y" /* yacc.c:1652  */
29086     { (yyval.ival) = CREATE_TABLE_LIKE_STORAGE; }
29087 #line 29088 "gram.c" /* yacc.c:1652  */
29088     break;
29089 
29090   case 505:
29091 #line 3649 "gram.y" /* yacc.c:1652  */
29092     { (yyval.ival) = CREATE_TABLE_LIKE_ALL; }
29093 #line 29094 "gram.c" /* yacc.c:1652  */
29094     break;
29095 
29096   case 506:
29097 #line 3659 "gram.y" /* yacc.c:1652  */
29098     {
29099 					Constraint *n = castNode(Constraint, (yyvsp[0].node));
29100 					n->conname = (yyvsp[-1].str);
29101 					n->location = (yylsp[-2]);
29102 					(yyval.node) = (Node *) n;
29103 				}
29104 #line 29105 "gram.c" /* yacc.c:1652  */
29105     break;
29106 
29107   case 507:
29108 #line 3665 "gram.y" /* yacc.c:1652  */
29109     { (yyval.node) = (yyvsp[0].node); }
29110 #line 29111 "gram.c" /* yacc.c:1652  */
29111     break;
29112 
29113   case 508:
29114 #line 3670 "gram.y" /* yacc.c:1652  */
29115     {
29116 					Constraint *n = makeNode(Constraint);
29117 					n->contype = CONSTR_CHECK;
29118 					n->location = (yylsp[-4]);
29119 					n->raw_expr = (yyvsp[-2].node);
29120 					n->cooked_expr = NULL;
29121 					processCASbits((yyvsp[0].ival), (yylsp[0]), "CHECK",
29122 								   NULL, NULL, &n->skip_validation,
29123 								   &n->is_no_inherit, yyscanner);
29124 					n->initially_valid = !n->skip_validation;
29125 					(yyval.node) = (Node *)n;
29126 				}
29127 #line 29128 "gram.c" /* yacc.c:1652  */
29128     break;
29129 
29130   case 509:
29131 #line 3684 "gram.y" /* yacc.c:1652  */
29132     {
29133 					Constraint *n = makeNode(Constraint);
29134 					n->contype = CONSTR_UNIQUE;
29135 					n->location = (yylsp[-7]);
29136 					n->keys = (yyvsp[-5].list);
29137 					n->including = (yyvsp[-3].list);
29138 					n->options = (yyvsp[-2].list);
29139 					n->indexname = NULL;
29140 					n->indexspace = (yyvsp[-1].str);
29141 					processCASbits((yyvsp[0].ival), (yylsp[0]), "UNIQUE",
29142 								   &n->deferrable, &n->initdeferred, NULL,
29143 								   NULL, yyscanner);
29144 					(yyval.node) = (Node *)n;
29145 				}
29146 #line 29147 "gram.c" /* yacc.c:1652  */
29147     break;
29148 
29149   case 510:
29150 #line 3699 "gram.y" /* yacc.c:1652  */
29151     {
29152 					Constraint *n = makeNode(Constraint);
29153 					n->contype = CONSTR_UNIQUE;
29154 					n->location = (yylsp[-2]);
29155 					n->keys = NIL;
29156 					n->including = NIL;
29157 					n->options = NIL;
29158 					n->indexname = (yyvsp[-1].str);
29159 					n->indexspace = NULL;
29160 					processCASbits((yyvsp[0].ival), (yylsp[0]), "UNIQUE",
29161 								   &n->deferrable, &n->initdeferred, NULL,
29162 								   NULL, yyscanner);
29163 					(yyval.node) = (Node *)n;
29164 				}
29165 #line 29166 "gram.c" /* yacc.c:1652  */
29166     break;
29167 
29168   case 511:
29169 #line 3715 "gram.y" /* yacc.c:1652  */
29170     {
29171 					Constraint *n = makeNode(Constraint);
29172 					n->contype = CONSTR_PRIMARY;
29173 					n->location = (yylsp[-8]);
29174 					n->keys = (yyvsp[-5].list);
29175 					n->including = (yyvsp[-3].list);
29176 					n->options = (yyvsp[-2].list);
29177 					n->indexname = NULL;
29178 					n->indexspace = (yyvsp[-1].str);
29179 					processCASbits((yyvsp[0].ival), (yylsp[0]), "PRIMARY KEY",
29180 								   &n->deferrable, &n->initdeferred, NULL,
29181 								   NULL, yyscanner);
29182 					(yyval.node) = (Node *)n;
29183 				}
29184 #line 29185 "gram.c" /* yacc.c:1652  */
29185     break;
29186 
29187   case 512:
29188 #line 3730 "gram.y" /* yacc.c:1652  */
29189     {
29190 					Constraint *n = makeNode(Constraint);
29191 					n->contype = CONSTR_PRIMARY;
29192 					n->location = (yylsp[-3]);
29193 					n->keys = NIL;
29194 					n->including = NIL;
29195 					n->options = NIL;
29196 					n->indexname = (yyvsp[-1].str);
29197 					n->indexspace = NULL;
29198 					processCASbits((yyvsp[0].ival), (yylsp[0]), "PRIMARY KEY",
29199 								   &n->deferrable, &n->initdeferred, NULL,
29200 								   NULL, yyscanner);
29201 					(yyval.node) = (Node *)n;
29202 				}
29203 #line 29204 "gram.c" /* yacc.c:1652  */
29204     break;
29205 
29206   case 513:
29207 #line 3747 "gram.y" /* yacc.c:1652  */
29208     {
29209 					Constraint *n = makeNode(Constraint);
29210 					n->contype = CONSTR_EXCLUSION;
29211 					n->location = (yylsp[-9]);
29212 					n->access_method	= (yyvsp[-8].str);
29213 					n->exclusions		= (yyvsp[-6].list);
29214 					n->including		= (yyvsp[-4].list);
29215 					n->options			= (yyvsp[-3].list);
29216 					n->indexname		= NULL;
29217 					n->indexspace		= (yyvsp[-2].str);
29218 					n->where_clause		= (yyvsp[-1].node);
29219 					processCASbits((yyvsp[0].ival), (yylsp[0]), "EXCLUDE",
29220 								   &n->deferrable, &n->initdeferred, NULL,
29221 								   NULL, yyscanner);
29222 					(yyval.node) = (Node *)n;
29223 				}
29224 #line 29225 "gram.c" /* yacc.c:1652  */
29225     break;
29226 
29227   case 514:
29228 #line 3765 "gram.y" /* yacc.c:1652  */
29229     {
29230 					Constraint *n = makeNode(Constraint);
29231 					n->contype = CONSTR_FOREIGN;
29232 					n->location = (yylsp[-10]);
29233 					n->pktable			= (yyvsp[-4].range);
29234 					n->fk_attrs			= (yyvsp[-7].list);
29235 					n->pk_attrs			= (yyvsp[-3].list);
29236 					n->fk_matchtype		= (yyvsp[-2].ival);
29237 					n->fk_upd_action	= (char) ((yyvsp[-1].ival) >> 8);
29238 					n->fk_del_action	= (char) ((yyvsp[-1].ival) & 0xFF);
29239 					processCASbits((yyvsp[0].ival), (yylsp[0]), "FOREIGN KEY",
29240 								   &n->deferrable, &n->initdeferred,
29241 								   &n->skip_validation, NULL,
29242 								   yyscanner);
29243 					n->initially_valid = !n->skip_validation;
29244 					(yyval.node) = (Node *)n;
29245 				}
29246 #line 29247 "gram.c" /* yacc.c:1652  */
29247     break;
29248 
29249   case 515:
29250 #line 3784 "gram.y" /* yacc.c:1652  */
29251     {  (yyval.boolean) = true; }
29252 #line 29253 "gram.c" /* yacc.c:1652  */
29253     break;
29254 
29255   case 516:
29256 #line 3785 "gram.y" /* yacc.c:1652  */
29257     {  (yyval.boolean) = false; }
29258 #line 29259 "gram.c" /* yacc.c:1652  */
29259     break;
29260 
29261   case 517:
29262 #line 3789 "gram.y" /* yacc.c:1652  */
29263     { (yyval.list) = (yyvsp[-1].list); }
29264 #line 29265 "gram.c" /* yacc.c:1652  */
29265     break;
29266 
29267   case 518:
29268 #line 3790 "gram.y" /* yacc.c:1652  */
29269     { (yyval.list) = NIL; }
29270 #line 29271 "gram.c" /* yacc.c:1652  */
29271     break;
29272 
29273   case 519:
29274 #line 3794 "gram.y" /* yacc.c:1652  */
29275     { (yyval.list) = list_make1((yyvsp[0].node)); }
29276 #line 29277 "gram.c" /* yacc.c:1652  */
29277     break;
29278 
29279   case 520:
29280 #line 3795 "gram.y" /* yacc.c:1652  */
29281     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
29282 #line 29283 "gram.c" /* yacc.c:1652  */
29283     break;
29284 
29285   case 521:
29286 #line 3799 "gram.y" /* yacc.c:1652  */
29287     {
29288 					(yyval.node) = (Node *) makeString((yyvsp[0].str));
29289 				}
29290 #line 29291 "gram.c" /* yacc.c:1652  */
29291     break;
29292 
29293   case 522:
29294 #line 3804 "gram.y" /* yacc.c:1652  */
29295     { (yyval.list) = (yyvsp[-1].list); }
29296 #line 29297 "gram.c" /* yacc.c:1652  */
29297     break;
29298 
29299   case 523:
29300 #line 3805 "gram.y" /* yacc.c:1652  */
29301     { (yyval.list) = NIL; }
29302 #line 29303 "gram.c" /* yacc.c:1652  */
29303     break;
29304 
29305   case 524:
29306 #line 3809 "gram.y" /* yacc.c:1652  */
29307     {
29308 				(yyval.ival) = FKCONSTR_MATCH_FULL;
29309 			}
29310 #line 29311 "gram.c" /* yacc.c:1652  */
29311     break;
29312 
29313   case 525:
29314 #line 3813 "gram.y" /* yacc.c:1652  */
29315     {
29316 				ereport(ERROR,
29317 						(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
29318 						 errmsg("MATCH PARTIAL not yet implemented"),
29319 						 parser_errposition((yylsp[-1]))));
29320 				(yyval.ival) = FKCONSTR_MATCH_PARTIAL;
29321 			}
29322 #line 29323 "gram.c" /* yacc.c:1652  */
29323     break;
29324 
29325   case 526:
29326 #line 3821 "gram.y" /* yacc.c:1652  */
29327     {
29328 				(yyval.ival) = FKCONSTR_MATCH_SIMPLE;
29329 			}
29330 #line 29331 "gram.c" /* yacc.c:1652  */
29331     break;
29332 
29333   case 527:
29334 #line 3825 "gram.y" /* yacc.c:1652  */
29335     {
29336 				(yyval.ival) = FKCONSTR_MATCH_SIMPLE;
29337 			}
29338 #line 29339 "gram.c" /* yacc.c:1652  */
29339     break;
29340 
29341   case 528:
29342 #line 3831 "gram.y" /* yacc.c:1652  */
29343     { (yyval.list) = list_make1((yyvsp[0].list)); }
29344 #line 29345 "gram.c" /* yacc.c:1652  */
29345     break;
29346 
29347   case 529:
29348 #line 3833 "gram.y" /* yacc.c:1652  */
29349     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].list)); }
29350 #line 29351 "gram.c" /* yacc.c:1652  */
29351     break;
29352 
29353   case 530:
29354 #line 3837 "gram.y" /* yacc.c:1652  */
29355     {
29356 				(yyval.list) = list_make2((yyvsp[-2].ielem), (yyvsp[0].list));
29357 			}
29358 #line 29359 "gram.c" /* yacc.c:1652  */
29359     break;
29360 
29361   case 531:
29362 #line 3842 "gram.y" /* yacc.c:1652  */
29363     {
29364 				(yyval.list) = list_make2((yyvsp[-5].ielem), (yyvsp[-1].list));
29365 			}
29366 #line 29367 "gram.c" /* yacc.c:1652  */
29367     break;
29368 
29369   case 532:
29370 #line 3848 "gram.y" /* yacc.c:1652  */
29371     { (yyval.node) = (yyvsp[-1].node); }
29372 #line 29373 "gram.c" /* yacc.c:1652  */
29373     break;
29374 
29375   case 533:
29376 #line 3849 "gram.y" /* yacc.c:1652  */
29377     { (yyval.node) = NULL; }
29378 #line 29379 "gram.c" /* yacc.c:1652  */
29379     break;
29380 
29381   case 534:
29382 #line 3860 "gram.y" /* yacc.c:1652  */
29383     { (yyval.ival) = ((yyvsp[0].ival) << 8) | (FKCONSTR_ACTION_NOACTION & 0xFF); }
29384 #line 29385 "gram.c" /* yacc.c:1652  */
29385     break;
29386 
29387   case 535:
29388 #line 3862 "gram.y" /* yacc.c:1652  */
29389     { (yyval.ival) = (FKCONSTR_ACTION_NOACTION << 8) | ((yyvsp[0].ival) & 0xFF); }
29390 #line 29391 "gram.c" /* yacc.c:1652  */
29391     break;
29392 
29393   case 536:
29394 #line 3864 "gram.y" /* yacc.c:1652  */
29395     { (yyval.ival) = ((yyvsp[-1].ival) << 8) | ((yyvsp[0].ival) & 0xFF); }
29396 #line 29397 "gram.c" /* yacc.c:1652  */
29397     break;
29398 
29399   case 537:
29400 #line 3866 "gram.y" /* yacc.c:1652  */
29401     { (yyval.ival) = ((yyvsp[0].ival) << 8) | ((yyvsp[-1].ival) & 0xFF); }
29402 #line 29403 "gram.c" /* yacc.c:1652  */
29403     break;
29404 
29405   case 538:
29406 #line 3868 "gram.y" /* yacc.c:1652  */
29407     { (yyval.ival) = (FKCONSTR_ACTION_NOACTION << 8) | (FKCONSTR_ACTION_NOACTION & 0xFF); }
29408 #line 29409 "gram.c" /* yacc.c:1652  */
29409     break;
29410 
29411   case 539:
29412 #line 3871 "gram.y" /* yacc.c:1652  */
29413     { (yyval.ival) = (yyvsp[0].ival); }
29414 #line 29415 "gram.c" /* yacc.c:1652  */
29415     break;
29416 
29417   case 540:
29418 #line 3874 "gram.y" /* yacc.c:1652  */
29419     { (yyval.ival) = (yyvsp[0].ival); }
29420 #line 29421 "gram.c" /* yacc.c:1652  */
29421     break;
29422 
29423   case 541:
29424 #line 3878 "gram.y" /* yacc.c:1652  */
29425     { (yyval.ival) = FKCONSTR_ACTION_NOACTION; }
29426 #line 29427 "gram.c" /* yacc.c:1652  */
29427     break;
29428 
29429   case 542:
29430 #line 3879 "gram.y" /* yacc.c:1652  */
29431     { (yyval.ival) = FKCONSTR_ACTION_RESTRICT; }
29432 #line 29433 "gram.c" /* yacc.c:1652  */
29433     break;
29434 
29435   case 543:
29436 #line 3880 "gram.y" /* yacc.c:1652  */
29437     { (yyval.ival) = FKCONSTR_ACTION_CASCADE; }
29438 #line 29439 "gram.c" /* yacc.c:1652  */
29439     break;
29440 
29441   case 544:
29442 #line 3881 "gram.y" /* yacc.c:1652  */
29443     { (yyval.ival) = FKCONSTR_ACTION_SETNULL; }
29444 #line 29445 "gram.c" /* yacc.c:1652  */
29445     break;
29446 
29447   case 545:
29448 #line 3882 "gram.y" /* yacc.c:1652  */
29449     { (yyval.ival) = FKCONSTR_ACTION_SETDEFAULT; }
29450 #line 29451 "gram.c" /* yacc.c:1652  */
29451     break;
29452 
29453   case 546:
29454 #line 3885 "gram.y" /* yacc.c:1652  */
29455     { (yyval.list) = (yyvsp[-1].list); }
29456 #line 29457 "gram.c" /* yacc.c:1652  */
29457     break;
29458 
29459   case 547:
29460 #line 3886 "gram.y" /* yacc.c:1652  */
29461     { (yyval.list) = NIL; }
29462 #line 29463 "gram.c" /* yacc.c:1652  */
29463     break;
29464 
29465   case 548:
29466 #line 3890 "gram.y" /* yacc.c:1652  */
29467     { (yyval.partspec) = (yyvsp[0].partspec); }
29468 #line 29469 "gram.c" /* yacc.c:1652  */
29469     break;
29470 
29471   case 549:
29472 #line 3891 "gram.y" /* yacc.c:1652  */
29473     { (yyval.partspec) = NULL; }
29474 #line 29475 "gram.c" /* yacc.c:1652  */
29475     break;
29476 
29477   case 550:
29478 #line 3895 "gram.y" /* yacc.c:1652  */
29479     {
29480 					PartitionSpec *n = makeNode(PartitionSpec);
29481 
29482 					n->strategy = (yyvsp[-3].str);
29483 					n->partParams = (yyvsp[-1].list);
29484 					n->location = (yylsp[-5]);
29485 
29486 					(yyval.partspec) = n;
29487 				}
29488 #line 29489 "gram.c" /* yacc.c:1652  */
29489     break;
29490 
29491   case 551:
29492 #line 3906 "gram.y" /* yacc.c:1652  */
29493     { (yyval.str) = (yyvsp[0].str); }
29494 #line 29495 "gram.c" /* yacc.c:1652  */
29495     break;
29496 
29497   case 552:
29498 #line 3907 "gram.y" /* yacc.c:1652  */
29499     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
29500 #line 29501 "gram.c" /* yacc.c:1652  */
29501     break;
29502 
29503   case 553:
29504 #line 3910 "gram.y" /* yacc.c:1652  */
29505     { (yyval.list) = list_make1((yyvsp[0].partelem)); }
29506 #line 29507 "gram.c" /* yacc.c:1652  */
29507     break;
29508 
29509   case 554:
29510 #line 3911 "gram.y" /* yacc.c:1652  */
29511     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].partelem)); }
29512 #line 29513 "gram.c" /* yacc.c:1652  */
29513     break;
29514 
29515   case 555:
29516 #line 3915 "gram.y" /* yacc.c:1652  */
29517     {
29518 					PartitionElem *n = makeNode(PartitionElem);
29519 
29520 					n->name = (yyvsp[-2].str);
29521 					n->expr = NULL;
29522 					n->collation = (yyvsp[-1].list);
29523 					n->opclass = (yyvsp[0].list);
29524 					n->location = (yylsp[-2]);
29525 					(yyval.partelem) = n;
29526 				}
29527 #line 29528 "gram.c" /* yacc.c:1652  */
29528     break;
29529 
29530   case 556:
29531 #line 3926 "gram.y" /* yacc.c:1652  */
29532     {
29533 					PartitionElem *n = makeNode(PartitionElem);
29534 
29535 					n->name = NULL;
29536 					n->expr = (yyvsp[-2].node);
29537 					n->collation = (yyvsp[-1].list);
29538 					n->opclass = (yyvsp[0].list);
29539 					n->location = (yylsp[-2]);
29540 					(yyval.partelem) = n;
29541 				}
29542 #line 29543 "gram.c" /* yacc.c:1652  */
29543     break;
29544 
29545   case 557:
29546 #line 3937 "gram.y" /* yacc.c:1652  */
29547     {
29548 					PartitionElem *n = makeNode(PartitionElem);
29549 
29550 					n->name = NULL;
29551 					n->expr = (yyvsp[-3].node);
29552 					n->collation = (yyvsp[-1].list);
29553 					n->opclass = (yyvsp[0].list);
29554 					n->location = (yylsp[-4]);
29555 					(yyval.partelem) = n;
29556 				}
29557 #line 29558 "gram.c" /* yacc.c:1652  */
29558     break;
29559 
29560   case 558:
29561 #line 3950 "gram.y" /* yacc.c:1652  */
29562     { (yyval.list) = (yyvsp[0].list); }
29563 #line 29564 "gram.c" /* yacc.c:1652  */
29564     break;
29565 
29566   case 559:
29567 #line 3951 "gram.y" /* yacc.c:1652  */
29568     { (yyval.list) = list_make1(makeDefElem("oids", (Node *) makeInteger(true), (yylsp[-1]))); }
29569 #line 29570 "gram.c" /* yacc.c:1652  */
29570     break;
29571 
29572   case 560:
29573 #line 3952 "gram.y" /* yacc.c:1652  */
29574     { (yyval.list) = list_make1(makeDefElem("oids", (Node *) makeInteger(false), (yylsp[-1]))); }
29575 #line 29576 "gram.c" /* yacc.c:1652  */
29576     break;
29577 
29578   case 561:
29579 #line 3953 "gram.y" /* yacc.c:1652  */
29580     { (yyval.list) = NIL; }
29581 #line 29582 "gram.c" /* yacc.c:1652  */
29582     break;
29583 
29584   case 562:
29585 #line 3956 "gram.y" /* yacc.c:1652  */
29586     { (yyval.oncommit) = ONCOMMIT_DROP; }
29587 #line 29588 "gram.c" /* yacc.c:1652  */
29588     break;
29589 
29590   case 563:
29591 #line 3957 "gram.y" /* yacc.c:1652  */
29592     { (yyval.oncommit) = ONCOMMIT_DELETE_ROWS; }
29593 #line 29594 "gram.c" /* yacc.c:1652  */
29594     break;
29595 
29596   case 564:
29597 #line 3958 "gram.y" /* yacc.c:1652  */
29598     { (yyval.oncommit) = ONCOMMIT_PRESERVE_ROWS; }
29599 #line 29600 "gram.c" /* yacc.c:1652  */
29600     break;
29601 
29602   case 565:
29603 #line 3959 "gram.y" /* yacc.c:1652  */
29604     { (yyval.oncommit) = ONCOMMIT_NOOP; }
29605 #line 29606 "gram.c" /* yacc.c:1652  */
29606     break;
29607 
29608   case 566:
29609 #line 3962 "gram.y" /* yacc.c:1652  */
29610     { (yyval.str) = (yyvsp[0].str); }
29611 #line 29612 "gram.c" /* yacc.c:1652  */
29612     break;
29613 
29614   case 567:
29615 #line 3963 "gram.y" /* yacc.c:1652  */
29616     { (yyval.str) = NULL; }
29617 #line 29618 "gram.c" /* yacc.c:1652  */
29618     break;
29619 
29620   case 568:
29621 #line 3966 "gram.y" /* yacc.c:1652  */
29622     { (yyval.str) = (yyvsp[0].str); }
29623 #line 29624 "gram.c" /* yacc.c:1652  */
29624     break;
29625 
29626   case 569:
29627 #line 3967 "gram.y" /* yacc.c:1652  */
29628     { (yyval.str) = NULL; }
29629 #line 29630 "gram.c" /* yacc.c:1652  */
29630     break;
29631 
29632   case 570:
29633 #line 3970 "gram.y" /* yacc.c:1652  */
29634     { (yyval.str) = (yyvsp[0].str); }
29635 #line 29636 "gram.c" /* yacc.c:1652  */
29636     break;
29637 
29638   case 571:
29639 #line 3990 "gram.y" /* yacc.c:1652  */
29640     {
29641 					CreateStatsStmt *n = makeNode(CreateStatsStmt);
29642 					n->defnames = (yyvsp[-5].list);
29643 					n->stat_types = (yyvsp[-4].list);
29644 					n->exprs = (yyvsp[-2].list);
29645 					n->relations = (yyvsp[0].list);
29646 					n->stxcomment = NULL;
29647 					n->if_not_exists = false;
29648 					(yyval.node) = (Node *)n;
29649 				}
29650 #line 29651 "gram.c" /* yacc.c:1652  */
29651     break;
29652 
29653   case 572:
29654 #line 4002 "gram.y" /* yacc.c:1652  */
29655     {
29656 					CreateStatsStmt *n = makeNode(CreateStatsStmt);
29657 					n->defnames = (yyvsp[-5].list);
29658 					n->stat_types = (yyvsp[-4].list);
29659 					n->exprs = (yyvsp[-2].list);
29660 					n->relations = (yyvsp[0].list);
29661 					n->stxcomment = NULL;
29662 					n->if_not_exists = true;
29663 					(yyval.node) = (Node *)n;
29664 				}
29665 #line 29666 "gram.c" /* yacc.c:1652  */
29666     break;
29667 
29668   case 573:
29669 #line 4026 "gram.y" /* yacc.c:1652  */
29670     {
29671 					CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
29672 					ctas->query = (yyvsp[-1].node);
29673 					ctas->into = (yyvsp[-3].into);
29674 					ctas->relkind = OBJECT_TABLE;
29675 					ctas->is_select_into = false;
29676 					ctas->if_not_exists = false;
29677 					/* cram additional flags into the IntoClause */
29678 					(yyvsp[-3].into)->rel->relpersistence = (yyvsp[-5].ival);
29679 					(yyvsp[-3].into)->skipData = !((yyvsp[0].boolean));
29680 					(yyval.node) = (Node *) ctas;
29681 				}
29682 #line 29683 "gram.c" /* yacc.c:1652  */
29683     break;
29684 
29685   case 574:
29686 #line 4039 "gram.y" /* yacc.c:1652  */
29687     {
29688 					CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
29689 					ctas->query = (yyvsp[-1].node);
29690 					ctas->into = (yyvsp[-3].into);
29691 					ctas->relkind = OBJECT_TABLE;
29692 					ctas->is_select_into = false;
29693 					ctas->if_not_exists = true;
29694 					/* cram additional flags into the IntoClause */
29695 					(yyvsp[-3].into)->rel->relpersistence = (yyvsp[-8].ival);
29696 					(yyvsp[-3].into)->skipData = !((yyvsp[0].boolean));
29697 					(yyval.node) = (Node *) ctas;
29698 				}
29699 #line 29700 "gram.c" /* yacc.c:1652  */
29700     break;
29701 
29702   case 575:
29703 #line 4055 "gram.y" /* yacc.c:1652  */
29704     {
29705 					(yyval.into) = makeNode(IntoClause);
29706 					(yyval.into)->rel = (yyvsp[-4].range);
29707 					(yyval.into)->colNames = (yyvsp[-3].list);
29708 					(yyval.into)->options = (yyvsp[-2].list);
29709 					(yyval.into)->onCommit = (yyvsp[-1].oncommit);
29710 					(yyval.into)->tableSpaceName = (yyvsp[0].str);
29711 					(yyval.into)->viewQuery = NULL;
29712 					(yyval.into)->skipData = false;		/* might get changed later */
29713 				}
29714 #line 29715 "gram.c" /* yacc.c:1652  */
29715     break;
29716 
29717   case 576:
29718 #line 4068 "gram.y" /* yacc.c:1652  */
29719     { (yyval.boolean) = true; }
29720 #line 29721 "gram.c" /* yacc.c:1652  */
29721     break;
29722 
29723   case 577:
29724 #line 4069 "gram.y" /* yacc.c:1652  */
29725     { (yyval.boolean) = false; }
29726 #line 29727 "gram.c" /* yacc.c:1652  */
29727     break;
29728 
29729   case 578:
29730 #line 4070 "gram.y" /* yacc.c:1652  */
29731     { (yyval.boolean) = true; }
29732 #line 29733 "gram.c" /* yacc.c:1652  */
29733     break;
29734 
29735   case 579:
29736 #line 4083 "gram.y" /* yacc.c:1652  */
29737     {
29738 					CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
29739 					ctas->query = (yyvsp[-1].node);
29740 					ctas->into = (yyvsp[-3].into);
29741 					ctas->relkind = OBJECT_MATVIEW;
29742 					ctas->is_select_into = false;
29743 					ctas->if_not_exists = false;
29744 					/* cram additional flags into the IntoClause */
29745 					(yyvsp[-3].into)->rel->relpersistence = (yyvsp[-6].ival);
29746 					(yyvsp[-3].into)->skipData = !((yyvsp[0].boolean));
29747 					(yyval.node) = (Node *) ctas;
29748 				}
29749 #line 29750 "gram.c" /* yacc.c:1652  */
29750     break;
29751 
29752   case 580:
29753 #line 4096 "gram.y" /* yacc.c:1652  */
29754     {
29755 					CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
29756 					ctas->query = (yyvsp[-1].node);
29757 					ctas->into = (yyvsp[-3].into);
29758 					ctas->relkind = OBJECT_MATVIEW;
29759 					ctas->is_select_into = false;
29760 					ctas->if_not_exists = true;
29761 					/* cram additional flags into the IntoClause */
29762 					(yyvsp[-3].into)->rel->relpersistence = (yyvsp[-9].ival);
29763 					(yyvsp[-3].into)->skipData = !((yyvsp[0].boolean));
29764 					(yyval.node) = (Node *) ctas;
29765 				}
29766 #line 29767 "gram.c" /* yacc.c:1652  */
29767     break;
29768 
29769   case 581:
29770 #line 4112 "gram.y" /* yacc.c:1652  */
29771     {
29772 					(yyval.into) = makeNode(IntoClause);
29773 					(yyval.into)->rel = (yyvsp[-3].range);
29774 					(yyval.into)->colNames = (yyvsp[-2].list);
29775 					(yyval.into)->options = (yyvsp[-1].list);
29776 					(yyval.into)->onCommit = ONCOMMIT_NOOP;
29777 					(yyval.into)->tableSpaceName = (yyvsp[0].str);
29778 					(yyval.into)->viewQuery = NULL;		/* filled at analysis time */
29779 					(yyval.into)->skipData = false;		/* might get changed later */
29780 				}
29781 #line 29782 "gram.c" /* yacc.c:1652  */
29782     break;
29783 
29784   case 582:
29785 #line 4124 "gram.y" /* yacc.c:1652  */
29786     { (yyval.ival) = RELPERSISTENCE_UNLOGGED; }
29787 #line 29788 "gram.c" /* yacc.c:1652  */
29788     break;
29789 
29790   case 583:
29791 #line 4125 "gram.y" /* yacc.c:1652  */
29792     { (yyval.ival) = RELPERSISTENCE_PERMANENT; }
29793 #line 29794 "gram.c" /* yacc.c:1652  */
29794     break;
29795 
29796   case 584:
29797 #line 4138 "gram.y" /* yacc.c:1652  */
29798     {
29799 					RefreshMatViewStmt *n = makeNode(RefreshMatViewStmt);
29800 					n->concurrent = (yyvsp[-2].boolean);
29801 					n->relation = (yyvsp[-1].range);
29802 					n->skipData = !((yyvsp[0].boolean));
29803 					(yyval.node) = (Node *) n;
29804 				}
29805 #line 29806 "gram.c" /* yacc.c:1652  */
29806     break;
29807 
29808   case 585:
29809 #line 4158 "gram.y" /* yacc.c:1652  */
29810     {
29811 					CreateSeqStmt *n = makeNode(CreateSeqStmt);
29812 					(yyvsp[-1].range)->relpersistence = (yyvsp[-3].ival);
29813 					n->sequence = (yyvsp[-1].range);
29814 					n->options = (yyvsp[0].list);
29815 					n->ownerId = InvalidOid;
29816 					n->if_not_exists = false;
29817 					(yyval.node) = (Node *)n;
29818 				}
29819 #line 29820 "gram.c" /* yacc.c:1652  */
29820     break;
29821 
29822   case 586:
29823 #line 4168 "gram.y" /* yacc.c:1652  */
29824     {
29825 					CreateSeqStmt *n = makeNode(CreateSeqStmt);
29826 					(yyvsp[-1].range)->relpersistence = (yyvsp[-6].ival);
29827 					n->sequence = (yyvsp[-1].range);
29828 					n->options = (yyvsp[0].list);
29829 					n->ownerId = InvalidOid;
29830 					n->if_not_exists = true;
29831 					(yyval.node) = (Node *)n;
29832 				}
29833 #line 29834 "gram.c" /* yacc.c:1652  */
29834     break;
29835 
29836   case 587:
29837 #line 4181 "gram.y" /* yacc.c:1652  */
29838     {
29839 					AlterSeqStmt *n = makeNode(AlterSeqStmt);
29840 					n->sequence = (yyvsp[-1].range);
29841 					n->options = (yyvsp[0].list);
29842 					n->missing_ok = false;
29843 					(yyval.node) = (Node *)n;
29844 				}
29845 #line 29846 "gram.c" /* yacc.c:1652  */
29846     break;
29847 
29848   case 588:
29849 #line 4189 "gram.y" /* yacc.c:1652  */
29850     {
29851 					AlterSeqStmt *n = makeNode(AlterSeqStmt);
29852 					n->sequence = (yyvsp[-1].range);
29853 					n->options = (yyvsp[0].list);
29854 					n->missing_ok = true;
29855 					(yyval.node) = (Node *)n;
29856 				}
29857 #line 29858 "gram.c" /* yacc.c:1652  */
29858     break;
29859 
29860   case 589:
29861 #line 4199 "gram.y" /* yacc.c:1652  */
29862     { (yyval.list) = (yyvsp[0].list); }
29863 #line 29864 "gram.c" /* yacc.c:1652  */
29864     break;
29865 
29866   case 590:
29867 #line 4200 "gram.y" /* yacc.c:1652  */
29868     { (yyval.list) = NIL; }
29869 #line 29870 "gram.c" /* yacc.c:1652  */
29870     break;
29871 
29872   case 591:
29873 #line 4203 "gram.y" /* yacc.c:1652  */
29874     { (yyval.list) = (yyvsp[-1].list); }
29875 #line 29876 "gram.c" /* yacc.c:1652  */
29876     break;
29877 
29878   case 592:
29879 #line 4204 "gram.y" /* yacc.c:1652  */
29880     { (yyval.list) = NIL; }
29881 #line 29882 "gram.c" /* yacc.c:1652  */
29882     break;
29883 
29884   case 593:
29885 #line 4207 "gram.y" /* yacc.c:1652  */
29886     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
29887 #line 29888 "gram.c" /* yacc.c:1652  */
29888     break;
29889 
29890   case 594:
29891 #line 4208 "gram.y" /* yacc.c:1652  */
29892     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
29893 #line 29894 "gram.c" /* yacc.c:1652  */
29894     break;
29895 
29896   case 595:
29897 #line 4212 "gram.y" /* yacc.c:1652  */
29898     {
29899 					(yyval.defelt) = makeDefElem("as", (Node *)(yyvsp[0].typnam), (yylsp[-1]));
29900 				}
29901 #line 29902 "gram.c" /* yacc.c:1652  */
29902     break;
29903 
29904   case 596:
29905 #line 4216 "gram.y" /* yacc.c:1652  */
29906     {
29907 					(yyval.defelt) = makeDefElem("cache", (Node *)(yyvsp[0].value), (yylsp[-1]));
29908 				}
29909 #line 29910 "gram.c" /* yacc.c:1652  */
29910     break;
29911 
29912   case 597:
29913 #line 4220 "gram.y" /* yacc.c:1652  */
29914     {
29915 					(yyval.defelt) = makeDefElem("cycle", (Node *)makeInteger(true), (yylsp[0]));
29916 				}
29917 #line 29918 "gram.c" /* yacc.c:1652  */
29918     break;
29919 
29920   case 598:
29921 #line 4224 "gram.y" /* yacc.c:1652  */
29922     {
29923 					(yyval.defelt) = makeDefElem("cycle", (Node *)makeInteger(false), (yylsp[-1]));
29924 				}
29925 #line 29926 "gram.c" /* yacc.c:1652  */
29926     break;
29927 
29928   case 599:
29929 #line 4228 "gram.y" /* yacc.c:1652  */
29930     {
29931 					(yyval.defelt) = makeDefElem("increment", (Node *)(yyvsp[0].value), (yylsp[-2]));
29932 				}
29933 #line 29934 "gram.c" /* yacc.c:1652  */
29934     break;
29935 
29936   case 600:
29937 #line 4232 "gram.y" /* yacc.c:1652  */
29938     {
29939 					(yyval.defelt) = makeDefElem("maxvalue", (Node *)(yyvsp[0].value), (yylsp[-1]));
29940 				}
29941 #line 29942 "gram.c" /* yacc.c:1652  */
29942     break;
29943 
29944   case 601:
29945 #line 4236 "gram.y" /* yacc.c:1652  */
29946     {
29947 					(yyval.defelt) = makeDefElem("minvalue", (Node *)(yyvsp[0].value), (yylsp[-1]));
29948 				}
29949 #line 29950 "gram.c" /* yacc.c:1652  */
29950     break;
29951 
29952   case 602:
29953 #line 4240 "gram.y" /* yacc.c:1652  */
29954     {
29955 					(yyval.defelt) = makeDefElem("maxvalue", NULL, (yylsp[-1]));
29956 				}
29957 #line 29958 "gram.c" /* yacc.c:1652  */
29958     break;
29959 
29960   case 603:
29961 #line 4244 "gram.y" /* yacc.c:1652  */
29962     {
29963 					(yyval.defelt) = makeDefElem("minvalue", NULL, (yylsp[-1]));
29964 				}
29965 #line 29966 "gram.c" /* yacc.c:1652  */
29966     break;
29967 
29968   case 604:
29969 #line 4248 "gram.y" /* yacc.c:1652  */
29970     {
29971 					(yyval.defelt) = makeDefElem("owned_by", (Node *)(yyvsp[0].list), (yylsp[-2]));
29972 				}
29973 #line 29974 "gram.c" /* yacc.c:1652  */
29974     break;
29975 
29976   case 605:
29977 #line 4252 "gram.y" /* yacc.c:1652  */
29978     {
29979 					/* not documented, only used by pg_dump */
29980 					(yyval.defelt) = makeDefElem("sequence_name", (Node *)(yyvsp[0].list), (yylsp[-2]));
29981 				}
29982 #line 29983 "gram.c" /* yacc.c:1652  */
29983     break;
29984 
29985   case 606:
29986 #line 4257 "gram.y" /* yacc.c:1652  */
29987     {
29988 					(yyval.defelt) = makeDefElem("start", (Node *)(yyvsp[0].value), (yylsp[-2]));
29989 				}
29990 #line 29991 "gram.c" /* yacc.c:1652  */
29991     break;
29992 
29993   case 607:
29994 #line 4261 "gram.y" /* yacc.c:1652  */
29995     {
29996 					(yyval.defelt) = makeDefElem("restart", NULL, (yylsp[0]));
29997 				}
29998 #line 29999 "gram.c" /* yacc.c:1652  */
29999     break;
30000 
30001   case 608:
30002 #line 4265 "gram.y" /* yacc.c:1652  */
30003     {
30004 					(yyval.defelt) = makeDefElem("restart", (Node *)(yyvsp[0].value), (yylsp[-2]));
30005 				}
30006 #line 30007 "gram.c" /* yacc.c:1652  */
30007     break;
30008 
30009   case 609:
30010 #line 4270 "gram.y" /* yacc.c:1652  */
30011     {}
30012 #line 30013 "gram.c" /* yacc.c:1652  */
30013     break;
30014 
30015   case 610:
30016 #line 4271 "gram.y" /* yacc.c:1652  */
30017     {}
30018 #line 30019 "gram.c" /* yacc.c:1652  */
30019     break;
30020 
30021   case 611:
30022 #line 4275 "gram.y" /* yacc.c:1652  */
30023     { (yyval.value) = makeFloat((yyvsp[0].str)); }
30024 #line 30025 "gram.c" /* yacc.c:1652  */
30025     break;
30026 
30027   case 612:
30028 #line 4276 "gram.y" /* yacc.c:1652  */
30029     { (yyval.value) = makeFloat((yyvsp[0].str)); }
30030 #line 30031 "gram.c" /* yacc.c:1652  */
30031     break;
30032 
30033   case 613:
30034 #line 4278 "gram.y" /* yacc.c:1652  */
30035     {
30036 					(yyval.value) = makeFloat((yyvsp[0].str));
30037 					doNegateFloat((yyval.value));
30038 				}
30039 #line 30040 "gram.c" /* yacc.c:1652  */
30040     break;
30041 
30042   case 614:
30043 #line 4282 "gram.y" /* yacc.c:1652  */
30044     { (yyval.value) = makeInteger((yyvsp[0].ival)); }
30045 #line 30046 "gram.c" /* yacc.c:1652  */
30046     break;
30047 
30048   case 615:
30049 #line 4285 "gram.y" /* yacc.c:1652  */
30050     { (yyval.list) = list_make1((yyvsp[0].value)); }
30051 #line 30052 "gram.c" /* yacc.c:1652  */
30052     break;
30053 
30054   case 616:
30055 #line 4286 "gram.y" /* yacc.c:1652  */
30056     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].value)); }
30057 #line 30058 "gram.c" /* yacc.c:1652  */
30058     break;
30059 
30060   case 617:
30061 #line 4299 "gram.y" /* yacc.c:1652  */
30062     {
30063 				CreatePLangStmt *n = makeNode(CreatePLangStmt);
30064 				n->replace = (yyvsp[-4].boolean);
30065 				n->plname = (yyvsp[0].str);
30066 				/* parameters are all to be supplied by system */
30067 				n->plhandler = NIL;
30068 				n->plinline = NIL;
30069 				n->plvalidator = NIL;
30070 				n->pltrusted = false;
30071 				(yyval.node) = (Node *)n;
30072 			}
30073 #line 30074 "gram.c" /* yacc.c:1652  */
30074     break;
30075 
30076   case 618:
30077 #line 4312 "gram.y" /* yacc.c:1652  */
30078     {
30079 				CreatePLangStmt *n = makeNode(CreatePLangStmt);
30080 				n->replace = (yyvsp[-8].boolean);
30081 				n->plname = (yyvsp[-4].str);
30082 				n->plhandler = (yyvsp[-2].list);
30083 				n->plinline = (yyvsp[-1].list);
30084 				n->plvalidator = (yyvsp[0].list);
30085 				n->pltrusted = (yyvsp[-7].boolean);
30086 				(yyval.node) = (Node *)n;
30087 			}
30088 #line 30089 "gram.c" /* yacc.c:1652  */
30089     break;
30090 
30091   case 619:
30092 #line 4325 "gram.y" /* yacc.c:1652  */
30093     { (yyval.boolean) = true; }
30094 #line 30095 "gram.c" /* yacc.c:1652  */
30095     break;
30096 
30097   case 620:
30098 #line 4326 "gram.y" /* yacc.c:1652  */
30099     { (yyval.boolean) = false; }
30100 #line 30101 "gram.c" /* yacc.c:1652  */
30101     break;
30102 
30103   case 621:
30104 #line 4334 "gram.y" /* yacc.c:1652  */
30105     { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
30106 #line 30107 "gram.c" /* yacc.c:1652  */
30107     break;
30108 
30109   case 622:
30110 #line 4335 "gram.y" /* yacc.c:1652  */
30111     { (yyval.list) = lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)); }
30112 #line 30113 "gram.c" /* yacc.c:1652  */
30113     break;
30114 
30115   case 623:
30116 #line 4339 "gram.y" /* yacc.c:1652  */
30117     { (yyval.list) = (yyvsp[0].list); }
30118 #line 30119 "gram.c" /* yacc.c:1652  */
30119     break;
30120 
30121   case 624:
30122 #line 4340 "gram.y" /* yacc.c:1652  */
30123     { (yyval.list) = NIL; }
30124 #line 30125 "gram.c" /* yacc.c:1652  */
30125     break;
30126 
30127   case 625:
30128 #line 4344 "gram.y" /* yacc.c:1652  */
30129     { (yyval.list) = (yyvsp[0].list); }
30130 #line 30131 "gram.c" /* yacc.c:1652  */
30131     break;
30132 
30133   case 626:
30134 #line 4345 "gram.y" /* yacc.c:1652  */
30135     { (yyval.list) = NIL; }
30136 #line 30137 "gram.c" /* yacc.c:1652  */
30137     break;
30138 
30139   case 627:
30140 #line 4349 "gram.y" /* yacc.c:1652  */
30141     { (yyval.list) = (yyvsp[0].list); }
30142 #line 30143 "gram.c" /* yacc.c:1652  */
30143     break;
30144 
30145   case 628:
30146 #line 4350 "gram.y" /* yacc.c:1652  */
30147     { (yyval.list) = NIL; }
30148 #line 30149 "gram.c" /* yacc.c:1652  */
30149     break;
30150 
30151   case 629:
30152 #line 4355 "gram.y" /* yacc.c:1652  */
30153     {
30154 					DropStmt *n = makeNode(DropStmt);
30155 					n->removeType = OBJECT_LANGUAGE;
30156 					n->objects = list_make1(makeString((yyvsp[-1].str)));
30157 					n->behavior = (yyvsp[0].dbehavior);
30158 					n->missing_ok = false;
30159 					n->concurrent = false;
30160 					(yyval.node) = (Node *)n;
30161 				}
30162 #line 30163 "gram.c" /* yacc.c:1652  */
30163     break;
30164 
30165   case 630:
30166 #line 4365 "gram.y" /* yacc.c:1652  */
30167     {
30168 					DropStmt *n = makeNode(DropStmt);
30169 					n->removeType = OBJECT_LANGUAGE;
30170 					n->objects = list_make1(makeString((yyvsp[-1].str)));
30171 					n->behavior = (yyvsp[0].dbehavior);
30172 					n->missing_ok = true;
30173 					n->concurrent = false;
30174 					(yyval.node) = (Node *)n;
30175 				}
30176 #line 30177 "gram.c" /* yacc.c:1652  */
30177     break;
30178 
30179   case 631:
30180 #line 4377 "gram.y" /* yacc.c:1652  */
30181     {}
30182 #line 30183 "gram.c" /* yacc.c:1652  */
30183     break;
30184 
30185   case 632:
30186 #line 4378 "gram.y" /* yacc.c:1652  */
30187     {}
30188 #line 30189 "gram.c" /* yacc.c:1652  */
30189     break;
30190 
30191   case 633:
30192 #line 4389 "gram.y" /* yacc.c:1652  */
30193     {
30194 					CreateTableSpaceStmt *n = makeNode(CreateTableSpaceStmt);
30195 					n->tablespacename = (yyvsp[-4].str);
30196 					n->owner = (yyvsp[-3].rolespec);
30197 					n->location = (yyvsp[-1].str);
30198 					n->options = (yyvsp[0].list);
30199 					(yyval.node) = (Node *) n;
30200 				}
30201 #line 30202 "gram.c" /* yacc.c:1652  */
30202     break;
30203 
30204   case 634:
30205 #line 4399 "gram.y" /* yacc.c:1652  */
30206     { (yyval.rolespec) = (yyvsp[0].rolespec); }
30207 #line 30208 "gram.c" /* yacc.c:1652  */
30208     break;
30209 
30210   case 635:
30211 #line 4400 "gram.y" /* yacc.c:1652  */
30212     { (yyval.rolespec) = NULL; }
30213 #line 30214 "gram.c" /* yacc.c:1652  */
30214     break;
30215 
30216   case 636:
30217 #line 4414 "gram.y" /* yacc.c:1652  */
30218     {
30219 					DropTableSpaceStmt *n = makeNode(DropTableSpaceStmt);
30220 					n->tablespacename = (yyvsp[0].str);
30221 					n->missing_ok = false;
30222 					(yyval.node) = (Node *) n;
30223 				}
30224 #line 30225 "gram.c" /* yacc.c:1652  */
30225     break;
30226 
30227   case 637:
30228 #line 4421 "gram.y" /* yacc.c:1652  */
30229     {
30230 					DropTableSpaceStmt *n = makeNode(DropTableSpaceStmt);
30231 					n->tablespacename = (yyvsp[0].str);
30232 					n->missing_ok = true;
30233 					(yyval.node) = (Node *) n;
30234 				}
30235 #line 30236 "gram.c" /* yacc.c:1652  */
30236     break;
30237 
30238   case 638:
30239 #line 4438 "gram.y" /* yacc.c:1652  */
30240     {
30241 					CreateExtensionStmt *n = makeNode(CreateExtensionStmt);
30242 					n->extname = (yyvsp[-2].str);
30243 					n->if_not_exists = false;
30244 					n->options = (yyvsp[0].list);
30245 					(yyval.node) = (Node *) n;
30246 				}
30247 #line 30248 "gram.c" /* yacc.c:1652  */
30248     break;
30249 
30250   case 639:
30251 #line 4446 "gram.y" /* yacc.c:1652  */
30252     {
30253 					CreateExtensionStmt *n = makeNode(CreateExtensionStmt);
30254 					n->extname = (yyvsp[-2].str);
30255 					n->if_not_exists = true;
30256 					n->options = (yyvsp[0].list);
30257 					(yyval.node) = (Node *) n;
30258 				}
30259 #line 30260 "gram.c" /* yacc.c:1652  */
30260     break;
30261 
30262   case 640:
30263 #line 4457 "gram.y" /* yacc.c:1652  */
30264     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
30265 #line 30266 "gram.c" /* yacc.c:1652  */
30266     break;
30267 
30268   case 641:
30269 #line 4459 "gram.y" /* yacc.c:1652  */
30270     { (yyval.list) = NIL; }
30271 #line 30272 "gram.c" /* yacc.c:1652  */
30272     break;
30273 
30274   case 642:
30275 #line 4464 "gram.y" /* yacc.c:1652  */
30276     {
30277 					(yyval.defelt) = makeDefElem("schema", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
30278 				}
30279 #line 30280 "gram.c" /* yacc.c:1652  */
30280     break;
30281 
30282   case 643:
30283 #line 4468 "gram.y" /* yacc.c:1652  */
30284     {
30285 					(yyval.defelt) = makeDefElem("new_version", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
30286 				}
30287 #line 30288 "gram.c" /* yacc.c:1652  */
30288     break;
30289 
30290   case 644:
30291 #line 4472 "gram.y" /* yacc.c:1652  */
30292     {
30293 					(yyval.defelt) = makeDefElem("old_version", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
30294 				}
30295 #line 30296 "gram.c" /* yacc.c:1652  */
30296     break;
30297 
30298   case 645:
30299 #line 4476 "gram.y" /* yacc.c:1652  */
30300     {
30301 					(yyval.defelt) = makeDefElem("cascade", (Node *)makeInteger(true), (yylsp[0]));
30302 				}
30303 #line 30304 "gram.c" /* yacc.c:1652  */
30304     break;
30305 
30306   case 646:
30307 #line 4488 "gram.y" /* yacc.c:1652  */
30308     {
30309 					AlterExtensionStmt *n = makeNode(AlterExtensionStmt);
30310 					n->extname = (yyvsp[-2].str);
30311 					n->options = (yyvsp[0].list);
30312 					(yyval.node) = (Node *) n;
30313 				}
30314 #line 30315 "gram.c" /* yacc.c:1652  */
30315     break;
30316 
30317   case 647:
30318 #line 4498 "gram.y" /* yacc.c:1652  */
30319     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
30320 #line 30321 "gram.c" /* yacc.c:1652  */
30321     break;
30322 
30323   case 648:
30324 #line 4500 "gram.y" /* yacc.c:1652  */
30325     { (yyval.list) = NIL; }
30326 #line 30327 "gram.c" /* yacc.c:1652  */
30327     break;
30328 
30329   case 649:
30330 #line 4505 "gram.y" /* yacc.c:1652  */
30331     {
30332 					(yyval.defelt) = makeDefElem("new_version", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
30333 				}
30334 #line 30335 "gram.c" /* yacc.c:1652  */
30335     break;
30336 
30337   case 650:
30338 #line 4518 "gram.y" /* yacc.c:1652  */
30339     {
30340 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30341 					n->extname = (yyvsp[-4].str);
30342 					n->action = (yyvsp[-3].ival);
30343 					n->objtype = OBJECT_ACCESS_METHOD;
30344 					n->object = (Node *) makeString((yyvsp[0].str));
30345 					(yyval.node) = (Node *)n;
30346 				}
30347 #line 30348 "gram.c" /* yacc.c:1652  */
30348     break;
30349 
30350   case 651:
30351 #line 4527 "gram.y" /* yacc.c:1652  */
30352     {
30353 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30354 					n->extname = (yyvsp[-3].str);
30355 					n->action = (yyvsp[-2].ival);
30356 					n->objtype = OBJECT_AGGREGATE;
30357 					n->object = (Node *) (yyvsp[0].objwithargs);
30358 					(yyval.node) = (Node *)n;
30359 				}
30360 #line 30361 "gram.c" /* yacc.c:1652  */
30361     break;
30362 
30363   case 652:
30364 #line 4536 "gram.y" /* yacc.c:1652  */
30365     {
30366 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30367 					n->extname = (yyvsp[-7].str);
30368 					n->action = (yyvsp[-6].ival);
30369 					n->objtype = OBJECT_CAST;
30370 					n->object = (Node *) list_make2((yyvsp[-3].typnam), (yyvsp[-1].typnam));
30371 					(yyval.node) = (Node *) n;
30372 				}
30373 #line 30374 "gram.c" /* yacc.c:1652  */
30374     break;
30375 
30376   case 653:
30377 #line 4545 "gram.y" /* yacc.c:1652  */
30378     {
30379 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30380 					n->extname = (yyvsp[-3].str);
30381 					n->action = (yyvsp[-2].ival);
30382 					n->objtype = OBJECT_COLLATION;
30383 					n->object = (Node *) (yyvsp[0].list);
30384 					(yyval.node) = (Node *)n;
30385 				}
30386 #line 30387 "gram.c" /* yacc.c:1652  */
30387     break;
30388 
30389   case 654:
30390 #line 4554 "gram.y" /* yacc.c:1652  */
30391     {
30392 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30393 					n->extname = (yyvsp[-3].str);
30394 					n->action = (yyvsp[-2].ival);
30395 					n->objtype = OBJECT_CONVERSION;
30396 					n->object = (Node *) (yyvsp[0].list);
30397 					(yyval.node) = (Node *)n;
30398 				}
30399 #line 30400 "gram.c" /* yacc.c:1652  */
30400     break;
30401 
30402   case 655:
30403 #line 4563 "gram.y" /* yacc.c:1652  */
30404     {
30405 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30406 					n->extname = (yyvsp[-3].str);
30407 					n->action = (yyvsp[-2].ival);
30408 					n->objtype = OBJECT_DOMAIN;
30409 					n->object = (Node *) (yyvsp[0].typnam);
30410 					(yyval.node) = (Node *)n;
30411 				}
30412 #line 30413 "gram.c" /* yacc.c:1652  */
30413     break;
30414 
30415   case 656:
30416 #line 4572 "gram.y" /* yacc.c:1652  */
30417     {
30418 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30419 					n->extname = (yyvsp[-3].str);
30420 					n->action = (yyvsp[-2].ival);
30421 					n->objtype = OBJECT_FUNCTION;
30422 					n->object = (Node *) (yyvsp[0].objwithargs);
30423 					(yyval.node) = (Node *)n;
30424 				}
30425 #line 30426 "gram.c" /* yacc.c:1652  */
30426     break;
30427 
30428   case 657:
30429 #line 4581 "gram.y" /* yacc.c:1652  */
30430     {
30431 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30432 					n->extname = (yyvsp[-4].str);
30433 					n->action = (yyvsp[-3].ival);
30434 					n->objtype = OBJECT_LANGUAGE;
30435 					n->object = (Node *) makeString((yyvsp[0].str));
30436 					(yyval.node) = (Node *)n;
30437 				}
30438 #line 30439 "gram.c" /* yacc.c:1652  */
30439     break;
30440 
30441   case 658:
30442 #line 4590 "gram.y" /* yacc.c:1652  */
30443     {
30444 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30445 					n->extname = (yyvsp[-3].str);
30446 					n->action = (yyvsp[-2].ival);
30447 					n->objtype = OBJECT_OPERATOR;
30448 					n->object = (Node *) (yyvsp[0].objwithargs);
30449 					(yyval.node) = (Node *)n;
30450 				}
30451 #line 30452 "gram.c" /* yacc.c:1652  */
30452     break;
30453 
30454   case 659:
30455 #line 4599 "gram.y" /* yacc.c:1652  */
30456     {
30457 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30458 					n->extname = (yyvsp[-6].str);
30459 					n->action = (yyvsp[-5].ival);
30460 					n->objtype = OBJECT_OPCLASS;
30461 					n->object = (Node *) lcons(makeString((yyvsp[0].str)), (yyvsp[-2].list));
30462 					(yyval.node) = (Node *)n;
30463 				}
30464 #line 30465 "gram.c" /* yacc.c:1652  */
30465     break;
30466 
30467   case 660:
30468 #line 4608 "gram.y" /* yacc.c:1652  */
30469     {
30470 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30471 					n->extname = (yyvsp[-6].str);
30472 					n->action = (yyvsp[-5].ival);
30473 					n->objtype = OBJECT_OPFAMILY;
30474 					n->object = (Node *) lcons(makeString((yyvsp[0].str)), (yyvsp[-2].list));
30475 					(yyval.node) = (Node *)n;
30476 				}
30477 #line 30478 "gram.c" /* yacc.c:1652  */
30478     break;
30479 
30480   case 661:
30481 #line 4617 "gram.y" /* yacc.c:1652  */
30482     {
30483 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30484 					n->extname = (yyvsp[-3].str);
30485 					n->action = (yyvsp[-2].ival);
30486 					n->objtype = OBJECT_PROCEDURE;
30487 					n->object = (Node *) (yyvsp[0].objwithargs);
30488 					(yyval.node) = (Node *)n;
30489 				}
30490 #line 30491 "gram.c" /* yacc.c:1652  */
30491     break;
30492 
30493   case 662:
30494 #line 4626 "gram.y" /* yacc.c:1652  */
30495     {
30496 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30497 					n->extname = (yyvsp[-3].str);
30498 					n->action = (yyvsp[-2].ival);
30499 					n->objtype = OBJECT_ROUTINE;
30500 					n->object = (Node *) (yyvsp[0].objwithargs);
30501 					(yyval.node) = (Node *)n;
30502 				}
30503 #line 30504 "gram.c" /* yacc.c:1652  */
30504     break;
30505 
30506   case 663:
30507 #line 4635 "gram.y" /* yacc.c:1652  */
30508     {
30509 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30510 					n->extname = (yyvsp[-3].str);
30511 					n->action = (yyvsp[-2].ival);
30512 					n->objtype = OBJECT_SCHEMA;
30513 					n->object = (Node *) makeString((yyvsp[0].str));
30514 					(yyval.node) = (Node *)n;
30515 				}
30516 #line 30517 "gram.c" /* yacc.c:1652  */
30517     break;
30518 
30519   case 664:
30520 #line 4644 "gram.y" /* yacc.c:1652  */
30521     {
30522 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30523 					n->extname = (yyvsp[-4].str);
30524 					n->action = (yyvsp[-3].ival);
30525 					n->objtype = OBJECT_EVENT_TRIGGER;
30526 					n->object = (Node *) makeString((yyvsp[0].str));
30527 					(yyval.node) = (Node *)n;
30528 				}
30529 #line 30530 "gram.c" /* yacc.c:1652  */
30530     break;
30531 
30532   case 665:
30533 #line 4653 "gram.y" /* yacc.c:1652  */
30534     {
30535 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30536 					n->extname = (yyvsp[-3].str);
30537 					n->action = (yyvsp[-2].ival);
30538 					n->objtype = OBJECT_TABLE;
30539 					n->object = (Node *) (yyvsp[0].list);
30540 					(yyval.node) = (Node *)n;
30541 				}
30542 #line 30543 "gram.c" /* yacc.c:1652  */
30543     break;
30544 
30545   case 666:
30546 #line 4662 "gram.y" /* yacc.c:1652  */
30547     {
30548 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30549 					n->extname = (yyvsp[-5].str);
30550 					n->action = (yyvsp[-4].ival);
30551 					n->objtype = OBJECT_TSPARSER;
30552 					n->object = (Node *) (yyvsp[0].list);
30553 					(yyval.node) = (Node *)n;
30554 				}
30555 #line 30556 "gram.c" /* yacc.c:1652  */
30556     break;
30557 
30558   case 667:
30559 #line 4671 "gram.y" /* yacc.c:1652  */
30560     {
30561 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30562 					n->extname = (yyvsp[-5].str);
30563 					n->action = (yyvsp[-4].ival);
30564 					n->objtype = OBJECT_TSDICTIONARY;
30565 					n->object = (Node *) (yyvsp[0].list);
30566 					(yyval.node) = (Node *)n;
30567 				}
30568 #line 30569 "gram.c" /* yacc.c:1652  */
30569     break;
30570 
30571   case 668:
30572 #line 4680 "gram.y" /* yacc.c:1652  */
30573     {
30574 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30575 					n->extname = (yyvsp[-5].str);
30576 					n->action = (yyvsp[-4].ival);
30577 					n->objtype = OBJECT_TSTEMPLATE;
30578 					n->object = (Node *) (yyvsp[0].list);
30579 					(yyval.node) = (Node *)n;
30580 				}
30581 #line 30582 "gram.c" /* yacc.c:1652  */
30582     break;
30583 
30584   case 669:
30585 #line 4689 "gram.y" /* yacc.c:1652  */
30586     {
30587 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30588 					n->extname = (yyvsp[-5].str);
30589 					n->action = (yyvsp[-4].ival);
30590 					n->objtype = OBJECT_TSCONFIGURATION;
30591 					n->object = (Node *) (yyvsp[0].list);
30592 					(yyval.node) = (Node *)n;
30593 				}
30594 #line 30595 "gram.c" /* yacc.c:1652  */
30595     break;
30596 
30597   case 670:
30598 #line 4698 "gram.y" /* yacc.c:1652  */
30599     {
30600 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30601 					n->extname = (yyvsp[-3].str);
30602 					n->action = (yyvsp[-2].ival);
30603 					n->objtype = OBJECT_SEQUENCE;
30604 					n->object = (Node *) (yyvsp[0].list);
30605 					(yyval.node) = (Node *)n;
30606 				}
30607 #line 30608 "gram.c" /* yacc.c:1652  */
30608     break;
30609 
30610   case 671:
30611 #line 4707 "gram.y" /* yacc.c:1652  */
30612     {
30613 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30614 					n->extname = (yyvsp[-3].str);
30615 					n->action = (yyvsp[-2].ival);
30616 					n->objtype = OBJECT_VIEW;
30617 					n->object = (Node *) (yyvsp[0].list);
30618 					(yyval.node) = (Node *)n;
30619 				}
30620 #line 30621 "gram.c" /* yacc.c:1652  */
30621     break;
30622 
30623   case 672:
30624 #line 4716 "gram.y" /* yacc.c:1652  */
30625     {
30626 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30627 					n->extname = (yyvsp[-4].str);
30628 					n->action = (yyvsp[-3].ival);
30629 					n->objtype = OBJECT_MATVIEW;
30630 					n->object = (Node *) (yyvsp[0].list);
30631 					(yyval.node) = (Node *)n;
30632 				}
30633 #line 30634 "gram.c" /* yacc.c:1652  */
30634     break;
30635 
30636   case 673:
30637 #line 4725 "gram.y" /* yacc.c:1652  */
30638     {
30639 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30640 					n->extname = (yyvsp[-4].str);
30641 					n->action = (yyvsp[-3].ival);
30642 					n->objtype = OBJECT_FOREIGN_TABLE;
30643 					n->object = (Node *) (yyvsp[0].list);
30644 					(yyval.node) = (Node *)n;
30645 				}
30646 #line 30647 "gram.c" /* yacc.c:1652  */
30647     break;
30648 
30649   case 674:
30650 #line 4734 "gram.y" /* yacc.c:1652  */
30651     {
30652 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30653 					n->extname = (yyvsp[-5].str);
30654 					n->action = (yyvsp[-4].ival);
30655 					n->objtype = OBJECT_FDW;
30656 					n->object = (Node *) makeString((yyvsp[0].str));
30657 					(yyval.node) = (Node *)n;
30658 				}
30659 #line 30660 "gram.c" /* yacc.c:1652  */
30660     break;
30661 
30662   case 675:
30663 #line 4743 "gram.y" /* yacc.c:1652  */
30664     {
30665 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30666 					n->extname = (yyvsp[-3].str);
30667 					n->action = (yyvsp[-2].ival);
30668 					n->objtype = OBJECT_FOREIGN_SERVER;
30669 					n->object = (Node *) makeString((yyvsp[0].str));
30670 					(yyval.node) = (Node *)n;
30671 				}
30672 #line 30673 "gram.c" /* yacc.c:1652  */
30673     break;
30674 
30675   case 676:
30676 #line 4752 "gram.y" /* yacc.c:1652  */
30677     {
30678 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30679 					n->extname = (yyvsp[-6].str);
30680 					n->action = (yyvsp[-5].ival);
30681 					n->objtype = OBJECT_TRANSFORM;
30682 					n->object = (Node *) list_make2((yyvsp[-2].typnam), makeString((yyvsp[0].str)));
30683 					(yyval.node) = (Node *)n;
30684 				}
30685 #line 30686 "gram.c" /* yacc.c:1652  */
30686     break;
30687 
30688   case 677:
30689 #line 4761 "gram.y" /* yacc.c:1652  */
30690     {
30691 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30692 					n->extname = (yyvsp[-3].str);
30693 					n->action = (yyvsp[-2].ival);
30694 					n->objtype = OBJECT_TYPE;
30695 					n->object = (Node *) (yyvsp[0].typnam);
30696 					(yyval.node) = (Node *)n;
30697 				}
30698 #line 30699 "gram.c" /* yacc.c:1652  */
30699     break;
30700 
30701   case 678:
30702 #line 4779 "gram.y" /* yacc.c:1652  */
30703     {
30704 					CreateFdwStmt *n = makeNode(CreateFdwStmt);
30705 					n->fdwname = (yyvsp[-2].str);
30706 					n->func_options = (yyvsp[-1].list);
30707 					n->options = (yyvsp[0].list);
30708 					(yyval.node) = (Node *) n;
30709 				}
30710 #line 30711 "gram.c" /* yacc.c:1652  */
30711     break;
30712 
30713   case 679:
30714 #line 4789 "gram.y" /* yacc.c:1652  */
30715     { (yyval.defelt) = makeDefElem("handler", (Node *)(yyvsp[0].list), (yylsp[-1])); }
30716 #line 30717 "gram.c" /* yacc.c:1652  */
30717     break;
30718 
30719   case 680:
30720 #line 4790 "gram.y" /* yacc.c:1652  */
30721     { (yyval.defelt) = makeDefElem("handler", NULL, (yylsp[-1])); }
30722 #line 30723 "gram.c" /* yacc.c:1652  */
30723     break;
30724 
30725   case 681:
30726 #line 4791 "gram.y" /* yacc.c:1652  */
30727     { (yyval.defelt) = makeDefElem("validator", (Node *)(yyvsp[0].list), (yylsp[-1])); }
30728 #line 30729 "gram.c" /* yacc.c:1652  */
30729     break;
30730 
30731   case 682:
30732 #line 4792 "gram.y" /* yacc.c:1652  */
30733     { (yyval.defelt) = makeDefElem("validator", NULL, (yylsp[-1])); }
30734 #line 30735 "gram.c" /* yacc.c:1652  */
30735     break;
30736 
30737   case 683:
30738 #line 4796 "gram.y" /* yacc.c:1652  */
30739     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
30740 #line 30741 "gram.c" /* yacc.c:1652  */
30741     break;
30742 
30743   case 684:
30744 #line 4797 "gram.y" /* yacc.c:1652  */
30745     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
30746 #line 30747 "gram.c" /* yacc.c:1652  */
30747     break;
30748 
30749   case 685:
30750 #line 4801 "gram.y" /* yacc.c:1652  */
30751     { (yyval.list) = (yyvsp[0].list); }
30752 #line 30753 "gram.c" /* yacc.c:1652  */
30753     break;
30754 
30755   case 686:
30756 #line 4802 "gram.y" /* yacc.c:1652  */
30757     { (yyval.list) = NIL; }
30758 #line 30759 "gram.c" /* yacc.c:1652  */
30759     break;
30760 
30761   case 687:
30762 #line 4813 "gram.y" /* yacc.c:1652  */
30763     {
30764 					AlterFdwStmt *n = makeNode(AlterFdwStmt);
30765 					n->fdwname = (yyvsp[-2].str);
30766 					n->func_options = (yyvsp[-1].list);
30767 					n->options = (yyvsp[0].list);
30768 					(yyval.node) = (Node *) n;
30769 				}
30770 #line 30771 "gram.c" /* yacc.c:1652  */
30771     break;
30772 
30773   case 688:
30774 #line 4821 "gram.y" /* yacc.c:1652  */
30775     {
30776 					AlterFdwStmt *n = makeNode(AlterFdwStmt);
30777 					n->fdwname = (yyvsp[-1].str);
30778 					n->func_options = (yyvsp[0].list);
30779 					n->options = NIL;
30780 					(yyval.node) = (Node *) n;
30781 				}
30782 #line 30783 "gram.c" /* yacc.c:1652  */
30783     break;
30784 
30785   case 689:
30786 #line 4832 "gram.y" /* yacc.c:1652  */
30787     { (yyval.list) = (yyvsp[-1].list); }
30788 #line 30789 "gram.c" /* yacc.c:1652  */
30789     break;
30790 
30791   case 690:
30792 #line 4833 "gram.y" /* yacc.c:1652  */
30793     { (yyval.list) = NIL; }
30794 #line 30795 "gram.c" /* yacc.c:1652  */
30795     break;
30796 
30797   case 691:
30798 #line 4838 "gram.y" /* yacc.c:1652  */
30799     {
30800 					(yyval.list) = list_make1((yyvsp[0].defelt));
30801 				}
30802 #line 30803 "gram.c" /* yacc.c:1652  */
30803     break;
30804 
30805   case 692:
30806 #line 4842 "gram.y" /* yacc.c:1652  */
30807     {
30808 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
30809 				}
30810 #line 30811 "gram.c" /* yacc.c:1652  */
30811     break;
30812 
30813   case 693:
30814 #line 4849 "gram.y" /* yacc.c:1652  */
30815     { (yyval.list) = (yyvsp[-1].list); }
30816 #line 30817 "gram.c" /* yacc.c:1652  */
30817     break;
30818 
30819   case 694:
30820 #line 4854 "gram.y" /* yacc.c:1652  */
30821     {
30822 					(yyval.list) = list_make1((yyvsp[0].defelt));
30823 				}
30824 #line 30825 "gram.c" /* yacc.c:1652  */
30825     break;
30826 
30827   case 695:
30828 #line 4858 "gram.y" /* yacc.c:1652  */
30829     {
30830 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
30831 				}
30832 #line 30833 "gram.c" /* yacc.c:1652  */
30833     break;
30834 
30835   case 696:
30836 #line 4865 "gram.y" /* yacc.c:1652  */
30837     {
30838 					(yyval.defelt) = (yyvsp[0].defelt);
30839 				}
30840 #line 30841 "gram.c" /* yacc.c:1652  */
30841     break;
30842 
30843   case 697:
30844 #line 4869 "gram.y" /* yacc.c:1652  */
30845     {
30846 					(yyval.defelt) = (yyvsp[0].defelt);
30847 					(yyval.defelt)->defaction = DEFELEM_SET;
30848 				}
30849 #line 30850 "gram.c" /* yacc.c:1652  */
30850     break;
30851 
30852   case 698:
30853 #line 4874 "gram.y" /* yacc.c:1652  */
30854     {
30855 					(yyval.defelt) = (yyvsp[0].defelt);
30856 					(yyval.defelt)->defaction = DEFELEM_ADD;
30857 				}
30858 #line 30859 "gram.c" /* yacc.c:1652  */
30859     break;
30860 
30861   case 699:
30862 #line 4879 "gram.y" /* yacc.c:1652  */
30863     {
30864 					(yyval.defelt) = makeDefElemExtended(NULL, (yyvsp[0].str), NULL, DEFELEM_DROP, (yylsp[0]));
30865 				}
30866 #line 30867 "gram.c" /* yacc.c:1652  */
30867     break;
30868 
30869   case 700:
30870 #line 4886 "gram.y" /* yacc.c:1652  */
30871     {
30872 					(yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1]));
30873 				}
30874 #line 30875 "gram.c" /* yacc.c:1652  */
30875     break;
30876 
30877   case 701:
30878 #line 4892 "gram.y" /* yacc.c:1652  */
30879     { (yyval.str) = (yyvsp[0].str); }
30880 #line 30881 "gram.c" /* yacc.c:1652  */
30881     break;
30882 
30883   case 702:
30884 #line 4897 "gram.y" /* yacc.c:1652  */
30885     { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
30886 #line 30887 "gram.c" /* yacc.c:1652  */
30887     break;
30888 
30889   case 703:
30890 #line 4909 "gram.y" /* yacc.c:1652  */
30891     {
30892 					CreateForeignServerStmt *n = makeNode(CreateForeignServerStmt);
30893 					n->servername = (yyvsp[-7].str);
30894 					n->servertype = (yyvsp[-6].str);
30895 					n->version = (yyvsp[-5].str);
30896 					n->fdwname = (yyvsp[-1].str);
30897 					n->options = (yyvsp[0].list);
30898 					n->if_not_exists = false;
30899 					(yyval.node) = (Node *) n;
30900 				}
30901 #line 30902 "gram.c" /* yacc.c:1652  */
30902     break;
30903 
30904   case 704:
30905 #line 4921 "gram.y" /* yacc.c:1652  */
30906     {
30907 					CreateForeignServerStmt *n = makeNode(CreateForeignServerStmt);
30908 					n->servername = (yyvsp[-7].str);
30909 					n->servertype = (yyvsp[-6].str);
30910 					n->version = (yyvsp[-5].str);
30911 					n->fdwname = (yyvsp[-1].str);
30912 					n->options = (yyvsp[0].list);
30913 					n->if_not_exists = true;
30914 					(yyval.node) = (Node *) n;
30915 				}
30916 #line 30917 "gram.c" /* yacc.c:1652  */
30917     break;
30918 
30919   case 705:
30920 #line 4934 "gram.y" /* yacc.c:1652  */
30921     { (yyval.str) = (yyvsp[0].str); }
30922 #line 30923 "gram.c" /* yacc.c:1652  */
30923     break;
30924 
30925   case 706:
30926 #line 4935 "gram.y" /* yacc.c:1652  */
30927     { (yyval.str) = NULL; }
30928 #line 30929 "gram.c" /* yacc.c:1652  */
30929     break;
30930 
30931   case 707:
30932 #line 4940 "gram.y" /* yacc.c:1652  */
30933     { (yyval.str) = (yyvsp[0].str); }
30934 #line 30935 "gram.c" /* yacc.c:1652  */
30935     break;
30936 
30937   case 708:
30938 #line 4941 "gram.y" /* yacc.c:1652  */
30939     { (yyval.str) = NULL; }
30940 #line 30941 "gram.c" /* yacc.c:1652  */
30941     break;
30942 
30943   case 709:
30944 #line 4945 "gram.y" /* yacc.c:1652  */
30945     { (yyval.str) = (yyvsp[0].str); }
30946 #line 30947 "gram.c" /* yacc.c:1652  */
30947     break;
30948 
30949   case 710:
30950 #line 4946 "gram.y" /* yacc.c:1652  */
30951     { (yyval.str) = NULL; }
30952 #line 30953 "gram.c" /* yacc.c:1652  */
30953     break;
30954 
30955   case 711:
30956 #line 4957 "gram.y" /* yacc.c:1652  */
30957     {
30958 					AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
30959 					n->servername = (yyvsp[-2].str);
30960 					n->version = (yyvsp[-1].str);
30961 					n->options = (yyvsp[0].list);
30962 					n->has_version = true;
30963 					(yyval.node) = (Node *) n;
30964 				}
30965 #line 30966 "gram.c" /* yacc.c:1652  */
30966     break;
30967 
30968   case 712:
30969 #line 4966 "gram.y" /* yacc.c:1652  */
30970     {
30971 					AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
30972 					n->servername = (yyvsp[-1].str);
30973 					n->version = (yyvsp[0].str);
30974 					n->has_version = true;
30975 					(yyval.node) = (Node *) n;
30976 				}
30977 #line 30978 "gram.c" /* yacc.c:1652  */
30978     break;
30979 
30980   case 713:
30981 #line 4974 "gram.y" /* yacc.c:1652  */
30982     {
30983 					AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
30984 					n->servername = (yyvsp[-1].str);
30985 					n->options = (yyvsp[0].list);
30986 					(yyval.node) = (Node *) n;
30987 				}
30988 #line 30989 "gram.c" /* yacc.c:1652  */
30989     break;
30990 
30991   case 714:
30992 #line 4993 "gram.y" /* yacc.c:1652  */
30993     {
30994 					CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt);
30995 					(yyvsp[-7].range)->relpersistence = RELPERSISTENCE_PERMANENT;
30996 					n->base.relation = (yyvsp[-7].range);
30997 					n->base.tableElts = (yyvsp[-5].list);
30998 					n->base.inhRelations = (yyvsp[-3].list);
30999 					n->base.ofTypename = NULL;
31000 					n->base.constraints = NIL;
31001 					n->base.options = NIL;
31002 					n->base.oncommit = ONCOMMIT_NOOP;
31003 					n->base.tablespacename = NULL;
31004 					n->base.if_not_exists = false;
31005 					/* FDW-specific data */
31006 					n->servername = (yyvsp[-1].str);
31007 					n->options = (yyvsp[0].list);
31008 					(yyval.node) = (Node *) n;
31009 				}
31010 #line 31011 "gram.c" /* yacc.c:1652  */
31011     break;
31012 
31013   case 715:
31014 #line 5013 "gram.y" /* yacc.c:1652  */
31015     {
31016 					CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt);
31017 					(yyvsp[-7].range)->relpersistence = RELPERSISTENCE_PERMANENT;
31018 					n->base.relation = (yyvsp[-7].range);
31019 					n->base.tableElts = (yyvsp[-5].list);
31020 					n->base.inhRelations = (yyvsp[-3].list);
31021 					n->base.ofTypename = NULL;
31022 					n->base.constraints = NIL;
31023 					n->base.options = NIL;
31024 					n->base.oncommit = ONCOMMIT_NOOP;
31025 					n->base.tablespacename = NULL;
31026 					n->base.if_not_exists = true;
31027 					/* FDW-specific data */
31028 					n->servername = (yyvsp[-1].str);
31029 					n->options = (yyvsp[0].list);
31030 					(yyval.node) = (Node *) n;
31031 				}
31032 #line 31033 "gram.c" /* yacc.c:1652  */
31033     break;
31034 
31035   case 716:
31036 #line 5033 "gram.y" /* yacc.c:1652  */
31037     {
31038 					CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt);
31039 					(yyvsp[-8].range)->relpersistence = RELPERSISTENCE_PERMANENT;
31040 					n->base.relation = (yyvsp[-8].range);
31041 					n->base.inhRelations = list_make1((yyvsp[-5].range));
31042 					n->base.tableElts = (yyvsp[-4].list);
31043 					n->base.partbound = (yyvsp[-3].partboundspec);
31044 					n->base.ofTypename = NULL;
31045 					n->base.constraints = NIL;
31046 					n->base.options = NIL;
31047 					n->base.oncommit = ONCOMMIT_NOOP;
31048 					n->base.tablespacename = NULL;
31049 					n->base.if_not_exists = false;
31050 					/* FDW-specific data */
31051 					n->servername = (yyvsp[-1].str);
31052 					n->options = (yyvsp[0].list);
31053 					(yyval.node) = (Node *) n;
31054 				}
31055 #line 31056 "gram.c" /* yacc.c:1652  */
31056     break;
31057 
31058   case 717:
31059 #line 5054 "gram.y" /* yacc.c:1652  */
31060     {
31061 					CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt);
31062 					(yyvsp[-8].range)->relpersistence = RELPERSISTENCE_PERMANENT;
31063 					n->base.relation = (yyvsp[-8].range);
31064 					n->base.inhRelations = list_make1((yyvsp[-5].range));
31065 					n->base.tableElts = (yyvsp[-4].list);
31066 					n->base.partbound = (yyvsp[-3].partboundspec);
31067 					n->base.ofTypename = NULL;
31068 					n->base.constraints = NIL;
31069 					n->base.options = NIL;
31070 					n->base.oncommit = ONCOMMIT_NOOP;
31071 					n->base.tablespacename = NULL;
31072 					n->base.if_not_exists = true;
31073 					/* FDW-specific data */
31074 					n->servername = (yyvsp[-1].str);
31075 					n->options = (yyvsp[0].list);
31076 					(yyval.node) = (Node *) n;
31077 				}
31078 #line 31079 "gram.c" /* yacc.c:1652  */
31079     break;
31080 
31081   case 718:
31082 #line 5083 "gram.y" /* yacc.c:1652  */
31083     {
31084 					AlterTableStmt *n = makeNode(AlterTableStmt);
31085 					n->relation = (yyvsp[-1].range);
31086 					n->cmds = (yyvsp[0].list);
31087 					n->relkind = OBJECT_FOREIGN_TABLE;
31088 					n->missing_ok = false;
31089 					(yyval.node) = (Node *)n;
31090 				}
31091 #line 31092 "gram.c" /* yacc.c:1652  */
31092     break;
31093 
31094   case 719:
31095 #line 5092 "gram.y" /* yacc.c:1652  */
31096     {
31097 					AlterTableStmt *n = makeNode(AlterTableStmt);
31098 					n->relation = (yyvsp[-1].range);
31099 					n->cmds = (yyvsp[0].list);
31100 					n->relkind = OBJECT_FOREIGN_TABLE;
31101 					n->missing_ok = true;
31102 					(yyval.node) = (Node *)n;
31103 				}
31104 #line 31105 "gram.c" /* yacc.c:1652  */
31105     break;
31106 
31107   case 720:
31108 #line 5114 "gram.y" /* yacc.c:1652  */
31109     {
31110 				ImportForeignSchemaStmt *n = makeNode(ImportForeignSchemaStmt);
31111 				n->server_name = (yyvsp[-3].str);
31112 				n->remote_schema = (yyvsp[-7].str);
31113 				n->local_schema = (yyvsp[-1].str);
31114 				n->list_type = (yyvsp[-6].importqual)->type;
31115 				n->table_list = (yyvsp[-6].importqual)->table_names;
31116 				n->options = (yyvsp[0].list);
31117 				(yyval.node) = (Node *) n;
31118 			}
31119 #line 31120 "gram.c" /* yacc.c:1652  */
31120     break;
31121 
31122   case 721:
31123 #line 5127 "gram.y" /* yacc.c:1652  */
31124     { (yyval.ival) = FDW_IMPORT_SCHEMA_LIMIT_TO; }
31125 #line 31126 "gram.c" /* yacc.c:1652  */
31126     break;
31127 
31128   case 722:
31129 #line 5128 "gram.y" /* yacc.c:1652  */
31130     { (yyval.ival) = FDW_IMPORT_SCHEMA_EXCEPT; }
31131 #line 31132 "gram.c" /* yacc.c:1652  */
31132     break;
31133 
31134   case 723:
31135 #line 5133 "gram.y" /* yacc.c:1652  */
31136     {
31137 				ImportQual *n = (ImportQual *) palloc(sizeof(ImportQual));
31138 				n->type = (yyvsp[-3].ival);
31139 				n->table_names = (yyvsp[-1].list);
31140 				(yyval.importqual) = n;
31141 			}
31142 #line 31143 "gram.c" /* yacc.c:1652  */
31143     break;
31144 
31145   case 724:
31146 #line 5140 "gram.y" /* yacc.c:1652  */
31147     {
31148 				ImportQual *n = (ImportQual *) palloc(sizeof(ImportQual));
31149 				n->type = FDW_IMPORT_SCHEMA_ALL;
31150 				n->table_names = NIL;
31151 				(yyval.importqual) = n;
31152 			}
31153 #line 31154 "gram.c" /* yacc.c:1652  */
31154     break;
31155 
31156   case 725:
31157 #line 5156 "gram.y" /* yacc.c:1652  */
31158     {
31159 					CreateUserMappingStmt *n = makeNode(CreateUserMappingStmt);
31160 					n->user = (yyvsp[-3].rolespec);
31161 					n->servername = (yyvsp[-1].str);
31162 					n->options = (yyvsp[0].list);
31163 					n->if_not_exists = false;
31164 					(yyval.node) = (Node *) n;
31165 				}
31166 #line 31167 "gram.c" /* yacc.c:1652  */
31167     break;
31168 
31169   case 726:
31170 #line 5165 "gram.y" /* yacc.c:1652  */
31171     {
31172 					CreateUserMappingStmt *n = makeNode(CreateUserMappingStmt);
31173 					n->user = (yyvsp[-3].rolespec);
31174 					n->servername = (yyvsp[-1].str);
31175 					n->options = (yyvsp[0].list);
31176 					n->if_not_exists = true;
31177 					(yyval.node) = (Node *) n;
31178 				}
31179 #line 31180 "gram.c" /* yacc.c:1652  */
31180     break;
31181 
31182   case 727:
31183 #line 5176 "gram.y" /* yacc.c:1652  */
31184     { (yyval.rolespec) = (yyvsp[0].rolespec); }
31185 #line 31186 "gram.c" /* yacc.c:1652  */
31186     break;
31187 
31188   case 728:
31189 #line 5177 "gram.y" /* yacc.c:1652  */
31190     { (yyval.rolespec) = makeRoleSpec(ROLESPEC_CURRENT_USER, (yylsp[0])); }
31191 #line 31192 "gram.c" /* yacc.c:1652  */
31192     break;
31193 
31194   case 729:
31195 #line 5190 "gram.y" /* yacc.c:1652  */
31196     {
31197 					DropUserMappingStmt *n = makeNode(DropUserMappingStmt);
31198 					n->user = (yyvsp[-2].rolespec);
31199 					n->servername = (yyvsp[0].str);
31200 					n->missing_ok = false;
31201 					(yyval.node) = (Node *) n;
31202 				}
31203 #line 31204 "gram.c" /* yacc.c:1652  */
31204     break;
31205 
31206   case 730:
31207 #line 5198 "gram.y" /* yacc.c:1652  */
31208     {
31209 					DropUserMappingStmt *n = makeNode(DropUserMappingStmt);
31210 					n->user = (yyvsp[-2].rolespec);
31211 					n->servername = (yyvsp[0].str);
31212 					n->missing_ok = true;
31213 					(yyval.node) = (Node *) n;
31214 				}
31215 #line 31216 "gram.c" /* yacc.c:1652  */
31216     break;
31217 
31218   case 731:
31219 #line 5215 "gram.y" /* yacc.c:1652  */
31220     {
31221 					AlterUserMappingStmt *n = makeNode(AlterUserMappingStmt);
31222 					n->user = (yyvsp[-3].rolespec);
31223 					n->servername = (yyvsp[-1].str);
31224 					n->options = (yyvsp[0].list);
31225 					(yyval.node) = (Node *) n;
31226 				}
31227 #line 31228 "gram.c" /* yacc.c:1652  */
31228     break;
31229 
31230   case 732:
31231 #line 5241 "gram.y" /* yacc.c:1652  */
31232     {
31233 					CreatePolicyStmt *n = makeNode(CreatePolicyStmt);
31234 					n->policy_name = (yyvsp[-7].str);
31235 					n->table = (yyvsp[-5].range);
31236 					n->permissive = (yyvsp[-4].boolean);
31237 					n->cmd_name = (yyvsp[-3].str);
31238 					n->roles = (yyvsp[-2].list);
31239 					n->qual = (yyvsp[-1].node);
31240 					n->with_check = (yyvsp[0].node);
31241 					(yyval.node) = (Node *) n;
31242 				}
31243 #line 31244 "gram.c" /* yacc.c:1652  */
31244     break;
31245 
31246   case 733:
31247 #line 5257 "gram.y" /* yacc.c:1652  */
31248     {
31249 					AlterPolicyStmt *n = makeNode(AlterPolicyStmt);
31250 					n->policy_name = (yyvsp[-5].str);
31251 					n->table = (yyvsp[-3].range);
31252 					n->roles = (yyvsp[-2].list);
31253 					n->qual = (yyvsp[-1].node);
31254 					n->with_check = (yyvsp[0].node);
31255 					(yyval.node) = (Node *) n;
31256 				}
31257 #line 31258 "gram.c" /* yacc.c:1652  */
31258     break;
31259 
31260   case 734:
31261 #line 5269 "gram.y" /* yacc.c:1652  */
31262     { (yyval.node) = (yyvsp[-1].node); }
31263 #line 31264 "gram.c" /* yacc.c:1652  */
31264     break;
31265 
31266   case 735:
31267 #line 5270 "gram.y" /* yacc.c:1652  */
31268     { (yyval.node) = NULL; }
31269 #line 31270 "gram.c" /* yacc.c:1652  */
31270     break;
31271 
31272   case 736:
31273 #line 5274 "gram.y" /* yacc.c:1652  */
31274     { (yyval.node) = (yyvsp[-1].node); }
31275 #line 31276 "gram.c" /* yacc.c:1652  */
31276     break;
31277 
31278   case 737:
31279 #line 5275 "gram.y" /* yacc.c:1652  */
31280     { (yyval.node) = NULL; }
31281 #line 31282 "gram.c" /* yacc.c:1652  */
31282     break;
31283 
31284   case 738:
31285 #line 5279 "gram.y" /* yacc.c:1652  */
31286     { (yyval.list) = (yyvsp[0].list); }
31287 #line 31288 "gram.c" /* yacc.c:1652  */
31288     break;
31289 
31290   case 739:
31291 #line 5280 "gram.y" /* yacc.c:1652  */
31292     { (yyval.list) = list_make1(makeRoleSpec(ROLESPEC_PUBLIC, -1)); }
31293 #line 31294 "gram.c" /* yacc.c:1652  */
31294     break;
31295 
31296   case 740:
31297 #line 5284 "gram.y" /* yacc.c:1652  */
31298     { (yyval.list) = (yyvsp[0].list); }
31299 #line 31300 "gram.c" /* yacc.c:1652  */
31300     break;
31301 
31302   case 741:
31303 #line 5285 "gram.y" /* yacc.c:1652  */
31304     { (yyval.list) = NULL; }
31305 #line 31306 "gram.c" /* yacc.c:1652  */
31306     break;
31307 
31308   case 742:
31309 #line 5290 "gram.y" /* yacc.c:1652  */
31310     {
31311 					if (strcmp((yyvsp[0].str), "permissive") == 0)
31312 						(yyval.boolean) = true;
31313 					else if (strcmp((yyvsp[0].str), "restrictive") == 0)
31314 						(yyval.boolean) = false;
31315 					else
31316 						ereport(ERROR,
31317 								(errcode(ERRCODE_SYNTAX_ERROR),
31318 							 errmsg("unrecognized row security option \"%s\"", (yyvsp[0].str)),
31319 								 errhint("Only PERMISSIVE or RESTRICTIVE policies are supported currently."),
31320 									 parser_errposition((yylsp[0]))));
31321 
31322 				}
31323 #line 31324 "gram.c" /* yacc.c:1652  */
31324     break;
31325 
31326   case 743:
31327 #line 5303 "gram.y" /* yacc.c:1652  */
31328     { (yyval.boolean) = true; }
31329 #line 31330 "gram.c" /* yacc.c:1652  */
31330     break;
31331 
31332   case 744:
31333 #line 5307 "gram.y" /* yacc.c:1652  */
31334     { (yyval.str) = (yyvsp[0].str); }
31335 #line 31336 "gram.c" /* yacc.c:1652  */
31336     break;
31337 
31338   case 745:
31339 #line 5308 "gram.y" /* yacc.c:1652  */
31340     { (yyval.str) = "all"; }
31341 #line 31342 "gram.c" /* yacc.c:1652  */
31342     break;
31343 
31344   case 746:
31345 #line 5312 "gram.y" /* yacc.c:1652  */
31346     { (yyval.str) = "all"; }
31347 #line 31348 "gram.c" /* yacc.c:1652  */
31348     break;
31349 
31350   case 747:
31351 #line 5313 "gram.y" /* yacc.c:1652  */
31352     { (yyval.str) = "select"; }
31353 #line 31354 "gram.c" /* yacc.c:1652  */
31354     break;
31355 
31356   case 748:
31357 #line 5314 "gram.y" /* yacc.c:1652  */
31358     { (yyval.str) = "insert"; }
31359 #line 31360 "gram.c" /* yacc.c:1652  */
31360     break;
31361 
31362   case 749:
31363 #line 5315 "gram.y" /* yacc.c:1652  */
31364     { (yyval.str) = "update"; }
31365 #line 31366 "gram.c" /* yacc.c:1652  */
31366     break;
31367 
31368   case 750:
31369 #line 5316 "gram.y" /* yacc.c:1652  */
31370     { (yyval.str) = "delete"; }
31371 #line 31372 "gram.c" /* yacc.c:1652  */
31372     break;
31373 
31374   case 751:
31375 #line 5327 "gram.y" /* yacc.c:1652  */
31376     {
31377 					CreateAmStmt *n = makeNode(CreateAmStmt);
31378 					n->amname = (yyvsp[-4].str);
31379 					n->handler_name = (yyvsp[0].list);
31380 					n->amtype = AMTYPE_INDEX;
31381 					(yyval.node) = (Node *) n;
31382 				}
31383 #line 31384 "gram.c" /* yacc.c:1652  */
31384     break;
31385 
31386   case 752:
31387 #line 5347 "gram.y" /* yacc.c:1652  */
31388     {
31389 					CreateTrigStmt *n = makeNode(CreateTrigStmt);
31390 					n->trigname = (yyvsp[-13].str);
31391 					n->relation = (yyvsp[-9].range);
31392 					n->funcname = (yyvsp[-3].list);
31393 					n->args = (yyvsp[-1].list);
31394 					n->row = (yyvsp[-7].boolean);
31395 					n->timing = (yyvsp[-12].ival);
31396 					n->events = intVal(linitial((yyvsp[-11].list)));
31397 					n->columns = (List *) lsecond((yyvsp[-11].list));
31398 					n->whenClause = (yyvsp[-6].node);
31399 					n->transitionRels = (yyvsp[-8].list);
31400 					n->isconstraint  = false;
31401 					n->deferrable	 = false;
31402 					n->initdeferred  = false;
31403 					n->constrrel = NULL;
31404 					(yyval.node) = (Node *)n;
31405 				}
31406 #line 31407 "gram.c" /* yacc.c:1652  */
31407     break;
31408 
31409   case 753:
31410 #line 5369 "gram.y" /* yacc.c:1652  */
31411     {
31412 					CreateTrigStmt *n = makeNode(CreateTrigStmt);
31413 					n->trigname = (yyvsp[-16].str);
31414 					n->relation = (yyvsp[-12].range);
31415 					n->funcname = (yyvsp[-3].list);
31416 					n->args = (yyvsp[-1].list);
31417 					n->row = true;
31418 					n->timing = TRIGGER_TYPE_AFTER;
31419 					n->events = intVal(linitial((yyvsp[-14].list)));
31420 					n->columns = (List *) lsecond((yyvsp[-14].list));
31421 					n->whenClause = (yyvsp[-6].node);
31422 					n->transitionRels = NIL;
31423 					n->isconstraint  = true;
31424 					processCASbits((yyvsp[-10].ival), (yylsp[-10]), "TRIGGER",
31425 								   &n->deferrable, &n->initdeferred, NULL,
31426 								   NULL, yyscanner);
31427 					n->constrrel = (yyvsp[-11].range);
31428 					(yyval.node) = (Node *)n;
31429 				}
31430 #line 31431 "gram.c" /* yacc.c:1652  */
31431     break;
31432 
31433   case 754:
31434 #line 5391 "gram.y" /* yacc.c:1652  */
31435     { (yyval.ival) = TRIGGER_TYPE_BEFORE; }
31436 #line 31437 "gram.c" /* yacc.c:1652  */
31437     break;
31438 
31439   case 755:
31440 #line 5392 "gram.y" /* yacc.c:1652  */
31441     { (yyval.ival) = TRIGGER_TYPE_AFTER; }
31442 #line 31443 "gram.c" /* yacc.c:1652  */
31443     break;
31444 
31445   case 756:
31446 #line 5393 "gram.y" /* yacc.c:1652  */
31447     { (yyval.ival) = TRIGGER_TYPE_INSTEAD; }
31448 #line 31449 "gram.c" /* yacc.c:1652  */
31449     break;
31450 
31451   case 757:
31452 #line 5398 "gram.y" /* yacc.c:1652  */
31453     { (yyval.list) = (yyvsp[0].list); }
31454 #line 31455 "gram.c" /* yacc.c:1652  */
31455     break;
31456 
31457   case 758:
31458 #line 5400 "gram.y" /* yacc.c:1652  */
31459     {
31460 					int		events1 = intVal(linitial((yyvsp[-2].list)));
31461 					int		events2 = intVal(linitial((yyvsp[0].list)));
31462 					List   *columns1 = (List *) lsecond((yyvsp[-2].list));
31463 					List   *columns2 = (List *) lsecond((yyvsp[0].list));
31464 
31465 					if (events1 & events2)
31466 						parser_yyerror("duplicate trigger events specified");
31467 					/*
31468 					 * concat'ing the columns lists loses information about
31469 					 * which columns went with which event, but so long as
31470 					 * only UPDATE carries columns and we disallow multiple
31471 					 * UPDATE items, it doesn't matter.  Command execution
31472 					 * should just ignore the columns for non-UPDATE events.
31473 					 */
31474 					(yyval.list) = list_make2(makeInteger(events1 | events2),
31475 									list_concat(columns1, columns2));
31476 				}
31477 #line 31478 "gram.c" /* yacc.c:1652  */
31478     break;
31479 
31480   case 759:
31481 #line 5422 "gram.y" /* yacc.c:1652  */
31482     { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_INSERT), NIL); }
31483 #line 31484 "gram.c" /* yacc.c:1652  */
31484     break;
31485 
31486   case 760:
31487 #line 5424 "gram.y" /* yacc.c:1652  */
31488     { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_DELETE), NIL); }
31489 #line 31490 "gram.c" /* yacc.c:1652  */
31490     break;
31491 
31492   case 761:
31493 #line 5426 "gram.y" /* yacc.c:1652  */
31494     { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_UPDATE), NIL); }
31495 #line 31496 "gram.c" /* yacc.c:1652  */
31496     break;
31497 
31498   case 762:
31499 #line 5428 "gram.y" /* yacc.c:1652  */
31500     { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_UPDATE), (yyvsp[0].list)); }
31501 #line 31502 "gram.c" /* yacc.c:1652  */
31502     break;
31503 
31504   case 763:
31505 #line 5430 "gram.y" /* yacc.c:1652  */
31506     { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_TRUNCATE), NIL); }
31507 #line 31508 "gram.c" /* yacc.c:1652  */
31508     break;
31509 
31510   case 764:
31511 #line 5434 "gram.y" /* yacc.c:1652  */
31512     { (yyval.list) = (yyvsp[0].list); }
31513 #line 31514 "gram.c" /* yacc.c:1652  */
31514     break;
31515 
31516   case 765:
31517 #line 5435 "gram.y" /* yacc.c:1652  */
31518     { (yyval.list) = NIL; }
31519 #line 31520 "gram.c" /* yacc.c:1652  */
31520     break;
31521 
31522   case 766:
31523 #line 5439 "gram.y" /* yacc.c:1652  */
31524     { (yyval.list) = list_make1((yyvsp[0].node)); }
31525 #line 31526 "gram.c" /* yacc.c:1652  */
31526     break;
31527 
31528   case 767:
31529 #line 5440 "gram.y" /* yacc.c:1652  */
31530     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
31531 #line 31532 "gram.c" /* yacc.c:1652  */
31532     break;
31533 
31534   case 768:
31535 #line 5445 "gram.y" /* yacc.c:1652  */
31536     {
31537 					TriggerTransition *n = makeNode(TriggerTransition);
31538 					n->name = (yyvsp[0].str);
31539 					n->isNew = (yyvsp[-3].boolean);
31540 					n->isTable = (yyvsp[-2].boolean);
31541 					(yyval.node) = (Node *)n;
31542 				}
31543 #line 31544 "gram.c" /* yacc.c:1652  */
31544     break;
31545 
31546   case 769:
31547 #line 5455 "gram.y" /* yacc.c:1652  */
31548     { (yyval.boolean) = true; }
31549 #line 31550 "gram.c" /* yacc.c:1652  */
31550     break;
31551 
31552   case 770:
31553 #line 5456 "gram.y" /* yacc.c:1652  */
31554     { (yyval.boolean) = false; }
31555 #line 31556 "gram.c" /* yacc.c:1652  */
31556     break;
31557 
31558   case 771:
31559 #line 5460 "gram.y" /* yacc.c:1652  */
31560     { (yyval.boolean) = true; }
31561 #line 31562 "gram.c" /* yacc.c:1652  */
31562     break;
31563 
31564   case 772:
31565 #line 5469 "gram.y" /* yacc.c:1652  */
31566     { (yyval.boolean) = false; }
31567 #line 31568 "gram.c" /* yacc.c:1652  */
31568     break;
31569 
31570   case 773:
31571 #line 5473 "gram.y" /* yacc.c:1652  */
31572     { (yyval.str) = (yyvsp[0].str); }
31573 #line 31574 "gram.c" /* yacc.c:1652  */
31574     break;
31575 
31576   case 774:
31577 #line 5478 "gram.y" /* yacc.c:1652  */
31578     {
31579 					(yyval.boolean) = (yyvsp[0].boolean);
31580 				}
31581 #line 31582 "gram.c" /* yacc.c:1652  */
31582     break;
31583 
31584   case 775:
31585 #line 5482 "gram.y" /* yacc.c:1652  */
31586     {
31587 					/*
31588 					 * If ROW/STATEMENT not specified, default to
31589 					 * STATEMENT, per SQL
31590 					 */
31591 					(yyval.boolean) = false;
31592 				}
31593 #line 31594 "gram.c" /* yacc.c:1652  */
31594     break;
31595 
31596   case 776:
31597 #line 5492 "gram.y" /* yacc.c:1652  */
31598     {}
31599 #line 31600 "gram.c" /* yacc.c:1652  */
31600     break;
31601 
31602   case 777:
31603 #line 5493 "gram.y" /* yacc.c:1652  */
31604     {}
31605 #line 31606 "gram.c" /* yacc.c:1652  */
31606     break;
31607 
31608   case 778:
31609 #line 5497 "gram.y" /* yacc.c:1652  */
31610     { (yyval.boolean) = true; }
31611 #line 31612 "gram.c" /* yacc.c:1652  */
31612     break;
31613 
31614   case 779:
31615 #line 5498 "gram.y" /* yacc.c:1652  */
31616     { (yyval.boolean) = false; }
31617 #line 31618 "gram.c" /* yacc.c:1652  */
31618     break;
31619 
31620   case 780:
31621 #line 5502 "gram.y" /* yacc.c:1652  */
31622     { (yyval.node) = (yyvsp[-1].node); }
31623 #line 31624 "gram.c" /* yacc.c:1652  */
31624     break;
31625 
31626   case 781:
31627 #line 5503 "gram.y" /* yacc.c:1652  */
31628     { (yyval.node) = NULL; }
31629 #line 31630 "gram.c" /* yacc.c:1652  */
31630     break;
31631 
31632   case 784:
31633 #line 5512 "gram.y" /* yacc.c:1652  */
31634     { (yyval.list) = list_make1((yyvsp[0].value)); }
31635 #line 31636 "gram.c" /* yacc.c:1652  */
31636     break;
31637 
31638   case 785:
31639 #line 5513 "gram.y" /* yacc.c:1652  */
31640     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].value)); }
31641 #line 31642 "gram.c" /* yacc.c:1652  */
31642     break;
31643 
31644   case 786:
31645 #line 5514 "gram.y" /* yacc.c:1652  */
31646     { (yyval.list) = NIL; }
31647 #line 31648 "gram.c" /* yacc.c:1652  */
31648     break;
31649 
31650   case 787:
31651 #line 5519 "gram.y" /* yacc.c:1652  */
31652     {
31653 					(yyval.value) = makeString(psprintf("%d", (yyvsp[0].ival)));
31654 				}
31655 #line 31656 "gram.c" /* yacc.c:1652  */
31656     break;
31657 
31658   case 788:
31659 #line 5522 "gram.y" /* yacc.c:1652  */
31660     { (yyval.value) = makeString((yyvsp[0].str)); }
31661 #line 31662 "gram.c" /* yacc.c:1652  */
31662     break;
31663 
31664   case 789:
31665 #line 5523 "gram.y" /* yacc.c:1652  */
31666     { (yyval.value) = makeString((yyvsp[0].str)); }
31667 #line 31668 "gram.c" /* yacc.c:1652  */
31668     break;
31669 
31670   case 790:
31671 #line 5524 "gram.y" /* yacc.c:1652  */
31672     { (yyval.value) = makeString((yyvsp[0].str)); }
31673 #line 31674 "gram.c" /* yacc.c:1652  */
31674     break;
31675 
31676   case 791:
31677 #line 5528 "gram.y" /* yacc.c:1652  */
31678     { (yyval.range) = (yyvsp[0].range); }
31679 #line 31680 "gram.c" /* yacc.c:1652  */
31680     break;
31681 
31682   case 792:
31683 #line 5529 "gram.y" /* yacc.c:1652  */
31684     { (yyval.range) = NULL; }
31685 #line 31686 "gram.c" /* yacc.c:1652  */
31686     break;
31687 
31688   case 793:
31689 #line 5534 "gram.y" /* yacc.c:1652  */
31690     { (yyval.ival) = 0; }
31691 #line 31692 "gram.c" /* yacc.c:1652  */
31692     break;
31693 
31694   case 794:
31695 #line 5536 "gram.y" /* yacc.c:1652  */
31696     {
31697 					/*
31698 					 * We must complain about conflicting options.
31699 					 * We could, but choose not to, complain about redundant
31700 					 * options (ie, where $2's bit is already set in $1).
31701 					 */
31702 					int		newspec = (yyvsp[-1].ival) | (yyvsp[0].ival);
31703 
31704 					/* special message for this case */
31705 					if ((newspec & (CAS_NOT_DEFERRABLE | CAS_INITIALLY_DEFERRED)) == (CAS_NOT_DEFERRABLE | CAS_INITIALLY_DEFERRED))
31706 						ereport(ERROR,
31707 								(errcode(ERRCODE_SYNTAX_ERROR),
31708 								 errmsg("constraint declared INITIALLY DEFERRED must be DEFERRABLE"),
31709 								 parser_errposition((yylsp[0]))));
31710 					/* generic message for other conflicts */
31711 					if ((newspec & (CAS_NOT_DEFERRABLE | CAS_DEFERRABLE)) == (CAS_NOT_DEFERRABLE | CAS_DEFERRABLE) ||
31712 						(newspec & (CAS_INITIALLY_IMMEDIATE | CAS_INITIALLY_DEFERRED)) == (CAS_INITIALLY_IMMEDIATE | CAS_INITIALLY_DEFERRED))
31713 						ereport(ERROR,
31714 								(errcode(ERRCODE_SYNTAX_ERROR),
31715 								 errmsg("conflicting constraint properties"),
31716 								 parser_errposition((yylsp[0]))));
31717 					(yyval.ival) = newspec;
31718 				}
31719 #line 31720 "gram.c" /* yacc.c:1652  */
31720     break;
31721 
31722   case 795:
31723 #line 5562 "gram.y" /* yacc.c:1652  */
31724     { (yyval.ival) = CAS_NOT_DEFERRABLE; }
31725 #line 31726 "gram.c" /* yacc.c:1652  */
31726     break;
31727 
31728   case 796:
31729 #line 5563 "gram.y" /* yacc.c:1652  */
31730     { (yyval.ival) = CAS_DEFERRABLE; }
31731 #line 31732 "gram.c" /* yacc.c:1652  */
31732     break;
31733 
31734   case 797:
31735 #line 5564 "gram.y" /* yacc.c:1652  */
31736     { (yyval.ival) = CAS_INITIALLY_IMMEDIATE; }
31737 #line 31738 "gram.c" /* yacc.c:1652  */
31738     break;
31739 
31740   case 798:
31741 #line 5565 "gram.y" /* yacc.c:1652  */
31742     { (yyval.ival) = CAS_INITIALLY_DEFERRED; }
31743 #line 31744 "gram.c" /* yacc.c:1652  */
31744     break;
31745 
31746   case 799:
31747 #line 5566 "gram.y" /* yacc.c:1652  */
31748     { (yyval.ival) = CAS_NOT_VALID; }
31749 #line 31750 "gram.c" /* yacc.c:1652  */
31750     break;
31751 
31752   case 800:
31753 #line 5567 "gram.y" /* yacc.c:1652  */
31754     { (yyval.ival) = CAS_NO_INHERIT; }
31755 #line 31756 "gram.c" /* yacc.c:1652  */
31756     break;
31757 
31758   case 801:
31759 #line 5582 "gram.y" /* yacc.c:1652  */
31760     {
31761 					CreateEventTrigStmt *n = makeNode(CreateEventTrigStmt);
31762 					n->trigname = (yyvsp[-7].str);
31763 					n->eventname = (yyvsp[-5].str);
31764 					n->whenclause = NULL;
31765 					n->funcname = (yyvsp[-2].list);
31766 					(yyval.node) = (Node *)n;
31767 				}
31768 #line 31769 "gram.c" /* yacc.c:1652  */
31769     break;
31770 
31771   case 802:
31772 #line 5593 "gram.y" /* yacc.c:1652  */
31773     {
31774 					CreateEventTrigStmt *n = makeNode(CreateEventTrigStmt);
31775 					n->trigname = (yyvsp[-9].str);
31776 					n->eventname = (yyvsp[-7].str);
31777 					n->whenclause = (yyvsp[-5].list);
31778 					n->funcname = (yyvsp[-2].list);
31779 					(yyval.node) = (Node *)n;
31780 				}
31781 #line 31782 "gram.c" /* yacc.c:1652  */
31782     break;
31783 
31784   case 803:
31785 #line 5605 "gram.y" /* yacc.c:1652  */
31786     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
31787 #line 31788 "gram.c" /* yacc.c:1652  */
31788     break;
31789 
31790   case 804:
31791 #line 5607 "gram.y" /* yacc.c:1652  */
31792     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
31793 #line 31794 "gram.c" /* yacc.c:1652  */
31794     break;
31795 
31796   case 805:
31797 #line 5612 "gram.y" /* yacc.c:1652  */
31798     { (yyval.defelt) = makeDefElem((yyvsp[-4].str), (Node *) (yyvsp[-1].list), (yylsp[-4])); }
31799 #line 31800 "gram.c" /* yacc.c:1652  */
31800     break;
31801 
31802   case 806:
31803 #line 5617 "gram.y" /* yacc.c:1652  */
31804     { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
31805 #line 31806 "gram.c" /* yacc.c:1652  */
31806     break;
31807 
31808   case 807:
31809 #line 5619 "gram.y" /* yacc.c:1652  */
31810     { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
31811 #line 31812 "gram.c" /* yacc.c:1652  */
31812     break;
31813 
31814   case 808:
31815 #line 5624 "gram.y" /* yacc.c:1652  */
31816     {
31817 					AlterEventTrigStmt *n = makeNode(AlterEventTrigStmt);
31818 					n->trigname = (yyvsp[-1].str);
31819 					n->tgenabled = (yyvsp[0].chr);
31820 					(yyval.node) = (Node *) n;
31821 				}
31822 #line 31823 "gram.c" /* yacc.c:1652  */
31823     break;
31824 
31825   case 809:
31826 #line 5633 "gram.y" /* yacc.c:1652  */
31827     { (yyval.chr) = TRIGGER_FIRES_ON_ORIGIN; }
31828 #line 31829 "gram.c" /* yacc.c:1652  */
31829     break;
31830 
31831   case 810:
31832 #line 5634 "gram.y" /* yacc.c:1652  */
31833     { (yyval.chr) = TRIGGER_FIRES_ON_REPLICA; }
31834 #line 31835 "gram.c" /* yacc.c:1652  */
31835     break;
31836 
31837   case 811:
31838 #line 5635 "gram.y" /* yacc.c:1652  */
31839     { (yyval.chr) = TRIGGER_FIRES_ALWAYS; }
31840 #line 31841 "gram.c" /* yacc.c:1652  */
31841     break;
31842 
31843   case 812:
31844 #line 5636 "gram.y" /* yacc.c:1652  */
31845     { (yyval.chr) = TRIGGER_DISABLED; }
31846 #line 31847 "gram.c" /* yacc.c:1652  */
31847     break;
31848 
31849   case 813:
31850 #line 5650 "gram.y" /* yacc.c:1652  */
31851     {
31852 					CreateTrigStmt *n = makeNode(CreateTrigStmt);
31853 					n->trigname = (yyvsp[-5].str);
31854 					n->args = list_make1((yyvsp[-2].node));
31855 					n->isconstraint  = true;
31856 					processCASbits((yyvsp[0].ival), (yylsp[0]), "ASSERTION",
31857 								   &n->deferrable, &n->initdeferred, NULL,
31858 								   NULL, yyscanner);
31859 
31860 					ereport(ERROR,
31861 							(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
31862 							 errmsg("CREATE ASSERTION is not yet implemented")));
31863 
31864 					(yyval.node) = (Node *)n;
31865 				}
31866 #line 31867 "gram.c" /* yacc.c:1652  */
31867     break;
31868 
31869   case 814:
31870 #line 5669 "gram.y" /* yacc.c:1652  */
31871     {
31872 					DropStmt *n = makeNode(DropStmt);
31873 					n->objects = NIL;
31874 					n->behavior = (yyvsp[0].dbehavior);
31875 					n->removeType = OBJECT_TRIGGER; /* XXX */
31876 					ereport(ERROR,
31877 							(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
31878 							 errmsg("DROP ASSERTION is not yet implemented")));
31879 					(yyval.node) = (Node *) n;
31880 				}
31881 #line 31882 "gram.c" /* yacc.c:1652  */
31882     break;
31883 
31884   case 815:
31885 #line 5691 "gram.y" /* yacc.c:1652  */
31886     {
31887 					DefineStmt *n = makeNode(DefineStmt);
31888 					n->kind = OBJECT_AGGREGATE;
31889 					n->oldstyle = false;
31890 					n->defnames = (yyvsp[-2].list);
31891 					n->args = (yyvsp[-1].list);
31892 					n->definition = (yyvsp[0].list);
31893 					(yyval.node) = (Node *)n;
31894 				}
31895 #line 31896 "gram.c" /* yacc.c:1652  */
31896     break;
31897 
31898   case 816:
31899 #line 5701 "gram.y" /* yacc.c:1652  */
31900     {
31901 					/* old-style (pre-8.2) syntax for CREATE AGGREGATE */
31902 					DefineStmt *n = makeNode(DefineStmt);
31903 					n->kind = OBJECT_AGGREGATE;
31904 					n->oldstyle = true;
31905 					n->defnames = (yyvsp[-1].list);
31906 					n->args = NIL;
31907 					n->definition = (yyvsp[0].list);
31908 					(yyval.node) = (Node *)n;
31909 				}
31910 #line 31911 "gram.c" /* yacc.c:1652  */
31911     break;
31912 
31913   case 817:
31914 #line 5712 "gram.y" /* yacc.c:1652  */
31915     {
31916 					DefineStmt *n = makeNode(DefineStmt);
31917 					n->kind = OBJECT_OPERATOR;
31918 					n->oldstyle = false;
31919 					n->defnames = (yyvsp[-1].list);
31920 					n->args = NIL;
31921 					n->definition = (yyvsp[0].list);
31922 					(yyval.node) = (Node *)n;
31923 				}
31924 #line 31925 "gram.c" /* yacc.c:1652  */
31925     break;
31926 
31927   case 818:
31928 #line 5722 "gram.y" /* yacc.c:1652  */
31929     {
31930 					DefineStmt *n = makeNode(DefineStmt);
31931 					n->kind = OBJECT_TYPE;
31932 					n->oldstyle = false;
31933 					n->defnames = (yyvsp[-1].list);
31934 					n->args = NIL;
31935 					n->definition = (yyvsp[0].list);
31936 					(yyval.node) = (Node *)n;
31937 				}
31938 #line 31939 "gram.c" /* yacc.c:1652  */
31939     break;
31940 
31941   case 819:
31942 #line 5732 "gram.y" /* yacc.c:1652  */
31943     {
31944 					/* Shell type (identified by lack of definition) */
31945 					DefineStmt *n = makeNode(DefineStmt);
31946 					n->kind = OBJECT_TYPE;
31947 					n->oldstyle = false;
31948 					n->defnames = (yyvsp[0].list);
31949 					n->args = NIL;
31950 					n->definition = NIL;
31951 					(yyval.node) = (Node *)n;
31952 				}
31953 #line 31954 "gram.c" /* yacc.c:1652  */
31954     break;
31955 
31956   case 820:
31957 #line 5743 "gram.y" /* yacc.c:1652  */
31958     {
31959 					CompositeTypeStmt *n = makeNode(CompositeTypeStmt);
31960 
31961 					/* can't use qualified_name, sigh */
31962 					n->typevar = makeRangeVarFromAnyName((yyvsp[-4].list), (yylsp[-4]), yyscanner);
31963 					n->coldeflist = (yyvsp[-1].list);
31964 					(yyval.node) = (Node *)n;
31965 				}
31966 #line 31967 "gram.c" /* yacc.c:1652  */
31967     break;
31968 
31969   case 821:
31970 #line 5752 "gram.y" /* yacc.c:1652  */
31971     {
31972 					CreateEnumStmt *n = makeNode(CreateEnumStmt);
31973 					n->typeName = (yyvsp[-5].list);
31974 					n->vals = (yyvsp[-1].list);
31975 					(yyval.node) = (Node *)n;
31976 				}
31977 #line 31978 "gram.c" /* yacc.c:1652  */
31978     break;
31979 
31980   case 822:
31981 #line 5759 "gram.y" /* yacc.c:1652  */
31982     {
31983 					CreateRangeStmt *n = makeNode(CreateRangeStmt);
31984 					n->typeName = (yyvsp[-3].list);
31985 					n->params	= (yyvsp[0].list);
31986 					(yyval.node) = (Node *)n;
31987 				}
31988 #line 31989 "gram.c" /* yacc.c:1652  */
31989     break;
31990 
31991   case 823:
31992 #line 5766 "gram.y" /* yacc.c:1652  */
31993     {
31994 					DefineStmt *n = makeNode(DefineStmt);
31995 					n->kind = OBJECT_TSPARSER;
31996 					n->args = NIL;
31997 					n->defnames = (yyvsp[-1].list);
31998 					n->definition = (yyvsp[0].list);
31999 					(yyval.node) = (Node *)n;
32000 				}
32001 #line 32002 "gram.c" /* yacc.c:1652  */
32002     break;
32003 
32004   case 824:
32005 #line 5775 "gram.y" /* yacc.c:1652  */
32006     {
32007 					DefineStmt *n = makeNode(DefineStmt);
32008 					n->kind = OBJECT_TSDICTIONARY;
32009 					n->args = NIL;
32010 					n->defnames = (yyvsp[-1].list);
32011 					n->definition = (yyvsp[0].list);
32012 					(yyval.node) = (Node *)n;
32013 				}
32014 #line 32015 "gram.c" /* yacc.c:1652  */
32015     break;
32016 
32017   case 825:
32018 #line 5784 "gram.y" /* yacc.c:1652  */
32019     {
32020 					DefineStmt *n = makeNode(DefineStmt);
32021 					n->kind = OBJECT_TSTEMPLATE;
32022 					n->args = NIL;
32023 					n->defnames = (yyvsp[-1].list);
32024 					n->definition = (yyvsp[0].list);
32025 					(yyval.node) = (Node *)n;
32026 				}
32027 #line 32028 "gram.c" /* yacc.c:1652  */
32028     break;
32029 
32030   case 826:
32031 #line 5793 "gram.y" /* yacc.c:1652  */
32032     {
32033 					DefineStmt *n = makeNode(DefineStmt);
32034 					n->kind = OBJECT_TSCONFIGURATION;
32035 					n->args = NIL;
32036 					n->defnames = (yyvsp[-1].list);
32037 					n->definition = (yyvsp[0].list);
32038 					(yyval.node) = (Node *)n;
32039 				}
32040 #line 32041 "gram.c" /* yacc.c:1652  */
32041     break;
32042 
32043   case 827:
32044 #line 5802 "gram.y" /* yacc.c:1652  */
32045     {
32046 					DefineStmt *n = makeNode(DefineStmt);
32047 					n->kind = OBJECT_COLLATION;
32048 					n->args = NIL;
32049 					n->defnames = (yyvsp[-1].list);
32050 					n->definition = (yyvsp[0].list);
32051 					(yyval.node) = (Node *)n;
32052 				}
32053 #line 32054 "gram.c" /* yacc.c:1652  */
32054     break;
32055 
32056   case 828:
32057 #line 5811 "gram.y" /* yacc.c:1652  */
32058     {
32059 					DefineStmt *n = makeNode(DefineStmt);
32060 					n->kind = OBJECT_COLLATION;
32061 					n->args = NIL;
32062 					n->defnames = (yyvsp[-1].list);
32063 					n->definition = (yyvsp[0].list);
32064 					n->if_not_exists = true;
32065 					(yyval.node) = (Node *)n;
32066 				}
32067 #line 32068 "gram.c" /* yacc.c:1652  */
32068     break;
32069 
32070   case 829:
32071 #line 5821 "gram.y" /* yacc.c:1652  */
32072     {
32073 					DefineStmt *n = makeNode(DefineStmt);
32074 					n->kind = OBJECT_COLLATION;
32075 					n->args = NIL;
32076 					n->defnames = (yyvsp[-2].list);
32077 					n->definition = list_make1(makeDefElem("from", (Node *) (yyvsp[0].list), (yylsp[0])));
32078 					(yyval.node) = (Node *)n;
32079 				}
32080 #line 32081 "gram.c" /* yacc.c:1652  */
32081     break;
32082 
32083   case 830:
32084 #line 5830 "gram.y" /* yacc.c:1652  */
32085     {
32086 					DefineStmt *n = makeNode(DefineStmt);
32087 					n->kind = OBJECT_COLLATION;
32088 					n->args = NIL;
32089 					n->defnames = (yyvsp[-2].list);
32090 					n->definition = list_make1(makeDefElem("from", (Node *) (yyvsp[0].list), (yylsp[0])));
32091 					n->if_not_exists = true;
32092 					(yyval.node) = (Node *)n;
32093 				}
32094 #line 32095 "gram.c" /* yacc.c:1652  */
32095     break;
32096 
32097   case 831:
32098 #line 5841 "gram.y" /* yacc.c:1652  */
32099     { (yyval.list) = (yyvsp[-1].list); }
32100 #line 32101 "gram.c" /* yacc.c:1652  */
32101     break;
32102 
32103   case 832:
32104 #line 5844 "gram.y" /* yacc.c:1652  */
32105     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
32106 #line 32107 "gram.c" /* yacc.c:1652  */
32107     break;
32108 
32109   case 833:
32110 #line 5845 "gram.y" /* yacc.c:1652  */
32111     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
32112 #line 32113 "gram.c" /* yacc.c:1652  */
32113     break;
32114 
32115   case 834:
32116 #line 5849 "gram.y" /* yacc.c:1652  */
32117     {
32118 					(yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *) (yyvsp[0].node), (yylsp[-2]));
32119 				}
32120 #line 32121 "gram.c" /* yacc.c:1652  */
32121     break;
32122 
32123   case 835:
32124 #line 5853 "gram.y" /* yacc.c:1652  */
32125     {
32126 					(yyval.defelt) = makeDefElem((yyvsp[0].str), NULL, (yylsp[0]));
32127 				}
32128 #line 32129 "gram.c" /* yacc.c:1652  */
32129     break;
32130 
32131   case 836:
32132 #line 5859 "gram.y" /* yacc.c:1652  */
32133     { (yyval.node) = (Node *)(yyvsp[0].typnam); }
32134 #line 32135 "gram.c" /* yacc.c:1652  */
32135     break;
32136 
32137   case 837:
32138 #line 5860 "gram.y" /* yacc.c:1652  */
32139     { (yyval.node) = (Node *)makeString(pstrdup((yyvsp[0].keyword))); }
32140 #line 32141 "gram.c" /* yacc.c:1652  */
32141     break;
32142 
32143   case 838:
32144 #line 5861 "gram.y" /* yacc.c:1652  */
32145     { (yyval.node) = (Node *)(yyvsp[0].list); }
32146 #line 32147 "gram.c" /* yacc.c:1652  */
32147     break;
32148 
32149   case 839:
32150 #line 5862 "gram.y" /* yacc.c:1652  */
32151     { (yyval.node) = (Node *)(yyvsp[0].value); }
32152 #line 32153 "gram.c" /* yacc.c:1652  */
32153     break;
32154 
32155   case 840:
32156 #line 5863 "gram.y" /* yacc.c:1652  */
32157     { (yyval.node) = (Node *)makeString((yyvsp[0].str)); }
32158 #line 32159 "gram.c" /* yacc.c:1652  */
32159     break;
32160 
32161   case 841:
32162 #line 5864 "gram.y" /* yacc.c:1652  */
32163     { (yyval.node) = (Node *)makeString(pstrdup((yyvsp[0].keyword))); }
32164 #line 32165 "gram.c" /* yacc.c:1652  */
32165     break;
32166 
32167   case 842:
32168 #line 5867 "gram.y" /* yacc.c:1652  */
32169     { (yyval.list) = (yyvsp[-1].list); }
32170 #line 32171 "gram.c" /* yacc.c:1652  */
32171     break;
32172 
32173   case 843:
32174 #line 5870 "gram.y" /* yacc.c:1652  */
32175     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
32176 #line 32177 "gram.c" /* yacc.c:1652  */
32177     break;
32178 
32179   case 844:
32180 #line 5871 "gram.y" /* yacc.c:1652  */
32181     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
32182 #line 32183 "gram.c" /* yacc.c:1652  */
32183     break;
32184 
32185   case 845:
32186 #line 5880 "gram.y" /* yacc.c:1652  */
32187     {
32188 					(yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *)(yyvsp[0].node), (yylsp[-2]));
32189 				}
32190 #line 32191 "gram.c" /* yacc.c:1652  */
32191     break;
32192 
32193   case 846:
32194 #line 5886 "gram.y" /* yacc.c:1652  */
32195     { (yyval.list) = (yyvsp[0].list); }
32196 #line 32197 "gram.c" /* yacc.c:1652  */
32197     break;
32198 
32199   case 847:
32200 #line 5887 "gram.y" /* yacc.c:1652  */
32201     { (yyval.list) = NIL; }
32202 #line 32203 "gram.c" /* yacc.c:1652  */
32203     break;
32204 
32205   case 848:
32206 #line 5891 "gram.y" /* yacc.c:1652  */
32207     { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
32208 #line 32209 "gram.c" /* yacc.c:1652  */
32209     break;
32210 
32211   case 849:
32212 #line 5893 "gram.y" /* yacc.c:1652  */
32213     { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
32214 #line 32215 "gram.c" /* yacc.c:1652  */
32215     break;
32216 
32217   case 850:
32218 #line 5904 "gram.y" /* yacc.c:1652  */
32219     {
32220 				AlterEnumStmt *n = makeNode(AlterEnumStmt);
32221 				n->typeName = (yyvsp[-4].list);
32222 				n->oldVal = NULL;
32223 				n->newVal = (yyvsp[0].str);
32224 				n->newValNeighbor = NULL;
32225 				n->newValIsAfter = true;
32226 				n->skipIfNewValExists = (yyvsp[-1].boolean);
32227 				(yyval.node) = (Node *) n;
32228 			}
32229 #line 32230 "gram.c" /* yacc.c:1652  */
32230     break;
32231 
32232   case 851:
32233 #line 5915 "gram.y" /* yacc.c:1652  */
32234     {
32235 				AlterEnumStmt *n = makeNode(AlterEnumStmt);
32236 				n->typeName = (yyvsp[-6].list);
32237 				n->oldVal = NULL;
32238 				n->newVal = (yyvsp[-2].str);
32239 				n->newValNeighbor = (yyvsp[0].str);
32240 				n->newValIsAfter = false;
32241 				n->skipIfNewValExists = (yyvsp[-3].boolean);
32242 				(yyval.node) = (Node *) n;
32243 			}
32244 #line 32245 "gram.c" /* yacc.c:1652  */
32245     break;
32246 
32247   case 852:
32248 #line 5926 "gram.y" /* yacc.c:1652  */
32249     {
32250 				AlterEnumStmt *n = makeNode(AlterEnumStmt);
32251 				n->typeName = (yyvsp[-6].list);
32252 				n->oldVal = NULL;
32253 				n->newVal = (yyvsp[-2].str);
32254 				n->newValNeighbor = (yyvsp[0].str);
32255 				n->newValIsAfter = true;
32256 				n->skipIfNewValExists = (yyvsp[-3].boolean);
32257 				(yyval.node) = (Node *) n;
32258 			}
32259 #line 32260 "gram.c" /* yacc.c:1652  */
32260     break;
32261 
32262   case 853:
32263 #line 5937 "gram.y" /* yacc.c:1652  */
32264     {
32265 				AlterEnumStmt *n = makeNode(AlterEnumStmt);
32266 				n->typeName = (yyvsp[-5].list);
32267 				n->oldVal = (yyvsp[-2].str);
32268 				n->newVal = (yyvsp[0].str);
32269 				n->newValNeighbor = NULL;
32270 				n->newValIsAfter = false;
32271 				n->skipIfNewValExists = false;
32272 				(yyval.node) = (Node *) n;
32273 			}
32274 #line 32275 "gram.c" /* yacc.c:1652  */
32275     break;
32276 
32277   case 854:
32278 #line 5949 "gram.y" /* yacc.c:1652  */
32279     { (yyval.boolean) = true; }
32280 #line 32281 "gram.c" /* yacc.c:1652  */
32281     break;
32282 
32283   case 855:
32284 #line 5950 "gram.y" /* yacc.c:1652  */
32285     { (yyval.boolean) = false; }
32286 #line 32287 "gram.c" /* yacc.c:1652  */
32287     break;
32288 
32289   case 856:
32290 #line 5968 "gram.y" /* yacc.c:1652  */
32291     {
32292 					CreateOpClassStmt *n = makeNode(CreateOpClassStmt);
32293 					n->opclassname = (yyvsp[-9].list);
32294 					n->isDefault = (yyvsp[-8].boolean);
32295 					n->datatype = (yyvsp[-5].typnam);
32296 					n->amname = (yyvsp[-3].str);
32297 					n->opfamilyname = (yyvsp[-2].list);
32298 					n->items = (yyvsp[0].list);
32299 					(yyval.node) = (Node *) n;
32300 				}
32301 #line 32302 "gram.c" /* yacc.c:1652  */
32302     break;
32303 
32304   case 857:
32305 #line 5981 "gram.y" /* yacc.c:1652  */
32306     { (yyval.list) = list_make1((yyvsp[0].node)); }
32307 #line 32308 "gram.c" /* yacc.c:1652  */
32308     break;
32309 
32310   case 858:
32311 #line 5982 "gram.y" /* yacc.c:1652  */
32312     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
32313 #line 32314 "gram.c" /* yacc.c:1652  */
32314     break;
32315 
32316   case 859:
32317 #line 5987 "gram.y" /* yacc.c:1652  */
32318     {
32319 					CreateOpClassItem *n = makeNode(CreateOpClassItem);
32320 					ObjectWithArgs *owa = makeNode(ObjectWithArgs);
32321 					owa->objname = (yyvsp[-2].list);
32322 					owa->objargs = NIL;
32323 					n->itemtype = OPCLASS_ITEM_OPERATOR;
32324 					n->name = owa;
32325 					n->number = (yyvsp[-3].ival);
32326 					n->order_family = (yyvsp[-1].list);
32327 					(yyval.node) = (Node *) n;
32328 				}
32329 #line 32330 "gram.c" /* yacc.c:1652  */
32330     break;
32331 
32332   case 860:
32333 #line 6000 "gram.y" /* yacc.c:1652  */
32334     {
32335 					CreateOpClassItem *n = makeNode(CreateOpClassItem);
32336 					n->itemtype = OPCLASS_ITEM_OPERATOR;
32337 					n->name = (yyvsp[-2].objwithargs);
32338 					n->number = (yyvsp[-3].ival);
32339 					n->order_family = (yyvsp[-1].list);
32340 					(yyval.node) = (Node *) n;
32341 				}
32342 #line 32343 "gram.c" /* yacc.c:1652  */
32343     break;
32344 
32345   case 861:
32346 #line 6009 "gram.y" /* yacc.c:1652  */
32347     {
32348 					CreateOpClassItem *n = makeNode(CreateOpClassItem);
32349 					n->itemtype = OPCLASS_ITEM_FUNCTION;
32350 					n->name = (yyvsp[0].objwithargs);
32351 					n->number = (yyvsp[-1].ival);
32352 					(yyval.node) = (Node *) n;
32353 				}
32354 #line 32355 "gram.c" /* yacc.c:1652  */
32355     break;
32356 
32357   case 862:
32358 #line 6017 "gram.y" /* yacc.c:1652  */
32359     {
32360 					CreateOpClassItem *n = makeNode(CreateOpClassItem);
32361 					n->itemtype = OPCLASS_ITEM_FUNCTION;
32362 					n->name = (yyvsp[0].objwithargs);
32363 					n->number = (yyvsp[-4].ival);
32364 					n->class_args = (yyvsp[-2].list);
32365 					(yyval.node) = (Node *) n;
32366 				}
32367 #line 32368 "gram.c" /* yacc.c:1652  */
32368     break;
32369 
32370   case 863:
32371 #line 6026 "gram.y" /* yacc.c:1652  */
32372     {
32373 					CreateOpClassItem *n = makeNode(CreateOpClassItem);
32374 					n->itemtype = OPCLASS_ITEM_STORAGETYPE;
32375 					n->storedtype = (yyvsp[0].typnam);
32376 					(yyval.node) = (Node *) n;
32377 				}
32378 #line 32379 "gram.c" /* yacc.c:1652  */
32379     break;
32380 
32381   case 864:
32382 #line 6034 "gram.y" /* yacc.c:1652  */
32383     { (yyval.boolean) = true; }
32384 #line 32385 "gram.c" /* yacc.c:1652  */
32385     break;
32386 
32387   case 865:
32388 #line 6035 "gram.y" /* yacc.c:1652  */
32389     { (yyval.boolean) = false; }
32390 #line 32391 "gram.c" /* yacc.c:1652  */
32391     break;
32392 
32393   case 866:
32394 #line 6038 "gram.y" /* yacc.c:1652  */
32395     { (yyval.list) = (yyvsp[0].list); }
32396 #line 32397 "gram.c" /* yacc.c:1652  */
32397     break;
32398 
32399   case 867:
32400 #line 6039 "gram.y" /* yacc.c:1652  */
32401     { (yyval.list) = NIL; }
32402 #line 32403 "gram.c" /* yacc.c:1652  */
32403     break;
32404 
32405   case 868:
32406 #line 6042 "gram.y" /* yacc.c:1652  */
32407     { (yyval.list) = NIL; }
32408 #line 32409 "gram.c" /* yacc.c:1652  */
32409     break;
32410 
32411   case 869:
32412 #line 6043 "gram.y" /* yacc.c:1652  */
32413     { (yyval.list) = (yyvsp[0].list); }
32414 #line 32415 "gram.c" /* yacc.c:1652  */
32415     break;
32416 
32417   case 870:
32418 #line 6044 "gram.y" /* yacc.c:1652  */
32419     { (yyval.list) = NIL; }
32420 #line 32421 "gram.c" /* yacc.c:1652  */
32421     break;
32422 
32423   case 871:
32424 #line 6048 "gram.y" /* yacc.c:1652  */
32425     {
32426 					/*
32427 					 * RECHECK no longer does anything in opclass definitions,
32428 					 * but we still accept it to ease porting of old database
32429 					 * dumps.
32430 					 */
32431 					ereport(NOTICE,
32432 							(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
32433 							 errmsg("RECHECK is no longer required"),
32434 							 errhint("Update your data type."),
32435 							 parser_errposition((yylsp[0]))));
32436 					(yyval.boolean) = true;
32437 				}
32438 #line 32439 "gram.c" /* yacc.c:1652  */
32439     break;
32440 
32441   case 872:
32442 #line 6061 "gram.y" /* yacc.c:1652  */
32443     { (yyval.boolean) = false; }
32444 #line 32445 "gram.c" /* yacc.c:1652  */
32445     break;
32446 
32447   case 873:
32448 #line 6067 "gram.y" /* yacc.c:1652  */
32449     {
32450 					CreateOpFamilyStmt *n = makeNode(CreateOpFamilyStmt);
32451 					n->opfamilyname = (yyvsp[-2].list);
32452 					n->amname = (yyvsp[0].str);
32453 					(yyval.node) = (Node *) n;
32454 				}
32455 #line 32456 "gram.c" /* yacc.c:1652  */
32456     break;
32457 
32458   case 874:
32459 #line 6077 "gram.y" /* yacc.c:1652  */
32460     {
32461 					AlterOpFamilyStmt *n = makeNode(AlterOpFamilyStmt);
32462 					n->opfamilyname = (yyvsp[-4].list);
32463 					n->amname = (yyvsp[-2].str);
32464 					n->isDrop = false;
32465 					n->items = (yyvsp[0].list);
32466 					(yyval.node) = (Node *) n;
32467 				}
32468 #line 32469 "gram.c" /* yacc.c:1652  */
32469     break;
32470 
32471   case 875:
32472 #line 6086 "gram.y" /* yacc.c:1652  */
32473     {
32474 					AlterOpFamilyStmt *n = makeNode(AlterOpFamilyStmt);
32475 					n->opfamilyname = (yyvsp[-4].list);
32476 					n->amname = (yyvsp[-2].str);
32477 					n->isDrop = true;
32478 					n->items = (yyvsp[0].list);
32479 					(yyval.node) = (Node *) n;
32480 				}
32481 #line 32482 "gram.c" /* yacc.c:1652  */
32482     break;
32483 
32484   case 876:
32485 #line 6097 "gram.y" /* yacc.c:1652  */
32486     { (yyval.list) = list_make1((yyvsp[0].node)); }
32487 #line 32488 "gram.c" /* yacc.c:1652  */
32488     break;
32489 
32490   case 877:
32491 #line 6098 "gram.y" /* yacc.c:1652  */
32492     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
32493 #line 32494 "gram.c" /* yacc.c:1652  */
32494     break;
32495 
32496   case 878:
32497 #line 6103 "gram.y" /* yacc.c:1652  */
32498     {
32499 					CreateOpClassItem *n = makeNode(CreateOpClassItem);
32500 					n->itemtype = OPCLASS_ITEM_OPERATOR;
32501 					n->number = (yyvsp[-3].ival);
32502 					n->class_args = (yyvsp[-1].list);
32503 					(yyval.node) = (Node *) n;
32504 				}
32505 #line 32506 "gram.c" /* yacc.c:1652  */
32506     break;
32507 
32508   case 879:
32509 #line 6111 "gram.y" /* yacc.c:1652  */
32510     {
32511 					CreateOpClassItem *n = makeNode(CreateOpClassItem);
32512 					n->itemtype = OPCLASS_ITEM_FUNCTION;
32513 					n->number = (yyvsp[-3].ival);
32514 					n->class_args = (yyvsp[-1].list);
32515 					(yyval.node) = (Node *) n;
32516 				}
32517 #line 32518 "gram.c" /* yacc.c:1652  */
32518     break;
32519 
32520   case 880:
32521 #line 6123 "gram.y" /* yacc.c:1652  */
32522     {
32523 					DropStmt *n = makeNode(DropStmt);
32524 					n->objects = list_make1(lcons(makeString((yyvsp[-1].str)), (yyvsp[-3].list)));
32525 					n->removeType = OBJECT_OPCLASS;
32526 					n->behavior = (yyvsp[0].dbehavior);
32527 					n->missing_ok = false;
32528 					n->concurrent = false;
32529 					(yyval.node) = (Node *) n;
32530 				}
32531 #line 32532 "gram.c" /* yacc.c:1652  */
32532     break;
32533 
32534   case 881:
32535 #line 6133 "gram.y" /* yacc.c:1652  */
32536     {
32537 					DropStmt *n = makeNode(DropStmt);
32538 					n->objects = list_make1(lcons(makeString((yyvsp[-1].str)), (yyvsp[-3].list)));
32539 					n->removeType = OBJECT_OPCLASS;
32540 					n->behavior = (yyvsp[0].dbehavior);
32541 					n->missing_ok = true;
32542 					n->concurrent = false;
32543 					(yyval.node) = (Node *) n;
32544 				}
32545 #line 32546 "gram.c" /* yacc.c:1652  */
32546     break;
32547 
32548   case 882:
32549 #line 6146 "gram.y" /* yacc.c:1652  */
32550     {
32551 					DropStmt *n = makeNode(DropStmt);
32552 					n->objects = list_make1(lcons(makeString((yyvsp[-1].str)), (yyvsp[-3].list)));
32553 					n->removeType = OBJECT_OPFAMILY;
32554 					n->behavior = (yyvsp[0].dbehavior);
32555 					n->missing_ok = false;
32556 					n->concurrent = false;
32557 					(yyval.node) = (Node *) n;
32558 				}
32559 #line 32560 "gram.c" /* yacc.c:1652  */
32560     break;
32561 
32562   case 883:
32563 #line 6156 "gram.y" /* yacc.c:1652  */
32564     {
32565 					DropStmt *n = makeNode(DropStmt);
32566 					n->objects = list_make1(lcons(makeString((yyvsp[-1].str)), (yyvsp[-3].list)));
32567 					n->removeType = OBJECT_OPFAMILY;
32568 					n->behavior = (yyvsp[0].dbehavior);
32569 					n->missing_ok = true;
32570 					n->concurrent = false;
32571 					(yyval.node) = (Node *) n;
32572 				}
32573 #line 32574 "gram.c" /* yacc.c:1652  */
32574     break;
32575 
32576   case 884:
32577 #line 6178 "gram.y" /* yacc.c:1652  */
32578     {
32579 					DropOwnedStmt *n = makeNode(DropOwnedStmt);
32580 					n->roles = (yyvsp[-1].list);
32581 					n->behavior = (yyvsp[0].dbehavior);
32582 					(yyval.node) = (Node *)n;
32583 				}
32584 #line 32585 "gram.c" /* yacc.c:1652  */
32585     break;
32586 
32587   case 885:
32588 #line 6188 "gram.y" /* yacc.c:1652  */
32589     {
32590 					ReassignOwnedStmt *n = makeNode(ReassignOwnedStmt);
32591 					n->roles = (yyvsp[-2].list);
32592 					n->newrole = (yyvsp[0].rolespec);
32593 					(yyval.node) = (Node *)n;
32594 				}
32595 #line 32596 "gram.c" /* yacc.c:1652  */
32596     break;
32597 
32598   case 886:
32599 #line 6206 "gram.y" /* yacc.c:1652  */
32600     {
32601 					DropStmt *n = makeNode(DropStmt);
32602 					n->removeType = (yyvsp[-4].objtype);
32603 					n->missing_ok = true;
32604 					n->objects = (yyvsp[-1].list);
32605 					n->behavior = (yyvsp[0].dbehavior);
32606 					n->concurrent = false;
32607 					(yyval.node) = (Node *)n;
32608 				}
32609 #line 32610 "gram.c" /* yacc.c:1652  */
32610     break;
32611 
32612   case 887:
32613 #line 6216 "gram.y" /* yacc.c:1652  */
32614     {
32615 					DropStmt *n = makeNode(DropStmt);
32616 					n->removeType = (yyvsp[-2].objtype);
32617 					n->missing_ok = false;
32618 					n->objects = (yyvsp[-1].list);
32619 					n->behavior = (yyvsp[0].dbehavior);
32620 					n->concurrent = false;
32621 					(yyval.node) = (Node *)n;
32622 				}
32623 #line 32624 "gram.c" /* yacc.c:1652  */
32624     break;
32625 
32626   case 888:
32627 #line 6226 "gram.y" /* yacc.c:1652  */
32628     {
32629 					DropStmt *n = makeNode(DropStmt);
32630 					n->removeType = (yyvsp[-4].objtype);
32631 					n->missing_ok = true;
32632 					n->objects = (yyvsp[-1].list);
32633 					n->behavior = (yyvsp[0].dbehavior);
32634 					n->concurrent = false;
32635 					(yyval.node) = (Node *)n;
32636 				}
32637 #line 32638 "gram.c" /* yacc.c:1652  */
32638     break;
32639 
32640   case 889:
32641 #line 6236 "gram.y" /* yacc.c:1652  */
32642     {
32643 					DropStmt *n = makeNode(DropStmt);
32644 					n->removeType = (yyvsp[-2].objtype);
32645 					n->missing_ok = false;
32646 					n->objects = (yyvsp[-1].list);
32647 					n->behavior = (yyvsp[0].dbehavior);
32648 					n->concurrent = false;
32649 					(yyval.node) = (Node *)n;
32650 				}
32651 #line 32652 "gram.c" /* yacc.c:1652  */
32652     break;
32653 
32654   case 890:
32655 #line 6246 "gram.y" /* yacc.c:1652  */
32656     {
32657 					DropStmt *n = makeNode(DropStmt);
32658 					n->removeType = (yyvsp[-4].objtype);
32659 					n->objects = list_make1(lappend((yyvsp[-1].list), makeString((yyvsp[-3].str))));
32660 					n->behavior = (yyvsp[0].dbehavior);
32661 					n->missing_ok = false;
32662 					n->concurrent = false;
32663 					(yyval.node) = (Node *) n;
32664 				}
32665 #line 32666 "gram.c" /* yacc.c:1652  */
32666     break;
32667 
32668   case 891:
32669 #line 6256 "gram.y" /* yacc.c:1652  */
32670     {
32671 					DropStmt *n = makeNode(DropStmt);
32672 					n->removeType = (yyvsp[-6].objtype);
32673 					n->objects = list_make1(lappend((yyvsp[-1].list), makeString((yyvsp[-3].str))));
32674 					n->behavior = (yyvsp[0].dbehavior);
32675 					n->missing_ok = true;
32676 					n->concurrent = false;
32677 					(yyval.node) = (Node *) n;
32678 				}
32679 #line 32680 "gram.c" /* yacc.c:1652  */
32680     break;
32681 
32682   case 892:
32683 #line 6266 "gram.y" /* yacc.c:1652  */
32684     {
32685 					DropStmt *n = makeNode(DropStmt);
32686 					n->removeType = OBJECT_TYPE;
32687 					n->missing_ok = false;
32688 					n->objects = (yyvsp[-1].list);
32689 					n->behavior = (yyvsp[0].dbehavior);
32690 					n->concurrent = false;
32691 					(yyval.node) = (Node *) n;
32692 				}
32693 #line 32694 "gram.c" /* yacc.c:1652  */
32694     break;
32695 
32696   case 893:
32697 #line 6276 "gram.y" /* yacc.c:1652  */
32698     {
32699 					DropStmt *n = makeNode(DropStmt);
32700 					n->removeType = OBJECT_TYPE;
32701 					n->missing_ok = true;
32702 					n->objects = (yyvsp[-1].list);
32703 					n->behavior = (yyvsp[0].dbehavior);
32704 					n->concurrent = false;
32705 					(yyval.node) = (Node *) n;
32706 				}
32707 #line 32708 "gram.c" /* yacc.c:1652  */
32708     break;
32709 
32710   case 894:
32711 #line 6286 "gram.y" /* yacc.c:1652  */
32712     {
32713 					DropStmt *n = makeNode(DropStmt);
32714 					n->removeType = OBJECT_DOMAIN;
32715 					n->missing_ok = false;
32716 					n->objects = (yyvsp[-1].list);
32717 					n->behavior = (yyvsp[0].dbehavior);
32718 					n->concurrent = false;
32719 					(yyval.node) = (Node *) n;
32720 				}
32721 #line 32722 "gram.c" /* yacc.c:1652  */
32722     break;
32723 
32724   case 895:
32725 #line 6296 "gram.y" /* yacc.c:1652  */
32726     {
32727 					DropStmt *n = makeNode(DropStmt);
32728 					n->removeType = OBJECT_DOMAIN;
32729 					n->missing_ok = true;
32730 					n->objects = (yyvsp[-1].list);
32731 					n->behavior = (yyvsp[0].dbehavior);
32732 					n->concurrent = false;
32733 					(yyval.node) = (Node *) n;
32734 				}
32735 #line 32736 "gram.c" /* yacc.c:1652  */
32736     break;
32737 
32738   case 896:
32739 #line 6306 "gram.y" /* yacc.c:1652  */
32740     {
32741 					DropStmt *n = makeNode(DropStmt);
32742 					n->removeType = OBJECT_INDEX;
32743 					n->missing_ok = false;
32744 					n->objects = (yyvsp[-1].list);
32745 					n->behavior = (yyvsp[0].dbehavior);
32746 					n->concurrent = true;
32747 					(yyval.node) = (Node *)n;
32748 				}
32749 #line 32750 "gram.c" /* yacc.c:1652  */
32750     break;
32751 
32752   case 897:
32753 #line 6316 "gram.y" /* yacc.c:1652  */
32754     {
32755 					DropStmt *n = makeNode(DropStmt);
32756 					n->removeType = OBJECT_INDEX;
32757 					n->missing_ok = true;
32758 					n->objects = (yyvsp[-1].list);
32759 					n->behavior = (yyvsp[0].dbehavior);
32760 					n->concurrent = true;
32761 					(yyval.node) = (Node *)n;
32762 				}
32763 #line 32764 "gram.c" /* yacc.c:1652  */
32764     break;
32765 
32766   case 898:
32767 #line 6329 "gram.y" /* yacc.c:1652  */
32768     { (yyval.objtype) = OBJECT_TABLE; }
32769 #line 32770 "gram.c" /* yacc.c:1652  */
32770     break;
32771 
32772   case 899:
32773 #line 6330 "gram.y" /* yacc.c:1652  */
32774     { (yyval.objtype) = OBJECT_SEQUENCE; }
32775 #line 32776 "gram.c" /* yacc.c:1652  */
32776     break;
32777 
32778   case 900:
32779 #line 6331 "gram.y" /* yacc.c:1652  */
32780     { (yyval.objtype) = OBJECT_VIEW; }
32781 #line 32782 "gram.c" /* yacc.c:1652  */
32782     break;
32783 
32784   case 901:
32785 #line 6332 "gram.y" /* yacc.c:1652  */
32786     { (yyval.objtype) = OBJECT_MATVIEW; }
32787 #line 32788 "gram.c" /* yacc.c:1652  */
32788     break;
32789 
32790   case 902:
32791 #line 6333 "gram.y" /* yacc.c:1652  */
32792     { (yyval.objtype) = OBJECT_INDEX; }
32793 #line 32794 "gram.c" /* yacc.c:1652  */
32794     break;
32795 
32796   case 903:
32797 #line 6334 "gram.y" /* yacc.c:1652  */
32798     { (yyval.objtype) = OBJECT_FOREIGN_TABLE; }
32799 #line 32800 "gram.c" /* yacc.c:1652  */
32800     break;
32801 
32802   case 904:
32803 #line 6335 "gram.y" /* yacc.c:1652  */
32804     { (yyval.objtype) = OBJECT_COLLATION; }
32805 #line 32806 "gram.c" /* yacc.c:1652  */
32806     break;
32807 
32808   case 905:
32809 #line 6336 "gram.y" /* yacc.c:1652  */
32810     { (yyval.objtype) = OBJECT_CONVERSION; }
32811 #line 32812 "gram.c" /* yacc.c:1652  */
32812     break;
32813 
32814   case 906:
32815 #line 6337 "gram.y" /* yacc.c:1652  */
32816     { (yyval.objtype) = OBJECT_STATISTIC_EXT; }
32817 #line 32818 "gram.c" /* yacc.c:1652  */
32818     break;
32819 
32820   case 907:
32821 #line 6338 "gram.y" /* yacc.c:1652  */
32822     { (yyval.objtype) = OBJECT_TSPARSER; }
32823 #line 32824 "gram.c" /* yacc.c:1652  */
32824     break;
32825 
32826   case 908:
32827 #line 6339 "gram.y" /* yacc.c:1652  */
32828     { (yyval.objtype) = OBJECT_TSDICTIONARY; }
32829 #line 32830 "gram.c" /* yacc.c:1652  */
32830     break;
32831 
32832   case 909:
32833 #line 6340 "gram.y" /* yacc.c:1652  */
32834     { (yyval.objtype) = OBJECT_TSTEMPLATE; }
32835 #line 32836 "gram.c" /* yacc.c:1652  */
32836     break;
32837 
32838   case 910:
32839 #line 6341 "gram.y" /* yacc.c:1652  */
32840     { (yyval.objtype) = OBJECT_TSCONFIGURATION; }
32841 #line 32842 "gram.c" /* yacc.c:1652  */
32842     break;
32843 
32844   case 911:
32845 #line 6346 "gram.y" /* yacc.c:1652  */
32846     { (yyval.objtype) = OBJECT_ACCESS_METHOD; }
32847 #line 32848 "gram.c" /* yacc.c:1652  */
32848     break;
32849 
32850   case 912:
32851 #line 6347 "gram.y" /* yacc.c:1652  */
32852     { (yyval.objtype) = OBJECT_EVENT_TRIGGER; }
32853 #line 32854 "gram.c" /* yacc.c:1652  */
32854     break;
32855 
32856   case 913:
32857 #line 6348 "gram.y" /* yacc.c:1652  */
32858     { (yyval.objtype) = OBJECT_EXTENSION; }
32859 #line 32860 "gram.c" /* yacc.c:1652  */
32860     break;
32861 
32862   case 914:
32863 #line 6349 "gram.y" /* yacc.c:1652  */
32864     { (yyval.objtype) = OBJECT_FDW; }
32865 #line 32866 "gram.c" /* yacc.c:1652  */
32866     break;
32867 
32868   case 915:
32869 #line 6350 "gram.y" /* yacc.c:1652  */
32870     { (yyval.objtype) = OBJECT_PUBLICATION; }
32871 #line 32872 "gram.c" /* yacc.c:1652  */
32872     break;
32873 
32874   case 916:
32875 #line 6351 "gram.y" /* yacc.c:1652  */
32876     { (yyval.objtype) = OBJECT_SCHEMA; }
32877 #line 32878 "gram.c" /* yacc.c:1652  */
32878     break;
32879 
32880   case 917:
32881 #line 6352 "gram.y" /* yacc.c:1652  */
32882     { (yyval.objtype) = OBJECT_FOREIGN_SERVER; }
32883 #line 32884 "gram.c" /* yacc.c:1652  */
32884     break;
32885 
32886   case 918:
32887 #line 6357 "gram.y" /* yacc.c:1652  */
32888     { (yyval.objtype) = OBJECT_POLICY; }
32889 #line 32890 "gram.c" /* yacc.c:1652  */
32890     break;
32891 
32892   case 919:
32893 #line 6358 "gram.y" /* yacc.c:1652  */
32894     { (yyval.objtype) = OBJECT_RULE; }
32895 #line 32896 "gram.c" /* yacc.c:1652  */
32896     break;
32897 
32898   case 920:
32899 #line 6359 "gram.y" /* yacc.c:1652  */
32900     { (yyval.objtype) = OBJECT_TRIGGER; }
32901 #line 32902 "gram.c" /* yacc.c:1652  */
32902     break;
32903 
32904   case 921:
32905 #line 6363 "gram.y" /* yacc.c:1652  */
32906     { (yyval.list) = list_make1((yyvsp[0].list)); }
32907 #line 32908 "gram.c" /* yacc.c:1652  */
32908     break;
32909 
32910   case 922:
32911 #line 6364 "gram.y" /* yacc.c:1652  */
32912     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].list)); }
32913 #line 32914 "gram.c" /* yacc.c:1652  */
32914     break;
32915 
32916   case 923:
32917 #line 6367 "gram.y" /* yacc.c:1652  */
32918     { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
32919 #line 32920 "gram.c" /* yacc.c:1652  */
32920     break;
32921 
32922   case 924:
32923 #line 6368 "gram.y" /* yacc.c:1652  */
32924     { (yyval.list) = lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)); }
32925 #line 32926 "gram.c" /* yacc.c:1652  */
32926     break;
32927 
32928   case 925:
32929 #line 6372 "gram.y" /* yacc.c:1652  */
32930     { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
32931 #line 32932 "gram.c" /* yacc.c:1652  */
32932     break;
32933 
32934   case 926:
32935 #line 6374 "gram.y" /* yacc.c:1652  */
32936     { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
32937 #line 32938 "gram.c" /* yacc.c:1652  */
32938     break;
32939 
32940   case 927:
32941 #line 6378 "gram.y" /* yacc.c:1652  */
32942     { (yyval.list) = list_make1((yyvsp[0].typnam)); }
32943 #line 32944 "gram.c" /* yacc.c:1652  */
32944     break;
32945 
32946   case 928:
32947 #line 6379 "gram.y" /* yacc.c:1652  */
32948     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].typnam)); }
32949 #line 32950 "gram.c" /* yacc.c:1652  */
32950     break;
32951 
32952   case 929:
32953 #line 6391 "gram.y" /* yacc.c:1652  */
32954     {
32955 					TruncateStmt *n = makeNode(TruncateStmt);
32956 					n->relations = (yyvsp[-2].list);
32957 					n->restart_seqs = (yyvsp[-1].boolean);
32958 					n->behavior = (yyvsp[0].dbehavior);
32959 					(yyval.node) = (Node *)n;
32960 				}
32961 #line 32962 "gram.c" /* yacc.c:1652  */
32962     break;
32963 
32964   case 930:
32965 #line 6401 "gram.y" /* yacc.c:1652  */
32966     { (yyval.boolean) = false; }
32967 #line 32968 "gram.c" /* yacc.c:1652  */
32968     break;
32969 
32970   case 931:
32971 #line 6402 "gram.y" /* yacc.c:1652  */
32972     { (yyval.boolean) = true; }
32973 #line 32974 "gram.c" /* yacc.c:1652  */
32974     break;
32975 
32976   case 932:
32977 #line 6403 "gram.y" /* yacc.c:1652  */
32978     { (yyval.boolean) = false; }
32979 #line 32980 "gram.c" /* yacc.c:1652  */
32980     break;
32981 
32982   case 933:
32983 #line 6438 "gram.y" /* yacc.c:1652  */
32984     {
32985 					CommentStmt *n = makeNode(CommentStmt);
32986 					n->objtype = (yyvsp[-3].objtype);
32987 					n->object = (Node *) (yyvsp[-2].list);
32988 					n->comment = (yyvsp[0].str);
32989 					(yyval.node) = (Node *) n;
32990 				}
32991 #line 32992 "gram.c" /* yacc.c:1652  */
32992     break;
32993 
32994   case 934:
32995 #line 6446 "gram.y" /* yacc.c:1652  */
32996     {
32997 					CommentStmt *n = makeNode(CommentStmt);
32998 					n->objtype = (yyvsp[-3].objtype);
32999 					n->object = (Node *) makeString((yyvsp[-2].str));
33000 					n->comment = (yyvsp[0].str);
33001 					(yyval.node) = (Node *) n;
33002 				}
33003 #line 33004 "gram.c" /* yacc.c:1652  */
33004     break;
33005 
33006   case 935:
33007 #line 6454 "gram.y" /* yacc.c:1652  */
33008     {
33009 					CommentStmt *n = makeNode(CommentStmt);
33010 					n->objtype = OBJECT_TYPE;
33011 					n->object = (Node *) (yyvsp[-2].typnam);
33012 					n->comment = (yyvsp[0].str);
33013 					(yyval.node) = (Node *) n;
33014 				}
33015 #line 33016 "gram.c" /* yacc.c:1652  */
33016     break;
33017 
33018   case 936:
33019 #line 6462 "gram.y" /* yacc.c:1652  */
33020     {
33021 					CommentStmt *n = makeNode(CommentStmt);
33022 					n->objtype = OBJECT_DOMAIN;
33023 					n->object = (Node *) (yyvsp[-2].typnam);
33024 					n->comment = (yyvsp[0].str);
33025 					(yyval.node) = (Node *) n;
33026 				}
33027 #line 33028 "gram.c" /* yacc.c:1652  */
33028     break;
33029 
33030   case 937:
33031 #line 6470 "gram.y" /* yacc.c:1652  */
33032     {
33033 					CommentStmt *n = makeNode(CommentStmt);
33034 					n->objtype = OBJECT_AGGREGATE;
33035 					n->object = (Node *) (yyvsp[-2].objwithargs);
33036 					n->comment = (yyvsp[0].str);
33037 					(yyval.node) = (Node *) n;
33038 				}
33039 #line 33040 "gram.c" /* yacc.c:1652  */
33040     break;
33041 
33042   case 938:
33043 #line 6478 "gram.y" /* yacc.c:1652  */
33044     {
33045 					CommentStmt *n = makeNode(CommentStmt);
33046 					n->objtype = OBJECT_FUNCTION;
33047 					n->object = (Node *) (yyvsp[-2].objwithargs);
33048 					n->comment = (yyvsp[0].str);
33049 					(yyval.node) = (Node *) n;
33050 				}
33051 #line 33052 "gram.c" /* yacc.c:1652  */
33052     break;
33053 
33054   case 939:
33055 #line 6486 "gram.y" /* yacc.c:1652  */
33056     {
33057 					CommentStmt *n = makeNode(CommentStmt);
33058 					n->objtype = OBJECT_OPERATOR;
33059 					n->object = (Node *) (yyvsp[-2].objwithargs);
33060 					n->comment = (yyvsp[0].str);
33061 					(yyval.node) = (Node *) n;
33062 				}
33063 #line 33064 "gram.c" /* yacc.c:1652  */
33064     break;
33065 
33066   case 940:
33067 #line 6494 "gram.y" /* yacc.c:1652  */
33068     {
33069 					CommentStmt *n = makeNode(CommentStmt);
33070 					n->objtype = OBJECT_TABCONSTRAINT;
33071 					n->object = (Node *) lappend((yyvsp[-2].list), makeString((yyvsp[-4].str)));
33072 					n->comment = (yyvsp[0].str);
33073 					(yyval.node) = (Node *) n;
33074 				}
33075 #line 33076 "gram.c" /* yacc.c:1652  */
33076     break;
33077 
33078   case 941:
33079 #line 6502 "gram.y" /* yacc.c:1652  */
33080     {
33081 					CommentStmt *n = makeNode(CommentStmt);
33082 					n->objtype = OBJECT_DOMCONSTRAINT;
33083 					/*
33084 					 * should use Typename not any_name in the production, but
33085 					 * there's a shift/reduce conflict if we do that, so fix it
33086 					 * up here.
33087 					 */
33088 					n->object = (Node *) list_make2(makeTypeNameFromNameList((yyvsp[-2].list)), makeString((yyvsp[-5].str)));
33089 					n->comment = (yyvsp[0].str);
33090 					(yyval.node) = (Node *) n;
33091 				}
33092 #line 33093 "gram.c" /* yacc.c:1652  */
33093     break;
33094 
33095   case 942:
33096 #line 6515 "gram.y" /* yacc.c:1652  */
33097     {
33098 					CommentStmt *n = makeNode(CommentStmt);
33099 					n->objtype = OBJECT_POLICY;
33100 					n->object = (Node *) lappend((yyvsp[-2].list), makeString((yyvsp[-4].str)));
33101 					n->comment = (yyvsp[0].str);
33102 					(yyval.node) = (Node *) n;
33103 				}
33104 #line 33105 "gram.c" /* yacc.c:1652  */
33105     break;
33106 
33107   case 943:
33108 #line 6523 "gram.y" /* yacc.c:1652  */
33109     {
33110 					CommentStmt *n = makeNode(CommentStmt);
33111 					n->objtype = OBJECT_PROCEDURE;
33112 					n->object = (Node *) (yyvsp[-2].objwithargs);
33113 					n->comment = (yyvsp[0].str);
33114 					(yyval.node) = (Node *) n;
33115 				}
33116 #line 33117 "gram.c" /* yacc.c:1652  */
33117     break;
33118 
33119   case 944:
33120 #line 6531 "gram.y" /* yacc.c:1652  */
33121     {
33122 					CommentStmt *n = makeNode(CommentStmt);
33123 					n->objtype = OBJECT_ROUTINE;
33124 					n->object = (Node *) (yyvsp[-2].objwithargs);
33125 					n->comment = (yyvsp[0].str);
33126 					(yyval.node) = (Node *) n;
33127 				}
33128 #line 33129 "gram.c" /* yacc.c:1652  */
33129     break;
33130 
33131   case 945:
33132 #line 6539 "gram.y" /* yacc.c:1652  */
33133     {
33134 					CommentStmt *n = makeNode(CommentStmt);
33135 					n->objtype = OBJECT_RULE;
33136 					n->object = (Node *) lappend((yyvsp[-2].list), makeString((yyvsp[-4].str)));
33137 					n->comment = (yyvsp[0].str);
33138 					(yyval.node) = (Node *) n;
33139 				}
33140 #line 33141 "gram.c" /* yacc.c:1652  */
33141     break;
33142 
33143   case 946:
33144 #line 6547 "gram.y" /* yacc.c:1652  */
33145     {
33146 					CommentStmt *n = makeNode(CommentStmt);
33147 					n->objtype = OBJECT_TRANSFORM;
33148 					n->object = (Node *) list_make2((yyvsp[-4].typnam), makeString((yyvsp[-2].str)));
33149 					n->comment = (yyvsp[0].str);
33150 					(yyval.node) = (Node *) n;
33151 				}
33152 #line 33153 "gram.c" /* yacc.c:1652  */
33153     break;
33154 
33155   case 947:
33156 #line 6555 "gram.y" /* yacc.c:1652  */
33157     {
33158 					CommentStmt *n = makeNode(CommentStmt);
33159 					n->objtype = OBJECT_TRIGGER;
33160 					n->object = (Node *) lappend((yyvsp[-2].list), makeString((yyvsp[-4].str)));
33161 					n->comment = (yyvsp[0].str);
33162 					(yyval.node) = (Node *) n;
33163 				}
33164 #line 33165 "gram.c" /* yacc.c:1652  */
33165     break;
33166 
33167   case 948:
33168 #line 6563 "gram.y" /* yacc.c:1652  */
33169     {
33170 					CommentStmt *n = makeNode(CommentStmt);
33171 					n->objtype = OBJECT_OPCLASS;
33172 					n->object = (Node *) lcons(makeString((yyvsp[-2].str)), (yyvsp[-4].list));
33173 					n->comment = (yyvsp[0].str);
33174 					(yyval.node) = (Node *) n;
33175 				}
33176 #line 33177 "gram.c" /* yacc.c:1652  */
33177     break;
33178 
33179   case 949:
33180 #line 6571 "gram.y" /* yacc.c:1652  */
33181     {
33182 					CommentStmt *n = makeNode(CommentStmt);
33183 					n->objtype = OBJECT_OPFAMILY;
33184 					n->object = (Node *) lcons(makeString((yyvsp[-2].str)), (yyvsp[-4].list));
33185 					n->comment = (yyvsp[0].str);
33186 					(yyval.node) = (Node *) n;
33187 				}
33188 #line 33189 "gram.c" /* yacc.c:1652  */
33189     break;
33190 
33191   case 950:
33192 #line 6579 "gram.y" /* yacc.c:1652  */
33193     {
33194 					CommentStmt *n = makeNode(CommentStmt);
33195 					n->objtype = OBJECT_LARGEOBJECT;
33196 					n->object = (Node *) (yyvsp[-2].value);
33197 					n->comment = (yyvsp[0].str);
33198 					(yyval.node) = (Node *) n;
33199 				}
33200 #line 33201 "gram.c" /* yacc.c:1652  */
33201     break;
33202 
33203   case 951:
33204 #line 6587 "gram.y" /* yacc.c:1652  */
33205     {
33206 					CommentStmt *n = makeNode(CommentStmt);
33207 					n->objtype = OBJECT_CAST;
33208 					n->object = (Node *) list_make2((yyvsp[-5].typnam), (yyvsp[-3].typnam));
33209 					n->comment = (yyvsp[0].str);
33210 					(yyval.node) = (Node *) n;
33211 				}
33212 #line 33213 "gram.c" /* yacc.c:1652  */
33213     break;
33214 
33215   case 952:
33216 #line 6598 "gram.y" /* yacc.c:1652  */
33217     { (yyval.objtype) = OBJECT_COLUMN; }
33218 #line 33219 "gram.c" /* yacc.c:1652  */
33219     break;
33220 
33221   case 953:
33222 #line 6599 "gram.y" /* yacc.c:1652  */
33223     { (yyval.objtype) = OBJECT_INDEX; }
33224 #line 33225 "gram.c" /* yacc.c:1652  */
33225     break;
33226 
33227   case 954:
33228 #line 6600 "gram.y" /* yacc.c:1652  */
33229     { (yyval.objtype) = OBJECT_SEQUENCE; }
33230 #line 33231 "gram.c" /* yacc.c:1652  */
33231     break;
33232 
33233   case 955:
33234 #line 6601 "gram.y" /* yacc.c:1652  */
33235     { (yyval.objtype) = OBJECT_STATISTIC_EXT; }
33236 #line 33237 "gram.c" /* yacc.c:1652  */
33237     break;
33238 
33239   case 956:
33240 #line 6602 "gram.y" /* yacc.c:1652  */
33241     { (yyval.objtype) = OBJECT_TABLE; }
33242 #line 33243 "gram.c" /* yacc.c:1652  */
33243     break;
33244 
33245   case 957:
33246 #line 6603 "gram.y" /* yacc.c:1652  */
33247     { (yyval.objtype) = OBJECT_VIEW; }
33248 #line 33249 "gram.c" /* yacc.c:1652  */
33249     break;
33250 
33251   case 958:
33252 #line 6604 "gram.y" /* yacc.c:1652  */
33253     { (yyval.objtype) = OBJECT_MATVIEW; }
33254 #line 33255 "gram.c" /* yacc.c:1652  */
33255     break;
33256 
33257   case 959:
33258 #line 6605 "gram.y" /* yacc.c:1652  */
33259     { (yyval.objtype) = OBJECT_COLLATION; }
33260 #line 33261 "gram.c" /* yacc.c:1652  */
33261     break;
33262 
33263   case 960:
33264 #line 6606 "gram.y" /* yacc.c:1652  */
33265     { (yyval.objtype) = OBJECT_CONVERSION; }
33266 #line 33267 "gram.c" /* yacc.c:1652  */
33267     break;
33268 
33269   case 961:
33270 #line 6607 "gram.y" /* yacc.c:1652  */
33271     { (yyval.objtype) = OBJECT_FOREIGN_TABLE; }
33272 #line 33273 "gram.c" /* yacc.c:1652  */
33273     break;
33274 
33275   case 962:
33276 #line 6608 "gram.y" /* yacc.c:1652  */
33277     { (yyval.objtype) = OBJECT_TSCONFIGURATION; }
33278 #line 33279 "gram.c" /* yacc.c:1652  */
33279     break;
33280 
33281   case 963:
33282 #line 6609 "gram.y" /* yacc.c:1652  */
33283     { (yyval.objtype) = OBJECT_TSDICTIONARY; }
33284 #line 33285 "gram.c" /* yacc.c:1652  */
33285     break;
33286 
33287   case 964:
33288 #line 6610 "gram.y" /* yacc.c:1652  */
33289     { (yyval.objtype) = OBJECT_TSPARSER; }
33290 #line 33291 "gram.c" /* yacc.c:1652  */
33291     break;
33292 
33293   case 965:
33294 #line 6611 "gram.y" /* yacc.c:1652  */
33295     { (yyval.objtype) = OBJECT_TSTEMPLATE; }
33296 #line 33297 "gram.c" /* yacc.c:1652  */
33297     break;
33298 
33299   case 966:
33300 #line 6616 "gram.y" /* yacc.c:1652  */
33301     { (yyval.objtype) = OBJECT_ACCESS_METHOD; }
33302 #line 33303 "gram.c" /* yacc.c:1652  */
33303     break;
33304 
33305   case 967:
33306 #line 6617 "gram.y" /* yacc.c:1652  */
33307     { (yyval.objtype) = OBJECT_DATABASE; }
33308 #line 33309 "gram.c" /* yacc.c:1652  */
33309     break;
33310 
33311   case 968:
33312 #line 6618 "gram.y" /* yacc.c:1652  */
33313     { (yyval.objtype) = OBJECT_EVENT_TRIGGER; }
33314 #line 33315 "gram.c" /* yacc.c:1652  */
33315     break;
33316 
33317   case 969:
33318 #line 6619 "gram.y" /* yacc.c:1652  */
33319     { (yyval.objtype) = OBJECT_EXTENSION; }
33320 #line 33321 "gram.c" /* yacc.c:1652  */
33321     break;
33322 
33323   case 970:
33324 #line 6620 "gram.y" /* yacc.c:1652  */
33325     { (yyval.objtype) = OBJECT_FDW; }
33326 #line 33327 "gram.c" /* yacc.c:1652  */
33327     break;
33328 
33329   case 971:
33330 #line 6621 "gram.y" /* yacc.c:1652  */
33331     { (yyval.objtype) = OBJECT_LANGUAGE; }
33332 #line 33333 "gram.c" /* yacc.c:1652  */
33333     break;
33334 
33335   case 972:
33336 #line 6622 "gram.y" /* yacc.c:1652  */
33337     { (yyval.objtype) = OBJECT_PUBLICATION; }
33338 #line 33339 "gram.c" /* yacc.c:1652  */
33339     break;
33340 
33341   case 973:
33342 #line 6623 "gram.y" /* yacc.c:1652  */
33343     { (yyval.objtype) = OBJECT_ROLE; }
33344 #line 33345 "gram.c" /* yacc.c:1652  */
33345     break;
33346 
33347   case 974:
33348 #line 6624 "gram.y" /* yacc.c:1652  */
33349     { (yyval.objtype) = OBJECT_SCHEMA; }
33350 #line 33351 "gram.c" /* yacc.c:1652  */
33351     break;
33352 
33353   case 975:
33354 #line 6625 "gram.y" /* yacc.c:1652  */
33355     { (yyval.objtype) = OBJECT_FOREIGN_SERVER; }
33356 #line 33357 "gram.c" /* yacc.c:1652  */
33357     break;
33358 
33359   case 976:
33360 #line 6626 "gram.y" /* yacc.c:1652  */
33361     { (yyval.objtype) = OBJECT_SUBSCRIPTION; }
33362 #line 33363 "gram.c" /* yacc.c:1652  */
33363     break;
33364 
33365   case 977:
33366 #line 6627 "gram.y" /* yacc.c:1652  */
33367     { (yyval.objtype) = OBJECT_TABLESPACE; }
33368 #line 33369 "gram.c" /* yacc.c:1652  */
33369     break;
33370 
33371   case 978:
33372 #line 6631 "gram.y" /* yacc.c:1652  */
33373     { (yyval.str) = (yyvsp[0].str); }
33374 #line 33375 "gram.c" /* yacc.c:1652  */
33375     break;
33376 
33377   case 979:
33378 #line 6632 "gram.y" /* yacc.c:1652  */
33379     { (yyval.str) = NULL; }
33380 #line 33381 "gram.c" /* yacc.c:1652  */
33381     break;
33382 
33383   case 980:
33384 #line 6648 "gram.y" /* yacc.c:1652  */
33385     {
33386 					SecLabelStmt *n = makeNode(SecLabelStmt);
33387 					n->provider = (yyvsp[-5].str);
33388 					n->objtype = (yyvsp[-3].objtype);
33389 					n->object = (Node *) (yyvsp[-2].list);
33390 					n->label = (yyvsp[0].str);
33391 					(yyval.node) = (Node *) n;
33392 				}
33393 #line 33394 "gram.c" /* yacc.c:1652  */
33394     break;
33395 
33396   case 981:
33397 #line 6658 "gram.y" /* yacc.c:1652  */
33398     {
33399 					SecLabelStmt *n = makeNode(SecLabelStmt);
33400 					n->provider = (yyvsp[-5].str);
33401 					n->objtype = (yyvsp[-3].objtype);
33402 					n->object = (Node *) makeString((yyvsp[-2].str));
33403 					n->label = (yyvsp[0].str);
33404 					(yyval.node) = (Node *) n;
33405 				}
33406 #line 33407 "gram.c" /* yacc.c:1652  */
33407     break;
33408 
33409   case 982:
33410 #line 6668 "gram.y" /* yacc.c:1652  */
33411     {
33412 					SecLabelStmt *n = makeNode(SecLabelStmt);
33413 					n->provider = (yyvsp[-5].str);
33414 					n->objtype = OBJECT_TYPE;
33415 					n->object = (Node *) (yyvsp[-2].typnam);
33416 					n->label = (yyvsp[0].str);
33417 					(yyval.node) = (Node *) n;
33418 				}
33419 #line 33420 "gram.c" /* yacc.c:1652  */
33420     break;
33421 
33422   case 983:
33423 #line 6678 "gram.y" /* yacc.c:1652  */
33424     {
33425 					SecLabelStmt *n = makeNode(SecLabelStmt);
33426 					n->provider = (yyvsp[-5].str);
33427 					n->objtype = OBJECT_DOMAIN;
33428 					n->object = (Node *) (yyvsp[-2].typnam);
33429 					n->label = (yyvsp[0].str);
33430 					(yyval.node) = (Node *) n;
33431 				}
33432 #line 33433 "gram.c" /* yacc.c:1652  */
33433     break;
33434 
33435   case 984:
33436 #line 6688 "gram.y" /* yacc.c:1652  */
33437     {
33438 					SecLabelStmt *n = makeNode(SecLabelStmt);
33439 					n->provider = (yyvsp[-5].str);
33440 					n->objtype = OBJECT_AGGREGATE;
33441 					n->object = (Node *) (yyvsp[-2].objwithargs);
33442 					n->label = (yyvsp[0].str);
33443 					(yyval.node) = (Node *) n;
33444 				}
33445 #line 33446 "gram.c" /* yacc.c:1652  */
33446     break;
33447 
33448   case 985:
33449 #line 6698 "gram.y" /* yacc.c:1652  */
33450     {
33451 					SecLabelStmt *n = makeNode(SecLabelStmt);
33452 					n->provider = (yyvsp[-5].str);
33453 					n->objtype = OBJECT_FUNCTION;
33454 					n->object = (Node *) (yyvsp[-2].objwithargs);
33455 					n->label = (yyvsp[0].str);
33456 					(yyval.node) = (Node *) n;
33457 				}
33458 #line 33459 "gram.c" /* yacc.c:1652  */
33459     break;
33460 
33461   case 986:
33462 #line 6708 "gram.y" /* yacc.c:1652  */
33463     {
33464 					SecLabelStmt *n = makeNode(SecLabelStmt);
33465 					n->provider = (yyvsp[-6].str);
33466 					n->objtype = OBJECT_LARGEOBJECT;
33467 					n->object = (Node *) (yyvsp[-2].value);
33468 					n->label = (yyvsp[0].str);
33469 					(yyval.node) = (Node *) n;
33470 				}
33471 #line 33472 "gram.c" /* yacc.c:1652  */
33472     break;
33473 
33474   case 987:
33475 #line 6718 "gram.y" /* yacc.c:1652  */
33476     {
33477 					SecLabelStmt *n = makeNode(SecLabelStmt);
33478 					n->provider = (yyvsp[-5].str);
33479 					n->objtype = OBJECT_PROCEDURE;
33480 					n->object = (Node *) (yyvsp[-2].objwithargs);
33481 					n->label = (yyvsp[0].str);
33482 					(yyval.node) = (Node *) n;
33483 				}
33484 #line 33485 "gram.c" /* yacc.c:1652  */
33485     break;
33486 
33487   case 988:
33488 #line 6728 "gram.y" /* yacc.c:1652  */
33489     {
33490 					SecLabelStmt *n = makeNode(SecLabelStmt);
33491 					n->provider = (yyvsp[-5].str);
33492 					n->objtype = OBJECT_ROUTINE;
33493 					n->object = (Node *) (yyvsp[-2].objwithargs);
33494 					n->label = (yyvsp[0].str);
33495 					(yyval.node) = (Node *) n;
33496 				}
33497 #line 33498 "gram.c" /* yacc.c:1652  */
33498     break;
33499 
33500   case 989:
33501 #line 6738 "gram.y" /* yacc.c:1652  */
33502     { (yyval.str) = (yyvsp[0].str); }
33503 #line 33504 "gram.c" /* yacc.c:1652  */
33504     break;
33505 
33506   case 990:
33507 #line 6739 "gram.y" /* yacc.c:1652  */
33508     { (yyval.str) = NULL; }
33509 #line 33510 "gram.c" /* yacc.c:1652  */
33510     break;
33511 
33512   case 991:
33513 #line 6744 "gram.y" /* yacc.c:1652  */
33514     { (yyval.objtype) = OBJECT_COLUMN; }
33515 #line 33516 "gram.c" /* yacc.c:1652  */
33516     break;
33517 
33518   case 992:
33519 #line 6745 "gram.y" /* yacc.c:1652  */
33520     { (yyval.objtype) = OBJECT_FOREIGN_TABLE; }
33521 #line 33522 "gram.c" /* yacc.c:1652  */
33522     break;
33523 
33524   case 993:
33525 #line 6746 "gram.y" /* yacc.c:1652  */
33526     { (yyval.objtype) = OBJECT_SEQUENCE; }
33527 #line 33528 "gram.c" /* yacc.c:1652  */
33528     break;
33529 
33530   case 994:
33531 #line 6747 "gram.y" /* yacc.c:1652  */
33532     { (yyval.objtype) = OBJECT_TABLE; }
33533 #line 33534 "gram.c" /* yacc.c:1652  */
33534     break;
33535 
33536   case 995:
33537 #line 6748 "gram.y" /* yacc.c:1652  */
33538     { (yyval.objtype) = OBJECT_VIEW; }
33539 #line 33540 "gram.c" /* yacc.c:1652  */
33540     break;
33541 
33542   case 996:
33543 #line 6749 "gram.y" /* yacc.c:1652  */
33544     { (yyval.objtype) = OBJECT_MATVIEW; }
33545 #line 33546 "gram.c" /* yacc.c:1652  */
33546     break;
33547 
33548   case 997:
33549 #line 6754 "gram.y" /* yacc.c:1652  */
33550     { (yyval.objtype) = OBJECT_DATABASE; }
33551 #line 33552 "gram.c" /* yacc.c:1652  */
33552     break;
33553 
33554   case 998:
33555 #line 6755 "gram.y" /* yacc.c:1652  */
33556     { (yyval.objtype) = OBJECT_EVENT_TRIGGER; }
33557 #line 33558 "gram.c" /* yacc.c:1652  */
33558     break;
33559 
33560   case 999:
33561 #line 6756 "gram.y" /* yacc.c:1652  */
33562     { (yyval.objtype) = OBJECT_LANGUAGE; }
33563 #line 33564 "gram.c" /* yacc.c:1652  */
33564     break;
33565 
33566   case 1000:
33567 #line 6757 "gram.y" /* yacc.c:1652  */
33568     { (yyval.objtype) = OBJECT_PUBLICATION; }
33569 #line 33570 "gram.c" /* yacc.c:1652  */
33570     break;
33571 
33572   case 1001:
33573 #line 6758 "gram.y" /* yacc.c:1652  */
33574     { (yyval.objtype) = OBJECT_ROLE; }
33575 #line 33576 "gram.c" /* yacc.c:1652  */
33576     break;
33577 
33578   case 1002:
33579 #line 6759 "gram.y" /* yacc.c:1652  */
33580     { (yyval.objtype) = OBJECT_SCHEMA; }
33581 #line 33582 "gram.c" /* yacc.c:1652  */
33582     break;
33583 
33584   case 1003:
33585 #line 6760 "gram.y" /* yacc.c:1652  */
33586     { (yyval.objtype) = OBJECT_SUBSCRIPTION; }
33587 #line 33588 "gram.c" /* yacc.c:1652  */
33588     break;
33589 
33590   case 1004:
33591 #line 6761 "gram.y" /* yacc.c:1652  */
33592     { (yyval.objtype) = OBJECT_TABLESPACE; }
33593 #line 33594 "gram.c" /* yacc.c:1652  */
33594     break;
33595 
33596   case 1005:
33597 #line 6764 "gram.y" /* yacc.c:1652  */
33598     { (yyval.str) = (yyvsp[0].str); }
33599 #line 33600 "gram.c" /* yacc.c:1652  */
33600     break;
33601 
33602   case 1006:
33603 #line 6765 "gram.y" /* yacc.c:1652  */
33604     { (yyval.str) = NULL; }
33605 #line 33606 "gram.c" /* yacc.c:1652  */
33606     break;
33607 
33608   case 1007:
33609 #line 6776 "gram.y" /* yacc.c:1652  */
33610     {
33611 					FetchStmt *n = (FetchStmt *) (yyvsp[0].node);
33612 					n->ismove = false;
33613 					(yyval.node) = (Node *)n;
33614 				}
33615 #line 33616 "gram.c" /* yacc.c:1652  */
33616     break;
33617 
33618   case 1008:
33619 #line 6782 "gram.y" /* yacc.c:1652  */
33620     {
33621 					FetchStmt *n = (FetchStmt *) (yyvsp[0].node);
33622 					n->ismove = true;
33623 					(yyval.node) = (Node *)n;
33624 				}
33625 #line 33626 "gram.c" /* yacc.c:1652  */
33626     break;
33627 
33628   case 1009:
33629 #line 6790 "gram.y" /* yacc.c:1652  */
33630     {
33631 					FetchStmt *n = makeNode(FetchStmt);
33632 					n->portalname = (yyvsp[0].str);
33633 					n->direction = FETCH_FORWARD;
33634 					n->howMany = 1;
33635 					(yyval.node) = (Node *)n;
33636 				}
33637 #line 33638 "gram.c" /* yacc.c:1652  */
33638     break;
33639 
33640   case 1010:
33641 #line 6798 "gram.y" /* yacc.c:1652  */
33642     {
33643 					FetchStmt *n = makeNode(FetchStmt);
33644 					n->portalname = (yyvsp[0].str);
33645 					n->direction = FETCH_FORWARD;
33646 					n->howMany = 1;
33647 					(yyval.node) = (Node *)n;
33648 				}
33649 #line 33650 "gram.c" /* yacc.c:1652  */
33650     break;
33651 
33652   case 1011:
33653 #line 6806 "gram.y" /* yacc.c:1652  */
33654     {
33655 					FetchStmt *n = makeNode(FetchStmt);
33656 					n->portalname = (yyvsp[0].str);
33657 					n->direction = FETCH_FORWARD;
33658 					n->howMany = 1;
33659 					(yyval.node) = (Node *)n;
33660 				}
33661 #line 33662 "gram.c" /* yacc.c:1652  */
33662     break;
33663 
33664   case 1012:
33665 #line 6814 "gram.y" /* yacc.c:1652  */
33666     {
33667 					FetchStmt *n = makeNode(FetchStmt);
33668 					n->portalname = (yyvsp[0].str);
33669 					n->direction = FETCH_BACKWARD;
33670 					n->howMany = 1;
33671 					(yyval.node) = (Node *)n;
33672 				}
33673 #line 33674 "gram.c" /* yacc.c:1652  */
33674     break;
33675 
33676   case 1013:
33677 #line 6822 "gram.y" /* yacc.c:1652  */
33678     {
33679 					FetchStmt *n = makeNode(FetchStmt);
33680 					n->portalname = (yyvsp[0].str);
33681 					n->direction = FETCH_ABSOLUTE;
33682 					n->howMany = 1;
33683 					(yyval.node) = (Node *)n;
33684 				}
33685 #line 33686 "gram.c" /* yacc.c:1652  */
33686     break;
33687 
33688   case 1014:
33689 #line 6830 "gram.y" /* yacc.c:1652  */
33690     {
33691 					FetchStmt *n = makeNode(FetchStmt);
33692 					n->portalname = (yyvsp[0].str);
33693 					n->direction = FETCH_ABSOLUTE;
33694 					n->howMany = -1;
33695 					(yyval.node) = (Node *)n;
33696 				}
33697 #line 33698 "gram.c" /* yacc.c:1652  */
33698     break;
33699 
33700   case 1015:
33701 #line 6838 "gram.y" /* yacc.c:1652  */
33702     {
33703 					FetchStmt *n = makeNode(FetchStmt);
33704 					n->portalname = (yyvsp[0].str);
33705 					n->direction = FETCH_ABSOLUTE;
33706 					n->howMany = (yyvsp[-2].ival);
33707 					(yyval.node) = (Node *)n;
33708 				}
33709 #line 33710 "gram.c" /* yacc.c:1652  */
33710     break;
33711 
33712   case 1016:
33713 #line 6846 "gram.y" /* yacc.c:1652  */
33714     {
33715 					FetchStmt *n = makeNode(FetchStmt);
33716 					n->portalname = (yyvsp[0].str);
33717 					n->direction = FETCH_RELATIVE;
33718 					n->howMany = (yyvsp[-2].ival);
33719 					(yyval.node) = (Node *)n;
33720 				}
33721 #line 33722 "gram.c" /* yacc.c:1652  */
33722     break;
33723 
33724   case 1017:
33725 #line 6854 "gram.y" /* yacc.c:1652  */
33726     {
33727 					FetchStmt *n = makeNode(FetchStmt);
33728 					n->portalname = (yyvsp[0].str);
33729 					n->direction = FETCH_FORWARD;
33730 					n->howMany = (yyvsp[-2].ival);
33731 					(yyval.node) = (Node *)n;
33732 				}
33733 #line 33734 "gram.c" /* yacc.c:1652  */
33734     break;
33735 
33736   case 1018:
33737 #line 6862 "gram.y" /* yacc.c:1652  */
33738     {
33739 					FetchStmt *n = makeNode(FetchStmt);
33740 					n->portalname = (yyvsp[0].str);
33741 					n->direction = FETCH_FORWARD;
33742 					n->howMany = FETCH_ALL;
33743 					(yyval.node) = (Node *)n;
33744 				}
33745 #line 33746 "gram.c" /* yacc.c:1652  */
33746     break;
33747 
33748   case 1019:
33749 #line 6870 "gram.y" /* yacc.c:1652  */
33750     {
33751 					FetchStmt *n = makeNode(FetchStmt);
33752 					n->portalname = (yyvsp[0].str);
33753 					n->direction = FETCH_FORWARD;
33754 					n->howMany = 1;
33755 					(yyval.node) = (Node *)n;
33756 				}
33757 #line 33758 "gram.c" /* yacc.c:1652  */
33758     break;
33759 
33760   case 1020:
33761 #line 6878 "gram.y" /* yacc.c:1652  */
33762     {
33763 					FetchStmt *n = makeNode(FetchStmt);
33764 					n->portalname = (yyvsp[0].str);
33765 					n->direction = FETCH_FORWARD;
33766 					n->howMany = (yyvsp[-2].ival);
33767 					(yyval.node) = (Node *)n;
33768 				}
33769 #line 33770 "gram.c" /* yacc.c:1652  */
33770     break;
33771 
33772   case 1021:
33773 #line 6886 "gram.y" /* yacc.c:1652  */
33774     {
33775 					FetchStmt *n = makeNode(FetchStmt);
33776 					n->portalname = (yyvsp[0].str);
33777 					n->direction = FETCH_FORWARD;
33778 					n->howMany = FETCH_ALL;
33779 					(yyval.node) = (Node *)n;
33780 				}
33781 #line 33782 "gram.c" /* yacc.c:1652  */
33782     break;
33783 
33784   case 1022:
33785 #line 6894 "gram.y" /* yacc.c:1652  */
33786     {
33787 					FetchStmt *n = makeNode(FetchStmt);
33788 					n->portalname = (yyvsp[0].str);
33789 					n->direction = FETCH_BACKWARD;
33790 					n->howMany = 1;
33791 					(yyval.node) = (Node *)n;
33792 				}
33793 #line 33794 "gram.c" /* yacc.c:1652  */
33794     break;
33795 
33796   case 1023:
33797 #line 6902 "gram.y" /* yacc.c:1652  */
33798     {
33799 					FetchStmt *n = makeNode(FetchStmt);
33800 					n->portalname = (yyvsp[0].str);
33801 					n->direction = FETCH_BACKWARD;
33802 					n->howMany = (yyvsp[-2].ival);
33803 					(yyval.node) = (Node *)n;
33804 				}
33805 #line 33806 "gram.c" /* yacc.c:1652  */
33806     break;
33807 
33808   case 1024:
33809 #line 6910 "gram.y" /* yacc.c:1652  */
33810     {
33811 					FetchStmt *n = makeNode(FetchStmt);
33812 					n->portalname = (yyvsp[0].str);
33813 					n->direction = FETCH_BACKWARD;
33814 					n->howMany = FETCH_ALL;
33815 					(yyval.node) = (Node *)n;
33816 				}
33817 #line 33818 "gram.c" /* yacc.c:1652  */
33818     break;
33819 
33820   case 1025:
33821 #line 6919 "gram.y" /* yacc.c:1652  */
33822     {}
33823 #line 33824 "gram.c" /* yacc.c:1652  */
33824     break;
33825 
33826   case 1026:
33827 #line 6920 "gram.y" /* yacc.c:1652  */
33828     {}
33829 #line 33830 "gram.c" /* yacc.c:1652  */
33830     break;
33831 
33832   case 1027:
33833 #line 6923 "gram.y" /* yacc.c:1652  */
33834     {}
33835 #line 33836 "gram.c" /* yacc.c:1652  */
33836     break;
33837 
33838   case 1028:
33839 #line 6924 "gram.y" /* yacc.c:1652  */
33840     {}
33841 #line 33842 "gram.c" /* yacc.c:1652  */
33842     break;
33843 
33844   case 1029:
33845 #line 6936 "gram.y" /* yacc.c:1652  */
33846     {
33847 					GrantStmt *n = makeNode(GrantStmt);
33848 					n->is_grant = true;
33849 					n->privileges = (yyvsp[-5].list);
33850 					n->targtype = ((yyvsp[-3].privtarget))->targtype;
33851 					n->objtype = ((yyvsp[-3].privtarget))->objtype;
33852 					n->objects = ((yyvsp[-3].privtarget))->objs;
33853 					n->grantees = (yyvsp[-1].list);
33854 					n->grant_option = (yyvsp[0].boolean);
33855 					(yyval.node) = (Node*)n;
33856 				}
33857 #line 33858 "gram.c" /* yacc.c:1652  */
33858     break;
33859 
33860   case 1030:
33861 #line 6952 "gram.y" /* yacc.c:1652  */
33862     {
33863 					GrantStmt *n = makeNode(GrantStmt);
33864 					n->is_grant = false;
33865 					n->grant_option = false;
33866 					n->privileges = (yyvsp[-5].list);
33867 					n->targtype = ((yyvsp[-3].privtarget))->targtype;
33868 					n->objtype = ((yyvsp[-3].privtarget))->objtype;
33869 					n->objects = ((yyvsp[-3].privtarget))->objs;
33870 					n->grantees = (yyvsp[-1].list);
33871 					n->behavior = (yyvsp[0].dbehavior);
33872 					(yyval.node) = (Node *)n;
33873 				}
33874 #line 33875 "gram.c" /* yacc.c:1652  */
33875     break;
33876 
33877   case 1031:
33878 #line 6966 "gram.y" /* yacc.c:1652  */
33879     {
33880 					GrantStmt *n = makeNode(GrantStmt);
33881 					n->is_grant = false;
33882 					n->grant_option = true;
33883 					n->privileges = (yyvsp[-5].list);
33884 					n->targtype = ((yyvsp[-3].privtarget))->targtype;
33885 					n->objtype = ((yyvsp[-3].privtarget))->objtype;
33886 					n->objects = ((yyvsp[-3].privtarget))->objs;
33887 					n->grantees = (yyvsp[-1].list);
33888 					n->behavior = (yyvsp[0].dbehavior);
33889 					(yyval.node) = (Node *)n;
33890 				}
33891 #line 33892 "gram.c" /* yacc.c:1652  */
33892     break;
33893 
33894   case 1032:
33895 #line 6991 "gram.y" /* yacc.c:1652  */
33896     { (yyval.list) = (yyvsp[0].list); }
33897 #line 33898 "gram.c" /* yacc.c:1652  */
33898     break;
33899 
33900   case 1033:
33901 #line 6993 "gram.y" /* yacc.c:1652  */
33902     { (yyval.list) = NIL; }
33903 #line 33904 "gram.c" /* yacc.c:1652  */
33904     break;
33905 
33906   case 1034:
33907 #line 6995 "gram.y" /* yacc.c:1652  */
33908     { (yyval.list) = NIL; }
33909 #line 33910 "gram.c" /* yacc.c:1652  */
33910     break;
33911 
33912   case 1035:
33913 #line 6997 "gram.y" /* yacc.c:1652  */
33914     {
33915 					AccessPriv *n = makeNode(AccessPriv);
33916 					n->priv_name = NULL;
33917 					n->cols = (yyvsp[-1].list);
33918 					(yyval.list) = list_make1(n);
33919 				}
33920 #line 33921 "gram.c" /* yacc.c:1652  */
33921     break;
33922 
33923   case 1036:
33924 #line 7004 "gram.y" /* yacc.c:1652  */
33925     {
33926 					AccessPriv *n = makeNode(AccessPriv);
33927 					n->priv_name = NULL;
33928 					n->cols = (yyvsp[-1].list);
33929 					(yyval.list) = list_make1(n);
33930 				}
33931 #line 33932 "gram.c" /* yacc.c:1652  */
33932     break;
33933 
33934   case 1037:
33935 #line 7012 "gram.y" /* yacc.c:1652  */
33936     { (yyval.list) = list_make1((yyvsp[0].accesspriv)); }
33937 #line 33938 "gram.c" /* yacc.c:1652  */
33938     break;
33939 
33940   case 1038:
33941 #line 7013 "gram.y" /* yacc.c:1652  */
33942     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].accesspriv)); }
33943 #line 33944 "gram.c" /* yacc.c:1652  */
33944     break;
33945 
33946   case 1039:
33947 #line 7017 "gram.y" /* yacc.c:1652  */
33948     {
33949 				AccessPriv *n = makeNode(AccessPriv);
33950 				n->priv_name = pstrdup((yyvsp[-1].keyword));
33951 				n->cols = (yyvsp[0].list);
33952 				(yyval.accesspriv) = n;
33953 			}
33954 #line 33955 "gram.c" /* yacc.c:1652  */
33955     break;
33956 
33957   case 1040:
33958 #line 7024 "gram.y" /* yacc.c:1652  */
33959     {
33960 				AccessPriv *n = makeNode(AccessPriv);
33961 				n->priv_name = pstrdup((yyvsp[-1].keyword));
33962 				n->cols = (yyvsp[0].list);
33963 				(yyval.accesspriv) = n;
33964 			}
33965 #line 33966 "gram.c" /* yacc.c:1652  */
33966     break;
33967 
33968   case 1041:
33969 #line 7031 "gram.y" /* yacc.c:1652  */
33970     {
33971 				AccessPriv *n = makeNode(AccessPriv);
33972 				n->priv_name = pstrdup((yyvsp[-1].keyword));
33973 				n->cols = (yyvsp[0].list);
33974 				(yyval.accesspriv) = n;
33975 			}
33976 #line 33977 "gram.c" /* yacc.c:1652  */
33977     break;
33978 
33979   case 1042:
33980 #line 7038 "gram.y" /* yacc.c:1652  */
33981     {
33982 				AccessPriv *n = makeNode(AccessPriv);
33983 				n->priv_name = (yyvsp[-1].str);
33984 				n->cols = (yyvsp[0].list);
33985 				(yyval.accesspriv) = n;
33986 			}
33987 #line 33988 "gram.c" /* yacc.c:1652  */
33988     break;
33989 
33990   case 1043:
33991 #line 7052 "gram.y" /* yacc.c:1652  */
33992     {
33993 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
33994 					n->targtype = ACL_TARGET_OBJECT;
33995 					n->objtype = OBJECT_TABLE;
33996 					n->objs = (yyvsp[0].list);
33997 					(yyval.privtarget) = n;
33998 				}
33999 #line 34000 "gram.c" /* yacc.c:1652  */
34000     break;
34001 
34002   case 1044:
34003 #line 7060 "gram.y" /* yacc.c:1652  */
34004     {
34005 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
34006 					n->targtype = ACL_TARGET_OBJECT;
34007 					n->objtype = OBJECT_TABLE;
34008 					n->objs = (yyvsp[0].list);
34009 					(yyval.privtarget) = n;
34010 				}
34011 #line 34012 "gram.c" /* yacc.c:1652  */
34012     break;
34013 
34014   case 1045:
34015 #line 7068 "gram.y" /* yacc.c:1652  */
34016     {
34017 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
34018 					n->targtype = ACL_TARGET_OBJECT;
34019 					n->objtype = OBJECT_SEQUENCE;
34020 					n->objs = (yyvsp[0].list);
34021 					(yyval.privtarget) = n;
34022 				}
34023 #line 34024 "gram.c" /* yacc.c:1652  */
34024     break;
34025 
34026   case 1046:
34027 #line 7076 "gram.y" /* yacc.c:1652  */
34028     {
34029 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
34030 					n->targtype = ACL_TARGET_OBJECT;
34031 					n->objtype = OBJECT_FDW;
34032 					n->objs = (yyvsp[0].list);
34033 					(yyval.privtarget) = n;
34034 				}
34035 #line 34036 "gram.c" /* yacc.c:1652  */
34036     break;
34037 
34038   case 1047:
34039 #line 7084 "gram.y" /* yacc.c:1652  */
34040     {
34041 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
34042 					n->targtype = ACL_TARGET_OBJECT;
34043 					n->objtype = OBJECT_FOREIGN_SERVER;
34044 					n->objs = (yyvsp[0].list);
34045 					(yyval.privtarget) = n;
34046 				}
34047 #line 34048 "gram.c" /* yacc.c:1652  */
34048     break;
34049 
34050   case 1048:
34051 #line 7092 "gram.y" /* yacc.c:1652  */
34052     {
34053 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
34054 					n->targtype = ACL_TARGET_OBJECT;
34055 					n->objtype = OBJECT_FUNCTION;
34056 					n->objs = (yyvsp[0].list);
34057 					(yyval.privtarget) = n;
34058 				}
34059 #line 34060 "gram.c" /* yacc.c:1652  */
34060     break;
34061 
34062   case 1049:
34063 #line 7100 "gram.y" /* yacc.c:1652  */
34064     {
34065 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
34066 					n->targtype = ACL_TARGET_OBJECT;
34067 					n->objtype = OBJECT_PROCEDURE;
34068 					n->objs = (yyvsp[0].list);
34069 					(yyval.privtarget) = n;
34070 				}
34071 #line 34072 "gram.c" /* yacc.c:1652  */
34072     break;
34073 
34074   case 1050:
34075 #line 7108 "gram.y" /* yacc.c:1652  */
34076     {
34077 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
34078 					n->targtype = ACL_TARGET_OBJECT;
34079 					n->objtype = OBJECT_ROUTINE;
34080 					n->objs = (yyvsp[0].list);
34081 					(yyval.privtarget) = n;
34082 				}
34083 #line 34084 "gram.c" /* yacc.c:1652  */
34084     break;
34085 
34086   case 1051:
34087 #line 7116 "gram.y" /* yacc.c:1652  */
34088     {
34089 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
34090 					n->targtype = ACL_TARGET_OBJECT;
34091 					n->objtype = OBJECT_DATABASE;
34092 					n->objs = (yyvsp[0].list);
34093 					(yyval.privtarget) = n;
34094 				}
34095 #line 34096 "gram.c" /* yacc.c:1652  */
34096     break;
34097 
34098   case 1052:
34099 #line 7124 "gram.y" /* yacc.c:1652  */
34100     {
34101 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
34102 					n->targtype = ACL_TARGET_OBJECT;
34103 					n->objtype = OBJECT_DOMAIN;
34104 					n->objs = (yyvsp[0].list);
34105 					(yyval.privtarget) = n;
34106 				}
34107 #line 34108 "gram.c" /* yacc.c:1652  */
34108     break;
34109 
34110   case 1053:
34111 #line 7132 "gram.y" /* yacc.c:1652  */
34112     {
34113 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
34114 					n->targtype = ACL_TARGET_OBJECT;
34115 					n->objtype = OBJECT_LANGUAGE;
34116 					n->objs = (yyvsp[0].list);
34117 					(yyval.privtarget) = n;
34118 				}
34119 #line 34120 "gram.c" /* yacc.c:1652  */
34120     break;
34121 
34122   case 1054:
34123 #line 7140 "gram.y" /* yacc.c:1652  */
34124     {
34125 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
34126 					n->targtype = ACL_TARGET_OBJECT;
34127 					n->objtype = OBJECT_LARGEOBJECT;
34128 					n->objs = (yyvsp[0].list);
34129 					(yyval.privtarget) = n;
34130 				}
34131 #line 34132 "gram.c" /* yacc.c:1652  */
34132     break;
34133 
34134   case 1055:
34135 #line 7148 "gram.y" /* yacc.c:1652  */
34136     {
34137 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
34138 					n->targtype = ACL_TARGET_OBJECT;
34139 					n->objtype = OBJECT_SCHEMA;
34140 					n->objs = (yyvsp[0].list);
34141 					(yyval.privtarget) = n;
34142 				}
34143 #line 34144 "gram.c" /* yacc.c:1652  */
34144     break;
34145 
34146   case 1056:
34147 #line 7156 "gram.y" /* yacc.c:1652  */
34148     {
34149 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
34150 					n->targtype = ACL_TARGET_OBJECT;
34151 					n->objtype = OBJECT_TABLESPACE;
34152 					n->objs = (yyvsp[0].list);
34153 					(yyval.privtarget) = n;
34154 				}
34155 #line 34156 "gram.c" /* yacc.c:1652  */
34156     break;
34157 
34158   case 1057:
34159 #line 7164 "gram.y" /* yacc.c:1652  */
34160     {
34161 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
34162 					n->targtype = ACL_TARGET_OBJECT;
34163 					n->objtype = OBJECT_TYPE;
34164 					n->objs = (yyvsp[0].list);
34165 					(yyval.privtarget) = n;
34166 				}
34167 #line 34168 "gram.c" /* yacc.c:1652  */
34168     break;
34169 
34170   case 1058:
34171 #line 7172 "gram.y" /* yacc.c:1652  */
34172     {
34173 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
34174 					n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
34175 					n->objtype = OBJECT_TABLE;
34176 					n->objs = (yyvsp[0].list);
34177 					(yyval.privtarget) = n;
34178 				}
34179 #line 34180 "gram.c" /* yacc.c:1652  */
34180     break;
34181 
34182   case 1059:
34183 #line 7180 "gram.y" /* yacc.c:1652  */
34184     {
34185 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
34186 					n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
34187 					n->objtype = OBJECT_SEQUENCE;
34188 					n->objs = (yyvsp[0].list);
34189 					(yyval.privtarget) = n;
34190 				}
34191 #line 34192 "gram.c" /* yacc.c:1652  */
34192     break;
34193 
34194   case 1060:
34195 #line 7188 "gram.y" /* yacc.c:1652  */
34196     {
34197 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
34198 					n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
34199 					n->objtype = OBJECT_FUNCTION;
34200 					n->objs = (yyvsp[0].list);
34201 					(yyval.privtarget) = n;
34202 				}
34203 #line 34204 "gram.c" /* yacc.c:1652  */
34204     break;
34205 
34206   case 1061:
34207 #line 7196 "gram.y" /* yacc.c:1652  */
34208     {
34209 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
34210 					n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
34211 					n->objtype = OBJECT_PROCEDURE;
34212 					n->objs = (yyvsp[0].list);
34213 					(yyval.privtarget) = n;
34214 				}
34215 #line 34216 "gram.c" /* yacc.c:1652  */
34216     break;
34217 
34218   case 1062:
34219 #line 7204 "gram.y" /* yacc.c:1652  */
34220     {
34221 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
34222 					n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
34223 					n->objtype = OBJECT_ROUTINE;
34224 					n->objs = (yyvsp[0].list);
34225 					(yyval.privtarget) = n;
34226 				}
34227 #line 34228 "gram.c" /* yacc.c:1652  */
34228     break;
34229 
34230   case 1063:
34231 #line 7215 "gram.y" /* yacc.c:1652  */
34232     { (yyval.list) = list_make1((yyvsp[0].rolespec)); }
34233 #line 34234 "gram.c" /* yacc.c:1652  */
34234     break;
34235 
34236   case 1064:
34237 #line 7216 "gram.y" /* yacc.c:1652  */
34238     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].rolespec)); }
34239 #line 34240 "gram.c" /* yacc.c:1652  */
34240     break;
34241 
34242   case 1065:
34243 #line 7220 "gram.y" /* yacc.c:1652  */
34244     { (yyval.rolespec) = (yyvsp[0].rolespec); }
34245 #line 34246 "gram.c" /* yacc.c:1652  */
34246     break;
34247 
34248   case 1066:
34249 #line 7221 "gram.y" /* yacc.c:1652  */
34250     { (yyval.rolespec) = (yyvsp[0].rolespec); }
34251 #line 34252 "gram.c" /* yacc.c:1652  */
34252     break;
34253 
34254   case 1067:
34255 #line 7226 "gram.y" /* yacc.c:1652  */
34256     { (yyval.boolean) = true; }
34257 #line 34258 "gram.c" /* yacc.c:1652  */
34258     break;
34259 
34260   case 1068:
34261 #line 7227 "gram.y" /* yacc.c:1652  */
34262     { (yyval.boolean) = false; }
34263 #line 34264 "gram.c" /* yacc.c:1652  */
34264     break;
34265 
34266   case 1069:
34267 #line 7238 "gram.y" /* yacc.c:1652  */
34268     {
34269 					GrantRoleStmt *n = makeNode(GrantRoleStmt);
34270 					n->is_grant = true;
34271 					n->granted_roles = (yyvsp[-4].list);
34272 					n->grantee_roles = (yyvsp[-2].list);
34273 					n->admin_opt = (yyvsp[-1].boolean);
34274 					n->grantor = (yyvsp[0].rolespec);
34275 					(yyval.node) = (Node*)n;
34276 				}
34277 #line 34278 "gram.c" /* yacc.c:1652  */
34278     break;
34279 
34280   case 1070:
34281 #line 7251 "gram.y" /* yacc.c:1652  */
34282     {
34283 					GrantRoleStmt *n = makeNode(GrantRoleStmt);
34284 					n->is_grant = false;
34285 					n->admin_opt = false;
34286 					n->granted_roles = (yyvsp[-4].list);
34287 					n->grantee_roles = (yyvsp[-2].list);
34288 					n->behavior = (yyvsp[0].dbehavior);
34289 					(yyval.node) = (Node*)n;
34290 				}
34291 #line 34292 "gram.c" /* yacc.c:1652  */
34292     break;
34293 
34294   case 1071:
34295 #line 7261 "gram.y" /* yacc.c:1652  */
34296     {
34297 					GrantRoleStmt *n = makeNode(GrantRoleStmt);
34298 					n->is_grant = false;
34299 					n->admin_opt = true;
34300 					n->granted_roles = (yyvsp[-4].list);
34301 					n->grantee_roles = (yyvsp[-2].list);
34302 					n->behavior = (yyvsp[0].dbehavior);
34303 					(yyval.node) = (Node*)n;
34304 				}
34305 #line 34306 "gram.c" /* yacc.c:1652  */
34306     break;
34307 
34308   case 1072:
34309 #line 7272 "gram.y" /* yacc.c:1652  */
34310     { (yyval.boolean) = true; }
34311 #line 34312 "gram.c" /* yacc.c:1652  */
34312     break;
34313 
34314   case 1073:
34315 #line 7273 "gram.y" /* yacc.c:1652  */
34316     { (yyval.boolean) = false; }
34317 #line 34318 "gram.c" /* yacc.c:1652  */
34318     break;
34319 
34320   case 1074:
34321 #line 7276 "gram.y" /* yacc.c:1652  */
34322     { (yyval.rolespec) = (yyvsp[0].rolespec); }
34323 #line 34324 "gram.c" /* yacc.c:1652  */
34324     break;
34325 
34326   case 1075:
34327 #line 7277 "gram.y" /* yacc.c:1652  */
34328     { (yyval.rolespec) = NULL; }
34329 #line 34330 "gram.c" /* yacc.c:1652  */
34330     break;
34331 
34332   case 1076:
34333 #line 7288 "gram.y" /* yacc.c:1652  */
34334     {
34335 					AlterDefaultPrivilegesStmt *n = makeNode(AlterDefaultPrivilegesStmt);
34336 					n->options = (yyvsp[-1].list);
34337 					n->action = (GrantStmt *) (yyvsp[0].node);
34338 					(yyval.node) = (Node*)n;
34339 				}
34340 #line 34341 "gram.c" /* yacc.c:1652  */
34341     break;
34342 
34343   case 1077:
34344 #line 7297 "gram.y" /* yacc.c:1652  */
34345     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
34346 #line 34347 "gram.c" /* yacc.c:1652  */
34347     break;
34348 
34349   case 1078:
34350 #line 7298 "gram.y" /* yacc.c:1652  */
34351     { (yyval.list) = NIL; }
34352 #line 34353 "gram.c" /* yacc.c:1652  */
34353     break;
34354 
34355   case 1079:
34356 #line 7303 "gram.y" /* yacc.c:1652  */
34357     {
34358 					(yyval.defelt) = makeDefElem("schemas", (Node *)(yyvsp[0].list), (yylsp[-2]));
34359 				}
34360 #line 34361 "gram.c" /* yacc.c:1652  */
34361     break;
34362 
34363   case 1080:
34364 #line 7307 "gram.y" /* yacc.c:1652  */
34365     {
34366 					(yyval.defelt) = makeDefElem("roles", (Node *)(yyvsp[0].list), (yylsp[-2]));
34367 				}
34368 #line 34369 "gram.c" /* yacc.c:1652  */
34369     break;
34370 
34371   case 1081:
34372 #line 7311 "gram.y" /* yacc.c:1652  */
34373     {
34374 					(yyval.defelt) = makeDefElem("roles", (Node *)(yyvsp[0].list), (yylsp[-2]));
34375 				}
34376 #line 34377 "gram.c" /* yacc.c:1652  */
34377     break;
34378 
34379   case 1082:
34380 #line 7323 "gram.y" /* yacc.c:1652  */
34381     {
34382 					GrantStmt *n = makeNode(GrantStmt);
34383 					n->is_grant = true;
34384 					n->privileges = (yyvsp[-5].list);
34385 					n->targtype = ACL_TARGET_DEFAULTS;
34386 					n->objtype = (yyvsp[-3].ival);
34387 					n->objects = NIL;
34388 					n->grantees = (yyvsp[-1].list);
34389 					n->grant_option = (yyvsp[0].boolean);
34390 					(yyval.node) = (Node*)n;
34391 				}
34392 #line 34393 "gram.c" /* yacc.c:1652  */
34393     break;
34394 
34395   case 1083:
34396 #line 7336 "gram.y" /* yacc.c:1652  */
34397     {
34398 					GrantStmt *n = makeNode(GrantStmt);
34399 					n->is_grant = false;
34400 					n->grant_option = false;
34401 					n->privileges = (yyvsp[-5].list);
34402 					n->targtype = ACL_TARGET_DEFAULTS;
34403 					n->objtype = (yyvsp[-3].ival);
34404 					n->objects = NIL;
34405 					n->grantees = (yyvsp[-1].list);
34406 					n->behavior = (yyvsp[0].dbehavior);
34407 					(yyval.node) = (Node *)n;
34408 				}
34409 #line 34410 "gram.c" /* yacc.c:1652  */
34410     break;
34411 
34412   case 1084:
34413 #line 7350 "gram.y" /* yacc.c:1652  */
34414     {
34415 					GrantStmt *n = makeNode(GrantStmt);
34416 					n->is_grant = false;
34417 					n->grant_option = true;
34418 					n->privileges = (yyvsp[-5].list);
34419 					n->targtype = ACL_TARGET_DEFAULTS;
34420 					n->objtype = (yyvsp[-3].ival);
34421 					n->objects = NIL;
34422 					n->grantees = (yyvsp[-1].list);
34423 					n->behavior = (yyvsp[0].dbehavior);
34424 					(yyval.node) = (Node *)n;
34425 				}
34426 #line 34427 "gram.c" /* yacc.c:1652  */
34427     break;
34428 
34429   case 1085:
34430 #line 7365 "gram.y" /* yacc.c:1652  */
34431     { (yyval.ival) = OBJECT_TABLE; }
34432 #line 34433 "gram.c" /* yacc.c:1652  */
34433     break;
34434 
34435   case 1086:
34436 #line 7366 "gram.y" /* yacc.c:1652  */
34437     { (yyval.ival) = OBJECT_FUNCTION; }
34438 #line 34439 "gram.c" /* yacc.c:1652  */
34439     break;
34440 
34441   case 1087:
34442 #line 7367 "gram.y" /* yacc.c:1652  */
34443     { (yyval.ival) = OBJECT_FUNCTION; }
34444 #line 34445 "gram.c" /* yacc.c:1652  */
34445     break;
34446 
34447   case 1088:
34448 #line 7368 "gram.y" /* yacc.c:1652  */
34449     { (yyval.ival) = OBJECT_SEQUENCE; }
34450 #line 34451 "gram.c" /* yacc.c:1652  */
34451     break;
34452 
34453   case 1089:
34454 #line 7369 "gram.y" /* yacc.c:1652  */
34455     { (yyval.ival) = OBJECT_TYPE; }
34456 #line 34457 "gram.c" /* yacc.c:1652  */
34457     break;
34458 
34459   case 1090:
34460 #line 7370 "gram.y" /* yacc.c:1652  */
34461     { (yyval.ival) = OBJECT_SCHEMA; }
34462 #line 34463 "gram.c" /* yacc.c:1652  */
34463     break;
34464 
34465   case 1091:
34466 #line 7385 "gram.y" /* yacc.c:1652  */
34467     {
34468 					IndexStmt *n = makeNode(IndexStmt);
34469 					n->unique = (yyvsp[-13].boolean);
34470 					n->concurrent = (yyvsp[-11].boolean);
34471 					n->idxname = (yyvsp[-10].str);
34472 					n->relation = (yyvsp[-8].range);
34473 					n->relationId = InvalidOid;
34474 					n->accessMethod = (yyvsp[-7].str);
34475 					n->indexParams = (yyvsp[-5].list);
34476 					n->indexIncludingParams = (yyvsp[-3].list);
34477 					n->options = (yyvsp[-2].list);
34478 					n->tableSpace = (yyvsp[-1].str);
34479 					n->whereClause = (yyvsp[0].node);
34480 					n->excludeOpNames = NIL;
34481 					n->idxcomment = NULL;
34482 					n->indexOid = InvalidOid;
34483 					n->oldNode = InvalidOid;
34484 					n->primary = false;
34485 					n->isconstraint = false;
34486 					n->deferrable = false;
34487 					n->initdeferred = false;
34488 					n->transformed = false;
34489 					n->if_not_exists = false;
34490 					(yyval.node) = (Node *)n;
34491 				}
34492 #line 34493 "gram.c" /* yacc.c:1652  */
34493     break;
34494 
34495   case 1092:
34496 #line 7413 "gram.y" /* yacc.c:1652  */
34497     {
34498 					IndexStmt *n = makeNode(IndexStmt);
34499 					n->unique = (yyvsp[-16].boolean);
34500 					n->concurrent = (yyvsp[-14].boolean);
34501 					n->idxname = (yyvsp[-10].str);
34502 					n->relation = (yyvsp[-8].range);
34503 					n->relationId = InvalidOid;
34504 					n->accessMethod = (yyvsp[-7].str);
34505 					n->indexParams = (yyvsp[-5].list);
34506 					n->indexIncludingParams = (yyvsp[-3].list);
34507 					n->options = (yyvsp[-2].list);
34508 					n->tableSpace = (yyvsp[-1].str);
34509 					n->whereClause = (yyvsp[0].node);
34510 					n->excludeOpNames = NIL;
34511 					n->idxcomment = NULL;
34512 					n->indexOid = InvalidOid;
34513 					n->oldNode = InvalidOid;
34514 					n->primary = false;
34515 					n->isconstraint = false;
34516 					n->deferrable = false;
34517 					n->initdeferred = false;
34518 					n->transformed = false;
34519 					n->if_not_exists = true;
34520 					(yyval.node) = (Node *)n;
34521 				}
34522 #line 34523 "gram.c" /* yacc.c:1652  */
34523     break;
34524 
34525   case 1093:
34526 #line 7441 "gram.y" /* yacc.c:1652  */
34527     { (yyval.boolean) = true; }
34528 #line 34529 "gram.c" /* yacc.c:1652  */
34529     break;
34530 
34531   case 1094:
34532 #line 7442 "gram.y" /* yacc.c:1652  */
34533     { (yyval.boolean) = false; }
34534 #line 34535 "gram.c" /* yacc.c:1652  */
34535     break;
34536 
34537   case 1095:
34538 #line 7446 "gram.y" /* yacc.c:1652  */
34539     { (yyval.boolean) = true; }
34540 #line 34541 "gram.c" /* yacc.c:1652  */
34541     break;
34542 
34543   case 1096:
34544 #line 7447 "gram.y" /* yacc.c:1652  */
34545     { (yyval.boolean) = false; }
34546 #line 34547 "gram.c" /* yacc.c:1652  */
34547     break;
34548 
34549   case 1097:
34550 #line 7451 "gram.y" /* yacc.c:1652  */
34551     { (yyval.str) = (yyvsp[0].str); }
34552 #line 34553 "gram.c" /* yacc.c:1652  */
34553     break;
34554 
34555   case 1098:
34556 #line 7452 "gram.y" /* yacc.c:1652  */
34557     { (yyval.str) = NULL; }
34558 #line 34559 "gram.c" /* yacc.c:1652  */
34559     break;
34560 
34561   case 1099:
34562 #line 7456 "gram.y" /* yacc.c:1652  */
34563     { (yyval.str) = (yyvsp[0].str); }
34564 #line 34565 "gram.c" /* yacc.c:1652  */
34565     break;
34566 
34567   case 1100:
34568 #line 7457 "gram.y" /* yacc.c:1652  */
34569     { (yyval.str) = DEFAULT_INDEX_TYPE; }
34570 #line 34571 "gram.c" /* yacc.c:1652  */
34571     break;
34572 
34573   case 1101:
34574 #line 7460 "gram.y" /* yacc.c:1652  */
34575     { (yyval.list) = list_make1((yyvsp[0].ielem)); }
34576 #line 34577 "gram.c" /* yacc.c:1652  */
34577     break;
34578 
34579   case 1102:
34580 #line 7461 "gram.y" /* yacc.c:1652  */
34581     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].ielem)); }
34582 #line 34583 "gram.c" /* yacc.c:1652  */
34583     break;
34584 
34585   case 1103:
34586 #line 7470 "gram.y" /* yacc.c:1652  */
34587     {
34588 					(yyval.ielem) = makeNode(IndexElem);
34589 					(yyval.ielem)->name = (yyvsp[-4].str);
34590 					(yyval.ielem)->expr = NULL;
34591 					(yyval.ielem)->indexcolname = NULL;
34592 					(yyval.ielem)->collation = (yyvsp[-3].list);
34593 					(yyval.ielem)->opclass = (yyvsp[-2].list);
34594 					(yyval.ielem)->ordering = (yyvsp[-1].ival);
34595 					(yyval.ielem)->nulls_ordering = (yyvsp[0].ival);
34596 				}
34597 #line 34598 "gram.c" /* yacc.c:1652  */
34598     break;
34599 
34600   case 1104:
34601 #line 7481 "gram.y" /* yacc.c:1652  */
34602     {
34603 					(yyval.ielem) = makeNode(IndexElem);
34604 					(yyval.ielem)->name = NULL;
34605 					(yyval.ielem)->expr = (yyvsp[-4].node);
34606 					(yyval.ielem)->indexcolname = NULL;
34607 					(yyval.ielem)->collation = (yyvsp[-3].list);
34608 					(yyval.ielem)->opclass = (yyvsp[-2].list);
34609 					(yyval.ielem)->ordering = (yyvsp[-1].ival);
34610 					(yyval.ielem)->nulls_ordering = (yyvsp[0].ival);
34611 				}
34612 #line 34613 "gram.c" /* yacc.c:1652  */
34613     break;
34614 
34615   case 1105:
34616 #line 7492 "gram.y" /* yacc.c:1652  */
34617     {
34618 					(yyval.ielem) = makeNode(IndexElem);
34619 					(yyval.ielem)->name = NULL;
34620 					(yyval.ielem)->expr = (yyvsp[-5].node);
34621 					(yyval.ielem)->indexcolname = NULL;
34622 					(yyval.ielem)->collation = (yyvsp[-3].list);
34623 					(yyval.ielem)->opclass = (yyvsp[-2].list);
34624 					(yyval.ielem)->ordering = (yyvsp[-1].ival);
34625 					(yyval.ielem)->nulls_ordering = (yyvsp[0].ival);
34626 				}
34627 #line 34628 "gram.c" /* yacc.c:1652  */
34628     break;
34629 
34630   case 1106:
34631 #line 7504 "gram.y" /* yacc.c:1652  */
34632     { (yyval.list) = (yyvsp[-1].list); }
34633 #line 34634 "gram.c" /* yacc.c:1652  */
34634     break;
34635 
34636   case 1107:
34637 #line 7505 "gram.y" /* yacc.c:1652  */
34638     { (yyval.list) = NIL; }
34639 #line 34640 "gram.c" /* yacc.c:1652  */
34640     break;
34641 
34642   case 1108:
34643 #line 7508 "gram.y" /* yacc.c:1652  */
34644     { (yyval.list) = list_make1((yyvsp[0].ielem)); }
34645 #line 34646 "gram.c" /* yacc.c:1652  */
34646     break;
34647 
34648   case 1109:
34649 #line 7509 "gram.y" /* yacc.c:1652  */
34650     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].ielem)); }
34651 #line 34652 "gram.c" /* yacc.c:1652  */
34652     break;
34653 
34654   case 1110:
34655 #line 7512 "gram.y" /* yacc.c:1652  */
34656     { (yyval.list) = (yyvsp[0].list); }
34657 #line 34658 "gram.c" /* yacc.c:1652  */
34658     break;
34659 
34660   case 1111:
34661 #line 7513 "gram.y" /* yacc.c:1652  */
34662     { (yyval.list) = NIL; }
34663 #line 34664 "gram.c" /* yacc.c:1652  */
34664     break;
34665 
34666   case 1112:
34667 #line 7516 "gram.y" /* yacc.c:1652  */
34668     { (yyval.list) = (yyvsp[0].list); }
34669 #line 34670 "gram.c" /* yacc.c:1652  */
34670     break;
34671 
34672   case 1113:
34673 #line 7517 "gram.y" /* yacc.c:1652  */
34674     { (yyval.list) = NIL; }
34675 #line 34676 "gram.c" /* yacc.c:1652  */
34676     break;
34677 
34678   case 1114:
34679 #line 7520 "gram.y" /* yacc.c:1652  */
34680     { (yyval.ival) = SORTBY_ASC; }
34681 #line 34682 "gram.c" /* yacc.c:1652  */
34682     break;
34683 
34684   case 1115:
34685 #line 7521 "gram.y" /* yacc.c:1652  */
34686     { (yyval.ival) = SORTBY_DESC; }
34687 #line 34688 "gram.c" /* yacc.c:1652  */
34688     break;
34689 
34690   case 1116:
34691 #line 7522 "gram.y" /* yacc.c:1652  */
34692     { (yyval.ival) = SORTBY_DEFAULT; }
34693 #line 34694 "gram.c" /* yacc.c:1652  */
34694     break;
34695 
34696   case 1117:
34697 #line 7525 "gram.y" /* yacc.c:1652  */
34698     { (yyval.ival) = SORTBY_NULLS_FIRST; }
34699 #line 34700 "gram.c" /* yacc.c:1652  */
34700     break;
34701 
34702   case 1118:
34703 #line 7526 "gram.y" /* yacc.c:1652  */
34704     { (yyval.ival) = SORTBY_NULLS_LAST; }
34705 #line 34706 "gram.c" /* yacc.c:1652  */
34706     break;
34707 
34708   case 1119:
34709 #line 7527 "gram.y" /* yacc.c:1652  */
34710     { (yyval.ival) = SORTBY_NULLS_DEFAULT; }
34711 #line 34712 "gram.c" /* yacc.c:1652  */
34712     break;
34713 
34714   case 1120:
34715 #line 7545 "gram.y" /* yacc.c:1652  */
34716     {
34717 					CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
34718 					n->is_procedure = false;
34719 					n->replace = (yyvsp[-6].boolean);
34720 					n->funcname = (yyvsp[-4].list);
34721 					n->parameters = (yyvsp[-3].list);
34722 					n->returnType = (yyvsp[-1].typnam);
34723 					n->options = (yyvsp[0].list);
34724 					(yyval.node) = (Node *)n;
34725 				}
34726 #line 34727 "gram.c" /* yacc.c:1652  */
34727     break;
34728 
34729   case 1121:
34730 #line 7557 "gram.y" /* yacc.c:1652  */
34731     {
34732 					CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
34733 					n->is_procedure = false;
34734 					n->replace = (yyvsp[-9].boolean);
34735 					n->funcname = (yyvsp[-7].list);
34736 					n->parameters = mergeTableFuncParameters((yyvsp[-6].list), (yyvsp[-2].list));
34737 					n->returnType = TableFuncTypeName((yyvsp[-2].list));
34738 					n->returnType->location = (yylsp[-4]);
34739 					n->options = (yyvsp[0].list);
34740 					(yyval.node) = (Node *)n;
34741 				}
34742 #line 34743 "gram.c" /* yacc.c:1652  */
34743     break;
34744 
34745   case 1122:
34746 #line 7570 "gram.y" /* yacc.c:1652  */
34747     {
34748 					CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
34749 					n->is_procedure = false;
34750 					n->replace = (yyvsp[-4].boolean);
34751 					n->funcname = (yyvsp[-2].list);
34752 					n->parameters = (yyvsp[-1].list);
34753 					n->returnType = NULL;
34754 					n->options = (yyvsp[0].list);
34755 					(yyval.node) = (Node *)n;
34756 				}
34757 #line 34758 "gram.c" /* yacc.c:1652  */
34758     break;
34759 
34760   case 1123:
34761 #line 7582 "gram.y" /* yacc.c:1652  */
34762     {
34763 					CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
34764 					n->is_procedure = true;
34765 					n->replace = (yyvsp[-4].boolean);
34766 					n->funcname = (yyvsp[-2].list);
34767 					n->parameters = (yyvsp[-1].list);
34768 					n->returnType = NULL;
34769 					n->options = (yyvsp[0].list);
34770 					(yyval.node) = (Node *)n;
34771 				}
34772 #line 34773 "gram.c" /* yacc.c:1652  */
34773     break;
34774 
34775   case 1124:
34776 #line 7595 "gram.y" /* yacc.c:1652  */
34777     { (yyval.boolean) = true; }
34778 #line 34779 "gram.c" /* yacc.c:1652  */
34779     break;
34780 
34781   case 1125:
34782 #line 7596 "gram.y" /* yacc.c:1652  */
34783     { (yyval.boolean) = false; }
34784 #line 34785 "gram.c" /* yacc.c:1652  */
34785     break;
34786 
34787   case 1126:
34788 #line 7599 "gram.y" /* yacc.c:1652  */
34789     { (yyval.list) = (yyvsp[-1].list); }
34790 #line 34791 "gram.c" /* yacc.c:1652  */
34791     break;
34792 
34793   case 1127:
34794 #line 7600 "gram.y" /* yacc.c:1652  */
34795     { (yyval.list) = NIL; }
34796 #line 34797 "gram.c" /* yacc.c:1652  */
34797     break;
34798 
34799   case 1128:
34800 #line 7604 "gram.y" /* yacc.c:1652  */
34801     { (yyval.list) = list_make1((yyvsp[0].fun_param)); }
34802 #line 34803 "gram.c" /* yacc.c:1652  */
34803     break;
34804 
34805   case 1129:
34806 #line 7605 "gram.y" /* yacc.c:1652  */
34807     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param)); }
34808 #line 34809 "gram.c" /* yacc.c:1652  */
34809     break;
34810 
34811   case 1130:
34812 #line 7609 "gram.y" /* yacc.c:1652  */
34813     { (yyval.list) = list_make1((yyvsp[0].objwithargs)); }
34814 #line 34815 "gram.c" /* yacc.c:1652  */
34815     break;
34816 
34817   case 1131:
34818 #line 7611 "gram.y" /* yacc.c:1652  */
34819     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].objwithargs)); }
34820 #line 34821 "gram.c" /* yacc.c:1652  */
34821     break;
34822 
34823   case 1132:
34824 #line 7616 "gram.y" /* yacc.c:1652  */
34825     {
34826 					ObjectWithArgs *n = makeNode(ObjectWithArgs);
34827 					n->objname = (yyvsp[-1].list);
34828 					n->objargs = extractArgTypes((yyvsp[0].list));
34829 					(yyval.objwithargs) = n;
34830 				}
34831 #line 34832 "gram.c" /* yacc.c:1652  */
34832     break;
34833 
34834   case 1133:
34835 #line 7628 "gram.y" /* yacc.c:1652  */
34836     {
34837 					ObjectWithArgs *n = makeNode(ObjectWithArgs);
34838 					n->objname = list_make1(makeString(pstrdup((yyvsp[0].keyword))));
34839 					n->args_unspecified = true;
34840 					(yyval.objwithargs) = n;
34841 				}
34842 #line 34843 "gram.c" /* yacc.c:1652  */
34843     break;
34844 
34845   case 1134:
34846 #line 7635 "gram.y" /* yacc.c:1652  */
34847     {
34848 					ObjectWithArgs *n = makeNode(ObjectWithArgs);
34849 					n->objname = list_make1(makeString((yyvsp[0].str)));
34850 					n->args_unspecified = true;
34851 					(yyval.objwithargs) = n;
34852 				}
34853 #line 34854 "gram.c" /* yacc.c:1652  */
34854     break;
34855 
34856   case 1135:
34857 #line 7642 "gram.y" /* yacc.c:1652  */
34858     {
34859 					ObjectWithArgs *n = makeNode(ObjectWithArgs);
34860 					n->objname = check_func_name(lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)),
34861 												  yyscanner);
34862 					n->args_unspecified = true;
34863 					(yyval.objwithargs) = n;
34864 				}
34865 #line 34866 "gram.c" /* yacc.c:1652  */
34866     break;
34867 
34868   case 1136:
34869 #line 7656 "gram.y" /* yacc.c:1652  */
34870     { (yyval.list) = (yyvsp[-1].list); }
34871 #line 34872 "gram.c" /* yacc.c:1652  */
34872     break;
34873 
34874   case 1137:
34875 #line 7657 "gram.y" /* yacc.c:1652  */
34876     { (yyval.list) = NIL; }
34877 #line 34878 "gram.c" /* yacc.c:1652  */
34878     break;
34879 
34880   case 1138:
34881 #line 7661 "gram.y" /* yacc.c:1652  */
34882     { (yyval.list) = list_make1((yyvsp[0].fun_param)); }
34883 #line 34884 "gram.c" /* yacc.c:1652  */
34884     break;
34885 
34886   case 1139:
34887 #line 7663 "gram.y" /* yacc.c:1652  */
34888     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param)); }
34889 #line 34890 "gram.c" /* yacc.c:1652  */
34890     break;
34891 
34892   case 1140:
34893 #line 7678 "gram.y" /* yacc.c:1652  */
34894     {
34895 					FunctionParameter *n = makeNode(FunctionParameter);
34896 					n->name = (yyvsp[-1].str);
34897 					n->argType = (yyvsp[0].typnam);
34898 					n->mode = (yyvsp[-2].fun_param_mode);
34899 					n->defexpr = NULL;
34900 					(yyval.fun_param) = n;
34901 				}
34902 #line 34903 "gram.c" /* yacc.c:1652  */
34903     break;
34904 
34905   case 1141:
34906 #line 7687 "gram.y" /* yacc.c:1652  */
34907     {
34908 					FunctionParameter *n = makeNode(FunctionParameter);
34909 					n->name = (yyvsp[-2].str);
34910 					n->argType = (yyvsp[0].typnam);
34911 					n->mode = (yyvsp[-1].fun_param_mode);
34912 					n->defexpr = NULL;
34913 					(yyval.fun_param) = n;
34914 				}
34915 #line 34916 "gram.c" /* yacc.c:1652  */
34916     break;
34917 
34918   case 1142:
34919 #line 7696 "gram.y" /* yacc.c:1652  */
34920     {
34921 					FunctionParameter *n = makeNode(FunctionParameter);
34922 					n->name = (yyvsp[-1].str);
34923 					n->argType = (yyvsp[0].typnam);
34924 					n->mode = FUNC_PARAM_IN;
34925 					n->defexpr = NULL;
34926 					(yyval.fun_param) = n;
34927 				}
34928 #line 34929 "gram.c" /* yacc.c:1652  */
34929     break;
34930 
34931   case 1143:
34932 #line 7705 "gram.y" /* yacc.c:1652  */
34933     {
34934 					FunctionParameter *n = makeNode(FunctionParameter);
34935 					n->name = NULL;
34936 					n->argType = (yyvsp[0].typnam);
34937 					n->mode = (yyvsp[-1].fun_param_mode);
34938 					n->defexpr = NULL;
34939 					(yyval.fun_param) = n;
34940 				}
34941 #line 34942 "gram.c" /* yacc.c:1652  */
34942     break;
34943 
34944   case 1144:
34945 #line 7714 "gram.y" /* yacc.c:1652  */
34946     {
34947 					FunctionParameter *n = makeNode(FunctionParameter);
34948 					n->name = NULL;
34949 					n->argType = (yyvsp[0].typnam);
34950 					n->mode = FUNC_PARAM_IN;
34951 					n->defexpr = NULL;
34952 					(yyval.fun_param) = n;
34953 				}
34954 #line 34955 "gram.c" /* yacc.c:1652  */
34955     break;
34956 
34957   case 1145:
34958 #line 7725 "gram.y" /* yacc.c:1652  */
34959     { (yyval.fun_param_mode) = FUNC_PARAM_IN; }
34960 #line 34961 "gram.c" /* yacc.c:1652  */
34961     break;
34962 
34963   case 1146:
34964 #line 7726 "gram.y" /* yacc.c:1652  */
34965     { (yyval.fun_param_mode) = FUNC_PARAM_OUT; }
34966 #line 34967 "gram.c" /* yacc.c:1652  */
34967     break;
34968 
34969   case 1147:
34970 #line 7727 "gram.y" /* yacc.c:1652  */
34971     { (yyval.fun_param_mode) = FUNC_PARAM_INOUT; }
34972 #line 34973 "gram.c" /* yacc.c:1652  */
34973     break;
34974 
34975   case 1148:
34976 #line 7728 "gram.y" /* yacc.c:1652  */
34977     { (yyval.fun_param_mode) = FUNC_PARAM_INOUT; }
34978 #line 34979 "gram.c" /* yacc.c:1652  */
34979     break;
34980 
34981   case 1149:
34982 #line 7729 "gram.y" /* yacc.c:1652  */
34983     { (yyval.fun_param_mode) = FUNC_PARAM_VARIADIC; }
34984 #line 34985 "gram.c" /* yacc.c:1652  */
34985     break;
34986 
34987   case 1151:
34988 #line 7740 "gram.y" /* yacc.c:1652  */
34989     {
34990 					/* We can catch over-specified results here if we want to,
34991 					 * but for now better to silently swallow typmod, etc.
34992 					 * - thomas 2000-03-22
34993 					 */
34994 					(yyval.typnam) = (yyvsp[0].typnam);
34995 				}
34996 #line 34997 "gram.c" /* yacc.c:1652  */
34997     break;
34998 
34999   case 1152:
35000 #line 7754 "gram.y" /* yacc.c:1652  */
35001     { (yyval.typnam) = (yyvsp[0].typnam); }
35002 #line 35003 "gram.c" /* yacc.c:1652  */
35003     break;
35004 
35005   case 1153:
35006 #line 7756 "gram.y" /* yacc.c:1652  */
35007     {
35008 					(yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[-3].str)), (yyvsp[-2].list)));
35009 					(yyval.typnam)->pct_type = true;
35010 					(yyval.typnam)->location = (yylsp[-3]);
35011 				}
35012 #line 35013 "gram.c" /* yacc.c:1652  */
35013     break;
35014 
35015   case 1154:
35016 #line 7762 "gram.y" /* yacc.c:1652  */
35017     {
35018 					(yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[-3].str)), (yyvsp[-2].list)));
35019 					(yyval.typnam)->pct_type = true;
35020 					(yyval.typnam)->setof = true;
35021 					(yyval.typnam)->location = (yylsp[-3]);
35022 				}
35023 #line 35024 "gram.c" /* yacc.c:1652  */
35024     break;
35025 
35026   case 1155:
35027 #line 7772 "gram.y" /* yacc.c:1652  */
35028     {
35029 					(yyval.fun_param) = (yyvsp[0].fun_param);
35030 				}
35031 #line 35032 "gram.c" /* yacc.c:1652  */
35032     break;
35033 
35034   case 1156:
35035 #line 7776 "gram.y" /* yacc.c:1652  */
35036     {
35037 					(yyval.fun_param) = (yyvsp[-2].fun_param);
35038 					(yyval.fun_param)->defexpr = (yyvsp[0].node);
35039 				}
35040 #line 35041 "gram.c" /* yacc.c:1652  */
35041     break;
35042 
35043   case 1157:
35044 #line 7781 "gram.y" /* yacc.c:1652  */
35045     {
35046 					(yyval.fun_param) = (yyvsp[-2].fun_param);
35047 					(yyval.fun_param)->defexpr = (yyvsp[0].node);
35048 				}
35049 #line 35050 "gram.c" /* yacc.c:1652  */
35050     break;
35051 
35052   case 1158:
35053 #line 7789 "gram.y" /* yacc.c:1652  */
35054     {
35055 					if (!((yyvsp[0].fun_param)->mode == FUNC_PARAM_IN ||
35056 						  (yyvsp[0].fun_param)->mode == FUNC_PARAM_VARIADIC))
35057 						ereport(ERROR,
35058 								(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
35059 								 errmsg("aggregates cannot have output arguments"),
35060 								 parser_errposition((yylsp[0]))));
35061 					(yyval.fun_param) = (yyvsp[0].fun_param);
35062 				}
35063 #line 35064 "gram.c" /* yacc.c:1652  */
35064     break;
35065 
35066   case 1159:
35067 #line 7830 "gram.y" /* yacc.c:1652  */
35068     {
35069 					(yyval.list) = list_make2(NIL, makeInteger(-1));
35070 				}
35071 #line 35072 "gram.c" /* yacc.c:1652  */
35072     break;
35073 
35074   case 1160:
35075 #line 7834 "gram.y" /* yacc.c:1652  */
35076     {
35077 					(yyval.list) = list_make2((yyvsp[-1].list), makeInteger(-1));
35078 				}
35079 #line 35080 "gram.c" /* yacc.c:1652  */
35080     break;
35081 
35082   case 1161:
35083 #line 7838 "gram.y" /* yacc.c:1652  */
35084     {
35085 					(yyval.list) = list_make2((yyvsp[-1].list), makeInteger(0));
35086 				}
35087 #line 35088 "gram.c" /* yacc.c:1652  */
35088     break;
35089 
35090   case 1162:
35091 #line 7842 "gram.y" /* yacc.c:1652  */
35092     {
35093 					/* this is the only case requiring consistency checking */
35094 					(yyval.list) = makeOrderedSetArgs((yyvsp[-4].list), (yyvsp[-1].list), yyscanner);
35095 				}
35096 #line 35097 "gram.c" /* yacc.c:1652  */
35097     break;
35098 
35099   case 1163:
35100 #line 7849 "gram.y" /* yacc.c:1652  */
35101     { (yyval.list) = list_make1((yyvsp[0].fun_param)); }
35102 #line 35103 "gram.c" /* yacc.c:1652  */
35103     break;
35104 
35105   case 1164:
35106 #line 7850 "gram.y" /* yacc.c:1652  */
35107     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param)); }
35108 #line 35109 "gram.c" /* yacc.c:1652  */
35109     break;
35110 
35111   case 1165:
35112 #line 7855 "gram.y" /* yacc.c:1652  */
35113     {
35114 					ObjectWithArgs *n = makeNode(ObjectWithArgs);
35115 					n->objname = (yyvsp[-1].list);
35116 					n->objargs = extractAggrArgTypes((yyvsp[0].list));
35117 					(yyval.objwithargs) = n;
35118 				}
35119 #line 35120 "gram.c" /* yacc.c:1652  */
35120     break;
35121 
35122   case 1166:
35123 #line 7864 "gram.y" /* yacc.c:1652  */
35124     { (yyval.list) = list_make1((yyvsp[0].objwithargs)); }
35125 #line 35126 "gram.c" /* yacc.c:1652  */
35126     break;
35127 
35128   case 1167:
35129 #line 7866 "gram.y" /* yacc.c:1652  */
35130     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].objwithargs)); }
35131 #line 35132 "gram.c" /* yacc.c:1652  */
35132     break;
35133 
35134   case 1168:
35135 #line 7871 "gram.y" /* yacc.c:1652  */
35136     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
35137 #line 35138 "gram.c" /* yacc.c:1652  */
35138     break;
35139 
35140   case 1169:
35141 #line 7872 "gram.y" /* yacc.c:1652  */
35142     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
35143 #line 35144 "gram.c" /* yacc.c:1652  */
35144     break;
35145 
35146   case 1170:
35147 #line 7880 "gram.y" /* yacc.c:1652  */
35148     {
35149 					(yyval.defelt) = makeDefElem("strict", (Node *)makeInteger(false), (yylsp[-3]));
35150 				}
35151 #line 35152 "gram.c" /* yacc.c:1652  */
35152     break;
35153 
35154   case 1171:
35155 #line 7884 "gram.y" /* yacc.c:1652  */
35156     {
35157 					(yyval.defelt) = makeDefElem("strict", (Node *)makeInteger(true), (yylsp[-4]));
35158 				}
35159 #line 35160 "gram.c" /* yacc.c:1652  */
35160     break;
35161 
35162   case 1172:
35163 #line 7888 "gram.y" /* yacc.c:1652  */
35164     {
35165 					(yyval.defelt) = makeDefElem("strict", (Node *)makeInteger(true), (yylsp[0]));
35166 				}
35167 #line 35168 "gram.c" /* yacc.c:1652  */
35168     break;
35169 
35170   case 1173:
35171 #line 7892 "gram.y" /* yacc.c:1652  */
35172     {
35173 					(yyval.defelt) = makeDefElem("volatility", (Node *)makeString("immutable"), (yylsp[0]));
35174 				}
35175 #line 35176 "gram.c" /* yacc.c:1652  */
35176     break;
35177 
35178   case 1174:
35179 #line 7896 "gram.y" /* yacc.c:1652  */
35180     {
35181 					(yyval.defelt) = makeDefElem("volatility", (Node *)makeString("stable"), (yylsp[0]));
35182 				}
35183 #line 35184 "gram.c" /* yacc.c:1652  */
35184     break;
35185 
35186   case 1175:
35187 #line 7900 "gram.y" /* yacc.c:1652  */
35188     {
35189 					(yyval.defelt) = makeDefElem("volatility", (Node *)makeString("volatile"), (yylsp[0]));
35190 				}
35191 #line 35192 "gram.c" /* yacc.c:1652  */
35192     break;
35193 
35194   case 1176:
35195 #line 7904 "gram.y" /* yacc.c:1652  */
35196     {
35197 					(yyval.defelt) = makeDefElem("security", (Node *)makeInteger(true), (yylsp[-2]));
35198 				}
35199 #line 35200 "gram.c" /* yacc.c:1652  */
35200     break;
35201 
35202   case 1177:
35203 #line 7908 "gram.y" /* yacc.c:1652  */
35204     {
35205 					(yyval.defelt) = makeDefElem("security", (Node *)makeInteger(false), (yylsp[-2]));
35206 				}
35207 #line 35208 "gram.c" /* yacc.c:1652  */
35208     break;
35209 
35210   case 1178:
35211 #line 7912 "gram.y" /* yacc.c:1652  */
35212     {
35213 					(yyval.defelt) = makeDefElem("security", (Node *)makeInteger(true), (yylsp[-1]));
35214 				}
35215 #line 35216 "gram.c" /* yacc.c:1652  */
35216     break;
35217 
35218   case 1179:
35219 #line 7916 "gram.y" /* yacc.c:1652  */
35220     {
35221 					(yyval.defelt) = makeDefElem("security", (Node *)makeInteger(false), (yylsp[-1]));
35222 				}
35223 #line 35224 "gram.c" /* yacc.c:1652  */
35224     break;
35225 
35226   case 1180:
35227 #line 7920 "gram.y" /* yacc.c:1652  */
35228     {
35229 					(yyval.defelt) = makeDefElem("leakproof", (Node *)makeInteger(true), (yylsp[0]));
35230 				}
35231 #line 35232 "gram.c" /* yacc.c:1652  */
35232     break;
35233 
35234   case 1181:
35235 #line 7924 "gram.y" /* yacc.c:1652  */
35236     {
35237 					(yyval.defelt) = makeDefElem("leakproof", (Node *)makeInteger(false), (yylsp[-1]));
35238 				}
35239 #line 35240 "gram.c" /* yacc.c:1652  */
35240     break;
35241 
35242   case 1182:
35243 #line 7928 "gram.y" /* yacc.c:1652  */
35244     {
35245 					(yyval.defelt) = makeDefElem("cost", (Node *)(yyvsp[0].value), (yylsp[-1]));
35246 				}
35247 #line 35248 "gram.c" /* yacc.c:1652  */
35248     break;
35249 
35250   case 1183:
35251 #line 7932 "gram.y" /* yacc.c:1652  */
35252     {
35253 					(yyval.defelt) = makeDefElem("rows", (Node *)(yyvsp[0].value), (yylsp[-1]));
35254 				}
35255 #line 35256 "gram.c" /* yacc.c:1652  */
35256     break;
35257 
35258   case 1184:
35259 #line 7936 "gram.y" /* yacc.c:1652  */
35260     {
35261 					/* we abuse the normal content of a DefElem here */
35262 					(yyval.defelt) = makeDefElem("set", (Node *)(yyvsp[0].vsetstmt), (yylsp[0]));
35263 				}
35264 #line 35265 "gram.c" /* yacc.c:1652  */
35265     break;
35266 
35267   case 1185:
35268 #line 7941 "gram.y" /* yacc.c:1652  */
35269     {
35270 					(yyval.defelt) = makeDefElem("parallel", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
35271 				}
35272 #line 35273 "gram.c" /* yacc.c:1652  */
35273     break;
35274 
35275   case 1186:
35276 #line 7948 "gram.y" /* yacc.c:1652  */
35277     {
35278 					(yyval.defelt) = makeDefElem("as", (Node *)(yyvsp[0].list), (yylsp[-1]));
35279 				}
35280 #line 35281 "gram.c" /* yacc.c:1652  */
35281     break;
35282 
35283   case 1187:
35284 #line 7952 "gram.y" /* yacc.c:1652  */
35285     {
35286 					(yyval.defelt) = makeDefElem("language", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
35287 				}
35288 #line 35289 "gram.c" /* yacc.c:1652  */
35289     break;
35290 
35291   case 1188:
35292 #line 7956 "gram.y" /* yacc.c:1652  */
35293     {
35294 					(yyval.defelt) = makeDefElem("transform", (Node *)(yyvsp[0].list), (yylsp[-1]));
35295 				}
35296 #line 35297 "gram.c" /* yacc.c:1652  */
35297     break;
35298 
35299   case 1189:
35300 #line 7960 "gram.y" /* yacc.c:1652  */
35301     {
35302 					(yyval.defelt) = makeDefElem("window", (Node *)makeInteger(true), (yylsp[0]));
35303 				}
35304 #line 35305 "gram.c" /* yacc.c:1652  */
35305     break;
35306 
35307   case 1190:
35308 #line 7964 "gram.y" /* yacc.c:1652  */
35309     {
35310 					(yyval.defelt) = (yyvsp[0].defelt);
35311 				}
35312 #line 35313 "gram.c" /* yacc.c:1652  */
35313     break;
35314 
35315   case 1191:
35316 #line 7969 "gram.y" /* yacc.c:1652  */
35317     { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
35318 #line 35319 "gram.c" /* yacc.c:1652  */
35319     break;
35320 
35321   case 1192:
35322 #line 7971 "gram.y" /* yacc.c:1652  */
35323     {
35324 					(yyval.list) = list_make2(makeString((yyvsp[-2].str)), makeString((yyvsp[0].str)));
35325 				}
35326 #line 35327 "gram.c" /* yacc.c:1652  */
35327     break;
35328 
35329   case 1193:
35330 #line 7977 "gram.y" /* yacc.c:1652  */
35331     { (yyval.list) = list_make1((yyvsp[0].typnam)); }
35332 #line 35333 "gram.c" /* yacc.c:1652  */
35333     break;
35334 
35335   case 1194:
35336 #line 7978 "gram.y" /* yacc.c:1652  */
35337     { (yyval.list) = lappend((yyvsp[-4].list), (yyvsp[0].typnam)); }
35338 #line 35339 "gram.c" /* yacc.c:1652  */
35339     break;
35340 
35341   case 1195:
35342 #line 7982 "gram.y" /* yacc.c:1652  */
35343     { (yyval.list) = (yyvsp[0].list); }
35344 #line 35345 "gram.c" /* yacc.c:1652  */
35345     break;
35346 
35347   case 1196:
35348 #line 7983 "gram.y" /* yacc.c:1652  */
35349     { (yyval.list) = NIL; }
35350 #line 35351 "gram.c" /* yacc.c:1652  */
35351     break;
35352 
35353   case 1197:
35354 #line 7987 "gram.y" /* yacc.c:1652  */
35355     {
35356 					FunctionParameter *n = makeNode(FunctionParameter);
35357 					n->name = (yyvsp[-1].str);
35358 					n->argType = (yyvsp[0].typnam);
35359 					n->mode = FUNC_PARAM_TABLE;
35360 					n->defexpr = NULL;
35361 					(yyval.fun_param) = n;
35362 				}
35363 #line 35364 "gram.c" /* yacc.c:1652  */
35364     break;
35365 
35366   case 1198:
35367 #line 7999 "gram.y" /* yacc.c:1652  */
35368     {
35369 					(yyval.list) = list_make1((yyvsp[0].fun_param));
35370 				}
35371 #line 35372 "gram.c" /* yacc.c:1652  */
35372     break;
35373 
35374   case 1199:
35375 #line 8003 "gram.y" /* yacc.c:1652  */
35376     {
35377 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param));
35378 				}
35379 #line 35380 "gram.c" /* yacc.c:1652  */
35380     break;
35381 
35382   case 1200:
35383 #line 8018 "gram.y" /* yacc.c:1652  */
35384     {
35385 					AlterFunctionStmt *n = makeNode(AlterFunctionStmt);
35386 					n->objtype = OBJECT_FUNCTION;
35387 					n->func = (yyvsp[-2].objwithargs);
35388 					n->actions = (yyvsp[-1].list);
35389 					(yyval.node) = (Node *) n;
35390 				}
35391 #line 35392 "gram.c" /* yacc.c:1652  */
35392     break;
35393 
35394   case 1201:
35395 #line 8026 "gram.y" /* yacc.c:1652  */
35396     {
35397 					AlterFunctionStmt *n = makeNode(AlterFunctionStmt);
35398 					n->objtype = OBJECT_PROCEDURE;
35399 					n->func = (yyvsp[-2].objwithargs);
35400 					n->actions = (yyvsp[-1].list);
35401 					(yyval.node) = (Node *) n;
35402 				}
35403 #line 35404 "gram.c" /* yacc.c:1652  */
35404     break;
35405 
35406   case 1202:
35407 #line 8034 "gram.y" /* yacc.c:1652  */
35408     {
35409 					AlterFunctionStmt *n = makeNode(AlterFunctionStmt);
35410 					n->objtype = OBJECT_ROUTINE;
35411 					n->func = (yyvsp[-2].objwithargs);
35412 					n->actions = (yyvsp[-1].list);
35413 					(yyval.node) = (Node *) n;
35414 				}
35415 #line 35416 "gram.c" /* yacc.c:1652  */
35416     break;
35417 
35418   case 1203:
35419 #line 8045 "gram.y" /* yacc.c:1652  */
35420     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
35421 #line 35422 "gram.c" /* yacc.c:1652  */
35422     break;
35423 
35424   case 1204:
35425 #line 8046 "gram.y" /* yacc.c:1652  */
35426     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
35427 #line 35428 "gram.c" /* yacc.c:1652  */
35428     break;
35429 
35430   case 1207:
35431 #line 8070 "gram.y" /* yacc.c:1652  */
35432     {
35433 					DropStmt *n = makeNode(DropStmt);
35434 					n->removeType = OBJECT_FUNCTION;
35435 					n->objects = (yyvsp[-1].list);
35436 					n->behavior = (yyvsp[0].dbehavior);
35437 					n->missing_ok = false;
35438 					n->concurrent = false;
35439 					(yyval.node) = (Node *)n;
35440 				}
35441 #line 35442 "gram.c" /* yacc.c:1652  */
35442     break;
35443 
35444   case 1208:
35445 #line 8080 "gram.y" /* yacc.c:1652  */
35446     {
35447 					DropStmt *n = makeNode(DropStmt);
35448 					n->removeType = OBJECT_FUNCTION;
35449 					n->objects = (yyvsp[-1].list);
35450 					n->behavior = (yyvsp[0].dbehavior);
35451 					n->missing_ok = true;
35452 					n->concurrent = false;
35453 					(yyval.node) = (Node *)n;
35454 				}
35455 #line 35456 "gram.c" /* yacc.c:1652  */
35456     break;
35457 
35458   case 1209:
35459 #line 8090 "gram.y" /* yacc.c:1652  */
35460     {
35461 					DropStmt *n = makeNode(DropStmt);
35462 					n->removeType = OBJECT_PROCEDURE;
35463 					n->objects = (yyvsp[-1].list);
35464 					n->behavior = (yyvsp[0].dbehavior);
35465 					n->missing_ok = false;
35466 					n->concurrent = false;
35467 					(yyval.node) = (Node *)n;
35468 				}
35469 #line 35470 "gram.c" /* yacc.c:1652  */
35470     break;
35471 
35472   case 1210:
35473 #line 8100 "gram.y" /* yacc.c:1652  */
35474     {
35475 					DropStmt *n = makeNode(DropStmt);
35476 					n->removeType = OBJECT_PROCEDURE;
35477 					n->objects = (yyvsp[-1].list);
35478 					n->behavior = (yyvsp[0].dbehavior);
35479 					n->missing_ok = true;
35480 					n->concurrent = false;
35481 					(yyval.node) = (Node *)n;
35482 				}
35483 #line 35484 "gram.c" /* yacc.c:1652  */
35484     break;
35485 
35486   case 1211:
35487 #line 8110 "gram.y" /* yacc.c:1652  */
35488     {
35489 					DropStmt *n = makeNode(DropStmt);
35490 					n->removeType = OBJECT_ROUTINE;
35491 					n->objects = (yyvsp[-1].list);
35492 					n->behavior = (yyvsp[0].dbehavior);
35493 					n->missing_ok = false;
35494 					n->concurrent = false;
35495 					(yyval.node) = (Node *)n;
35496 				}
35497 #line 35498 "gram.c" /* yacc.c:1652  */
35498     break;
35499 
35500   case 1212:
35501 #line 8120 "gram.y" /* yacc.c:1652  */
35502     {
35503 					DropStmt *n = makeNode(DropStmt);
35504 					n->removeType = OBJECT_ROUTINE;
35505 					n->objects = (yyvsp[-1].list);
35506 					n->behavior = (yyvsp[0].dbehavior);
35507 					n->missing_ok = true;
35508 					n->concurrent = false;
35509 					(yyval.node) = (Node *)n;
35510 				}
35511 #line 35512 "gram.c" /* yacc.c:1652  */
35512     break;
35513 
35514   case 1213:
35515 #line 8133 "gram.y" /* yacc.c:1652  */
35516     {
35517 					DropStmt *n = makeNode(DropStmt);
35518 					n->removeType = OBJECT_AGGREGATE;
35519 					n->objects = (yyvsp[-1].list);
35520 					n->behavior = (yyvsp[0].dbehavior);
35521 					n->missing_ok = false;
35522 					n->concurrent = false;
35523 					(yyval.node) = (Node *)n;
35524 				}
35525 #line 35526 "gram.c" /* yacc.c:1652  */
35526     break;
35527 
35528   case 1214:
35529 #line 8143 "gram.y" /* yacc.c:1652  */
35530     {
35531 					DropStmt *n = makeNode(DropStmt);
35532 					n->removeType = OBJECT_AGGREGATE;
35533 					n->objects = (yyvsp[-1].list);
35534 					n->behavior = (yyvsp[0].dbehavior);
35535 					n->missing_ok = true;
35536 					n->concurrent = false;
35537 					(yyval.node) = (Node *)n;
35538 				}
35539 #line 35540 "gram.c" /* yacc.c:1652  */
35540     break;
35541 
35542   case 1215:
35543 #line 8156 "gram.y" /* yacc.c:1652  */
35544     {
35545 					DropStmt *n = makeNode(DropStmt);
35546 					n->removeType = OBJECT_OPERATOR;
35547 					n->objects = (yyvsp[-1].list);
35548 					n->behavior = (yyvsp[0].dbehavior);
35549 					n->missing_ok = false;
35550 					n->concurrent = false;
35551 					(yyval.node) = (Node *)n;
35552 				}
35553 #line 35554 "gram.c" /* yacc.c:1652  */
35554     break;
35555 
35556   case 1216:
35557 #line 8166 "gram.y" /* yacc.c:1652  */
35558     {
35559 					DropStmt *n = makeNode(DropStmt);
35560 					n->removeType = OBJECT_OPERATOR;
35561 					n->objects = (yyvsp[-1].list);
35562 					n->behavior = (yyvsp[0].dbehavior);
35563 					n->missing_ok = true;
35564 					n->concurrent = false;
35565 					(yyval.node) = (Node *)n;
35566 				}
35567 #line 35568 "gram.c" /* yacc.c:1652  */
35568     break;
35569 
35570   case 1217:
35571 #line 8179 "gram.y" /* yacc.c:1652  */
35572     {
35573 				   ereport(ERROR,
35574 						   (errcode(ERRCODE_SYNTAX_ERROR),
35575 							errmsg("missing argument"),
35576 							errhint("Use NONE to denote the missing argument of a unary operator."),
35577 							parser_errposition((yylsp[0]))));
35578 				}
35579 #line 35580 "gram.c" /* yacc.c:1652  */
35580     break;
35581 
35582   case 1218:
35583 #line 8187 "gram.y" /* yacc.c:1652  */
35584     { (yyval.list) = list_make2((yyvsp[-3].typnam), (yyvsp[-1].typnam)); }
35585 #line 35586 "gram.c" /* yacc.c:1652  */
35586     break;
35587 
35588   case 1219:
35589 #line 8189 "gram.y" /* yacc.c:1652  */
35590     { (yyval.list) = list_make2(NULL, (yyvsp[-1].typnam)); }
35591 #line 35592 "gram.c" /* yacc.c:1652  */
35592     break;
35593 
35594   case 1220:
35595 #line 8191 "gram.y" /* yacc.c:1652  */
35596     { (yyval.list) = list_make2((yyvsp[-3].typnam), NULL); }
35597 #line 35598 "gram.c" /* yacc.c:1652  */
35598     break;
35599 
35600   case 1221:
35601 #line 8196 "gram.y" /* yacc.c:1652  */
35602     { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
35603 #line 35604 "gram.c" /* yacc.c:1652  */
35604     break;
35605 
35606   case 1222:
35607 #line 8198 "gram.y" /* yacc.c:1652  */
35608     { (yyval.list) = lcons(makeString((yyvsp[-2].str)), (yyvsp[0].list)); }
35609 #line 35610 "gram.c" /* yacc.c:1652  */
35610     break;
35611 
35612   case 1223:
35613 #line 8202 "gram.y" /* yacc.c:1652  */
35614     { (yyval.list) = list_make1((yyvsp[0].objwithargs)); }
35615 #line 35616 "gram.c" /* yacc.c:1652  */
35616     break;
35617 
35618   case 1224:
35619 #line 8204 "gram.y" /* yacc.c:1652  */
35620     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].objwithargs)); }
35621 #line 35622 "gram.c" /* yacc.c:1652  */
35622     break;
35623 
35624   case 1225:
35625 #line 8209 "gram.y" /* yacc.c:1652  */
35626     {
35627 					ObjectWithArgs *n = makeNode(ObjectWithArgs);
35628 					n->objname = (yyvsp[-1].list);
35629 					n->objargs = (yyvsp[0].list);
35630 					(yyval.objwithargs) = n;
35631 				}
35632 #line 35633 "gram.c" /* yacc.c:1652  */
35633     break;
35634 
35635   case 1226:
35636 #line 8227 "gram.y" /* yacc.c:1652  */
35637     {
35638 					DoStmt *n = makeNode(DoStmt);
35639 					n->args = (yyvsp[0].list);
35640 					(yyval.node) = (Node *)n;
35641 				}
35642 #line 35643 "gram.c" /* yacc.c:1652  */
35643     break;
35644 
35645   case 1227:
35646 #line 8235 "gram.y" /* yacc.c:1652  */
35647     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
35648 #line 35649 "gram.c" /* yacc.c:1652  */
35649     break;
35650 
35651   case 1228:
35652 #line 8236 "gram.y" /* yacc.c:1652  */
35653     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
35654 #line 35655 "gram.c" /* yacc.c:1652  */
35655     break;
35656 
35657   case 1229:
35658 #line 8241 "gram.y" /* yacc.c:1652  */
35659     {
35660 					(yyval.defelt) = makeDefElem("as", (Node *)makeString((yyvsp[0].str)), (yylsp[0]));
35661 				}
35662 #line 35663 "gram.c" /* yacc.c:1652  */
35663     break;
35664 
35665   case 1230:
35666 #line 8245 "gram.y" /* yacc.c:1652  */
35667     {
35668 					(yyval.defelt) = makeDefElem("language", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
35669 				}
35670 #line 35671 "gram.c" /* yacc.c:1652  */
35671     break;
35672 
35673   case 1231:
35674 #line 8258 "gram.y" /* yacc.c:1652  */
35675     {
35676 					CreateCastStmt *n = makeNode(CreateCastStmt);
35677 					n->sourcetype = (yyvsp[-7].typnam);
35678 					n->targettype = (yyvsp[-5].typnam);
35679 					n->func = (yyvsp[-1].objwithargs);
35680 					n->context = (CoercionContext) (yyvsp[0].ival);
35681 					n->inout = false;
35682 					(yyval.node) = (Node *)n;
35683 				}
35684 #line 35685 "gram.c" /* yacc.c:1652  */
35685     break;
35686 
35687   case 1232:
35688 #line 8269 "gram.y" /* yacc.c:1652  */
35689     {
35690 					CreateCastStmt *n = makeNode(CreateCastStmt);
35691 					n->sourcetype = (yyvsp[-6].typnam);
35692 					n->targettype = (yyvsp[-4].typnam);
35693 					n->func = NULL;
35694 					n->context = (CoercionContext) (yyvsp[0].ival);
35695 					n->inout = false;
35696 					(yyval.node) = (Node *)n;
35697 				}
35698 #line 35699 "gram.c" /* yacc.c:1652  */
35699     break;
35700 
35701   case 1233:
35702 #line 8280 "gram.y" /* yacc.c:1652  */
35703     {
35704 					CreateCastStmt *n = makeNode(CreateCastStmt);
35705 					n->sourcetype = (yyvsp[-6].typnam);
35706 					n->targettype = (yyvsp[-4].typnam);
35707 					n->func = NULL;
35708 					n->context = (CoercionContext) (yyvsp[0].ival);
35709 					n->inout = true;
35710 					(yyval.node) = (Node *)n;
35711 				}
35712 #line 35713 "gram.c" /* yacc.c:1652  */
35713     break;
35714 
35715   case 1234:
35716 #line 8291 "gram.y" /* yacc.c:1652  */
35717     { (yyval.ival) = COERCION_IMPLICIT; }
35718 #line 35719 "gram.c" /* yacc.c:1652  */
35719     break;
35720 
35721   case 1235:
35722 #line 8292 "gram.y" /* yacc.c:1652  */
35723     { (yyval.ival) = COERCION_ASSIGNMENT; }
35724 #line 35725 "gram.c" /* yacc.c:1652  */
35725     break;
35726 
35727   case 1236:
35728 #line 8293 "gram.y" /* yacc.c:1652  */
35729     { (yyval.ival) = COERCION_EXPLICIT; }
35730 #line 35731 "gram.c" /* yacc.c:1652  */
35731     break;
35732 
35733   case 1237:
35734 #line 8298 "gram.y" /* yacc.c:1652  */
35735     {
35736 					DropStmt *n = makeNode(DropStmt);
35737 					n->removeType = OBJECT_CAST;
35738 					n->objects = list_make1(list_make2((yyvsp[-4].typnam), (yyvsp[-2].typnam)));
35739 					n->behavior = (yyvsp[0].dbehavior);
35740 					n->missing_ok = (yyvsp[-6].boolean);
35741 					n->concurrent = false;
35742 					(yyval.node) = (Node *)n;
35743 				}
35744 #line 35745 "gram.c" /* yacc.c:1652  */
35745     break;
35746 
35747   case 1238:
35748 #line 8309 "gram.y" /* yacc.c:1652  */
35749     { (yyval.boolean) = true; }
35750 #line 35751 "gram.c" /* yacc.c:1652  */
35751     break;
35752 
35753   case 1239:
35754 #line 8310 "gram.y" /* yacc.c:1652  */
35755     { (yyval.boolean) = false; }
35756 #line 35757 "gram.c" /* yacc.c:1652  */
35757     break;
35758 
35759   case 1240:
35760 #line 8321 "gram.y" /* yacc.c:1652  */
35761     {
35762 					CreateTransformStmt *n = makeNode(CreateTransformStmt);
35763 					n->replace = (yyvsp[-8].boolean);
35764 					n->type_name = (yyvsp[-5].typnam);
35765 					n->lang = (yyvsp[-3].str);
35766 					n->fromsql = linitial((yyvsp[-1].list));
35767 					n->tosql = lsecond((yyvsp[-1].list));
35768 					(yyval.node) = (Node *)n;
35769 				}
35770 #line 35771 "gram.c" /* yacc.c:1652  */
35771     break;
35772 
35773   case 1241:
35774 #line 8333 "gram.y" /* yacc.c:1652  */
35775     {
35776 					(yyval.list) = list_make2((yyvsp[-6].objwithargs), (yyvsp[0].objwithargs));
35777 				}
35778 #line 35779 "gram.c" /* yacc.c:1652  */
35779     break;
35780 
35781   case 1242:
35782 #line 8337 "gram.y" /* yacc.c:1652  */
35783     {
35784 					(yyval.list) = list_make2((yyvsp[0].objwithargs), (yyvsp[-6].objwithargs));
35785 				}
35786 #line 35787 "gram.c" /* yacc.c:1652  */
35787     break;
35788 
35789   case 1243:
35790 #line 8341 "gram.y" /* yacc.c:1652  */
35791     {
35792 					(yyval.list) = list_make2((yyvsp[0].objwithargs), NULL);
35793 				}
35794 #line 35795 "gram.c" /* yacc.c:1652  */
35795     break;
35796 
35797   case 1244:
35798 #line 8345 "gram.y" /* yacc.c:1652  */
35799     {
35800 					(yyval.list) = list_make2(NULL, (yyvsp[0].objwithargs));
35801 				}
35802 #line 35803 "gram.c" /* yacc.c:1652  */
35803     break;
35804 
35805   case 1245:
35806 #line 8352 "gram.y" /* yacc.c:1652  */
35807     {
35808 					DropStmt *n = makeNode(DropStmt);
35809 					n->removeType = OBJECT_TRANSFORM;
35810 					n->objects = list_make1(list_make2((yyvsp[-3].typnam), makeString((yyvsp[-1].str))));
35811 					n->behavior = (yyvsp[0].dbehavior);
35812 					n->missing_ok = (yyvsp[-5].boolean);
35813 					(yyval.node) = (Node *)n;
35814 				}
35815 #line 35816 "gram.c" /* yacc.c:1652  */
35816     break;
35817 
35818   case 1246:
35819 #line 8372 "gram.y" /* yacc.c:1652  */
35820     {
35821 					ReindexStmt *n = makeNode(ReindexStmt);
35822 					n->kind = (yyvsp[-1].ival);
35823 					n->relation = (yyvsp[0].range);
35824 					n->name = NULL;
35825 					n->options = 0;
35826 					(yyval.node) = (Node *)n;
35827 				}
35828 #line 35829 "gram.c" /* yacc.c:1652  */
35829     break;
35830 
35831   case 1247:
35832 #line 8381 "gram.y" /* yacc.c:1652  */
35833     {
35834 					ReindexStmt *n = makeNode(ReindexStmt);
35835 					n->kind = (yyvsp[-1].ival);
35836 					n->name = (yyvsp[0].str);
35837 					n->relation = NULL;
35838 					n->options = 0;
35839 					(yyval.node) = (Node *)n;
35840 				}
35841 #line 35842 "gram.c" /* yacc.c:1652  */
35842     break;
35843 
35844   case 1248:
35845 #line 8390 "gram.y" /* yacc.c:1652  */
35846     {
35847 					ReindexStmt *n = makeNode(ReindexStmt);
35848 					n->kind = (yyvsp[-1].ival);
35849 					n->relation = (yyvsp[0].range);
35850 					n->name = NULL;
35851 					n->options = (yyvsp[-3].ival);
35852 					(yyval.node) = (Node *)n;
35853 				}
35854 #line 35855 "gram.c" /* yacc.c:1652  */
35855     break;
35856 
35857   case 1249:
35858 #line 8399 "gram.y" /* yacc.c:1652  */
35859     {
35860 					ReindexStmt *n = makeNode(ReindexStmt);
35861 					n->kind = (yyvsp[-1].ival);
35862 					n->name = (yyvsp[0].str);
35863 					n->relation = NULL;
35864 					n->options = (yyvsp[-3].ival);
35865 					(yyval.node) = (Node *)n;
35866 				}
35867 #line 35868 "gram.c" /* yacc.c:1652  */
35868     break;
35869 
35870   case 1250:
35871 #line 8409 "gram.y" /* yacc.c:1652  */
35872     { (yyval.ival) = REINDEX_OBJECT_INDEX; }
35873 #line 35874 "gram.c" /* yacc.c:1652  */
35874     break;
35875 
35876   case 1251:
35877 #line 8410 "gram.y" /* yacc.c:1652  */
35878     { (yyval.ival) = REINDEX_OBJECT_TABLE; }
35879 #line 35880 "gram.c" /* yacc.c:1652  */
35880     break;
35881 
35882   case 1252:
35883 #line 8413 "gram.y" /* yacc.c:1652  */
35884     { (yyval.ival) = REINDEX_OBJECT_SCHEMA; }
35885 #line 35886 "gram.c" /* yacc.c:1652  */
35886     break;
35887 
35888   case 1253:
35889 #line 8414 "gram.y" /* yacc.c:1652  */
35890     { (yyval.ival) = REINDEX_OBJECT_SYSTEM; }
35891 #line 35892 "gram.c" /* yacc.c:1652  */
35892     break;
35893 
35894   case 1254:
35895 #line 8415 "gram.y" /* yacc.c:1652  */
35896     { (yyval.ival) = REINDEX_OBJECT_DATABASE; }
35897 #line 35898 "gram.c" /* yacc.c:1652  */
35898     break;
35899 
35900   case 1255:
35901 #line 8418 "gram.y" /* yacc.c:1652  */
35902     { (yyval.ival) = (yyvsp[0].ival); }
35903 #line 35904 "gram.c" /* yacc.c:1652  */
35904     break;
35905 
35906   case 1256:
35907 #line 8419 "gram.y" /* yacc.c:1652  */
35908     { (yyval.ival) = (yyvsp[-2].ival) | (yyvsp[0].ival); }
35909 #line 35910 "gram.c" /* yacc.c:1652  */
35910     break;
35911 
35912   case 1257:
35913 #line 8422 "gram.y" /* yacc.c:1652  */
35914     { (yyval.ival) = REINDEXOPT_VERBOSE; }
35915 #line 35916 "gram.c" /* yacc.c:1652  */
35916     break;
35917 
35918   case 1258:
35919 #line 8433 "gram.y" /* yacc.c:1652  */
35920     {
35921 					AlterTableSpaceOptionsStmt *n =
35922 						makeNode(AlterTableSpaceOptionsStmt);
35923 					n->tablespacename = (yyvsp[-2].str);
35924 					n->options = (yyvsp[0].list);
35925 					n->isReset = false;
35926 					(yyval.node) = (Node *)n;
35927 				}
35928 #line 35929 "gram.c" /* yacc.c:1652  */
35929     break;
35930 
35931   case 1259:
35932 #line 8442 "gram.y" /* yacc.c:1652  */
35933     {
35934 					AlterTableSpaceOptionsStmt *n =
35935 						makeNode(AlterTableSpaceOptionsStmt);
35936 					n->tablespacename = (yyvsp[-2].str);
35937 					n->options = (yyvsp[0].list);
35938 					n->isReset = true;
35939 					(yyval.node) = (Node *)n;
35940 				}
35941 #line 35942 "gram.c" /* yacc.c:1652  */
35942     break;
35943 
35944   case 1260:
35945 #line 8459 "gram.y" /* yacc.c:1652  */
35946     {
35947 					RenameStmt *n = makeNode(RenameStmt);
35948 					n->renameType = OBJECT_AGGREGATE;
35949 					n->object = (Node *) (yyvsp[-3].objwithargs);
35950 					n->newname = (yyvsp[0].str);
35951 					n->missing_ok = false;
35952 					(yyval.node) = (Node *)n;
35953 				}
35954 #line 35955 "gram.c" /* yacc.c:1652  */
35955     break;
35956 
35957   case 1261:
35958 #line 8468 "gram.y" /* yacc.c:1652  */
35959     {
35960 					RenameStmt *n = makeNode(RenameStmt);
35961 					n->renameType = OBJECT_COLLATION;
35962 					n->object = (Node *) (yyvsp[-3].list);
35963 					n->newname = (yyvsp[0].str);
35964 					n->missing_ok = false;
35965 					(yyval.node) = (Node *)n;
35966 				}
35967 #line 35968 "gram.c" /* yacc.c:1652  */
35968     break;
35969 
35970   case 1262:
35971 #line 8477 "gram.y" /* yacc.c:1652  */
35972     {
35973 					RenameStmt *n = makeNode(RenameStmt);
35974 					n->renameType = OBJECT_CONVERSION;
35975 					n->object = (Node *) (yyvsp[-3].list);
35976 					n->newname = (yyvsp[0].str);
35977 					n->missing_ok = false;
35978 					(yyval.node) = (Node *)n;
35979 				}
35980 #line 35981 "gram.c" /* yacc.c:1652  */
35981     break;
35982 
35983   case 1263:
35984 #line 8486 "gram.y" /* yacc.c:1652  */
35985     {
35986 					RenameStmt *n = makeNode(RenameStmt);
35987 					n->renameType = OBJECT_DATABASE;
35988 					n->subname = (yyvsp[-3].str);
35989 					n->newname = (yyvsp[0].str);
35990 					n->missing_ok = false;
35991 					(yyval.node) = (Node *)n;
35992 				}
35993 #line 35994 "gram.c" /* yacc.c:1652  */
35994     break;
35995 
35996   case 1264:
35997 #line 8495 "gram.y" /* yacc.c:1652  */
35998     {
35999 					RenameStmt *n = makeNode(RenameStmt);
36000 					n->renameType = OBJECT_DOMAIN;
36001 					n->object = (Node *) (yyvsp[-3].list);
36002 					n->newname = (yyvsp[0].str);
36003 					n->missing_ok = false;
36004 					(yyval.node) = (Node *)n;
36005 				}
36006 #line 36007 "gram.c" /* yacc.c:1652  */
36007     break;
36008 
36009   case 1265:
36010 #line 8504 "gram.y" /* yacc.c:1652  */
36011     {
36012 					RenameStmt *n = makeNode(RenameStmt);
36013 					n->renameType = OBJECT_DOMCONSTRAINT;
36014 					n->object = (Node *) (yyvsp[-5].list);
36015 					n->subname = (yyvsp[-2].str);
36016 					n->newname = (yyvsp[0].str);
36017 					(yyval.node) = (Node *)n;
36018 				}
36019 #line 36020 "gram.c" /* yacc.c:1652  */
36020     break;
36021 
36022   case 1266:
36023 #line 8513 "gram.y" /* yacc.c:1652  */
36024     {
36025 					RenameStmt *n = makeNode(RenameStmt);
36026 					n->renameType = OBJECT_FDW;
36027 					n->object = (Node *) makeString((yyvsp[-3].str));
36028 					n->newname = (yyvsp[0].str);
36029 					n->missing_ok = false;
36030 					(yyval.node) = (Node *)n;
36031 				}
36032 #line 36033 "gram.c" /* yacc.c:1652  */
36033     break;
36034 
36035   case 1267:
36036 #line 8522 "gram.y" /* yacc.c:1652  */
36037     {
36038 					RenameStmt *n = makeNode(RenameStmt);
36039 					n->renameType = OBJECT_FUNCTION;
36040 					n->object = (Node *) (yyvsp[-3].objwithargs);
36041 					n->newname = (yyvsp[0].str);
36042 					n->missing_ok = false;
36043 					(yyval.node) = (Node *)n;
36044 				}
36045 #line 36046 "gram.c" /* yacc.c:1652  */
36046     break;
36047 
36048   case 1268:
36049 #line 8531 "gram.y" /* yacc.c:1652  */
36050     {
36051 					RenameStmt *n = makeNode(RenameStmt);
36052 					n->renameType = OBJECT_ROLE;
36053 					n->subname = (yyvsp[-3].str);
36054 					n->newname = (yyvsp[0].str);
36055 					n->missing_ok = false;
36056 					(yyval.node) = (Node *)n;
36057 				}
36058 #line 36059 "gram.c" /* yacc.c:1652  */
36059     break;
36060 
36061   case 1269:
36062 #line 8540 "gram.y" /* yacc.c:1652  */
36063     {
36064 					RenameStmt *n = makeNode(RenameStmt);
36065 					n->renameType = OBJECT_LANGUAGE;
36066 					n->object = (Node *) makeString((yyvsp[-3].str));
36067 					n->newname = (yyvsp[0].str);
36068 					n->missing_ok = false;
36069 					(yyval.node) = (Node *)n;
36070 				}
36071 #line 36072 "gram.c" /* yacc.c:1652  */
36072     break;
36073 
36074   case 1270:
36075 #line 8549 "gram.y" /* yacc.c:1652  */
36076     {
36077 					RenameStmt *n = makeNode(RenameStmt);
36078 					n->renameType = OBJECT_OPCLASS;
36079 					n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
36080 					n->newname = (yyvsp[0].str);
36081 					n->missing_ok = false;
36082 					(yyval.node) = (Node *)n;
36083 				}
36084 #line 36085 "gram.c" /* yacc.c:1652  */
36085     break;
36086 
36087   case 1271:
36088 #line 8558 "gram.y" /* yacc.c:1652  */
36089     {
36090 					RenameStmt *n = makeNode(RenameStmt);
36091 					n->renameType = OBJECT_OPFAMILY;
36092 					n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
36093 					n->newname = (yyvsp[0].str);
36094 					n->missing_ok = false;
36095 					(yyval.node) = (Node *)n;
36096 				}
36097 #line 36098 "gram.c" /* yacc.c:1652  */
36098     break;
36099 
36100   case 1272:
36101 #line 8567 "gram.y" /* yacc.c:1652  */
36102     {
36103 					RenameStmt *n = makeNode(RenameStmt);
36104 					n->renameType = OBJECT_POLICY;
36105 					n->relation = (yyvsp[-3].range);
36106 					n->subname = (yyvsp[-5].str);
36107 					n->newname = (yyvsp[0].str);
36108 					n->missing_ok = false;
36109 					(yyval.node) = (Node *)n;
36110 				}
36111 #line 36112 "gram.c" /* yacc.c:1652  */
36112     break;
36113 
36114   case 1273:
36115 #line 8577 "gram.y" /* yacc.c:1652  */
36116     {
36117 					RenameStmt *n = makeNode(RenameStmt);
36118 					n->renameType = OBJECT_POLICY;
36119 					n->relation = (yyvsp[-3].range);
36120 					n->subname = (yyvsp[-5].str);
36121 					n->newname = (yyvsp[0].str);
36122 					n->missing_ok = true;
36123 					(yyval.node) = (Node *)n;
36124 				}
36125 #line 36126 "gram.c" /* yacc.c:1652  */
36126     break;
36127 
36128   case 1274:
36129 #line 8587 "gram.y" /* yacc.c:1652  */
36130     {
36131 					RenameStmt *n = makeNode(RenameStmt);
36132 					n->renameType = OBJECT_PROCEDURE;
36133 					n->object = (Node *) (yyvsp[-3].objwithargs);
36134 					n->newname = (yyvsp[0].str);
36135 					n->missing_ok = false;
36136 					(yyval.node) = (Node *)n;
36137 				}
36138 #line 36139 "gram.c" /* yacc.c:1652  */
36139     break;
36140 
36141   case 1275:
36142 #line 8596 "gram.y" /* yacc.c:1652  */
36143     {
36144 					RenameStmt *n = makeNode(RenameStmt);
36145 					n->renameType = OBJECT_PUBLICATION;
36146 					n->object = (Node *) makeString((yyvsp[-3].str));
36147 					n->newname = (yyvsp[0].str);
36148 					n->missing_ok = false;
36149 					(yyval.node) = (Node *)n;
36150 				}
36151 #line 36152 "gram.c" /* yacc.c:1652  */
36152     break;
36153 
36154   case 1276:
36155 #line 8605 "gram.y" /* yacc.c:1652  */
36156     {
36157 					RenameStmt *n = makeNode(RenameStmt);
36158 					n->renameType = OBJECT_ROUTINE;
36159 					n->object = (Node *) (yyvsp[-3].objwithargs);
36160 					n->newname = (yyvsp[0].str);
36161 					n->missing_ok = false;
36162 					(yyval.node) = (Node *)n;
36163 				}
36164 #line 36165 "gram.c" /* yacc.c:1652  */
36165     break;
36166 
36167   case 1277:
36168 #line 8614 "gram.y" /* yacc.c:1652  */
36169     {
36170 					RenameStmt *n = makeNode(RenameStmt);
36171 					n->renameType = OBJECT_SCHEMA;
36172 					n->subname = (yyvsp[-3].str);
36173 					n->newname = (yyvsp[0].str);
36174 					n->missing_ok = false;
36175 					(yyval.node) = (Node *)n;
36176 				}
36177 #line 36178 "gram.c" /* yacc.c:1652  */
36178     break;
36179 
36180   case 1278:
36181 #line 8623 "gram.y" /* yacc.c:1652  */
36182     {
36183 					RenameStmt *n = makeNode(RenameStmt);
36184 					n->renameType = OBJECT_FOREIGN_SERVER;
36185 					n->object = (Node *) makeString((yyvsp[-3].str));
36186 					n->newname = (yyvsp[0].str);
36187 					n->missing_ok = false;
36188 					(yyval.node) = (Node *)n;
36189 				}
36190 #line 36191 "gram.c" /* yacc.c:1652  */
36191     break;
36192 
36193   case 1279:
36194 #line 8632 "gram.y" /* yacc.c:1652  */
36195     {
36196 					RenameStmt *n = makeNode(RenameStmt);
36197 					n->renameType = OBJECT_SUBSCRIPTION;
36198 					n->object = (Node *) makeString((yyvsp[-3].str));
36199 					n->newname = (yyvsp[0].str);
36200 					n->missing_ok = false;
36201 					(yyval.node) = (Node *)n;
36202 				}
36203 #line 36204 "gram.c" /* yacc.c:1652  */
36204     break;
36205 
36206   case 1280:
36207 #line 8641 "gram.y" /* yacc.c:1652  */
36208     {
36209 					RenameStmt *n = makeNode(RenameStmt);
36210 					n->renameType = OBJECT_TABLE;
36211 					n->relation = (yyvsp[-3].range);
36212 					n->subname = NULL;
36213 					n->newname = (yyvsp[0].str);
36214 					n->missing_ok = false;
36215 					(yyval.node) = (Node *)n;
36216 				}
36217 #line 36218 "gram.c" /* yacc.c:1652  */
36218     break;
36219 
36220   case 1281:
36221 #line 8651 "gram.y" /* yacc.c:1652  */
36222     {
36223 					RenameStmt *n = makeNode(RenameStmt);
36224 					n->renameType = OBJECT_TABLE;
36225 					n->relation = (yyvsp[-3].range);
36226 					n->subname = NULL;
36227 					n->newname = (yyvsp[0].str);
36228 					n->missing_ok = true;
36229 					(yyval.node) = (Node *)n;
36230 				}
36231 #line 36232 "gram.c" /* yacc.c:1652  */
36232     break;
36233 
36234   case 1282:
36235 #line 8661 "gram.y" /* yacc.c:1652  */
36236     {
36237 					RenameStmt *n = makeNode(RenameStmt);
36238 					n->renameType = OBJECT_SEQUENCE;
36239 					n->relation = (yyvsp[-3].range);
36240 					n->subname = NULL;
36241 					n->newname = (yyvsp[0].str);
36242 					n->missing_ok = false;
36243 					(yyval.node) = (Node *)n;
36244 				}
36245 #line 36246 "gram.c" /* yacc.c:1652  */
36246     break;
36247 
36248   case 1283:
36249 #line 8671 "gram.y" /* yacc.c:1652  */
36250     {
36251 					RenameStmt *n = makeNode(RenameStmt);
36252 					n->renameType = OBJECT_SEQUENCE;
36253 					n->relation = (yyvsp[-3].range);
36254 					n->subname = NULL;
36255 					n->newname = (yyvsp[0].str);
36256 					n->missing_ok = true;
36257 					(yyval.node) = (Node *)n;
36258 				}
36259 #line 36260 "gram.c" /* yacc.c:1652  */
36260     break;
36261 
36262   case 1284:
36263 #line 8681 "gram.y" /* yacc.c:1652  */
36264     {
36265 					RenameStmt *n = makeNode(RenameStmt);
36266 					n->renameType = OBJECT_VIEW;
36267 					n->relation = (yyvsp[-3].range);
36268 					n->subname = NULL;
36269 					n->newname = (yyvsp[0].str);
36270 					n->missing_ok = false;
36271 					(yyval.node) = (Node *)n;
36272 				}
36273 #line 36274 "gram.c" /* yacc.c:1652  */
36274     break;
36275 
36276   case 1285:
36277 #line 8691 "gram.y" /* yacc.c:1652  */
36278     {
36279 					RenameStmt *n = makeNode(RenameStmt);
36280 					n->renameType = OBJECT_VIEW;
36281 					n->relation = (yyvsp[-3].range);
36282 					n->subname = NULL;
36283 					n->newname = (yyvsp[0].str);
36284 					n->missing_ok = true;
36285 					(yyval.node) = (Node *)n;
36286 				}
36287 #line 36288 "gram.c" /* yacc.c:1652  */
36288     break;
36289 
36290   case 1286:
36291 #line 8701 "gram.y" /* yacc.c:1652  */
36292     {
36293 					RenameStmt *n = makeNode(RenameStmt);
36294 					n->renameType = OBJECT_MATVIEW;
36295 					n->relation = (yyvsp[-3].range);
36296 					n->subname = NULL;
36297 					n->newname = (yyvsp[0].str);
36298 					n->missing_ok = false;
36299 					(yyval.node) = (Node *)n;
36300 				}
36301 #line 36302 "gram.c" /* yacc.c:1652  */
36302     break;
36303 
36304   case 1287:
36305 #line 8711 "gram.y" /* yacc.c:1652  */
36306     {
36307 					RenameStmt *n = makeNode(RenameStmt);
36308 					n->renameType = OBJECT_MATVIEW;
36309 					n->relation = (yyvsp[-3].range);
36310 					n->subname = NULL;
36311 					n->newname = (yyvsp[0].str);
36312 					n->missing_ok = true;
36313 					(yyval.node) = (Node *)n;
36314 				}
36315 #line 36316 "gram.c" /* yacc.c:1652  */
36316     break;
36317 
36318   case 1288:
36319 #line 8721 "gram.y" /* yacc.c:1652  */
36320     {
36321 					RenameStmt *n = makeNode(RenameStmt);
36322 					n->renameType = OBJECT_INDEX;
36323 					n->relation = (yyvsp[-3].range);
36324 					n->subname = NULL;
36325 					n->newname = (yyvsp[0].str);
36326 					n->missing_ok = false;
36327 					(yyval.node) = (Node *)n;
36328 				}
36329 #line 36330 "gram.c" /* yacc.c:1652  */
36330     break;
36331 
36332   case 1289:
36333 #line 8731 "gram.y" /* yacc.c:1652  */
36334     {
36335 					RenameStmt *n = makeNode(RenameStmt);
36336 					n->renameType = OBJECT_INDEX;
36337 					n->relation = (yyvsp[-3].range);
36338 					n->subname = NULL;
36339 					n->newname = (yyvsp[0].str);
36340 					n->missing_ok = true;
36341 					(yyval.node) = (Node *)n;
36342 				}
36343 #line 36344 "gram.c" /* yacc.c:1652  */
36344     break;
36345 
36346   case 1290:
36347 #line 8741 "gram.y" /* yacc.c:1652  */
36348     {
36349 					RenameStmt *n = makeNode(RenameStmt);
36350 					n->renameType = OBJECT_FOREIGN_TABLE;
36351 					n->relation = (yyvsp[-3].range);
36352 					n->subname = NULL;
36353 					n->newname = (yyvsp[0].str);
36354 					n->missing_ok = false;
36355 					(yyval.node) = (Node *)n;
36356 				}
36357 #line 36358 "gram.c" /* yacc.c:1652  */
36358     break;
36359 
36360   case 1291:
36361 #line 8751 "gram.y" /* yacc.c:1652  */
36362     {
36363 					RenameStmt *n = makeNode(RenameStmt);
36364 					n->renameType = OBJECT_FOREIGN_TABLE;
36365 					n->relation = (yyvsp[-3].range);
36366 					n->subname = NULL;
36367 					n->newname = (yyvsp[0].str);
36368 					n->missing_ok = true;
36369 					(yyval.node) = (Node *)n;
36370 				}
36371 #line 36372 "gram.c" /* yacc.c:1652  */
36372     break;
36373 
36374   case 1292:
36375 #line 8761 "gram.y" /* yacc.c:1652  */
36376     {
36377 					RenameStmt *n = makeNode(RenameStmt);
36378 					n->renameType = OBJECT_COLUMN;
36379 					n->relationType = OBJECT_TABLE;
36380 					n->relation = (yyvsp[-5].range);
36381 					n->subname = (yyvsp[-2].str);
36382 					n->newname = (yyvsp[0].str);
36383 					n->missing_ok = false;
36384 					(yyval.node) = (Node *)n;
36385 				}
36386 #line 36387 "gram.c" /* yacc.c:1652  */
36387     break;
36388 
36389   case 1293:
36390 #line 8772 "gram.y" /* yacc.c:1652  */
36391     {
36392 					RenameStmt *n = makeNode(RenameStmt);
36393 					n->renameType = OBJECT_COLUMN;
36394 					n->relationType = OBJECT_TABLE;
36395 					n->relation = (yyvsp[-5].range);
36396 					n->subname = (yyvsp[-2].str);
36397 					n->newname = (yyvsp[0].str);
36398 					n->missing_ok = true;
36399 					(yyval.node) = (Node *)n;
36400 				}
36401 #line 36402 "gram.c" /* yacc.c:1652  */
36402     break;
36403 
36404   case 1294:
36405 #line 8783 "gram.y" /* yacc.c:1652  */
36406     {
36407 					RenameStmt *n = makeNode(RenameStmt);
36408 					n->renameType = OBJECT_COLUMN;
36409 					n->relationType = OBJECT_MATVIEW;
36410 					n->relation = (yyvsp[-5].range);
36411 					n->subname = (yyvsp[-2].str);
36412 					n->newname = (yyvsp[0].str);
36413 					n->missing_ok = false;
36414 					(yyval.node) = (Node *)n;
36415 				}
36416 #line 36417 "gram.c" /* yacc.c:1652  */
36417     break;
36418 
36419   case 1295:
36420 #line 8794 "gram.y" /* yacc.c:1652  */
36421     {
36422 					RenameStmt *n = makeNode(RenameStmt);
36423 					n->renameType = OBJECT_COLUMN;
36424 					n->relationType = OBJECT_MATVIEW;
36425 					n->relation = (yyvsp[-5].range);
36426 					n->subname = (yyvsp[-2].str);
36427 					n->newname = (yyvsp[0].str);
36428 					n->missing_ok = true;
36429 					(yyval.node) = (Node *)n;
36430 				}
36431 #line 36432 "gram.c" /* yacc.c:1652  */
36432     break;
36433 
36434   case 1296:
36435 #line 8805 "gram.y" /* yacc.c:1652  */
36436     {
36437 					RenameStmt *n = makeNode(RenameStmt);
36438 					n->renameType = OBJECT_TABCONSTRAINT;
36439 					n->relation = (yyvsp[-5].range);
36440 					n->subname = (yyvsp[-2].str);
36441 					n->newname = (yyvsp[0].str);
36442 					n->missing_ok = false;
36443 					(yyval.node) = (Node *)n;
36444 				}
36445 #line 36446 "gram.c" /* yacc.c:1652  */
36446     break;
36447 
36448   case 1297:
36449 #line 8815 "gram.y" /* yacc.c:1652  */
36450     {
36451 					RenameStmt *n = makeNode(RenameStmt);
36452 					n->renameType = OBJECT_TABCONSTRAINT;
36453 					n->relation = (yyvsp[-5].range);
36454 					n->subname = (yyvsp[-2].str);
36455 					n->newname = (yyvsp[0].str);
36456 					n->missing_ok = true;
36457 					(yyval.node) = (Node *)n;
36458 				}
36459 #line 36460 "gram.c" /* yacc.c:1652  */
36460     break;
36461 
36462   case 1298:
36463 #line 8825 "gram.y" /* yacc.c:1652  */
36464     {
36465 					RenameStmt *n = makeNode(RenameStmt);
36466 					n->renameType = OBJECT_COLUMN;
36467 					n->relationType = OBJECT_FOREIGN_TABLE;
36468 					n->relation = (yyvsp[-5].range);
36469 					n->subname = (yyvsp[-2].str);
36470 					n->newname = (yyvsp[0].str);
36471 					n->missing_ok = false;
36472 					(yyval.node) = (Node *)n;
36473 				}
36474 #line 36475 "gram.c" /* yacc.c:1652  */
36475     break;
36476 
36477   case 1299:
36478 #line 8836 "gram.y" /* yacc.c:1652  */
36479     {
36480 					RenameStmt *n = makeNode(RenameStmt);
36481 					n->renameType = OBJECT_COLUMN;
36482 					n->relationType = OBJECT_FOREIGN_TABLE;
36483 					n->relation = (yyvsp[-5].range);
36484 					n->subname = (yyvsp[-2].str);
36485 					n->newname = (yyvsp[0].str);
36486 					n->missing_ok = true;
36487 					(yyval.node) = (Node *)n;
36488 				}
36489 #line 36490 "gram.c" /* yacc.c:1652  */
36490     break;
36491 
36492   case 1300:
36493 #line 8847 "gram.y" /* yacc.c:1652  */
36494     {
36495 					RenameStmt *n = makeNode(RenameStmt);
36496 					n->renameType = OBJECT_RULE;
36497 					n->relation = (yyvsp[-3].range);
36498 					n->subname = (yyvsp[-5].str);
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 1301:
36507 #line 8857 "gram.y" /* yacc.c:1652  */
36508     {
36509 					RenameStmt *n = makeNode(RenameStmt);
36510 					n->renameType = OBJECT_TRIGGER;
36511 					n->relation = (yyvsp[-3].range);
36512 					n->subname = (yyvsp[-5].str);
36513 					n->newname = (yyvsp[0].str);
36514 					n->missing_ok = false;
36515 					(yyval.node) = (Node *)n;
36516 				}
36517 #line 36518 "gram.c" /* yacc.c:1652  */
36518     break;
36519 
36520   case 1302:
36521 #line 8867 "gram.y" /* yacc.c:1652  */
36522     {
36523 					RenameStmt *n = makeNode(RenameStmt);
36524 					n->renameType = OBJECT_EVENT_TRIGGER;
36525 					n->object = (Node *) makeString((yyvsp[-3].str));
36526 					n->newname = (yyvsp[0].str);
36527 					(yyval.node) = (Node *)n;
36528 				}
36529 #line 36530 "gram.c" /* yacc.c:1652  */
36530     break;
36531 
36532   case 1303:
36533 #line 8875 "gram.y" /* yacc.c:1652  */
36534     {
36535 					RenameStmt *n = makeNode(RenameStmt);
36536 					n->renameType = OBJECT_ROLE;
36537 					n->subname = (yyvsp[-3].str);
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 1304:
36546 #line 8884 "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 1305:
36559 #line 8893 "gram.y" /* yacc.c:1652  */
36560     {
36561 					RenameStmt *n = makeNode(RenameStmt);
36562 					n->renameType = OBJECT_TABLESPACE;
36563 					n->subname = (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 1306:
36572 #line 8902 "gram.y" /* yacc.c:1652  */
36573     {
36574 					RenameStmt *n = makeNode(RenameStmt);
36575 					n->renameType = OBJECT_STATISTIC_EXT;
36576 					n->object = (Node *) (yyvsp[-3].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 1307:
36585 #line 8911 "gram.y" /* yacc.c:1652  */
36586     {
36587 					RenameStmt *n = makeNode(RenameStmt);
36588 					n->renameType = OBJECT_TSPARSER;
36589 					n->object = (Node *) (yyvsp[-3].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 1308:
36598 #line 8920 "gram.y" /* yacc.c:1652  */
36599     {
36600 					RenameStmt *n = makeNode(RenameStmt);
36601 					n->renameType = OBJECT_TSDICTIONARY;
36602 					n->object = (Node *) (yyvsp[-3].list);
36603 					n->newname = (yyvsp[0].str);
36604 					n->missing_ok = false;
36605 					(yyval.node) = (Node *)n;
36606 				}
36607 #line 36608 "gram.c" /* yacc.c:1652  */
36608     break;
36609 
36610   case 1309:
36611 #line 8929 "gram.y" /* yacc.c:1652  */
36612     {
36613 					RenameStmt *n = makeNode(RenameStmt);
36614 					n->renameType = OBJECT_TSTEMPLATE;
36615 					n->object = (Node *) (yyvsp[-3].list);
36616 					n->newname = (yyvsp[0].str);
36617 					n->missing_ok = false;
36618 					(yyval.node) = (Node *)n;
36619 				}
36620 #line 36621 "gram.c" /* yacc.c:1652  */
36621     break;
36622 
36623   case 1310:
36624 #line 8938 "gram.y" /* yacc.c:1652  */
36625     {
36626 					RenameStmt *n = makeNode(RenameStmt);
36627 					n->renameType = OBJECT_TSCONFIGURATION;
36628 					n->object = (Node *) (yyvsp[-3].list);
36629 					n->newname = (yyvsp[0].str);
36630 					n->missing_ok = false;
36631 					(yyval.node) = (Node *)n;
36632 				}
36633 #line 36634 "gram.c" /* yacc.c:1652  */
36634     break;
36635 
36636   case 1311:
36637 #line 8947 "gram.y" /* yacc.c:1652  */
36638     {
36639 					RenameStmt *n = makeNode(RenameStmt);
36640 					n->renameType = OBJECT_TYPE;
36641 					n->object = (Node *) (yyvsp[-3].list);
36642 					n->newname = (yyvsp[0].str);
36643 					n->missing_ok = false;
36644 					(yyval.node) = (Node *)n;
36645 				}
36646 #line 36647 "gram.c" /* yacc.c:1652  */
36647     break;
36648 
36649   case 1312:
36650 #line 8956 "gram.y" /* yacc.c:1652  */
36651     {
36652 					RenameStmt *n = makeNode(RenameStmt);
36653 					n->renameType = OBJECT_ATTRIBUTE;
36654 					n->relationType = OBJECT_TYPE;
36655 					n->relation = makeRangeVarFromAnyName((yyvsp[-6].list), (yylsp[-6]), yyscanner);
36656 					n->subname = (yyvsp[-3].str);
36657 					n->newname = (yyvsp[-1].str);
36658 					n->behavior = (yyvsp[0].dbehavior);
36659 					n->missing_ok = false;
36660 					(yyval.node) = (Node *)n;
36661 				}
36662 #line 36663 "gram.c" /* yacc.c:1652  */
36663     break;
36664 
36665   case 1313:
36666 #line 8969 "gram.y" /* yacc.c:1652  */
36667     { (yyval.ival) = COLUMN; }
36668 #line 36669 "gram.c" /* yacc.c:1652  */
36669     break;
36670 
36671   case 1314:
36672 #line 8970 "gram.y" /* yacc.c:1652  */
36673     { (yyval.ival) = 0; }
36674 #line 36675 "gram.c" /* yacc.c:1652  */
36675     break;
36676 
36677   case 1315:
36678 #line 8973 "gram.y" /* yacc.c:1652  */
36679     { (yyval.ival) = 1; }
36680 #line 36681 "gram.c" /* yacc.c:1652  */
36681     break;
36682 
36683   case 1316:
36684 #line 8974 "gram.y" /* yacc.c:1652  */
36685     { (yyval.ival) = 0; }
36686 #line 36687 "gram.c" /* yacc.c:1652  */
36687     break;
36688 
36689   case 1317:
36690 #line 8985 "gram.y" /* yacc.c:1652  */
36691     {
36692 					AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
36693 					n->objectType = OBJECT_FUNCTION;
36694 					n->object = (Node *) (yyvsp[-4].objwithargs);
36695 					n->extname = makeString((yyvsp[0].str));
36696 					(yyval.node) = (Node *)n;
36697 				}
36698 #line 36699 "gram.c" /* yacc.c:1652  */
36699     break;
36700 
36701   case 1318:
36702 #line 8993 "gram.y" /* yacc.c:1652  */
36703     {
36704 					AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
36705 					n->objectType = OBJECT_PROCEDURE;
36706 					n->object = (Node *) (yyvsp[-4].objwithargs);
36707 					n->extname = makeString((yyvsp[0].str));
36708 					(yyval.node) = (Node *)n;
36709 				}
36710 #line 36711 "gram.c" /* yacc.c:1652  */
36711     break;
36712 
36713   case 1319:
36714 #line 9001 "gram.y" /* yacc.c:1652  */
36715     {
36716 					AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
36717 					n->objectType = OBJECT_ROUTINE;
36718 					n->object = (Node *) (yyvsp[-4].objwithargs);
36719 					n->extname = makeString((yyvsp[0].str));
36720 					(yyval.node) = (Node *)n;
36721 				}
36722 #line 36723 "gram.c" /* yacc.c:1652  */
36723     break;
36724 
36725   case 1320:
36726 #line 9009 "gram.y" /* yacc.c:1652  */
36727     {
36728 					AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
36729 					n->objectType = OBJECT_TRIGGER;
36730 					n->relation = (yyvsp[-4].range);
36731 					n->object = (Node *) list_make1(makeString((yyvsp[-6].str)));
36732 					n->extname = makeString((yyvsp[0].str));
36733 					(yyval.node) = (Node *)n;
36734 				}
36735 #line 36736 "gram.c" /* yacc.c:1652  */
36736     break;
36737 
36738   case 1321:
36739 #line 9018 "gram.y" /* yacc.c:1652  */
36740     {
36741 					AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
36742 					n->objectType = OBJECT_MATVIEW;
36743 					n->relation = (yyvsp[-4].range);
36744 					n->extname = makeString((yyvsp[0].str));
36745 					(yyval.node) = (Node *)n;
36746 				}
36747 #line 36748 "gram.c" /* yacc.c:1652  */
36748     break;
36749 
36750   case 1322:
36751 #line 9026 "gram.y" /* yacc.c:1652  */
36752     {
36753 					AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
36754 					n->objectType = OBJECT_INDEX;
36755 					n->relation = (yyvsp[-4].range);
36756 					n->extname = makeString((yyvsp[0].str));
36757 					(yyval.node) = (Node *)n;
36758 				}
36759 #line 36760 "gram.c" /* yacc.c:1652  */
36760     break;
36761 
36762   case 1323:
36763 #line 9043 "gram.y" /* yacc.c:1652  */
36764     {
36765 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
36766 					n->objectType = OBJECT_AGGREGATE;
36767 					n->object = (Node *) (yyvsp[-3].objwithargs);
36768 					n->newschema = (yyvsp[0].str);
36769 					n->missing_ok = false;
36770 					(yyval.node) = (Node *)n;
36771 				}
36772 #line 36773 "gram.c" /* yacc.c:1652  */
36773     break;
36774 
36775   case 1324:
36776 #line 9052 "gram.y" /* yacc.c:1652  */
36777     {
36778 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
36779 					n->objectType = OBJECT_COLLATION;
36780 					n->object = (Node *) (yyvsp[-3].list);
36781 					n->newschema = (yyvsp[0].str);
36782 					n->missing_ok = false;
36783 					(yyval.node) = (Node *)n;
36784 				}
36785 #line 36786 "gram.c" /* yacc.c:1652  */
36786     break;
36787 
36788   case 1325:
36789 #line 9061 "gram.y" /* yacc.c:1652  */
36790     {
36791 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
36792 					n->objectType = OBJECT_CONVERSION;
36793 					n->object = (Node *) (yyvsp[-3].list);
36794 					n->newschema = (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 1326:
36802 #line 9070 "gram.y" /* yacc.c:1652  */
36803     {
36804 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
36805 					n->objectType = OBJECT_DOMAIN;
36806 					n->object = (Node *) (yyvsp[-3].list);
36807 					n->newschema = (yyvsp[0].str);
36808 					n->missing_ok = false;
36809 					(yyval.node) = (Node *)n;
36810 				}
36811 #line 36812 "gram.c" /* yacc.c:1652  */
36812     break;
36813 
36814   case 1327:
36815 #line 9079 "gram.y" /* yacc.c:1652  */
36816     {
36817 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
36818 					n->objectType = OBJECT_EXTENSION;
36819 					n->object = (Node *) makeString((yyvsp[-3].str));
36820 					n->newschema = (yyvsp[0].str);
36821 					n->missing_ok = false;
36822 					(yyval.node) = (Node *)n;
36823 				}
36824 #line 36825 "gram.c" /* yacc.c:1652  */
36825     break;
36826 
36827   case 1328:
36828 #line 9088 "gram.y" /* yacc.c:1652  */
36829     {
36830 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
36831 					n->objectType = OBJECT_FUNCTION;
36832 					n->object = (Node *) (yyvsp[-3].objwithargs);
36833 					n->newschema = (yyvsp[0].str);
36834 					n->missing_ok = false;
36835 					(yyval.node) = (Node *)n;
36836 				}
36837 #line 36838 "gram.c" /* yacc.c:1652  */
36838     break;
36839 
36840   case 1329:
36841 #line 9097 "gram.y" /* yacc.c:1652  */
36842     {
36843 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
36844 					n->objectType = OBJECT_OPERATOR;
36845 					n->object = (Node *) (yyvsp[-3].objwithargs);
36846 					n->newschema = (yyvsp[0].str);
36847 					n->missing_ok = false;
36848 					(yyval.node) = (Node *)n;
36849 				}
36850 #line 36851 "gram.c" /* yacc.c:1652  */
36851     break;
36852 
36853   case 1330:
36854 #line 9106 "gram.y" /* yacc.c:1652  */
36855     {
36856 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
36857 					n->objectType = OBJECT_OPCLASS;
36858 					n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
36859 					n->newschema = (yyvsp[0].str);
36860 					n->missing_ok = false;
36861 					(yyval.node) = (Node *)n;
36862 				}
36863 #line 36864 "gram.c" /* yacc.c:1652  */
36864     break;
36865 
36866   case 1331:
36867 #line 9115 "gram.y" /* yacc.c:1652  */
36868     {
36869 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
36870 					n->objectType = OBJECT_OPFAMILY;
36871 					n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
36872 					n->newschema = (yyvsp[0].str);
36873 					n->missing_ok = false;
36874 					(yyval.node) = (Node *)n;
36875 				}
36876 #line 36877 "gram.c" /* yacc.c:1652  */
36877     break;
36878 
36879   case 1332:
36880 #line 9124 "gram.y" /* yacc.c:1652  */
36881     {
36882 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
36883 					n->objectType = OBJECT_PROCEDURE;
36884 					n->object = (Node *) (yyvsp[-3].objwithargs);
36885 					n->newschema = (yyvsp[0].str);
36886 					n->missing_ok = false;
36887 					(yyval.node) = (Node *)n;
36888 				}
36889 #line 36890 "gram.c" /* yacc.c:1652  */
36890     break;
36891 
36892   case 1333:
36893 #line 9133 "gram.y" /* yacc.c:1652  */
36894     {
36895 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
36896 					n->objectType = OBJECT_ROUTINE;
36897 					n->object = (Node *) (yyvsp[-3].objwithargs);
36898 					n->newschema = (yyvsp[0].str);
36899 					n->missing_ok = false;
36900 					(yyval.node) = (Node *)n;
36901 				}
36902 #line 36903 "gram.c" /* yacc.c:1652  */
36903     break;
36904 
36905   case 1334:
36906 #line 9142 "gram.y" /* yacc.c:1652  */
36907     {
36908 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
36909 					n->objectType = OBJECT_TABLE;
36910 					n->relation = (yyvsp[-3].range);
36911 					n->newschema = (yyvsp[0].str);
36912 					n->missing_ok = false;
36913 					(yyval.node) = (Node *)n;
36914 				}
36915 #line 36916 "gram.c" /* yacc.c:1652  */
36916     break;
36917 
36918   case 1335:
36919 #line 9151 "gram.y" /* yacc.c:1652  */
36920     {
36921 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
36922 					n->objectType = OBJECT_TABLE;
36923 					n->relation = (yyvsp[-3].range);
36924 					n->newschema = (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 1336:
36932 #line 9160 "gram.y" /* yacc.c:1652  */
36933     {
36934 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
36935 					n->objectType = OBJECT_STATISTIC_EXT;
36936 					n->object = (Node *) (yyvsp[-3].list);
36937 					n->newschema = (yyvsp[0].str);
36938 					n->missing_ok = false;
36939 					(yyval.node) = (Node *)n;
36940 				}
36941 #line 36942 "gram.c" /* yacc.c:1652  */
36942     break;
36943 
36944   case 1337:
36945 #line 9169 "gram.y" /* yacc.c:1652  */
36946     {
36947 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
36948 					n->objectType = OBJECT_TSPARSER;
36949 					n->object = (Node *) (yyvsp[-3].list);
36950 					n->newschema = (yyvsp[0].str);
36951 					n->missing_ok = false;
36952 					(yyval.node) = (Node *)n;
36953 				}
36954 #line 36955 "gram.c" /* yacc.c:1652  */
36955     break;
36956 
36957   case 1338:
36958 #line 9178 "gram.y" /* yacc.c:1652  */
36959     {
36960 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
36961 					n->objectType = OBJECT_TSDICTIONARY;
36962 					n->object = (Node *) (yyvsp[-3].list);
36963 					n->newschema = (yyvsp[0].str);
36964 					n->missing_ok = false;
36965 					(yyval.node) = (Node *)n;
36966 				}
36967 #line 36968 "gram.c" /* yacc.c:1652  */
36968     break;
36969 
36970   case 1339:
36971 #line 9187 "gram.y" /* yacc.c:1652  */
36972     {
36973 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
36974 					n->objectType = OBJECT_TSTEMPLATE;
36975 					n->object = (Node *) (yyvsp[-3].list);
36976 					n->newschema = (yyvsp[0].str);
36977 					n->missing_ok = false;
36978 					(yyval.node) = (Node *)n;
36979 				}
36980 #line 36981 "gram.c" /* yacc.c:1652  */
36981     break;
36982 
36983   case 1340:
36984 #line 9196 "gram.y" /* yacc.c:1652  */
36985     {
36986 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
36987 					n->objectType = OBJECT_TSCONFIGURATION;
36988 					n->object = (Node *) (yyvsp[-3].list);
36989 					n->newschema = (yyvsp[0].str);
36990 					n->missing_ok = false;
36991 					(yyval.node) = (Node *)n;
36992 				}
36993 #line 36994 "gram.c" /* yacc.c:1652  */
36994     break;
36995 
36996   case 1341:
36997 #line 9205 "gram.y" /* yacc.c:1652  */
36998     {
36999 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
37000 					n->objectType = OBJECT_SEQUENCE;
37001 					n->relation = (yyvsp[-3].range);
37002 					n->newschema = (yyvsp[0].str);
37003 					n->missing_ok = false;
37004 					(yyval.node) = (Node *)n;
37005 				}
37006 #line 37007 "gram.c" /* yacc.c:1652  */
37007     break;
37008 
37009   case 1342:
37010 #line 9214 "gram.y" /* yacc.c:1652  */
37011     {
37012 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
37013 					n->objectType = OBJECT_SEQUENCE;
37014 					n->relation = (yyvsp[-3].range);
37015 					n->newschema = (yyvsp[0].str);
37016 					n->missing_ok = true;
37017 					(yyval.node) = (Node *)n;
37018 				}
37019 #line 37020 "gram.c" /* yacc.c:1652  */
37020     break;
37021 
37022   case 1343:
37023 #line 9223 "gram.y" /* yacc.c:1652  */
37024     {
37025 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
37026 					n->objectType = OBJECT_VIEW;
37027 					n->relation = (yyvsp[-3].range);
37028 					n->newschema = (yyvsp[0].str);
37029 					n->missing_ok = false;
37030 					(yyval.node) = (Node *)n;
37031 				}
37032 #line 37033 "gram.c" /* yacc.c:1652  */
37033     break;
37034 
37035   case 1344:
37036 #line 9232 "gram.y" /* yacc.c:1652  */
37037     {
37038 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
37039 					n->objectType = OBJECT_VIEW;
37040 					n->relation = (yyvsp[-3].range);
37041 					n->newschema = (yyvsp[0].str);
37042 					n->missing_ok = true;
37043 					(yyval.node) = (Node *)n;
37044 				}
37045 #line 37046 "gram.c" /* yacc.c:1652  */
37046     break;
37047 
37048   case 1345:
37049 #line 9241 "gram.y" /* yacc.c:1652  */
37050     {
37051 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
37052 					n->objectType = OBJECT_MATVIEW;
37053 					n->relation = (yyvsp[-3].range);
37054 					n->newschema = (yyvsp[0].str);
37055 					n->missing_ok = false;
37056 					(yyval.node) = (Node *)n;
37057 				}
37058 #line 37059 "gram.c" /* yacc.c:1652  */
37059     break;
37060 
37061   case 1346:
37062 #line 9250 "gram.y" /* yacc.c:1652  */
37063     {
37064 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
37065 					n->objectType = OBJECT_MATVIEW;
37066 					n->relation = (yyvsp[-3].range);
37067 					n->newschema = (yyvsp[0].str);
37068 					n->missing_ok = true;
37069 					(yyval.node) = (Node *)n;
37070 				}
37071 #line 37072 "gram.c" /* yacc.c:1652  */
37072     break;
37073 
37074   case 1347:
37075 #line 9259 "gram.y" /* yacc.c:1652  */
37076     {
37077 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
37078 					n->objectType = OBJECT_FOREIGN_TABLE;
37079 					n->relation = (yyvsp[-3].range);
37080 					n->newschema = (yyvsp[0].str);
37081 					n->missing_ok = false;
37082 					(yyval.node) = (Node *)n;
37083 				}
37084 #line 37085 "gram.c" /* yacc.c:1652  */
37085     break;
37086 
37087   case 1348:
37088 #line 9268 "gram.y" /* yacc.c:1652  */
37089     {
37090 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
37091 					n->objectType = OBJECT_FOREIGN_TABLE;
37092 					n->relation = (yyvsp[-3].range);
37093 					n->newschema = (yyvsp[0].str);
37094 					n->missing_ok = true;
37095 					(yyval.node) = (Node *)n;
37096 				}
37097 #line 37098 "gram.c" /* yacc.c:1652  */
37098     break;
37099 
37100   case 1349:
37101 #line 9277 "gram.y" /* yacc.c:1652  */
37102     {
37103 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
37104 					n->objectType = OBJECT_TYPE;
37105 					n->object = (Node *) (yyvsp[-3].list);
37106 					n->newschema = (yyvsp[0].str);
37107 					n->missing_ok = false;
37108 					(yyval.node) = (Node *)n;
37109 				}
37110 #line 37111 "gram.c" /* yacc.c:1652  */
37111     break;
37112 
37113   case 1350:
37114 #line 9295 "gram.y" /* yacc.c:1652  */
37115     {
37116 					AlterOperatorStmt *n = makeNode(AlterOperatorStmt);
37117 					n->opername = (yyvsp[-4].objwithargs);
37118 					n->options = (yyvsp[-1].list);
37119 					(yyval.node) = (Node *)n;
37120 				}
37121 #line 37122 "gram.c" /* yacc.c:1652  */
37122     break;
37123 
37124   case 1351:
37125 #line 9303 "gram.y" /* yacc.c:1652  */
37126     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
37127 #line 37128 "gram.c" /* yacc.c:1652  */
37128     break;
37129 
37130   case 1352:
37131 #line 9304 "gram.y" /* yacc.c:1652  */
37132     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
37133 #line 37134 "gram.c" /* yacc.c:1652  */
37134     break;
37135 
37136   case 1353:
37137 #line 9308 "gram.y" /* yacc.c:1652  */
37138     { (yyval.defelt) = makeDefElem((yyvsp[-2].str), NULL, (yylsp[-2])); }
37139 #line 37140 "gram.c" /* yacc.c:1652  */
37140     break;
37141 
37142   case 1354:
37143 #line 9310 "gram.y" /* yacc.c:1652  */
37144     { (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *) (yyvsp[0].node), (yylsp[-2])); }
37145 #line 37146 "gram.c" /* yacc.c:1652  */
37146     break;
37147 
37148   case 1355:
37149 #line 9315 "gram.y" /* yacc.c:1652  */
37150     { (yyval.node) = (Node *)(yyvsp[0].typnam); }
37151 #line 37152 "gram.c" /* yacc.c:1652  */
37152     break;
37153 
37154   case 1356:
37155 #line 9316 "gram.y" /* yacc.c:1652  */
37156     { (yyval.node) = (Node *)makeString(pstrdup((yyvsp[0].keyword))); }
37157 #line 37158 "gram.c" /* yacc.c:1652  */
37158     break;
37159 
37160   case 1357:
37161 #line 9317 "gram.y" /* yacc.c:1652  */
37162     { (yyval.node) = (Node *)(yyvsp[0].list); }
37163 #line 37164 "gram.c" /* yacc.c:1652  */
37164     break;
37165 
37166   case 1358:
37167 #line 9318 "gram.y" /* yacc.c:1652  */
37168     { (yyval.node) = (Node *)(yyvsp[0].value); }
37169 #line 37170 "gram.c" /* yacc.c:1652  */
37170     break;
37171 
37172   case 1359:
37173 #line 9319 "gram.y" /* yacc.c:1652  */
37174     { (yyval.node) = (Node *)makeString((yyvsp[0].str)); }
37175 #line 37176 "gram.c" /* yacc.c:1652  */
37176     break;
37177 
37178   case 1360:
37179 #line 9329 "gram.y" /* yacc.c:1652  */
37180     {
37181 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37182 					n->objectType = OBJECT_AGGREGATE;
37183 					n->object = (Node *) (yyvsp[-3].objwithargs);
37184 					n->newowner = (yyvsp[0].rolespec);
37185 					(yyval.node) = (Node *)n;
37186 				}
37187 #line 37188 "gram.c" /* yacc.c:1652  */
37188     break;
37189 
37190   case 1361:
37191 #line 9337 "gram.y" /* yacc.c:1652  */
37192     {
37193 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37194 					n->objectType = OBJECT_COLLATION;
37195 					n->object = (Node *) (yyvsp[-3].list);
37196 					n->newowner = (yyvsp[0].rolespec);
37197 					(yyval.node) = (Node *)n;
37198 				}
37199 #line 37200 "gram.c" /* yacc.c:1652  */
37200     break;
37201 
37202   case 1362:
37203 #line 9345 "gram.y" /* yacc.c:1652  */
37204     {
37205 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37206 					n->objectType = OBJECT_CONVERSION;
37207 					n->object = (Node *) (yyvsp[-3].list);
37208 					n->newowner = (yyvsp[0].rolespec);
37209 					(yyval.node) = (Node *)n;
37210 				}
37211 #line 37212 "gram.c" /* yacc.c:1652  */
37212     break;
37213 
37214   case 1363:
37215 #line 9353 "gram.y" /* yacc.c:1652  */
37216     {
37217 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37218 					n->objectType = OBJECT_DATABASE;
37219 					n->object = (Node *) makeString((yyvsp[-3].str));
37220 					n->newowner = (yyvsp[0].rolespec);
37221 					(yyval.node) = (Node *)n;
37222 				}
37223 #line 37224 "gram.c" /* yacc.c:1652  */
37224     break;
37225 
37226   case 1364:
37227 #line 9361 "gram.y" /* yacc.c:1652  */
37228     {
37229 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37230 					n->objectType = OBJECT_DOMAIN;
37231 					n->object = (Node *) (yyvsp[-3].list);
37232 					n->newowner = (yyvsp[0].rolespec);
37233 					(yyval.node) = (Node *)n;
37234 				}
37235 #line 37236 "gram.c" /* yacc.c:1652  */
37236     break;
37237 
37238   case 1365:
37239 #line 9369 "gram.y" /* yacc.c:1652  */
37240     {
37241 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37242 					n->objectType = OBJECT_FUNCTION;
37243 					n->object = (Node *) (yyvsp[-3].objwithargs);
37244 					n->newowner = (yyvsp[0].rolespec);
37245 					(yyval.node) = (Node *)n;
37246 				}
37247 #line 37248 "gram.c" /* yacc.c:1652  */
37248     break;
37249 
37250   case 1366:
37251 #line 9377 "gram.y" /* yacc.c:1652  */
37252     {
37253 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37254 					n->objectType = OBJECT_LANGUAGE;
37255 					n->object = (Node *) makeString((yyvsp[-3].str));
37256 					n->newowner = (yyvsp[0].rolespec);
37257 					(yyval.node) = (Node *)n;
37258 				}
37259 #line 37260 "gram.c" /* yacc.c:1652  */
37260     break;
37261 
37262   case 1367:
37263 #line 9385 "gram.y" /* yacc.c:1652  */
37264     {
37265 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37266 					n->objectType = OBJECT_LARGEOBJECT;
37267 					n->object = (Node *) (yyvsp[-3].value);
37268 					n->newowner = (yyvsp[0].rolespec);
37269 					(yyval.node) = (Node *)n;
37270 				}
37271 #line 37272 "gram.c" /* yacc.c:1652  */
37272     break;
37273 
37274   case 1368:
37275 #line 9393 "gram.y" /* yacc.c:1652  */
37276     {
37277 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37278 					n->objectType = OBJECT_OPERATOR;
37279 					n->object = (Node *) (yyvsp[-3].objwithargs);
37280 					n->newowner = (yyvsp[0].rolespec);
37281 					(yyval.node) = (Node *)n;
37282 				}
37283 #line 37284 "gram.c" /* yacc.c:1652  */
37284     break;
37285 
37286   case 1369:
37287 #line 9401 "gram.y" /* yacc.c:1652  */
37288     {
37289 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37290 					n->objectType = OBJECT_OPCLASS;
37291 					n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
37292 					n->newowner = (yyvsp[0].rolespec);
37293 					(yyval.node) = (Node *)n;
37294 				}
37295 #line 37296 "gram.c" /* yacc.c:1652  */
37296     break;
37297 
37298   case 1370:
37299 #line 9409 "gram.y" /* yacc.c:1652  */
37300     {
37301 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37302 					n->objectType = OBJECT_OPFAMILY;
37303 					n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
37304 					n->newowner = (yyvsp[0].rolespec);
37305 					(yyval.node) = (Node *)n;
37306 				}
37307 #line 37308 "gram.c" /* yacc.c:1652  */
37308     break;
37309 
37310   case 1371:
37311 #line 9417 "gram.y" /* yacc.c:1652  */
37312     {
37313 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37314 					n->objectType = OBJECT_PROCEDURE;
37315 					n->object = (Node *) (yyvsp[-3].objwithargs);
37316 					n->newowner = (yyvsp[0].rolespec);
37317 					(yyval.node) = (Node *)n;
37318 				}
37319 #line 37320 "gram.c" /* yacc.c:1652  */
37320     break;
37321 
37322   case 1372:
37323 #line 9425 "gram.y" /* yacc.c:1652  */
37324     {
37325 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37326 					n->objectType = OBJECT_ROUTINE;
37327 					n->object = (Node *) (yyvsp[-3].objwithargs);
37328 					n->newowner = (yyvsp[0].rolespec);
37329 					(yyval.node) = (Node *)n;
37330 				}
37331 #line 37332 "gram.c" /* yacc.c:1652  */
37332     break;
37333 
37334   case 1373:
37335 #line 9433 "gram.y" /* yacc.c:1652  */
37336     {
37337 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37338 					n->objectType = OBJECT_SCHEMA;
37339 					n->object = (Node *) makeString((yyvsp[-3].str));
37340 					n->newowner = (yyvsp[0].rolespec);
37341 					(yyval.node) = (Node *)n;
37342 				}
37343 #line 37344 "gram.c" /* yacc.c:1652  */
37344     break;
37345 
37346   case 1374:
37347 #line 9441 "gram.y" /* yacc.c:1652  */
37348     {
37349 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37350 					n->objectType = OBJECT_TYPE;
37351 					n->object = (Node *) (yyvsp[-3].list);
37352 					n->newowner = (yyvsp[0].rolespec);
37353 					(yyval.node) = (Node *)n;
37354 				}
37355 #line 37356 "gram.c" /* yacc.c:1652  */
37356     break;
37357 
37358   case 1375:
37359 #line 9449 "gram.y" /* yacc.c:1652  */
37360     {
37361 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37362 					n->objectType = OBJECT_TABLESPACE;
37363 					n->object = (Node *) makeString((yyvsp[-3].str));
37364 					n->newowner = (yyvsp[0].rolespec);
37365 					(yyval.node) = (Node *)n;
37366 				}
37367 #line 37368 "gram.c" /* yacc.c:1652  */
37368     break;
37369 
37370   case 1376:
37371 #line 9457 "gram.y" /* yacc.c:1652  */
37372     {
37373 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37374 					n->objectType = OBJECT_STATISTIC_EXT;
37375 					n->object = (Node *) (yyvsp[-3].list);
37376 					n->newowner = (yyvsp[0].rolespec);
37377 					(yyval.node) = (Node *)n;
37378 				}
37379 #line 37380 "gram.c" /* yacc.c:1652  */
37380     break;
37381 
37382   case 1377:
37383 #line 9465 "gram.y" /* yacc.c:1652  */
37384     {
37385 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37386 					n->objectType = OBJECT_TSDICTIONARY;
37387 					n->object = (Node *) (yyvsp[-3].list);
37388 					n->newowner = (yyvsp[0].rolespec);
37389 					(yyval.node) = (Node *)n;
37390 				}
37391 #line 37392 "gram.c" /* yacc.c:1652  */
37392     break;
37393 
37394   case 1378:
37395 #line 9473 "gram.y" /* yacc.c:1652  */
37396     {
37397 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37398 					n->objectType = OBJECT_TSCONFIGURATION;
37399 					n->object = (Node *) (yyvsp[-3].list);
37400 					n->newowner = (yyvsp[0].rolespec);
37401 					(yyval.node) = (Node *)n;
37402 				}
37403 #line 37404 "gram.c" /* yacc.c:1652  */
37404     break;
37405 
37406   case 1379:
37407 #line 9481 "gram.y" /* yacc.c:1652  */
37408     {
37409 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37410 					n->objectType = OBJECT_FDW;
37411 					n->object = (Node *) makeString((yyvsp[-3].str));
37412 					n->newowner = (yyvsp[0].rolespec);
37413 					(yyval.node) = (Node *)n;
37414 				}
37415 #line 37416 "gram.c" /* yacc.c:1652  */
37416     break;
37417 
37418   case 1380:
37419 #line 9489 "gram.y" /* yacc.c:1652  */
37420     {
37421 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37422 					n->objectType = OBJECT_FOREIGN_SERVER;
37423 					n->object = (Node *) makeString((yyvsp[-3].str));
37424 					n->newowner = (yyvsp[0].rolespec);
37425 					(yyval.node) = (Node *)n;
37426 				}
37427 #line 37428 "gram.c" /* yacc.c:1652  */
37428     break;
37429 
37430   case 1381:
37431 #line 9497 "gram.y" /* yacc.c:1652  */
37432     {
37433 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37434 					n->objectType = OBJECT_EVENT_TRIGGER;
37435 					n->object = (Node *) makeString((yyvsp[-3].str));
37436 					n->newowner = (yyvsp[0].rolespec);
37437 					(yyval.node) = (Node *)n;
37438 				}
37439 #line 37440 "gram.c" /* yacc.c:1652  */
37440     break;
37441 
37442   case 1382:
37443 #line 9505 "gram.y" /* yacc.c:1652  */
37444     {
37445 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37446 					n->objectType = OBJECT_PUBLICATION;
37447 					n->object = (Node *) makeString((yyvsp[-3].str));
37448 					n->newowner = (yyvsp[0].rolespec);
37449 					(yyval.node) = (Node *)n;
37450 				}
37451 #line 37452 "gram.c" /* yacc.c:1652  */
37452     break;
37453 
37454   case 1383:
37455 #line 9513 "gram.y" /* yacc.c:1652  */
37456     {
37457 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37458 					n->objectType = OBJECT_SUBSCRIPTION;
37459 					n->object = (Node *) makeString((yyvsp[-3].str));
37460 					n->newowner = (yyvsp[0].rolespec);
37461 					(yyval.node) = (Node *)n;
37462 				}
37463 #line 37464 "gram.c" /* yacc.c:1652  */
37464     break;
37465 
37466   case 1384:
37467 #line 9531 "gram.y" /* yacc.c:1652  */
37468     {
37469 					CreatePublicationStmt *n = makeNode(CreatePublicationStmt);
37470 					n->pubname = (yyvsp[-2].str);
37471 					n->options = (yyvsp[0].list);
37472 					if ((yyvsp[-1].node) != NULL)
37473 					{
37474 						/* FOR TABLE */
37475 						if (IsA((yyvsp[-1].node), List))
37476 							n->tables = (List *)(yyvsp[-1].node);
37477 						/* FOR ALL TABLES */
37478 						else
37479 							n->for_all_tables = true;
37480 					}
37481 					(yyval.node) = (Node *)n;
37482 				}
37483 #line 37484 "gram.c" /* yacc.c:1652  */
37484     break;
37485 
37486   case 1385:
37487 #line 9549 "gram.y" /* yacc.c:1652  */
37488     { (yyval.node) = (yyvsp[0].node); }
37489 #line 37490 "gram.c" /* yacc.c:1652  */
37490     break;
37491 
37492   case 1386:
37493 #line 9550 "gram.y" /* yacc.c:1652  */
37494     { (yyval.node) = NULL; }
37495 #line 37496 "gram.c" /* yacc.c:1652  */
37496     break;
37497 
37498   case 1387:
37499 #line 9555 "gram.y" /* yacc.c:1652  */
37500     {
37501 					(yyval.node) = (Node *) (yyvsp[0].list);
37502 				}
37503 #line 37504 "gram.c" /* yacc.c:1652  */
37504     break;
37505 
37506   case 1388:
37507 #line 9559 "gram.y" /* yacc.c:1652  */
37508     {
37509 					(yyval.node) = (Node *) makeInteger(true);
37510 				}
37511 #line 37512 "gram.c" /* yacc.c:1652  */
37512     break;
37513 
37514   case 1389:
37515 #line 9579 "gram.y" /* yacc.c:1652  */
37516     {
37517 					AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
37518 					n->pubname = (yyvsp[-2].str);
37519 					n->options = (yyvsp[0].list);
37520 					(yyval.node) = (Node *)n;
37521 				}
37522 #line 37523 "gram.c" /* yacc.c:1652  */
37523     break;
37524 
37525   case 1390:
37526 #line 9586 "gram.y" /* yacc.c:1652  */
37527     {
37528 					AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
37529 					n->pubname = (yyvsp[-3].str);
37530 					n->tables = (yyvsp[0].list);
37531 					n->tableAction = DEFELEM_ADD;
37532 					(yyval.node) = (Node *)n;
37533 				}
37534 #line 37535 "gram.c" /* yacc.c:1652  */
37535     break;
37536 
37537   case 1391:
37538 #line 9594 "gram.y" /* yacc.c:1652  */
37539     {
37540 					AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
37541 					n->pubname = (yyvsp[-3].str);
37542 					n->tables = (yyvsp[0].list);
37543 					n->tableAction = DEFELEM_SET;
37544 					(yyval.node) = (Node *)n;
37545 				}
37546 #line 37547 "gram.c" /* yacc.c:1652  */
37547     break;
37548 
37549   case 1392:
37550 #line 9602 "gram.y" /* yacc.c:1652  */
37551     {
37552 					AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
37553 					n->pubname = (yyvsp[-3].str);
37554 					n->tables = (yyvsp[0].list);
37555 					n->tableAction = DEFELEM_DROP;
37556 					(yyval.node) = (Node *)n;
37557 				}
37558 #line 37559 "gram.c" /* yacc.c:1652  */
37559     break;
37560 
37561   case 1393:
37562 #line 9619 "gram.y" /* yacc.c:1652  */
37563     {
37564 					CreateSubscriptionStmt *n =
37565 						makeNode(CreateSubscriptionStmt);
37566 					n->subname = (yyvsp[-5].str);
37567 					n->conninfo = (yyvsp[-3].str);
37568 					n->publication = (yyvsp[-1].list);
37569 					n->options = (yyvsp[0].list);
37570 					(yyval.node) = (Node *)n;
37571 				}
37572 #line 37573 "gram.c" /* yacc.c:1652  */
37573     break;
37574 
37575   case 1394:
37576 #line 9632 "gram.y" /* yacc.c:1652  */
37577     {
37578 					(yyval.list) = list_make1((yyvsp[0].value));
37579 				}
37580 #line 37581 "gram.c" /* yacc.c:1652  */
37581     break;
37582 
37583   case 1395:
37584 #line 9636 "gram.y" /* yacc.c:1652  */
37585     {
37586 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].value));
37587 				}
37588 #line 37589 "gram.c" /* yacc.c:1652  */
37589     break;
37590 
37591   case 1396:
37592 #line 9642 "gram.y" /* yacc.c:1652  */
37593     { (yyval.value) = makeString((yyvsp[0].str)); }
37594 #line 37595 "gram.c" /* yacc.c:1652  */
37595     break;
37596 
37597   case 1397:
37598 #line 9652 "gram.y" /* yacc.c:1652  */
37599     {
37600 					AlterSubscriptionStmt *n =
37601 						makeNode(AlterSubscriptionStmt);
37602 					n->kind = ALTER_SUBSCRIPTION_OPTIONS;
37603 					n->subname = (yyvsp[-2].str);
37604 					n->options = (yyvsp[0].list);
37605 					(yyval.node) = (Node *)n;
37606 				}
37607 #line 37608 "gram.c" /* yacc.c:1652  */
37608     break;
37609 
37610   case 1398:
37611 #line 9661 "gram.y" /* yacc.c:1652  */
37612     {
37613 					AlterSubscriptionStmt *n =
37614 						makeNode(AlterSubscriptionStmt);
37615 					n->kind = ALTER_SUBSCRIPTION_CONNECTION;
37616 					n->subname = (yyvsp[-2].str);
37617 					n->conninfo = (yyvsp[0].str);
37618 					(yyval.node) = (Node *)n;
37619 				}
37620 #line 37621 "gram.c" /* yacc.c:1652  */
37621     break;
37622 
37623   case 1399:
37624 #line 9670 "gram.y" /* yacc.c:1652  */
37625     {
37626 					AlterSubscriptionStmt *n =
37627 						makeNode(AlterSubscriptionStmt);
37628 					n->kind = ALTER_SUBSCRIPTION_REFRESH;
37629 					n->subname = (yyvsp[-3].str);
37630 					n->options = (yyvsp[0].list);
37631 					(yyval.node) = (Node *)n;
37632 				}
37633 #line 37634 "gram.c" /* yacc.c:1652  */
37634     break;
37635 
37636   case 1400:
37637 #line 9679 "gram.y" /* yacc.c:1652  */
37638     {
37639 					AlterSubscriptionStmt *n =
37640 						makeNode(AlterSubscriptionStmt);
37641 					n->kind = ALTER_SUBSCRIPTION_PUBLICATION;
37642 					n->subname = (yyvsp[-4].str);
37643 					n->publication = (yyvsp[-1].list);
37644 					n->options = (yyvsp[0].list);
37645 					(yyval.node) = (Node *)n;
37646 				}
37647 #line 37648 "gram.c" /* yacc.c:1652  */
37648     break;
37649 
37650   case 1401:
37651 #line 9689 "gram.y" /* yacc.c:1652  */
37652     {
37653 					AlterSubscriptionStmt *n =
37654 						makeNode(AlterSubscriptionStmt);
37655 					n->kind = ALTER_SUBSCRIPTION_ENABLED;
37656 					n->subname = (yyvsp[-1].str);
37657 					n->options = list_make1(makeDefElem("enabled",
37658 											(Node *)makeInteger(true), (yylsp[-3])));
37659 					(yyval.node) = (Node *)n;
37660 				}
37661 #line 37662 "gram.c" /* yacc.c:1652  */
37662     break;
37663 
37664   case 1402:
37665 #line 9699 "gram.y" /* yacc.c:1652  */
37666     {
37667 					AlterSubscriptionStmt *n =
37668 						makeNode(AlterSubscriptionStmt);
37669 					n->kind = ALTER_SUBSCRIPTION_ENABLED;
37670 					n->subname = (yyvsp[-1].str);
37671 					n->options = list_make1(makeDefElem("enabled",
37672 											(Node *)makeInteger(false), (yylsp[-3])));
37673 					(yyval.node) = (Node *)n;
37674 				}
37675 #line 37676 "gram.c" /* yacc.c:1652  */
37676     break;
37677 
37678   case 1403:
37679 #line 9717 "gram.y" /* yacc.c:1652  */
37680     {
37681 					DropSubscriptionStmt *n = makeNode(DropSubscriptionStmt);
37682 					n->subname = (yyvsp[-1].str);
37683 					n->missing_ok = false;
37684 					n->behavior = (yyvsp[0].dbehavior);
37685 					(yyval.node) = (Node *) n;
37686 				}
37687 #line 37688 "gram.c" /* yacc.c:1652  */
37688     break;
37689 
37690   case 1404:
37691 #line 9725 "gram.y" /* yacc.c:1652  */
37692     {
37693 					DropSubscriptionStmt *n = makeNode(DropSubscriptionStmt);
37694 					n->subname = (yyvsp[-1].str);
37695 					n->missing_ok = true;
37696 					n->behavior = (yyvsp[0].dbehavior);
37697 					(yyval.node) = (Node *) n;
37698 				}
37699 #line 37700 "gram.c" /* yacc.c:1652  */
37700     break;
37701 
37702   case 1405:
37703 #line 9743 "gram.y" /* yacc.c:1652  */
37704     {
37705 					RuleStmt *n = makeNode(RuleStmt);
37706 					n->replace = (yyvsp[-11].boolean);
37707 					n->relation = (yyvsp[-4].range);
37708 					n->rulename = (yyvsp[-9].str);
37709 					n->whereClause = (yyvsp[-3].node);
37710 					n->event = (yyvsp[-6].ival);
37711 					n->instead = (yyvsp[-1].boolean);
37712 					n->actions = (yyvsp[0].list);
37713 					(yyval.node) = (Node *)n;
37714 				}
37715 #line 37716 "gram.c" /* yacc.c:1652  */
37716     break;
37717 
37718   case 1406:
37719 #line 9757 "gram.y" /* yacc.c:1652  */
37720     { (yyval.list) = NIL; }
37721 #line 37722 "gram.c" /* yacc.c:1652  */
37722     break;
37723 
37724   case 1407:
37725 #line 9758 "gram.y" /* yacc.c:1652  */
37726     { (yyval.list) = list_make1((yyvsp[0].node)); }
37727 #line 37728 "gram.c" /* yacc.c:1652  */
37728     break;
37729 
37730   case 1408:
37731 #line 9759 "gram.y" /* yacc.c:1652  */
37732     { (yyval.list) = (yyvsp[-1].list); }
37733 #line 37734 "gram.c" /* yacc.c:1652  */
37734     break;
37735 
37736   case 1409:
37737 #line 9765 "gram.y" /* yacc.c:1652  */
37738     { if ((yyvsp[0].node) != NULL)
37739 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
37740 				  else
37741 					(yyval.list) = (yyvsp[-2].list);
37742 				}
37743 #line 37744 "gram.c" /* yacc.c:1652  */
37744     break;
37745 
37746   case 1410:
37747 #line 9771 "gram.y" /* yacc.c:1652  */
37748     { if ((yyvsp[0].node) != NULL)
37749 					(yyval.list) = list_make1((yyvsp[0].node));
37750 				  else
37751 					(yyval.list) = NIL;
37752 				}
37753 #line 37754 "gram.c" /* yacc.c:1652  */
37754     break;
37755 
37756   case 1416:
37757 #line 9787 "gram.y" /* yacc.c:1652  */
37758     { (yyval.node) = (yyvsp[0].node); }
37759 #line 37760 "gram.c" /* yacc.c:1652  */
37760     break;
37761 
37762   case 1417:
37763 #line 9788 "gram.y" /* yacc.c:1652  */
37764     { (yyval.node) = NULL; }
37765 #line 37766 "gram.c" /* yacc.c:1652  */
37766     break;
37767 
37768   case 1418:
37769 #line 9791 "gram.y" /* yacc.c:1652  */
37770     { (yyval.ival) = CMD_SELECT; }
37771 #line 37772 "gram.c" /* yacc.c:1652  */
37772     break;
37773 
37774   case 1419:
37775 #line 9792 "gram.y" /* yacc.c:1652  */
37776     { (yyval.ival) = CMD_UPDATE; }
37777 #line 37778 "gram.c" /* yacc.c:1652  */
37778     break;
37779 
37780   case 1420:
37781 #line 9793 "gram.y" /* yacc.c:1652  */
37782     { (yyval.ival) = CMD_DELETE; }
37783 #line 37784 "gram.c" /* yacc.c:1652  */
37784     break;
37785 
37786   case 1421:
37787 #line 9794 "gram.y" /* yacc.c:1652  */
37788     { (yyval.ival) = CMD_INSERT; }
37789 #line 37790 "gram.c" /* yacc.c:1652  */
37790     break;
37791 
37792   case 1422:
37793 #line 9798 "gram.y" /* yacc.c:1652  */
37794     { (yyval.boolean) = true; }
37795 #line 37796 "gram.c" /* yacc.c:1652  */
37796     break;
37797 
37798   case 1423:
37799 #line 9799 "gram.y" /* yacc.c:1652  */
37800     { (yyval.boolean) = false; }
37801 #line 37802 "gram.c" /* yacc.c:1652  */
37802     break;
37803 
37804   case 1424:
37805 #line 9800 "gram.y" /* yacc.c:1652  */
37806     { (yyval.boolean) = false; }
37807 #line 37808 "gram.c" /* yacc.c:1652  */
37808     break;
37809 
37810   case 1425:
37811 #line 9813 "gram.y" /* yacc.c:1652  */
37812     {
37813 					NotifyStmt *n = makeNode(NotifyStmt);
37814 					n->conditionname = (yyvsp[-1].str);
37815 					n->payload = (yyvsp[0].str);
37816 					(yyval.node) = (Node *)n;
37817 				}
37818 #line 37819 "gram.c" /* yacc.c:1652  */
37819     break;
37820 
37821   case 1426:
37822 #line 9822 "gram.y" /* yacc.c:1652  */
37823     { (yyval.str) = (yyvsp[0].str); }
37824 #line 37825 "gram.c" /* yacc.c:1652  */
37825     break;
37826 
37827   case 1427:
37828 #line 9823 "gram.y" /* yacc.c:1652  */
37829     { (yyval.str) = NULL; }
37830 #line 37831 "gram.c" /* yacc.c:1652  */
37831     break;
37832 
37833   case 1428:
37834 #line 9827 "gram.y" /* yacc.c:1652  */
37835     {
37836 					ListenStmt *n = makeNode(ListenStmt);
37837 					n->conditionname = (yyvsp[0].str);
37838 					(yyval.node) = (Node *)n;
37839 				}
37840 #line 37841 "gram.c" /* yacc.c:1652  */
37841     break;
37842 
37843   case 1429:
37844 #line 9836 "gram.y" /* yacc.c:1652  */
37845     {
37846 					UnlistenStmt *n = makeNode(UnlistenStmt);
37847 					n->conditionname = (yyvsp[0].str);
37848 					(yyval.node) = (Node *)n;
37849 				}
37850 #line 37851 "gram.c" /* yacc.c:1652  */
37851     break;
37852 
37853   case 1430:
37854 #line 9842 "gram.y" /* yacc.c:1652  */
37855     {
37856 					UnlistenStmt *n = makeNode(UnlistenStmt);
37857 					n->conditionname = NULL;
37858 					(yyval.node) = (Node *)n;
37859 				}
37860 #line 37861 "gram.c" /* yacc.c:1652  */
37861     break;
37862 
37863   case 1431:
37864 #line 9861 "gram.y" /* yacc.c:1652  */
37865     {
37866 					TransactionStmt *n = makeNode(TransactionStmt);
37867 					n->kind = TRANS_STMT_ROLLBACK;
37868 					n->options = NIL;
37869 					(yyval.node) = (Node *)n;
37870 				}
37871 #line 37872 "gram.c" /* yacc.c:1652  */
37872     break;
37873 
37874   case 1432:
37875 #line 9868 "gram.y" /* yacc.c:1652  */
37876     {
37877 					TransactionStmt *n = makeNode(TransactionStmt);
37878 					n->kind = TRANS_STMT_BEGIN;
37879 					n->options = (yyvsp[0].list);
37880 					(yyval.node) = (Node *)n;
37881 				}
37882 #line 37883 "gram.c" /* yacc.c:1652  */
37883     break;
37884 
37885   case 1433:
37886 #line 9875 "gram.y" /* yacc.c:1652  */
37887     {
37888 					TransactionStmt *n = makeNode(TransactionStmt);
37889 					n->kind = TRANS_STMT_START;
37890 					n->options = (yyvsp[0].list);
37891 					(yyval.node) = (Node *)n;
37892 				}
37893 #line 37894 "gram.c" /* yacc.c:1652  */
37894     break;
37895 
37896   case 1434:
37897 #line 9882 "gram.y" /* yacc.c:1652  */
37898     {
37899 					TransactionStmt *n = makeNode(TransactionStmt);
37900 					n->kind = TRANS_STMT_COMMIT;
37901 					n->options = NIL;
37902 					(yyval.node) = (Node *)n;
37903 				}
37904 #line 37905 "gram.c" /* yacc.c:1652  */
37905     break;
37906 
37907   case 1435:
37908 #line 9889 "gram.y" /* yacc.c:1652  */
37909     {
37910 					TransactionStmt *n = makeNode(TransactionStmt);
37911 					n->kind = TRANS_STMT_COMMIT;
37912 					n->options = NIL;
37913 					(yyval.node) = (Node *)n;
37914 				}
37915 #line 37916 "gram.c" /* yacc.c:1652  */
37916     break;
37917 
37918   case 1436:
37919 #line 9896 "gram.y" /* yacc.c:1652  */
37920     {
37921 					TransactionStmt *n = makeNode(TransactionStmt);
37922 					n->kind = TRANS_STMT_ROLLBACK;
37923 					n->options = NIL;
37924 					(yyval.node) = (Node *)n;
37925 				}
37926 #line 37927 "gram.c" /* yacc.c:1652  */
37927     break;
37928 
37929   case 1437:
37930 #line 9903 "gram.y" /* yacc.c:1652  */
37931     {
37932 					TransactionStmt *n = makeNode(TransactionStmt);
37933 					n->kind = TRANS_STMT_SAVEPOINT;
37934 					n->savepoint_name = (yyvsp[0].str);
37935 					(yyval.node) = (Node *)n;
37936 				}
37937 #line 37938 "gram.c" /* yacc.c:1652  */
37938     break;
37939 
37940   case 1438:
37941 #line 9910 "gram.y" /* yacc.c:1652  */
37942     {
37943 					TransactionStmt *n = makeNode(TransactionStmt);
37944 					n->kind = TRANS_STMT_RELEASE;
37945 					n->savepoint_name = (yyvsp[0].str);
37946 					(yyval.node) = (Node *)n;
37947 				}
37948 #line 37949 "gram.c" /* yacc.c:1652  */
37949     break;
37950 
37951   case 1439:
37952 #line 9917 "gram.y" /* yacc.c:1652  */
37953     {
37954 					TransactionStmt *n = makeNode(TransactionStmt);
37955 					n->kind = TRANS_STMT_RELEASE;
37956 					n->savepoint_name = (yyvsp[0].str);
37957 					(yyval.node) = (Node *)n;
37958 				}
37959 #line 37960 "gram.c" /* yacc.c:1652  */
37960     break;
37961 
37962   case 1440:
37963 #line 9924 "gram.y" /* yacc.c:1652  */
37964     {
37965 					TransactionStmt *n = makeNode(TransactionStmt);
37966 					n->kind = TRANS_STMT_ROLLBACK_TO;
37967 					n->savepoint_name = (yyvsp[0].str);
37968 					(yyval.node) = (Node *)n;
37969 				}
37970 #line 37971 "gram.c" /* yacc.c:1652  */
37971     break;
37972 
37973   case 1441:
37974 #line 9931 "gram.y" /* yacc.c:1652  */
37975     {
37976 					TransactionStmt *n = makeNode(TransactionStmt);
37977 					n->kind = TRANS_STMT_ROLLBACK_TO;
37978 					n->savepoint_name = (yyvsp[0].str);
37979 					(yyval.node) = (Node *)n;
37980 				}
37981 #line 37982 "gram.c" /* yacc.c:1652  */
37982     break;
37983 
37984   case 1442:
37985 #line 9938 "gram.y" /* yacc.c:1652  */
37986     {
37987 					TransactionStmt *n = makeNode(TransactionStmt);
37988 					n->kind = TRANS_STMT_PREPARE;
37989 					n->gid = (yyvsp[0].str);
37990 					(yyval.node) = (Node *)n;
37991 				}
37992 #line 37993 "gram.c" /* yacc.c:1652  */
37993     break;
37994 
37995   case 1443:
37996 #line 9945 "gram.y" /* yacc.c:1652  */
37997     {
37998 					TransactionStmt *n = makeNode(TransactionStmt);
37999 					n->kind = TRANS_STMT_COMMIT_PREPARED;
38000 					n->gid = (yyvsp[0].str);
38001 					(yyval.node) = (Node *)n;
38002 				}
38003 #line 38004 "gram.c" /* yacc.c:1652  */
38004     break;
38005 
38006   case 1444:
38007 #line 9952 "gram.y" /* yacc.c:1652  */
38008     {
38009 					TransactionStmt *n = makeNode(TransactionStmt);
38010 					n->kind = TRANS_STMT_ROLLBACK_PREPARED;
38011 					n->gid = (yyvsp[0].str);
38012 					(yyval.node) = (Node *)n;
38013 				}
38014 #line 38015 "gram.c" /* yacc.c:1652  */
38015     break;
38016 
38017   case 1445:
38018 #line 9960 "gram.y" /* yacc.c:1652  */
38019     {}
38020 #line 38021 "gram.c" /* yacc.c:1652  */
38021     break;
38022 
38023   case 1446:
38024 #line 9961 "gram.y" /* yacc.c:1652  */
38025     {}
38026 #line 38027 "gram.c" /* yacc.c:1652  */
38027     break;
38028 
38029   case 1447:
38030 #line 9962 "gram.y" /* yacc.c:1652  */
38031     {}
38032 #line 38033 "gram.c" /* yacc.c:1652  */
38033     break;
38034 
38035   case 1448:
38036 #line 9967 "gram.y" /* yacc.c:1652  */
38037     { (yyval.defelt) = makeDefElem("transaction_isolation",
38038 									   makeStringConst((yyvsp[0].str), (yylsp[0])), (yylsp[-2])); }
38039 #line 38040 "gram.c" /* yacc.c:1652  */
38040     break;
38041 
38042   case 1449:
38043 #line 9970 "gram.y" /* yacc.c:1652  */
38044     { (yyval.defelt) = makeDefElem("transaction_read_only",
38045 									   makeIntConst(true, (yylsp[-1])), (yylsp[-1])); }
38046 #line 38047 "gram.c" /* yacc.c:1652  */
38047     break;
38048 
38049   case 1450:
38050 #line 9973 "gram.y" /* yacc.c:1652  */
38051     { (yyval.defelt) = makeDefElem("transaction_read_only",
38052 									   makeIntConst(false, (yylsp[-1])), (yylsp[-1])); }
38053 #line 38054 "gram.c" /* yacc.c:1652  */
38054     break;
38055 
38056   case 1451:
38057 #line 9976 "gram.y" /* yacc.c:1652  */
38058     { (yyval.defelt) = makeDefElem("transaction_deferrable",
38059 									   makeIntConst(true, (yylsp[0])), (yylsp[0])); }
38060 #line 38061 "gram.c" /* yacc.c:1652  */
38061     break;
38062 
38063   case 1452:
38064 #line 9979 "gram.y" /* yacc.c:1652  */
38065     { (yyval.defelt) = makeDefElem("transaction_deferrable",
38066 									   makeIntConst(false, (yylsp[-1])), (yylsp[-1])); }
38067 #line 38068 "gram.c" /* yacc.c:1652  */
38068     break;
38069 
38070   case 1453:
38071 #line 9986 "gram.y" /* yacc.c:1652  */
38072     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
38073 #line 38074 "gram.c" /* yacc.c:1652  */
38074     break;
38075 
38076   case 1454:
38077 #line 9988 "gram.y" /* yacc.c:1652  */
38078     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
38079 #line 38080 "gram.c" /* yacc.c:1652  */
38080     break;
38081 
38082   case 1455:
38083 #line 9990 "gram.y" /* yacc.c:1652  */
38084     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
38085 #line 38086 "gram.c" /* yacc.c:1652  */
38086     break;
38087 
38088   case 1457:
38089 #line 9996 "gram.y" /* yacc.c:1652  */
38090     { (yyval.list) = NIL; }
38091 #line 38092 "gram.c" /* yacc.c:1652  */
38092     break;
38093 
38094   case 1458:
38095 #line 10010 "gram.y" /* yacc.c:1652  */
38096     {
38097 					ViewStmt *n = makeNode(ViewStmt);
38098 					n->view = (yyvsp[-5].range);
38099 					n->view->relpersistence = (yyvsp[-7].ival);
38100 					n->aliases = (yyvsp[-4].list);
38101 					n->query = (yyvsp[-1].node);
38102 					n->replace = false;
38103 					n->options = (yyvsp[-3].list);
38104 					n->withCheckOption = (yyvsp[0].ival);
38105 					(yyval.node) = (Node *) n;
38106 				}
38107 #line 38108 "gram.c" /* yacc.c:1652  */
38108     break;
38109 
38110   case 1459:
38111 #line 10023 "gram.y" /* yacc.c:1652  */
38112     {
38113 					ViewStmt *n = makeNode(ViewStmt);
38114 					n->view = (yyvsp[-5].range);
38115 					n->view->relpersistence = (yyvsp[-7].ival);
38116 					n->aliases = (yyvsp[-4].list);
38117 					n->query = (yyvsp[-1].node);
38118 					n->replace = true;
38119 					n->options = (yyvsp[-3].list);
38120 					n->withCheckOption = (yyvsp[0].ival);
38121 					(yyval.node) = (Node *) n;
38122 				}
38123 #line 38124 "gram.c" /* yacc.c:1652  */
38124     break;
38125 
38126   case 1460:
38127 #line 10036 "gram.y" /* yacc.c:1652  */
38128     {
38129 					ViewStmt *n = makeNode(ViewStmt);
38130 					n->view = (yyvsp[-7].range);
38131 					n->view->relpersistence = (yyvsp[-10].ival);
38132 					n->aliases = (yyvsp[-5].list);
38133 					n->query = makeRecursiveViewSelect(n->view->relname, n->aliases, (yyvsp[-1].node));
38134 					n->replace = false;
38135 					n->options = (yyvsp[-3].list);
38136 					n->withCheckOption = (yyvsp[0].ival);
38137 					if (n->withCheckOption != NO_CHECK_OPTION)
38138 						ereport(ERROR,
38139 								(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
38140 								 errmsg("WITH CHECK OPTION not supported on recursive views"),
38141 								 parser_errposition((yylsp[0]))));
38142 					(yyval.node) = (Node *) n;
38143 				}
38144 #line 38145 "gram.c" /* yacc.c:1652  */
38145     break;
38146 
38147   case 1461:
38148 #line 10054 "gram.y" /* yacc.c:1652  */
38149     {
38150 					ViewStmt *n = makeNode(ViewStmt);
38151 					n->view = (yyvsp[-7].range);
38152 					n->view->relpersistence = (yyvsp[-10].ival);
38153 					n->aliases = (yyvsp[-5].list);
38154 					n->query = makeRecursiveViewSelect(n->view->relname, n->aliases, (yyvsp[-1].node));
38155 					n->replace = true;
38156 					n->options = (yyvsp[-3].list);
38157 					n->withCheckOption = (yyvsp[0].ival);
38158 					if (n->withCheckOption != NO_CHECK_OPTION)
38159 						ereport(ERROR,
38160 								(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
38161 								 errmsg("WITH CHECK OPTION not supported on recursive views"),
38162 								 parser_errposition((yylsp[0]))));
38163 					(yyval.node) = (Node *) n;
38164 				}
38165 #line 38166 "gram.c" /* yacc.c:1652  */
38166     break;
38167 
38168   case 1462:
38169 #line 10073 "gram.y" /* yacc.c:1652  */
38170     { (yyval.ival) = CASCADED_CHECK_OPTION; }
38171 #line 38172 "gram.c" /* yacc.c:1652  */
38172     break;
38173 
38174   case 1463:
38175 #line 10074 "gram.y" /* yacc.c:1652  */
38176     { (yyval.ival) = CASCADED_CHECK_OPTION; }
38177 #line 38178 "gram.c" /* yacc.c:1652  */
38178     break;
38179 
38180   case 1464:
38181 #line 10075 "gram.y" /* yacc.c:1652  */
38182     { (yyval.ival) = LOCAL_CHECK_OPTION; }
38183 #line 38184 "gram.c" /* yacc.c:1652  */
38184     break;
38185 
38186   case 1465:
38187 #line 10076 "gram.y" /* yacc.c:1652  */
38188     { (yyval.ival) = NO_CHECK_OPTION; }
38189 #line 38190 "gram.c" /* yacc.c:1652  */
38190     break;
38191 
38192   case 1466:
38193 #line 10087 "gram.y" /* yacc.c:1652  */
38194     {
38195 					LoadStmt *n = makeNode(LoadStmt);
38196 					n->filename = (yyvsp[0].str);
38197 					(yyval.node) = (Node *)n;
38198 				}
38199 #line 38200 "gram.c" /* yacc.c:1652  */
38200     break;
38201 
38202   case 1467:
38203 #line 10103 "gram.y" /* yacc.c:1652  */
38204     {
38205 					CreatedbStmt *n = makeNode(CreatedbStmt);
38206 					n->dbname = (yyvsp[-2].str);
38207 					n->options = (yyvsp[0].list);
38208 					(yyval.node) = (Node *)n;
38209 				}
38210 #line 38211 "gram.c" /* yacc.c:1652  */
38211     break;
38212 
38213   case 1468:
38214 #line 10112 "gram.y" /* yacc.c:1652  */
38215     { (yyval.list) = (yyvsp[0].list); }
38216 #line 38217 "gram.c" /* yacc.c:1652  */
38217     break;
38218 
38219   case 1469:
38220 #line 10113 "gram.y" /* yacc.c:1652  */
38221     { (yyval.list) = NIL; }
38222 #line 38223 "gram.c" /* yacc.c:1652  */
38223     break;
38224 
38225   case 1470:
38226 #line 10117 "gram.y" /* yacc.c:1652  */
38227     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
38228 #line 38229 "gram.c" /* yacc.c:1652  */
38229     break;
38230 
38231   case 1471:
38232 #line 10118 "gram.y" /* yacc.c:1652  */
38233     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
38234 #line 38235 "gram.c" /* yacc.c:1652  */
38235     break;
38236 
38237   case 1472:
38238 #line 10123 "gram.y" /* yacc.c:1652  */
38239     {
38240 					(yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *)makeInteger((yyvsp[0].ival)), (yylsp[-2]));
38241 				}
38242 #line 38243 "gram.c" /* yacc.c:1652  */
38243     break;
38244 
38245   case 1473:
38246 #line 10127 "gram.y" /* yacc.c:1652  */
38247     {
38248 					(yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
38249 				}
38250 #line 38251 "gram.c" /* yacc.c:1652  */
38251     break;
38252 
38253   case 1474:
38254 #line 10131 "gram.y" /* yacc.c:1652  */
38255     {
38256 					(yyval.defelt) = makeDefElem((yyvsp[-2].str), NULL, (yylsp[-2]));
38257 				}
38258 #line 38259 "gram.c" /* yacc.c:1652  */
38259     break;
38260 
38261   case 1475:
38262 #line 10148 "gram.y" /* yacc.c:1652  */
38263     { (yyval.str) = (yyvsp[0].str); }
38264 #line 38265 "gram.c" /* yacc.c:1652  */
38265     break;
38266 
38267   case 1476:
38268 #line 10149 "gram.y" /* yacc.c:1652  */
38269     { (yyval.str) = pstrdup("connection_limit"); }
38270 #line 38271 "gram.c" /* yacc.c:1652  */
38271     break;
38272 
38273   case 1477:
38274 #line 10150 "gram.y" /* yacc.c:1652  */
38275     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
38276 #line 38277 "gram.c" /* yacc.c:1652  */
38277     break;
38278 
38279   case 1478:
38280 #line 10151 "gram.y" /* yacc.c:1652  */
38281     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
38282 #line 38283 "gram.c" /* yacc.c:1652  */
38283     break;
38284 
38285   case 1479:
38286 #line 10152 "gram.y" /* yacc.c:1652  */
38287     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
38288 #line 38289 "gram.c" /* yacc.c:1652  */
38289     break;
38290 
38291   case 1480:
38292 #line 10153 "gram.y" /* yacc.c:1652  */
38293     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
38294 #line 38295 "gram.c" /* yacc.c:1652  */
38295     break;
38296 
38297   case 1481:
38298 #line 10154 "gram.y" /* yacc.c:1652  */
38299     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
38300 #line 38301 "gram.c" /* yacc.c:1652  */
38301     break;
38302 
38303   case 1482:
38304 #line 10161 "gram.y" /* yacc.c:1652  */
38305     {}
38306 #line 38307 "gram.c" /* yacc.c:1652  */
38307     break;
38308 
38309   case 1483:
38310 #line 10162 "gram.y" /* yacc.c:1652  */
38311     {}
38312 #line 38313 "gram.c" /* yacc.c:1652  */
38313     break;
38314 
38315   case 1484:
38316 #line 10174 "gram.y" /* yacc.c:1652  */
38317     {
38318 					AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
38319 					n->dbname = (yyvsp[-2].str);
38320 					n->options = (yyvsp[0].list);
38321 					(yyval.node) = (Node *)n;
38322 				 }
38323 #line 38324 "gram.c" /* yacc.c:1652  */
38324     break;
38325 
38326   case 1485:
38327 #line 10181 "gram.y" /* yacc.c:1652  */
38328     {
38329 					AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
38330 					n->dbname = (yyvsp[-1].str);
38331 					n->options = (yyvsp[0].list);
38332 					(yyval.node) = (Node *)n;
38333 				 }
38334 #line 38335 "gram.c" /* yacc.c:1652  */
38335     break;
38336 
38337   case 1486:
38338 #line 10188 "gram.y" /* yacc.c:1652  */
38339     {
38340 					AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
38341 					n->dbname = (yyvsp[-3].str);
38342 					n->options = list_make1(makeDefElem("tablespace",
38343 														(Node *)makeString((yyvsp[0].str)), (yylsp[0])));
38344 					(yyval.node) = (Node *)n;
38345 				 }
38346 #line 38347 "gram.c" /* yacc.c:1652  */
38347     break;
38348 
38349   case 1487:
38350 #line 10199 "gram.y" /* yacc.c:1652  */
38351     {
38352 					AlterDatabaseSetStmt *n = makeNode(AlterDatabaseSetStmt);
38353 					n->dbname = (yyvsp[-1].str);
38354 					n->setstmt = (yyvsp[0].vsetstmt);
38355 					(yyval.node) = (Node *)n;
38356 				}
38357 #line 38358 "gram.c" /* yacc.c:1652  */
38358     break;
38359 
38360   case 1488:
38361 #line 10216 "gram.y" /* yacc.c:1652  */
38362     {
38363 					DropdbStmt *n = makeNode(DropdbStmt);
38364 					n->dbname = (yyvsp[0].str);
38365 					n->missing_ok = false;
38366 					(yyval.node) = (Node *)n;
38367 				}
38368 #line 38369 "gram.c" /* yacc.c:1652  */
38369     break;
38370 
38371   case 1489:
38372 #line 10223 "gram.y" /* yacc.c:1652  */
38373     {
38374 					DropdbStmt *n = makeNode(DropdbStmt);
38375 					n->dbname = (yyvsp[0].str);
38376 					n->missing_ok = true;
38377 					(yyval.node) = (Node *)n;
38378 				}
38379 #line 38380 "gram.c" /* yacc.c:1652  */
38380     break;
38381 
38382   case 1490:
38383 #line 10239 "gram.y" /* yacc.c:1652  */
38384     {
38385 					AlterCollationStmt *n = makeNode(AlterCollationStmt);
38386 					n->collname = (yyvsp[-2].list);
38387 					(yyval.node) = (Node *)n;
38388 				}
38389 #line 38390 "gram.c" /* yacc.c:1652  */
38390     break;
38391 
38392   case 1491:
38393 #line 10256 "gram.y" /* yacc.c:1652  */
38394     {
38395 					AlterSystemStmt *n = makeNode(AlterSystemStmt);
38396 					n->setstmt = (yyvsp[0].vsetstmt);
38397 					(yyval.node) = (Node *)n;
38398 				}
38399 #line 38400 "gram.c" /* yacc.c:1652  */
38400     break;
38401 
38402   case 1492:
38403 #line 10262 "gram.y" /* yacc.c:1652  */
38404     {
38405 					AlterSystemStmt *n = makeNode(AlterSystemStmt);
38406 					n->setstmt = (yyvsp[0].vsetstmt);
38407 					(yyval.node) = (Node *)n;
38408 				}
38409 #line 38410 "gram.c" /* yacc.c:1652  */
38410     break;
38411 
38412   case 1493:
38413 #line 10278 "gram.y" /* yacc.c:1652  */
38414     {
38415 					CreateDomainStmt *n = makeNode(CreateDomainStmt);
38416 					n->domainname = (yyvsp[-3].list);
38417 					n->typeName = (yyvsp[-1].typnam);
38418 					SplitColQualList((yyvsp[0].list), &n->constraints, &n->collClause,
38419 									 yyscanner);
38420 					(yyval.node) = (Node *)n;
38421 				}
38422 #line 38423 "gram.c" /* yacc.c:1652  */
38423     break;
38424 
38425   case 1494:
38426 #line 10291 "gram.y" /* yacc.c:1652  */
38427     {
38428 					AlterDomainStmt *n = makeNode(AlterDomainStmt);
38429 					n->subtype = 'T';
38430 					n->typeName = (yyvsp[-1].list);
38431 					n->def = (yyvsp[0].node);
38432 					(yyval.node) = (Node *)n;
38433 				}
38434 #line 38435 "gram.c" /* yacc.c:1652  */
38435     break;
38436 
38437   case 1495:
38438 #line 10300 "gram.y" /* yacc.c:1652  */
38439     {
38440 					AlterDomainStmt *n = makeNode(AlterDomainStmt);
38441 					n->subtype = 'N';
38442 					n->typeName = (yyvsp[-3].list);
38443 					(yyval.node) = (Node *)n;
38444 				}
38445 #line 38446 "gram.c" /* yacc.c:1652  */
38446     break;
38447 
38448   case 1496:
38449 #line 10308 "gram.y" /* yacc.c:1652  */
38450     {
38451 					AlterDomainStmt *n = makeNode(AlterDomainStmt);
38452 					n->subtype = 'O';
38453 					n->typeName = (yyvsp[-3].list);
38454 					(yyval.node) = (Node *)n;
38455 				}
38456 #line 38457 "gram.c" /* yacc.c:1652  */
38457     break;
38458 
38459   case 1497:
38460 #line 10316 "gram.y" /* yacc.c:1652  */
38461     {
38462 					AlterDomainStmt *n = makeNode(AlterDomainStmt);
38463 					n->subtype = 'C';
38464 					n->typeName = (yyvsp[-2].list);
38465 					n->def = (yyvsp[0].node);
38466 					(yyval.node) = (Node *)n;
38467 				}
38468 #line 38469 "gram.c" /* yacc.c:1652  */
38469     break;
38470 
38471   case 1498:
38472 #line 10325 "gram.y" /* yacc.c:1652  */
38473     {
38474 					AlterDomainStmt *n = makeNode(AlterDomainStmt);
38475 					n->subtype = 'X';
38476 					n->typeName = (yyvsp[-4].list);
38477 					n->name = (yyvsp[-1].str);
38478 					n->behavior = (yyvsp[0].dbehavior);
38479 					n->missing_ok = false;
38480 					(yyval.node) = (Node *)n;
38481 				}
38482 #line 38483 "gram.c" /* yacc.c:1652  */
38483     break;
38484 
38485   case 1499:
38486 #line 10336 "gram.y" /* yacc.c:1652  */
38487     {
38488 					AlterDomainStmt *n = makeNode(AlterDomainStmt);
38489 					n->subtype = 'X';
38490 					n->typeName = (yyvsp[-6].list);
38491 					n->name = (yyvsp[-1].str);
38492 					n->behavior = (yyvsp[0].dbehavior);
38493 					n->missing_ok = true;
38494 					(yyval.node) = (Node *)n;
38495 				}
38496 #line 38497 "gram.c" /* yacc.c:1652  */
38497     break;
38498 
38499   case 1500:
38500 #line 10347 "gram.y" /* yacc.c:1652  */
38501     {
38502 					AlterDomainStmt *n = makeNode(AlterDomainStmt);
38503 					n->subtype = 'V';
38504 					n->typeName = (yyvsp[-3].list);
38505 					n->name = (yyvsp[0].str);
38506 					(yyval.node) = (Node *)n;
38507 				}
38508 #line 38509 "gram.c" /* yacc.c:1652  */
38509     break;
38510 
38511   case 1501:
38512 #line 10356 "gram.y" /* yacc.c:1652  */
38513     {}
38514 #line 38515 "gram.c" /* yacc.c:1652  */
38515     break;
38516 
38517   case 1502:
38518 #line 10357 "gram.y" /* yacc.c:1652  */
38519     {}
38520 #line 38521 "gram.c" /* yacc.c:1652  */
38521     break;
38522 
38523   case 1503:
38524 #line 10369 "gram.y" /* yacc.c:1652  */
38525     {
38526 					AlterTSDictionaryStmt *n = makeNode(AlterTSDictionaryStmt);
38527 					n->dictname = (yyvsp[-1].list);
38528 					n->options = (yyvsp[0].list);
38529 					(yyval.node) = (Node *)n;
38530 				}
38531 #line 38532 "gram.c" /* yacc.c:1652  */
38532     break;
38533 
38534   case 1504:
38535 #line 10379 "gram.y" /* yacc.c:1652  */
38536     {
38537 					AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
38538 					n->kind = ALTER_TSCONFIG_ADD_MAPPING;
38539 					n->cfgname = (yyvsp[-6].list);
38540 					n->tokentype = (yyvsp[-2].list);
38541 					n->dicts = (yyvsp[0].list);
38542 					n->override = false;
38543 					n->replace = false;
38544 					(yyval.node) = (Node*)n;
38545 				}
38546 #line 38547 "gram.c" /* yacc.c:1652  */
38547     break;
38548 
38549   case 1505:
38550 #line 10390 "gram.y" /* yacc.c:1652  */
38551     {
38552 					AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
38553 					n->kind = ALTER_TSCONFIG_ALTER_MAPPING_FOR_TOKEN;
38554 					n->cfgname = (yyvsp[-6].list);
38555 					n->tokentype = (yyvsp[-2].list);
38556 					n->dicts = (yyvsp[0].list);
38557 					n->override = true;
38558 					n->replace = false;
38559 					(yyval.node) = (Node*)n;
38560 				}
38561 #line 38562 "gram.c" /* yacc.c:1652  */
38562     break;
38563 
38564   case 1506:
38565 #line 10401 "gram.y" /* yacc.c:1652  */
38566     {
38567 					AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
38568 					n->kind = ALTER_TSCONFIG_REPLACE_DICT;
38569 					n->cfgname = (yyvsp[-6].list);
38570 					n->tokentype = NIL;
38571 					n->dicts = list_make2((yyvsp[-2].list),(yyvsp[0].list));
38572 					n->override = false;
38573 					n->replace = true;
38574 					(yyval.node) = (Node*)n;
38575 				}
38576 #line 38577 "gram.c" /* yacc.c:1652  */
38577     break;
38578 
38579   case 1507:
38580 #line 10412 "gram.y" /* yacc.c:1652  */
38581     {
38582 					AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
38583 					n->kind = ALTER_TSCONFIG_REPLACE_DICT_FOR_TOKEN;
38584 					n->cfgname = (yyvsp[-8].list);
38585 					n->tokentype = (yyvsp[-4].list);
38586 					n->dicts = list_make2((yyvsp[-2].list),(yyvsp[0].list));
38587 					n->override = false;
38588 					n->replace = true;
38589 					(yyval.node) = (Node*)n;
38590 				}
38591 #line 38592 "gram.c" /* yacc.c:1652  */
38592     break;
38593 
38594   case 1508:
38595 #line 10423 "gram.y" /* yacc.c:1652  */
38596     {
38597 					AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
38598 					n->kind = ALTER_TSCONFIG_DROP_MAPPING;
38599 					n->cfgname = (yyvsp[-4].list);
38600 					n->tokentype = (yyvsp[0].list);
38601 					n->missing_ok = false;
38602 					(yyval.node) = (Node*)n;
38603 				}
38604 #line 38605 "gram.c" /* yacc.c:1652  */
38605     break;
38606 
38607   case 1509:
38608 #line 10432 "gram.y" /* yacc.c:1652  */
38609     {
38610 					AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
38611 					n->kind = ALTER_TSCONFIG_DROP_MAPPING;
38612 					n->cfgname = (yyvsp[-6].list);
38613 					n->tokentype = (yyvsp[0].list);
38614 					n->missing_ok = true;
38615 					(yyval.node) = (Node*)n;
38616 				}
38617 #line 38618 "gram.c" /* yacc.c:1652  */
38618     break;
38619 
38620   case 1510:
38621 #line 10443 "gram.y" /* yacc.c:1652  */
38622     {}
38623 #line 38624 "gram.c" /* yacc.c:1652  */
38624     break;
38625 
38626   case 1511:
38627 #line 10444 "gram.y" /* yacc.c:1652  */
38628     {}
38629 #line 38630 "gram.c" /* yacc.c:1652  */
38630     break;
38631 
38632   case 1512:
38633 #line 10460 "gram.y" /* yacc.c:1652  */
38634     {
38635 				CreateConversionStmt *n = makeNode(CreateConversionStmt);
38636 				n->conversion_name = (yyvsp[-6].list);
38637 				n->for_encoding_name = (yyvsp[-4].str);
38638 				n->to_encoding_name = (yyvsp[-2].str);
38639 				n->func_name = (yyvsp[0].list);
38640 				n->def = (yyvsp[-8].boolean);
38641 				(yyval.node) = (Node *)n;
38642 			}
38643 #line 38644 "gram.c" /* yacc.c:1652  */
38644     break;
38645 
38646   case 1513:
38647 #line 10482 "gram.y" /* yacc.c:1652  */
38648     {
38649 					ClusterStmt *n = makeNode(ClusterStmt);
38650 					n->relation = (yyvsp[-1].range);
38651 					n->indexname = (yyvsp[0].str);
38652 					n->verbose = (yyvsp[-2].boolean);
38653 					(yyval.node) = (Node*)n;
38654 				}
38655 #line 38656 "gram.c" /* yacc.c:1652  */
38656     break;
38657 
38658   case 1514:
38659 #line 10490 "gram.y" /* yacc.c:1652  */
38660     {
38661 					ClusterStmt *n = makeNode(ClusterStmt);
38662 					n->relation = NULL;
38663 					n->indexname = NULL;
38664 					n->verbose = (yyvsp[0].boolean);
38665 					(yyval.node) = (Node*)n;
38666 				}
38667 #line 38668 "gram.c" /* yacc.c:1652  */
38668     break;
38669 
38670   case 1515:
38671 #line 10499 "gram.y" /* yacc.c:1652  */
38672     {
38673 					ClusterStmt *n = makeNode(ClusterStmt);
38674 					n->relation = (yyvsp[0].range);
38675 					n->indexname = (yyvsp[-2].str);
38676 					n->verbose = (yyvsp[-3].boolean);
38677 					(yyval.node) = (Node*)n;
38678 				}
38679 #line 38680 "gram.c" /* yacc.c:1652  */
38680     break;
38681 
38682   case 1516:
38683 #line 10509 "gram.y" /* yacc.c:1652  */
38684     { (yyval.str) = (yyvsp[0].str); }
38685 #line 38686 "gram.c" /* yacc.c:1652  */
38686     break;
38687 
38688   case 1517:
38689 #line 10510 "gram.y" /* yacc.c:1652  */
38690     { (yyval.str) = NULL; }
38691 #line 38692 "gram.c" /* yacc.c:1652  */
38692     break;
38693 
38694   case 1518:
38695 #line 10523 "gram.y" /* yacc.c:1652  */
38696     {
38697 					VacuumStmt *n = makeNode(VacuumStmt);
38698 					n->options = VACOPT_VACUUM;
38699 					if ((yyvsp[-4].boolean))
38700 						n->options |= VACOPT_FULL;
38701 					if ((yyvsp[-3].boolean))
38702 						n->options |= VACOPT_FREEZE;
38703 					if ((yyvsp[-2].boolean))
38704 						n->options |= VACOPT_VERBOSE;
38705 					if ((yyvsp[-1].boolean))
38706 						n->options |= VACOPT_ANALYZE;
38707 					n->rels = (yyvsp[0].list);
38708 					(yyval.node) = (Node *)n;
38709 				}
38710 #line 38711 "gram.c" /* yacc.c:1652  */
38711     break;
38712 
38713   case 1519:
38714 #line 10538 "gram.y" /* yacc.c:1652  */
38715     {
38716 					VacuumStmt *n = makeNode(VacuumStmt);
38717 					n->options = VACOPT_VACUUM | (yyvsp[-2].ival);
38718 					n->rels = (yyvsp[0].list);
38719 					(yyval.node) = (Node *) n;
38720 				}
38721 #line 38722 "gram.c" /* yacc.c:1652  */
38722     break;
38723 
38724   case 1520:
38725 #line 10547 "gram.y" /* yacc.c:1652  */
38726     { (yyval.ival) = (yyvsp[0].ival); }
38727 #line 38728 "gram.c" /* yacc.c:1652  */
38728     break;
38729 
38730   case 1521:
38731 #line 10548 "gram.y" /* yacc.c:1652  */
38732     { (yyval.ival) = (yyvsp[-2].ival) | (yyvsp[0].ival); }
38733 #line 38734 "gram.c" /* yacc.c:1652  */
38734     break;
38735 
38736   case 1522:
38737 #line 10552 "gram.y" /* yacc.c:1652  */
38738     { (yyval.ival) = VACOPT_ANALYZE; }
38739 #line 38740 "gram.c" /* yacc.c:1652  */
38740     break;
38741 
38742   case 1523:
38743 #line 10553 "gram.y" /* yacc.c:1652  */
38744     { (yyval.ival) = VACOPT_VERBOSE; }
38745 #line 38746 "gram.c" /* yacc.c:1652  */
38746     break;
38747 
38748   case 1524:
38749 #line 10554 "gram.y" /* yacc.c:1652  */
38750     { (yyval.ival) = VACOPT_FREEZE; }
38751 #line 38752 "gram.c" /* yacc.c:1652  */
38752     break;
38753 
38754   case 1525:
38755 #line 10555 "gram.y" /* yacc.c:1652  */
38756     { (yyval.ival) = VACOPT_FULL; }
38757 #line 38758 "gram.c" /* yacc.c:1652  */
38758     break;
38759 
38760   case 1526:
38761 #line 10557 "gram.y" /* yacc.c:1652  */
38762     {
38763 					if (strcmp((yyvsp[0].str), "disable_page_skipping") == 0)
38764 						(yyval.ival) = VACOPT_DISABLE_PAGE_SKIPPING;
38765 					else
38766 						ereport(ERROR,
38767 								(errcode(ERRCODE_SYNTAX_ERROR),
38768 							 errmsg("unrecognized VACUUM option \"%s\"", (yyvsp[0].str)),
38769 									 parser_errposition((yylsp[0]))));
38770 				}
38771 #line 38772 "gram.c" /* yacc.c:1652  */
38772     break;
38773 
38774   case 1527:
38775 #line 10569 "gram.y" /* yacc.c:1652  */
38776     {
38777 					VacuumStmt *n = makeNode(VacuumStmt);
38778 					n->options = VACOPT_ANALYZE;
38779 					if ((yyvsp[-1].boolean))
38780 						n->options |= VACOPT_VERBOSE;
38781 					n->rels = (yyvsp[0].list);
38782 					(yyval.node) = (Node *)n;
38783 				}
38784 #line 38785 "gram.c" /* yacc.c:1652  */
38785     break;
38786 
38787   case 1528:
38788 #line 10578 "gram.y" /* yacc.c:1652  */
38789     {
38790 					VacuumStmt *n = makeNode(VacuumStmt);
38791 					n->options = VACOPT_ANALYZE | (yyvsp[-2].ival);
38792 					n->rels = (yyvsp[0].list);
38793 					(yyval.node) = (Node *) n;
38794 				}
38795 #line 38796 "gram.c" /* yacc.c:1652  */
38796     break;
38797 
38798   case 1529:
38799 #line 10587 "gram.y" /* yacc.c:1652  */
38800     { (yyval.ival) = (yyvsp[0].ival); }
38801 #line 38802 "gram.c" /* yacc.c:1652  */
38802     break;
38803 
38804   case 1530:
38805 #line 10588 "gram.y" /* yacc.c:1652  */
38806     { (yyval.ival) = (yyvsp[-2].ival) | (yyvsp[0].ival); }
38807 #line 38808 "gram.c" /* yacc.c:1652  */
38808     break;
38809 
38810   case 1531:
38811 #line 10592 "gram.y" /* yacc.c:1652  */
38812     { (yyval.ival) = VACOPT_VERBOSE; }
38813 #line 38814 "gram.c" /* yacc.c:1652  */
38814     break;
38815 
38816   case 1532:
38817 #line 10596 "gram.y" /* yacc.c:1652  */
38818     {}
38819 #line 38820 "gram.c" /* yacc.c:1652  */
38820     break;
38821 
38822   case 1533:
38823 #line 10597 "gram.y" /* yacc.c:1652  */
38824     {}
38825 #line 38826 "gram.c" /* yacc.c:1652  */
38826     break;
38827 
38828   case 1534:
38829 #line 10601 "gram.y" /* yacc.c:1652  */
38830     { (yyval.boolean) = true; }
38831 #line 38832 "gram.c" /* yacc.c:1652  */
38832     break;
38833 
38834   case 1535:
38835 #line 10602 "gram.y" /* yacc.c:1652  */
38836     { (yyval.boolean) = false; }
38837 #line 38838 "gram.c" /* yacc.c:1652  */
38838     break;
38839 
38840   case 1536:
38841 #line 10606 "gram.y" /* yacc.c:1652  */
38842     { (yyval.boolean) = true; }
38843 #line 38844 "gram.c" /* yacc.c:1652  */
38844     break;
38845 
38846   case 1537:
38847 #line 10607 "gram.y" /* yacc.c:1652  */
38848     { (yyval.boolean) = false; }
38849 #line 38850 "gram.c" /* yacc.c:1652  */
38850     break;
38851 
38852   case 1538:
38853 #line 10610 "gram.y" /* yacc.c:1652  */
38854     { (yyval.boolean) = true; }
38855 #line 38856 "gram.c" /* yacc.c:1652  */
38856     break;
38857 
38858   case 1539:
38859 #line 10611 "gram.y" /* yacc.c:1652  */
38860     { (yyval.boolean) = false; }
38861 #line 38862 "gram.c" /* yacc.c:1652  */
38862     break;
38863 
38864   case 1540:
38865 #line 10614 "gram.y" /* yacc.c:1652  */
38866     { (yyval.boolean) = true; }
38867 #line 38868 "gram.c" /* yacc.c:1652  */
38868     break;
38869 
38870   case 1541:
38871 #line 10615 "gram.y" /* yacc.c:1652  */
38872     { (yyval.boolean) = false; }
38873 #line 38874 "gram.c" /* yacc.c:1652  */
38874     break;
38875 
38876   case 1542:
38877 #line 10619 "gram.y" /* yacc.c:1652  */
38878     { (yyval.list) = (yyvsp[-1].list); }
38879 #line 38880 "gram.c" /* yacc.c:1652  */
38880     break;
38881 
38882   case 1543:
38883 #line 10620 "gram.y" /* yacc.c:1652  */
38884     { (yyval.list) = NIL; }
38885 #line 38886 "gram.c" /* yacc.c:1652  */
38886     break;
38887 
38888   case 1544:
38889 #line 10625 "gram.y" /* yacc.c:1652  */
38890     {
38891 					(yyval.node) = (Node *) makeVacuumRelation((yyvsp[-1].range), InvalidOid, (yyvsp[0].list));
38892 				}
38893 #line 38894 "gram.c" /* yacc.c:1652  */
38894     break;
38895 
38896   case 1545:
38897 #line 10632 "gram.y" /* yacc.c:1652  */
38898     { (yyval.list) = list_make1((yyvsp[0].node)); }
38899 #line 38900 "gram.c" /* yacc.c:1652  */
38900     break;
38901 
38902   case 1546:
38903 #line 10634 "gram.y" /* yacc.c:1652  */
38904     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
38905 #line 38906 "gram.c" /* yacc.c:1652  */
38906     break;
38907 
38908   case 1547:
38909 #line 10638 "gram.y" /* yacc.c:1652  */
38910     { (yyval.list) = (yyvsp[0].list); }
38911 #line 38912 "gram.c" /* yacc.c:1652  */
38912     break;
38913 
38914   case 1548:
38915 #line 10639 "gram.y" /* yacc.c:1652  */
38916     { (yyval.list) = NIL; }
38917 #line 38918 "gram.c" /* yacc.c:1652  */
38918     break;
38919 
38920   case 1549:
38921 #line 10653 "gram.y" /* yacc.c:1652  */
38922     {
38923 					ExplainStmt *n = makeNode(ExplainStmt);
38924 					n->query = (yyvsp[0].node);
38925 					n->options = NIL;
38926 					(yyval.node) = (Node *) n;
38927 				}
38928 #line 38929 "gram.c" /* yacc.c:1652  */
38929     break;
38930 
38931   case 1550:
38932 #line 10660 "gram.y" /* yacc.c:1652  */
38933     {
38934 					ExplainStmt *n = makeNode(ExplainStmt);
38935 					n->query = (yyvsp[0].node);
38936 					n->options = list_make1(makeDefElem("analyze", NULL, (yylsp[-2])));
38937 					if ((yyvsp[-1].boolean))
38938 						n->options = lappend(n->options,
38939 											 makeDefElem("verbose", NULL, (yylsp[-1])));
38940 					(yyval.node) = (Node *) n;
38941 				}
38942 #line 38943 "gram.c" /* yacc.c:1652  */
38943     break;
38944 
38945   case 1551:
38946 #line 10670 "gram.y" /* yacc.c:1652  */
38947     {
38948 					ExplainStmt *n = makeNode(ExplainStmt);
38949 					n->query = (yyvsp[0].node);
38950 					n->options = list_make1(makeDefElem("verbose", NULL, (yylsp[-1])));
38951 					(yyval.node) = (Node *) n;
38952 				}
38953 #line 38954 "gram.c" /* yacc.c:1652  */
38954     break;
38955 
38956   case 1552:
38957 #line 10677 "gram.y" /* yacc.c:1652  */
38958     {
38959 					ExplainStmt *n = makeNode(ExplainStmt);
38960 					n->query = (yyvsp[0].node);
38961 					n->options = (yyvsp[-2].list);
38962 					(yyval.node) = (Node *) n;
38963 				}
38964 #line 38965 "gram.c" /* yacc.c:1652  */
38965     break;
38966 
38967   case 1562:
38968 #line 10699 "gram.y" /* yacc.c:1652  */
38969     {
38970 					(yyval.list) = list_make1((yyvsp[0].defelt));
38971 				}
38972 #line 38973 "gram.c" /* yacc.c:1652  */
38973     break;
38974 
38975   case 1563:
38976 #line 10703 "gram.y" /* yacc.c:1652  */
38977     {
38978 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
38979 				}
38980 #line 38981 "gram.c" /* yacc.c:1652  */
38981     break;
38982 
38983   case 1564:
38984 #line 10710 "gram.y" /* yacc.c:1652  */
38985     {
38986 					(yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1]));
38987 				}
38988 #line 38989 "gram.c" /* yacc.c:1652  */
38989     break;
38990 
38991   case 1565:
38992 #line 10716 "gram.y" /* yacc.c:1652  */
38993     { (yyval.str) = (yyvsp[0].str); }
38994 #line 38995 "gram.c" /* yacc.c:1652  */
38995     break;
38996 
38997   case 1566:
38998 #line 10717 "gram.y" /* yacc.c:1652  */
38999     { (yyval.str) = "analyze"; }
39000 #line 39001 "gram.c" /* yacc.c:1652  */
39001     break;
39002 
39003   case 1567:
39004 #line 10721 "gram.y" /* yacc.c:1652  */
39005     { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
39006 #line 39007 "gram.c" /* yacc.c:1652  */
39007     break;
39008 
39009   case 1568:
39010 #line 10722 "gram.y" /* yacc.c:1652  */
39011     { (yyval.node) = (Node *) (yyvsp[0].value); }
39012 #line 39013 "gram.c" /* yacc.c:1652  */
39013     break;
39014 
39015   case 1569:
39016 #line 10723 "gram.y" /* yacc.c:1652  */
39017     { (yyval.node) = NULL; }
39018 #line 39019 "gram.c" /* yacc.c:1652  */
39019     break;
39020 
39021   case 1570:
39022 #line 10734 "gram.y" /* yacc.c:1652  */
39023     {
39024 					PrepareStmt *n = makeNode(PrepareStmt);
39025 					n->name = (yyvsp[-3].str);
39026 					n->argtypes = (yyvsp[-2].list);
39027 					n->query = (yyvsp[0].node);
39028 					(yyval.node) = (Node *) n;
39029 				}
39030 #line 39031 "gram.c" /* yacc.c:1652  */
39031     break;
39032 
39033   case 1571:
39034 #line 10743 "gram.y" /* yacc.c:1652  */
39035     { (yyval.list) = (yyvsp[-1].list); }
39036 #line 39037 "gram.c" /* yacc.c:1652  */
39037     break;
39038 
39039   case 1572:
39040 #line 10744 "gram.y" /* yacc.c:1652  */
39041     { (yyval.list) = NIL; }
39042 #line 39043 "gram.c" /* yacc.c:1652  */
39043     break;
39044 
39045   case 1577:
39046 #line 10762 "gram.y" /* yacc.c:1652  */
39047     {
39048 					ExecuteStmt *n = makeNode(ExecuteStmt);
39049 					n->name = (yyvsp[-1].str);
39050 					n->params = (yyvsp[0].list);
39051 					(yyval.node) = (Node *) n;
39052 				}
39053 #line 39054 "gram.c" /* yacc.c:1652  */
39054     break;
39055 
39056   case 1578:
39057 #line 10770 "gram.y" /* yacc.c:1652  */
39058     {
39059 					CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
39060 					ExecuteStmt *n = makeNode(ExecuteStmt);
39061 					n->name = (yyvsp[-2].str);
39062 					n->params = (yyvsp[-1].list);
39063 					ctas->query = (Node *) n;
39064 					ctas->into = (yyvsp[-5].into);
39065 					ctas->relkind = OBJECT_TABLE;
39066 					ctas->is_select_into = false;
39067 					ctas->if_not_exists = false;
39068 					/* cram additional flags into the IntoClause */
39069 					(yyvsp[-5].into)->rel->relpersistence = (yyvsp[-7].ival);
39070 					(yyvsp[-5].into)->skipData = !((yyvsp[0].boolean));
39071 					(yyval.node) = (Node *) ctas;
39072 				}
39073 #line 39074 "gram.c" /* yacc.c:1652  */
39074     break;
39075 
39076   case 1579:
39077 #line 10787 "gram.y" /* yacc.c:1652  */
39078     {
39079 					CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
39080 					ExecuteStmt *n = makeNode(ExecuteStmt);
39081 					n->name = (yyvsp[-2].str);
39082 					n->params = (yyvsp[-1].list);
39083 					ctas->query = (Node *) n;
39084 					ctas->into = (yyvsp[-5].into);
39085 					ctas->relkind = OBJECT_TABLE;
39086 					ctas->is_select_into = false;
39087 					ctas->if_not_exists = true;
39088 					/* cram additional flags into the IntoClause */
39089 					(yyvsp[-5].into)->rel->relpersistence = (yyvsp[-10].ival);
39090 					(yyvsp[-5].into)->skipData = !((yyvsp[0].boolean));
39091 					(yyval.node) = (Node *) ctas;
39092 				}
39093 #line 39094 "gram.c" /* yacc.c:1652  */
39094     break;
39095 
39096   case 1580:
39097 #line 10804 "gram.y" /* yacc.c:1652  */
39098     { (yyval.list) = (yyvsp[-1].list); }
39099 #line 39100 "gram.c" /* yacc.c:1652  */
39100     break;
39101 
39102   case 1581:
39103 #line 10805 "gram.y" /* yacc.c:1652  */
39104     { (yyval.list) = NIL; }
39105 #line 39106 "gram.c" /* yacc.c:1652  */
39106     break;
39107 
39108   case 1582:
39109 #line 10816 "gram.y" /* yacc.c:1652  */
39110     {
39111 						DeallocateStmt *n = makeNode(DeallocateStmt);
39112 						n->name = (yyvsp[0].str);
39113 						(yyval.node) = (Node *) n;
39114 					}
39115 #line 39116 "gram.c" /* yacc.c:1652  */
39116     break;
39117 
39118   case 1583:
39119 #line 10822 "gram.y" /* yacc.c:1652  */
39120     {
39121 						DeallocateStmt *n = makeNode(DeallocateStmt);
39122 						n->name = (yyvsp[0].str);
39123 						(yyval.node) = (Node *) n;
39124 					}
39125 #line 39126 "gram.c" /* yacc.c:1652  */
39126     break;
39127 
39128   case 1584:
39129 #line 10828 "gram.y" /* yacc.c:1652  */
39130     {
39131 						DeallocateStmt *n = makeNode(DeallocateStmt);
39132 						n->name = NULL;
39133 						(yyval.node) = (Node *) n;
39134 					}
39135 #line 39136 "gram.c" /* yacc.c:1652  */
39136     break;
39137 
39138   case 1585:
39139 #line 10834 "gram.y" /* yacc.c:1652  */
39140     {
39141 						DeallocateStmt *n = makeNode(DeallocateStmt);
39142 						n->name = NULL;
39143 						(yyval.node) = (Node *) n;
39144 					}
39145 #line 39146 "gram.c" /* yacc.c:1652  */
39146     break;
39147 
39148   case 1586:
39149 #line 10851 "gram.y" /* yacc.c:1652  */
39150     {
39151 					(yyvsp[-2].istmt)->relation = (yyvsp[-3].range);
39152 					(yyvsp[-2].istmt)->onConflictClause = (yyvsp[-1].onconflict);
39153 					(yyvsp[-2].istmt)->returningList = (yyvsp[0].list);
39154 					(yyvsp[-2].istmt)->withClause = (yyvsp[-6].with);
39155 					(yyval.node) = (Node *) (yyvsp[-2].istmt);
39156 				}
39157 #line 39158 "gram.c" /* yacc.c:1652  */
39158     break;
39159 
39160   case 1587:
39161 #line 10868 "gram.y" /* yacc.c:1652  */
39162     {
39163 					(yyval.range) = (yyvsp[0].range);
39164 				}
39165 #line 39166 "gram.c" /* yacc.c:1652  */
39166     break;
39167 
39168   case 1588:
39169 #line 10872 "gram.y" /* yacc.c:1652  */
39170     {
39171 					(yyvsp[-2].range)->alias = makeAlias((yyvsp[0].str), NIL);
39172 					(yyval.range) = (yyvsp[-2].range);
39173 				}
39174 #line 39175 "gram.c" /* yacc.c:1652  */
39175     break;
39176 
39177   case 1589:
39178 #line 10880 "gram.y" /* yacc.c:1652  */
39179     {
39180 					(yyval.istmt) = makeNode(InsertStmt);
39181 					(yyval.istmt)->cols = NIL;
39182 					(yyval.istmt)->selectStmt = (yyvsp[0].node);
39183 				}
39184 #line 39185 "gram.c" /* yacc.c:1652  */
39185     break;
39186 
39187   case 1590:
39188 #line 10886 "gram.y" /* yacc.c:1652  */
39189     {
39190 					(yyval.istmt) = makeNode(InsertStmt);
39191 					(yyval.istmt)->cols = NIL;
39192 					(yyval.istmt)->override = (yyvsp[-2].ival);
39193 					(yyval.istmt)->selectStmt = (yyvsp[0].node);
39194 				}
39195 #line 39196 "gram.c" /* yacc.c:1652  */
39196     break;
39197 
39198   case 1591:
39199 #line 10893 "gram.y" /* yacc.c:1652  */
39200     {
39201 					(yyval.istmt) = makeNode(InsertStmt);
39202 					(yyval.istmt)->cols = (yyvsp[-2].list);
39203 					(yyval.istmt)->selectStmt = (yyvsp[0].node);
39204 				}
39205 #line 39206 "gram.c" /* yacc.c:1652  */
39206     break;
39207 
39208   case 1592:
39209 #line 10899 "gram.y" /* yacc.c:1652  */
39210     {
39211 					(yyval.istmt) = makeNode(InsertStmt);
39212 					(yyval.istmt)->cols = (yyvsp[-5].list);
39213 					(yyval.istmt)->override = (yyvsp[-2].ival);
39214 					(yyval.istmt)->selectStmt = (yyvsp[0].node);
39215 				}
39216 #line 39217 "gram.c" /* yacc.c:1652  */
39217     break;
39218 
39219   case 1593:
39220 #line 10906 "gram.y" /* yacc.c:1652  */
39221     {
39222 					(yyval.istmt) = makeNode(InsertStmt);
39223 					(yyval.istmt)->cols = NIL;
39224 					(yyval.istmt)->selectStmt = NULL;
39225 				}
39226 #line 39227 "gram.c" /* yacc.c:1652  */
39227     break;
39228 
39229   case 1594:
39230 #line 10914 "gram.y" /* yacc.c:1652  */
39231     { (yyval.ival) = OVERRIDING_USER_VALUE; }
39232 #line 39233 "gram.c" /* yacc.c:1652  */
39233     break;
39234 
39235   case 1595:
39236 #line 10915 "gram.y" /* yacc.c:1652  */
39237     { (yyval.ival) = OVERRIDING_SYSTEM_VALUE; }
39238 #line 39239 "gram.c" /* yacc.c:1652  */
39239     break;
39240 
39241   case 1596:
39242 #line 10920 "gram.y" /* yacc.c:1652  */
39243     { (yyval.list) = list_make1((yyvsp[0].target)); }
39244 #line 39245 "gram.c" /* yacc.c:1652  */
39245     break;
39246 
39247   case 1597:
39248 #line 10922 "gram.y" /* yacc.c:1652  */
39249     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
39250 #line 39251 "gram.c" /* yacc.c:1652  */
39251     break;
39252 
39253   case 1598:
39254 #line 10927 "gram.y" /* yacc.c:1652  */
39255     {
39256 					(yyval.target) = makeNode(ResTarget);
39257 					(yyval.target)->name = (yyvsp[-1].str);
39258 					(yyval.target)->indirection = check_indirection((yyvsp[0].list), yyscanner);
39259 					(yyval.target)->val = NULL;
39260 					(yyval.target)->location = (yylsp[-1]);
39261 				}
39262 #line 39263 "gram.c" /* yacc.c:1652  */
39263     break;
39264 
39265   case 1599:
39266 #line 10938 "gram.y" /* yacc.c:1652  */
39267     {
39268 					(yyval.onconflict) = makeNode(OnConflictClause);
39269 					(yyval.onconflict)->action = ONCONFLICT_UPDATE;
39270 					(yyval.onconflict)->infer = (yyvsp[-5].infer);
39271 					(yyval.onconflict)->targetList = (yyvsp[-1].list);
39272 					(yyval.onconflict)->whereClause = (yyvsp[0].node);
39273 					(yyval.onconflict)->location = (yylsp[-7]);
39274 				}
39275 #line 39276 "gram.c" /* yacc.c:1652  */
39276     break;
39277 
39278   case 1600:
39279 #line 10948 "gram.y" /* yacc.c:1652  */
39280     {
39281 					(yyval.onconflict) = makeNode(OnConflictClause);
39282 					(yyval.onconflict)->action = ONCONFLICT_NOTHING;
39283 					(yyval.onconflict)->infer = (yyvsp[-2].infer);
39284 					(yyval.onconflict)->targetList = NIL;
39285 					(yyval.onconflict)->whereClause = NULL;
39286 					(yyval.onconflict)->location = (yylsp[-4]);
39287 				}
39288 #line 39289 "gram.c" /* yacc.c:1652  */
39289     break;
39290 
39291   case 1601:
39292 #line 10957 "gram.y" /* yacc.c:1652  */
39293     {
39294 					(yyval.onconflict) = NULL;
39295 				}
39296 #line 39297 "gram.c" /* yacc.c:1652  */
39297     break;
39298 
39299   case 1602:
39300 #line 10964 "gram.y" /* yacc.c:1652  */
39301     {
39302 					(yyval.infer) = makeNode(InferClause);
39303 					(yyval.infer)->indexElems = (yyvsp[-2].list);
39304 					(yyval.infer)->whereClause = (yyvsp[0].node);
39305 					(yyval.infer)->conname = NULL;
39306 					(yyval.infer)->location = (yylsp[-3]);
39307 				}
39308 #line 39309 "gram.c" /* yacc.c:1652  */
39309     break;
39310 
39311   case 1603:
39312 #line 10973 "gram.y" /* yacc.c:1652  */
39313     {
39314 					(yyval.infer) = makeNode(InferClause);
39315 					(yyval.infer)->indexElems = NIL;
39316 					(yyval.infer)->whereClause = NULL;
39317 					(yyval.infer)->conname = (yyvsp[0].str);
39318 					(yyval.infer)->location = (yylsp[-2]);
39319 				}
39320 #line 39321 "gram.c" /* yacc.c:1652  */
39321     break;
39322 
39323   case 1604:
39324 #line 10981 "gram.y" /* yacc.c:1652  */
39325     {
39326 					(yyval.infer) = NULL;
39327 				}
39328 #line 39329 "gram.c" /* yacc.c:1652  */
39329     break;
39330 
39331   case 1605:
39332 #line 10987 "gram.y" /* yacc.c:1652  */
39333     { (yyval.list) = (yyvsp[0].list); }
39334 #line 39335 "gram.c" /* yacc.c:1652  */
39335     break;
39336 
39337   case 1606:
39338 #line 10988 "gram.y" /* yacc.c:1652  */
39339     { (yyval.list) = NIL; }
39340 #line 39341 "gram.c" /* yacc.c:1652  */
39341     break;
39342 
39343   case 1607:
39344 #line 11001 "gram.y" /* yacc.c:1652  */
39345     {
39346 					DeleteStmt *n = makeNode(DeleteStmt);
39347 					n->relation = (yyvsp[-3].range);
39348 					n->usingClause = (yyvsp[-2].list);
39349 					n->whereClause = (yyvsp[-1].node);
39350 					n->returningList = (yyvsp[0].list);
39351 					n->withClause = (yyvsp[-6].with);
39352 					(yyval.node) = (Node *)n;
39353 				}
39354 #line 39355 "gram.c" /* yacc.c:1652  */
39355     break;
39356 
39357   case 1608:
39358 #line 11013 "gram.y" /* yacc.c:1652  */
39359     { (yyval.list) = (yyvsp[0].list); }
39360 #line 39361 "gram.c" /* yacc.c:1652  */
39361     break;
39362 
39363   case 1609:
39364 #line 11014 "gram.y" /* yacc.c:1652  */
39365     { (yyval.list) = NIL; }
39366 #line 39367 "gram.c" /* yacc.c:1652  */
39367     break;
39368 
39369   case 1610:
39370 #line 11026 "gram.y" /* yacc.c:1652  */
39371     {
39372 					LockStmt *n = makeNode(LockStmt);
39373 
39374 					n->relations = (yyvsp[-2].list);
39375 					n->mode = (yyvsp[-1].ival);
39376 					n->nowait = (yyvsp[0].boolean);
39377 					(yyval.node) = (Node *)n;
39378 				}
39379 #line 39380 "gram.c" /* yacc.c:1652  */
39380     break;
39381 
39382   case 1611:
39383 #line 11036 "gram.y" /* yacc.c:1652  */
39384     { (yyval.ival) = (yyvsp[-1].ival); }
39385 #line 39386 "gram.c" /* yacc.c:1652  */
39386     break;
39387 
39388   case 1612:
39389 #line 11037 "gram.y" /* yacc.c:1652  */
39390     { (yyval.ival) = AccessExclusiveLock; }
39391 #line 39392 "gram.c" /* yacc.c:1652  */
39392     break;
39393 
39394   case 1613:
39395 #line 11040 "gram.y" /* yacc.c:1652  */
39396     { (yyval.ival) = AccessShareLock; }
39397 #line 39398 "gram.c" /* yacc.c:1652  */
39398     break;
39399 
39400   case 1614:
39401 #line 11041 "gram.y" /* yacc.c:1652  */
39402     { (yyval.ival) = RowShareLock; }
39403 #line 39404 "gram.c" /* yacc.c:1652  */
39404     break;
39405 
39406   case 1615:
39407 #line 11042 "gram.y" /* yacc.c:1652  */
39408     { (yyval.ival) = RowExclusiveLock; }
39409 #line 39410 "gram.c" /* yacc.c:1652  */
39410     break;
39411 
39412   case 1616:
39413 #line 11043 "gram.y" /* yacc.c:1652  */
39414     { (yyval.ival) = ShareUpdateExclusiveLock; }
39415 #line 39416 "gram.c" /* yacc.c:1652  */
39416     break;
39417 
39418   case 1617:
39419 #line 11044 "gram.y" /* yacc.c:1652  */
39420     { (yyval.ival) = ShareLock; }
39421 #line 39422 "gram.c" /* yacc.c:1652  */
39422     break;
39423 
39424   case 1618:
39425 #line 11045 "gram.y" /* yacc.c:1652  */
39426     { (yyval.ival) = ShareRowExclusiveLock; }
39427 #line 39428 "gram.c" /* yacc.c:1652  */
39428     break;
39429 
39430   case 1619:
39431 #line 11046 "gram.y" /* yacc.c:1652  */
39432     { (yyval.ival) = ExclusiveLock; }
39433 #line 39434 "gram.c" /* yacc.c:1652  */
39434     break;
39435 
39436   case 1620:
39437 #line 11047 "gram.y" /* yacc.c:1652  */
39438     { (yyval.ival) = AccessExclusiveLock; }
39439 #line 39440 "gram.c" /* yacc.c:1652  */
39440     break;
39441 
39442   case 1621:
39443 #line 11050 "gram.y" /* yacc.c:1652  */
39444     { (yyval.boolean) = true; }
39445 #line 39446 "gram.c" /* yacc.c:1652  */
39446     break;
39447 
39448   case 1622:
39449 #line 11051 "gram.y" /* yacc.c:1652  */
39450     { (yyval.boolean) = false; }
39451 #line 39452 "gram.c" /* yacc.c:1652  */
39452     break;
39453 
39454   case 1623:
39455 #line 11055 "gram.y" /* yacc.c:1652  */
39456     { (yyval.ival) = LockWaitError; }
39457 #line 39458 "gram.c" /* yacc.c:1652  */
39458     break;
39459 
39460   case 1624:
39461 #line 11056 "gram.y" /* yacc.c:1652  */
39462     { (yyval.ival) = LockWaitSkip; }
39463 #line 39464 "gram.c" /* yacc.c:1652  */
39464     break;
39465 
39466   case 1625:
39467 #line 11057 "gram.y" /* yacc.c:1652  */
39468     { (yyval.ival) = LockWaitBlock; }
39469 #line 39470 "gram.c" /* yacc.c:1652  */
39470     break;
39471 
39472   case 1626:
39473 #line 11073 "gram.y" /* yacc.c:1652  */
39474     {
39475 					UpdateStmt *n = makeNode(UpdateStmt);
39476 					n->relation = (yyvsp[-5].range);
39477 					n->targetList = (yyvsp[-3].list);
39478 					n->fromClause = (yyvsp[-2].list);
39479 					n->whereClause = (yyvsp[-1].node);
39480 					n->returningList = (yyvsp[0].list);
39481 					n->withClause = (yyvsp[-7].with);
39482 					(yyval.node) = (Node *)n;
39483 				}
39484 #line 39485 "gram.c" /* yacc.c:1652  */
39485     break;
39486 
39487   case 1627:
39488 #line 11086 "gram.y" /* yacc.c:1652  */
39489     { (yyval.list) = (yyvsp[0].list); }
39490 #line 39491 "gram.c" /* yacc.c:1652  */
39491     break;
39492 
39493   case 1628:
39494 #line 11087 "gram.y" /* yacc.c:1652  */
39495     { (yyval.list) = list_concat((yyvsp[-2].list),(yyvsp[0].list)); }
39496 #line 39497 "gram.c" /* yacc.c:1652  */
39497     break;
39498 
39499   case 1629:
39500 #line 11092 "gram.y" /* yacc.c:1652  */
39501     {
39502 					(yyvsp[-2].target)->val = (Node *) (yyvsp[0].node);
39503 					(yyval.list) = list_make1((yyvsp[-2].target));
39504 				}
39505 #line 39506 "gram.c" /* yacc.c:1652  */
39506     break;
39507 
39508   case 1630:
39509 #line 11097 "gram.y" /* yacc.c:1652  */
39510     {
39511 					int ncolumns = list_length((yyvsp[-3].list));
39512 					int i = 1;
39513 					ListCell *col_cell;
39514 
39515 					/* Create a MultiAssignRef source for each target */
39516 					foreach(col_cell, (yyvsp[-3].list))
39517 					{
39518 						ResTarget *res_col = (ResTarget *) lfirst(col_cell);
39519 						MultiAssignRef *r = makeNode(MultiAssignRef);
39520 
39521 						r->source = (Node *) (yyvsp[0].node);
39522 						r->colno = i;
39523 						r->ncolumns = ncolumns;
39524 						res_col->val = (Node *) r;
39525 						i++;
39526 					}
39527 
39528 					(yyval.list) = (yyvsp[-3].list);
39529 				}
39530 #line 39531 "gram.c" /* yacc.c:1652  */
39531     break;
39532 
39533   case 1631:
39534 #line 11121 "gram.y" /* yacc.c:1652  */
39535     {
39536 					(yyval.target) = makeNode(ResTarget);
39537 					(yyval.target)->name = (yyvsp[-1].str);
39538 					(yyval.target)->indirection = check_indirection((yyvsp[0].list), yyscanner);
39539 					(yyval.target)->val = NULL;	/* upper production sets this */
39540 					(yyval.target)->location = (yylsp[-1]);
39541 				}
39542 #line 39543 "gram.c" /* yacc.c:1652  */
39543     break;
39544 
39545   case 1632:
39546 #line 11131 "gram.y" /* yacc.c:1652  */
39547     { (yyval.list) = list_make1((yyvsp[0].target)); }
39548 #line 39549 "gram.c" /* yacc.c:1652  */
39549     break;
39550 
39551   case 1633:
39552 #line 11132 "gram.y" /* yacc.c:1652  */
39553     { (yyval.list) = lappend((yyvsp[-2].list),(yyvsp[0].target)); }
39554 #line 39555 "gram.c" /* yacc.c:1652  */
39555     break;
39556 
39557   case 1634:
39558 #line 11143 "gram.y" /* yacc.c:1652  */
39559     {
39560 					DeclareCursorStmt *n = makeNode(DeclareCursorStmt);
39561 					n->portalname = (yyvsp[-5].str);
39562 					/* currently we always set FAST_PLAN option */
39563 					n->options = (yyvsp[-4].ival) | (yyvsp[-2].ival) | CURSOR_OPT_FAST_PLAN;
39564 					n->query = (yyvsp[0].node);
39565 					(yyval.node) = (Node *)n;
39566 				}
39567 #line 39568 "gram.c" /* yacc.c:1652  */
39568     break;
39569 
39570   case 1635:
39571 #line 11153 "gram.y" /* yacc.c:1652  */
39572     { (yyval.str) = (yyvsp[0].str); }
39573 #line 39574 "gram.c" /* yacc.c:1652  */
39574     break;
39575 
39576   case 1636:
39577 #line 11156 "gram.y" /* yacc.c:1652  */
39578     { (yyval.ival) = 0; }
39579 #line 39580 "gram.c" /* yacc.c:1652  */
39580     break;
39581 
39582   case 1637:
39583 #line 11157 "gram.y" /* yacc.c:1652  */
39584     { (yyval.ival) = (yyvsp[-2].ival) | CURSOR_OPT_NO_SCROLL; }
39585 #line 39586 "gram.c" /* yacc.c:1652  */
39586     break;
39587 
39588   case 1638:
39589 #line 11158 "gram.y" /* yacc.c:1652  */
39590     { (yyval.ival) = (yyvsp[-1].ival) | CURSOR_OPT_SCROLL; }
39591 #line 39592 "gram.c" /* yacc.c:1652  */
39592     break;
39593 
39594   case 1639:
39595 #line 11159 "gram.y" /* yacc.c:1652  */
39596     { (yyval.ival) = (yyvsp[-1].ival) | CURSOR_OPT_BINARY; }
39597 #line 39598 "gram.c" /* yacc.c:1652  */
39598     break;
39599 
39600   case 1640:
39601 #line 11160 "gram.y" /* yacc.c:1652  */
39602     { (yyval.ival) = (yyvsp[-1].ival) | CURSOR_OPT_INSENSITIVE; }
39603 #line 39604 "gram.c" /* yacc.c:1652  */
39604     break;
39605 
39606   case 1641:
39607 #line 11163 "gram.y" /* yacc.c:1652  */
39608     { (yyval.ival) = 0; }
39609 #line 39610 "gram.c" /* yacc.c:1652  */
39610     break;
39611 
39612   case 1642:
39613 #line 11164 "gram.y" /* yacc.c:1652  */
39614     { (yyval.ival) = CURSOR_OPT_HOLD; }
39615 #line 39616 "gram.c" /* yacc.c:1652  */
39616     break;
39617 
39618   case 1643:
39619 #line 11165 "gram.y" /* yacc.c:1652  */
39620     { (yyval.ival) = 0; }
39621 #line 39622 "gram.c" /* yacc.c:1652  */
39622     break;
39623 
39624   case 1646:
39625 #line 11218 "gram.y" /* yacc.c:1652  */
39626     { (yyval.node) = (yyvsp[-1].node); }
39627 #line 39628 "gram.c" /* yacc.c:1652  */
39628     break;
39629 
39630   case 1647:
39631 #line 11219 "gram.y" /* yacc.c:1652  */
39632     { (yyval.node) = (yyvsp[-1].node); }
39633 #line 39634 "gram.c" /* yacc.c:1652  */
39634     break;
39635 
39636   case 1648:
39637 #line 11234 "gram.y" /* yacc.c:1652  */
39638     { (yyval.node) = (yyvsp[0].node); }
39639 #line 39640 "gram.c" /* yacc.c:1652  */
39640     break;
39641 
39642   case 1649:
39643 #line 11236 "gram.y" /* yacc.c:1652  */
39644     {
39645 					insertSelectOptions((SelectStmt *) (yyvsp[-1].node), (yyvsp[0].list), NIL,
39646 										NULL, NULL, NULL,
39647 										yyscanner);
39648 					(yyval.node) = (yyvsp[-1].node);
39649 				}
39650 #line 39651 "gram.c" /* yacc.c:1652  */
39651     break;
39652 
39653   case 1650:
39654 #line 11243 "gram.y" /* yacc.c:1652  */
39655     {
39656 					insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[-1].list),
39657 										list_nth((yyvsp[0].list), 0), list_nth((yyvsp[0].list), 1),
39658 										NULL,
39659 										yyscanner);
39660 					(yyval.node) = (yyvsp[-3].node);
39661 				}
39662 #line 39663 "gram.c" /* yacc.c:1652  */
39663     break;
39664 
39665   case 1651:
39666 #line 11251 "gram.y" /* yacc.c:1652  */
39667     {
39668 					insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[0].list),
39669 										list_nth((yyvsp[-1].list), 0), list_nth((yyvsp[-1].list), 1),
39670 										NULL,
39671 										yyscanner);
39672 					(yyval.node) = (yyvsp[-3].node);
39673 				}
39674 #line 39675 "gram.c" /* yacc.c:1652  */
39675     break;
39676 
39677   case 1652:
39678 #line 11259 "gram.y" /* yacc.c:1652  */
39679     {
39680 					insertSelectOptions((SelectStmt *) (yyvsp[0].node), NULL, NIL,
39681 										NULL, NULL,
39682 										(yyvsp[-1].with),
39683 										yyscanner);
39684 					(yyval.node) = (yyvsp[0].node);
39685 				}
39686 #line 39687 "gram.c" /* yacc.c:1652  */
39687     break;
39688 
39689   case 1653:
39690 #line 11267 "gram.y" /* yacc.c:1652  */
39691     {
39692 					insertSelectOptions((SelectStmt *) (yyvsp[-1].node), (yyvsp[0].list), NIL,
39693 										NULL, NULL,
39694 										(yyvsp[-2].with),
39695 										yyscanner);
39696 					(yyval.node) = (yyvsp[-1].node);
39697 				}
39698 #line 39699 "gram.c" /* yacc.c:1652  */
39699     break;
39700 
39701   case 1654:
39702 #line 11275 "gram.y" /* yacc.c:1652  */
39703     {
39704 					insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[-1].list),
39705 										list_nth((yyvsp[0].list), 0), list_nth((yyvsp[0].list), 1),
39706 										(yyvsp[-4].with),
39707 										yyscanner);
39708 					(yyval.node) = (yyvsp[-3].node);
39709 				}
39710 #line 39711 "gram.c" /* yacc.c:1652  */
39711     break;
39712 
39713   case 1655:
39714 #line 11283 "gram.y" /* yacc.c:1652  */
39715     {
39716 					insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[0].list),
39717 										list_nth((yyvsp[-1].list), 0), list_nth((yyvsp[-1].list), 1),
39718 										(yyvsp[-4].with),
39719 										yyscanner);
39720 					(yyval.node) = (yyvsp[-3].node);
39721 				}
39722 #line 39723 "gram.c" /* yacc.c:1652  */
39723     break;
39724 
39725   case 1656:
39726 #line 11293 "gram.y" /* yacc.c:1652  */
39727     { (yyval.node) = (yyvsp[0].node); }
39728 #line 39729 "gram.c" /* yacc.c:1652  */
39729     break;
39730 
39731   case 1657:
39732 #line 11294 "gram.y" /* yacc.c:1652  */
39733     { (yyval.node) = (yyvsp[0].node); }
39734 #line 39735 "gram.c" /* yacc.c:1652  */
39735     break;
39736 
39737   case 1658:
39738 #line 11324 "gram.y" /* yacc.c:1652  */
39739     {
39740 					SelectStmt *n = makeNode(SelectStmt);
39741 					n->targetList = (yyvsp[-6].list);
39742 					n->intoClause = (yyvsp[-5].into);
39743 					n->fromClause = (yyvsp[-4].list);
39744 					n->whereClause = (yyvsp[-3].node);
39745 					n->groupClause = (yyvsp[-2].list);
39746 					n->havingClause = (yyvsp[-1].node);
39747 					n->windowClause = (yyvsp[0].list);
39748 					(yyval.node) = (Node *)n;
39749 				}
39750 #line 39751 "gram.c" /* yacc.c:1652  */
39751     break;
39752 
39753   case 1659:
39754 #line 11338 "gram.y" /* yacc.c:1652  */
39755     {
39756 					SelectStmt *n = makeNode(SelectStmt);
39757 					n->distinctClause = (yyvsp[-7].list);
39758 					n->targetList = (yyvsp[-6].list);
39759 					n->intoClause = (yyvsp[-5].into);
39760 					n->fromClause = (yyvsp[-4].list);
39761 					n->whereClause = (yyvsp[-3].node);
39762 					n->groupClause = (yyvsp[-2].list);
39763 					n->havingClause = (yyvsp[-1].node);
39764 					n->windowClause = (yyvsp[0].list);
39765 					(yyval.node) = (Node *)n;
39766 				}
39767 #line 39768 "gram.c" /* yacc.c:1652  */
39768     break;
39769 
39770   case 1660:
39771 #line 11350 "gram.y" /* yacc.c:1652  */
39772     { (yyval.node) = (yyvsp[0].node); }
39773 #line 39774 "gram.c" /* yacc.c:1652  */
39774     break;
39775 
39776   case 1661:
39777 #line 11352 "gram.y" /* yacc.c:1652  */
39778     {
39779 					/* same as SELECT * FROM relation_expr */
39780 					ColumnRef *cr = makeNode(ColumnRef);
39781 					ResTarget *rt = makeNode(ResTarget);
39782 					SelectStmt *n = makeNode(SelectStmt);
39783 
39784 					cr->fields = list_make1(makeNode(A_Star));
39785 					cr->location = -1;
39786 
39787 					rt->name = NULL;
39788 					rt->indirection = NIL;
39789 					rt->val = (Node *)cr;
39790 					rt->location = -1;
39791 
39792 					n->targetList = list_make1(rt);
39793 					n->fromClause = list_make1((yyvsp[0].range));
39794 					(yyval.node) = (Node *)n;
39795 				}
39796 #line 39797 "gram.c" /* yacc.c:1652  */
39797     break;
39798 
39799   case 1662:
39800 #line 11371 "gram.y" /* yacc.c:1652  */
39801     {
39802 					(yyval.node) = makeSetOp(SETOP_UNION, (yyvsp[-1].boolean), (yyvsp[-3].node), (yyvsp[0].node));
39803 				}
39804 #line 39805 "gram.c" /* yacc.c:1652  */
39805     break;
39806 
39807   case 1663:
39808 #line 11375 "gram.y" /* yacc.c:1652  */
39809     {
39810 					(yyval.node) = makeSetOp(SETOP_INTERSECT, (yyvsp[-1].boolean), (yyvsp[-3].node), (yyvsp[0].node));
39811 				}
39812 #line 39813 "gram.c" /* yacc.c:1652  */
39813     break;
39814 
39815   case 1664:
39816 #line 11379 "gram.y" /* yacc.c:1652  */
39817     {
39818 					(yyval.node) = makeSetOp(SETOP_EXCEPT, (yyvsp[-1].boolean), (yyvsp[-3].node), (yyvsp[0].node));
39819 				}
39820 #line 39821 "gram.c" /* yacc.c:1652  */
39821     break;
39822 
39823   case 1665:
39824 #line 11396 "gram.y" /* yacc.c:1652  */
39825     {
39826 				(yyval.with) = makeNode(WithClause);
39827 				(yyval.with)->ctes = (yyvsp[0].list);
39828 				(yyval.with)->recursive = false;
39829 				(yyval.with)->location = (yylsp[-1]);
39830 			}
39831 #line 39832 "gram.c" /* yacc.c:1652  */
39832     break;
39833 
39834   case 1666:
39835 #line 11403 "gram.y" /* yacc.c:1652  */
39836     {
39837 				(yyval.with) = makeNode(WithClause);
39838 				(yyval.with)->ctes = (yyvsp[0].list);
39839 				(yyval.with)->recursive = false;
39840 				(yyval.with)->location = (yylsp[-1]);
39841 			}
39842 #line 39843 "gram.c" /* yacc.c:1652  */
39843     break;
39844 
39845   case 1667:
39846 #line 11410 "gram.y" /* yacc.c:1652  */
39847     {
39848 				(yyval.with) = makeNode(WithClause);
39849 				(yyval.with)->ctes = (yyvsp[0].list);
39850 				(yyval.with)->recursive = true;
39851 				(yyval.with)->location = (yylsp[-2]);
39852 			}
39853 #line 39854 "gram.c" /* yacc.c:1652  */
39854     break;
39855 
39856   case 1668:
39857 #line 11419 "gram.y" /* yacc.c:1652  */
39858     { (yyval.list) = list_make1((yyvsp[0].node)); }
39859 #line 39860 "gram.c" /* yacc.c:1652  */
39860     break;
39861 
39862   case 1669:
39863 #line 11420 "gram.y" /* yacc.c:1652  */
39864     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
39865 #line 39866 "gram.c" /* yacc.c:1652  */
39866     break;
39867 
39868   case 1670:
39869 #line 11424 "gram.y" /* yacc.c:1652  */
39870     {
39871 				CommonTableExpr *n = makeNode(CommonTableExpr);
39872 				n->ctename = (yyvsp[-5].str);
39873 				n->aliascolnames = (yyvsp[-4].list);
39874 				n->ctequery = (yyvsp[-1].node);
39875 				n->location = (yylsp[-5]);
39876 				(yyval.node) = (Node *) n;
39877 			}
39878 #line 39879 "gram.c" /* yacc.c:1652  */
39879     break;
39880 
39881   case 1671:
39882 #line 11435 "gram.y" /* yacc.c:1652  */
39883     { (yyval.with) = (yyvsp[0].with); }
39884 #line 39885 "gram.c" /* yacc.c:1652  */
39885     break;
39886 
39887   case 1672:
39888 #line 11436 "gram.y" /* yacc.c:1652  */
39889     { (yyval.with) = NULL; }
39890 #line 39891 "gram.c" /* yacc.c:1652  */
39891     break;
39892 
39893   case 1673:
39894 #line 11441 "gram.y" /* yacc.c:1652  */
39895     {
39896 					(yyval.into) = makeNode(IntoClause);
39897 					(yyval.into)->rel = (yyvsp[0].range);
39898 					(yyval.into)->colNames = NIL;
39899 					(yyval.into)->options = NIL;
39900 					(yyval.into)->onCommit = ONCOMMIT_NOOP;
39901 					(yyval.into)->tableSpaceName = NULL;
39902 					(yyval.into)->viewQuery = NULL;
39903 					(yyval.into)->skipData = false;
39904 				}
39905 #line 39906 "gram.c" /* yacc.c:1652  */
39906     break;
39907 
39908   case 1674:
39909 #line 11452 "gram.y" /* yacc.c:1652  */
39910     { (yyval.into) = NULL; }
39911 #line 39912 "gram.c" /* yacc.c:1652  */
39912     break;
39913 
39914   case 1675:
39915 #line 11461 "gram.y" /* yacc.c:1652  */
39916     {
39917 					(yyval.range) = (yyvsp[0].range);
39918 					(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
39919 				}
39920 #line 39921 "gram.c" /* yacc.c:1652  */
39921     break;
39922 
39923   case 1676:
39924 #line 11466 "gram.y" /* yacc.c:1652  */
39925     {
39926 					(yyval.range) = (yyvsp[0].range);
39927 					(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
39928 				}
39929 #line 39930 "gram.c" /* yacc.c:1652  */
39930     break;
39931 
39932   case 1677:
39933 #line 11471 "gram.y" /* yacc.c:1652  */
39934     {
39935 					(yyval.range) = (yyvsp[0].range);
39936 					(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
39937 				}
39938 #line 39939 "gram.c" /* yacc.c:1652  */
39939     break;
39940 
39941   case 1678:
39942 #line 11476 "gram.y" /* yacc.c:1652  */
39943     {
39944 					(yyval.range) = (yyvsp[0].range);
39945 					(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
39946 				}
39947 #line 39948 "gram.c" /* yacc.c:1652  */
39948     break;
39949 
39950   case 1679:
39951 #line 11481 "gram.y" /* yacc.c:1652  */
39952     {
39953 					ereport(WARNING,
39954 							(errmsg("GLOBAL is deprecated in temporary table creation"),
39955 							 parser_errposition((yylsp[-3]))));
39956 					(yyval.range) = (yyvsp[0].range);
39957 					(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
39958 				}
39959 #line 39960 "gram.c" /* yacc.c:1652  */
39960     break;
39961 
39962   case 1680:
39963 #line 11489 "gram.y" /* yacc.c:1652  */
39964     {
39965 					ereport(WARNING,
39966 							(errmsg("GLOBAL is deprecated in temporary table creation"),
39967 							 parser_errposition((yylsp[-3]))));
39968 					(yyval.range) = (yyvsp[0].range);
39969 					(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
39970 				}
39971 #line 39972 "gram.c" /* yacc.c:1652  */
39972     break;
39973 
39974   case 1681:
39975 #line 11497 "gram.y" /* yacc.c:1652  */
39976     {
39977 					(yyval.range) = (yyvsp[0].range);
39978 					(yyval.range)->relpersistence = RELPERSISTENCE_UNLOGGED;
39979 				}
39980 #line 39981 "gram.c" /* yacc.c:1652  */
39981     break;
39982 
39983   case 1682:
39984 #line 11502 "gram.y" /* yacc.c:1652  */
39985     {
39986 					(yyval.range) = (yyvsp[0].range);
39987 					(yyval.range)->relpersistence = RELPERSISTENCE_PERMANENT;
39988 				}
39989 #line 39990 "gram.c" /* yacc.c:1652  */
39990     break;
39991 
39992   case 1683:
39993 #line 11507 "gram.y" /* yacc.c:1652  */
39994     {
39995 					(yyval.range) = (yyvsp[0].range);
39996 					(yyval.range)->relpersistence = RELPERSISTENCE_PERMANENT;
39997 				}
39998 #line 39999 "gram.c" /* yacc.c:1652  */
39999     break;
40000 
40001   case 1684:
40002 #line 11513 "gram.y" /* yacc.c:1652  */
40003     {}
40004 #line 40005 "gram.c" /* yacc.c:1652  */
40005     break;
40006 
40007   case 1685:
40008 #line 11514 "gram.y" /* yacc.c:1652  */
40009     {}
40010 #line 40011 "gram.c" /* yacc.c:1652  */
40011     break;
40012 
40013   case 1686:
40014 #line 11518 "gram.y" /* yacc.c:1652  */
40015     { (yyval.boolean) = true; }
40016 #line 40017 "gram.c" /* yacc.c:1652  */
40017     break;
40018 
40019   case 1687:
40020 #line 11519 "gram.y" /* yacc.c:1652  */
40021     { (yyval.boolean) = false; }
40022 #line 40023 "gram.c" /* yacc.c:1652  */
40023     break;
40024 
40025   case 1688:
40026 #line 11520 "gram.y" /* yacc.c:1652  */
40027     { (yyval.boolean) = false; }
40028 #line 40029 "gram.c" /* yacc.c:1652  */
40029     break;
40030 
40031   case 1689:
40032 #line 11527 "gram.y" /* yacc.c:1652  */
40033     { (yyval.list) = list_make1(NIL); }
40034 #line 40035 "gram.c" /* yacc.c:1652  */
40035     break;
40036 
40037   case 1690:
40038 #line 11528 "gram.y" /* yacc.c:1652  */
40039     { (yyval.list) = (yyvsp[-1].list); }
40040 #line 40041 "gram.c" /* yacc.c:1652  */
40041     break;
40042 
40043   case 1691:
40044 #line 11532 "gram.y" /* yacc.c:1652  */
40045     { (yyval.list) = NIL;}
40046 #line 40047 "gram.c" /* yacc.c:1652  */
40047     break;
40048 
40049   case 1692:
40050 #line 11533 "gram.y" /* yacc.c:1652  */
40051     { (yyval.list) = NIL; }
40052 #line 40053 "gram.c" /* yacc.c:1652  */
40053     break;
40054 
40055   case 1693:
40056 #line 11537 "gram.y" /* yacc.c:1652  */
40057     { (yyval.list) = (yyvsp[0].list);}
40058 #line 40059 "gram.c" /* yacc.c:1652  */
40059     break;
40060 
40061   case 1694:
40062 #line 11538 "gram.y" /* yacc.c:1652  */
40063     { (yyval.list) = NIL; }
40064 #line 40065 "gram.c" /* yacc.c:1652  */
40065     break;
40066 
40067   case 1695:
40068 #line 11542 "gram.y" /* yacc.c:1652  */
40069     { (yyval.list) = (yyvsp[0].list); }
40070 #line 40071 "gram.c" /* yacc.c:1652  */
40071     break;
40072 
40073   case 1696:
40074 #line 11546 "gram.y" /* yacc.c:1652  */
40075     { (yyval.list) = list_make1((yyvsp[0].sortby)); }
40076 #line 40077 "gram.c" /* yacc.c:1652  */
40077     break;
40078 
40079   case 1697:
40080 #line 11547 "gram.y" /* yacc.c:1652  */
40081     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].sortby)); }
40082 #line 40083 "gram.c" /* yacc.c:1652  */
40083     break;
40084 
40085   case 1698:
40086 #line 11551 "gram.y" /* yacc.c:1652  */
40087     {
40088 					(yyval.sortby) = makeNode(SortBy);
40089 					(yyval.sortby)->node = (yyvsp[-3].node);
40090 					(yyval.sortby)->sortby_dir = SORTBY_USING;
40091 					(yyval.sortby)->sortby_nulls = (yyvsp[0].ival);
40092 					(yyval.sortby)->useOp = (yyvsp[-1].list);
40093 					(yyval.sortby)->location = (yylsp[-1]);
40094 				}
40095 #line 40096 "gram.c" /* yacc.c:1652  */
40096     break;
40097 
40098   case 1699:
40099 #line 11560 "gram.y" /* yacc.c:1652  */
40100     {
40101 					(yyval.sortby) = makeNode(SortBy);
40102 					(yyval.sortby)->node = (yyvsp[-2].node);
40103 					(yyval.sortby)->sortby_dir = (yyvsp[-1].ival);
40104 					(yyval.sortby)->sortby_nulls = (yyvsp[0].ival);
40105 					(yyval.sortby)->useOp = NIL;
40106 					(yyval.sortby)->location = -1;		/* no operator */
40107 				}
40108 #line 40109 "gram.c" /* yacc.c:1652  */
40109     break;
40110 
40111   case 1700:
40112 #line 11572 "gram.y" /* yacc.c:1652  */
40113     { (yyval.list) = list_make2((yyvsp[0].node), (yyvsp[-1].node)); }
40114 #line 40115 "gram.c" /* yacc.c:1652  */
40115     break;
40116 
40117   case 1701:
40118 #line 11573 "gram.y" /* yacc.c:1652  */
40119     { (yyval.list) = list_make2((yyvsp[-1].node), (yyvsp[0].node)); }
40120 #line 40121 "gram.c" /* yacc.c:1652  */
40121     break;
40122 
40123   case 1702:
40124 #line 11574 "gram.y" /* yacc.c:1652  */
40125     { (yyval.list) = list_make2(NULL, (yyvsp[0].node)); }
40126 #line 40127 "gram.c" /* yacc.c:1652  */
40127     break;
40128 
40129   case 1703:
40130 #line 11575 "gram.y" /* yacc.c:1652  */
40131     { (yyval.list) = list_make2((yyvsp[0].node), NULL); }
40132 #line 40133 "gram.c" /* yacc.c:1652  */
40133     break;
40134 
40135   case 1704:
40136 #line 11579 "gram.y" /* yacc.c:1652  */
40137     { (yyval.list) = (yyvsp[0].list); }
40138 #line 40139 "gram.c" /* yacc.c:1652  */
40139     break;
40140 
40141   case 1705:
40142 #line 11580 "gram.y" /* yacc.c:1652  */
40143     { (yyval.list) = list_make2(NULL,NULL); }
40144 #line 40145 "gram.c" /* yacc.c:1652  */
40145     break;
40146 
40147   case 1706:
40148 #line 11585 "gram.y" /* yacc.c:1652  */
40149     { (yyval.node) = (yyvsp[0].node); }
40150 #line 40151 "gram.c" /* yacc.c:1652  */
40151     break;
40152 
40153   case 1707:
40154 #line 11587 "gram.y" /* yacc.c:1652  */
40155     {
40156 					/* Disabled because it was too confusing, bjm 2002-02-18 */
40157 					ereport(ERROR,
40158 							(errcode(ERRCODE_SYNTAX_ERROR),
40159 							 errmsg("LIMIT #,# syntax is not supported"),
40160 							 errhint("Use separate LIMIT and OFFSET clauses."),
40161 							 parser_errposition((yylsp[-3]))));
40162 				}
40163 #line 40164 "gram.c" /* yacc.c:1652  */
40164     break;
40165 
40166   case 1708:
40167 #line 11603 "gram.y" /* yacc.c:1652  */
40168     { (yyval.node) = (yyvsp[-2].node); }
40169 #line 40170 "gram.c" /* yacc.c:1652  */
40170     break;
40171 
40172   case 1709:
40173 #line 11605 "gram.y" /* yacc.c:1652  */
40174     { (yyval.node) = makeIntConst(1, -1); }
40175 #line 40176 "gram.c" /* yacc.c:1652  */
40176     break;
40177 
40178   case 1710:
40179 #line 11610 "gram.y" /* yacc.c:1652  */
40180     { (yyval.node) = (yyvsp[0].node); }
40181 #line 40182 "gram.c" /* yacc.c:1652  */
40182     break;
40183 
40184   case 1711:
40185 #line 11613 "gram.y" /* yacc.c:1652  */
40186     { (yyval.node) = (yyvsp[-1].node); }
40187 #line 40188 "gram.c" /* yacc.c:1652  */
40188     break;
40189 
40190   case 1712:
40191 #line 11617 "gram.y" /* yacc.c:1652  */
40192     { (yyval.node) = (yyvsp[0].node); }
40193 #line 40194 "gram.c" /* yacc.c:1652  */
40194     break;
40195 
40196   case 1713:
40197 #line 11619 "gram.y" /* yacc.c:1652  */
40198     {
40199 					/* LIMIT ALL is represented as a NULL constant */
40200 					(yyval.node) = makeNullAConst((yylsp[0]));
40201 				}
40202 #line 40203 "gram.c" /* yacc.c:1652  */
40203     break;
40204 
40205   case 1714:
40206 #line 11626 "gram.y" /* yacc.c:1652  */
40207     { (yyval.node) = (yyvsp[0].node); }
40208 #line 40209 "gram.c" /* yacc.c:1652  */
40209     break;
40210 
40211   case 1715:
40212 #line 11646 "gram.y" /* yacc.c:1652  */
40213     { (yyval.node) = (yyvsp[0].node); }
40214 #line 40215 "gram.c" /* yacc.c:1652  */
40215     break;
40216 
40217   case 1716:
40218 #line 11648 "gram.y" /* yacc.c:1652  */
40219     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[0].node), (yylsp[-1])); }
40220 #line 40221 "gram.c" /* yacc.c:1652  */
40221     break;
40222 
40223   case 1717:
40224 #line 11650 "gram.y" /* yacc.c:1652  */
40225     { (yyval.node) = doNegate((yyvsp[0].node), (yylsp[-1])); }
40226 #line 40227 "gram.c" /* yacc.c:1652  */
40227     break;
40228 
40229   case 1718:
40230 #line 11654 "gram.y" /* yacc.c:1652  */
40231     { (yyval.node) = makeIntConst((yyvsp[0].ival),(yylsp[0])); }
40232 #line 40233 "gram.c" /* yacc.c:1652  */
40233     break;
40234 
40235   case 1719:
40236 #line 11655 "gram.y" /* yacc.c:1652  */
40237     { (yyval.node) = makeFloatConst((yyvsp[0].str),(yylsp[0])); }
40238 #line 40239 "gram.c" /* yacc.c:1652  */
40239     break;
40240 
40241   case 1720:
40242 #line 11659 "gram.y" /* yacc.c:1652  */
40243     { (yyval.ival) = 0; }
40244 #line 40245 "gram.c" /* yacc.c:1652  */
40245     break;
40246 
40247   case 1721:
40248 #line 11660 "gram.y" /* yacc.c:1652  */
40249     { (yyval.ival) = 0; }
40250 #line 40251 "gram.c" /* yacc.c:1652  */
40251     break;
40252 
40253   case 1722:
40254 #line 11663 "gram.y" /* yacc.c:1652  */
40255     { (yyval.ival) = 0; }
40256 #line 40257 "gram.c" /* yacc.c:1652  */
40257     break;
40258 
40259   case 1723:
40260 #line 11664 "gram.y" /* yacc.c:1652  */
40261     { (yyval.ival) = 0; }
40262 #line 40263 "gram.c" /* yacc.c:1652  */
40263     break;
40264 
40265   case 1724:
40266 #line 11689 "gram.y" /* yacc.c:1652  */
40267     { (yyval.list) = (yyvsp[0].list); }
40268 #line 40269 "gram.c" /* yacc.c:1652  */
40269     break;
40270 
40271   case 1725:
40272 #line 11690 "gram.y" /* yacc.c:1652  */
40273     { (yyval.list) = NIL; }
40274 #line 40275 "gram.c" /* yacc.c:1652  */
40275     break;
40276 
40277   case 1726:
40278 #line 11694 "gram.y" /* yacc.c:1652  */
40279     { (yyval.list) = list_make1((yyvsp[0].node)); }
40280 #line 40281 "gram.c" /* yacc.c:1652  */
40281     break;
40282 
40283   case 1727:
40284 #line 11695 "gram.y" /* yacc.c:1652  */
40285     { (yyval.list) = lappend((yyvsp[-2].list),(yyvsp[0].node)); }
40286 #line 40287 "gram.c" /* yacc.c:1652  */
40287     break;
40288 
40289   case 1728:
40290 #line 11699 "gram.y" /* yacc.c:1652  */
40291     { (yyval.node) = (yyvsp[0].node); }
40292 #line 40293 "gram.c" /* yacc.c:1652  */
40293     break;
40294 
40295   case 1729:
40296 #line 11700 "gram.y" /* yacc.c:1652  */
40297     { (yyval.node) = (yyvsp[0].node); }
40298 #line 40299 "gram.c" /* yacc.c:1652  */
40299     break;
40300 
40301   case 1730:
40302 #line 11701 "gram.y" /* yacc.c:1652  */
40303     { (yyval.node) = (yyvsp[0].node); }
40304 #line 40305 "gram.c" /* yacc.c:1652  */
40305     break;
40306 
40307   case 1731:
40308 #line 11702 "gram.y" /* yacc.c:1652  */
40309     { (yyval.node) = (yyvsp[0].node); }
40310 #line 40311 "gram.c" /* yacc.c:1652  */
40311     break;
40312 
40313   case 1732:
40314 #line 11703 "gram.y" /* yacc.c:1652  */
40315     { (yyval.node) = (yyvsp[0].node); }
40316 #line 40317 "gram.c" /* yacc.c:1652  */
40317     break;
40318 
40319   case 1733:
40320 #line 11708 "gram.y" /* yacc.c:1652  */
40321     {
40322 					(yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_EMPTY, NIL, (yylsp[-1]));
40323 				}
40324 #line 40325 "gram.c" /* yacc.c:1652  */
40325     break;
40326 
40327   case 1734:
40328 #line 11721 "gram.y" /* yacc.c:1652  */
40329     {
40330 					(yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_ROLLUP, (yyvsp[-1].list), (yylsp[-3]));
40331 				}
40332 #line 40333 "gram.c" /* yacc.c:1652  */
40333     break;
40334 
40335   case 1735:
40336 #line 11728 "gram.y" /* yacc.c:1652  */
40337     {
40338 					(yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_CUBE, (yyvsp[-1].list), (yylsp[-3]));
40339 				}
40340 #line 40341 "gram.c" /* yacc.c:1652  */
40341     break;
40342 
40343   case 1736:
40344 #line 11735 "gram.y" /* yacc.c:1652  */
40345     {
40346 					(yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_SETS, (yyvsp[-1].list), (yylsp[-4]));
40347 				}
40348 #line 40349 "gram.c" /* yacc.c:1652  */
40349     break;
40350 
40351   case 1737:
40352 #line 11741 "gram.y" /* yacc.c:1652  */
40353     { (yyval.node) = (yyvsp[0].node); }
40354 #line 40355 "gram.c" /* yacc.c:1652  */
40355     break;
40356 
40357   case 1738:
40358 #line 11742 "gram.y" /* yacc.c:1652  */
40359     { (yyval.node) = NULL; }
40360 #line 40361 "gram.c" /* yacc.c:1652  */
40361     break;
40362 
40363   case 1739:
40364 #line 11746 "gram.y" /* yacc.c:1652  */
40365     { (yyval.list) = (yyvsp[0].list); }
40366 #line 40367 "gram.c" /* yacc.c:1652  */
40367     break;
40368 
40369   case 1740:
40370 #line 11747 "gram.y" /* yacc.c:1652  */
40371     { (yyval.list) = NIL; }
40372 #line 40373 "gram.c" /* yacc.c:1652  */
40373     break;
40374 
40375   case 1741:
40376 #line 11751 "gram.y" /* yacc.c:1652  */
40377     { (yyval.list) = (yyvsp[0].list); }
40378 #line 40379 "gram.c" /* yacc.c:1652  */
40379     break;
40380 
40381   case 1742:
40382 #line 11752 "gram.y" /* yacc.c:1652  */
40383     { (yyval.list) = NIL; }
40384 #line 40385 "gram.c" /* yacc.c:1652  */
40385     break;
40386 
40387   case 1743:
40388 #line 11756 "gram.y" /* yacc.c:1652  */
40389     { (yyval.list) = list_make1((yyvsp[0].node)); }
40390 #line 40391 "gram.c" /* yacc.c:1652  */
40391     break;
40392 
40393   case 1744:
40394 #line 11757 "gram.y" /* yacc.c:1652  */
40395     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
40396 #line 40397 "gram.c" /* yacc.c:1652  */
40397     break;
40398 
40399   case 1745:
40400 #line 11762 "gram.y" /* yacc.c:1652  */
40401     {
40402 					LockingClause *n = makeNode(LockingClause);
40403 					n->lockedRels = (yyvsp[-1].list);
40404 					n->strength = (yyvsp[-2].ival);
40405 					n->waitPolicy = (yyvsp[0].ival);
40406 					(yyval.node) = (Node *) n;
40407 				}
40408 #line 40409 "gram.c" /* yacc.c:1652  */
40409     break;
40410 
40411   case 1746:
40412 #line 11772 "gram.y" /* yacc.c:1652  */
40413     { (yyval.ival) = LCS_FORUPDATE; }
40414 #line 40415 "gram.c" /* yacc.c:1652  */
40415     break;
40416 
40417   case 1747:
40418 #line 11773 "gram.y" /* yacc.c:1652  */
40419     { (yyval.ival) = LCS_FORNOKEYUPDATE; }
40420 #line 40421 "gram.c" /* yacc.c:1652  */
40421     break;
40422 
40423   case 1748:
40424 #line 11774 "gram.y" /* yacc.c:1652  */
40425     { (yyval.ival) = LCS_FORSHARE; }
40426 #line 40427 "gram.c" /* yacc.c:1652  */
40427     break;
40428 
40429   case 1749:
40430 #line 11775 "gram.y" /* yacc.c:1652  */
40431     { (yyval.ival) = LCS_FORKEYSHARE; }
40432 #line 40433 "gram.c" /* yacc.c:1652  */
40433     break;
40434 
40435   case 1750:
40436 #line 11779 "gram.y" /* yacc.c:1652  */
40437     { (yyval.list) = (yyvsp[0].list); }
40438 #line 40439 "gram.c" /* yacc.c:1652  */
40439     break;
40440 
40441   case 1751:
40442 #line 11780 "gram.y" /* yacc.c:1652  */
40443     { (yyval.list) = NIL; }
40444 #line 40445 "gram.c" /* yacc.c:1652  */
40445     break;
40446 
40447   case 1752:
40448 #line 11791 "gram.y" /* yacc.c:1652  */
40449     {
40450 					SelectStmt *n = makeNode(SelectStmt);
40451 					n->valuesLists = list_make1((yyvsp[-1].list));
40452 					(yyval.node) = (Node *) n;
40453 				}
40454 #line 40455 "gram.c" /* yacc.c:1652  */
40455     break;
40456 
40457   case 1753:
40458 #line 11797 "gram.y" /* yacc.c:1652  */
40459     {
40460 					SelectStmt *n = (SelectStmt *) (yyvsp[-4].node);
40461 					n->valuesLists = lappend(n->valuesLists, (yyvsp[-1].list));
40462 					(yyval.node) = (Node *) n;
40463 				}
40464 #line 40465 "gram.c" /* yacc.c:1652  */
40465     break;
40466 
40467   case 1754:
40468 #line 11814 "gram.y" /* yacc.c:1652  */
40469     { (yyval.list) = (yyvsp[0].list); }
40470 #line 40471 "gram.c" /* yacc.c:1652  */
40471     break;
40472 
40473   case 1755:
40474 #line 11815 "gram.y" /* yacc.c:1652  */
40475     { (yyval.list) = NIL; }
40476 #line 40477 "gram.c" /* yacc.c:1652  */
40477     break;
40478 
40479   case 1756:
40480 #line 11819 "gram.y" /* yacc.c:1652  */
40481     { (yyval.list) = list_make1((yyvsp[0].node)); }
40482 #line 40483 "gram.c" /* yacc.c:1652  */
40483     break;
40484 
40485   case 1757:
40486 #line 11820 "gram.y" /* yacc.c:1652  */
40487     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
40488 #line 40489 "gram.c" /* yacc.c:1652  */
40489     break;
40490 
40491   case 1758:
40492 #line 11827 "gram.y" /* yacc.c:1652  */
40493     {
40494 					(yyvsp[-1].range)->alias = (yyvsp[0].alias);
40495 					(yyval.node) = (Node *) (yyvsp[-1].range);
40496 				}
40497 #line 40498 "gram.c" /* yacc.c:1652  */
40498     break;
40499 
40500   case 1759:
40501 #line 11832 "gram.y" /* yacc.c:1652  */
40502     {
40503 					RangeTableSample *n = (RangeTableSample *) (yyvsp[0].node);
40504 					(yyvsp[-2].range)->alias = (yyvsp[-1].alias);
40505 					/* relation_expr goes inside the RangeTableSample node */
40506 					n->relation = (Node *) (yyvsp[-2].range);
40507 					(yyval.node) = (Node *) n;
40508 				}
40509 #line 40510 "gram.c" /* yacc.c:1652  */
40510     break;
40511 
40512   case 1760:
40513 #line 11840 "gram.y" /* yacc.c:1652  */
40514     {
40515 					RangeFunction *n = (RangeFunction *) (yyvsp[-1].node);
40516 					n->alias = linitial((yyvsp[0].list));
40517 					n->coldeflist = lsecond((yyvsp[0].list));
40518 					(yyval.node) = (Node *) n;
40519 				}
40520 #line 40521 "gram.c" /* yacc.c:1652  */
40521     break;
40522 
40523   case 1761:
40524 #line 11847 "gram.y" /* yacc.c:1652  */
40525     {
40526 					RangeFunction *n = (RangeFunction *) (yyvsp[-1].node);
40527 					n->lateral = true;
40528 					n->alias = linitial((yyvsp[0].list));
40529 					n->coldeflist = lsecond((yyvsp[0].list));
40530 					(yyval.node) = (Node *) n;
40531 				}
40532 #line 40533 "gram.c" /* yacc.c:1652  */
40533     break;
40534 
40535   case 1762:
40536 #line 11855 "gram.y" /* yacc.c:1652  */
40537     {
40538 					RangeTableFunc *n = (RangeTableFunc *) (yyvsp[-1].node);
40539 					n->alias = (yyvsp[0].alias);
40540 					(yyval.node) = (Node *) n;
40541 				}
40542 #line 40543 "gram.c" /* yacc.c:1652  */
40543     break;
40544 
40545   case 1763:
40546 #line 11861 "gram.y" /* yacc.c:1652  */
40547     {
40548 					RangeTableFunc *n = (RangeTableFunc *) (yyvsp[-1].node);
40549 					n->lateral = true;
40550 					n->alias = (yyvsp[0].alias);
40551 					(yyval.node) = (Node *) n;
40552 				}
40553 #line 40554 "gram.c" /* yacc.c:1652  */
40554     break;
40555 
40556   case 1764:
40557 #line 11868 "gram.y" /* yacc.c:1652  */
40558     {
40559 					RangeSubselect *n = makeNode(RangeSubselect);
40560 					n->lateral = false;
40561 					n->subquery = (yyvsp[-1].node);
40562 					n->alias = (yyvsp[0].alias);
40563 					/*
40564 					 * The SQL spec does not permit a subselect
40565 					 * (<derived_table>) without an alias clause,
40566 					 * so we don't either.  This avoids the problem
40567 					 * of needing to invent a unique refname for it.
40568 					 * That could be surmounted if there's sufficient
40569 					 * popular demand, but for now let's just implement
40570 					 * the spec and see if anyone complains.
40571 					 * However, it does seem like a good idea to emit
40572 					 * an error message that's better than "syntax error".
40573 					 */
40574 					if ((yyvsp[0].alias) == NULL)
40575 					{
40576 						if (IsA((yyvsp[-1].node), SelectStmt) &&
40577 							((SelectStmt *) (yyvsp[-1].node))->valuesLists)
40578 							ereport(ERROR,
40579 									(errcode(ERRCODE_SYNTAX_ERROR),
40580 									 errmsg("VALUES in FROM must have an alias"),
40581 									 errhint("For example, FROM (VALUES ...) [AS] foo."),
40582 									 parser_errposition((yylsp[-1]))));
40583 						else
40584 							ereport(ERROR,
40585 									(errcode(ERRCODE_SYNTAX_ERROR),
40586 									 errmsg("subquery in FROM must have an alias"),
40587 									 errhint("For example, FROM (SELECT ...) [AS] foo."),
40588 									 parser_errposition((yylsp[-1]))));
40589 					}
40590 					(yyval.node) = (Node *) n;
40591 				}
40592 #line 40593 "gram.c" /* yacc.c:1652  */
40593     break;
40594 
40595   case 1765:
40596 #line 11903 "gram.y" /* yacc.c:1652  */
40597     {
40598 					RangeSubselect *n = makeNode(RangeSubselect);
40599 					n->lateral = true;
40600 					n->subquery = (yyvsp[-1].node);
40601 					n->alias = (yyvsp[0].alias);
40602 					/* same comment as above */
40603 					if ((yyvsp[0].alias) == NULL)
40604 					{
40605 						if (IsA((yyvsp[-1].node), SelectStmt) &&
40606 							((SelectStmt *) (yyvsp[-1].node))->valuesLists)
40607 							ereport(ERROR,
40608 									(errcode(ERRCODE_SYNTAX_ERROR),
40609 									 errmsg("VALUES in FROM must have an alias"),
40610 									 errhint("For example, FROM (VALUES ...) [AS] foo."),
40611 									 parser_errposition((yylsp[-1]))));
40612 						else
40613 							ereport(ERROR,
40614 									(errcode(ERRCODE_SYNTAX_ERROR),
40615 									 errmsg("subquery in FROM must have an alias"),
40616 									 errhint("For example, FROM (SELECT ...) [AS] foo."),
40617 									 parser_errposition((yylsp[-1]))));
40618 					}
40619 					(yyval.node) = (Node *) n;
40620 				}
40621 #line 40622 "gram.c" /* yacc.c:1652  */
40622     break;
40623 
40624   case 1766:
40625 #line 11928 "gram.y" /* yacc.c:1652  */
40626     {
40627 					(yyval.node) = (Node *) (yyvsp[0].jexpr);
40628 				}
40629 #line 40630 "gram.c" /* yacc.c:1652  */
40630     break;
40631 
40632   case 1767:
40633 #line 11932 "gram.y" /* yacc.c:1652  */
40634     {
40635 					(yyvsp[-2].jexpr)->alias = (yyvsp[0].alias);
40636 					(yyval.node) = (Node *) (yyvsp[-2].jexpr);
40637 				}
40638 #line 40639 "gram.c" /* yacc.c:1652  */
40639     break;
40640 
40641   case 1768:
40642 #line 11958 "gram.y" /* yacc.c:1652  */
40643     {
40644 					(yyval.jexpr) = (yyvsp[-1].jexpr);
40645 				}
40646 #line 40647 "gram.c" /* yacc.c:1652  */
40647     break;
40648 
40649   case 1769:
40650 #line 11962 "gram.y" /* yacc.c:1652  */
40651     {
40652 					/* CROSS JOIN is same as unqualified inner join */
40653 					JoinExpr *n = makeNode(JoinExpr);
40654 					n->jointype = JOIN_INNER;
40655 					n->isNatural = false;
40656 					n->larg = (yyvsp[-3].node);
40657 					n->rarg = (yyvsp[0].node);
40658 					n->usingClause = NIL;
40659 					n->quals = NULL;
40660 					(yyval.jexpr) = n;
40661 				}
40662 #line 40663 "gram.c" /* yacc.c:1652  */
40663     break;
40664 
40665   case 1770:
40666 #line 11974 "gram.y" /* yacc.c:1652  */
40667     {
40668 					JoinExpr *n = makeNode(JoinExpr);
40669 					n->jointype = (yyvsp[-3].jtype);
40670 					n->isNatural = false;
40671 					n->larg = (yyvsp[-4].node);
40672 					n->rarg = (yyvsp[-1].node);
40673 					if ((yyvsp[0].node) != NULL && IsA((yyvsp[0].node), List))
40674 						n->usingClause = (List *) (yyvsp[0].node); /* USING clause */
40675 					else
40676 						n->quals = (yyvsp[0].node); /* ON clause */
40677 					(yyval.jexpr) = n;
40678 				}
40679 #line 40680 "gram.c" /* yacc.c:1652  */
40680     break;
40681 
40682   case 1771:
40683 #line 11987 "gram.y" /* yacc.c:1652  */
40684     {
40685 					/* letting join_type reduce to empty doesn't work */
40686 					JoinExpr *n = makeNode(JoinExpr);
40687 					n->jointype = JOIN_INNER;
40688 					n->isNatural = false;
40689 					n->larg = (yyvsp[-3].node);
40690 					n->rarg = (yyvsp[-1].node);
40691 					if ((yyvsp[0].node) != NULL && IsA((yyvsp[0].node), List))
40692 						n->usingClause = (List *) (yyvsp[0].node); /* USING clause */
40693 					else
40694 						n->quals = (yyvsp[0].node); /* ON clause */
40695 					(yyval.jexpr) = n;
40696 				}
40697 #line 40698 "gram.c" /* yacc.c:1652  */
40698     break;
40699 
40700   case 1772:
40701 #line 12001 "gram.y" /* yacc.c:1652  */
40702     {
40703 					JoinExpr *n = makeNode(JoinExpr);
40704 					n->jointype = (yyvsp[-2].jtype);
40705 					n->isNatural = true;
40706 					n->larg = (yyvsp[-4].node);
40707 					n->rarg = (yyvsp[0].node);
40708 					n->usingClause = NIL; /* figure out which columns later... */
40709 					n->quals = NULL; /* fill later */
40710 					(yyval.jexpr) = n;
40711 				}
40712 #line 40713 "gram.c" /* yacc.c:1652  */
40713     break;
40714 
40715   case 1773:
40716 #line 12012 "gram.y" /* yacc.c:1652  */
40717     {
40718 					/* letting join_type reduce to empty doesn't work */
40719 					JoinExpr *n = makeNode(JoinExpr);
40720 					n->jointype = JOIN_INNER;
40721 					n->isNatural = true;
40722 					n->larg = (yyvsp[-3].node);
40723 					n->rarg = (yyvsp[0].node);
40724 					n->usingClause = NIL; /* figure out which columns later... */
40725 					n->quals = NULL; /* fill later */
40726 					(yyval.jexpr) = n;
40727 				}
40728 #line 40729 "gram.c" /* yacc.c:1652  */
40729     break;
40730 
40731   case 1774:
40732 #line 12027 "gram.y" /* yacc.c:1652  */
40733     {
40734 					(yyval.alias) = makeNode(Alias);
40735 					(yyval.alias)->aliasname = (yyvsp[-3].str);
40736 					(yyval.alias)->colnames = (yyvsp[-1].list);
40737 				}
40738 #line 40739 "gram.c" /* yacc.c:1652  */
40739     break;
40740 
40741   case 1775:
40742 #line 12033 "gram.y" /* yacc.c:1652  */
40743     {
40744 					(yyval.alias) = makeNode(Alias);
40745 					(yyval.alias)->aliasname = (yyvsp[0].str);
40746 				}
40747 #line 40748 "gram.c" /* yacc.c:1652  */
40748     break;
40749 
40750   case 1776:
40751 #line 12038 "gram.y" /* yacc.c:1652  */
40752     {
40753 					(yyval.alias) = makeNode(Alias);
40754 					(yyval.alias)->aliasname = (yyvsp[-3].str);
40755 					(yyval.alias)->colnames = (yyvsp[-1].list);
40756 				}
40757 #line 40758 "gram.c" /* yacc.c:1652  */
40758     break;
40759 
40760   case 1777:
40761 #line 12044 "gram.y" /* yacc.c:1652  */
40762     {
40763 					(yyval.alias) = makeNode(Alias);
40764 					(yyval.alias)->aliasname = (yyvsp[0].str);
40765 				}
40766 #line 40767 "gram.c" /* yacc.c:1652  */
40767     break;
40768 
40769   case 1778:
40770 #line 12050 "gram.y" /* yacc.c:1652  */
40771     { (yyval.alias) = (yyvsp[0].alias); }
40772 #line 40773 "gram.c" /* yacc.c:1652  */
40773     break;
40774 
40775   case 1779:
40776 #line 12051 "gram.y" /* yacc.c:1652  */
40777     { (yyval.alias) = NULL; }
40778 #line 40779 "gram.c" /* yacc.c:1652  */
40779     break;
40780 
40781   case 1780:
40782 #line 12060 "gram.y" /* yacc.c:1652  */
40783     {
40784 					(yyval.list) = list_make2((yyvsp[0].alias), NIL);
40785 				}
40786 #line 40787 "gram.c" /* yacc.c:1652  */
40787     break;
40788 
40789   case 1781:
40790 #line 12064 "gram.y" /* yacc.c:1652  */
40791     {
40792 					(yyval.list) = list_make2(NULL, (yyvsp[-1].list));
40793 				}
40794 #line 40795 "gram.c" /* yacc.c:1652  */
40795     break;
40796 
40797   case 1782:
40798 #line 12068 "gram.y" /* yacc.c:1652  */
40799     {
40800 					Alias *a = makeNode(Alias);
40801 					a->aliasname = (yyvsp[-3].str);
40802 					(yyval.list) = list_make2(a, (yyvsp[-1].list));
40803 				}
40804 #line 40805 "gram.c" /* yacc.c:1652  */
40805     break;
40806 
40807   case 1783:
40808 #line 12074 "gram.y" /* yacc.c:1652  */
40809     {
40810 					Alias *a = makeNode(Alias);
40811 					a->aliasname = (yyvsp[-3].str);
40812 					(yyval.list) = list_make2(a, (yyvsp[-1].list));
40813 				}
40814 #line 40815 "gram.c" /* yacc.c:1652  */
40815     break;
40816 
40817   case 1784:
40818 #line 12080 "gram.y" /* yacc.c:1652  */
40819     {
40820 					(yyval.list) = list_make2(NULL, NIL);
40821 				}
40822 #line 40823 "gram.c" /* yacc.c:1652  */
40823     break;
40824 
40825   case 1785:
40826 #line 12085 "gram.y" /* yacc.c:1652  */
40827     { (yyval.jtype) = JOIN_FULL; }
40828 #line 40829 "gram.c" /* yacc.c:1652  */
40829     break;
40830 
40831   case 1786:
40832 #line 12086 "gram.y" /* yacc.c:1652  */
40833     { (yyval.jtype) = JOIN_LEFT; }
40834 #line 40835 "gram.c" /* yacc.c:1652  */
40835     break;
40836 
40837   case 1787:
40838 #line 12087 "gram.y" /* yacc.c:1652  */
40839     { (yyval.jtype) = JOIN_RIGHT; }
40840 #line 40841 "gram.c" /* yacc.c:1652  */
40841     break;
40842 
40843   case 1788:
40844 #line 12088 "gram.y" /* yacc.c:1652  */
40845     { (yyval.jtype) = JOIN_INNER; }
40846 #line 40847 "gram.c" /* yacc.c:1652  */
40847     break;
40848 
40849   case 1789:
40850 #line 12092 "gram.y" /* yacc.c:1652  */
40851     { (yyval.node) = NULL; }
40852 #line 40853 "gram.c" /* yacc.c:1652  */
40853     break;
40854 
40855   case 1790:
40856 #line 12093 "gram.y" /* yacc.c:1652  */
40857     { (yyval.node) = NULL; }
40858 #line 40859 "gram.c" /* yacc.c:1652  */
40859     break;
40860 
40861   case 1791:
40862 #line 12105 "gram.y" /* yacc.c:1652  */
40863     { (yyval.node) = (Node *) (yyvsp[-1].list); }
40864 #line 40865 "gram.c" /* yacc.c:1652  */
40865     break;
40866 
40867   case 1792:
40868 #line 12106 "gram.y" /* yacc.c:1652  */
40869     { (yyval.node) = (yyvsp[0].node); }
40870 #line 40871 "gram.c" /* yacc.c:1652  */
40871     break;
40872 
40873   case 1793:
40874 #line 12112 "gram.y" /* yacc.c:1652  */
40875     {
40876 					/* inheritance query, implicitly */
40877 					(yyval.range) = (yyvsp[0].range);
40878 					(yyval.range)->inh = true;
40879 					(yyval.range)->alias = NULL;
40880 				}
40881 #line 40882 "gram.c" /* yacc.c:1652  */
40882     break;
40883 
40884   case 1794:
40885 #line 12119 "gram.y" /* yacc.c:1652  */
40886     {
40887 					/* inheritance query, explicitly */
40888 					(yyval.range) = (yyvsp[-1].range);
40889 					(yyval.range)->inh = true;
40890 					(yyval.range)->alias = NULL;
40891 				}
40892 #line 40893 "gram.c" /* yacc.c:1652  */
40893     break;
40894 
40895   case 1795:
40896 #line 12126 "gram.y" /* yacc.c:1652  */
40897     {
40898 					/* no inheritance */
40899 					(yyval.range) = (yyvsp[0].range);
40900 					(yyval.range)->inh = false;
40901 					(yyval.range)->alias = NULL;
40902 				}
40903 #line 40904 "gram.c" /* yacc.c:1652  */
40904     break;
40905 
40906   case 1796:
40907 #line 12133 "gram.y" /* yacc.c:1652  */
40908     {
40909 					/* no inheritance, SQL99-style syntax */
40910 					(yyval.range) = (yyvsp[-1].range);
40911 					(yyval.range)->inh = false;
40912 					(yyval.range)->alias = NULL;
40913 				}
40914 #line 40915 "gram.c" /* yacc.c:1652  */
40915     break;
40916 
40917   case 1797:
40918 #line 12143 "gram.y" /* yacc.c:1652  */
40919     { (yyval.list) = list_make1((yyvsp[0].range)); }
40920 #line 40921 "gram.c" /* yacc.c:1652  */
40921     break;
40922 
40923   case 1798:
40924 #line 12144 "gram.y" /* yacc.c:1652  */
40925     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].range)); }
40926 #line 40927 "gram.c" /* yacc.c:1652  */
40927     break;
40928 
40929   case 1799:
40930 #line 12158 "gram.y" /* yacc.c:1652  */
40931     {
40932 					(yyval.range) = (yyvsp[0].range);
40933 				}
40934 #line 40935 "gram.c" /* yacc.c:1652  */
40935     break;
40936 
40937   case 1800:
40938 #line 12162 "gram.y" /* yacc.c:1652  */
40939     {
40940 					Alias *alias = makeNode(Alias);
40941 					alias->aliasname = (yyvsp[0].str);
40942 					(yyvsp[-1].range)->alias = alias;
40943 					(yyval.range) = (yyvsp[-1].range);
40944 				}
40945 #line 40946 "gram.c" /* yacc.c:1652  */
40946     break;
40947 
40948   case 1801:
40949 #line 12169 "gram.y" /* yacc.c:1652  */
40950     {
40951 					Alias *alias = makeNode(Alias);
40952 					alias->aliasname = (yyvsp[0].str);
40953 					(yyvsp[-2].range)->alias = alias;
40954 					(yyval.range) = (yyvsp[-2].range);
40955 				}
40956 #line 40957 "gram.c" /* yacc.c:1652  */
40957     break;
40958 
40959   case 1802:
40960 #line 12182 "gram.y" /* yacc.c:1652  */
40961     {
40962 					RangeTableSample *n = makeNode(RangeTableSample);
40963 					/* n->relation will be filled in later */
40964 					n->method = (yyvsp[-4].list);
40965 					n->args = (yyvsp[-2].list);
40966 					n->repeatable = (yyvsp[0].node);
40967 					n->location = (yylsp[-4]);
40968 					(yyval.node) = (Node *) n;
40969 				}
40970 #line 40971 "gram.c" /* yacc.c:1652  */
40971     break;
40972 
40973   case 1803:
40974 #line 12194 "gram.y" /* yacc.c:1652  */
40975     { (yyval.node) = (Node *) (yyvsp[-1].node); }
40976 #line 40977 "gram.c" /* yacc.c:1652  */
40977     break;
40978 
40979   case 1804:
40980 #line 12195 "gram.y" /* yacc.c:1652  */
40981     { (yyval.node) = NULL; }
40982 #line 40983 "gram.c" /* yacc.c:1652  */
40983     break;
40984 
40985   case 1805:
40986 #line 12211 "gram.y" /* yacc.c:1652  */
40987     {
40988 					RangeFunction *n = makeNode(RangeFunction);
40989 					n->lateral = false;
40990 					n->ordinality = (yyvsp[0].boolean);
40991 					n->is_rowsfrom = false;
40992 					n->functions = list_make1(list_make2((yyvsp[-1].node), NIL));
40993 					/* alias and coldeflist are set by table_ref production */
40994 					(yyval.node) = (Node *) n;
40995 				}
40996 #line 40997 "gram.c" /* yacc.c:1652  */
40997     break;
40998 
40999   case 1806:
41000 #line 12221 "gram.y" /* yacc.c:1652  */
41001     {
41002 					RangeFunction *n = makeNode(RangeFunction);
41003 					n->lateral = false;
41004 					n->ordinality = (yyvsp[0].boolean);
41005 					n->is_rowsfrom = true;
41006 					n->functions = (yyvsp[-2].list);
41007 					/* alias and coldeflist are set by table_ref production */
41008 					(yyval.node) = (Node *) n;
41009 				}
41010 #line 41011 "gram.c" /* yacc.c:1652  */
41011     break;
41012 
41013   case 1807:
41014 #line 12233 "gram.y" /* yacc.c:1652  */
41015     { (yyval.list) = list_make2((yyvsp[-1].node), (yyvsp[0].list)); }
41016 #line 41017 "gram.c" /* yacc.c:1652  */
41017     break;
41018 
41019   case 1808:
41020 #line 12237 "gram.y" /* yacc.c:1652  */
41021     { (yyval.list) = list_make1((yyvsp[0].list)); }
41022 #line 41023 "gram.c" /* yacc.c:1652  */
41023     break;
41024 
41025   case 1809:
41026 #line 12238 "gram.y" /* yacc.c:1652  */
41027     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].list)); }
41028 #line 41029 "gram.c" /* yacc.c:1652  */
41029     break;
41030 
41031   case 1810:
41032 #line 12241 "gram.y" /* yacc.c:1652  */
41033     { (yyval.list) = (yyvsp[-1].list); }
41034 #line 41035 "gram.c" /* yacc.c:1652  */
41035     break;
41036 
41037   case 1811:
41038 #line 12242 "gram.y" /* yacc.c:1652  */
41039     { (yyval.list) = NIL; }
41040 #line 41041 "gram.c" /* yacc.c:1652  */
41041     break;
41042 
41043   case 1812:
41044 #line 12245 "gram.y" /* yacc.c:1652  */
41045     { (yyval.boolean) = true; }
41046 #line 41047 "gram.c" /* yacc.c:1652  */
41047     break;
41048 
41049   case 1813:
41050 #line 12246 "gram.y" /* yacc.c:1652  */
41051     { (yyval.boolean) = false; }
41052 #line 41053 "gram.c" /* yacc.c:1652  */
41053     break;
41054 
41055   case 1814:
41056 #line 12251 "gram.y" /* yacc.c:1652  */
41057     { (yyval.node) = (yyvsp[0].node); }
41058 #line 41059 "gram.c" /* yacc.c:1652  */
41059     break;
41060 
41061   case 1815:
41062 #line 12252 "gram.y" /* yacc.c:1652  */
41063     { (yyval.node) = NULL; }
41064 #line 41065 "gram.c" /* yacc.c:1652  */
41065     break;
41066 
41067   case 1816:
41068 #line 12257 "gram.y" /* yacc.c:1652  */
41069     { (yyval.node) = (yyvsp[0].node); }
41070 #line 41071 "gram.c" /* yacc.c:1652  */
41071     break;
41072 
41073   case 1817:
41074 #line 12259 "gram.y" /* yacc.c:1652  */
41075     {
41076 					CurrentOfExpr *n = makeNode(CurrentOfExpr);
41077 					/* cvarno is filled in by parse analysis */
41078 					n->cursor_name = (yyvsp[0].str);
41079 					n->cursor_param = 0;
41080 					(yyval.node) = (Node *) n;
41081 				}
41082 #line 41083 "gram.c" /* yacc.c:1652  */
41083     break;
41084 
41085   case 1818:
41086 #line 12266 "gram.y" /* yacc.c:1652  */
41087     { (yyval.node) = NULL; }
41088 #line 41089 "gram.c" /* yacc.c:1652  */
41089     break;
41090 
41091   case 1819:
41092 #line 12271 "gram.y" /* yacc.c:1652  */
41093     { (yyval.list) = (yyvsp[0].list); }
41094 #line 41095 "gram.c" /* yacc.c:1652  */
41095     break;
41096 
41097   case 1820:
41098 #line 12272 "gram.y" /* yacc.c:1652  */
41099     { (yyval.list) = NIL; }
41100 #line 41101 "gram.c" /* yacc.c:1652  */
41101     break;
41102 
41103   case 1821:
41104 #line 12277 "gram.y" /* yacc.c:1652  */
41105     {
41106 					(yyval.list) = list_make1((yyvsp[0].node));
41107 				}
41108 #line 41109 "gram.c" /* yacc.c:1652  */
41109     break;
41110 
41111   case 1822:
41112 #line 12281 "gram.y" /* yacc.c:1652  */
41113     {
41114 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
41115 				}
41116 #line 41117 "gram.c" /* yacc.c:1652  */
41117     break;
41118 
41119   case 1823:
41120 #line 12287 "gram.y" /* yacc.c:1652  */
41121     {
41122 					ColumnDef *n = makeNode(ColumnDef);
41123 					n->colname = (yyvsp[-2].str);
41124 					n->typeName = (yyvsp[-1].typnam);
41125 					n->inhcount = 0;
41126 					n->is_local = true;
41127 					n->is_not_null = false;
41128 					n->is_from_type = false;
41129 					n->storage = 0;
41130 					n->raw_default = NULL;
41131 					n->cooked_default = NULL;
41132 					n->collClause = (CollateClause *) (yyvsp[0].node);
41133 					n->collOid = InvalidOid;
41134 					n->constraints = NIL;
41135 					n->location = (yylsp[-2]);
41136 					(yyval.node) = (Node *)n;
41137 				}
41138 #line 41139 "gram.c" /* yacc.c:1652  */
41139     break;
41140 
41141   case 1824:
41142 #line 12311 "gram.y" /* yacc.c:1652  */
41143     {
41144 					RangeTableFunc *n = makeNode(RangeTableFunc);
41145 					n->rowexpr = (yyvsp[-4].node);
41146 					n->docexpr = (yyvsp[-3].node);
41147 					n->columns = (yyvsp[-1].list);
41148 					n->namespaces = NIL;
41149 					n->location = (yylsp[-6]);
41150 					(yyval.node) = (Node *)n;
41151 				}
41152 #line 41153 "gram.c" /* yacc.c:1652  */
41153     break;
41154 
41155   case 1825:
41156 #line 12322 "gram.y" /* yacc.c:1652  */
41157     {
41158 					RangeTableFunc *n = makeNode(RangeTableFunc);
41159 					n->rowexpr = (yyvsp[-4].node);
41160 					n->docexpr = (yyvsp[-3].node);
41161 					n->columns = (yyvsp[-1].list);
41162 					n->namespaces = (yyvsp[-7].list);
41163 					n->location = (yylsp[-11]);
41164 					(yyval.node) = (Node *)n;
41165 				}
41166 #line 41167 "gram.c" /* yacc.c:1652  */
41167     break;
41168 
41169   case 1826:
41170 #line 12333 "gram.y" /* yacc.c:1652  */
41171     { (yyval.list) = list_make1((yyvsp[0].node)); }
41172 #line 41173 "gram.c" /* yacc.c:1652  */
41173     break;
41174 
41175   case 1827:
41176 #line 12334 "gram.y" /* yacc.c:1652  */
41177     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
41178 #line 41179 "gram.c" /* yacc.c:1652  */
41179     break;
41180 
41181   case 1828:
41182 #line 12339 "gram.y" /* yacc.c:1652  */
41183     {
41184 					RangeTableFuncCol	   *fc = makeNode(RangeTableFuncCol);
41185 
41186 					fc->colname = (yyvsp[-1].str);
41187 					fc->for_ordinality = false;
41188 					fc->typeName = (yyvsp[0].typnam);
41189 					fc->is_not_null = false;
41190 					fc->colexpr = NULL;
41191 					fc->coldefexpr = NULL;
41192 					fc->location = (yylsp[-1]);
41193 
41194 					(yyval.node) = (Node *) fc;
41195 				}
41196 #line 41197 "gram.c" /* yacc.c:1652  */
41197     break;
41198 
41199   case 1829:
41200 #line 12353 "gram.y" /* yacc.c:1652  */
41201     {
41202 					RangeTableFuncCol	   *fc = makeNode(RangeTableFuncCol);
41203 					ListCell		   *option;
41204 					bool				nullability_seen = false;
41205 
41206 					fc->colname = (yyvsp[-2].str);
41207 					fc->typeName = (yyvsp[-1].typnam);
41208 					fc->for_ordinality = false;
41209 					fc->is_not_null = false;
41210 					fc->colexpr = NULL;
41211 					fc->coldefexpr = NULL;
41212 					fc->location = (yylsp[-2]);
41213 
41214 					foreach(option, (yyvsp[0].list))
41215 					{
41216 						DefElem   *defel = (DefElem *) lfirst(option);
41217 
41218 						if (strcmp(defel->defname, "default") == 0)
41219 						{
41220 							if (fc->coldefexpr != NULL)
41221 								ereport(ERROR,
41222 										(errcode(ERRCODE_SYNTAX_ERROR),
41223 										 errmsg("only one DEFAULT value is allowed"),
41224 										 parser_errposition(defel->location)));
41225 							fc->coldefexpr = defel->arg;
41226 						}
41227 						else if (strcmp(defel->defname, "path") == 0)
41228 						{
41229 							if (fc->colexpr != NULL)
41230 								ereport(ERROR,
41231 										(errcode(ERRCODE_SYNTAX_ERROR),
41232 										 errmsg("only one PATH value per column is allowed"),
41233 										 parser_errposition(defel->location)));
41234 							fc->colexpr = defel->arg;
41235 						}
41236 						else if (strcmp(defel->defname, "is_not_null") == 0)
41237 						{
41238 							if (nullability_seen)
41239 								ereport(ERROR,
41240 										(errcode(ERRCODE_SYNTAX_ERROR),
41241 										 errmsg("conflicting or redundant NULL / NOT NULL declarations for column \"%s\"", fc->colname),
41242 										 parser_errposition(defel->location)));
41243 							fc->is_not_null = intVal(defel->arg);
41244 							nullability_seen = true;
41245 						}
41246 						else
41247 						{
41248 							ereport(ERROR,
41249 									(errcode(ERRCODE_SYNTAX_ERROR),
41250 									 errmsg("unrecognized column option \"%s\"",
41251 											defel->defname),
41252 									 parser_errposition(defel->location)));
41253 						}
41254 					}
41255 					(yyval.node) = (Node *) fc;
41256 				}
41257 #line 41258 "gram.c" /* yacc.c:1652  */
41258     break;
41259 
41260   case 1830:
41261 #line 12410 "gram.y" /* yacc.c:1652  */
41262     {
41263 					RangeTableFuncCol	   *fc = makeNode(RangeTableFuncCol);
41264 
41265 					fc->colname = (yyvsp[-2].str);
41266 					fc->for_ordinality = true;
41267 					/* other fields are ignored, initialized by makeNode */
41268 					fc->location = (yylsp[-2]);
41269 
41270 					(yyval.node) = (Node *) fc;
41271 				}
41272 #line 41273 "gram.c" /* yacc.c:1652  */
41273     break;
41274 
41275   case 1831:
41276 #line 12424 "gram.y" /* yacc.c:1652  */
41277     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
41278 #line 41279 "gram.c" /* yacc.c:1652  */
41279     break;
41280 
41281   case 1832:
41282 #line 12426 "gram.y" /* yacc.c:1652  */
41283     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
41284 #line 41285 "gram.c" /* yacc.c:1652  */
41285     break;
41286 
41287   case 1833:
41288 #line 12431 "gram.y" /* yacc.c:1652  */
41289     { (yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1])); }
41290 #line 41291 "gram.c" /* yacc.c:1652  */
41291     break;
41292 
41293   case 1834:
41294 #line 12433 "gram.y" /* yacc.c:1652  */
41295     { (yyval.defelt) = makeDefElem("default", (yyvsp[0].node), (yylsp[-1])); }
41296 #line 41297 "gram.c" /* yacc.c:1652  */
41297     break;
41298 
41299   case 1835:
41300 #line 12435 "gram.y" /* yacc.c:1652  */
41301     { (yyval.defelt) = makeDefElem("is_not_null", (Node *) makeInteger(true), (yylsp[-1])); }
41302 #line 41303 "gram.c" /* yacc.c:1652  */
41303     break;
41304 
41305   case 1836:
41306 #line 12437 "gram.y" /* yacc.c:1652  */
41307     { (yyval.defelt) = makeDefElem("is_not_null", (Node *) makeInteger(false), (yylsp[0])); }
41308 #line 41309 "gram.c" /* yacc.c:1652  */
41309     break;
41310 
41311   case 1837:
41312 #line 12442 "gram.y" /* yacc.c:1652  */
41313     { (yyval.list) = list_make1((yyvsp[0].target)); }
41314 #line 41315 "gram.c" /* yacc.c:1652  */
41315     break;
41316 
41317   case 1838:
41318 #line 12444 "gram.y" /* yacc.c:1652  */
41319     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
41320 #line 41321 "gram.c" /* yacc.c:1652  */
41321     break;
41322 
41323   case 1839:
41324 #line 12449 "gram.y" /* yacc.c:1652  */
41325     {
41326 					(yyval.target) = makeNode(ResTarget);
41327 					(yyval.target)->name = (yyvsp[0].str);
41328 					(yyval.target)->indirection = NIL;
41329 					(yyval.target)->val = (yyvsp[-2].node);
41330 					(yyval.target)->location = (yylsp[-2]);
41331 				}
41332 #line 41333 "gram.c" /* yacc.c:1652  */
41333     break;
41334 
41335   case 1840:
41336 #line 12457 "gram.y" /* yacc.c:1652  */
41337     {
41338 					(yyval.target) = makeNode(ResTarget);
41339 					(yyval.target)->name = NULL;
41340 					(yyval.target)->indirection = NIL;
41341 					(yyval.target)->val = (yyvsp[0].node);
41342 					(yyval.target)->location = (yylsp[-1]);
41343 				}
41344 #line 41345 "gram.c" /* yacc.c:1652  */
41345     break;
41346 
41347   case 1841:
41348 #line 12477 "gram.y" /* yacc.c:1652  */
41349     {
41350 					(yyval.typnam) = (yyvsp[-1].typnam);
41351 					(yyval.typnam)->arrayBounds = (yyvsp[0].list);
41352 				}
41353 #line 41354 "gram.c" /* yacc.c:1652  */
41354     break;
41355 
41356   case 1842:
41357 #line 12482 "gram.y" /* yacc.c:1652  */
41358     {
41359 					(yyval.typnam) = (yyvsp[-1].typnam);
41360 					(yyval.typnam)->arrayBounds = (yyvsp[0].list);
41361 					(yyval.typnam)->setof = true;
41362 				}
41363 #line 41364 "gram.c" /* yacc.c:1652  */
41364     break;
41365 
41366   case 1843:
41367 #line 12489 "gram.y" /* yacc.c:1652  */
41368     {
41369 					(yyval.typnam) = (yyvsp[-4].typnam);
41370 					(yyval.typnam)->arrayBounds = list_make1(makeInteger((yyvsp[-1].ival)));
41371 				}
41372 #line 41373 "gram.c" /* yacc.c:1652  */
41373     break;
41374 
41375   case 1844:
41376 #line 12494 "gram.y" /* yacc.c:1652  */
41377     {
41378 					(yyval.typnam) = (yyvsp[-4].typnam);
41379 					(yyval.typnam)->arrayBounds = list_make1(makeInteger((yyvsp[-1].ival)));
41380 					(yyval.typnam)->setof = true;
41381 				}
41382 #line 41383 "gram.c" /* yacc.c:1652  */
41383     break;
41384 
41385   case 1845:
41386 #line 12500 "gram.y" /* yacc.c:1652  */
41387     {
41388 					(yyval.typnam) = (yyvsp[-1].typnam);
41389 					(yyval.typnam)->arrayBounds = list_make1(makeInteger(-1));
41390 				}
41391 #line 41392 "gram.c" /* yacc.c:1652  */
41392     break;
41393 
41394   case 1846:
41395 #line 12505 "gram.y" /* yacc.c:1652  */
41396     {
41397 					(yyval.typnam) = (yyvsp[-1].typnam);
41398 					(yyval.typnam)->arrayBounds = list_make1(makeInteger(-1));
41399 					(yyval.typnam)->setof = true;
41400 				}
41401 #line 41402 "gram.c" /* yacc.c:1652  */
41402     break;
41403 
41404   case 1847:
41405 #line 12514 "gram.y" /* yacc.c:1652  */
41406     {  (yyval.list) = lappend((yyvsp[-2].list), makeInteger(-1)); }
41407 #line 41408 "gram.c" /* yacc.c:1652  */
41408     break;
41409 
41410   case 1848:
41411 #line 12516 "gram.y" /* yacc.c:1652  */
41412     {  (yyval.list) = lappend((yyvsp[-3].list), makeInteger((yyvsp[-1].ival))); }
41413 #line 41414 "gram.c" /* yacc.c:1652  */
41414     break;
41415 
41416   case 1849:
41417 #line 12518 "gram.y" /* yacc.c:1652  */
41418     {  (yyval.list) = NIL; }
41419 #line 41420 "gram.c" /* yacc.c:1652  */
41420     break;
41421 
41422   case 1850:
41423 #line 12522 "gram.y" /* yacc.c:1652  */
41424     { (yyval.typnam) = (yyvsp[0].typnam); }
41425 #line 41426 "gram.c" /* yacc.c:1652  */
41426     break;
41427 
41428   case 1851:
41429 #line 12523 "gram.y" /* yacc.c:1652  */
41430     { (yyval.typnam) = (yyvsp[0].typnam); }
41431 #line 41432 "gram.c" /* yacc.c:1652  */
41432     break;
41433 
41434   case 1852:
41435 #line 12524 "gram.y" /* yacc.c:1652  */
41436     { (yyval.typnam) = (yyvsp[0].typnam); }
41437 #line 41438 "gram.c" /* yacc.c:1652  */
41438     break;
41439 
41440   case 1853:
41441 #line 12525 "gram.y" /* yacc.c:1652  */
41442     { (yyval.typnam) = (yyvsp[0].typnam); }
41443 #line 41444 "gram.c" /* yacc.c:1652  */
41444     break;
41445 
41446   case 1854:
41447 #line 12526 "gram.y" /* yacc.c:1652  */
41448     { (yyval.typnam) = (yyvsp[0].typnam); }
41449 #line 41450 "gram.c" /* yacc.c:1652  */
41450     break;
41451 
41452   case 1855:
41453 #line 12528 "gram.y" /* yacc.c:1652  */
41454     {
41455 					(yyval.typnam) = (yyvsp[-1].typnam);
41456 					(yyval.typnam)->typmods = (yyvsp[0].list);
41457 				}
41458 #line 41459 "gram.c" /* yacc.c:1652  */
41459     break;
41460 
41461   case 1856:
41462 #line 12533 "gram.y" /* yacc.c:1652  */
41463     {
41464 					(yyval.typnam) = (yyvsp[-3].typnam);
41465 					(yyval.typnam)->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1),
41466 											 makeIntConst((yyvsp[-1].ival), (yylsp[-1])));
41467 				}
41468 #line 41469 "gram.c" /* yacc.c:1652  */
41469     break;
41470 
41471   case 1857:
41472 #line 12552 "gram.y" /* yacc.c:1652  */
41473     { (yyval.typnam) = (yyvsp[0].typnam); }
41474 #line 41475 "gram.c" /* yacc.c:1652  */
41475     break;
41476 
41477   case 1858:
41478 #line 12553 "gram.y" /* yacc.c:1652  */
41479     { (yyval.typnam) = (yyvsp[0].typnam); }
41480 #line 41481 "gram.c" /* yacc.c:1652  */
41481     break;
41482 
41483   case 1859:
41484 #line 12554 "gram.y" /* yacc.c:1652  */
41485     { (yyval.typnam) = (yyvsp[0].typnam); }
41486 #line 41487 "gram.c" /* yacc.c:1652  */
41487     break;
41488 
41489   case 1860:
41490 #line 12555 "gram.y" /* yacc.c:1652  */
41491     { (yyval.typnam) = (yyvsp[0].typnam); }
41492 #line 41493 "gram.c" /* yacc.c:1652  */
41493     break;
41494 
41495   case 1861:
41496 #line 12567 "gram.y" /* yacc.c:1652  */
41497     {
41498 					(yyval.typnam) = makeTypeName((yyvsp[-1].str));
41499 					(yyval.typnam)->typmods = (yyvsp[0].list);
41500 					(yyval.typnam)->location = (yylsp[-1]);
41501 				}
41502 #line 41503 "gram.c" /* yacc.c:1652  */
41503     break;
41504 
41505   case 1862:
41506 #line 12573 "gram.y" /* yacc.c:1652  */
41507     {
41508 					(yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[-2].str)), (yyvsp[-1].list)));
41509 					(yyval.typnam)->typmods = (yyvsp[0].list);
41510 					(yyval.typnam)->location = (yylsp[-2]);
41511 				}
41512 #line 41513 "gram.c" /* yacc.c:1652  */
41513     break;
41514 
41515   case 1863:
41516 #line 12580 "gram.y" /* yacc.c:1652  */
41517     { (yyval.list) = (yyvsp[-1].list); }
41518 #line 41519 "gram.c" /* yacc.c:1652  */
41519     break;
41520 
41521   case 1864:
41522 #line 12581 "gram.y" /* yacc.c:1652  */
41523     { (yyval.list) = NIL; }
41524 #line 41525 "gram.c" /* yacc.c:1652  */
41525     break;
41526 
41527   case 1865:
41528 #line 12588 "gram.y" /* yacc.c:1652  */
41529     {
41530 					(yyval.typnam) = SystemTypeName("int4");
41531 					(yyval.typnam)->location = (yylsp[0]);
41532 				}
41533 #line 41534 "gram.c" /* yacc.c:1652  */
41534     break;
41535 
41536   case 1866:
41537 #line 12593 "gram.y" /* yacc.c:1652  */
41538     {
41539 					(yyval.typnam) = SystemTypeName("int4");
41540 					(yyval.typnam)->location = (yylsp[0]);
41541 				}
41542 #line 41543 "gram.c" /* yacc.c:1652  */
41543     break;
41544 
41545   case 1867:
41546 #line 12598 "gram.y" /* yacc.c:1652  */
41547     {
41548 					(yyval.typnam) = SystemTypeName("int2");
41549 					(yyval.typnam)->location = (yylsp[0]);
41550 				}
41551 #line 41552 "gram.c" /* yacc.c:1652  */
41552     break;
41553 
41554   case 1868:
41555 #line 12603 "gram.y" /* yacc.c:1652  */
41556     {
41557 					(yyval.typnam) = SystemTypeName("int8");
41558 					(yyval.typnam)->location = (yylsp[0]);
41559 				}
41560 #line 41561 "gram.c" /* yacc.c:1652  */
41561     break;
41562 
41563   case 1869:
41564 #line 12608 "gram.y" /* yacc.c:1652  */
41565     {
41566 					(yyval.typnam) = SystemTypeName("float4");
41567 					(yyval.typnam)->location = (yylsp[0]);
41568 				}
41569 #line 41570 "gram.c" /* yacc.c:1652  */
41570     break;
41571 
41572   case 1870:
41573 #line 12613 "gram.y" /* yacc.c:1652  */
41574     {
41575 					(yyval.typnam) = (yyvsp[0].typnam);
41576 					(yyval.typnam)->location = (yylsp[-1]);
41577 				}
41578 #line 41579 "gram.c" /* yacc.c:1652  */
41579     break;
41580 
41581   case 1871:
41582 #line 12618 "gram.y" /* yacc.c:1652  */
41583     {
41584 					(yyval.typnam) = SystemTypeName("float8");
41585 					(yyval.typnam)->location = (yylsp[-1]);
41586 				}
41587 #line 41588 "gram.c" /* yacc.c:1652  */
41588     break;
41589 
41590   case 1872:
41591 #line 12623 "gram.y" /* yacc.c:1652  */
41592     {
41593 					(yyval.typnam) = SystemTypeName("numeric");
41594 					(yyval.typnam)->typmods = (yyvsp[0].list);
41595 					(yyval.typnam)->location = (yylsp[-1]);
41596 				}
41597 #line 41598 "gram.c" /* yacc.c:1652  */
41598     break;
41599 
41600   case 1873:
41601 #line 12629 "gram.y" /* yacc.c:1652  */
41602     {
41603 					(yyval.typnam) = SystemTypeName("numeric");
41604 					(yyval.typnam)->typmods = (yyvsp[0].list);
41605 					(yyval.typnam)->location = (yylsp[-1]);
41606 				}
41607 #line 41608 "gram.c" /* yacc.c:1652  */
41608     break;
41609 
41610   case 1874:
41611 #line 12635 "gram.y" /* yacc.c:1652  */
41612     {
41613 					(yyval.typnam) = SystemTypeName("numeric");
41614 					(yyval.typnam)->typmods = (yyvsp[0].list);
41615 					(yyval.typnam)->location = (yylsp[-1]);
41616 				}
41617 #line 41618 "gram.c" /* yacc.c:1652  */
41618     break;
41619 
41620   case 1875:
41621 #line 12641 "gram.y" /* yacc.c:1652  */
41622     {
41623 					(yyval.typnam) = SystemTypeName("bool");
41624 					(yyval.typnam)->location = (yylsp[0]);
41625 				}
41626 #line 41627 "gram.c" /* yacc.c:1652  */
41627     break;
41628 
41629   case 1876:
41630 #line 12648 "gram.y" /* yacc.c:1652  */
41631     {
41632 					/*
41633 					 * Check FLOAT() precision limits assuming IEEE floating
41634 					 * types - thomas 1997-09-18
41635 					 */
41636 					if ((yyvsp[-1].ival) < 1)
41637 						ereport(ERROR,
41638 								(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
41639 								 errmsg("precision for type float must be at least 1 bit"),
41640 								 parser_errposition((yylsp[-1]))));
41641 					else if ((yyvsp[-1].ival) <= 24)
41642 						(yyval.typnam) = SystemTypeName("float4");
41643 					else if ((yyvsp[-1].ival) <= 53)
41644 						(yyval.typnam) = SystemTypeName("float8");
41645 					else
41646 						ereport(ERROR,
41647 								(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
41648 								 errmsg("precision for type float must be less than 54 bits"),
41649 								 parser_errposition((yylsp[-1]))));
41650 				}
41651 #line 41652 "gram.c" /* yacc.c:1652  */
41652     break;
41653 
41654   case 1877:
41655 #line 12669 "gram.y" /* yacc.c:1652  */
41656     {
41657 					(yyval.typnam) = SystemTypeName("float8");
41658 				}
41659 #line 41660 "gram.c" /* yacc.c:1652  */
41660     break;
41661 
41662   case 1878:
41663 #line 12679 "gram.y" /* yacc.c:1652  */
41664     {
41665 					(yyval.typnam) = (yyvsp[0].typnam);
41666 				}
41667 #line 41668 "gram.c" /* yacc.c:1652  */
41668     break;
41669 
41670   case 1879:
41671 #line 12683 "gram.y" /* yacc.c:1652  */
41672     {
41673 					(yyval.typnam) = (yyvsp[0].typnam);
41674 				}
41675 #line 41676 "gram.c" /* yacc.c:1652  */
41676     break;
41677 
41678   case 1880:
41679 #line 12691 "gram.y" /* yacc.c:1652  */
41680     {
41681 					(yyval.typnam) = (yyvsp[0].typnam);
41682 				}
41683 #line 41684 "gram.c" /* yacc.c:1652  */
41684     break;
41685 
41686   case 1881:
41687 #line 12695 "gram.y" /* yacc.c:1652  */
41688     {
41689 					(yyval.typnam) = (yyvsp[0].typnam);
41690 					(yyval.typnam)->typmods = NIL;
41691 				}
41692 #line 41693 "gram.c" /* yacc.c:1652  */
41693     break;
41694 
41695   case 1882:
41696 #line 12703 "gram.y" /* yacc.c:1652  */
41697     {
41698 					char *typname;
41699 
41700 					typname = (yyvsp[-3].boolean) ? "varbit" : "bit";
41701 					(yyval.typnam) = SystemTypeName(typname);
41702 					(yyval.typnam)->typmods = (yyvsp[-1].list);
41703 					(yyval.typnam)->location = (yylsp[-4]);
41704 				}
41705 #line 41706 "gram.c" /* yacc.c:1652  */
41706     break;
41707 
41708   case 1883:
41709 #line 12715 "gram.y" /* yacc.c:1652  */
41710     {
41711 					/* bit defaults to bit(1), varbit to no limit */
41712 					if ((yyvsp[0].boolean))
41713 					{
41714 						(yyval.typnam) = SystemTypeName("varbit");
41715 					}
41716 					else
41717 					{
41718 						(yyval.typnam) = SystemTypeName("bit");
41719 						(yyval.typnam)->typmods = list_make1(makeIntConst(1, -1));
41720 					}
41721 					(yyval.typnam)->location = (yylsp[-1]);
41722 				}
41723 #line 41724 "gram.c" /* yacc.c:1652  */
41724     break;
41725 
41726   case 1884:
41727 #line 12736 "gram.y" /* yacc.c:1652  */
41728     {
41729 					(yyval.typnam) = (yyvsp[0].typnam);
41730 				}
41731 #line 41732 "gram.c" /* yacc.c:1652  */
41732     break;
41733 
41734   case 1885:
41735 #line 12740 "gram.y" /* yacc.c:1652  */
41736     {
41737 					(yyval.typnam) = (yyvsp[0].typnam);
41738 				}
41739 #line 41740 "gram.c" /* yacc.c:1652  */
41740     break;
41741 
41742   case 1886:
41743 #line 12746 "gram.y" /* yacc.c:1652  */
41744     {
41745 					(yyval.typnam) = (yyvsp[0].typnam);
41746 				}
41747 #line 41748 "gram.c" /* yacc.c:1652  */
41748     break;
41749 
41750   case 1887:
41751 #line 12750 "gram.y" /* yacc.c:1652  */
41752     {
41753 					/* Length was not specified so allow to be unrestricted.
41754 					 * This handles problems with fixed-length (bpchar) strings
41755 					 * which in column definitions must default to a length
41756 					 * of one, but should not be constrained if the length
41757 					 * was not specified.
41758 					 */
41759 					(yyval.typnam) = (yyvsp[0].typnam);
41760 					(yyval.typnam)->typmods = NIL;
41761 				}
41762 #line 41763 "gram.c" /* yacc.c:1652  */
41763     break;
41764 
41765   case 1888:
41766 #line 12763 "gram.y" /* yacc.c:1652  */
41767     {
41768 					(yyval.typnam) = SystemTypeName((yyvsp[-3].str));
41769 					(yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[-1].ival), (yylsp[-1])));
41770 					(yyval.typnam)->location = (yylsp[-3]);
41771 				}
41772 #line 41773 "gram.c" /* yacc.c:1652  */
41773     break;
41774 
41775   case 1889:
41776 #line 12771 "gram.y" /* yacc.c:1652  */
41777     {
41778 					(yyval.typnam) = SystemTypeName((yyvsp[0].str));
41779 					/* char defaults to char(1), varchar to no limit */
41780 					if (strcmp((yyvsp[0].str), "bpchar") == 0)
41781 						(yyval.typnam)->typmods = list_make1(makeIntConst(1, -1));
41782 					(yyval.typnam)->location = (yylsp[0]);
41783 				}
41784 #line 41785 "gram.c" /* yacc.c:1652  */
41785     break;
41786 
41787   case 1890:
41788 #line 12781 "gram.y" /* yacc.c:1652  */
41789     { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
41790 #line 41791 "gram.c" /* yacc.c:1652  */
41791     break;
41792 
41793   case 1891:
41794 #line 12783 "gram.y" /* yacc.c:1652  */
41795     { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
41796 #line 41797 "gram.c" /* yacc.c:1652  */
41797     break;
41798 
41799   case 1892:
41800 #line 12785 "gram.y" /* yacc.c:1652  */
41801     { (yyval.str) = "varchar"; }
41802 #line 41803 "gram.c" /* yacc.c:1652  */
41803     break;
41804 
41805   case 1893:
41806 #line 12787 "gram.y" /* yacc.c:1652  */
41807     { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
41808 #line 41809 "gram.c" /* yacc.c:1652  */
41809     break;
41810 
41811   case 1894:
41812 #line 12789 "gram.y" /* yacc.c:1652  */
41813     { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
41814 #line 41815 "gram.c" /* yacc.c:1652  */
41815     break;
41816 
41817   case 1895:
41818 #line 12791 "gram.y" /* yacc.c:1652  */
41819     { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
41820 #line 41821 "gram.c" /* yacc.c:1652  */
41821     break;
41822 
41823   case 1896:
41824 #line 12795 "gram.y" /* yacc.c:1652  */
41825     { (yyval.boolean) = true; }
41826 #line 41827 "gram.c" /* yacc.c:1652  */
41827     break;
41828 
41829   case 1897:
41830 #line 12796 "gram.y" /* yacc.c:1652  */
41831     { (yyval.boolean) = false; }
41832 #line 41833 "gram.c" /* yacc.c:1652  */
41833     break;
41834 
41835   case 1898:
41836 #line 12804 "gram.y" /* yacc.c:1652  */
41837     {
41838 					if ((yyvsp[0].boolean))
41839 						(yyval.typnam) = SystemTypeName("timestamptz");
41840 					else
41841 						(yyval.typnam) = SystemTypeName("timestamp");
41842 					(yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[-2].ival), (yylsp[-2])));
41843 					(yyval.typnam)->location = (yylsp[-4]);
41844 				}
41845 #line 41846 "gram.c" /* yacc.c:1652  */
41846     break;
41847 
41848   case 1899:
41849 #line 12813 "gram.y" /* yacc.c:1652  */
41850     {
41851 					if ((yyvsp[0].boolean))
41852 						(yyval.typnam) = SystemTypeName("timestamptz");
41853 					else
41854 						(yyval.typnam) = SystemTypeName("timestamp");
41855 					(yyval.typnam)->location = (yylsp[-1]);
41856 				}
41857 #line 41858 "gram.c" /* yacc.c:1652  */
41858     break;
41859 
41860   case 1900:
41861 #line 12821 "gram.y" /* yacc.c:1652  */
41862     {
41863 					if ((yyvsp[0].boolean))
41864 						(yyval.typnam) = SystemTypeName("timetz");
41865 					else
41866 						(yyval.typnam) = SystemTypeName("time");
41867 					(yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[-2].ival), (yylsp[-2])));
41868 					(yyval.typnam)->location = (yylsp[-4]);
41869 				}
41870 #line 41871 "gram.c" /* yacc.c:1652  */
41871     break;
41872 
41873   case 1901:
41874 #line 12830 "gram.y" /* yacc.c:1652  */
41875     {
41876 					if ((yyvsp[0].boolean))
41877 						(yyval.typnam) = SystemTypeName("timetz");
41878 					else
41879 						(yyval.typnam) = SystemTypeName("time");
41880 					(yyval.typnam)->location = (yylsp[-1]);
41881 				}
41882 #line 41883 "gram.c" /* yacc.c:1652  */
41883     break;
41884 
41885   case 1902:
41886 #line 12841 "gram.y" /* yacc.c:1652  */
41887     {
41888 					(yyval.typnam) = SystemTypeName("interval");
41889 					(yyval.typnam)->location = (yylsp[0]);
41890 				}
41891 #line 41892 "gram.c" /* yacc.c:1652  */
41892     break;
41893 
41894   case 1903:
41895 #line 12848 "gram.y" /* yacc.c:1652  */
41896     { (yyval.boolean) = true; }
41897 #line 41898 "gram.c" /* yacc.c:1652  */
41898     break;
41899 
41900   case 1904:
41901 #line 12849 "gram.y" /* yacc.c:1652  */
41902     { (yyval.boolean) = false; }
41903 #line 41904 "gram.c" /* yacc.c:1652  */
41904     break;
41905 
41906   case 1905:
41907 #line 12850 "gram.y" /* yacc.c:1652  */
41908     { (yyval.boolean) = false; }
41909 #line 41910 "gram.c" /* yacc.c:1652  */
41910     break;
41911 
41912   case 1906:
41913 #line 12855 "gram.y" /* yacc.c:1652  */
41914     { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(YEAR), (yylsp[0]))); }
41915 #line 41916 "gram.c" /* yacc.c:1652  */
41916     break;
41917 
41918   case 1907:
41919 #line 12857 "gram.y" /* yacc.c:1652  */
41920     { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MONTH), (yylsp[0]))); }
41921 #line 41922 "gram.c" /* yacc.c:1652  */
41922     break;
41923 
41924   case 1908:
41925 #line 12859 "gram.y" /* yacc.c:1652  */
41926     { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY), (yylsp[0]))); }
41927 #line 41928 "gram.c" /* yacc.c:1652  */
41928     break;
41929 
41930   case 1909:
41931 #line 12861 "gram.y" /* yacc.c:1652  */
41932     { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(HOUR), (yylsp[0]))); }
41933 #line 41934 "gram.c" /* yacc.c:1652  */
41934     break;
41935 
41936   case 1910:
41937 #line 12863 "gram.y" /* yacc.c:1652  */
41938     { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MINUTE), (yylsp[0]))); }
41939 #line 41940 "gram.c" /* yacc.c:1652  */
41940     break;
41941 
41942   case 1911:
41943 #line 12865 "gram.y" /* yacc.c:1652  */
41944     { (yyval.list) = (yyvsp[0].list); }
41945 #line 41946 "gram.c" /* yacc.c:1652  */
41946     break;
41947 
41948   case 1912:
41949 #line 12867 "gram.y" /* yacc.c:1652  */
41950     {
41951 					(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(YEAR) |
41952 												 INTERVAL_MASK(MONTH), (yylsp[-2])));
41953 				}
41954 #line 41955 "gram.c" /* yacc.c:1652  */
41955     break;
41956 
41957   case 1913:
41958 #line 12872 "gram.y" /* yacc.c:1652  */
41959     {
41960 					(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY) |
41961 												 INTERVAL_MASK(HOUR), (yylsp[-2])));
41962 				}
41963 #line 41964 "gram.c" /* yacc.c:1652  */
41964     break;
41965 
41966   case 1914:
41967 #line 12877 "gram.y" /* yacc.c:1652  */
41968     {
41969 					(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY) |
41970 												 INTERVAL_MASK(HOUR) |
41971 												 INTERVAL_MASK(MINUTE), (yylsp[-2])));
41972 				}
41973 #line 41974 "gram.c" /* yacc.c:1652  */
41974     break;
41975 
41976   case 1915:
41977 #line 12883 "gram.y" /* yacc.c:1652  */
41978     {
41979 					(yyval.list) = (yyvsp[0].list);
41980 					linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(DAY) |
41981 												INTERVAL_MASK(HOUR) |
41982 												INTERVAL_MASK(MINUTE) |
41983 												INTERVAL_MASK(SECOND), (yylsp[-2]));
41984 				}
41985 #line 41986 "gram.c" /* yacc.c:1652  */
41986     break;
41987 
41988   case 1916:
41989 #line 12891 "gram.y" /* yacc.c:1652  */
41990     {
41991 					(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(HOUR) |
41992 												 INTERVAL_MASK(MINUTE), (yylsp[-2])));
41993 				}
41994 #line 41995 "gram.c" /* yacc.c:1652  */
41995     break;
41996 
41997   case 1917:
41998 #line 12896 "gram.y" /* yacc.c:1652  */
41999     {
42000 					(yyval.list) = (yyvsp[0].list);
42001 					linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(HOUR) |
42002 												INTERVAL_MASK(MINUTE) |
42003 												INTERVAL_MASK(SECOND), (yylsp[-2]));
42004 				}
42005 #line 42006 "gram.c" /* yacc.c:1652  */
42006     break;
42007 
42008   case 1918:
42009 #line 12903 "gram.y" /* yacc.c:1652  */
42010     {
42011 					(yyval.list) = (yyvsp[0].list);
42012 					linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(MINUTE) |
42013 												INTERVAL_MASK(SECOND), (yylsp[-2]));
42014 				}
42015 #line 42016 "gram.c" /* yacc.c:1652  */
42016     break;
42017 
42018   case 1919:
42019 #line 12909 "gram.y" /* yacc.c:1652  */
42020     { (yyval.list) = NIL; }
42021 #line 42022 "gram.c" /* yacc.c:1652  */
42022     break;
42023 
42024   case 1920:
42025 #line 12914 "gram.y" /* yacc.c:1652  */
42026     {
42027 					(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(SECOND), (yylsp[0])));
42028 				}
42029 #line 42030 "gram.c" /* yacc.c:1652  */
42030     break;
42031 
42032   case 1921:
42033 #line 12918 "gram.y" /* yacc.c:1652  */
42034     {
42035 					(yyval.list) = list_make2(makeIntConst(INTERVAL_MASK(SECOND), (yylsp[-3])),
42036 									makeIntConst((yyvsp[-1].ival), (yylsp[-1])));
42037 				}
42038 #line 42039 "gram.c" /* yacc.c:1652  */
42039     break;
42040 
42041   case 1922:
42042 #line 12953 "gram.y" /* yacc.c:1652  */
42043     { (yyval.node) = (yyvsp[0].node); }
42044 #line 42045 "gram.c" /* yacc.c:1652  */
42045     break;
42046 
42047   case 1923:
42048 #line 12955 "gram.y" /* yacc.c:1652  */
42049     { (yyval.node) = makeTypeCast((yyvsp[-2].node), (yyvsp[0].typnam), (yylsp[-1])); }
42050 #line 42051 "gram.c" /* yacc.c:1652  */
42051     break;
42052 
42053   case 1924:
42054 #line 12957 "gram.y" /* yacc.c:1652  */
42055     {
42056 					CollateClause *n = makeNode(CollateClause);
42057 					n->arg = (yyvsp[-2].node);
42058 					n->collname = (yyvsp[0].list);
42059 					n->location = (yylsp[-1]);
42060 					(yyval.node) = (Node *) n;
42061 				}
42062 #line 42063 "gram.c" /* yacc.c:1652  */
42063     break;
42064 
42065   case 1925:
42066 #line 12965 "gram.y" /* yacc.c:1652  */
42067     {
42068 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("timezone"),
42069 											   list_make2((yyvsp[0].node), (yyvsp[-4].node)),
42070 											   (yylsp[-3]));
42071 				}
42072 #line 42073 "gram.c" /* yacc.c:1652  */
42073     break;
42074 
42075   case 1926:
42076 #line 12980 "gram.y" /* yacc.c:1652  */
42077     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[0].node), (yylsp[-1])); }
42078 #line 42079 "gram.c" /* yacc.c:1652  */
42079     break;
42080 
42081   case 1927:
42082 #line 12982 "gram.y" /* yacc.c:1652  */
42083     { (yyval.node) = doNegate((yyvsp[0].node), (yylsp[-1])); }
42084 #line 42085 "gram.c" /* yacc.c:1652  */
42085     break;
42086 
42087   case 1928:
42088 #line 12984 "gram.y" /* yacc.c:1652  */
42089     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
42090 #line 42091 "gram.c" /* yacc.c:1652  */
42091     break;
42092 
42093   case 1929:
42094 #line 12986 "gram.y" /* yacc.c:1652  */
42095     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "-", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
42096 #line 42097 "gram.c" /* yacc.c:1652  */
42097     break;
42098 
42099   case 1930:
42100 #line 12988 "gram.y" /* yacc.c:1652  */
42101     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "*", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
42102 #line 42103 "gram.c" /* yacc.c:1652  */
42103     break;
42104 
42105   case 1931:
42106 #line 12990 "gram.y" /* yacc.c:1652  */
42107     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "/", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
42108 #line 42109 "gram.c" /* yacc.c:1652  */
42109     break;
42110 
42111   case 1932:
42112 #line 12992 "gram.y" /* yacc.c:1652  */
42113     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
42114 #line 42115 "gram.c" /* yacc.c:1652  */
42115     break;
42116 
42117   case 1933:
42118 #line 12994 "gram.y" /* yacc.c:1652  */
42119     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
42120 #line 42121 "gram.c" /* yacc.c:1652  */
42121     break;
42122 
42123   case 1934:
42124 #line 12996 "gram.y" /* yacc.c:1652  */
42125     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
42126 #line 42127 "gram.c" /* yacc.c:1652  */
42127     break;
42128 
42129   case 1935:
42130 #line 12998 "gram.y" /* yacc.c:1652  */
42131     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
42132 #line 42133 "gram.c" /* yacc.c:1652  */
42133     break;
42134 
42135   case 1936:
42136 #line 13000 "gram.y" /* yacc.c:1652  */
42137     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
42138 #line 42139 "gram.c" /* yacc.c:1652  */
42139     break;
42140 
42141   case 1937:
42142 #line 13002 "gram.y" /* yacc.c:1652  */
42143     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
42144 #line 42145 "gram.c" /* yacc.c:1652  */
42145     break;
42146 
42147   case 1938:
42148 #line 13004 "gram.y" /* yacc.c:1652  */
42149     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
42150 #line 42151 "gram.c" /* yacc.c:1652  */
42151     break;
42152 
42153   case 1939:
42154 #line 13006 "gram.y" /* yacc.c:1652  */
42155     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<>", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
42156 #line 42157 "gram.c" /* yacc.c:1652  */
42157     break;
42158 
42159   case 1940:
42160 #line 13009 "gram.y" /* yacc.c:1652  */
42161     { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
42162 #line 42163 "gram.c" /* yacc.c:1652  */
42163     break;
42164 
42165   case 1941:
42166 #line 13011 "gram.y" /* yacc.c:1652  */
42167     { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), NULL, (yyvsp[0].node), (yylsp[-1])); }
42168 #line 42169 "gram.c" /* yacc.c:1652  */
42169     break;
42170 
42171   case 1942:
42172 #line 13013 "gram.y" /* yacc.c:1652  */
42173     { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[0].list), (yyvsp[-1].node), NULL, (yylsp[0])); }
42174 #line 42175 "gram.c" /* yacc.c:1652  */
42175     break;
42176 
42177   case 1943:
42178 #line 13016 "gram.y" /* yacc.c:1652  */
42179     { (yyval.node) = makeAndExpr((yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
42180 #line 42181 "gram.c" /* yacc.c:1652  */
42181     break;
42182 
42183   case 1944:
42184 #line 13018 "gram.y" /* yacc.c:1652  */
42185     { (yyval.node) = makeOrExpr((yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
42186 #line 42187 "gram.c" /* yacc.c:1652  */
42187     break;
42188 
42189   case 1945:
42190 #line 13020 "gram.y" /* yacc.c:1652  */
42191     { (yyval.node) = makeNotExpr((yyvsp[0].node), (yylsp[-1])); }
42192 #line 42193 "gram.c" /* yacc.c:1652  */
42193     break;
42194 
42195   case 1946:
42196 #line 13022 "gram.y" /* yacc.c:1652  */
42197     { (yyval.node) = makeNotExpr((yyvsp[0].node), (yylsp[-1])); }
42198 #line 42199 "gram.c" /* yacc.c:1652  */
42199     break;
42200 
42201   case 1947:
42202 #line 13025 "gram.y" /* yacc.c:1652  */
42203     {
42204 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "~~",
42205 												   (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1]));
42206 				}
42207 #line 42208 "gram.c" /* yacc.c:1652  */
42208     break;
42209 
42210   case 1948:
42211 #line 13030 "gram.y" /* yacc.c:1652  */
42212     {
42213 					FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
42214 											   list_make2((yyvsp[-2].node), (yyvsp[0].node)),
42215 											   (yylsp[-3]));
42216 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "~~",
42217 												   (yyvsp[-4].node), (Node *) n, (yylsp[-3]));
42218 				}
42219 #line 42220 "gram.c" /* yacc.c:1652  */
42220     break;
42221 
42222   case 1949:
42223 #line 13038 "gram.y" /* yacc.c:1652  */
42224     {
42225 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "!~~",
42226 												   (yyvsp[-3].node), (yyvsp[0].node), (yylsp[-2]));
42227 				}
42228 #line 42229 "gram.c" /* yacc.c:1652  */
42229     break;
42230 
42231   case 1950:
42232 #line 13043 "gram.y" /* yacc.c:1652  */
42233     {
42234 					FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
42235 											   list_make2((yyvsp[-2].node), (yyvsp[0].node)),
42236 											   (yylsp[-4]));
42237 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "!~~",
42238 												   (yyvsp[-5].node), (Node *) n, (yylsp[-4]));
42239 				}
42240 #line 42241 "gram.c" /* yacc.c:1652  */
42241     break;
42242 
42243   case 1951:
42244 #line 13051 "gram.y" /* yacc.c:1652  */
42245     {
42246 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "~~*",
42247 												   (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1]));
42248 				}
42249 #line 42250 "gram.c" /* yacc.c:1652  */
42250     break;
42251 
42252   case 1952:
42253 #line 13056 "gram.y" /* yacc.c:1652  */
42254     {
42255 					FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
42256 											   list_make2((yyvsp[-2].node), (yyvsp[0].node)),
42257 											   (yylsp[-3]));
42258 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "~~*",
42259 												   (yyvsp[-4].node), (Node *) n, (yylsp[-3]));
42260 				}
42261 #line 42262 "gram.c" /* yacc.c:1652  */
42262     break;
42263 
42264   case 1953:
42265 #line 13064 "gram.y" /* yacc.c:1652  */
42266     {
42267 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "!~~*",
42268 												   (yyvsp[-3].node), (yyvsp[0].node), (yylsp[-2]));
42269 				}
42270 #line 42271 "gram.c" /* yacc.c:1652  */
42271     break;
42272 
42273   case 1954:
42274 #line 13069 "gram.y" /* yacc.c:1652  */
42275     {
42276 					FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
42277 											   list_make2((yyvsp[-2].node), (yyvsp[0].node)),
42278 											   (yylsp[-4]));
42279 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "!~~*",
42280 												   (yyvsp[-5].node), (Node *) n, (yylsp[-4]));
42281 				}
42282 #line 42283 "gram.c" /* yacc.c:1652  */
42283     break;
42284 
42285   case 1955:
42286 #line 13078 "gram.y" /* yacc.c:1652  */
42287     {
42288 					FuncCall *n = makeFuncCall(SystemFuncName("similar_escape"),
42289 											   list_make2((yyvsp[0].node), makeNullAConst(-1)),
42290 											   (yylsp[-2]));
42291 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "~",
42292 												   (yyvsp[-3].node), (Node *) n, (yylsp[-2]));
42293 				}
42294 #line 42295 "gram.c" /* yacc.c:1652  */
42295     break;
42296 
42297   case 1956:
42298 #line 13086 "gram.y" /* yacc.c:1652  */
42299     {
42300 					FuncCall *n = makeFuncCall(SystemFuncName("similar_escape"),
42301 											   list_make2((yyvsp[-2].node), (yyvsp[0].node)),
42302 											   (yylsp[-4]));
42303 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "~",
42304 												   (yyvsp[-5].node), (Node *) n, (yylsp[-4]));
42305 				}
42306 #line 42307 "gram.c" /* yacc.c:1652  */
42307     break;
42308 
42309   case 1957:
42310 #line 13094 "gram.y" /* yacc.c:1652  */
42311     {
42312 					FuncCall *n = makeFuncCall(SystemFuncName("similar_escape"),
42313 											   list_make2((yyvsp[0].node), makeNullAConst(-1)),
42314 											   (yylsp[-3]));
42315 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "!~",
42316 												   (yyvsp[-4].node), (Node *) n, (yylsp[-3]));
42317 				}
42318 #line 42319 "gram.c" /* yacc.c:1652  */
42319     break;
42320 
42321   case 1958:
42322 #line 13102 "gram.y" /* yacc.c:1652  */
42323     {
42324 					FuncCall *n = makeFuncCall(SystemFuncName("similar_escape"),
42325 											   list_make2((yyvsp[-2].node), (yyvsp[0].node)),
42326 											   (yylsp[-5]));
42327 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "!~",
42328 												   (yyvsp[-6].node), (Node *) n, (yylsp[-5]));
42329 				}
42330 #line 42331 "gram.c" /* yacc.c:1652  */
42331     break;
42332 
42333   case 1959:
42334 #line 13120 "gram.y" /* yacc.c:1652  */
42335     {
42336 					NullTest *n = makeNode(NullTest);
42337 					n->arg = (Expr *) (yyvsp[-2].node);
42338 					n->nulltesttype = IS_NULL;
42339 					n->location = (yylsp[-1]);
42340 					(yyval.node) = (Node *)n;
42341 				}
42342 #line 42343 "gram.c" /* yacc.c:1652  */
42343     break;
42344 
42345   case 1960:
42346 #line 13128 "gram.y" /* yacc.c:1652  */
42347     {
42348 					NullTest *n = makeNode(NullTest);
42349 					n->arg = (Expr *) (yyvsp[-1].node);
42350 					n->nulltesttype = IS_NULL;
42351 					n->location = (yylsp[0]);
42352 					(yyval.node) = (Node *)n;
42353 				}
42354 #line 42355 "gram.c" /* yacc.c:1652  */
42355     break;
42356 
42357   case 1961:
42358 #line 13136 "gram.y" /* yacc.c:1652  */
42359     {
42360 					NullTest *n = makeNode(NullTest);
42361 					n->arg = (Expr *) (yyvsp[-3].node);
42362 					n->nulltesttype = IS_NOT_NULL;
42363 					n->location = (yylsp[-2]);
42364 					(yyval.node) = (Node *)n;
42365 				}
42366 #line 42367 "gram.c" /* yacc.c:1652  */
42367     break;
42368 
42369   case 1962:
42370 #line 13144 "gram.y" /* yacc.c:1652  */
42371     {
42372 					NullTest *n = makeNode(NullTest);
42373 					n->arg = (Expr *) (yyvsp[-1].node);
42374 					n->nulltesttype = IS_NOT_NULL;
42375 					n->location = (yylsp[0]);
42376 					(yyval.node) = (Node *)n;
42377 				}
42378 #line 42379 "gram.c" /* yacc.c:1652  */
42379     break;
42380 
42381   case 1963:
42382 #line 13152 "gram.y" /* yacc.c:1652  */
42383     {
42384 					if (list_length((yyvsp[-2].list)) != 2)
42385 						ereport(ERROR,
42386 								(errcode(ERRCODE_SYNTAX_ERROR),
42387 								 errmsg("wrong number of parameters on left side of OVERLAPS expression"),
42388 								 parser_errposition((yylsp[-2]))));
42389 					if (list_length((yyvsp[0].list)) != 2)
42390 						ereport(ERROR,
42391 								(errcode(ERRCODE_SYNTAX_ERROR),
42392 								 errmsg("wrong number of parameters on right side of OVERLAPS expression"),
42393 								 parser_errposition((yylsp[0]))));
42394 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("overlaps"),
42395 											   list_concat((yyvsp[-2].list), (yyvsp[0].list)),
42396 											   (yylsp[-1]));
42397 				}
42398 #line 42399 "gram.c" /* yacc.c:1652  */
42399     break;
42400 
42401   case 1964:
42402 #line 13168 "gram.y" /* yacc.c:1652  */
42403     {
42404 					BooleanTest *b = makeNode(BooleanTest);
42405 					b->arg = (Expr *) (yyvsp[-2].node);
42406 					b->booltesttype = IS_TRUE;
42407 					b->location = (yylsp[-1]);
42408 					(yyval.node) = (Node *)b;
42409 				}
42410 #line 42411 "gram.c" /* yacc.c:1652  */
42411     break;
42412 
42413   case 1965:
42414 #line 13176 "gram.y" /* yacc.c:1652  */
42415     {
42416 					BooleanTest *b = makeNode(BooleanTest);
42417 					b->arg = (Expr *) (yyvsp[-3].node);
42418 					b->booltesttype = IS_NOT_TRUE;
42419 					b->location = (yylsp[-2]);
42420 					(yyval.node) = (Node *)b;
42421 				}
42422 #line 42423 "gram.c" /* yacc.c:1652  */
42423     break;
42424 
42425   case 1966:
42426 #line 13184 "gram.y" /* yacc.c:1652  */
42427     {
42428 					BooleanTest *b = makeNode(BooleanTest);
42429 					b->arg = (Expr *) (yyvsp[-2].node);
42430 					b->booltesttype = IS_FALSE;
42431 					b->location = (yylsp[-1]);
42432 					(yyval.node) = (Node *)b;
42433 				}
42434 #line 42435 "gram.c" /* yacc.c:1652  */
42435     break;
42436 
42437   case 1967:
42438 #line 13192 "gram.y" /* yacc.c:1652  */
42439     {
42440 					BooleanTest *b = makeNode(BooleanTest);
42441 					b->arg = (Expr *) (yyvsp[-3].node);
42442 					b->booltesttype = IS_NOT_FALSE;
42443 					b->location = (yylsp[-2]);
42444 					(yyval.node) = (Node *)b;
42445 				}
42446 #line 42447 "gram.c" /* yacc.c:1652  */
42447     break;
42448 
42449   case 1968:
42450 #line 13200 "gram.y" /* yacc.c:1652  */
42451     {
42452 					BooleanTest *b = makeNode(BooleanTest);
42453 					b->arg = (Expr *) (yyvsp[-2].node);
42454 					b->booltesttype = IS_UNKNOWN;
42455 					b->location = (yylsp[-1]);
42456 					(yyval.node) = (Node *)b;
42457 				}
42458 #line 42459 "gram.c" /* yacc.c:1652  */
42459     break;
42460 
42461   case 1969:
42462 #line 13208 "gram.y" /* yacc.c:1652  */
42463     {
42464 					BooleanTest *b = makeNode(BooleanTest);
42465 					b->arg = (Expr *) (yyvsp[-3].node);
42466 					b->booltesttype = IS_NOT_UNKNOWN;
42467 					b->location = (yylsp[-2]);
42468 					(yyval.node) = (Node *)b;
42469 				}
42470 #line 42471 "gram.c" /* yacc.c:1652  */
42471     break;
42472 
42473   case 1970:
42474 #line 13216 "gram.y" /* yacc.c:1652  */
42475     {
42476 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", (yyvsp[-4].node), (yyvsp[0].node), (yylsp[-3]));
42477 				}
42478 #line 42479 "gram.c" /* yacc.c:1652  */
42479     break;
42480 
42481   case 1971:
42482 #line 13220 "gram.y" /* yacc.c:1652  */
42483     {
42484 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_DISTINCT, "=", (yyvsp[-5].node), (yyvsp[0].node), (yylsp[-4]));
42485 				}
42486 #line 42487 "gram.c" /* yacc.c:1652  */
42487     break;
42488 
42489   case 1972:
42490 #line 13224 "gram.y" /* yacc.c:1652  */
42491     {
42492 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "=", (yyvsp[-5].node), (Node *) (yyvsp[-1].list), (yylsp[-4]));
42493 				}
42494 #line 42495 "gram.c" /* yacc.c:1652  */
42495     break;
42496 
42497   case 1973:
42498 #line 13228 "gram.y" /* yacc.c:1652  */
42499     {
42500 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "<>", (yyvsp[-6].node), (Node *) (yyvsp[-1].list), (yylsp[-5]));
42501 				}
42502 #line 42503 "gram.c" /* yacc.c:1652  */
42503     break;
42504 
42505   case 1974:
42506 #line 13232 "gram.y" /* yacc.c:1652  */
42507     {
42508 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_BETWEEN,
42509 												   "BETWEEN",
42510 												   (yyvsp[-5].node),
42511 												   (Node *) list_make2((yyvsp[-2].node), (yyvsp[0].node)),
42512 												   (yylsp[-4]));
42513 				}
42514 #line 42515 "gram.c" /* yacc.c:1652  */
42515     break;
42516 
42517   case 1975:
42518 #line 13240 "gram.y" /* yacc.c:1652  */
42519     {
42520 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_BETWEEN,
42521 												   "NOT BETWEEN",
42522 												   (yyvsp[-6].node),
42523 												   (Node *) list_make2((yyvsp[-2].node), (yyvsp[0].node)),
42524 												   (yylsp[-5]));
42525 				}
42526 #line 42527 "gram.c" /* yacc.c:1652  */
42527     break;
42528 
42529   case 1976:
42530 #line 13248 "gram.y" /* yacc.c:1652  */
42531     {
42532 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_BETWEEN_SYM,
42533 												   "BETWEEN SYMMETRIC",
42534 												   (yyvsp[-5].node),
42535 												   (Node *) list_make2((yyvsp[-2].node), (yyvsp[0].node)),
42536 												   (yylsp[-4]));
42537 				}
42538 #line 42539 "gram.c" /* yacc.c:1652  */
42539     break;
42540 
42541   case 1977:
42542 #line 13256 "gram.y" /* yacc.c:1652  */
42543     {
42544 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_BETWEEN_SYM,
42545 												   "NOT BETWEEN SYMMETRIC",
42546 												   (yyvsp[-6].node),
42547 												   (Node *) list_make2((yyvsp[-2].node), (yyvsp[0].node)),
42548 												   (yylsp[-5]));
42549 				}
42550 #line 42551 "gram.c" /* yacc.c:1652  */
42551     break;
42552 
42553   case 1978:
42554 #line 13264 "gram.y" /* yacc.c:1652  */
42555     {
42556 					/* in_expr returns a SubLink or a list of a_exprs */
42557 					if (IsA((yyvsp[0].node), SubLink))
42558 					{
42559 						/* generate foo = ANY (subquery) */
42560 						SubLink *n = (SubLink *) (yyvsp[0].node);
42561 						n->subLinkType = ANY_SUBLINK;
42562 						n->subLinkId = 0;
42563 						n->testexpr = (yyvsp[-2].node);
42564 						n->operName = NIL;		/* show it's IN not = ANY */
42565 						n->location = (yylsp[-1]);
42566 						(yyval.node) = (Node *)n;
42567 					}
42568 					else
42569 					{
42570 						/* generate scalar IN expression */
42571 						(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_IN, "=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1]));
42572 					}
42573 				}
42574 #line 42575 "gram.c" /* yacc.c:1652  */
42575     break;
42576 
42577   case 1979:
42578 #line 13284 "gram.y" /* yacc.c:1652  */
42579     {
42580 					/* in_expr returns a SubLink or a list of a_exprs */
42581 					if (IsA((yyvsp[0].node), SubLink))
42582 					{
42583 						/* generate NOT (foo = ANY (subquery)) */
42584 						/* Make an = ANY node */
42585 						SubLink *n = (SubLink *) (yyvsp[0].node);
42586 						n->subLinkType = ANY_SUBLINK;
42587 						n->subLinkId = 0;
42588 						n->testexpr = (yyvsp[-3].node);
42589 						n->operName = NIL;		/* show it's IN not = ANY */
42590 						n->location = (yylsp[-2]);
42591 						/* Stick a NOT on top; must have same parse location */
42592 						(yyval.node) = makeNotExpr((Node *) n, (yylsp[-2]));
42593 					}
42594 					else
42595 					{
42596 						/* generate scalar NOT IN expression */
42597 						(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_IN, "<>", (yyvsp[-3].node), (yyvsp[0].node), (yylsp[-2]));
42598 					}
42599 				}
42600 #line 42601 "gram.c" /* yacc.c:1652  */
42601     break;
42602 
42603   case 1980:
42604 #line 13306 "gram.y" /* yacc.c:1652  */
42605     {
42606 					SubLink *n = makeNode(SubLink);
42607 					n->subLinkType = (yyvsp[-1].ival);
42608 					n->subLinkId = 0;
42609 					n->testexpr = (yyvsp[-3].node);
42610 					n->operName = (yyvsp[-2].list);
42611 					n->subselect = (yyvsp[0].node);
42612 					n->location = (yylsp[-2]);
42613 					(yyval.node) = (Node *)n;
42614 				}
42615 #line 42616 "gram.c" /* yacc.c:1652  */
42616     break;
42617 
42618   case 1981:
42619 #line 13317 "gram.y" /* yacc.c:1652  */
42620     {
42621 					if ((yyvsp[-3].ival) == ANY_SUBLINK)
42622 						(yyval.node) = (Node *) makeA_Expr(AEXPR_OP_ANY, (yyvsp[-4].list), (yyvsp[-5].node), (yyvsp[-1].node), (yylsp[-4]));
42623 					else
42624 						(yyval.node) = (Node *) makeA_Expr(AEXPR_OP_ALL, (yyvsp[-4].list), (yyvsp[-5].node), (yyvsp[-1].node), (yylsp[-4]));
42625 				}
42626 #line 42627 "gram.c" /* yacc.c:1652  */
42627     break;
42628 
42629   case 1982:
42630 #line 13324 "gram.y" /* yacc.c:1652  */
42631     {
42632 					/* Not sure how to get rid of the parentheses
42633 					 * but there are lots of shift/reduce errors without them.
42634 					 *
42635 					 * Should be able to implement this by plopping the entire
42636 					 * select into a node, then transforming the target expressions
42637 					 * from whatever they are into count(*), and testing the
42638 					 * entire result equal to one.
42639 					 * But, will probably implement a separate node in the executor.
42640 					 */
42641 					ereport(ERROR,
42642 							(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
42643 							 errmsg("UNIQUE predicate is not yet implemented"),
42644 							 parser_errposition((yylsp[-1]))));
42645 				}
42646 #line 42647 "gram.c" /* yacc.c:1652  */
42647     break;
42648 
42649   case 1983:
42650 #line 13340 "gram.y" /* yacc.c:1652  */
42651     {
42652 					(yyval.node) = makeXmlExpr(IS_DOCUMENT, NULL, NIL,
42653 									 list_make1((yyvsp[-2].node)), (yylsp[-1]));
42654 				}
42655 #line 42656 "gram.c" /* yacc.c:1652  */
42656     break;
42657 
42658   case 1984:
42659 #line 13345 "gram.y" /* yacc.c:1652  */
42660     {
42661 					(yyval.node) = makeNotExpr(makeXmlExpr(IS_DOCUMENT, NULL, NIL,
42662 												 list_make1((yyvsp[-3].node)), (yylsp[-2])),
42663 									 (yylsp[-2]));
42664 				}
42665 #line 42666 "gram.c" /* yacc.c:1652  */
42666     break;
42667 
42668   case 1985:
42669 #line 13351 "gram.y" /* yacc.c:1652  */
42670     {
42671 					/*
42672 					 * The SQL spec only allows DEFAULT in "contextually typed
42673 					 * expressions", but for us, it's easier to allow it in
42674 					 * any a_expr and then throw error during parse analysis
42675 					 * if it's in an inappropriate context.  This way also
42676 					 * lets us say something smarter than "syntax error".
42677 					 */
42678 					SetToDefault *n = makeNode(SetToDefault);
42679 					/* parse analysis will fill in the rest */
42680 					n->location = (yylsp[0]);
42681 					(yyval.node) = (Node *)n;
42682 				}
42683 #line 42684 "gram.c" /* yacc.c:1652  */
42684     break;
42685 
42686   case 1986:
42687 #line 13376 "gram.y" /* yacc.c:1652  */
42688     { (yyval.node) = (yyvsp[0].node); }
42689 #line 42690 "gram.c" /* yacc.c:1652  */
42690     break;
42691 
42692   case 1987:
42693 #line 13378 "gram.y" /* yacc.c:1652  */
42694     { (yyval.node) = makeTypeCast((yyvsp[-2].node), (yyvsp[0].typnam), (yylsp[-1])); }
42695 #line 42696 "gram.c" /* yacc.c:1652  */
42696     break;
42697 
42698   case 1988:
42699 #line 13380 "gram.y" /* yacc.c:1652  */
42700     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[0].node), (yylsp[-1])); }
42701 #line 42702 "gram.c" /* yacc.c:1652  */
42702     break;
42703 
42704   case 1989:
42705 #line 13382 "gram.y" /* yacc.c:1652  */
42706     { (yyval.node) = doNegate((yyvsp[0].node), (yylsp[-1])); }
42707 #line 42708 "gram.c" /* yacc.c:1652  */
42708     break;
42709 
42710   case 1990:
42711 #line 13384 "gram.y" /* yacc.c:1652  */
42712     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
42713 #line 42714 "gram.c" /* yacc.c:1652  */
42714     break;
42715 
42716   case 1991:
42717 #line 13386 "gram.y" /* yacc.c:1652  */
42718     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "-", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
42719 #line 42720 "gram.c" /* yacc.c:1652  */
42720     break;
42721 
42722   case 1992:
42723 #line 13388 "gram.y" /* yacc.c:1652  */
42724     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "*", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
42725 #line 42726 "gram.c" /* yacc.c:1652  */
42726     break;
42727 
42728   case 1993:
42729 #line 13390 "gram.y" /* yacc.c:1652  */
42730     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "/", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
42731 #line 42732 "gram.c" /* yacc.c:1652  */
42732     break;
42733 
42734   case 1994:
42735 #line 13392 "gram.y" /* yacc.c:1652  */
42736     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
42737 #line 42738 "gram.c" /* yacc.c:1652  */
42738     break;
42739 
42740   case 1995:
42741 #line 13394 "gram.y" /* yacc.c:1652  */
42742     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
42743 #line 42744 "gram.c" /* yacc.c:1652  */
42744     break;
42745 
42746   case 1996:
42747 #line 13396 "gram.y" /* yacc.c:1652  */
42748     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
42749 #line 42750 "gram.c" /* yacc.c:1652  */
42750     break;
42751 
42752   case 1997:
42753 #line 13398 "gram.y" /* yacc.c:1652  */
42754     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
42755 #line 42756 "gram.c" /* yacc.c:1652  */
42756     break;
42757 
42758   case 1998:
42759 #line 13400 "gram.y" /* yacc.c:1652  */
42760     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
42761 #line 42762 "gram.c" /* yacc.c:1652  */
42762     break;
42763 
42764   case 1999:
42765 #line 13402 "gram.y" /* yacc.c:1652  */
42766     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
42767 #line 42768 "gram.c" /* yacc.c:1652  */
42768     break;
42769 
42770   case 2000:
42771 #line 13404 "gram.y" /* yacc.c:1652  */
42772     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
42773 #line 42774 "gram.c" /* yacc.c:1652  */
42774     break;
42775 
42776   case 2001:
42777 #line 13406 "gram.y" /* yacc.c:1652  */
42778     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<>", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
42779 #line 42780 "gram.c" /* yacc.c:1652  */
42780     break;
42781 
42782   case 2002:
42783 #line 13408 "gram.y" /* yacc.c:1652  */
42784     { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
42785 #line 42786 "gram.c" /* yacc.c:1652  */
42786     break;
42787 
42788   case 2003:
42789 #line 13410 "gram.y" /* yacc.c:1652  */
42790     { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), NULL, (yyvsp[0].node), (yylsp[-1])); }
42791 #line 42792 "gram.c" /* yacc.c:1652  */
42792     break;
42793 
42794   case 2004:
42795 #line 13412 "gram.y" /* yacc.c:1652  */
42796     { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[0].list), (yyvsp[-1].node), NULL, (yylsp[0])); }
42797 #line 42798 "gram.c" /* yacc.c:1652  */
42798     break;
42799 
42800   case 2005:
42801 #line 13414 "gram.y" /* yacc.c:1652  */
42802     {
42803 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", (yyvsp[-4].node), (yyvsp[0].node), (yylsp[-3]));
42804 				}
42805 #line 42806 "gram.c" /* yacc.c:1652  */
42806     break;
42807 
42808   case 2006:
42809 #line 13418 "gram.y" /* yacc.c:1652  */
42810     {
42811 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_DISTINCT, "=", (yyvsp[-5].node), (yyvsp[0].node), (yylsp[-4]));
42812 				}
42813 #line 42814 "gram.c" /* yacc.c:1652  */
42814     break;
42815 
42816   case 2007:
42817 #line 13422 "gram.y" /* yacc.c:1652  */
42818     {
42819 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "=", (yyvsp[-5].node), (Node *) (yyvsp[-1].list), (yylsp[-4]));
42820 				}
42821 #line 42822 "gram.c" /* yacc.c:1652  */
42822     break;
42823 
42824   case 2008:
42825 #line 13426 "gram.y" /* yacc.c:1652  */
42826     {
42827 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "<>", (yyvsp[-6].node), (Node *) (yyvsp[-1].list), (yylsp[-5]));
42828 				}
42829 #line 42830 "gram.c" /* yacc.c:1652  */
42830     break;
42831 
42832   case 2009:
42833 #line 13430 "gram.y" /* yacc.c:1652  */
42834     {
42835 					(yyval.node) = makeXmlExpr(IS_DOCUMENT, NULL, NIL,
42836 									 list_make1((yyvsp[-2].node)), (yylsp[-1]));
42837 				}
42838 #line 42839 "gram.c" /* yacc.c:1652  */
42839     break;
42840 
42841   case 2010:
42842 #line 13435 "gram.y" /* yacc.c:1652  */
42843     {
42844 					(yyval.node) = makeNotExpr(makeXmlExpr(IS_DOCUMENT, NULL, NIL,
42845 												 list_make1((yyvsp[-3].node)), (yylsp[-2])),
42846 									 (yylsp[-2]));
42847 				}
42848 #line 42849 "gram.c" /* yacc.c:1652  */
42849     break;
42850 
42851   case 2011:
42852 #line 13450 "gram.y" /* yacc.c:1652  */
42853     { (yyval.node) = (yyvsp[0].node); }
42854 #line 42855 "gram.c" /* yacc.c:1652  */
42855     break;
42856 
42857   case 2012:
42858 #line 13451 "gram.y" /* yacc.c:1652  */
42859     { (yyval.node) = (yyvsp[0].node); }
42860 #line 42861 "gram.c" /* yacc.c:1652  */
42861     break;
42862 
42863   case 2013:
42864 #line 13453 "gram.y" /* yacc.c:1652  */
42865     {
42866 					ParamRef *p = makeNode(ParamRef);
42867 					p->number = (yyvsp[-1].ival);
42868 					p->location = (yylsp[-1]);
42869 					if ((yyvsp[0].list))
42870 					{
42871 						A_Indirection *n = makeNode(A_Indirection);
42872 						n->arg = (Node *) p;
42873 						n->indirection = check_indirection((yyvsp[0].list), yyscanner);
42874 						(yyval.node) = (Node *) n;
42875 					}
42876 					else
42877 						(yyval.node) = (Node *) p;
42878 				}
42879 #line 42880 "gram.c" /* yacc.c:1652  */
42880     break;
42881 
42882   case 2014:
42883 #line 13468 "gram.y" /* yacc.c:1652  */
42884     {
42885 					if ((yyvsp[0].list))
42886 					{
42887 						A_Indirection *n = makeNode(A_Indirection);
42888 						n->arg = (yyvsp[-2].node);
42889 						n->indirection = check_indirection((yyvsp[0].list), yyscanner);
42890 						(yyval.node) = (Node *)n;
42891 					}
42892 					else if (operator_precedence_warning)
42893 					{
42894 						/*
42895 						 * If precedence warnings are enabled, insert
42896 						 * AEXPR_PAREN nodes wrapping all explicitly
42897 						 * parenthesized subexpressions; this prevents bogus
42898 						 * warnings from being issued when the ordering has
42899 						 * been forced by parentheses.  Take care that an
42900 						 * AEXPR_PAREN node has the same exprLocation as its
42901 						 * child, so as not to cause surprising changes in
42902 						 * error cursor positioning.
42903 						 *
42904 						 * In principle we should not be relying on a GUC to
42905 						 * decide whether to insert AEXPR_PAREN nodes.
42906 						 * However, since they have no effect except to
42907 						 * suppress warnings, it's probably safe enough; and
42908 						 * we'd just as soon not waste cycles on dummy parse
42909 						 * nodes if we don't have to.
42910 						 */
42911 						(yyval.node) = (Node *) makeA_Expr(AEXPR_PAREN, NIL, (yyvsp[-2].node), NULL,
42912 												 exprLocation((yyvsp[-2].node)));
42913 					}
42914 					else
42915 						(yyval.node) = (yyvsp[-2].node);
42916 				}
42917 #line 42918 "gram.c" /* yacc.c:1652  */
42918     break;
42919 
42920   case 2015:
42921 #line 13502 "gram.y" /* yacc.c:1652  */
42922     { (yyval.node) = (yyvsp[0].node); }
42923 #line 42924 "gram.c" /* yacc.c:1652  */
42924     break;
42925 
42926   case 2016:
42927 #line 13504 "gram.y" /* yacc.c:1652  */
42928     { (yyval.node) = (yyvsp[0].node); }
42929 #line 42930 "gram.c" /* yacc.c:1652  */
42930     break;
42931 
42932   case 2017:
42933 #line 13506 "gram.y" /* yacc.c:1652  */
42934     {
42935 					SubLink *n = makeNode(SubLink);
42936 					n->subLinkType = EXPR_SUBLINK;
42937 					n->subLinkId = 0;
42938 					n->testexpr = NULL;
42939 					n->operName = NIL;
42940 					n->subselect = (yyvsp[0].node);
42941 					n->location = (yylsp[0]);
42942 					(yyval.node) = (Node *)n;
42943 				}
42944 #line 42945 "gram.c" /* yacc.c:1652  */
42945     break;
42946 
42947   case 2018:
42948 #line 13517 "gram.y" /* yacc.c:1652  */
42949     {
42950 					/*
42951 					 * Because the select_with_parens nonterminal is designed
42952 					 * to "eat" as many levels of parens as possible, the
42953 					 * '(' a_expr ')' opt_indirection production above will
42954 					 * fail to match a sub-SELECT with indirection decoration;
42955 					 * the sub-SELECT won't be regarded as an a_expr as long
42956 					 * as there are parens around it.  To support applying
42957 					 * subscripting or field selection to a sub-SELECT result,
42958 					 * we need this redundant-looking production.
42959 					 */
42960 					SubLink *n = makeNode(SubLink);
42961 					A_Indirection *a = makeNode(A_Indirection);
42962 					n->subLinkType = EXPR_SUBLINK;
42963 					n->subLinkId = 0;
42964 					n->testexpr = NULL;
42965 					n->operName = NIL;
42966 					n->subselect = (yyvsp[-1].node);
42967 					n->location = (yylsp[-1]);
42968 					a->arg = (Node *)n;
42969 					a->indirection = check_indirection((yyvsp[0].list), yyscanner);
42970 					(yyval.node) = (Node *)a;
42971 				}
42972 #line 42973 "gram.c" /* yacc.c:1652  */
42973     break;
42974 
42975   case 2019:
42976 #line 13541 "gram.y" /* yacc.c:1652  */
42977     {
42978 					SubLink *n = makeNode(SubLink);
42979 					n->subLinkType = EXISTS_SUBLINK;
42980 					n->subLinkId = 0;
42981 					n->testexpr = NULL;
42982 					n->operName = NIL;
42983 					n->subselect = (yyvsp[0].node);
42984 					n->location = (yylsp[-1]);
42985 					(yyval.node) = (Node *)n;
42986 				}
42987 #line 42988 "gram.c" /* yacc.c:1652  */
42988     break;
42989 
42990   case 2020:
42991 #line 13552 "gram.y" /* yacc.c:1652  */
42992     {
42993 					SubLink *n = makeNode(SubLink);
42994 					n->subLinkType = ARRAY_SUBLINK;
42995 					n->subLinkId = 0;
42996 					n->testexpr = NULL;
42997 					n->operName = NIL;
42998 					n->subselect = (yyvsp[0].node);
42999 					n->location = (yylsp[-1]);
43000 					(yyval.node) = (Node *)n;
43001 				}
43002 #line 43003 "gram.c" /* yacc.c:1652  */
43003     break;
43004 
43005   case 2021:
43006 #line 13563 "gram.y" /* yacc.c:1652  */
43007     {
43008 					A_ArrayExpr *n = castNode(A_ArrayExpr, (yyvsp[0].node));
43009 					/* point outermost A_ArrayExpr to the ARRAY keyword */
43010 					n->location = (yylsp[-1]);
43011 					(yyval.node) = (Node *)n;
43012 				}
43013 #line 43014 "gram.c" /* yacc.c:1652  */
43014     break;
43015 
43016   case 2022:
43017 #line 13570 "gram.y" /* yacc.c:1652  */
43018     {
43019 					RowExpr *r = makeNode(RowExpr);
43020 					r->args = (yyvsp[0].list);
43021 					r->row_typeid = InvalidOid;	/* not analyzed yet */
43022 					r->colnames = NIL;	/* to be filled in during analysis */
43023 					r->row_format = COERCE_EXPLICIT_CALL; /* abuse */
43024 					r->location = (yylsp[0]);
43025 					(yyval.node) = (Node *)r;
43026 				}
43027 #line 43028 "gram.c" /* yacc.c:1652  */
43028     break;
43029 
43030   case 2023:
43031 #line 13580 "gram.y" /* yacc.c:1652  */
43032     {
43033 					RowExpr *r = makeNode(RowExpr);
43034 					r->args = (yyvsp[0].list);
43035 					r->row_typeid = InvalidOid;	/* not analyzed yet */
43036 					r->colnames = NIL;	/* to be filled in during analysis */
43037 					r->row_format = COERCE_IMPLICIT_CAST; /* abuse */
43038 					r->location = (yylsp[0]);
43039 					(yyval.node) = (Node *)r;
43040 				}
43041 #line 43042 "gram.c" /* yacc.c:1652  */
43042     break;
43043 
43044   case 2024:
43045 #line 13590 "gram.y" /* yacc.c:1652  */
43046     {
43047 				  GroupingFunc *g = makeNode(GroupingFunc);
43048 				  g->args = (yyvsp[-1].list);
43049 				  g->location = (yylsp[-3]);
43050 				  (yyval.node) = (Node *)g;
43051 			  }
43052 #line 43053 "gram.c" /* yacc.c:1652  */
43053     break;
43054 
43055   case 2025:
43056 #line 13599 "gram.y" /* yacc.c:1652  */
43057     {
43058 					(yyval.node) = (Node *) makeFuncCall((yyvsp[-2].list), NIL, (yylsp[-2]));
43059 				}
43060 #line 43061 "gram.c" /* yacc.c:1652  */
43061     break;
43062 
43063   case 2026:
43064 #line 13603 "gram.y" /* yacc.c:1652  */
43065     {
43066 					FuncCall *n = makeFuncCall((yyvsp[-4].list), (yyvsp[-2].list), (yylsp[-4]));
43067 					n->agg_order = (yyvsp[-1].list);
43068 					(yyval.node) = (Node *)n;
43069 				}
43070 #line 43071 "gram.c" /* yacc.c:1652  */
43071     break;
43072 
43073   case 2027:
43074 #line 13609 "gram.y" /* yacc.c:1652  */
43075     {
43076 					FuncCall *n = makeFuncCall((yyvsp[-5].list), list_make1((yyvsp[-2].node)), (yylsp[-5]));
43077 					n->func_variadic = true;
43078 					n->agg_order = (yyvsp[-1].list);
43079 					(yyval.node) = (Node *)n;
43080 				}
43081 #line 43082 "gram.c" /* yacc.c:1652  */
43082     break;
43083 
43084   case 2028:
43085 #line 13616 "gram.y" /* yacc.c:1652  */
43086     {
43087 					FuncCall *n = makeFuncCall((yyvsp[-7].list), lappend((yyvsp[-5].list), (yyvsp[-2].node)), (yylsp[-7]));
43088 					n->func_variadic = true;
43089 					n->agg_order = (yyvsp[-1].list);
43090 					(yyval.node) = (Node *)n;
43091 				}
43092 #line 43093 "gram.c" /* yacc.c:1652  */
43093     break;
43094 
43095   case 2029:
43096 #line 13623 "gram.y" /* yacc.c:1652  */
43097     {
43098 					FuncCall *n = makeFuncCall((yyvsp[-5].list), (yyvsp[-2].list), (yylsp[-5]));
43099 					n->agg_order = (yyvsp[-1].list);
43100 					/* Ideally we'd mark the FuncCall node to indicate
43101 					 * "must be an aggregate", but there's no provision
43102 					 * for that in FuncCall at the moment.
43103 					 */
43104 					(yyval.node) = (Node *)n;
43105 				}
43106 #line 43107 "gram.c" /* yacc.c:1652  */
43107     break;
43108 
43109   case 2030:
43110 #line 13633 "gram.y" /* yacc.c:1652  */
43111     {
43112 					FuncCall *n = makeFuncCall((yyvsp[-5].list), (yyvsp[-2].list), (yylsp[-5]));
43113 					n->agg_order = (yyvsp[-1].list);
43114 					n->agg_distinct = true;
43115 					(yyval.node) = (Node *)n;
43116 				}
43117 #line 43118 "gram.c" /* yacc.c:1652  */
43118     break;
43119 
43120   case 2031:
43121 #line 13640 "gram.y" /* yacc.c:1652  */
43122     {
43123 					/*
43124 					 * We consider AGGREGATE(*) to invoke a parameterless
43125 					 * aggregate.  This does the right thing for COUNT(*),
43126 					 * and there are no other aggregates in SQL that accept
43127 					 * '*' as parameter.
43128 					 *
43129 					 * The FuncCall node is also marked agg_star = true,
43130 					 * so that later processing can detect what the argument
43131 					 * really was.
43132 					 */
43133 					FuncCall *n = makeFuncCall((yyvsp[-3].list), NIL, (yylsp[-3]));
43134 					n->agg_star = true;
43135 					(yyval.node) = (Node *)n;
43136 				}
43137 #line 43138 "gram.c" /* yacc.c:1652  */
43138     break;
43139 
43140   case 2032:
43141 #line 13668 "gram.y" /* yacc.c:1652  */
43142     {
43143 					FuncCall *n = (FuncCall *) (yyvsp[-3].node);
43144 					/*
43145 					 * The order clause for WITHIN GROUP and the one for
43146 					 * plain-aggregate ORDER BY share a field, so we have to
43147 					 * check here that at most one is present.  We also check
43148 					 * for DISTINCT and VARIADIC here to give a better error
43149 					 * location.  Other consistency checks are deferred to
43150 					 * parse analysis.
43151 					 */
43152 					if ((yyvsp[-2].list) != NIL)
43153 					{
43154 						if (n->agg_order != NIL)
43155 							ereport(ERROR,
43156 									(errcode(ERRCODE_SYNTAX_ERROR),
43157 									 errmsg("cannot use multiple ORDER BY clauses with WITHIN GROUP"),
43158 									 parser_errposition((yylsp[-2]))));
43159 						if (n->agg_distinct)
43160 							ereport(ERROR,
43161 									(errcode(ERRCODE_SYNTAX_ERROR),
43162 									 errmsg("cannot use DISTINCT with WITHIN GROUP"),
43163 									 parser_errposition((yylsp[-2]))));
43164 						if (n->func_variadic)
43165 							ereport(ERROR,
43166 									(errcode(ERRCODE_SYNTAX_ERROR),
43167 									 errmsg("cannot use VARIADIC with WITHIN GROUP"),
43168 									 parser_errposition((yylsp[-2]))));
43169 						n->agg_order = (yyvsp[-2].list);
43170 						n->agg_within_group = true;
43171 					}
43172 					n->agg_filter = (yyvsp[-1].node);
43173 					n->over = (yyvsp[0].windef);
43174 					(yyval.node) = (Node *) n;
43175 				}
43176 #line 43177 "gram.c" /* yacc.c:1652  */
43177     break;
43178 
43179   case 2033:
43180 #line 13703 "gram.y" /* yacc.c:1652  */
43181     { (yyval.node) = (yyvsp[0].node); }
43182 #line 43183 "gram.c" /* yacc.c:1652  */
43183     break;
43184 
43185   case 2034:
43186 #line 13713 "gram.y" /* yacc.c:1652  */
43187     { (yyval.node) = (yyvsp[0].node); }
43188 #line 43189 "gram.c" /* yacc.c:1652  */
43189     break;
43190 
43191   case 2035:
43192 #line 13714 "gram.y" /* yacc.c:1652  */
43193     { (yyval.node) = (yyvsp[0].node); }
43194 #line 43195 "gram.c" /* yacc.c:1652  */
43195     break;
43196 
43197   case 2036:
43198 #line 13722 "gram.y" /* yacc.c:1652  */
43199     {
43200 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("pg_collation_for"),
43201 											   list_make1((yyvsp[-1].node)),
43202 											   (yylsp[-4]));
43203 				}
43204 #line 43205 "gram.c" /* yacc.c:1652  */
43205     break;
43206 
43207   case 2037:
43208 #line 13728 "gram.y" /* yacc.c:1652  */
43209     {
43210 					(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_DATE, -1, (yylsp[0]));
43211 				}
43212 #line 43213 "gram.c" /* yacc.c:1652  */
43213     break;
43214 
43215   case 2038:
43216 #line 13732 "gram.y" /* yacc.c:1652  */
43217     {
43218 					(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIME, -1, (yylsp[0]));
43219 				}
43220 #line 43221 "gram.c" /* yacc.c:1652  */
43221     break;
43222 
43223   case 2039:
43224 #line 13736 "gram.y" /* yacc.c:1652  */
43225     {
43226 					(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIME_N, (yyvsp[-1].ival), (yylsp[-3]));
43227 				}
43228 #line 43229 "gram.c" /* yacc.c:1652  */
43229     break;
43230 
43231   case 2040:
43232 #line 13740 "gram.y" /* yacc.c:1652  */
43233     {
43234 					(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIMESTAMP, -1, (yylsp[0]));
43235 				}
43236 #line 43237 "gram.c" /* yacc.c:1652  */
43237     break;
43238 
43239   case 2041:
43240 #line 13744 "gram.y" /* yacc.c:1652  */
43241     {
43242 					(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIMESTAMP_N, (yyvsp[-1].ival), (yylsp[-3]));
43243 				}
43244 #line 43245 "gram.c" /* yacc.c:1652  */
43245     break;
43246 
43247   case 2042:
43248 #line 13748 "gram.y" /* yacc.c:1652  */
43249     {
43250 					(yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIME, -1, (yylsp[0]));
43251 				}
43252 #line 43253 "gram.c" /* yacc.c:1652  */
43253     break;
43254 
43255   case 2043:
43256 #line 13752 "gram.y" /* yacc.c:1652  */
43257     {
43258 					(yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIME_N, (yyvsp[-1].ival), (yylsp[-3]));
43259 				}
43260 #line 43261 "gram.c" /* yacc.c:1652  */
43261     break;
43262 
43263   case 2044:
43264 #line 13756 "gram.y" /* yacc.c:1652  */
43265     {
43266 					(yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIMESTAMP, -1, (yylsp[0]));
43267 				}
43268 #line 43269 "gram.c" /* yacc.c:1652  */
43269     break;
43270 
43271   case 2045:
43272 #line 13760 "gram.y" /* yacc.c:1652  */
43273     {
43274 					(yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIMESTAMP_N, (yyvsp[-1].ival), (yylsp[-3]));
43275 				}
43276 #line 43277 "gram.c" /* yacc.c:1652  */
43277     break;
43278 
43279   case 2046:
43280 #line 13764 "gram.y" /* yacc.c:1652  */
43281     {
43282 					(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_ROLE, -1, (yylsp[0]));
43283 				}
43284 #line 43285 "gram.c" /* yacc.c:1652  */
43285     break;
43286 
43287   case 2047:
43288 #line 13768 "gram.y" /* yacc.c:1652  */
43289     {
43290 					(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_USER, -1, (yylsp[0]));
43291 				}
43292 #line 43293 "gram.c" /* yacc.c:1652  */
43293     break;
43294 
43295   case 2048:
43296 #line 13772 "gram.y" /* yacc.c:1652  */
43297     {
43298 					(yyval.node) = makeSQLValueFunction(SVFOP_SESSION_USER, -1, (yylsp[0]));
43299 				}
43300 #line 43301 "gram.c" /* yacc.c:1652  */
43301     break;
43302 
43303   case 2049:
43304 #line 13776 "gram.y" /* yacc.c:1652  */
43305     {
43306 					(yyval.node) = makeSQLValueFunction(SVFOP_USER, -1, (yylsp[0]));
43307 				}
43308 #line 43309 "gram.c" /* yacc.c:1652  */
43309     break;
43310 
43311   case 2050:
43312 #line 13780 "gram.y" /* yacc.c:1652  */
43313     {
43314 					(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_CATALOG, -1, (yylsp[0]));
43315 				}
43316 #line 43317 "gram.c" /* yacc.c:1652  */
43317     break;
43318 
43319   case 2051:
43320 #line 13784 "gram.y" /* yacc.c:1652  */
43321     {
43322 					(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_SCHEMA, -1, (yylsp[0]));
43323 				}
43324 #line 43325 "gram.c" /* yacc.c:1652  */
43325     break;
43326 
43327   case 2052:
43328 #line 13788 "gram.y" /* yacc.c:1652  */
43329     { (yyval.node) = makeTypeCast((yyvsp[-3].node), (yyvsp[-1].typnam), (yylsp[-5])); }
43330 #line 43331 "gram.c" /* yacc.c:1652  */
43331     break;
43332 
43333   case 2053:
43334 #line 13790 "gram.y" /* yacc.c:1652  */
43335     {
43336 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("date_part"), (yyvsp[-1].list), (yylsp[-3]));
43337 				}
43338 #line 43339 "gram.c" /* yacc.c:1652  */
43339     break;
43340 
43341   case 2054:
43342 #line 13794 "gram.y" /* yacc.c:1652  */
43343     {
43344 					/* overlay(A PLACING B FROM C FOR D) is converted to
43345 					 * overlay(A, B, C, D)
43346 					 * overlay(A PLACING B FROM C) is converted to
43347 					 * overlay(A, B, C)
43348 					 */
43349 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("overlay"), (yyvsp[-1].list), (yylsp[-3]));
43350 				}
43351 #line 43352 "gram.c" /* yacc.c:1652  */
43352     break;
43353 
43354   case 2055:
43355 #line 13803 "gram.y" /* yacc.c:1652  */
43356     {
43357 					/* position(A in B) is converted to position(B, A) */
43358 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("position"), (yyvsp[-1].list), (yylsp[-3]));
43359 				}
43360 #line 43361 "gram.c" /* yacc.c:1652  */
43361     break;
43362 
43363   case 2056:
43364 #line 13808 "gram.y" /* yacc.c:1652  */
43365     {
43366 					/* substring(A from B for C) is converted to
43367 					 * substring(A, B, C) - thomas 2000-11-28
43368 					 */
43369 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("substring"), (yyvsp[-1].list), (yylsp[-3]));
43370 				}
43371 #line 43372 "gram.c" /* yacc.c:1652  */
43372     break;
43373 
43374   case 2057:
43375 #line 13815 "gram.y" /* yacc.c:1652  */
43376     {
43377 					/* TREAT(expr AS target) converts expr of a particular type to target,
43378 					 * which is defined to be a subtype of the original expression.
43379 					 * In SQL99, this is intended for use with structured UDTs,
43380 					 * but let's make this a generally useful form allowing stronger
43381 					 * coercions than are handled by implicit casting.
43382 					 *
43383 					 * Convert SystemTypeName() to SystemFuncName() even though
43384 					 * at the moment they result in the same thing.
43385 					 */
43386 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName(((Value *)llast((yyvsp[-1].typnam)->names))->val.str),
43387 												list_make1((yyvsp[-3].node)),
43388 												(yylsp[-5]));
43389 				}
43390 #line 43391 "gram.c" /* yacc.c:1652  */
43391     break;
43392 
43393   case 2058:
43394 #line 13830 "gram.y" /* yacc.c:1652  */
43395     {
43396 					/* various trim expressions are defined in SQL
43397 					 * - thomas 1997-07-19
43398 					 */
43399 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("btrim"), (yyvsp[-1].list), (yylsp[-4]));
43400 				}
43401 #line 43402 "gram.c" /* yacc.c:1652  */
43402     break;
43403 
43404   case 2059:
43405 #line 13837 "gram.y" /* yacc.c:1652  */
43406     {
43407 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("ltrim"), (yyvsp[-1].list), (yylsp[-4]));
43408 				}
43409 #line 43410 "gram.c" /* yacc.c:1652  */
43410     break;
43411 
43412   case 2060:
43413 #line 13841 "gram.y" /* yacc.c:1652  */
43414     {
43415 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("rtrim"), (yyvsp[-1].list), (yylsp[-4]));
43416 				}
43417 #line 43418 "gram.c" /* yacc.c:1652  */
43418     break;
43419 
43420   case 2061:
43421 #line 13845 "gram.y" /* yacc.c:1652  */
43422     {
43423 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("btrim"), (yyvsp[-1].list), (yylsp[-3]));
43424 				}
43425 #line 43426 "gram.c" /* yacc.c:1652  */
43426     break;
43427 
43428   case 2062:
43429 #line 13849 "gram.y" /* yacc.c:1652  */
43430     {
43431 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NULLIF, "=", (yyvsp[-3].node), (yyvsp[-1].node), (yylsp[-5]));
43432 				}
43433 #line 43434 "gram.c" /* yacc.c:1652  */
43434     break;
43435 
43436   case 2063:
43437 #line 13853 "gram.y" /* yacc.c:1652  */
43438     {
43439 					CoalesceExpr *c = makeNode(CoalesceExpr);
43440 					c->args = (yyvsp[-1].list);
43441 					c->location = (yylsp[-3]);
43442 					(yyval.node) = (Node *)c;
43443 				}
43444 #line 43445 "gram.c" /* yacc.c:1652  */
43445     break;
43446 
43447   case 2064:
43448 #line 13860 "gram.y" /* yacc.c:1652  */
43449     {
43450 					MinMaxExpr *v = makeNode(MinMaxExpr);
43451 					v->args = (yyvsp[-1].list);
43452 					v->op = IS_GREATEST;
43453 					v->location = (yylsp[-3]);
43454 					(yyval.node) = (Node *)v;
43455 				}
43456 #line 43457 "gram.c" /* yacc.c:1652  */
43457     break;
43458 
43459   case 2065:
43460 #line 13868 "gram.y" /* yacc.c:1652  */
43461     {
43462 					MinMaxExpr *v = makeNode(MinMaxExpr);
43463 					v->args = (yyvsp[-1].list);
43464 					v->op = IS_LEAST;
43465 					v->location = (yylsp[-3]);
43466 					(yyval.node) = (Node *)v;
43467 				}
43468 #line 43469 "gram.c" /* yacc.c:1652  */
43469     break;
43470 
43471   case 2066:
43472 #line 13876 "gram.y" /* yacc.c:1652  */
43473     {
43474 					(yyval.node) = makeXmlExpr(IS_XMLCONCAT, NULL, NIL, (yyvsp[-1].list), (yylsp[-3]));
43475 				}
43476 #line 43477 "gram.c" /* yacc.c:1652  */
43477     break;
43478 
43479   case 2067:
43480 #line 13880 "gram.y" /* yacc.c:1652  */
43481     {
43482 					(yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-1].str), NIL, NIL, (yylsp[-4]));
43483 				}
43484 #line 43485 "gram.c" /* yacc.c:1652  */
43485     break;
43486 
43487   case 2068:
43488 #line 13884 "gram.y" /* yacc.c:1652  */
43489     {
43490 					(yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-3].str), (yyvsp[-1].list), NIL, (yylsp[-6]));
43491 				}
43492 #line 43493 "gram.c" /* yacc.c:1652  */
43493     break;
43494 
43495   case 2069:
43496 #line 13888 "gram.y" /* yacc.c:1652  */
43497     {
43498 					(yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-3].str), NIL, (yyvsp[-1].list), (yylsp[-6]));
43499 				}
43500 #line 43501 "gram.c" /* yacc.c:1652  */
43501     break;
43502 
43503   case 2070:
43504 #line 13892 "gram.y" /* yacc.c:1652  */
43505     {
43506 					(yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-5].str), (yyvsp[-3].list), (yyvsp[-1].list), (yylsp[-8]));
43507 				}
43508 #line 43509 "gram.c" /* yacc.c:1652  */
43509     break;
43510 
43511   case 2071:
43512 #line 13896 "gram.y" /* yacc.c:1652  */
43513     {
43514 					/* xmlexists(A PASSING [BY REF] B [BY REF]) is
43515 					 * converted to xmlexists(A, B)*/
43516 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("xmlexists"), list_make2((yyvsp[-2].node), (yyvsp[-1].node)), (yylsp[-4]));
43517 				}
43518 #line 43519 "gram.c" /* yacc.c:1652  */
43519     break;
43520 
43521   case 2072:
43522 #line 13902 "gram.y" /* yacc.c:1652  */
43523     {
43524 					(yyval.node) = makeXmlExpr(IS_XMLFOREST, NULL, (yyvsp[-1].list), NIL, (yylsp[-3]));
43525 				}
43526 #line 43527 "gram.c" /* yacc.c:1652  */
43527     break;
43528 
43529   case 2073:
43530 #line 13906 "gram.y" /* yacc.c:1652  */
43531     {
43532 					XmlExpr *x = (XmlExpr *)
43533 						makeXmlExpr(IS_XMLPARSE, NULL, NIL,
43534 									list_make2((yyvsp[-2].node), makeBoolAConst((yyvsp[-1].boolean), -1)),
43535 									(yylsp[-5]));
43536 					x->xmloption = (yyvsp[-3].ival);
43537 					(yyval.node) = (Node *)x;
43538 				}
43539 #line 43540 "gram.c" /* yacc.c:1652  */
43540     break;
43541 
43542   case 2074:
43543 #line 13915 "gram.y" /* yacc.c:1652  */
43544     {
43545 					(yyval.node) = makeXmlExpr(IS_XMLPI, (yyvsp[-1].str), NULL, NIL, (yylsp[-4]));
43546 				}
43547 #line 43548 "gram.c" /* yacc.c:1652  */
43548     break;
43549 
43550   case 2075:
43551 #line 13919 "gram.y" /* yacc.c:1652  */
43552     {
43553 					(yyval.node) = makeXmlExpr(IS_XMLPI, (yyvsp[-3].str), NULL, list_make1((yyvsp[-1].node)), (yylsp[-6]));
43554 				}
43555 #line 43556 "gram.c" /* yacc.c:1652  */
43556     break;
43557 
43558   case 2076:
43559 #line 13923 "gram.y" /* yacc.c:1652  */
43560     {
43561 					(yyval.node) = makeXmlExpr(IS_XMLROOT, NULL, NIL,
43562 									 list_make3((yyvsp[-4].node), (yyvsp[-2].node), (yyvsp[-1].node)), (yylsp[-6]));
43563 				}
43564 #line 43565 "gram.c" /* yacc.c:1652  */
43565     break;
43566 
43567   case 2077:
43568 #line 13928 "gram.y" /* yacc.c:1652  */
43569     {
43570 					XmlSerialize *n = makeNode(XmlSerialize);
43571 					n->xmloption = (yyvsp[-4].ival);
43572 					n->expr = (yyvsp[-3].node);
43573 					n->typeName = (yyvsp[-1].typnam);
43574 					n->location = (yylsp[-6]);
43575 					(yyval.node) = (Node *)n;
43576 				}
43577 #line 43578 "gram.c" /* yacc.c:1652  */
43578     break;
43579 
43580   case 2078:
43581 #line 13942 "gram.y" /* yacc.c:1652  */
43582     { (yyval.node) = (yyvsp[0].node); }
43583 #line 43584 "gram.c" /* yacc.c:1652  */
43584     break;
43585 
43586   case 2079:
43587 #line 13944 "gram.y" /* yacc.c:1652  */
43588     { (yyval.node) = makeNullAConst(-1); }
43589 #line 43590 "gram.c" /* yacc.c:1652  */
43590     break;
43591 
43592   case 2080:
43593 #line 13948 "gram.y" /* yacc.c:1652  */
43594     { (yyval.node) = makeIntConst(XML_STANDALONE_YES, -1); }
43595 #line 43596 "gram.c" /* yacc.c:1652  */
43596     break;
43597 
43598   case 2081:
43599 #line 13950 "gram.y" /* yacc.c:1652  */
43600     { (yyval.node) = makeIntConst(XML_STANDALONE_NO, -1); }
43601 #line 43602 "gram.c" /* yacc.c:1652  */
43602     break;
43603 
43604   case 2082:
43605 #line 13952 "gram.y" /* yacc.c:1652  */
43606     { (yyval.node) = makeIntConst(XML_STANDALONE_NO_VALUE, -1); }
43607 #line 43608 "gram.c" /* yacc.c:1652  */
43608     break;
43609 
43610   case 2083:
43611 #line 13954 "gram.y" /* yacc.c:1652  */
43612     { (yyval.node) = makeIntConst(XML_STANDALONE_OMITTED, -1); }
43613 #line 43614 "gram.c" /* yacc.c:1652  */
43614     break;
43615 
43616   case 2084:
43617 #line 13957 "gram.y" /* yacc.c:1652  */
43618     { (yyval.list) = (yyvsp[-1].list); }
43619 #line 43620 "gram.c" /* yacc.c:1652  */
43620     break;
43621 
43622   case 2085:
43623 #line 13960 "gram.y" /* yacc.c:1652  */
43624     { (yyval.list) = list_make1((yyvsp[0].target)); }
43625 #line 43626 "gram.c" /* yacc.c:1652  */
43626     break;
43627 
43628   case 2086:
43629 #line 13961 "gram.y" /* yacc.c:1652  */
43630     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
43631 #line 43632 "gram.c" /* yacc.c:1652  */
43632     break;
43633 
43634   case 2087:
43635 #line 13965 "gram.y" /* yacc.c:1652  */
43636     {
43637 					(yyval.target) = makeNode(ResTarget);
43638 					(yyval.target)->name = (yyvsp[0].str);
43639 					(yyval.target)->indirection = NIL;
43640 					(yyval.target)->val = (Node *) (yyvsp[-2].node);
43641 					(yyval.target)->location = (yylsp[-2]);
43642 				}
43643 #line 43644 "gram.c" /* yacc.c:1652  */
43644     break;
43645 
43646   case 2088:
43647 #line 13973 "gram.y" /* yacc.c:1652  */
43648     {
43649 					(yyval.target) = makeNode(ResTarget);
43650 					(yyval.target)->name = NULL;
43651 					(yyval.target)->indirection = NIL;
43652 					(yyval.target)->val = (Node *) (yyvsp[0].node);
43653 					(yyval.target)->location = (yylsp[0]);
43654 				}
43655 #line 43656 "gram.c" /* yacc.c:1652  */
43656     break;
43657 
43658   case 2089:
43659 #line 13982 "gram.y" /* yacc.c:1652  */
43660     { (yyval.ival) = XMLOPTION_DOCUMENT; }
43661 #line 43662 "gram.c" /* yacc.c:1652  */
43662     break;
43663 
43664   case 2090:
43665 #line 13983 "gram.y" /* yacc.c:1652  */
43666     { (yyval.ival) = XMLOPTION_CONTENT; }
43667 #line 43668 "gram.c" /* yacc.c:1652  */
43668     break;
43669 
43670   case 2091:
43671 #line 13986 "gram.y" /* yacc.c:1652  */
43672     { (yyval.boolean) = true; }
43673 #line 43674 "gram.c" /* yacc.c:1652  */
43674     break;
43675 
43676   case 2092:
43677 #line 13987 "gram.y" /* yacc.c:1652  */
43678     { (yyval.boolean) = false; }
43679 #line 43680 "gram.c" /* yacc.c:1652  */
43680     break;
43681 
43682   case 2093:
43683 #line 13988 "gram.y" /* yacc.c:1652  */
43684     { (yyval.boolean) = false; }
43685 #line 43686 "gram.c" /* yacc.c:1652  */
43686     break;
43687 
43688   case 2094:
43689 #line 13994 "gram.y" /* yacc.c:1652  */
43690     {
43691 					(yyval.node) = (yyvsp[0].node);
43692 				}
43693 #line 43694 "gram.c" /* yacc.c:1652  */
43694     break;
43695 
43696   case 2095:
43697 #line 13998 "gram.y" /* yacc.c:1652  */
43698     {
43699 					(yyval.node) = (yyvsp[-2].node);
43700 				}
43701 #line 43702 "gram.c" /* yacc.c:1652  */
43702     break;
43703 
43704   case 2096:
43705 #line 14002 "gram.y" /* yacc.c:1652  */
43706     {
43707 					(yyval.node) = (yyvsp[0].node);
43708 				}
43709 #line 43710 "gram.c" /* yacc.c:1652  */
43710     break;
43711 
43712   case 2097:
43713 #line 14006 "gram.y" /* yacc.c:1652  */
43714     {
43715 					(yyval.node) = (yyvsp[-2].node);
43716 				}
43717 #line 43718 "gram.c" /* yacc.c:1652  */
43718     break;
43719 
43720   case 2098:
43721 #line 14016 "gram.y" /* yacc.c:1652  */
43722     { (yyval.list) = (yyvsp[-1].list); }
43723 #line 43724 "gram.c" /* yacc.c:1652  */
43724     break;
43725 
43726   case 2099:
43727 #line 14017 "gram.y" /* yacc.c:1652  */
43728     { (yyval.list) = NIL; }
43729 #line 43730 "gram.c" /* yacc.c:1652  */
43730     break;
43731 
43732   case 2100:
43733 #line 14021 "gram.y" /* yacc.c:1652  */
43734     { (yyval.node) = (yyvsp[-1].node); }
43735 #line 43736 "gram.c" /* yacc.c:1652  */
43736     break;
43737 
43738   case 2101:
43739 #line 14022 "gram.y" /* yacc.c:1652  */
43740     { (yyval.node) = NULL; }
43741 #line 43742 "gram.c" /* yacc.c:1652  */
43742     break;
43743 
43744   case 2102:
43745 #line 14030 "gram.y" /* yacc.c:1652  */
43746     { (yyval.list) = (yyvsp[0].list); }
43747 #line 43748 "gram.c" /* yacc.c:1652  */
43748     break;
43749 
43750   case 2103:
43751 #line 14031 "gram.y" /* yacc.c:1652  */
43752     { (yyval.list) = NIL; }
43753 #line 43754 "gram.c" /* yacc.c:1652  */
43754     break;
43755 
43756   case 2104:
43757 #line 14035 "gram.y" /* yacc.c:1652  */
43758     { (yyval.list) = list_make1((yyvsp[0].windef)); }
43759 #line 43760 "gram.c" /* yacc.c:1652  */
43760     break;
43761 
43762   case 2105:
43763 #line 14037 "gram.y" /* yacc.c:1652  */
43764     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].windef)); }
43765 #line 43766 "gram.c" /* yacc.c:1652  */
43766     break;
43767 
43768   case 2106:
43769 #line 14042 "gram.y" /* yacc.c:1652  */
43770     {
43771 					WindowDef *n = (yyvsp[0].windef);
43772 					n->name = (yyvsp[-2].str);
43773 					(yyval.windef) = n;
43774 				}
43775 #line 43776 "gram.c" /* yacc.c:1652  */
43776     break;
43777 
43778   case 2107:
43779 #line 14050 "gram.y" /* yacc.c:1652  */
43780     { (yyval.windef) = (yyvsp[0].windef); }
43781 #line 43782 "gram.c" /* yacc.c:1652  */
43782     break;
43783 
43784   case 2108:
43785 #line 14052 "gram.y" /* yacc.c:1652  */
43786     {
43787 					WindowDef *n = makeNode(WindowDef);
43788 					n->name = (yyvsp[0].str);
43789 					n->refname = NULL;
43790 					n->partitionClause = NIL;
43791 					n->orderClause = NIL;
43792 					n->frameOptions = FRAMEOPTION_DEFAULTS;
43793 					n->startOffset = NULL;
43794 					n->endOffset = NULL;
43795 					n->location = (yylsp[0]);
43796 					(yyval.windef) = n;
43797 				}
43798 #line 43799 "gram.c" /* yacc.c:1652  */
43799     break;
43800 
43801   case 2109:
43802 #line 14065 "gram.y" /* yacc.c:1652  */
43803     { (yyval.windef) = NULL; }
43804 #line 43805 "gram.c" /* yacc.c:1652  */
43805     break;
43806 
43807   case 2110:
43808 #line 14070 "gram.y" /* yacc.c:1652  */
43809     {
43810 					WindowDef *n = makeNode(WindowDef);
43811 					n->name = NULL;
43812 					n->refname = (yyvsp[-4].str);
43813 					n->partitionClause = (yyvsp[-3].list);
43814 					n->orderClause = (yyvsp[-2].list);
43815 					/* copy relevant fields of opt_frame_clause */
43816 					n->frameOptions = (yyvsp[-1].windef)->frameOptions;
43817 					n->startOffset = (yyvsp[-1].windef)->startOffset;
43818 					n->endOffset = (yyvsp[-1].windef)->endOffset;
43819 					n->location = (yylsp[-5]);
43820 					(yyval.windef) = n;
43821 				}
43822 #line 43823 "gram.c" /* yacc.c:1652  */
43823     break;
43824 
43825   case 2111:
43826 #line 14095 "gram.y" /* yacc.c:1652  */
43827     { (yyval.str) = (yyvsp[0].str); }
43828 #line 43829 "gram.c" /* yacc.c:1652  */
43829     break;
43830 
43831   case 2112:
43832 #line 14096 "gram.y" /* yacc.c:1652  */
43833     { (yyval.str) = NULL; }
43834 #line 43835 "gram.c" /* yacc.c:1652  */
43835     break;
43836 
43837   case 2113:
43838 #line 14099 "gram.y" /* yacc.c:1652  */
43839     { (yyval.list) = (yyvsp[0].list); }
43840 #line 43841 "gram.c" /* yacc.c:1652  */
43841     break;
43842 
43843   case 2114:
43844 #line 14100 "gram.y" /* yacc.c:1652  */
43845     { (yyval.list) = NIL; }
43846 #line 43847 "gram.c" /* yacc.c:1652  */
43847     break;
43848 
43849   case 2115:
43850 #line 14109 "gram.y" /* yacc.c:1652  */
43851     {
43852 					WindowDef *n = (yyvsp[-1].windef);
43853 					n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_RANGE;
43854 					n->frameOptions |= (yyvsp[0].ival);
43855 					(yyval.windef) = n;
43856 				}
43857 #line 43858 "gram.c" /* yacc.c:1652  */
43858     break;
43859 
43860   case 2116:
43861 #line 14116 "gram.y" /* yacc.c:1652  */
43862     {
43863 					WindowDef *n = (yyvsp[-1].windef);
43864 					n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_ROWS;
43865 					n->frameOptions |= (yyvsp[0].ival);
43866 					(yyval.windef) = n;
43867 				}
43868 #line 43869 "gram.c" /* yacc.c:1652  */
43869     break;
43870 
43871   case 2117:
43872 #line 14123 "gram.y" /* yacc.c:1652  */
43873     {
43874 					WindowDef *n = (yyvsp[-1].windef);
43875 					n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_GROUPS;
43876 					n->frameOptions |= (yyvsp[0].ival);
43877 					(yyval.windef) = n;
43878 				}
43879 #line 43880 "gram.c" /* yacc.c:1652  */
43880     break;
43881 
43882   case 2118:
43883 #line 14130 "gram.y" /* yacc.c:1652  */
43884     {
43885 					WindowDef *n = makeNode(WindowDef);
43886 					n->frameOptions = FRAMEOPTION_DEFAULTS;
43887 					n->startOffset = NULL;
43888 					n->endOffset = NULL;
43889 					(yyval.windef) = n;
43890 				}
43891 #line 43892 "gram.c" /* yacc.c:1652  */
43892     break;
43893 
43894   case 2119:
43895 #line 14140 "gram.y" /* yacc.c:1652  */
43896     {
43897 					WindowDef *n = (yyvsp[0].windef);
43898 					/* reject invalid cases */
43899 					if (n->frameOptions & FRAMEOPTION_START_UNBOUNDED_FOLLOWING)
43900 						ereport(ERROR,
43901 								(errcode(ERRCODE_WINDOWING_ERROR),
43902 								 errmsg("frame start cannot be UNBOUNDED FOLLOWING"),
43903 								 parser_errposition((yylsp[0]))));
43904 					if (n->frameOptions & FRAMEOPTION_START_OFFSET_FOLLOWING)
43905 						ereport(ERROR,
43906 								(errcode(ERRCODE_WINDOWING_ERROR),
43907 								 errmsg("frame starting from following row cannot end with current row"),
43908 								 parser_errposition((yylsp[0]))));
43909 					n->frameOptions |= FRAMEOPTION_END_CURRENT_ROW;
43910 					(yyval.windef) = n;
43911 				}
43912 #line 43913 "gram.c" /* yacc.c:1652  */
43913     break;
43914 
43915   case 2120:
43916 #line 14157 "gram.y" /* yacc.c:1652  */
43917     {
43918 					WindowDef *n1 = (yyvsp[-2].windef);
43919 					WindowDef *n2 = (yyvsp[0].windef);
43920 					/* form merged options */
43921 					int		frameOptions = n1->frameOptions;
43922 					/* shift converts START_ options to END_ options */
43923 					frameOptions |= n2->frameOptions << 1;
43924 					frameOptions |= FRAMEOPTION_BETWEEN;
43925 					/* reject invalid cases */
43926 					if (frameOptions & FRAMEOPTION_START_UNBOUNDED_FOLLOWING)
43927 						ereport(ERROR,
43928 								(errcode(ERRCODE_WINDOWING_ERROR),
43929 								 errmsg("frame start cannot be UNBOUNDED FOLLOWING"),
43930 								 parser_errposition((yylsp[-2]))));
43931 					if (frameOptions & FRAMEOPTION_END_UNBOUNDED_PRECEDING)
43932 						ereport(ERROR,
43933 								(errcode(ERRCODE_WINDOWING_ERROR),
43934 								 errmsg("frame end cannot be UNBOUNDED PRECEDING"),
43935 								 parser_errposition((yylsp[0]))));
43936 					if ((frameOptions & FRAMEOPTION_START_CURRENT_ROW) &&
43937 						(frameOptions & FRAMEOPTION_END_OFFSET_PRECEDING))
43938 						ereport(ERROR,
43939 								(errcode(ERRCODE_WINDOWING_ERROR),
43940 								 errmsg("frame starting from current row cannot have preceding rows"),
43941 								 parser_errposition((yylsp[0]))));
43942 					if ((frameOptions & FRAMEOPTION_START_OFFSET_FOLLOWING) &&
43943 						(frameOptions & (FRAMEOPTION_END_OFFSET_PRECEDING |
43944 										 FRAMEOPTION_END_CURRENT_ROW)))
43945 						ereport(ERROR,
43946 								(errcode(ERRCODE_WINDOWING_ERROR),
43947 								 errmsg("frame starting from following row cannot have preceding rows"),
43948 								 parser_errposition((yylsp[0]))));
43949 					n1->frameOptions = frameOptions;
43950 					n1->endOffset = n2->startOffset;
43951 					(yyval.windef) = n1;
43952 				}
43953 #line 43954 "gram.c" /* yacc.c:1652  */
43954     break;
43955 
43956   case 2121:
43957 #line 14202 "gram.y" /* yacc.c:1652  */
43958     {
43959 					WindowDef *n = makeNode(WindowDef);
43960 					n->frameOptions = FRAMEOPTION_START_UNBOUNDED_PRECEDING;
43961 					n->startOffset = NULL;
43962 					n->endOffset = NULL;
43963 					(yyval.windef) = n;
43964 				}
43965 #line 43966 "gram.c" /* yacc.c:1652  */
43966     break;
43967 
43968   case 2122:
43969 #line 14210 "gram.y" /* yacc.c:1652  */
43970     {
43971 					WindowDef *n = makeNode(WindowDef);
43972 					n->frameOptions = FRAMEOPTION_START_UNBOUNDED_FOLLOWING;
43973 					n->startOffset = NULL;
43974 					n->endOffset = NULL;
43975 					(yyval.windef) = n;
43976 				}
43977 #line 43978 "gram.c" /* yacc.c:1652  */
43978     break;
43979 
43980   case 2123:
43981 #line 14218 "gram.y" /* yacc.c:1652  */
43982     {
43983 					WindowDef *n = makeNode(WindowDef);
43984 					n->frameOptions = FRAMEOPTION_START_CURRENT_ROW;
43985 					n->startOffset = NULL;
43986 					n->endOffset = NULL;
43987 					(yyval.windef) = n;
43988 				}
43989 #line 43990 "gram.c" /* yacc.c:1652  */
43990     break;
43991 
43992   case 2124:
43993 #line 14226 "gram.y" /* yacc.c:1652  */
43994     {
43995 					WindowDef *n = makeNode(WindowDef);
43996 					n->frameOptions = FRAMEOPTION_START_OFFSET_PRECEDING;
43997 					n->startOffset = (yyvsp[-1].node);
43998 					n->endOffset = NULL;
43999 					(yyval.windef) = n;
44000 				}
44001 #line 44002 "gram.c" /* yacc.c:1652  */
44002     break;
44003 
44004   case 2125:
44005 #line 14234 "gram.y" /* yacc.c:1652  */
44006     {
44007 					WindowDef *n = makeNode(WindowDef);
44008 					n->frameOptions = FRAMEOPTION_START_OFFSET_FOLLOWING;
44009 					n->startOffset = (yyvsp[-1].node);
44010 					n->endOffset = NULL;
44011 					(yyval.windef) = n;
44012 				}
44013 #line 44014 "gram.c" /* yacc.c:1652  */
44014     break;
44015 
44016   case 2126:
44017 #line 14244 "gram.y" /* yacc.c:1652  */
44018     { (yyval.ival) = FRAMEOPTION_EXCLUDE_CURRENT_ROW; }
44019 #line 44020 "gram.c" /* yacc.c:1652  */
44020     break;
44021 
44022   case 2127:
44023 #line 14245 "gram.y" /* yacc.c:1652  */
44024     { (yyval.ival) = FRAMEOPTION_EXCLUDE_GROUP; }
44025 #line 44026 "gram.c" /* yacc.c:1652  */
44026     break;
44027 
44028   case 2128:
44029 #line 14246 "gram.y" /* yacc.c:1652  */
44030     { (yyval.ival) = FRAMEOPTION_EXCLUDE_TIES; }
44031 #line 44032 "gram.c" /* yacc.c:1652  */
44032     break;
44033 
44034   case 2129:
44035 #line 14247 "gram.y" /* yacc.c:1652  */
44036     { (yyval.ival) = 0; }
44037 #line 44038 "gram.c" /* yacc.c:1652  */
44038     break;
44039 
44040   case 2130:
44041 #line 14248 "gram.y" /* yacc.c:1652  */
44042     { (yyval.ival) = 0; }
44043 #line 44044 "gram.c" /* yacc.c:1652  */
44044     break;
44045 
44046   case 2131:
44047 #line 14262 "gram.y" /* yacc.c:1652  */
44048     { (yyval.list) = (yyvsp[-1].list); }
44049 #line 44050 "gram.c" /* yacc.c:1652  */
44050     break;
44051 
44052   case 2132:
44053 #line 14263 "gram.y" /* yacc.c:1652  */
44054     { (yyval.list) = NIL; }
44055 #line 44056 "gram.c" /* yacc.c:1652  */
44056     break;
44057 
44058   case 2133:
44059 #line 14264 "gram.y" /* yacc.c:1652  */
44060     { (yyval.list) = lappend((yyvsp[-3].list), (yyvsp[-1].node)); }
44061 #line 44062 "gram.c" /* yacc.c:1652  */
44062     break;
44063 
44064   case 2134:
44065 #line 14267 "gram.y" /* yacc.c:1652  */
44066     { (yyval.list) = (yyvsp[-1].list); }
44067 #line 44068 "gram.c" /* yacc.c:1652  */
44068     break;
44069 
44070   case 2135:
44071 #line 14268 "gram.y" /* yacc.c:1652  */
44072     { (yyval.list) = NIL; }
44073 #line 44074 "gram.c" /* yacc.c:1652  */
44074     break;
44075 
44076   case 2136:
44077 #line 14271 "gram.y" /* yacc.c:1652  */
44078     { (yyval.list) = lappend((yyvsp[-3].list), (yyvsp[-1].node)); }
44079 #line 44080 "gram.c" /* yacc.c:1652  */
44080     break;
44081 
44082   case 2137:
44083 #line 14274 "gram.y" /* yacc.c:1652  */
44084     { (yyval.ival) = ANY_SUBLINK; }
44085 #line 44086 "gram.c" /* yacc.c:1652  */
44086     break;
44087 
44088   case 2138:
44089 #line 14275 "gram.y" /* yacc.c:1652  */
44090     { (yyval.ival) = ANY_SUBLINK; }
44091 #line 44092 "gram.c" /* yacc.c:1652  */
44092     break;
44093 
44094   case 2139:
44095 #line 14276 "gram.y" /* yacc.c:1652  */
44096     { (yyval.ival) = ALL_SUBLINK; }
44097 #line 44098 "gram.c" /* yacc.c:1652  */
44098     break;
44099 
44100   case 2140:
44101 #line 14279 "gram.y" /* yacc.c:1652  */
44102     { (yyval.str) = (yyvsp[0].str); }
44103 #line 44104 "gram.c" /* yacc.c:1652  */
44104     break;
44105 
44106   case 2141:
44107 #line 14280 "gram.y" /* yacc.c:1652  */
44108     { (yyval.str) = (yyvsp[0].str); }
44109 #line 44110 "gram.c" /* yacc.c:1652  */
44110     break;
44111 
44112   case 2142:
44113 #line 14283 "gram.y" /* yacc.c:1652  */
44114     { (yyval.str) = "+"; }
44115 #line 44116 "gram.c" /* yacc.c:1652  */
44116     break;
44117 
44118   case 2143:
44119 #line 14284 "gram.y" /* yacc.c:1652  */
44120     { (yyval.str) = "-"; }
44121 #line 44122 "gram.c" /* yacc.c:1652  */
44122     break;
44123 
44124   case 2144:
44125 #line 14285 "gram.y" /* yacc.c:1652  */
44126     { (yyval.str) = "*"; }
44127 #line 44128 "gram.c" /* yacc.c:1652  */
44128     break;
44129 
44130   case 2145:
44131 #line 14286 "gram.y" /* yacc.c:1652  */
44132     { (yyval.str) = "/"; }
44133 #line 44134 "gram.c" /* yacc.c:1652  */
44134     break;
44135 
44136   case 2146:
44137 #line 14287 "gram.y" /* yacc.c:1652  */
44138     { (yyval.str) = "%"; }
44139 #line 44140 "gram.c" /* yacc.c:1652  */
44140     break;
44141 
44142   case 2147:
44143 #line 14288 "gram.y" /* yacc.c:1652  */
44144     { (yyval.str) = "^"; }
44145 #line 44146 "gram.c" /* yacc.c:1652  */
44146     break;
44147 
44148   case 2148:
44149 #line 14289 "gram.y" /* yacc.c:1652  */
44150     { (yyval.str) = "<"; }
44151 #line 44152 "gram.c" /* yacc.c:1652  */
44152     break;
44153 
44154   case 2149:
44155 #line 14290 "gram.y" /* yacc.c:1652  */
44156     { (yyval.str) = ">"; }
44157 #line 44158 "gram.c" /* yacc.c:1652  */
44158     break;
44159 
44160   case 2150:
44161 #line 14291 "gram.y" /* yacc.c:1652  */
44162     { (yyval.str) = "="; }
44163 #line 44164 "gram.c" /* yacc.c:1652  */
44164     break;
44165 
44166   case 2151:
44167 #line 14292 "gram.y" /* yacc.c:1652  */
44168     { (yyval.str) = "<="; }
44169 #line 44170 "gram.c" /* yacc.c:1652  */
44170     break;
44171 
44172   case 2152:
44173 #line 14293 "gram.y" /* yacc.c:1652  */
44174     { (yyval.str) = ">="; }
44175 #line 44176 "gram.c" /* yacc.c:1652  */
44176     break;
44177 
44178   case 2153:
44179 #line 14294 "gram.y" /* yacc.c:1652  */
44180     { (yyval.str) = "<>"; }
44181 #line 44182 "gram.c" /* yacc.c:1652  */
44182     break;
44183 
44184   case 2154:
44185 #line 14298 "gram.y" /* yacc.c:1652  */
44186     { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
44187 #line 44188 "gram.c" /* yacc.c:1652  */
44188     break;
44189 
44190   case 2155:
44191 #line 14300 "gram.y" /* yacc.c:1652  */
44192     { (yyval.list) = (yyvsp[-1].list); }
44193 #line 44194 "gram.c" /* yacc.c:1652  */
44194     break;
44195 
44196   case 2156:
44197 #line 14305 "gram.y" /* yacc.c:1652  */
44198     { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
44199 #line 44200 "gram.c" /* yacc.c:1652  */
44200     break;
44201 
44202   case 2157:
44203 #line 14307 "gram.y" /* yacc.c:1652  */
44204     { (yyval.list) = (yyvsp[-1].list); }
44205 #line 44206 "gram.c" /* yacc.c:1652  */
44206     break;
44207 
44208   case 2158:
44209 #line 14312 "gram.y" /* yacc.c:1652  */
44210     { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
44211 #line 44212 "gram.c" /* yacc.c:1652  */
44212     break;
44213 
44214   case 2159:
44215 #line 14314 "gram.y" /* yacc.c:1652  */
44216     { (yyval.list) = (yyvsp[-1].list); }
44217 #line 44218 "gram.c" /* yacc.c:1652  */
44218     break;
44219 
44220   case 2160:
44221 #line 14316 "gram.y" /* yacc.c:1652  */
44222     { (yyval.list) = list_make1(makeString("~~")); }
44223 #line 44224 "gram.c" /* yacc.c:1652  */
44224     break;
44225 
44226   case 2161:
44227 #line 14318 "gram.y" /* yacc.c:1652  */
44228     { (yyval.list) = list_make1(makeString("!~~")); }
44229 #line 44230 "gram.c" /* yacc.c:1652  */
44230     break;
44231 
44232   case 2162:
44233 #line 14320 "gram.y" /* yacc.c:1652  */
44234     { (yyval.list) = list_make1(makeString("~~*")); }
44235 #line 44236 "gram.c" /* yacc.c:1652  */
44236     break;
44237 
44238   case 2163:
44239 #line 14322 "gram.y" /* yacc.c:1652  */
44240     { (yyval.list) = list_make1(makeString("!~~*")); }
44241 #line 44242 "gram.c" /* yacc.c:1652  */
44242     break;
44243 
44244   case 2164:
44245 #line 14334 "gram.y" /* yacc.c:1652  */
44246     {
44247 					(yyval.list) = list_make1((yyvsp[0].node));
44248 				}
44249 #line 44250 "gram.c" /* yacc.c:1652  */
44250     break;
44251 
44252   case 2165:
44253 #line 14338 "gram.y" /* yacc.c:1652  */
44254     {
44255 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
44256 				}
44257 #line 44258 "gram.c" /* yacc.c:1652  */
44258     break;
44259 
44260   case 2166:
44261 #line 14345 "gram.y" /* yacc.c:1652  */
44262     {
44263 					(yyval.list) = list_make1((yyvsp[0].node));
44264 				}
44265 #line 44266 "gram.c" /* yacc.c:1652  */
44266     break;
44267 
44268   case 2167:
44269 #line 14349 "gram.y" /* yacc.c:1652  */
44270     {
44271 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
44272 				}
44273 #line 44274 "gram.c" /* yacc.c:1652  */
44274     break;
44275 
44276   case 2168:
44277 #line 14355 "gram.y" /* yacc.c:1652  */
44278     {
44279 					(yyval.node) = (yyvsp[0].node);
44280 				}
44281 #line 44282 "gram.c" /* yacc.c:1652  */
44282     break;
44283 
44284   case 2169:
44285 #line 14359 "gram.y" /* yacc.c:1652  */
44286     {
44287 					NamedArgExpr *na = makeNode(NamedArgExpr);
44288 					na->name = (yyvsp[-2].str);
44289 					na->arg = (Expr *) (yyvsp[0].node);
44290 					na->argnumber = -1;		/* until determined */
44291 					na->location = (yylsp[-2]);
44292 					(yyval.node) = (Node *) na;
44293 				}
44294 #line 44295 "gram.c" /* yacc.c:1652  */
44295     break;
44296 
44297   case 2170:
44298 #line 14368 "gram.y" /* yacc.c:1652  */
44299     {
44300 					NamedArgExpr *na = makeNode(NamedArgExpr);
44301 					na->name = (yyvsp[-2].str);
44302 					na->arg = (Expr *) (yyvsp[0].node);
44303 					na->argnumber = -1;		/* until determined */
44304 					na->location = (yylsp[-2]);
44305 					(yyval.node) = (Node *) na;
44306 				}
44307 #line 44308 "gram.c" /* yacc.c:1652  */
44308     break;
44309 
44310   case 2171:
44311 #line 14378 "gram.y" /* yacc.c:1652  */
44312     { (yyval.list) = list_make1((yyvsp[0].typnam)); }
44313 #line 44314 "gram.c" /* yacc.c:1652  */
44314     break;
44315 
44316   case 2172:
44317 #line 14379 "gram.y" /* yacc.c:1652  */
44318     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].typnam)); }
44319 #line 44320 "gram.c" /* yacc.c:1652  */
44320     break;
44321 
44322   case 2173:
44323 #line 14383 "gram.y" /* yacc.c:1652  */
44324     {
44325 					(yyval.node) = makeAArrayExpr((yyvsp[-1].list), (yylsp[-2]));
44326 				}
44327 #line 44328 "gram.c" /* yacc.c:1652  */
44328     break;
44329 
44330   case 2174:
44331 #line 14387 "gram.y" /* yacc.c:1652  */
44332     {
44333 					(yyval.node) = makeAArrayExpr((yyvsp[-1].list), (yylsp[-2]));
44334 				}
44335 #line 44336 "gram.c" /* yacc.c:1652  */
44336     break;
44337 
44338   case 2175:
44339 #line 14391 "gram.y" /* yacc.c:1652  */
44340     {
44341 					(yyval.node) = makeAArrayExpr(NIL, (yylsp[-1]));
44342 				}
44343 #line 44344 "gram.c" /* yacc.c:1652  */
44344     break;
44345 
44346   case 2176:
44347 #line 14396 "gram.y" /* yacc.c:1652  */
44348     { (yyval.list) = list_make1((yyvsp[0].node)); }
44349 #line 44350 "gram.c" /* yacc.c:1652  */
44350     break;
44351 
44352   case 2177:
44353 #line 14397 "gram.y" /* yacc.c:1652  */
44354     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
44355 #line 44356 "gram.c" /* yacc.c:1652  */
44356     break;
44357 
44358   case 2178:
44359 #line 14403 "gram.y" /* yacc.c:1652  */
44360     {
44361 					(yyval.list) = list_make2(makeStringConst((yyvsp[-2].str), (yylsp[-2])), (yyvsp[0].node));
44362 				}
44363 #line 44364 "gram.c" /* yacc.c:1652  */
44364     break;
44365 
44366   case 2179:
44367 #line 14406 "gram.y" /* yacc.c:1652  */
44368     { (yyval.list) = NIL; }
44369 #line 44370 "gram.c" /* yacc.c:1652  */
44370     break;
44371 
44372   case 2180:
44373 #line 14413 "gram.y" /* yacc.c:1652  */
44374     { (yyval.str) = (yyvsp[0].str); }
44375 #line 44376 "gram.c" /* yacc.c:1652  */
44376     break;
44377 
44378   case 2181:
44379 #line 14414 "gram.y" /* yacc.c:1652  */
44380     { (yyval.str) = "year"; }
44381 #line 44382 "gram.c" /* yacc.c:1652  */
44382     break;
44383 
44384   case 2182:
44385 #line 14415 "gram.y" /* yacc.c:1652  */
44386     { (yyval.str) = "month"; }
44387 #line 44388 "gram.c" /* yacc.c:1652  */
44388     break;
44389 
44390   case 2183:
44391 #line 14416 "gram.y" /* yacc.c:1652  */
44392     { (yyval.str) = "day"; }
44393 #line 44394 "gram.c" /* yacc.c:1652  */
44394     break;
44395 
44396   case 2184:
44397 #line 14417 "gram.y" /* yacc.c:1652  */
44398     { (yyval.str) = "hour"; }
44399 #line 44400 "gram.c" /* yacc.c:1652  */
44400     break;
44401 
44402   case 2185:
44403 #line 14418 "gram.y" /* yacc.c:1652  */
44404     { (yyval.str) = "minute"; }
44405 #line 44406 "gram.c" /* yacc.c:1652  */
44406     break;
44407 
44408   case 2186:
44409 #line 14419 "gram.y" /* yacc.c:1652  */
44410     { (yyval.str) = "second"; }
44411 #line 44412 "gram.c" /* yacc.c:1652  */
44412     break;
44413 
44414   case 2187:
44415 #line 14420 "gram.y" /* yacc.c:1652  */
44416     { (yyval.str) = (yyvsp[0].str); }
44417 #line 44418 "gram.c" /* yacc.c:1652  */
44418     break;
44419 
44420   case 2188:
44421 #line 14431 "gram.y" /* yacc.c:1652  */
44422     {
44423 					(yyval.list) = list_make4((yyvsp[-3].node), (yyvsp[-2].node), (yyvsp[-1].node), (yyvsp[0].node));
44424 				}
44425 #line 44426 "gram.c" /* yacc.c:1652  */
44426     break;
44427 
44428   case 2189:
44429 #line 14435 "gram.y" /* yacc.c:1652  */
44430     {
44431 					(yyval.list) = list_make3((yyvsp[-2].node), (yyvsp[-1].node), (yyvsp[0].node));
44432 				}
44433 #line 44434 "gram.c" /* yacc.c:1652  */
44434     break;
44435 
44436   case 2190:
44437 #line 14442 "gram.y" /* yacc.c:1652  */
44438     { (yyval.node) = (yyvsp[0].node); }
44439 #line 44440 "gram.c" /* yacc.c:1652  */
44440     break;
44441 
44442   case 2191:
44443 #line 14448 "gram.y" /* yacc.c:1652  */
44444     { (yyval.list) = list_make2((yyvsp[0].node), (yyvsp[-2].node)); }
44445 #line 44446 "gram.c" /* yacc.c:1652  */
44446     break;
44447 
44448   case 2192:
44449 #line 14449 "gram.y" /* yacc.c:1652  */
44450     { (yyval.list) = NIL; }
44451 #line 44452 "gram.c" /* yacc.c:1652  */
44452     break;
44453 
44454   case 2193:
44455 #line 14466 "gram.y" /* yacc.c:1652  */
44456     {
44457 					(yyval.list) = list_make3((yyvsp[-2].node), (yyvsp[-1].node), (yyvsp[0].node));
44458 				}
44459 #line 44460 "gram.c" /* yacc.c:1652  */
44460     break;
44461 
44462   case 2194:
44463 #line 14470 "gram.y" /* yacc.c:1652  */
44464     {
44465 					/* not legal per SQL99, but might as well allow it */
44466 					(yyval.list) = list_make3((yyvsp[-2].node), (yyvsp[0].node), (yyvsp[-1].node));
44467 				}
44468 #line 44469 "gram.c" /* yacc.c:1652  */
44469     break;
44470 
44471   case 2195:
44472 #line 14475 "gram.y" /* yacc.c:1652  */
44473     {
44474 					(yyval.list) = list_make2((yyvsp[-1].node), (yyvsp[0].node));
44475 				}
44476 #line 44477 "gram.c" /* yacc.c:1652  */
44477     break;
44478 
44479   case 2196:
44480 #line 14479 "gram.y" /* yacc.c:1652  */
44481     {
44482 					/*
44483 					 * Since there are no cases where this syntax allows
44484 					 * a textual FOR value, we forcibly cast the argument
44485 					 * to int4.  The possible matches in pg_proc are
44486 					 * substring(text,int4) and substring(text,text),
44487 					 * and we don't want the parser to choose the latter,
44488 					 * which it is likely to do if the second argument
44489 					 * is unknown or doesn't have an implicit cast to int4.
44490 					 */
44491 					(yyval.list) = list_make3((yyvsp[-1].node), makeIntConst(1, -1),
44492 									makeTypeCast((yyvsp[0].node),
44493 												 SystemTypeName("int4"), -1));
44494 				}
44495 #line 44496 "gram.c" /* yacc.c:1652  */
44496     break;
44497 
44498   case 2197:
44499 #line 14494 "gram.y" /* yacc.c:1652  */
44500     {
44501 					(yyval.list) = (yyvsp[0].list);
44502 				}
44503 #line 44504 "gram.c" /* yacc.c:1652  */
44504     break;
44505 
44506   case 2198:
44507 #line 14498 "gram.y" /* yacc.c:1652  */
44508     { (yyval.list) = NIL; }
44509 #line 44510 "gram.c" /* yacc.c:1652  */
44510     break;
44511 
44512   case 2199:
44513 #line 14502 "gram.y" /* yacc.c:1652  */
44514     { (yyval.node) = (yyvsp[0].node); }
44515 #line 44516 "gram.c" /* yacc.c:1652  */
44516     break;
44517 
44518   case 2200:
44519 #line 14505 "gram.y" /* yacc.c:1652  */
44520     { (yyval.node) = (yyvsp[0].node); }
44521 #line 44522 "gram.c" /* yacc.c:1652  */
44522     break;
44523 
44524   case 2201:
44525 #line 14508 "gram.y" /* yacc.c:1652  */
44526     { (yyval.list) = lappend((yyvsp[0].list), (yyvsp[-2].node)); }
44527 #line 44528 "gram.c" /* yacc.c:1652  */
44528     break;
44529 
44530   case 2202:
44531 #line 14509 "gram.y" /* yacc.c:1652  */
44532     { (yyval.list) = (yyvsp[0].list); }
44533 #line 44534 "gram.c" /* yacc.c:1652  */
44534     break;
44535 
44536   case 2203:
44537 #line 14510 "gram.y" /* yacc.c:1652  */
44538     { (yyval.list) = (yyvsp[0].list); }
44539 #line 44540 "gram.c" /* yacc.c:1652  */
44540     break;
44541 
44542   case 2204:
44543 #line 14514 "gram.y" /* yacc.c:1652  */
44544     {
44545 					SubLink *n = makeNode(SubLink);
44546 					n->subselect = (yyvsp[0].node);
44547 					/* other fields will be filled later */
44548 					(yyval.node) = (Node *)n;
44549 				}
44550 #line 44551 "gram.c" /* yacc.c:1652  */
44551     break;
44552 
44553   case 2205:
44554 #line 14520 "gram.y" /* yacc.c:1652  */
44555     { (yyval.node) = (Node *)(yyvsp[-1].list); }
44556 #line 44557 "gram.c" /* yacc.c:1652  */
44557     break;
44558 
44559   case 2206:
44560 #line 14531 "gram.y" /* yacc.c:1652  */
44561     {
44562 					CaseExpr *c = makeNode(CaseExpr);
44563 					c->casetype = InvalidOid; /* not analyzed yet */
44564 					c->arg = (Expr *) (yyvsp[-3].node);
44565 					c->args = (yyvsp[-2].list);
44566 					c->defresult = (Expr *) (yyvsp[-1].node);
44567 					c->location = (yylsp[-4]);
44568 					(yyval.node) = (Node *)c;
44569 				}
44570 #line 44571 "gram.c" /* yacc.c:1652  */
44571     break;
44572 
44573   case 2207:
44574 #line 14544 "gram.y" /* yacc.c:1652  */
44575     { (yyval.list) = list_make1((yyvsp[0].node)); }
44576 #line 44577 "gram.c" /* yacc.c:1652  */
44577     break;
44578 
44579   case 2208:
44580 #line 14545 "gram.y" /* yacc.c:1652  */
44581     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
44582 #line 44583 "gram.c" /* yacc.c:1652  */
44583     break;
44584 
44585   case 2209:
44586 #line 14550 "gram.y" /* yacc.c:1652  */
44587     {
44588 					CaseWhen *w = makeNode(CaseWhen);
44589 					w->expr = (Expr *) (yyvsp[-2].node);
44590 					w->result = (Expr *) (yyvsp[0].node);
44591 					w->location = (yylsp[-3]);
44592 					(yyval.node) = (Node *)w;
44593 				}
44594 #line 44595 "gram.c" /* yacc.c:1652  */
44595     break;
44596 
44597   case 2210:
44598 #line 14560 "gram.y" /* yacc.c:1652  */
44599     { (yyval.node) = (yyvsp[0].node); }
44600 #line 44601 "gram.c" /* yacc.c:1652  */
44601     break;
44602 
44603   case 2211:
44604 #line 14561 "gram.y" /* yacc.c:1652  */
44605     { (yyval.node) = NULL; }
44606 #line 44607 "gram.c" /* yacc.c:1652  */
44607     break;
44608 
44609   case 2212:
44610 #line 14564 "gram.y" /* yacc.c:1652  */
44611     { (yyval.node) = (yyvsp[0].node); }
44612 #line 44613 "gram.c" /* yacc.c:1652  */
44613     break;
44614 
44615   case 2213:
44616 #line 14565 "gram.y" /* yacc.c:1652  */
44617     { (yyval.node) = NULL; }
44618 #line 44619 "gram.c" /* yacc.c:1652  */
44619     break;
44620 
44621   case 2214:
44622 #line 14569 "gram.y" /* yacc.c:1652  */
44623     {
44624 					(yyval.node) = makeColumnRef((yyvsp[0].str), NIL, (yylsp[0]), yyscanner);
44625 				}
44626 #line 44627 "gram.c" /* yacc.c:1652  */
44627     break;
44628 
44629   case 2215:
44630 #line 14573 "gram.y" /* yacc.c:1652  */
44631     {
44632 					(yyval.node) = makeColumnRef((yyvsp[-1].str), (yyvsp[0].list), (yylsp[-1]), yyscanner);
44633 				}
44634 #line 44635 "gram.c" /* yacc.c:1652  */
44635     break;
44636 
44637   case 2216:
44638 #line 14580 "gram.y" /* yacc.c:1652  */
44639     {
44640 					(yyval.node) = (Node *) makeString((yyvsp[0].str));
44641 				}
44642 #line 44643 "gram.c" /* yacc.c:1652  */
44643     break;
44644 
44645   case 2217:
44646 #line 14584 "gram.y" /* yacc.c:1652  */
44647     {
44648 					(yyval.node) = (Node *) makeNode(A_Star);
44649 				}
44650 #line 44651 "gram.c" /* yacc.c:1652  */
44651     break;
44652 
44653   case 2218:
44654 #line 14588 "gram.y" /* yacc.c:1652  */
44655     {
44656 					A_Indices *ai = makeNode(A_Indices);
44657 					ai->is_slice = false;
44658 					ai->lidx = NULL;
44659 					ai->uidx = (yyvsp[-1].node);
44660 					(yyval.node) = (Node *) ai;
44661 				}
44662 #line 44663 "gram.c" /* yacc.c:1652  */
44663     break;
44664 
44665   case 2219:
44666 #line 14596 "gram.y" /* yacc.c:1652  */
44667     {
44668 					A_Indices *ai = makeNode(A_Indices);
44669 					ai->is_slice = true;
44670 					ai->lidx = (yyvsp[-3].node);
44671 					ai->uidx = (yyvsp[-1].node);
44672 					(yyval.node) = (Node *) ai;
44673 				}
44674 #line 44675 "gram.c" /* yacc.c:1652  */
44675     break;
44676 
44677   case 2220:
44678 #line 14606 "gram.y" /* yacc.c:1652  */
44679     { (yyval.node) = (yyvsp[0].node); }
44680 #line 44681 "gram.c" /* yacc.c:1652  */
44681     break;
44682 
44683   case 2221:
44684 #line 14607 "gram.y" /* yacc.c:1652  */
44685     { (yyval.node) = NULL; }
44686 #line 44687 "gram.c" /* yacc.c:1652  */
44687     break;
44688 
44689   case 2222:
44690 #line 14611 "gram.y" /* yacc.c:1652  */
44691     { (yyval.list) = list_make1((yyvsp[0].node)); }
44692 #line 44693 "gram.c" /* yacc.c:1652  */
44693     break;
44694 
44695   case 2223:
44696 #line 14612 "gram.y" /* yacc.c:1652  */
44697     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
44698 #line 44699 "gram.c" /* yacc.c:1652  */
44699     break;
44700 
44701   case 2224:
44702 #line 14616 "gram.y" /* yacc.c:1652  */
44703     { (yyval.list) = NIL; }
44704 #line 44705 "gram.c" /* yacc.c:1652  */
44705     break;
44706 
44707   case 2225:
44708 #line 14617 "gram.y" /* yacc.c:1652  */
44709     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
44710 #line 44711 "gram.c" /* yacc.c:1652  */
44711     break;
44712 
44713   case 2228:
44714 #line 14631 "gram.y" /* yacc.c:1652  */
44715     { (yyval.list) = (yyvsp[0].list); }
44716 #line 44717 "gram.c" /* yacc.c:1652  */
44717     break;
44718 
44719   case 2229:
44720 #line 14632 "gram.y" /* yacc.c:1652  */
44721     { (yyval.list) = NIL; }
44722 #line 44723 "gram.c" /* yacc.c:1652  */
44723     break;
44724 
44725   case 2230:
44726 #line 14636 "gram.y" /* yacc.c:1652  */
44727     { (yyval.list) = list_make1((yyvsp[0].target)); }
44728 #line 44729 "gram.c" /* yacc.c:1652  */
44729     break;
44730 
44731   case 2231:
44732 #line 14637 "gram.y" /* yacc.c:1652  */
44733     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
44734 #line 44735 "gram.c" /* yacc.c:1652  */
44735     break;
44736 
44737   case 2232:
44738 #line 14641 "gram.y" /* yacc.c:1652  */
44739     {
44740 					(yyval.target) = makeNode(ResTarget);
44741 					(yyval.target)->name = (yyvsp[0].str);
44742 					(yyval.target)->indirection = NIL;
44743 					(yyval.target)->val = (Node *)(yyvsp[-2].node);
44744 					(yyval.target)->location = (yylsp[-2]);
44745 				}
44746 #line 44747 "gram.c" /* yacc.c:1652  */
44747     break;
44748 
44749   case 2233:
44750 #line 14657 "gram.y" /* yacc.c:1652  */
44751     {
44752 					(yyval.target) = makeNode(ResTarget);
44753 					(yyval.target)->name = (yyvsp[0].str);
44754 					(yyval.target)->indirection = NIL;
44755 					(yyval.target)->val = (Node *)(yyvsp[-1].node);
44756 					(yyval.target)->location = (yylsp[-1]);
44757 				}
44758 #line 44759 "gram.c" /* yacc.c:1652  */
44759     break;
44760 
44761   case 2234:
44762 #line 14665 "gram.y" /* yacc.c:1652  */
44763     {
44764 					(yyval.target) = makeNode(ResTarget);
44765 					(yyval.target)->name = NULL;
44766 					(yyval.target)->indirection = NIL;
44767 					(yyval.target)->val = (Node *)(yyvsp[0].node);
44768 					(yyval.target)->location = (yylsp[0]);
44769 				}
44770 #line 44771 "gram.c" /* yacc.c:1652  */
44771     break;
44772 
44773   case 2235:
44774 #line 14673 "gram.y" /* yacc.c:1652  */
44775     {
44776 					ColumnRef *n = makeNode(ColumnRef);
44777 					n->fields = list_make1(makeNode(A_Star));
44778 					n->location = (yylsp[0]);
44779 
44780 					(yyval.target) = makeNode(ResTarget);
44781 					(yyval.target)->name = NULL;
44782 					(yyval.target)->indirection = NIL;
44783 					(yyval.target)->val = (Node *)n;
44784 					(yyval.target)->location = (yylsp[0]);
44785 				}
44786 #line 44787 "gram.c" /* yacc.c:1652  */
44787     break;
44788 
44789   case 2236:
44790 #line 14694 "gram.y" /* yacc.c:1652  */
44791     { (yyval.list) = list_make1((yyvsp[0].range)); }
44792 #line 44793 "gram.c" /* yacc.c:1652  */
44793     break;
44794 
44795   case 2237:
44796 #line 14695 "gram.y" /* yacc.c:1652  */
44797     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].range)); }
44798 #line 44799 "gram.c" /* yacc.c:1652  */
44799     break;
44800 
44801   case 2238:
44802 #line 14707 "gram.y" /* yacc.c:1652  */
44803     {
44804 					(yyval.range) = makeRangeVar(NULL, (yyvsp[0].str), (yylsp[0]));
44805 				}
44806 #line 44807 "gram.c" /* yacc.c:1652  */
44807     break;
44808 
44809   case 2239:
44810 #line 14711 "gram.y" /* yacc.c:1652  */
44811     {
44812 					check_qualified_name((yyvsp[0].list), yyscanner);
44813 					(yyval.range) = makeRangeVar(NULL, NULL, (yylsp[-1]));
44814 					switch (list_length((yyvsp[0].list)))
44815 					{
44816 						case 1:
44817 							(yyval.range)->catalogname = NULL;
44818 							(yyval.range)->schemaname = (yyvsp[-1].str);
44819 							(yyval.range)->relname = strVal(linitial((yyvsp[0].list)));
44820 							break;
44821 						case 2:
44822 							(yyval.range)->catalogname = (yyvsp[-1].str);
44823 							(yyval.range)->schemaname = strVal(linitial((yyvsp[0].list)));
44824 							(yyval.range)->relname = strVal(lsecond((yyvsp[0].list)));
44825 							break;
44826 						default:
44827 							ereport(ERROR,
44828 									(errcode(ERRCODE_SYNTAX_ERROR),
44829 									 errmsg("improper qualified name (too many dotted names): %s",
44830 											NameListToString(lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)))),
44831 									 parser_errposition((yylsp[-1]))));
44832 							break;
44833 					}
44834 				}
44835 #line 44836 "gram.c" /* yacc.c:1652  */
44836     break;
44837 
44838   case 2240:
44839 #line 14738 "gram.y" /* yacc.c:1652  */
44840     { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
44841 #line 44842 "gram.c" /* yacc.c:1652  */
44842     break;
44843 
44844   case 2241:
44845 #line 14740 "gram.y" /* yacc.c:1652  */
44846     { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
44847 #line 44848 "gram.c" /* yacc.c:1652  */
44848     break;
44849 
44850   case 2242:
44851 #line 14744 "gram.y" /* yacc.c:1652  */
44852     { (yyval.str) = (yyvsp[0].str); }
44853 #line 44854 "gram.c" /* yacc.c:1652  */
44854     break;
44855 
44856   case 2243:
44857 #line 14747 "gram.y" /* yacc.c:1652  */
44858     { (yyval.str) = (yyvsp[0].str); }
44859 #line 44860 "gram.c" /* yacc.c:1652  */
44860     break;
44861 
44862   case 2244:
44863 #line 14750 "gram.y" /* yacc.c:1652  */
44864     { (yyval.str) = (yyvsp[0].str); }
44865 #line 44866 "gram.c" /* yacc.c:1652  */
44866     break;
44867 
44868   case 2245:
44869 #line 14752 "gram.y" /* yacc.c:1652  */
44870     { (yyval.str) = (yyvsp[0].str); }
44871 #line 44872 "gram.c" /* yacc.c:1652  */
44872     break;
44873 
44874   case 2246:
44875 #line 14754 "gram.y" /* yacc.c:1652  */
44876     { (yyval.str) = (yyvsp[0].str); }
44877 #line 44878 "gram.c" /* yacc.c:1652  */
44878     break;
44879 
44880   case 2247:
44881 #line 14756 "gram.y" /* yacc.c:1652  */
44882     { (yyval.str) = (yyvsp[0].str); }
44883 #line 44884 "gram.c" /* yacc.c:1652  */
44884     break;
44885 
44886   case 2248:
44887 #line 14767 "gram.y" /* yacc.c:1652  */
44888     { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
44889 #line 44890 "gram.c" /* yacc.c:1652  */
44890     break;
44891 
44892   case 2249:
44893 #line 14769 "gram.y" /* yacc.c:1652  */
44894     {
44895 						(yyval.list) = check_func_name(lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)),
44896 											 yyscanner);
44897 					}
44898 #line 44899 "gram.c" /* yacc.c:1652  */
44899     break;
44900 
44901   case 2250:
44902 #line 14780 "gram.y" /* yacc.c:1652  */
44903     {
44904 					(yyval.node) = makeIntConst((yyvsp[0].ival), (yylsp[0]));
44905 				}
44906 #line 44907 "gram.c" /* yacc.c:1652  */
44907     break;
44908 
44909   case 2251:
44910 #line 14784 "gram.y" /* yacc.c:1652  */
44911     {
44912 					(yyval.node) = makeFloatConst((yyvsp[0].str), (yylsp[0]));
44913 				}
44914 #line 44915 "gram.c" /* yacc.c:1652  */
44915     break;
44916 
44917   case 2252:
44918 #line 14788 "gram.y" /* yacc.c:1652  */
44919     {
44920 					(yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0]));
44921 				}
44922 #line 44923 "gram.c" /* yacc.c:1652  */
44923     break;
44924 
44925   case 2253:
44926 #line 14792 "gram.y" /* yacc.c:1652  */
44927     {
44928 					(yyval.node) = makeBitStringConst((yyvsp[0].str), (yylsp[0]));
44929 				}
44930 #line 44931 "gram.c" /* yacc.c:1652  */
44931     break;
44932 
44933   case 2254:
44934 #line 14796 "gram.y" /* yacc.c:1652  */
44935     {
44936 					/* This is a bit constant per SQL99:
44937 					 * Without Feature F511, "BIT data type",
44938 					 * a <general literal> shall not be a
44939 					 * <bit string literal> or a <hex string literal>.
44940 					 */
44941 					(yyval.node) = makeBitStringConst((yyvsp[0].str), (yylsp[0]));
44942 				}
44943 #line 44944 "gram.c" /* yacc.c:1652  */
44944     break;
44945 
44946   case 2255:
44947 #line 14805 "gram.y" /* yacc.c:1652  */
44948     {
44949 					/* generic type 'literal' syntax */
44950 					TypeName *t = makeTypeNameFromNameList((yyvsp[-1].list));
44951 					t->location = (yylsp[-1]);
44952 					(yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t);
44953 				}
44954 #line 44955 "gram.c" /* yacc.c:1652  */
44955     break;
44956 
44957   case 2256:
44958 #line 14812 "gram.y" /* yacc.c:1652  */
44959     {
44960 					/* generic syntax with a type modifier */
44961 					TypeName *t = makeTypeNameFromNameList((yyvsp[-5].list));
44962 					ListCell *lc;
44963 
44964 					/*
44965 					 * We must use func_arg_list and opt_sort_clause in the
44966 					 * production to avoid reduce/reduce conflicts, but we
44967 					 * don't actually wish to allow NamedArgExpr in this
44968 					 * context, nor ORDER BY.
44969 					 */
44970 					foreach(lc, (yyvsp[-3].list))
44971 					{
44972 						NamedArgExpr *arg = (NamedArgExpr *) lfirst(lc);
44973 
44974 						if (IsA(arg, NamedArgExpr))
44975 							ereport(ERROR,
44976 									(errcode(ERRCODE_SYNTAX_ERROR),
44977 									 errmsg("type modifier cannot have parameter name"),
44978 									 parser_errposition(arg->location)));
44979 					}
44980 					if ((yyvsp[-2].list) != NIL)
44981 							ereport(ERROR,
44982 									(errcode(ERRCODE_SYNTAX_ERROR),
44983 									 errmsg("type modifier cannot have ORDER BY"),
44984 									 parser_errposition((yylsp[-2]))));
44985 
44986 					t->typmods = (yyvsp[-3].list);
44987 					t->location = (yylsp[-5]);
44988 					(yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t);
44989 				}
44990 #line 44991 "gram.c" /* yacc.c:1652  */
44991     break;
44992 
44993   case 2257:
44994 #line 14844 "gram.y" /* yacc.c:1652  */
44995     {
44996 					(yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), (yyvsp[-1].typnam));
44997 				}
44998 #line 44999 "gram.c" /* yacc.c:1652  */
44999     break;
45000 
45001   case 2258:
45002 #line 14848 "gram.y" /* yacc.c:1652  */
45003     {
45004 					TypeName *t = (yyvsp[-2].typnam);
45005 					t->typmods = (yyvsp[0].list);
45006 					(yyval.node) = makeStringConstCast((yyvsp[-1].str), (yylsp[-1]), t);
45007 				}
45008 #line 45009 "gram.c" /* yacc.c:1652  */
45009     break;
45010 
45011   case 2259:
45012 #line 14854 "gram.y" /* yacc.c:1652  */
45013     {
45014 					TypeName *t = (yyvsp[-4].typnam);
45015 					t->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1),
45016 											makeIntConst((yyvsp[-2].ival), (yylsp[-2])));
45017 					(yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t);
45018 				}
45019 #line 45020 "gram.c" /* yacc.c:1652  */
45020     break;
45021 
45022   case 2260:
45023 #line 14861 "gram.y" /* yacc.c:1652  */
45024     {
45025 					(yyval.node) = makeBoolAConst(true, (yylsp[0]));
45026 				}
45027 #line 45028 "gram.c" /* yacc.c:1652  */
45028     break;
45029 
45030   case 2261:
45031 #line 14865 "gram.y" /* yacc.c:1652  */
45032     {
45033 					(yyval.node) = makeBoolAConst(false, (yylsp[0]));
45034 				}
45035 #line 45036 "gram.c" /* yacc.c:1652  */
45036     break;
45037 
45038   case 2262:
45039 #line 14869 "gram.y" /* yacc.c:1652  */
45040     {
45041 					(yyval.node) = makeNullAConst((yylsp[0]));
45042 				}
45043 #line 45044 "gram.c" /* yacc.c:1652  */
45044     break;
45045 
45046   case 2263:
45047 #line 14874 "gram.y" /* yacc.c:1652  */
45048     { (yyval.ival) = (yyvsp[0].ival); }
45049 #line 45050 "gram.c" /* yacc.c:1652  */
45050     break;
45051 
45052   case 2264:
45053 #line 14875 "gram.y" /* yacc.c:1652  */
45054     { (yyval.str) = (yyvsp[0].str); }
45055 #line 45056 "gram.c" /* yacc.c:1652  */
45056     break;
45057 
45058   case 2265:
45059 #line 14877 "gram.y" /* yacc.c:1652  */
45060     { (yyval.ival) = (yyvsp[0].ival); }
45061 #line 45062 "gram.c" /* yacc.c:1652  */
45062     break;
45063 
45064   case 2266:
45065 #line 14878 "gram.y" /* yacc.c:1652  */
45066     { (yyval.ival) = + (yyvsp[0].ival); }
45067 #line 45068 "gram.c" /* yacc.c:1652  */
45068     break;
45069 
45070   case 2267:
45071 #line 14879 "gram.y" /* yacc.c:1652  */
45072     { (yyval.ival) = - (yyvsp[0].ival); }
45073 #line 45074 "gram.c" /* yacc.c:1652  */
45074     break;
45075 
45076   case 2268:
45077 #line 14884 "gram.y" /* yacc.c:1652  */
45078     {
45079 					RoleSpec *spc = (RoleSpec *) (yyvsp[0].rolespec);
45080 					switch (spc->roletype)
45081 					{
45082 						case ROLESPEC_CSTRING:
45083 							(yyval.str) = spc->rolename;
45084 							break;
45085 						case ROLESPEC_PUBLIC:
45086 							ereport(ERROR,
45087 									(errcode(ERRCODE_RESERVED_NAME),
45088 									 errmsg("role name \"%s\" is reserved",
45089 											"public"),
45090 									 parser_errposition((yylsp[0]))));
45091 							break;
45092 						case ROLESPEC_SESSION_USER:
45093 							ereport(ERROR,
45094 									(errcode(ERRCODE_RESERVED_NAME),
45095 									 errmsg("%s cannot be used as a role name here",
45096 											"SESSION_USER"),
45097 									 parser_errposition((yylsp[0]))));
45098 							break;
45099 						case ROLESPEC_CURRENT_USER:
45100 							ereport(ERROR,
45101 									(errcode(ERRCODE_RESERVED_NAME),
45102 									 errmsg("%s cannot be used as a role name here",
45103 											"CURRENT_USER"),
45104 									 parser_errposition((yylsp[0]))));
45105 							break;
45106 					}
45107 				}
45108 #line 45109 "gram.c" /* yacc.c:1652  */
45109     break;
45110 
45111   case 2269:
45112 #line 14917 "gram.y" /* yacc.c:1652  */
45113     {
45114 						/*
45115 						 * "public" and "none" are not keywords, but they must
45116 						 * be treated specially here.
45117 						 */
45118 						RoleSpec *n;
45119 						if (strcmp((yyvsp[0].str), "public") == 0)
45120 						{
45121 							n = (RoleSpec *) makeRoleSpec(ROLESPEC_PUBLIC, (yylsp[0]));
45122 							n->roletype = ROLESPEC_PUBLIC;
45123 						}
45124 						else if (strcmp((yyvsp[0].str), "none") == 0)
45125 						{
45126 							ereport(ERROR,
45127 									(errcode(ERRCODE_RESERVED_NAME),
45128 									 errmsg("role name \"%s\" is reserved",
45129 											"none"),
45130 									 parser_errposition((yylsp[0]))));
45131 						}
45132 						else
45133 						{
45134 							n = makeRoleSpec(ROLESPEC_CSTRING, (yylsp[0]));
45135 							n->rolename = pstrdup((yyvsp[0].str));
45136 						}
45137 						(yyval.rolespec) = n;
45138 					}
45139 #line 45140 "gram.c" /* yacc.c:1652  */
45140     break;
45141 
45142   case 2270:
45143 #line 14944 "gram.y" /* yacc.c:1652  */
45144     {
45145 						(yyval.rolespec) = makeRoleSpec(ROLESPEC_CURRENT_USER, (yylsp[0]));
45146 					}
45147 #line 45148 "gram.c" /* yacc.c:1652  */
45148     break;
45149 
45150   case 2271:
45151 #line 14948 "gram.y" /* yacc.c:1652  */
45152     {
45153 						(yyval.rolespec) = makeRoleSpec(ROLESPEC_SESSION_USER, (yylsp[0]));
45154 					}
45155 #line 45156 "gram.c" /* yacc.c:1652  */
45156     break;
45157 
45158   case 2272:
45159 #line 14954 "gram.y" /* yacc.c:1652  */
45160     { (yyval.list) = list_make1((yyvsp[0].rolespec)); }
45161 #line 45162 "gram.c" /* yacc.c:1652  */
45162     break;
45163 
45164   case 2273:
45165 #line 14956 "gram.y" /* yacc.c:1652  */
45166     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].rolespec)); }
45167 #line 45168 "gram.c" /* yacc.c:1652  */
45168     break;
45169 
45170   case 2274:
45171 #line 14972 "gram.y" /* yacc.c:1652  */
45172     { (yyval.str) = (yyvsp[0].str); }
45173 #line 45174 "gram.c" /* yacc.c:1652  */
45174     break;
45175 
45176   case 2275:
45177 #line 14973 "gram.y" /* yacc.c:1652  */
45178     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
45179 #line 45180 "gram.c" /* yacc.c:1652  */
45180     break;
45181 
45182   case 2276:
45183 #line 14974 "gram.y" /* yacc.c:1652  */
45184     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
45185 #line 45186 "gram.c" /* yacc.c:1652  */
45186     break;
45187 
45188   case 2277:
45189 #line 14979 "gram.y" /* yacc.c:1652  */
45190     { (yyval.str) = (yyvsp[0].str); }
45191 #line 45192 "gram.c" /* yacc.c:1652  */
45192     break;
45193 
45194   case 2278:
45195 #line 14980 "gram.y" /* yacc.c:1652  */
45196     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
45197 #line 45198 "gram.c" /* yacc.c:1652  */
45198     break;
45199 
45200   case 2279:
45201 #line 14981 "gram.y" /* yacc.c:1652  */
45202     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
45203 #line 45204 "gram.c" /* yacc.c:1652  */
45204     break;
45205 
45206   case 2280:
45207 #line 14986 "gram.y" /* yacc.c:1652  */
45208     { (yyval.str) = (yyvsp[0].str); }
45209 #line 45210 "gram.c" /* yacc.c:1652  */
45210     break;
45211 
45212   case 2281:
45213 #line 14987 "gram.y" /* yacc.c:1652  */
45214     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
45215 #line 45216 "gram.c" /* yacc.c:1652  */
45216     break;
45217 
45218   case 2282:
45219 #line 14988 "gram.y" /* yacc.c:1652  */
45220     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
45221 #line 45222 "gram.c" /* yacc.c:1652  */
45222     break;
45223 
45224   case 2283:
45225 #line 14989 "gram.y" /* yacc.c:1652  */
45226     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
45227 #line 45228 "gram.c" /* yacc.c:1652  */
45228     break;
45229 
45230   case 2284:
45231 #line 14995 "gram.y" /* yacc.c:1652  */
45232     { (yyval.str) = (yyvsp[0].str); }
45233 #line 45234 "gram.c" /* yacc.c:1652  */
45234     break;
45235 
45236   case 2285:
45237 #line 14996 "gram.y" /* yacc.c:1652  */
45238     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
45239 #line 45240 "gram.c" /* yacc.c:1652  */
45240     break;
45241 
45242   case 2286:
45243 #line 14997 "gram.y" /* yacc.c:1652  */
45244     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
45245 #line 45246 "gram.c" /* yacc.c:1652  */
45246     break;
45247 
45248   case 2287:
45249 #line 14998 "gram.y" /* yacc.c:1652  */
45250     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
45251 #line 45252 "gram.c" /* yacc.c:1652  */
45252     break;
45253 
45254   case 2288:
45255 #line 14999 "gram.y" /* yacc.c:1652  */
45256     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
45257 #line 45258 "gram.c" /* yacc.c:1652  */
45258     break;
45259 
45260 
45261 #line 45262 "gram.c" /* yacc.c:1652  */
45262       default: break;
45263     }
45264   /* User semantic actions sometimes alter yychar, and that requires
45265      that yytoken be updated with the new translation.  We take the
45266      approach of translating immediately before every use of yytoken.
45267      One alternative is translating here after every semantic action,
45268      but that translation would be missed if the semantic action invokes
45269      YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
45270      if it invokes YYBACKUP.  In the case of YYABORT or YYACCEPT, an
45271      incorrect destructor might then be invoked immediately.  In the
45272      case of YYERROR or YYBACKUP, subsequent parser actions might lead
45273      to an incorrect destructor call or verbose syntax error message
45274      before the lookahead is translated.  */
45275   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
45276 
45277   YYPOPSTACK (yylen);
45278   yylen = 0;
45279   YY_STACK_PRINT (yyss, yyssp);
45280 
45281   *++yyvsp = yyval;
45282   *++yylsp = yyloc;
45283 
45284   /* Now 'shift' the result of the reduction.  Determine what state
45285      that goes to, based on the state we popped back to and the rule
45286      number reduced by.  */
45287   {
45288     const int yylhs = yyr1[yyn] - YYNTOKENS;
45289     const int yyi = yypgoto[yylhs] + *yyssp;
45290     yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp
45291                ? yytable[yyi]
45292                : yydefgoto[yylhs]);
45293   }
45294 
45295   goto yynewstate;
45296 
45297 
45298 /*--------------------------------------.
45299 | yyerrlab -- here on detecting error.  |
45300 `--------------------------------------*/
45301 yyerrlab:
45302   /* Make sure we have latest lookahead translation.  See comments at
45303      user semantic actions for why this is necessary.  */
45304   yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
45305 
45306   /* If not already recovering from an error, report this error.  */
45307   if (!yyerrstatus)
45308     {
45309       ++yynerrs;
45310 #if ! YYERROR_VERBOSE
45311       yyerror (&yylloc, yyscanner, YY_("syntax error"));
45312 #else
45313 # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
45314                                         yyssp, yytoken)
45315       {
45316         char const *yymsgp = YY_("syntax error");
45317         int yysyntax_error_status;
45318         yysyntax_error_status = YYSYNTAX_ERROR;
45319         if (yysyntax_error_status == 0)
45320           yymsgp = yymsg;
45321         else if (yysyntax_error_status == 1)
45322           {
45323             if (yymsg != yymsgbuf)
45324               YYSTACK_FREE (yymsg);
45325             yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
45326             if (!yymsg)
45327               {
45328                 yymsg = yymsgbuf;
45329                 yymsg_alloc = sizeof yymsgbuf;
45330                 yysyntax_error_status = 2;
45331               }
45332             else
45333               {
45334                 yysyntax_error_status = YYSYNTAX_ERROR;
45335                 yymsgp = yymsg;
45336               }
45337           }
45338         yyerror (&yylloc, yyscanner, yymsgp);
45339         if (yysyntax_error_status == 2)
45340           goto yyexhaustedlab;
45341       }
45342 # undef YYSYNTAX_ERROR
45343 #endif
45344     }
45345 
45346   yyerror_range[1] = yylloc;
45347 
45348   if (yyerrstatus == 3)
45349     {
45350       /* If just tried and failed to reuse lookahead token after an
45351          error, discard it.  */
45352 
45353       if (yychar <= YYEOF)
45354         {
45355           /* Return failure if at end of input.  */
45356           if (yychar == YYEOF)
45357             YYABORT;
45358         }
45359       else
45360         {
45361           yydestruct ("Error: discarding",
45362                       yytoken, &yylval, &yylloc, yyscanner);
45363           yychar = YYEMPTY;
45364         }
45365     }
45366 
45367   /* Else will try to reuse lookahead token after shifting the error
45368      token.  */
45369   goto yyerrlab1;
45370 
45371 
45372 /*---------------------------------------------------.
45373 | yyerrorlab -- error raised explicitly by YYERROR.  |
45374 `---------------------------------------------------*/
45375 yyerrorlab:
45376   /* Pacify compilers when the user code never invokes YYERROR and the
45377      label yyerrorlab therefore never appears in user code.  */
45378   if (0)
45379     YYERROR;
45380 
45381   /* Do not reclaim the symbols of the rule whose action triggered
45382      this YYERROR.  */
45383   YYPOPSTACK (yylen);
45384   yylen = 0;
45385   YY_STACK_PRINT (yyss, yyssp);
45386   yystate = *yyssp;
45387   goto yyerrlab1;
45388 
45389 
45390 /*-------------------------------------------------------------.
45391 | yyerrlab1 -- common code for both syntax error and YYERROR.  |
45392 `-------------------------------------------------------------*/
45393 yyerrlab1:
45394   yyerrstatus = 3;      /* Each real token shifted decrements this.  */
45395 
45396   for (;;)
45397     {
45398       yyn = yypact[yystate];
45399       if (!yypact_value_is_default (yyn))
45400         {
45401           yyn += YYTERROR;
45402           if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
45403             {
45404               yyn = yytable[yyn];
45405               if (0 < yyn)
45406                 break;
45407             }
45408         }
45409 
45410       /* Pop the current state because it cannot handle the error token.  */
45411       if (yyssp == yyss)
45412         YYABORT;
45413 
45414       yyerror_range[1] = *yylsp;
45415       yydestruct ("Error: popping",
45416                   yystos[yystate], yyvsp, yylsp, yyscanner);
45417       YYPOPSTACK (1);
45418       yystate = *yyssp;
45419       YY_STACK_PRINT (yyss, yyssp);
45420     }
45421 
45422   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
45423   *++yyvsp = yylval;
45424   YY_IGNORE_MAYBE_UNINITIALIZED_END
45425 
45426   yyerror_range[2] = yylloc;
45427   /* Using YYLLOC is tempting, but would change the location of
45428      the lookahead.  YYLOC is available though.  */
45429   YYLLOC_DEFAULT (yyloc, yyerror_range, 2);
45430   *++yylsp = yyloc;
45431 
45432   /* Shift the error token.  */
45433   YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
45434 
45435   yystate = yyn;
45436   goto yynewstate;
45437 
45438 
45439 /*-------------------------------------.
45440 | yyacceptlab -- YYACCEPT comes here.  |
45441 `-------------------------------------*/
45442 yyacceptlab:
45443   yyresult = 0;
45444   goto yyreturn;
45445 
45446 
45447 /*-----------------------------------.
45448 | yyabortlab -- YYABORT comes here.  |
45449 `-----------------------------------*/
45450 yyabortlab:
45451   yyresult = 1;
45452   goto yyreturn;
45453 
45454 
45455 #if !defined yyoverflow || YYERROR_VERBOSE
45456 /*-------------------------------------------------.
45457 | yyexhaustedlab -- memory exhaustion comes here.  |
45458 `-------------------------------------------------*/
45459 yyexhaustedlab:
45460   yyerror (&yylloc, yyscanner, YY_("memory exhausted"));
45461   yyresult = 2;
45462   /* Fall through.  */
45463 #endif
45464 
45465 
45466 /*-----------------------------------------------------.
45467 | yyreturn -- parsing is finished, return the result.  |
45468 `-----------------------------------------------------*/
45469 yyreturn:
45470   if (yychar != YYEMPTY)
45471     {
45472       /* Make sure we have latest lookahead translation.  See comments at
45473          user semantic actions for why this is necessary.  */
45474       yytoken = YYTRANSLATE (yychar);
45475       yydestruct ("Cleanup: discarding lookahead",
45476                   yytoken, &yylval, &yylloc, yyscanner);
45477     }
45478   /* Do not reclaim the symbols of the rule whose action triggered
45479      this YYABORT or YYACCEPT.  */
45480   YYPOPSTACK (yylen);
45481   YY_STACK_PRINT (yyss, yyssp);
45482   while (yyssp != yyss)
45483     {
45484       yydestruct ("Cleanup: popping",
45485                   yystos[*yyssp], yyvsp, yylsp, yyscanner);
45486       YYPOPSTACK (1);
45487     }
45488 #ifndef yyoverflow
45489   if (yyss != yyssa)
45490     YYSTACK_FREE (yyss);
45491 #endif
45492 #if YYERROR_VERBOSE
45493   if (yymsg != yymsgbuf)
45494     YYSTACK_FREE (yymsg);
45495 #endif
45496   return yyresult;
45497 }
45498 #line 15496 "gram.y" /* yacc.c:1918  */
45499 
45500 
45501 /*
45502  * The signature of this function is required by bison.  However, we
45503  * ignore the passed yylloc and instead use the last token position
45504  * available from the scanner.
45505  */
45506 static void
45507 base_yyerror(YYLTYPE *yylloc, core_yyscan_t yyscanner, const char *msg)
45508 {
45509 	parser_yyerror(msg);
45510 }
45511 
45512 static RawStmt *
45513 makeRawStmt(Node *stmt, int stmt_location)
45514 {
45515 	RawStmt    *rs = makeNode(RawStmt);
45516 
45517 	rs->stmt = stmt;
45518 	rs->stmt_location = stmt_location;
45519 	rs->stmt_len = 0;			/* might get changed later */
45520 	return rs;
45521 }
45522 
45523 /* Adjust a RawStmt to reflect that it doesn't run to the end of the string */
45524 static void
45525 updateRawStmtEnd(RawStmt *rs, int end_location)
45526 {
45527 	/*
45528 	 * If we already set the length, don't change it.  This is for situations
45529 	 * like "select foo ;; select bar" where the same statement will be last
45530 	 * in the string for more than one semicolon.
45531 	 */
45532 	if (rs->stmt_len > 0)
45533 		return;
45534 
45535 	/* OK, update length of RawStmt */
45536 	rs->stmt_len = end_location - rs->stmt_location;
45537 }
45538 
45539 static Node *
45540 makeColumnRef(char *colname, List *indirection,
45541 			  int location, core_yyscan_t yyscanner)
45542 {
45543 	/*
45544 	 * Generate a ColumnRef node, with an A_Indirection node added if there
45545 	 * is any subscripting in the specified indirection list.  However,
45546 	 * any field selection at the start of the indirection list must be
45547 	 * transposed into the "fields" part of the ColumnRef node.
45548 	 */
45549 	ColumnRef  *c = makeNode(ColumnRef);
45550 	int		nfields = 0;
45551 	ListCell *l;
45552 
45553 	c->location = location;
45554 	foreach(l, indirection)
45555 	{
45556 		if (IsA(lfirst(l), A_Indices))
45557 		{
45558 			A_Indirection *i = makeNode(A_Indirection);
45559 
45560 			if (nfields == 0)
45561 			{
45562 				/* easy case - all indirection goes to A_Indirection */
45563 				c->fields = list_make1(makeString(colname));
45564 				i->indirection = check_indirection(indirection, yyscanner);
45565 			}
45566 			else
45567 			{
45568 				/* got to split the list in two */
45569 				i->indirection = check_indirection(list_copy_tail(indirection,
45570 																  nfields),
45571 												   yyscanner);
45572 				indirection = list_truncate(indirection, nfields);
45573 				c->fields = lcons(makeString(colname), indirection);
45574 			}
45575 			i->arg = (Node *) c;
45576 			return (Node *) i;
45577 		}
45578 		else if (IsA(lfirst(l), A_Star))
45579 		{
45580 			/* We only allow '*' at the end of a ColumnRef */
45581 			if (lnext(l) != NULL)
45582 				parser_yyerror("improper use of \"*\"");
45583 		}
45584 		nfields++;
45585 	}
45586 	/* No subscripting, so all indirection gets added to field list */
45587 	c->fields = lcons(makeString(colname), indirection);
45588 	return (Node *) c;
45589 }
45590 
45591 static Node *
45592 makeTypeCast(Node *arg, TypeName *typename, int location)
45593 {
45594 	TypeCast *n = makeNode(TypeCast);
45595 	n->arg = arg;
45596 	n->typeName = typename;
45597 	n->location = location;
45598 	return (Node *) n;
45599 }
45600 
45601 static Node *
45602 makeStringConst(char *str, int location)
45603 {
45604 	A_Const *n = makeNode(A_Const);
45605 
45606 	n->val.type = T_String;
45607 	n->val.val.str = str;
45608 	n->location = location;
45609 
45610 	return (Node *)n;
45611 }
45612 
45613 static Node *
45614 makeStringConstCast(char *str, int location, TypeName *typename)
45615 {
45616 	Node *s = makeStringConst(str, location);
45617 
45618 	return makeTypeCast(s, typename, -1);
45619 }
45620 
45621 static Node *
45622 makeIntConst(int val, int location)
45623 {
45624 	A_Const *n = makeNode(A_Const);
45625 
45626 	n->val.type = T_Integer;
45627 	n->val.val.ival = val;
45628 	n->location = location;
45629 
45630 	return (Node *)n;
45631 }
45632 
45633 static Node *
45634 makeFloatConst(char *str, int location)
45635 {
45636 	A_Const *n = makeNode(A_Const);
45637 
45638 	n->val.type = T_Float;
45639 	n->val.val.str = str;
45640 	n->location = location;
45641 
45642 	return (Node *)n;
45643 }
45644 
45645 static Node *
45646 makeBitStringConst(char *str, int location)
45647 {
45648 	A_Const *n = makeNode(A_Const);
45649 
45650 	n->val.type = T_BitString;
45651 	n->val.val.str = str;
45652 	n->location = location;
45653 
45654 	return (Node *)n;
45655 }
45656 
45657 static Node *
45658 makeNullAConst(int location)
45659 {
45660 	A_Const *n = makeNode(A_Const);
45661 
45662 	n->val.type = T_Null;
45663 	n->location = location;
45664 
45665 	return (Node *)n;
45666 }
45667 
45668 static Node *
45669 makeAConst(Value *v, int location)
45670 {
45671 	Node *n;
45672 
45673 	switch (v->type)
45674 	{
45675 		case T_Float:
45676 			n = makeFloatConst(v->val.str, location);
45677 			break;
45678 
45679 		case T_Integer:
45680 			n = makeIntConst(v->val.ival, location);
45681 			break;
45682 
45683 		case T_String:
45684 		default:
45685 			n = makeStringConst(v->val.str, location);
45686 			break;
45687 	}
45688 
45689 	return n;
45690 }
45691 
45692 /* makeBoolAConst()
45693  * Create an A_Const string node and put it inside a boolean cast.
45694  */
45695 static Node *
45696 makeBoolAConst(bool state, int location)
45697 {
45698 	A_Const *n = makeNode(A_Const);
45699 
45700 	n->val.type = T_String;
45701 	n->val.val.str = (state ? "t" : "f");
45702 	n->location = location;
45703 
45704 	return makeTypeCast((Node *)n, SystemTypeName("bool"), -1);
45705 }
45706 
45707 /* makeRoleSpec
45708  * Create a RoleSpec with the given type
45709  */
45710 static RoleSpec *
45711 makeRoleSpec(RoleSpecType type, int location)
45712 {
45713 	RoleSpec *spec = makeNode(RoleSpec);
45714 
45715 	spec->roletype = type;
45716 	spec->location = location;
45717 
45718 	return spec;
45719 }
45720 
45721 /* check_qualified_name --- check the result of qualified_name production
45722  *
45723  * It's easiest to let the grammar production for qualified_name allow
45724  * subscripts and '*', which we then must reject here.
45725  */
45726 static void
45727 check_qualified_name(List *names, core_yyscan_t yyscanner)
45728 {
45729 	ListCell   *i;
45730 
45731 	foreach(i, names)
45732 	{
45733 		if (!IsA(lfirst(i), String))
45734 			parser_yyerror("syntax error");
45735 	}
45736 }
45737 
45738 /* check_func_name --- check the result of func_name production
45739  *
45740  * It's easiest to let the grammar production for func_name allow subscripts
45741  * and '*', which we then must reject here.
45742  */
45743 static List *
45744 check_func_name(List *names, core_yyscan_t yyscanner)
45745 {
45746 	ListCell   *i;
45747 
45748 	foreach(i, names)
45749 	{
45750 		if (!IsA(lfirst(i), String))
45751 			parser_yyerror("syntax error");
45752 	}
45753 	return names;
45754 }
45755 
45756 /* check_indirection --- check the result of indirection production
45757  *
45758  * We only allow '*' at the end of the list, but it's hard to enforce that
45759  * in the grammar, so do it here.
45760  */
45761 static List *
45762 check_indirection(List *indirection, core_yyscan_t yyscanner)
45763 {
45764 	ListCell *l;
45765 
45766 	foreach(l, indirection)
45767 	{
45768 		if (IsA(lfirst(l), A_Star))
45769 		{
45770 			if (lnext(l) != NULL)
45771 				parser_yyerror("improper use of \"*\"");
45772 		}
45773 	}
45774 	return indirection;
45775 }
45776 
45777 /* extractArgTypes()
45778  * Given a list of FunctionParameter nodes, extract a list of just the
45779  * argument types (TypeNames) for input parameters only.  This is what
45780  * is needed to look up an existing function, which is what is wanted by
45781  * the productions that use this call.
45782  */
45783 static List *
45784 extractArgTypes(List *parameters)
45785 {
45786 	List	   *result = NIL;
45787 	ListCell   *i;
45788 
45789 	foreach(i, parameters)
45790 	{
45791 		FunctionParameter *p = (FunctionParameter *) lfirst(i);
45792 
45793 		if (p->mode != FUNC_PARAM_OUT && p->mode != FUNC_PARAM_TABLE)
45794 			result = lappend(result, p->argType);
45795 	}
45796 	return result;
45797 }
45798 
45799 /* extractAggrArgTypes()
45800  * As above, but work from the output of the aggr_args production.
45801  */
45802 static List *
45803 extractAggrArgTypes(List *aggrargs)
45804 {
45805 	Assert(list_length(aggrargs) == 2);
45806 	return extractArgTypes((List *) linitial(aggrargs));
45807 }
45808 
45809 /* makeOrderedSetArgs()
45810  * Build the result of the aggr_args production (which see the comments for).
45811  * This handles only the case where both given lists are nonempty, so that
45812  * we have to deal with multiple VARIADIC arguments.
45813  */
45814 static List *
45815 makeOrderedSetArgs(List *directargs, List *orderedargs,
45816 				   core_yyscan_t yyscanner)
45817 {
45818 	FunctionParameter *lastd = (FunctionParameter *) llast(directargs);
45819 	Value	   *ndirectargs;
45820 
45821 	/* No restriction unless last direct arg is VARIADIC */
45822 	if (lastd->mode == FUNC_PARAM_VARIADIC)
45823 	{
45824 		FunctionParameter *firsto = (FunctionParameter *) linitial(orderedargs);
45825 
45826 		/*
45827 		 * We ignore the names, though the aggr_arg production allows them;
45828 		 * it doesn't allow default values, so those need not be checked.
45829 		 */
45830 		if (list_length(orderedargs) != 1 ||
45831 			firsto->mode != FUNC_PARAM_VARIADIC ||
45832 			!equal(lastd->argType, firsto->argType))
45833 			ereport(ERROR,
45834 					(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
45835 					 errmsg("an ordered-set aggregate with a VARIADIC direct argument must have one VARIADIC aggregated argument of the same data type"),
45836 					 parser_errposition(exprLocation((Node *) firsto))));
45837 
45838 		/* OK, drop the duplicate VARIADIC argument from the internal form */
45839 		orderedargs = NIL;
45840 	}
45841 
45842 	/* don't merge into the next line, as list_concat changes directargs */
45843 	ndirectargs = makeInteger(list_length(directargs));
45844 
45845 	return list_make2(list_concat(directargs, orderedargs),
45846 					  ndirectargs);
45847 }
45848 
45849 /* insertSelectOptions()
45850  * Insert ORDER BY, etc into an already-constructed SelectStmt.
45851  *
45852  * This routine is just to avoid duplicating code in SelectStmt productions.
45853  */
45854 static void
45855 insertSelectOptions(SelectStmt *stmt,
45856 					List *sortClause, List *lockingClause,
45857 					Node *limitOffset, Node *limitCount,
45858 					WithClause *withClause,
45859 					core_yyscan_t yyscanner)
45860 {
45861 	Assert(IsA(stmt, SelectStmt));
45862 
45863 	/*
45864 	 * Tests here are to reject constructs like
45865 	 *	(SELECT foo ORDER BY bar) ORDER BY baz
45866 	 */
45867 	if (sortClause)
45868 	{
45869 		if (stmt->sortClause)
45870 			ereport(ERROR,
45871 					(errcode(ERRCODE_SYNTAX_ERROR),
45872 					 errmsg("multiple ORDER BY clauses not allowed"),
45873 					 parser_errposition(exprLocation((Node *) sortClause))));
45874 		stmt->sortClause = sortClause;
45875 	}
45876 	/* We can handle multiple locking clauses, though */
45877 	stmt->lockingClause = list_concat(stmt->lockingClause, lockingClause);
45878 	if (limitOffset)
45879 	{
45880 		if (stmt->limitOffset)
45881 			ereport(ERROR,
45882 					(errcode(ERRCODE_SYNTAX_ERROR),
45883 					 errmsg("multiple OFFSET clauses not allowed"),
45884 					 parser_errposition(exprLocation(limitOffset))));
45885 		stmt->limitOffset = limitOffset;
45886 	}
45887 	if (limitCount)
45888 	{
45889 		if (stmt->limitCount)
45890 			ereport(ERROR,
45891 					(errcode(ERRCODE_SYNTAX_ERROR),
45892 					 errmsg("multiple LIMIT clauses not allowed"),
45893 					 parser_errposition(exprLocation(limitCount))));
45894 		stmt->limitCount = limitCount;
45895 	}
45896 	if (withClause)
45897 	{
45898 		if (stmt->withClause)
45899 			ereport(ERROR,
45900 					(errcode(ERRCODE_SYNTAX_ERROR),
45901 					 errmsg("multiple WITH clauses not allowed"),
45902 					 parser_errposition(exprLocation((Node *) withClause))));
45903 		stmt->withClause = withClause;
45904 	}
45905 }
45906 
45907 static Node *
45908 makeSetOp(SetOperation op, bool all, Node *larg, Node *rarg)
45909 {
45910 	SelectStmt *n = makeNode(SelectStmt);
45911 
45912 	n->op = op;
45913 	n->all = all;
45914 	n->larg = (SelectStmt *) larg;
45915 	n->rarg = (SelectStmt *) rarg;
45916 	return (Node *) n;
45917 }
45918 
45919 /* SystemFuncName()
45920  * Build a properly-qualified reference to a built-in function.
45921  */
45922 List *
45923 SystemFuncName(char *name)
45924 {
45925 	return list_make2(makeString("pg_catalog"), makeString(name));
45926 }
45927 
45928 /* SystemTypeName()
45929  * Build a properly-qualified reference to a built-in type.
45930  *
45931  * typmod is defaulted, but may be changed afterwards by caller.
45932  * Likewise for the location.
45933  */
45934 TypeName *
45935 SystemTypeName(char *name)
45936 {
45937 	return makeTypeNameFromNameList(list_make2(makeString("pg_catalog"),
45938 											   makeString(name)));
45939 }
45940 
45941 /* doNegate()
45942  * Handle negation of a numeric constant.
45943  *
45944  * Formerly, we did this here because the optimizer couldn't cope with
45945  * indexquals that looked like "var = -4" --- it wants "var = const"
45946  * and a unary minus operator applied to a constant didn't qualify.
45947  * As of Postgres 7.0, that problem doesn't exist anymore because there
45948  * is a constant-subexpression simplifier in the optimizer.  However,
45949  * there's still a good reason for doing this here, which is that we can
45950  * postpone committing to a particular internal representation for simple
45951  * negative constants.	It's better to leave "-123.456" in string form
45952  * until we know what the desired type is.
45953  */
45954 static Node *
45955 doNegate(Node *n, int location)
45956 {
45957 	if (IsA(n, A_Const))
45958 	{
45959 		A_Const *con = (A_Const *)n;
45960 
45961 		/* report the constant's location as that of the '-' sign */
45962 		con->location = location;
45963 
45964 		if (con->val.type == T_Integer)
45965 		{
45966 			con->val.val.ival = -con->val.val.ival;
45967 			return n;
45968 		}
45969 		if (con->val.type == T_Float)
45970 		{
45971 			doNegateFloat(&con->val);
45972 			return n;
45973 		}
45974 	}
45975 
45976 	return (Node *) makeSimpleA_Expr(AEXPR_OP, "-", NULL, n, location);
45977 }
45978 
45979 static void
45980 doNegateFloat(Value *v)
45981 {
45982 	char   *oldval = v->val.str;
45983 
45984 	Assert(IsA(v, Float));
45985 	if (*oldval == '+')
45986 		oldval++;
45987 	if (*oldval == '-')
45988 		v->val.str = oldval+1;	/* just strip the '-' */
45989 	else
45990 		v->val.str = psprintf("-%s", oldval);
45991 }
45992 
45993 static Node *
45994 makeAndExpr(Node *lexpr, Node *rexpr, int location)
45995 {
45996 	Node	   *lexp = lexpr;
45997 
45998 	/* Look through AEXPR_PAREN nodes so they don't affect flattening */
45999 	while (IsA(lexp, A_Expr) &&
46000 		   ((A_Expr *) lexp)->kind == AEXPR_PAREN)
46001 		lexp = ((A_Expr *) lexp)->lexpr;
46002 	/* Flatten "a AND b AND c ..." to a single BoolExpr on sight */
46003 	if (IsA(lexp, BoolExpr))
46004 	{
46005 		BoolExpr *blexpr = (BoolExpr *) lexp;
46006 
46007 		if (blexpr->boolop == AND_EXPR)
46008 		{
46009 			blexpr->args = lappend(blexpr->args, rexpr);
46010 			return (Node *) blexpr;
46011 		}
46012 	}
46013 	return (Node *) makeBoolExpr(AND_EXPR, list_make2(lexpr, rexpr), location);
46014 }
46015 
46016 static Node *
46017 makeOrExpr(Node *lexpr, Node *rexpr, int location)
46018 {
46019 	Node	   *lexp = lexpr;
46020 
46021 	/* Look through AEXPR_PAREN nodes so they don't affect flattening */
46022 	while (IsA(lexp, A_Expr) &&
46023 		   ((A_Expr *) lexp)->kind == AEXPR_PAREN)
46024 		lexp = ((A_Expr *) lexp)->lexpr;
46025 	/* Flatten "a OR b OR c ..." to a single BoolExpr on sight */
46026 	if (IsA(lexp, BoolExpr))
46027 	{
46028 		BoolExpr *blexpr = (BoolExpr *) lexp;
46029 
46030 		if (blexpr->boolop == OR_EXPR)
46031 		{
46032 			blexpr->args = lappend(blexpr->args, rexpr);
46033 			return (Node *) blexpr;
46034 		}
46035 	}
46036 	return (Node *) makeBoolExpr(OR_EXPR, list_make2(lexpr, rexpr), location);
46037 }
46038 
46039 static Node *
46040 makeNotExpr(Node *expr, int location)
46041 {
46042 	return (Node *) makeBoolExpr(NOT_EXPR, list_make1(expr), location);
46043 }
46044 
46045 static Node *
46046 makeAArrayExpr(List *elements, int location)
46047 {
46048 	A_ArrayExpr *n = makeNode(A_ArrayExpr);
46049 
46050 	n->elements = elements;
46051 	n->location = location;
46052 	return (Node *) n;
46053 }
46054 
46055 static Node *
46056 makeSQLValueFunction(SQLValueFunctionOp op, int32 typmod, int location)
46057 {
46058 	SQLValueFunction *svf = makeNode(SQLValueFunction);
46059 
46060 	svf->op = op;
46061 	/* svf->type will be filled during parse analysis */
46062 	svf->typmod = typmod;
46063 	svf->location = location;
46064 	return (Node *) svf;
46065 }
46066 
46067 static Node *
46068 makeXmlExpr(XmlExprOp op, char *name, List *named_args, List *args,
46069 			int location)
46070 {
46071 	XmlExpr		*x = makeNode(XmlExpr);
46072 
46073 	x->op = op;
46074 	x->name = name;
46075 	/*
46076 	 * named_args is a list of ResTarget; it'll be split apart into separate
46077 	 * expression and name lists in transformXmlExpr().
46078 	 */
46079 	x->named_args = named_args;
46080 	x->arg_names = NIL;
46081 	x->args = args;
46082 	/* xmloption, if relevant, must be filled in by caller */
46083 	/* type and typmod will be filled in during parse analysis */
46084 	x->type = InvalidOid;			/* marks the node as not analyzed */
46085 	x->location = location;
46086 	return (Node *) x;
46087 }
46088 
46089 /*
46090  * Merge the input and output parameters of a table function.
46091  */
46092 static List *
46093 mergeTableFuncParameters(List *func_args, List *columns)
46094 {
46095 	ListCell   *lc;
46096 
46097 	/* Explicit OUT and INOUT parameters shouldn't be used in this syntax */
46098 	foreach(lc, func_args)
46099 	{
46100 		FunctionParameter *p = (FunctionParameter *) lfirst(lc);
46101 
46102 		if (p->mode != FUNC_PARAM_IN && p->mode != FUNC_PARAM_VARIADIC)
46103 			ereport(ERROR,
46104 					(errcode(ERRCODE_SYNTAX_ERROR),
46105 					 errmsg("OUT and INOUT arguments aren't allowed in TABLE functions")));
46106 	}
46107 
46108 	return list_concat(func_args, columns);
46109 }
46110 
46111 /*
46112  * Determine return type of a TABLE function.  A single result column
46113  * returns setof that column's type; otherwise return setof record.
46114  */
46115 static TypeName *
46116 TableFuncTypeName(List *columns)
46117 {
46118 	TypeName *result;
46119 
46120 	if (list_length(columns) == 1)
46121 	{
46122 		FunctionParameter *p = (FunctionParameter *) linitial(columns);
46123 
46124 		result = copyObject(p->argType);
46125 	}
46126 	else
46127 		result = SystemTypeName("record");
46128 
46129 	result->setof = true;
46130 
46131 	return result;
46132 }
46133 
46134 /*
46135  * Convert a list of (dotted) names to a RangeVar (like
46136  * makeRangeVarFromNameList, but with position support).  The
46137  * "AnyName" refers to the any_name production in the grammar.
46138  */
46139 static RangeVar *
46140 makeRangeVarFromAnyName(List *names, int position, core_yyscan_t yyscanner)
46141 {
46142 	RangeVar *r = makeNode(RangeVar);
46143 
46144 	switch (list_length(names))
46145 	{
46146 		case 1:
46147 			r->catalogname = NULL;
46148 			r->schemaname = NULL;
46149 			r->relname = strVal(linitial(names));
46150 			break;
46151 		case 2:
46152 			r->catalogname = NULL;
46153 			r->schemaname = strVal(linitial(names));
46154 			r->relname = strVal(lsecond(names));
46155 			break;
46156 		case 3:
46157 			r->catalogname = strVal(linitial(names));
46158 			r->schemaname = strVal(lsecond(names));
46159 			r->relname = strVal(lthird(names));
46160 			break;
46161 		default:
46162 			ereport(ERROR,
46163 					(errcode(ERRCODE_SYNTAX_ERROR),
46164 					 errmsg("improper qualified name (too many dotted names): %s",
46165 							NameListToString(names)),
46166 					 parser_errposition(position)));
46167 			break;
46168 	}
46169 
46170 	r->relpersistence = RELPERSISTENCE_PERMANENT;
46171 	r->location = position;
46172 
46173 	return r;
46174 }
46175 
46176 /* Separate Constraint nodes from COLLATE clauses in a ColQualList */
46177 static void
46178 SplitColQualList(List *qualList,
46179 				 List **constraintList, CollateClause **collClause,
46180 				 core_yyscan_t yyscanner)
46181 {
46182 	ListCell   *cell;
46183 	ListCell   *prev;
46184 	ListCell   *next;
46185 
46186 	*collClause = NULL;
46187 	prev = NULL;
46188 	for (cell = list_head(qualList); cell; cell = next)
46189 	{
46190 		Node   *n = (Node *) lfirst(cell);
46191 
46192 		next = lnext(cell);
46193 		if (IsA(n, Constraint))
46194 		{
46195 			/* keep it in list */
46196 			prev = cell;
46197 			continue;
46198 		}
46199 		if (IsA(n, CollateClause))
46200 		{
46201 			CollateClause *c = (CollateClause *) n;
46202 
46203 			if (*collClause)
46204 				ereport(ERROR,
46205 						(errcode(ERRCODE_SYNTAX_ERROR),
46206 						 errmsg("multiple COLLATE clauses not allowed"),
46207 						 parser_errposition(c->location)));
46208 			*collClause = c;
46209 		}
46210 		else
46211 			elog(ERROR, "unexpected node type %d", (int) n->type);
46212 		/* remove non-Constraint nodes from qualList */
46213 		qualList = list_delete_cell(qualList, cell, prev);
46214 	}
46215 	*constraintList = qualList;
46216 }
46217 
46218 /*
46219  * Process result of ConstraintAttributeSpec, and set appropriate bool flags
46220  * in the output command node.  Pass NULL for any flags the particular
46221  * command doesn't support.
46222  */
46223 static void
46224 processCASbits(int cas_bits, int location, const char *constrType,
46225 			   bool *deferrable, bool *initdeferred, bool *not_valid,
46226 			   bool *no_inherit, core_yyscan_t yyscanner)
46227 {
46228 	/* defaults */
46229 	if (deferrable)
46230 		*deferrable = false;
46231 	if (initdeferred)
46232 		*initdeferred = false;
46233 	if (not_valid)
46234 		*not_valid = false;
46235 
46236 	if (cas_bits & (CAS_DEFERRABLE | CAS_INITIALLY_DEFERRED))
46237 	{
46238 		if (deferrable)
46239 			*deferrable = true;
46240 		else
46241 			ereport(ERROR,
46242 					(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
46243 					 /* translator: %s is CHECK, UNIQUE, or similar */
46244 					 errmsg("%s constraints cannot be marked DEFERRABLE",
46245 							constrType),
46246 					 parser_errposition(location)));
46247 	}
46248 
46249 	if (cas_bits & CAS_INITIALLY_DEFERRED)
46250 	{
46251 		if (initdeferred)
46252 			*initdeferred = true;
46253 		else
46254 			ereport(ERROR,
46255 					(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
46256 					 /* translator: %s is CHECK, UNIQUE, or similar */
46257 					 errmsg("%s constraints cannot be marked DEFERRABLE",
46258 							constrType),
46259 					 parser_errposition(location)));
46260 	}
46261 
46262 	if (cas_bits & CAS_NOT_VALID)
46263 	{
46264 		if (not_valid)
46265 			*not_valid = true;
46266 		else
46267 			ereport(ERROR,
46268 					(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
46269 					 /* translator: %s is CHECK, UNIQUE, or similar */
46270 					 errmsg("%s constraints cannot be marked NOT VALID",
46271 							constrType),
46272 					 parser_errposition(location)));
46273 	}
46274 
46275 	if (cas_bits & CAS_NO_INHERIT)
46276 	{
46277 		if (no_inherit)
46278 			*no_inherit = true;
46279 		else
46280 			ereport(ERROR,
46281 					(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
46282 					 /* translator: %s is CHECK, UNIQUE, or similar */
46283 					 errmsg("%s constraints cannot be marked NO INHERIT",
46284 							constrType),
46285 					 parser_errposition(location)));
46286 	}
46287 }
46288 
46289 /*----------
46290  * Recursive view transformation
46291  *
46292  * Convert
46293  *
46294  *     CREATE RECURSIVE VIEW relname (aliases) AS query
46295  *
46296  * to
46297  *
46298  *     CREATE VIEW relname (aliases) AS
46299  *         WITH RECURSIVE relname (aliases) AS (query)
46300  *         SELECT aliases FROM relname
46301  *
46302  * Actually, just the WITH ... part, which is then inserted into the original
46303  * view definition as the query.
46304  * ----------
46305  */
46306 static Node *
46307 makeRecursiveViewSelect(char *relname, List *aliases, Node *query)
46308 {
46309 	SelectStmt *s = makeNode(SelectStmt);
46310 	WithClause *w = makeNode(WithClause);
46311 	CommonTableExpr *cte = makeNode(CommonTableExpr);
46312 	List	   *tl = NIL;
46313 	ListCell   *lc;
46314 
46315 	/* create common table expression */
46316 	cte->ctename = relname;
46317 	cte->aliascolnames = aliases;
46318 	cte->ctequery = query;
46319 	cte->location = -1;
46320 
46321 	/* create WITH clause and attach CTE */
46322 	w->recursive = true;
46323 	w->ctes = list_make1(cte);
46324 	w->location = -1;
46325 
46326 	/* create target list for the new SELECT from the alias list of the
46327 	 * recursive view specification */
46328 	foreach (lc, aliases)
46329 	{
46330 		ResTarget *rt = makeNode(ResTarget);
46331 
46332 		rt->name = NULL;
46333 		rt->indirection = NIL;
46334 		rt->val = makeColumnRef(strVal(lfirst(lc)), NIL, -1, 0);
46335 		rt->location = -1;
46336 
46337 		tl = lappend(tl, rt);
46338 	}
46339 
46340 	/* create new SELECT combining WITH clause, target list, and fake FROM
46341 	 * clause */
46342 	s->withClause = w;
46343 	s->targetList = tl;
46344 	s->fromClause = list_make1(makeRangeVar(NULL, relname, -1));
46345 
46346 	return (Node *) s;
46347 }
46348 
46349 /* parser_init()
46350  * Initialize to parse one query string
46351  */
46352 void
46353 parser_init(base_yy_extra_type *yyext)
46354 {
46355 	yyext->parsetree = NIL;		/* in case grammar forgets to set it */
46356 }
46357